
From nobody Tue Feb  4 13:26:24 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3475120152 for <xml2rfc@ietfa.amsl.com>; Tue,  4 Feb 2020 13:26:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MQWTAB9Q-eZA for <xml2rfc@ietfa.amsl.com>; Tue,  4 Feb 2020 13:26:20 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 63BBA120130 for <xml2rfc@ietf.org>; Tue,  4 Feb 2020 13:26:20 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 29A0362133 for <xml2rfc@ietf.org>; Tue,  4 Feb 2020 16:26:19 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id cV6bWmHsl4CZ for <xml2rfc@ietf.org>; Tue,  4 Feb 2020 16:26:13 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id A8CBD62132 for <xml2rfc@ietf.org>; Tue,  4 Feb 2020 16:26:13 -0500 (EST)
To: "xml2rfc@ietf.org" <xml2rfc@ietf.org>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <116d2ab7-0a7b-e75f-d4a7-13cb6df5d200@htt-consult.com>
Date: Tue, 4 Feb 2020 16:26:12 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/Yp10IRHvP-RptfhvE-GyJFMRiA8>
Subject: [xml2rfc] Adding an anchor to references?
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Feb 2020 21:26:23 -0000

I have used:

     <xi:include 
href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml7/reference.DOI.10.6028/NIST.SP.800-56Cr1.xml?anchor=NIST.SP.800-56Cr1"/>

where I then reference this with

<xref target="NIST.SP.800-56Cr1" format="default"> </xref>

So I tried that with a regular Internet draft:

<xi:include 
href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.moskowitz-hip-hierarchical-hit.xml?anchor=hierarchical-hit"/>

But it did not work.

draft-moskowitz-tmrid-crowd-sourced-rid-00.xml(0): Error: IDREF 
attribute target references an unknown ID "hierarchical-hit", at None

I did some looking into RFC 7991 
(https://greenbytes.de/tech/webdav/rfc7991.html#XInclude) and perhaps I 
should be using

<displayreference target="I-D.moskowitz-hip-hierarchical-hit" 
to="hierarchical-hit"/>

Somewhere in the <back> section?  Would that come before or after the 
xi:include?

thanks


From nobody Tue Feb  4 14:51:40 2020
Return-Path: <julian.reschke@gmx.de>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 997D5120130 for <xml2rfc@ietfa.amsl.com>; Tue,  4 Feb 2020 14:51:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JKKExt3M_e_U for <xml2rfc@ietfa.amsl.com>; Tue,  4 Feb 2020 14:51:35 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 40BC4120132 for <xml2rfc@ietf.org>; Tue,  4 Feb 2020 14:51:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1580856691; bh=x/qpqvhNpEALU+Wuar2gmSwiZY1Hn5kreW/zMxxdeSk=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=SOlk/1LhORwkdT1jVyNOMYC/YrxQk+hvOcSQ/lmP1o+zvwHWcbh3bK/tkBOUDKLNs n7lI37YapGhJYbdnOeDDu7TFzljS7kT93tSWszWfyOJMnKz1oMSLen6TlC3IG2x5WZ aO9T+0nk2WtOuJysXigeuE/5xwlIHbVdOsJ/uUqM=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [172.18.200.21] ([46.183.103.17]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mkpf3-1jOWLH2Y51-00mIHu; Tue, 04 Feb 2020 23:46:16 +0100
To: Robert Moskowitz <rgm@htt-consult.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <116d2ab7-0a7b-e75f-d4a7-13cb6df5d200@htt-consult.com>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <55e84dc4-349e-9b37-77ef-2656ed473b6c@gmx.de>
Date: Tue, 4 Feb 2020 23:46:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2
MIME-Version: 1.0
In-Reply-To: <116d2ab7-0a7b-e75f-d4a7-13cb6df5d200@htt-consult.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:35SA5FhQIPoZEXHqaMLqVslNJqCVy2gk0KScD3Y1npnxM0UeMbU LrpJKmyju4EGIbjgAvOJp72JURHTgGAHDWnAZKnT+E9r/SdhpKh0f8TNaz+iKB+woDT+mHl eScBrSRD47BdnKcp1/tFJ2kRz0c2Pot13kb5BoZ6eJyga0UF3+ssQnf8/05Ed9gdPSx32jT fYRdcXHndRR+guc/rY5xQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:NCTHwMh+3Hs=:l2wOvQI+nHxV+RCidN0LVy eItzzowZj6hSffpk2s5WcRXnFD1hnso4qN/QErVG+R0hPrEeMgEc6OhU2uV8NZN1Yvgq09o59 qaoZ2BsreuceBDBzB2a31TgTLds4ncJrN6RFT/OGTS3rtt+LG+Xglw42j9hDswlnEA97Z6GL5 f5DJOgvRxeI7j+hL1mu3mzHkNQdOcX6IjJhw0Ov5zuOQS5ePljT+pHhE7Tgjmzgn96RshmPsO nlkuO3BSvo85SUqFNauNzU8QI6pKvQm4Om0NZNFReY+sj7ofO94GsBz9PwS/St2DPb+AnPto3 s77ipRmhtfzVcpfrEkpVDGaToNolcmLxQ/NBD/Kgg4v2CBNTVPBhQCiLt1QyVvF53W6pNxA9a RQ0jWaQYAQvNQEPjllUwuy/J0mBx5doHR3IejbAw4jAcnjEdsTTkGWGbs1+6m+v91fhCHJ4Bs mGl33pXq9fEewPHcqtfvzHGFruMTGPjlbctSLBL/emWupao377A/VbPLNk+LX/qJOTswhJLMH TW1NPN0jyfL0UD6SN3h0+jZDSD05QVfz4TRKIQkii4xfFLlHE0E4L4Y5R3QqLcZcap98/B0CL PbQDrcqndAoDmP5c3myLqur3CFwt1m9LTqqbUSaLJhugOJHDaz5zgTgi4a860yFZrjZCO+OXZ yjn4DxdxwplX1jhSqbjWqRm9yl7Urzvy3SZROPpBw2Zv+jmBOE/Sk2AFQ/qQ9caVnSDs4oE8z AmacUh9jrC8seEi0BaGbb0Tww6GXbS08x5AZWngfej9ROQ9A0xQJrgtmeEBtJkSMPvfMJrZ0j 364TNmjI8i+9SP6AWH8qFV5q8o1dpf30UU2ZoltgRrBUYqN4OuLXgXoaYw864KN9D6DF0nQ3d PajTy1H8Sp9AwZ3FkQv9EY/3TFgQtZTfEKbXriehuumxAVASEaq6E2ls2xFqdnoNqw+rfgMlR jwM5sbUjxAZg7EMPZE1mkBWzW6KWn76y/JO8xniAJify1EvDWQ2h3FKTj/oOH97bEbQ25Gn4S u1yJHHfxDaQRS6v3u7AkcNFkBRBtJSNsFbtZ7LqEYZWruLv5rujZGtDeNVkWnKgAGJkaZPEVZ s45xcWMWxIzqQGltjk+Ko8EnJhpNwUdSwxGdhOj/Bjw6I7lI7LoEVh6H/YnloJNPzdXA15q4J wWMFt5nBdNu5d3APLAyk+gUiIxuUnlwex4OIe5UKemOwdLDIdzrADqmPzszuMeKQ5yQKz6a+Z sR4BzhSEe4VKakR8B
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/-HxA3FGxvnCg3_dmqfIhgj9txxM>
Subject: Re: [xml2rfc] Adding an anchor to references?
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Feb 2020 22:51:39 -0000

On 04.02.2020 22:26, Robert Moskowitz wrote:
> I have used:
>
>  =C2=A0=C2=A0=C2=A0 <xi:include
> href=3D"https://xml2rfc.tools.ietf.org/public/rfc/bibxml7/reference.DOI.=
10.6028/NIST.SP.800-56Cr1.xml?anchor=3DNIST.SP.800-56Cr1"/>
>
>
> where I then reference this with
>
> <xref target=3D"NIST.SP.800-56Cr1" format=3D"default"> </xref>
>
> So I tried that with a regular Internet draft:
>
> <xi:include
> href=3D"https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.=
moskowitz-hip-hierarchical-hit.xml?anchor=3Dhierarchical-hit"/>
>
>
> But it did not work.

Whether the anchor renaming works depends on the service generating the
reference, not the vocabulary.

The different "folders" on tools.ietf.org are backed by different code,
so they do not behave the same.

> draft-moskowitz-tmrid-crowd-sourced-rid-00.xml(0): Error: IDREF
> attribute target references an unknown ID "hierarchical-hit", at None
>
> I did some looking into RFC 7991
> (https://greenbytes.de/tech/webdav/rfc7991.html#XInclude) and perhaps I
> should be using
>
> <displayreference target=3D"I-D.moskowitz-hip-hierarchical-hit"
> to=3D"hierarchical-hit"/>
>
> Somewhere in the <back> section?=C2=A0 Would that come before or after t=
he
> xi:include?

See <https://greenbytes.de/tech/webdav/rfc7991.html#element.back>. So
yes, as (first) child element of <back>.

Best regards, Julian


From nobody Tue Feb  4 16:05:37 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28F821200B7 for <xml2rfc@ietfa.amsl.com>; Tue,  4 Feb 2020 16:05:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i_Ch19kh11SQ for <xml2rfc@ietfa.amsl.com>; Tue,  4 Feb 2020 16:05:34 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 444B812001B for <xml2rfc@ietf.org>; Tue,  4 Feb 2020 16:05:34 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 3D79D62135; Tue,  4 Feb 2020 19:05:32 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id iZeBVD8WmODO; Tue,  4 Feb 2020 19:05:26 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id 84B5462133; Tue,  4 Feb 2020 19:05:23 -0500 (EST)
To: Julian Reschke <julian.reschke@gmx.de>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <116d2ab7-0a7b-e75f-d4a7-13cb6df5d200@htt-consult.com> <55e84dc4-349e-9b37-77ef-2656ed473b6c@gmx.de>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <c99d33f3-3e74-b9dc-1bb1-5f751ea92672@htt-consult.com>
Date: Tue, 4 Feb 2020 19:05:15 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <55e84dc4-349e-9b37-77ef-2656ed473b6c@gmx.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/Jbp-ysW0R3pMmtPkY1jDDihg7hI>
Subject: Re: [xml2rfc] Adding an anchor to references?
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Feb 2020 00:05:36 -0000

On 2/4/20 5:46 PM, Julian Reschke wrote:
> On 04.02.2020 22:26, Robert Moskowitz wrote:
>> I have used:
>>
>>      <xi:include
>> href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml7/reference.DOI.10.6028/NIST.SP.800-56Cr1.xml?anchor=NIST.SP.800-56Cr1"/> 
>>
>>
>>
>> where I then reference this with
>>
>> <xref target="NIST.SP.800-56Cr1" format="default"> </xref>
>>
>> So I tried that with a regular Internet draft:
>>
>> <xi:include
>> href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.moskowitz-hip-hierarchical-hit.xml?anchor=hierarchical-hit"/> 
>>
>>
>>
>> But it did not work.
>
> Whether the anchor renaming works depends on the service generating the
> reference, not the vocabulary.
>
> The different "folders" on tools.ietf.org are backed by different code,
> so they do not behave the same.
>
>> draft-moskowitz-tmrid-crowd-sourced-rid-00.xml(0): Error: IDREF
>> attribute target references an unknown ID "hierarchical-hit", at None
>>
>> I did some looking into RFC 7991
>> (https://greenbytes.de/tech/webdav/rfc7991.html#XInclude) and perhaps I
>> should be using
>>
>> <displayreference target="I-D.moskowitz-hip-hierarchical-hit"
>> to="hierarchical-hit"/>
>>
>> Somewhere in the <back> section?  Would that come before or after the
>> xi:include?
>
> See <https://greenbytes.de/tech/webdav/rfc7991.html#element.back>. So
> yes, as (first) child element of <back>.

thanks that works nicely.  I am beginning to get the hang on finding 
things in 7791



From nobody Mon Feb 10 07:59:39 2020
Return-Path: <daveoran@orandom.net>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6BF28120091 for <xml2rfc@ietfa.amsl.com>; Sun,  9 Feb 2020 06:46:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 80iOBMSoqVSy for <xml2rfc@ietfa.amsl.com>; Sun,  9 Feb 2020 06:46:44 -0800 (PST)
Received: from spark.crystalorb.net (spark.crystalorb.net [IPv6:2607:fca8:1530::c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB24512004F for <xml2rfc@ietf.org>; Sun,  9 Feb 2020 06:46:43 -0800 (PST)
Received: from [192.168.15.102] ([IPv6:2601:184:407f:80ce:314c:6cb:6c24:63fe]) (authenticated bits=0) by spark.crystalorb.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id 019EkbLF007360 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO) for <xml2rfc@ietf.org>; Sun, 9 Feb 2020 06:46:39 -0800
From: "David R. Oran" <daveoran@orandom.net>
To: xml2rfc@ietf.org
Date: Sun, 09 Feb 2020 09:45:16 -0500
X-Mailer: MailMate (1.13.1r5678)
Message-ID: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=_MailMate_4AEEED3E-9E08-4CB4-849E-2B1E99A49FA4_="
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/-QJxL6j61PkwcjXGCm9ilhNokxY>
Subject: [xml2rfc] This one has me scratching my head - sorry if it's another newbie "bad user on device" error
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Feb 2020 14:46:45 -0000

--=_MailMate_4AEEED3E-9E08-4CB4-849E-2B1E99A49FA4_=
Content-Type: text/plain; charset="UTF-8"; format=flowed; markup=markdown
Content-Transfer-Encoding: 8bit

I converted one of my drafts from V2 to V3 with the latest converter. It 
compiles fine.

I then bumped the version number and did some edits to the main text, 
not touching any of the rest of the converter output, particularly not 
in the stuff in the front. It now throws an error (quite unhelpful) that 
I can’t pin down.

  % xml2rfc --html draft-oran-icnrg-flowbalance-03.xml
draft-oran-icnrg-flowbalance-03.xml(88): Error: Did not expect text in 
element middle content, at /rfc/middle
draft-oran-icnrg-flowbalance-03.xml(30): Error: Invalid document before 
running preptool.
Unable to complete processing draft-oran-icnrg-flowbalance-03.xml

I’ve attached the -02.xml which compiles, and the -03.xml, which 
doesn’t.

Sorry to be such a bother!


DaveO

--=_MailMate_4AEEED3E-9E08-4CB4-849E-2B1E99A49FA4_=
Content-Disposition: attachment; filename=draft-oran-icnrg-flowbalance-02.xml
Content-Type: application/xml
Content-Transfer-Encoding: base64

PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPCEtLSBUaGlzIHRlbXBsYXRl
IGlzIGZvciBjcmVhdGluZyBhbiBJbnRlcm5ldCBEcmFmdCB1c2luZyB4bWwycmZjLAogICAgIHdo
aWNoIGlzIGF2YWlsYWJsZSBoZXJlOiBodHRwOi8veG1sLnJlc291cmNlLm9yZy4gLS0+CjwhRE9D
VFlQRSByZmMgU1lTVEVNICJyZmMyNjI5LXhodG1sLmVudCI+Cjw/eG1sLXN0eWxlc2hlZXQgdHlw
ZT0ndGV4dC94c2wnIGhyZWY9J3JmYzI2MjkueHNsdCcgPz4KPCEtLSB1c2VkIGJ5IFhTTFQgcHJv
Y2Vzc29ycyAtLT4KPCEtLSBGb3IgYSBjb21wbGV0ZSBsaXN0IGFuZCBkZXNjcmlwdGlvbiBvZiBw
cm9jZXNzaW5nIGluc3RydWN0aW9ucyAoUElzKSwgCiAgICAgcGxlYXNlIHNlZSBodHRwOi8veG1s
LnJlc291cmNlLm9yZy9hdXRob3JpbmcvUkVBRE1FLmh0bWwuIC0tPgo8IS0tIEJlbG93IGFyZSBn
ZW5lcmFsbHkgYXBwbGljYWJsZSBQcm9jZXNzaW5nIEluc3RydWN0aW9ucyAoUElzKSB0aGF0IG1v
c3QgSS1EcyBtaWdodCB3YW50IHRvIHVzZS4KICAgICAoSGVyZSB0aGV5IGFyZSBzZXQgZGlmZmVy
ZW50bHkgdGhhbiB0aGVpciBkZWZhdWx0cyBpbiB4bWwycmZjIHYxLjMyKSAtLT4KPD9yZmMgc3Ry
aWN0PSJ5ZXMiID8+CjwhLS0gZ2l2ZSBlcnJvcnMgcmVnYXJkaW5nIElELW5pdHMgYW5kIERURCB2
YWxpZGF0aW9uIC0tPgo8IS0tIGNvbnRyb2wgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIChUb0MpIC0t
Pgo8P3JmYyB0b2M9InllcyI/Pgo8IS0tIGdlbmVyYXRlIGEgVG9DIC0tPgo8P3JmYyB0b2NkZXB0
aD0iNCI/Pgo8IS0tIHRoZSBudW1iZXIgb2YgbGV2ZWxzIG9mIHN1YnNlY3Rpb25zIGluIFRvQy4g
ZGVmYXVsdDogMyAtLT4KPCEtLSBjb250cm9sIHJlZmVyZW5jZXMgLS0+Cjw/cmZjIHN5bXJlZnM9
InllcyI/Pgo8IS0tIHVzZSBzeW1ib2xpYyByZWZlcmVuY2VzIHRhZ3MsIGkuZSwgW1JGQzIxMTld
IGluc3RlYWQgb2YgWzFdIC0tPgo8P3JmYyBzb3J0cmVmcz0ieWVzIiA/Pgo8IS0tIHNvcnQgdGhl
IHJlZmVyZW5jZSBlbnRyaWVzIGFscGhhYmV0aWNhbGx5IC0tPgo8IS0tIGNvbnRyb2wgdmVydGlj
YWwgd2hpdGUgc3BhY2UgCiAgICAgKHVzaW5nIHRoZXNlIFBJcyBhcyBmb2xsb3dzIGlzIHJlY29t
bWVuZGVkIGJ5IHRoZSBSRkMgRWRpdG9yKSAtLT4KPD9yZmMgY29tcGFjdD0ieWVzIiA/Pgo8IS0t
IGRvIG5vdCBzdGFydCBlYWNoIG1haW4gc2VjdGlvbiBvbiBhIG5ldyBwYWdlIC0tPgo8P3JmYyBz
dWJjb21wYWN0PSJubyIgPz4KPCEtLSBrZWVwIG9uZSBibGFuayBsaW5lIGJldHdlZW4gbGlzdCBp
dGVtcyAtLT4KPCEtLSBlbmQgb2YgbGlzdCBvZiBwb3B1bGFyIEktRCBwcm9jZXNzaW5nIGluc3Ry
dWN0aW9ucyAtLT4KPHJmYyB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVk
ZSIgY2F0ZWdvcnk9ImV4cCIgZG9jTmFtZT0iZHJhZnQtb3Jhbi1pY25yZy1mbG93YmFsYW5jZS0w
MiIgaXByPSJ0cnVzdDIwMDkwMiIgb2Jzb2xldGVzPSIiIHVwZGF0ZXM9IiIgc3VibWlzc2lvblR5
cGU9IklFVEYiIHhtbDpsYW5nPSJlbiIgdG9jSW5jbHVkZT0idHJ1ZSIgdG9jRGVwdGg9IjQiIHN5
bVJlZnM9InRydWUiIHNvcnRSZWZzPSJ0cnVlIiB2ZXJzaW9uPSIzIj4KICA8IS0tIHhtbDJyZmMg
djJ2MyBjb252ZXJzaW9uIDIuMzkuMCAtLT4KICA8IS0tIGNhdGVnb3J5IHZhbHVlczogc3RkLCBi
Y3AsIGluZm8sIGV4cCwgYW5kIGhpc3RvcmljCiAgICAgaXByIHZhbHVlczogZnVsbDM2NjcsIG5v
TW9kaWZpY2F0aW9uMzY2Nywgbm9EZXJpdmF0aXZlczM2NjcKICAgICB5b3UgY2FuIGFkZCB0aGUg
YXR0cmlidXRlcyB1cGRhdGVzPSJOTk5OIiBhbmQgb2Jzb2xldGVzPSJOTk5OIiAKICAgICB0aGV5
IHdpbGwgYXV0b21hdGljYWxseSBiZSBvdXRwdXQgd2l0aCAiKGlmIGFwcHJvdmVkKSIgLS0+Cgog
IDwhLS0gKioqKiogRlJPTlQgTUFUVEVSICoqKioqIC0tPgo8ZnJvbnQ+CiAgICA8IS0tIFRoZSBh
YmJyZXZpYXRlZCB0aXRsZSBpcyB1c2VkIGluIHRoZSBwYWdlIGhlYWRlciAtIGl0IGlzIG9ubHkg
bmVjZXNzYXJ5IGlmIHRoZSAKICAgICAgICAgZnVsbCB0aXRsZSBpcyBsb25nZXIgdGhhbiAzOSBj
aGFyYWN0ZXJzIC0tPgogICAgPHRpdGxlIGFiYnJldj0iTWFpbnRhaW5pbmcgRmxvdyBCYWxhbmNl
Ij4KICAgIE1haW50YWluaW5nIENDTnggb3IgTkROIGZsb3cgYmFsYW5jZSB3aXRoIGhpZ2hseSB2
YXJpYWJsZSBkYXRhIG9iamVjdCBzaXplcwogICAgPC90aXRsZT4KICAgIDxzZXJpZXNJbmZvIG5h
bWU9IkludGVybmV0LURyYWZ0IiB2YWx1ZT0iZHJhZnQtb3Jhbi1pY25yZy1mbG93YmFsYW5jZS0w
MiIvPgogICAgPCEtLSBhZGQgJ3JvbGU9ImVkaXRvciInIGJlbG93IGZvciB0aGUgZWRpdG9ycyBp
ZiBhcHByb3ByaWF0ZSAtLT4KCiAgICA8IS0tIEFub3RoZXIgYXV0aG9yIHdobyBjbGFpbXMgdG8g
YmUgYW4gZWRpdG9yIC0tPgogICAgPGF1dGhvciBmdWxsbmFtZT0iRGF2ZSBPcmFuIiBzdXJuYW1l
PSJELiBPcmFuIj4KICAgICAgPG9yZ2FuaXphdGlvbj5OZXR3b3JrIFN5c3RlbXMgUmVzZWFyY2gg
YW5kIERlc2lnbjwvb3JnYW5pemF0aW9uPgogICAgICA8YWRkcmVzcz4KICAgICAgICA8cG9zdGFs
PgogICAgICAgICAgPHN0cmVldD40IFNoYWR5IEhpbGwgU3F1YXJlPC9zdHJlZXQ+CiAgICAgICAg
ICA8IS0tIFJlb3JkZXIgdGhlc2UgaWYgeW91ciBjb3VudHJ5IGRvZXMgdGhpbmdzIGRpZmZlcmVu
dGx5IC0tPgogICAgICAgICAgICAgICAgPGNpdHk+Q2FtYnJpZGdlPC9jaXR5PgogICAgICAgICAg
PHJlZ2lvbj5NQTwvcmVnaW9uPgogICAgICAgICAgPGNvZGU+MDIxMzg8L2NvZGU+CiAgICAgICAg
ICA8Y291bnRyeT5VU0E8L2NvdW50cnk+CiAgICAgICAgPC9wb3N0YWw+CiAgICAgICAgPHBob25l
Lz4KICAgICAgICA8ZW1haWw+ZGF2ZW9yYW5Ab3JhbmRvbS5uZXQ8L2VtYWlsPgogICAgICAgIDwh
LS0gdXJpIGFuZCBmYWNzaW1pbGUgZWxlbWVudHMgbWF5IGFsc28gYmUgYWRkZWQgLS0+CiAgICAg
ICAgPC9hZGRyZXNzPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSBtb250aD0iRmVicnVhcnkiIHll
YXI9IjIwMjAiLz4KICAgIDwhLS0gSWYgdGhlIG1vbnRoIGFuZCB5ZWFyIGFyZSBib3RoIHNwZWNp
ZmllZCBhbmQgYXJlIHRoZSBjdXJyZW50IG9uZXMsIHhtbDJyZmMgd2lsbCBmaWxsIAogICAgICAg
ICBpbiB0aGUgY3VycmVudCBkYXkgZm9yIHlvdS4gSWYgb25seSB0aGUgY3VycmVudCB5ZWFyIGlz
IHNwZWNpZmllZCwgeG1sMnJmYyB3aWxsIGZpbGwgCgkgaW4gdGhlIGN1cnJlbnQgZGF5IGFuZCBt
b250aCBmb3IgeW91LiBJZiB0aGUgeWVhciBpcyBub3QgdGhlIGN1cnJlbnQgb25lLCBpdCBpcyAK
CSBuZWNlc3NhcnkgdG8gc3BlY2lmeSBhdCBsZWFzdCBhIG1vbnRoICh4bWwycmZjIGFzc3VtZXMg
ZGF5PSIxIiBpZiBub3Qgc3BlY2lmaWVkIGZvciB0aGUgCgkgcHVycG9zZSBvZiBjYWxjdWxhdGlu
ZyB0aGUgZXhwaXJ5IGRhdGUpLiAgV2l0aCBkcmFmdHMgaXQgaXMgbm9ybWFsbHkgc3VmZmljaWVu
dCB0byAKCSBzcGVjaWZ5IGp1c3QgdGhlIHllYXIuIC0tPgoKICAgIDwhLS0gTWV0YS1kYXRhIERl
Y2xhcmF0aW9ucyAtLT4KCiAgICA8YXJlYT5JUlRGPC9hcmVhPgogICAgPHdvcmtncm91cD5JQ05S
Rzwvd29ya2dyb3VwPgogICAgPCEtLSBXRyBuYW1lIGF0IHRoZSB1cHBlcmxlZnQgY29ybmVyIG9m
IHRoZSBkb2MsCiAgICAgICAgIElFVEYgaXMgZmluZSBmb3IgaW5kaXZpZHVhbCBzdWJtaXNzaW9u
cy4gIAoJIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJlc2VudCwgdGhlIGRlZmF1bHQgaXMgIk5l
dHdvcmsgV29ya2luZyBHcm91cCIsCiAgICAgICAgIHdoaWNoIGlzIHVzZWQgYnkgdGhlIFJGQyBF
ZGl0b3IgYXMgYSBub2QgdG8gdGhlIGhpc3Rvcnkgb2YgdGhlIElFVEYuIC0tPgoKICAgIDxrZXl3
b3JkPnRlbXBsYXRlPC9rZXl3b3JkPgogICAgPCEtLSBLZXl3b3JkcyB3aWxsIGJlIGluY29ycG9y
YXRlZCBpbnRvIEhUTUwgb3V0cHV0CiAgICAgICAgIGZpbGVzIGluIGEgbWV0YSB0YWcgYnV0IHRo
ZXkgaGF2ZSBubyBlZmZlY3Qgb24gdGV4dCBvciBucm9mZgogICAgICAgICBvdXRwdXQuIElmIHlv
dSBzdWJtaXQgeW91ciBkcmFmdCB0byB0aGUgUkZDIEVkaXRvciwgdGhlCiAgICAgICAgIGtleXdv
cmRzIHdpbGwgYmUgdXNlZCBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuIC0tPgoKICAgIDxhYnN0cmFj
dD4KICAgICAgPHQ+RGVlcGx5IGVtYmVkZGVkIGluIHNvbWUgSUNOIGFyY2hpdGVjdHVyZXMsIGVz
cGVjaWFsbHkgTmFtZWQgRGF0YSBOZXR3b3JraW5nIChORE4pIGFuZCBDb250ZW50LUNlbnRyaWMg
TmV0d29ya2luZyAoQ0NOeCkgaXMgdGhlIG5vdGlvbiBvZiBmbG93IGJhbGFuY2UuIFRoaXMgY2Fw
dHVyZXMgdGhlIGlkZWEgdGhhdCB0aGVyZSBpcyBhIG9uZS10by1vbmUgY29ycmVzcG9uZGVuY2Ug
YmV0d2VlbiByZXF1ZXN0cyBmb3IgZGF0YSwgY2FycmllZCBpbiBJbnRlcmVzdCBtZXNzYWdlcywg
YW5kIHRoZSByZXNwb25zZXMgd2l0aCB0aGUgcmVxdWVzdGVkIGRhdGEgb2JqZWN0LCBjYXJyaWVk
IGluIERhdGEgbWVzc2FnZXMuIFRoaXMgaGFzIGEgbnVtYmVyIG9mIGhpZ2hseSBiZW5lZmljaWFs
IHByb3BlcnRpZXMgZm9yIGZsb3cgYW5kIGNvbmdlc3Rpb24gY29udHJvbCBpbiBuZXR3b3Jrcywg
YXMgd2VsbCBhcyBzb21lIGRlc2lyYWJsZSBzZWN1cml0eSBwcm9wZXJ0aWVzLiBGb3IgZXhhbXBs
ZSwgbmVpdGhlciBsZWdpdGltYXRlIHVzZXJzIG5vciBhdHRhY2tlcnMgYXJlIGFibGUgdG8gaW5q
ZWN0IGxhcmdlIGFtb3VudHMgb2YgdW4tcmVxdWVzdGVkIGRhdGEgaW50byB0aGUgbmV0d29yay48
L3Q+CiAgICAgIDx0PkV4aXN0aW5nIGNvbmdlc3Rpb24gY29udHJvbCBhcHByb2FjaGVzIGhvd2V2
ZXIgY2Fubm90IGRlYWwgZWZmZWN0aXZlbHkgd2l0aCBhIHdpZGVseSB2YXJ5aW5nIE1UVSBvZiBJ
Q04gZGF0YSBtZXNzYWdlcywgc2luY2UgdGhlIHByb3RvY29scyBhbGxvdyBhIGR5bmFtaWMgcmFu
Z2Ugb2YgMS02NEsgYnl0ZXMuIFNpbmNlIEludGVyZXN0IG1lc3NhZ2VzIGFyZSB1c2VkIHRvIGFs
bG9jYXRlIHRoZSByZXZlcnNlIGxpbmsgYmFuZHdpZHRoIGZvciByZXR1cm5pbmcgRGF0YSwgdGhl
cmUgaXMgbGFyZ2UgdW5jZXJ0YWludHkgaW4gaG93IHRvIGFsbG9jYXRlIHRoYXQgYmFuZHdpZHRo
LiBVbmZvcnR1bmF0ZWx5LCBjdXJyZW50IGNvbmdlc3Rpb24gY29udHJvbCBzY2hlbWVzIGluIEND
TnggYW5kIE5ETiBvbmx5IGNvdW50IEludGVyZXN0IG1lc3NhZ2VzIGFuZCBoYXZlIG5vIGlkZWEg
aG93IG11Y2ggZGF0YSBpcyBpbnZvbHZlZCB0aGF0IGNvdWxkIGNvbmdlc3QgdGhlIGludmVyc2Ug
bGluay4gVGhpcyBkb2N1bWVudCBwcm9wb3NlcyBhIG1ldGhvZCB0byBtYWludGFpbiBmbG93IGJh
bGFuY2UgYnkgYWNjb21tb2RhdGluZyB0aGUgd2lkZSBkeW5hbWljIHJhbmdlIGluIERhdGEgbWVz
c2FnZSBNVFUuPC90PgogICAgICA8IS0tVGhpcyBkb2N1bWVudCBpcyBhIHByb2R1Y3Qgb2YgdGhl
IElSVEYgSW5mb3JtYXRpb24tQ2VudHJpYyBOZXR3b3JraW5nIFJlc2VhcmNoIEdyb3VwIChJQ05S
RykuIC0tPgogICAgPC9hYnN0cmFjdD4KICA8L2Zyb250PgogIDxtaWRkbGU+CiAgICA8c2VjdGlv
biBhbmNob3I9ImludHJvIiBudW1iZXJlZD0idHJ1ZSIgdG9jPSJkZWZhdWx0Ij4KICAgICAgPG5h
bWU+SW50cm9kdWN0aW9uPC9uYW1lPgogICAgICA8dD5EZWVwbHkgZW1iZWRkZWQgaW4gc29tZSBJ
Q04gYXJjaGl0ZWN0dXJlcywgZXNwZWNpYWxseSBOYW1lZCBEYXRhIE5ldHdvcmtpbmcgKE5ETiA8
eHJlZiB0YXJnZXQ9Ik5ETiIgZm9ybWF0PSJkZWZhdWx0Ii8+KSBhbmQgQ29udGVudC1DZW50cmlj
IE5ldHdvcmtpbmcgKENDTnggPHhyZWYgdGFyZ2V0PSJSRkM4NTY5IiBmb3JtYXQ9ImRlZmF1bHQi
Lz4sPHhyZWYgdGFyZ2V0PSJSRkM4NjA5IiBmb3JtYXQ9ImRlZmF1bHQiLz4pIGlzIHRoZSBub3Rp
b24gb2YgPGVtPmZsb3cgYmFsYW5jZTwvZW0+LiBUaGlzIGNhcHR1cmVzIHRoZSBpZGVhIHRoYXQg
dGhlcmUgaXMgYSBvbmUtdG8tb25lIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gcmVxdWVzdHMgZm9y
IGRhdGEsIGNhcnJpZWQgaW4gSW50ZXJlc3QgbWVzc2FnZXMsIGFuZCB0aGUgcmVzcG9uc2VzIHdp
dGggdGhlIHJlcXVlc3RlZCBkYXRhIG9iamVjdCwgY2FycmllZCBpbiBEYXRhIG1lc3NhZ2VzLiBU
aGlzIGhhcyBhIG51bWJlciBvZiBoaWdobHkgYmVuZWZpY2lhbCBwcm9wZXJ0aWVzIGZvciBmbG93
IGFuZCBjb25nZXN0aW9uIGNvbnRyb2wgaW4gbmV0d29ya3MsIGFzIHdlbGwgYXMgc29tZSBkZXNp
cmFibGUgc2VjdXJpdHkgcHJvcGVydGllcy4gRm9yIGV4YW1wbGUsIG5laXRoZXIgbGVnaXRpbWF0
ZSB1c2VycyBub3IgYXR0YWNrZXJzIGFyZSBhYmxlIHRvIGluamVjdCBsYXJnZSBhbW91bnRzIG9m
IHVuLXJlcXVlc3RlZCBkYXRhIGludG8gdGhlIG5ldHdvcmsuPC90PgogICAgICA8dD5UaGlzIGFw
cHJvYWNoIGxlYWRzIHRvIGEgZGVzaXJlIHRvIG1ha2UgdGhlIHNpemUgb2YgdGhlIG9iamVjdHMg
Y2FycmllZCBpbiBEYXRhIG1lc3NhZ2VzIHNtYWxsIGFuZCBuZWFyIGNvbnN0YW50LCBiZWNhdXNl
IGZsb3cgYmFsYW5jZSBjYW4gdGhlbiBiZSBrZXB0IHVzaW5nIHNpbXBsZSBib29ra2VlcGluZyBv
ZiBob3cgbWFueSBJbnRlcmVzdCBtZXNzYWdlcyBhcmUgb3V0c3RhbmRpbmcuIFdoaWxlIHNpbXBs
ZSwgY29uc3RyYWluaW5nIERhdGEgbWVzc2FnZXMgdG8gYmUgcXVpdGUgc21hbGwgLSB1c3VhbGx5
IG9uIHRoZSBvcmRlciBvZiBhIGxpbmsgTWF4aW11bSBUcmFuc21pc3Npb24gVW5pdCAoTVRVKSAt
IGhhcyBzb21lIGNvbnN0cmFpbnRzIGFuZCBkZWxldGVyaW91cyBlZmZlY3RzLCBhbW9uZyB3aGlj
aCBhcmU6CjwvdD4KICAgICAgPHVsIHNwYWNpbmc9Im5vcm1hbCI+CiAgICAgICAgPGxpPlN1Y2gg
c21hbGwgZGF0YSBvYmplY3RzIGFyZSBpbmNvbnZlbmllbnQgZm9yIG1hbnkgYXBwbGljYXRpb25z
OyB0aGVpciBuYXR1cmFsIGRhdGEgb2JqZWN0IHNpemVzIGNhbiBiZSBjb25zaWRlcmFibHkgbGFy
Z2VyIHRoYW4gYSBsaW5rIE1UVS48L2xpPgogICAgICAgIDxsaT5BcHBsaWNhdGlvbnMgd2l0aCB0
cnVseSBzbWFsbCBkYXRhIG9iamVjdHMgKGUuZy4gdm9pY2UgcGFja2V0cyBpbiBhbiBJbnRlcm5l
dCB0ZWxlcGhvbnkgYXBwbGljYXRpb25zKSBoYXZlIG5vIHdheSB0byBjb21tdW5pY2F0ZSB0aGF0
IHRvIHRoZSBuZXR3b3JrLCBjYXVzaW5nIHJlc291cmNlcyB0byBzdGlsbCBiZSBhbGxvY2F0ZWQg
Zm9yIE1UVS1zaXplZCBkYXRhIG9iamVjdHM8L2xpPgogICAgICAgIDxsaT5XaGVuIGNodW5raW5n
IGEgbGFyZ2VyIGRhdGEgb2JqZWN0IGludG8gbXVsdGlwbGUgRGF0YSBtZXNzYWdlcywgZWFjaCBt
ZXNzYWdlIGhhcyB0byBiZSBpbmRpdmlkdWFsbHkgY3J5cHRvZ3JhcGhpY2FsbHkgaGFzaGVkIGFu
ZCBzaWduZWQsIGluY3JlYXNpbmcgYm90aCBjb21wdXRhdGlvbmFsIG92ZXJoZWFkIGFuZCBvdmVy
YWxsIG1lc3NhZ2UgaGVhZGVyIHNpemUuIFRoZSBzaWduYXR1cmUgY2FuIGJlIGVsaWRlZCB3aGVu
IE1hbmlmZXN0cyBhcmUgdXNlZCAoYnkgc2lnbmluZyB0aGUgTWFuaWZlc3QgaW5zdGVhZCksIGJ1
dCB0aGUgb3ZlcmhlYWQgb2YgaGFzaGluZyBtdWx0aXBsZSBzbWFsbCBtZXNzYWdlcyByYXRoZXIg
dGhhbiBmZXdlciBsYXJnZXIgb25lcyByZW1haW5zLjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDx0
Pk9uZSBhcHByb2FjaCB3aGljaCBoZWxwcyB3aXRoIHRoZSBsYXN0IG9mIHRoZXNlIGlzIHRvIGVt
cGxveSBmcmFnbWVudGF0aW9uIGZvciBEYXRhIG1lc3NhZ2VzIGxhcmdlciB0aGFuIHRoZSBQYXRo
IE1UVSAoUE1UVSkuIHN1Y2ggbWVzc2FnZXMgYXJlIGNhcnZlZCBpbnRvIHNtYWxsZXIgcGllY2Vz
IGZvciB0cmFuc21pc3Npb24gb3ZlciB0aGUgbGluayhzKS4gVGhlcmUgYXJlIHRocmVlIGZsYXZv
cnMgb2YgZnJhZ21lbnRhdGlvbjogZW5kLXRvLWVuZCwgaG9wLWJ5LWhvcCB3aXRoIHJlYXNzZW1i
bHkgYXQgZXZlcnkgaG9wLCBhbmQgaG9wLWJ5LWhvcCB3aXRoIGN1dC10aHJvdWdoIG9mIGluZGl2
aWR1YWwgZnJhZ21lbnRzLiBBIG51bWJlciBvZiBJQ04gcHJvdG9jb2wgYXJjaGl0ZWN0dXJlcyBp
bmNvcnBvcmF0ZSBmcmFnbWVudGF0aW9uIGFuZCBzY2hlbWVzIGhhdmUgYmVlbiBwcm9wb3NlZCBm
b3IgYm90aCBORE4gYW5kIENDTngsIGZvciBleGFtcGxlIGluIDx4cmVmIHRhcmdldD0iR2hhbGky
MDEzIiBmb3JtYXQ9ImRlZmF1bHQiLz4uIEZyYWdtZW50YXRpb24gYWxvbmUgZG9lcyBub3QgYW1l
bGlvcmF0ZSB0aGUgZmxvdyBiYWxhbmNlIHByb2JsZW0gaG93ZXZlciwgc2luY2UgZnJvbSBhIHJl
c291cmNlIGFsbG9jYXRpb24gc3RhbmRwb2ludCBib3RoIG1lbW9yeSBhbmQgbGluayBiYW5kd2lk
dGggbXVzdCBiZSBzZXQgYXNpZGUgZm9yIG1heGltdW0tc2l6ZWQgZGF0YSBvYmplY3RzIHRvIGF2
b2lkIGNvbmdlc3Rpb24gY29sbGFwc2UgdW5kZXIgb3ZlcmxvYWQuPC90PgogICAgICA8dD5UaGUg
ZGVzaWduIHNwYWNlIGNvbnNpZGVyZWQgaW4gdGhpcyBkb2N1bWVudCBkb2VzIG5vdCBob3dldmVy
IGV4dGVuZCB0byBhcmJpdHJhcmlseSBsYXJnZSBvYmplY3RzIChlLmcuIDEwMCdzIG9mIGtpbG9i
eXRlcyBvciBsYXJnZXIpLiBBcyB0aGUgZHluYW1pYyByYW5nZSBvZiBkYXRhIG9iamVjdCBzaXpl
cyBnZXRzIHZlcnkgbGFyZ2UsIGZpbmRpbmcgdGhlIHJpZ2h0IHRyYWRlb2ZmIGJldHdlZW4gaGFu
ZGxpbmcgYSBsYXJnZSBudW1iZXIgb2Ygc21hbGwgZGF0YSBvYmplY3RzIHZlcnN1cyBhIHNpbmds
ZSB2ZXJ5IGxhcmdlIGRhdGEgb2JqZWN0IHdoZW4gYWxsb2NhdGluZyBsaW5rIGFuZCBidWZmZXIg
cmVzb3VyY2VzIGJlY29tZXMgaW50cmFjdGFibGUuIEZ1cnRoZXIsIHRoZSBzZW1hbnRpY3Mgb2Yg
SW50ZXJlc3QtRGF0YSBleGNoYW5nZXMgbWVhbnMgdGhhdCBhbnkgZXJyb3IgaW4gdGhlIGV4Y2hh
bmdlIHJlc3VsdHMgaW4gYSByZS1pc3N1ZSBvZiBhbiBJbnRlcmVzdCBmb3IgdGhlIGVudGlyZSBE
YXRhIG9iamVjdC4gVmVyeSBsYXJnZSBkYXRhIG9iamVjdHMgcmVwcmVzZW50IGEgcGVyZm9ybWFu
Y2UgcHJvYmxlbSBiZWNhdXNlIHRoZSBjb3N0IG9mIHJldHJhbnNtaXNzaW9uIHdoZW4gSW50ZXJl
c3RzIGFyZSByZXRyYW5zbWl0dGVkIChvciByZS1pc3N1ZWQpIGJlY29tZXMgdW5zdXN0YWluYWJs
eSBoaWdoLiAgVGhlcmVmb3JlLCB0aGUgbWV0aG9kIHdlIHByb3Bvc2UgZGVhbHMgd2l0aCBhIGR5
bmFtaWMgcmFuZ2Ugb2Ygb2JqZWN0IHNpemVzIGZyb20gdmVyeSBzbWFsbCAoYSBmcmFjdGlvbiBv
ZiBhIGxpbmsgTVRVKSB0byBtb2RlcmF0ZWx5IGxhcmdlIC0gYWJvdXQgNjQga2lsb2J5dGVzIG9y
IGVxdWl2YWxlbnRseSBhYm91dCA0MCBFdGhlcm5ldCBwYWNrZXRzLCBhbmQgYXNzdW1lcyBhbiBh
c3NvY2lhdGVkIGZyYWdtZW50YXRpb24gc2NoZW1lIHRvIGhhbmRsZSBsaW5rIE1UVXMgdGhhdCBj
YW5ub3QgY2FycnkgdGhlIG9iamVjdCBpbiBhIHNpbmdsZSBsaW5rLWxheWVyIHBhY2tldC48L3Q+
CiAgICAgIDx0PlRoZSBhcHByb2FjaCBkZXNjcmliZWQgaW4gdGhlIHJlc3Qgb2YgdGhpcyBkb2N1
bWVudCBtYWludGFpbnMgZmxvdyBiYWxhbmNlIHVuZGVyIHRoZSBjb25kaXRpb25zIG91dGxpbmVk
IGFib3ZlIGJ5IGFsbG9jYXRpbmcgcmVzb3VyY2VzIGFjY3VyYXRlbHkgYmFzZWQgb24gZXhwZWN0
ZWQgZGF0YSBvYmplY3Qgc2l6ZSwgcmF0aGVyIHRoYW4gZW1wbG95aW5nIHNpbXBsZSBpbnRlcmVz
dCBjb3VudGluZy48L3Q+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBudW1iZXJlZD0idHJ1
ZSIgdG9jPSJkZWZhdWx0Ij4KICAgICAgPG5hbWU+UmVxdWlyZW1lbnRzIExhbmd1YWdlPC9uYW1l
PgogICAgICA8dD5UaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwg
IlNIQUxMIiwgIlNIQUxMIE5PVCIsCiAgICAgICAgIlNIT1VMRCIsICJTSE9VTEQgTk9UIiwgIlJF
Q09NTUVOREVEIiwgIk1BWSIsIGFuZCAiT1BUSU9OQUwiIGluIHRoaXMKICAgICAgICBkb2N1bWVu
dCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVzY3JpYmVkIGluIDx4cmVmIHRhcmdldD0iUkZD
MjExOSIgZm9ybWF0PSJkZWZhdWx0Ij5SRkMgMjExOTwveHJlZj4uPC90PgogICAgPC9zZWN0aW9u
PgogICAgPHNlY3Rpb24gYW5jaG9yPSJkZXNjcmlwdGlvbiIgbnVtYmVyZWQ9InRydWUiIHRvYz0i
ZGVmYXVsdCI+CiAgICAgIDxuYW1lPk1ldGhvZCB0byBlbmhhbmNlIGNvbmdlc3Rpb24gY29udHJv
bCB3aXRoIHNpZ25hbGVkIHNpemUgaW5mb3JtYXRpb24gaW4gSW50ZXJlc3QgTWVzc2FnZXM8L25h
bWU+CiAgICAgIDx0PkJlZm9yZSBkaXZpbmcgaW50byB0aGUgc3BlY2lmaWNzIG9mIHRoZSBkZXNp
Z24sIGl0IGlzIHVzZWZ1bCB0byBjb25zaWRlciBob3cgY29uZ2VzdGlvbiBjb250cm9sIHdvcmtz
IGluIE5ETi9DQ054LiBVbmxpa2UgdGhlIElQIHByb3RvY29sIGZhbWlseSwgd2hpY2ggcmVsaWVz
IG9uIGVuZC10by1lbmQgY29uZ2VzdGlvbiBjb250cm9sIChlLmcuIFRDUDx4cmVmIHRhcmdldD0i
UkZDMDc5MyIgZm9ybWF0PSJkZWZhdWx0Ii8+LCBEQ0NQPHhyZWYgdGFyZ2V0PSJSRkM0MzQwIiBm
b3JtYXQ9ImRlZmF1bHQiLz4sIFNDVFA8eHJlZiB0YXJnZXQ9IlJGQzQ5NjAiIGZvcm1hdD0iZGVm
YXVsdCIvPiwgUVVJQzx4cmVmIHRhcmdldD0iSS1ELmlldGYtcXVpYy10cmFuc3BvcnQiIGZvcm1h
dD0iZGVmYXVsdCIvPiksIENDTnggYW5kIE5ETiBlbXBsb3kgaG9wLWJ5LWhvcCBjb25nZXN0aW9u
IGNvbnRyb2wuIFRoZXJlIGlzIHBlci1JbnRlcmVzdC9EYXRhIHN0YXRlIGF0IGV2ZXJ5IGhvcCBv
ZiB0aGUgcGF0aCBhbmQgdGhlcmVmb3JlIGZvciBlYWNoIG91dHN0YW5kaW5nIEludGVyZXN0LCBi
YW5kd2lkdGggZm9yIGRhdGEgcmV0dXJuaW5nIG9uIHRoZSBpbnZlcnNlIHBhdGggY2FuIGJlIGFs
bG9jYXRlZC4gSW4gdGhlIGN1cnJlbnQgZGVzaWduLCB0aGlzIGFsbG9jYXRpb24gaXMgZG9uZSB1
c2luZyBzaW1wbGUgSW50ZXJlc3QgY291bnRpbmcgLSBieSBhY2NlcHRpbmcgb25lIEludGVyZXN0
IHBhY2tldCBmcm9tIGFuIGRvd25zdHJlYW0gbm9kZSwgaW1wbGljaXRseSB0aGlzIHByb3ZpZGVz
IGEgZ3VhcmFudGVlIChlaXRoZXIgaGFyZCBvciBzb2Z0KSB0aGF0IHRoZXJlIGlzIHN1ZmZpY2ll
bnQgYmFuZHdpZHRoIG9uIHRoZSBpbnZlcnNlIGRpcmVjdGlvbiBvZiB0aGUgbGluayB0byBzZW5k
IGJhY2sgb25lIERhdGEgcGFja2V0LiBBIG51bWJlciBvZiBjb25nZXN0aW9uIGNvbnRyb2wgc2No
ZW1lcyBoYXZlIGJlZW4gZGV2ZWxvcGVkIHRoYXQgb3BlcmF0ZSBpbiB0aGlzIGZhc2hpb24sIGZv
ciBleGFtcGxlIDx4cmVmIHRhcmdldD0iV2FuZzIwMTMiIGZvcm1hdD0iZGVmYXVsdCIvPiw8eHJl
ZiB0YXJnZXQ9Ik1haGRpYW4yMDE2IiBmb3JtYXQ9ImRlZmF1bHQiLz4sPHhyZWYgdGFyZ2V0PSJT
b25nMjAxOCIgZm9ybWF0PSJkZWZhdWx0Ii8+LDx4cmVmIHRhcmdldD0iQ2Fyb2ZpZ2xpbzIwMTIi
IGZvcm1hdD0iZGVmYXVsdCIvPi4gIE90aGVyIHNjaGVtZXMsIGxpa2UgPHhyZWYgdGFyZ2V0PSJT
Y2huZWlkZXIyMDE2IiBmb3JtYXQ9ImRlZmF1bHQiLz4gbmVpdGhlciBjb3VudCBub3IgcG9saWNl
IGludGVyZXN0cywgYnV0IGluc3RlYWQgbW9uaXRvciBxdWV1ZXMgdXNpbmcgQVFNIChhY3RpdmUg
cXVldWUgbWFuYWdlbWVudCkgdG8gbWFyayByZXR1cm5pbmcgRGF0YSBwYWNrZXRzIHRoYXQgaGF2
ZSBleHBlcmllbmNlZCBjb25nZXN0aW9uLiBJdCBpcyB3b3J0aCBub3RpbmcgdGhhdCBldmVyeSBj
b25nZXN0aW9uIGNvbnRyb2wgYWxnb3JpdGhtIGhhcyBhbiBleHBsaWNpdCBmYWlybmVzcyBnb2Fs
IGFuZCBhc3NvY2lhdGVkIG9iamVjdGl2ZSBmdW5jdGlvbiAodXN1YWxseSBlaXRoZXIgPHhyZWYg
dGFyZ2V0PSJtaW5tYXhmYWlybmVzcyIgZm9ybWF0PSJkZWZhdWx0Ii8+IG9yIDx4cmVmIHRhcmdl
dD0icHJvcG9ydGlvbmFsZmFpcm5lc3MiIGZvcm1hdD0iZGVmYXVsdCIvPikuIElmIHlvdXIgZmFp
cm5lc3MgaXMgdG8gYmUgYmFzZWQgb24gcmVzb3VyY2UgdXNhZ2UsIHB1cmUgaW50ZXJlc3QgY291
bnRpbmcgZG9lc24ndCBkbyB0aGUgdHJpY2ssIHNpbmNlIGEgY29uc3VtZXIgYXNraW5nIGZvciBs
YXJnZSB0aGluZyBjYW4gc2F0dXJhdGUgYSBsaW5rIGFuZCBzaGlmdCBsb3NzIHRvIGNvbnN1bWVy
cyBhc2tpbmcgZm9yIHNtYWxsIHRoaW5ncy48L3Q+CiAgICAgIDx0PkluIG9yZGVyIHRvIGRlYWwg
d2l0aCBhIGxhcmdlciBkeW5hbWljIHJhbmdlIG9mIGRhdGEgb2JqZWN0IHNpemUsIHNvbWUgbWVh
bnMgaXMgcmVxdWlyZWQgdG8gYWxsb2NhdGUgbGluayBiYW5kd2lkdGggZm9yIGRhdGEgbWVzc2Fn
ZXMgaW4gYnl0ZXMgd2l0aCBhbiB1cHBlciBib3VuZCBsYXJnZXIgdGhhbiBhIGxpbmsgUE1UVSBh
bmQgYSBsb3dlciBib3VuZCBsb3dlciB0aGFuIGEgc2luZ2xlIGxpbmsgTVRVLiBTaW5jZSByZXNv
dXJjZXMgYXJlIGFsbG9jYXRlZCBmb3IgcmV0dXJuaW5nIERhdGEgYmFzZWQgb24gYXJyaXZpbmcg
SW50ZXJlc3RzLCB0aGlzIGluZm9ybWF0aW9uIG11c3QgYmUgYXZhaWxhYmxlIGluIEludGVyZXN0
IG1lc3NhZ2VzLjwvdD4KICAgICAgPHQ+VGhlcmVmb3JlLCBvbmUga2V5IGlkZWEgaXMgdGhlIGlu
Y2x1c2lvbiBvZiBhbiA8ZW0+ZXhwZWN0ZWQgZGF0YSBzaXplPC9lbT4gVExWIGluIGVhY2ggSW50
ZXJlc3QgbWVzc2FnZS4gVGhpcyBhbGxvd3MgZWFjaCBmb3J3YXJkZXIgb24gdGhlIHBhdGggdGFr
ZW4gYnkgdGhlIGludGVyZXN0IHRvIGFjY3VyYXRlbHkgYWxsb2NhdGUgYmFuZHdpZHRoIG9uIHRo
ZSBpbnZlcnNlIHBhdGggZm9yIHRoZSByZXR1cm5pbmcgRGF0YSBtZXNzYWdlLiBBbHNvLCBieSBp
bmNsdWRpbmcgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSwgbGFyZ2Ugb2JqZWN0cyB3aWxsIGhhdmUg
YSBjb3JyZXNwb25kaW5nIHdlaWdodCBpbiByZXNvdXJjZSBhbGxvY2F0aW9uLCBtYWludGFpbmlu
ZyBsaW5rIGFuZCBmb3J3YXJkZXIgYnVmZmVyaW5nIGZhaXJuZXNzLiBUaGUgc2ltcGxlciBJbnRl
cmVzdCBjb3VudGluZyBzY2hlbWUgd2FzIG5vbWluYWxseSAiZmFpciIgb24gYSBwZXItZXhjaGFu
Z2UgYmFzaXMgd2l0aGluIHRoZSB2YXJpYXRpb25zIG9mIGRhdGEgdGhhdCBmaXQgaW4gYSBzaW5n
bGUgUE1UVSBwYWNrZXQgYmVjYXVzZSBhbGwgSW50ZXJlc3RzIHByb2R1Y2VkIHNpbWlsYXIgYW1v
dW50cyBvZiBkYXRhIGluIHJldHVybi4gSW4gdGhlIGFic2VuY2Ugb2Ygc3VjaCBhIGZpZWxkLCBp
dCBpcyBub3QgZmVhc2libGUgdG8gYWxsb3cgYSBsYXJnZSBkeW5hbWljIHJhbmdlIGluIG9iamVj
dCBzaXplLiBXaGlsZSBzY2hlbWVzIGxpa2UgPHhyZWYgdGFyZ2V0PSJTY2huZWlkZXIyMDE2IiBm
b3JtYXQ9ImRlZmF1bHQiLz4gd291bGQgbm90IGVtcGxveSB0aGUgZXhwZWN0ZWQgZGF0YSBzaXpl
IHRvIGFsbG9jYXRlIHJldmVyc2UgbGluayBiYW5kd2lkdGgsIHRoZXkgY2FuIHN0aWxsIGJlbmVm
aXQgZnJvbSB0aGUgaW5mb3JtYXRpb24gdG8gYWZmZWN0IHRoZSBBUU0gY29uZ2VzdGlvbiBtYXJr
aW5nIGFsZ29yaXRobSwgcHJlZmVyZW50aWFsbHkgbWFya2luZyBkYXRhIHBhY2tldHMgdGhhdCBl
eGNlZWQgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZS48L3Q+CiAgICAgIDxzZWN0aW9uIGFuY2hvcj0i
cHJlZGljdGlvbiIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgICAgPG5hbWU+
SG93IHRvIHByZWRpY3QgdGhlIHNpemUgb2YgcmV0dXJuaW5nIERhdGEgbWVzc2FnZXM8L25hbWU+
CiAgICAgICAgPHQ+VGhpcyBvZiBjb3Vyc2UgcmFpc2VzIHRoZSBxdWVzdGlvbiAiSG93IGRvZXMg
dGhlIHJlcXVlc3RlciBrbm93IGhvdyBiaWcgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YSBjb21pbmcg
YmFjayB3aWxsIGJlPyIuIEZvciBhIG51bWJlciBvZiBpbXBvcnRhbnQgYXBwbGljYXRpb25zLCB0
aGUgc2l6ZSBpcyBrbm93biBhIHByaW9yaSBkdWUgdG8gdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0
aGUgYXBwbGljYXRpb24uIEhlcmUgYXJlIHNvbWUgZXhhbXBsZXM6Cgo8L3Q+CiAgICAgICAgPHVs
IHNwYWNpbmc9Im5vcm1hbCI+CiAgICAgICAgICA8bGk+Rm9yIG1hbnkgc2Vuc29yIGFuZCBvdGhl
ciBJbnRlcm5ldC1vZi1UaGluZ3MgYXBwbGljYXRpb25zLCB0aGUgZGF0YSBpcyBpbnN0cnVtZW50
IHJlYWRpbmdzIHdoaWNoIGhhdmUgZml4ZWQga25vd24gc2l6ZS48L2xpPgogICAgICAgICAgPGxp
PkluIHZpZGVvIHN0cmVhbWluZywgdGhlIGRhdGEgaXMgb3V0cHV0IG9mIGEgdmlkZW8gZW5jb2Rl
ciB3aGljaCBwcm9kdWNlcyB2YXJpYWJsZSBzaXplZCBmcmFtZXMuIFRoaXMgaW5mb3JtYXRpb24g
aXMgdHlwaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGFoZWFkIG9mIHRpbWUgdG8gdGhlIHN0cmVhbWlu
ZyBjbGllbnRzIGluIHRoZSBmb3JtIG9mIGEgTWFuaWZlc3QgWzRdLCB3aGljaCBjb250YWlucyB0
aGUgbmFtZXMgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc2VnbWVudHMgKG9yIGluZGl2aWR1YWwgZnJh
bWVzKSBvZiB2aWRlbyBhbmQgYXVkaW8gYW5kIHRoZWlyIHNpemVzLjwvbGk+CiAgICAgICAgICA8
bGk+SW50ZXJuZXQgdGVsZXBob255IGFwcGxpY2F0aW9ucyB1c2Ugdm9jb2RlcnMgdGhhdCB0eXBp
Y2FsbHkgZW1wbG95IGZpeGVkLXNpemUgYXVkaW8gZnJhbWVzLiBUaGVyZWZvcmUsIHRoZWlyIHNp
emUgaXMga25vd24gZWl0aGVyIGEgcHJpb3JpLCBvciB2aWEgYW4gaW5pdGlhbGl6YXRpb24gZXhj
aGFuZ2UgYXQgdGhlIHN0YXJ0IG9mIGFuIGF1ZGlvIHNlc3Npb24uPC9saT4KICAgICAgICA8L3Vs
PgogICAgICAgIDx0PgoKVGhlIG1vcmUgY29tcGxleCBjYXNlcyBhcmlzZSB3aGVyZSB0aGUgZGF0
YSBzaXplIGlzIG5vdCBrbm93biBhdCB0aGUgdGltZSB0aGUgSW50ZXJlc3QgbXVzdCBiZSBzZW50
LiBNdWNoIG9mIHRoZSBudWFuY2Ugb2YgdGhlIHByb3Bvc2VkIHNjaGVtZSBpcyBpbiBob3cgbWlz
bWF0Y2hlcyBiZXR3ZWVuIHRoZSBleHBlY3RlZCBkYXRhIHNpemUgYW5kIHRoZSBhY3R1YWwgZGF0
YSBvYmplY3QgcmV0dXJuZWQgYXJlIGhhbmRsZWQuIFRoZSBjb25zdW1lciBjYW4gZWl0aGVyIHVu
ZGVyLSBvciBvdmVyLWVzdGltYXRlIHRoZSBkYXRhIHNpemUuIEluIHRoZSBmb3JtZXIgY2FzZSwg
dGhlIHVuZGVyLWVzdGltYXRlIGNhbiBsZWFkIHRvIGNvbmdlc3Rpb24gYW5kIHBvc3NpYmxlIGxv
c3Mgb2YgZGF0YS4gSW4gdGhlIGxhdHRlciBjYXNlLCBiYW5kd2lkdGggdGhhdCBjb3VsZCBoYXZl
IGJlZW4gdXNlZCBieSBkYXRhIG9iamVjdHMgcmVxdWVzdGVkIGJ5IG90aGVyIGNvbnN1bWVycyBt
aWdodCBiZSB3YXN0ZWQuIFdlIGZpcnN0IGNvbnNpZGVyICJob25lc3QiIG1pcy1lc3RpbWF0ZXMg
ZHVlIHRvIGltcGVyZmVjdCBrbm93bGVkZ2UgYnkgdGhlIElDTiBhcHBsaWNhdGlvbjsgbGF0ZXIg
d2UgY29uc2lkZXIgbWFsaWNpb3VzIGFwcGxpY2F0aW9ucyB0aGF0IGFyZSB1c2luZyB0aGUgbWFj
aGluZXJ5IHRvIG1vdW50IHNvbWUgZm9ybSBvZiBhdHRhY2suIFdlIGFsc28gY29uc2lkZXIgdGhl
IGVmZmVjdHMgb2YgSW50ZXJlc3QgYWdncmVnYXRpb24gaWYgdGhlIGFnZ3JlZ2F0ZWQgSW50ZXJl
c3RzIGhhdmUgZGlmZmVyaW5nIGV4cGVjdGVkIGRhdGEgc2l6ZXMuIEFsc28sIGl0IHNob3VsZCBi
ZSBvYnZpb3VzIHRoYXQgaWYgdGhlIERhdGEgbWVzc2FnZSBhcnJpdmVzLCB0aGUgYXBwbGljYXRp
b24gbGVhcm5zIGl0cyBhY3R1YWwgc2l6ZSwgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgdXNlZnVs
IGluIGFkanVzdGluZyB0aGUgZXhwZWN0ZWQgZGF0YSBzaXplIGVzdGltYXRlIGZvciBmdXR1cmUg
SW50ZXJlc3RzLjwvdD4KICAgICAgICA8dD5JbiBhbGwgY2FzZXMsIHRoZSBleHBlY3RlZCBkYXRh
IHNpemUgZnJvbSB0aGUgSW50ZXJlc3QgY2FuIGJlIGluY29ycG9yYXRlZCBpbiB0aGUgY29ycmVz
cG9uZGluZyBQZW5kaW5nIEludGVyZXN0IFRhYmxlIChQSVQpIGVudHJ5IG9mIGVhY2ggQ0NOeC9O
RE4gZm9yd2FyZGVyIG9uIHRoZSBwYXRoIGFuZCBoZW5jZSB3aGVuIGEgKHBvc3NpYmx5IGZyYWdt
ZW50ZWQpIERhdGEgb2JqZWN0IGNvbWVzIGJhY2ssIGl0cyB0b3RhbCBzaXplIGlzIGtub3duIGFu
ZCBjYW4gYmUgY29tcGFyZWQgdG8gdGhlIGV4cGVjdGVkIHNpemUgaW4gdGhlIFBJVCBmb3IgYSBt
aXNtYXRjaC4gQXNpZGU6IEluIHRoZSBjYXNlIG9mIGZyYWdtZW50YXRpb24sIHdlIGFzc3VtZSBh
IGZyYWdtZW50YXRpb24gc2NoZW1lIGluIHdoaWNoIHRoZSB0b3RhbCBkYXRhIHNpemUgY2FuIGJl
IGtub3duIGFzIHNvb24gYXMgYW55IG9uZSBmcmFnbWVudCBpcyByZWNlaXZlZCAoYSByZWFzb25h
YmxlIGFzc3VtcHRpb24gZm9yIG1vc3QgYW55IHdlbGwtZGVzaWduZWQgZnJhZ21lbnRhdGlvbiBt
ZXRob2QpLjwvdD4KICAgICAgPC9zZWN0aW9uPgogICAgICA8c2VjdGlvbiBhbmNob3I9InRvb2Jp
ZyIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgICAgPG5hbWU+SGFuZGxpbmcg
YHRvbyBiaWcnIGNhc2VzPC9uYW1lPgogICAgICAgIDx0PklmIHRoZSByZXR1cm5pbmcgZGF0YSBp
cyBsYXJnZXIgdGhhbiB0aGUgZXhwZWN0ZWQgZGF0YSBzaXplLCB0aGUgZXh0cmEgZGF0YSBjb3Vs
ZCByZXN1bHQgaW4gZWl0aGVyIHVuZmFpciBiYW5kd2lkdGggYWxsb2NhdGlvbiBvciBwb3NzaWJs
eSBkYXRhIGxvc3MgdW5kZXIgY29uZ2VzdGlvbiBjb25kaXRpb25zLiBXaGVuIHRoaXMgaXMgZGV0
ZWN0ZWQsIHRoZSBmb3J3YXJkZXIgaGFzIHRocmVlIGNob2ljZXM6Cgo8L3Q+CiAgICAgICAgPG9s
IHNwYWNpbmc9Im5vcm1hbCIgdHlwZT0iMSI+CiAgICAgICAgICA8bGk+SXQgY291bGQgZm9yd2Fy
ZCB0aGUgZGF0YSBhbnl3YXksIHdoaWNoIGlzIHNhZmUgdW5kZXIgbm9uLWNvbmdlc3Rpb24gY29u
ZGl0aW9ucywgYnV0IHVuZmFpciBhbmQgcG9zc2libHkgdW5zdGFibGUgd2hlbiB0aGUgb3V0cHV0
IGxpbmsgaXMgY29uZ2VzdGVkPC9saT4KICAgICAgICAgIDxsaT5JdCBjb3VsZCBmb3J3YXJkIHRo
ZSBkYXRhIHdoZW4gdW4tY29uZ2VzdGVkIChlLmcuIGJ5IGFzc2Vzc2luZyBvdXRwdXQgcXVldWUg
ZGVwdGgpIGJ1dCBkcm9wIGl0IHdoZW4gY29uZ2VzdGVkPC9saT4KICAgICAgICAgIDxsaT5JdCBj
b3VsZCBhbHdheXMgZHJvcCB0aGUgZGF0YSwgYXMgYSB3YXkgb2YgInB1bmlzaGluZyIgdGhlIHJl
cXVlc3RlciBmb3IgdGhlIG1pcy1lc3RpbWF0ZS48L2xpPgogICAgICAgIDwvb2w+CiAgICAgICAg
PHQ+CkVpdGhlciBvZiB0aGUgbGF0dGVyIHR3byBzdHJhdGVnaWVzIGlzIGFjY2VwdGFibGUgZnJv
bSBhIGNvbmdlc3Rpb24gY29udHJvbCBwb2ludCBvZiB2aWV3LiBIb3dldmVyLCBpdCBpcyBub3Qg
YSBnb29kIGlkZWEgdG8gc2ltcGx5IGRyb3AgdGhlIERhdGEgbWVzc2FnZSB3aXRoIG5vIGZlZWRi
YWNrIHRvIHRoZSBpc3N1ZXIgb2YgdGhlIEludGVyZXN0IGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9u
IGhhcyBubyB3YXkgdG8gbGVhcm4gdGhlIGFjdHVhbCBkYXRhIHNpemUgYW5kIHJldHJ5LiBGdXJ0
aGVyLCByZWNvdmVyeSB3b3VsZCBiZSBkZWxheWVkIHVudGlsIHRoZSBmYWlsaW5nIEludGVyZXN0
IHRpbWVkIG91dC4gVGhlcmVmb3JlLCBhbiBhZGRpdGlvbmFsIGVsZW1lbnQgbmVlZGVkIGluIHBy
b3RvY29sIHNlbWFudGljcyBpcyB0aGUgaW5jb3Jwb3JhdGlvbiBvZiBhICJEYXRhIHRvbyBiaWci
IGVycm9yIG1lc3NhZ2UgKHZpYSBhbiAiaW50ZXJlc3QgUmV0dXJuIiBwYWNrZXQgaW4gQ0NOeCku
PC90PgogICAgICAgIDx0PlVwb24gZHJvcHBpbmcgZGF0YSBhcyBhYm92ZSwgdGhlIENDTngvTkRO
IGZvcndhcmRlciBjb252ZXJ0cyB0aGUgbm9ybWFsIERhdGEgbWVzc2FnZSBpbnRvIGFuIEludGVy
ZXN0IFJldHVybiBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdpdGggdGhlIFRfTVRVX1RPT19MQVJH
RSBlcnJvciBjb2RlIGFuZCB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIGRhdGEgb2JqZWN0IGluc3Rl
YWQgb2YgdGhlIGRhdGEgb2JqZWN0IGNvbnRlbnQuIEl0IHByb3BhZ2F0ZXMgdGhhdCBiYWNrIHRv
d2FyZCB0aGUgY2xpZW50IGlkZW50aWNhbGx5IHRvIGhvdyB0aGUgb3JpZ2luYWwgRGF0YSBtZXNz
YWdlIHdvdWxkIGhhdmUgYmVlbiBoYW5kbGVkLiBTdWJzZXF1ZW50IG5vZGVzIHVwb24gcmVjZWl2
aW5nIHRoZSBUX01UVV9UT09fTEFSR0UgZXJyb3IgdHJlYXQgaXQgYXMgYWxsIG90aGVyIEludGVy
ZXN0IFJldHVybiBlcnJvcnMuIFdoZW4gdGhlIEludGVyZXN0IFJldHVybiBldmVudHVhbGx5IGFy
cml2ZXMgYmFjayB0byB0aGUgaXNzdWVyIG9mIHRoZSBJbnRlcmVzdCwgdGhlIHVzZXIgY2FuLCB0
aGV5IGRlc2lyZSwgcmVpc3N1ZSB0aGUgSW50ZXJlc3Qgd2l0aCB0aGUgY29ycmVjdCBleHBlY3Rl
ZCBkYXRhIHNpemUuPC90PgogICAgICAgIDx0Pk9uZSBkZXRhaWwgdG8gbm90ZSBpcyB0aGF0IGFu
IEludGVyZXN0IFJldHVybiBjYXJyeWluZyBUX01UVV9UT09fTEFSR0UgbXVzdCBiZSBkZXRlcm1p
bmlzdGljYWxseSBzbWFsbGVyIHRoYW4gdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSBpbiBhbGwgY2Fz
ZXMuIFRoaXMgaXMgY2xlYXJseSB0aGUgY2FzZSBmb3IgbGFyZ2UgZGF0YSBvYmplY3RzLCBidXQg
dGhlcmUgaXMgYSBjb3JuZXIgY2FzZSB3aXRoIHNtYWxsIGRhdGEgb2JqZWN0cy4gVGhlcmUgaGFz
IHRvIGJlIGEgbWluaW11bSBleHBlY3RlZCBkYXRhIHNpemUgdGhhdCBhIGNsaWVudCBjYW4gc3Bl
Y2lmeSBpbiB0aGVpciBJbnRlcmVzdHMsIGFuZCB0aGF0IG1pbmltdW0gY2Fubm90IGJlIHNtYWxs
ZXIgdGhhbiB0aGUgc2l6ZSBvZiBhIFRfTVRVX1RPT19MQVJHRSBJbnRlcmVzdCBSZXR1cm48L3Q+
CiAgICAgIDwvc2VjdGlvbj4KICAgICAgPHNlY3Rpb24gYW5jaG9yPSJ0b29zbWFsbCIgbnVtYmVy
ZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgICAgPG5hbWU+SGFuZGxpbmcgYHRvbyBzbWFs
bCcgY2FzZXM8L25hbWU+CiAgICAgICAgPHQ+TmV4dCB3ZSBjb25zaWRlciB0aGUgY2FzZSB3aGVy
ZSB0aGUgcmV0dXJuaW5nIGRhdGEgaXMgc21hbGxlciB0aGFuIHRoZSBleHBlY3RlZCBkYXRhIHNp
emUuIFdoaWxlIHRoaXMgY2FzZSBkb2VzIG5vdCByZXN1bHQgaW4gY29uZ2VzdGlvbiwgaXQgY2Fu
IGNhdXNlIHJlc291cmNlcyB0byBiZSBpbmVmZmljaWVudGx5IGFsbG9jYXRlZCBiZWNhdXNlIG5v
dCBhbGwgb2YgdGhlIHNldC1hc2lkZSBiYW5kd2lkdGggZm9yIHRoZSByZXR1cm5pbmcgZGF0YSBv
YmplY3QgZ2V0cyB1c2VkLiBUaGUgc2ltcGxlc3QgYW5kIG1vc3Qgc3RyYWlnaHRmb3J3YXJkIHdh
eSB0byBkZWFsIHdpdGggdGhpcyBjYXNlIGlzIHRvIGVzc2VudGlhbGx5IGlnbm9yZSBpdC4gVGhl
IG1vdGl2YXRpb24gZm9yIG5vdCB3b3JyeWluZyBhYm91dCB0aGUgc21hbGxlciBkYXRhIG1pc21h
dGNoIGlzIHRoYXQgaW4gbWFueSBzaXR1YXRpb25zIHRoYXQgZW1wbG95IHVzYWdlLWJhc2VkIHJl
c291cmNlIG1lYXN1cmVtZW50IChhbmQgcG9zc2libHkgY2hhcmdpbmcpLCBpdCBpcyB0cml2aWFs
IHRvIGp1c3QgYWNjb3VudCBmb3IgdGhlIHVzYWdlIGFjY29yZGluZyB0byB0aGUgbGFyZ2VyIGV4
cGVjdGVkIGRhdGEgc2l6ZSByYXRoZXIgdGhhbiBhY3R1YWwgcmV0dXJuZWQgZGF0YSBzaXplLiBQ
cm9wZXJseSBhZGp1c3RpbmcgY29uZ2VzdGlvbiBjb250cm9sIHBhcmFtZXRlcnMgdG8gc29tZWhv
dyBwZW5hbGl6ZSB1c2VycyBmb3Igb3Zlci1lc3RpbWF0aW5nIHRoZWlyIHJlc291cmNlIHVzYWdl
IHJlcXVpcmVzIGZhaXJseSBoZWF2eXdlaWdodCBtYWNoaW5lcnksIHdoaWNoIGluIG1vc3QgY2Fz
ZXMgaXMgbm90IHdhcnJhbnRlZC4gSWYgZGVzaXJlZCwgYW55IG9mIHRoZSBmb2xsb3dpbmcgbWVj
aGFuaXNtcyBjb3VsZCBiZSBjb25zaWRlcmVkOgo8L3Q+CiAgICAgICAgPHVsIHNwYWNpbmc9Im5v
cm1hbCI+CiAgICAgICAgICA8bGk+QXR0ZW1wdCB0byBpZGVudGlmeSBmdXR1cmUgSW50ZXJlc3Rz
IGZvciB0aGUgc2FtZSBvYmplY3Qgb3IgY2xvc2VseSByZWxhdGVkIG9iamVjdHMgYW5kIGFsbG9j
YXRlIHJlc291cmNlcyBiYXNlZCBvbiBzb21lIHJldGFpbmVkIHN0YXRlIGFib3V0IHRoZSBhY3R1
YWwgc2l6ZSBvZiBwcmlvciBvYmplY3RzPC9saT4KICAgICAgICAgIDxsaT5Qb2xpY2UgY29uc3Vt
ZXIgYmVoYXZpb3IgYW5kIGRlY3JlYXNlIHRoZSBleHBlY3RlZCBkYXRhIHNpemUgaW4gb25lIG9y
IG1vcmUgZnV0dXJlIEludGVyZXN0cyB0byBjb21wZW5zYXRlPC9saT4KICAgICAgICAgIDxsaT5G
b3Igc21hbGwgb2JqZWN0cywgZG8gbW9yZSBvcHRpbWlzdGljIHJlc291cmNlIGFsbG9jYXRpb24g
b24gdGhlIGxpbmtzIG9uIHRoZSBwcmVzdW1wdGlvbiB0aGF0IHRoZXJlIHdpbGwgYmUgc29tZSAi
c2xhY2siIGR1ZSB0byBjbGllbnRzIG92ZXJlc3RpbWF0aW5nIGRhdGEgb2JqZWN0IHNpemUuPC9s
aT4KICAgICAgICA8L3VsPgogICAgICAgIDx0PgoKT25lIHByb3RvY29sIGRldGFpbCBvZiBDQ054
L05ETiB0aGF0IG5lZWRzIHRvIGJlIGRlYWx0IHdpdGggaXMgSW50ZXJlc3QgQWdncmVnYXRpb24u
IFRoaXMgaGFwcGVucyB3aGVuIG11bHRpcGxlIEludGVyZXN0cyBhcnJpdmUgYXQgYSBmb3J3YXJk
ZXIgZm9yIHRoZSBzYW1lIE5hbWVkIG9iamVjdC4gVGhlc2UgYXJlIGFnZ3JlZ2F0ZWQgc3VjaCB0
aGF0IG9uZSBvZiB0aGVtIChpLmUudGhlIGZpcnN0IHRvIGFycml2ZSBhbmQgY3JlYXRlIFBJVCBz
dGF0ZSkgaXMgZm9yd2FyZGVkLCBhbmQgdGhlIHJlc3QgYXJlIGRyb3BwZWQgd2hpbGUgbWFya2lu
ZyB0aGUgYXJyaXZhbCBmYWNlIHNvIHRoZSBkYXRhIGNhbiBiZSBzZW50IGJhY2sgdG8gdGhlIG11
bHRpcGxlIHJlcXVlc3RpbmcgY2xpZW50cy4gSW50ZXJlc3QgYWdncmVnYXRpb24gaW50ZXJhY3Rz
IHdpdGggZXhwZWN0ZWQgZGF0YSBzaXplIGlmIEludGVyZXN0cyBmcm9tIGRpZmZlcmVudCBjbGll
bnRzIGNvbnRhaW4gZGlmZmVyZW50IHZhbHVlcyBvZiB0aGUgZXhwZWN0ZWQgZGF0YSBzaXplLiBB
cyBhYm92ZSwgdGhlIHNpbXBsZXN0IHNvbHV0aW9uIHRvIHRoaXMgcHJvYmxlbSBpcyB0byBpZ25v
cmUgaXQsIGFzIG1vc3QgZXJyb3IgY2FzZXMgYXJlIGJlbmlnbi4gSG93ZXZlciwgdGhlcmUgaXMg
b25lIHByb2JsZW1hdGljIGVycm9yIGNhc2Ugd2hlcmUgb25lIGNsaWVudCBwcm92aWRlcyBhbiBh
Y2N1cmF0ZSBleHBlY3RlZCBkYXRhIHNpemUsIGJ1dCBhbm90aGVyIHdobyBpc3N1ZWQgdGhlIElu
dGVyZXN0IGZpcnN0IHVuZGVyZXN0aW1hdGVzLCBjYXVzaW5nIGJvdGggdG8gcmVjZWl2ZSBhIERh
dGEgdG9vIGJpZyBlcnJvci4gVGhpcyBpbnRyb2R1Y2VzIGEgZGVuaWFsIG9mIHNlcnZpY2UgdnVs
bmVyYWJpbGl0eSwgd2hpY2ggd2UgZGlzY3VzcyBiZWxvdyB0b2dldGhlciB3aXRoIHRoZSBvdGhl
ciBtYWxpY2lvdXMgYWN0b3IgY2FzZXMuPC90PgogICAgICA8L3NlY3Rpb24+CiAgICAgIDxzZWN0
aW9uIGFuY2hvcj0iYWdncmVnYXRpb24iIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgog
ICAgICAgIDxuYW1lPkludGVyYWN0aW9ucyB3aXRoIEludGVyZXN0IEFnZ3JlZ2F0aW9uPC9uYW1l
PgogICAgICAgIDx0PkludGVyZXN0IEFnZ3JlZ2F0aW9uLCB3aGlsZSBhIHBvd2VyZnVsIGZlYXR1
cmUgZm9yIG1haW50YWluaW5nIGZsb3cgYmFsYW5jZSB3aGVuIG11bHRpcGxlIGNvbnN1bWVycyBz
ZW5kIEludGVyZXN0cyBmb3IgdGhlIHNhbWUgTmFtZWQgb2JqZWN0LCBpbnRyb2R1Y2VzIHN1YnRs
ZSBjb21wbGljYXRpb25zLiBXaGVuZXZlciBhIHNlY29uZCBvciBzdWJzZXF1ZW50IEludGVyZXN0
IGFycml2ZXMgYXQgYSBmb3J3YXJkZXIgd2l0aCBhbiBhY3RpdmUgUElUIGVudHJ5IGl0IGlzIHBv
c3NpYmxlIHRoYXQgdGhvc2UgSW50ZXJlc3RzIGNhcnJ5IGRpZmZlcmVudCBwYXJhbWV0ZXJzLCBm
b3IgZXhhbXBsZSBob3AgbGltaXQsIHBheWxvYWQsIGV0Yy4gSXQgaXMgdGhlcmVmb3JlIG5lY2Vz
c2FyeSB0byBzcGVjaWZ5IHRoZSBleGFjdCBiZWhhdmlvciBvZiB0aGUgZm9yd2FyZGVyIGZvciBl
YWNoIG9mIHRoZSBwYXJhbWV0ZXJzIHRoYXQgbWlnaHQgZGlmZmVyLiBJbiB0aGUgY2FzZSBvZiB0
aGUgZXhwZWN0ZWQgZGF0YSBzaXplIHBhcmFtZXRlciBkZWZpbmVkIGhlcmUsIHRoZSB2YWx1ZSBp
cyBhc3NvY2lhdGVkIHdpdGggdGhlIGluZ3Jlc3MgZmFjZSBvbiB3aGljaCB0aGUgSW50ZXJlc3Qg
Y3JlYXRpbmcgdGhlIFBJVCBlbnRyeSBhcnJpdmVkLCBhcyBvcHBvc2VkIHRvIGJlaW5nIGdsb2Jh
bCB0byB0aGUgUElUIGVudHJ5IGFzIGEgd2hvbGUuIFRoZXJlIGFyZSB0d28gY2FzZXMgdG8gY29u
c2lkZXI6CjwvdD4KICAgICAgICA8b2wgc3BhY2luZz0ibm9ybWFsIiB0eXBlPSIxIj4KICAgICAg
ICAgIDxsaT5UaGUgYXJyaXZpbmcgaW50ZXJlc3QgY2FycmllcyBhbiBleHBlY3RlZCBkYXRhIHNp
emUgc21hbGxlciB0aGFuIGFueSBvZiB0aGUgdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgUElU
IGVudHJ5LjwvbGk+CiAgICAgICAgICA8bGk+VGhlIGFycml2aW5nIGludGVyZXN0IGNhcnJpZXMg
YW4gZXhwZWN0ZWQgZGF0YSBzaXplIGxhcmdlciB0aGFuIGFueSBvZiB0aGUgdmFsdWVzIGFzc29j
aWF0ZWQgd2l0aCB0aGUgUElUIGVudHJ5LjwvbGk+CiAgICAgICAgPC9vbD4KICAgICAgICA8dD5G
b3IgQ2FzZSAoMSkgdGhlIEludGVyZXN0IGNhbiBiZSBzYWZlbHkgYWdncmVnYXRlZCBzaW5jZSB0
aGUgdXBzdHJlYW0gbGlua3Mgd2lsbCBoYXZlIHN1ZmZpY2llbnQgYmFuZHdpZHRoIGFsbG9jYXRl
ZCBiYXNlZCBvbiB0aGUgbGFyZ2VyIGV4cGVjdGVkIGRhdGEgc2l6ZSAoYXNzdW1pbmcgdGhlIG9y
aWdpbmFsIEludGVyZXN0J3MgZXhwZWN0ZWQgZGF0YSBzaXplIHdhcyBpdHNlbGYgc3VmZmljaWVu
dGx5IGxhcmdlIHRvIGFjY29tbW9kYXRlIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgcmV0dXJuaW5n
IERhdGEuIE9uIHRoZSBvdGhlciBoYW5kLCBzaG91bGQgdGhlIGluY29taW5nIGZhY2UgaGF2ZSBi
YW5kd2lkdGggYWxsb2NhdGVkIGJhc2VkIG9uIHRoZSBsYXJnZXIgZXhpc3RpbmcgSW50ZXJlc3Qn
cyBleHBlY3RlZCBkYXRhIHNpemUsIG9yIG9uIHRoZSBzbWFsbGVyIHZhbHVlIGluIHRoZSBhcnJp
dmluZyBpbnRlcmVzdD8gSGVyZSB0aGVyZSBhcmUgdHdvIHBvc3NpYmxlIGFwcHJvYWNoZXM6Cgo8
L3Q+CiAgICAgICAgPG9sIHNwYWNpbmc9Im5vcm1hbCIgdHlwZT0iYSI+CiAgICAgICAgICA8bGk+
QWxsb2NhdGUgYmFzZWQgb24gdGhlIGRhdGEgc2l6ZSBhbHJlYWR5IGluIHRoZSBQSVQuIEluIHRo
aXMgY2FzZSB0aGUgY29uc3VtZXIgc2VuZGluZyB0aGUgZWFybGllciBJbnRlcmVzdCBjYW4gY2F1
c2Ugb3Zlci1hbGxvY2F0aW9uIG9mIGxpbmsgYmFuZHdpZHRoIGZvciBvdGhlciBpbmNvbWluZyBm
YWNlcywgYnV0IHRoZXJlIHdpbGwgbm90IGJlIGEgVF9NVFVfVE9PX0xBUkdFIGVycm9yIGdlbmVy
YXRlZCBmb3IgdGhhdCBJbnRlcmVzdDwvbGk+CiAgICAgICAgICA8bGk+QWxsb2NhdGUgYmFzZWQg
b24gdGhlIHZhbHVlIGluIHRoZSBhcnJpdmluZyBJbnRlcmVzdC4gSWYgdGhlIHJldHVybmluZyBE
YXRhIGlzIGluIGZhY3QgbGFyZ2VyLCBnZW5lcmF0ZSBhIFRfTVRVX1RPT19MQVJHRSBJbnRlcmVz
dCBSZXR1cm4gb24gdGhhdCBpbmdyZXNzIGZhY2UsIHdoaWxlIHN1Y2Nlc3NmdWxseSByZXR1cm5p
bmcgdGhlIERhdGEgbWVzc2FnZSBvbiBhbnkgZmFjZXMgdGhhdCBkbyBub3QgZXhoaWJpdCBhIHRv
byBzbWFsbCBleHBlY3RlZCBkYXRhIHNpemU8L2xpPgogICAgICAgIDwvb2w+CiAgICAgICAgPHQ+
CgpJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBzZWNvbmQgcG9saWN5IGJlIGZvbGxvd2VkLiBU
aGUgcmVhc29ucyBiZWhpbmQgdGhpcyByZWNvbW1lbmRhdGlvbiBhcmUgYXMgZm9sbG93czoKPC90
PgogICAgICAgIDxvbCBzcGFjaW5nPSJub3JtYWwiIHR5cGU9IjEiPgogICAgICAgICAgPGxpPlRo
ZSBsaW5rIGNhbiBiZSBjb25nZXN0ZWQgcXVpdGUgcXVpY2tseSBhZnRlciB0aGUgcXVldWluZyBk
ZWNpc2lvbiBpcyBtYWRlLCBlc3BlY2lhbGx5IGlmIHRoZSBkYXRhIGhhcyBhIGxvbmcgbGluay1v
Y2N1cGFuY3kgdGltZSwgc28gdGhpcyBpcyBhIHNhZmVyIGFsdGVybmF0aXZlLjwvbGk+CiAgICAg
ICAgICA8bGk+VGhlIGNvc3Qgb2YgcmV0dXJuaW5nIHRoZSBlcnJvciBpcyBvbmx5IG9uZSBsaW5r
IFJUVCwgc2luY2UgdGhlIGNvbnN1bWVyIChvciBkb3duc3RyZWFtIGZvcndhcmRlcikgY2FuIGlt
bWVkaWF0ZWx5IHJlLWlzc3VlIHRoZSBpbnRlcmVzdCB3aXRoIHRoZSBjb3JyZWN0IHNpemUgYW5k
IHBpY2sgdXAgdGhlIGNhY2hlZCBvYmplY3QgZnJvbSB0aGUgdXBzdHJlYW0gZm9yd2FyZGVyJ3Mg
Q29udGVudCBTdG9yZS48L2xpPgogICAgICAgICAgPGxpPkJlaW5nIG9wdGltaXN0aWMgYW5kIHJl
dHVybmluZyB0aGUgZGF0YSBpbnRlcmFjdHMgd2l0aCB0aGUgYmVoYXZpb3Igb2YgYWdncmVnYXRl
IHJlc291cmNlIGNvbnRyb2wgYW5kIHJlc291cmNlIGFjY291bnRpbmcsIHdoaWNoIGluIHR1cm4g
cmFpc2VzIHRoZSBtZXNzeSBpc3N1ZSBvZiB3aGV0aGVyIHRvICJjaGFyZ2UiIHRoZSBjb25zdW1l
ciBmb3IgdGhlIGFjdHVhbCBiYW5kd2lkdGggdXNlZCBvciBvbmx5IGZvciB0aGUgcmVxdWVzdGVk
IGJhbmR3aWR0aCBpbiB0aGUgZXhwZWN0ZWQgZGF0YS48L2xpPgogICAgICAgICAgPGxpPlRoZSBy
YWJiaXQgaG9sZSBnb2VzIGRlZXBlciBpZiB5b3UgYWRkIGRpZmZlcmVudGlhbCBRb1MgdG8gdGhl
IGVxdWF0aW9uIG9yIGNvbnN1bWVycyAicGxheWluZyBnYW1lcyIgYW5kIGludGVudGlvbmFsbHkg
dW5kZXJlc3RpbWF0aW5nIHNvIHRoZWlyIGludGVyZXN0cyBnZXQgc2F0aXNmaWVkIHdoZW4gbGlu
a3MgYXJlbid0IGNvbmdlc3RlZC4gVGhpcyBtYWtlcyBoYW5kbGluZyBtYWxpY2lvdXMgYWN0b3Jz
ICg8eHJlZiB0YXJnZXQ9Im1hbGljaW91cyIgZm9ybWF0PSJkZWZhdWx0Ii8+KSBtb3JlIGRpZmZp
Y3VsdC48L2xpPgogICAgICAgIDwvb2w+CiAgICAgICAgPHQ+Rm9yIENhc2UgKDIpIGFib3ZlLCB0
aGUgSW50ZXJlc3QgTVVTVCBiZSBmb3J3YXJkZWQgcmF0aGVyIHRoYW4gYWdncmVnYXRlZCB0byBw
cmV2ZW50IGEgY29uc3VtZXIgZnJvbSBtb3VudGluZyBhIGRlbmlhbCBvZiBzZXJ2aWNlIGF0dGFj
ayBieSBzZW5kaW5nIGludGVudGlvbmFsbHkgdG9vIHNtYWxsIGV4cGVjdGVkIGRhdGEgc2l6ZSAo
c2VlIDx4cmVmIHRhcmdldD0ibWFsaWNpb3VzIiBmb3JtYXQ9ImRlZmF1bHQiLz4gZm9yIGFkZGl0
aW9uYWwgZGV0YWlsIG9uIHRoaXMgYW5kIG90aGVyIGF0dGFja3MpLiBBcyBhYm92ZSBmb3IgQ2Fz
ZSAoMSkgaXQgaXMgUkVDT01NRU5ERUQgdGhhdCBwb2xpY3kgKGIpIGFib3ZlIGJlIGZvbGxvd2Vk
Lgo8L3Q+CiAgICAgIDwvc2VjdGlvbj4KICAgICAgPHNlY3Rpb24gYW5jaG9yPSJjb21wYXRpYmls
aXR5IiBudW1iZXJlZD0idHJ1ZSIgdG9jPSJkZWZhdWx0Ij4KICAgICAgICA8bmFtZT5PcGVyYXRp
b24gd2hlbiBzb21lIEludGVyZXN0cyBsYWNrIHRoZSBleHBlY3RlZCBkYXRhIHNpemUgb3B0aW9u
IGFuZCBzb21lIGhhdmUgaXQ8L25hbWU+CiAgICAgICAgPHQ+U2luY2UgdGhlIGV4cGVjdGVkIGRh
dGEgc2l6ZSBob3AtYnktaG9wIG9wdGlvbiBmb3J3YXJkZXJzIG5lZWQgdG8gYmUgcHJlcGFyZWQg
dG8gaGFuZGxlIGFuIGFyYml0cmFyeSBtaXggb2YgdGhlIHR3byBmb3Jtcy4gVGhlcmUgYXJlIHR3
byBnZW5lcmFsIHRoaW5ncyB0byBhZGRyZXNzLiA8L3Q+CiAgICAgICAgPHQ+Rmlyc3QsIHdlIGFz
c3VtZSB0aGF0IGFueSBmb3J3YXJkZXIgc3VwcG9ydGluZyBleHBlY3RlZCBkYXRhIHNpemUgaXMg
cnVubmluZyBhIG1vcmUgc29waGlzdGljYXRlZCBjb25nZXN0aW9uIGNvbnRyb2wgYWxnb3JpdGht
IHRoYXQgb25lIGVtcGxveWluZyBzaW1wbGUgaW50ZXJlc3QgY291bnRpbmcuIFRoZSBsaW5rIGJh
bmR3aWR0aCByZXNvdXJjZSBhbGxvY2F0aW9uIGlzIHRoZXJlZm9yZSBiYXNlZCBkaXJlY3RseSwg
b3IgaW5kaXJlY3RseSwgb24gdGhlIGV4cGVjdGVkIERhdGEgc2l6ZSBpbiBieXRlcy4gVGhlcmVm
b3JlLCB0aGUgZm9yd2FyZGVyIGhhcyB0byBhc3NpZ24gYSB2YWx1ZSB0byB1c2UgaW4gdGhlIHJl
c291cmNlIGFsbG9jYXRpb24gZm9yIHRoZSByZXZlcnNlIGxpbmsuIFRoaXMgc3BlY2lmaWNhdGlv
biBkb2VzIG5vdCBtYW5kYXRlIGFueSBwYXJ0aWN1bGFyIGFwcHJvYWNoIG9yIGEgZGVmYXVsdCB2
YWx1ZSB0byB1c2UuIEhvd2V2ZXIsIGluIHRoZSBhYnNlbmNlIG9uIG90aGVyIGd1aWRhbmNlLCBp
dCBtYWtlcyBzZW5zZSB0byBkbyBvbmUgb2YgdHdvIHRoaW5nczoKPC90PgogICAgICAgIDxvbCBz
cGFjaW5nPSJub3JtYWwiIHR5cGU9IjEiPgogICAgICAgICAgPGxpPlBpY2sgYSBkZWZhdWx0IGJh
c2VkIG9uIHRoZSBsaW5rIE1UVSBvZiB0aGUgZmFjZSBvbiB3aGljaCB0aGUgSW50ZXJlc3QgYXJy
aXZlZCBhbmQgdXNlIHRoYXQgZm9yIGFsbCBJbnRlcmVzdHMgbGFja2luZyBhbiBleHBlY3RlZCBk
YXRhIHNpemUuIFRoaXMgaXMgbGlrZWx5IHRvIGJlIG1vc3QgY29tcGF0aWJsZSB3aXRoIHNpbXBs
ZSBpbnRlcmVzdCBjb3VudGluZyB3aGljaCB3b3VsZCByYXRlIGxpbWl0IGFsbCBpbmNvbWluZyBp
bnRlcmVzdHMgZXF1YWxseTwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDx0PkNvbmZp
Z3VyZSBzb21lIHZhbHVlcyBmb3IgZ2l2ZW4gTmFtZSBwcmVmaXhlcyB0aGF0IGhhdmUga25vd24g
c2l6ZXMuIFRoaXMgbWF5IGJlIGFwcHJvcHJpYXRlIGZvciBkZWRpY2F0ZWQgZm9yd2FyZGVycyBz
dXBwb3J0aW5nIHNpbmdsZSB1c2UgY2FzZXMsIHN1Y2ggYXM6CiAgICAgICAgICAgIDwvdD4KICAg
ICAgICAgICAgPHVsIHNwYWNpbmc9Im5vcm1hbCI+CiAgICAgICAgICAgICAgPGxpPkEgZm9yd2Fy
ZGVyIGhhbmRsaW5nIElvVCBzZW5zb3JzIHNlbmRpbmcgdmVyeSBzbWFsbCBEYXRhIHBhY2tldHM8
L2xpPgogICAgICAgICAgICAgIDxsaT5BIGZvcndhcmRlciBoYW5kbGluZyByZWFsLXRpbWUgdmlk
ZW8gd2l0aCBsYXJnZSBhdmVyYWdlIERhdGEgcGFja2V0cyB0aGF0IGV4Y2VlZCBsaW5rIE1UVSBh
bmQgYXJlIHJvdXRpbmVseSBmcmFnbWVudGVkPC9saT4KICAgICAgICAgICAgICA8bGk+QSBmb3J3
YXJkZXIgZG9pbmcgdm9pY2UgdHJ1bmtpbmcgd2hlcmUgdGhlIHZvY29kZXJzIHByb2R1Y2UgbW9k
ZXJhdGUgc2l6ZWQgcGFja2V0cywgc3RpbGwgbXVjaCBzbWFsbGVyIHRoYW4gdGhlIGxpbmsgTVRV
PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvbGk+CiAgICAgICAgPC9vbD4KICAg
ICAgICA8dD5UaGUgc2Vjb25kIGFyZWEgdG8gYWRkcmVzcyBpcyB3aGF0IHRvIGRvIGlmIGFuIGlu
dGVyZXN0IGxhY2tpbmcgYW4gZXhwZWN0ZWQgRGF0YSBzaXplIGlzIHJlc3BvbmRlZCB0byBieSBh
IERhdGEgbWVzc2FnZSB3aG9zZSBzaXplIGV4Y2VlZHMgdGhlIGRlZmF1bHQgZGlzY3Vzc2VkIGFi
b3ZlLiBJdCB3b3VsZCBiZSBpbmFwcHJvcHJpYXRlIHRvIGlzc3VlIGEgVF9NVFVfVE9PX0xBUkdF
IGVycm9yLCBzaW5jZSB0aGUgY29uc3VtZXIgaXMgdW5saWtlbHkgdG8gdW5kZXJzdGFuZCBvciBk
ZWFsIGNvcnJlY3RseSB3aXRoIHRoYXQgbmV3IGVycm9yIGNhc2UuIEluc3RlYWQsIGl0IGlzIFJF
Q09NTUVOREVEIHRoYXQgdGhlIGZvcndhcmRlcjoKPC90PgogICAgICAgIDx1bCBzcGFjaW5nPSJu
b3JtYWwiPgogICAgICAgICAgPGxpPklnbm9yZSB0aGUgbWlzbWF0Y2ggaWYgdGhlIHJldmVyc2Ug
bGluayBpcyBub3QgY29uZ2VzdGVkIGFuZCByZXR1cm4gdGhlIHJlcXVlc3RlZCBEYXRhIG1lc3Nh
Z2UgYW55d2F5LjwvbGk+CiAgICAgICAgICA8bGk+SWYgdGhlIHJldmVyc2UgbGluayBpcyBjb25n
ZXN0ZWQsIGlzc3VlIGFuIEludGVyZXN0IFJldHVybiB3aXRoIHRoZSBUX05PX1JFU09VUkNFUyBl
cnJvciBjb2RlPC9saT4KICAgICAgICA8L3VsPgogICAgICAgIDx0PgpUaGlzIHNwZWNpZmljYXRp
b24gZG9lcyBub3QgZGVmaW5lIG9yIHJlY29tbWVuZCBhbnkgcGFydGljdWxhciBhbGdvcml0aG0g
Zm9yIGFzc2Vzc2luZyB0aGUgY29uZ2VzdGlvbiBzdGF0ZSBvZiB0aGUgbGluayhzKSB0byBjYXJy
eSB0aGUgRGF0YSBtZXNzYWdlIGRvd25zdHJlYW0gdG8gdGhlIHJlcXVlc3RpbmcgY29uc3VtZXJz
LiBJdCBpcyBhc3N1bWVkIHRoYXQgYSByZWFzb25hYmxlIGFsZ29yaXRobSBpcyBpbiB1c2UsIGJl
Y2F1c2Ugb3RoZXJ3aXNlIGV2ZW4gYmFzaWMgSW50ZXJlc3QgY291bnRpbmcgZm9ybXMgb2YgY29u
Z2VzdGlvbiBjb250cm9sIHdvdWxkIG5vdCBiZSBlZmZlY3RpdmUuCjwvdD4KICAgICAgPC9zZWN0
aW9uPgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gYW5jaG9yPSJtYWxpY2lvdXMiIG51bWJl
cmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICA8bmFtZT5EZWFsaW5nIHdpdGggbWFsaWNp
b3VzIGFjdG9yczwvbmFtZT4KICAgICAgPHQ+Rmlyc3Qgd2Ugbm90ZSB0aGF0IHZhcmlvdXMga25v
d24gYXR0YWNrcyBpbiBDQ054IG9yIE5ETiBjYW4gYWxzbyBiZSBtb3VudGVkIGJ5IHVzZXJzIGVt
cGxveWluZyB0aGlzIG1ldGhvZC4gQXR0YWNrcyB0aGF0IGludm9sdmUgaW50ZXJlc3QgZmxvb2Rp
bmcsIGNhY2hlIHBvbGx1dGlvbiwgY2FjaGUgcG9pc29uaW5nLCBldGMuIGFyZSBuZWl0aGVyIHdv
cnNlbmVkIG5vciBhbWVsaW9yYXRlZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZSBjb25nZXN0
aW9uIGNvbnRyb2wgY2FwYWJpbGl0aWVzIGRlc2NyaWJlZCBoZXJlLiBIb3dldmVyLCB0aGVyZSBh
cmUgdHdvIG5ldyB2dWxuZXJhYmlsaXRpZXMgdGhhdCBuZWVkIHRvIGJlIGRlYWx0IHdpdGguIFRo
ZXNlIHR3byBuZXcgdnVsbmVyYWJpbGl0aWVzIGludm9sdmUgaW50ZW50aW9uYWwgbWlzLWVzdGlt
YXRpb24gb2YgZGF0YSBzaXplLjwvdD4KICAgICAgPHQ+VGhlIGZpcnN0IGlzIGEgY29uc3VtZXIg
d2hvIGludGVudGlvbmFsbHkgb3Zlci1lc3RpbWF0ZXMgZGF0YSBzaXplIHdpdGggdGhlIGdvYWwg
b2YgcHJldmVudGluZyBvdGhlciB1c2VycyBmcm9tIHVzaW5nIHRoZSBiYW5kd2lkdGguIFRoaXMg
aXMgYXQgbW9zdCBhIG1pbm9yIGNvbmNlcm4gZ2l2ZW4gdGhlIGFib3ZlIGRpc2N1c3Npb24gb2Yg
b3Zlci1lc3RpbWF0aW9uIGJ5IGhvbmVzdCBjbGllbnRzLiBJZiBvbmUgb2YgdGhlIGFtZWxpb3Jh
dGlvbiB0ZWNobmlxdWVzIGFib3ZlIGFyZSB1c2VkLCB0aGUgY2FzZSBvZiBtYWxpY2lvdXMgb3Zl
ci1lc3RpbWF0aW9uIGlzIGFsc28gZGVhbHQgd2l0aCBhZGVxdWF0ZWx5LjwvdD4KICAgICAgPHQ+
VGhlIHNlY29uZCBpcyBhIHVzZXIgd2hvIGludGVudGlvbmFsbHkgdW5kZXItZXN0aW1hdGVzIHRo
ZSBkYXRhIHNpemUgd2l0aCB0aGUgZ29hbCBoYXZpbmcgaXRzIEludGVyZXN0IHByb2Nlc3NlZCB3
aGlsZSB0aGUgb3RoZXIgYWdncmVnYXRlZCBpbnRlcmVzdHMgYXJlIG5vdCBwcm9jZXNzZWQsIHRo
ZXJlYnkgY2F1c2luZyBUX01UVV9UT09fTEFSR0UgZXJyb3JzIGFuZCBkZW55aW5nIHNlcnZpY2Ug
dG8gdGhlIG90aGVyIHVzZXJzIHdpdGggb3ZlcmxhcHBpbmcgcmVxdWVzdHMuIFRoZXJlIGFyZSBh
IG51bWJlciBvZiBwb3NzaWJsZSBtaXRpZ2F0aW9uIHRlY2huaXF1ZXMgZm9yIHRoaXMgYXR0YWNr
IHZlY3RvciwgcmFuZ2luZyBpbiBjb21wbGV4aXR5LiBXZSBvdXRsaW5lIHR3byBiZWxvdzsgdGhl
cmUgbWF5IGJlIG90aGVycyBhcyBvciBtb3JlIGVmZmVjdGl2ZSB3aXRoIGFjY2VwdGFibGUgY29t
cGxleGl0eSBhbmQgb3ZlcmhlYWQ6Cgo8L3Q+CiAgICAgIDx1bCBzcGFjaW5nPSJub3JtYWwiPgog
ICAgICAgIDxsaT4oU2ltcGxlc3QpIEEgdXNlciBzZW5kaW5nIEludGVyZXN0cyByZXN1bHRpbmcg
aW4gYSBUX01UVV9UT09fTEFSR0UgZXJyb3IgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gdXNlcnMg
bW91bnRpbmcgaW50ZXJlc3QgZmxvb2RpbmcgYXR0YWNrczsgdGhlIGEgcm91dGVyIGFnZ3JlZ2F0
aW5nIEludGVyZXN0cyB3aXRoIGRpZmZlcmluZyBleHBlY3RlZCBkYXRhIHNpemVzIHJhdGUgbGlt
aXRzIHRoZSBmYWNlKHMpIGV4aGliaXRpbmcgdGhlc2UgZXJyb3JzLCB0aHVzIGRlY3JlYXNpbmcg
dGhlIGFiaWxpdHkgb2YgYSB1c2VyIHRvIGlzc3VlIGVub3VnaCBtaXMtZXN0aW1hdGVkIEludGVy
ZXN0cyB0byBjb2xsaWRlIGFuZCBnZW5lcmF0ZSBJbnRlcmVzdCBhZ2dyZWdhdGlvbi48L2xpPgog
ICAgICAgIDxsaT5BbiBJQ04gZm9yd2FyZGVyIGFnZ3JlZ2F0aW5nIEludGVyZXN0cyByZW1lbWJl
cnMgaW4gdGhlIFBJVCBlbnRyeSBub3Qgb25seSB0aGUgZXhwZWN0ZWQgZGF0YSBzaXplIG9mIHRo
ZSBJbnRlcmVzdCBpdCBmb3J3YXJkZWQsIGJ1dCB0aGUgbWF4aW11bSBvZiB0aGUgZXhwZWN0ZWQg
ZGF0YSBzaXplIG9mIHRoZSBvdGhlciBJbnRlcmVzdHMgaXQgYWdncmVnYXRlZC4gSWYgYSBUX01U
VV9UT09fTEFSR0UgZXJyb3IgY29tZXMgYmFjaywgaW5zdGVhZCBvZiBwcm9wYWdhdGluZyBpdCwg
dGhlIGZvcndhcmRlciBNQVkgdHJlYXQgdGhpcyBhcyBhIHRyYW5zaWVudCBlcnJvciwgZHJvcCB0
aGUgSW50ZXJlc3QgUmV0dXJuLCBhbmQgcmUtZm9yd2FyZCB0aGUgSW50ZXJlc3QgdXNpbmcgdGhl
IG1heGltdW0gZXhwZWN0ZWQgZGF0YSBzaXplIGluIHRoZSBQSVQgKGFzc3VtaW5nIGl0IGlzIGlz
IGJpZ2dlcikuIFRoaXMgcmVjb3ZlcnMgZnJvbSB0aGUgZXJyb3IsIGJ1dCB0aGUgYXR0YWNrZXIg
Y2FuIHN0aWxsIGNhdXNlIGFuIGV4dHJhIHJvdW5kIHRyaXAgdG8gdGhlIHByb2R1Y2VyIG9yIHRv
IGFuIHVwc3RyZWFtIGZvcndhcmRlciB3aXRoIGEgY29weSBvZiB0aGUgZGF0YSBpbiBpdHMgQ29u
dGVudCBTdG9yZS48L2xpPgogICAgICA8L3VsPgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24g
YW5jaG9yPSJlbmNvZGluZyIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgIDxu
YW1lPk1hcHBpbmcgdG8gQ0NOeCBhbmQgTkROIHBhY2tldCBlbmNvZGluZ3M8L25hbWU+CiAgICAg
IDx0PlRoZSBvbmx5IGFjdHVhbCBwcm90b2NvbCBuZWVkZWQgaXMgYSBUTFYgaW4gSW50ZXJlc3Qg
bWVzc2FnZXMgdGhhdCBzdGF0ZXMgdGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIGV4cGVjdGVkIERh
dGEgTWVzc2FnZSBjb21pbmcgYmFjaywgYW5kIGluIHRoZSBJbnRlcmVzdCBSZXR1cm4gb24gYSAi
dG9vIGJpZyIgZXJyb3IgdG8gY2FycnkgdGhlIGFjdHVhbCBkYXRhIHNpemUuIEluIHRoZSBjYXNl
IG9mICBDQ054LCB0aGlzIGNvdmVycyB0aGUgZW5jYXBzdWxhdGVkIERhdGEgT2JqZWN0LCBidXQg
bm90IHRoZSBob3AtYnktaG9wIGhlYWRlcnMuPC90PgogICAgICA8c2VjdGlvbiBhbmNob3I9IkND
TngtZW5jb2RpbmciIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICAgIDxuYW1l
PlBhY2tldCBlbmNvZGluZyBmb3IgQ0NOeDwvbmFtZT4KICAgICAgICA8dD5Gb3IgQ0NOeDx4cmVm
IHRhcmdldD0iUkZDODU2OSIgZm9ybWF0PSJkZWZhdWx0Ii8+IHRoZXJlIGlzIGEgbmV3IGhvcC1i
eS1ob3AgaGVhZGVyIFRMViwgYW5kIGEgbmV3IHZhbHVlIG9mIHRoZSBJbnRlcmVzdCBSZXR1cm4g
IlJldHVybiBUeXBlIi48L3Q+CiAgICAgICAgPHQ+RXhwZWN0ZWQgRGF0YSBTaXplIChmb3IgSW50
ZXJlc3QgbWVzc2FnZXMpLCBvciBBY3R1YWwgRGF0YSBTaXplIChmb3IgSW50ZXJlc3QgUmV0dXJu
IG1lc3NhZ2VzKSBUTFY8L3Q+CiAgICAgICAgPHRhYmxlIGFuY2hvcj0iRGF0YVNpemUiIGFsaWdu
PSJjZW50ZXIiPgogICAgICAgICAgPG5hbWU+RGF0YSBTaXplIFRMVjwvbmFtZT4KICAgICAgICAg
IDx0aGVhZD4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0aCBhbGlnbj0iY2VudGVy
Ij5BYmJyZXY8L3RoPgogICAgICAgICAgICAgIDx0aCBhbGlnbj0iY2VudGVyIj5OYW1lPC90aD4K
ICAgICAgICAgICAgICA8dGggYWxpZ249ImNlbnRlciI+RGVzY3JpcHRpb248L3RoPgogICAgICAg
ICAgICA8L3RyPgogICAgICAgICAgPC90aGVhZD4KICAgICAgICAgIDx0Ym9keT4KICAgICAgICAg
ICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj5UX0RBVEFTSVpFPC90ZD4K
ICAgICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+RGF0YSBTaXplPC90ZD4KICAgICAgICAg
ICAgICA8dGQgYWxpZ249ImNlbnRlciI+RXhwZWN0ZWQgKDx4cmVmIHRhcmdldD0iZGVzY3JpcHRp
b24iIGZvcm1hdD0iZGVmYXVsdCIvPilvciBBY3R1YWwgKDx4cmVmIHRhcmdldD0idG9vYmlnIiBm
b3JtYXQ9ImRlZmF1bHQiLz4pIERhdGEgU2l6ZTwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAg
ICAgICA8L3Rib2R5PgogICAgICAgIDwvdGFibGU+CiAgICAgICAgPCEtLQkJPHRleHR0YWJsZSBh
bmNob3I9InRvb2JpZ2Vycm9yIiB0aXRsZT0iVE9PQklHIEludGVyZXN0IFJldHVybiBlcnJvciBj
b2RlIj4KCQkJPHByZWFtYmxlPlRvbyBCaWcgUmV0dXJuIHR5cGUgZm9yIEludGVyZXN0IFJldHVy
biBNZXNzYWdlPC9wcmVhbWJsZT4KCQkJPHR0Y29sIGFsaWduPSJjZW50ZXIiPlJldHVybiBUeXBl
PC90dGNvbD4KCQkJPHR0Y29sIGFsaWduPSJjZW50ZXIiPk5hbWU8L3R0Y29sPgoJCQk8Yz5UX1JF
VFVSTl9UT09CSUc8L2M+CgkJCTxjPkRhdGEgaXMgYmlnZ2VyIHRoYW4gZXhwZWN0ZWQgZGF0YSBz
aXplIGluIEludGVyZXN0IE1lc3NhZ2U8L2M+CgkJPC90ZXh0dGFibGU+Ci0tPgoKCTwvc2VjdGlv
bj4KICAgICAgPHNlY3Rpb24gYW5jaG9yPSJORE4tZW5jb2RpbmciIG51bWJlcmVkPSJ0cnVlIiB0
b2M9ImRlZmF1bHQiPgogICAgICAgIDxuYW1lPlBhY2tldCBlbmNvZGluZyBmb3IgTkROPC9uYW1l
PgogICAgICAgIDx0PlRCRCBiYXNlZCBvbiA8eHJlZiB0YXJnZXQ9Ik5ETlRMViIgZm9ybWF0PSJk
ZWZhdWx0Ii8+LiBTdWdnZXN0aW9ucyBmcm9tIHRoZSBORE4gdGVhbSBncmVhdGx5IGFwcHJlY2lh
dGVkLjwvdD4KICAgICAgPC9zZWN0aW9uPgogICAgPC9zZWN0aW9uPgogICAgPCEtLSBUaGlzIFBJ
IHBsYWNlcyB0aGUgcGFnZWJyZWFrIGNvcnJlY3RseSAoYmVmb3JlIHRoZSBzZWN0aW9uIHRpdGxl
KSBpbiB0aGUgdGV4dCBvdXRwdXQuIC0tPgo8IS0tPD9yZmMgbmVlZExpbmVzPSI4IiA/Pi0tPgo8
IS0tIFBvc3NpYmx5IGEgJ0NvbnRyaWJ1dG9ycycgc2VjdGlvbiAuLi4gLS0+Cgo8c2VjdGlvbiBh
bmNob3I9IklBTkEiIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICA8bmFtZT5J
QU5BIENvbnNpZGVyYXRpb25zPC9uYW1lPgogICAgICA8dD5QbGVhc2UgQWRkIHRoZSBUX0RBVEFT
SVpFIFRMViB0byB0aGUgSG9wLWJ5LUhvcCBUTFYgdHlwZXMgcmVnaXN0cnksIHdpdGggZml4ZWQg
bGVuZ3RoIG9mIDIsIGFuZCBkYXRhIHR5cGUgbnVtZXJpYzwvdD4KICAgICAgPHQ+RXhwZWN0ZWQv
QWN0dWFsIERhdGEgU2l6ZSBUTFYgZW5jb2RpbmcuIFRoZSByYW5nZSBoYXMgYW4gdXBwZXIgYm91
bmQgb2YgNjRLIGJ5dGVzLCBzaW5jZSB0aGF0IGlzIHRoZSBsYXJnZXN0IE1UVSBzdXBwb3J0ZWQg
YnkgQ0NOeC48L3Q+CiAgICAgIDxmaWd1cmUgYW5jaG9yPSJkc2l6ZS1lbmNvZGluZyI+CiAgICAg
ICAgPG5hbWU+RXhwZWN0ZWQvQWN0dWFsIERhdGEgU2l6ZSBFbmNvZGluZzwvbmFtZT4KICAgICAg
ICA8YXJ0d29yayBhbGlnbj0ibGVmdCIgbmFtZT0iIiB0eXBlPSIiIGFsdD0iIj48IVtDREFUQVsK
ICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAg
ICAgIDMKIDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAxIDIgMyA0IDUgNiA3IDggOSAwIDEgMiAzIDQg
NSA2IDcgOCA5IDAgMQorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t
LS0tLS0rLS0tLS0tLS0tLS0tLS0tKwp8ICAgICAgICAgICAgIFRfREFUQVNJWkUgICAgICAgIHwg
ICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t
LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKwp8ICAgICBTaXplIGluIGJ5
dGVzICgxLTY1NTM1KSAgIHwKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rCiAgICAg
ICAgICAgIF1dPjwvYXJ0d29yaz4KICAgICAgPC9maWd1cmU+CiAgICAgIDwhLS0gPHQ+UGxlYXNl
IGFkZCB0aGUgVF9SRVRVUk5fVE9PQklHIGVycm9yIHRvIHRoZSBJbnRlcmVzdCBSZXR1cm4gdHlw
ZXMgcmVnaXN0cnk8L3Q+Cgk8dGV4dHRhYmxlIHRpdGxlPSJDQ054IEludGVyZXN0IFJldHVybiBU
eXBlIGZvciBUb28gQmlnIEVycm9ycyI+CiAgICAgICAgICA8dHRjb2wgYWxpZ249ImNlbnRlciI+
VHlwZTwvdHRjb2w+CiAgICAgICAgICA8dHRjb2wgYWxpZ249ImNlbnRlciI+TmFtZTwvdHRjb2w+
CiAgICAgICAgICA8dHRjb2wgYWxpZ249ImNlbnRlciI+UmVmZXJlbmNlPC90dGNvbD4KCiAgICAg
ICAgICA8Yz5UQkE8L2M+CiAgICAgICAgICA8Yz5UX1JFVFVSTl9UT09fQklHPC9jPgogICAgICAg
ICAgPGM+PHhyZWYgdGFyZ2V0PSJ0b29iaWdlcnJvciI+VG9vIEJpZyBFcnJvciBDb2RlPC94cmVm
PjwvYz4KCTwvdGV4dHRhYmxlPgotLT4KPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gYW5jaG9yPSJT
ZWN1cml0eSIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgIDxuYW1lPlNlY3Vy
aXR5IENvbnNpZGVyYXRpb25zPC9uYW1lPgogICAgICA8dD5IZXJlIHdlIHJlY2FwaXR1bGF0ZSB0
aGUgdnVsbmVyYWJpbGl0aWVzLCBhdHRhY2sgc2NlbmFyaW9zIGFuZCBtaXRpZ2F0aW9ucy48L3Q+
CiAgICAgIDx0PlRoZSAidG9vIGJpZyIgZXJyb3IgdGhhdCBnZW5lcmF0ZXMgYW4gSW50ZXJlc3Qg
UmV0dXJuIHdpdGggVF9NVFVfVE9PX0xBUkdFIGxlYWtzIHRoZSBhY3R1YWwgZGF0YSBvYmplY3Qg
c2l6ZSB0byBhbnkgY29uc3VtZXIgd2hvIGNhbiBpc3N1ZSBhbiBJbnRlcmVzdCB3aXRoIGFuIGlu
dGVudGlvbmFsbHkgc21hbGwgZXhwZWN0ZWQgZGF0YSBzaXplLiBUaGlzIGRvZXMgbm90IHJlcHJl
c2VudCBhIHByaXZhY3kgdnVsbmVyYWJpbGl0eSwgZm9yIHR3byByZWFzb25zOgogICAgICA8L3Q+
CiAgICAgIDxvbCBzcGFjaW5nPSJub3JtYWwiIHR5cGU9IjEiPgogICAgICAgIDxsaT5UaGUgdXNl
ciBjb3VsZCBsZWFybiB0aGUgYWN0dWFsIGRhdGEgc2l6ZSBqdXN0IGJ5IGxvb2tpbmcgYXQgdGhl
IHJldHVybmVkIERhdGEgbWVzc2FnZSB1c2luZyBhIHByb3Blcmx5LWNvbnN0cnVjdGVkIEludGVy
ZXN0LjwvbGk+CiAgICAgICAgPGxpPkluIG1hbnkgY2FzZXMgdGhlIGFjdHVhbCBkYXRhIHNpemVz
IGFyZSBhbHJlYWR5IGF2YWlsYWJsZSBhcyBtZXRhLWRhdGEgaW4gdGhlIGNvcnJlc3BvbmRpbmcg
TWFuaWZlc3QgcG9pbnRpbmcgdG8gdGhlIERhdGEgb2JqZWN0LjwvbGk+CiAgICAgIDwvb2w+CiAg
ICA8L3NlY3Rpb24+CiAgPC9taWRkbGU+CiAgPCEtLSAgKioqKipCQUNLIE1BVFRFUiAqKioqKiAt
LT4KCjxiYWNrPgogICAgPCEtLSBSZWZlcmVuY2VzIHNwbGl0IGludG8gaW5mb3JtYXRpdmUgYW5k
IG5vcm1hdGl2ZSAtLT4KCiAgICA8IS0tIFRoZXJlIGFyZSAyIHdheXMgdG8gaW5zZXJ0IHJlZmVy
ZW5jZSBlbnRyaWVzIGZyb20gdGhlIGNpdGF0aW9uIGxpYnJhcmllczoKICAgICAxLiBkZWZpbmUg
YW4gRU5USVRZIGF0IHRoZSB0b3AsIGFuZCB1c2UgImFtcGVyc2FuZCBjaGFyYWN0ZXIiUkZDMjYy
OTsgaGVyZSAoYXMgc2hvd24pCiAgICAgMi4gc2ltcGx5IHVzZSBhIFBJICJsZXNzIHRoYW4gY2hh
cmFjdGVyIj9yZmMgaW5jbHVkZT0icmVmZXJlbmNlLlJGQy4yMTE5LnhtbCI/PiBoZXJlCiAgICAg
ICAgKGZvciBJLURzOiBpbmNsdWRlPSJyZWZlcmVuY2UuSS1ELm5hcnRlbi1pYW5hLWNvbnNpZGVy
YXRpb25zLXJmYzI0MzRiaXMueG1sIikKCiAgICAgQm90aCBhcmUgY2l0ZWQgdGV4dHVhbGx5IGlu
IHRoZSBzYW1lIG1hbm5lcjogYnkgdXNpbmcgeHJlZiBlbGVtZW50cy4KICAgICBJZiB5b3UgdXNl
IHRoZSBQSSBvcHRpb24sIHhtbDJyZmMgd2lsbCwgYnkgZGVmYXVsdCwgdHJ5IHRvIGZpbmQgaW5j
bHVkZWQgZmlsZXMgaW4gdGhlIHNhbWUKICAgICBkaXJlY3RvcnkgYXMgdGhlIGluY2x1ZGluZyBm
aWxlLiBZb3UgY2FuIGFsc28gZGVmaW5lIHRoZSBYTUxfTElCUkFSWSBlbnZpcm9ubWVudCB2YXJp
YWJsZQogICAgIHdpdGggYSB2YWx1ZSBjb250YWluaW5nIGEgc2V0IG9mIGRpcmVjdG9yaWVzIHRv
IHNlYXJjaC4gIFRoZXNlIGNhbiBiZSBlaXRoZXIgaW4gdGhlIGxvY2FsCiAgICAgZmlsaW5nIHN5
c3RlbSBvciByZW1vdGUgb25lcyBhY2Nlc3NlZCBieSBodHRwIChodHRwOi8vZG9tYWluL2Rpci8u
Li4gKS4tLT4KCiAgICA8cmVmZXJlbmNlcz4KICAgICAgPG5hbWU+UmVmZXJlbmNlczwvbmFtZT4K
ICAgICAgPHJlZmVyZW5jZXM+CiAgICAgICAgPG5hbWU+Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L25h
bWU+CiAgICAgICAgPCEtLT9yZmMgaW5jbHVkZT0iaHR0cDovL3htbC5yZXNvdXJjZS5vcmcvcHVi
bGljL3JmYy9iaWJ4bWwvcmVmZXJlbmNlLlJGQy4yMTE5LnhtbCI/LS0+Cgk8eGk6aW5jbHVkZSBo
cmVmPSJodHRwczovL3htbDJyZmMudG9vbHMuaWV0Zi5vcmcvcHVibGljL3JmYy9iaWJ4bWwvcmVm
ZXJlbmNlLlJGQy4yMTE5LnhtbCIvPgogICAgICAgIDx4aTppbmNsdWRlIGhyZWY9Imh0dHBzOi8v
eG1sMnJmYy50b29scy5pZXRmLm9yZy9wdWJsaWMvcmZjL2JpYnhtbC9yZWZlcmVuY2UuUkZDLjg1
NjkueG1sIi8+CiAgICAgICAgPHhpOmluY2x1ZGUgaHJlZj0iaHR0cHM6Ly94bWwycmZjLnRvb2xz
LmlldGYub3JnL3B1YmxpYy9yZmMvYmlieG1sL3JlZmVyZW5jZS5SRkMuODYwOS54bWwiLz4KICAg
ICAgPC9yZWZlcmVuY2VzPgogICAgICA8cmVmZXJlbmNlcz4KICAgICAgICA8bmFtZT5JbmZvcm1h
dGl2ZSBSZWZlcmVuY2VzPC9uYW1lPgogICAgICAgIDx4aTppbmNsdWRlIGhyZWY9Imh0dHBzOi8v
eG1sMnJmYy50b29scy5pZXRmLm9yZy9wdWJsaWMvcmZjL2JpYnhtbC9yZWZlcmVuY2UuUkZDLjA3
OTMueG1sIi8+CiAgICAgICAgPCEtLQkJJlJGQzI0NzQ7IC0tPgo8IS0tCQkmUkZDMjk5ODsgLS0+
CgkJPHhpOmluY2x1ZGUgaHJlZj0iaHR0cHM6Ly94bWwycmZjLnRvb2xzLmlldGYub3JnL3B1Ymxp
Yy9yZmMvYmlieG1sL3JlZmVyZW5jZS5SRkMuNDM0MC54bWwiLz4KICAgICAgICA8eGk6aW5jbHVk
ZSBocmVmPSJodHRwczovL3htbDJyZmMudG9vbHMuaWV0Zi5vcmcvcHVibGljL3JmYy9iaWJ4bWwv
cmVmZXJlbmNlLlJGQy40OTYwLnhtbCIvPgogICAgICAgIDx4aTppbmNsdWRlIGhyZWY9Imh0dHBz
Oi8veG1sMnJmYy50b29scy5pZXRmLm9yZy9wdWJsaWMvcmZjL2JpYnhtbDMvcmVmZXJlbmNlLkkt
RC5kcmFmdC1pZXRmLXF1aWMtdHJhbnNwb3J0LTI1LnhtbCIvPgogICAgICAgIDxyZWZlcmVuY2Ug
YW5jaG9yPSJHaGFsaTIwMTMiIHRhcmdldD0iaHR0cDovL2R4LmRvaS5vcmcvMTAuMTEwOS9OQ0Eu
MjAxNS4zNCI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5TZWN1cmUgRnJh
Z21lbnRhdGlvbiBmb3IgQ29udGVudC1DZW50cmljIE5ldHdvcmtzLCBpbiBJRUVFIDE0dGggSW50
ZXJuYXRpb25hbCBTeW1wb3NpdW0gb24gTmV0d29yayBDb21wdXRpbmcgYW5kIEFwcGxpY2F0aW9u
czwvdGl0bGU+CiAgICAgICAgICAgIDxzZXJpZXNJbmZvIG5hbWU9IkRPSSIgdmFsdWU9IjEwLjEx
MDkvbmNhLjIwMTUuMzQiLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJHaGFsaSIgaW5p
dGlhbHM9IkMuIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iTmFyYXlhbmFuIiBpbml0
aWFscz0iQS4iLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJPcmFuIiBpbml0aWFscz0i
RC4iLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJUc3VkaWsiIGluaXRpYWxzPSJHLiIv
PgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ildvb2QiIGluaXRpYWxzPSJDLiIvPgogICAg
ICAgICAgICA8ZGF0ZSB5ZWFyPSIyMDE1Ii8+CiAgICAgICAgICA8L2Zyb250PgogICAgICAgIDwv
cmVmZXJlbmNlPgogICAgICAgIDxyZWZlcmVuY2UgYW5jaG9yPSJNYWhkaWFuMjAxNiIgdGFyZ2V0
PSJodHRwOi8vY29uZmVyZW5jZXMyLnNpZ2NvbW0ub3JnL2FjbS1pY24vMjAxNi9wcm9jZWVkaW5n
cy9wMS1tYWhkaWFuLnBkZiI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5N
SVJDQzogTXVsdGlwYXRoLWF3YXJlIElDTiBSYXRlLWJhc2VkIENvbmdlc3Rpb24gQ29udHJvbCwg
aW4gUHJvY2VlZGluZ3Mgb2YgdGhlIDNyZCBBQ00gQ29uZmVyZW5jZSBvbiBJbmZvcm1hdGlvbi1D
ZW50cmljIE5ldHdvcmtpbmc8L3RpdGxlPgogICAgICAgICAgICA8c2VyaWVzSW5mbyBuYW1lPSJE
T0kiIHZhbHVlPSIxMC4xMTQ1LzI5ODQzNTYuMjk4NDM2NSIvPgogICAgICAgICAgICA8YXV0aG9y
IHN1cm5hbWU9Ik1haGRpYW4iIGluaXRpYWxzPSJNLiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1
cm5hbWU9IkFyaWFuZmFyIiBpbml0aWFscz0iUy4iLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJu
YW1lPSJHaWJzb24iIGluaXRpYWxzPSJKLiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9
Ik9yYW4iIGluaXRpYWxzPSJELiIvPgogICAgICAgICAgICA8ZGF0ZSB5ZWFyPSIyMDE2Ii8+CiAg
ICAgICAgICA8L2Zyb250PgogICAgICAgIDwvcmVmZXJlbmNlPgogICAgICAgIDxyZWZlcmVuY2Ug
YW5jaG9yPSJDYXJvZmlnbGlvMjAxMiIgdGFyZ2V0PSJodHRwOi8vY29uZmVyZW5jZXMuc2lnY29t
bS5vcmcvc2lnY29tbS8yMDEyL3BhcGVyL2ljbi9wMzcucGRmIj4KICAgICAgICAgIDxmcm9udD4K
ICAgICAgICAgICAgPHRpdGxlPkpvaW50IGhvcC1ieS1ob3AgYW5kIHJlY2VpdmVyLWRyaXZlbiBp
bnRlcmVzdCBjb250cm9sIHByb3RvY29sIGZvciBjb250ZW50LWNlbnRyaWMgbmV0d29ya3MsIGlu
IElDTiBXb3Jrc2hvcCBhdCBTSUdjb21tIDIwMTI8L3RpdGxlPgogICAgICAgICAgICA8c2VyaWVz
SW5mbyBuYW1lPSJET0kiIHZhbHVlPSIxMC4xMTQ1LzIzNzc2NzcuMjM3Nzc3MiIvPgogICAgICAg
ICAgICA8YXV0aG9yIHN1cm5hbWU9IkNhcm9maWdsaW8iIGluaXRpYWxzPSJHLiIvPgogICAgICAg
ICAgICA8YXV0aG9yIHN1cm5hbWU9IkdhbGxvIiBpbml0aWFscz0iTS4iLz4KICAgICAgICAgICAg
PGF1dGhvciBzdXJuYW1lPSJNdXNjYXJpZWxsbyIgaW5pdGlhbHM9IkwuIi8+CiAgICAgICAgICAg
IDxkYXRlIHllYXI9IjIxMDIiLz4KICAgICAgICAgIDwvZnJvbnQ+CiAgICAgICAgPC9yZWZlcmVu
Y2U+CiAgICAgICAgPHJlZmVyZW5jZSBhbmNob3I9IldhbmcyMDEzIiB0YXJnZXQ9Imh0dHA6Ly9j
b25mZXJlbmNlcy5zaWdjb21tLm9yZy9zaWdjb21tLzIwMTMvcGFwZXJzL2ljbi9wNTUucGRmIj4K
ICAgICAgICAgIDxmcm9udD4KICAgICAgICAgICAgPHRpdGxlPgoJCQkJQW4gSW1wcm92ZWQgSG9w
LWJ5LWhvcCBJbnRlcmVzdCBTaGFwZXIgZm9yIENvbmdlc3Rpb24gQ29udHJvbCBpbiBOYW1lZCBE
YXRhIE5ldHdvcmtpbmcsIGluIEFDTSBTSUdDT01NIFdvcmtzaG9wIG9uIEluZm9ybWF0aW9uLUNl
bnRyaWMgTmV0d29ya2luZwogICAgICAgICAgICA8L3RpdGxlPgogICAgICAgICAgICA8c2VyaWVz
SW5mbyBuYW1lPSJET0kiIHZhbHVlPSIxMC4xMTQ1LzI1MzQxNjkuMjQ5MTIzMyIvPgogICAgICAg
ICAgICA8YXV0aG9yIHN1cm5hbWU9IldhbmciIGluaXRpYWxzPSJZLiIvPgogICAgICAgICAgICA8
YXV0aG9yIHN1cm5hbWU9IlJvemhub3ZhIiBpbml0aWFscz0iTi4iLz4KICAgICAgICAgICAgPGF1
dGhvciBzdXJuYW1lPSJOYXJheWFuYW4iIGluaXRpYWxzPSJBLiIvPgogICAgICAgICAgICA8YXV0
aG9yIHN1cm5hbWU9Ik9yYW4iIGluaXRpYWxzPSJELiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1
cm5hbWU9IlJoZWUiIGluaXRpYWxzPSJJLiIvPgogICAgICAgICAgICA8ZGF0ZSB5ZWFyPSIyMDEz
Ii8+CiAgICAgICAgICA8L2Zyb250PgogICAgICAgIDwvcmVmZXJlbmNlPgogICAgICAgIDxyZWZl
cmVuY2UgYW5jaG9yPSJTb25nMjAxOCIgdGFyZ2V0PSJodHRwczovL2NvbmZlcmVuY2VzLnNpZ2Nv
bW0ub3JnL2FjbS1pY24vMjAxOC9wcm9jZWVkaW5ncy9pY24xOC1maW5hbDYyLnBkZiI+CiAgICAg
ICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5TTUlDOiBTdWJmbG93LWxldmVsIE11bHRp
LXBhdGggSW50ZXJlc3QgQ29udHJvbCBmb3IgSW5mb3JtYXRpb24gQ2VudHJpYyBOZXR3b3JraW5n
LCBpbiA1dGggQUNNIENvbmZlcmVuY2Ugb24gSW5mb3JtYXRpb24tQ2VudHJpYyBOZXR3b3JraW5n
PC90aXRsZT4KICAgICAgICAgICAgPHNlcmllc0luZm8gbmFtZT0iRE9JIiB2YWx1ZT0iMTAuMTE0
NS8zMjY3OTU1LjMyNjc5NzEiLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJTb25nIiBp
bml0aWFscz0iSi4iLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJMZWUiIGluaXRpYWxz
PSJNLiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ikt3b24iIGluaXRpYWxzPSJULiIv
PgogICAgICAgICAgICA8ZGF0ZSB5ZWFyPSIyMDE4Ii8+CiAgICAgICAgICA8L2Zyb250PgogICAg
ICAgIDwvcmVmZXJlbmNlPgogICAgICAgIDxyZWZlcmVuY2UgYW5jaG9yPSJTY2huZWlkZXIyMDE2
IiB0YXJnZXQ9Imh0dHA6Ly9jb25mZXJlbmNlczIuc2lnY29tbS5vcmcvYWNtLWljbi8yMDE2L3By
b2NlZWRpbmdzL3AyMS1zY2huZWlkZXIucGRmIj4KICAgICAgICAgIDxmcm9udD4KICAgICAgICAg
ICAgPHRpdGxlPkEgUHJhY3RpY2FsIENvbmdlc3Rpb24gQ29udHJvbCBTY2hlbWUgZm9yIE5hbWVk
IERhdGEgTmV0d29ya2luZywgaW4gUHJvY2VlZGluZ3Mgb2YgdGhlIDIwMTYgY29uZmVyZW5jZSBv
biAzcmQgQUNNIENvbmZlcmVuY2Ugb24gSW5mb3JtYXRpb24tQ2VudHJpYyBOZXR3b3JraW5nIC0g
QUNNLUlDTiAnMTY8L3RpdGxlPgogICAgICAgICAgICA8c2VyaWVzSW5mbyBuYW1lPSJET0kiIHZh
bHVlPSIxMC4xMTQ1LzI5ODQzNTYuMjk4NDM2OSIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5h
bWU9IlNjaG5laWRlciIgaW5pdGlhbHM9IksuIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFt
ZT0iWWkiIGluaXRpYWxzPSJDLiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9IlpoYW5n
IiBpbml0aWFscz0iQi4iLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJaaGFuZyIgaW5p
dGlhbHM9IkwuIi8+CiAgICAgICAgICAgIDxkYXRlIHllYXI9IjIwMTYiLz4KICAgICAgICAgIDwv
ZnJvbnQ+CiAgICAgICAgPC9yZWZlcmVuY2U+CiAgICAgICAgPCEtLQkJPHJlZmVyZW5jZSBhbmNo
b3I9IlB1cnN1aXQiIHRhcmdldD0iaHR0cHM6Ly93d3cuZnA3LXB1cnN1aXQuZXUiPgoJCQk8ZnJv
bnQ+CgkJCQk8dGl0bGU+VGhlIFB1cnN1aXQgUHJvamVjdDwvdGl0bGU+CgkJCQk8YXV0aG9yIHN1
cm5hbWU9IkZQNyIvPgoJCQkJPGRhdGUgeWVhcj0iMjAxNSIvPgoJCQk8L2Zyb250PgoJCTwvcmVm
ZXJlbmNlPgotLT4KCgkJPHJlZmVyZW5jZSBhbmNob3I9Ik5ETiIgdGFyZ2V0PSJodHRwczovL25h
bWVkLWRhdGEubmV0L3Byb2plY3QvZXhlY3N1bW1hcnkvIj4KICAgICAgICAgIDxmcm9udD4KICAg
ICAgICAgICAgPHRpdGxlPk5hbWVkIERhdGEgTmV0d29ya2luZzwvdGl0bGU+CiAgICAgICAgICAg
IDxhdXRob3Igc3VybmFtZT0iTkROIHRlYW0iLz4KICAgICAgICAgICAgPGRhdGU+PC9kYXRlPgog
ICAgICAgICAgPC9mcm9udD4KICAgICAgICA8L3JlZmVyZW5jZT4KICAgICAgICA8cmVmZXJlbmNl
IGFuY2hvcj0iTkROVExWIiB0YXJnZXQ9Imh0dHA6Ly9uYW1lZC1kYXRhLm5ldC9kb2MvbmRuLXRs
di8iPgogICAgICAgICAgPGZyb250PgogICAgICAgICAgICA8dGl0bGU+TkROIFBhY2tldCBGb3Jt
YXQgU3BlY2lmaWNhdGlvbi48L3RpdGxlPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ik5E
TiBQcm9qZWN0IFRlYW0iLz4KICAgICAgICAgICAgPGRhdGUgeWVhcj0iMjAxNiIvPgogICAgICAg
ICAgPC9mcm9udD4KICAgICAgICA8L3JlZmVyZW5jZT4KICAgICAgICA8cmVmZXJlbmNlIGFuY2hv
cj0ibWlubWF4ZmFpcm5lc3MiIHRhcmdldD0iaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv
TWF4LW1pbl9mYWlybmVzcyI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5N
YXgtbWluIEZhaXJuZXNzPC90aXRsZT4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJXaWtp
cGVkaWEiLz4KICAgICAgICAgICAgPGRhdGU+PC9kYXRlPgogICAgICAgICAgPC9mcm9udD4KICAg
ICAgICA8L3JlZmVyZW5jZT4KICAgICAgICA8cmVmZXJlbmNlIGFuY2hvcj0icHJvcG9ydGlvbmFs
ZmFpcm5lc3MiIHRhcmdldD0iaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUHJvcG9ydGlv
bmFsbHlfZmFpciI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5Qcm9wb3J0
aW9uYWxseSBGYWlyPC90aXRsZT4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJXaWtpcGVk
aWEiLz4KICAgICAgICAgICAgPGRhdGU+PC9kYXRlPgogICAgICAgICAgPC9mcm9udD4KICAgICAg
ICA8L3JlZmVyZW5jZT4KICAgICAgPC9yZWZlcmVuY2VzPgogICAgPC9yZWZlcmVuY2VzPgogICAg
PCEtLSBDaGFuZ2UgTG9nCnYwMCAyMDE5LTA3LTEzICBEUk8gSW5pdGlhbCB2ZXJzaW9uCnYwMSAy
MDE5LTA4LTEwCURSTwlSZXNwb25kIHRvIGNvbW1lbnRzIGJ5IE5hdmVlbiBOYXRoYW4gYW5kIEts
YXVzIFNjaG5laWRlciAKdjAyIDIwMjAtMDItMDMJRFJPIENvbnZlcnRlZCB0byB4bWwycmZjIFYz
IGFuZCBtb25vciB0ZXh0IGFkanVzdG1lbnRzCgktLT4KICA8L2JhY2s+CjwvcmZjPgo=
--=_MailMate_4AEEED3E-9E08-4CB4-849E-2B1E99A49FA4_=
Content-Disposition: attachment; filename=draft-oran-icnrg-flowbalance-03.xml
Content-Type: application/xml
Content-Transfer-Encoding: base64

PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPCEtLSBUaGlzIHRlbXBsYXRl
IGlzIGZvciBjcmVhdGluZyBhbiBJbnRlcm5ldCBEcmFmdCB1c2luZyB4bWwycmZjLAogICAgIHdo
aWNoIGlzIGF2YWlsYWJsZSBoZXJlOiBodHRwOi8veG1sLnJlc291cmNlLm9yZy4gLS0+CjwhRE9D
VFlQRSByZmMgU1lTVEVNICJyZmMyNjI5LXhodG1sLmVudCI+Cjw/eG1sLXN0eWxlc2hlZXQgdHlw
ZT0ndGV4dC94c2wnIGhyZWY9J3JmYzI2MjkueHNsdCcgPz4KPCEtLSB1c2VkIGJ5IFhTTFQgcHJv
Y2Vzc29ycyAtLT4KPCEtLSBGb3IgYSBjb21wbGV0ZSBsaXN0IGFuZCBkZXNjcmlwdGlvbiBvZiBw
cm9jZXNzaW5nIGluc3RydWN0aW9ucyAoUElzKSwgCiAgICAgcGxlYXNlIHNlZSBodHRwOi8veG1s
LnJlc291cmNlLm9yZy9hdXRob3JpbmcvUkVBRE1FLmh0bWwuIC0tPgo8IS0tIEJlbG93IGFyZSBn
ZW5lcmFsbHkgYXBwbGljYWJsZSBQcm9jZXNzaW5nIEluc3RydWN0aW9ucyAoUElzKSB0aGF0IG1v
c3QgSS1EcyBtaWdodCB3YW50IHRvIHVzZS4KICAgICAoSGVyZSB0aGV5IGFyZSBzZXQgZGlmZmVy
ZW50bHkgdGhhbiB0aGVpciBkZWZhdWx0cyBpbiB4bWwycmZjIHYxLjMyKSAtLT4KPD9yZmMgc3Ry
aWN0PSJ5ZXMiID8+CjwhLS0gZ2l2ZSBlcnJvcnMgcmVnYXJkaW5nIElELW5pdHMgYW5kIERURCB2
YWxpZGF0aW9uIC0tPgo8IS0tIGNvbnRyb2wgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIChUb0MpIC0t
Pgo8P3JmYyB0b2M9InllcyI/Pgo8IS0tIGdlbmVyYXRlIGEgVG9DIC0tPgo8P3JmYyB0b2NkZXB0
aD0iNCI/Pgo8IS0tIHRoZSBudW1iZXIgb2YgbGV2ZWxzIG9mIHN1YnNlY3Rpb25zIGluIFRvQy4g
ZGVmYXVsdDogMyAtLT4KPCEtLSBjb250cm9sIHJlZmVyZW5jZXMgLS0+Cjw/cmZjIHN5bXJlZnM9
InllcyI/Pgo8IS0tIHVzZSBzeW1ib2xpYyByZWZlcmVuY2VzIHRhZ3MsIGkuZSwgW1JGQzIxMTld
IGluc3RlYWQgb2YgWzFdIC0tPgo8P3JmYyBzb3J0cmVmcz0ieWVzIiA/Pgo8IS0tIHNvcnQgdGhl
IHJlZmVyZW5jZSBlbnRyaWVzIGFscGhhYmV0aWNhbGx5IC0tPgo8IS0tIGNvbnRyb2wgdmVydGlj
YWwgd2hpdGUgc3BhY2UgCiAgICAgKHVzaW5nIHRoZXNlIFBJcyBhcyBmb2xsb3dzIGlzIHJlY29t
bWVuZGVkIGJ5IHRoZSBSRkMgRWRpdG9yKSAtLT4KPD9yZmMgY29tcGFjdD0ieWVzIiA/Pgo8IS0t
IGRvIG5vdCBzdGFydCBlYWNoIG1haW4gc2VjdGlvbiBvbiBhIG5ldyBwYWdlIC0tPgo8P3JmYyBz
dWJjb21wYWN0PSJubyIgPz4KPCEtLSBrZWVwIG9uZSBibGFuayBsaW5lIGJldHdlZW4gbGlzdCBp
dGVtcyAtLT4KPCEtLSBlbmQgb2YgbGlzdCBvZiBwb3B1bGFyIEktRCBwcm9jZXNzaW5nIGluc3Ry
dWN0aW9ucyAtLT4KPHJmYyB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVk
ZSIgY2F0ZWdvcnk9ImV4cCIgZG9jTmFtZT0iZHJhZnQtb3Jhbi1pY25yZy1mbG93YmFsYW5jZS0w
MyIgaXByPSJ0cnVzdDIwMDkwMiIgb2Jzb2xldGVzPSIiIHVwZGF0ZXM9IiIgc3VibWlzc2lvblR5
cGU9IklSVEYiIHhtbDpsYW5nPSJlbiIgdG9jSW5jbHVkZT0idHJ1ZSIgdG9jRGVwdGg9IjQiIHN5
bVJlZnM9InRydWUiIHNvcnRSZWZzPSJ0cnVlIiB2ZXJzaW9uPSIzIj4KICA8IS0tIHhtbDJyZmMg
djJ2MyBjb252ZXJzaW9uIDIuMzkuMCAtLT4KICA8IS0tIGNhdGVnb3J5IHZhbHVlczogc3RkLCBi
Y3AsIGluZm8sIGV4cCwgYW5kIGhpc3RvcmljCiAgICAgaXByIHZhbHVlczogZnVsbDM2NjcsIG5v
TW9kaWZpY2F0aW9uMzY2Nywgbm9EZXJpdmF0aXZlczM2NjcKICAgICB5b3UgY2FuIGFkZCB0aGUg
YXR0cmlidXRlcyB1cGRhdGVzPSJOTk5OIiBhbmQgb2Jzb2xldGVzPSJOTk5OIiAKICAgICB0aGV5
IHdpbGwgYXV0b21hdGljYWxseSBiZSBvdXRwdXQgd2l0aCAiKGlmIGFwcHJvdmVkKSIgLS0+Cgog
IDwhLS0gKioqKiogRlJPTlQgTUFUVEVSICoqKioqIC0tPgo8ZnJvbnQ+CiAgICA8IS0tIFRoZSBh
YmJyZXZpYXRlZCB0aXRsZSBpcyB1c2VkIGluIHRoZSBwYWdlIGhlYWRlciAtIGl0IGlzIG9ubHkg
bmVjZXNzYXJ5IGlmIHRoZSAKICAgICAgICAgZnVsbCB0aXRsZSBpcyBsb25nZXIgdGhhbiAzOSBj
aGFyYWN0ZXJzIC0tPgogICAgPHRpdGxlIGFiYnJldj0iTWFpbnRhaW5pbmcgRmxvdyBCYWxhbmNl
Ij4KICAgIE1haW50YWluaW5nIENDTnggb3IgTkROIGZsb3cgYmFsYW5jZSB3aXRoIGhpZ2hseSB2
YXJpYWJsZSBkYXRhIG9iamVjdCBzaXplcwogICAgPC90aXRsZT4KICAgIDxzZXJpZXNJbmZvIG5h
bWU9IkludGVybmV0LURyYWZ0IiB2YWx1ZT0iZHJhZnQtb3Jhbi1pY25yZy1mbG93YmFsYW5jZS0w
MyIvPgogICAgPCEtLSBhZGQgJ3JvbGU9ImVkaXRvciInIGJlbG93IGZvciB0aGUgZWRpdG9ycyBp
ZiBhcHByb3ByaWF0ZSAtLT4KCiAgICA8IS0tIEFub3RoZXIgYXV0aG9yIHdobyBjbGFpbXMgdG8g
YmUgYW4gZWRpdG9yIC0tPgogICAgPGF1dGhvciBmdWxsbmFtZT0iRGF2ZSBPcmFuIiBzdXJuYW1l
PSJELiBPcmFuIj4KICAgICAgPG9yZ2FuaXphdGlvbj5OZXR3b3JrIFN5c3RlbXMgUmVzZWFyY2gg
YW5kIERlc2lnbjwvb3JnYW5pemF0aW9uPgogICAgICA8YWRkcmVzcz4KICAgICAgICA8cG9zdGFs
PgogICAgICAgICAgPHN0cmVldD40IFNoYWR5IEhpbGwgU3F1YXJlPC9zdHJlZXQ+CiAgICAgICAg
ICA8IS0tIFJlb3JkZXIgdGhlc2UgaWYgeW91ciBjb3VudHJ5IGRvZXMgdGhpbmdzIGRpZmZlcmVu
dGx5IC0tPgogICAgICAgICAgICAgICAgPGNpdHk+Q2FtYnJpZGdlPC9jaXR5PgogICAgICAgICAg
PHJlZ2lvbj5NQTwvcmVnaW9uPgogICAgICAgICAgPGNvZGU+MDIxMzg8L2NvZGU+CiAgICAgICAg
ICA8Y291bnRyeT5VU0E8L2NvdW50cnk+CiAgICAgICAgPC9wb3N0YWw+CiAgICAgICAgPHBob25l
Lz4KICAgICAgICA8ZW1haWw+ZGF2ZW9yYW5Ab3JhbmRvbS5uZXQ8L2VtYWlsPgogICAgICAgIDwh
LS0gdXJpIGFuZCBmYWNzaW1pbGUgZWxlbWVudHMgbWF5IGFsc28gYmUgYWRkZWQgLS0+CiAgICAg
ICAgPC9hZGRyZXNzPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSBtb250aD0iRmVicnVhcnkiIHll
YXI9IjIwMjAiLz4KICAgIDwhLS0gSWYgdGhlIG1vbnRoIGFuZCB5ZWFyIGFyZSBib3RoIHNwZWNp
ZmllZCBhbmQgYXJlIHRoZSBjdXJyZW50IG9uZXMsIHhtbDJyZmMgd2lsbCBmaWxsIAogICAgICAg
ICBpbiB0aGUgY3VycmVudCBkYXkgZm9yIHlvdS4gSWYgb25seSB0aGUgY3VycmVudCB5ZWFyIGlz
IHNwZWNpZmllZCwgeG1sMnJmYyB3aWxsIGZpbGwgCgkgaW4gdGhlIGN1cnJlbnQgZGF5IGFuZCBt
b250aCBmb3IgeW91LiBJZiB0aGUgeWVhciBpcyBub3QgdGhlIGN1cnJlbnQgb25lLCBpdCBpcyAK
CSBuZWNlc3NhcnkgdG8gc3BlY2lmeSBhdCBsZWFzdCBhIG1vbnRoICh4bWwycmZjIGFzc3VtZXMg
ZGF5PSIxIiBpZiBub3Qgc3BlY2lmaWVkIGZvciB0aGUgCgkgcHVycG9zZSBvZiBjYWxjdWxhdGlu
ZyB0aGUgZXhwaXJ5IGRhdGUpLiAgV2l0aCBkcmFmdHMgaXQgaXMgbm9ybWFsbHkgc3VmZmljaWVu
dCB0byAKCSBzcGVjaWZ5IGp1c3QgdGhlIHllYXIuIC0tPgoKICAgIDwhLS0gTWV0YS1kYXRhIERl
Y2xhcmF0aW9ucyAtLT4KCiAgICA8YXJlYT5JUlRGPC9hcmVhPgogICAgPHdvcmtncm91cD5JQ05S
Rzwvd29ya2dyb3VwPgoKCiAgICA8a2V5d29yZD5pY248L2tleXdvcmQ+CgoKICAgIDxhYnN0cmFj
dD4KICAgICAgPHQ+RGVlcGx5IGVtYmVkZGVkIGluIHNvbWUgSUNOIGFyY2hpdGVjdHVyZXMsIGVz
cGVjaWFsbHkgTmFtZWQgRGF0YSBOZXR3b3JraW5nIChORE4pIGFuZCBDb250ZW50LUNlbnRyaWMg
TmV0d29ya2luZyAoQ0NOeCkgaXMgdGhlIG5vdGlvbiBvZiBmbG93IGJhbGFuY2UuIFRoaXMgY2Fw
dHVyZXMgdGhlIGlkZWEgdGhhdCB0aGVyZSBpcyBhIG9uZS10by1vbmUgY29ycmVzcG9uZGVuY2Ug
YmV0d2VlbiByZXF1ZXN0cyBmb3IgZGF0YSwgY2FycmllZCBpbiBJbnRlcmVzdCBtZXNzYWdlcywg
YW5kIHRoZSByZXNwb25zZXMgd2l0aCB0aGUgcmVxdWVzdGVkIGRhdGEgb2JqZWN0LCBjYXJyaWVk
IGluIERhdGEgbWVzc2FnZXMuIFRoaXMgaGFzIGEgbnVtYmVyIG9mIGhpZ2hseSBiZW5lZmljaWFs
IHByb3BlcnRpZXMgZm9yIGZsb3cgYW5kIGNvbmdlc3Rpb24gY29udHJvbCBpbiBuZXR3b3Jrcywg
YXMgd2VsbCBhcyBzb21lIGRlc2lyYWJsZSBzZWN1cml0eSBwcm9wZXJ0aWVzLiBGb3IgZXhhbXBs
ZSwgbmVpdGhlciBsZWdpdGltYXRlIHVzZXJzIG5vciBhdHRhY2tlcnMgYXJlIGFibGUgdG8gaW5q
ZWN0IGxhcmdlIGFtb3VudHMgb2YgdW4tcmVxdWVzdGVkIGRhdGEgaW50byB0aGUgbmV0d29yay48
L3Q+CiAgICAgIDx0PkV4aXN0aW5nIGNvbmdlc3Rpb24gY29udHJvbCBhcHByb2FjaGVzIGhvd2V2
ZXIgY2Fubm90IGRlYWwgZWZmZWN0aXZlbHkgd2l0aCBhIHdpZGVseSB2YXJ5aW5nIE1UVSBvZiBJ
Q04gZGF0YSBtZXNzYWdlcywgc2luY2UgdGhlIHByb3RvY29scyBhbGxvdyBhIGR5bmFtaWMgcmFu
Z2Ugb2YgMS02NEsgYnl0ZXMuIFNpbmNlIEludGVyZXN0IG1lc3NhZ2VzIGFyZSB1c2VkIHRvIGFs
bG9jYXRlIHRoZSByZXZlcnNlIGxpbmsgYmFuZHdpZHRoIGZvciByZXR1cm5pbmcgRGF0YSwgdGhl
cmUgaXMgbGFyZ2UgdW5jZXJ0YWludHkgaW4gaG93IHRvIGFsbG9jYXRlIHRoYXQgYmFuZHdpZHRo
LiBVbmZvcnR1bmF0ZWx5LCBjdXJyZW50IGNvbmdlc3Rpb24gY29udHJvbCBzY2hlbWVzIGluIEND
TnggYW5kIE5ETiBvbmx5IGNvdW50IEludGVyZXN0IG1lc3NhZ2VzIGFuZCBoYXZlIG5vIGlkZWEg
aG93IG11Y2ggZGF0YSBpcyBpbnZvbHZlZCB0aGF0IGNvdWxkIGNvbmdlc3QgdGhlIGludmVyc2Ug
bGluay4gVGhpcyBkb2N1bWVudCBwcm9wb3NlcyBhIG1ldGhvZCB0byBtYWludGFpbiBmbG93IGJh
bGFuY2UgYnkgYWNjb21tb2RhdGluZyB0aGUgd2lkZSBkeW5hbWljIHJhbmdlIGluIERhdGEgbWVz
c2FnZSBNVFUuPC90PgogICAgICA8IS0tVGhpcyBkb2N1bWVudCBpcyBhIHByb2R1Y3Qgb2YgdGhl
IElSVEYgSW5mb3JtYXRpb24tQ2VudHJpYyBOZXR3b3JraW5nIFJlc2VhcmNoIEdyb3VwIChJQ05S
RykuIC0tPgogICAgPC9hYnN0cmFjdD4KICA8L2Zyb250PgoKICA8bWlkZGxlPgogICAgPHNlY3Rp
b24gYW5jaG9yPSJpbnRybyIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgIDxu
YW1lPkludHJvZHVjdGlvbjwvbmFtZT4KICAgICAgPHQ+RGVlcGx5IGVtYmVkZGVkIGluIHNvbWUg
SUNOIGFyY2hpdGVjdHVyZXMsIGVzcGVjaWFsbHkgTmFtZWQgRGF0YSBOZXR3b3JraW5nIChORE4g
PHhyZWYgdGFyZ2V0PSJORE4iIGZvcm1hdD0iZGVmYXVsdCIvPikgYW5kIENvbnRlbnQtQ2VudHJp
YyBOZXR3b3JraW5nIChDQ054IDx4cmVmIHRhcmdldD0iUkZDODU2OSIgZm9ybWF0PSJkZWZhdWx0
Ii8+LDx4cmVmIHRhcmdldD0iUkZDODYwOSIgZm9ybWF0PSJkZWZhdWx0Ii8+KSBpcyB0aGUgbm90
aW9uIG9mIDxlbT5mbG93IGJhbGFuY2U8L2VtPi4gVGhpcyBjYXB0dXJlcyB0aGUgaWRlYSB0aGF0
IHRoZXJlIGlzIGEgb25lLXRvLW9uZSBjb3JyZXNwb25kZW5jZSBiZXR3ZWVuIHJlcXVlc3RzIGZv
ciBkYXRhLCBjYXJyaWVkIGluIEludGVyZXN0IG1lc3NhZ2VzLCBhbmQgdGhlIHJlc3BvbnNlcyB3
aXRoIHRoZSByZXF1ZXN0ZWQgZGF0YSBvYmplY3QsIGNhcnJpZWQgaW4gRGF0YSBtZXNzYWdlcy4g
VGhpcyBoYXMgYSBudW1iZXIgb2YgaGlnaGx5IGJlbmVmaWNpYWwgcHJvcGVydGllcyBmb3IgZmxv
dyBhbmQgY29uZ2VzdGlvbiBjb250cm9sIGluIG5ldHdvcmtzLCBhcyB3ZWxsIGFzIHNvbWUgZGVz
aXJhYmxlIHNlY3VyaXR5IHByb3BlcnRpZXMuIEZvciBleGFtcGxlLCBuZWl0aGVyIGxlZ2l0aW1h
dGUgdXNlcnMgbm9yIGF0dGFja2VycyBhcmUgYWJsZSB0byBpbmplY3QgbGFyZ2UgYW1vdW50cyBv
ZiB1bi1yZXF1ZXN0ZWQgZGF0YSBpbnRvIHRoZSBuZXR3b3JrLjwvdD4KICAgICAgCiAgICAgIDx0
PlRoaXMgYXBwcm9hY2ggbGVhZHMgdG8gYSBkZXNpcmUgdG8gbWFrZSB0aGUgc2l6ZSBvZiB0aGUg
b2JqZWN0cyBjYXJyaWVkIGluIERhdGEgbWVzc2FnZXMgc21hbGwgYW5kIG5lYXIgY29uc3RhbnQs
IGJlY2F1c2UgZmxvdyBiYWxhbmNlIGNhbiB0aGVuIGJlIGtlcHQgdXNpbmcgc2ltcGxlIGJvb2tr
ZWVwaW5nIG9mIGhvdyBtYW55IEludGVyZXN0IG1lc3NhZ2VzIGFyZSBvdXRzdGFuZGluZy4gV2hp
bGUgc2ltcGxlLCBjb25zdHJhaW5pbmcgRGF0YSBtZXNzYWdlcyB0byBiZSBxdWl0ZSBzbWFsbCAt
IHVzdWFsbHkgb24gdGhlIG9yZGVyIG9mIGEgbGluayBNYXhpbXVtIFRyYW5zbWlzc2lvbiBVbml0
IChNVFUpIC0gaGFzIHNvbWUgY29uc3RyYWludHMgYW5kIGRlbGV0ZXJpb3VzIGVmZmVjdHMsIGFt
b25nIHdoaWNoIGFyZTo8L3Q+CiAgICAgIAogICAgICA8dWwgc3BhY2luZz0ibm9ybWFsIj4KICAg
ICAgICA8bGk+U3VjaCBzbWFsbCBkYXRhIG9iamVjdHMgYXJlIGluY29udmVuaWVudCBmb3IgbWFu
eSBhcHBsaWNhdGlvbnM7IHRoZWlyIG5hdHVyYWwgZGF0YSBvYmplY3Qgc2l6ZXMgY2FuIGJlIGNv
bnNpZGVyYWJseSBsYXJnZXIgdGhhbiBhIGxpbmsgTVRVLjwvbGk+CiAgICAgICAgPGxpPkFwcGxp
Y2F0aW9ucyB3aXRoIHRydWx5IHNtYWxsIGRhdGEgb2JqZWN0cyAoZS5nLiB2b2ljZSBwYWNrZXRz
IGluIGFuIEludGVybmV0IHRlbGVwaG9ueSBhcHBsaWNhdGlvbnMpIGhhdmUgbm8gd2F5IHRvIGNv
bW11bmljYXRlIHRoYXQgdG8gdGhlIG5ldHdvcmssIGNhdXNpbmcgcmVzb3VyY2VzIHRvIHN0aWxs
IGJlIGFsbG9jYXRlZCBmb3IgTVRVLXNpemVkIGRhdGEgb2JqZWN0czwvbGk+CiAgICAgICAgPGxp
PldoZW4gY2h1bmtpbmcgYSBsYXJnZXIgZGF0YSBvYmplY3QgaW50byBtdWx0aXBsZSBEYXRhIG1l
c3NhZ2VzLCBlYWNoIG1lc3NhZ2UgaGFzIHRvIGJlIGluZGl2aWR1YWxseSBjcnlwdG9ncmFwaGlj
YWxseSBoYXNoZWQgYW5kIHNpZ25lZCwgaW5jcmVhc2luZyBib3RoIGNvbXB1dGF0aW9uYWwgb3Zl
cmhlYWQgYW5kIG92ZXJhbGwgbWVzc2FnZSBoZWFkZXIgc2l6ZS4gVGhlIHNpZ25hdHVyZSBjYW4g
YmUgZWxpZGVkIHdoZW4gTWFuaWZlc3RzIGFyZSB1c2VkIChieSBzaWduaW5nIHRoZSBNYW5pZmVz
dCBpbnN0ZWFkKSwgYnV0IHRoZSBvdmVyaGVhZCBvZiBoYXNoaW5nIG11bHRpcGxlIHNtYWxsIG1l
c3NhZ2VzIHJhdGhlciB0aGFuIGZld2VyIGxhcmdlciBvbmVzIHJlbWFpbnMuPC9saT4KICAgICAg
PC91bD4KICAgICAgCiAgICAgIDx0Pk9uZSBhcHByb2FjaCB3aGljaCBoZWxwcyB3aXRoIHRoZSBs
YXN0IG9mIHRoZXNlIGlzIHRvIGVtcGxveSBmcmFnbWVudGF0aW9uIGZvciBEYXRhIG1lc3NhZ2Vz
IGxhcmdlciB0aGFuIHRoZSBQYXRoIE1UVSAoUE1UVSkuIHN1Y2ggbWVzc2FnZXMgYXJlIGNhcnZl
ZCBpbnRvIHNtYWxsZXIgcGllY2VzIGZvciB0cmFuc21pc3Npb24gb3ZlciB0aGUgbGluayhzKS4g
VGhlcmUgYXJlIHRocmVlIGZsYXZvcnMgb2YgZnJhZ21lbnRhdGlvbjogZW5kLXRvLWVuZCwgaG9w
LWJ5LWhvcCB3aXRoIHJlYXNzZW1ibHkgYXQgZXZlcnkgaG9wLCBhbmQgaG9wLWJ5LWhvcCB3aXRo
IGN1dC10aHJvdWdoIG9mIGluZGl2aWR1YWwgZnJhZ21lbnRzLiBBIG51bWJlciBvZiBJQ04gcHJv
dG9jb2wgYXJjaGl0ZWN0dXJlcyBpbmNvcnBvcmF0ZSBmcmFnbWVudGF0aW9uIGFuZCBzY2hlbWVz
IGhhdmUgYmVlbiBwcm9wb3NlZCBmb3IgYm90aCBORE4gYW5kIENDTngsIGZvciBleGFtcGxlIGlu
IDx4cmVmIHRhcmdldD0iR2hhbGkyMDEzIiBmb3JtYXQ9ImRlZmF1bHQiLz4uIEZyYWdtZW50YXRp
b24gYWxvbmUgZG9lcyBub3QgYW1lbGlvcmF0ZSB0aGUgZmxvdyBiYWxhbmNlIHByb2JsZW0gaG93
ZXZlciwgc2luY2UgZnJvbSBhIHJlc291cmNlIGFsbG9jYXRpb24gc3RhbmRwb2ludCBib3RoIG1l
bW9yeSBhbmQgbGluayBiYW5kd2lkdGggbXVzdCBiZSBzZXQgYXNpZGUgZm9yIG1heGltdW0tc2l6
ZWQgZGF0YSBvYmplY3RzIHRvIGF2b2lkIGNvbmdlc3Rpb24gY29sbGFwc2UgdW5kZXIgb3Zlcmxv
YWQuPC90PgogICAgICA8dD5UaGUgZGVzaWduIHNwYWNlIGNvbnNpZGVyZWQgaW4gdGhpcyBkb2N1
bWVudCBkb2VzIG5vdCBob3dldmVyIGV4dGVuZCB0byBhcmJpdHJhcmlseSBsYXJnZSBvYmplY3Rz
IChlLmcuIDEwMCdzIG9mIGtpbG9ieXRlcyBvciBsYXJnZXIpLiBBcyB0aGUgZHluYW1pYyByYW5n
ZSBvZiBkYXRhIG9iamVjdCBzaXplcyBnZXRzIHZlcnkgbGFyZ2UsIGZpbmRpbmcgdGhlIHJpZ2h0
IHRyYWRlb2ZmIGJldHdlZW4gaGFuZGxpbmcgYSBsYXJnZSBudW1iZXIgb2Ygc21hbGwgZGF0YSBv
YmplY3RzIHZlcnN1cyBhIHNpbmdsZSB2ZXJ5IGxhcmdlIGRhdGEgb2JqZWN0IHdoZW4gYWxsb2Nh
dGluZyBsaW5rIGFuZCBidWZmZXIgcmVzb3VyY2VzIGJlY29tZXMgaW50cmFjdGFibGUuIEZ1cnRo
ZXIsIHRoZSBzZW1hbnRpY3Mgb2YgSW50ZXJlc3QtRGF0YSBleGNoYW5nZXMgbWVhbnMgdGhhdCBh
bnkgZXJyb3IgaW4gdGhlIGV4Y2hhbmdlIHJlc3VsdHMgaW4gYSByZS1pc3N1ZSBvZiBhbiBJbnRl
cmVzdCBmb3IgdGhlIGVudGlyZSBEYXRhIG9iamVjdC4gVmVyeSBsYXJnZSBkYXRhIG9iamVjdHMg
cmVwcmVzZW50IGEgcGVyZm9ybWFuY2UgcHJvYmxlbSBiZWNhdXNlIHRoZSBjb3N0IG9mIHJldHJh
bnNtaXNzaW9uIHdoZW4gSW50ZXJlc3RzIGFyZSByZXRyYW5zbWl0dGVkIChvciByZS1pc3N1ZWQp
IGJlY29tZXMgdW5zdXN0YWluYWJseSBoaWdoLiAgVGhlcmVmb3JlLCB0aGUgbWV0aG9kIHdlIHBy
b3Bvc2UgZGVhbHMgd2l0aCBhIGR5bmFtaWMgcmFuZ2Ugb2Ygb2JqZWN0IHNpemVzIGZyb20gdmVy
eSBzbWFsbCAoYSBmcmFjdGlvbiBvZiBhIGxpbmsgTVRVKSB0byBtb2RlcmF0ZWx5IGxhcmdlIC0g
YWJvdXQgNjQga2lsb2J5dGVzIG9yIGVxdWl2YWxlbnRseSBhYm91dCA0MCBFdGhlcm5ldCBwYWNr
ZXRzLCBhbmQgYXNzdW1lcyBhbiBhc3NvY2lhdGVkIGZyYWdtZW50YXRpb24gc2NoZW1lIHRvIGhh
bmRsZSBsaW5rIE1UVXMgdGhhdCBjYW5ub3QgY2FycnkgdGhlIG9iamVjdCBpbiBhIHNpbmdsZSBs
aW5rLWxheWVyIHBhY2tldC48L3Q+CgogICAgICA8dD5UaGUgYXBwcm9hY2ggZGVzY3JpYmVkIGlu
IHRoZSByZXN0IG9mIHRoaXMgZG9jdW1lbnQgbWFpbnRhaW5zIGZsb3cgYmFsYW5jZSB1bmRlciB0
aGUgY29uZGl0aW9ucyBvdXRsaW5lZCBhYm92ZSBieSBhbGxvY2F0aW5nIHJlc291cmNlcyBhY2N1
cmF0ZWx5IGJhc2VkIG9uIGV4cGVjdGVkIGRhdGEgb2JqZWN0IHNpemUsIHJhdGhlciB0aGFuIGVt
cGxveWluZyBzaW1wbGUgaW50ZXJlc3QgY291bnRpbmcuPC90PgogICAgPC9zZWN0aW9uPgoKICAg
IDxzZWN0aW9uIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICA8bmFtZT5SZXF1
aXJlbWVudHMgTGFuZ3VhZ2U8L25hbWU+CiAgICAgIDx0PlRoZSBrZXkgd29yZHMgIk1VU1QiLCAi
TVVTVCBOT1QiLCAiUkVRVUlSRUQiLCAiU0hBTEwiLCAiU0hBTEwgTk9UIiwKICAgICAgICAiU0hP
VUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIg
aW4gdGhpcwogICAgICAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNjcmli
ZWQgaW4gPHhyZWYgdGFyZ2V0PSJSRkMyMTE5IiBmb3JtYXQ9ImRlZmF1bHQiPlJGQyAyMTE5PC94
cmVmPi48L3Q+CiAgICA8L3NlY3Rpb24+CiAgICAKICAgIDxzZWN0aW9uIGFuY2hvcj0iZGVzY3Jp
cHRpb24iIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICA8bmFtZT5NZXRob2Qg
dG8gZW5oYW5jZSBjb25nZXN0aW9uIGNvbnRyb2wgd2l0aCBzaWduYWxlZCBzaXplIGluZm9ybWF0
aW9uIGluIEludGVyZXN0IE1lc3NhZ2VzPC9uYW1lPgogICAgICA8dD5CZWZvcmUgZGl2aW5nIGlu
dG8gdGhlIHNwZWNpZmljcyBvZiB0aGUgZGVzaWduLCBpdCBpcyB1c2VmdWwgdG8gY29uc2lkZXIg
aG93IGNvbmdlc3Rpb24gY29udHJvbCB3b3JrcyBpbiBORE4vQ0NOeC4gVW5saWtlIHRoZSBJUCBw
cm90b2NvbCBmYW1pbHksIHdoaWNoIHJlbGllcyBvbiBlbmQtdG8tZW5kIGNvbmdlc3Rpb24gY29u
dHJvbCAoZS5nLiBUQ1A8eHJlZiB0YXJnZXQ9IlJGQzA3OTMiIGZvcm1hdD0iZGVmYXVsdCIvPiwg
RENDUDx4cmVmIHRhcmdldD0iUkZDNDM0MCIgZm9ybWF0PSJkZWZhdWx0Ii8+LCBTQ1RQPHhyZWYg
dGFyZ2V0PSJSRkM0OTYwIiBmb3JtYXQ9ImRlZmF1bHQiLz4sIFFVSUM8eHJlZiB0YXJnZXQ9Ikkt
RC5pZXRmLXF1aWMtdHJhbnNwb3J0IiBmb3JtYXQ9ImRlZmF1bHQiLz4pLCBDQ054IGFuZCBORE4g
ZW1wbG95IGhvcC1ieS1ob3AgY29uZ2VzdGlvbiBjb250cm9sLiBUaGVyZSBpcyBwZXItSW50ZXJl
c3QvRGF0YSBzdGF0ZSBhdCBldmVyeSBob3Agb2YgdGhlIHBhdGggYW5kIHRoZXJlZm9yZSBmb3Ig
ZWFjaCBvdXRzdGFuZGluZyBJbnRlcmVzdCwgYmFuZHdpZHRoIGZvciBkYXRhIHJldHVybmluZyBv
biB0aGUgaW52ZXJzZSBwYXRoIGNhbiBiZSBhbGxvY2F0ZWQuIEluIHRoZSBjdXJyZW50IGRlc2ln
biwgdGhpcyBhbGxvY2F0aW9uIGlzIGRvbmUgdXNpbmcgc2ltcGxlIEludGVyZXN0IGNvdW50aW5n
IC0gYnkgcXVldWVpbmcgYW5kIHN1YnNlcXVlbnRseSBmb3J3YXJkaW5nIG9uZSBJbnRlcmVzdCBt
ZXNzYWdlIGZyb20gYW4gZG93bnN0cmVhbSBub2RlLCBpbXBsaWNpdGx5IHRoaXMgcHJvdmlkZXMg
YSBndWFyYW50ZWUgKGVpdGhlciBoYXJkIG9yIHNvZnQpIHRoYXQgdGhlcmUgaXMgc3VmZmljaWVu
dCBiYW5kd2lkdGggb24gdGhlIGludmVyc2UgZGlyZWN0aW9uIG9mIHRoZSBsaW5rIHRvIHNlbmQg
YmFjayBvbmUgRGF0YSBtZXNzYWdlLiBBIG51bWJlciBvZiBjb25nZXN0aW9uIGNvbnRyb2wgc2No
ZW1lcyBoYXZlIGJlZW4gZGV2ZWxvcGVkIHRoYXQgb3BlcmF0ZSBpbiB0aGlzIGZhc2hpb24sIGZv
ciBleGFtcGxlIDx4cmVmIHRhcmdldD0iV2FuZzIwMTMiIGZvcm1hdD0iZGVmYXVsdCIvPiw8eHJl
ZiB0YXJnZXQ9Ik1haGRpYW4yMDE2IiBmb3JtYXQ9ImRlZmF1bHQiLz4sPHhyZWYgdGFyZ2V0PSJT
b25nMjAxOCIgZm9ybWF0PSJkZWZhdWx0Ii8+LDx4cmVmIHRhcmdldD0iQ2Fyb2ZpZ2xpbzIwMTIi
IGZvcm1hdD0iZGVmYXVsdCIvPi4gIE90aGVyIHNjaGVtZXMsIGxpa2UgPHhyZWYgdGFyZ2V0PSJT
Y2huZWlkZXIyMDE2IiBmb3JtYXQ9ImRlZmF1bHQiLz4gbmVpdGhlciBjb3VudCBub3IgcG9saWNl
IGludGVyZXN0cywgYnV0IGluc3RlYWQgbW9uaXRvciBxdWV1ZXMgdXNpbmcgQVFNIChhY3RpdmUg
cXVldWUgbWFuYWdlbWVudCkgdG8gbWFyayByZXR1cm5pbmcgRGF0YSBwYWNrZXRzIHRoYXQgaGF2
ZSBleHBlcmllbmNlZCBjb25nZXN0aW9uLiBJdCBpcyB3b3J0aCBub3RpbmcgdGhhdCBldmVyeSBj
b25nZXN0aW9uIGNvbnRyb2wgYWxnb3JpdGhtIGhhcyBhbiBleHBsaWNpdCBmYWlybmVzcyBnb2Fs
IGFuZCBhc3NvY2lhdGVkIG9iamVjdGl2ZSBmdW5jdGlvbiAodXN1YWxseSBlaXRoZXIgPHhyZWYg
dGFyZ2V0PSJtaW5tYXhmYWlybmVzcyIgZm9ybWF0PSJkZWZhdWx0Ii8+IG9yIDx4cmVmIHRhcmdl
dD0icHJvcG9ydGlvbmFsZmFpcm5lc3MiIGZvcm1hdD0iZGVmYXVsdCIvPikuIElmIHlvdXIgZmFp
cm5lc3MgaXMgdG8gYmUgYmFzZWQgb24gcmVzb3VyY2UgdXNhZ2UsIHB1cmUgaW50ZXJlc3QgY291
bnRpbmcgZG9lc24ndCBkbyB0aGUgdHJpY2ssIHNpbmNlIGEgY29uc3VtZXIgYXNraW5nIGZvciBs
YXJnZSB0aGluZyBjYW4gc2F0dXJhdGUgYSBsaW5rIGFuZCBzaGlmdCBsb3NzIHRvIGNvbnN1bWVy
cyBhc2tpbmcgZm9yIHNtYWxsIHRoaW5ncy48L3Q+CiAgICAgIAogICAgICA8dD5JbiBvcmRlciB0
byBkZWFsIHdpdGggYSBsYXJnZXIgZHluYW1pYyByYW5nZSBvZiBkYXRhIG9iamVjdCBzaXplLCBz
b21lIG1lYW5zIGlzIHJlcXVpcmVkIHRvIGFsbG9jYXRlIGxpbmsgYmFuZHdpZHRoIGZvciBkYXRh
IG1lc3NhZ2VzIGluIGJ5dGVzIHdpdGggYW4gdXBwZXIgYm91bmQgbGFyZ2VyIHRoYW4gYSBQYXRo
IE1UVSBhbmQgYSBsb3dlciBib3VuZCBsb3dlciB0aGFuIGEgc2luZ2xlIGxpbmsgTVRVLiBTaW5j
ZSByZXNvdXJjZXMgYXJlIGFsbG9jYXRlZCBmb3IgcmV0dXJuaW5nIERhdGEgYmFzZWQgb24gYXJy
aXZpbmcgSW50ZXJlc3RzLCB0aGlzIGluZm9ybWF0aW9uIG11c3QgYmUgYXZhaWxhYmxlIGluIElu
dGVyZXN0IG1lc3NhZ2VzLjwvdD4KICAgICAgCiAgICAgIDx0PlRoZXJlZm9yZSwgb25lIGtleSBp
ZGVhIGlzIHRoZSBpbmNsdXNpb24gb2YgYW4gPGVtPmV4cGVjdGVkIGRhdGEgc2l6ZTwvZW0+IFRM
ViBpbiBlYWNoIEludGVyZXN0IG1lc3NhZ2UuIFRoaXMgYWxsb3dzIGVhY2ggZm9yd2FyZGVyIG9u
IHRoZSBwYXRoIHRha2VuIGJ5IHRoZSBpbnRlcmVzdCB0byBtb3JlIGFjY3VyYXRlbHkgYWxsb2Nh
dGUgYmFuZHdpZHRoIG9uIHRoZSBpbnZlcnNlIHBhdGggZm9yIHRoZSByZXR1cm5pbmcgRGF0YSBt
ZXNzYWdlLiBBbHNvLCBieSBpbmNsdWRpbmcgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSwgbGFyZ2Ug
b2JqZWN0cyB3aWxsIGhhdmUgYSBjb3JyZXNwb25kaW5nIHdlaWdodCBpbiByZXNvdXJjZSBhbGxv
Y2F0aW9uLCBtYWludGFpbmluZyBsaW5rIGFuZCBmb3J3YXJkZXIgYnVmZmVyaW5nIGZhaXJuZXNz
LiBUaGUgc2ltcGxlciBJbnRlcmVzdCBjb3VudGluZyBzY2hlbWUgd2FzIG5vbWluYWxseSAiZmFp
ciIgb24gYSBwZXItZXhjaGFuZ2UgYmFzaXMgd2l0aGluIHRoZSB2YXJpYXRpb25zIG9mIGRhdGEg
dGhhdCBmaXQgaW4gYSBzaW5nbGUgUE1UVSBwYWNrZXQgYmVjYXVzZSBhbGwgSW50ZXJlc3RzIHBy
b2R1Y2VkIHNpbWlsYXIgYW1vdW50cyBvZiBkYXRhIGluIHJldHVybi4gSW4gdGhlIGFic2VuY2Ug
b2Ygc3VjaCBhIGZpZWxkLCBpdCBpcyBub3QgZmVhc2libGUgdG8gYWxsb3cgYSBsYXJnZSBkeW5h
bWljIHJhbmdlIGluIG9iamVjdCBzaXplLiBXaGlsZSBzY2hlbWVzIGxpa2UgPHhyZWYgdGFyZ2V0
PSJTY2huZWlkZXIyMDE2IiBmb3JtYXQ9ImRlZmF1bHQiLz4gd291bGQgbm90IGVtcGxveSB0aGUg
ZXhwZWN0ZWQgZGF0YSBzaXplIHRvIGFsbG9jYXRlIHJldmVyc2UgbGluayBiYW5kd2lkdGgsIHRo
ZXkgY2FuIHN0aWxsIGJlbmVmaXQgZnJvbSB0aGUgaW5mb3JtYXRpb24gdG8gYWZmZWN0IHRoZSBB
UU0gY29uZ2VzdGlvbiBtYXJraW5nIGFsZ29yaXRobSwgcHJlZmVyZW50aWFsbHkgbWFya2luZyBk
YXRhIHBhY2tldHMgdGhhdCBleGNlZWQgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZS48L3Q+CiAgICAg
IAogICAgICA8c2VjdGlvbiBhbmNob3I9InByZWRpY3Rpb24iIG51bWJlcmVkPSJ0cnVlIiB0b2M9
ImRlZmF1bHQiPgogICAgICAgIDxuYW1lPkhvdyB0byBwcmVkaWN0IHRoZSBzaXplIG9mIHJldHVy
bmluZyBEYXRhIG1lc3NhZ2VzPC9uYW1lPgogICAgICAgIDx0PlRoaXMgb2YgY291cnNlIHJhaXNl
cyB0aGUgcXVlc3Rpb24gIkhvdyBkb2VzIHRoZSByZXF1ZXN0ZXIga25vdyBob3cgYmlnIHRoZSBj
b3JyZXNwb25kaW5nIGRhdGEgY29taW5nIGJhY2sgd2lsbCBiZT8iLiBGb3IgYSBudW1iZXIgb2Yg
aW1wb3J0YW50IGFwcGxpY2F0aW9ucywgdGhlIHNpemUgaXMga25vd24gYSBwcmlvcmkgZHVlIHRv
IHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGFwcGxpY2F0aW9uLiBIZXJlIGFyZSBzb21lIGV4
YW1wbGVzOjwvdD4KICAgICAgICA8dWwgc3BhY2luZz0ibm9ybWFsIj4KICAgICAgICAgIDxsaT5G
b3IgbWFueSBzZW5zb3IgYW5kIG90aGVyIEludGVybmV0LW9mLVRoaW5ncyBhcHBsaWNhdGlvbnMs
IHRoZSBkYXRhIGlzIGluc3RydW1lbnQgcmVhZGluZ3Mgd2hpY2ggaGF2ZSBmaXhlZCBrbm93biBz
aXplLjwvbGk+CiAgICAgICAgICA8bGk+SW4gdmlkZW8gc3RyZWFtaW5nLCB0aGUgZGF0YSBpcyBv
dXRwdXQgb2YgYSB2aWRlbyBlbmNvZGVyIHdoaWNoIHByb2R1Y2VzIHZhcmlhYmxlIHNpemVkIGZy
YW1lcy4gVGhpcyBpbmZvcm1hdGlvbiBpcyB0eXBpY2FsbHkgbWFkZSBhdmFpbGFibGUgYWhlYWQg
b2YgdGltZSB0byB0aGUgc3RyZWFtaW5nIGNsaWVudHMgaW4gdGhlIGZvcm0gb2YgYSBNYW5pZmVz
dCBbNF0sIHdoaWNoIGNvbnRhaW5zIHRoZSBuYW1lcyBvZiB0aGUgY29ycmVzcG9uZGluZyBzZWdt
ZW50cyAob3IgaW5kaXZpZHVhbCBmcmFtZXMpIG9mIHZpZGVvIGFuZCBhdWRpbyBhbmQgdGhlaXIg
c2l6ZXMuPC9saT4KICAgICAgICAgIDxsaT5JbnRlcm5ldCB0ZWxlcGhvbnkgYXBwbGljYXRpb25z
IHVzZSB2b2NvZGVycyB0aGF0IHR5cGljYWxseSBlbXBsb3kgZml4ZWQtc2l6ZSBhdWRpbyBmcmFt
ZXMuIFRoZXJlZm9yZSwgdGhlaXIgc2l6ZSBpcyBrbm93biBlaXRoZXIgYSBwcmlvcmksIG9yIHZp
YSBhbiBpbml0aWFsaXphdGlvbiBleGNoYW5nZSBhdCB0aGUgc3RhcnQgb2YgYW4gYXVkaW8gc2Vz
c2lvbi48L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgCiAgICAgIDx0PlRoZSBtb3JlIGNvbXBs
ZXggY2FzZXMgYXJpc2Ugd2hlcmUgdGhlIGRhdGEgc2l6ZSBpcyBub3Qga25vd24gYXQgdGhlIHRp
bWUgdGhlIEludGVyZXN0IG11c3QgYmUgc2VudC4gTXVjaCBvZiB0aGUgbnVhbmNlIG9mIHRoZSBw
cm9wb3NlZCBzY2hlbWUgaXMgaW4gaG93IG1pc21hdGNoZXMgYmV0d2VlbiB0aGUgZXhwZWN0ZWQg
ZGF0YSBzaXplIGFuZCB0aGUgYWN0dWFsIGRhdGEgb2JqZWN0IHJldHVybmVkIGFyZSBoYW5kbGVk
LiBUaGUgY29uc3VtZXIgY2FuIGVpdGhlciB1bmRlci0gb3Igb3Zlci1lc3RpbWF0ZSB0aGUgZGF0
YSBzaXplLiBJbiB0aGUgZm9ybWVyIGNhc2UsIHRoZSB1bmRlci1lc3RpbWF0ZSBjYW4gbGVhZCB0
byBjb25nZXN0aW9uIGFuZCBwb3NzaWJsZSBsb3NzIG9mIGRhdGEuIEluIHRoZSBsYXR0ZXIgY2Fz
ZSwgYmFuZHdpZHRoIHRoYXQgY291bGQgaGF2ZSBiZWVuIHVzZWQgYnkgZGF0YSBvYmplY3RzIHJl
cXVlc3RlZCBieSBvdGhlciBjb25zdW1lcnMgbWlnaHQgYmUgd2FzdGVkLiBXZSBmaXJzdCBjb25z
aWRlciAiaG9uZXN0IiBtaXMtZXN0aW1hdGVzIGR1ZSB0byBpbXBlcmZlY3Qga25vd2xlZGdlIGJ5
IHRoZSBJQ04gYXBwbGljYXRpb247IGxhdGVyIHdlIGNvbnNpZGVyIG1hbGljaW91cyBhcHBsaWNh
dGlvbnMgdGhhdCBhcmUgdXNpbmcgdGhlIG1hY2hpbmVyeSB0byBtb3VudCBzb21lIGZvcm0gb2Yg
YXR0YWNrLiBXZSBhbHNvIGNvbnNpZGVyIHRoZSBlZmZlY3RzIG9mIEludGVyZXN0IGFnZ3JlZ2F0
aW9uIGlmIHRoZSBhZ2dyZWdhdGVkIEludGVyZXN0cyBoYXZlIGRpZmZlcmluZyBleHBlY3RlZCBk
YXRhIHNpemVzLiBBbHNvLCBpdCBzaG91bGQgYmUgb2J2aW91cyB0aGF0IGlmIHRoZSBEYXRhIG1l
c3NhZ2UgYXJyaXZlcywgdGhlIGFwcGxpY2F0aW9uIGxlYXJucyBpdHMgYWN0dWFsIHNpemUsIHdo
aWNoIG1heSBvciBtYXkgbm90IGJlIHVzZWZ1bCBpbiBhZGp1c3RpbmcgdGhlIGV4cGVjdGVkIGRh
dGEgc2l6ZSBlc3RpbWF0ZSBmb3IgZnV0dXJlIEludGVyZXN0cy48L3Q+CiAgICAgIAogICAgICA8
dD5JbiBhbGwgY2FzZXMsIHRoZSBleHBlY3RlZCBkYXRhIHNpemUgZnJvbSB0aGUgSW50ZXJlc3Qg
Y2FuIGJlIGluY29ycG9yYXRlZCBpbiB0aGUgY29ycmVzcG9uZGluZyBQZW5kaW5nIEludGVyZXN0
IFRhYmxlIChQSVQpIGVudHJ5IG9mIGVhY2ggQ0NOeC9ORE4gZm9yd2FyZGVyIG9uIHRoZSBwYXRo
IGFuZCBoZW5jZSB3aGVuIGEgKHBvc3NpYmx5IGZyYWdtZW50ZWQpIERhdGEgb2JqZWN0IGNvbWVz
IGJhY2ssIGl0cyB0b3RhbCBzaXplIGlzIGtub3duIGFuZCBjYW4gYmUgY29tcGFyZWQgdG8gdGhl
IGV4cGVjdGVkIHNpemUgaW4gdGhlIFBJVCBmb3IgYSBtaXNtYXRjaC4gQXNpZGU6IEluIHRoZSBj
YXNlIG9mIGZyYWdtZW50YXRpb24sIHdlIGFzc3VtZSBhIGZyYWdtZW50YXRpb24gc2NoZW1lIGlu
IHdoaWNoIHRoZSB0b3RhbCBkYXRhIHNpemUgY2FuIGJlIGtub3duIGFzIHNvb24gYXMgYW55IG9u
ZSBmcmFnbWVudCBpcyByZWNlaXZlZCAoYSByZWFzb25hYmxlIGFzc3VtcHRpb24gZm9yIG1vc3Qg
YW55IHdlbGwtZGVzaWduZWQgZnJhZ21lbnRhdGlvbiBtZXRob2QsIHN1Y2ggYXMgdGhhdCBpbiA8
eHJlZiB0YXJnZXQ9J0doYWxpMjAxMycvPikuPC90PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8
c2VjdGlvbiBhbmNob3I9InRvb2JpZyIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAg
ICAgICAgPG5hbWU+SGFuZGxpbmcgYHRvbyBiaWcnIGNhc2VzPC9uYW1lPgogICAgICA8dD5JZiB0
aGUgcmV0dXJuaW5nIGRhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSwg
dGhlIGV4dHJhIGRhdGEgY291bGQgcmVzdWx0IGluIGVpdGhlciB1bmZhaXIgYmFuZHdpZHRoIGFs
bG9jYXRpb24gb3IgcG9zc2libHkgZGF0YSBsb3NzIHVuZGVyIGNvbmdlc3Rpb24gY29uZGl0aW9u
cy4gV2hlbiB0aGlzIGlzIGRldGVjdGVkLCB0aGUgZm9yd2FyZGVyIGhhcyB0aHJlZSBjaG9pY2Vz
OjwvdD4KICAgICAgCiAgICAgICAgPG9sIHNwYWNpbmc9Im5vcm1hbCIgdHlwZT0iMSI+CiAgICAg
ICAgICA8bGk+SXQgY291bGQgZm9yd2FyZCB0aGUgZGF0YSBhbnl3YXksIHdoaWNoIGlzIHNhZmUg
dW5kZXIgbm9uLWNvbmdlc3Rpb24gY29uZGl0aW9ucywgYnV0IHVuZmFpciBhbmQgcG9zc2libHkg
dW5zdGFibGUgd2hlbiB0aGUgb3V0cHV0IGxpbmsgaXMgY29uZ2VzdGVkPC9saT4KICAgICAgICAg
IDxsaT5JdCBjb3VsZCBmb3J3YXJkIHRoZSBkYXRhIHdoZW4gdW4tY29uZ2VzdGVkIChlLmcuIGJ5
IGFzc2Vzc2luZyBvdXRwdXQgcXVldWUgZGVwdGgpIGJ1dCBkcm9wIGl0IHdoZW4gY29uZ2VzdGVk
PC9saT4KICAgICAgICAgIDxsaT5JdCBjb3VsZCBhbHdheXMgZHJvcCB0aGUgZGF0YSwgYXMgYSB3
YXkgb2YgInB1bmlzaGluZyIgdGhlIHJlcXVlc3RlciBmb3IgdGhlIG1pcy1lc3RpbWF0ZS48L2xp
PgogICAgICAgIDwvb2w+CiAgICAKICAgIDx0PkVpdGhlciBvZiB0aGUgbGF0dGVyIHR3byBzdHJh
dGVnaWVzIGlzIGFjY2VwdGFibGUgZnJvbSBhIGNvbmdlc3Rpb24gY29udHJvbCBwb2ludCBvZiB2
aWV3LiBIb3dldmVyLCBpdCBpcyBub3QgYSBnb29kIGlkZWEgdG8gc2ltcGx5IGRyb3AgdGhlIERh
dGEgbWVzc2FnZSB3aXRoIG5vIGZlZWRiYWNrIHRvIHRoZSBpc3N1ZXIgb2YgdGhlIEludGVyZXN0
IGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGhhcyBubyB3YXkgdG8gbGVhcm4gdGhlIGFjdHVhbCBk
YXRhIHNpemUgYW5kIHJldHJ5LiBGdXJ0aGVyLCByZWNvdmVyeSB3b3VsZCBiZSBkZWxheWVkIHVu
dGlsIHRoZSBmYWlsaW5nIEludGVyZXN0IHRpbWVkIG91dC4gVGhlcmVmb3JlLCBhbiBhZGRpdGlv
bmFsIGVsZW1lbnQgbmVlZGVkIGluIHByb3RvY29sIHNlbWFudGljcyBpcyB0aGUgaW5jb3Jwb3Jh
dGlvbiBvZiBhICJEYXRhIHRvbyBiaWciIGVycm9yIG1lc3NhZ2UgKHZpYSBhbiAiaW50ZXJlc3Qg
UmV0dXJuIiBwYWNrZXQgaW4gQ0NOeCkuPC90PgogICAgCiAgICA8dD5VcG9uIGRyb3BwaW5nIGRh
dGEgYXMgYWJvdmUsIHRoZSBDQ054L05ETiBmb3J3YXJkZXIgY29udmVydHMgdGhlIG5vcm1hbCBE
YXRhIG1lc3NhZ2UgaW50byBhbiBJbnRlcmVzdCBSZXR1cm4gbWVzc2FnZSBjb250YWluaW5nIHRo
ZSB3aXRoIHRoZSBleGlzdGluZyBUX01UVV9UT09fTEFSR0UgZXJyb3IgY29kZSBhbmQgdGhlIGFj
dHVhbCBzaXplIG9mIHRoZSBkYXRhIG9iamVjdCBpbnN0ZWFkIG9mIHRoZSBkYXRhIG9iamVjdCBj
b250ZW50LiBJdCBwcm9wYWdhdGVzIHRoYXQgYmFjayB0b3dhcmQgdGhlIGNsaWVudCBpZGVudGlj
YWxseSB0byBob3cgdGhlIG9yaWdpbmFsIERhdGEgbWVzc2FnZSB3b3VsZCBoYXZlIGJlZW4gaGFu
ZGxlZC4gU3Vic2VxdWVudCBub2RlcyB1cG9uIHJlY2VpdmluZyB0aGUgVF9NVFVfVE9PX0xBUkdF
IGVycm9yIHRyZWF0IGl0IGFzIGFsbCBvdGhlciBJbnRlcmVzdCBSZXR1cm4gZXJyb3JzLiBXaGVu
IHRoZSBJbnRlcmVzdCBSZXR1cm4gZXZlbnR1YWxseSBhcnJpdmVzIGJhY2sgdG8gdGhlIGlzc3Vl
ciBvZiB0aGUgSW50ZXJlc3QsIHRoZSB1c2VyIE1BWSByZWlzc3VlIHRoZSBJbnRlcmVzdCB3aXRo
IHRoZSBjb3JyZWN0IGV4cGVjdGVkIGRhdGEgc2l6ZS48L3Q+CiAgICAKICAgIDx0Pk9uZSBkZXRh
aWwgdG8gbm90ZSBpcyB0aGF0IGFuIEludGVyZXN0IFJldHVybiBjYXJyeWluZyBUX01UVV9UT09f
TEFSR0UgbXVzdCBiZSBkZXRlcm1pbmlzdGljYWxseSBzbWFsbGVyIHRoYW4gdGhlIGV4cGVjdGVk
IGRhdGEgc2l6ZSBpbiBhbGwgY2FzZXMuIFRoaXMgaXMgY2xlYXJseSB0aGUgY2FzZSBmb3IgbGFy
Z2UgZGF0YSBvYmplY3RzLCBidXQgdGhlcmUgaXMgYSBjb3JuZXIgY2FzZSB3aXRoIHNtYWxsIGRh
dGEgb2JqZWN0cy4gVGhlcmUgaGFzIHRvIGJlIGEgbWluaW11bSBleHBlY3RlZCBkYXRhIHNpemUg
dGhhdCBhIGNsaWVudCBjYW4gc3BlY2lmeSBpbiB0aGVpciBJbnRlcmVzdHMsIGFuZCB0aGF0IG1p
bmltdW0gY2Fubm90IGJlIHNtYWxsZXIgdGhhbiB0aGUgc2l6ZSBvZiBhIFRfTVRVX1RPT19MQVJH
RSBJbnRlcmVzdCBSZXR1cm48L3Q+CiAgPC9zZWN0aW9uPgogIAogIDxzZWN0aW9uIGFuY2hvcj0i
dG9vc21hbGwiIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICAgIDxuYW1lPkhh
bmRsaW5nIGB0b28gc21hbGwnIGNhc2VzPC9uYW1lPgogICAgPHQ+TmV4dCB3ZSBjb25zaWRlciB0
aGUgY2FzZSB3aGVyZSB0aGUgcmV0dXJuaW5nIGRhdGEgaXMgc21hbGxlciB0aGFuIHRoZSBleHBl
Y3RlZCBkYXRhIHNpemUuIFdoaWxlIHRoaXMgY2FzZSBkb2VzIG5vdCByZXN1bHQgaW4gY29uZ2Vz
dGlvbiwgaXQgY2FuIGNhdXNlIHJlc291cmNlcyB0byBiZSBpbmVmZmljaWVudGx5IGFsbG9jYXRl
ZCBiZWNhdXNlIG5vdCBhbGwgb2YgdGhlIHNldC1hc2lkZSBiYW5kd2lkdGggZm9yIHRoZSByZXR1
cm5pbmcgZGF0YSBvYmplY3QgZ2V0cyB1c2VkLiBUaGUgc2ltcGxlc3QgYW5kIG1vc3Qgc3RyYWln
aHRmb3J3YXJkIHdheSB0byBkZWFsIHdpdGggdGhpcyBjYXNlIGlzIHRvIGVzc2VudGlhbGx5IGln
bm9yZSBpdC4gVGhlIG1vdGl2YXRpb24gZm9yIG5vdCB3b3JyeWluZyBhYm91dCB0aGUgc21hbGxl
ciBkYXRhIG1pc21hdGNoIGlzIHRoYXQgaW4gbWFueSBzaXR1YXRpb25zIHRoYXQgZW1wbG95IHVz
YWdlLWJhc2VkIHJlc291cmNlIG1lYXN1cmVtZW50IChhbmQgcG9zc2libHkgY2hhcmdpbmcpLCBp
dCBpcyB0cml2aWFsIHRvIGp1c3QgYWNjb3VudCBmb3IgdGhlIHVzYWdlIGFjY29yZGluZyB0byB0
aGUgbGFyZ2VyIGV4cGVjdGVkIGRhdGEgc2l6ZSByYXRoZXIgdGhhbiBhY3R1YWwgcmV0dXJuZWQg
ZGF0YSBzaXplLiBQcm9wZXJseSBhZGp1c3RpbmcgY29uZ2VzdGlvbiBjb250cm9sIHBhcmFtZXRl
cnMgdG8gc29tZWhvdyBwZW5hbGl6ZSB1c2VycyBmb3Igb3Zlci1lc3RpbWF0aW5nIHRoZWlyIHJl
c291cmNlIHVzYWdlIHJlcXVpcmVzIGZhaXJseSBoZWF2eXdlaWdodCBtYWNoaW5lcnksIHdoaWNo
IGluIG1vc3QgY2FzZXMgaXMgbm90IHdhcnJhbnRlZC4gSWYgZGVzaXJlZCwgYW55IG9mIHRoZSBm
b2xsb3dpbmcgbWVjaGFuaXNtcyBjb3VsZCBiZSBjb25zaWRlcmVkOjwvdD4KICAgICAgICA8dWwg
c3BhY2luZz0ibm9ybWFsIj4KICAgICAgICAgIDxsaT5BdHRlbXB0IHRvIGlkZW50aWZ5IGZ1dHVy
ZSBJbnRlcmVzdHMgZm9yIHRoZSBzYW1lIG9iamVjdCBvciBjbG9zZWx5IHJlbGF0ZWQgb2JqZWN0
cyBhbmQgYWxsb2NhdGUgcmVzb3VyY2VzIGJhc2VkIG9uIHNvbWUgcmV0YWluZWQgc3RhdGUgYWJv
dXQgdGhlIGFjdHVhbCBzaXplIG9mIHByaW9yIG9iamVjdHM8L2xpPgogICAgICAgICAgPGxpPlBv
bGljZSBjb25zdW1lciBiZWhhdmlvciBhbmQgZGVjcmVhc2UgdGhlIGV4cGVjdGVkIGRhdGEgc2l6
ZSBpbiBvbmUgb3IgbW9yZSBmdXR1cmUgSW50ZXJlc3RzIHRvIGNvbXBlbnNhdGU8L2xpPgogICAg
ICAgICAgPGxpPkZvciBzbWFsbCBvYmplY3RzLCBkbyBtb3JlIG9wdGltaXN0aWMgcmVzb3VyY2Ug
YWxsb2NhdGlvbiBvbiB0aGUgbGlua3Mgb24gdGhlIHByZXN1bXB0aW9uIHRoYXQgdGhlcmUgd2ls
bCBiZSBzb21lICJzbGFjayIgZHVlIHRvIGNsaWVudHMgb3ZlcmVzdGltYXRpbmcgZGF0YSBvYmpl
Y3Qgc2l6ZS48L2xpPgogICAgICAgIDwvdWw+CiA8L3NlY3Rpb24+CiAKIDxzZWN0aW9uIGFuY2hv
cj0iYWdncmVnYXRpb24iIG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICAgIDxu
YW1lPkludGVyYWN0aW9ucyB3aXRoIEludGVyZXN0IEFnZ3JlZ2F0aW9uPC9uYW1lPgoKICAgIDx0
Pk9uZSBwcm90b2NvbCBkZXRhaWwgb2YgQ0NOeC9ORE4gdGhhdCBuZWVkcyB0byBiZSBkZWFsdCB3
aXRoIGlzIEludGVyZXN0IEFnZ3JlZ2F0aW9uLiBUaGlzIGhhcHBlbnMgd2hlbiBtdWx0aXBsZSBJ
bnRlcmVzdHMgYXJyaXZlIGF0IGEgZm9yd2FyZGVyIGZvciB0aGUgc2FtZSBOYW1lZCBvYmplY3Qu
IFRoZXNlIGFyZSBhZ2dyZWdhdGVkIHN1Y2ggdGhhdCBvbmUgb2YgdGhlbSAoaS5lLnRoZSBmaXJz
dCB0byBhcnJpdmUgYW5kIGNyZWF0ZSBQSVQgc3RhdGUpIGlzIGZvcndhcmRlZCwgYW5kIHRoZSBy
ZXN0IGFyZSBkcm9wcGVkIHdoaWxlIG1hcmtpbmcgdGhlIGFycml2YWwgZmFjZSBzbyB0aGUgZGF0
YSBjYW4gYmUgc2VudCBiYWNrIHRvIHRoZSBtdWx0aXBsZSByZXF1ZXN0aW5nIGNsaWVudHMuIElu
dGVyZXN0IGFnZ3JlZ2F0aW9uIGludGVyYWN0cyB3aXRoIGV4cGVjdGVkIGRhdGEgc2l6ZSBpZiBJ
bnRlcmVzdHMgZnJvbSBkaWZmZXJlbnQgY2xpZW50cyBjb250YWluIGRpZmZlcmVudCB2YWx1ZXMg
b2YgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZS4gQXMgYWJvdmUsIHRoZSBzaW1wbGVzdCBzb2x1dGlv
biB0byB0aGlzIHByb2JsZW0gaXMgdG8gaWdub3JlIGl0LCBhcyBtb3N0IGVycm9yIGNhc2VzIGFy
ZSBiZW5pZ24uIEhvd2V2ZXIsIHRoZXJlIGlzIG9uZSBwcm9ibGVtYXRpYyBlcnJvciBjYXNlIHdo
ZXJlIG9uZSBjbGllbnQgcHJvdmlkZXMgYW4gYWNjdXJhdGUgZXhwZWN0ZWQgZGF0YSBzaXplLCBi
dXQgYW5vdGhlciB3aG8gaXNzdWVkIHRoZSBJbnRlcmVzdCBmaXJzdCB1bmRlcmVzdGltYXRlcywg
Y2F1c2luZyBib3RoIHRvIHJlY2VpdmUgYSBEYXRhIHRvbyBiaWcgZXJyb3IuIFRoaXMgaW50cm9k
dWNlcyBhIGRlbmlhbCBvZiBzZXJ2aWNlIHZ1bG5lcmFiaWxpdHksIHdoaWNoIHdlIGRpc2N1c3Mg
YmVsb3cgdG9nZXRoZXIgd2l0aCB0aGUgb3RoZXIgbWFsaWNpb3VzIGFjdG9yIGNhc2VzLjwvdD4K
CiAgICA8dD5JbnRlcmVzdCBBZ2dyZWdhdGlvbiwgd2hpbGUgYSBwb3dlcmZ1bCBmZWF0dXJlIGZv
ciBtYWludGFpbmluZyBmbG93IGJhbGFuY2Ugd2hlbiBtdWx0aXBsZSBjb25zdW1lcnMgc2VuZCBJ
bnRlcmVzdHMgZm9yIHRoZSBzYW1lIE5hbWVkIG9iamVjdCwgaW50cm9kdWNlcyBzdWJ0bGUgY29t
cGxpY2F0aW9ucy4gV2hlbmV2ZXIgYSBzZWNvbmQgb3Igc3Vic2VxdWVudCBJbnRlcmVzdCBhcnJp
dmVzIGF0IGEgZm9yd2FyZGVyIHdpdGggYW4gYWN0aXZlIFBJVCBlbnRyeSBpdCBpcyBwb3NzaWJs
ZSB0aGF0IHRob3NlIEludGVyZXN0cyBjYXJyeSBkaWZmZXJlbnQgcGFyYW1ldGVycywgZm9yIGV4
YW1wbGUgaG9wIGxpbWl0LCBwYXlsb2FkLCBldGMuIEl0IGlzIHRoZXJlZm9yZSBuZWNlc3Nhcnkg
dG8gc3BlY2lmeSB0aGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhlIGZvcndhcmRlciBmb3IgZWFjaCBv
ZiB0aGUgcGFyYW1ldGVycyB0aGF0IG1pZ2h0IGRpZmZlci4gSW4gdGhlIGNhc2Ugb2YgdGhlIGV4
cGVjdGVkIGRhdGEgc2l6ZSBwYXJhbWV0ZXIgZGVmaW5lZCBoZXJlLCB0aGUgdmFsdWUgaXMgYXNz
b2NpYXRlZCB3aXRoIHRoZSBpbmdyZXNzIGZhY2Ugb24gd2hpY2ggdGhlIEludGVyZXN0IGNyZWF0
aW5nIHRoZSBQSVQgZW50cnkgYXJyaXZlZCwgYXMgb3Bwb3NlZCB0byBiZWluZyBnbG9iYWwgdG8g
dGhlIFBJVCBlbnRyeSBhcyBhIHdob2xlLiBUaGVyZSBhcmUgdHdvIGNhc2VzIHRvIGNvbnNpZGVy
OjwvdD4KICAgIAogICAgICAgIDxvbCBzcGFjaW5nPSJub3JtYWwiIHR5cGU9IjEiPgogICAgICAg
ICAgPGxpPlRoZSBhcnJpdmluZyBpbnRlcmVzdCBjYXJyaWVzIGFuIGV4cGVjdGVkIGRhdGEgc2l6
ZSBzbWFsbGVyIHRoYW4gYW55IG9mIHRoZSB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBQSVQg
ZW50cnkuPC9saT4KICAgICAgICAgIDxsaT5UaGUgYXJyaXZpbmcgaW50ZXJlc3QgY2FycmllcyBh
biBleHBlY3RlZCBkYXRhIHNpemUgbGFyZ2VyIHRoYW4gYW55IG9mIHRoZSB2YWx1ZXMgYXNzb2Np
YXRlZCB3aXRoIHRoZSBQSVQgZW50cnkuPC9saT4KICAgICAgICA8L29sPgogICAgCiAgICA8dD5G
b3IgQ2FzZSAoMSkgdGhlIEludGVyZXN0IGNhbiBiZSBzYWZlbHkgYWdncmVnYXRlZCBzaW5jZSB0
aGUgdXBzdHJlYW0gbGlua3Mgd2lsbCBoYXZlIHN1ZmZpY2llbnQgYmFuZHdpZHRoIGFsbG9jYXRl
ZCBiYXNlZCBvbiB0aGUgbGFyZ2VyIGV4cGVjdGVkIGRhdGEgc2l6ZSAoYXNzdW1pbmcgdGhlIG9y
aWdpbmFsIEludGVyZXN0J3MgZXhwZWN0ZWQgZGF0YSBzaXplIHdhcyBpdHNlbGYgc3VmZmljaWVu
dGx5IGxhcmdlIHRvIGFjY29tbW9kYXRlIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgcmV0dXJuaW5n
IERhdGEpLiBPbiB0aGUgb3RoZXIgaGFuZCwgc2hvdWxkIHRoZSBpbmNvbWluZyBmYWNlIGhhdmUg
YmFuZHdpZHRoIGFsbG9jYXRlZCBiYXNlZCBvbiB0aGUgbGFyZ2VyIGV4aXN0aW5nIEludGVyZXN0
J3MgZXhwZWN0ZWQgZGF0YSBzaXplLCBvciBvbiB0aGUgc21hbGxlciB2YWx1ZSBpbiB0aGUgYXJy
aXZpbmcgaW50ZXJlc3Q/IEhlcmUgdGhlcmUgYXJlIHR3byBwb3NzaWJsZSBhcHByb2FjaGVzOjwv
dD4KICAgIAogICAgICAgIDxvbCBzcGFjaW5nPSJub3JtYWwiIHR5cGU9ImEiPgogICAgICAgICAg
PGxpPkFsbG9jYXRlIGJhc2VkIG9uIHRoZSBkYXRhIHNpemUgYWxyZWFkeSBpbiB0aGUgUElULiBJ
biB0aGlzIGNhc2UgdGhlIGNvbnN1bWVyIHNlbmRpbmcgdGhlIGVhcmxpZXIgSW50ZXJlc3QgY2Fu
IGNhdXNlIG92ZXItYWxsb2NhdGlvbiBvZiBsaW5rIGJhbmR3aWR0aCBmb3Igb3RoZXIgaW5jb21p
bmcgZmFjZXMsIGJ1dCB0aGVyZSB3aWxsIG5vdCBiZSBhIFRfTVRVX1RPT19MQVJHRSBlcnJvciBn
ZW5lcmF0ZWQgZm9yIHRoYXQgSW50ZXJlc3Q8L2xpPgogICAgICAgICAgPGxpPkFsbG9jYXRlIGJh
c2VkIG9uIHRoZSB2YWx1ZSBpbiB0aGUgYXJyaXZpbmcgSW50ZXJlc3QuIElmIHRoZSByZXR1cm5p
bmcgRGF0YSBpcyBpbiBmYWN0IGxhcmdlciwgZ2VuZXJhdGUgYSBUX01UVV9UT09fTEFSR0UgSW50
ZXJlc3QgUmV0dXJuIG9uIHRoYXQgaW5ncmVzcyBmYWNlLCB3aGlsZSBzdWNjZXNzZnVsbHkgcmV0
dXJuaW5nIHRoZSBEYXRhIG1lc3NhZ2Ugb24gYW55IGZhY2VzIHRoYXQgZG8gbm90IGV4aGliaXQg
YSB0b28gc21hbGwgZXhwZWN0ZWQgZGF0YSBzaXplPC9saT4KICAgICAgICA8L29sPgogICAgCiAg
ICA8dD5JdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBzZWNvbmQgcG9saWN5IGJlIGZvbGxvd2Vk
LiBUaGUgcmVhc29ucyBiZWhpbmQgdGhpcyByZWNvbW1lbmRhdGlvbiBhcmUgYXMgZm9sbG93czo8
L3Q+CiAgICAKICAgICAgICA8b2wgc3BhY2luZz0ibm9ybWFsIiB0eXBlPSIxIj4KICAgICAgICAg
IDxsaT5UaGUgbGluayBjYW4gYmUgY29uZ2VzdGVkIHF1aXRlIHF1aWNrbHkgYWZ0ZXIgdGhlIHF1
ZXVpbmcgZGVjaXNpb24gaXMgbWFkZSwgZXNwZWNpYWxseSBpZiB0aGUgZGF0YSBoYXMgYSBsb25n
IGxpbmstb2NjdXBhbmN5IHRpbWUsIHNvIHRoaXMgaXMgYSBzYWZlciBhbHRlcm5hdGl2ZS48L2xp
PgogICAgICAgICAgPGxpPlRoZSBjb3N0IG9mIHJldHVybmluZyB0aGUgZXJyb3IgaXMgb25seSBv
bmUgbGluayBSVFQsIHNpbmNlIHRoZSBjb25zdW1lciAob3IgZG93bnN0cmVhbSBmb3J3YXJkZXIp
IGNhbiBpbW1lZGlhdGVseSByZS1pc3N1ZSB0aGUgaW50ZXJlc3Qgd2l0aCB0aGUgY29ycmVjdCBz
aXplIGFuZCBwaWNrIHVwIHRoZSBjYWNoZWQgb2JqZWN0IGZyb20gdGhlIHVwc3RyZWFtIGZvcndh
cmRlcidzIENvbnRlbnQgU3RvcmUuPC9saT4KICAgICAgICAgIDxsaT5CZWluZyBvcHRpbWlzdGlj
IGFuZCByZXR1cm5pbmcgdGhlIGRhdGEgaW50ZXJhY3RzIHdpdGggdGhlIGJlaGF2aW9yIG9mIGFn
Z3JlZ2F0ZSByZXNvdXJjZSBjb250cm9sIGFuZCByZXNvdXJjZSBhY2NvdW50aW5nLCB3aGljaCBp
biB0dXJuIHJhaXNlcyB0aGUgbWVzc3kgaXNzdWUgb2Ygd2hldGhlciB0byAiY2hhcmdlIiB0aGUg
Y29uc3VtZXIgZm9yIHRoZSBhY3R1YWwgYmFuZHdpZHRoIHVzZWQgb3Igb25seSBmb3IgdGhlIHJl
cXVlc3RlZCBiYW5kd2lkdGggaW4gdGhlIGV4cGVjdGVkIGRhdGEuPC9saT4KICAgICAgICAgIDxs
aT5UaGUgcmFiYml0IGhvbGUgZ29lcyBkZWVwZXIgaWYgeW91IGFkZCBkaWZmZXJlbnRpYWwgUW9T
IHRvIHRoZSBlcXVhdGlvbiBvciBjb25zdW1lcnMgInBsYXlpbmcgZ2FtZXMiIGFuZCBpbnRlbnRp
b25hbGx5IHVuZGVyZXN0aW1hdGluZyBzbyB0aGVpciBpbnRlcmVzdHMgZ2V0IHNhdGlzZmllZCB3
aGVuIGxpbmtzIGFyZW4ndCBjb25nZXN0ZWQuIFRoaXMgbWFrZXMgaGFuZGxpbmcgbWFsaWNpb3Vz
IGFjdG9ycyAoPHhyZWYgdGFyZ2V0PSJtYWxpY2lvdXMiIGZvcm1hdD0iZGVmYXVsdCIvPikgbW9y
ZSBkaWZmaWN1bHQuPC9saT4KICAgICAgICA8L29sPgoJCgk8dD5Gb3IgQ2FzZSAoMikgYWJvdmUs
IHRoZSBJbnRlcmVzdCBNVVNUIGJlIGZvcndhcmRlZCByYXRoZXIgdGhhbiBhZ2dyZWdhdGVkIHRv
IHByZXZlbnQgYSBjb25zdW1lciBmcm9tIG1vdW50aW5nIGEgZGVuaWFsIG9mIHNlcnZpY2UgYXR0
YWNrIGJ5IHNlbmRpbmcgaW50ZW50aW9uYWxseSB0b28gc21hbGwgZXhwZWN0ZWQgZGF0YSBzaXpl
IChzZWUgPHhyZWYgdGFyZ2V0PSJtYWxpY2lvdXMiIGZvcm1hdD0iZGVmYXVsdCIvPiBmb3IgYWRk
aXRpb25hbCBkZXRhaWwgb24gdGhpcyBhbmQgb3RoZXIgYXR0YWNrcykuIEFzIGFib3ZlIGZvciBD
YXNlICgxKSBpdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHBvbGljeSAoYikgYWJvdmUgYmUgZm9sbG93
ZWQuPC90PgogIDwvc2VjdGlvbj4KICAKICA8c2VjdGlvbiBhbmNob3I9ImNvbXBhdGliaWxpdHki
IG51bWJlcmVkPSJ0cnVlIiB0b2M9ImRlZmF1bHQiPgogICAgICAgIDxuYW1lPk9wZXJhdGlvbiB3
aGVuIHNvbWUgSW50ZXJlc3RzIGxhY2sgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSBvcHRpb24gYW5k
IHNvbWUgaGF2ZSBpdDwvbmFtZT4KICAKICAgIDx0PlNpbmNlIHRoZSBleHBlY3RlZCBkYXRhIHNp
emUgaXMgYW4gb3B0aW9uYWwgaG9wLWJ5LWhvcCBwYWNrZXQgZmllbGQsIGZvcndhcmRlcnMgbmVl
ZCB0byBiZSBwcmVwYXJlZCB0byBoYW5kbGUgYW4gYXJiaXRyYXJ5IG1peCBvZiBwYWNrZXRzIGNv
bnRhaW5pbmcgb3IgbGFja2luZyB0aGlzIG9wdGlvbi4gVGhlcmUgYXJlIHR3byBnZW5lcmFsIHRo
aW5ncyB0byBhZGRyZXNzLiA8L3Q+CiAgICAKICAgIDx0PkZpcnN0LCB3ZSBhc3N1bWUgdGhhdCBh
bnkgZm9yd2FyZGVyIHN1cHBvcnRpbmcgZXhwZWN0ZWQgZGF0YSBzaXplIGlzIHJ1bm5pbmcgYSBt
b3JlIHNvcGhpc3RpY2F0ZWQgY29uZ2VzdGlvbiBjb250cm9sIGFsZ29yaXRobSB0aGF0IG9uZSBl
bXBsb3lpbmcgc2ltcGxlIGludGVyZXN0IGNvdW50aW5nLiBUaGUgbGluayBiYW5kd2lkdGggcmVz
b3VyY2UgYWxsb2NhdGlvbiBpcyB0aGVyZWZvcmUgYmFzZWQgZGlyZWN0bHksIG9yIGluZGlyZWN0
bHksIG9uIHRoZSBleHBlY3RlZCBEYXRhIHNpemUgaW4gYnl0ZXMuIFRoZXJlZm9yZSwgdGhlIGZv
cndhcmRlciBoYXMgdG8gYXNzaWduIGEgdmFsdWUgdG8gdXNlIGluIHRoZSByZXNvdXJjZSBhbGxv
Y2F0aW9uIGZvciB0aGUgcmV2ZXJzZSBsaW5rLiBUaGlzIHNwZWNpZmljYXRpb24gZG9lcyBub3Qg
bWFuZGF0ZSBhbnkgcGFydGljdWxhciBhcHByb2FjaCBvciBhIGRlZmF1bHQgdmFsdWUgdG8gdXNl
LiBIb3dldmVyLCBpbiB0aGUgYWJzZW5jZSBvbiBvdGhlciBndWlkYW5jZSwgaXQgbWFrZXMgc2Vu
c2UgdG8gZG8gb25lIG9mIHR3byB0aGluZ3M6PC90PgogICAgCiAgICAgICAgPG9sIHNwYWNpbmc9
Im5vcm1hbCIgdHlwZT0iMSI+CiAgICAgICAgICA8bGk+UGljayBhIGRlZmF1bHQgYmFzZWQgb24g
dGhlIGxpbmsgTVRVIG9mIHRoZSBmYWNlIG9uIHdoaWNoIHRoZSBJbnRlcmVzdCBhcnJpdmVkIGFu
ZCB1c2UgdGhhdCBmb3IgYWxsIEludGVyZXN0cyBsYWNraW5nIGFuIGV4cGVjdGVkIGRhdGEgc2l6
ZS4gVGhpcyBpcyBsaWtlbHkgdG8gYmUgbW9zdCBjb21wYXRpYmxlIHdpdGggc2ltcGxlIGludGVy
ZXN0IGNvdW50aW5nIHdoaWNoIHdvdWxkIHJhdGUgbGltaXQgYWxsIGluY29taW5nIGludGVyZXN0
cyBlcXVhbGx5PC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHQ+Q29uZmlndXJlIHNv
bWUgdmFsdWVzIGZvciBnaXZlbiBOYW1lIHByZWZpeGVzIHRoYXQgaGF2ZSBrbm93biBzaXplcy4g
VGhpcyBtYXkgYmUgYXBwcm9wcmlhdGUgZm9yIGRlZGljYXRlZCBmb3J3YXJkZXJzIHN1cHBvcnRp
bmcgc2luZ2xlIHVzZSBjYXNlcywgc3VjaCBhczo8L3Q+CiAgICAgICAgICAgIDx1bCBzcGFjaW5n
PSJub3JtYWwiPgogICAgICAgICAgICAgIDxsaT5BIGZvcndhcmRlciBoYW5kbGluZyBJb1Qgc2Vu
c29ycyBzZW5kaW5nIHZlcnkgc21hbGwgRGF0YSBwYWNrZXRzPC9saT4KICAgICAgICAgICAgICA8
bGk+QSBmb3J3YXJkZXIgaGFuZGxpbmcgcmVhbC10aW1lIHZpZGVvIHdpdGggbGFyZ2UgYXZlcmFn
ZSBEYXRhIHBhY2tldHMgdGhhdCBleGNlZWQgbGluayBNVFUgYW5kIGFyZSByb3V0aW5lbHkgZnJh
Z21lbnRlZDwvbGk+CiAgICAgICAgICAgICAgPGxpPkEgZm9yd2FyZGVyIGRvaW5nIHZvaWNlIHRy
dW5raW5nIHdoZXJlIHRoZSB2b2NvZGVycyBwcm9kdWNlIG1vZGVyYXRlIHNpemVkIHBhY2tldHMs
IHN0aWxsIG11Y2ggc21hbGxlciB0aGFuIHRoZSBsaW5rIE1UVTwvbGk+CiAgICAgICAgICAgIDwv
dWw+CiAgICAgICAgICA8L2xpPgogICAgICAgIDwvb2w+CiAgICAgICAgCiAgICAgICAgPHQ+VGhl
IHNlY29uZCBhcmVhIHRvIGFkZHJlc3MgaXMgd2hhdCB0byBkbyBpZiBhbiBpbnRlcmVzdCBsYWNr
aW5nIGFuIGV4cGVjdGVkIERhdGEgc2l6ZSBpcyByZXNwb25kZWQgdG8gYnkgYSBEYXRhIG1lc3Nh
Z2Ugd2hvc2Ugc2l6ZSBleGNlZWRzIHRoZSBkZWZhdWx0IGRpc2N1c3NlZCBhYm92ZS4gSXQgd291
bGQgYmUgaW5hcHByb3ByaWF0ZSB0byBpc3N1ZSBhIFRfTVRVX1RPT19MQVJHRSBlcnJvciwgc2lu
Y2UgdGhlIGNvbnN1bWVyIGlzIHVubGlrZWx5IHRvIHVuZGVyc3RhbmQgb3IgZGVhbCBjb3JyZWN0
bHkgd2l0aCB0aGF0IG5ldyBlcnJvciBjYXNlLiBJbnN0ZWFkLCBpdCBpcyBSRUNPTU1FTkRFRCB0
aGF0IHRoZSBmb3J3YXJkZXI6PC90PgogICAgICAgIAogICAgICAgIDx1bCBzcGFjaW5nPSJub3Jt
YWwiPgogICAgICAgICAgPGxpPklnbm9yZSB0aGUgbWlzbWF0Y2ggaWYgdGhlIHJldmVyc2UgbGlu
ayBpcyBub3QgY29uZ2VzdGVkIGFuZCByZXR1cm4gdGhlIHJlcXVlc3RlZCBEYXRhIG1lc3NhZ2Ug
YW55d2F5LjwvbGk+CiAgICAgICAgICA8bGk+SWYgdGhlIHJldmVyc2UgbGluayBpcyBjb25nZXN0
ZWQsIGlzc3VlIGFuIEludGVyZXN0IFJldHVybiB3aXRoIHRoZSBUX05PX1JFU09VUkNFUyBlcnJv
ciBjb2RlPC9saT4KICAgICAgICA8L3VsPgogICAgPHQ+VGhpcyBzcGVjaWZpY2F0aW9uIGRvZXMg
bm90IGRlZmluZSBvciByZWNvbW1lbmQgYW55IHBhcnRpY3VsYXIgYWxnb3JpdGhtIGZvciBhc3Nl
c3NpbmcgdGhlIGNvbmdlc3Rpb24gc3RhdGUgb2YgdGhlIGxpbmsocykgdG8gY2FycnkgdGhlIERh
dGEgbWVzc2FnZSBkb3duc3RyZWFtIHRvIHRoZSByZXF1ZXN0aW5nIGNvbnN1bWVycy4gSXQgaXMg
YXNzdW1lZCB0aGF0IGEgcmVhc29uYWJsZSBhbGdvcml0aG0gaXMgaW4gdXNlLCBiZWNhdXNlIG90
aGVyd2lzZSBldmVuIGJhc2ljIEludGVyZXN0IGNvdW50aW5nIGZvcm1zIG9mIGNvbmdlc3Rpb24g
Y29udHJvbCB3b3VsZCBub3QgYmUgZWZmZWN0aXZlLjwvdD4KICAgIDwvc2VjdGlvbj4KICA8L3Nl
Y3Rpb24+CgogPHNlY3Rpb24gYW5jaG9yPSJtYWxpY2lvdXMiIG51bWJlcmVkPSJ0cnVlIiB0b2M9
ImRlZmF1bHQiPgogICAgICA8bmFtZT5EZWFsaW5nIHdpdGggbWFsaWNpb3VzIGFjdG9yczwvbmFt
ZT4KICAgPHQ+Rmlyc3Qgd2Ugbm90ZSB0aGF0IHZhcmlvdXMga25vd24gYXR0YWNrcyBpbiBDQ054
IG9yIE5ETiBjYW4gYWxzbyBiZSBtb3VudGVkIGJ5IHVzZXJzIGVtcGxveWluZyB0aGlzIG1ldGhv
ZC4gQXR0YWNrcyB0aGF0IGludm9sdmUgaW50ZXJlc3QgZmxvb2RpbmcsIGNhY2hlIHBvbGx1dGlv
biwgY2FjaGUgcG9pc29uaW5nLCBldGMuIGFyZSBuZWl0aGVyIHdvcnNlbmVkIG5vciBhbWVsaW9y
YXRlZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZSBjb25nZXN0aW9uIGNvbnRyb2wgY2FwYWJp
bGl0aWVzIGRlc2NyaWJlZCBoZXJlLiBIb3dldmVyLCB0aGVyZSBhcmUgdHdvIG5ldyB2dWxuZXJh
YmlsaXRpZXMgdGhhdCBuZWVkIHRvIGJlIGRlYWx0IHdpdGguIFRoZXNlIHR3byBuZXcgdnVsbmVy
YWJpbGl0aWVzIGludm9sdmUgaW50ZW50aW9uYWwgbWlzLWVzdGltYXRpb24gb2YgZGF0YSBzaXpl
LjwvdD4KIAogICA8dD5UaGUgZmlyc3QgaXMgYSBjb25zdW1lciB3aG8gaW50ZW50aW9uYWxseSBv
dmVyLWVzdGltYXRlcyBkYXRhIHNpemUgd2l0aCB0aGUgZ29hbCBvZiBwcmV2ZW50aW5nIG90aGVy
IHVzZXJzIGZyb20gdXNpbmcgdGhlIGJhbmR3aWR0aC4gVGhpcyBpcyBhdCBtb3N0IGEgbWlub3Ig
YWRkaXRpb25hbCBjb25jZXJuIGdpdmVuIHRoZSBkaXNjdXNzaW9uIG9mIGhvdyB0byBoYW5kbGUg
b3Zlci1lc3RpbWF0aW9uIGJ5IGhvbmVzdCBjbGllbnRzIGluIDx4cmVmIHRhcmdldD0ndG9vYmln
Jy8+LiBJZiBvbmUgb2YgdGhlIGFtZWxpb3JhdGlvbiB0ZWNobmlxdWVzIGRlc2NyaWJlZCB0aGVy
ZSBpcyB1c2VkLCB0aGUgY2FzZSBvZiBtYWxpY2lvdXMgb3Zlci1lc3RpbWF0aW9uIGlzIGFsc28g
ZGVhbHQgd2l0aCBhZGVxdWF0ZWx5LjwvdD4KIAogICA8dD5UaGUgc2Vjb25kIGlzIGEgdXNlciB3
aG8gaW50ZW50aW9uYWxseSB1bmRlci1lc3RpbWF0ZXMgdGhlIGRhdGEgc2l6ZSB3aXRoIHRoZSBn
b2FsIGhhdmluZyBpdHMgSW50ZXJlc3QgcHJvY2Vzc2VkIHdoaWxlIHRoZSBvdGhlciBhZ2dyZWdh
dGVkIGludGVyZXN0cyBhcmUgbm90IHByb2Nlc3NlZCwgdGhlcmVieSBjYXVzaW5nIFRfTVRVX1RP
T19MQVJHRSBlcnJvcnMgYW5kIGRlbnlpbmcgc2VydmljZSB0byB0aGUgb3RoZXIgdXNlcnMgd2l0
aCBvdmVybGFwcGluZyByZXF1ZXN0cy4gVGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBvc3NpYmxlIG1p
dGlnYXRpb24gdGVjaG5pcXVlcyBmb3IgdGhpcyBhdHRhY2sgdmVjdG9yLCByYW5naW5nIGluIGNv
bXBsZXhpdHkuIFdlIG91dGxpbmUgdHdvIGJlbG93OyB0aGVyZSBtYXkgYmUgb3RoZXJzIGFzIG9y
IG1vcmUgZWZmZWN0aXZlIHdpdGggYWNjZXB0YWJsZSBjb21wbGV4aXR5IGFuZCBvdmVyaGVhZDo8
L3Q+CiAgIAogICAgICA8dWwgc3BhY2luZz0ibm9ybWFsIj4KICAgICAgICA8bGk+KFNpbXBsZXN0
KSBBIHVzZXIgc2VuZGluZyBJbnRlcmVzdHMgcmVzdWx0aW5nIGluIGEgVF9NVFVfVE9PX0xBUkdF
IGVycm9yIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvIHVzZXJzIG1vdW50aW5nIGludGVyZXN0IGZs
b29kaW5nIGF0dGFja3M7IHRoZSBhIHJvdXRlciBhZ2dyZWdhdGluZyBJbnRlcmVzdHMgd2l0aCBk
aWZmZXJpbmcgZXhwZWN0ZWQgZGF0YSBzaXplcyByYXRlIGxpbWl0cyB0aGUgZmFjZShzKSBleGhp
Yml0aW5nIHRoZXNlIGVycm9ycywgdGh1cyBkZWNyZWFzaW5nIHRoZSBhYmlsaXR5IG9mIGEgdXNl
ciB0byBpc3N1ZSBlbm91Z2ggbWlzLWVzdGltYXRlZCBJbnRlcmVzdHMgdG8gY29sbGlkZSBhbmQg
Z2VuZXJhdGUgSW50ZXJlc3QgYWdncmVnYXRpb24uPC9saT4KICAgICAgICA8bGk+QW4gSUNOIGZv
cndhcmRlciBhZ2dyZWdhdGluZyBJbnRlcmVzdHMgcmVtZW1iZXJzIGluIHRoZSBQSVQgZW50cnkg
bm90IG9ubHkgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSBvZiB0aGUgSW50ZXJlc3QgaXQgZm9yd2Fy
ZGVkLCBidXQgdGhlIG1heGltdW0gb2YgdGhlIGV4cGVjdGVkIGRhdGEgc2l6ZSBvZiB0aGUgb3Ro
ZXIgSW50ZXJlc3RzIGl0IGFnZ3JlZ2F0ZWQuIElmIGEgVF9NVFVfVE9PX0xBUkdFIGVycm9yIGNv
bWVzIGJhY2ssIGluc3RlYWQgb2YgcHJvcGFnYXRpbmcgaXQsIHRoZSBmb3J3YXJkZXIgTUFZIHRy
ZWF0IHRoaXMgYXMgYSB0cmFuc2llbnQgZXJyb3IsIGRyb3AgdGhlIEludGVyZXN0IFJldHVybiwg
YW5kIHJlLWZvcndhcmQgdGhlIEludGVyZXN0IHVzaW5nIHRoZSBtYXhpbXVtIGV4cGVjdGVkIGRh
dGEgc2l6ZSBpbiB0aGUgUElUIChhc3N1bWluZyBpdCBpcyBpcyBiaWdnZXIpLiBUaGlzIHJlY292
ZXJzIGZyb20gdGhlIGVycm9yLCBidXQgdGhlIGF0dGFja2VyIGNhbiBzdGlsbCBjYXVzZSBhbiBl
eHRyYSByb3VuZCB0cmlwIHRvIHRoZSBwcm9kdWNlciBvciB0byBhbiB1cHN0cmVhbSBmb3J3YXJk
ZXIgd2l0aCBhIGNvcHkgb2YgdGhlIGRhdGEgaW4gaXRzIENvbnRlbnQgU3RvcmUuPC9saT4KICAg
ICAgPC91bD4KIDwvc2VjdGlvbj4KIAogPHNlY3Rpb24gYW5jaG9yPSJlbmNvZGluZyIgbnVtYmVy
ZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgIDxuYW1lPk1hcHBpbmcgdG8gQ0NOeCBhbmQg
TkROIHBhY2tldCBlbmNvZGluZ3M8L25hbWU+CiAgIDx0PlRoZSBvbmx5IGFjdHVhbCBwcm90b2Nv
bCBuZWVkZWQgaXMgYSBUTFYgaW4gSW50ZXJlc3QgbWVzc2FnZXMgdGhhdCBzdGF0ZXMgdGhlIHNp
emUgaW4gYnl0ZXMgb2YgdGhlIGV4cGVjdGVkIERhdGEgTWVzc2FnZSBjb21pbmcgYmFjaywgYW5k
IGluIHRoZSBJbnRlcmVzdCBSZXR1cm4gb24gYSAidG9vIGJpZyIgZXJyb3IgdG8gY2FycnkgdGhl
IGFjdHVhbCBkYXRhIHNpemUuIEluIHRoZSBjYXNlIG9mICBDQ054LCB0aGlzIGNvdmVycyB0aGUg
ZW5jYXBzdWxhdGVkIERhdGEgT2JqZWN0LCBidXQgbm90IHRoZSBob3AtYnktaG9wIGhlYWRlcnMu
PC90PgogIAogICA8c2VjdGlvbiBhbmNob3I9IkNDTngtZW5jb2RpbmciIG51bWJlcmVkPSJ0cnVl
IiB0b2M9ImRlZmF1bHQiPgogICAgICAgIDxuYW1lPlBhY2tldCBlbmNvZGluZyBmb3IgQ0NOeDwv
bmFtZT4KICAgICA8dD5Gb3IgQ0NOeDx4cmVmIHRhcmdldD0iUkZDODU2OSIgZm9ybWF0PSJkZWZh
dWx0Ii8+IHRoZXJlIGlzIGEgbmV3IGhvcC1ieS1ob3AgaGVhZGVyIFRMViwgYW5kIGEgbmV3IHZh
bHVlIG9mIHRoZSBJbnRlcmVzdCBSZXR1cm4gIlJldHVybiBUeXBlIi48L3Q+CiAgIAogICAgIDx0
PkV4cGVjdGVkIERhdGEgU2l6ZSAoZm9yIEludGVyZXN0IG1lc3NhZ2VzKSwgb3IgQWN0dWFsIERh
dGEgU2l6ZSAoZm9yIEludGVyZXN0IFJldHVybiBtZXNzYWdlcykgVExWPC90PgogICAgICAgIDx0
YWJsZSBhbmNob3I9IkRhdGFTaXplIiBhbGlnbj0iY2VudGVyIj4KICAgICAgICAgIDxuYW1lPkRh
dGEgU2l6ZSBUTFY8L25hbWU+CiAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgIDx0cj4KICAg
ICAgICAgICAgICA8dGggYWxpZ249ImNlbnRlciI+QWJicmV2PC90aD4KICAgICAgICAgICAgICA8
dGggYWxpZ249ImNlbnRlciI+TmFtZTwvdGg+CiAgICAgICAgICAgICAgPHRoIGFsaWduPSJjZW50
ZXIiPkRlc2NyaXB0aW9uPC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgIDwvdGhlYWQ+
CiAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgYWxp
Z249ImNlbnRlciI+VF9EQVRBU0laRTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50
ZXIiPkRhdGEgU2l6ZTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPkV4cGVj
dGVkICg8eHJlZiB0YXJnZXQ9ImRlc2NyaXB0aW9uIiBmb3JtYXQ9ImRlZmF1bHQiLz4pb3IgQWN0
dWFsICg8eHJlZiB0YXJnZXQ9InRvb2JpZyIgZm9ybWF0PSJkZWZhdWx0Ii8+KSBEYXRhIFNpemU8
L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90Ym9keT4KICAgICAgICA8L3RhYmxl
PgoJPC9zZWN0aW9uPgoJCiAgICA8c2VjdGlvbiBhbmNob3I9Ik5ETi1lbmNvZGluZyIgbnVtYmVy
ZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgICAgPG5hbWU+UGFja2V0IGVuY29kaW5nIGZv
ciBORE48L25hbWU+CiAgICAgIDx0PlRCRCBiYXNlZCBvbiA8eHJlZiB0YXJnZXQ9Ik5ETlRMViIg
Zm9ybWF0PSJkZWZhdWx0Ii8+LiBTdWdnZXN0aW9ucyBmcm9tIHRoZSBORE4gdGVhbSBncmVhdGx5
IGFwcHJlY2lhdGVkLjwvdD4KICAgIDwvc2VjdGlvbj4KIDwvc2VjdGlvbj4KIAogIS0tIFRoaXMg
UEkgcGxhY2VzIHRoZSBwYWdlYnJlYWsgY29ycmVjdGx5IChiZWZvcmUgdGhlIHNlY3Rpb24gdGl0
bGUpIGluIHRoZSB0ZXh0IG91dHB1dC4gLS0+CjwhLS08P3JmYyBuZWVkTGluZXM9IjgiID8+LS0+
CjwhLS0gUG9zc2libHkgYSAnQ29udHJpYnV0b3JzJyBzZWN0aW9uIC4uLiAtLT4KCjxzZWN0aW9u
IGFuY2hvcj0iSUFOQSIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVmYXVsdCI+CiAgICAgIDxuYW1l
PklBTkEgQ29uc2lkZXJhdGlvbnM8L25hbWU+CiAgICA8dD5QbGVhc2UgQWRkIHRoZSBUX1RJTUVU
TFYgVExWIHRvIHRoZSBIb3AtYnktSG9wIFRMViB0eXBlcyByZWdpc3RyeSBvZiBSRkM4NjA5LCB3
aXRoIGZpeGVkIGxlbmd0aCBvZiAyLCBhbmQgZGF0YSB0eXBlIG51bWVyaWM8L3Q+CiAKICAgIDx0
PkV4cGVjdGVkL0FjdHVhbCBEYXRhIFNpemUgVExWIGVuY29kaW5nLiBUaGUgcmFuZ2UgaGFzIGFu
IHVwcGVyIGJvdW5kIG9mIDY0SyBieXRlcywgc2luY2UgdGhhdCBpcyB0aGUgbGFyZ2VzdCBNVFUg
c3VwcG9ydGVkIGJ5IENDTnguPC90PgogCiAgICA8ZmlndXJlIGFuY2hvcj0idGltZXRsdi1lbmNv
ZGluZyI+CiAgICAgICAgPG5hbWU+Q29tcHJlc3NzZWQgVGltZSBWYWx1ZXMgdXNpbmcgUkZDNDU3
NCBlbmNvZGluZzwvbmFtZT4KICAgICAgICA8YXJ0d29yayBhbGlnbj0ibGVmdCIgbmFtZT0iIiB0
eXBlPSIiIGFsdD0iIj48IVtDREFUQVsKICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAg
ICAgICAgICAyICAgICAgICAgICAgICAgICAgIDMKIDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAxIDIg
MyA0IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMQorLS0tLS0tLS0tLS0tLS0tKy0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKwp8ICAgICAgICAg
ICAgIFRfVElNRVRMViAgICAgICAgIHwgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgfAor
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t
LS0tLS0tKwp8ICAgSU5URVJWQUxfVElNRSAoc2VlIFJGQzQ1NzQpIHwKKy0tLS0tLS0tLS0tLS0t
LSstLS0tLS0tLS0tLS0tLS0rCiAgICAgICAgICAgIF1dPjwvYXJ0d29yaz4KICAgICAgPC9maWd1
cmU+CiAgICAgIDwhLS0gPHQ+UGxlYXNlIGFkZCB0aGUgVF9SRVRVUk5fVE9PQklHIGVycm9yIHRv
IHRoZSBJbnRlcmVzdCBSZXR1cm4gdHlwZXMgcmVnaXN0cnk8L3Q+Cgk8dGV4dHRhYmxlIHRpdGxl
PSJDQ054IEludGVyZXN0IFJldHVybiBUeXBlIGZvciBUb28gQmlnIEVycm9ycyI+CiAgICAgICAg
ICA8dHRjb2wgYWxpZ249ImNlbnRlciI+VHlwZTwvdHRjb2w+CiAgICAgICAgICA8dHRjb2wgYWxp
Z249ImNlbnRlciI+TmFtZTwvdHRjb2w+CiAgICAgICAgICA8dHRjb2wgYWxpZ249ImNlbnRlciI+
UmVmZXJlbmNlPC90dGNvbD4KCiAgICAgICAgICA8Yz5UQkE8L2M+CiAgICAgICAgICA8Yz5UX1JF
VFVSTl9UT09fQklHPC9jPgogICAgICAgICAgPGM+PHhyZWYgdGFyZ2V0PSJ0b29iaWdlcnJvciI+
VG9vIEJpZyBFcnJvciBDb2RlPC94cmVmPjwvYz4KCTwvdGV4dHRhYmxlPgotLT4KICA8L3NlY3Rp
b24+CiAgPHNlY3Rpb24gYW5jaG9yPSJTZWN1cml0eSIgbnVtYmVyZWQ9InRydWUiIHRvYz0iZGVm
YXVsdCI+CiAgICAgIDxuYW1lPlNlY3VyaXR5IENvbnNpZGVyYXRpb25zPC9uYW1lPgogICAgICA8
dD4KICAgICAgPC90PgogICAgPC9zZWN0aW9uPgogICAgCiAgPHNlY3Rpb24gYW5jaG9yPSJBY2tr
bm93bGVkZ2VtZW50cyIgbnVtYmVyZWQ9J3RydWUnIHRvYz0nZGVmYXVsdCc+CiAgCTxuYW1lPkFj
a25vd2xlZGdlbWVudHM8L25hbWU+CiAgCTx0PktsYXVzIFNjaG5laWRlciBhbmQgS2VuIENhbHZl
cnQgaGF2ZSBjb250cmlidXRlZCBhIG51bWJlciBvZiB1c2VmdWwgY29tbWVudHMgd2hpY2ggaGF2
ZSBzdWJzdGFudGlhbGx5IGltcHJvdmVkIHRoZSBkb2N1bWVudC48L3Q+CiAgPC9zZWN0aW9uPgog
IAo8L21pZGRsZT4KCjxiYWNrPgogICAgPCEtLSBSZWZlcmVuY2VzIHNwbGl0IGludG8gaW5mb3Jt
YXRpdmUgYW5kIG5vcm1hdGl2ZSAtLT4KCiAgICA8IS0tIFRoZXJlIGFyZSAyIHdheXMgdG8gaW5z
ZXJ0IHJlZmVyZW5jZSBlbnRyaWVzIGZyb20gdGhlIGNpdGF0aW9uIGxpYnJhcmllczoKICAgICAx
LiBkZWZpbmUgYW4gRU5USVRZIGF0IHRoZSB0b3AsIGFuZCB1c2UgImFtcGVyc2FuZCBjaGFyYWN0
ZXIiUkZDMjYyOTsgaGVyZSAoYXMgc2hvd24pCiAgICAgMi4gc2ltcGx5IHVzZSBhIFBJICJsZXNz
IHRoYW4gY2hhcmFjdGVyIj9yZmMgaW5jbHVkZT0icmVmZXJlbmNlLlJGQy4yMTE5LnhtbCI/PiBo
ZXJlCiAgICAgICAgKGZvciBJLURzOiBpbmNsdWRlPSJyZWZlcmVuY2UuSS1ELm5hcnRlbi1pYW5h
LWNvbnNpZGVyYXRpb25zLXJmYzI0MzRiaXMueG1sIikKCiAgICAgQm90aCBhcmUgY2l0ZWQgdGV4
dHVhbGx5IGluIHRoZSBzYW1lIG1hbm5lcjogYnkgdXNpbmcgeHJlZiBlbGVtZW50cy4KICAgICBJ
ZiB5b3UgdXNlIHRoZSBQSSBvcHRpb24sIHhtbDJyZmMgd2lsbCwgYnkgZGVmYXVsdCwgdHJ5IHRv
IGZpbmQgaW5jbHVkZWQgZmlsZXMgaW4gdGhlIHNhbWUKICAgICBkaXJlY3RvcnkgYXMgdGhlIGlu
Y2x1ZGluZyBmaWxlLiBZb3UgY2FuIGFsc28gZGVmaW5lIHRoZSBYTUxfTElCUkFSWSBlbnZpcm9u
bWVudCB2YXJpYWJsZQogICAgIHdpdGggYSB2YWx1ZSBjb250YWluaW5nIGEgc2V0IG9mIGRpcmVj
dG9yaWVzIHRvIHNlYXJjaC4gIFRoZXNlIGNhbiBiZSBlaXRoZXIgaW4gdGhlIGxvY2FsCiAgICAg
ZmlsaW5nIHN5c3RlbSBvciByZW1vdGUgb25lcyBhY2Nlc3NlZCBieSBodHRwIChodHRwOi8vZG9t
YWluL2Rpci8uLi4gKS4tLT4KCiAgICA8cmVmZXJlbmNlcz4KICAgICAgPG5hbWU+UmVmZXJlbmNl
czwvbmFtZT4KICAgICAgPHJlZmVyZW5jZXM+CiAgICAgICAgPG5hbWU+Tm9ybWF0aXZlIFJlZmVy
ZW5jZXM8L25hbWU+CiAgICAgICAgPCEtLT9yZmMgaW5jbHVkZT0iaHR0cDovL3htbC5yZXNvdXJj
ZS5vcmcvcHVibGljL3JmYy9iaWJ4bWwvcmVmZXJlbmNlLlJGQy4yMTE5LnhtbCI/LS0+CgkJPHhp
OmluY2x1ZGUgaHJlZj0iaHR0cHM6Ly94bWwycmZjLnRvb2xzLmlldGYub3JnL3B1YmxpYy9yZmMv
YmlieG1sL3JlZmVyZW5jZS5SRkMuMjExOS54bWwiLz4KICAgICAgICA8eGk6aW5jbHVkZSBocmVm
PSJodHRwczovL3htbDJyZmMudG9vbHMuaWV0Zi5vcmcvcHVibGljL3JmYy9iaWJ4bWwvcmVmZXJl
bmNlLlJGQy44NTY5LnhtbCIvPgogICAgICAgIDx4aTppbmNsdWRlIGhyZWY9Imh0dHBzOi8veG1s
MnJmYy50b29scy5pZXRmLm9yZy9wdWJsaWMvcmZjL2JpYnhtbC9yZWZlcmVuY2UuUkZDLjg2MDku
eG1sIi8+CiAgICAgIDwvcmVmZXJlbmNlcz4KICAgICAgCiAgICAgIDxyZWZlcmVuY2VzPgogICAg
ICAgIDxuYW1lPkluZm9ybWF0aXZlIFJlZmVyZW5jZXM8L25hbWU+CiAgICAgICAgPHhpOmluY2x1
ZGUgaHJlZj0iaHR0cHM6Ly94bWwycmZjLnRvb2xzLmlldGYub3JnL3B1YmxpYy9yZmMvYmlieG1s
L3JlZmVyZW5jZS5SRkMuMDc5My54bWwiLz4KCQk8eGk6aW5jbHVkZSBocmVmPSJodHRwczovL3ht
bDJyZmMudG9vbHMuaWV0Zi5vcmcvcHVibGljL3JmYy9iaWJ4bWwvcmVmZXJlbmNlLlJGQy40MzQw
LnhtbCIvPgogICAgICAgIDx4aTppbmNsdWRlIGhyZWY9Imh0dHBzOi8veG1sMnJmYy50b29scy5p
ZXRmLm9yZy9wdWJsaWMvcmZjL2JpYnhtbC9yZWZlcmVuY2UuUkZDLjQ5NjAueG1sIi8+CiAgICAg
ICAgPHhpOmluY2x1ZGUgaHJlZj0iaHR0cHM6Ly94bWwycmZjLnRvb2xzLmlldGYub3JnL3B1Ymxp
Yy9yZmMvYmlieG1sMy9yZWZlcmVuY2UuSS1ELmRyYWZ0LWlldGYtcXVpYy10cmFuc3BvcnQtMjUu
eG1sIi8+CiAgICAgICAgPHJlZmVyZW5jZSBhbmNob3I9IkdoYWxpMjAxMyIgdGFyZ2V0PSJodHRw
Oi8vZHguZG9pLm9yZy8xMC4xMTA5L05DQS4yMDE1LjM0Ij4KICAgICAgICAgIDxmcm9udD4KICAg
ICAgICAgICAgPHRpdGxlPlNlY3VyZSBGcmFnbWVudGF0aW9uIGZvciBDb250ZW50LUNlbnRyaWMg
TmV0d29ya3MsIGluIElFRUUgMTR0aCBJbnRlcm5hdGlvbmFsIFN5bXBvc2l1bSBvbiBOZXR3b3Jr
IENvbXB1dGluZyBhbmQgQXBwbGljYXRpb25zPC90aXRsZT4KICAgICAgICAgICAgPHNlcmllc0lu
Zm8gbmFtZT0iRE9JIiB2YWx1ZT0iMTAuMTEwOS9uY2EuMjAxNS4zNCIvPgogICAgICAgICAgICA8
YXV0aG9yIHN1cm5hbWU9IkdoYWxpIiBpbml0aWFscz0iQy4iLz4KICAgICAgICAgICAgPGF1dGhv
ciBzdXJuYW1lPSJOYXJheWFuYW4iIGluaXRpYWxzPSJBLiIvPgogICAgICAgICAgICA8YXV0aG9y
IHN1cm5hbWU9Ik9yYW4iIGluaXRpYWxzPSJELiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5h
bWU9IlRzdWRpayIgaW5pdGlhbHM9IkcuIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0i
V29vZCIgaW5pdGlhbHM9IkMuIi8+CiAgICAgICAgICAgIDxkYXRlIHllYXI9IjIwMTUiLz4KICAg
ICAgICAgIDwvZnJvbnQ+CiAgICAgICAgPC9yZWZlcmVuY2U+CgogICAgICAgIDxyZWZlcmVuY2Ug
YW5jaG9yPSJNYWhkaWFuMjAxNiIgdGFyZ2V0PSJodHRwOi8vY29uZmVyZW5jZXMyLnNpZ2NvbW0u
b3JnL2FjbS1pY24vMjAxNi9wcm9jZWVkaW5ncy9wMS1tYWhkaWFuLnBkZiI+CiAgICAgICAgICA8
ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5NSVJDQzogTXVsdGlwYXRoLWF3YXJlIElDTiBSYXRl
LWJhc2VkIENvbmdlc3Rpb24gQ29udHJvbCwgaW4gUHJvY2VlZGluZ3Mgb2YgdGhlIDNyZCBBQ00g
Q29uZmVyZW5jZSBvbiBJbmZvcm1hdGlvbi1DZW50cmljIE5ldHdvcmtpbmc8L3RpdGxlPgogICAg
ICAgICAgICA8c2VyaWVzSW5mbyBuYW1lPSJET0kiIHZhbHVlPSIxMC4xMTQ1LzI5ODQzNTYuMjk4
NDM2NSIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ik1haGRpYW4iIGluaXRpYWxzPSJN
LiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9IkFyaWFuZmFyIiBpbml0aWFscz0iUy4i
Lz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJHaWJzb24iIGluaXRpYWxzPSJKLiIvPgog
ICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ik9yYW4iIGluaXRpYWxzPSJELiIvPgogICAgICAg
ICAgICA8ZGF0ZSB5ZWFyPSIyMDE2Ii8+CiAgICAgICAgICA8L2Zyb250PgogICAgICAgIDwvcmVm
ZXJlbmNlPgoKICAgICAgICA8cmVmZXJlbmNlIGFuY2hvcj0iQ2Fyb2ZpZ2xpbzIwMTIiIHRhcmdl
dD0iaHR0cDovL2NvbmZlcmVuY2VzLnNpZ2NvbW0ub3JnL3NpZ2NvbW0vMjAxMi9wYXBlci9pY24v
cDM3LnBkZiI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5Kb2ludCBob3At
YnktaG9wIGFuZCByZWNlaXZlci1kcml2ZW4gaW50ZXJlc3QgY29udHJvbCBwcm90b2NvbCBmb3Ig
Y29udGVudC1jZW50cmljIG5ldHdvcmtzLCBpbiBJQ04gV29ya3Nob3AgYXQgU0lHY29tbSAyMDEy
PC90aXRsZT4KICAgICAgICAgICAgPHNlcmllc0luZm8gbmFtZT0iRE9JIiB2YWx1ZT0iMTAuMTE0
NS8yMzc3Njc3LjIzNzc3NzIiLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJDYXJvZmln
bGlvIiBpbml0aWFscz0iRy4iLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJHYWxsbyIg
aW5pdGlhbHM9Ik0uIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iTXVzY2FyaWVsbG8i
IGluaXRpYWxzPSJMLiIvPgogICAgICAgICAgICA8ZGF0ZSB5ZWFyPSIyMTAyIi8+CiAgICAgICAg
ICA8L2Zyb250PgogICAgICAgIDwvcmVmZXJlbmNlPgoKICAgICAgICA8cmVmZXJlbmNlIGFuY2hv
cj0iV2FuZzIwMTMiIHRhcmdldD0iaHR0cDovL2NvbmZlcmVuY2VzLnNpZ2NvbW0ub3JnL3NpZ2Nv
bW0vMjAxMy9wYXBlcnMvaWNuL3A1NS5wZGYiPgogICAgICAgICAgPGZyb250PgogICAgICAgICAg
ICA8dGl0bGU+CgkJCQlBbiBJbXByb3ZlZCBIb3AtYnktaG9wIEludGVyZXN0IFNoYXBlciBmb3Ig
Q29uZ2VzdGlvbiBDb250cm9sIGluIE5hbWVkIERhdGEgTmV0d29ya2luZywgaW4gQUNNIFNJR0NP
TU0gV29ya3Nob3Agb24gSW5mb3JtYXRpb24tQ2VudHJpYyBOZXR3b3JraW5nCiAgICAgICAgICAg
IDwvdGl0bGU+CiAgICAgICAgICAgIDxzZXJpZXNJbmZvIG5hbWU9IkRPSSIgdmFsdWU9IjEwLjEx
NDUvMjUzNDE2OS4yNDkxMjMzIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iV2FuZyIg
aW5pdGlhbHM9IlkuIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iUm96aG5vdmEiIGlu
aXRpYWxzPSJOLiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ik5hcmF5YW5hbiIgaW5p
dGlhbHM9IkEuIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iT3JhbiIgaW5pdGlhbHM9
IkQuIi8+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iUmhlZSIgaW5pdGlhbHM9IkkuIi8+
CiAgICAgICAgICAgIDxkYXRlIHllYXI9IjIwMTMiLz4KICAgICAgICAgIDwvZnJvbnQ+CiAgICAg
ICAgPC9yZWZlcmVuY2U+CgogICAgICAgIDxyZWZlcmVuY2UgYW5jaG9yPSJTb25nMjAxOCIgdGFy
Z2V0PSJodHRwczovL2NvbmZlcmVuY2VzLnNpZ2NvbW0ub3JnL2FjbS1pY24vMjAxOC9wcm9jZWVk
aW5ncy9pY24xOC1maW5hbDYyLnBkZiI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0
aXRsZT5TTUlDOiBTdWJmbG93LWxldmVsIE11bHRpLXBhdGggSW50ZXJlc3QgQ29udHJvbCBmb3Ig
SW5mb3JtYXRpb24gQ2VudHJpYyBOZXR3b3JraW5nLCBpbiA1dGggQUNNIENvbmZlcmVuY2Ugb24g
SW5mb3JtYXRpb24tQ2VudHJpYyBOZXR3b3JraW5nPC90aXRsZT4KICAgICAgICAgICAgPHNlcmll
c0luZm8gbmFtZT0iRE9JIiB2YWx1ZT0iMTAuMTE0NS8zMjY3OTU1LjMyNjc5NzEiLz4KICAgICAg
ICAgICAgPGF1dGhvciBzdXJuYW1lPSJTb25nIiBpbml0aWFscz0iSi4iLz4KICAgICAgICAgICAg
PGF1dGhvciBzdXJuYW1lPSJMZWUiIGluaXRpYWxzPSJNLiIvPgogICAgICAgICAgICA8YXV0aG9y
IHN1cm5hbWU9Ikt3b24iIGluaXRpYWxzPSJULiIvPgogICAgICAgICAgICA8ZGF0ZSB5ZWFyPSIy
MDE4Ii8+CiAgICAgICAgICA8L2Zyb250PgogICAgICAgIDwvcmVmZXJlbmNlPgoKICAgICAgICA8
cmVmZXJlbmNlIGFuY2hvcj0iU2NobmVpZGVyMjAxNiIgdGFyZ2V0PSJodHRwOi8vY29uZmVyZW5j
ZXMyLnNpZ2NvbW0ub3JnL2FjbS1pY24vMjAxNi9wcm9jZWVkaW5ncy9wMjEtc2NobmVpZGVyLnBk
ZiI+CiAgICAgICAgICA8ZnJvbnQ+CiAgICAgICAgICAgIDx0aXRsZT5BIFByYWN0aWNhbCBDb25n
ZXN0aW9uIENvbnRyb2wgU2NoZW1lIGZvciBOYW1lZCBEYXRhIE5ldHdvcmtpbmcsIGluIFByb2Nl
ZWRpbmdzIG9mIHRoZSAyMDE2IGNvbmZlcmVuY2Ugb24gM3JkIEFDTSBDb25mZXJlbmNlIG9uIElu
Zm9ybWF0aW9uLUNlbnRyaWMgTmV0d29ya2luZyAtIEFDTS1JQ04gJzE2PC90aXRsZT4KICAgICAg
ICAgICAgPHNlcmllc0luZm8gbmFtZT0iRE9JIiB2YWx1ZT0iMTAuMTE0NS8yOTg0MzU2LjI5ODQz
NjkiLz4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJTY2huZWlkZXIiIGluaXRpYWxzPSJL
LiIvPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9IllpIiBpbml0aWFscz0iQy4iLz4KICAg
ICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJaaGFuZyIgaW5pdGlhbHM9IkIuIi8+CiAgICAgICAg
ICAgIDxhdXRob3Igc3VybmFtZT0iWmhhbmciIGluaXRpYWxzPSJMLiIvPgogICAgICAgICAgICA8
ZGF0ZSB5ZWFyPSIyMDE2Ii8+CiAgICAgICAgICA8L2Zyb250PgogICAgICAgIDwvcmVmZXJlbmNl
PgogICAgICAgIDwhLS0JCTxyZWZlcmVuY2UgYW5jaG9yPSJQdXJzdWl0IiB0YXJnZXQ9Imh0dHBz
Oi8vd3d3LmZwNy1wdXJzdWl0LmV1Ij4KCgkJCTxmcm9udD4KCQkJCTx0aXRsZT5UaGUgUHVyc3Vp
dCBQcm9qZWN0PC90aXRsZT4KCQkJCTxhdXRob3Igc3VybmFtZT0iRlA3Ii8+CgkJCQk8ZGF0ZSB5
ZWFyPSIyMDE1Ii8+CgkJCTwvZnJvbnQ+CgkJPC9yZWZlcmVuY2U+Ci0tPgoKCQk8cmVmZXJlbmNl
IGFuY2hvcj0iTkROIiB0YXJnZXQ9Imh0dHBzOi8vbmFtZWQtZGF0YS5uZXQvcHJvamVjdC9leGVj
c3VtbWFyeS8iPgogICAgICAgICAgPGZyb250PgogICAgICAgICAgICA8dGl0bGU+TmFtZWQgRGF0
YSBOZXR3b3JraW5nPC90aXRsZT4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJORE4gdGVh
bSIvPgogICAgICAgICAgICA8ZGF0ZT52YXJpb3VzPC9kYXRlPgogICAgICAgICAgPC9mcm9udD4K
ICAgICAgICA8L3JlZmVyZW5jZT4KCiAgICAgICAgPHJlZmVyZW5jZSBhbmNob3I9Ik5ETlRMViIg
dGFyZ2V0PSJodHRwOi8vbmFtZWQtZGF0YS5uZXQvZG9jL25kbi10bHYvIj4KICAgICAgICAgIDxm
cm9udD4KICAgICAgICAgICAgPHRpdGxlPk5ETiBQYWNrZXQgRm9ybWF0IFNwZWNpZmljYXRpb24u
PC90aXRsZT4KICAgICAgICAgICAgPGF1dGhvciBzdXJuYW1lPSJORE4gUHJvamVjdCBUZWFtIi8+
CiAgICAgICAgICAgIDxkYXRlIHllYXI9IjIwMTYiLz4KICAgICAgICAgIDwvZnJvbnQ+CiAgICAg
ICAgPC9yZWZlcmVuY2U+CgogICAgICAgIDxyZWZlcmVuY2UgYW5jaG9yPSJtaW5tYXhmYWlybmVz
cyIgdGFyZ2V0PSJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYXgtbWluX2ZhaXJuZXNz
Ij4KICAgICAgICAgIDxmcm9udD4KICAgICAgICAgICAgPHRpdGxlPk1heC1taW4gRmFpcm5lc3M8
L3RpdGxlPgogICAgICAgICAgICA8YXV0aG9yIHN1cm5hbWU9Ildpa2lwZWRpYSIvPgogICAgICAg
ICAgICA8ZGF0ZT52YXJpb3VzPC9kYXRlPgogICAgICAgICAgPC9mcm9udD4KICAgICAgICA8L3Jl
ZmVyZW5jZT4KCiAgICAgICAgPHJlZmVyZW5jZSBhbmNob3I9InByb3BvcnRpb25hbGZhaXJuZXNz
IiB0YXJnZXQ9Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Byb3BvcnRpb25hbGx5X2Zh
aXIiPgogICAgICAgICAgPGZyb250PgogICAgICAgICAgICA8dGl0bGU+UHJvcG9ydGlvbmFsbHkg
RmFpcjwvdGl0bGU+CiAgICAgICAgICAgIDxhdXRob3Igc3VybmFtZT0iV2lraXBlZGlhIi8+CiAg
ICAgICAgICAgIDxkYXRlPnZhcmlvdXM8L2RhdGU+CiAgICAgICAgICA8L2Zyb250PgogICAgICAg
IDwvcmVmZXJlbmNlPgoKICAgICAgPC9yZWZlcmVuY2VzPgoKICAgIDwvcmVmZXJlbmNlcz4KICAg
IDwhLS0gQ2hhbmdlIExvZwp2MDAgMjAxOS0wNy0xMyAgRFJPIEluaXRpYWwgdmVyc2lvbgp2MDEg
MjAxOS0wOC0xMAlEUk8JUmVzcG9uZCB0byBjb21tZW50cyBieSBOYXZlZW4gTmF0aGFuIGFuZCBL
bGF1cyBTY2huZWlkZXIKdjAyIDIwMjAtMDItMDQJRFJPIENvbnZlcnQgdG8geG1sMnJmYyB2MyBh
bmQgbWlub3IgdGV4dCBhZGp1c3RtZW50cyAKdjAzIDIwMjAtCQlEUk8gQ2hhbmdlcyBiYXNlZCBv
biBjb21tZW50cyBieSBLZW4gQ2FsdmVydAoJLS0+CiAgPC9iYWNrPgo8L3JmYz4K
--=_MailMate_4AEEED3E-9E08-4CB4-849E-2B1E99A49FA4_=--


From nobody Mon Feb 10 08:27:08 2020
Return-Path: <julian.reschke@gmx.de>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B15D120840 for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 08:27:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 39eh3wbhMinY for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 08:26:58 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E48FA12081F for <xml2rfc@ietf.org>; Mon, 10 Feb 2020 08:26:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1581351991; bh=d6RBmA6z/nuCD/Tg5hb1bh1A0ROkWRrEg1klt1GJWuo=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=IzuWtf+2AaJuQj4HZ5yZtVDhH9ZsJZznu/j2RfuUeyrOvUpmv9KlEH99fwyBul2+T m/TATIe9ccRX+aNbt2YJRf/r7ShWZybmuhfWVBT5OR94Iar/gaQC+00/ZTrQtmhKnD 8pANu2SjR7tzxWPKmDdrsrgWXVJY7f64SyMYt+SM=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.178.124] ([84.171.152.198]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MmDEg-1jj5Lb33qK-00iBb2; Mon, 10 Feb 2020 17:26:31 +0100
To: "David R. Oran" <daveoran@orandom.net>, xml2rfc@ietf.org
References: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <93b5e612-8a0d-0a98-8ab6-c805a7c57a0e@gmx.de>
Date: Mon, 10 Feb 2020 17:26:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2
MIME-Version: 1.0
In-Reply-To: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:8UhKoeg7jVXznkTfCpC+IlPhgx2k8klqqsWrjOAhli6x2IT8/wv dtHkKvyeyP9sFIeEpgQKRXVPsN7RvAIbgiEy8V2jfYa2TWNOenx6nAmnRg16F0iB1wvxWMj E2RuJOrCfsIAKuv3Ozizj8g7mzr3Z57QNBTEdHH6113pDXNV4cHBnboldfptiWqTR67iLXM cJPfATnN0ITaqxdI41YAg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:EvobIXQH37o=:f/CacJ5Fw9HnaG0rEYlPj4 W/BLWRCDJaW0gCrdAJvHzFc5Ug//zv4EKvKF1GRdybpprJPe22ovT4SO2MIB2ybmaEMMjcQ3E N5TvU7MBrzA5e3890jl4SbGy4qc11ddAZGyZjmzlI1Iyr8q0GXjNjowVcHBWbH8+7Eb4rVwA4 52DHfg3/BdtxCm1EX0y56R5g39mg0aTwMvWHdcaWsqpzRdEbtGT9zaO0NHiUF3c69qEOtZk12 bxmx3hy/23G8zdyOGYHbtHhFCWI7uEuk+Ws184IU+0sGiMv4dSWtopLBhJ2RW0T2Uhd4v5hgM 5U79rAXOTjSQqLzwyZJzEWJwsJKN55gEhBzdKSFc3AUlhcyI9xPSRQNl5Lu7SCIJ+rEU+2h7M SKkL5IQMlcPAP7LMmJQzfm4zX1vjqH/50d4mFFWBzUERu3KYAnY2MAUM42rrwk3O6ov3ltTjV UO6cNa7MVUJmFehXVRM7x3OMNVwWUKNHUCfvdXiysWoIbJF6nTkBnM6hm6SHETLD961NvcDNV tOYuT1p0EfVLsTU0R0WzPPtlCPGs9be5VqkTTUjDbvcDB4UIEZ3Uyc1N4IOyB9V44vgLuxxFF oQPK+hLhEQQ0j8CfZO9ZKbCVpdNljA6WBcORDH8PDFU/cvevfTB3nMeStg6kYP0mNRVS2bXwg azvW4gdwN56cUEyQDPYoqmpaq4Y/IzBKdxgOBANr9vCdal8auEXx6x/OrD9Qk5bePbNsZyu6n fyYc4yAJmN9qO367DSF5PS/yg71mZ00FtC9cJp0K3ebBzK607YKf85L07aYkqyNlEyuGftDLO vpfEQRy5Wd5P/Y5IR9t0dRNQU2nCciHQgEChPI+Yl9JoFjY9G3sTb/l0pAOy7IQOorwk+hMw0 NfS0G8iwAfP12jUMPPL3fjdRyOxvvAoU7n3s2EqwqMJ3gxOLmzQ7QqjLQCDgcBjOzBmGnGdvf wSLaGpc15kFUVn8Q4XpMNIeQwf2twEzXtCf33IRWJVehE4ACvLeO+B11uxMMq3teHb2tSzeih XWs9tArpSQjBgvmaTM1OxbdIPuVC+h7r9ED98IqnXx1c4f3YMhisZeF3ygvO5/pNgCLkFDtsq 0mdzD+rq3As7TxeMa8WbTy768vNvBvYhOihXC0DRlmT/SLUvzMm4qq31HnSh8ClBolZcYu+zp 1LvlFo6TT8DoCef1kk/j7huO0VREc8sOP1pnNoTxpk6GbF6gfizgirKFDmBZzks+S9pW+Q2a9 yXL4Es/nJkF0QxEte
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/0Vy6Oq6kejGity48T7Gs99DbOgg>
Subject: Re: [xml2rfc] This one has me scratching my head - sorry if it's another newbie "bad user on device" error
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2020 16:27:07 -0000

On 09.02.2020 15:45, David R. Oran wrote:
> I converted one of my drafts from V2 to V3 with the latest converter. It
> compiles fine.
>
> I then bumped the version number and did some edits to the main text,
> not touching any of the rest of the converter output, particularly not
> in the stuff in the front. It now throws an error (quite unhelpful) that
> I can=E2=80=99t pin down.
>
>  =C2=A0% xml2rfc --html draft-oran-icnrg-flowbalance-03.xml
> draft-oran-icnrg-flowbalance-03.xml(88): Error: Did not expect text in
> element middle content, at /rfc/middle
> draft-oran-icnrg-flowbalance-03.xml(30): Error: Invalid document before
> running preptool.
> Unable to complete processing draft-oran-icnrg-flowbalance-03.xml
>
> I=E2=80=99ve attached the -02.xml which compiles, and the -03.xml, which=
 doesn=E2=80=99t.
>
> Sorry to be such a bother!
>
>
> DaveO

In line 271, you have a mistyped XML comment, causing non-whitespace
content to be present inside <middle>.

Best regards, Julian


From nobody Mon Feb 10 08:37:05 2020
Return-Path: <daveoran@orandom.net>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 276F6120839 for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 08:36:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x6vtwMvDVxD0 for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 08:36:56 -0800 (PST)
Received: from spark.crystalorb.net (spark.crystalorb.net [IPv6:2607:fca8:1530::c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 34B60120845 for <xml2rfc@ietf.org>; Mon, 10 Feb 2020 08:36:56 -0800 (PST)
Received: from [192.168.15.102] ([IPv6:2601:184:407f:80ce:5d93:660:9056:c46e]) (authenticated bits=0) by spark.crystalorb.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id 01AGamwm028760 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Mon, 10 Feb 2020 08:36:50 -0800
From: "David R. Oran" <daveoran@orandom.net>
To: "Julian Reschke" <julian.reschke@gmx.de>
Cc: xml2rfc@ietf.org
Date: Mon, 10 Feb 2020 11:36:43 -0500
X-Mailer: MailMate (1.13.1r5678)
Message-ID: <9E8D9419-4B4E-42B2-9BF4-27F36BBFF180@orandom.net>
In-Reply-To: <93b5e612-8a0d-0a98-8ab6-c805a7c57a0e@gmx.de>
References: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net> <93b5e612-8a0d-0a98-8ab6-c805a7c57a0e@gmx.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; format=flowed; markup=markdown
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/Il71S_mKAsNBAzJdtR1iZ3609gs>
Subject: Re: [xml2rfc] This one has me scratching my head - sorry if it's another newbie "bad user on device" error
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2020 16:37:04 -0000

Gack. Thanks. The error didn’t point me in anywhere like the right 
direction…

On 10 Feb 2020, at 11:26, Julian Reschke wrote:

> On 09.02.2020 15:45, David R. Oran wrote:
>> I converted one of my drafts from V2 to V3 with the latest converter. 
>> It
>> compiles fine.
>>
>> I then bumped the version number and did some edits to the main text,
>> not touching any of the rest of the converter output, particularly 
>> not
>> in the stuff in the front. It now throws an error (quite unhelpful) 
>> that
>> I can’t pin down.
>>
>>   % xml2rfc --html draft-oran-icnrg-flowbalance-03.xml
>> draft-oran-icnrg-flowbalance-03.xml(88): Error: Did not expect text 
>> in
>> element middle content, at /rfc/middle
>> draft-oran-icnrg-flowbalance-03.xml(30): Error: Invalid document 
>> before
>> running preptool.
>> Unable to complete processing draft-oran-icnrg-flowbalance-03.xml
>>
>> I’ve attached the -02.xml which compiles, and the -03.xml, which 
>> doesn’t.
>>
>> Sorry to be such a bother!
>>
>>
>> DaveO
>
> In line 271, you have a mistyped XML comment, causing non-whitespace
> content to be present inside <middle>.
>
> Best regards, Julian

DaveO


From nobody Mon Feb 10 09:13:16 2020
Return-Path: <julian.reschke@gmx.de>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 25EA012080E for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 09:13:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FG3HBPHqRimU for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 09:13:11 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CCB1512080C for <xml2rfc@ietf.org>; Mon, 10 Feb 2020 09:13:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1581354788; bh=FCa3JsQMgAepM8CpFRebf1AGecfEgSZFYONJGnx9Nmo=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=RNBYAzTWytcak0uIX314SSMYL8Dh3I1WxervVgVr9AINze5clNOoy7/8hSIseMB1C kKyJ9DdIG4Zj5OBOym6HJO7pRWNJck31HMV1cwaNaBliOzX+J0eIicmAqJAnK8tl34 /gWnN/6UzE9ehGpgxQO4VN8sHZI5KswE5K71o68Q=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.178.124] ([84.171.152.198]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N1fis-1jTkua2JRY-0122TD; Mon, 10 Feb 2020 18:07:40 +0100
To: "David R. Oran" <daveoran@orandom.net>
Cc: xml2rfc@ietf.org
References: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net> <93b5e612-8a0d-0a98-8ab6-c805a7c57a0e@gmx.de> <9E8D9419-4B4E-42B2-9BF4-27F36BBFF180@orandom.net>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <611ad4b1-e011-5983-c33b-a85ee806ce96@gmx.de>
Date: Mon, 10 Feb 2020 18:07:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2
MIME-Version: 1.0
In-Reply-To: <9E8D9419-4B4E-42B2-9BF4-27F36BBFF180@orandom.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:Jg+y+aDdPKkUwvF/kazKetXSQaJHHPKG4x9n9t/ZtfcgNrVKlH1 Pco9wAX/+TRAuSOXtQKd/GJnE44zk6K0kDZ3Od3wxc+X/puntVU8PStlOJ5dLRRO/2uECOM R+St9Nx4fra0c6P0D0ySYG712TNt1y7hcgbE3Z8XRlW2LuBezKmyDrYHIlNWsiycRco0ajM vsvqLuIbCBAFNpn0yeujA==
X-UI-Out-Filterresults: notjunk:1;V03:K0:uMemdj3vMLs=:c9pcKkIontaNzPdbYmcnx1 twpwNKt6gcgayQjk/Fn97W03qClzzVOY9q90MQEfh7avTxnYDnzRXWF+EmL2WZ1M3998XgHo7 mZjMTcAbTyKgnJGa95obpdysDDawUMFM2ldEHIB0phAidrRgdoJtWqsRRqi5kqmqcFtC8nXh3 dnbMjvUKjCBhj0URHzLc6A/tm0Sq/d1NdXI/uBn0+Kbit5K4m4xyTqNy/vyxbx6/LoBfdUM8J CEwNAEvf40CBKzmJyH1PiXGTsYOwjKB1FjdS83NegiKQ1Pfqh/MmZQvA1K+3m0Kck+AhdL59C eP9tb7rjn2WQZuXGd5Th0TS2x+AtpNbQsjPEsytW44sYfggXyuGzp0SEtKp56J3dKLBQeFcEg 9s4Kmb2p7yO3nyFihvEPzKiCf6gq+R/acXYXI4uxidc3QiMUMm6h2esr8vHp6p5nrhLdEg1j2 nqhBJbyslTgRKli0Xs1uiCAkq7ocw7w3k7K11a+Ji5GIG8VHnyzjrMgxWmJNDhabiVy+wC9Do jQD1tpqKz83a8JGENj9QDsRR7c6J1ijZu9ZyYnBNYGdjMnO757sVDSEIPMUl4sANVyABHImEd ZiBRssmKiiuioom21GY53PKXO++8BQvRY0sueQ33vN5NrfUEETx9BTo539ewwHFy34yXBEzzM Ul5z7Od8u9xlnae4mzIY5oNk6ETOVfdkaIacFg1l25ZFWcbpX3zB3e8gedwbgu/lF/LfSjUZP ti2sSGRtHMuvWD7+sWTpV0MlEG/MqnJOxthbCjhfCT3A+R3BoMTDxcbxbrMw4YItNkAy+xdHo +4obv50c7Rj1M3JQH0v4HT98xCfHgtBblzS/1TfVO6THFShdTZfQZxObX3ATlF43mlWyk5euH 2X0FeGPplOdU/iNIXQhlBdn8/pghdkjjh/37+PeqIgJC1CulM9O+rgfwY13xVmmL7viek1u8j aSvIw0uSLSvuod8V8tLbge9BmyKJ86uvAwLJT+iuuQ/gNiPZKTchMkTjVPvXMzAfZSTgO5Xf0 wBwQCIYcuXPydbcQmyDfZ8AZquoRLXtwxzeqdaxHTNJrUGB6oce5mY8nuEA1k/pHuQEr5/wmg JQvVrcozbicVmxNFJRfp1HYgn95BeXnrb19e6fNDyiDHK7p66nd6LaUaff+WlDnCLxRsfpFkO 58jk/dUnzjhOcobE8W1NtF0jvvFApmdahL1S2w/T3p4tvRRxjNOj7ZpujDFYJn3jGOuKAH+RY skagnAPp4YEICtBRW
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/hc54aH8-2ID5zmU07N1vG7ZWTtE>
Subject: Re: [xml2rfc] This one has me scratching my head - sorry if it's another newbie "bad user on device" error
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2020 17:13:14 -0000

On 10.02.2020 17:36, David R. Oran wrote:
> Gack. Thanks. The error didn=E2=80=99t point me in anywhere like the rig=
ht
> direction=E2=80=A6
> ...

My (just improved) rfc2629.xslt says:

> INFO: The /rfc/front/workgroup should only be used for Working/Research =
Group drafts (at line 38)
> WARNING: Unknown IETF area: "IRTF" - should be one of: "Applications and=
 Real-Time", "art", "General", "gen", "Internet", "int", "Operations and M=
anagement", "ops", "Routing", "rtg", "Security", "sec", "Transport", "tsv"=
 (as of the publication date of 202002) (at line 74)
> WARNING: No text content allowed inside &lt;middle&gt;, but found:
>
>  !-- This PI places the pagebreak correctly (before the section title) i=
n the text output. --&gt;
>  (at line 267)



Best regards, Julian


From nobody Mon Feb 10 09:56:20 2020
Return-Path: <daveoran@orandom.net>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3FBCC12001B for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 09:56:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2aBvHxJi-6Gw for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 09:56:15 -0800 (PST)
Received: from spark.crystalorb.net (spark.crystalorb.net [IPv6:2607:fca8:1530::c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 12C9C120046 for <xml2rfc@ietf.org>; Mon, 10 Feb 2020 09:56:15 -0800 (PST)
Received: from [192.168.15.102] ([IPv6:2601:184:407f:80ce:5d93:660:9056:c46e]) (authenticated bits=0) by spark.crystalorb.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id 01AHu57i031987 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Mon, 10 Feb 2020 09:56:07 -0800
From: "David R. Oran" <daveoran@orandom.net>
To: "Julian Reschke" <julian.reschke@gmx.de>
Cc: xml2rfc@ietf.org
Date: Mon, 10 Feb 2020 12:56:00 -0500
X-Mailer: MailMate (1.13.1r5678)
Message-ID: <6F336066-A083-415D-887F-4DE445FBAA75@orandom.net>
In-Reply-To: <611ad4b1-e011-5983-c33b-a85ee806ce96@gmx.de>
References: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net> <93b5e612-8a0d-0a98-8ab6-c805a7c57a0e@gmx.de> <9E8D9419-4B4E-42B2-9BF4-27F36BBFF180@orandom.net> <611ad4b1-e011-5983-c33b-a85ee806ce96@gmx.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; format=flowed; markup=markdown
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/pBQ9fuXlpMOLEKOEG9hy8bq6Mdc>
Subject: Re: [xml2rfc] This one has me scratching my head - sorry if it's another newbie "bad user on device" error
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2020 17:56:19 -0000

On 10 Feb 2020, at 12:07, Julian Reschke wrote:

> On 10.02.2020 17:36, David R. Oran wrote:
>> Gack. Thanks. The error didn’t point me in anywhere like the right
>> direction…
>> ...
>
> My (just improved) rfc2629.xslt says:
>
>> INFO: The /rfc/front/workgroup should only be used for 
>> Working/Research Group drafts (at line 38)
>> WARNING: Unknown IETF area: "IRTF" - should be one of: "Applications 
>> and Real-Time", "art", "General", "gen", "Internet", "int", 
>> "Operations and Management", "ops", "Routing", "rtg", "Security", 
>> "sec", "Transport", "tsv" (as of the publication date of 202002) (at 
>> line 74)
>> WARNING: No text content allowed inside &lt;middle&gt;, but found:
>>
>>  !-- This PI places the pagebreak correctly (before the section 
>> title) in the text output. --&gt;
>>  (at line 267)
>
Thanks. Is this checked in anywhere?

Also, there seems to still be some work needed so that if you set the 
subnissionType to IRTF, then there should not be a check against IETF 
areas?

>
>
> Best regards, Julian

DaveO


From nobody Mon Feb 10 14:21:59 2020
Return-Path: <julian.reschke@gmx.de>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3140512087C for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 14:21:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dlXnD-P8v6ER for <xml2rfc@ietfa.amsl.com>; Mon, 10 Feb 2020 14:21:55 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C3D8B120878 for <xml2rfc@ietf.org>; Mon, 10 Feb 2020 14:21:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1581373289; bh=jm2pbttgvVQ8DsGqYgInAB9n7xA2hj+ubniOA92qDOc=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=aGR18ZoMahYGlwP3LjAVFrClyU/zy9sytsNdkAACDKiBvV5PkHeDM/MMHjMmVk/Wq J2ZNEeM6aFs1w5iMQLWxQ0SEYD49najWp665Zw0SY3PTOl0I4hHu/Nd/MoNUa/0fux XcY2QyOD25bggDxagoYwjM2+b8GD7FB1uAOBxzpU=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.178.124] ([84.171.152.198]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MQe9s-1ipdde3i34-00NfXU; Mon, 10 Feb 2020 23:21:28 +0100
To: "David R. Oran" <daveoran@orandom.net>
Cc: xml2rfc@ietf.org
References: <262D93CC-7C14-4C35-AD12-599E6E931333@orandom.net> <93b5e612-8a0d-0a98-8ab6-c805a7c57a0e@gmx.de> <9E8D9419-4B4E-42B2-9BF4-27F36BBFF180@orandom.net> <611ad4b1-e011-5983-c33b-a85ee806ce96@gmx.de> <6F336066-A083-415D-887F-4DE445FBAA75@orandom.net>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <386f6ff5-4528-8d5b-84c8-92bb165d2277@gmx.de>
Date: Mon, 10 Feb 2020 23:21:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2
MIME-Version: 1.0
In-Reply-To: <6F336066-A083-415D-887F-4DE445FBAA75@orandom.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:T4aBpZ4Rwt+she6pvVT+w22pjQ49vO64ZtGONNhT6diK+77xeSt IuT45kBZ9klANZRERz7A3Tveca06E+NPtz7VAR0EzXsh25WvEjruYFi0e4BnuMalymB7F9f 2stK9k4xpbvHI8JIzNkj8nafnCuzy5sN1u5h7nfVypDkUbaq4AHGsgHBNHYKkIGbMdUWVmf OUvL4/jJP2PcVuyE7o0nQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:QbHj+L7Oeyg=:xiEkY6aTcGjBbfnXVRpMCa ovyDg4kBugGmY2jMNy1VcEaJbO2iAv69yG6T16geyI37+wfE4W3TwwBiTFx6mRKMJuvG5Zm5L 9bwQild2sHZoTSa3odVvVRv0P3I0fziR+xpwFe6d/VlSCup2Ktlv+Pl/gjsMg/sLxYL/4Byq+ FLFwqLIApi0gfIc0J66NDnKKOksKYR+XxX9KCWgNERoGIb5JVlAYR4knsZilRcKgxKQPuxAbb eZ9FhYMDx2/UVEcO6q9qOJWyxQQx7QNXRsJQqFoyFJCDX7FYXAdoGM6Q1DwB2dKmNirhVyt+3 Kq8r7uGEglzV/7Ebvw9DThI4hlUBfqnjxQXORG1VWkBP5EpsFdBVKYhNJb99Vh7tU18Jc2s8t PjkmDttyKoXf8YmpoM9uvsiT+o0kzO4ll7Ki1ELstPlpoAtopBRrHphgpX0ILyb78ZqE1rGMD rHprP6drazOKIKVGPS7vtUTatMwVC79jwIjEaroBAPxoiskIJ3c7QgkNrDD2qdYZ/UEgyqnpH /RqhHtqcyl6rzRs0Vd9y0JmkTZtw4pew4cIqR8BdO3Rgq50OiknOWcwDbTZOMYTK3ox/3zKHB x2PlbUDIPWu5K6+F+PXCKe7o4RwWCQJTPscj9brVUyPJ83b2lhXGTMtkF3qvpGug4VZ12vbU4 BD1/l63oOmsBlLfvv/Hq88BwA/hhAiuU++WQ/ZxpJxlhEIbYYfuCM0WPc6Y6K6u8NX0E6lIrw 6lYH3eFSC8hxOxnDBjmmWT0NfUG7mjtaANnWsFZb+3g5AoqmCbbh46W163MQ8KN9KbHh/vseG mHHsOR8aaHQ72OStUqTebbb+FBr/MB6/joftgMoEQflWU1qLNRfBl6J17UiYsp8L8JZNihSWR KLslEO+6TOgrfzjN5o1rwqWC5rd58xlBV2QmAACVc8eACWMk1wa2HwHTfF4au7D+Or5hg5CLV XnoWLGnH3ql0+kVbQ/SXY01VYVPFO2UkW/6yooUd03XsYfg+hphwW+npUswVW4l5rg6w5OhlV 8Z4BtPNr6bpkDv6Qp2TlVbNUmXX1FpO8R8uguzO5wdtc7MBLfXGeUq2oZLBmU3/mPBuhrgLY2 kh98Ms29pHZnJehTvMJokoWKV97ZCyEMsLJRJdfAneAv9sNZ0Y19b1GZV0IAZVKGomF9c2p1l TZaP05TJRyfz+po4FaizSligVR1jq+f2CF2NsYPQftQYmOM0o7DyV4y/qsE/x6dPo2Jk70u6I s61TfMIRR4QqLabCk
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/RYogm0-oDsaSJ6SoqtdiFDHIQWk>
Subject: Re: [xml2rfc] This one has me scratching my head - sorry if it's another newbie "bad user on device" error
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2020 22:21:57 -0000

On 10.02.2020 18:56, David R. Oran wrote:
> On 10 Feb 2020, at 12:07, Julian Reschke wrote:
>
>> On 10.02.2020 17:36, David R. Oran wrote:
>>> Gack. Thanks. The error didn=E2=80=99t point me in anywhere like the r=
ight
>>> direction=E2=80=A6
>>> ...
>>
>> My (just improved) rfc2629.xslt says:
>>
>>> INFO: The /rfc/front/workgroup should only be used for
>>> Working/Research Group drafts (at line 38)
>>> WARNING: Unknown IETF area: "IRTF" - should be one of: "Applications
>>> and Real-Time", "art", "General", "gen", "Internet", "int",
>>> "Operations and Management", "ops", "Routing", "rtg", "Security",
>>> "sec", "Transport", "tsv" (as of the publication date of 202002) (at
>>> line 74)
>>> WARNING: No text content allowed inside &lt;middle&gt;, but found:
>>>
>>> =C2=A0!-- This PI places the pagebreak correctly (before the section
>>> title) in the text output. --&gt;
>>> =C2=A0(at line 267)
>>
> Thanks. Is this checked in anywhere?

Sure: https://github.com/reschke/xml2rfc

> Also, there seems to still be some work needed so that if you set the
> subnissionType to IRTF, then there should not be a check against IETF
> areas?

The area shouldn't be set if it's an IRTF submission. See
<https://greenbytes.de/tech/webdav/rfc7991.html#element.area>.

Best regards, Julian


From nobody Thu Feb 13 03:05:02 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE5FC1200F6 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 03:05:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.589
X-Spam-Level: 
X-Spam-Status: No, score=-2.589 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FILL_THIS_FORM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_LOAN=0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KpRE0siDgNVF for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 03:04:46 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 69C481200C7 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 03:04:46 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 602776213F for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 06:04:45 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id jvQsnmru4CwT for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 06:02:46 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id 2596062133 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 06:02:44 -0500 (EST)
To: "xml2rfc@ietf.org" <xml2rfc@ietf.org>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
Date: Thu, 13 Feb 2020 06:02:38 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------4A6C0F234EBB3F6EAF909540"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/jkykkoTwzwJ3l9tMkpQWt_sFN1s>
Subject: [xml2rfc] Problems with submission tool converting xml
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 11:05:01 -0000

This is a multi-part message in MIME format.
--------------4A6C0F234EBB3F6EAF909540
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

Please compare:

https://www.ietf.org/id/draft-ietf-hip-dex-12.txt

with the attached txt file.  Note the differences in sec 6.3

The posted one was generated by the submission tool.  My colleague only 
uploaded the xml, assuming that what we saw with local generation was 
the same as the submission tool would generate.

We are using the 2.39.0 and running it on the attached xml with no switches.

Is there something problematic with our xml or is it the submission tool..

thanks



--------------4A6C0F234EBB3F6EAF909540
Content-Type: text/plain; charset=UTF-8;
 name="draft-ietf-hip-dex.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="draft-ietf-hip-dex.txt"

CgoKCkhJUCBXRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSLiBNb3Nrb3dpdHosIEVkLgpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUIENvbnN1bHRpbmcKSW50ZW5kZWQgc3Rh
dHVzOiBTdGFuZGFyZHMgVHJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUi4g
SHVtbWVuCkV4cGlyZXM6IEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIEhpcnNjaG1h
bm4gQXV0b21hdGlvbiBhbmQgQ29udHJvbAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE0uIEtvbXUKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVyaWNzc29uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBGZWJydWFyeSAxMiwgMjAyMAoKCiAgICAgICAgICAgICAgICAgICAgICAg
IEhJUCBEaWV0IEVYY2hhbmdlIChERVgpCiAgICAgICAgICAgICAgICAgICAgICAgICBkcmFm
dC1pZXRmLWhpcC1kZXgtMTMKCkFic3RyYWN0CgogICBUaGlzIGRvY3VtZW50IHNwZWNpZmll
cyB0aGUgSG9zdCBJZGVudGl0eSBQcm90b2NvbCBEaWV0IEVYY2hhbmdlIChISVAKICAgREVY
KSwgYSB2YXJpYW50IG9mIHRoZSBIb3N0IElkZW50aXR5IFByb3RvY29sIFZlcnNpb24gMiAo
SElQdjIpLiAgVGhlCiAgIEhJUCBERVggcHJvdG9jb2wgZGVzaWduIGFpbXMgYXQgcmVkdWNp
bmcgdGhlIG92ZXJoZWFkIG9mIHRoZSBlbXBsb3llZAogICBjcnlwdG9ncmFwaGljIHByaW1p
dGl2ZXMgYnkgb21pdHRpbmcgcHVibGljLWtleSBzaWduYXR1cmVzIGFuZCBoYXNoCiAgIGZ1
bmN0aW9ucy4KCiAgIFRoZSBISVAgREVYIHByb3RvY29sIGlzIHByaW1hcmlseSBkZXNpZ25l
ZCBmb3IgY29tcHV0YXRpb24gb3IgbWVtb3J5LQogICBjb25zdHJhaW5lZCBzZW5zb3IvYWN0
dWF0b3IgZGV2aWNlcy4gIExpa2UgSElQdjIsIGl0IGlzIGV4cGVjdGVkIHRvCiAgIGJlIHVz
ZWQgdG9nZXRoZXIgd2l0aCBhIHN1aXRhYmxlIHNlY3VyaXR5IHByb3RvY29sIHN1Y2ggYXMg
dGhlCiAgIEVuY2Fwc3VsYXRlZCBTZWN1cml0eSBQYXlsb2FkIChFU1ApIGZvciB0aGUgcHJv
dGVjdGlvbiBvZiB1cHBlciBsYXllcgogICBwcm90b2NvbCBkYXRhLiAgVW5saWtlIEhJUHYy
LCBISVAgREVYIGRvZXMgbm90IHN1cHBvcnQgUGVyZmVjdAogICBGb3J3YXJkIFNlY3JlY3kg
KFBGUyksIGFuZCBNVVNUIG9ubHkgYmUgdXNlZCBvbiBkZXZpY2VzIHdoZXJlIFBGUyBpcwog
ICBwcm9oaWJpdGl2ZWx5IGV4cGVuc2l2ZS4gIEluIGFkZGl0aW9uLCBISVAgREVYIGNhbiBh
bHNvIGJlIHVzZWQgYXMgYQogICBrZXlpbmcgbWVjaGFuaXNtIGZvciBzZWN1cml0eSBwcmlt
aXRpdmVzIGF0IHRoZSBNQUMgbGF5ZXIsIGUuZy4sIGZvcgogICBJRUVFIDgwMi4xNS40IG5l
dHdvcmtzLgoKU3RhdHVzIG9mIFRoaXMgTWVtbwoKICAgVGhpcyBJbnRlcm5ldC1EcmFmdCBp
cyBzdWJtaXR0ZWQgaW4gZnVsbCBjb25mb3JtYW5jZSB3aXRoIHRoZQogICBwcm92aXNpb25z
IG9mIEJDUCA3OCBhbmQgQkNQIDc5LgoKICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5n
IGRvY3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcKICAgVGFzayBGb3JjZSAo
SUVURikuICBOb3RlIHRoYXQgb3RoZXIgZ3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGUKICAg
d29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQtRHJhZnRzLiAgVGhlIGxpc3Qgb2YgY3Vy
cmVudCBJbnRlcm5ldC0KICAgRHJhZnRzIGlzIGF0IGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0
Zi5vcmcvZHJhZnRzL2N1cnJlbnQvLgoKICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBk
b2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzCiAgIGFuZCBtYXkg
YmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMg
YXQgYW55CiAgIHRpbWUuICBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1E
cmFmdHMgYXMgcmVmZXJlbmNlCiAgIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0
aGFuIGFzICJ3b3JrIGluIHByb2dyZXNzLiIKCiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgd2ls
bCBleHBpcmUgb24gQXVndXN0IDE1LCAyMDIwLgoKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAg
ICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgICBbUGFnZSAxXQoM
CkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAg
ICAgICAgRmVicnVhcnkgMjAyMAoKCkNvcHlyaWdodCBOb3RpY2UKCiAgIENvcHlyaWdodCAo
YykgMjAyMCBJRVRGIFRydXN0IGFuZCB0aGUgcGVyc29ucyBpZGVudGlmaWVkIGFzIHRoZQog
ICBkb2N1bWVudCBhdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiAgIFRoaXMgZG9j
dW1lbnQgaXMgc3ViamVjdCB0byBCQ1AgNzggYW5kIHRoZSBJRVRGIFRydXN0J3MgTGVnYWwK
ICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50cwogICAoaHR0cHM6Ly90
cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0IG9uIHRoZSBkYXRlIG9m
CiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9jdW1lbnQuICBQbGVhc2UgcmV2aWV3IHRoZXNl
IGRvY3VtZW50cwogICBjYXJlZnVsbHksIGFzIHRoZXkgZGVzY3JpYmUgeW91ciByaWdodHMg
YW5kIHJlc3RyaWN0aW9ucyB3aXRoIHJlc3BlY3QKICAgdG8gdGhpcyBkb2N1bWVudC4gIENv
ZGUgQ29tcG9uZW50cyBleHRyYWN0ZWQgZnJvbSB0aGlzIGRvY3VtZW50IG11c3QKICAgaW5j
bHVkZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNlIHRleHQgYXMgZGVzY3JpYmVkIGluIFNlY3Rp
b24gNC5lIG9mCiAgIHRoZSBUcnVzdCBMZWdhbCBQcm92aXNpb25zIGFuZCBhcmUgcHJvdmlk
ZWQgd2l0aG91dCB3YXJyYW50eSBhcwogICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQg
QlNEIExpY2Vuc2UuCgpUYWJsZSBvZiBDb250ZW50cwoKICAgMS4gIEludHJvZHVjdGlvbiAg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA0CiAg
ICAgMS4xLiAgVGhlIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAgNQogICAgIDEuMi4gIEFwcGxpY2FiaWxpdHkgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDYKICAgICAxLjMuICBNZW1vIFN0
cnVjdHVyZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA2
CiAgIDIuICBUZXJtcywgTm90YXRpb24gYW5kIERlZmluaXRpb25zIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAgNwogICAgIDIuMS4gIFJlcXVpcmVtZW50cyBUZXJtaW5vbG9n
eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDcKICAgICAyLjIuICBOb3Rh
dGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
ICA3CiAgICAgMi4zLiAgRGVmaW5pdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAgOAogICAzLiAgSG9zdCBJZGVudGl0eSAoSEkpIGFuZCBp
dHMgU3RydWN0dXJlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDkKICAgICAzLjEuICBI
b3N0IElkZW50aXR5IFRhZyAoSElUKSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDEwCiAgICAgMy4yLiAgR2VuZXJhdGluZyBhIEhJVCBmcm9tIGFuIEhJIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMAogICAgICAgMy4yLjEuICBXaHkgSW50cm9kdWNl
IEZPTEQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTAKICAgNC4gIFBy
b3RvY29sIE92ZXJ2aWV3IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDExCiAgICAgNC4xLiAgQ3JlYXRpbmcgYSBISVAgQXNzb2NpYXRpb24gIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMQogICAgICAgNC4xLjEuICBISVAgUHV6emxl
IE1lY2hhbmlzbSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTMKICAgICAg
IDQuMS4yLiAgSElQIFN0YXRlIE1hY2hpbmUgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDE0CiAgICAgICA0LjEuMy4gIEhJUCBERVggU2VjdXJpdHkgQXNzb2NpYXRp
b25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOAogICAgICAgNC4xLjQuICBVc2VyIERh
dGEgQ29uc2lkZXJhdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTkKICAg
NS4gIFBhY2tldCBGb3JtYXRzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDE5CiAgICAgNS4xLiAgUGF5bG9hZCBGb3JtYXQgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOQogICAgIDUuMi4gIEhJUCBQYXJh
bWV0ZXJzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTkK
ICAgICAgIDUuMi4xLiAgREhfR1JPVVBfTElTVCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDIwCiAgICAgICA1LjIuMi4gIEhJUF9DSVBIRVIgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMAogICAgICAgNS4yLjMuICBI
T1NUX0lEIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MjEKICAgICAgIDUuMi40LiAgSElUX1NVSVRFX0xJU1QgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDIxCiAgICAgICA1LjIuNS4gIEVOQ1JZUFRFRF9LRVkgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMgogICAgICAgNS4yLjYu
ICBJX05PTkNFIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMjMKICAgICA1LjMuICBISVAgUGFja2V0cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIzCiAgICAgICA1LjMuMS4gIEkxIC0gdGhlIEhJUCBJ
bml0aWF0b3IgUGFja2V0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNAogICAgICAgNS4z
LjIuICBSMSAtIHRoZSBISVAgUmVzcG9uZGVyIFBhY2tldCAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMjUKICAgICAgIDUuMy4zLiAgSTIgLSB0aGUgU2Vjb25kIEhJUCBJbml0aWF0b3Ig
UGFja2V0ICAuIC4gLiAuIC4gLiAuIC4gIDI3CgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAg
ICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgICBbUGFnZSAyXQoMCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAg
ICAgRmVicnVhcnkgMjAyMAoKCiAgICAgICA1LjMuNC4gIFIyIC0gdGhlIFNlY29uZCBISVAg
UmVzcG9uZGVyIFBhY2tldCAgLiAuIC4gLiAuIC4gLiAuICAyOAogICAgIDUuNC4gIElDTVAg
TWVzc2FnZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MjkKICAgNi4gIFBhY2tldCBQcm9jZXNzaW5nIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDMwCiAgICAgNi4xLiAgU29sdmluZyB0aGUgUHV6emxlICAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMAogICAgIDYuMi4gIEhJ
UF9NQUMgQ2FsY3VsYXRpb24gYW5kIFZlcmlmaWNhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMzAKICAgICAgIDYuMi4xLiAgQ01BQyBDYWxjdWxhdGlvbiAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMwCiAgICAgNi4zLiAgSElQIERFWCBLRVlNQVQgR2Vu
ZXJhdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMgogICAgIDYuNC4g
IEluaXRpYXRpb24gb2YgYSBISVAgRGlldCBFWGNoYW5nZSAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMzUKICAgICA2LjUuICBQcm9jZXNzaW5nIEluY29taW5nIEkxIFBhY2tldHMgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM1CiAgICAgNi42LiAgUHJvY2Vzc2luZyBJbmNv
bWluZyBSMSBQYWNrZXRzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNgogICAgIDYu
Ny4gIFByb2Nlc3NpbmcgSW5jb21pbmcgSTIgUGFja2V0cyAgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMzkKICAgICA2LjguICBQcm9jZXNzaW5nIEluY29taW5nIFIyIFBhY2tldHMg
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQyCiAgICAgNi45LiAgUHJvY2Vzc2luZyBJ
bmNvbWluZyBOT1RJRlkgUGFja2V0cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0MwogICAg
IDYuMTAuIFByb2Nlc3NpbmcgVVBEQVRFLCBDTE9TRSwgYW5kIENMT1NFX0FDSyBQYWNrZXRz
IC4gLiAuIC4gLiAgNDQKICAgICA2LjExLiBIYW5kbGluZyBTdGF0ZSBMb3NzIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ0CiAgIDcuICBISVAgUG9saWNpZXMg
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0NAog
ICA4LiAgSW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIEhJUCBERVggYW5kIEhJUHYyICAuIC4g
LiAuIC4gLiAuIC4gLiAgNDUKICAgOS4gIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ1CiAgICAgOS4xLiAgU0VDUDE2
MFIxIENvbnNpZGVyZWQgVW5zYWZlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0
NwogICAgIDkuMi4gIE5lZWQgdG8gVmFsaWRhdGUgUHVibGljIEtleXMgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgNDcKICAgMTAuIElBTkEgQ29uc2lkZXJhdGlvbnMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ4CiAgIDExLiBBY2tub3ds
ZWRnZW1lbnRzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICA0OQogICAxMi4gQ2hhbmdlbG9nIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgNDkKICAgICAxMi4xLiAgQ2hhbmdlcyBpbiBkcmFmdC1p
ZXRmLWhpcC1kZXgtMTIgYW5kIDEzICAuIC4gLiAuIC4gLiAuIC4gIDQ5CiAgICAgMTIuMi4g
IENoYW5nZXMgaW4gZHJhZnQtaWV0Zi1oaXAtZGV4LTExIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICA0OQogICAgIDEyLjMuICBDaGFuZ2VzIGluIGRyYWZ0LWlldGYtaGlwLWRleC0xMCAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNDkKICAgICAxMi40LiAgQ2hhbmdlcyBpbiBkcmFm
dC1pZXRmLWhpcC1kZXgtMDkgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ5CiAgICAgMTIu
NS4gIENoYW5nZXMgaW4gZHJhZnQtaWV0Zi1oaXAtZGV4LTA1IC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICA1MAogICAgIDEyLjYuICBDaGFuZ2VzIGluIGRyYWZ0LWlldGYtaGlwLWRleC0w
NCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNTAKICAgICAxMi43LiAgQ2hhbmdlcyBpbiBk
cmFmdC1pZXRmLWhpcC1kZXgtMDMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUwCiAgICAg
MTIuOC4gIENoYW5nZXMgaW4gZHJhZnQtaWV0Zi1oaXAtZGV4LTAyIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICA1MAogICAgIDEyLjkuICBDaGFuZ2VzIGluIGRyYWZ0LWlldGYtaGlwLWRl
eC0wMSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNTAKICAgICAxMi4xMC4gQ2hhbmdlcyBp
biBkcmFmdC1pZXRmLWhpcC1kZXgtMDAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUwCiAg
ICAgMTIuMTEuIENoYW5nZXMgaW4gZHJhZnQtbW9za293aXR6LWhpcC1yZy1kZXgtMDYgLiAu
IC4gLiAuIC4gLiAuICA1MQogICAgIDEyLjEyLiBDaGFuZ2VzIGluIGRyYWZ0LW1vc2tvd2l0
ei1oaXAtZGV4LTAwICAuIC4gLiAuIC4gLiAuIC4gLiAgNTEKICAgICAxMi4xMy4gQ2hhbmdl
cyBpbiBkcmFmdC1tb3Nrb3dpdHotaGlwLWRleC0wMSAgLiAuIC4gLiAuIC4gLiAuIC4gIDUx
CiAgICAgMTIuMTQuIENoYW5nZXMgaW4gZHJhZnQtbW9za293aXR6LWhpcC1kZXgtMDIgIC4g
LiAuIC4gLiAuIC4gLiAuICA1MgogICAgIDEyLjE1LiBDaGFuZ2VzIGluIGRyYWZ0LW1vc2tv
d2l0ei1oaXAtZGV4LTAzICAuIC4gLiAuIC4gLiAuIC4gLiAgNTIKICAgICAxMi4xNi4gQ2hh
bmdlcyBpbiBkcmFmdC1tb3Nrb3dpdHotaGlwLWRleC0wNCAgLiAuIC4gLiAuIC4gLiAuIC4g
IDUyCiAgIDEzLiBSZWZlcmVuY2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICA1MgogICAgIDEzLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNl
cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNTIKICAgICAxMy4yLiAg
SW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDU0CiAgIEFwcGVuZGl4IEEuICBQYXNzd29yZC1iYXNlZCB0d28tZmFjdG9yIGF1dGhl
bnRpY2F0aW9uIGR1cmluZyB0aGUKICAgICAgICAgICAgICAgIEhJUCBERVggaGFuZHNoYWtl
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDU2CiAgIEFwcGVuZGl4IEIu
ICBJRVNHIENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICA1NgogICBBdXRob3JzJyBBZGRyZXNzZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgNTgKCgoKCgpNb3Nrb3dpdHosIGV0IGFsLiAgICAgICAg
RXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICAgW1BhZ2UgM10KDApJbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkgICAgICAgICAg
IEZlYnJ1YXJ5IDIwMjAKCgoxLiAgSW50cm9kdWN0aW9uCgogICBUaGlzIGRvY3VtZW50IHNw
ZWNpZmllcyB0aGUgSG9zdCBJZGVudGl0eSBQcm90b2NvbCBEaWV0IEVYY2hhbmdlIChISVAK
ICAgREVYKS4gIEhJUCBERVggYnVpbGRzIG9uIHRoZSBCYXNlIEVYY2hhbmdlIChCRVgpIG9m
IHRoZSBIb3N0IElkZW50aXR5CiAgIFByb3RvY29sIFZlcnNpb24gMiAoSElQdjIpIFtSRkM3
NDAxXS4gIEhJUCBERVggcHJlc2VydmVzIHRoZSBwcm90b2NvbAogICBzZW1hbnRpY3MgYXMg
d2VsbCBhcyB0aGUgZ2VuZXJhbCBwYWNrZXQgc3RydWN0dXJlIG9mIEhJUHYyLiAgSGVuY2Us
CiAgIGl0IGlzIHJlY29tbWVuZGVkIHRoYXQgW1JGQzc0MDFdIGlzIHdlbGwtdW5kZXJzdG9v
ZCBiZWZvcmUgcmVhZGluZwogICB0aGlzIGRvY3VtZW50LgoKICAgVGhlIG1haW4gZGlmZmVy
ZW5jZXMgYmV0d2VlbiBISVAgQkVYIGFuZCBISVAgREVYIGFyZToKCiAgIDEuICBISVAgREVY
IHVzZXMgYSBkaWZmZXJlbnQgc2V0IG9mIGNyeXB0b2dyYXBoaWMgcHJpbWl0aXZlcyBjb21w
YXJlZAogICAgICAgdG8gSElQIEJFWCB3aXRoIHRoZSBnb2FsIHRvIHJlZHVjZSB0aGUgcHJv
dG9jb2wgb3ZlcmhlYWQ6CgogICAgICAgKiAgUGVlciBhdXRoZW50aWNhdGlvbiBhbmQga2V5
IGFncmVlbWVudCBpbiBISVAgREVYIGFyZSBiYXNlZCBvbgogICAgICAgICAgc3RhdGljIEVs
bGlwdGljIEN1cnZlIERpZmZpZS1IZWxsbWFuIChFQ0RIKSBrZXkgcGFpcnMuICBUaGlzCiAg
ICAgICAgICByZXBsYWNlcyB0aGUgdXNlIG9mIHB1YmxpYy1rZXkgc2lnbmF0dXJlcyBhbmQg
ZXBoZW1lcmFsCiAgICAgICAgICBEaWZmaWUtSGVsbG1hbiBrZXkgcGFpcnMgaW4gSElQdjIu
CgogICAgICAgKiAgSElQIERFWCB1c2VzIEFFUy1DVFIgZm9yIHN5bW1ldHJpYy1rZXkgZW5j
cnlwdGlvbiBhbmQgQUVTLUNNQUMKICAgICAgICAgIGFzIGl0cyBNQUNpbmcgZnVuY3Rpb24u
ICBJbiBjb250cmFzdCwgSElQdjIgY3VycmVudGx5IHN1cHBvcnRzCiAgICAgICAgICBBRVMt
Q0JDIGZvciBlbmNyeXB0aW9uIGFuZCBITUFDLVNIQS0xLCBITUFDLVNIQS0yNTYsIG9yIEhN
QUMtCiAgICAgICAgICBTSEEtMzg0IGZvciBNQUNpbmcuCgogICAgICAgKiAgSElQIERFWCBk
ZWZpbmVzIGEgc2ltcGxlIGZvbGQgZnVuY3Rpb24gdG8gZWZmaWNpZW50bHkgZ2VuZXJhdGUK
ICAgICAgICAgIEhJVHMsIHdoZXJlYXMgdGhlIEhJVCBnZW5lcmF0aW9uIG9mIEhJUHYyIGlz
IGJhc2VkIG9uIFNIQS0xLAogICAgICAgICAgU0hBLTI1Niwgb3IgU0hBLTM4NC4KCiAgIDIu
ICBISVAgREVYIGZvcmZlaXRzIHRoZSBISVB2MiBQZXJmZWN0IEZvcndhcmQgU2VjcmVjeSBw
cm9wZXJ0eSBvZgogICAgICAgSElQdjIgZHVlIHRvIHRoZSByZW1vdmFsIG9mIHRoZSBlcGhl
bWVyYWwgRGlmZmllLUhlbGxtYW4ga2V5CiAgICAgICBhZ3JlZW1lbnQuICBBcyB0aGlzIHdl
YWtlbnMgdGhlIHNlY3VyaXR5IHByb3BlcnRpZXMgb2YgSElQIERFWCwKICAgICAgIGl0IE1V
U1QgYmUgdXNlZCBvbmx5IHdpdGggY29uc3RyYWluZWQgZGV2aWNlcyB3aGVyZSB0aGlzIGlz
CiAgICAgICBwcm9oaWJpdGl2ZWx5IGV4cGVuc2l2ZSBhcyBmdXJ0aGVyIGV4cGxhaW5lZCBp
biBTZWN0aW9uIDEuMi4KCiAgIDMuICBISVAgREVYIGZvcmZlaXRzIHRoZSB1c2Ugb2YgZGln
aXRhbCBzaWduYXR1cmVzIHdpdGggdGhlIHJlbW92YWwKICAgICAgIG9mIGEgaGFzaCBmdW5j
dGlvbi4gIFBlZXIgYXV0aGVudGljYXRpb24gd2l0aCBISVAgREVYLCB0aGVyZWZvcmUsCiAg
ICAgICBpcyBiYXNlZCBvbiB0aGUgdXNlIG9mIHRoZSBFQ0RIIGRlcml2ZWQga2V5IGluIHRo
ZSBISVBfTUFDCiAgICAgICBwYXJhbWV0ZXIuCgogICA0LiAgV2l0aCBISVAgREVYLCB0aGUg
RUNESCBkZXJpdmVkIGtleSBpcyBvbmx5IHVzZWQgdG8gcHJvdGVjdCBISVAKICAgICAgIHBh
Y2tldHMuICBTZXBhcmF0ZSBzZXNzaW9uIGtleShzKSBhcmUgdXNlZCB0byBwcm90ZWN0IHRo
ZQogICAgICAgdHJhbnNtaXNzaW9uIG9mIHVwcGVyIGxheWVyIHByb3RvY29sIGRhdGEuICBU
aGVzZSBzZXNzaW9uIGtleShzKQogICAgICAgYXJlIGVzdGFibGlzaGVkIHZpYSBhIG5ldyBz
ZWNyZXQgZXhjaGFuZ2UgZHVyaW5nIHRoZSBoYW5kc2hha2UuCgogICA1LiAgSElQIERFWCBp
bnRyb2R1Y2VkIGEgbmV3LCBvcHRpb25hbCByZXRyYW5zbWlzc2lvbiBzdHJhdGVneSB0aGF0
CiAgICAgICBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gaGFuZGxlIHBvdGVudGlhbGx5
IGV4dGVuc2l2ZQogICAgICAgcHJvY2Vzc2luZyB0aW1lcyBvZiB0aGUgZW1wbG95ZWQgY3J5
cHRvZ3JhcGhpYyBvcGVyYXRpb25zIG9uCiAgICAgICBjb21wdXRhdGlvbmFsbHkgY29uc3Ry
YWluZWQgZGV2aWNlcy4KCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVn
dXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgIFtQYWdlIDRdCgwKSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAy
MDIwCgoKICAgQnkgZWxpbWluYXRpbmcgdGhlIG5lZWQgZm9yIHB1YmxpYy1rZXkgc2lnbmF0
dXJlcyBhbmQgdGhlIGVwaGVtZXJhbAogICBESCBrZXkgYWdyZWVtZW50LCBISVAgREVYIHJl
ZHVjZXMgdGhlIGNvbXB1dGF0aW9uYWwsIGVuZXJneSwKICAgdHJhbnNtaXNzaW9uLCBhbmQg
bWVtb3J5IHJlcXVpcmVtZW50cyBmb3IgcHVibGljLWtleSBjcnlwdG9ncmFwaHkKICAgKHNl
ZSBbTE4wOF0pIGluIHRoZSBISVB2MiBwcm90b2NvbCBkZXNpZ24uICBUaGlzIG1ha2VzIEhJ
UCBERVgKICAgZXNwZWNpYWxseSBzdWl0YWJsZSBmb3IgY29uc3RyYWluZWQgZGV2aWNlcyBh
cyBkZWZpbmVkIGluIFtSRkM3MjI4XS4KCiAgIFRoaXMgZG9jdW1lbnQgZm9jdXNlcyBvbiB0
aGUgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbnMgcmVsYXRlZCB0bwogICBkaWZmZXJlbmNlcyBi
ZXR3ZWVuIEhJUCBCRVggYW5kIEhJUCBERVguICBXaGVyZSBkaWZmZXJlbmNlcyBhcmUgbm90
CiAgIGNhbGxlZCBvdXQgZXhwbGljaXRseSwgdGhlIHByb3RvY29sIHNwZWNpZmljYXRpb24g
b2YgSElQIERFWCBpcyB0aGUKICAgc2FtZSBhcyBkZWZpbmVkIGluIFtSRkM3NDAxXS4KCjEu
MS4gIFRoZSBISVAgRGlldCBFWGNoYW5nZSAoREVYKQoKICAgVGhlIEhJUCBEaWV0IEVYY2hh
bmdlIGlzIGEgdHdvLXBhcnR5IGNyeXB0b2dyYXBoaWMgcHJvdG9jb2wgdXNlZCB0bwogICBl
c3RhYmxpc2ggYSBzZWN1cmUgY29tbXVuaWNhdGlvbiBjb250ZXh0IGJldHdlZW4gaG9zdHMu
ICBUaGUgZmlyc3QKICAgcGFydHkgaXMgY2FsbGVkIHRoZSBJbml0aWF0b3IgYW5kIHRoZSBz
ZWNvbmQgcGFydHkgdGhlIFJlc3BvbmRlci4KICAgVGhlIGZvdXItcGFja2V0IGV4Y2hhbmdl
IGhlbHBzIHRvIG1ha2UgSElQIERFWCBEZW5pYWwgb2YgU2VydmljZQogICAoRG9TKSByZXNp
bGllbnQuICBUaGUgSW5pdGlhdG9yIGFuZCB0aGUgUmVzcG9uZGVyIGV4Y2hhbmdlIHRoZWly
CiAgIHN0YXRpYyBFbGxpcHRpYyBDdXJ2ZSBEaWZmaWUtSGVsbG1hbiAoRUNESCkga2V5cyBp
biB0aGUgUjEgYW5kIEkyCiAgIGhhbmRzaGFrZSBwYWNrZXQuICBUaGUgcGFydGllcyB0aGVu
IGF1dGhlbnRpY2F0ZSBlYWNoIG90aGVyIGluIHRoZSBJMgogICBhbmQgUjIgaGFuZHNoYWtl
IHBhY2tldCBiYXNlZCBvbiB0aGUgRUNESC1kZXJpdmVkIGtleWluZyBtYXRlcmlhbC4KICAg
VGhlIEluaXRpYXRvciBhbmQgdGhlIFJlc3BvbmRlciBhZGRpdGlvbmFsbHkgdHJhbnNtaXQg
a2V5aW5nIG1hdGVyaWFsCiAgIGZvciB0aGUgc2Vzc2lvbiBrZXkgaW4gdGhlc2UgbGFzdCB0
d28gaGFuZHNoYWtlIHBhY2tldHMgKEkyIGFuZCBSMikuCiAgIFRoaXMgaXMgdG8gcHJldmVu
dCBvdmVydXNlIG9mIHRoZSBzdGF0aWMgRUNESC1kZXJpdmVkIGtleWluZwogICBtYXRlcmlh
bC4gIE1vcmVvdmVyLCB0aGUgUmVzcG9uZGVyIHN0YXJ0cyBhIHB1enpsZSBleGNoYW5nZSBp
biB0aGUgUjEKICAgcGFja2V0IGFuZCB0aGUgSW5pdGlhdG9yIGNvbXBsZXRlcyB0aGlzIGV4
Y2hhbmdlIGluIHRoZSBJMiBwYWNrZXQKICAgYmVmb3JlIHRoZSBSZXNwb25kZXIgcGVyZm9y
bXMgY29tcHV0YXRpb25hbGx5IGV4cGVuc2l2ZSBvcGVyYXRpb25zIG9yCiAgIHN0b3JlcyBh
bnkgc3RhdGUgZnJvbSB0aGUgZXhjaGFuZ2UuICBHaXZlbiB0aGlzIGhhbmRzaGFrZSBzdHJ1
Y3R1cmUsCiAgIEhJUCBERVggb3BlcmF0aW9uYWxseSBpcyB2ZXJ5IHNpbWlsYXIgdG8gSElQ
IEJFWC4gIE1vcmVvdmVyLCB0aGUKICAgZW1wbG95ZWQgbW9kZWwgaXMgYWxzbyBmYWlybHkg
ZXF1aXZhbGVudCB0byA4MDIuMTEtMjAwNwogICBbSUVFRS44MDItMTEuMjAwN10gTWFzdGVy
IEtleSBhbmQgUGFpci13aXNlIFRyYW5zaWVudCBLZXksIGJ1dAogICBoYW5kbGVkIGluIGEg
c2luZ2xlIGV4Y2hhbmdlLgoKICAgSElQIERFWCBkb2VzIG5vdCBoYXZlIHRoZSBvcHRpb24g
dG8gZW5jcnlwdCB0aGUgSG9zdCBJZGVudGl0eSBvZiB0aGUKICAgSW5pdGlhdG9yIGluIHRo
ZSBJMiBwYWNrZXQuICBUaGUgUmVzcG9uZGVyJ3MgSG9zdCBJZGVudGl0eSBhbHNvIGlzCiAg
IG5vdCBwcm90ZWN0ZWQuICBUaHVzLCBjb250cmFyeSB0byBISVB2MiwgSElQIERFWCBkb2Vz
IG5vdCBwcm92aWRlIGZvcgogICBlbmQtcG9pbnQgYW5vbnltaXR5IGFuZCBhbnkgc2lnbmFs
aW5nIChpLmUuLCBIT1NUX0lEIHBhcmFtZXRlcgogICBjb250YWluZWQgd2l0aCBhbiBFTkNS
WVBURUQgcGFyYW1ldGVyKSB0aGF0IGluZGljYXRlcyBzdWNoIGFub255bWl0eQogICBzaG91
bGQgYmUgaWdub3JlZC4KCiAgIEFzIGluIFtSRkM3NDAxXSwgZGF0YSBwYWNrZXRzIHN0YXJ0
IHRvIGZsb3cgYWZ0ZXIgdGhlIFIyIHBhY2tldC4gIFRoZQogICBJMiBhbmQgUjIgcGFja2V0
cyBtYXkgY2FycnkgYSBkYXRhIHBheWxvYWQgaW4gdGhlIGZ1dHVyZS4gIFRoZQogICBkZXRh
aWxzIG9mIHRoaXMgbWF5IGJlIGRlZmluZWQgbGF0ZXIuCgogICBBbiBleGlzdGluZyBISVAg
YXNzb2NpYXRpb24gY2FuIGJlIHVwZGF0ZWQgd2l0aCB0aGUgdXBkYXRlIG1lY2hhbmlzbQog
ICBkZWZpbmVkIGluIFtSRkM3NDAxXS4gIExpa2V3aXNlLCB0aGUgYXNzb2NpYXRpb24gY2Fu
IGJlIHRvcm4gZG93bgogICB3aXRoIHRoZSBkZWZpbmVkIGNsb3NpbmcgbWVjaGFuaXNtIGZv
ciBISVB2MiBpZiBpdCBpcyBubyBsb25nZXIKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAg
ICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgICBbUGFnZSA1XQoMCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAg
ICAgRmVicnVhcnkgMjAyMAoKCiAgIG5lZWRlZC4gIEluIGRvaW5nIHNvLCBISVAgREVYIG9t
aXRzIHRoZSBISVBfU0lHTkFUVVJFIHBhcmFtZXRlcnMgb2YKICAgdGhlIG9yaWdpbmFsIEhJ
UHYyIHNwZWNpZmljYXRpb24uCgogICBGaW5hbGx5LCBISVAgREVYIGlzIGRlc2lnbmVkIGFz
IGFuIGVuZC10by1lbmQgYXV0aGVudGljYXRpb24gYW5kIGtleQogICBlc3RhYmxpc2htZW50
IHByb3RvY29sLiAgQXMgc3VjaCwgaXQgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0
aAogICBFbmNhcHN1bGF0ZWQgU2VjdXJpdHkgUGF5bG9hZCAoRVNQKSBbUkZDNzQwMl0gYXMg
d2VsbCBhcyB3aXRoIG90aGVyCiAgIGVuZC10by1lbmQgc2VjdXJpdHkgcHJvdG9jb2xzLiAg
SW4gYWRkaXRpb24sIEhJUCBERVggY2FuIGFsc28gYmUgdXNlZAogICBhcyBhIGtleWluZyBt
ZWNoYW5pc20gZm9yIHNlY3VyaXR5IHByaW1pdGl2ZXMgYXQgdGhlIE1BQyBsYXllciwgZS5n
LiwKICAgZm9yIElFRUUgODAyLjE1LjQgbmV0d29ya3MgW0lFRUUuODAyLTE1LTQuMjAxMV0u
ICBJdCBpcyB3b3J0aAogICBtZW50aW9uaW5nIHRoYXQgdGhlIEhJUCBERVggYmFzZSBwcm90
b2NvbCBkb2VzIG5vdCBjb3ZlciBhbGwgdGhlCiAgIGZpbmUtZ3JhaW5lZCBwb2xpY3kgY29u
dHJvbCBmb3VuZCBpbiBJbnRlcm5ldCBLZXkgRXhjaGFuZ2UgVmVyc2lvbiAyCiAgIChJS0V2
MikgW1JGQzcyOTZdIHRoYXQgYWxsb3dzIElLRXYyIHRvIHN1cHBvcnQgY29tcGxleCBnYXRl
d2F5CiAgIHBvbGljaWVzLiAgVGh1cywgSElQIERFWCBpcyBub3QgYSByZXBsYWNlbWVudCBm
b3IgSUtFdjIuCgoxLjIuICBBcHBsaWNhYmlsaXR5CgogICBISVAgREVYLCBieSBkZXNpZ24s
IGRvZXMgbm90IHN1cHBvcnQgUGVyZmVjdCBGb3J3YXJkIFNlY3JlY3kgKFBGUykuCiAgIEFs
bCBjdXJyZW50IFBGUyBhcHByb2FjaGVzIHVzZSBFcGhlbWVyYWwgREgsIHNlY3VyZWQgYW5k
IGlkZW50aWZpZWQKICAgaW4gc29tZSBtYW5uZXIgKGZvciBleGFtcGxlLCB3aXRoIFNJR01B
IG9yIFBBS0UpLiAgVGhlcmUgYXJlIGNsYXNzZXMKICAgb2YgZGV2aWNlcywgbGlrZSB0aG9z
ZSBiYXNlZCBvbiB0aGUgOC1iaXQgODA1MSBtaWNyb3Byb2Nlc3Nvciwgd2hlcmUKICAgdGhp
cyBpcyBwcm9oaWJpdGl2ZWx5IGV4cGVuc2l2ZS4gIFBhc3QgZXhwZXJpZW5jZSB3aXRoIHRo
ZSA4MDUxIGJhc2VkCiAgIFpXQVZFIFpXMDUwMCBwcm9kdWN0IGhhcyBzaG93biB0aGF0IEVD
MjU1MTkga2V5IHBhaXIgZ2VuZXJhdGlvbgogICBleGNlZWRlZCAxMCBzZWNvbmRzIHdpdGgg
dW5hY2NlcHRhYmxlIGJhdHRlcnkgY29uc3VtcHRpb24uICBUaGUgRUNESAogICB3aWRlLW11
bHRpcGx5IG9mIHRoZSBzdGF0aWMtc3RhdGljIGtleXMgdG9vayA4IC0gOSBzZWNvbmRzIHdp
dGgKICAgbWVhc3VyYWJsZSBiYXR0ZXJ5IGRyYWluLiAgRm9yIHRoZXNlIGNsYXNzIG9mIGRl
dmljZXMsIHRoZSBwb3NzaWJsZQogICByaXNrIG9mIG5vIFBGUyBoYXMgdG8gYmUgd2VpZ2hl
ZCBhZ2FpbnN0IHRoZSByaXNrIG9mIHRoZWZ0IG9mCiAgIHByZXNoYXJlZCBrZXlzIGFsdGVy
bmF0aXZlcy4gIEFsc28sIGl0IGlzIG9mdGVuIHRoZSBjYXNlIHRoYXQgSElQIERFWAogICBp
cyBvbmx5IHBlcmZvcm1lZCBkdXJpbmcgZGV2aWNlIGpvaW4gdGltZSwgYW5kLCB0aHVzLCBu
byBQRlMgaXMKICAgY29uc2lkZXJlZCBhbiBhY2NlcHRhYmxlIGNvbXByb21pc2UuCgogICBB
bHNvLCBpdCBpcyBvZnRlbiB0aGUgY2FzZSB0aGF0IEhJUCBERVggaXMgb25seSBwZXJmb3Jt
ZWQgZHVyaW5nCiAgIGRldmljZSBqb2luIHRpbWUsIGFuZCB0aHVzIG5vIFBGUyBpcyBjb25z
aWRlcmVkIGFuIGFjY2VwdGFibGUKICAgY29tcHJvbWlzZWQuCgogICBISVAgREVYIE1VU1Qg
b25seSBiZSB1c2VkIGluIGNvbW11bmljYXRpbmcgd2l0aCBzdWNoIGNvbnN0cmFpbmVkCiAg
IGRldmljZXMgKGUuZy4sIGNsYXNzIDAgYW5kIDEgZGV2aWNlcyBhcyBkZWZpbmVkIGluIHNl
Y3Rpb24gMyBpbgogICBbUkZDNzIyOF0pLgoKMS4zLiAgTWVtbyBTdHJ1Y3R1cmUKCiAgIFRo
ZSByZXN0IG9mIHRoaXMgbWVtbyBpcyBzdHJ1Y3R1cmVkIGFzIGZvbGxvd3MuICBTZWN0aW9u
IDIgZGVmaW5lcwogICB0aGUgY2VudHJhbCBrZXl3b3Jkcywgbm90YXRpb24sIGFuZCB0ZXJt
cyB1c2VkIHRocm91Z2hvdXQgdGhpcwogICBkb2N1bWVudC4gIFNlY3Rpb24gMyBkZWZpbmVz
IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIEhvc3QgSWRlbnRpdHkgYW5kCiAgIGl0cyB2YXJpb3Vz
IHJlcHJlc2VudGF0aW9ucy4gIFNlY3Rpb24gNCBnaXZlcyBhbiBvdmVydmlldyBvZiB0aGUg
SElQCiAgIERpZXQgRVhjaGFuZ2UgcHJvdG9jb2wuICBTZWN0aW9ucyA1IGFuZCA2IGRlZmlu
ZSB0aGUgZGV0YWlsZWQgcGFja2V0CiAgIGZvcm1hdHMgYW5kIHJ1bGVzIGZvciBwYWNrZXQg
cHJvY2Vzc2luZy4gIEZpbmFsbHksIFNlY3Rpb25zIDcsIDgsIDksCiAgIGFuZCAxMCBkaXNj
dXNzIHBvbGljeSwgaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIEhJUHYyIHZzIERFWCwKICAg
c2VjdXJpdHksIGFuZCBJQU5BIGNvbnNpZGVyYXRpb25zLCByZXNwZWN0aXZlbHkuICBBcHBl
bmRpeCBBIGRlZmluZXMKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVn
dXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgIFtQYWdlIDZdCgwKSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAy
MDIwCgoKICAgYSB0d28gZmFjdG9yIGF1dGhlbnRpY2F0aW9uIHNjaGVtZSBhbmQgQXBwZW5k
aXggQiBoaWdobGlnaHRzIHNvbWUKICAgZGlzY3Vzc2lvbnMgd2l0aCB0aGUgSUVTRy4KCjIu
ICBUZXJtcywgTm90YXRpb24gYW5kIERlZmluaXRpb25zCgoyLjEuICBSZXF1aXJlbWVudHMg
VGVybWlub2xvZ3kKCiAgIFRoZSBrZXkgd29yZHMgIk1VU1QiLCAiTVVTVCBOT1QiLCAiUkVR
VUlSRUQiLCAiU0hBTEwiLCAiU0hBTEwgTk9UIiwKICAgIlNIT1VMRCIsICJTSE9VTEQgTk9U
IiwgIlJFQ09NTUVOREVEIiwgIk5PVCBSRUNPTU1FTkRFRCIsICJNQVkiLCBhbmQKICAgIk9Q
VElPTkFMIiBpbiB0aGlzIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNj
cmliZWQgaW4gQkNQCiAgIDE0IFtSRkMyMTE5XSBbUkZDODE3NF0gd2hlbiwgYW5kIG9ubHkg
d2hlbiwgdGhleSBhcHBlYXIgaW4gYWxsCiAgIGNhcGl0YWxzLCBhcyBzaG93biBoZXJlLgoK
Mi4yLiAgTm90YXRpb24KCiAgIFt4XSAgIGluZGljYXRlcyB0aGF0IHggaXMgb3B0aW9uYWwu
CgogICB7eH0gICBpbmRpY2F0ZXMgdGhhdCB4IGlzIGVuY3J5cHRlZC4KCiAgIFgoeSkgICBp
bmRpY2F0ZXMgdGhhdCB5IGlzIGEgcGFyYW1ldGVyIG9mIFguCgogICA8eD5pICAgaW5kaWNh
dGVzIHRoYXQgeCBleGlzdHMgaSB0aW1lcy4KCiAgIC0tPiAgIHNpZ25pZmllcyAiSW5pdGlh
dG9yIHRvIFJlc3BvbmRlciIgY29tbXVuaWNhdGlvbiAocmVxdWVzdHMpLgoKICAgPC0tICAg
c2lnbmlmaWVzICJSZXNwb25kZXIgdG8gSW5pdGlhdG9yIiBjb21tdW5pY2F0aW9uIChyZXBs
aWVzKS4KCiAgIHwgIHNpZ25pZmllcyBjb25jYXRlbmF0aW9uIG9mIGluZm9ybWF0aW9uIC0g
ZS5nLiwgWCB8IFkgaXMgdGhlCiAgICAgIGNvbmNhdGVuYXRpb24gb2YgWCBhbmQgWS4KCiAg
IEZPTEQgKFgsIEspICAgZGVub3RlcyB0aGUgcGFydGl0aW9uaW5nIG9mIFggaW50byBuIEst
Yml0IHNlZ21lbnRzIGFuZAogICAgICB0aGUgaXRlcmF0aXZlIGZvbGRpbmcgb2YgdGhlc2Ug
c2VnbWVudHMgdmlhIFhPUi4gIEkuZS4sIFggPSB4XzEsCiAgICAgIHhfMiwgLi4uLCB4X24s
IHdoZXJlIHhfaSBpcyBvZiBsZW5ndGggSyBhbmQgdGhlIGxhc3Qgc2VnbWVudCB4X24KICAg
ICAgaXMgcGFkZGVkIHRvIGxlbmd0aCBLIGJ5IGFwcGVuZGluZyAwIGJpdHMuICBGT0xEIHRo
ZW4gaXMgY29tcHV0ZWQKICAgICAgYXMgRk9MRChYLCBLKSA9IHRfbiwgd2hlcmUgdF9pID0g
dF9pLTEgWE9SIHhfaSBhbmQgdF8xID0geF8xLgoKICAgTHRydW5jIChNKHgpLCBLKSAgIGRl
bm90ZXMgdGhlIGxvd2VzdCBvcmRlciBLIGJpdHMgb2YgdGhlIHJlc3VsdCBvZgogICAgICB0
aGUgTUFDIGZ1bmN0aW9uIE0gb24gdGhlIGlucHV0IHguCgogICBzb3J0IChISVQtSSB8IEhJ
VC1SKSAgIGlzIGRlZmluZWQgYXMgdGhlIG5ldHdvcmsgYnl0ZSBvcmRlcgogICAgICBjb25j
YXRlbmF0aW9uIG9mIHRoZSB0d28gSElUcywgd2l0aCB0aGUgc21hbGxlciBISVQgcHJlY2Vk
aW5nIHRoZQogICAgICBsYXJnZXIgSElULCByZXN1bHRpbmcgZnJvbSB0aGUgbnVtZXJpYyBj
b21wYXJpc29uIG9mIHRoZSB0d28gSElUcwogICAgICBpbnRlcnByZXRlZCBhcyBwb3NpdGl2
ZSAodW5zaWduZWQpIDEyOC1iaXQgaW50ZWdlcnMgaW4gbmV0d29yawogICAgICBieXRlIG9y
ZGVyLgoKCgoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1
LCAyMDIwICAgICAgICAgICAgICAgIFtQYWdlIDddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoK
Mi4zLiAgRGVmaW5pdGlvbnMKCiAgIENLREY6ICBDTUFDLWJhc2VkIEtleSBEZXJpdmF0aW9u
IEZ1bmN0aW9uLgoKICAgQ01BQzogIFRoZSBDaXBoZXItYmFzZWQgTWVzc2FnZSBBdXRoZW50
aWNhdGlvbiBDb2RlIHdpdGggdGhlIDEyOC1iaXQKICAgICAgQWR2YW5jZWQgRW5jcnlwdGlv
biBTdGFuZGFyZCAoQUVTKSBkZWZpbmVkIGluIFJGQyA0NDkzIFtSRkM0NDkzXS4KCiAgIEhJ
UCBhc3NvY2lhdGlvbjogIFRoZSBzaGFyZWQgc3RhdGUgYmV0d2VlbiB0d28gcGVlcnMgYWZ0
ZXIgY29tcGxldGlvbgogICAgICBvZiB0aGUgSElQIERFWCBoYW5kc2hha2UuCgogICBISVAg
REVYIChEaWV0IEVYY2hhbmdlKTogIFRoZSBFQ0RILWJhc2VkIEhJUCBoYW5kc2hha2UgZm9y
CiAgICAgIGVzdGFibGlzaGluZyBhIG5ldyBISVAgYXNzb2NpYXRpb24uCgogICBISVQgU3Vp
dGU6ICBBIEhJVCBTdWl0ZSBncm91cHMgYWxsIGFsZ29yaXRobXMgdGhhdCBhcmUgcmVxdWly
ZWQgdG8KICAgICAgZ2VuZXJhdGUgYW5kIHVzZSBhbiBISSBhbmQgaXRzIEhJVC4gIEluIHBh
cnRpY3VsYXIsIHRoZXNlCiAgICAgIGFsZ29yaXRobXMgYXJlOiAxKSBFQ0RIIGFuZCAyKSBG
T0xELgoKICAgSEkgKEhvc3QgSWRlbnRpdHkpOiAgVGhlIHN0YXRpYyBFQ0RIIHB1YmxpYyBr
ZXkgdGhhdCByZXByZXNlbnRzIHRoZQogICAgICBpZGVudGl0eSBvZiB0aGUgaG9zdC4gIElu
IEhJUCBERVgsIGEgaG9zdCBwcm92ZXMgb3duZXJzaGlwIG9mIHRoZQogICAgICBwcml2YXRl
IGtleSBiZWxvbmdpbmcgdG8gaXRzIEhJIGJ5IGNyZWF0aW5nIGEgSElQX01BQyB3aXRoIHRo
ZQogICAgICBkZXJpdmVkIEVDREgga2V5IChzZWUgU2VjdGlvbiAzKS4KCiAgIEhJVCAoSG9z
dCBJZGVudGl0eSBUYWcpOiAgQSBzaG9ydGhhbmQgZm9yIHRoZSBISSBpbiBJUHY2IGZvcm1h
dC4gIEl0CiAgICAgIGlzIGdlbmVyYXRlZCBieSBmb2xkaW5nIHRoZSBISSAoc2VlIFNlY3Rp
b24gMykuCgogICBJbml0aWF0b3I6ICBUaGUgaG9zdCB0aGF0IGluaXRpYXRlcyB0aGUgSElQ
IERFWCBoYW5kc2hha2UuICBUaGlzIHJvbGUKICAgICAgaXMgdHlwaWNhbGx5IGZvcmdvdHRl
biBvbmNlIHRoZSBoYW5kc2hha2UgaXMgY29tcGxldGVkLgoKICAgS0VZTUFUOiAgS2V5aW5n
IG1hdGVyaWFsLiAgVGhhdCBpcywgdGhlIGJpdCBzdHJpbmcocykgdXNlZCBhcwogICAgICBj
cnlwdG9ncmFwaGljIGtleXMuCgogICBMZW5ndGggb2YgdGhlIFJlc3BvbmRlcidzIEhJVCBI
YXNoIEFsZ29yaXRobSAoUkhBU0hfbGVuKTogIFRoZQogICAgICBuYXR1cmFsIG91dHB1dCBs
ZW5ndGggb2YgUkhBU0ggaW4gYml0cy4KCiAgIE5vbmNlICNJOiAgTm9uY2UgI0kgcmVmZXJz
IHRvIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluIHRoZSBQVVpaTEUKICAgICAgcGFyYW1l
dGVyIChzZWUgc2VjdGlvbiA1LjIuNCBpbiBbUkZDNzQwMV0uICBJdCBpcyBhbHNvIHJlZmVy
cmVkIHRvCiAgICAgIGFzICJyYW5kb20gdmFsdWUgI0kiIGluIHRoaXMgZG9jdW1lbnQuCgog
ICBPR0EgKE9yY2hpZCBHZW5lcmF0aW9uIEFsZ29yaXRobSk6ICBIYXNoIGZ1bmN0aW9uIHVz
ZWQgaW4gZ2VuZXJhdGluZwogICAgICB0aGUgT1JDSElELgoKICAgT1JDSElEIChPdmVybGF5
IFJvdXRhYmxlIENyeXB0b2dyYXBoaWMgSGFzaCBJZGVudGlmaWVycyk6ICBJUHY2CiAgICAg
IGFkZHJlc3NlcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGVuZHBvaW50IGlkZW50aWZpZXJz
IGF0CiAgICAgIGFwcGxpY2F0aW9ucyBhbmQgQXBwbGljYXRpb24gUHJvZ3JhbW1pbmcgSW50
ZXJmYWNlcyAoQVBJcykgYW5kIG5vdAogICAgICBhcyBpZGVudGlmaWVycyBmb3IgbmV0d29y
ayBsb2NhdGlvbiBhdCB0aGUgSVAgbGF5ZXIuCgoKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAg
ICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgICBbUGFnZSA4XQoM
CkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAg
ICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIFB1enpsZSBkaWZmaWN1bHR5IEs6ICBUaGUgSW5p
dGlhdG9yIGhhcyB0byBjb21wdXRlIGEgc29sdXRpb24gZm9yIHRoZQogICAgICBwdXp6bGUu
ICBUaGUgbGV2ZWwgb2YgY29tcHV0YXRpb25hbCBkaWZmaWN1bHR5IGlzIGRlbm90ZWQgYnkg
dGhlCiAgICAgICNLIGZpZWxkIGluIHRoZSBwdXp6bGUgcGFyYW1ldGVyIChzZWUgc2VjdGlv
biA1LjIuNCBpbiBbUkZDNzQwMV0uCgogICBSZXNwb25kZXI6ICBUaGUgaG9zdCB0aGF0IHJl
c3BvbmRzIHRvIHRoZSBJbml0aWF0b3IgaW4gdGhlIEhJUCBERVgKICAgICAgaGFuZHNoYWtl
LiAgVGhpcyByb2xlIGlzIHR5cGljYWxseSBmb3Jnb3R0ZW4gb25jZSB0aGUgaGFuZHNoYWtl
IGlzCiAgICAgIGNvbXBsZXRlZC4KCiAgIFJIQVNIIChSZXNwb25kZXIncyBISVQgSGFzaCBB
bGdvcml0aG0pOiAgSW4gSElQIERFWCwgUkhBU0ggaXMKICAgICAgcmVkZWZpbmVkIGFzIENN
QUMuICBTdGlsbCwgbm90ZSB0aGF0IENNQUMgaXMgYSBtZXNzYWdlCiAgICAgIGF1dGhlbnRp
Y2F0aW9uIGNvZGUgKE1BQykgYW5kIG5vdCBhIGNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlv
bi4KICAgICAgVGh1cywgYSBtYXBwaW5nIGZyb20gQ01BQyh4LHkpIHRvIFJIQVNIKHopIG11
c3QgYmUgZGVmaW5lZCB3aGVyZQogICAgICBSSEFTSCBpcyB1c2VkLiAgTW9yZW92ZXIsIFJI
QVNIIGhhcyBkaWZmZXJlbnQgc2VjdXJpdHkgcHJvcGVydGllcwogICAgICBpbiBISVAgREVY
IGFuZCBpcyBub3QgdXNlZCBmb3IgSElUIGdlbmVyYXRpb24uCgozLiAgSG9zdCBJZGVudGl0
eSAoSEkpIGFuZCBpdHMgU3RydWN0dXJlCgogICBJbiB0aGlzIHNlY3Rpb24sIHRoZSBwcm9w
ZXJ0aWVzIG9mIHRoZSBIb3N0IElkZW50aXR5IGFuZCBIb3N0CiAgIElkZW50aXR5IFRhZyBh
cmUgZGlzY3Vzc2VkLCBhbmQgdGhlIGV4YWN0IGZvcm1hdCBmb3IgdGhlbSBpcyBkZWZpbmVk
LgogICBJbiBISVAsIHRoZSBwdWJsaWMga2V5IG9mIGFuIGFzeW1tZXRyaWMga2V5IHBhaXIg
aXMgdXNlZCBhcyB0aGUgSG9zdAogICBJZGVudGl0eSAoSEkpLiAgQ29ycmVzcG9uZGluZ2x5
LCB0aGUgaG9zdCBpdHNlbGYgaXMgZGVmaW5lZCBhcyB0aGUKICAgZW50aXR5IHRoYXQgaG9s
ZHMgdGhlIHByaXZhdGUga2V5IG9mIHRoZSBrZXkgcGFpci4gIFNlZSB0aGUgSElQCiAgIGFy
Y2hpdGVjdHVyZSBzcGVjaWZpY2F0aW9uIFtJLUQuaWV0Zi1oaXAtcmZjNDQyMy1iaXNdIGZv
ciBtb3JlCiAgIGRldGFpbHMgb24gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhbiBpZGVudGl0
eSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcKICAgaWRlbnRpZmllci4KCiAgIEhJUCBERVggaW1w
bGVtZW50YXRpb25zIE1VU1Qgc3VwcG9ydCB0aGUgRWxsaXB0aWMgQ3VydmUgRGlmZmllLQog
ICBIZWxsbWFuIChFQ0RIKSBbUkZDNjA5MF0ga2V5IGV4Y2hhbmdlIGZvciBnZW5lcmF0aW5n
IHRoZSBISSBhcwogICBkZWZpbmVkIGluIFNlY3Rpb24gNS4yLjMuICBObyBhZGRpdGlvbmFs
IGFsZ29yaXRobXMgYXJlIHN1cHBvcnRlZCBhdAogICB0aGlzIHRpbWUuCgogICBBIGNvbXBy
ZXNzZWQgZW5jb2Rpbmcgb2YgdGhlIEhJLCB0aGUgSG9zdCBJZGVudGl0eSBUYWcgKEhJVCks
IGlzIHVzZWQKICAgaW4gdGhlIGhhbmRzaGFrZSBwYWNrZXRzIHRvIHJlcHJlc2VudCB0aGUg
SEkuICBUaGUgREVYIEhvc3QgSWRlbnRpdHkKICAgVGFnIChISVQpIGlzIGRpZmZlcmVudCBm
cm9tIHRoZSBCRVggSElUIGluIHR3byB3YXlzOgoKICAgbyAgVGhlIEhJVCBzdWl0ZSBJRCBN
VVNUIG9ubHkgYmUgYSBERVggSElUIElEIChzZWUgU2VjdGlvbiA1LjIuNCkuCgogICBvICBU
aGUgREVYIEhJVCBpcyBub3QgZ2VuZXJhdGVkIHZpYSBhIGNyeXB0b2dyYXBoaWMgaGFzaC4g
IFJhdGhlciwgaXQKICAgICAgaXMgYSBjb21wcmVzc2lvbiBvZiB0aGUgSEkuCgogICBEdWUg
dG8gdGhlIGxhdHRlciBwcm9wZXJ0eSwgYW4gYXR0YWNrZXIgbWF5IGJlIGFibGUgdG8gZmlu
ZCBhCiAgIGNvbGxpc2lvbiB3aXRoIGEgSElUIHRoYXQgaXMgaW4gdXNlLiAgSGVuY2UsIHBv
bGljeSBkZWNpc2lvbnMgc3VjaCBhcwogICBhY2Nlc3MgY29udHJvbCBNVVNUIE5PVCBiZSBi
YXNlZCBzb2xlbHkgb24gdGhlIEhJVC4gIEluc3RlYWQsIHRoZSBISQogICBvZiBhIGhvc3Qg
U0hPVUxEIGJlIGNvbnNpZGVyZWQuCgogICBDYXJyeWluZyBISXMgYW5kIEhJVHMgaW4gdGhl
IGhlYWRlciBvZiB1c2VyIGRhdGEgcGFja2V0cyB3b3VsZAogICBpbmNyZWFzZSB0aGUgb3Zl
cmhlYWQgb2YgcGFja2V0cy4gIFRodXMsIGl0IGlzIG5vdCBleHBlY3RlZCB0aGF0CiAgIHRo
ZXNlIHBhcmFtZXRlcnMgYXJlIGNhcnJpZWQgaW4gZXZlcnkgcGFja2V0LCBidXQgb3RoZXIg
bWV0aG9kcyBhcmUKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0
IDE1LCAyMDIwICAgICAgICAgICAgICAgIFtQYWdlIDldCgwKSW50ZXJuZXQtRHJhZnQgICAg
ICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIw
CgoKICAgdXNlZCB0byBtYXAgdGhlIGRhdGEgcGFja2V0cyB0byB0aGUgY29ycmVzcG9uZGlu
ZyBISXMuICBJbiBzb21lCiAgIGNhc2VzLCB0aGlzIGFsbG93cyB1c2Ugb2YgSElQIERFWCB3
aXRob3V0IGFueSBhZGRpdGlvbmFsIGhlYWRlcnMgaW4KICAgdGhlIHVzZXIgZGF0YSBwYWNr
ZXRzLiAgRm9yIGV4YW1wbGUsIGlmIEVTUCBpcyB1c2VkIHRvIHByb3RlY3QgZGF0YQogICB0
cmFmZmljLCB0aGUgU2VjdXJpdHkgUGFyYW1ldGVyIEluZGV4IChTUEkpIGNhcnJpZWQgaW4g
dGhlIEVTUCBoZWFkZXIKICAgY2FuIGJlIHVzZWQgdG8gbWFwIHRoZSBlbmNyeXB0ZWQgZGF0
YSBwYWNrZXQgdG8gdGhlIGNvcnJlY3QgSElQIERFWAogICBhc3NvY2lhdGlvbi4gIFdoZW4g
b3RoZXIgdXNlciBkYXRhIHBhY2tldCBmb3JtYXRzIGFyZSB1c2VkLCB0aGUKICAgY29ycmVz
cG9uZGluZyBleHRlbnNpb25zIG5lZWQgdG8gZGVmaW5lIGEgcmVwbGFjZW1lbnQgZm9yIHRo
ZQogICBFU1BfVFJBTlNGT1JNIFtSRkM3NDAyXSBwYXJhbWV0ZXIgYWxvbmcgd2l0aCBhc3Nv
Y2lhdGVkIHNlbWFudGljcywKICAgYnV0IHRoaXMgcHJvY2VkdXJlIGlzIG91dHNpZGUgdGhl
IHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuCgozLjEuICBIb3N0IElkZW50aXR5IFRhZyAoSElU
KQoKICAgV2l0aCBISVAgREVYLCB0aGUgSElUIGlzIGEgMTI4LWJpdCB2YWx1ZSAtIGEgY29t
cHJlc3Npb24gb2YgdGhlIEhJCiAgIHByZXBlbmRlZCB3aXRoIGEgc3BlY2lmaWMgcHJlZml4
LiAgVGhlcmUgYXJlIHR3byBhZHZhbnRhZ2VzIG9mIHVzaW5nCiAgIGEgaGFzaGVkIGVuY29k
aW5nIG92ZXIgdGhlIGFjdHVhbCB2YXJpYWJsZS1zaXplZCBwdWJsaWMga2V5IGluCiAgIHBy
b3RvY29scy4gIEZpcnN0LCB0aGUgZml4ZWQgbGVuZ3RoIG9mIHRoZSBISVQga2VlcHMgcGFj
a2V0IHNpemVzCiAgIG1hbmFnZWFibGUgYW5kIGVhc2VzIHByb3RvY29sIGNvZGluZy4gIFNl
Y29uZCwgaXQgcHJlc2VudHMgYQogICBjb25zaXN0ZW50IGZvcm1hdCBmb3IgdGhlIHByb3Rv
Y29sLCBpbmRlcGVuZGVudCBvZiB0aGUgdW5kZXJseWluZwogICBpZGVudGl0eSB0ZWNobm9s
b2d5IGluIHVzZS4KCiAgIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIEhJVCBpcyBiYXNlZCBvbiBS
RkMgNzM0MyBbUkZDNzM0M10sIGNhbGxlZAogICBPdmVybGF5IFJvdXRhYmxlIENyeXB0b2dy
YXBoaWMgSGFzaCBJZGVudGlmaWVycyAoT1JDSElEcyksIGFuZAogICBjb25zaXN0cyBvZiB0
aHJlZSBwYXJ0czogZmlyc3QsIGFuIElBTkEgYXNzaWduZWQgcHJlZml4IHRvCiAgIGRpc3Rp
bmd1aXNoIGl0IGZyb20gb3RoZXIgSVB2NiBhZGRyZXNzZXMuICBTZWNvbmQsIGEgZm91ci1i
aXQKICAgZW5jb2Rpbmcgb2YgdGhlIGFsZ29yaXRobXMgdGhhdCB3ZXJlIHVzZWQgZm9yIGdl
bmVyYXRpbmcgdGhlIEhJIGFuZAogICB0aGUgY29tcHJlc3NlZCByZXByZXNlbnRhdGlvbiBv
ZiB0aGUgSEkuICBUaGlyZCwgYSA5Ni1iaXQgaGFzaGVkCiAgIHJlcHJlc2VudGF0aW9uIG9m
IHRoZSBISS4gIEluIGNvbnRyYXN0IHRvIEhJUHYyLCBISVAgREVYIGVtcGxveXMgSElUcwog
ICB0aGF0IGFyZSBOT1QgZ2VuZXJhdGVkIGJ5IG1lYW5zIG9mIGEgY3J5cHRvZ3JhcGhpYyBo
YXNoLiAgSW5zdGVhZCwKICAgdGhlIEhJIGlzIGNvbXByZXNzZWQgdG8gOTYgYml0cyBhcyBk
ZWZpbmVkIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4KCjMuMi4gIEdlbmVyYXRpbmcgYSBI
SVQgZnJvbSBhbiBISQoKICAgVGhlIEhJVCBkb2VzIG5vdCBmb2xsb3cgdGhlIGV4YWN0IHNl
bWFudGljcyBvZiBhbiBPUkNISUQgYXMgdGhlcmUgaXMKICAgbm8gaGFzaCBmdW5jdGlvbiBp
biBISVAgREVYLiAgU3RpbGwsIGl0cyBzdHJ1Y3R1cmUgaXMgc3Ryb25nbHkKICAgYWxpZ25l
ZCB3aXRoIHRoZSBPUkNISUQgZGVzaWduLiAgVGhlIHNhbWUgSVB2NiBwcmVmaXggdXNlZCBp
biBISVB2MgogICBpcyB1c2VkIGZvciBISVAgREVYLiAgVGhlIEhJUCBERVggSElUIHN1aXRl
IChzZWUgU2VjdGlvbiAxMCkgaXMgdXNlZAogICBmb3IgdGhlIGZvdXIgYml0cyBvZiB0aGUg
T3JjaGlkIEdlbmVyYXRpb24gQWxnb3JpdGhtIChPR0EpIGZpZWxkIGluCiAgIHRoZSBPUkNI
SUQuICBUaGUgaGFzaCByZXByZXNlbnRhdGlvbiBpbiBhbiBPUkNISUQgaXMgcmVwbGFjZWQg
d2l0aAogICBGT0xEKEhJLDk2KS4KCjMuMi4xLiAgV2h5IEludHJvZHVjZSBGT0xECgogICBI
SVAgREVYLCBieSBkZXNpZ24gbGFja3MgYSBjcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24u
ICBUaGUKICAgZ2VuZXJhdGlvbiBvZiB0aGUgSElUIGlzIG9uZSBvZiB0aGUgZmV3IHBsYWNl
cyBpbiB0aGUgcHJvdG9jb2wgd2hlcmUKICAgdGhpcyBwcmVzZW50cyBhIGNoYWxsZW5nZS4g
IENNQUMgd2FzIGZpcnN0IGNvbnNpZGVyZWQgZm9yIHRoaXMKICAgcHVycG9zZSwgYnV0IHRv
IHVzZSBDTUFDIGZvciBISVQgZ2VuZXJhdGlvbiB3b3VsZCByZXF1aXJlIHVzaW5nIGEKICAg
c3RhdGljIGtleSwgZWl0aGVyIFpFUk8gb3Igc29tZSBwdWJsaXNoZWQgdmFsdWUuICBOSVNU
IGRvZXMgbm90CiAgIGNvbnNpZGVyIENNQUMgYW4gYXBwcm92ZWQgY3J5cHRvZ3JhaGljIGhh
c2ggYXM6CgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwg
MjAyMCAgICAgICAgICAgICAgIFtQYWdlIDEwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAg
ICAgIEl0IGlzIHN0cmFpZ2h0Zm9yd2FyZCB0byBkZW1vbnN0cmF0ZSB0aGF0IENNQUMgaXMg
bm90IGNvbGxpc2lvbi0KICAgICAgcmVzaXN0YW50IGZvciBhbnkgY2hvaWNlIG9mIGEgcHVi
bGlzaGVkIGtleS4KCiAgIFNpbmNlIGNvbGxpc2lvbi1yZXNpc3RhbmNlIGlzIG5vdCBwb3Nz
aWJsZSB3aXRoIHRoZSB0b29scyBhdCBoYW5kLAogICBhbnkgcmVhc29uYWJsZSBmdW5jdGlv
biAoZS5nLiAgRk9MRCkgdGhhdCB0YWtlcyB0aGUgZnVsbCB2YWx1ZSBvZiB0aGUKICAgSEkg
aW50byBnZW5lcmF0aW5nIHRoZSBISVQgY2FuIGJlIHVzZWQsIHByb3ZpZGVkIHRoYXQgY29s
bGlzaW9uCiAgIGRldGVjdGlvbiBpcyBwYXJ0IG9mIHRoZSBISVAtREVYIGRlcGxveW1lbnQg
ZGVzaWduLiAgVGhpcyBpcyBhY2hpZXZlZAogICBoZXJlIHRocm91Z2ggZWl0aGVyIGFuIEFD
TCBvciBzb21lIG90aGVyIGxvb2t1cCBwcm9jZXNzIHRoYXQKICAgZXh0ZXJuYWxseSBiaW5k
cyB0aGUgSElUIGFuZCBISS4KCjQuICBQcm90b2NvbCBPdmVydmlldwoKICAgVGhpcyBzZWN0
aW9uIGdpdmVzIGEgc2ltcGxpZmllZCBvdmVydmlldyBvZiB0aGUgSElQIERFWCBwcm90b2Nv
bAogICBvcGVyYXRpb24gYW5kIGRvZXMgbm90IGNvbnRhaW4gYWxsIHRoZSBkZXRhaWxzIG9m
IHRoZSBwYWNrZXQgZm9ybWF0cwogICBvciB0aGUgcGFja2V0IHByb2Nlc3Npbmcgc3RlcHMu
ICBTZWN0aW9uIDUgYW5kIFNlY3Rpb24gNiBkZXNjcmliZQogICB0aGVzZSBhc3BlY3RzIGlu
IG1vcmUgZGV0YWlsIGFuZCBhcmUgbm9ybWF0aXZlIGluIGNhc2Ugb2YgYW55CiAgIGNvbmZs
aWN0cyB3aXRoIHRoaXMgc2VjdGlvbi4gIEltcG9ydGFudGx5LCB0aGUgaW5mb3JtYXRpb24g
Z2l2ZW4gaW4KICAgdGhpcyBzZWN0aW9uIGZvY3VzZXMgb24gdGhlIGRpZmZlcmVuY2VzIGJl
dHdlZW4gdGhlIEhJUHYyIGFuZCBISVAgREVYCiAgIHByb3RvY29sIHNwZWNpZmljYXRpb25z
LgoKNC4xLiAgQ3JlYXRpbmcgYSBISVAgQXNzb2NpYXRpb24KCiAgIEJ5IGRlZmluaXRpb24s
IHRoZSBzeXN0ZW0gaW5pdGlhdGluZyBhIEhJUCBEaWV0IEVYY2hhbmdlIGlzIHRoZQogICBJ
bml0aWF0b3IsIGFuZCB0aGUgcGVlciBpcyB0aGUgUmVzcG9uZGVyLiAgVGhpcyBkaXN0aW5j
dGlvbiBpcwogICB0eXBpY2FsbHkgZm9yZ290dGVuIG9uY2UgdGhlIGhhbmRzaGFrZSBjb21w
bGV0ZXMsIGFuZCBlaXRoZXIgcGFydHkKICAgY2FuIGJlY29tZSB0aGUgSW5pdGlhdG9yIGlu
IGZ1dHVyZSBjb21tdW5pY2F0aW9ucy4KCiAgIFRoZSBISVAgRGlldCBFWGNoYW5nZSBzZXJ2
ZXMgdG8gbWFuYWdlIHRoZSBlc3RhYmxpc2htZW50IG9mIHN0YXRlCiAgIGJldHdlZW4gYW4g
SW5pdGlhdG9yIGFuZCBhIFJlc3BvbmRlci4gIFRoZSBmaXJzdCBwYWNrZXQsIEkxLAogICBp
bml0aWF0ZXMgdGhlIGV4Y2hhbmdlLCBhbmQgdGhlIGxhc3QgdGhyZWUgcGFja2V0cywgUjEs
IEkyLCBhbmQgUjIsCiAgIGNvbnN0aXR1dGUgYW4gYXV0aGVudGljYXRlZCBEaWZmaWUtSGVs
bG1hbiBbREg3Nl0ga2V5IGV4Y2hhbmdlIGZvcgogICB0aGUgTWFzdGVyIEtleSBTQSBnZW5l
cmF0aW9uLiAgVGhpcyBNYXN0ZXIgS2V5IFNBIGlzIHVzZWQgYnkgdGhlCiAgIEluaXRpYXRv
ciBhbmQgdGhlIFJlc3BvbmRlciB0byB3cmFwIHNlY3JldCBrZXlpbmcgbWF0ZXJpYWwgaW4g
dGhlIEkyCiAgIGFuZCBSMiBwYWNrZXRzLiAgQmFzZWQgb24gdGhlIGV4Y2hhbmdlZCBrZXlp
bmcgbWF0ZXJpYWwsIHRoZSBwZWVycwogICB0aGVuIGRlcml2ZSBhIFBhaXItd2lzZSBLZXkg
U0EgaWYgY3J5cHRvZ3JhcGhpYyBrZXlzIGFyZSBuZWVkZWQsCiAgIGUuZy4sIGZvciBFU1At
YmFzZWQgcHJvdGVjdGlvbiBvZiB1c2VyIGRhdGEuCgogICBUaGUgSW5pdGlhdG9yIGZpcnN0
IHNlbmRzIGEgdHJpZ2dlciBwYWNrZXQsIEkxLCB0byB0aGUgUmVzcG9uZGVyLgogICBUaGlz
IHBhY2tldCBjb250YWlucyB0aGUgSElUIG9mIHRoZSBJbml0aWF0b3IgYW5kIHRoZSBISVQg
b2YgdGhlCiAgIFJlc3BvbmRlciwgaWYgaXQgaXMga25vd24uICBNb3Jlb3ZlciwgdGhlIEkx
IHBhY2tldCBpbml0aWFsaXplcyB0aGUKICAgbmVnb3RpYXRpb24gb2YgdGhlIERpZmZpZS1I
ZWxsbWFuIGdyb3VwIHRoYXQgaXMgdXNlZCBmb3IgZ2VuZXJhdGluZwogICB0aGUgdGhlIE1h
c3RlciBLZXkgU0EuICBUaGVyZWZvcmUsIHRoZSBJMSBwYWNrZXQgY29udGFpbnMgYSBsaXN0
IG9mCiAgIERpZmZpZS1IZWxsbWFuIEdyb3VwIElEcyBzdXBwb3J0ZWQgYnkgdGhlIEluaXRp
YXRvci4gIE5vdGUgdGhhdCBpbgogICBzb21lIGNhc2VzIGl0IG1heSBiZSBwb3NzaWJsZSB0
byByZXBsYWNlIHRoaXMgdHJpZ2dlciBwYWNrZXQgYnkgc29tZQogICBvdGhlciBmb3JtIG9m
IGEgdHJpZ2dlciwgaW4gd2hpY2ggY2FzZSB0aGUgcHJvdG9jb2wgc3RhcnRzIHdpdGggdGhl
CiAgIFJlc3BvbmRlciBzZW5kaW5nIHRoZSBSMSBwYWNrZXQuICBJbiBzdWNoIGNhc2VzLCBh
bm90aGVyIG1lY2hhbmlzbSB0bwogICBjb252ZXkgdGhlIEluaXRpYXRvcidzIHN1cHBvcnRl
ZCBESCBHcm91cHMgKGUuZy4sIGJ5IHVzaW5nIGEgZGVmYXVsdAogICBncm91cCkgbXVzdCBi
ZSBzcGVjaWZpZWQuCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3Vz
dCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDExXQoMCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAy
MAoKCiAgIFRoZSBzZWNvbmQgcGFja2V0LCBSMSwgc3RhcnRzIHRoZSBhY3R1YWwgYXV0aGVu
dGljYXRlZCBEaWZmaWUtSGVsbG1hbgogICBrZXkgZXhjaGFuZ2UuICBJdCBjb250YWlucyBh
IHB1enpsZSAtIGEgY3J5cHRvZ3JhcGhpYyBjaGFsbGVuZ2UgdGhhdAogICB0aGUgSW5pdGlh
dG9yIG11c3Qgc29sdmUgYmVmb3JlIGNvbnRpbnVpbmcgdGhlIGV4Y2hhbmdlLiAgVGhlIGxl
dmVsCiAgIG9mIGRpZmZpY3VsdHkgb2YgdGhlIHB1enpsZSBjYW4gYmUgYWRqdXN0ZWQgYmFz
ZWQgb24gbGV2ZWwgb2YgdHJ1c3QKICAgd2l0aCB0aGUgSW5pdGlhdG9yLCBjdXJyZW50IGxv
YWQsIG9yIG90aGVyIGZhY3RvcnMuICBJbiBhZGRpdGlvbiwgdGhlCiAgIFIxIGNvbnRhaW5z
IHRoZSBSZXNwb25kZXIncyBEaWZmaWUtSGVsbG1hbiBwYXJhbWV0ZXIgYW5kIGxpc3RzIG9m
CiAgIGNyeXB0b2dyYXBoaWMgYWxnb3JpdGhtcyBzdXBwb3J0ZWQgYnkgdGhlIFJlc3BvbmRl
ci4gIEJhc2VkIG9uIHRoZXNlCiAgIGxpc3RzLCB0aGUgSW5pdGlhdG9yIGNhbiBjb250aW51
ZSwgYWJvcnQsIG9yIHJlc3RhcnQgdGhlIGhhbmRzaGFrZQogICB3aXRoIGEgZGlmZmVyZW50
IHNlbGVjdGlvbiBvZiBjcnlwdG9ncmFwaGljIGFsZ29yaXRobXMuCgogICBJbiB0aGUgSTIg
cGFja2V0LCB0aGUgSW5pdGlhdG9yIE1VU1QgZGlzcGxheSB0aGUgc29sdXRpb24gdG8gdGhl
CiAgIHJlY2VpdmVkIHB1enpsZS4gIFdpdGhvdXQgYSBjb3JyZWN0IHNvbHV0aW9uLCB0aGUg
STIgcGFja2V0IGlzCiAgIGRpc2NhcmRlZC4gIFRoZSBJMiBhbHNvIGNvbnRhaW5zIGEga2V5
IHdyYXAgcGFyYW1ldGVyIHRoYXQgY2FycmllcwogICBzZWNyZXQga2V5aW5nIG1hdGVyaWFs
IG9mIHRoZSBJbml0aWF0b3IuICBUaGlzIGtleWluZyBtYXRlcmlhbCBpcwogICBvbmx5IGhh
bGYgb2YgdGhlIGZpbmFsIHNlc3Npb24ga2V5LiAgVGhlIHBhY2tldCBpcyBhdXRoZW50aWNh
dGVkIGJ5CiAgIHRoZSBzZW5kZXIgKEluaXRpYXRvcikgdmlhIGEgTUFDLgoKICAgVGhlIFIy
IHBhY2tldCBhY2tub3dsZWRnZXMgdGhlIHJlY2VpcHQgb2YgdGhlIEkyIHBhY2tldCBhbmQg
Y29tcGxldGVzCiAgIHRoZSBoYW5kc2hha2UuICBUaGUgUjIgY29udGFpbnMgYSBrZXkgd3Jh
cCBwYXJhbWV0ZXIgdGhhdCBjYXJyaWVzIHRoZQogICByZXN0IG9mIHRoZSBrZXlpbmcgbWF0
ZXJpYWwgb2YgdGhlIFJlc3BvbmRlci4gIFRoZSBwYWNrZXQgaXMKICAgYXV0aGVudGljYXRl
ZCBieSB0aGUgc2VuZGVyIChSZXNwb25kZXIpIHZpYSBhIE1BQy4KCiAgIFRoZSBISVAgREVY
IGhhbmRzaGFrZSBpcyBpbGx1c3RyYXRlZCBiZWxvdy4gIFRoZSB0ZXJtcyAiRU5DKERILHgp
IgogICBhbmQgIkVOQyhESCx5KSIgcmVmZXIgdG8gdGhlIHJhbmRvbSB2YWx1ZXMgeCBhbmQg
eSB0aGF0IGFyZSB3cmFwcGVkCiAgIGJhc2VkIG9uIHRoZSBNYXN0ZXIgS2V5IFNBIChpbmRp
Y2F0ZWQgYnkgRU5DIGFuZCBESCkuICBOb3RlIHRoYXQgeAogICBhbmQgeSBlYWNoIGNvbnN0
aXR1dGUgaGFsZiBvZiB0aGUgZmluYWwgc2Vzc2lvbiBrZXkgbWF0ZXJpYWwuICBUaGUKICAg
cGFja2V0cyBhbHNvIGNvbnRhaW4gb3RoZXIgcGFyYW1ldGVycyB0aGF0IGFyZSBub3Qgc2hv
d24gaW4gdGhpcwogICBmaWd1cmUuCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKTW9za293aXR6
LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAg
W1BhZ2UgMTJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdl
IChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAgICAgSW5pdGlhdG9yICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc3BvbmRlcgoKICAgICAgICAgICAg
ICAgICAgSTE6CiAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVtYWluIHN0YXRlbGVzcwogICAgICAgICAgICAgICAgICBSMTogcHV6emxlLCBI
SQogICAgICAgICAgICAgICAgIDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICBzb2x2ZSBwdXp6bGUKICAgcGVyZm9ybSBFQ0RICiAgIGVuY3J5cHQgeAogICAgICAgICAg
ICAgICAgICBJMjogc29sdXRpb24sIEhJLCBFTkMoREgseCksIG1hYwogICAgICAgICAgICAg
ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIHB1enpsZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9y
bSBFQ0RICiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGVjayBNQUMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRlY3J5cHQgeAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZW5jcnlwdCB5CiAgICAgICAgICAgICAgICAgIFIyOiBF
TkMoREgseSksIG1hYwogICAgICAgICAgICAgICAgIDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICAgY2hlY2sgTUFDCiAgIGRlY3J5cHQgeQoKCiAgICAgICAgICBGaWd1
cmUgMTogSGlnaC1sZXZlbCBvdmVydmlldyBvZiB0aGUgSElQIERpZXQgRVhjaGFuZ2UKCjQu
MS4xLiAgSElQIFB1enpsZSBNZWNoYW5pc20KCiAgIFRoZSBwdXJwb3NlIG9mIHRoZSBISVAg
cHV6emxlIG1lY2hhbmlzbSBpcyB0byBwcm90ZWN0IHRoZSBSZXNwb25kZXIKICAgZnJvbSBh
IG51bWJlciBvZiBkZW5pYWwtb2Ytc2VydmljZSB0aHJlYXRzLiAgSXQgYWxsb3dzIHRoZSBS
ZXNwb25kZXIKICAgdG8gZGVsYXkgc3RhdGUgY3JlYXRpb24gdW50aWwgcmVjZWl2aW5nIHRo
ZSBJMiBwYWNrZXQuICBGdXJ0aGVybW9yZSwKICAgdGhlIHB1enpsZSBhbGxvd3MgdGhlIFJl
c3BvbmRlciB0byB1c2UgYSBmYWlybHkgY2hlYXAgY2FsY3VsYXRpb24gdG8KICAgY2hlY2sg
dGhhdCB0aGUgSW5pdGlhdG9yIGlzICJzaW5jZXJlIiBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBo
YXMKICAgY2h1cm5lZCBlbm91Z2ggQ1BVIGN5Y2xlcyBpbiBzb2x2aW5nIHRoZSBwdXp6bGUu
CgogICBUaGUgcHV6emxlIG1lY2hhbmlzbSBlbmFibGVzIGEgUmVzcG9uZGVyIHRvIGltbWVk
aWF0ZWx5IHJlamVjdCBhbiBJMgogICBwYWNrZXQgaWYgaXQgZG9lcyBub3QgY29udGFpbiBh
IHZhbGlkIHB1enpsZSBzb2x1dGlvbi4gIFRvIHZlcmlmeSB0aGUKICAgcHV6emxlIHNvbHV0
aW9uLCB0aGUgUmVzcG9uZGVyIG9ubHkgaGFzIHRvIGNvbXB1dGUgYSBzaW5nbGUgQ01BQwog
ICBvcGVyYXRpb24uICBBZnRlciBhIHN1Y2Nlc3NmdWwgcHV6emxlIHZlcmlmaWNhdGlvbiwg
dGhlIFJlc3BvbmRlciBjYW4KICAgc2VjdXJlbHkgY3JlYXRlIHNlc3Npb24tc3BlY2lmaWMg
c3RhdGUgYW5kIHBlcmZvcm0gQ1BVLWludGVuc2l2ZQogICBvcGVyYXRpb25zIHN1Y2ggYXMg
YSBEaWZmaWUtSGVsbG1hbiBrZXkgZ2VuZXJhdGlvbi4gIEJ5IHZhcnlpbmcgdGhlCiAgIGRp
ZmZpY3VsdHkgb2YgdGhlIHB1enpsZSwgdGhlIFJlc3BvbmRlciBjYW4gZnJ1c3RyYXRlIENQ
VSBvciBtZW1vcnkKICAgdGFyZ2V0ZWQgRG9TIGF0dGFja3MuICBVbmRlciBub3JtYWwgbmV0
d29yayBjb25kaXRpb25zLCB0aGUgcHV6emxlCiAgIGRpZmZpY3VsdHkgU0hPVUxEIGJlIHpl
cm8sIHRodXMgZWZmZWN0aXZlbHkgcmV2ZXJ0aW5nIHRoZSBwdXp6bGUKICAgbWVjaGFuaXNt
IHRvIGEgY29va2llLWJhc2VkIERvUyBwcm90ZWN0aW9uIG1lY2hhbmlzbS4gIFdpdGhvdXQK
ICAgc2V0dGluZyB0aGUgcHV6emxlIGRpZmZpY3VsdHkgdG8gemVybyB1bmRlciBub3JtYWwg
bmV0d29yawogICBjb25kaXRpb25zLCBwb3RlbnRpYWxseSBzY2FyY2UgY29tcHV0YXRpb24g
cmVzb3VyY2VzIGF0IHRoZSBJbml0aWF0b3IKICAgd291bGQgYmUgY2h1cm5lZCB1bm5lY2Vz
c2FyaWx5LgoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1
LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgMTNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoK
ICAgQ29uY2VwdHVhbGx5LCB0aGUgcHV6emxlIG1lY2hhbmlzbSBpbiBISVAgREVYIGlzIHRo
ZSBzYW1lIGFzIGluCiAgIEhJUHYyLiAgSGVuY2UsIHRoaXMgZG9jdW1lbnQgcmVmZXJzIHRv
IFNlY3Rpb25zIDQuMS4xIGFuZCA0LjEuMiBpbgogICBbUkZDNzQwMV0gZm9yIG1vcmUgZGV0
YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVtcGxveWVkIG1lY2hhbmlzbS4KICAgTm90
YWJseSwgdGhlIG9ubHkgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgcHV6emxlIG1lY2hhbmlz
bSBpbiBISVAgREVYCiAgIGFuZCBISVB2MiBhcmUgdGhhdCBISVAgREVYIGRvZXMgbm90IGVt
cGxveSBwcmUtY29tcHV0YXRpb24gb2YgUjEKICAgcGFja2V0cyBhbmQgdXNlcyBDTUFDIGlu
c3RlYWQgb2YgYSBoYXNoIGZ1bmN0aW9uIGZvciBzb2x2aW5nIGFuZAogICB2ZXJpZnlpbmcg
YSBwdXp6bGUuICBUaGUgaW1wbGljYXRpb25zIG9mIHRoZXNlIGNoYW5nZXMgb24gdGhlIHB1
enpsZQogICBpbXBsZW1lbnRhdGlvbiBhcmUgZGlzY3Vzc2VkIGluIFNlY3Rpb24gNi4xLgoK
NC4xLjIuICBISVAgU3RhdGUgTWFjaGluZQoKICAgVGhlIEhJUCBERVggc3RhdGUgbWFjaGlu
ZSBoYXMgdGhlIHNhbWUgc3RhdGVzIGFzIHRoZSBISVB2MiBzdGF0ZQogICBtYWNoaW5lIChz
ZWUgNC40LiBpbiBbUkZDNzQwMV0pLiAgSG93ZXZlciwgSElQIERFWCBmZWF0dXJlcyBhCiAg
IHJldHJhbnNtaXNzaW9uIHN0cmF0ZWd5IHdpdGggYW4gb3B0aW9uYWwgcmVjZXB0aW9uIGFj
a25vd2xlZGdlbWVudAogICBmb3IgdGhlIEkyIHBhY2tldC4gIFRoZSBnb2FsIG9mIHRoaXMg
YWRkaXRpb25hbCBhY2tub3dsZWRnZW1lbnQgaXMgdG8KICAgcmVkdWNlIHByZW1hdHVyZSBJ
MiByZXRyYW5zbWlzc2lvbnMgaW4gY2FzZSBvZiBkZXZpY2VzIHdpdGggbG93CiAgIGNvbXB1
dGF0aW9uIHJlc291cmNlcyBbSFdaMTNdLiAgQXMgYSByZXN1bHQsIHRoZXJlIGFyZSBtaW5v
ciBjaGFuZ2VzCiAgIHJlZ2FyZGluZyB0aGUgdHJhbnNpdGlvbnMgaW4gdGhlIEhJUCBERVgg
c3RhdGUgbWFjaGluZS4gIFRoZQogICBmb2xsb3dpbmcgc2VjdGlvbiBkb2N1bWVudHMgdGhl
c2UgZGlmZmVyZW5jZXMgY29tcGFyZWQgdG8gSElQdjIuCgo0LjEuMi4xLiAgSElQIERFWCBS
ZXRyYW5zbWlzc2lvbiBNZWNoYW5pc20KCiAgIEZvciB0aGUgcmV0cmFuc21pc3Npb24gb2Yg
STEgYW5kIEkyIHBhY2tldHMsIHRoZSBJbml0aWF0b3IgYWRvcHRzIHRoZQogICByZXRyYW5z
bWlzc2lvbiBzdHJhdGVneSBvZiBISVB2MiAoc2VlIFNlY3Rpb24gNC40LjMuIGluIFtSRkM3
NDAxXSkuCiAgIFRoaXMgc3RyYXRlZ3kgaXMgYmFzZWQgb24gYSB0aW1lb3V0IHRoYXQgaXMg
c2V0IHRvIGEgdmFsdWUgbGFyZ2VyCiAgIHRoYW4gdGhlIHdvcnN0LWNhc2UgYW50aWNpcGF0
ZWQgcm91bmQtdHJpcCB0aW1lIChSVFQpLiAgRm9yIGVhY2gKICAgcmVjZWl2ZWQgSTEgb3Ig
STIgcGFja2V0LCB0aGUgUmVzcG9uZGVyIHNlbmRzIGFuIFIxIG9yIFIyIHBhY2tldCwKICAg
cmVzcGVjdGl2ZWx5LiAgVGhpcyBkZXNpZ24gdHJhaXQgZW5hYmxlcyB0aGUgUmVzcG9uZGVy
IHRvIHJlbWFpbgogICBzdGF0ZWxlc3MgdW50aWwgdGhlIHJlY2VwdGlvbiBhbmQgc3VjY2Vz
c2Z1bCBwcm9jZXNzaW5nIG9mIHRoZSBJMgogICBwYWNrZXQuICBUaGUgSW5pdGlhdG9yIHN0
b3BzIHJldHJhbnNtaXR0aW5nIEkxIG9yIEkyIHBhY2tldHMgYWZ0ZXIKICAgdGhlIHJlY2Vw
dGlvbiBvZiB0aGUgY29ycmVzcG9uZGluZyBSMSBvciBSMi4gIElmIHRoZSBJbml0aWF0b3Ig
ZGlkCiAgIG5vdCByZWNlaXZlIGFuIFIxIHBhY2tldCBhZnRlciBJMV9SRVRSSUVTX01BWCB0
cmllcywgaXQgc3RvcHMgSTEKICAgcmV0cmFuc21pc3Npb25zLiAgTGlrZXdpc2UsIGl0IHN0
b3BzIHJldHJhbnNtaXR0aW5nIHRoZSBJMiBwYWNrZXQKICAgYWZ0ZXIgSTJfUkVUUklFU19N
QVggdW5zdWNjZXNzZnVsIHRyaWVzLgoKICAgRm9yIHJlcGVhdGVkbHkgcmVjZWl2ZWQgSTIg
cGFja2V0cywgdGhlIFJlc3BvbmRlciBTSE9VTEQgTk9UIHBlcmZvcm0KICAgb3BlcmF0aW9u
cyByZWxhdGVkIHRvIHRoZSBEaWZmaWUtSGVsbG1hbiBrZXkgZXhjaGFuZ2Ugb3IgdGhlIGtl
eWluZwogICBtYXRlcmlhbCB3cmFwcGVkIGluIHRoZSBFTkNSWVBURURfS0VZIHBhcmFtZXRl
cnMuICBJbnN0ZWFkLCBpdCBTSE9VTEQKICAgcmUtdXNlIHRoZSBwcmV2aW91c2x5IGVzdGFi
bGlzaGVkIHN0YXRlIHRvIHJlLWNyZWF0ZSB0aGUKICAgY29ycmVzcG9uZGluZyBSMiBwYWNr
ZXQgaW4gb3JkZXIgdG8gcHJldmVudCB1bm5lY2Vzc2FyeSBjb21wdXRhdGlvbgogICBvdmVy
aGVhZC4KCiAgIFRoZSBwb3RlbnRpYWxseSBoaWdoIHByb2Nlc3NpbmcgdGltZSBvZiBhbiBJ
MiBwYWNrZXQgYXQgYSAocmVzb3VyY2UtCiAgIGNvbnN0cmFpbmVkKSBSZXNwb25kZXIgbWF5
IGNhdXNlIHByZW1hdHVyZSByZXRyYW5zbWlzc2lvbnMgaWYgdGhlCiAgIHRpbWUgcmVxdWly
ZWQgZm9yIEkyIHRyYW5zbWlzc2lvbiBhbmQgcHJvY2Vzc2luZyBleGNlZWRzIHRoZSBSVFQt
CiAgIGJhc2VkIHJldHJhbnNtaXNzaW9uIHRpbWVvdXQuICBUaHVzLCB0aGUgSW5pdGlhdG9y
IHNob3VsZCBhbHNvIHRha2UKICAgdGhlIHByb2Nlc3NpbmcgdGltZSBvZiB0aGUgSTIgcGFj
a2V0IGF0IHRoZSBSZXNwb25kZXIgaW50byBhY2NvdW50CiAgIGZvciByZXRyYW5zbWlzc2lv
biBwdXJwb3Nlcy4gIFRvIHRoaXMgZW5kLCB0aGUgUmVzcG9uZGVyIE1BWSBub3RpZnkKCgoK
TW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAg
ICAgICAgICAgW1BhZ2UgMTRdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0
IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAgdGhlIEluaXRp
YXRvciBhYm91dCB0aGUgYW50aWNpcGF0ZWQgZGVsYXkgb25jZSB0aGUgcHV6emxlIHNvbHV0
aW9uCiAgIHdhcyBzdWNjZXNzZnVsbHkgdmVyaWZpZWQgYW5kIGlmIHRoZSByZW1haW5pbmcg
STIgcGFja2V0IHByb2Nlc3NpbmcKICAgaW5jdXJzIGEgaGlnaCBwcm9jZXNzaW5nIGRlbGF5
LiAgVGhlIFJlc3BvbmRlciBNQVkgdGhlcmVmb3JlIHNlbmQgYQogICBOT1RJRlkgcGFja2V0
IChzZWUgU2VjdGlvbiA1LjMuNi4gaW4gW1JGQzc0MDFdKSB0byB0aGUgSW5pdGlhdG9yCiAg
IGJlZm9yZSB0aGUgUmVzcG9uZGVyIGNvbW1lbmNlcyB0aGUgRUNESCBvcGVyYXRpb24uICBU
aGUgTk9USUZZIHBhY2tldAogICBzZXJ2ZXMgYXMgYW4gYWNrbm93bGVkZ2VtZW50IGZvciB0
aGUgSTIgcGFja2V0IGFuZCBjb25zaXN0cyBvZiBhCiAgIE5PVElGSUNBVElPTiBwYXJhbWV0
ZXIgd2l0aCBOb3RpZnkgTWVzc2FnZSBUeXBlIEkyX0FDS05PV0xFREdFTUVOVAogICAoc2Vl
IFNlY3Rpb24gNS4yLjE5LiBpbiBbUkZDNzQwMV0pLiAgVGhlIE5PVElGSUNBVElPTiBwYXJh
bWV0ZXIKICAgY29udGFpbnMgdGhlIGFudGljaXBhdGVkIHJlbWFpbmluZyBwcm9jZXNzaW5n
IHRpbWUgZm9yIHRoZSBJMiBwYWNrZXQKICAgaW4gbWlsbGlzZWNvbmRzIGFzIHR3by1vY3Rl
dCBOb3RpZmljYXRpb24gRGF0YS4gIFRoaXMgcHJvY2Vzc2luZyB0aW1lCiAgIGNhbiwgZS5n
LiwgYmUgZXN0aW1hdGVkIGJ5IG1lYXN1cmluZyB0aGUgY29tcHV0YXRpb24gdGltZSBvZiB0
aGUgRUNESAogICBrZXkgZGVyaXZhdGlvbiBvcGVyYXRpb24gZHVyaW5nIHRoZSBSZXNwb25k
ZXIgc3RhcnQtdXAgcHJvY2VkdXJlLgogICBBZnRlciB0aGUgSTIgcHJvY2Vzc2luZyBoYXMg
ZmluaXNoZWQsIHRoZSBSZXNwb25kZXIgc2VuZHMgdGhlIHJlZ3VsYXIKICAgUjIgcGFja2V0
LgoKICAgV2hlbiB0aGUgSW5pdGlhdG9yIHJlY2VpdmVzIHRoZSBOT1RJRlkgcGFja2V0LCBp
dCBzZXRzIHRoZSBJMgogICByZXRyYW5zbWlzc2lvbiB0aW1lb3V0IHRvIHRoZSBJMiBwcm9j
ZXNzaW5nIHRpbWUgaW5kaWNhdGVkIGluIHRoZQogICBOT1RJRklDQVRJT04gcGFyYW1ldGVy
IHBsdXMgaGFsZiB0aGUgUlRULWJhc2VkIHRpbWVvdXQgdmFsdWUuICBJbgogICBkb2luZyBz
bywgdGhlIEluaXRpYXRvciBNVVNUIE5PVCBzZXQgdGhlIHJldHJhbnNtaXNzaW9uIHRpbWVv
dXQgdG8gYQogICBoaWdoZXIgdmFsdWUgdGhhbiBhbGxvd2VkIGJ5IGEgbG9jYWwgcG9saWN5
LiAgVGhpcyBpcyB0byBwcmV2ZW50CiAgIHVuYXV0aGVudGljYXRlZCBOT1RJRlkgcGFja2V0
cyBmcm9tIG1hbGljaW91c2x5IGRlbGF5aW5nIHRoZQogICBoYW5kc2hha2UgYmV5b25kIGEg
d2VsbC1kZWZpbmVkIHVwcGVyIGJvdW5kIGluIGNhc2Ugb2YgYSBsb3N0IFIyCiAgIHBhY2tl
dC4gIEF0IHRoZSBzYW1lIHRpbWUsIHRoaXMgZXh0ZW5kZWQgcmV0cmFuc21pc3Npb24gdGlt
ZW91dAogICBlbmFibGVzIHRoZSBJbml0aWF0b3IgdG8gZGVmZXIgSTIgcmV0cmFuc21pc3Np
b25zIHVudGlsIHRoZSBwb2ludCBpbgogICB0aW1lIHdoZW4gdGhlIFJlc3BvbmRlciBzaG91
bGQgaGF2ZSBjb21wbGV0ZWQgaXRzIEkyIHBhY2tldAogICBwcm9jZXNzaW5nIGFuZCB0aGUg
bmV0d29yayBzaG91bGQgaGF2ZSBkZWxpdmVyZWQgdGhlIFIyIHBhY2tldAogICBhY2NvcmRp
bmcgdG8gdGhlIGVtcGxveWVkIHdvcnN0LWNhc2UgZXN0aW1hdGVzLgoKNC4xLjIuMi4gIEhJ
UCBTdGF0ZSBQcm9jZXNzZXMKCiAgIEhJUCBERVggY2xhcmlmaWVzIG9yIGludHJvZHVjZXMg
dGhlIGZvbGxvd2luZyBuZXcgdHJhbnNpdGlvbnMuCgoKCgoKCgoKCgoKCgoKCgoKCgoKTW9z
a293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAg
ICAgICAgW1BhZ2UgMTVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVY
Y2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAgU3lzdGVtIGJlaGF2
aW9yIGluIHN0YXRlIEkyLVNFTlQsIFRhYmxlIDEuCgogICArLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAg
fCBUcmlnZ2VyICAgICAgICAgICAgIHwgQWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IFJlY2VpdmUgTk9USUZZ
LCAgICAgfCBTZXQgSTIgcmV0cmFuc21pc3Npb24gdGltZXIgdG8gdmFsdWUgaW4gICAgIHwK
ICAgfCBwcm9jZXNzICAgICAgICAgICAgIHwgSTJfQUNLTk9XTEVER0VNRU5UIE5vdGlmaWNh
dGlvbiBEYXRhIHBsdXMgICB8CiAgIHwgICAgICAgICAgICAgICAgICAgICB8IDEvMiBSVFQt
YmFzZWQgdGltZW91dCB2YWx1ZSBhbmQgc3RheSBhdCAgICAgfAogICB8ICAgICAgICAgICAg
ICAgICAgICAgfCBJMi1TRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICB8ICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwKICAgfCBUaW1lb3V0ICAgICAgICAgICAgIHwgSW5jcmVtZW50IHRyaWFsIGNvdW50
ZXIgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICB8ICAgICAg
ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICAgICB8
IElmIGNvdW50ZXIgaXMgbGVzcyB0aGFuIEkyX1JFVFJJRVNfTUFYLCAgICAgfAogICB8ICAg
ICAgICAgICAgICAgICAgICAgfCBzZW5kIEkyLCByZXNldCB0aW1lciB0byBSVFQtYmFzZWQg
dGltZW91dCwgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgIHwgYW5kIHN0YXkgYXQgSTIt
U0VOVCAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICB8
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAg
ICAgICB8IElmIGNvdW50ZXIgaXMgZ3JlYXRlciB0aGFuIEkyX1JFVFJJRVNfTUFYLCAgfAog
ICB8ICAgICAgICAgICAgICAgICAgICAgfCBnbyB0byBFLUZBSUxFRCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwKICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgogICAgICAgIFRhYmxlIDE6
IEkyLVNFTlQgLSBXYWl0aW5nIHRvIGZpbmlzaCB0aGUgSElQIERpZXQgRVhjaGFuZ2UKCjQu
MS4yLjMuICBTaW1wbGlmaWVkIEhJUCBTdGF0ZSBEaWFncmFtCgogICBUaGUgZm9sbG93aW5n
IGRpYWdyYW0gc2hvd3MgdGhlIG1ham9yIHN0YXRlIHRyYW5zaXRpb25zLiAgVHJhbnNpdGlv
bnMKICAgYmFzZWQgb24gcmVjZWl2ZWQgcGFja2V0cyBpbXBsaWNpdGx5IGFzc3VtZSB0aGF0
IHRoZSBwYWNrZXRzIGFyZQogICBzdWNjZXNzZnVsbHkgYXV0aGVudGljYXRlZCBvciBwcm9j
ZXNzZWQuCgoKCgoKCgoKCgoKCgoKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBp
cmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDE2XQoMCkludGVybmV0
LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVi
cnVhcnkgMjAyMAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0rICAgICAg
ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgICAgICAgIHJlY3YgSTEs
IHNlbmQgUjEgfCAgfCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHYgICAgICAgdiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0t
LS0tLS0tKyAgcmVjdiBJMiwgc2VuZCBSMiAgICAgICAgfAogICAgICAgICAgICArLS0tLS0t
LS0tLS0tLS0tLXwgVU5BU1NPQ0lBVEVEIHwtLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgIHwK
ICAgZGF0YWdyYW0gfCAgKy0tKyAgICAgICAgICArLS0tLS0tLS0tLS0tLS0rICAgICAgICAg
ICAgICAgIHwgICAgICAgICB8CiAgIHRvIHNlbmQsIHwgIHwgIHwgQWxnLiBub3Qgc3VwcG9y
dGVkLCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfAogICAgc2VuZCBJMSB8ICB8
ICB8IHNlbmQgSTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg
IHwKICAgICAuICAgICAgdiAgfCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgICAgICB8CiAgICAgLiAgICstLS0tLS0tLS0rICByZWN2IEkyLCBz
ZW5kIFIyICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfAogICArLS0tLT58IEkx
LVNFTlQgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAgICAg
ICAgIHwKICAgfCAgICAgKy0tLS0tLS0tLSsgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsgIHwgIHwgICAgICAgICB8CiAgIHwgICAgICAgICAgfCByZWN2IFIxLCAgICAg
ICAgfCByZWN2IEkyLCBzZW5kIFIyICAgICB8ICB8ICB8ICAgICAgICAgfAogICB8ICAgICAg
ICAgIHYgc2VuZCBJMiAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgdiAgdiAgdiAg
ICAgICAgIHwKICAgfCAgICAgICArLS0tLS0tLS0tKy0tLS0tLS0tLS0rICAgICAgICAgICAg
ICAgICAgICArLS0tLS0tLS0tKyAgICAgICB8CiAgIHwgICstLS0+fCBJMi1TRU5UIHw8LS0t
LS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0tfCBSMi1TRU5UIHw8LS0tKyAgfAogICB8ICB8
ICAgICstLS0tLS0tLS0rIHJlY3YgTk9USUZZLCB8ICAgfCAgICAgICAgICAgICstLS0tLS0t
LS0rICAgIHwgIHwKICAgfCAgfCAgICAgICAgICB8IHwgfCByZXNldCB0aW1lciAgfCAgIHwg
ICAgICBkYXRhIG9yfCAgICAgICAgICAgICB8ICB8CiAgIHwgIHxyZWN2IFIxLCAgfCB8ICst
LS0tLS0tLS0tLS0tLSsgICB8ICAgRUMgdGltZW91dHwgICAgICAgICAgICAgfCAgfAogICB8
ICB8c2VuZCBJMiAgICstfC0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICB8ICBy
ZWNlaXZlIEkyLHwgIHwKICAgfCAgfCAgICAgICAgICB8IHwgICAgICAgICArLS0tLS0tLS0t
LS0tLSsgICAgICAgICAgfCAgICAgIHNlbmQgUjJ8ICB8CiAgIHwgIHwgICAgICAgICAgfCAr
LS0tLS0tLS0+fCBFU1RBQkxJU0hFRCB8PC0tLS0tLS0tLSsgICAgICAgICAgICAgfCAgfAog
ICB8ICB8ICAgICAgICAgIHwgICByZWN2IFIyICstLS0tLS0tLS0tLS0tKyAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIHwKICAgfCAgfCAgICAgICAgICB8ICAgICAgICAgICAgfCAgfCAg
fCAgICAgIHJlY2VpdmUgSTIsIHNlbmQgUjIgICAgICB8ICB8CiAgIHwgIHwgICAgICAgICAg
Ky0tLS0tLS0tLS0tLSsgIHwgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAg
fAogICB8ICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rICAgICAg
ICAgICAgICAgICAgICAgIHwgIHwKICAgfCAgfCAgICAgICAgICB8ICAgIG5vIHBhY2tldCBz
ZW50L3JlY2VpdmVkfCAgICArLS0tKyAgICAgICAgICAgICB8ICB8CiAgIHwgIHwgICAgICAg
ICAgfCAgICBmb3IgVUFMIG1pbiwgc2VuZCBDTE9TRXwgICAgfCAgIHx0aW1lb3V0ICAgICAg
fCAgfAogICB8ICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB2ICAg
IHYgICB8KFVBTCtNU0wpICAgIHwgIHwKICAgfCAgfCAgICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgKy0tLS0tLS0tLSsgfHJldHJhbnNtaXQgICB8ICB8CiAgICstLXwtLS0t
LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwgQ0xPU0lORyB8LStDTE9TRSAgICAg
ICAgfCAgfAogICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICArLS0t
LS0tLS0tKyAgICAgICAgICAgICAgIHwgIHwKICAgICAgfCAgICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgfCAgIHwgfCAgICAgICAgICAgICAgICB8ICB8CiAgICAgICst
LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwgICB8ICstLS0tLS0tLS0t
LS0tLS0tKyAgfAogICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICArLS0tLS0tLS0t
LS0rICAgKy0tLS0tLS0tLS0tLS0tLS0tLXwtLSsKICAgICAgfCAgICAgICAgICB8ICAgICAg
ICAgICAgICAgfHJlY3YgQ0xPU0UsICAgICAgcmVjdiBDTE9TRV9BQ0sgICB8ICB8CiAgICAg
IHwgICAgICAgICAgKy0tLS0tLS0tLS0tLS0rIHxzZW5kIENMT1NFX0FDSyAgIG9yIHRpbWVv
dXQgICAgICAgfCAgfAogICAgICB8ICAgICByZWN2IENMT1NFLCAgICAgICAgfCB8ICAgICAg
ICAgICAgICAgICAoVUFMK01TTCkgICAgICAgIHwgIHwKICAgICAgfCAgICAgc2VuZCBDTE9T
RV9BQ0sgICAgIHYgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB8CiAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0rICByZWNlaXZlIEkyLCBzZW5k
IFIyICAgICAgICAgfCAgfAogICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tfCBDTE9TRUQg
fC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICstLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB8ICB8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfAogICByZWN2IENMT1NFLCBzZW5kIENMT1NFX0FDS3wgfCAg
fCAgICAgICAgICAgICAgdGltZW91dCAoVUFMKzJNU0wpICAgIHwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICArLSsgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rCgoKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwg
MjAyMCAgICAgICAgICAgICAgIFtQYWdlIDE3XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCjQu
MS4zLiAgSElQIERFWCBTZWN1cml0eSBBc3NvY2lhdGlvbnMKCiAgIEhJUCBERVggZXN0YWJs
aXNoZXMgdHdvIFNlY3VyaXR5IEFzc29jaWF0aW9ucyAoU0EpLCBvbmUgZm9yIHRoZQogICBE
aWZmaWUtSGVsbG1hbiBkZXJpdmVkIGtleSwgb3IgTWFzdGVyIEtleSwgYW5kIG9uZSBmb3Ig
dGhlIHNlc3Npb24KICAga2V5LCBvciBQYWlyLXdpc2UgS2V5LgoKNC4xLjMuMS4gIE1hc3Rl
ciBLZXkgU0EKCiAgIFRoZSBNYXN0ZXIgS2V5IFNBIGlzIHVzZWQgdG8gYXV0aGVudGljYXRl
IEhJUCBwYWNrZXRzIGFuZCB0byBlbmNyeXB0CiAgIHNlbGVjdGVkIEhJUCBwYXJhbWV0ZXJz
IGluIHRoZSBISVAgREVYIHBhY2tldCBleGNoYW5nZXMuICBTaW5jZSBvbmx5CiAgIGEgc21h
bGwgYW1vdW50IG9mIGRhdGEgaXMgcHJvdGVjdGVkIGJ5IHRoaXMgU0EsIGl0IGNhbiBiZSBs
b25nLWxpdmVkCiAgIHdpdGggbm8gbmVlZCBmb3IgcmVrZXlpbmcuICBBdCB0aGUgbGF0ZXN0
LCB0aGUgc3lzdGVtIE1VU1QgaW5pdGlhdGUKICAgcmVrZXlpbmcgd2hlbiBpdHMgaW5jb21p
bmcgRVNQIHNlcXVlbmNlIGNvdW50ZXIgaXMgZ29pbmcgdG8gb3ZlcmZsb3csCiAgIGFuZCB0
aGUgc3lzdGVtIE1VU1QgTk9UIHJlcGxhY2UgaXRzIGtleWluZyBtYXRlcmlhbCB1bnRpbCB0
aGUKICAgcmVrZXlpbmcgcGFja2V0IGV4Y2hhbmdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZXMg
YXMgZGVzY3JpYmVkIGluCiAgIFNlY3Rpb24gNi44IGluIFtSRkM3NDAyXS4KCiAgIFRoZSBN
YXN0ZXIgS2V5IFNBIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6CgogICBvICBT
b3VyY2UgSElUCgogICBvICBEZXN0aW5hdGlvbiBISVQKCiAgIG8gIEhJUF9FbmNyeXB0IEtl
eQoKICAgbyAgSElQX01BQyBLZXkKCiAgIFRoZSBISVBfRW5jcnlwdCBhbmQgSElQX01BQyBr
ZXlzIGFyZSBleHRyYWN0ZWQgZnJvbSB0aGUgRGlmZmllLQogICBIZWxsbWFuIGRlcml2ZWQg
a2V5IGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDYuMy4gIFRoZWlyIGxlbmd0aCBpcwogICBk
ZXRlcm1pbmVkIGJ5IHRoZSBISVBfQ0lQSEVSLgoKNC4xLjMuMi4gIFBhaXItd2lzZSBLZXkg
U0EKCiAgIFRoZSBQYWlyLXdpc2UgS2V5IFNBIGlzIHVzZWQgdG8gYXV0aGVudGljYXRlIGFu
ZCB0byBlbmNyeXB0IHVzZXIKICAgZGF0YS4gIEl0IGlzIHJlZnJlc2hlZCAob3IgcmVrZXll
ZCkgdXNpbmcgYW4gVVBEQVRFIHBhY2tldCBleGNoYW5nZS4KICAgVGhlIFBhaXItd2lzZSBL
ZXkgU0EgZWxlbWVudHMgYXJlIGRlZmluZWQgYnkgdGhlIGRhdGEgdHJhbnNmb3JtCiAgIChl
LmcuLCBFU1BfVFJBTlNGT1JNIFtSRkM3NDAyXSkuCgogICBUaGUga2V5cyBmb3IgdGhlIFBh
aXItd2lzZSBLZXkgU0EgYXJlIGRlcml2ZWQgYmFzZWQgb24gdGhlIHdyYXBwZWQKICAga2V5
aW5nIG1hdGVyaWFsIGV4Y2hhbmdlZCBpbiB0aGUgRU5DUllQVEVEX0tFWSBwYXJhbWV0ZXIg
KHNlZQogICBTZWN0aW9uIDUuMi41KSBvZiB0aGUgSTIgYW5kIFIyIHBhY2tldHMuICBTcGVj
aWZpY2FsbHksIHRoZSBleGNoYW5nZWQKICAga2V5aW5nIG1hdGVyaWFsIG9mIHRoZSB0d28g
cGVlcnMgaXMgY29uY2F0ZW5hdGVkLiAgVGhpcyBjb25jYXRlbmF0aW9uCiAgIGZvcm1zIHRo
ZSBpbnB1dCB0byBhIEtleSBEZXJpdmF0aW9uIEZ1bmN0aW9uIChLREYpLiAgSWYgdGhlIGRh
dGEKICAgdHJhbnNmb3JtIGRvZXMgbm90IHNwZWNpZnkgaXRzIG93biBLREYsIHRoZSBrZXkg
ZGVyaXZhdGlvbiBmdW5jdGlvbgogICBkZWZpbmVkIGluIFNlY3Rpb24gNi4zIGlzIHVzZWQu
ICBFdmVuIHRob3VnaCB0aGUgY29uY2F0ZW5hdGVkIGlucHV0CiAgIGlzIHJhbmRvbWx5IGRp
c3RyaWJ1dGVkLCBhIEtERiBFeHRyYWN0IHBoYXNlIG1heSBiZSBuZWVkZWQgdG8gZ2V0IHRo
ZQogICBwcm9wZXIgbGVuZ3RoIGZvciB0aGUgaW5wdXQgdG8gdGhlIEtERiBFeHBhbmQgcGhh
c2UuCgoKCgpNb3Nrb3dpdHosIGV0IGFsLiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIw
MjAgICAgICAgICAgICAgICBbUGFnZSAxOF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
SElQIERpZXQgRVhjaGFuZ2UgKERFWCkgICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgo0LjEu
NC4gIFVzZXIgRGF0YSBDb25zaWRlcmF0aW9ucwoKICAgVGhlIFVzZXIgRGF0YSBDb25zaWRl
cmF0aW9ucyBpbiBTZWN0aW9uIDQuNS4gb2YgW1JGQzc0MDFdIGFsc28gYXBwbHkKICAgdG8g
SElQIERFWC4gIFRoZXJlIGlzIG9ubHkgb25lIGRpZmZlcmVuY2UgYmV0d2VlbiBISVB2MiBh
bmQgSElQIERFWC4KICAgTG9zcyBvZiBzdGF0ZSBkdWUgdG8gc3lzdGVtIHJlYm9vdCBtYXkg
YmUgYSBjcml0aWNhbCBwZXJmb3JtYW5jZQogICBpc3N1ZSBmb3IgcmVzb3VyY2UtY29uc3Ry
YWluZWQgZGV2aWNlcy4gIFRodXMsIGltcGxlbWVudG9ycyBNQVkKICAgY2hvb3NlIHRvIHVz
ZSBub24tdm9sYXRpbGUsIHNlY3VyZSBzdG9yYWdlIGZvciBISVAgc3RhdGVzIGluIG9yZGVy
CiAgIGZvciB0aGVtIHRvIHN1cnZpdmUgYSBzeXN0ZW0gcmVib290IGFzIGRpc2N1c3NlZCBp
biBTZWN0aW9uIDYuMTEuCiAgIFVzaW5nIG5vbi12b2xhdGlsZSBzdG9yYWdlIHdpbGwgbGlt
aXQgc3RhdGUgbG9zcyBkdXJpbmcgcmVib290cyB0bwogICBvbmx5IHRob3NlIHNpdHVhdGlv
bnMgd2l0aCBhbiBTQSB0aW1lb3V0LgoKNS4gIFBhY2tldCBGb3JtYXRzCgo1LjEuICBQYXls
b2FkIEZvcm1hdAoKICAgSElQIERFWCBlbXBsb3lzIHRoZSBzYW1lIGZpeGVkIEhJUCBoZWFk
ZXIgYW5kIHBheWxvYWQgc3RydWN0dXJlIGFzCiAgIEhJUHYyLiAgQXMgc3VjaCwgdGhlIHNw
ZWNpZmljYXRpb25zIGluIFNlY3Rpb24gNS4xIG9mIFtSRkM3NDAxXSBhbHNvCiAgIGFwcGx5
IHRvIEhJUCBERVguCgo1LjIuICBISVAgUGFyYW1ldGVycwoKICAgVGhlIEhJUCBwYXJhbWV0
ZXJzIGNhcnJ5IGluZm9ybWF0aW9uIHRoYXQgaXMgbmVjZXNzYXJ5IGZvcgogICBlc3RhYmxp
c2hpbmcgYW5kIG1haW50YWluaW5nIGEgSElQIGFzc29jaWF0aW9uLiAgRm9yIGV4YW1wbGUs
IHRoZQogICBwZWVyJ3MgcHVibGljIGtleXMgYXMgd2VsbCBhcyB0aGUgc2lnbmFsaW5nIGZv
ciBuZWdvdGlhdGluZyBjaXBoZXJzCiAgIGFuZCBwYXlsb2FkIGhhbmRsaW5nIGFyZSBlbmNh
cHN1bGF0ZWQgaW4gSElQIHBhcmFtZXRlcnMuICBBZGRpdGlvbmFsCiAgIGluZm9ybWF0aW9u
LCBtZWFuaW5nZnVsIGZvciBlbmQtaG9zdHMgb3IgbWlkZGxlYm94ZXMsIG1heSBhbHNvIGJl
CiAgIGluY2x1ZGVkIGluIEhJUCBwYXJhbWV0ZXJzLiAgVGhlIHNwZWNpZmljYXRpb24gb2Yg
dGhlIEhJUCBwYXJhbWV0ZXJzCiAgIGFuZCB0aGVpciBtYXBwaW5nIHRvIEhJUCBwYWNrZXRz
IGFuZCBwYWNrZXQgdHlwZXMgaXMgZmxleGlibGUgdG8KICAgYWxsb3cgSElQIGV4dGVuc2lv
bnMgdG8gZGVmaW5lIG5ldyBwYXJhbWV0ZXJzIGFuZCBuZXcgcHJvdG9jb2wKICAgYmVoYXZp
b3IuCgogICBJbiBISVAgcGFja2V0cywgSElQIHBhcmFtZXRlcnMgYXJlIG9yZGVyZWQgYWNj
b3JkaW5nIHRvIHRoZWlyIG51bWVyaWMKICAgdHlwZSBudW1iZXIgYW5kIGVuY29kZWQgaW4g
VExWIGZvcm1hdC4KCiAgIEhJUCBERVggcmV1c2VzIHRoZSBISVAgcGFyYW1ldGVycyBvZiBI
SVB2MiBkZWZpbmVkIGluIFNlY3Rpb24gNS4yLiBvZgogICBbUkZDNzQwMV0gd2hlcmUgcG9z
c2libGUuICBTdGlsbCwgSElQIERFWCBmdXJ0aGVyIHJlc3RyaWN0cyBhbmQvb3IKICAgZXh0
ZW5kcyB0aGUgZm9sbG93aW5nIGV4aXN0aW5nIHBhcmFtZXRlciB0eXBlczoKCiAgIG8gIERI
X0dST1VQX0xJU1QgYW5kIEhPU1RfSUQgYXJlIHJlc3RyaWN0ZWQgdG8gRUNDLWJhc2VkIHN1
aXRlcy4KCiAgIG8gIEhJUF9DSVBIRVIgaXMgcmVzdHJpY3RlZCB0byBBRVMtMTI4LUNUUiBh
bmQgTlVMTC1FTkNSWVBULgoKICAgbyAgSElUX1NVSVRFX0xJU1QgaXMgbGltaXRlZCB0byB0
aGUgSElUIHN1aXRlIEVDREgvRk9MRC4KCiAgIG8gIFJIQVNIIGFuZCBSSEFTSF9sZW4gYXJl
IHJlZGVmaW5lZCB0byBDTUFDIGZvciB0aGUgUFVaWkxFLAogICAgICBTT0xVVElPTiwgYW5k
IEhJUF9NQUMgcGFyYW1ldGVycyAoc2VlIFNlY3Rpb24gNi4xIGFuZAogICAgICBTZWN0aW9u
IDYuMikuCgoKCgpNb3Nrb3dpdHosIGV0IGFsLiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUs
IDIwMjAgICAgICAgICAgICAgICBbUGFnZSAxOV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkgICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgog
ICBJbiBhZGRpdGlvbiwgSElQIERFWCBpbnRyb2R1Y2VzIHRoZSBmb2xsb3dpbmcgbmV3IHBh
cmFtZXRlcjoKCiAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t
LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IFRMViAgICAgICAgICAgICAgfCBU
eXBlICAgICAgICAgfCBMZW5ndGggICB8IERhdGEgICAgICAgICAgICAgICAgIHwKICAgKy0t
LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rCiAgIHwgRU5DUllQVEVEX0tFWSAgICB8IFRCRDEgICAgICAgICB8IHZh
cmlhYmxlIHwgRW5jcnlwdGVkIGNvbnRhaW5lciAgfAogICB8ICAgICAgICAgICAgICAgICAg
fCAoc3VnZ2VzdGVkICAgfCAgICAgICAgICB8IGZvciB0aGUgc2Vzc2lvbiBrZXkgIHwKICAg
fCAgICAgICAgICAgICAgICAgIHwgdmFsdWUgNjQzKSAgIHwgICAgICAgICAgfCBleGNoYW5n
ZSAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8
ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfAogICB8IElfTk9OQ0UgICAgICAg
ICAgfCBUQkQ2ICAgICAgICAgfCB2YXJpYWJsZSB8IE5vbmNlIGZyb20gSW5pdGF0b3IgIHwK
ICAgfCAgICAgICAgICAgICAgICAgIHwgKHN1Z2dlc3RlZCAgIHwgICAgICAgICAgfCBmb3Ig
TWFzdGVyIEtleSAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICB8IHZhbHVlIDY0NCkg
ICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t
LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsKCjUuMi4xLiAgREhfR1JPVVBfTElTVAoKICAgVGhlIERIX0dST1VQX0xJU1QgcGFyYW1l
dGVyIGNvbnRhaW5zIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBESCBHcm91cAogICBJRHMgb2Yg
YSBob3N0LiAgSXQgaXMgZGVmaW5lZCBpbiBTZWN0aW9uIDUuMi42IG9mIFtSRkM3NDAxXS4g
IFdpdGgKICAgSElQIERFWCwgdGhlIERIIEdyb3VwIElEcyBhcmUgcmVzdHJpY3RlZCB0bzoK
CiAgIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS0RGICAgICAgICAgICAg
ICBWYWx1ZQoKICAgTklTVCBQLTI1NiBbUkZDNTkwM10gICAgICAgICAgICAgICBDS0RGICAg
ICAgICAgICAgIDcKICAgTklTVCBQLTM4NCBbUkZDNTkwM10gICAgICAgICAgICAgICBDS0RG
ICAgICAgICAgICAgIDgKICAgTklTVCBQLTUyMSBbUkZDNTkwM10gICAgICAgICAgICAgICBD
S0RGICAgICAgICAgICAgIDkKICAgU0VDUDE2MFIxICBbU0VDR10gICAgICAgICAgICAgICAg
ICBDS0RGICAgICAgICAgICAgIDEwCiAgIEN1cnZlMjU1MTkgW1JGQzc3NDhdICAgICAgICAg
ICAgICAgQ0tERiAgICAgICAgICAgICAxMgogICBDdXJ2ZTQ0OCAgIFtSRkM3NzQ4XSAgICAg
ICAgICAgICAgIENLREYgICAgICAgICAgICAgMTMKCiAgIFRoZSBFQ0RIIGdyb3VwcyB3aXRo
IHZhbHVlcyA3IC0gOSBhcmUgZGVmaW5lZCBpbiBbUkZDNTkwM10gYW5kCiAgIFtSRkM2MDkw
XS4gIEVDREggZ3JvdXAgMTAgaXMgY292ZXJlZCBpbiBbU0VDR10gYW5kIEFwcGVuZGl4IEQg
b2YKICAgW1JGQzc0MDFdLiAgVGhlc2UgY3VydmVzLCB3aGVuIHVzZWQgd2l0aCBISVAgTVVT
VCBoYXZlIGEgY28tZmFjdG9yIG9mCiAgIDEuCgogICBUaGUgRUNESCBncm91cHMgd2l0aCB2
YWx1ZXMgMTIgYW5kIDEzIGFyZSBkZWZpbmVkIGluIFtSRkM3NzQ4XS4KICAgVGhlc2UgY3Vy
dmVzIGhhdmUgY29mYWN0b3JzIG9mIDggYW5kIDQgKHJlc3BlY3RpdmVseSkuCgo1LjIuMi4g
IEhJUF9DSVBIRVIKCiAgIFRoZSBISVBfQ0lQSEVSIHBhcmFtZXRlciBjb250YWlucyB0aGUg
bGlzdCBvZiBzdXBwb3J0ZWQgY2lwaGVyCiAgIGFsZ29yaXRobXMgdG8gYmUgdXNlZCBmb3Ig
ZW5jcnlwdGluZyB0aGUgY29udGVudHMgb2YgdGhlIEVOQ1JZUFRFRAogICBhbmQgRU5DUllQ
VEVEX0tFWSBwYXJhbWV0ZXJzLiAgVGhlIEhJUF9DSVBIRVIgcGFyYW1ldGVyIGlzIGRlZmlu
ZWQgaW4KICAgU2VjdGlvbiA1LjIuOCBvZiBbUkZDNzQwMV0uICBXaXRoIEhJUCBERVgsIHRo
ZSBTdWl0ZSBJRHMgYXJlIGxpbWl0ZWQKICAgdG86CgoKCgoKCgpNb3Nrb3dpdHosIGV0IGFs
LiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICBbUGFnZSAy
MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkg
ICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgogICBTdWl0ZSBJRCAgICAgICAgICAgVmFsdWUK
CiAgIFJFU0VSVkVEICAgICAgICAgICAwCiAgIE5VTEwtRU5DUllQVCAgICAgICAxICAgICAg
ICAgICAgICAgICAgICAgICAoW1JGQzI0MTBdKQogICBBRVMtMTI4LUNUUiAgICAgICAgVEJE
NCAoc3VnZ2VzdGVkOiA1KSAgICAgKFtSRkMzNjg2XSkKCiAgIE1hbmRhdG9yeSBpbXBsZW1l
bnRhdGlvbjogQUVTLTEyOC1DVFIuICBJbXBsZW1lbnRvcnMgU0hPVUxEIHN1cHBvcnQKICAg
TlVMTC1FTkNSWVBUIChbUkZDMjQxMF0pIGZvciB0ZXN0aW5nL2RlYnVnZ2luZyBwdXJwb3Nl
cyBidXQgTVVTVCBOT1QKICAgb2ZmZXIgb3IgYWNjZXB0IHRoaXMgdmFsdWUgdW5sZXNzIGV4
cGxpY2l0bHkgY29uZmlndXJlZCBmb3IgdGVzdGluZy8KICAgZGVidWdnaW5nIG9mIEhJUC4K
CjUuMi4zLiAgSE9TVF9JRAoKICAgVGhlIEhPU1RfSUQgcGFyYW1ldGVyIGNvbnZleXMgdGhl
IEhvc3QgSWRlbnRpdHkgKEhJKSBhbG9uZyB3aXRoCiAgIG9wdGlvbmFsIGluZm9ybWF0aW9u
IGFib3V0IGEgaG9zdC4gIFRoZSBIT1NUX0lEIHBhcmFtZXRlciBpcyBkZWZpbmVkCiAgIGlu
IFNlY3Rpb24gNS4yLjkgb2YgW1JGQzc0MDFdLgoKICAgSElQIERFWCB1c2VzIHRoZSBwdWJs
aWMgcG9ydGlvbiBvZiBhIGhvc3QncyBzdGF0aWMgRUNESCBrZXktcGFpciBhcwogICB0aGUg
SEkuICBDb3JyZXNwb25kaW5nbHksIEhJUCBERVggbGltaXRzIHRoZSBISSBhbGdvcml0aG1z
IHRvIHRoZQogICBmb2xsb3dpbmcgbmV3IHByb2ZpbGU6CgogICBBbGdvcml0aG0gcHJvZmls
ZXMgICBWYWx1ZQoKICAgRUNESCAgICAgICAgICAgICAgICAgVEJENSAoc3VnZ2VzdGVkOiAx
MSkgICAgW1JGQzYwOTBdICAgKFJFUVVJUkVEKQoKICAgRm9yIGhvc3RzIHRoYXQgaW1wbGVt
ZW50IEVDREggYXMgdGhlIGFsZ29yaXRobSwgdGhlIGZvbGxvd2luZyBjdXJ2ZXMKICAgYXJl
IHJlcXVpcmVkOgoKICAgR3JvdXAgICAgICAgICAgICAgICAgICAgIFZhbHVlCgogICBOSVNU
IFAtMjU2ICAgICAgICAgICAgICAgMSBbUkZDNTkwM10KICAgTklTVCBQLTM4NCAgICAgICAg
ICAgICAgIDIgW1JGQzU5MDNdCiAgIE5JU1QgUC01MjEgICAgICAgICAgICAgICAzIFtSRkM1
OTAzXQogICBTRUNQMTYwUjEgICAgICAgICAgICAgICAgNCBbU0VDR10KICAgQ3VydmUyNTUx
OSAgICAgICAgICAgICAgIDUgW1JGQzc3NDhdCiAgIEN1cnZlNDQ4ICAgICAgICAgICAgICAg
ICA2IFtSRkM3NzQ4XQoKICAgSElQIERFWCBISXMgYXJlIHNlcmlhbGl6ZWQgZXF1YWxseSB0
byB0aGUgRUNDLWJhc2VkIEhJcyBpbiBISVB2MiAoc2VlCiAgIFNlY3Rpb24gNS4yLjkuIG9m
IFtSRkM3NDAxXSkuICBUaGUgR3JvdXAgSUQgb2YgdGhlIEhJUCBERVggSEkgaXMKICAgZW5j
b2RlZCBpbiB0aGUgIkVDQyBjdXJ2ZSIgZmllbGQgb2YgdGhlIEhPU1RfSUQgcGFyYW1ldGVy
LiAgVGhlCiAgIHN1cHBvcnRlZCBESCBHcm91cCBJRHMgYXJlIGRlZmluZWQgaW4gU2VjdGlv
biA1LjIuMS4KCjUuMi40LiAgSElUX1NVSVRFX0xJU1QKCiAgIFRoZSBISVRfU1VJVEVfTElT
VCBwYXJhbWV0ZXIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBzdXBwb3J0ZWQgSElUCiAgIHN1
aXRlIElEcyBvZiB0aGUgUmVzcG9uZGVyLiAgQmFzZWQgb24gdGhlIEhJVF9TVUlURV9MSVNU
LCB0aGUKICAgSW5pdGlhdG9yIGNhbiBkZXRlcm1pbmUgd2hpY2ggc291cmNlIEhJVCBTdWl0
ZSBJRHMgYXJlIHN1cHBvcnRlZCBieQoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4
cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgMjFdCgwKSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBG
ZWJydWFyeSAyMDIwCgoKICAgdGhlIFJlc3BvbmRlci4gIFRoZSBISVRfU1VJVEVfTElTVCBw
YXJhbWV0ZXIgaXMgZGVmaW5lZCBpbgogICBTZWN0aW9uIDUuMi4xMCBvZiBbUkZDNzQwMV0u
CgogICBUaGUgZm9sbG93aW5nIG5ldyBISVQgU3VpdGUgSUQgaXMgZGVmaW5lZCBmb3IgSElQ
IERFWCwgYW5kIHRoZQogICByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgZm91ci1iaXQgSUQg
dmFsdWUgdXNlZCBpbiB0aGUgT0dBIElEIGZpZWxkCiAgIGFuZCB0aGUgZWlnaHQtYml0IGVu
Y29kaW5nIHdpdGhpbiB0aGUgSElUX1NVSVRFX0xJU1QgSUQgZmllbGQgaXMKICAgY2xhcmlm
aWVkOgoKICAgSElUIFN1aXRlICAgICAgIEZvdXItYml0IElEICAgICAgICAgICAgRWlnaHQt
Yml0IGVuY29kaW5nCgogICBFQ0RIL0ZPTEQgICAgICAgVEJEMiAoc3VnZ2VzdGlvbjogNCkg
ICBUQkQzIChzdWdnZXN0aW9uOiAweDQwKQoKICAgTm90ZSB0aGF0IHRoZSBkZWRpY2F0ZWQg
SElQIERFWCBISVQgU3VpdGUgSUQgaW4gdGhlIE9HQSBJRCBmaWVsZAogICBhbGxvd3MgdGhl
IHBlZXJzIHRvIGRpc3Rpbmd1aXNoIGEgSElQIERFWCBoYW5kc2hha2UgZnJvbSBhIEhJUHYy
CiAgIGhhbmRzaGFrZS4gIFRoZSBSZXNwb25kZXIgTVVTVCByZXNwb25kIHdpdGggYSBISVAg
REVYIEhJVCBzdWl0ZSBJRAogICB3aGVuIHRoZSBISVQgb2YgdGhlIEluaXRpYXRvciBpcyBh
IEhJUCBERVggSElULgoKNS4yLjUuICBFTkNSWVBURURfS0VZCgogICAgICAwICAgICAgICAg
ICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAzCiAg
ICAgIDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAxIDIgMyA0IDUgNiA3IDggOSAwIDEgMiAzIDQg
NSA2IDcgOCA5IDAgMQogICAgICstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiAgICAgfCAgICAgICAgICAgICBUeXBl
ICAgICAgICAgICAgICB8ICAgICAgICAgICAgIExlbmd0aCAgICAgICAgICAgIHwKICAgICAr
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKwogICAgIC8gICAgICAgICAgICAgICAgICAgICAgICBFbmNyeXB0ZWQgdmFs
dWUgICAgICAgICAgICAgICAgICAgICAgICAvCiAgICAgLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAvICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKwogICAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg
ICAgIFBhZGRpbmcgICAgICAgICAgICB8CiAgICAgKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKCiAgICAgVHlwZSAg
ICAgICAgICAgVEJEMSAoc3VnZ2VzdGVkIHZhbHVlIDY0MykKICAgICBMZW5ndGggICAgICAg
ICBsZW5ndGggaW4gb2N0ZXRzLCBleGNsdWRpbmcgVHlwZSwgTGVuZ3RoLCBhbmQKICAgICAg
ICAgICAgICAgICAgICBQYWRkaW5nCiAgICAgRW5jcnlwdGVkICAgICAgVGhlIHZhbHVlIGlz
IGVuY3J5cHRlZCB1c2luZyBhbiBlbmNyeXB0aW9uIGFsZ29yaXRobQogICAgIHZhbHVlICAg
ICAgICAgIGFzIGRlZmluZWQgaW4gdGhlIEhJUF9DSVBIRVIgcGFyYW1ldGVyLgoKICAgVGhl
IEVOQ1JZUFRFRF9LRVkgcGFyYW1ldGVyIGVuY2Fwc3VsYXRlcyBhIHJhbmRvbSB2YWx1ZSB0
aGF0IGlzIGxhdGVyCiAgIHVzZWQgaW4gdGhlIHNlc3Npb24ga2V5IGNyZWF0aW9uIHByb2Nl
c3MgKHNlZSBTZWN0aW9uIDYuMykuICBUaGlzCiAgIHJhbmRvbSB2YWx1ZSBNVVNUIGhhdmUg
YSBsZW5ndGggb2YgYXQgbGVhc3QgNjQgYml0cy4gIFRoZSBwdXp6bGUKICAgdmFsdWUgI0kg
YW5kIHRoZSBwdXp6bGUgc29sdXRpb24gI0ogKHNlZSBTZWN0aW9uIDQuMS4yIGluIFtSRkM3
NDAxXSkKICAgYXJlIHVzZWQgYXMgdGhlIGluaXRpYWxpemF0aW9uIHZlY3RvciAoSVYpIGZv
ciB0aGUgZW5jcnlwdGlvbgogICBwcm9jZXNzLiAgVG8gdGhpcyBlbmQsIHRoZSBJViBpcyBj
b21wdXRlZCBhcyBGT0xEKEkgfCBKLCAxMjgpLgogICBNb3Jlb3ZlciwgYSAxNiBiaXQgY291
bnRlciB2YWx1ZSwgd2hpY2ggaXMgaW5pdGlhbGl6ZWQgdG8gemVybyBvbgogICBmaXJzdCB1
c2UsIGlzIGFwcGVuZGVkIHRvIHRoZSBJViB2YWx1ZSBpbiBvcmRlciB0byBndWFyYW50ZWUg
dGhhdCBhCiAgIG5vbi1yZXBlYXRpbmcgbm9uY2UgaXMgZmVkIHRvIHRoZSBlbmNyeXB0aW9u
IGFsZ29yaXRobSBkZWZpbmVkIGJ5IHRoZQogICBISVBfQ0lQSEVSLgoKCgoKCk1vc2tvd2l0
eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAg
IFtQYWdlIDIyXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5n
ZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIE9uY2UgdGhpcyBlbmNyeXB0
aW9uIHByb2Nlc3MgaXMgY29tcGxldGVkLCB0aGUgImVuY3J5cHRlZCB2YWx1ZSIgZGF0YQog
ICBmaWVsZCBpcyByZWFkeSBmb3IgaW5jbHVzaW9uIGluIHRoZSBQYXJhbWV0ZXIuICBJZiBu
ZWNlc3NhcnksCiAgIGFkZGl0aW9uYWwgUGFkZGluZyBmb3IgOC1ieXRlIGFsaWdubWVudCBp
cyB0aGVuIGFkZGVkIGFjY29yZGluZyB0bwogICB0aGUgcnVsZXMgb2YgVExWIEZvcm1hdCBp
biBbUkZDNzQwMV0uCgo1LjIuNi4gIElfTk9OQ0UKCiAgICAgIDAgICAgICAgICAgICAgICAg
ICAgMSAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgIDMKICAgICAgMCAx
IDIgMyA0IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMSAyIDMgNCA1IDYgNyA4
IDkgMCAxCiAgICAgKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSsKICAgICB8ICAgICAgICAgICAgIFR5cGUgICAgICAg
ICAgICAgIHwgICAgICAgICAgICAgTGVuZ3RoICAgICAgICAgICAgfAogICAgICstKy0rLSst
Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst
Ky0rCiAgICAgLyAgICAgICAgICAgICAgICAgICAgICAgIEluaXRpYXRvciBOb25jZSAgICAg
ICAgICAgICAgICAgICAgICAgIC8KICAgICAvICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLwogICAgIC8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
CiAgICAgLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgUGFk
ZGluZyAgICAgICAgICAgIHwKICAgICArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r
LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoKICAgICBUeXBlICAgICAgICAg
ICBUQkQ2IChzdWdnZXN0ZWQgdmFsdWUgNjQ0KQogICAgIExlbmd0aCAgICAgICAgIGxlbmd0
aCBpbiBvY3RldHMsIGV4Y2x1ZGluZyBUeXBlLCBMZW5ndGgsIGFuZAogICAgICAgICAgICAg
ICAgICAgIFBhZGRpbmcKICAgICBJbml0aWF0b3IgICAgICBOb25jZSBwcm92aWRlZCBieSB0
aGUgSW5pdGlhdG9yIGZvciB1c2UgaW4gdGhlCiAgICAgTm9uY2UgICAgICAgICAgTWFzdGVy
IEtleQoKICAgVGhlIElfTk9OQ0UgcGFyYW1ldGVyIGVuY2Fwc3VsYXRlcyBhIHJhbmRvbSB2
YWx1ZSB0aGF0IGlzIGxhdGVyIHVzZWQKICAgaW4gdGhlIE1hc3RlciBrZXkgY3JlYXRpb24g
cHJvY2VzcyAoc2VlIFNlY3Rpb24gNi4zKS4gIFRoaXMgcmFuZG9tCiAgIHZhbHVlIE1VU1Qg
aGF2ZSBhIGxlbmd0aCBvZiAyIHggUkhBU0hfbGVuLiAgVGhpcyBwYXJhbWV0ZXIgaXMgc2Vu
dCB0bwogICB0aGUgUmVzcG9uZGVyIGluIEkyIHdoaWNoIGVjaG9zIGl0IGJhY2sgdG8gdGhl
IEluaXRpYXRvciBpbiBSMi4KCiAgIElmIG5lY2Vzc2FyeSwgYWRkaXRpb25hbCBQYWRkaW5n
IGZvciA4LWJ5dGUgYWxpZ25tZW50IGlzIGFkZGVkCiAgIGFjY29yZGluZyB0byB0aGUgcnVs
ZXMgb2YgVExWIEZvcm1hdCBpbiBbUkZDNzQwMV0uCgo1LjMuICBISVAgUGFja2V0cwoKICAg
SElQIERFWCB1c2VzIHRoZSBzYW1lIGVpZ2h0IGJhc2ljIEhJUCBwYWNrZXRzIGFzIEhJUHYy
IChzZWUKICAgU2VjdGlvbiA1LjMgb2YgW1JGQzc0MDFdKS4gIEZvdXIgb2YgdGhlbSBhcmUg
Zm9yIHRoZSBISVAgaGFuZHNoYWtlCiAgIChJMSwgUjEsIEkyLCBhbmQgUjIpLCBvbmUgaXMg
Zm9yIHVwZGF0aW5nIGFuIGFzc29jaWF0aW9uIChVUERBVEUpLAogICBvbmUgaXMgZm9yIHNl
bmRpbmcgbm90aWZpY2F0aW9ucyAoTk9USUZZKSwgYW5kIHR3byBhcmUgZm9yIGNsb3NpbmcK
ICAgdGhlIGFzc29jaWF0aW9uIChDTE9TRSBhbmQgQ0xPU0VfQUNLKS4gIFRoZXJlIGFyZSBz
b21lIGRpZmZlcmVuY2VzCiAgIHJlZ2FyZGluZyB0aGUgSElQIHBhcmFtZXRlcnMgdGhhdCBh
cmUgaW5jbHVkZWQgaW4gdGhlIGhhbmRzaGFrZQogICBwYWNrZXRzIGNvbmNlcm5pbmcgSElQ
IEJFWCBhbmQgSElQIERFWC4gIFRoaXMgc2VjdGlvbiBjb3ZlcnMgdGhlc2UKICAgZGlmZmVy
ZW5jZXMgZm9yIHRoZSBERVggcGFja2V0cy4gIFBhY2tldHMgbm90IGRpc2N1c3NlZCBoZXJl
LCBmb2xsb3cKICAgdGhlIHN0cnVjdHVyZSBkZWZpbmVkIGluIFtSRkM3NDAxXS4KCiAgIEFu
IGltcG9ydGFudCBkaWZmZXJlbmNlIGJldHdlZW4gcGFja2V0cyBpbiBISVAgQkVYIGFuZCBI
SVAgREVYIGlzCiAgIHRoYXQgdGhlIERJRkZJRV9IRUxMTUFOIGFuZCB0aGUgSElQX1NJR05B
VFVSRSBwYXJhbWV0ZXJzIGFyZSBub3QKICAgaW5jbHVkZWQgaW4gSElQIERFWC4gIFRodXMs
IHRoZSBSMSBwYWNrZXQgaXMgY29tcGxldGVseSB1bnByb3RlY3RlZAogICBhbmQgY2FuIGJl
IHNwb29mZWQuICBBcyBhIHJlc3VsdCwgbmVnb3RpYXRpb24gcGFyYW1ldGVycyBjb250YWlu
ZWQgaW4KCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAy
MDIwICAgICAgICAgICAgICAgW1BhZ2UgMjNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
IEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAg
dGhlIFIxIHBhY2tldCBoYXZlIHRvIGJlIHJlLWluY2x1ZGVkIGluIGxhdGVyLCBwcm90ZWN0
ZWQgcGFja2V0cyBpbgogICBvcmRlciB0byBkZXRlY3QgYW5kIHByZXZlbnQgcG90ZW50aWFs
IGRvd25ncmFkaW5nIGF0dGFja3MuICBNb3Jlb3ZlciwKICAgdGhlIEkyLCBSMiwgVVBEQVRF
LCBOT1RJRlksIENMT1NFLCBhbmQgQ0xPU0VfQUNLIHBhY2tldHMgYXJlIG5vdAogICBjb3Zl
cmVkIGJ5IGEgc2lnbmF0dXJlIGFuZCBwdXJlbHkgcmVseSBvbiB0aGUgSElQX01BQyBwYXJh
bWV0ZXIgZm9yCiAgIHBhY2tldCBhdXRoZW50aWNhdGlvbi4gIFRoZSBwcm9jZXNzaW5nIG9m
IHRoZXNlIHBhY2tldHMgaXMgY2hhbmdlZAogICBhY2NvcmRpbmdseS4KCiAgIEluIHRoZSBm
dXR1cmUsIGFuIG9wdGlvbmFsIHVwcGVyLWxheWVyIHBheWxvYWQgTUFZIGZvbGxvdyB0aGUg
SElQCiAgIGhlYWRlci4gIFRoZSBOZXh0IEhlYWRlciBmaWVsZCBpbiB0aGUgaGVhZGVyIGlu
ZGljYXRlcyBpZiB0aGVyZSBpcwogICBhZGRpdGlvbmFsIGRhdGEgZm9sbG93aW5nIHRoZSBI
SVAgaGVhZGVyLgoKNS4zLjEuICBJMSAtIHRoZSBISVAgSW5pdGlhdG9yIFBhY2tldAoKICAg
VGhlIEhJUCBoZWFkZXIgdmFsdWVzIGZvciB0aGUgSTEgcGFja2V0OgoKICAgICBIZWFkZXI6
CiAgICAgICBQYWNrZXQgVHlwZSA9IDEKICAgICAgIFNSQyBISVQgPSBJbml0aWF0b3IncyBI
SVQKICAgICAgIERTVCBISVQgPSBSZXNwb25kZXIncyBISVQsIG9yIE5VTEwKCiAgICAgSVAg
KCBISVAgKCBESF9HUk9VUF9MSVNUICkgKQoKICAgVmFsaWQgY29udHJvbCBiaXRzOiBub25l
CgogICBUaGUgSTEgcGFja2V0IGNvbnRhaW5zIHRoZSBmaXhlZCBISVAgaGVhZGVyIGFuZCB0
aGUgSW5pdGlhdG9yJ3MKICAgREhfR1JPVVBfTElTVC4gIFRoZSBJbml0aWF0b3IncyBISVQg
U3VpdGUgSUQgTVVTVCBiZSBvZiBhIEhJUCBERVgKICAgdHlwZSBhcyBkZWZpbmVkIGluIFNl
Y3Rpb24gNS4yLjQuCgogICBSZWdhcmRpbmcgdGhlIFJlc3BvbmRlcidzIEhJVCwgdGhlIElu
aXRpYXRvciBtYXkgcmVjZWl2ZSB0aGlzIEhJVAogICBlaXRoZXIgZnJvbSBhIEROUyBsb29r
dXAgb2YgdGhlIFJlc3BvbmRlcidzIEZRRE4sIGZyb20gc29tZSBvdGhlcgogICByZXBvc2l0
b3J5LCBvciBmcm9tIGEgbG9jYWwgdGFibGUuICBUaGUgUmVzcG9uZGVyJ3MgSElUIGFsc28g
TVVTVCBiZQogICBvZiBhIEhJUCBERVggdHlwZS4gIElmIHRoZSBJbml0aWF0b3IgZG9lcyBu
b3Qga25vdyB0aGUgUmVzcG9uZGVyJ3MKICAgSElULCBpdCBtYXkgYXR0ZW1wdCB0byB1c2Ug
b3Bwb3J0dW5pc3RpYyBtb2RlIGJ5IHVzaW5nIE5VTEwgKGFsbAogICB6ZXJvcykgYXMgdGhl
IFJlc3BvbmRlcidzIEhJVC4gIFNlZSBTZWN0aW9uIDQuMS44IG9mIFtSRkM3NDAxXSBmb3IK
ICAgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlICJISVAgT3Bwb3J0dW5pc3RpYyBN
b2RlIi4KCiAgIEFzIHRoZSBJbml0aWF0b3IncyBhbmQgdGhlIFJlc3BvbmRlcidzIEhJVHMg
YXJlIGNvbXByZXNzaW9ucyBvZiB0aGUKICAgZW1wbG95ZWQgSElzLCB0aGV5IGRldGVybWlu
ZSB0aGUgREggR3JvdXAgSUQgdGhhdCBtdXN0IGJlIHVzZWQgaW4KICAgb3JkZXIgdG8gc3Vj
Y2Vzc2Z1bGx5IGNvbmNsdWRlIHRoZSB0cmlnZ2VyZWQgaGFuZHNoYWtlLiAgSElUcywKICAg
aG93ZXZlciwgb25seSBpbmNsdWRlIHRoZSBPR0EgSUQgaWRlbnRpZnlpbmcgdGhlIEhJIGFs
Z29yaXRobS4gIFRoZXkKICAgZG8gbm90IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhl
IHNwZWNpZmljIGdyb3VwIElEIG9mIHRoZSBISS4gIFRvCiAgIGluZm9ybSB0aGUgUmVzcG9u
ZGVyIGFib3V0IGl0cyBlbXBsb3llZCBhbmQgaXRzIG90aGVyd2lzZSBzdXBwb3J0ZWQKICAg
REggR3JvdXAgSURzLCB0aGUgSW5pdGlhdG9yIHRoZXJlZm9yZSBpbmNsdWRlcyB0aGUgREhf
R1JPVVBfTElTVAogICBwYXJhbWV0ZXIgaW4gdGhlIEkxIHBhY2tldC4gIFRoaXMgcGFyYW1l
dGVyIE1VU1QgaW5jbHVkZSB0aGUgREggZ3JvdXAKICAgSUQgdGhhdCBjb3JyZXNwb25kcyB0
byB0aGUgY3VycmVudGx5IGVtcGxveWVkIEluaXRpYXRvciBISVQgYXMgdGhlCiAgIGZpcnN0
IGxpc3QgZWxlbWVudC4gIFdpdGggSElQIERFWCwgdGhlIERIX0dST1VQX0xJU1QgcGFyYW1l
dGVyIE1VU1QKICAgb25seSBpbmNsdWRlIEVDREggZ3JvdXBzIGRlZmluZWQgaW4gU2VjdGlv
biA1LjIuMS4KCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAx
NSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDI0XQoMCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoK
CiAgIFNpbmNlIHRoaXMgcGFja2V0IGlzIHNvIGVhc3kgdG8gc3Bvb2YgZXZlbiBpZiBpdCB3
ZXJlIHByb3RlY3RlZCwgbm8KICAgYXR0ZW1wdCBpcyBtYWRlIHRvIGFkZCB0byBpdHMgZ2Vu
ZXJhdGlvbiBvciBwcm9jZXNzaW5nIGNvc3QuICBBcyBhCiAgIHJlc3VsdCwgdGhlIERIX0dS
T1VQX0xJU1QgaW4gdGhlIEkxIHBhY2tldCBpcyBub3QgcHJvdGVjdGVkLgoKICAgSW1wbGVt
ZW50YXRpb25zIE1VU1QgYmUgYWJsZSB0byBoYW5kbGUgYSBzdG9ybSBvZiByZWNlaXZlZCBJ
MQogICBwYWNrZXRzLCBkaXNjYXJkaW5nIHRob3NlIHdpdGggY29tbW9uIGNvbnRlbnQgdGhh
dCBhcnJpdmUgd2l0aGluIGEKICAgc21hbGwgdGltZSBkZWx0YS4KCjUuMy4yLiAgUjEgLSB0
aGUgSElQIFJlc3BvbmRlciBQYWNrZXQKCiAgIFRoZSBISVAgaGVhZGVyIHZhbHVlcyBmb3Ig
dGhlIFIxIHBhY2tldDoKCiAgICAgSGVhZGVyOgogICAgICAgUGFja2V0IFR5cGUgPSAyCiAg
ICAgICBTUkMgSElUID0gUmVzcG9uZGVyJ3MgSElUCiAgICAgICBEU1QgSElUID0gSW5pdGlh
dG9yJ3MgSElUCgogICAgIElQICggSElQICggWyBSMV9DT1VOVEVSLCBdCiAgICAgICAgICAg
ICAgICBQVVpaTEUsCiAgICAgICAgICAgICAgICBESF9HUk9VUF9MSVNULAogICAgICAgICAg
ICAgICAgSElQX0NJUEhFUiwKICAgICAgICAgICAgICAgIEhPU1RfSUQsCiAgICAgICAgICAg
ICAgICBISVRfU1VJVEVfTElTVCwKICAgICAgICAgICAgICAgIFRSQU5TUE9SVF9GT1JNQVRf
TElTVCwKICAgICAgICAgICAgICAgIFsgPCwgRUNIT19SRVFVRVNUX1VOU0lHTkVEID5pIF0p
CgogICBWYWxpZCBjb250cm9sIGJpdHM6IEEKCiAgIElmIHRoZSBSZXNwb25kZXIncyBISSBp
cyBhbiBhbm9ueW1vdXMgb25lLCB0aGUgQSBjb250cm9sIGJpdCBNVVNUIGJlCiAgIHNldC4K
CiAgIFRoZSBJbml0aWF0b3IncyBISVQgTVVTVCBtYXRjaCB0aGUgb25lIHJlY2VpdmVkIGlu
IHRoZSBJMSBwYWNrZXQgaWYKICAgdGhlIFIxIGlzIGEgcmVzcG9uc2UgdG8gYW4gSTEuICBJ
ZiB0aGUgUmVzcG9uZGVyIGhhcyBtdWx0aXBsZSBISXMsCiAgIHRoZSBSZXNwb25kZXIncyBI
SVQgTVVTVCBtYXRjaCB0aGUgSW5pdGlhdG9yJ3MgcmVxdWVzdC4gIElmIHRoZQogICBJbml0
aWF0b3IgdXNlZCBvcHBvcnR1bmlzdGljIG1vZGUsIHRoZSBSZXNwb25kZXIgbWF5IHNlbGVj
dCBhbW9uZyBpdHMKICAgSElzIGFzIGRlc2NyaWJlZCBiZWxvdy4gIFNlZSBTZWN0aW9uIDQu
MS44IG9mIFtSRkM3NDAxXSBmb3IgZGV0YWlsZWQKICAgaW5mb3JtYXRpb24gYWJvdXQgdGhl
ICJISVAgT3Bwb3J0dW5pc3RpYyBNb2RlIi4KCiAgIFRoZSBSMSBwYWNrZXQgZ2VuZXJhdGlv
biBjb3VudGVyIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBjdXJyZW50bHkKICAgdmFsaWQg
Z2VuZXJhdGlvbiBvZiBwdXp6bGVzLiAgVGhlIHZhbHVlIGlzIGluY3JlYXNlZCBwZXJpb2Rp
Y2FsbHksCiAgIGFuZCBpdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGl0IGlzIGluY3JlYXNlZCBh
dCBsZWFzdCBhcyBvZnRlbiBhcwogICBzb2x1dGlvbnMgdG8gb2xkIHB1enpsZXMgYXJlIG5v
IGxvbmdlciBhY2NlcHRlZC4KCiAgIFRoZSBQdXp6bGUgY29udGFpbnMgYSBSYW5kb20gdmFs
dWUgI0kgYW5kIHRoZSBwdXp6bGUgZGlmZmljdWx0eSBLLgogICBUaGUgZGlmZmljdWx0eSBL
IGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIGxvd2VyLW9yZGVyIGJpdHMsIGluIHRoZQogICBw
dXp6bGUgQ01BQyByZXN1bHQsIHRoYXQgTVVTVCBiZSB6ZXJvcyAoc2VlIFtSRkM3NDAxXSku
ICBSZXNwb25kZXJzCiAgIFNIT1VMRCBzZXQgSyB0byB6ZXJvIGJ5IGRlZmF1bHQgYW5kIG9u
bHkgaW5jcmVhc2UgdGhlIHB1enpsZQogICBkaWZmaWN1bHR5IHRvIHByb3RlY3QgYWdhaW5z
dCBhIERvUyBhdHRhY2sgdGFyZ2V0aW5nIHRoZSBISVAgREVYCgoKCk1vc2tvd2l0eiwgZXQg
YWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdl
IDI1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVY
KSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIGhhbmRzaGFrZS4gIEEgcHV6emxlIGRp
ZmZpY3VsdHkgb2YgemVybyBlZmZlY3RpdmVseSB0dXJucyB0aGUgcHV6emxlCiAgIG1lY2hh
bmlzbSBpbnRvIGEgcmV0dXJuLXJvdXRhYmlsaXR5IHRlc3QgYW5kIGlzIHN0cm9uZ2x5IGVu
Y291cmFnZWQKICAgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24gaW4gb3JkZXIgdG8gY29uc2Vy
dmUgZW5lcmd5IHJlc291cmNlcyBhcyB3ZWxsCiAgIGFzIHRvIHByZXZlbnQgdW5uZWNlc3Nh
cnkgaGFuZHNoYWtlIGRlbGF5IGluIGNhc2Ugb2YgYSByZXNvdXJjZS0KICAgY29uc3RyYWlu
ZWQgSW5pdGlhdG9yLiAgUGxlYXNlIGFsc28gcmVmZXIgdG8gU2VjdGlvbiA3IGZvciBmdXJ0
aGVyCiAgIHJlY29tbWVuZGF0aW9ucyBvbiBjaG9vc2luZyBwdXp6bGUgZGlmZmljdWx0eS4K
CiAgIFRoZSBESF9HUk9VUF9MSVNUIHBhcmFtZXRlciBjb250YWlucyB0aGUgUmVzcG9uZGVy
J3Mgb3JkZXIgb2YKICAgcHJlZmVyZW5jZSBiYXNlZCBvbiB0aGUgUmVzcG9uZGVyJ3MgY2hv
aWNlIHRoZSBFQ0RIIGtleSBjb250YWluZWQgaW4KICAgdGhlIEhPU1RfSUQgcGFyYW1ldGVy
IChzZWUgYmVsb3cpLiAgVGhpcyBhbGxvd3MgdGhlIEluaXRpYXRvciB0bwogICBkZXRlcm1p
bmUgd2hldGhlciBpdHMgb3duIERIX0dST1VQX0xJU1QgaW4gdGhlIEkxIHBhY2tldCB3YXMK
ICAgbWFuaXB1bGF0ZWQgYnkgYW4gYXR0YWNrZXIuICBUaGVyZSBpcyBhIGZ1cnRoZXIgcmlz
ayB0aGF0IHRoZQogICBSZXNwb25kZXIncyBESF9HUk9VUF9MSVNUIHdhcyBtYW5pcHVsYXRl
ZCBieSBhbiBhdHRhY2tlciwgYXMgdGhlIFIxCiAgIHBhY2tldCBjYW5ub3QgYmUgYXV0aGVu
dGljYXRlZCBpbiBISSBERVguICBUaHVzLCB0aGlzIHBhcmFtZXRlciBpcwogICByZXBlYXRl
ZCBpbiB0aGUgUjIgcGFja2V0IHRvIGFsbG93IGZvciBhIGZpbmFsLCBjcnlwdG9ncmFwaGlj
YWxseQogICBzZWN1cmVkIHZhbGlkYXRpb24uCgogICBUaGUgSElQX0NJUEhFUiBjb250YWlu
cyB0aGUgZW5jcnlwdGlvbiBhbGdvcml0aG1zIHN1cHBvcnRlZCBieSB0aGUKICAgUmVzcG9u
ZGVyIHRvIHByb3RlY3QgdGhlIGtleSBleGNoYW5nZSwgaW4gdGhlIG9yZGVyIG9mIHByZWZl
cmVuY2UuCiAgIEFsbCBpbXBsZW1lbnRhdGlvbnMgTVVTVCBzdXBwb3J0IHRoZSBBRVMtQ1RS
IFtSRkMzNjg2XS4KCiAgIFRoZSBISVRfU1VJVEVfTElTVCBwYXJhbWV0ZXIgaXMgYW4gb3Jk
ZXJlZCBsaXN0IG9mIHRoZSBSZXNwb25kZXIncwogICBzdXBwb3J0ZWQgYW5kIHByZWZlcnJl
ZCBISVQgU3VpdGVzLiAgSXQgZW5hYmxlcyBhIFJlc3BvbmRlciB0byBub3RpZnkKICAgdGhl
IEluaXRpYXRvciBhYm91dCBvdGhlciBhdmFpbGFibGUgSElUIHN1aXRlcyB0aGFuIHRoZSBv
bmUgdXNlZCBpbgogICB0aGUgY3VycmVudCBoYW5kc2hha2UuICBCYXNlZCBvbiB0aGUgcmVj
ZWl2ZWQgSElUX1NVSVRFX0xJU1QsIHRoZQogICBJbml0aWF0b3IgTUFZIGRlY2lkZSB0byBh
Ym9ydCB0aGUgY3VycmVudCBoYW5kc2hha2UgYW5kIGluaXRpYXRlIGEKICAgbmV3IGhhbmRz
aGFrZSB3aXRoIGEgZGlmZmVyZW50IG11dHVhbGx5IHN1cHBvcnRlZCBISVQgc3VpdGUuICBU
aGlzCiAgIG1lY2hhbmlzbSBjYW4sIGUuZy4sIGJlIHVzZWQgdG8gbW92ZSBmcm9tIGFuIGlu
aXRpYWwgSElQIERFWAogICBoYW5kc2hha2UgdG8gYSBISVAgQkVYIGhhbmRzaGFrZSBmb3Ig
cGVlcnMgc3VwcG9ydGluZyBib3RoIHByb3RvY29sCiAgIHZhcmlhbnRzLgoKICAgVGhlIEhP
U1RfSUQgcGFyYW1ldGVyIGRlcGVuZHMgb24gdGhlIHJlY2VpdmVkIERIX0dST1VQX0xJU1Qg
cGFyYW1ldGVyCiAgIGFuZCB0aGUgUmVzcG9uZGVyIEhJVCBpbiB0aGUgSTEgcGFja2V0LiAg
U3BlY2lmaWNhbGx5LCBpZiB0aGUgSTEKICAgY29udGFpbnMgYSBSZXNwb25kZXIgSElULCB0
aGUgUmVzcG9uZGVyIHZlcmlmaWVzIHRoYXQgdGhpcyBISVQKICAgbWF0Y2hlcyB0aGUgcmVx
dWlyZWQgREggZ3JvdXAgYmFzZWQgb24gdGhlIHJlY2VpdmVkIERIX0dST1VQX0xJU1QKICAg
cGFyYW1ldGVyIGluY2x1ZGVkIGluIHRoZSBJMS4gIEluIGNhc2Ugb2YgYSBwb3NpdGl2ZSBy
ZXN1bHQsIHRoZQogICBSZXNwb25kZXIgc2VsZWN0cyB0aGUgY29ycmVzcG9uZGluZyBIT1NU
X0lEIGZvciBpbmNsdXNpb24gaW4gdGhlIFIxCiAgIHBhY2tldC4gIExpa2V3aXNlLCBpZiB0
aGUgUmVzcG9uZGVyIEhJVCBpbiB0aGUgSTEgcGFja2V0IGlzIE5VTEwKICAgKGkuZS4sIGR1
cmluZyBhbiBvcHBvcnR1bmlzdGljIGhhbmRzaGFrZSksIHRoZSBSZXNwb25kZXIgY2hvb3Nl
cyBpdHMKICAgSE9TVF9JRCBhY2NvcmRpbmcgdG8gdGhlIEluaXRpYXRvcidzIGVtcGxveWVk
IERIIGdyb3VwIGFzIGluZGljYXRlZAogICBpbiB0aGUgcmVjZWl2ZWQgREhfR1JPVVBfTElT
VCBwYXJhbWV0ZXIgYW5kIHNldHMgdGhlIHNvdXJjZSBISVQgaW4KICAgdGhlIFIxIHBhY2tl
dCBhY2NvcmRpbmdseS4gIElmIHRoZSBSZXNwb25kZXIgaG93ZXZlciBkb2VzIG5vdCBzdXBw
b3J0CiAgIHRoZSBESCBncm91cCByZXF1aXJlZCBieSB0aGUgSW5pdGlhdG9yIG9yIGlmIHRo
ZSBSZXNwb25kZXIgSElUIGluIHRoZQogICBJMSBwYWNrZXQgZG9lcyBub3QgbWF0Y2ggdGhl
IHJlcXVpcmVkIERIIGdyb3VwLCB0aGUgUmVzcG9uZGVyIHNlbGVjdHMKICAgdGhlIG11dHVh
bGx5IHByZWZlcnJlZCBhbmQgc3VwcG9ydGVkIERIIGdyb3VwIGJhc2VkIG9uIHRoZQogICBE
SF9HUk9VUF9MSVNUIHBhcmFtZXRlciBpbiB0aGUgSTEgcGFja2V0LiAgVGhlIFJlc3BvbmRl
ciB0aGVuCiAgIGluY2x1ZGVzIHRoZSBjb3JyZXNwb25kaW5nIEVDREgga2V5IGluIHRoZSBI
T1NUX0lEIHBhcmFtZXRlci4gIFRoaXMKICAgcGFyYW1ldGVyIGFsc28gaW5kaWNhdGVzIHRo
ZSBzZWxlY3RlZCBESCBncm91cC4gIE1vcmVvdmVyLCB0aGUKCgoKTW9za293aXR6LCBldCBh
bC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2Ug
MjZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgp
ICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAgUmVzcG9uZGVyIHNldHMgdGhlIHNvdXJj
ZSBISVQgaW4gdGhlIFIyIHBhY2tldCBiYXNlZCBvbiB0aGUKICAgZGVzdGluYXRpb24gSElU
IGZyb20gdGhlIEkxIHBhY2tldC4gIEJhc2VkIG9uIHRoZSBkZXZpYXRpbmcgREggZ3JvdXAK
ICAgSUQgaW4gdGhlIEhPU1RfSUQgcGFyYW1ldGVyLCB0aGUgSW5pdGlhdG9yIHRoZW4gU0hP
VUxEIGFib3J0IHRoZQogICBjdXJyZW50IGhhbmRzaGFrZSBhbmQgaW5pdGlhdGUgYSBuZXcg
aGFuZHNoYWtlIHdpdGggdGhlIG11dHVhbGx5CiAgIHN1cHBvcnRlZCBESCBncm91cCBhcyBm
YXIgYXMgbG9jYWwgcG9saWNpZXMgKHNlZSBTZWN0aW9uIDcpIHBlcm1pdC4KCiAgIFRoZSBU
UkFOU1BPUlRfRk9STUFUX0xJU1QgcGFyYW1ldGVyIGlzIGFuIG9yZGVyZWQgbGlzdCBvZiB0
aGUKICAgUmVzcG9uZGVyJ3Mgc3VwcG9ydGVkIGFuZCBwcmVmZXJyZWQgdHJhbnNwb3J0IGZv
cm1hdCB0eXBlcy4gIFRoZSBsaXN0CiAgIGFsbG93cyB0aGUgSW5pdGlhdG9yIGFuZCB0aGUg
UmVzcG9uZGVyIHRvIGFncmVlIG9uIGEgY29tbW9uIHR5cGUgZm9yCiAgIHBheWxvYWQgcHJv
dGVjdGlvbi4gIFRoZSBkaWZmZXJlbnQgZm9ybWF0IHR5cGVzIGFyZSBERUZBVUxULCBFU1Ag
YW5kCiAgIEVTUC1UQ1AgYXMgZXhwbGFpbmVkIGluIFNlY3Rpb24gMy4xIGluIFtSRkM2MjYx
XS4KCiAgIFRoZSBFQ0hPX1JFUVVFU1RfVU5TSUdORUQgcGFyYW1ldGVycyBjb250YWluIGRh
dGEgdGhhdCB0aGUgc2VuZGVyCiAgIHdhbnRzIHRvIHJlY2VpdmUgdW5tb2RpZmllZCBpbiB0
aGUgY29ycmVzcG9uZGluZyByZXNwb25zZSBwYWNrZXQgaW4KICAgdGhlIEVDSE9fUkVTUE9O
U0VfVU5TSUdORUQgcGFyYW1ldGVyLiAgVGhlIFIxIHBhY2tldCBtYXkgY29udGFpbiB6ZXJv
CiAgIG9yIG1vcmUgRUNIT19SRVFVRVNUX1VOU0lHTkVEIHBhcmFtZXRlcnMuCgo1LjMuMy4g
IEkyIC0gdGhlIFNlY29uZCBISVAgSW5pdGlhdG9yIFBhY2tldAoKICAgVGhlIEhJUCBoZWFk
ZXIgdmFsdWVzIGZvciB0aGUgSTIgcGFja2V0OgoKICAgICBIZWFkZXI6CiAgICAgICBUeXBl
ID0gMwogICAgICAgU1JDIEhJVCA9IEluaXRpYXRvcidzIEhJVAogICAgICAgRFNUIEhJVCA9
IFJlc3BvbmRlcidzIEhJVAoKICAgICBJUCAoIEhJUCAoIFtSMV9DT1VOVEVSLF0KICAgICAg
ICAgICAgICAgIFNPTFVUSU9OLAogICAgICAgICAgICAgICAgSElQX0NJUEhFUiwKICAgICAg
ICAgICAgICAgIEVOQ1JZUFRFRF9LRVksCiAgICAgICAgICAgICAgICBIT1NUX0lELAogICAg
ICAgICAgICAgICAgVFJBTlNQT1JUX0ZPUk1BVF9MSVNULAogICAgICAgICAgICAgICAgSV9O
T05DRSwKICAgICAgICAgICAgICAgIEhJUF9NQUMKICAgICAgICAgICAgICAgIFs8LCBFQ0hP
X1JFU1BPTlNFX1VOU0lHTkVEPmkgKV0gKQoKICAgVmFsaWQgY29udHJvbCBiaXRzOiBBCgog
ICBUaGUgSElUcyBNVVNUIG1hdGNoIHRoZSBvbmVzIHVzZWQgaW4gdGhlIFIxIHBhY2tldC4K
CiAgIElmIHRoZSBJbml0aWF0b3IncyBISSBpcyBhbiBhbm9ueW1vdXMgb25lLCB0aGUgQSBj
b250cm9sIGJpdCBNVVNUIGJlCiAgIHNldC4KCiAgIElmIHByZXNlbnQgaW4gdGhlIFIxIHBh
Y2tldCwgdGhlIEluaXRpYXRvciBNVVNUIGluY2x1ZGUgYW4gdW5tb2RpZmllZAogICBjb3B5
IG9mIHRoZSBSMV9DT1VOVEVSIHBhcmFtZXRlciBpbnRvIHRoZSBJMiBwYWNrZXQuCgoKCgoK
Ck1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAg
ICAgICAgICAgIFtQYWdlIDI3XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGll
dCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIFRoZSBTb2x1
dGlvbiBjb250YWlucyB0aGUgUmFuZG9tICNJIGZyb20gdGhlIFIxIHBhY2tldCBhbmQgdGhl
CiAgIGNvbXB1dGVkICNKIHZhbHVlLiAgVGhlIGxvdy1vcmRlciAjSyBiaXRzIG9mIHRoZSBS
SEFTSChJIHwgLi4uIHwgSikKICAgTVVTVCBiZSB6ZXJvLgoKICAgVGhlIEhJUF9DSVBIRVIg
Y29udGFpbnMgdGhlIHNpbmdsZSBlbmNyeXB0aW9uIHRyYW5zZm9ybSBzZWxlY3RlZCBieQog
ICB0aGUgSW5pdGlhdG9yIHRoYXQgaXQgdXNlcyB0byBlbmNyeXB0IHRoZSBFTkNSWVBURUQg
YW5kIEVOQ1JZUFRFRF9LRVkKICAgcGFyYW1ldGVycy4gIFRoZSBjaG9zZW4gY2lwaGVyIE1V
U1QgY29ycmVzcG9uZCB0byBvbmUgb2YgdGhlIGNpcGhlcnMKICAgb2ZmZXJlZCBieSB0aGUg
UmVzcG9uZGVyIGluIHRoZSBSMS4gIEFsbCBpbXBsZW1lbnRhdGlvbnMgTVVTVCBzdXBwb3J0
CiAgIHRoZSBBRVMtQ1RSIHRyYW5zZm9ybSBbUkZDMzY4Nl0uCgogICBUaGUgSE9TVF9JRCBw
YXJhbWV0ZXIgY29udGFpbnMgdGhlIEluaXRpYXRvciBISSBjb3JyZXNwb25kaW5nIHRvIHRo
ZQogICBJbml0aWF0b3IgSElULgoKICAgVGhlIEVOQ1JZUFRFRF9LRVkgcGFyYW1ldGVyIGNv
bnRhaW5zIGFuIEluaXRpYXRvciBnZW5lcmF0ZWQgcmFuZG9tCiAgIHZhbHVlIHRoYXQgTVVT
VCBiZSB1bmlmb3JtbHkgZGlzdHJpYnV0ZWQuICBUaGlzIHJhbmRvbSB2YWx1ZSBpcwogICBl
bmNyeXB0ZWQgd2l0aCB0aGUgTWFzdGVyIEtleSBTQSB1c2luZyB0aGUgSElQX0NJUEhFUiBl
bmNyeXB0aW9uCiAgIGFsZ29yaXRobS4KCiAgIFRoZSBFQ0hPX1JFU1BPTlNFX1VOU0lHTkVE
IHBhcmFtZXRlcihzKSBjb250YWluIHRoZSB1bm1vZGlmaWVkIE9wYXF1ZQogICBkYXRhIGNv
cGllZCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIGVjaG8gcmVxdWVzdCBwYXJhbWV0ZXIocyku
ICBUaGlzCiAgIHBhcmFtZXRlciBjYW4gYWxzbyBiZSB1c2VkIGZvciB0d28tZmFjdG9yIHBh
c3N3b3JkIGF1dGhlbnRpY2F0aW9uIGFzCiAgIHNob3duIGluIEFwcGVuZGl4IEEuCgogICBU
aGUgVFJBTlNQT1JUX0ZPUk1BVF9MSVNUIHBhcmFtZXRlciBjb250YWlucyB0aGUgc2luZ2xl
IHRyYW5zcG9ydAogICBmb3JtYXQgdHlwZSBzZWxlY3RlZCBieSB0aGUgSW5pdGlhdG9yLiAg
VGhlIGNob3NlbiB0eXBlIE1VU1QKICAgY29ycmVzcG9uZCB0byBvbmUgb2YgdGhlIHR5cGVz
IG9mZmVyZWQgYnkgdGhlIFJlc3BvbmRlciBpbiB0aGUgUjEKICAgcGFja2V0LiAgVGhlIGRp
ZmZlcmVudCBmb3JtYXQgdHlwZXMgYXJlIERFRkFVTFQsIEVTUCBhbmQgRVNQLVRDUCBhcwog
ICBleHBsYWluZWQgaW4gU2VjdGlvbiAzLjEgaW4gW1JGQzYyNjFdLgoKICAgVGhlIElfTk9O
Q0UgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBub25jZSwgc3VwcGxpZWQgYnkgdGhlIEluaXRp
YXRvcgogICBmb3IgdGhlIE1hc3RlciBLZXkgZ2VuZXJhdGlvbiBhcyBzaG93biBpbiBTZWN0
aW9uIDYuMy4gIFRoaXMgaXMKICAgZWNob2VkIGJhY2sgdG8gdGhlIEluaXRpYXRvciBpbiB0
aGUgUjIgcGFja2V0LgoKICAgVGhlIE1BQyBpcyBjYWxjdWxhdGVkIG92ZXIgdGhlIHdob2xl
IEhJUCBlbnZlbG9wZSwgZXhjbHVkaW5nIGFueQogICBwYXJhbWV0ZXJzIGFmdGVyIHRoZSBI
SVBfTUFDIHBhcmFtZXRlciBhcyBkZXNjcmliZWQgaW4gU2VjdGlvbiA2LjIuCiAgIFRoZSBS
ZXNwb25kZXIgTVVTVCB2YWxpZGF0ZSB0aGUgSElQX01BQyBwYXJhbWV0ZXIuCgo1LjMuNC4g
IFIyIC0gdGhlIFNlY29uZCBISVAgUmVzcG9uZGVyIFBhY2tldAoKICAgVGhlIEhJUCBoZWFk
ZXIgdmFsdWVzIGZvciB0aGUgUjIgcGFja2V0OgoKCgoKCgoKCgoKCk1vc2tvd2l0eiwgZXQg
YWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdl
IDI4XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVY
KSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgICAgSGVhZGVyOgogICAgICAgUGFja2V0
IFR5cGUgPSA0CiAgICAgICBTUkMgSElUID0gUmVzcG9uZGVyJ3MgSElUCiAgICAgICBEU1Qg
SElUID0gSW5pdGlhdG9yJ3MgSElUCgogICAgIElQICggSElQICggREhfR1JPVVBfTElTVCwK
ICAgICAgICAgICAgICAgIEhJUF9DSVBIRVIsCiAgICAgICAgICAgICAgICBFTkNSWVBURURf
S0VZLAogICAgICAgICAgICAgICAgSElUX1NVSVRFX0xJU1QsCiAgICAgICAgICAgICAgICBU
UkFOU1BPUlRfRk9STUFUX0xJU1QsCiAgICAgICAgICAgICAgICBJX05PTkNFLAogICAgICAg
ICAgICAgICAgSElQX01BQykKCiAgIFZhbGlkIGNvbnRyb2wgYml0czogbm9uZQoKICAgVGhl
IEhJVHMgdXNlZCBNVVNUIG1hdGNoIHRoZSBvbmVzIHVzZWQgaW4gdGhlIEkyIHBhY2tldC4K
CiAgIFRoZSBSZXNwb25kZXIgcmVwZWF0cyB0aGUgREhfR1JPVVBfTElTVCwgSElQX0NJUEhF
UiwgSElUX1NVSVRFX0xJU1QsCiAgIGFuZCBUUkFOU1BPUlRfRk9STUFUX0xJU1QgcGFyYW1l
dGVycyBpbiB0aGUgUjIgcGFja2V0LiAgVGhlc2UKICAgcGFyYW1ldGVycyBNVVNUIGJlIHRo
ZSBzYW1lIGFzIGluY2x1ZGVkIGluIHRoZSBSMSBwYWNrZXQuICBUaGUKICAgcGFyYW1ldGVy
IGFyZSByZS1pbmNsdWRlZCBoZXJlIGJlY2F1c2UgdGhlIFIyIHBhY2tldCBpcyBNQUNlZCBh
bmQKICAgdGh1cyBjYW5ub3QgYmUgYWx0ZXJlZCBieSBhbiBhdHRhY2tlci4gIEZvciB2ZXJp
ZmljYXRpb24gcHVycG9zZXMsCiAgIHRoZSBJbml0aWF0b3IgcmUtZXZhbHVhdGVzIHRoZSBz
ZWxlY3RlZCBzdWl0ZXMgYW5kIGNvbXBhcmVzIHRoZQogICByZXN1bHRzIGFnYWluc3QgdGhl
IGNob3NlbiBvbmVzLiAgSWYgdGhlIHJlLWV2YWx1YXRlZCBzdWl0ZXMgZG8gbm90CiAgIG1h
dGNoIHRoZSBjaG9zZW4gb25lcywgdGhlIEluaXRpYXRvciBhY3RzIGJhc2VkIG9uIGl0cyBs
b2NhbCBwb2xpY3kuCgogICBUaGUgRU5DUllQVEVEX0tFWSBwYXJhbWV0ZXIgY29udGFpbnMg
YW4gUmVzcG9uZGVyIGdlbmVyYXRlZCByYW5kb20KICAgdmFsdWUgdGhhdCBNVVNUIGJlIHVu
aWZvcm1seSBkaXN0cmlidXRlZC4gIFRoaXMgcmFuZG9tIHZhbHVlIGlzCiAgIGVuY3J5cHRl
ZCB3aXRoIHRoZSBNYXN0ZXIgS2V5IFNBIHVzaW5nIHRoZSBISVBfQ0lQSEVSIGVuY3J5cHRp
b24KICAgYWxnb3JpdGhtLgoKICAgVGhlIElfTk9OQ0UgcGFyYW1ldGVyIGNvbnRhaW5zIHRo
ZSBub25jZSwgc3VwcGxpZWQgYnkgdGhlIEluaXRpYXRvcgogICBmb3IgdGhlIE1hc3RlciBL
ZXkgZ2VuZXJhdGlvbiBhcyBzaG93biBpbiBTZWN0aW9uIDYuMy4gIFRoZSBSZXNwb25kZXIK
ICAgaXMgZWNob2luZyB0aGUgdmFsdWUgYmFjayB0byB0aGUgSW5pdGlhdG9yIHRvIHNob3cg
aXQgdXNlZCB0aGUKICAgSW5pdGlhdG9yIHByb3ZpZGVkIG5vbmNlLgoKICAgVGhlIE1BQyBp
cyBjYWxjdWxhdGVkIG92ZXIgdGhlIHdob2xlIEhJUCBlbnZlbG9wZSwgZXhjbHVkaW5nIGFu
eQogICBwYXJhbWV0ZXJzIGFmdGVyIHRoZSBISVBfTUFDLCBhcyBkZXNjcmliZWQgaW4gU2Vj
dGlvbiA2LjIuICBUaGUKICAgSW5pdGlhdG9yIE1VU1QgdmFsaWRhdGUgdGhlIEhJUF9NQUMg
cGFyYW1ldGVyLgoKNS40LiAgSUNNUCBNZXNzYWdlcwoKICAgV2hlbiBhIEhJUCBpbXBsZW1l
bnRhdGlvbiBkZXRlY3RzIGEgcHJvYmxlbSB3aXRoIGFuIGluY29taW5nIHBhY2tldCwKICAg
YW5kIGl0IGVpdGhlciBjYW5ub3QgZGV0ZXJtaW5lIHRoZSBpZGVudGl0eSBvZiB0aGUgc2Vu
ZGVyIG9mIHRoZQogICBwYWNrZXQgb3IgZG9lcyBub3QgaGF2ZSBhbnkgZXhpc3RpbmcgSElQ
IGFzc29jaWF0aW9uIHdpdGggdGhlIHNlbmRlcgogICBvZiB0aGUgcGFja2V0LCBpdCBNQVkg
cmVzcG9uZCB3aXRoIGFuIElDTVAgcGFja2V0LiAgQW55IHN1Y2ggcmVwbHkKICAgTVVTVCBi
ZSByYXRlLWxpbWl0ZWQgYXMgZGVzY3JpYmVkIGluIFtSRkM0NDQzXS4gIEluIG1vc3QgY2Fz
ZXMsIHRoZQogICBJQ01QIHBhY2tldCBoYXMgdGhlIFBhcmFtZXRlciBQcm9ibGVtIHR5cGUg
KDEyIGZvciBJQ01QdjQsIDQgZm9yCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBp
cmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDI5XQoMCkludGVybmV0
LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVi
cnVhcnkgMjAyMAoKCiAgIElDTVB2NiksIHdpdGggdGhlIFBvaW50ZXIgZmllbGQgcG9pbnRp
bmcgdG8gdGhlIGZpZWxkIHRoYXQgY2F1c2VkIHRoZQogICBJQ01QIG1lc3NhZ2UgdG8gYmUg
Z2VuZXJhdGVkLiAgVGhlIHByb2JsZW0gY2FzZXMgc3BlY2lmaWVkIGluCiAgIFNlY3Rpb24g
NS40LiBvZiBbUkZDNzQwMV0gYWxzbyBhcHBseSB0byBISVAgREVYLgoKNi4gIFBhY2tldCBQ
cm9jZXNzaW5nCgogICBEdWUgdG8gdGhlIGFkb3B0ZWQgcHJvdG9jb2wgc2VtYW50aWNzIGFu
ZCB0aGUgaW5oZXJpdGVkIGdlbmVyYWwKICAgcGFja2V0IHN0cnVjdHVyZSwgdGhlIHBhY2tl
dCBwcm9jZXNzaW5nIGluIEhJUCBERVggb25seSBkaWZmZXJzIGZyb20KICAgSElQdjIgaW4g
dmVyeSBmZXcgcGxhY2VzLiAgSGVyZSwgd2UgZm9jdXMgb24gdGhlc2UgZGlmZmVyZW5jZXMg
YW5kCiAgIHJlZmVyIHRvIFNlY3Rpb24gNiBpbiBbUkZDNzQwMV0gb3RoZXJ3aXNlLgoKICAg
VGhlIHByb2Nlc3Npbmcgb2Ygb3V0Z29pbmcgYW5kIGluY29taW5nIGFwcGxpY2F0aW9uIGRh
dGEgcmVtYWlucyB0aGUKICAgc2FtZSBhcyBpbiBISVAgQkVYIChzZWUgU2VjdGlvbnMgNi4x
IGFuZCA2LjIgaW4gW1JGQzc0MDFdKS4KCiAgIEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IG1h
bnkgb2YgdGhlIHBhY2tldCBwcm9jZXNzaW5nIHJ1bGVzIGFyZQogICBkZW5vdGVkIGhlcmUg
d2l0aCAiU0hPVUxEIiBidXQgbWF5IGJlIHVwZGF0ZWQgdG8gIk1VU1QiIHdoZW4gZnVydGhl
cgogICBpbXBsZW1lbnRhdGlvbiBleHBlcmllbmNlIHByb3ZpZGVzIGJldHRlciBndWlkYW5j
ZS4gIFBsZWFzZSByZWZlcgogICBhbHNvIHRvIEFwcGVuZGl4IEIgZm9yIGFyZ3VtZW50YXRp
b24gYWJvdXQgdGhlIFNIT1VMRHMuCgo2LjEuICBTb2x2aW5nIHRoZSBQdXp6bGUKCiAgIFRo
ZSBwcm9jZWR1cmVzIGZvciBzb2x2aW5nIGFuZCB2ZXJpZnlpbmcgYSBwdXp6bGUgaW4gSElQ
IERFWCBhcmUKICAgc3Ryb25nbHkgYmFzZWQgb24gdGhlIGNvcnJlc3BvbmRpbmcgcHJvY2Vk
dXJlcyBpbiBISVB2Mi4gIFRoZSBvbmx5CiAgIGV4Y2VwdGlvbnMgYXJlIHRoYXQgSElQIERF
WCBkb2VzIG5vdCB1c2UgcHJlLWNvbXB1dGF0aW9uIG9mIFIxCiAgIHBhY2tldHMgYW5kIHRo
YXQgUkhBU0ggaXMgc2V0IHRvIENNQUMuICBBcyBhIHJlc3VsdCwgdGhlIHByZS0KICAgY29t
cHV0YXRpb24gc3RlcCBpbiBTZWN0aW9uIDYuMyBvZiBbUkZDNzQwMV0gaXMgc2tpcHBlZCBp
biBISVAgREVYLgoKICAgTW9yZW92ZXIsIHRoZSBJbml0aWF0b3Igc29sdmVzIGEgcHV6emxl
IGJ5IGNvbXB1dGluZzoKICAgICAgTHRydW5jKCBDTUFDKCBJLCBISVQtSSB8IEhJVC1SIHwg
SiApLCBLICkgPT0gMAoKICAgU2ltaWxhcmx5LCB0aGUgUmVzcG9uZGVyIHZlcmlmaWVzIGEg
cHV6emxlIGJ5IGNvbXB1dGluZzoKICAgICAgViA6PSBMdHJ1bmMoIENNQUMoIEksIEhJVC1J
IHwgSElULVIgfCBKICksIEsgKQoKICAgQXBhcnQgZnJvbSB0aGVzZSBtb2RpZmljYXRpb25z
LCB0aGUgcHJvY2VkdXJlcyBkZWZpbmVkIGluIFNlY3Rpb24gNi4zCiAgIG9mIFtSRkM3NDAx
XSBhbHNvIGFwcGx5IGZvciBISVAgREVYLgoKNi4yLiAgSElQX01BQyBDYWxjdWxhdGlvbiBh
bmQgVmVyaWZpY2F0aW9uCgogICBUaGUgZm9sbG93aW5nIHN1YnNlY3Rpb25zIGRlZmluZSB0
aGUgYWN0aW9ucyBmb3IgcHJvY2Vzc2luZyB0aGUKICAgSElQX01BQyBwYXJhbWV0ZXIuCgo2
LjIuMS4gIENNQUMgQ2FsY3VsYXRpb24KCiAgIFRoZSBISVBfTUFDIGNhbGN1bGF0aW9uIHVz
ZXMgUkhBU0gsIGkuZS4sIENNQUMsIGFzIHRoZSB1bmRlcmx5aW5nCiAgIGNyeXB0b2dyYXBo
aWMgZnVuY3Rpb24uICBUaGUgc2NvcGUgb2YgdGhlIGNhbGN1bGF0aW9uIGZvciBISVBfTUFD
IGlzOgoKICAgQ01BQzogeyBISVAgaGVhZGVyIHwgWyBQYXJhbWV0ZXJzIF0gfQoKCgoKTW9z
a293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAg
ICAgICAgW1BhZ2UgMzBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVY
Y2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAgd2hlcmUgUGFyYW1l
dGVycyBpbmNsdWRlIGFsbCBISVAgcGFyYW1ldGVycyBvZiB0aGUgcGFja2V0IHRoYXQgaXMK
ICAgYmVpbmcgY2FsY3VsYXRlZCB3aXRoIFR5cGUgdmFsdWVzIHJhbmdpbmcgZnJvbSAxIHRv
IChISVBfTUFDJ3MgVHlwZQogICB2YWx1ZSAtIDEpIGFuZCBleGNsdWRlIHBhcmFtZXRlcnMg
d2l0aCBUeXBlIHZhbHVlcyBncmVhdGVyIG9yIGVxdWFsCiAgIHRvIEhJUF9NQUMncyBUeXBl
IHZhbHVlLgoKICAgRHVyaW5nIEhJUF9NQUMgY2FsY3VsYXRpb24sIHRoZSBmb2xsb3dpbmcg
YXBwbGllczoKCiAgIG8gIEluIHRoZSBISVAgaGVhZGVyLCB0aGUgQ2hlY2tzdW0gZmllbGQg
aXMgc2V0IHRvIHplcm8uCgogICBvICBJbiB0aGUgSElQIGhlYWRlciwgdGhlIEhlYWRlciBM
ZW5ndGggZmllbGQgdmFsdWUgaXMgY2FsY3VsYXRlZCB0bwogICAgICB0aGUgYmVnaW5uaW5n
IG9mIHRoZSBISVBfTUFDIHBhcmFtZXRlci4KCiAgIFRoZSBwYXJhbWV0ZXIgb3JkZXIgaXMg
ZGVzY3JpYmVkIGluIFNlY3Rpb24gNS4yLjEgb2YgW1JGQzc0MDFdLgoKICAgVGhlIENNQUMg
Y2FsY3VsYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBwcm9jZXNzIGlzIGFzIGZvbGxvd3M6Cgog
ICBQYWNrZXQgc2VuZGVyOgoKICAgMS4gIENyZWF0ZSB0aGUgSElQIHBhY2tldCwgd2l0aG91
dCB0aGUgSElQX01BQyBvciBhbnkgb3RoZXIgcGFyYW1ldGVyCiAgICAgICB3aXRoIGdyZWF0
ZXIgVHlwZSB2YWx1ZSB0aGFuIHRoZSBISVBfTUFDIHBhcmFtZXRlciBoYXMuCgogICAyLiAg
Q2FsY3VsYXRlIHRoZSBIZWFkZXIgTGVuZ3RoIGZpZWxkIGluIHRoZSBISVAgaGVhZGVyLgoK
ICAgMy4gIENvbXB1dGUgdGhlIENNQUMgdXNpbmcgZWl0aGVyIEhJUC1nbCBvciBISVAtbGcg
aW50ZWdyaXR5IGtleQogICAgICAgcmV0cmlldmVkIGZyb20gS0VZTUFUIGFzIGRlZmluZWQg
aW4gU2VjdGlvbiA2LjMuICBISVAtZ2wgcmVmZXJzCiAgICAgICB0byBob3N0IHdpdGggZ3Jl
YXRlciBISVQgdmFsdWUgYW5kIEhJUC1sZyByZWZlcnMgdG8gdGhlIGhvc3Qgd2l0aAogICAg
ICAgc21hbGxlciBISVQgdmFsdWUuCgogICA0LiAgQWRkIHRoZSBISVBfTUFDIHBhcmFtZXRl
ciB0byB0aGUgcGFja2V0IGFuZCBhbnkgcGFyYW1ldGVyIHdpdGgKICAgICAgIGdyZWF0ZXIg
VHlwZSB2YWx1ZSB0aGFuIHRoZSBISVBfTUFDJ3MgdGhhdCBtYXkgZm9sbG93LgoKICAgNS4g
IFJlY2FsY3VsYXRlIHRoZSBMZW5ndGggZmllbGQgaW4gdGhlIEhJUCBoZWFkZXIuCgogICBQ
YWNrZXQgcmVjZWl2ZXI6CgogICAxLiAgVmVyaWZ5IHRoZSBISVAgaGVhZGVyIExlbmd0aCBm
aWVsZC4KCiAgIDIuICBSZW1vdmUgdGhlIEhJUF9NQUMgcGFyYW1ldGVyLCBhcyB3ZWxsIGFz
IGFsbCBvdGhlciBwYXJhbWV0ZXJzCiAgICAgICB0aGF0IGZvbGxvdyBpdCB3aXRoIGdyZWF0
ZXIgVHlwZSB2YWx1ZSwgc2F2aW5nIHRoZSBjb250ZW50cyBpZgogICAgICAgdGhleSB3aWxs
IGJlIG5lZWRlZCBsYXRlci4KCiAgIDMuICBSZWNhbGN1bGF0ZSB0aGUgSElQIHBhY2tldCBs
ZW5ndGggaW4gdGhlIEhJUCBoZWFkZXIgYW5kIGNsZWFyIHRoZQogICAgICAgQ2hlY2tzdW0g
ZmllbGQgKHNldCBpdCB0byBhbGwgemVyb3MpLgoKICAgNC4gIENvbXB1dGUgdGhlIENNQUMg
dXNpbmcgZWl0aGVyIEhJUC1nbCBvciBISVAtbGcgaW50ZWdyaXR5IGtleSBhcwogICAgICAg
ZGVmaW5lZCBpbiBTZWN0aW9uIDYuMyBhbmQgdmVyaWZ5IGl0IGFnYWluc3QgdGhlIHJlY2Vp
dmVkIENNQUMuCgoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0
IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgMzFdCgwKSW50ZXJuZXQtRHJhZnQgICAg
ICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIw
CgoKICAgNS4gIFNldCBDaGVja3N1bSBhbmQgSGVhZGVyIExlbmd0aCBmaWVsZHMgaW4gdGhl
IEhJUCBoZWFkZXIgdG8KICAgICAgIG9yaWdpbmFsIHZhbHVlcy4gIE5vdGUgdGhhdCB0aGUg
Q2hlY2tzdW0gYW5kIExlbmd0aCBmaWVsZHMKICAgICAgIGNvbnRhaW4gaW5jb3JyZWN0IHZh
bHVlcyBhZnRlciB0aGlzIHN0ZXAuCgo2LjMuICBISVAgREVYIEtFWU1BVCBHZW5lcmF0aW9u
CgogICBUaGUgSElQIERFWCBLRVlNQVQgcHJvY2VzcyBpcyB1c2VkIHRvIGRlcml2ZSB0aGUg
a2V5cyBmb3IgdGhlIE1hc3RlcgogICBLZXkgU0EgYXMgd2VsbCBhcyBmb3IgdGhlIFBhaXIt
d2lzZSBLZXkgU0EuICBUaGUga2V5cyBmb3IgdGhlIE1hc3RlcgogICBLZXkgU0EgYXJlIGJh
c2VkIG9uIHRoZSBEaWZmaWUtSGVsbG1hbiBkZXJpdmVkIGtleSwgS2lqLCB3aGljaCBpcwog
ICBwcm9kdWNlZCBkdXJpbmcgdGhlIEhJUCBERVggaGFuZHNoYWtlLiAgVGhlIEluaXRpYXRv
ciBnZW5lcmF0ZXMgS2lqCiAgIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgdGhlIEkyIHBhY2tl
dCBhbmQgdGhlIFJlc3BvbmRlciBnZW5lcmF0ZXMgS2lqCiAgIG9uY2UgaXQgcmVjZWl2ZXMg
dGhlIEkyIHBhY2tldC4gIFRoaXMgaXMgd2h5IHRoZSBJMiBwYWNrZXQgY2FuCiAgIGFscmVh
ZHkgY29udGFpbiBhdXRoZW50aWNhdGVkIGFuZC9vciBlbmNyeXB0ZWQgaW5mb3JtYXRpb24u
CgogICBUaGUga2V5cyBkZXJpdmVkIGZvciB0aGUgUGFpci13aXNlIEtleSBTQSBhcmUgbm90
IHVzZWQgZHVyaW5nIHRoZSBISVAKICAgREVYIGhhbmRzaGFrZS4gIEluc3RlYWQsIHRoZXNl
IGtleXMgYXJlIG1hZGUgYXZhaWxhYmxlIGFzIHBheWxvYWQKICAgcHJvdGVjdGlvbiBrZXlz
IChlLmcuLCBmb3IgSVBzZWMpLiAgU29tZSBwYXlsb2FkIHByb3RlY3Rpb24KICAgbWVjaGFu
aXNtcyBoYXZlIHRoZWlyIG93biBLZXkgRGVyaXZhdGlvbiBGdW5jdGlvbiwgYW5kIGlmIHNv
IHRoaXMKICAgbWVjaGFuaXNtIFNIT1VMRCBiZSB1c2VkLiAgT3RoZXJ3aXNlLCB0aGUgSElQ
IERFWCBLRVlNQVQgcHJvY2VzcyBNVVNUCiAgIGJlIHVzZWQgdG8gZGVyaXZlIHRoZSBrZXlz
IG9mIHRoZSBQYWlyLXdpc2UgS2V5IFNBIGJhc2VkIG9uIHRoZQogICBjb25jYXRlbmF0aW9u
IG9mIHRoZSByYW5kb20gdmFsdWVzIHRoYXQgYXJlIGNvbnRhaW5lZCBpbiB0aGUKICAgZXhj
aGFuZ2VkIEVOQ1JZUFRFRF9LRVkgcGFyYW1ldGVycy4KCiAgIFRoZSBISVAgREVYIEtFWU1B
VCBwcm9jZXNzIGlzIGJhc2VkIG9uIHRoZSBpcyB0aGUgSGFzaC1iYXNlZCBLZXkKICAgRGVy
aXZhdGlvbiBGdW5jdGlvbiAoSEtERikgZGVmaW5lZCBpbiBbUkZDNTg2OV0gYW5kIGNvbnNp
c3RzIG9mIHR3bwogICBjb21wb25lbnRzLCBDS0RGLUV4dHJhY3QgYW5kIENLREYtRXhwYW5k
LiAgVGhlIENLREYtRXh0cmFjdCBmdW5jdGlvbgogICBjb21wcmVzc2VzIGEgbm9uLXVuaWZv
cm1seSBkaXN0cmlidXRlZCBrZXksIHN1Y2ggYXMgdGhlIG91dHB1dCBvZiBhCiAgIERpZmZp
ZS1IZWxsbWFuIGtleSBkZXJpdmF0aW9uLCB0byBleHRyYWN0IHRoZSBrZXkgZW50cm9weSBp
bnRvIGEKICAgZml4ZWQgbGVuZ3RoIG91dHB1dC4gIFRoZSBDS0RGLUV4cGFuZCBmdW5jdGlv
biB0YWtlcyBlaXRoZXIgdGhlCiAgIG91dHB1dCBvZiB0aGUgRXh0cmFjdCBmdW5jdGlvbiBv
ciBkaXJlY3RseSB1c2VzIGEgdW5pZm9ybWx5CiAgIGRpc3RyaWJ1dGVkIGtleSBhbmQgZXhw
YW5kcyB0aGUgbGVuZ3RoIG9mIHRoZSBrZXksIHJlcGVhdGVkbHkKICAgZGlzdHJpYnV0aW5n
IHRoZSBrZXkgZW50cm9weSwgdG8gcHJvZHVjZSB0aGUga2V5cyBuZWVkZWQuCgogICBUaGUg
a2V5IGRlcml2YXRpb24gZm9yIHRoZSBNYXN0ZXIgS2V5IFNBIGVtcGxveXMgYWx3YXlzIGJv
dGggdGhlCiAgIEV4dHJhY3QgYW5kIEV4cGFuZCBwaGFzZXMuICBUaGUgUGFpci13aXNlIEtl
eSBTQSBuZWVkcyBvbmx5IHRoZQogICBFeHRyYWN0IHBoYXNlIHdoZW4ga2V5IGlzIHNtYWxs
ZXIgb3IgZXF1YWwgdG8gMTI4IGJpdHMsIGJ1dCBvdGhlcndpc2UKICAgcmVxdWlyZXMgYWxz
byB0aGUgRXhwYW5kIHBoYXNlLgoKICAgVGhlIENLREYtRXh0cmFjdCBmdW5jdGlvbiBpcyB0
aGUgZm9sbG93aW5nIG9wZXJhdGlvbjoKCgoKCgoKCgoKCgoKTW9za293aXR6LCBldCBhbC4g
ICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgMzJd
CgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAg
ICAgICAgICBGZWJydWFyeSAyMDIwCgoKICAgICBDS0RGLUV4dHJhY3QoSSwgSUtNLCBpbmZv
KSAtPiBQUksKCiAgICAgSW5wdXRzOgogICAgICAgSSAgICAgICAgIFJhbmRvbSAjSSwgcHJv
dmlkZWQgYnkgdGhlIFJlc3BvbmRlciwgZnJvbSB0aGUgUFVaWkxFCiAgICAgICAgICAgICAg
ICAgcGFyYW1ldGVyCgogICAgICAgSUtNICAgICAgIElucHV0IGtleWluZyBtYXRlcmlhbAog
ICAgICAgICAgICAgICAgICAgdGhlIERpZmZpZS1IZWxsbWFuIGRlcml2ZWQga2V5LCBjb25j
YXRlbmF0ZWQgd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgcmFuZG9tIElfTk9OQ0Ug
dmFsdWUgZm9yIHRoZSBNYXN0ZXIgS2V5IFNBCiAgICAgICAgICAgICAgICAgICB0aGUgRGlm
ZmllLUhlbGxtYW4gZGVyaXZlZCBrZXksIGNvbmNhdGVuYXRlZCB3aXRoIHRoZQogICAgICAg
ICAgICAgICAgICAgICByYW5kb20gdmFsdWVzIG9mIHRoZSBFTkNSWVBURURfS0VZIHBhcmFt
ZXRlcnMgaW4KICAgICAgICAgICAgICAgICAgICAgdGhlIHNhbWUgb3JkZXIgYXMgdGhlIEhJ
VHMgd2l0aCBzb3J0KEhJVC1JIHwgSElULVIpCiAgICAgICAgICAgICAgICAgICAgIGZvciB0
aGUgUGFpci13aXNlIEtleSBTQQoKICAgICAgIGluZm8gICAgICBzb3J0KEhJVC1JIHwgSElU
LVIpIHwgIkNLREYtRXh0cmFjdCIKICAgICAgICAgICAgICAgICB3aGVyZSAiQ0tERi1FeHRy
YWN0IiBpcyBhbiBvY3RldCBzdHJpbmcKCiAgICAgT3V0cHV0OgogICAgICAgUFJLICAgICAg
IGEgcHNldWRvcmFuZG9tIGtleSAob2YgUkhBU0hfbGVuLzggb2N0ZXRzKQoKCiAgIFRoZSBw
c2V1ZG9yYW5kb20ga2V5IFBSSyBpcyBjYWxjdWxhdGVkIGFzIGZvbGxvd3M6CgogICAgICAg
UFJLICAgICA9IENNQUMoSSwgSUtNIHwgaW5mbykKCiAgIFRoZSBDS0RGLUV4cGFuZCBmdW5j
dGlvbiBpcyB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbjoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAg
ICAgICAgICAgICAgIFtQYWdlIDMzXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAg
RGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgICAgQ0tE
Ri1FeHBhbmQoUFJLLCBpbmZvLCBMKSAtPiBPS00KCiAgICAgSW5wdXRzOgogICAgICAgUFJL
ICAgICAgIGEgcHNldWRvcmFuZG9tIGtleSBvZiBhdCBsZWFzdCBSSEFTSF9sZW4vOCBvY3Rl
dHMKICAgICAgICAgICAgICAgICAoZWl0aGVyIHRoZSBvdXRwdXQgZnJvbSB0aGUgZXh0cmFj
dCBzdGVwIG9yIHRoZQogICAgICAgICAgICAgICAgIGNvbmNhdGVuYXRpb24gb2YgdGhlIHJh
bmRvbSB2YWx1ZXMgb2YgdGhlCiAgICAgICAgICAgICAgICAgRU5DUllQVEVEX0tFWSBwYXJh
bWV0ZXJzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZQogICAgICAgICAgICAgICAgIEhJVHMg
d2l0aCBzb3J0KEhJVC1JIHwgSElULVIpIGluIGNhc2Ugb2Ygbm8gZXh0cmFjdCkKICAgICAg
IGluZm8gICAgICBzb3J0KEhJVC1JIHwgSElULVIpIHwgIkNLREYtRXhwYW5kIgogICAgICAg
ICAgICAgICAgIHdoZXJlICJDS0RGLUV4cGFuZCIgaXMgYW4gb2N0ZXQgc3RyaW5nCiAgICAg
ICBMICAgICAgICAgbGVuZ3RoIG9mIG91dHB1dCBrZXlpbmcgbWF0ZXJpYWwgaW4gb2N0ZXRz
CiAgICAgICAgICAgICAgICAgKDw9IDI1NSpSSEFTSF9sZW4vOCkKCiAgICAgT3V0cHV0Ogog
ICAgICAgT0tNICAgICAgICBvdXRwdXQga2V5aW5nIG1hdGVyaWFsIChvZiBMIG9jdGV0cykK
CiAgIFRoZSBvdXRwdXQga2V5aW5nIG1hdGVyaWFsIE9LTSBpcyBjYWxjdWxhdGVkIGFzIGZv
bGxvd3M6CgogICAgICAgTiAgICAgICA9ICBjZWlsKEwvKFJIQVNIX2xlbi84KSkKICAgICAg
IFQgICAgICAgPSAgVCgxKSB8IFQoMikgfCBUKDMpIHwgLi4uIHwgVChOKQogICAgICAgT0tN
ICAgICA9ICBmaXJzdCBMIG9jdGV0cyBvZiBUCgogICB3aGVyZQoKICAgICAgIFQoMCkgPSBl
bXB0eSBzdHJpbmcgKHplcm8gbGVuZ3RoKQogICAgICAgVCgxKSA9IENNQUMoUFJLLCBUKDAp
IHwgaW5mbyB8IDB4MDEpCiAgICAgICBUKDIpID0gQ01BQyhQUkssIFQoMSkgfCBpbmZvIHwg
MHgwMikKICAgICAgIFQoMykgPSBDTUFDKFBSSywgVCgyKSB8IGluZm8gfCAweDAzKQogICAg
ICAgLi4uCgogICAod2hlcmUgdGhlIGNvbnN0YW50IGNvbmNhdGVuYXRlZCB0byB0aGUgZW5k
IG9mIGVhY2ggVChuKSBpcyBhCiAgIHNpbmdsZSBvY3RldC4pCgogICBzb3J0KEhJVC1JIHwg
SElULVIpIGlzIGRlZmluZWQgYXMgdGhlIG5ldHdvcmsgYnl0ZSBvcmRlcgogICBjb25jYXRl
bmF0aW9uIG9mIHRoZSB0d28gSElUcywgd2l0aCB0aGUgc21hbGxlciBISVQgcHJlY2VkaW5n
IHRoZQogICBsYXJnZXIgSElULCByZXN1bHRpbmcgZnJvbSB0aGUgbnVtZXJpYyBjb21wYXJp
c29uIG9mIHRoZSB0d28gSElUcwogICBpbnRlcnByZXRlZCBhcyBwb3NpdGl2ZSAodW5zaWdu
ZWQpIDEyOC1iaXQgaW50ZWdlcnMgaW4gbmV0d29yayBieXRlCiAgIG9yZGVyLgoKICAgVGhl
IGluaXRpYWwga2V5cyBmb3IgdGhlIE1hc3RlciBLZXkgU0EgYXJlIGRyYXduIHNlcXVlbnRp
YWxseSBpbiB0aGUKICAgb3JkZXIgdGhhdCBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBudW1lcmlj
IGNvbXBhcmlzb24gb2YgdGhlIHR3byBISVRzLAogICB3aXRoIHRoZSBjb21wYXJpc29uIG1l
dGhvZCBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIHBhcmFncmFwaC4KICAgSE9TVF9nIGRl
bm90ZXMgdGhlIGhvc3Qgd2l0aCB0aGUgZ3JlYXRlciBISVQgdmFsdWUsIGFuZCBIT1NUX2wg
dGhlCiAgIGhvc3Qgd2l0aCB0aGUgbG93ZXIgSElUIHZhbHVlLgoKICAgVGhlIGRyYXdpbmcg
b3JkZXIgZm9yIGluaXRpYWwga2V5czoKCiAgIDEuICBISVAtZ2wgZW5jcnlwdGlvbiBrZXkg
Zm9yIEhPU1RfZydzIG91dGdvaW5nIEhJUCBwYWNrZXRzCgoKCk1vc2tvd2l0eiwgZXQgYWwu
ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDM0
XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAg
ICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIDIuICBISVAtZ2wgaW50ZWdyaXR5IChDTUFD
KSBrZXkgZm9yIEhPU1RfZydzIG91dGdvaW5nIEhJUCBwYWNrZXRzCgogICAzLiAgSElQLWxn
IGVuY3J5cHRpb24ga2V5IGZvciBIT1NUX2wncyBvdXRnb2luZyBISVAgcGFja2V0cwoKICAg
NC4gIEhJUC1sZyBpbnRlZ3JpdHkgKENNQUMpIGtleSBmb3IgSE9TVF9sJ3Mgb3V0Z29pbmcg
SElQIHBhY2tldHMKCiAgIFRoZSBudW1iZXIgb2YgYml0cyBkcmF3biBmb3IgYSBnaXZlbiBh
bGdvcml0aG0gaXMgdGhlICJuYXR1cmFsIiBzaXplCiAgIG9mIHRoZSBrZXlzIHJlZ2FyZGlu
ZyB0aGUgYWxnb3JpdGhtIGRlZmluZWQgaW4gdGhlIEhJUF9DSVBIRVIuICBGb3IKICAgdGhl
IG1hbmRhdG9yeSBhbGdvcml0aG1zLCB0aGUgZm9sbG93aW5nIHNpemUgYXBwbGllczoKCiAg
IEFFUyAgMTI4IGJpdHMKCiAgIElmIG90aGVyIGtleSBzaXplcyBhcmUgdXNlZCwgdGhleSBt
dXN0IGJlIHRyZWF0ZWQgYXMgZGlmZmVyZW50CiAgIGVuY3J5cHRpb24gYWxnb3JpdGhtcyBh
bmQgZGVmaW5lZCBzZXBhcmF0ZWx5LgoKNi40LiAgSW5pdGlhdGlvbiBvZiBhIEhJUCBEaWV0
IEVYY2hhbmdlCgogICBUaGUgaW5pdGlhdGlvbiBvZiBhIEhJUCBERVggaGFuZHNoYWtlIHBy
b2NlZWRzIGFzIGRlc2NyaWJlZCBpbgogICBTZWN0aW9uIDYuNiBvZiBbUkZDNzQwMV0uICBU
aGUgSTEgcGFja2V0IGNvbnRlbnRzIGFyZSBzcGVjaWZpZWQgaW4KICAgU2VjdGlvbiA1LjMu
MS4KCjYuNS4gIFByb2Nlc3NpbmcgSW5jb21pbmcgSTEgUGFja2V0cwoKICAgSTEgcGFja2V0
cyBpbiBISVAgREVYIGFyZSBoYW5kbGVkIGFsbW9zdCBpZGVudGljYWwgdG8gSElQdjIgKHNl
ZQogICBTZWN0aW9uIDYuNyBvZiBbUkZDNzQwMV0pLiAgVGhlIG1haW4gZGlmZmVyZW5jZXMg
YXJlIHRoYXQgdGhlCiAgIFJlc3BvbmRlciBTSE9VTEQgc2VsZWN0IGEgSElQIERFWCBISVQg
U3VpdGUgaW4gdGhlIFIxIHJlc3BvbnNlLgogICBNb3Jlb3ZlciwgYXMgUjEgcGFja2V0cyBh
cmUgbmVpdGhlciBjb3ZlcmVkIGJ5IGEgc2lnbmF0dXJlIG5vciBpbmN1cgogICB0aGUgb3Zl
cmhlYWQgb2YgZ2VuZXJhdGluZyBhbiBlcGhlbWVyYWwgRGlmZmllLUhlbGxtYW4ga2V5LXBh
aXIsIHByZS0KICAgY29tcHV0YXRpb24gb2YgYW4gUjEgaXMgb25seSBtYXJnaW5hbGx5IGJl
bmVmaWNpYWwsIGJ1dCB3b3VsZCBpbmN1cgogICBhZGRpdGlvbmFsIG1lbW9yeSByZXNvdXJj
ZXMgYXQgdGhlIFJlc3BvbmRlci4gIEhlbmNlLCB0aGUgUjEgcHJlLQogICBjb21wdXRhdGlv
biBTSE9VTEQgYmUgb21pdHRlZCBpbiBISVAgREVYLgoKICAgQ29ycmVzcG9uZGluZ2x5LCB0
aGUgbW9kaWZpZWQgY29uY2VwdHVhbCBwcm9jZXNzaW5nIHJ1bGVzIGZvcgogICByZXNwb25k
aW5nIHRvIGFuIEkxIHBhY2tldCBhcmUgYXMgZm9sbG93czoKCiAgIDEuICBUaGUgUmVzcG9u
ZGVyIE1VU1QgY2hlY2sgdGhhdCB0aGUgUmVzcG9uZGVyJ3MgSElUIGluIHRoZSByZWNlaXZl
ZAogICAgICAgSTEgcGFja2V0IGlzIGVpdGhlciBvbmUgb2YgaXRzIG93biBISVRzIG9yIE5V
TEwuICBPdGhlcndpc2UsIGl0CiAgICAgICBNVVNUIGRyb3AgdGhlIHBhY2tldC4KCiAgIDIu
ICBJZiB0aGUgUmVzcG9uZGVyIGlzIGluIEVTVEFCTElTSEVEIHN0YXRlLCB0aGUgUmVzcG9u
ZGVyIE1BWQogICAgICAgcmVzcG9uZCB0byB0aGlzIHdpdGggYW4gUjEgcGFja2V0LCBwcmVw
YXJlIHRvIGRyb3AgYW4gZXhpc3RpbmcKICAgICAgIEhJUCBzZWN1cml0eSBhc3NvY2lhdGlv
biB3aXRoIHRoZSBwZWVyLCBhbmQgc3RheSBhdCBFU1RBQkxJU0hFRAogICAgICAgc3RhdGUu
CgogICAzLiAgSWYgdGhlIFJlc3BvbmRlciBpcyBpbiBJMS1TRU5UIHN0YXRlLCBpdCBNVVNU
IG1ha2UgYSBjb21wYXJpc29uCiAgICAgICBiZXR3ZWVuIHRoZSBzZW5kZXIncyBISVQgYW5k
IGl0cyBvd24gKGkuZS4sIHRoZSByZWNlaXZlcidzKSBISVQuCiAgICAgICBJZiB0aGUgc2Vu
ZGVyJ3MgSElUIGlzIGdyZWF0ZXIgdGhhbiBpdHMgb3duIEhJVCwgaXQgc2hvdWxkIGRyb3AK
ICAgICAgIHRoZSBJMSBwYWNrZXQgYW5kIHN0YXkgYXQgSTEtU0VOVC4gIElmIHRoZSBzZW5k
ZXIncyBISVQgaXMKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0
IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgMzVdCgwKSW50ZXJuZXQtRHJhZnQgICAg
ICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIw
CgoKICAgICAgIHNtYWxsZXIgdGhhbiBpdHMgb3duIEhJVCwgaXQgU0hPVUxEIHNlbmQgdGhl
IFIxIHBhY2tldCBhbmQgc3RheQogICAgICAgYXQgSTEtU0VOVC4gIFRoZSBISVQgY29tcGFy
aXNvbiBpcyBwZXJmb3JtZWQgYXMgZGVmaW5lZCBpbgogICAgICAgU2VjdGlvbiA2LjMuCgog
ICA0LiAgSWYgdGhlIGltcGxlbWVudGF0aW9uIGNob29zZXMgdG8gcmVzcG9uZCB0byB0aGUg
STEgcGFja2V0IHdpdGggYW4KICAgICAgIFIxIHBhY2tldCwgaXQgY3JlYXRlcyBhIG5ldyBS
MSBhY2NvcmRpbmcgdG8gdGhlIGZvcm1hdCBkZXNjcmliZWQKICAgICAgIGluIFNlY3Rpb24g
NS4zLjIuICBJdCBjaG9vc2VzIHRoZSBISSBiYXNlZCBvbiB0aGUgZGVzdGluYXRpb24gSElU
CiAgICAgICBhbmQgdGhlIERIX0dST1VQX0xJU1QgaW4gdGhlIEkxIHBhY2tldC4gIElmIHRo
ZSBpbXBsZW1lbnRhdGlvbgogICAgICAgZG9lcyBub3Qgc3VwcG9ydCB0aGUgREggZ3JvdXAg
cmVxdWlyZWQgYnkgdGhlIEluaXRpYXRvciBvciBpZiB0aGUKICAgICAgIGRlc3RpbmF0aW9u
IEhJVCBpbiB0aGUgSTEgcGFja2V0IGRvZXMgbm90IG1hdGNoIHRoZSByZXF1aXJlZCBESAog
ICAgICAgZ3JvdXAsIGl0IHNlbGVjdHMgdGhlIG11dHVhbGx5IHByZWZlcnJlZCBhbmQgc3Vw
cG9ydGVkIERIIGdyb3VwCiAgICAgICBiYXNlZCBvbiB0aGUgREhfR1JPVVBfTElTVCBwYXJh
bWV0ZXIgaW4gdGhlIEkxIHBhY2tldC4gIFRoZQogICAgICAgaW1wbGVtZW50YXRpb24gaW5j
bHVkZXMgdGhlIGNvcnJlc3BvbmRpbmcgRUNESCBwdWJsaWMga2V5IGluIHRoZQogICAgICAg
SE9TVF9JRCBwYXJhbWV0ZXIuICBJZiBubyBzdWl0YWJsZSBESCBHcm91cCBJRCB3YXMgY29u
dGFpbmVkIGluCiAgICAgICB0aGUgREhfR1JPVVBfTElTVCBpbiB0aGUgSTEgcGFja2V0LCBp
dCBzZW5kcyBhbiBSMSBwYWNrZXQgd2l0aAogICAgICAgYW55IHN1aXRhYmxlIEVDREggcHVi
bGljIGtleS4KCiAgIDUuICBJZiB0aGUgcmVjZWl2ZWQgUmVzcG9uZGVyJ3MgSElUIGluIHRo
ZSBJMSBwYWNrZXQgaXMgbm90IE5VTEwsIHRoZQogICAgICAgUmVzcG9uZGVyJ3MgSElUIGlu
IHRoZSBSMSBwYWNrZXQgTVVTVCBtYXRjaCB0aGUgZGVzdGluYXRpb24gSElUCiAgICAgICBp
biB0aGUgSTEgcGFja2V0LiAgT3RoZXJ3aXNlLCB0aGUgUmVzcG9uZGVyIE1VU1Qgc2VsZWN0
IGEgSElUCiAgICAgICB3aXRoIHRoZSBzYW1lIEhJVCBTdWl0ZSBhcyB0aGUgSW5pdGlhdG9y
J3MgSElULiAgSWYgdGhpcyBISVQKICAgICAgIFN1aXRlIGlzIG5vdCBzdXBwb3J0ZWQgYnkg
dGhlIFJlc3BvbmRlciwgaXQgU0hPVUxEIHNlbGVjdCBhCiAgICAgICBSRVFVSVJFRCBISVQg
U3VpdGUgZnJvbSBTZWN0aW9uIDUuMi4xMCBvZiBbUkZDNzQwMV0sIHdoaWNoIGlzCiAgICAg
ICBjdXJyZW50bHkgUlNBL0RTQS9TSEEtMjU2LiAgT3RoZXIgdGhhbiB0aGF0LCBzZWxlY3Rp
bmcgdGhlIEhJVCBpcwogICAgICAgYSBsb2NhbCBwb2xpY3kgbWF0dGVyLgoKICAgNi4gIFRo
ZSBSZXNwb25kZXIgZXhwcmVzc2VzIGl0cyBzdXBwb3J0ZWQgSElQIHRyYW5zcG9ydCBmb3Jt
YXRzIGluCiAgICAgICB0aGUgVFJBTlNQT1JUX0ZPUk1BVF9MSVNUIGFzIGRlc2NyaWJlZCBp
biBTZWN0aW9uIDUuMi4xMSBvZgogICAgICAgW1JGQzc0MDFdLiAgVGhlIFJlc3BvbmRlciBN
VVNUIHByb3ZpZGUgYXQgbGVhc3Qgb25lIHBheWxvYWQKICAgICAgIHRyYW5zcG9ydCBmb3Jt
YXQgdHlwZS4KCiAgIDcuICBUaGUgUmVzcG9uZGVyIHNlbmRzIHRoZSBSMSBwYWNrZXQgdG8g
dGhlIHNvdXJjZSBJUCBhZGRyZXNzIG9mIHRoZQogICAgICAgSTEgcGFja2V0LgoKICAgTm90
ZSB0aGF0IG9ubHkgc3RlcHMgNCBhbmQgNSBoYXZlIGJlZW4gY2hhbmdlZCB3aXRoIHJlZ2Fy
ZCB0byB0aGUKICAgcHJvY2Vzc2luZyBydWxlcyBvZiBISVB2Mi4gIFRoZSBjb25zaWRlcmF0
aW9ucyBhYm91dCBSMSBtYW5hZ2VtZW50CiAgIChleGNlcHQgcHJlLWNvbXB1dGF0aW9uKSBh
bmQgbWFsZm9ybWVkIEkxIHBhY2tldHMgaW4gU2VjdGlvbnMgNi43LjEKICAgYW5kIDYuNy4y
IG9mIFtSRkM3NDAxXSBsaWtld2lzZSBhcHBseSB0byBISVAgREVYLgoKNi42LiAgUHJvY2Vz
c2luZyBJbmNvbWluZyBSMSBQYWNrZXRzCgogICBSMSBwYWNrZXRzIGluIEhJUCBERVggYXJl
IGhhbmRsZWQgaWRlbnRpY2FsbHkgdG8gSElQdjIgKHNlZQogICBTZWN0aW9uIDYuOCBpbiBb
UkZDNzQwMV0pIHdpdGggdGhlIGZvbGxvd2luZyBleGNlcHRpb25zOiBISVAgREVYIHVzZXMK
ICAgRUNESCBwdWJsaWMga2V5cyBhcyBISXMgYW5kIGRvZXMgbm90IGVtcGxveSBzaWduYXR1
cmVzLgoKICAgVGhlIG1vZGlmaWVkIGNvbmNlcHR1YWwgcHJvY2Vzc2luZyBydWxlcyBmb3Ig
cmVzcG9uZGluZyB0byBhbiBSMQogICBwYWNrZXQgYXJlIGFzIGZvbGxvd3M6CgoKCgpNb3Nr
b3dpdHosIGV0IGFsLiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAg
ICAgICBbUGFnZSAzNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhj
aGFuZ2UgKERFWCkgICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgogICAxLiAgIEEgc3lzdGVt
IHJlY2VpdmluZyBhbiBSMSBNVVNUIGZpcnN0IGNoZWNrIHRvIHNlZSBpZiBpdCBoYXMgc2Vu
dAogICAgICAgIGFuIEkxIHBhY2tldCB0byB0aGUgb3JpZ2luYXRvciBvZiB0aGUgUjEgcGFj
a2V0IChpLmUuLCBpdCBoYXMgYQogICAgICAgIEhJUCBhc3NvY2lhdGlvbiB0aGF0IGlzIGlu
IHN0YXRlIEkxLVNFTlQgYW5kIHRoYXQgaXMgYXNzb2NpYXRlZAogICAgICAgIHdpdGggdGhl
IEhJVHMgaW4gdGhlIFIxKS4gIFVubGVzcyB0aGUgSTEgcGFja2V0IHdhcyBzZW50IGluCiAg
ICAgICAgb3Bwb3J0dW5pc3RpYyBtb2RlIChzZWUgU2VjdGlvbiA0LjEuOCBvZiBbUkZDNzQw
MV0pLCB0aGUgSVAKICAgICAgICBhZGRyZXNzZXMgaW4gdGhlIHJlY2VpdmVkIFIxIHBhY2tl
dCBTSE9VTEQgYmUgaWdub3JlZCBieSB0aGUgUjEKICAgICAgICBwcm9jZXNzaW5nIGFuZCwg
d2hlbiBsb29raW5nIHVwIHRoZSBjb3JyZWN0IEhJUCBhc3NvY2lhdGlvbiwgdGhlCiAgICAg
ICAgcmVjZWl2ZWQgUjEgcGFja2V0IFNIT1VMRCBiZSBtYXRjaGVkIGFnYWluc3QgdGhlIGFz
c29jaWF0aW9ucwogICAgICAgIHVzaW5nIG9ubHkgdGhlIEhJVHMuICBJZiBhIG1hdGNoIGV4
aXN0cywgdGhlIHN5c3RlbSBwcm9jZXNzZXMKICAgICAgICB0aGUgUjEgcGFja2V0IGFzIGRl
c2NyaWJlZCBiZWxvdy4KCiAgIDIuICAgT3RoZXJ3aXNlLCBpZiB0aGUgc3lzdGVtIGlzIGlu
IGFueSBzdGF0ZSBvdGhlciB0aGFuIEkxLVNFTlQgb3IKICAgICAgICBJMi1TRU5UIHdpdGgg
cmVzcGVjdCB0byB0aGUgSElUcyBpbmNsdWRlZCBpbiB0aGUgUjEgcGFja2V0LCBpdAogICAg
ICAgIFNIT1VMRCBzaWxlbnRseSBkcm9wIHRoZSBSMSBwYWNrZXQgYW5kIHJlbWFpbiBpbiB0
aGUgY3VycmVudAogICAgICAgIHN0YXRlLgoKICAgMy4gICBJZiB0aGUgSElQIGFzc29jaWF0
aW9uIHN0YXRlIGlzIEkxLVNFTlQgb3IgSTItU0VOVCwgdGhlIHJlY2VpdmVkCiAgICAgICAg
SW5pdGlhdG9yJ3MgSElUIE1VU1QgY29ycmVzcG9uZCB0byB0aGUgSElUIHVzZWQgaW4gdGhl
IG9yaWdpbmFsCiAgICAgICAgSTEgcGFja2V0LiAgQWxzbywgdGhlIFJlc3BvbmRlcidzIEhJ
VCBNVVNUIGNvcnJlc3BvbmQgdG8gdGhlIG9uZQogICAgICAgIHVzZWQgaW4gdGhlIEkxIHBh
Y2tldCwgdW5sZXNzIHRoaXMgcGFja2V0IGNvbnRhaW5lZCBhIE5VTEwgSElULgoKICAgNC4g
ICBJZiB0aGUgSElQIGFzc29jaWF0aW9uIHN0YXRlIGlzIEkxLVNFTlQsIGFuZCBtdWx0aXBs
ZSB2YWxpZCBSMQogICAgICAgIHBhY2tldHMgYXJlIHByZXNlbnQsIHRoZSBzeXN0ZW0gTVVT
VCBzZWxlY3QgZnJvbSBhbW9uZyB0aGUgUjEKICAgICAgICBwYWNrZXRzIHdpdGggdGhlIGxh
cmdlc3QgUjEgZ2VuZXJhdGlvbiBjb3VudGVyLgoKICAgNS4gICBUaGUgc3lzdGVtIE1VU1Qg
Y2hlY2sgdGhhdCB0aGUgSW5pdGlhdG9yJ3MgSElUIFN1aXRlIGlzCiAgICAgICAgY29udGFp
bmVkIGluIHRoZSBISVRfU1VJVEVfTElTVCBwYXJhbWV0ZXIgaW4gdGhlIFIxIHBhY2tldAog
ICAgICAgIChpLmUuLCB0aGUgSW5pdGlhdG9yJ3MgSElUIFN1aXRlIGlzIHN1cHBvcnRlZCBi
eSB0aGUgUmVzcG9uZGVyKS4KICAgICAgICBJZiB0aGUgSElUIFN1aXRlIGlzIHN1cHBvcnRl
ZCBieSB0aGUgUmVzcG9uZGVyLCB0aGUgc3lzdGVtCiAgICAgICAgcHJvY2VlZHMgbm9ybWFs
bHkuICBPdGhlcndpc2UsIHRoZSBzeXN0ZW0gTUFZIHN0YXkgaW4gc3RhdGUKICAgICAgICBJ
MS1TRU5UIGFuZCByZXN0YXJ0IHRoZSBISVAgREVYIGhhbmRzaGFrZSBieSBzZW5kaW5nIGEg
bmV3IEkxCiAgICAgICAgcGFja2V0IHdpdGggYW4gSW5pdGlhdG9yIEhJVCB0aGF0IGlzIHN1
cHBvcnRlZCBieSB0aGUgUmVzcG9uZGVyCiAgICAgICAgYW5kIGhlbmNlIGlzIGNvbnRhaW5l
ZCBpbiB0aGUgSElUX1NVSVRFX0xJU1QgaW4gdGhlIFIxIHBhY2tldC4KICAgICAgICBUaGUg
c3lzdGVtIE1BWSBhYm9ydCB0aGUgaGFuZHNoYWtlIGlmIG5vIHN1aXRhYmxlIHNvdXJjZSBI
SVQgaXMKICAgICAgICBhdmFpbGFibGUuICBUaGUgc3lzdGVtIFNIT1VMRCB3YWl0IGZvciBh
biBhY2NlcHRhYmxlIHRpbWUgc3BhbgogICAgICAgIHRvIGFsbG93IGZ1cnRoZXIgUjEgcGFj
a2V0cyB3aXRoIGhpZ2hlciBSMSBnZW5lcmF0aW9uIGNvdW50ZXJzCiAgICAgICAgb3IgZGlm
ZmVyZW50IEhJVCBhbmQgSElUIFN1aXRlcyB0byBhcnJpdmUgYmVmb3JlIHJlc3RhcnRpbmcg
b3IKICAgICAgICBhYm9ydGluZyB0aGUgSElQIERFWCBoYW5kc2hha2UuCgogICA2LiAgIFRo
ZSBzeXN0ZW0gTVVTVCBjaGVjayB0aGF0IHRoZSBESCBHcm91cCBJRCBpbiB0aGUgSE9TVF9J
RAogICAgICAgIHBhcmFtZXRlciBpbiB0aGUgUjEgbWF0Y2hlcyB0aGUgZmlyc3QgREggR3Jv
dXAgSUQgaW4gdGhlCiAgICAgICAgUmVzcG9uZGVyJ3MgREhfR1JPVVBfTElTVCBpbiB0aGUg
UjEgcGFja2V0LCBhbmQgYWxzbyB0aGF0IHRoaXMKICAgICAgICBHcm91cCBJRCBjb3JyZXNw
b25kcyB0byBhIHZhbHVlIHRoYXQgd2FzIGluY2x1ZGVkIGluIHRoZQogICAgICAgIEluaXRp
YXRvcidzIERIX0dST1VQX0xJU1QgaW4gdGhlIEkxIHBhY2tldC4gIElmIHRoZSBESCBHcm91
cCBJRAogICAgICAgIG9mIHRoZSBIT1NUX0lEIHBhcmFtZXRlciBkb2VzIG5vdCBleHByZXNz
IHRoZSBSZXNwb25kZXIncyBiZXN0CiAgICAgICAgY2hvaWNlLCB0aGUgSW5pdGlhdG9yIGNh
biBjb25jbHVkZSB0aGF0IHRoZSBESF9HUk9VUF9MSVNUIGluIHRoZQogICAgICAgIEkxIG9y
IFIxIHBhY2tldCB3YXMgYWR2ZXJzZWx5IG1vZGlmaWVkLiAgSW4gc3VjaCBhIGNhc2UsIHRo
ZQogICAgICAgIEluaXRpYXRvciBNQVkgc2VuZCBhIG5ldyBJMSBwYWNrZXQ7IGhvd2V2ZXIs
IGl0IFNIT1VMRCBOT1QKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVn
dXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgMzddCgwKSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAy
MDIwCgoKICAgICAgICBjaGFuZ2UgaXRzIHByZWZlcmVuY2UgaW4gdGhlIERIX0dST1VQX0xJ
U1QgaW4gdGhlIG5ldyBJMSBwYWNrZXQuCiAgICAgICAgQWx0ZXJuYXRpdmVseSwgdGhlIElu
aXRpYXRvciBNQVkgYWJvcnQgdGhlIEhJUCBERVggaGFuZHNoYWtlLgogICAgICAgIE1vcmVv
dmVyLCBpZiB0aGUgREggR3JvdXAgSUQgaW5kaWNhdGVkIGluIHRoZSBIT1NUX0lEIHBhcmFt
ZXRlcgogICAgICAgIGRvZXMgbm90IG1hdGNoIHRoZSBESCBHcm91cCBJRCBvZiB0aGUgSEkg
ZW1wbG95ZWQgYnkgdGhlCiAgICAgICAgSW5pdGlhdG9yLCB0aGUgc3lzdGVtIFNIT1VMRCB3
YWl0IGZvciBhbiBhY2NlcHRhYmxlIHRpbWUgc3BhbiB0bwogICAgICAgIGFsbG93IGZ1cnRo
ZXIgUjEgcGFja2V0cyB3aXRoIGRpZmZlcmVudCBESCBHcm91cCBJRHMgdG8gYXJyaXZlCiAg
ICAgICAgYmVmb3JlIHJlc3RhcnRpbmcgb3IgYWJvcnRpbmcgdGhlIEhJUCBERVggaGFuZHNo
YWtlLiAgV2hlbgogICAgICAgIHJlc3RhcnRpbmcgdGhlIGhhbmRzaGFrZSwgdGhlIEluaXRp
YXRvciBNVVNUIGNvbnN1bHQgbG9jYWwKICAgICAgICBwb2xpY2llcyAoc2VlIFNlY3Rpb24g
NykgcmVnYXJkaW5nIHRoZSB1c2Ugb2YgYW5vdGhlciwgbXV0dWFsbHkKICAgICAgICBzdXBw
b3J0ZWQgREggZ3JvdXAgZm9yIHRoZSBzdWJzZXF1ZW50IGhhbmRzaGFrZSB3aXRoIHRoZQog
ICAgICAgIFJlc3BvbmRlci4KCiAgIDcuICAgSWYgdGhlIEhJUCBhc3NvY2lhdGlvbiBzdGF0
ZSBpcyBJMi1TRU5ULCB0aGUgc3lzdGVtIE1BWSByZS1lbnRlcgogICAgICAgIHN0YXRlIEkx
LVNFTlQgYW5kIHByb2Nlc3MgdGhlIHJlY2VpdmVkIFIxIHBhY2tldCBpZiBpdCBoYXMgYQog
ICAgICAgIGxhcmdlciBSMSBnZW5lcmF0aW9uIGNvdW50ZXIgdGhhbiB0aGUgUjEgcGFja2V0
IHJlc3BvbmRlZCB0bwogICAgICAgIHByZXZpb3VzbHkuCgogICA4LiAgIFRoZSBSMSBwYWNr
ZXQgY2FuIGhhdmUgdGhlIEEtYml0IHNldCAtIGluIHRoaXMgY2FzZSwgdGhlIHN5c3RlbQog
ICAgICAgIE1BWSBjaG9vc2UgdG8gcmVmdXNlIGl0IGJ5IGRyb3BwaW5nIHRoZSBSMSBwYWNr
ZXQgYW5kIHJldHVybmluZwogICAgICAgIHRvIHN0YXRlIFVOQVNTT0NJQVRFRC4gIFRoZSBz
eXN0ZW0gU0hPVUxEIGNvbnNpZGVyIGRyb3BwaW5nIHRoZQogICAgICAgIFIxIHBhY2tldCBv
bmx5IGlmIGl0IHVzZWQgYSBOVUxMIEhJVCBpbiB0aGUgSTEgcGFja2V0LiAgSWYgdGhlCiAg
ICAgICAgQS1iaXQgaXMgc2V0LCB0aGUgUmVzcG9uZGVyJ3MgSElUIGlzIGFub255bW91cyBh
bmQgU0hPVUxEIE5PVCBiZQogICAgICAgIHN0b3JlZCBwZXJtYW5lbnRseS4KCiAgIDkuICAg
VGhlIHN5c3RlbSBTSE9VTEQgYXR0ZW1wdCB0byB2YWxpZGF0ZSB0aGUgSElUIGFnYWluc3Qg
dGhlCiAgICAgICAgcmVjZWl2ZWQgSG9zdCBJZGVudGl0eSBieSB1c2luZyB0aGUgcmVjZWl2
ZWQgSG9zdCBJZGVudGl0eSB0bwogICAgICAgIGNvbnN0cnVjdCBhIEhJVCBhbmQgdmVyaWZ5
IHRoYXQgaXQgbWF0Y2hlcyB0aGUgU2VuZGVyJ3MgSElULgoKICAgMTAuICBUaGUgc3lzdGVt
IE1VU1Qgc3RvcmUgdGhlIHJlY2VpdmVkIFIxIGdlbmVyYXRpb24gY291bnRlciBmb3IKICAg
ICAgICBmdXR1cmUgcmVmZXJlbmNlLgoKICAgMTEuICBUaGUgc3lzdGVtIGF0dGVtcHRzIHRv
IHNvbHZlIHRoZSBwdXp6bGUgaW4gdGhlIFIxIHBhY2tldC4gIFRoZQogICAgICAgIHN5c3Rl
bSBNVVNUIHRlcm1pbmF0ZSB0aGUgc2VhcmNoIGFmdGVyIGV4Y2VlZGluZyB0aGUgcmVtYWlu
aW5nCiAgICAgICAgbGlmZXRpbWUgb2YgdGhlIHB1enpsZS4gIElmIHRoZSBwdXp6bGUgaXMg
bm90IHN1Y2Nlc3NmdWxseQogICAgICAgIHNvbHZlZCwgdGhlIGltcGxlbWVudGF0aW9uIE1B
WSBlaXRoZXIgcmVzZW5kIHRoZSBJMSBwYWNrZXQKICAgICAgICB3aXRoaW4gdGhlIHJldHJ5
IGJvdW5kcyBvciBhYmFuZG9uIHRoZSBISVAgYmFzZSBleGNoYW5nZS4KCiAgIDEyLiAgVGhl
IHN5c3RlbSBjb21wdXRlcyBzdGFuZGFyZCBEaWZmaWUtSGVsbG1hbiBrZXlpbmcgbWF0ZXJp
YWwKICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIHB1YmxpYyB2YWx1ZSBhbmQgR3JvdXAgSUQg
cHJvdmlkZWQgaW4gdGhlCiAgICAgICAgSE9TVF9JRCBwYXJhbWV0ZXIuICBUaGUgRGlmZmll
LUhlbGxtYW4ga2V5aW5nIG1hdGVyaWFsIEtpaiBpcwogICAgICAgIHVzZWQgZm9yIGtleSBl
eHRyYWN0aW9uIGFzIHNwZWNpZmllZCBpbiBTZWN0aW9uIDYuMy4KCiAgIDEzLiAgVGhlIHN5
c3RlbSBzZWxlY3RzIHRoZSBISVBfQ0lQSEVSIElEIGZyb20gdGhlIGNob2ljZXMgcHJlc2Vu
dGVkCiAgICAgICAgaW4gdGhlIFIxIHBhY2tldCBhbmQgdXNlcyB0aGUgc2VsZWN0ZWQgdmFs
dWVzIHN1YnNlcXVlbnRseSB3aGVuCiAgICAgICAgZ2VuZXJhdGluZyBhbmQgdXNpbmcgZW5j
cnlwdGlvbiBrZXlzLCBhbmQgd2hlbiBzZW5kaW5nIHRoZSBJMgogICAgICAgIHBhY2tldC4g
IElmIHRoZSBwcm9wb3NlZCBhbHRlcm5hdGl2ZXMgYXJlIG5vdCBhY2NlcHRhYmxlIHRvIHRo
ZQogICAgICAgIHN5c3RlbSwgaXQgTUFZIGVpdGhlciByZXNlbmQgYW4gSTEgcGFja2V0IHdp
dGhpbiB0aGUgcmV0cnkKICAgICAgICBib3VuZHMgb3IgYWJhbmRvbiB0aGUgSElQIGJhc2Ug
ZXhjaGFuZ2UuCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAx
NSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDM4XQoMCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoK
CiAgIDE0LiAgVGhlIHN5c3RlbSBjaG9vc2VzIG9uZSBzdWl0YWJsZSB0cmFuc3BvcnQgZm9y
bWF0IGZyb20gdGhlCiAgICAgICAgVFJBTlNQT1JUX0ZPUk1BVF9MSVNUIGFuZCBpbmNsdWRl
cyB0aGUgcmVzcGVjdGl2ZSB0cmFuc3BvcnQKICAgICAgICBmb3JtYXQgcGFyYW1ldGVyIGlu
IHRoZSBzdWJzZXF1ZW50IEkyIHBhY2tldC4KCiAgIDE1LiAgVGhlIHN5c3RlbSBpbml0aWFs
aXplcyB0aGUgcmVtYWluaW5nIHZhcmlhYmxlcyBpbiB0aGUgYXNzb2NpYXRlZAogICAgICAg
IHN0YXRlLCBpbmNsdWRpbmcgVXBkYXRlIElEIGNvdW50ZXJzLgoKICAgMTYuICBUaGUgc3lz
dGVtIHByZXBhcmVzIGFuZCBzZW5kcyBhbiBJMiBwYWNrZXQgYXMgZGVzY3JpYmVkIGluCiAg
ICAgICAgU2VjdGlvbiA1LjMuMy4KCiAgIDE3LiAgVGhlIHN5c3RlbSBTSE9VTEQgc3RhcnQg
YSB0aW1lciB3aG9zZSB0aW1lb3V0IHZhbHVlIFNIT1VMRCBiZQogICAgICAgIGxhcmdlciB0
aGFuIHRoZSB3b3JzdC1jYXNlIGFudGljaXBhdGVkIFJUVCwgYW5kIE1VU1QgaW5jcmVtZW50
IGEKICAgICAgICB0cmlhbCBjb3VudGVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgSTIgcGFja2V0
LiAgVGhlIHNlbmRlciBTSE9VTEQKICAgICAgICByZXRyYW5zbWl0IHRoZSBJMiBwYWNrZXQg
dXBvbiBhIHRpbWVvdXQgYW5kIHJlc3RhcnQgdGhlIHRpbWVyLAogICAgICAgIHVwIHRvIGEg
bWF4aW11bSBvZiBJMl9SRVRSSUVTX01BWCB0cmllcy4KCiAgIDE4LiAgSWYgdGhlIHN5c3Rl
bSBpcyBpbiBzdGF0ZSBJMS1TRU5ULCBpdCBTSEFMTCB0cmFuc2l0aW9uIHRvIHN0YXRlCiAg
ICAgICAgSTItU0VOVC4gIElmIHRoZSBzeXN0ZW0gaXMgaW4gYW55IG90aGVyIHN0YXRlLCBp
dCByZW1haW5zIGluIHRoZQogICAgICAgIGN1cnJlbnQgc3RhdGUuCgogICBOb3RlIHRoYXQg
c3RlcCA0IGZyb20gdGhlIG9yaWdpbmFsIHByb2Nlc3NpbmcgcnVsZXMgb2YgSElQdjIKICAg
KHNpZ25hdHVyZSB2ZXJpZmljYXRpb24pIGhhcyBiZWVuIHJlbW92ZWQgaW4gdGhlIGFib3Zl
IHByb2Nlc3NpbmcKICAgcnVsZXMgZm9yIEhJUCBERVguICBNb3Jlb3Zlciwgc3RlcCA3IG9m
IHRoZSBvcmlnaW5hbCBwcm9jZXNzaW5nIHJ1bGVzCiAgIGhhcyBiZWVuIGFkYXB0ZWQgaW4g
c3RlcCA2IGFib3ZlIHRvIGFjY291bnQgZm9yIHRoZSBmYWN0IHRoYXQgSElQIERFWAogICB1
c2VzIEVDREggcHVibGljIGtleXMgYXMgSElzLiAgVGhlIGNvbnNpZGVyYXRpb25zIGFib3V0
IG1hbGZvcm1lZCBSMQogICBwYWNrZXRzIGluIFNlY3Rpb25zIDYuOC4xIG9mIFtSRkM3NDAx
XSBhbHNvIGFwcGx5IHRvIEhJUCBERVguCgo2LjcuICBQcm9jZXNzaW5nIEluY29taW5nIEky
IFBhY2tldHMKCiAgIFRoZSBwcm9jZXNzaW5nIG9mIEkyIHBhY2tldHMgZm9sbG93cyBzaW1p
bGFyIHJ1bGVzIGFzIEhJUHYyIChzZWUKICAgU2VjdGlvbiA2Ljkgb2YgW1JGQzc0MDFdKS4g
IFRoZSBtYWluIGRpZmZlcmVuY2VzIHRvIEhJUHYyIGFyZSB0aGF0CiAgIEhJUCBERVggaW50
cm9kdWNlcyBhIG5ldyBzZXNzaW9uIGtleSBleGNoYW5nZSB2aWEgdGhlIEVOQ1JZUFRFRF9L
RVkKICAgcGFyYW1ldGVyIGFzIHdlbGwgYXMgYW4gSTIgcmVjZXB0aW9uIGFja25vd2xlZGdl
bWVudCBmb3IKICAgcmV0cmFuc21pc3Npb24gcHVycG9zZXMuICBNb3Jlb3Zlciwgd2l0aCBI
SVAgREVYIHRoZSBJbml0aWF0b3IgaXMKICAgcmVzcG9uc2libGUgZm9yIHRyaWdnZXJpbmcg
cmV0cmFuc21pc3Npb25zLCB3aGVyZWFzIHRoZSBSZXNwb25kZXIKICAgbWVyZWx5IHJlcGxp
ZXMgdG8gcmVjZWl2ZWQgSTIgcGFja2V0cy4KCiAgIFRoZSBtb2RpZmllZCBISVAgREVYIGNv
bmNlcHR1YWwgcHJvY2Vzc2luZyBydWxlcyBmb3IgcmVzcG9uZGluZyB0byBhbgogICBJMiBw
YWNrZXQgYXJlOgoKICAgMS4gICBUaGUgc3lzdGVtIE1BWSBwZXJmb3JtIGNoZWNrcyB0byB2
ZXJpZnkgdGhhdCB0aGUgSTIgcGFja2V0CiAgICAgICAgY29ycmVzcG9uZHMgdG8gYSByZWNl
bnRseSBzZW50IFIxIHBhY2tldC4gIFN1Y2ggY2hlY2tzIGFyZQogICAgICAgIGltcGxlbWVu
dGF0aW9uIGRlcGVuZGVudC4gIFNlZSBBcHBlbmRpeCBBIGluIFtSRkM3NDAxXSBmb3IgYQog
ICAgICAgIGRlc2NyaXB0aW9uIG9mIGFuIGV4YW1wbGUgaW1wbGVtZW50YXRpb24uCgogICAy
LiAgIFRoZSBzeXN0ZW0gTVVTVCBjaGVjayB0aGF0IHRoZSBSZXNwb25kZXIncyBISVQgY29y
cmVzcG9uZHMgdG8KICAgICAgICBvbmUgb2YgaXRzIG93biBISVRzIGFuZCBNVVNUIGRyb3Ag
dGhlIHBhY2tldCBvdGhlcndpc2UuCgoKCgpNb3Nrb3dpdHosIGV0IGFsLiAgICAgICAgRXhw
aXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICBbUGFnZSAzOV0KDApJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkgICAgICAgICAgIEZl
YnJ1YXJ5IDIwMjAKCgogICAzLiAgIFRoZSBzeXN0ZW0gTVVTVCBmdXJ0aGVyIGNoZWNrIHRo
YXQgdGhlIEluaXRpYXRvcidzIEhJVCBTdWl0ZSBpcwogICAgICAgIHN1cHBvcnRlZC4gIFRo
ZSBSZXNwb25kZXIgU0hPVUxEIHNpbGVudGx5IGRyb3AgSTIgcGFja2V0cyB3aXRoCiAgICAg
ICAgdW5zdXBwb3J0ZWQgSW5pdGlhdG9yIEhJVHMuCgogICA0LiAgIElmIHRoZSBzeXN0ZW0n
cyBzdGF0ZSBtYWNoaW5lIGlzIGluIHRoZSBSMi1TRU5UIHN0YXRlLCB0aGUKICAgICAgICBz
eXN0ZW0gTVVTVCBjaGVjayB0byBzZWUgaWYgdGhlIG5ld2x5IHJlY2VpdmVkIEkyIHBhY2tl
dCBpcwogICAgICAgIHNpbWlsYXIgdG8gdGhlIG9uZSB0aGF0IHRyaWdnZXJlZCBtb3Zpbmcg
dG8gUjItU0VOVC4gIElmIHNvLCBpdAogICAgICAgIE1VU1QgcmV0cmFuc21pdCBhIHByZXZp
b3VzbHkgc2VudCBSMiBwYWNrZXQgYW5kIHJlc2V0IHRoZQogICAgICAgIFIyLVNFTlQgdGlt
ZXIuICBUaGUgc3lzdGVtIFNIT1VMRCByZS11c2UgdGhlIHByZXZpb3VzbHkKICAgICAgICBl
c3RhYmxpc2hlZCBzdGF0ZSB0byByZS1jcmVhdGUgdGhlIGNvcnJlc3BvbmRpbmcgUjIgcGFj
a2V0IGluCiAgICAgICAgb3JkZXIgdG8gcHJldmVudCB1bm5lY2Vzc2FyeSBjb21wdXRhdGlv
biBvdmVyaGVhZC4KCiAgIDUuICAgSWYgdGhlIHN5c3RlbSdzIHN0YXRlIG1hY2hpbmUgaXMg
aW4gdGhlIEkyLVNFTlQgc3RhdGUsIHRoZQogICAgICAgIHN5c3RlbSBNVVNUIG1ha2UgYSBj
b21wYXJpc29uIGJldHdlZW4gaXRzIGxvY2FsIGFuZCBzZW5kZXIncwogICAgICAgIEhJVHMg
KHNpbWlsYXJseSBhcyBpbiBTZWN0aW9uIDYuMykuICBJZiB0aGUgbG9jYWwgSElUIGlzIHNt
YWxsZXIKICAgICAgICB0aGFuIHRoZSBzZW5kZXIncyBISVQsIGl0IHNob3VsZCBkcm9wIHRo
ZSBJMiBwYWNrZXQsIHVzZSB0aGUKICAgICAgICBwZWVyIERpZmZpZS1IZWxsbWFuIGtleSwg
RU5DUllQVEVEX0tFWSBrZXlpbmcgbWF0ZXJpYWwgYW5kIG5vbmNlCiAgICAgICAgI0kgZnJv
bSB0aGUgUjEgcGFja2V0IHJlY2VpdmVkIGVhcmxpZXIsIGFuZCBnZXQgdGhlIGxvY2FsCiAg
ICAgICAgRGlmZmllLUhlbGxtYW4ga2V5LCBFTkNSWVBURURfS0VZIGtleWluZyBtYXRlcmlh
bCwgYW5kIG5vbmNlICNKCiAgICAgICAgZnJvbSB0aGUgSTIgcGFja2V0IHNlbnQgdG8gdGhl
IHBlZXIgZWFybGllci4gIE90aGVyd2lzZSwgdGhlCiAgICAgICAgc3lzdGVtIHByb2Nlc3Nl
cyB0aGUgcmVjZWl2ZWQgSTIgcGFja2V0IGFuZCBkcm9wcyBhbnkgcHJldmlvdXNseQogICAg
ICAgIGRlcml2ZWQgRGlmZmllLUhlbGxtYW4ga2V5aW5nIG1hdGVyaWFsIEtpaiBhbmQgRU5D
UllQVEVEX0tFWQogICAgICAgIGtleWluZyBtYXRlcmlhbCBpdCBtaWdodCBoYXZlIGdlbmVy
YXRlZCB1cG9uIHNlbmRpbmcgdGhlIEkyCiAgICAgICAgcGFja2V0IHByZXZpb3VzbHkuICBU
aGUgcGVlciBEaWZmaWUtSGVsbG1hbiBrZXksIEVOQ1JZUFRFRF9LRVksCiAgICAgICAgYW5k
IHRoZSBub25jZSAjSiBhcmUgdGFrZW4gZnJvbSB0aGUganVzdCBhcnJpdmVkIEkyIHBhY2tl
dC4gIFRoZQogICAgICAgIGxvY2FsIERpZmZpZS1IZWxsbWFuIGtleSwgRU5DUllQVEVEX0tF
WSBrZXlpbmcgbWF0ZXJpYWwsIGFuZCB0aGUKICAgICAgICBub25jZSAjSSBhcmUgdGhlIG9u
ZXMgdGhhdCB3ZXJlIHNlbnQgZWFybGllciBpbiB0aGUgUjEgcGFja2V0LgoKICAgNi4gICBJ
ZiB0aGUgc3lzdGVtJ3Mgc3RhdGUgbWFjaGluZSBpcyBpbiB0aGUgSTEtU0VOVCBzdGF0ZSwg
YW5kIHRoZQogICAgICAgIEhJVHMgaW4gdGhlIEkyIHBhY2tldCBtYXRjaCB0aG9zZSB1c2Vk
IGluIHRoZSBwcmV2aW91c2x5IHNlbnQgSTEKICAgICAgICBwYWNrZXQsIHRoZSBzeXN0ZW0g
dXNlcyB0aGlzIHJlY2VpdmVkIEkyIHBhY2tldCBhcyB0aGUgYmFzaXMgZm9yCiAgICAgICAg
dGhlIEhJUCBhc3NvY2lhdGlvbiBpdCB3YXMgdHJ5aW5nIHRvIGZvcm0sIGFuZCBzdG9wcwog
ICAgICAgIHJldHJhbnNtaXR0aW5nIEkxIHBhY2tldHMgKHByb3ZpZGVkIHRoYXQgdGhlIEky
IHBhY2tldCBwYXNzZXMKICAgICAgICB0aGUgYWRkaXRpb25hbCBjaGVja3MgYmVsb3cpLgoK
ICAgNy4gICBJZiB0aGUgc3lzdGVtJ3Mgc3RhdGUgbWFjaGluZSBpcyBpbiBhbnkgc3RhdGUg
b3RoZXIgdGhhbgogICAgICAgIFIyLVNFTlQsIHRoZSBzeXN0ZW0gU0hPVUxEIGNoZWNrIHRo
YXQgdGhlIGVjaG9lZCBSMSBnZW5lcmF0aW9uCiAgICAgICAgY291bnRlciBpbiB0aGUgSTIg
cGFja2V0IGlzIHdpdGhpbiB0aGUgYWNjZXB0YWJsZSByYW5nZSBpZiB0aGUKICAgICAgICBj
b3VudGVyIGlzIGluY2x1ZGVkLiAgSW1wbGVtZW50YXRpb25zIE1VU1QgYWNjZXB0IHB1enps
ZXMgZnJvbQogICAgICAgIHRoZSBjdXJyZW50IGdlbmVyYXRpb24gYW5kIE1BWSBhY2NlcHQg
cHV6emxlcyBmcm9tIGVhcmxpZXIKICAgICAgICBnZW5lcmF0aW9ucy4gIElmIHRoZSBnZW5l
cmF0aW9uIGNvdW50ZXIgaW4gdGhlIG5ld2x5IHJlY2VpdmVkIEkyCiAgICAgICAgcGFja2V0
IGlzIG91dHNpZGUgdGhlIGFjY2VwdGVkIHJhbmdlLCB0aGUgSTIgcGFja2V0IGlzIHN0YWxl
CiAgICAgICAgKGFuZCBwZXJoYXBzIHJlcGxheWVkKSBhbmQgU0hPVUxEIGJlIGRyb3BwZWQu
CgogICA4LiAgIFRoZSBzeXN0ZW0gTVVTVCB2YWxpZGF0ZSB0aGUgc29sdXRpb24gdG8gdGhl
IHB1enpsZSBhcyBkZXNjcmliZWQKICAgICAgICBpbiBTZWN0aW9uIDYuMS4KCgoKCgpNb3Nr
b3dpdHosIGV0IGFsLiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAg
ICAgICBbUGFnZSA0MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhj
aGFuZ2UgKERFWCkgICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgogICA5LiAgIFRoZSBJMiBw
YWNrZXQgTVVTVCBoYXZlIGEgc2luZ2xlIHZhbHVlIGluIHRoZSBISVBfQ0lQSEVSCiAgICAg
ICAgcGFyYW1ldGVyLCB3aGljaCBNVVNUIG1hdGNoIG9uZSBvZiB0aGUgdmFsdWVzIG9mZmVy
ZWQgdG8gdGhlCiAgICAgICAgSW5pdGlhdG9yIGluIHRoZSBSMSBwYWNrZXQuCgogICAxMC4g
IFRoZSBzeXN0ZW0gTVVTVCBkZXJpdmUgRGlmZmllLUhlbGxtYW4ga2V5aW5nIG1hdGVyaWFs
IEtpaiBiYXNlZAogICAgICAgIG9uIHRoZSBwdWJsaWMgdmFsdWUgYW5kIEdyb3VwIElEIGlu
IHRoZSBIT1NUX0lEIHBhcmFtZXRlci4gIFRoaXMKICAgICAgICBrZXlpbmcgbWF0ZXJpYWwg
aXMgdXNlZCB0byBkZXJpdmUgdGhlIGtleXMgb2YgdGhlIE1hc3RlciBLZXkgU0EKICAgICAg
ICBhcyBkZXNjcmliZWQgaW4gU2VjdGlvbiA2LjMuICBJZiB0aGUgRGlmZmllLUhlbGxtYW4g
R3JvdXAgSUQgaXMKICAgICAgICB1bnN1cHBvcnRlZCwgdGhlIEkyIHBhY2tldCBpcyBzaWxl
bnRseSBkcm9wcGVkLiAgSWYgdGhlCiAgICAgICAgcHJvY2Vzc2luZyB0aW1lIGZvciB0aGUg
ZGVyaXZhdGlvbiBvZiB0aGUgRGlmZmllLUhlbGxtYW4ga2V5aW5nCiAgICAgICAgbWF0ZXJp
YWwgS2lqIGlzIGxpa2VseSB0byBjYXVzZSBwcmVtYXR1cmUgSTIgcmV0cmFuc21pc3Npb25z
IGJ5CiAgICAgICAgdGhlIEluaXRpYXRvciwgdGhlIHN5c3RlbSBNQVkgc2VuZCBhIE5PVElG
WSBwYWNrZXQgYmVmb3JlCiAgICAgICAgc3RhcnRpbmcgdGhlIGtleSBkZXJpdmF0aW9uIHBy
b2Nlc3MuICBUaGUgTk9USUZZIHBhY2tldCBjb250YWlucwogICAgICAgIGEgTk9USUZJQ0FU
SU9OIHBhcmFtZXRlciB3aXRoIE5vdGlmeSBNZXNzYWdlIFR5cGUKICAgICAgICBJMl9BQ0tO
T1dMRURHRU1FTlQuICBUaGUgTk9USUZJQ0FUSU9OIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhl
CiAgICAgICAgYW50aWNpcGF0ZWQgcmVtYWluaW5nIHByb2Nlc3NpbmcgdGltZSBmb3IgdGhl
IEkyIHBhY2tldCBpbgogICAgICAgIG1pbGxpc2Vjb25kcyBhcyB0d28tb2N0ZXQgTm90aWZp
Y2F0aW9uIERhdGEuCgogICAxMS4gIFRoZSBpbXBsZW1lbnRhdGlvbiBTSE9VTEQgYWxzbyB2
ZXJpZnkgdGhhdCB0aGUgSW5pdGlhdG9yJ3MgSElUCiAgICAgICAgaW4gdGhlIEkyIHBhY2tl
dCBjb3JyZXNwb25kcyB0byB0aGUgSG9zdCBJZGVudGl0eSBzZW50IGluIHRoZSBJMgogICAg
ICAgIHBhY2tldC4gIChOb3RlOiBzb21lIG1pZGRsZWJveGVzIG1heSBub3QgYmUgYWJsZSB0
byBtYWtlIHRoaXMKICAgICAgICB2ZXJpZmljYXRpb24uKQoKICAgMTIuICBUaGUgc3lzdGVt
IE1VU1QgcHJvY2VzcyB0aGUgVFJBTlNQT1JUX0ZPUk1BVF9MSVNUIHBhcmFtZXRlci4KICAg
ICAgICBPdGhlciBkb2N1bWVudHMgc3BlY2lmeWluZyB0cmFuc3BvcnQgZm9ybWF0cyAoZS5n
LiwgW1JGQzc0MDJdKQogICAgICAgIGNvbnRhaW4gc3BlY2lmaWNhdGlvbnMgZm9yIGhhbmRs
aW5nIGFueSBzcGVjaWZpYyB0cmFuc3BvcnQKICAgICAgICBzZWxlY3RlZC4KCiAgIDEzLiAg
VGhlIHN5c3RlbSBNVVNUIHZlcmlmeSB0aGUgSElQX01BQyBhY2NvcmRpbmcgdG8gdGhlIHBy
b2NlZHVyZXMKICAgICAgICBpbiBTZWN0aW9uIDYuMi4KCiAgIDE0LiAgSWYgdGhlIGNoZWNr
cyBhYm92ZSBhcmUgdmFsaWQsIHRoZW4gdGhlIHN5c3RlbSBwcm9jZWVkcyB3aXRoCiAgICAg
ICAgZnVydGhlciBJMiBwcm9jZXNzaW5nOyBvdGhlcndpc2UsIGl0IGRpc2NhcmRzIHRoZSBJ
MiBhbmQgaXRzCiAgICAgICAgc3RhdGUgbWFjaGluZSByZW1haW5zIGluIHRoZSBzYW1lIHN0
YXRlLgoKICAgMTUuICBUaGUgSTIgcGFja2V0IG1heSBoYXZlIHRoZSBBLWJpdCBzZXQgLSBp
biB0aGlzIGNhc2UsIHRoZSBzeXN0ZW0KICAgICAgICBNQVkgY2hvb3NlIHRvIHJlZnVzZSBp
dCBieSBkcm9wcGluZyB0aGUgSTIgYW5kIHRoZSBzdGF0ZSBtYWNoaW5lCiAgICAgICAgcmV0
dXJucyB0byBzdGF0ZSBVTkFTU09DSUFURUQuICBJZiB0aGUgQS1iaXQgaXMgc2V0LCB0aGUK
ICAgICAgICBJbml0aWF0b3IncyBISVQgaXMgYW5vbnltb3VzIGFuZCBNVVNUIE5PVCBiZSBz
dG9yZWQgcGVybWFuZW50bHkuCgogICAxNi4gIFRoZSBzeXN0ZW0gTVVTVCBkZWNyeXB0IHRo
ZSBrZXlpbmcgbWF0ZXJpYWwgZnJvbSB0aGUKICAgICAgICBFTkNSWVBURURfS0VZIHBhcmFt
ZXRlci4gIFRoaXMga2V5aW5nIG1hdGVyaWFsIGlzIGEgcGFydGlhbAogICAgICAgIGlucHV0
IHRvIHRoZSBrZXkgZGVyaXZhdGlvbiBwcm9jZXNzIGZvciB0aGUgUGFpci13aXNlIEtleSBT
QQogICAgICAgIChzZWUgU2VjdGlvbiA2LjMpLgoKICAgMTcuICBUaGUgc3lzdGVtIGluaXRp
YWxpemVzIHRoZSByZW1haW5pbmcgdmFyaWFibGVzIGluIHRoZSBhc3NvY2lhdGVkCiAgICAg
ICAgc3RhdGUsIGluY2x1ZGluZyBVcGRhdGUgSUQgY291bnRlcnMuCgoKCgpNb3Nrb3dpdHos
IGV0IGFsLiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICBb
UGFnZSA0MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2Ug
KERFWCkgICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgogICAxOC4gIFVwb24gc3VjY2Vzc2Z1
bCBwcm9jZXNzaW5nIG9mIGFuIEkyIHBhY2tldCB3aGVuIHRoZSBzeXN0ZW0ncwogICAgICAg
IHN0YXRlIG1hY2hpbmUgaXMgaW4gc3RhdGUgVU5BU1NPQ0lBVEVELCBJMS1TRU5ULCBJMi1T
RU5ULCBvcgogICAgICAgIFIyLVNFTlQsIGFuIFIyIHBhY2tldCBpcyBzZW50IGFzIGRlc2Ny
aWJlZCBpbiBTZWN0aW9uIDUuMy40IGFuZAogICAgICAgIHRoZSBzeXN0ZW0ncyBzdGF0ZSBt
YWNoaW5lIHRyYW5zaXRpb25zIHRvIHN0YXRlIFIyLVNFTlQuCgogICAxOS4gIFVwb24gc3Vj
Y2Vzc2Z1bCBwcm9jZXNzaW5nIG9mIGFuIEkyIHBhY2tldCB3aGVuIHRoZSBzeXN0ZW0ncwog
ICAgICAgIHN0YXRlIG1hY2hpbmUgaXMgaW4gc3RhdGUgRVNUQUJMSVNIRUQsIHRoZSBvbGQg
SElQIGFzc29jaWF0aW9uCiAgICAgICAgaXMgZHJvcHBlZCBhbmQgYSBuZXcgb25lIGlzIGlu
c3RhbGxlZCwgYW4gUjIgcGFja2V0IGlzIHNlbnQgYXMKICAgICAgICBkZXNjcmliZWQgaW4g
U2VjdGlvbiA1LjMuNCwgYW5kIHRoZSBzeXN0ZW0ncyBzdGF0ZSBtYWNoaW5lCiAgICAgICAg
dHJhbnNpdGlvbnMgdG8gUjItU0VOVC4KCiAgIDIwLiAgVXBvbiB0aGUgc3lzdGVtJ3Mgc3Rh
dGUgbWFjaGluZSB0cmFuc2l0aW9uaW5nIHRvIFIyLVNFTlQsIHRoZQogICAgICAgIHN5c3Rl
bSBzdGFydHMgYSB0aW1lci4gIFRoZSBzdGF0ZSBtYWNoaW5lIHRyYW5zaXRpb25zIHRvCiAg
ICAgICAgRVNUQUJMSVNIRUQgaWYgc29tZSBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIG9uIHRo
ZSBpbmNvbWluZyBISVAKICAgICAgICBhc3NvY2lhdGlvbiwgb3IgYW4gVVBEQVRFIHBhY2tl
dCBoYXMgYmVlbiByZWNlaXZlZCAob3Igc29tZQogICAgICAgIG90aGVyIHBhY2tldCB0aGF0
IGluZGljYXRlcyB0aGF0IHRoZSBwZWVyIHN5c3RlbSdzIHN0YXRlIG1hY2hpbmUKICAgICAg
ICBoYXMgbW92ZWQgdG8gRVNUQUJMSVNIRUQpLiAgSWYgdGhlIHRpbWVyIGV4cGlyZXMgKGFs
bG93aW5nIGZvciBhCiAgICAgICAgbWF4aW1hbCBhbW91bnQgb2YgcmV0cmFuc21pc3Npb25z
IG9mIEkyIHBhY2tldHMpLCB0aGUgc3RhdGUKICAgICAgICBtYWNoaW5lIHRyYW5zaXRpb25z
IHRvIEVTVEFCTElTSEVELgoKICAgTm90ZSB0aGF0IHN0ZXBzIDExIChlbmNyeXB0ZWQgSE9T
VF9JRCkgYW5kIDE1IChzaWduYXR1cmUKICAgdmVyaWZpY2F0aW9uKSBmcm9tIHRoZSBvcmln
aW5hbCBwcm9jZXNzaW5nIHJ1bGVzIG9mIEhJUHYyIGhhdmUgYmVlbgogICByZW1vdmVkIGlu
IHRoZSBhYm92ZSBwcm9jZXNzaW5nIHJ1bGVzIGZvciBISVAgREVYLiAgTW9yZW92ZXIsIHN0
ZXAgMTAKICAgb2YgdGhlIEhJUHYyIHByb2Nlc3NpbmcgcnVsZXMgaGFzIGJlZW4gYWRhcHRl
ZCB0byBhY2NvdW50IGZvcgogICBvcHRpb25hbCBleHRlbnNpb24gb2YgdGhlIHJldHJhbnNt
aXNzaW9uIG1lY2hhbmlzbS4gIFN0ZXAgMTYgaGFzIGJlZW4KICAgYWRkZWQgdG8gdGhlIHBy
b2Nlc3NpbmcgcnVsZXMgaW4gdGhpcyBkb2N1bWVudC4gIFRoZSBjb25zaWRlcmF0aW9ucwog
ICBhYm91dCBtYWxmb3JtZWQgSTIgcGFja2V0cyBpbiBTZWN0aW9ucyA2LjkuMSBvZiBbUkZD
NzQwMV0gYWxzbyBhcHBseQogICB0byBISVAgREVYLgoKNi44LiAgUHJvY2Vzc2luZyBJbmNv
bWluZyBSMiBQYWNrZXRzCgogICBSMiBwYWNrZXRzIGluIEhJUCBERVggYXJlIGhhbmRsZWQg
aWRlbnRpY2FsbHkgdG8gSElQdjIgKHNlZQogICBTZWN0aW9uIDYuMTAgb2YgW1JGQzc0MDFd
KSB3aXRoIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uczogSElQIERFWAogICBpbnRyb2R1Y2Vz
IGEgbmV3IHNlc3Npb24ga2V5IGV4Y2hhbmdlIHZpYSB0aGUgRU5DUllQVEVEX0tFWSBwYXJh
bWV0ZXIKICAgYW5kIGRvZXMgbm90IGVtcGxveSBzaWduYXR1cmVzLgoKICAgVGhlIG1vZGlm
aWVkIGNvbmNlcHR1YWwgcHJvY2Vzc2luZyBydWxlcyBmb3IgcmVzcG9uZGluZyB0byBhbiBS
MgogICBwYWNrZXQgYXJlIGFzIGZvbGxvd3M6CgogICAxLiAgSWYgdGhlIHN5c3RlbSBpcyBp
biBhbnkgb3RoZXIgc3RhdGUgdGhhbiBJMi1TRU5ULCB0aGUgUjIgcGFja2V0CiAgICAgICBp
cyBzaWxlbnRseSBkcm9wcGVkLgoKICAgMi4gIFRoZSBzeXN0ZW0gTVVTVCB2ZXJpZnkgdGhh
dCB0aGUgSElUcyBpbiB1c2UgY29ycmVzcG9uZCB0byB0aGUKICAgICAgIEhJVHMgdGhhdCB3
ZXJlIHJlY2VpdmVkIGluIHRoZSBSMSBwYWNrZXQgdGhhdCBjYXVzZWQgdGhlCiAgICAgICB0
cmFuc2l0aW9uIHRvIHRoZSBJMi1TRU5UIHN0YXRlLgoKICAgMy4gIFRoZSBzeXN0ZW0gTVVT
VCB2ZXJpZnkgdGhlIEhJUF9NQUMgYWNjb3JkaW5nIHRvIHRoZSBwcm9jZWR1cmVzIGluCiAg
ICAgICBTZWN0aW9uIDYuMi4KCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMg
QXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgNDJdCgwKSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFy
eSAyMDIwCgoKICAgNC4gIFRoZSBzeXN0ZW0gTVVTVCByZS1ldmFsdWF0ZSB0aGUgREhfR1JP
VVBfTElTVCwgSElQX0NJUEhFUiwKICAgICAgIEhJVF9TVUlURV9MSVNULCBhbmQgVFJBTlNQ
T1JUX0ZPUk1BVF9MSVNUIHBhcmFtZXRlcnMgaW4gdGhlIFIyCiAgICAgICBwYWNrZXQgYW5k
IGNvbXBhcmUgdGhlIHJlc3VsdHMgYWdhaW5zdCB0aGUgY2hvc2VuIHN1aXRlcy4KCiAgIDUu
ICBJZiBhbnkgb2YgdGhlIGNoZWNrcyBhYm92ZSBmYWlsLCB0aGVyZSBpcyBhIGhpZ2ggcHJv
YmFiaWxpdHkgb2YKICAgICAgIGFuIG9uZ29pbmcgbWFuLWluLXRoZS1taWRkbGUgb3Igb3Ro
ZXIgc2VjdXJpdHkgYXR0YWNrLiAgVGhlCiAgICAgICBzeXN0ZW0gU0hPVUxEIGFjdCBhY2Nv
cmRpbmdseSwgYmFzZWQgb24gaXRzIGxvY2FsIHBvbGljeS4KCiAgIDYuICBUaGUgc3lzdGVt
IE1VU1QgZGVjcnlwdCB0aGUga2V5aW5nIG1hdGVyaWFsIGZyb20gdGhlCiAgICAgICBFTkNS
WVBURURfS0VZIHBhcmFtZXRlci4gIFRoaXMga2V5aW5nIG1hdGVyaWFsIGlzIGEgcGFydGlh
bCBpbnB1dAogICAgICAgdG8gdGhlIGtleSBkZXJpdmF0aW9uIHByb2Nlc3MgZm9yIHRoZSBQ
YWlyLXdpc2UgS2V5IFNBIChzZWUKICAgICAgIFNlY3Rpb24gNi4zKS4KCiAgIDcuICBVcG9u
IHN1Y2Nlc3NmdWwgcHJvY2Vzc2luZyBvZiB0aGUgUjIgcGFja2V0LCB0aGUgc3RhdGUgbWFj
aGluZQogICAgICAgdHJhbnNpdGlvbnMgdG8gc3RhdGUgRVNUQUJMSVNIRUQuCgogICBOb3Rl
IHRoYXQgc3RlcCA0IChzaWduYXR1cmUgdmVyaWZpY2F0aW9uKSBmcm9tIHRoZSBvcmlnaW5h
bAogICBwcm9jZXNzaW5nIHJ1bGVzIG9mIEhJUHYyIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGgg
YSBuZWdvdGlhdGlvbiByZS0KICAgZXZhbHVhdGlvbiBpbiB0aGUgYWJvdmUgcHJvY2Vzc2lu
ZyBydWxlcyBmb3IgSElQIERFWC4gIE1vcmVvdmVyLCBzdGVwCiAgIDYgaGFzIGJlZW4gYWRk
ZWQgdG8gdGhlIHByb2Nlc3NpbmcgcnVsZXMuCgo2LjkuICBQcm9jZXNzaW5nIEluY29taW5n
IE5PVElGWSBQYWNrZXRzCgogICBQcm9jZXNzaW5nIG9mIE5PVElGWSBwYWNrZXRzIGlzIE9Q
VElPTkFMLiAgSWYgcHJvY2Vzc2VkLCBhbnkgZXJyb3JzCiAgIGluIGEgcmVjZWl2ZWQgTk9U
SUZJQ0FUSU9OIHBhcmFtZXRlciBTSE9VTEQgYmUgbG9nZ2VkLiAgUmVjZWl2ZWQKICAgZXJy
b3JzIE1VU1QgYmUgY29uc2lkZXJlZCBvbmx5IGFzIGluZm9ybWF0aW9uYWwsIGFuZCB0aGUg
cmVjZWl2ZXIKICAgU0hPVUxEIE5PVCBjaGFuZ2UgaXRzIEhJUCBzdGF0ZSBwdXJlbHkgYmFz
ZWQgb24gdGhlIHJlY2VpdmVkIE5PVElGWQogICBwYWNrZXQuCgogICBJZiBhIE5PVElGWSBw
YWNrZXQgaXMgcmVjZWl2ZWQgaW4gc3RhdGUgSTItU0VOVCwgdGhpcyBwYWNrZXQgaXMgYW4g
STIKICAgcmVjZXB0aW9uIGFja25vd2xlZGdlbWVudCBvZiB0aGUgb3B0aW9uYWwgcmV0cmFu
c21pc3Npb24gbWVjaGFuaXNtCiAgIGV4dGVuc2lvbiBhbmQgU0hPVUxEIGJlIHByb2Nlc3Nl
ZC4gIFRoZSBmb2xsb3dpbmcgc3RlcHMgZGVmaW5lIHRoZQogICBjb25jZXB0dWFsIHByb2Nl
c3NpbmcgcnVsZXMgZm9yIHN1Y2ggaW5jb21pbmcgTk9USUZZIHBhY2tldHMgaW4gc3RhdGUK
ICAgSTItU0VOVDoKCiAgIDEuICBUaGUgc3lzdGVtIE1VU1QgdmVyaWZ5IHRoYXQgdGhlIEhJ
VHMgaW4gdXNlIGNvcnJlc3BvbmQgdG8gdGhlCiAgICAgICBISVRzIHRoYXQgd2VyZSByZWNl
aXZlZCBpbiB0aGUgUjEgcGFja2V0IHRoYXQgY2F1c2VkIHRoZQogICAgICAgdHJhbnNpdGlv
biB0byB0aGUgSTItU0VOVCBzdGF0ZS4gIElmIHRoaXMgY2hlY2sgZmFpbHMsIHRoZSBOT1RJ
RlkKICAgICAgIHBhY2tldCBNVVNUIGJlIGRyb3BwZWQgc2lsZW50bHkuCgogICAyLiAgSWYg
dGhlIE5PVElGWSBwYWNrZXQgY29udGFpbnMgYSBOT1RJRklDQVRJT04gcGFyYW1ldGVyIHdp
dGgKICAgICAgIE5vdGlmeSBNZXNzYWdlIFR5cGUgSTJfQUNLTk9XTEVER0VNRU5ULCB0aGUg
c3lzdGVtIFNIT1VMRCBzZXQgdGhlCiAgICAgICBJMiByZXRyYW5zbWlzc2lvbiB0aW1lciB0
byB0aGUgSTIgcHJvY2Vzc2luZyB0aW1lIGluZGljYXRlZCBpbgogICAgICAgdGhlIE5PVElG
SUNBVElPTiBwYXJhbWV0ZXIgcGx1cyBoYWxmIHRoZSBSVFQtYmFzZWQgdGltZW91dCB2YWx1
ZS4KICAgICAgIFRoZSBzeXN0ZW0gTVVTVCBOT1Qgc2V0IHRoZSByZXRyYW5zbWlzc2lvbiB0
aW1lb3V0IHRvIGEgaGlnaGVyCiAgICAgICB2YWx1ZSB0aGFuIGFsbG93ZWQgYnkgYSBsb2Nh
bCBwb2xpY3kuICBNb3Jlb3ZlciwgdGhlIHN5c3RlbQogICAgICAgU0hPVUxEIHJlc2V0IHRo
ZSBJMiByZXRyYW5zbWlzc2lvbiB0aW1lciB0byB0aGUgUlRULWJhc2VkIHRpbWVvdXQKICAg
ICAgIHZhbHVlIGFmdGVyIHRoZSBuZXh0IEkyIHJldHJhbnNtaXNzaW9uLgoKCgpNb3Nrb3dp
dHosIGV0IGFsLiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAg
ICBbUGFnZSA0M10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFu
Z2UgKERFWCkgICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgo2LjEwLiAgUHJvY2Vzc2luZyBV
UERBVEUsIENMT1NFLCBhbmQgQ0xPU0VfQUNLIFBhY2tldHMKCiAgIFVQREFURSwgQ0xPU0Us
IGFuZCBDTE9TRV9BQ0sgcGFja2V0cyBhcmUgaGFuZGxlZCBzaW1pbGFybHkgaW4gSElQIERF
WAogICBhcyBpbiBISVB2MiAoc2VlIFNlY3Rpb25zIDYuMTEsIDYuMTIsIDYuMTQsIGFuZCA2
LjE1IG9mIFtSRkM3NDAxXSkuCiAgIFRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgdGhlIHRoYXQg
dGhlIEhJUF9TSUdOQVRVUkUgaXMgbmV2ZXIgcHJlc2VudAogICBhbmQsIHRoZXJlZm9yZSwg
aXMgbm90IHJlcXVpcmVkIHRvIGJlIHByb2Nlc3NlZCBieSB0aGUgcmVjZWl2aW5nCiAgIHBh
cnR5LgoKICAgW1JGQzc0MDJdIHNwZWNpZmllcyB0aGUgcmVrZXlpbmcgb2YgYW4gZXhpc3Rp
bmcgSElQIFNBIHVzaW5nIHRoZQogICBVUERBVEUgbWVzc2FnZS4gIFRoaXMgcmVrZXlpbmcg
cHJvY2VkdXJlIGNhbiBhbHNvIGJlIHVzZWQgd2l0aCBISVAKICAgREVYLiAgSG93ZXZlciwg
d2hlcmUgcmVrZXlpbmcgaW52b2x2ZXMgYSBuZXcgRGlmZmllLUhlbGxtYW4ga2V5CiAgIGV4
Y2hhbmdlLCBISVAgREVYIHBlZXJzIE1VU1QgZXN0YWJsaXNoIGEgbmV3IEhJUCBhc3NvY2lh
dGlvbiBpbiBvcmRlcgogICB0byBjcmVhdGUgYSBuZXcgUGFpci13aXNlIEtleSBTQSBkdWUg
dG8gdGhlIHVzZSBvZiBzdGF0aWMgRUNESCBrZXktCiAgIHBhaXJzIHdpdGggSElQIERFWC4K
CjYuMTEuICBIYW5kbGluZyBTdGF0ZSBMb3NzCgogICBJbXBsZW1lbnRvcnMgTUFZIGNob29z
ZSB0byB1c2Ugbm9uLXZvbGF0aWxlLCBzZWN1cmUgc3RvcmFnZSBmb3IgSElQCiAgIHN0YXRl
cyBpbiBvcmRlciBmb3IgdGhlbSB0byBzdXJ2aXZlIGEgc3lzdGVtIHJlYm9vdC4gIElmIG5v
IHNlY3VyZQogICBzdG9yYWdlIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlLCB0aGUgc3lz
dGVtIFNIT1VMRCBkZWxldGUgdGhlCiAgIGNvcnJlc3BvbmRpbmcgSElQIHN0YXRlLCBpbmNs
dWRpbmcgdGhlIGtleWluZyBtYXRlcmlhbC4gIElmIHRoZQogICBpbXBsZW1lbnRhdGlvbiBk
b2VzIGRyb3AgdGhlIHN0YXRlIChhcyBSRUNPTU1FTkRFRCksIGl0IE1VU1QgYWxzbwogICBk
cm9wIHRoZSBwZWVyJ3MgUjEgZ2VuZXJhdGlvbiBjb3VudGVyIHZhbHVlLCB1bmxlc3MgYSBs
b2NhbCBwb2xpY3kKICAgZXhwbGljaXRseSBkZWZpbmVzIHRoYXQgdGhlIHZhbHVlIG9mIHRo
YXQgcGFydGljdWxhciBob3N0IGlzIHN0b3JlZC4KICAgU3VjaCBzdG9yaW5nIG9mIHRoZSBS
MSBnZW5lcmF0aW9uIGNvdW50ZXIgdmFsdWVzIE1VU1QgYmUgY29uZmlndXJlZAogICBieSBl
eHBsaWNpdCBISVRzLgoKNy4gIEhJUCBQb2xpY2llcwoKICAgVGhlcmUgYXJlIGEgbnVtYmVy
IG9mIHZhcmlhYmxlcyB0aGF0IHdpbGwgaW5mbHVlbmNlIHRoZSBISVAgZXhjaGFuZ2VzCiAg
IHRoYXQgZWFjaCBob3N0IG11c3Qgc3VwcG9ydC4gIFRoZSB2YWx1ZSBvZiBwdXp6bGUgZGlm
ZmljdWx0eSBLIHVzZWQKICAgaW4gdGhlIEhJUCBSMSBtdXN0IGJlIGNob3NlbiB3aXRoIGNh
cmUuICBWYWx1ZXMgZm9yIHRoZSBLIHRoYXQgYXJlCiAgIHRvbyBoaWdoIHdpbGwgZXhjbHVk
ZSBjbGllbnRzIHdpdGggd2VhayBDUFVzIGJlY2F1c2UgdGhlc2UgZGV2aWNlcwogICBjYW5u
b3Qgc29sdmUgdGhlIHB1enpsZSB3aXRoaW4gYSByZWFzb25hYmxlIGFtb3VudCBvZiB0aW1l
LiAgVGhlIEsKICAgdmFsdWUgc2hvdWxkIG9ubHkgYmUgcmFpc2VkIGlmIGEgUmVzcG9uZGVy
IGlzIHVuZGVyIGhpZ2ggbG9hZCwgaS5lLiwKICAgaXQgY2Fubm90IHByb2Nlc3MgYWxsIGlu
Y29taW5nIEhJUCBoYW5kc2hha2VzIGFueSBtb3JlLgoKICAgSWYgYSBSZXNwb25kZXIgaXMg
bm90IHVuZGVyIGhpZ2ggbG9hZCwgSyBTSE9VTEQgYmUgMC4KCiAgIEFsbCBISVAgREVYIGlt
cGxlbWVudGF0aW9ucyBTSE9VTEQgcHJvdmlkZSBmb3IgYW4gQWNjZXNzIENvbnRyb2wgTGlz
dAogICAoQUNMKSwgcmVwcmVzZW50aW5nIGZvciB3aGljaCBob3N0cyB0aGV5IGFjY2VwdCBI
SVAgZGlldCBleGNoYW5nZXMsCiAgIGFuZCB0aGUgcHJlZmVycmVkIHRyYW5zcG9ydCBmb3Jt
YXQgYW5kIGxvY2FsIGxpZmV0aW1lcy4gIFdpbGRjYXJkaW5nCiAgIFNIT1VMRCBiZSBzdXBw
b3J0ZWQgZm9yIHN1Y2ggQUNMcy4KCgoKCgoKCgpNb3Nrb3dpdHosIGV0IGFsLiAgICAgICAg
RXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICBbUGFnZSA0NF0KDApJbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkgICAgICAgICAg
IEZlYnJ1YXJ5IDIwMjAKCgo4LiAgSW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIEhJUCBERVgg
YW5kIEhJUHYyCgogICBISVAgREVYIGFuZCBISVB2MiBib3RoIHVzZSB0aGUgc2FtZSBwcm90
b2NvbCBudW1iZXIgYW5kIHBhY2tldAogICBmb3JtYXRzLiAgSGVuY2UsIGFuIGltcGxlbWVu
dGF0aW9uIHRoYXQgZWl0aGVyIHN1cHBvcnRzIEhJUCBERVggb3IKICAgSElQdjIgaGFzIHRv
IGJlIGFibGUgdG8gZGV0ZWN0IHRoZSBkaWFsZWN0IHRoYXQgdGhlIHBlZXIgaXMgc3BlYWtp
bmcuCiAgIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyBob3cgYSBISVAgREVYIGltcGxlbWVudGF0
aW9uIGNhbiBhY2hpZXZlIHN1Y2gKICAgZGV0ZWN0aW9uIGZvciB0aGUgdHdvIHJlbGV2YW50
IGNhc2VzIHdoZXJlOgoKICAgMS4gIHRoZSBJbml0aWF0b3Igc3VwcG9ydHMgSElQIERFWCBh
bmQgdGhlIFJlc3BvbmRlciBzdXBwb3J0cyBISVAKICAgICAgIEJFWCwKCiAgIDIuICB0aGUg
SW5pdGlhdG9yIHN1cHBvcnRzIEhJUCBCRVggYW5kIHRoZSBSZXNwb25kZXIgc3VwcG9ydHMg
SElQCiAgICAgICBERVguCgogICBJbiB0aGUgZmlyc3QgY2FzZSwgdGhlIEhJUCBERVggaW1w
bGVtZW50YXRpb24gKEluaXRpYXRvcikgaW5zcGVjdHMKICAgdGhlIFJlc3BvbmRlcidzIEhJ
VCBwcmlvciB0byBzZW5kaW5nIHRoZSBJMSBwYWNrZXQuICBJZiB0aGUgT0dBIElECiAgIGZp
ZWxkIG9mIHRoaXMgSElUIGRvZXMgbm90IGluZGljYXRlIHRoZSBISVAgREVYIEhJVCBTdWl0
ZSBJRCwgdGhlIEhJUAogICBERVggaW1wbGVtZW50YXRpb24gY2FuY2VscyB0aGUgaGFuZHNo
YWtlLiAgSWYgdGhlIFJlc3BvbmRlciBpcwogICB1bmtub3duIHByaW9yIHRvIHNlbmRpbmcg
dGhlIEkxIHBhY2tldCAoaS5lLiwgb3Bwb3J0dW5pc3RpYyBtb2RlKSwKICAgdGhlIEhJUCBE
RVggaW1wbGVtZW50YXRpb24gcGVyZm9ybXMgdGhlIGFib3ZlIGNoZWNrIG9uIHJlY2VwdGlv
biBvZgogICB0aGUgUjEgcGFja2V0IGFuZCBjYW5jZWxzIHRoZSBoYW5kc2hha2UgaW4gY2Fz
ZSBvZiBhIG5lZ2F0aXZlIHJlc3VsdC4KICAgSW4gYm90aCBmYWlsdXJlIHNjZW5hcmlvcywg
dGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCByZXBvcnQgYW4gZXJyb3IKICAgdG8gdGhlIHVz
ZXIgdmlhIGFwcHJvcHJpYXRlIG1lYW5zLgoKICAgSW4gdGhlIHNlY29uZCBjYXNlLCB0aGUg
SElQIERFWCBpbXBsZW1lbnRhdGlvbiAoUmVzcG9uZGVyKSBpbnNwZWN0cwogICB0aGUgSW5p
dGlhdG9yJ3MgSElUIG9uIHJlY2VwdGlvbiBvZiBhbiBJMSBwYWNrZXQuICBJZiB0aGUgT0dB
IElECiAgIGZpZWxkIG9mIHRoaXMgSElUIGRvZXMgbm90IGluZGljYXRlIHRoZSBISVAgREVY
IEhJVCBTdWl0ZSBJRCwgdGhlIEhJUAogICBERVggaW1wbGVtZW50YXRpb24gY2FuY2VscyB0
aGUgaGFuZHNoYWtlIGFuZCBzZW5kcyBhbiBJQ01QIHBhY2tldAogICB3aXRoIHR5cGUgUGFy
YW1ldGVyIFByb2JsZW0sIHdpdGggdGhlIFBvaW50ZXIgcG9pbnRpbmcgdG8gdGhlIHNvdXJj
ZQogICBISVQsIHRvIHRoZSBJbml0aWF0b3IuICBBcyBhbiBvZmYtcGF0aCBhZHZlcnNhcnkg
Y291bGQgYWxzbyBzZW5kIHN1Y2gKICAgYW4gSUNNUCBwYWNrZXQgd2l0aCB0aGUgYWltIHRv
IHByZXZlbnQgdGhlIEhJUCBERVggaGFuZHNoYWtlIGZyb20KICAgY29tcGxldGluZywgdGhl
IEluaXRpYXRvciBTSE9VTEQgTk9UIHJlYWN0IHRvIGFuIElDTVAgbWVzc2FnZSBiZWZvcmUK
ICAgcmV0cmFuc21pc3Npb24gY291bnRlciByZWFjaGVzIEkxX1JFVFJJRVNfTUFYIGluIGl0
cyBzdGF0ZSBtYWNoaW5lCiAgIChzZWUgVGFibGUgMyBpbiBbUkZDNzQwMV0pLgoKOS4gIFNl
Y3VyaXR5IENvbnNpZGVyYXRpb25zCgogICBISVAgREVYIGNsb3NlbHkgcmVzZW1ibGVzIEhJ
UHYyLiAgQXMgc3VjaCwgdGhlIHNlY3VyaXR5CiAgIGNvbnNpZGVyYXRpb25zIGRpc2N1c3Nl
ZCBpbiBTZWN0aW9uIDggb2YgW1JGQzc0MDFdIHNpbWlsYXJseSBhcHBseSB0bwogICBISVAg
REVYLiAgSElQIERFWCwgaG93ZXZlciwgcmVwbGFjZXMgdGhlIFNJR01BLWJhc2VkIGF1dGhl
bnRpY2F0ZWQKICAgRGlmZmllLUhlbGxtYW4ga2V5IGV4Y2hhbmdlIG9mIEhJUHYyIHdpdGgg
YW4gZXhjaGFuZ2Ugb2YgcmFuZG9tCiAgIGtleWluZyBtYXRlcmlhbCB0aGF0IGlzIGVuY3J5
cHRlZCB3aXRoIGEgRGlmZmllLUhlbGxtYW4gZGVyaXZlZCBrZXkuCiAgIEJvdGggdGhlIElu
aXRpYXRvciBhbmQgUmVzcG9uZGVyIGNvbnRyaWJ1dGUgdG8gdGhpcyBrZXlpbmcgbWF0ZXJp
YWwuCiAgIEFzIGEgcmVzdWx0LCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgc2VjdXJpdHkg
Y29uc2lkZXJhdGlvbnMgYXBwbHkKICAgdG8gSElQIERFWDoKCiAgIG8gIFRoZSBzdHJlbmd0
aCBvZiB0aGUga2V5cyBmb3IgdGhlIFBhaXItd2lzZSBLZXkgU0EgaXMgYmFzZWQgb24gdGhl
CiAgICAgIHF1YWxpdHkgb2YgdGhlIHJhbmRvbSBrZXlpbmcgbWF0ZXJpYWwgZ2VuZXJhdGVk
IGJ5IHRoZSBJbml0aWF0b3IKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMg
QXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgNDVdCgwKSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFy
eSAyMDIwCgoKICAgICAgYW5kIHRoZSBSZXNwb25kZXIuICBBcyBlaXRoZXIgcGVlciBtYXkg
YmUgYSBzZW5zb3Igb3IgYW4gYWN0dWF0b3IKICAgICAgZGV2aWNlLCB0aGVyZSBpcyBhIG5h
dHVyYWwgY29uY2VybiBhYm91dCB0aGUgcXVhbGl0eSBvZiBpdHMgcmFuZG9tCiAgICAgIG51
bWJlciBnZW5lcmF0b3IuCgogICBvICBISVAgREVYIGxhY2tzIHRoZSBQZXJmZWN0IEZvcndh
cmQgU2VjcmVjeSAoUEZTKSBwcm9wZXJ0eSBvZiBISVB2Mi4KICAgICAgQ29uc2VxdWVudGx5
LCBpZiBhbiBISSBpcyBjb21wcm9taXNlZCwgYWxsIHByZXZpb3VzIEhJUAogICAgICBjb25u
ZWN0aW9ucyBwcm90ZWN0ZWQgd2l0aCB0aGF0IEhJIGFyZSBjb21wcm9taXNlZCBhcyBleHBs
YWluZWQgaW4KICAgICAgU2VjdGlvbiAxLgoKICAgbyAgVGhlIHB1enpsZSBtZWNoYW5pc20g
dXNpbmcgQ01BQyBleHBsYWluZWQgaW4gU2VjdGlvbiA0LjEuMSBtYXkKICAgICAgbmVlZCBm
dXJ0aGVyIHN0dWR5IHJlZ2FyZGluZyB0aGUgbGV2ZWwgb2YgZGlmZmljdWx0eSBpbiBvcmRl
ciB0bwogICAgICBlc3RhYmxpc2ggYmVzdCBwcmFjdGljZXMgd2l0aCBjdXJyZW50IGdlbmVy
YXRpb24gb2YgY29uc3RyYWluZWQKICAgICAgZGV2aWNlcy4KCiAgIG8gIFRoZSBISVAgREVY
IEhJVCBnZW5lcmF0aW9uIG1heSBwcmVzZW50IG5ldyBhdHRhY2sgb3Bwb3J0dW5pdGllcy4K
ICAgICAgSGVuY2UsIEhJUCBERVggSElUcyBNVVNUIE5PVCBiZSB1c2VkIGFzIHRoZSBvbmx5
IG1lYW5zIHRvIGlkZW50aWZ5CiAgICAgIGEgcGVlciBpbiBhbiBBQ0wuICBJbnN0ZWFkLCB0
aGUgdXNlIG9mIHRoZSBwZWVyJ3MgSEkgaXMKICAgICAgcmVjb21tZW5kZWQgYXMgZXhwbGFp
bmVkIGluIFNlY3Rpb24gMy4KCiAgIG8gIFRoZSBSMSBwYWNrZXQgaXMgdW5hdXRoZW50aWNh
dGVkIGFuZCBvZmZlcnMgYW4gYWR2ZXJzYXJ5IGEgbmV3CiAgICAgIGF0dGFjayB2ZWN0b3Ig
YWdhaW5zdCB0aGUgSW5pdGlhdG9yLiAgVGhpcyBpcyBtaXRpZ2F0ZWQgYnkgb25seQogICAg
ICBwcm9jZXNzaW5nIGEgcmVjZWl2ZWQgUjEgcGFja2V0IHdoZW4gdGhlIEluaXRpYXRvciBo
YXMgcHJldmlvdXNseQogICAgICBzZW50IGEgY29ycmVzcG9uZGluZyBJMSBwYWNrZXQuICBN
b3Jlb3ZlciwgdGhlIFJlc3BvbmRlciByZXBlYXRzCiAgICAgIHRoZSBESF9HUk9VUF9MSVNU
LCBISVBfQ0lQSEVSLCBISVRfU1VJVEVfTElTVCwgYW5kCiAgICAgIFRSQU5TUE9SVF9GT1JN
QVRfTElTVCBwYXJhbWV0ZXJzIGluIHRoZSBSMiBwYWNrZXQgaW4gb3JkZXIgdG8KICAgICAg
ZW5hYmxlIHRoZSBJbml0aWF0b3IgdG8gdmVyaWZ5IHRoYXQgdGhlc2UgcGFyYW1ldGVycyBo
YXZlIG5vdCBiZWVuCiAgICAgIG1vZGlmaWVkIGJ5IGFuIGF0dGFja2VyIGluIHRoZSB1bnBy
b3RlY3RlZCBSMSBwYWNrZXQgYXMgZXhwbGFpbmVkCiAgICAgIGluIFNlY3Rpb24gNi44LgoK
ICAgbyAgQ29udHJhcnkgdG8gSElQdjIsIEhJUCBERVggZG9lcyBub3QgcHJvdmlkZSBmb3Ig
ZW5kLXBvaW50CiAgICAgIGFub255bWl0eSBmb3IgdGhlIEluaXRpYXRvciBvciBSZXNwb25k
ZXIuICBUaHVzLCBhbnkgc2lnbmFsaW5nCiAgICAgIHRoYXQgaW5kaWNhdGVzIHN1Y2ggYW5v
bnltaXR5IHNob3VsZCBiZSBpZ25vcmVkIGFzIGV4cGxhaW5lZCBpbgogICAgICBTZWN0aW9u
IDEuMS4KCiAgIFRoZSBvcHRpb25hbCByZXRyYW5zbWlzc2lvbiBleHRlbnNpb24gb2YgSElQ
IERFWCBpcyBiYXNlZCBvbiBhIE5PVElGWQogICBwYWNrZXQgdGhhdCB0aGUgUmVzcG9uZGVy
IGNhbiB1c2UgdG8gaW5mb3JtIHRoZSBJbml0aWF0b3IgYWJvdXQgdGhlCiAgIHJlY2VwdGlv
biBvZiBhbiBJMiBwYWNrZXQuICBUaGUgUmVzcG9uZGVyLCBob3dldmVyLCBjYW5ub3QgcHJv
dGVjdAogICB0aGUgYXV0aGVudGljaXR5IG9mIHRoaXMgcGFja2V0IGFzIGl0IGRpZCBub3Qg
eWV0IHNldCB1cCB0aGUgTWFzdGVyCiAgIEtleSBTQS4gIEhlbmNlLCBhbiBlYXZlc2Ryb3Bw
aW5nIGFkdmVyc2FyeSBtYXkgc2VuZCBzcG9vZmVkIHJlY2VwdGlvbgogICBhY2tub3dsZWRn
ZW1lbnRzIGZvciBhbiBvdmVyaGVhcmQgSTIgcGFja2V0IGFuZCBzaWduYWwgYW4gYXJiaXRy
YXJ5CiAgIEkyIHByb2Nlc3NpbmcgdGltZSB0byB0aGUgSW5pdGlhdG9yLiAgVGhlIGFkdmVy
c2FyeSBjYW4sIGUuZy4sCiAgIGluZGljYXRlIGEgbG93ZXIgSTIgcHJvY2Vzc2luZyB0aW1l
IHRoYW4gYWN0dWFsbHkgcmVxdWlyZWQgYnkgdGhlCiAgIFJlc3BvbmRlciBpbiBvcmRlciB0
byBjYXVzZSBwcmVtYXR1cmUgcmV0cmFuc21pc3Npb25zLiAgVG8gcHJvdGVjdAogICBhZ2Fp
bnN0IHRoaXMgYXR0YWNrLCB0aGUgSW5pdGlhdG9yIFNIT1VMRCBzZXQgdGhlIE5PVElGWS1i
YXNlZAogICB0aW1lb3V0IHZhbHVlIHRvIHRoZSBtYXhpbXVtIGluZGljYXRlZCBwYWNrZXQg
cHJvY2Vzc2luZyB0aW1lIGluIGNhc2UKICAgb2YgY29uZmxpY3RpbmcgTk9USUZZIHBhY2tl
dHMuICBUaGlzIGFsbG93cyB0aGUgbGVnaXRpbWF0ZSBSZXNwb25kZXIKICAgdG8gZXh0ZW5k
IHRoZSByZXRyYW5zbWlzc2lvbiB0aW1lb3V0IHRvIHRoZSBpbnRlbmRlZCBsZW5ndGguICBU
aGUKICAgYWR2ZXJzYXJ5LCBob3dldmVyLCBjYW4gc3RpbGwgYXJiaXRyYXJpbHkgZGVsYXkg
dGhlIHByb3RvY29sCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3Vz
dCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDQ2XQoMCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAy
MAoKCiAgIGhhbmRzaGFrZSBiZXlvbmQgdGhlIFJlc3BvbmRlcidzIGFjdHVhbCBJMiBwcm9j
ZXNzaW5nIHRpbWUuICBUbyBsaW1pdAogICB0aGUgZXh0ZW5kIG9mIHN1Y2ggYSBtYWxpY2lv
dXNseSBpbmR1Y2VkIGhhbmRzaGFrZSBkZWxheSwgdGhpcwogICBzcGVjaWZpY2F0aW9uIGFk
ZGl0aW9uYWxseSByZXF1aXJlcyB0aGUgSW5pdGlhdG9yIG5vdCB0byBzZXQgdGhlCiAgIE5P
VElGWS1iYXNlZCB0aW1lb3V0IHZhbHVlIGhpZ2hlciB0aGFuIGFsbG93ZWQgYnkgYSBsb2Nh
bCBwb2xpY3kuCgogICBTZWN0aW9uIDUuMy4xIG1lbnRpb25zIHRoYXQgaW1wbGVtZW50YXRp
b25zIG5lZWQgdG8gYmUgYWJsZSB0byBoYW5kbGUKICAgc3Rvcm1zIG9mIEkxIHBhY2tldHMu
ICBDb250cmFyeSB0byBISVB2MiwgUjEgcGFja2V0cyBjYW5ub3QgYmUgcHJlLQogICBjb21w
dXRlZCBpbiBISVAgREVYIGFuZCBhbHNvIHRoZSBzdGF0ZSBtYWNoaW5lIGRvZXMgbm90IGlu
Y2x1ZGUgYW4KICAgIlIxX1NFTlQiIHN0YXRlICh0aGF0IHdvdWxkIGVuYWJsZSBjYWNoaW5n
IG9mIFIxIHBhY2tldHMpLgogICBUaGVyZWZvcmUsIGFuIGltcGxlbWVudGF0aW9uIGhhcyB0
byBjYWNoZSBpbmZvcm1hdGlvbiAoZS5nLiwgYXQgbGVhc3QKICAgdGhlIEhJVHMpIGZyb20g
aW5jb21pbmcgSTEgcGFja2V0cyBhbmQgcmF0ZSBjb250cm9sIHRoZSBpbmNvbWluZyBJMQog
ICBwYWNrZXRzIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHBhY2tldCBwcm9jZXNzaW5nIGR1cmlu
ZyBJMSBwYWNrZXQKICAgc3Rvcm1zLgoKOS4xLiAgU0VDUDE2MFIxIENvbnNpZGVyZWQgVW5z
YWZlCgogICBUaGUgU0VDUDE2MFIxIGN1cnZlIGlzIGluY2x1ZGVkIG1vcmUgZm9yIGhpc3Rv
cmljYWwgcmVhc29ucyB0aGFuIGEKICAgZGVtb3N0cmF0ZWQgbmVlZCBmb3IgYSBsaWdodHdl
aWdodCBjdXJ2ZSBmb3IgY29uc3RyYWluZWQgc3lzdGVtcy4KICAgVW50aWwgaXQgaXMgZGVw
cmVjYXRlZCBmcm9tIFtSRkM3NDAxXSwgaXQgaXMgaW5jbHVkZWQsIGJ1dAogICBpbXBsZW1l
bnRvcnMgc2hvdWxkIGNhcmVmdWxseSB3ZWlnaCBhbnkgYWR2YW50YWdlcyBhY3R1YWwgb3IK
ICAgcGVyY2VpdmVkIG92ZXIgRUMyNTUxOS4gIEFjdHVhbCBpbXBsZW1lbnRhdGlvbnMgb2Yg
RUMyNTUxOSBvbiBhbiA4NTAxCiAgIHNob3cgdGhhdCBpdCBjYW4gYmUgdXNlZCBvbiB2ZXJ5
IGNvbnN0cmFpbmVkIGhhcmR3YXJlLiAgVGhlIG92ZXItdGhlLQogICBhaXIgYW5kIHN0b3Jh
Z2UgY29zdHMgZm9yIEVDMjU1MTkgYXJlIGFsc28gY2xvc2VseSBjb21wYXJhYmxlIHdpdGgK
ICAgU0VDUDE2MFIxLgoKICAgVGh1cyB0aGUgc2VjdXJpdHkgcmlzayBvZiB0aGUgd2VhayBT
RUNQMTYwUjEgbXVzdCBiZSBzaG93biB0byBiZSBvZgogICB2YWx1ZSBvdmVyIGFueSBzbGln
aHQgY29zdHMgb2YgdXNpbmcgRUMyNTUxOSBpbnN0ZWFkLgoKOS4yLiAgTmVlZCB0byBWYWxp
ZGF0ZSBQdWJsaWMgS2V5cwoKICAgV2l0aCB0aGUgY3VydmVzIHNwZWNpZmllZCBoZXJlLCB0
aGVyZSBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBrZXkKICAgZXh0cmFjdGlvbiBhdHRhY2ssIHdo
aWNoIGlzIGEgdmVyeSBzZXJpb3VzIHByb2JsZW0gdGhlIHVzZSBvZiBzdGF0aWMKICAga2V5
cyBieSBISVAtREVYLiAgVGh1cyBpdCBpcyBNQU5EQVRPUlkgdG8gdmFsaWRhdGUgdGhlIHBl
ZXIncyBQdWJsaWMKICAgS2V5LgoKICAgRm9yIHRoZSBjdXJ2ZSBTRUNQMTYwUjEsIHBlZXJz
IE1VU1QgdmFsaWRhdGUgZWFjaCBvdGhlcidzIHB1YmxpYwogICB2YWx1ZSBRIGJ5IGVuc3Vy
aW5nIHRoYXQgdGhlIHBvaW50IGlzIGEgdmFsaWQgcG9pbnQgb24gdGhlIGVsbGlwdGljCiAg
IGN1cnZlLiAgVGhpcyBwcm9jZXNzIGNvbnNpc3RzIG9mIHRocmVlIHN0ZXBzOiAoMSkgdmVy
aWZ5IHRoYXQgUSBpcwogICBub3QgdGhlIHBvaW50IGF0IGluZmluaXR5IChPKSwgKDIpIHZl
cmlmeSB0aGF0IGZvciBRID0gKHgsIHkpIGJvdGgKICAgaW50ZWdlcnMgeCBhbmQgeSBhcmUg
aW4gdGhlIGNvcnJlY3QgaW50ZXJ2YWwsIGFuZCAoMykgZW5zdXJlIHRoYXQgKHgsCiAgIHkp
IGlzIGEgY29ycmVjdCBzb2x1dGlvbiB0byB0aGUgZWxsaXB0aWMgY3VydmUgZXF1YXRpb24u
ICBGb3IgdGhpcwogICBjdXJ2ZSwgaW1wbGVtZW50b3JzIGRvIG5vdCBuZWVkIHRvIHZlcmlm
eSBtZW1iZXJzaGlwIGluIHRoZSBjb3JyZWN0CiAgIHN1Ymdyb3VwLgoKICAgV2l0aCB0aGUg
TklTVCBjdXJ2ZXMsIHRoZXJlIGFyZSBubyBpbnRlcm5hbCBsZW5ndGggbWFya2Vycywgc28g
ZWFjaAogICBudW1iZXIgcmVwcmVzZW50YXRpb24gb2NjdXBpZXMgYXMgbWFueSBvY3RldHMg
YXMgaW1wbGllZCBieSB0aGUgY3VydmUKICAgcGFyYW1ldGVycy4gIEZvciBQLTI1NiwgdGhp
cyBtZWFucyB0aGF0IGVhY2ggb2YgWCBhbmQgWSB1c2UgMzIKCgoKCk1vc2tvd2l0eiwgZXQg
YWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdl
IDQ3XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVY
KSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIG9jdGV0cywgcGFkZGVkIG9uIHRoZSBs
ZWZ0IGJ5IHplcm9zIGlmIG5lY2Vzc2FyeS4gIEZvciBQLTM4NCwgdGhleQogICB0YWtlIDQ4
IG9jdGV0cyBlYWNoLiAgRm9yIFAtNTIxLCB0aGV5IHRha2UgNjYgb2N0ZXRzIGVhY2guCgog
ICBGb3IgQ3VydmUyNTUxOSBhbmQgQ3VydmU0NDgsIHRoZSBjb250ZW50cyBvZiB0aGUgcHVi
bGljIHZhbHVlIGFyZSB0aGUKICAgYnl0ZSBzdHJpbmcgaW5wdXRzIGFuZCBvdXRwdXRzIG9m
IHRoZSBjb3JyZXNwb25kaW5nIGZ1bmN0aW9ucyBkZWZpbmVkCiAgIGluIFtSRkM3NzQ4XTog
MzIgYnl0ZXMgZm9yIEVDMjU1MTkgYW5kIDU2IGJ5dGVzIGZvciBFQzQ0OC4KCjEwLiAgSUFO
QSBDb25zaWRlcmF0aW9ucwoKICAgVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHRvIHRoZSAiSG9z
dCBJZGVudGl0eSBQcm90b2NvbCAoSElQKQogICBQYXJhbWV0ZXJzIiByZWdpc3RyaWVzIGhh
dmUgYmVlbiBtYWRlOgoKICAgUGFyYW1ldGVyIFR5cGUgIFRoaXMgZG9jdW1lbnQgZGVmaW5l
cyB0aGUgbmV3IEhJUCBwYXJhbWV0ZXJzCgogICAgICBFTkNSWVBURURfS0VZICAiRU5DUllQ
VEVEX0tFWSIgd2l0aCB0eXBlIG51bWJlciBUQkQxIChzdWdnZXN0ZWQ6CiAgICAgICAgIDY0
MykgKHNlZSBTZWN0aW9uIDUuMi41KSBpbiB0aGUgIlBhcmFtZXRlciBUeXBlcyIgc3VicmVn
aXN0cnkKICAgICAgICAgb2YgdGhlICJIb3N0IElkZW50aXR5IFByb3RvY29sIChISVApIFBh
cmFtZXRlcnMiIHJlZ2lzdHJ5LgoKICAgICAgSV9OT05DRSAgIklfTk9OQ0UiIHdpdGggdHlw
ZSBudW1iZXIgVEJENiAoc3VnZ2VzdGVkOiA2NDQpIChzZWUKICAgICAgICAgU2VjdGlvbiA1
LjIuNikgaW4gdGhlICJQYXJhbWV0ZXIgVHlwZXMiIHN1YnJlZ2lzdHJ5IG9mIHRoZQogICAg
ICAgICAiSG9zdCBJZGVudGl0eSBQcm90b2NvbCAoSElQKSBQYXJhbWV0ZXJzIiByZWdpc3Ry
eS4KCiAgIEhJVCBTdWl0ZSBJRCAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIHRoZSBuZXcgSElU
IFN1aXRlICJFQ0RIL0ZPTEQiCiAgICAgIHdpdGhvdXQgZm91ci1iaXQgSUQgb2YgVEJEMiAo
c3VnZ2VzdGVkOiA0KSBhbmQgZWlnaHQtYml0IGVuY29kaW5nCiAgICAgIG9mIFRCRDMgKHN1
Z2dlc3RlZDogMHg0MCkgKHNlZSBTZWN0aW9uIDUuMi40KSBpbiB0aGUgIkhJVCBTdWl0ZQog
ICAgICBJRCIgc3VicmVnaXN0cnkgb2YgdGhlICJIb3N0IElkZW50aXR5IFByb3RvY29sIChI
SVApIFBhcmFtZXRlcnMiCiAgICAgIHJlZ2lzdHJ5LgoKICAgSElQIENpcGhlciBJRCAgVGhp
cyBkb2N1bWVudCBkZWZpbmVzIHRoZSBuZXcgSElQIENpcGhlciBJRCAiQUVTLQogICAgICAx
MjgtQ1RSIiB3aXRoIHR5cGUgbnVtYmVyIFRCRDQgKHN1Z2dlc3RlZDogNSkgKHNlZSBTZWN0
aW9uIDUuMi4yKQogICAgICBpbiB0aGUgIkhJUCBDaXBoZXIgSUQiIHN1YnJlZ2lzdHJ5IG9m
IHRoZSAiSG9zdCBJZGVudGl0eSBQcm90b2NvbAogICAgICAoSElQKSBQYXJhbWV0ZXJzIiBy
ZWdpc3RyeS4KCiAgIEhJIEFsZ29yaXRobSAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIHRoZSBu
ZXcgSEkgQWxnb3JpdGhtICJFQ0RIIiB3aXRoCiAgICAgIHR5cGUgbnVtYmVyIFRCRDUgKHN1
Z2dlc3RlZDogMTEpIChzZWUgU2VjdGlvbiA1LjIuMykgaW4gdGhlICJISQogICAgICBBbGdv
cml0aG0iIHN1YnJlZ2lzdHJ5IG9mIHRoZSAiSG9zdCBJZGVudGl0eSBQcm90b2NvbCAoSElQ
KQogICAgICBQYXJhbWV0ZXJzIiByZWdpc3RyeS4KCiAgIEVDQyBDdXJ2ZSBMYWJlbCAgVGhp
cyBkb2N1bWVudCBzcGVjaWZpZXMgYSBuZXcgYWxnb3JpdGhtLXNwZWNpZmljCiAgICAgIHN1
YnJlZ2lzdHJ5IG5hbWVkICJFQ0RIIEN1cnZlIExhYmVsIi4gIFRoZSB2YWx1ZXMgZm9yIHRo
aXMKICAgICAgc3VicmVnaXN0cnkgYXJlIGRlZmluZWQgaW4gU2VjdGlvbiA1LjIuMS4gIFRo
ZSBjb21wbGV0ZSBsaXN0IG9mCiAgICAgIGFsZ29yaXRobXMgZm9yIHRoZSBESF9HUk9VUF9M
SVNUIHBhcmFtZXRlciBhcmUgbGlzdGVkIGluIHRoZQogICAgICAiR3JvdXAgSURzIiBzdWJy
ZWdpc3RyeSBvZiB0aGUgIkhvc3QgSWRlbnRpdHkgUHJvdG9jb2wgKEhJUCkKICAgICAgUGFy
YW1ldGVycyIgcmVnaXN0cnkuCgoKCgoKCgpNb3Nrb3dpdHosIGV0IGFsLiAgICAgICAgRXhw
aXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICBbUGFnZSA0OF0KDApJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkgICAgICAgICAgIEZl
YnJ1YXJ5IDIwMjAKCgoxMS4gIEFja25vd2xlZGdlbWVudHMKCiAgIFRoZSBkcml2ZSB0byBw
dXQgSElQIG9uIGEgY3J5cHRvZ3JhcGhpYyAnRGlldCcgY2FtZSBvdXQgb2YgYSBudW1iZXIK
ICAgb2YgZGlzY3Vzc2lvbnMgd2l0aCBzZW5zb3IgdmVuZG9ycyBhdCBJRUVFIDgwMi4xNSBt
ZWV0aW5ncy4gIERhdmlkCiAgIE1jR3JldyB3YXMgdmVyeSBoZWxwZnVsIGluIGNyYWZ0aW5n
IHRoaXMgZG9jdW1lbnQuICBTcGVjaWFsIHRoYW5rcyB0bwogICBNb2hpdCBTZXRoaSBpbiBo
ZWxwaW5nIHdpdGggdGhlIGRyYWZ0IGR1cmluZyBJRVNHIHByb2Nlc3MuCgoxMi4gIENoYW5n
ZWxvZwoKICAgVGhpcyBzZWN0aW9uIHN1bW1hcml6ZXMgdGhlIGNoYW5nZXMgbWFkZSBmcm9t
IGRyYWZ0LW1vc2tvd2l0ei1oaXAtcmctCiAgIGRleC0wNSwgd2hpY2ggd2FzIHRoZSBmaXJz
dCBzdGFibGUgdmVyc2lvbiBvZiB0aGUgZHJhZnQuICBOb3RlIHRoYXQKICAgdGhlIGRyYWZ0
IHdhcyByZW5hbWVkIGFmdGVyIGRyYWZ0LW1vc2tvd2l0ei1oaXAtcmctZGV4LTA2LgoKICAg
VGhlIGRyYWZ0IHdhcyB0aGVuIHJlbmFtZWQgZnJvbSBkcmFmdC1tb3Nrb3dpdHotaGlwLWRl
eCB0byBkcmFmdC0KICAgaWV0Zi1oaXAtZGV4LgoKMTIuMS4gIENoYW5nZXMgaW4gZHJhZnQt
aWV0Zi1oaXAtZGV4LTEyIGFuZCAxMwoKICAgbyAgSW5jbHVkZWQgbW9yZSBwcmVjaXNlIHJl
ZmVyZW5jZXMgdG8gdGhlIElBTkEgc3VicmVnaXN0cmllcwoKICAgbyAgQWRkcmVzc2VkIEdF
Ti1BUlQgZmVlZGJhY2sgZnJvbSBGcmFuY2lzIER1cG9udAoKICAgbyAgQWRkZWQgcmVhc29u
aW5nIGZvciBQRlMgaW4gYSBzZXBhcmF0ZSBzZWN0aW9uLCBhbmQgaXQgaXMgbWVudGlvbmVk
CiAgICAgIGFsc28gaW4gdGhlIGFic3RyYWN0IGFuZCBpbnRyby4KCiAgIG8gIERvbmFsZCBF
YXN0bGFrZSdzIChzZWNkaXIpIG5pdHMgYWRkcmVzc2VkCgogICBvICBSZXNvbHZlZCBJQU5B
IG5pdHMgZnJvbSBBbWFuZGEgQmFiZXIuCgogICBvICBOZXcgc2VjdGlvbnM6ICJXaHkgaW50
cm9kdWNlIGZvbGRpbmciIChTZWN0aW9uIDMuMi4xKSwgIlNFQ1AxNjBSMQogICAgICBDb25z
aWRlcmVkIFVuc2FmZSIgKFNlY3Rpb24gOS4xKSwgIk5lZWQgdG8gVmFsaWRhdGUgUHVibGlj
IEtleXMiCiAgICAgIChTZWN0aW9uIDkuMiksIGFuZCAiSV9OT05DRSIgKFNlY3Rpb24gNS4y
LjYpIHRvIGFkZHJlc3MgRXJpYwogICAgICBSZXNjb3JsYSdzIGNvbmNlcm5zLgoKMTIuMi4g
IENoYW5nZXMgaW4gZHJhZnQtaWV0Zi1oaXAtZGV4LTExCgogICBvICBVcGRhdGUgSUFOQSBj
b25zaWRlcmF0aW9ucyBhcyByZXF1ZXN0ZWQgYnkgRXJpYyBFbnZ5bmNrZQoKMTIuMy4gIENo
YW5nZXMgaW4gZHJhZnQtaWV0Zi1oaXAtZGV4LTEwCgogICBvICBFeHBsYW5hdGlvbnMgb24g
d2h5IHRoZSBkb2N1bWVudCBpbmNsdWRlcyBzbyBtYW55IFNIT1VMRHMKCjEyLjQuICBDaGFu
Z2VzIGluIGRyYWZ0LWlldGYtaGlwLWRleC0wOQoKICAgbyAgRml4ZWQgdmFsdWVzIGZvcgoK
ICAgICAgKiAgREhfR1JPVVBfTElTVAoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4
cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgNDldCgwKSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBG
ZWJydWFyeSAyMDIwCgoKICAgICAgKiAgSElUX1NVSVRFX0xJU1QKCiAgICAgIHRvIG1hdGNo
IFtSRkM3NDAxXS4KCjEyLjUuICBDaGFuZ2VzIGluIGRyYWZ0LWlldGYtaGlwLWRleC0wNQoK
ICAgbyAgQ2xhcmlmaWVkIG1haW4gZGlmZmVyZW5jZXMgYmV0d2VlbiBISVAgQkVYIGFuZCBI
SVAgREVYIGluCiAgICAgIFNlY3Rpb24gMS4KCiAgIG8gIEFkZHJlc3NlZCBNaXRNIGF0dGFj
ayBpbiBTZWN0aW9uIDguCgogICBvICBNaW5vciBlZGl0b3JpYWwgY2hhbmdlcy4KCjEyLjYu
ICBDaGFuZ2VzIGluIGRyYWZ0LWlldGYtaGlwLWRleC0wNAoKICAgbyAgQWRkZWQgbmV3IHBh
cmFncmFwaCBvbiByZWtleWluZyBwcm9jZWR1cmUgd2l0aCBISVAgREVYLgoKICAgbyAgVXBk
YXRlZCByZWZlcmVuY2VzLgoKICAgbyAgRWRpdG9yaWFsIGNoYW5nZXMuCgoxMi43LiAgQ2hh
bmdlcyBpbiBkcmFmdC1pZXRmLWhpcC1kZXgtMDMKCiAgIG8gIEFkZGVkIG5ldyBzZWN0aW9u
IG9uIEhJUCBERVgvSElQdjIgaW50ZXJvcGVyYWJpbGl0eQoKICAgbyAgQWRkZWQgcmVmZXJl
bmNlIHRvIFJGQzQ0OTMgZm9yIENNQUMuCgogICBvICBBZGRlZCByZWZlcmVuY2UgdG8gUkZD
NTg2OSBmb3IgQ0tERi4KCiAgIG8gIEFkZGVkIHByb2Nlc3Npbmcgb2YgTk9USUZZIG1lc3Nh
Z2UgaW4gSTItU0VOVCBvZiBzdGF0ZSBkaWFncmFtLgoKICAgbyAgRWRpdG9yaWFsIGNoYW5n
ZXMuCgoxMi44LiAgQ2hhbmdlcyBpbiBkcmFmdC1pZXRmLWhpcC1kZXgtMDIKCiAgIG8gIEF1
dGhvciBhZGRyZXNzIGNoYW5nZS4KCjEyLjkuICBDaGFuZ2VzIGluIGRyYWZ0LWlldGYtaGlw
LWRleC0wMQoKICAgbyAgQWRkZWQgdGhlIG5ldyBFQ0RIIGdyb3VwcyBvZiBDdXJ2ZTI1NTE5
IGFuZCBDdXJ2ZTQ0OCBmcm9tIFJGQwogICAgICA3NzQ4LgoKMTIuMTAuICBDaGFuZ2VzIGlu
IGRyYWZ0LWlldGYtaGlwLWRleC0wMAoKICAgbyAgVGhlIEludGVybmV0IERyYWZ0IHdhcyBh
ZG9wdGVkIGJ5IHRoZSBISVAgV0cuCgoKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBF
eHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDUwXQoMCkludGVy
bmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAg
RmVicnVhcnkgMjAyMAoKCjEyLjExLiAgQ2hhbmdlcyBpbiBkcmFmdC1tb3Nrb3dpdHotaGlw
LXJnLWRleC0wNgoKICAgbyAgQSBtYWpvciBjaGFuZ2UgaW4gdGhlIEVOQ1JZUFQgcGFyYW1l
dGVyIHRvIHVzZSBBRVMtQ1RSIHJhdGhlciB0aGFuCiAgICAgIEFFUy1DQkMuCgoxMi4xMi4g
IENoYW5nZXMgaW4gZHJhZnQtbW9za293aXR6LWhpcC1kZXgtMDAKCiAgIG8gIERyYWZ0IG5h
bWUgY2hhbmdlLiAgSElQUkcgZW5kZWQgaW4gSVJURiwgSElQIERFWCBpcyBub3cgaW5kaXZp
ZHVhbAogICAgICBzdWJtaXNzaW9uLgoKICAgbyAgQWRkZWQgdGhlIGNoYW5nZSBzZWN0aW9u
LgoKICAgbyAgQWRkZWQgYSBEZWZpbml0aW9ucyBzZWN0aW9uLgoKICAgbyAgQ2hhbmdlZCBJ
MiBhbmQgUjIgcGFja2V0cyB0byByZWZsZWN0IHVzZSBvZiBBRVMtQ1RSIGZvcgogICAgICBF
TkNSWVBURURfS0VZIHBhcmFtZXRlci4KCiAgIG8gIENsZWFuZWQgdXAgS0VZTUFUIEdlbmVy
YXRpb24gdGV4dC4KCiAgIG8gIEFkZGVkIEFwcGVuZGl4IHdpdGggQyBjb2RlIGZvciB0aGUg
RUNESCBzaGFyZWQgc2VjcmV0IGdlbmVyYXRpb24KICAgICAgb24gYW4gOCBiaXQgcHJvY2Vz
c29yLgoKMTIuMTMuICBDaGFuZ2VzIGluIGRyYWZ0LW1vc2tvd2l0ei1oaXAtZGV4LTAxCgog
ICBvICBOdW1lcm91cyBlZGl0b3JpYWwgY2hhbmdlcy4KCiAgIG8gIE5ldyByZXRyYW5zbWlz
c2lvbiBzdHJhdGVneS4KCiAgIG8gIE5ldyBISVQgZ2VuZXJhdGlvbiBtZWNoYW5pc20uCgog
ICBvICBNb2RpZmllZCBsYXlvdXQgb2YgRU5DUllQVEVEX0tFWSBwYXJhbWV0ZXIuCgogICBv
ICBDbGFyaWZ5IHVzZSBwdXp6bGUgZGlmZmljdWx0eSBvZiB6ZXJvIHVuZGVyIG5vcm1hbCBu
ZXR3b3JrCiAgICAgIGNvbmRpdGlvbnMuCgogICBvICBBbGlnbiBpbmNsdXNpb24gZGlyZWN0
aXZlIG9mIFIxX0NPVU5URVIgd2l0aCBISVB2MiAoZnJvbSBTSE9VTEQgdG8KICAgICAgTVVT
VCkuCgogICBvICBBbGlnbiBpbmNsdXNpb24gb2YgVFJBTlNQT1JUX0ZPUk1BVF9MSVNUIHdp
dGggSElQdjIgKGFkZGVkIHRvIFIxCiAgICAgIGFuZCBJMikuCgogICBvICBISVBfQ0lQSEVS
LCBISVRfU1VJVEVfTElTVCwgYW5kIFRSQU5TUE9SVF9GT1JNQVRfTElTVCBtdXN0IG5vdyBi
ZQogICAgICBlY2hvZWQgaW4gUjIgcGFja2V0LgoKICAgbyAgQWRkZWQgbmV3IGF1dGhvci4K
CgoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0IDE1LCAyMDIw
ICAgICAgICAgICAgICAgW1BhZ2UgNTFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIEhJ
UCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFyeSAyMDIwCgoKMTIuMTQu
ICBDaGFuZ2VzIGluIGRyYWZ0LW1vc2tvd2l0ei1oaXAtZGV4LTAyCgogICBvICBJbnRyb2R1
Y2VkIGZvcm1hbCBkZWZpbml0aW9uIG9mIEZPTEQgZnVuY3Rpb24uCgogICBvICBDbGFyaWZp
ZWQgdXNlIG9mIENNQUMgZm9yIHB1enpsZSBjb21wdXRhdGlvbiBpbiBzZWN0aW9uICJTb2x2
aW5nCiAgICAgIHRoZSBQdXp6bGUiLgoKICAgbyAgU2V2ZXJhbCBlZGl0b3JpYWwgY2hhbmdl
cy4KCjEyLjE1LiAgQ2hhbmdlcyBpbiBkcmFmdC1tb3Nrb3dpdHotaGlwLWRleC0wMwoKICAg
byAgQWRkcmVzc2VkIEhJIGNyeXB0byBhZ2lsaXR5LgoKICAgbyAgQ2xhcmlmaWVkIHB1cnBv
c2Ugb2Ygc2VjcmV0IGV4Y2hhbmdlZCB2aWEgRU5DUllQVEVEX0tFWSBwYXJhbWV0ZXIuCgog
ICBvICBFeHRlbmRlZCB0aGUgSVYgaW4gdGhlIEVOQ1JZUFRFRF9LRVkgcGFyYW1ldGVyLgoK
ICAgbyAgSW50cm9kdWNlZCBmb3J3YXJkLXJlZmVyZW5jZXMgdG8gSElQIERFWCBLRVlNQVQg
cHJvY2VzcyBhbmQKICAgICAgaW1wcm92ZWQgS0VZTUFUIHNlY3Rpb24uCgogICBvICBSZXBs
YWNlZCBBcHBlbmRpeCBBIG9uICJDIGNvZGUgZm9yIEVDQyBwb2ludCBtdWx0aXBsaWNhdGlv
biIgd2l0aAogICAgICBzaG9ydCBkaXNjdXNzaW9uIGluIGludHJvZHVjdGlvbi4KCiAgIG8g
IFVwZGF0ZWQgcmVmZXJlbmNlcy4KCiAgIG8gIEZ1cnRoZXIgZWRpdG9yaWFsIGNoYW5nZXMu
CgoxMi4xNi4gIENoYW5nZXMgaW4gZHJhZnQtbW9za293aXR6LWhpcC1kZXgtMDQKCiAgIG8g
IEltcHJvdmVkIHJldHJhbnNtaXNzaW9uIGV4dGVuc2lvbi4KCiAgIG8gIFVwZGF0ZWQgYW5k
IHN0cm9uZ2x5IHJldmlzZWQgcGFja2V0IHByb2Nlc3NpbmcgcnVsZXMuCgogICBvICBVcGRh
dGVkIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zLgoKICAgbyAgVXBkYXRlZCBJQU5BIGNvbnNp
ZGVyYXRpb25zLgoKICAgbyAgTW92ZSB0aGUgSEkgQWxnb3JpdGhtIGZvciBFQ0RIIHRvIGEg
dmFsdWUgb2YgMTEuCgogICBvICBNYW55IGVkaXRvcmlhbCBjaGFuZ2VzLgoKMTMuICBSZWZl
cmVuY2VzCgoxMy4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMKCgoKCgoKCk1vc2tvd2l0eiwg
ZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQ
YWdlIDUyXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAo
REVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCiAgIFtSRkMyMTE5XSAgQnJhZG5lciwg
Uy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlCiAgICAgICAgICAg
ICAgUmVxdWlyZW1lbnQgTGV2ZWxzIiwgQkNQIDE0LCBSRkMgMjExOSwKICAgICAgICAgICAg
ICBET0kgMTAuMTc0ODcvUkZDMjExOSwgTWFyY2ggMTk5NywKICAgICAgICAgICAgICA8aHR0
cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmMyMTE5Pi4KCiAgIFtSRkMyNDEwXSAg
R2xlbm4sIFIuIGFuZCBTLiBLZW50LCAiVGhlIE5VTEwgRW5jcnlwdGlvbiBBbGdvcml0aG0g
YW5kCiAgICAgICAgICAgICAgSXRzIFVzZSBXaXRoIElQc2VjIiwgUkZDIDI0MTAsIERPSSAx
MC4xNzQ4Ny9SRkMyNDEwLAogICAgICAgICAgICAgIE5vdmVtYmVyIDE5OTgsIDxodHRwczov
L3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzI0MTA+LgoKICAgW1JGQzM2ODZdICBIb3Vz
bGV5LCBSLiwgIlVzaW5nIEFkdmFuY2VkIEVuY3J5cHRpb24gU3RhbmRhcmQgKEFFUykKICAg
ICAgICAgICAgICBDb3VudGVyIE1vZGUgV2l0aCBJUHNlYyBFbmNhcHN1bGF0aW5nIFNlY3Vy
aXR5IFBheWxvYWQKICAgICAgICAgICAgICAoRVNQKSIsIFJGQyAzNjg2LCBET0kgMTAuMTc0
ODcvUkZDMzY4NiwgSmFudWFyeSAyMDA0LAogICAgICAgICAgICAgIDxodHRwczovL3d3dy5y
ZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzM2ODY+LgoKICAgW1JGQzQ0NDNdICBDb250YSwgQS4s
IERlZXJpbmcsIFMuLCBhbmQgTS4gR3VwdGEsIEVkLiwgIkludGVybmV0CiAgICAgICAgICAg
ICAgQ29udHJvbCBNZXNzYWdlIFByb3RvY29sIChJQ01QdjYpIGZvciB0aGUgSW50ZXJuZXQK
ICAgICAgICAgICAgICBQcm90b2NvbCBWZXJzaW9uIDYgKElQdjYpIFNwZWNpZmljYXRpb24i
LCBTVEQgODksCiAgICAgICAgICAgICAgUkZDIDQ0NDMsIERPSSAxMC4xNzQ4Ny9SRkM0NDQz
LCBNYXJjaCAyMDA2LAogICAgICAgICAgICAgIDxodHRwczovL3d3dy5yZmMtZWRpdG9yLm9y
Zy9pbmZvL3JmYzQ0NDM+LgoKICAgW1JGQzYyNjFdICBLZXJhbmVuLCBBLiwgIkVuY3J5cHRl
ZCBTaWduYWxpbmcgVHJhbnNwb3J0IE1vZGVzIGZvciB0aGUKICAgICAgICAgICAgICBIb3N0
IElkZW50aXR5IFByb3RvY29sIiwgUkZDIDYyNjEsIERPSSAxMC4xNzQ4Ny9SRkM2MjYxLAog
ICAgICAgICAgICAgIE1heSAyMDExLCA8aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5m
by9yZmM2MjYxPi4KCiAgIFtSRkM3MzQzXSAgTGFnYW5pZXIsIEouIGFuZCBGLiBEdXBvbnQs
ICJBbiBJUHY2IFByZWZpeCBmb3IgT3ZlcmxheQogICAgICAgICAgICAgIFJvdXRhYmxlIENy
eXB0b2dyYXBoaWMgSGFzaCBJZGVudGlmaWVycyBWZXJzaW9uIDIKICAgICAgICAgICAgICAo
T1JDSElEdjIpIiwgUkZDIDczNDMsIERPSSAxMC4xNzQ4Ny9SRkM3MzQzLCBTZXB0ZW1iZXIK
ICAgICAgICAgICAgICAyMDE0LCA8aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9y
ZmM3MzQzPi4KCiAgIFtSRkM3NDAxXSAgTW9za293aXR6LCBSLiwgRWQuLCBIZWVyLCBULiwg
Sm9rZWxhLCBQLiwgYW5kIFQuCiAgICAgICAgICAgICAgSGVuZGVyc29uLCAiSG9zdCBJZGVu
dGl0eSBQcm90b2NvbCBWZXJzaW9uIDIgKEhJUHYyKSIsCiAgICAgICAgICAgICAgUkZDIDc0
MDEsIERPSSAxMC4xNzQ4Ny9SRkM3NDAxLCBBcHJpbCAyMDE1LAogICAgICAgICAgICAgIDxo
dHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzc0MDE+LgoKICAgW1JGQzc0MDJd
ICBKb2tlbGEsIFAuLCBNb3Nrb3dpdHosIFIuLCBhbmQgSi4gTWVsZW4sICJVc2luZyB0aGUK
ICAgICAgICAgICAgICBFbmNhcHN1bGF0aW5nIFNlY3VyaXR5IFBheWxvYWQgKEVTUCkgVHJh
bnNwb3J0IEZvcm1hdCB3aXRoCiAgICAgICAgICAgICAgdGhlIEhvc3QgSWRlbnRpdHkgUHJv
dG9jb2wgKEhJUCkiLCBSRkMgNzQwMiwKICAgICAgICAgICAgICBET0kgMTAuMTc0ODcvUkZD
NzQwMiwgQXByaWwgMjAxNSwKICAgICAgICAgICAgICA8aHR0cHM6Ly93d3cucmZjLWVkaXRv
ci5vcmcvaW5mby9yZmM3NDAyPi4KCiAgIFtSRkM4MTc0XSAgTGVpYmEsIEIuLCAiQW1iaWd1
aXR5IG9mIFVwcGVyY2FzZSB2cyBMb3dlcmNhc2UgaW4gUkZDCiAgICAgICAgICAgICAgMjEx
OSBLZXkgV29yZHMiLCBCQ1AgMTQsIFJGQyA4MTc0LCBET0kgMTAuMTc0ODcvUkZDODE3NCwK
ICAgICAgICAgICAgICBNYXkgMjAxNywgPGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2lu
Zm8vcmZjODE3ND4uCgoKCgoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMg
QXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgNTNdCgwKSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBGZWJydWFy
eSAyMDIwCgoKMTMuMi4gIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMKCiAgIFtESDc2XSAgICAg
RGlmZmllLCBXLiBhbmQgTS4gSGVsbG1hbiwgIk5ldyBEaXJlY3Rpb25zIGluCiAgICAgICAg
ICAgICAgQ3J5cHRvZ3JhcGh5IiwgSUVFRSBUcmFuc2FjdGlvbnMgb24gSW5mb3JtYXRpb24K
ICAgICAgICAgICAgICBUaGVvcnkgdm9sLiBJVC0yMiwgbnVtYmVyIDYsIHBhZ2VzIDY0NC02
NTQsIE5vdiAxOTc2LgoKICAgW0hXWjEzXSAgICBIdW1tZW4sIFIuLCBXaXJ0eiwgSC4sIFpp
ZWdlbGRvcmYsIEouLCBIaWxsZXIsIEouLCBhbmQgSy4KICAgICAgICAgICAgICBXZWhybGUs
ICJUYWlsb3JpbmcgRW5kLXRvLUVuZCBJUCBTZWN1cml0eSBQcm90b2NvbHMgdG8gdGhlCiAg
ICAgICAgICAgICAgSW50ZXJuZXQgb2YgVGhpbmdzIiwgaW4gUHJvY2VlZGluZ3Mgb2YgSUVF
RSBJbnRlcm5hdGlvbmFsCiAgICAgICAgICAgICAgQ29uZmVyZW5jZSBvbiBOZXR3b3JrIFBy
b3RvY29scyAoSUNOUCAyMDEzKSwgT2N0b2JlciAyMDEzLgoKICAgW0ktRC5pZXRmLWhpcC1y
ZmM0NDIzLWJpc10KICAgICAgICAgICAgICBNb3Nrb3dpdHosIFIuIGFuZCBNLiBLb211LCAi
SG9zdCBJZGVudGl0eSBQcm90b2NvbAogICAgICAgICAgICAgIEFyY2hpdGVjdHVyZSIsIGRy
YWZ0LWlldGYtaGlwLXJmYzQ0MjMtYmlzLTIwICh3b3JrIGluCiAgICAgICAgICAgICAgcHJv
Z3Jlc3MpLCBGZWJydWFyeSAyMDE5LgoKICAgW0lFRUUuODAyLTExLjIwMDddCiAgICAgICAg
ICAgICAgRW5naW5lZXJzLCBJLiBPLiBFLiBBLiBFLiwgIkluZm9ybWF0aW9uIHRlY2hub2xv
Z3kgLQogICAgICAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24g
ZXhjaGFuZ2UgYmV0d2VlbgogICAgICAgICAgICAgIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0
cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYwogICAgICAgICAgICAgIHJlcXVp
cmVtZW50cyAtIFBhcnQgMTE6IFdpcmVsZXNzIExBTiBNZWRpdW0gQWNjZXNzIENvbnRyb2wK
ICAgICAgICAgICAgICAoTUFDKSBhbmQgUGh5c2ljYWwgTGF5ZXIgKFBIWSkgU3BlY2lmaWNh
dGlvbnMiLAogICAgICAgICAgICAgIElFRUUgU3RhbmRhcmQgODAyLjExLCBKdW5lIDIwMDcs
CiAgICAgICAgICAgICAgPGh0dHA6Ly9zdGFuZGFyZHMuaWVlZS5vcmcvZ2V0aWVlZTgwMi8K
ICAgICAgICAgICAgICBkb3dubG9hZC84MDIuMTEtMjAwNy5wZGY+LgoKICAgW0lFRUUuODAy
LTE1LTQuMjAxMV0KICAgICAgICAgICAgICBFbmdpbmVlcnMsIEkuIE8uIEUuIEEuIEUuLCAi
SW5mb3JtYXRpb24gdGVjaG5vbG9neSAtCiAgICAgICAgICAgICAgVGVsZWNvbW11bmljYXRp
b25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuCiAgICAgICAgICAgICAgc3lz
dGVtcyAtIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNwZWNpZmlj
CiAgICAgICAgICAgICAgcmVxdWlyZW1lbnRzIC0gUGFydCAxNS40OiBXaXJlbGVzcyBNZWRp
dW0gQWNjZXNzIENvbnRyb2wKICAgICAgICAgICAgICAoTUFDKSBhbmQgUGh5c2ljYWwgTGF5
ZXIgKFBIWSkgU3BlY2lmaWNhdGlvbnMgZm9yIExvdy1SYXRlCiAgICAgICAgICAgICAgV2ly
ZWxlc3MgUGVyc29uYWwgQXJlYSBOZXR3b3JrcyAoV1BBTnMpIiwgSUVFRSBTdGFuZGFyZAog
ICAgICAgICAgICAgIDgwMi4xNS40LCBTZXB0ZW1iZXIgMjAxMSwKICAgICAgICAgICAgICA8
aHR0cDovL3N0YW5kYXJkcy5pZWVlLm9yZy9nZXRpZWVlODAyLwogICAgICAgICAgICAgIGRv
d25sb2FkLzgwMi4xNS40LTIwMTEucGRmPi4KCiAgIFtMTjA4XSAgICAgTGl1LCBBLiBhbmQg
SC4gTmluZywgIlRpbnlFQ0M6IEEgQ29uZmlndXJhYmxlIExpYnJhcnkgZm9yCiAgICAgICAg
ICAgICAgRWxsaXB0aWMgQ3VydmUgQ3J5cHRvZ3JhcGh5IGluIFdpcmVsZXNzIFNlbnNvciBO
ZXR3b3JrcyIsCiAgICAgICAgICAgICAgaW4gUHJvY2VlZGluZ3Mgb2YgSW50ZXJuYXRpb25h
bCBDb25mZXJlbmNlIG9uIEluZm9ybWF0aW9uCiAgICAgICAgICAgICAgUHJvY2Vzc2luZyBp
biBTZW5zb3IgTmV0d29ya3MgKElQU04gMjAwOCksIEFwcmlsIDIwMDguCgogICBbUkZDNDQ5
M10gIFNvbmcsIEpILiwgUG9vdmVuZHJhbiwgUi4sIExlZSwgSi4sIGFuZCBULiBJd2F0YSwg
IlRoZQogICAgICAgICAgICAgIEFFUy1DTUFDIEFsZ29yaXRobSIsIFJGQyA0NDkzLCBET0kg
MTAuMTc0ODcvUkZDNDQ5MywgSnVuZQogICAgICAgICAgICAgIDIwMDYsIDxodHRwczovL3d3
dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzQ0OTM+LgoKCgoKCgpNb3Nrb3dpdHosIGV0IGFs
LiAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTUsIDIwMjAgICAgICAgICAgICAgICBbUGFnZSA1
NF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgSElQIERpZXQgRVhjaGFuZ2UgKERFWCkg
ICAgICAgICAgIEZlYnJ1YXJ5IDIwMjAKCgogICBbUkZDNTg2OV0gIEtyYXdjenlrLCBILiBh
bmQgUC4gRXJvbmVuLCAiSE1BQy1iYXNlZCBFeHRyYWN0LWFuZC1FeHBhbmQKICAgICAgICAg
ICAgICBLZXkgRGVyaXZhdGlvbiBGdW5jdGlvbiAoSEtERikiLCBSRkMgNTg2OSwKICAgICAg
ICAgICAgICBET0kgMTAuMTc0ODcvUkZDNTg2OSwgTWF5IDIwMTAsCiAgICAgICAgICAgICAg
PGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNTg2OT4uCgogICBbUkZDNTkw
M10gIEZ1LCBELiBhbmQgSi4gU29saW5hcywgIkVsbGlwdGljIEN1cnZlIEdyb3VwcyBtb2R1
bG8gYQogICAgICAgICAgICAgIFByaW1lIChFQ1AgR3JvdXBzKSBmb3IgSUtFIGFuZCBJS0V2
MiIsIFJGQyA1OTAzLAogICAgICAgICAgICAgIERPSSAxMC4xNzQ4Ny9SRkM1OTAzLCBKdW5l
IDIwMTAsCiAgICAgICAgICAgICAgPGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8v
cmZjNTkwMz4uCgogICBbUkZDNjA5MF0gIE1jR3JldywgRC4sIElnb2UsIEsuLCBhbmQgTS4g
U2FsdGVyLCAiRnVuZGFtZW50YWwgRWxsaXB0aWMKICAgICAgICAgICAgICBDdXJ2ZSBDcnlw
dG9ncmFwaHkgQWxnb3JpdGhtcyIsIFJGQyA2MDkwLAogICAgICAgICAgICAgIERPSSAxMC4x
NzQ4Ny9SRkM2MDkwLCBGZWJydWFyeSAyMDExLAogICAgICAgICAgICAgIDxodHRwczovL3d3
dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzYwOTA+LgoKICAgW1JGQzcyMjhdICBCb3JtYW5u
LCBDLiwgRXJzdWUsIE0uLCBhbmQgQS4gS2VyYW5lbiwgIlRlcm1pbm9sb2d5IGZvcgogICAg
ICAgICAgICAgIENvbnN0cmFpbmVkLU5vZGUgTmV0d29ya3MiLCBSRkMgNzIyOCwKICAgICAg
ICAgICAgICBET0kgMTAuMTc0ODcvUkZDNzIyOCwgTWF5IDIwMTQsCiAgICAgICAgICAgICAg
PGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNzIyOD4uCgogICBbUkZDNzI5
Nl0gIEthdWZtYW4sIEMuLCBIb2ZmbWFuLCBQLiwgTmlyLCBZLiwgRXJvbmVuLCBQLiwgYW5k
IFQuCiAgICAgICAgICAgICAgS2l2aW5lbiwgIkludGVybmV0IEtleSBFeGNoYW5nZSBQcm90
b2NvbCBWZXJzaW9uIDIKICAgICAgICAgICAgICAoSUtFdjIpIiwgU1REIDc5LCBSRkMgNzI5
NiwgRE9JIDEwLjE3NDg3L1JGQzcyOTYsIE9jdG9iZXIKICAgICAgICAgICAgICAyMDE0LCA8
aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM3Mjk2Pi4KCiAgIFtSRkM3NzQ4
XSAgTGFuZ2xleSwgQS4sIEhhbWJ1cmcsIE0uLCBhbmQgUy4gVHVybmVyLCAiRWxsaXB0aWMg
Q3VydmVzCiAgICAgICAgICAgICAgZm9yIFNlY3VyaXR5IiwgUkZDIDc3NDgsIERPSSAxMC4x
NzQ4Ny9SRkM3NzQ4LCBKYW51YXJ5CiAgICAgICAgICAgICAgMjAxNiwgPGh0dHBzOi8vd3d3
LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNzc0OD4uCgogICBbU0VDR10gICAgIFNFQ0csICJS
ZWNvbW1lbmRlZCBFbGxpcHRpYyBDdXJ2ZSBEb21haW4gUGFyYW1ldGVycyIsIFNFQwogICAg
ICAgICAgICAgIDIgLCAyMDAwLCA8aHR0cDovL3d3dy5zZWNnLm9yZy8+LgoKCgoKCgoKCgoK
CgoKCgoKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNSwg
MjAyMCAgICAgICAgICAgICAgIFtQYWdlIDU1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkgMjAyMAoKCkFw
cGVuZGl4IEEuICBQYXNzd29yZC1iYXNlZCB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGR1
cmluZyB0aGUgSElQIERFWAogICAgICAgICAgICAgaGFuZHNoYWtlCgogICBISVAgREVYIGFs
bG93cyBpZGVudGlmeWluZyBhdXRob3JpemVkIGNvbm5lY3Rpb25zIGJhc2VkIG9uIGEgdHdv
LQogICBmYWN0b3IgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtLiAgV2l0aCB0d28tZmFjdG9y
IGF1dGhlbnRpY2F0aW9uLAogICBkZXZpY2VzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gY29t
bXVuaWNhdGUgd2l0aCBlYWNoIG90aGVyIGFyZQogICByZXF1aXJlZCB0byBiZSBwcmUtcHJv
dmlzaW9uZWQgd2l0aCBhIHNoYXJlZCAoZ3JvdXApIGtleS4gIFRoZQogICBJbml0aWF0b3Ig
dXNlcyB0aGlzIHByZS1wcm92aXNpb25lZCBrZXkgdG8gZW5jcnlwdCB0aGUKICAgRUNIT19S
RVNQT05TRV9VTlNJR05FRCBpbiB0aGUgSTIgcGFja2V0LiAgVXBvbiByZWNlcHRpb24gb2Yg
dGhlIEkyLAogICB0aGUgUmVzcG9uZGVyIHZlcmlmaWVzIHRoYXQgaXRzIGNoYWxsZW5nZSBp
biB0aGUKICAgRUNIT19SRVFVRVNUX1VOU0lHTkVEIHBhcmFtZXRlciBpbiB0aGUgUjEgcGFj
a2V0IGhhcyBiZWVuIGVuY3J5cHRlZAogICB3aXRoIHRoZSBjb3JyZWN0IGtleS4gIElmIHZl
cmlmaWVkIHN1Y2Nlc3NmdWxseSwgdGhlIFJlc3BvbmRlcgogICBwcm9jZWVkcyB3aXRoIHRo
ZSBoYW5kc2hha2UuICBPdGhlcndpc2UsIGl0IHNpbGVudGx5IGRyb3BzIHRoZSBJMgogICBw
YWNrZXQuCgogICBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gZXhwbGljaXQgc2lnbmFsaW5nIGlu
IHRoZSBISVAgREVYIGhhbmRzaGFrZSBmb3IKICAgdGhpcyBiZWhhdmlvci4gIFRodXMsIGtu
b3dsZWRnZSBvZiB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIG11c3QgYmUKICAgY29uZmln
dXJlZCBleHRlcm5hbGx5IHByaW9yIHRvIHRoZSBoYW5kc2hha2UuCgpBcHBlbmRpeCBCLiAg
SUVTRyBDb25zaWRlcmF0aW9ucwoKICAgRHVyaW5nIElFU0cgcmV2aWV3LCBhIGNvbmNlcm4g
d2FzIHJhaXNlZCBvbiB0aGUgbnVtYmVyIG9mIFNIT1VMRFMgaW4KICAgdGhpcyBkb2N1bWVu
dC4gIEhlcmUgaXMgYW4gYW5hbHlzaXMgb2YgdGhlIDU3IFNIT1VMRFMgaW4gSElQIERFWC4K
CiAgIDQ2IG9mIFNIT1VMRFMgYXJlIGFsc28gaW4gW1JGQzc0MDFdLiAgSGVyZSBhcmUgdGhl
IHNlY3Rpb25zIHdpdGgKICAgU0hPVUxEUyB0aGF0IG1hdGNoIHVwIHdpdGggW1JGQzc0MDFd
OgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4
cGlyZXMgQXVndXN0IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgNTZdCgwKSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgIEhJUCBEaWV0IEVYY2hhbmdlIChERVgpICAgICAgICAgICBG
ZWJydWFyeSAyMDIwCgoKICAgNS4yLjIuICAgIEhJUF9DSVBIRVIgKHNhbWUgYXMgNzQwMSkK
CiAgIDYuNS4gICAgUHJvY2Vzc2luZyBJbmNvbWluZyBJMSBQYWNrZXRzCiAgICAgICAzLiAg
ICAoc2FtZSBhcyA3NDAxKQogICAgICAgNS4gICAgKHNhbWUgYXMgNzQwMSkKCiAgIDYuNi4g
ICAgUHJvY2Vzc2luZyBJbmNvbWluZyBSMSBQYWNrZXRzICAgIChzYW1lIGFzIDc0MDEpCgog
ICA2LjcuICAgIFByb2Nlc3NpbmcgSW5jb21pbmcgSTIgUGFja2V0cwogICAgICAgMy4gICAg
KHNhbWUgYXMgNzQwMSkKICAgICAgIDcuICAgIChzYW1lIGFzIDc0MDEpCiAgICAgICAxMS4g
ICAgKHNhbWUgYXMgNzQwMSkKCiAgIDYuOC4gICAgUHJvY2Vzc2luZyBJbmNvbWluZyBSMiBQ
YWNrZXRzCiAgICAgICA1LiAgICAoc2FtZSBhcyA3NDAxKQoKICAgNi45LiAgICBQcm9jZXNz
aW5nIEluY29taW5nIE5PVElGWSBQYWNrZXRzCiAgICAgICAxc3QgcGFyYSAoc2FtZSBhcyA3
NDAxKQoKICAgNi4xMS4gICAgSGFuZGxpbmcgU3RhdGUgTG9zcyAoc2FtZSBhcyA3NDAxKQoK
ICAgNy4gICAgSElQIFBvbGljaWVzICgxc3QgYW5kIDNyZCBzYW1lIGFzIDc0MDEpCgogICBN
YW55IG9mIHRoZSBvdGhlciAxMSBTSE9VTERTIGFyZSBkdWUgdG8gdGhlIG5hdHVyZSBvZiBj
b25zdHJhaW5lZAogICBkZXZpY2VzIGFuZCBpbiBtb3N0IGNhc2VzIHRoZSB0ZXh0IHBvaW50
cyB0aGlzIG91dDoKCiAgIEluIFNlY3Rpb24gNC4xLjEsIHRoaXMgaXMgY2xlYXJseSBhZGp1
c3RpbmcgZm9yIGhvdyB0aGUgcHV6emxlIGNvdWxkCiAgIGFjdHVhbGx5IGJlIGFuIGF0dGFj
ayBhZ2FpbnN0IGEgY29uc3RyYWluZWQgZGV2aWNlLiAgU2FtZSBzaXR1YXRpb24KICAgaW4g
U2VjdGlvbiA1LjMuMi4KCiAgIFNlY3Rpb24gNiwgY2xlYXJseSBzdGF0ZXMgdGhhdDoKCiAg
ICAgIGl0IHNob3VsZCBiZSBub3RlZCB0aGF0IG1hbnkgb2YgdGhlIHBhY2tldCBwcm9jZXNz
aW5nIHJ1bGVzIGFyZQogICAgICBkZW5vdGVkIGhlcmUgd2l0aCAiU0hPVUxEIiBidXQgbWF5
IGJlIHVwZGF0ZWQgdG8gIk1VU1QiIHdoZW4KICAgICAgZnVydGhlciBpbXBsZW1lbnRhdGlv
biBleHBlcmllbmNlIHByb3ZpZGVzIGJldHRlciBndWlkYW5jZS4KCiAgIHRodXMgdGhlIFNI
T1VMRCBoZXJlIGlzIGluZm9ybWF0aXZlIG9mIGZ1dHVyZSBndWlkYW5jZS4KCiAgIFRoZSBT
SE9VTEQgaW4gU2VjdGlvbiA2LjMsIGNsZWFybHkgcmVmbGVjdHMgbmV3IHdvcmsgd2l0aCB0
aGUgbmV3CiAgIFNwb25nZSBGdW5jdGlvbiBLREZzOgoKICAgVGhlIGtleXMgZGVyaXZlZCBm
b3IgdGhlIFBhaXItd2lzZSBLZXkgU0EgYXJlIG5vdCB1c2VkIGR1cmluZyB0aGUgSElQCiAg
IERFWCBoYW5kc2hha2UuICBJbnN0ZWFkLCB0aGVzZSBrZXlzIGFyZSBtYWRlIGF2YWlsYWJs
ZSBhcyBwYXlsb2FkCiAgIHByb3RlY3Rpb24ga2V5cyAoZS5nLiwgZm9yIElQc2VjKS4gIFNv
bWUgcGF5bG9hZCBwcm90ZWN0aW9uCiAgIG1lY2hhbmlzbXMgaGF2ZSB0aGVpciBvd24gS2V5
IERlcml2YXRpb24gRnVuY3Rpb24sIGFuZCBpZiBzbyB0aGlzCiAgIG1lY2hhbmlzbSBTSE9V
TEQgYmUgdXNlZC4gIE90aGVyd2lzZSwgdGhlIEhJUCBERVggS0VZTUFUIHByb2Nlc3MgTVVT
VAogICBiZSB1c2VkIHRvIGRlcml2ZSB0aGUga2V5cyBvZiB0aGUgUGFpci13aXNlIEtleSBT
QSBiYXNlZCBvbiB0aGUKCgoKCk1vc2tvd2l0eiwgZXQgYWwuICAgICAgICBFeHBpcmVzIEF1
Z3VzdCAxNSwgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDU3XQoMCkludGVybmV0LURyYWZ0
ICAgICAgICAgICBISVAgRGlldCBFWGNoYW5nZSAoREVYKSAgICAgICAgICAgRmVicnVhcnkg
MjAyMAoKCiAgIGNvbmNhdGVuYXRpb24gb2YgdGhlIHJhbmRvbSB2YWx1ZXMgdGhhdCBhcmUg
Y29udGFpbmVkIGluIHRoZQogICBleGNoYW5nZWQgRU5DUllQVEVEX0tFWSBwYXJhbWV0ZXJz
LgoKICAgSW4gU2VjdGlvbiA2LjUsIHRoZSByZWFzb24gd2h5IHRoaXMgaXMgYSBTSE9VTEQg
c2hvdWxkIGJlIGNsZWFyIHRvCiAgIGFueSBpbXBsZW1lbnRlci4gIFRoYXQgaXMgdGhlIEhJ
VCBTdWl0ZSBsaXN0IGluIEkxIGlzIGEgZGVzaXJlIG9uCiAgIHdoYXQgc3VpdGUgdG8gdXNl
LiAgVGhlIFJlc3BvbmRlciBtYXkgaGF2ZSAnZGlmZmVyZW50IGlkZWFzJyBhYm91dAogICB0
aGUgU3VpdGUgdG8gdXNlIChsaWtlIHdoYXQgaXQgc3VwcG9ydHMpLiAgVGh1cyBpdCBpcyBi
ZXN0IHRoYXQgdGhlCiAgIFJlc3BvbmRlciBzZWxlY3RzIGEgREVYIEhJVCwgYnV0IHRoZXJl
IGFyZSBnb29kIHJlYXNvbnMsIGluIGFuCiAgIGltcGxlbWVudGF0aW9uIG5vdCB0byBkbyBz
by4gIFRoZSBpbXBsZW1lbnRlciBzaG91bGQga25vdyB0aGlzIGFuZAogICB3aWxsIGRlYWwg
d2l0aCBpdCBhcHByb3ByaWF0ZWx5LgoKICAgVGhlIFNIT1VMRHMgaW4gU2VjdGlvbiA2Ljcg
YW5kIFNlY3Rpb24gNi45IGFyZSB0aGVyZSBmb3IKICAgY29uc2lkZXJhdGlvbnMgZm9yIGNv
bnN0cmFpbmVkIHN5c3RlbXMuICBTb21lIGNvbnN0cmFpbmVkIHN5c3RlbXMKICAgbmVlZCB0
aGlzIGFwcHJvYWNoLCBvdGhlcnMgbWF5IG5vdC4KCiAgIFRoZSAybmQgU0hPVUxEIGluIFNl
Y3Rpb24gNyBmb2xsb3dzIHRoZSBzYW1lIGFzIGFib3ZlLiAgQUNMcyBhbmQKICAgY29uc3Ry
YWluZWQgc3lzdGVtcyB0ZW5kIHRvIGdvIHRvZ2V0aGVyLgoKICAgU2ltaWxhcmx5IGluIFNl
Y3Rpb24gOCB0aGUgU0hPVUxEIGlzIGFnYWluIGlzIGhpZ2hsaWdodGluZwogICBjb25zdHJh
aW5lZCBzeXN0ZW0gcHJvY2Vzc2luZyBjb25zaWRlcmF0aW9ucy4KCkF1dGhvcnMnIEFkZHJl
c3NlcwoKICAgUm9iZXJ0IE1vc2tvd2l0eiAoZWRpdG9yKQogICBIVFQgQ29uc3VsdGluZwog
ICBPYWsgUGFyaywgTUkKICAgVVNBCgogICBFTWFpbDogcmdtQGh0dC1jb25zdWx0LmNvbQoK
CiAgIFJlbmUgSHVtbWVuCiAgIEhpcnNjaG1hbm4gQXV0b21hdGlvbiBhbmQgQ29udHJvbAog
ICBTdHV0dGdhcnRlciBTdHJhc3NlIDQ1LTUxCiAgIE5lY2thcnRlbnpsaW5nZW4gIDcyNjU0
CiAgIEdlcm1hbnkKCiAgIEVNYWlsOiByZW5lLmh1bW1lbkBiZWxkZW4uY29tCgoKICAgTWlp
a2EgS29tdQogICBFcmljc3NvbiBSZXNlYXJjaCwgRmlubGFuZAogICBIaXJzYWxhbnRpZSAx
MQogICBKb3J2YXMgIDAyNDIwCiAgIEZpbmxhbmQKCiAgIEVNYWlsOiBtaWlrYS5rb211QGVy
aWNzc29uLmNvbQoKCgoKTW9za293aXR6LCBldCBhbC4gICAgICAgIEV4cGlyZXMgQXVndXN0
IDE1LCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgNThdCg==
--------------4A6C0F234EBB3F6EAF909540
Content-Type: text/xml; charset=UTF-8;
 name="draft-ietf-hip-dex.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="draft-ietf-hip-dex.xml"

<?xml version="1.0" encoding="US-ASCII" ?>


<!DOCTYPE rfc SYSTEM "rfc2629.dtd" []>


<?rfc toc="yes" ?>
<?rfc rfcedstyle="yes" ?>
<?rfc subcompact="no" ?>

<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>

<rfc docName="draft-ietf-hip-dex-13" category="std" ipr="trust200902">
 <front>
   <title abbrev="HIP Diet EXchange (DEX)">
     HIP Diet EXchange (DEX)</title>

	<author initials="R." surname="Moskowitz"
	fullname="Robert Moskowitz" role="editor">
	<organization abbrev="HTT Consulting">HTT Consulting
	</organization>
	<address>
	  <postal>
		<street></street>
		<city>Oak Park</city>
		<region>MI</region>
		<country>USA</country>
	  </postal>
	<email>rgm@htt-consult.com</email>
	</address>
	</author>

	<author initials="R." surname="Hummen" fullname="Rene Hummen">
	<organization abbrev="Hirschmann Automation and Control">Hirschmann Automation and Control</organization>
	<address>
	  <postal>
		<street>Stuttgarter Strasse 45-51</street>
		<city>Neckartenzlingen</city>
		<code>72654</code>
		<country>Germany</country>
	  </postal>
	<email>rene.hummen@belden.com</email>
	</address>
	</author>

	<author initials="M." surname="Komu" fullname="Miika Komu">
	<organization abbrev="Ericsson">Ericsson Research, Finland</organization>
	<address>
	  <postal>
            <street>Hirsalantie 11</street>
	    <code>02420</code>
            <city>Jorvas</city>
            <country>Finland</country>
	  </postal>
	<email>miika.komu@ericsson.com</email>
	</address>
	</author>


	<date year="2020" />

	<area>Internet</area>
	<workgroup>HIP WG</workgroup>
	<keyword>RFC</keyword>
	<keyword>Request for Comments</keyword>
	<keyword>I-D</keyword>
	<keyword>Internet-Draft</keyword>
	<keyword>HIP</keyword>

   <abstract>

     <t>
       This document specifies the Host Identity Protocol Diet EXchange (HIP
       DEX), a variant of the Host Identity Protocol Version 2 (HIPv2). The HIP
       DEX protocol design aims at reducing the overhead of the employed
       cryptographic primitives by omitting public-key signatures and hash
       functions.
     </t>

     <t>
       The HIP DEX protocol is primarily designed for computation or
       memory-constrained sensor/actuator devices.
       Like HIPv2, it is expected
       to be used together with a suitable security protocol such as the
       Encapsulated Security Payload (ESP) for the protection of upper layer
       protocol data.
       Unlike HIPv2, HIP DEX does not support Perfect Forward Secrecy (PFS), and
       MUST only be used on devices where PFS is prohibitively expensive.
       In addition, HIP DEX can also be used as a keying
       mechanism for security primitives at the MAC layer, e.g., for IEEE
       802.15.4 networks.
     </t>

     <t>
     </t>
     
   </abstract>

 </front>
 <middle>

   <section anchor="intro" title="Introduction">

     <t>
       This document specifies the Host Identity Protocol Diet EXchange (HIP
       DEX). HIP DEX builds on the Base EXchange (BEX) of the Host Identity
       Protocol Version 2 (HIPv2) <xref target="RFC7401" />.
       HIP DEX preserves the protocol semantics as well as the general packet
       structure of HIPv2. Hence, it is recommended that <xref
       target="RFC7401" /> is well-understood before reading
       this document.
     </t>

     <t>
       The main differences between HIP BEX and HIP DEX are:
     </t>
     <t>
         <list style="numbers">
           <t>
             HIP DEX uses a different set of cryptographic primitives compared
             to HIP BEX with the goal to reduce the protocol overhead:
              <list style="symbols">
                <t>Peer authentication and key agreement in HIP DEX are based on
                   static Elliptic Curve Diffie-Hellman (ECDH) key pairs. This
                   replaces the use of public-key signatures and ephemeral
                   Diffie-Hellman key pairs in HIPv2.</t>
                <t>HIP DEX uses AES-CTR for symmetric-key encryption and
                   AES-CMAC as its MACing function. In contrast, HIPv2 currently
                   supports AES-CBC for encryption and HMAC-SHA-1, HMAC-SHA-256,
                   or HMAC-SHA-384 for MACing.</t>
                <t>HIP DEX defines a simple fold function to efficiently
                   generate HITs, whereas the HIT generation of HIPv2 is based
                   on SHA-1, SHA-256, or SHA-384.</t>
              </list>
           </t>
           <t>
             HIP DEX forfeits the HIPv2 Perfect Forward Secrecy property of
             HIPv2 due to the removal of the ephemeral Diffie-Hellman key
             agreement. As this weakens the security properties of HIP DEX,
	     it MUST be used only with constrained devices where this is prohibitively expensive as further explained in <xref target="applicability" />.
           </t>
           <t>
             HIP DEX forfeits the use of digital signatures with the removal of
             a hash function. Peer authentication with HIP DEX, therefore, is
             based on the use of the ECDH derived key in the HIP_MAC parameter.
           </t>
           <t>
             With HIP DEX, the ECDH derived key is only used to protect HIP
             packets. Separate session key(s) are used to protect the
             transmission of upper layer protocol data. These session key(s) are
             established via a new secret exchange during the handshake.
           </t>
           <t>
             HIP DEX introduced a new, optional retransmission strategy that is
             specifically designed to handle potentially extensive processing
             times of the employed cryptographic operations on computationally
             constrained devices.
           </t>
         </list>
     </t>

     <t>
       By eliminating the need for public-key signatures and the ephemeral DH
       key agreement, HIP DEX reduces the computational, energy, transmission,
       and memory requirements for public-key cryptography (see <xref
       target="LN08" />) in the HIPv2 protocol design. This makes HIP DEX especially
       suitable for constrained devices as defined in <xref target="RFC7228" />.
     </t>

     <t>
       This document focuses on the protocol specifications related to
       differences between HIP BEX and HIP DEX. Where differences are not
       called out explicitly, the protocol specification of HIP DEX is the same
       as defined in <xref target="RFC7401" />.
     </t>

     <section anchor="dex" title="The HIP Diet EXchange (DEX)">

       <t>
         The HIP Diet EXchange is a two-party cryptographic protocol used to
         establish a secure communication context between hosts. The first party
         is called the Initiator and the second party the Responder. The
         four-packet exchange helps to make HIP DEX Denial of Service (DoS)
         resilient. The Initiator and the Responder exchange their static
         Elliptic Curve Diffie-Hellman (ECDH) keys in the R1 and I2 handshake
         packet. The parties then authenticate each other in the I2 and R2
         handshake packet based on the ECDH-derived keying material. The
         Initiator and the Responder additionally transmit keying material for
         the session key in these last two handshake packets (I2 and R2). This is to prevent
         overuse of the static ECDH-derived keying material. Moreover, the
         Responder starts a puzzle exchange in the R1 packet and the Initiator
         completes this exchange in the I2 packet before the Responder performs
         computationally expensive operations or stores any state from the
         exchange. Given this handshake structure, HIP DEX operationally is very
         similar to HIP BEX. Moreover, the employed model is also fairly
         equivalent to 802.11-2007 <xref target="IEEE.802-11.2007" /> Master Key
         and Pair-wise Transient Key, but handled in a single exchange.
       </t>

       <t>
         HIP DEX does not have the option to encrypt the Host Identity
         of the Initiator in the I2 packet. The Responder's Host
         Identity also is not protected. Thus, contrary to HIPv2, HIP
         DEX does not provide for end-point anonymity and any
         signaling (i.e., HOST_ID parameter contained with an
         ENCRYPTED parameter) that indicates such anonymity should be
         ignored.
      </t>

       <t>
         As in <xref target="RFC7401" />, data packets start to flow after the
         R2 packet. The I2 and R2 packets may carry a data payload in the
         future. The details of this may be defined later.
       </t>

       <t>
         An existing HIP association can be updated with the update mechanism
         defined in <xref target="RFC7401" />. Likewise, the
         association can be torn down with the defined closing mechanism for
         HIPv2 if it is no longer needed. In doing so, HIP DEX omits the
         HIP_SIGNATURE parameters of the original HIPv2 specification.
       </t>

       <t>
         Finally, HIP DEX is designed as an end-to-end authentication and key
         establishment protocol. As such, it can be used in combination with
         Encapsulated Security Payload (ESP) <xref target="RFC7402" /> as well
         as with other end-to-end security protocols. In addition, HIP DEX can
         also be used as a keying mechanism for security primitives at the MAC
         layer, e.g., for IEEE 802.15.4 networks <xref
         target="IEEE.802-15-4.2011" />. It is worth mentioning that the HIP
         DEX base protocol does not cover all the fine-grained policy control
         found in Internet Key Exchange Version 2 (IKEv2) <xref
         target="RFC7296" /> that allows IKEv2 to support complex gateway
         policies. Thus, HIP DEX is not a replacement for IKEv2.
       </t>
     </section>

     <section anchor="applicability" title="Applicability">

       <t>HIP DEX, by design, does not support Perfect Forward Secrecy
       (PFS). All current PFS approaches use Ephemeral DH, secured and
       identified in some manner (for example, with SIGMA or PAKE).
       There are classes of devices, like those 
       based on the 8-bit 8051 microprocessor, where this is prohibitively expensive.
       Past experience with the 8051 based ZWAVE ZW0500 product has shown that EC25519 key pair
       generation exceeded 10 seconds with unacceptable battery
       consumption. The ECDH wide-multiply of the static-static keys took
       8 - 9 seconds with measurable battery drain.  For these
       class of devices, the possible risk of no PFS has to be weighed
       against the risk of theft of preshared keys alternatives. Also,
       it is often the case that HIP DEX is only performed during device
       join time, and, thus, no PFS is considered an acceptable
       compromise.
       </t>

       <t>Also, it is often the case that HIP DEX is only performed 
       during device join time, and thus no PFS is considered an 
       acceptable compromised.
       </t> 

	   <t>HIP DEX MUST only be used in communicating with such 
	   constrained devices (e.g., class 0 and 1 devices as defined in 
	   section 3 in <xref target="RFC7228" />).</t>
       
     </section>
     
     <section title="Memo Structure">
       <t>
         The rest of this memo is structured as follows. <xref target="terms"
         /> defines the central keywords, notation, and terms used throughout
         this document. <xref target="HI" /> defines the structure of the Host
         Identity and its various representations. <xref
         target="proto_overview" /> gives an overview of the HIP Diet EXchange
         protocol. Sections <xref target="sec-param-tlv" format="counter" />
         and <xref target="packet_processing" format="counter" /> define the
         detailed packet formats and rules for packet processing. Finally,
         Sections <xref target="sec-policy" format="counter" />,
	 <xref target="dex-bex-interop" format="counter" />,
	 <xref
         target="sec-considerations" format="counter" />, and <xref
         target="iana" format="counter" /> discuss policy, interoperability between HIPv2 vs DEX, security, and IANA
         considerations, respectively. Appendix <xref target="twofactor" format="counter" /> defines a two factor authentication scheme and
	 Appendix <xref target="IESG" format="counter"/> highlights some discussions with the IESG.
       </t>
     </section>

   </section>

   
   <section anchor="terms" title="Terms, Notation and Definitions">
     <section title="Requirements Terminology">

       <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
       "OPTIONAL" in this document are to be interpreted as described in BCP 14
       <xref target="RFC2119" /> <xref target="RFC8174" /> when, and only when, they appear in all
       capitals, as shown here.
       </t>
     </section>

     <section anchor="notation" title="Notation">
       <t>
         <list style="hanging">
           <t hangText="[x] ">
             indicates that x is optional.
           </t>
           <t hangText="&#123;x&#125; ">
             indicates that x is encrypted.
           </t>
           <t hangText="X(y) ">
             indicates that y is a parameter of X.
           </t>
           <t hangText="&lt;x&gt;i ">
             indicates that x exists i times.
           </t>
           <t hangText="--&gt; ">
             signifies "Initiator to Responder" communication (requests).
           </t>
           <t hangText="&lt;-- ">
             signifies "Responder to Initiator" communication (replies).
           </t>
           <t hangText="| ">
             signifies concatenation of information - e.g., X | Y is the
             concatenation of X and Y.
           </t>
           <t hangText="FOLD (X, K) ">
             denotes the partitioning of X into n K-bit segments and the
             iterative folding of these segments via XOR. I.e., X = x_1, x_2,
             ..., x_n, where x_i is of length K and the last segment x_n is
             padded to length K by appending 0 bits. FOLD then is computed as
             FOLD(X, K) = t_n, where t_i = t_i-1 XOR x_i and t_1 = x_1.
           </t>
           <t hangText="Ltrunc (M(x), K) ">
             denotes the lowest order K bits of the result of the MAC function M
             on the input x.
           </t>
           <t hangText="sort (HIT-I | HIT-R) ">
             is defined as the network byte order
             concatenation of the two HITs, with the smaller HIT preceding the
             larger HIT, resulting from the numeric comparison of the two HITs
             interpreted as positive (unsigned) 128-bit integers in network byte
             order.
           </t>
         </list>
       </t>
     </section>
     <section title="Definitions">
       <t>
         <list style="hanging">
           <t hangText="CKDF:">
             CMAC-based Key Derivation Function.
           </t>
           <t hangText="CMAC:">
             The Cipher-based Message Authentication Code with the 128-bit
             Advanced Encryption Standard (AES) defined in <xref
             target="RFC4493">RFC 4493</xref>.
           </t>
           <t hangText="HIP association:">
             The shared state between two peers after completion of the HIP DEX
             handshake.
           </t>
           <t hangText="HIP DEX (Diet EXchange):">
             The ECDH-based HIP handshake for establishing a new HIP
             association.
           </t>
           <t hangText="HIT Suite:">
             A HIT Suite groups all algorithms that are required to generate
             and use an HI and its HIT. In particular, these algorithms are: 1)
             ECDH and 2) FOLD.
           </t>
           <t hangText="HI (Host Identity):">
             The static ECDH public key that represents the identity of the
             host. In HIP DEX, a host proves ownership of the private key
             belonging to its HI by creating a HIP_MAC with the derived ECDH
             key (see <xref target="HI" />).
           </t>
           <t hangText="HIT (Host Identity Tag):">
             A shorthand for the HI in IPv6 format. It is generated by folding
             the HI (see <xref target="HI" />).
           </t>
           <t hangText="Initiator:">
             The host that initiates the HIP DEX handshake. This role is
             typically forgotten once the handshake is completed.
           </t>
           <t hangText="KEYMAT:">
			 Keying material.  That is, the bit string(s) used as 
			 cryptographic keys.
           </t>
           <t hangText="Length of the Responder's HIT Hash Algorithm (RHASH_len):">
             The natural output length of RHASH in bits.
           </t>
           <t hangText="Nonce #I:">
             Nonce #I refers to the corresponding field in the
	     PUZZLE parameter (see section 5.2.4 in <xref target="RFC7401" />.
	     It is also referred to as "random value #I" in this document.
           </t>
           <t hangText="OGA (Orchid Generation Algorithm):">
             Hash function used in generating the ORCHID.
           </t>
           <t hangText="ORCHID (Overlay Routable Cryptographic Hash Identifiers):">
			 IPv6 addresses intended to be used as endpoint identifiers 
			 at applications and Application Programming Interfaces 
			 (APIs) and not as identifiers for network location at the 
			 IP layer.
           </t>
           <t hangText="Puzzle difficulty K:">
             The Initiator has to compute a solution for the puzzle. The level
	     of computational difficulty is denoted by the #K field in the puzzle
	     parameter (see section 5.2.4 in <xref target="RFC7401" />.
           </t>
           <t hangText="Responder:">
            The host that responds to the Initiator in the HIP DEX handshake.
            This role is typically forgotten once the handshake is completed.
           </t>
           <t hangText="RHASH (Responder's HIT Hash Algorithm):">
             In HIP DEX, RHASH is redefined as CMAC. Still, note that CMAC is a
             message authentication code (MAC) and not a cryptographic hash
             function. Thus, a mapping from CMAC(x,y) to RHASH(z) must be
             defined where RHASH is used. Moreover, RHASH has different security
             properties in HIP DEX and is not used for HIT generation.
           </t>
         </list>
       </t>
     </section>

   </section>

   <section anchor="HI" title="Host Identity (HI) and its Structure">
     <t>
       In this section, the properties of the Host Identity and Host Identity
       Tag are discussed, and the exact format for them is defined. In HIP, the
       public key of an asymmetric key pair is used as the Host Identity (HI).
       Correspondingly, the host itself is defined as the entity that holds the
       private key of the key pair. See the HIP architecture specification
       <xref target="I-D.ietf-hip-rfc4423-bis" /> for more details on the
       difference between an identity and the corresponding identifier.
     </t>
     <t>
       HIP DEX implementations MUST support the Elliptic Curve Diffie-Hellman
       (ECDH) <xref target="RFC6090" /> key exchange for generating the HI as
       defined in <xref target="host_id" />. No additional algorithms are
       supported at this time.
     </t>
     <t>
       A compressed encoding of the HI, the Host Identity Tag (HIT), is used in
       the handshake packets to represent the HI. The DEX Host Identity Tag
       (HIT) is different from the BEX HIT in two ways:
     </t>
     <t>
         <list style="symbols">
           <t>
             The HIT suite ID MUST only be a DEX HIT ID (see <xref
             target="hit_suite_list" />).
           </t>
           <t>
             The DEX HIT is not generated via a cryptographic hash. Rather,
             it is a compression of the HI.
           </t>
         </list>
     </t>
     <t>
       Due to the latter property, an attacker may be able to find a collision
       with a HIT that is in use. Hence, policy decisions such as access
       control MUST NOT be based solely on the HIT. Instead, the HI of a host
       SHOULD be considered.
     </t>
     <t>
       Carrying HIs and HITs in the header of user data packets would
       increase the overhead of packets. Thus, it is not expected that
       these parameters are carried in every packet, but other methods
       are used to map the data packets to the corresponding HIs. In
       some cases, this allows use of HIP DEX without any additional
       headers in the user data packets. For example, if ESP is used
       to protect data traffic, the Security Parameter Index (SPI)
       carried in the ESP header can be used to map the encrypted data
       packet to the correct HIP DEX association. When other user data
       packet formats are used, the corresponding extensions need to
       define a replacement for the ESP_TRANSFORM <xref
       target="RFC7402" /> parameter along with associated semantics, but
       this procedure is outside the scope of this document.
     </t>

     <section anchor="HIT" title="Host Identity Tag (HIT)">
       <t>
         With HIP DEX, the HIT is a 128-bit value - a compression of the HI
         prepended with a specific prefix. There are two advantages of using a
         hashed encoding over the actual variable-sized public key in
         protocols. First, the fixed length of the HIT keeps packet sizes
         manageable and eases protocol coding. Second, it presents a consistent
         format for the protocol, independent of the underlying identity
         technology in use.
       </t>
       <t>
         The structure of the HIT is based on <xref target="RFC7343">RFC
         7343</xref>, called Overlay Routable Cryptographic Hash Identifiers
         (ORCHIDs), and consists of three parts: first, an IANA assigned prefix
         to distinguish it from other IPv6 addresses. Second, a four-bit
         encoding of the algorithms that were used for generating the HI and
         the compressed representation of the HI. Third, a 96-bit hashed
         representation of the HI. In contrast to HIPv2, HIP DEX employs HITs
         that are NOT generated by means of a cryptographic hash. Instead, the
         HI is compressed to 96 bits as defined in the following section.
       </t>

     </section>

     <section title="Generating a HIT from an HI" anchor="gener_hit">
       <t>
         The HIT does not follow the exact semantics of an ORCHID as there is
         no hash function in HIP DEX. Still, its structure is strongly aligned
         with the ORCHID design. The same IPv6 prefix used in HIPv2 is used for
         HIP DEX. The HIP DEX HIT suite (see <xref target="iana" />) is used
         for the four bits of the Orchid Generation Algorithm (OGA) field in
         the ORCHID. The hash representation in an ORCHID is replaced with
         FOLD(HI,96).
       </t>
      <section title="Why Introduce FOLD" anchor="foldVcmac">
        <t>
		  HIP DEX, by design lacks a cryptographic hash function.  The 
		  generation of the HIT is one of the few places in the 
		  protocol where this presents a challenge.  CMAC was first 
		  considered for this purpose, but to use CMAC for HIT 
		  generation would require using a static key, either ZERO or 
		  some published value.  NIST does not consider CMAC an 
		  approved cryptograhic hash as:
           <list style="empty">
            <t>
				It is straightforward to demonstrate that CMAC is not 
				collision-resistant for any choice of a published key.
		    </t>
           </list>
       </t>
        <t>
		  Since collision-resistance is not possible with the tools at 
		  hand, any reasonable function (e.g. FOLD) that takes the full 
		  value of the HI into generating the HIT can be used, provided 
		  that collision detection is part of the HIP-DEX deployment 
		  design. This is achieved here through either an ACL or some 
		  other lookup process that externally binds the HIT and HI.
        </t>
      </section>
     </section>
   </section>

   <section anchor="proto_overview" title="Protocol Overview">

     <t>
       This section gives a simplified overview of the HIP DEX protocol
       operation and does not contain all the details of the packet formats or
       the packet processing steps. <xref target="sec-param-tlv" /> and <xref
       target="packet_processing" /> describe these aspects in more detail and
       are normative in case of any conflicts with this section. Importantly,
       the information given in this section focuses on the differences between
       the HIPv2 and HIP DEX protocol specifications.
     </t>

     <section anchor="hip-base-exch" title="Creating a HIP Association">

       <t>
         By definition, the system initiating a HIP Diet EXchange is the
         Initiator, and the peer is the Responder. This distinction is
         typically forgotten once the handshake completes, and either party can
         become the Initiator in future communications.
       </t>

       <t>
         The HIP Diet EXchange serves to manage the establishment of state
         between an Initiator and a Responder. The first packet, I1, initiates
         the exchange, and the last three packets, R1, I2, and R2, constitute
         an authenticated Diffie-Hellman <xref target="DH76" /> key exchange
         for the Master Key SA generation. This Master Key SA is used by the
         Initiator and the Responder to wrap secret keying material in the I2
         and R2 packets. Based on the exchanged keying material, the peers then
         derive a Pair-wise Key SA if cryptographic keys are needed, e.g., for
         ESP-based protection of user data.
       </t>

       <t>
         The Initiator first sends a trigger packet, I1, to the Responder. This
         packet contains the HIT of the Initiator and the HIT of the Responder,
         if it is known. Moreover, the I1 packet initializes the negotiation of
         the Diffie-Hellman group that is used for generating the the Master
         Key SA. Therefore, the I1 packet contains a list of Diffie-Hellman
         Group IDs supported by the Initiator. Note that in some cases it may
         be possible to replace this trigger packet by some other form of a
         trigger, in which case the protocol starts with the Responder sending
         the R1 packet. In such cases, another mechanism to convey the
         Initiator's supported DH Groups (e.g., by using a default group) must
         be specified.
       </t>

       <t>
         The second packet, R1, starts the actual authenticated Diffie-Hellman
         key exchange. It contains a puzzle - a cryptographic challenge that
         the Initiator must solve before continuing the exchange. The level of
         difficulty of the puzzle can be adjusted based on level of trust with
         the Initiator, current load, or other factors. In addition, the R1
         contains the Responder's Diffie-Hellman parameter and lists of
         cryptographic algorithms supported by the Responder. Based on these
         lists, the Initiator can continue, abort, or restart the handshake
         with a different selection of cryptographic algorithms.
       </t>

       <t>
         In the I2 packet, the Initiator MUST display the solution to the
         received puzzle. Without a correct solution, the I2 packet is
         discarded. The I2 also contains a key wrap parameter that carries
         secret keying material of the Initiator. This keying material is only
         half of the final session key. The packet is authenticated by the sender
         (Initiator) via a MAC.
       </t>

       <t>
         The R2 packet acknowledges the receipt of the I2 packet and completes
         the handshake. The R2 contains a key wrap parameter that carries the
         rest of the keying material of the Responder. The packet is
         authenticated by the sender (Responder) via a MAC.
       </t>

       <t>
         The HIP DEX handshake is illustrated below. The terms "ENC(DH,x)" and
         "ENC(DH,y)" refer to the random values x and y that are wrapped based
         on the Master Key SA (indicated by ENC and DH). Note that x and y each
         constitute half of the final session key material. The packets also
         contain other parameters that are not shown in this figure.
       </t>

       <figure title="Figure 1: High-level overview of the HIP Diet EXchange">
         <artwork>
   Initiator                                     Responder

               I1:
              ---------------------------------&gt;
                                                 remain stateless
               R1: puzzle, HI
              &lt;--------------------------------
solve puzzle
perform ECDH
encrypt x
               I2: solution, HI, ENC(DH,x), mac
              ---------------------------------&gt;
                                                 check puzzle
                                                 perform ECDH
                                                 check MAC
                                                 decrypt x
                                                 encrypt y
               R2: ENC(DH,y), mac
              &lt;---------------------------------
check MAC
decrypt y

         </artwork>
       </figure>

       <section anchor="hip-cookie" title="HIP Puzzle Mechanism">

         <t>
           The purpose of the HIP puzzle mechanism is to protect the Responder
           from a number of denial-of-service threats. It allows the Responder
           to delay state creation until receiving the I2 packet. Furthermore,
           the puzzle allows the Responder to use a fairly cheap calculation to
           check that the Initiator is "sincere" in the sense that it has
           churned enough CPU cycles in solving the puzzle.
         </t>

         <t>
           The puzzle mechanism enables a Responder to immediately reject an I2
           packet if it does not contain a valid puzzle solution. To verify the
           puzzle solution, the Responder only has to compute a single CMAC
           operation. After a successful puzzle verification, the Responder can
           securely create session-specific state and perform CPU-intensive
           operations such as a Diffie-Hellman key generation. By varying the
           difficulty of the puzzle, the Responder can frustrate CPU or memory
           targeted DoS attacks. Under normal network conditions, the puzzle
           difficulty SHOULD be zero, thus effectively reverting the puzzle
           mechanism to a cookie-based DoS protection mechanism. Without
           setting the puzzle difficulty to zero under normal network
           conditions, potentially scarce computation resources at the
           Initiator would be churned unnecessarily.
         </t>

         <t>
           Conceptually, the puzzle mechanism in HIP DEX is the same as in
           HIPv2. Hence, this document refers to Sections 4.1.1 and 4.1.2 in
           <xref target="RFC7401" /> for more detailed information about the
           employed mechanism. Notably, the only differences between the puzzle
           mechanism in HIP DEX and HIPv2 are that HIP DEX does not employ
           pre-computation of R1 packets and uses CMAC instead of a hash
           function for solving and verifying a puzzle. The implications of
           these changes on the puzzle implementation are discussed in <xref
           target="cmac-puzzle" />.
         </t>
       </section>

     <section anchor="state-machine" title="HIP State Machine">
       <t>
         The HIP DEX state machine has the same states as the HIPv2 state
         machine (see 4.4. in <xref target="RFC7401" />). However, HIP DEX
         features a retransmission strategy with an optional reception
         acknowledgement for the I2 packet. The goal of this additional
         acknowledgement is to reduce premature I2 retransmissions in case of
         devices with low computation resources <xref target="HWZ13" />. As a
         result, there are minor changes regarding the transitions in the HIP
         DEX state machine. The following section documents these differences
         compared to HIPv2.
       </t>

       <section anchor="retransmissions"
                title="HIP DEX Retransmission Mechanism">
         <t>
           For the retransmission of I1 and I2 packets, the Initiator adopts
           the retransmission strategy of HIPv2 (see Section 4.4.3. in <xref
           target="RFC7401" />). This strategy is based on a timeout that is
           set to a value larger than the worst-case anticipated round-trip
           time (RTT). For each received I1 or I2 packet, the Responder sends
           an R1 or R2 packet, respectively. This design trait enables the
           Responder to remain stateless until the reception and successful
           processing of the I2 packet. The Initiator stops retransmitting I1
           or I2 packets after the reception of the corresponding R1 or R2. If
           the Initiator did not receive an R1 packet after I1_RETRIES_MAX
           tries, it stops I1 retransmissions. Likewise, it stops
           retransmitting the I2 packet after I2_RETRIES_MAX unsuccessful tries.
         </t>

         <t>
           For repeatedly received I2 packets, the Responder SHOULD NOT perform
           operations related to the Diffie-Hellman key exchange or the keying
           material wrapped in the ENCRYPTED_KEY parameters. Instead, it SHOULD
           re-use the previously established state to re-create the
           corresponding R2 packet in order to prevent unnecessary computation
           overhead.
         </t>

         <t>
           The potentially high processing time of an I2 packet at a
           (resource-constrained) Responder may cause premature retransmissions
           if the time required for I2 transmission and processing exceeds the
           RTT-based retransmission timeout. Thus, the Initiator should also
           take the processing time of the I2 packet at the Responder into
           account for retransmission purposes. To this end, the Responder MAY
           notify the Initiator about the anticipated delay once the puzzle
           solution was successfully verified and if the remaining I2 packet
           processing incurs a high processing delay. The Responder MAY
           therefore send a NOTIFY packet (see Section 5.3.6. in <xref
           target="RFC7401" />) to the Initiator before the Responder commences
           the ECDH operation. The NOTIFY packet serves as an acknowledgement
           for the I2 packet and consists of a NOTIFICATION parameter with
           Notify Message Type I2_ACKNOWLEDGEMENT (see Section 5.2.19. in <xref
           target="RFC7401" />). The NOTIFICATION parameter contains the
           anticipated remaining processing time for the I2 packet in
           milliseconds as two-octet Notification Data. This processing time
           can, e.g., be estimated by measuring the computation time of the ECDH
           key derivation operation during the Responder start-up procedure.
           After the I2 processing has finished, the Responder sends the regular
           R2 packet.
         </t>

         <t>
           When the Initiator receives the NOTIFY packet, it sets the I2
           retransmission timeout to the I2 processing time indicated in the
           NOTIFICATION parameter plus half the RTT-based timeout value. In
           doing so, the Initiator MUST NOT set the retransmission timeout to a
           higher value than allowed by a local policy. This is to prevent
           unauthenticated NOTIFY packets from maliciously delaying the
           handshake beyond a well-defined upper bound in case of a lost R2
           packet. At the same time, this extended retransmission timeout
           enables the Initiator to defer I2 retransmissions until the point in
           time when the Responder should have completed its I2 packet
           processing and the network should have delivered the R2 packet
           according to the employed worst-case estimates.
         </t>

       </section>

       <section title="HIP State Processes">

         <t>
           HIP DEX clarifies or introduces the following new transitions.
         </t>

         <texttable align="left"
                    title="I2-SENT - Waiting to finish the HIP Diet EXchange"
                    anchor="table_i2sent">
           <preamble>System behavior in state I2-SENT, <xref
               target="table_i2sent" />.</preamble>
           <ttcol width="30%" align="left">Trigger</ttcol>
           <ttcol align="left">Action</ttcol>
           <c>Receive NOTIFY, process</c>
           <c>Set I2 retransmission timer to value in I2_ACKNOWLEDGEMENT
           Notification Data plus 1/2 RTT-based timeout value and stay at
           I2-SENT</c>
           <c /><c />
           <c>Timeout</c><c>Increment trial counter</c>
           <c /><c />
           <c /><c>If counter is less than I2_RETRIES_MAX, send I2, reset timer
           to RTT-based timeout, and stay at I2-SENT</c>
           <c /><c />
           <c /><c>If counter is greater than I2_RETRIES_MAX, go to E-FAILED</c>
         </texttable>

       </section>


       <section anchor="hipstates" title="Simplified HIP State Diagram">

         <t>
           The following diagram shows the major state transitions.
           Transitions based on received packets implicitly assume that
           the packets are successfully authenticated or processed.
         </t>

         <figure>
           <artwork>
                            +--+       +----------------------------+
           recv I1, send R1 |  |       |                            |
                            |  v       v                            |
                          +--------------+  recv I2, send R2        |
         +----------------| UNASSOCIATED |----------------+         |
datagram |  +--+          +--------------+                |         |
to send, |  |  | Alg. not supported,                      |         |
 send I1 |  |  | send I1                                  |         |
  .      v  |  v                                          |         |
  .   +---------+  recv I2, send R2                       |         |
+----&gt;| I1-SENT |--------------------------------------+  |         |
|     +---------+            +----------------------+  |  |         |
|          | recv R1,        | recv I2, send R2     |  |  |         |
|          v send I2         |                      v  v  v         |
|       +---------+----------+                    +---------+       |
|  +---&gt;| I2-SENT |&lt;-------------+   +------------| R2-SENT |&lt;---+  |
|  |    +---------+ recv NOTIFY, |   |            +---------+    |  |
|  |          | | | reset timer  |   |      data or|             |  |
|  |recv R1,  | | +--------------+   |   EC timeout|             |  |
|  |send I2   +-|--------------------+             |  receive I2,|  |
|  |          | |         +-------------+          |      send R2|  |
|  |          | +--------&gt;| ESTABLISHED |&lt;---------+             |  |
|  |          |   recv R2 +-------------+                        |  |
|  |          |            |  |  |      receive I2, send R2      |  |
|  |          +------------+  |  +-------------------------------+  |
|  |          |               +-----------+                      |  |
|  |          |    no packet sent/received|    +---+             |  |
|  |          |    for UAL min, send CLOSE|    |   |timeout      |  |
|  |          |                           v    v   |(UAL+MSL)    |  |
|  |          |                        +---------+ |retransmit   |  |
+--|----------|------------------------| CLOSING |-+CLOSE        |  |
   |          |                        +---------+               |  |
   |          |                         | |   | |                |  |
   +----------|-------------------------+ |   | +----------------+  |
   |          |               +-----------+   +------------------|--+
   |          |               |recv CLOSE,      recv CLOSE_ACK   |  |
   |          +-------------+ |send CLOSE_ACK   or timeout       |  |
   |     recv CLOSE,        | |                 (UAL+MSL)        |  |
   |     send CLOSE_ACK     v v                                  |  |
   |                     +--------+  receive I2, send R2         |  |
   +---------------------| CLOSED |------------------------------+  |
                         +--------+                                 |
                          ^ |  |                                    |
recv CLOSE, send CLOSE_ACK| |  |              timeout (UAL+2MSL)    |
                          +-+  +------------------------------------+
           </artwork>
         </figure>

       </section>
     </section>

     <section title="HIP DEX Security Associations">

       <t>
         HIP DEX establishes two Security Associations (SA), one for the
         Diffie-Hellman derived key, or Master Key, and one for the session
         key, or Pair-wise Key.
       </t>

        <section title="Master Key SA">

          <t>
            The Master Key SA is used to authenticate HIP packets and to
            encrypt selected HIP parameters in the HIP DEX packet exchanges.
            Since only a small amount of data is protected by this SA, it can be
            long-lived with no need for rekeying. At the latest, the system MUST initiate rekeying when
	    its incoming ESP sequence counter is going to
	    overflow, and the system MUST NOT replace its keying material until the
	    rekeying packet exchange successfully completes as described in Section 6.8 in <xref target="RFC7402"/>.
          </t>

          <t>
            The Master Key SA contains the following elements:
          <list style="symbols">
            <t>Source HIT</t>
            <t>Destination HIT</t>
            <t>HIP_Encrypt Key</t>
            <t>HIP_MAC Key</t>
          </list>
          </t>

          <t>
            The HIP_Encrypt and HIP_MAC keys are extracted from the
            Diffie-Hellman derived key as described in <xref target="keymat"
            />. Their length is determined by the HIP_CIPHER.
          </t>

        </section>

        <section title="Pair-wise Key SA">

          <t>
            The Pair-wise Key SA is used to authenticate and to encrypt user
            data. It is refreshed (or rekeyed) using an UPDATE packet exchange.
            The Pair-wise Key SA elements are defined by the data transform
            (e.g., ESP_TRANSFORM <xref target="RFC7402" />).
          </t>

          <t>
            The keys for the Pair-wise Key SA are derived based on the wrapped
            keying material exchanged in the ENCRYPTED_KEY parameter (see <xref
            target="encrypted_key" />) of the I2 and R2 packets. Specifically,
            the exchanged keying material of the two peers is concatenated.
            This concatenation forms the input to a Key Derivation Function
            (KDF). If the data transform does not specify its own KDF, the key
            derivation function defined in <xref target="keymat" /> is used.
            Even though the concatenated input is randomly distributed, a KDF Extract phase
            may be needed to get the proper length for the input to the KDF
            Expand phase.
          </t>

        </section>

     </section>

     <section title="User Data Considerations">

       <t>
         The User Data Considerations in Section 4.5. of <xref target="RFC7401"
         /> also apply to HIP DEX. There is only one difference between HIPv2
         and HIP DEX. Loss of state due to system reboot may be a critical
         performance issue for resource-constrained devices. Thus, implementors
         MAY choose to use non-volatile, secure storage for HIP states in order
         for them to survive a system reboot as discussed in <xref target="loss" />. Using non-volatile storage will limit state loss during
         reboots to only those situations with an SA timeout.
       </t>

     </section>

   </section>

  </section>

   <section anchor="sec-param-tlv" title="Packet Formats">

     <section anchor="hip_payload" title="Payload Format">
       <t>
         HIP DEX employs the same fixed HIP header and payload structure as
         HIPv2. As such, the specifications in Section 5.1 of <xref
         target="RFC7401" /> also apply to HIP DEX.
       </t>
     </section>

     <section anchor="hippars" title="HIP Parameters">

       <t>
         The HIP parameters carry information that is necessary for
         establishing and maintaining a HIP association. For example, the
         peer's public keys as well as the signaling for negotiating ciphers
         and payload handling are encapsulated in HIP parameters. Additional
         information, meaningful for end-hosts or middleboxes, may also be
         included in HIP parameters. The specification of the HIP parameters
         and their mapping to HIP packets and packet types is flexible to allow
         HIP extensions to define new parameters and new protocol behavior.
       </t>

       <t>
         In HIP packets, HIP parameters are ordered according to their numeric
         type number and encoded in TLV format.
       </t>

       <t>
         HIP DEX reuses the HIP parameters of HIPv2 defined in Section 5.2. of
         <xref target="RFC7401" /> where possible. Still, HIP DEX further
         restricts and/or extends the following existing parameter types:
         <list style="symbols">
           <t>
             DH_GROUP_LIST and HOST_ID are restricted to ECC-based suites.
           </t>
           <t>
             HIP_CIPHER is restricted to AES-128-CTR and NULL-ENCRYPT.
           </t>
           <t>
             HIT_SUITE_LIST is limited to the HIT suite ECDH/FOLD.
           </t>
           <t>
             RHASH and RHASH_len are redefined to CMAC for the PUZZLE, SOLUTION,
             and HIP_MAC parameters (see <xref target="cmac-puzzle" /> and <xref
             target="cmac-processing" />).
           </t>
         </list>
       </t>

       <t>
         In addition, HIP DEX introduces the following new parameter:
       </t>

<?rfc compact="no"?>

       <texttable>
         <ttcol width="27%" align="left">TLV</ttcol>
         <ttcol width="5%" align="left">Type</ttcol>
         <ttcol width="14%" align="left">Length</ttcol>
         <ttcol align="left">Data</ttcol>
         <c>ENCRYPTED_KEY</c><c>TBD1 (suggested value 643)</c><c>variable</c><c>Encrypted container
         for the session key exchange</c>
         <c>I_NONCE</c><c>TBD6 (suggested value 644)</c><c>variable</c><c>Nonce from Initator for 
         Master Key</c>
       </texttable>

<?rfc compact="yes"?>

  <section anchor="dh_group_list" title="DH_GROUP_LIST">
    <t>
      The DH_GROUP_LIST parameter contains the list of supported DH Group IDs
      of a host. It is defined in Section 5.2.6 of <xref target="RFC7401" />.
      With HIP DEX, the DH Group IDs are restricted to:
    </t>
    <t>
    <figure>
      <artwork>
Group                              KDF              Value

NIST P-256 [RFC5903]               CKDF             7
NIST P-384 [RFC5903]               CKDF             8
NIST P-521 [RFC5903]               CKDF             9
SECP160R1  [SECG]                  CKDF             10
Curve25519 [RFC7748]               CKDF             12
Curve448   [RFC7748]               CKDF             13
      </artwork>
    </figure>
    </t>
    <t>
      The ECDH groups with values 7 - 9 are defined in <xref target="RFC5903" />
      and <xref target="RFC6090" />. ECDH group 10 is covered in <xref
      target="SECG" /> and Appendix D of <xref target="RFC7401" />. These
      curves, when used with HIP MUST have a co-factor of 1.
    </t>
    <t>
      The ECDH groups with values 12 and 13 are defined in <xref
      target="RFC7748" />. These curves have cofactors of 8 and 4
      (respectively).
    </t>
  </section>

  <section anchor="hip_cipher" title="HIP_CIPHER">
    <t>
      The HIP_CIPHER parameter contains the list of supported cipher algorithms
      to be used for encrypting the contents of the ENCRYPTED and ENCRYPTED_KEY
      parameters. The HIP_CIPHER parameter is defined in Section 5.2.8 of <xref
      target="RFC7401" />. With HIP DEX, the Suite IDs are limited to:
    </t>

    <figure>
      <artwork>
Suite ID           Value

RESERVED           0
NULL-ENCRYPT       1                       ([RFC2410])
AES-128-CTR        TBD4 (suggested: 5)     ([RFC3686])
      </artwork>
    </figure>

    <t>
      Mandatory implementation: AES-128-CTR. Implementors SHOULD support
      NULL-ENCRYPT (<xref target="RFC2410" />) for testing/debugging purposes
      but MUST NOT offer or accept this value unless explicitly configured for
      testing/debugging of HIP.
   </t>
  </section>

  <section anchor="host_id" title="HOST_ID">
    <t>
      The HOST_ID parameter conveys the Host Identity (HI) along with optional
      information about a host. The HOST_ID parameter is defined in Section 5.2.9 of <xref
      target="RFC7401" />.
    </t>
    <t>
      HIP DEX uses the public portion of a host's static ECDH key-pair as the
      HI. Correspondingly, HIP DEX limits the HI algorithms to the following
      new profile:
    </t>
    <figure>
      <artwork>
Algorithm profiles   Value

ECDH                 TBD5 (suggested: 11)    [RFC6090]   (REQUIRED)
      </artwork>
    </figure>

    <t>For hosts that implement ECDH as the algorithm, the following
    curves are required:</t>

    <figure>
      <artwork>
Group                    Value

NIST P-256               1 [RFC5903]
NIST P-384               2 [RFC5903]
NIST P-521               3 [RFC5903]
SECP160R1                4 [SECG] 
Curve25519               5 [RFC7748]
Curve448                 6 [RFC7748]
      </artwork>
    </figure>

    
    <t>
      HIP DEX HIs are serialized equally to the ECC-based HIs in HIPv2 (see
      Section 5.2.9. of <xref target="RFC7401" />). The Group ID of the HIP DEX
      HI is encoded in the "ECC curve" field of the HOST_ID parameter. The
      supported DH Group IDs are defined in <xref target="dh_group_list" />.
    </t>
  </section>

   <section anchor="hit_suite_list" title="HIT_SUITE_LIST">
     <t>
       The HIT_SUITE_LIST parameter contains a list of the supported HIT
       suite IDs of the Responder. Based on the HIT_SUITE_LIST, the
       Initiator can determine which source HIT Suite IDs are supported by
       the Responder. The HIT_SUITE_LIST parameter is defined in Section
       5.2.10 of <xref target="RFC7401" />.
     </t>
     <t>
       The following new HIT Suite ID is defined for HIP DEX, and the
       relationship between the four-bit ID value used in the OGA ID field
       and the eight-bit encoding within the HIT_SUITE_LIST ID field is
       clarified:
     </t>
     <figure>
       <artwork>
HIT Suite       Four-bit ID            Eight-bit encoding

ECDH/FOLD       TBD2 (suggestion: 4)   TBD3 (suggestion: 0x40)
       </artwork>
     </figure>

     <t>
       Note that the dedicated HIP DEX HIT Suite ID in the OGA ID field allows
       the peers to distinguish a HIP DEX handshake from a HIPv2 handshake. The
       Responder MUST respond with a HIP DEX HIT suite ID when the HIT of the
       Initiator is a HIP DEX HIT.
     </t>
   </section>

       <section anchor="encrypted_key" title="ENCRYPTED_KEY">
         <figure>
           <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  /                        Encrypted value                        /
  /                                                               /
  /                               +-------------------------------+
  /                               |            Padding            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  Type           TBD1 (suggested value 643)
  Length         length in octets, excluding Type, Length, and
                 Padding
  Encrypted      The value is encrypted using an encryption algorithm
  value          as defined in the HIP_CIPHER parameter.
           </artwork>
         </figure>

        <t>
          The ENCRYPTED_KEY parameter encapsulates a random value that is later
          used in the session key creation process (see <xref target="keymat" />).
          This random value MUST have a length of at least 64 bits. The puzzle
          value #I and the puzzle solution #J (see Section 4.1.2 in <xref target="RFC7401" />)
          are used as the initialization vector (IV) for the encryption process.
          To this end, the IV is computed as FOLD(I | J, 128). Moreover, a 16
          bit counter value, which is initialized to zero on first use, is
          appended to the IV value in order to guarantee that a non-repeating
          nonce is fed to the encryption algorithm defined by the HIP_CIPHER.
        </t>

        <t>
          Once this encryption process is completed, the "encrypted value" data
          field is ready for inclusion in the Parameter. If necessary,
          additional Padding for 8-byte alignment is then added according to
          the rules of TLV Format in <xref target="RFC7401"/>.
        </t>
       </section>


       <section anchor="i_nonce" title="I_NONCE">
         <figure>
           <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Type              |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  /                        Initiator Nonce                        /
  /                                                               /
  /                               +-------------------------------+
  /                               |            Padding            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  Type           TBD6 (suggested value 644)
  Length         length in octets, excluding Type, Length, and
                 Padding
  Initiator      Nonce provided by the Initiator for use in the
  Nonce          Master Key
           </artwork>
         </figure>

        <t>
		  The I_NONCE parameter encapsulates a random value that is 
		  later used in the Master key creation process (see <xref 
		  target="keymat" />). This random value MUST have a length of 
		  2 x RHASH_len.  This parameter is sent to the Responder in I2 
		  which echos it back to the Initiator in R2.
        </t>

        <t>
		  If necessary, additional Padding for 8-byte alignment is 
		  added according to the rules of TLV Format in <xref 
		  target="RFC7401"/>.
        </t>
       </section>
     </section>

     <section title="HIP Packets">

       <t>
         HIP DEX uses the same eight basic HIP packets as HIPv2 (see Section
         5.3 of <xref target="RFC7401" />). Four of them are for the HIP
         handshake (I1, R1, I2, and R2), one is for updating an association
         (UPDATE), one is for sending notifications (NOTIFY), and two are for
         closing the association (CLOSE and CLOSE_ACK). There are some
         differences regarding the HIP parameters that are included in the
         handshake packets concerning HIP BEX and HIP DEX. This section covers
         these differences for the DEX packets. Packets not discussed here,
         follow the structure defined in <xref target="RFC7401"/>.
       </t>

       <t>
         An important difference between packets in HIP BEX and HIP DEX is that
         the DIFFIE_HELLMAN and the HIP_SIGNATURE parameters are not included
         in HIP DEX. Thus, the R1 packet is completely unprotected and can be
         spoofed. As a result, negotiation parameters contained in the R1
         packet have to be re-included in later, protected packets in order to
         detect and prevent potential downgrading attacks. Moreover, the I2,
         R2, UPDATE, NOTIFY, CLOSE, and CLOSE_ACK packets are not covered by a
         signature and purely rely on the HIP_MAC parameter for packet
         authentication. The processing of these packets is changed accordingly.
       </t>

       <t>
         In the future, an optional upper-layer payload MAY follow the HIP
         header. The Next Header field in the header indicates if there is
         additional data following the HIP header.
       </t>

       <section anchor="I1" title="I1 - the HIP Initiator Packet">

         <t>The HIP header values for the I1 packet:</t>

         <figure>
           <artwork>
  Header:
    Packet Type = 1
    SRC HIT = Initiator's HIT
    DST HIT = Responder's HIT, or NULL

  IP ( HIP ( DH_GROUP_LIST ) )
           </artwork>
         </figure>

         <t></t>

         <t>Valid control bits: none</t>

         <t>
           The I1 packet contains the fixed HIP header and the Initiator's
           DH_GROUP_LIST. The Initiator's HIT Suite ID MUST be of a HIP DEX
           type as defined in <xref target="hit_suite_list" />.
         </t>

         <t>
           Regarding the Responder's HIT, the Initiator may receive this HIT
           either from a DNS lookup of the Responder's FQDN, from some other
           repository, or from a local table. The Responder's HIT also MUST be
           of a HIP DEX type. If the Initiator does not know the Responder's
           HIT, it may attempt to use opportunistic mode by using NULL (all
           zeros) as the Responder's HIT. See Section 4.1.8 of <xref
           target="RFC7401" /> for detailed information about the "HIP
           Opportunistic Mode".
         </t>

         <t>
           As the Initiator's and the Responder's HITs are compressions of the
           employed HIs, they determine the DH Group ID that must be used in
           order to successfully conclude the triggered handshake. HITs,
           however, only include the OGA ID identifying the HI algorithm. They
           do not include information about the specific group ID of the HI. To
           inform the Responder about its employed and its otherwise supported
           DH Group IDs, the Initiator therefore includes the DH_GROUP_LIST
           parameter in the I1 packet. This parameter MUST include the DH group
           ID that corresponds to the currently employed Initiator HIT as the
           first list element. With HIP DEX, the DH_GROUP_LIST parameter MUST
           only include ECDH groups defined in <xref target="dh_group_list" />.
         </t>

         <t>
           Since this packet is so easy to spoof even if it were protected, no
           attempt is made to add to its generation or processing cost. As a
           result, the DH_GROUP_LIST in the I1 packet is not protected.
         </t>

         <t>
           Implementations MUST be able to handle a storm of received I1
           packets, discarding those with common content that arrive within a
           small time delta.
         </t>

       </section>

       <section anchor="R1" title="R1 - the HIP Responder Packet">

         <t>The HIP header values for the R1 packet:</t>

         <figure>
           <artwork>
  Header:
    Packet Type = 2
    SRC HIT = Responder's HIT
    DST HIT = Initiator's HIT

  IP ( HIP ( [ R1_COUNTER, ]
             PUZZLE,
             DH_GROUP_LIST,
             HIP_CIPHER,
             HOST_ID,
             HIT_SUITE_LIST,
             TRANSPORT_FORMAT_LIST,
             [ &lt;, ECHO_REQUEST_UNSIGNED &gt;i ])
           </artwork>
         </figure>

         <t>
           Valid control bits: A
         </t>

         <t>
           If the Responder's HI is an anonymous one, the A control bit MUST be set.
         </t>

         <t>
           The Initiator's HIT MUST match the one received in the I1 packet if
           the R1 is a response to an I1. If the Responder has multiple HIs,
           the Responder's HIT MUST match the Initiator's request. If the
           Initiator used opportunistic mode, the Responder may select among
           its HIs as described below. See Section 4.1.8 of <xref
           target="RFC7401" /> for detailed information about the "HIP
           Opportunistic Mode".
         </t>

         <t>
           The R1 packet generation counter is used to determine the currently
           valid generation of puzzles. The value is increased periodically,
           and it is RECOMMENDED that it is increased at least as often as
           solutions to old puzzles are no longer accepted.
         </t>

         <t>
           The Puzzle contains a Random value #I and the puzzle difficulty K.
           The difficulty K indicates the number of lower-order bits, in the
           puzzle CMAC result, that MUST be zeros (see <xref
           target="RFC7401"/>). Responders SHOULD set K to zero by default and
           only increase the puzzle difficulty to protect against a DoS attack
           targeting the HIP DEX handshake. A puzzle difficulty of zero
           effectively turns the puzzle mechanism into a return-routability
           test and is strongly encouraged during normal operation in order to
           conserve energy resources as well as to prevent unnecessary
           handshake delay in case of a resource-constrained Initiator. Please also refer
	   to <xref target="sec-policy" /> for further recommendations on choosing puzzle difficulty.
         </t>

         <t>
           The DH_GROUP_LIST parameter contains the Responder's order of
           preference based on the Responder's choice the ECDH key contained in the
           HOST_ID parameter (see below). This allows the Initiator to
           determine whether its own DH_GROUP_LIST in the I1 packet was
           manipulated by an attacker. There is a further risk that the
           Responder's DH_GROUP_LIST was manipulated by an attacker, as the R1
           packet cannot be authenticated in HI DEX. Thus, this parameter is
           repeated in the R2 packet to allow for a final, cryptographically
           secured validation.
         </t>

         <t>
           The HIP_CIPHER contains the encryption algorithms supported by the
           Responder to protect the key exchange, in the order of preference.
           All implementations MUST support the AES-CTR <xref target="RFC3686"
           />.
         </t>

         <t>
           The HIT_SUITE_LIST parameter is an ordered list of the Responder's
           supported and preferred HIT Suites. It enables a Responder to notify
           the Initiator about other available HIT suites than the one used in
           the current handshake. Based on the received HIT_SUITE_LIST, the
           Initiator MAY decide to abort the current handshake and initiate a
           new handshake with a different mutually supported HIT suite. This
           mechanism can, e.g., be used to move from an initial HIP DEX
           handshake to a HIP BEX handshake for peers supporting both protocol
           variants.
         </t>

         <t>
           The HOST_ID parameter depends on the received DH_GROUP_LIST parameter
           and the Responder HIT in the I1 packet. Specifically, if the I1
           contains a Responder HIT, the Responder verifies that this HIT
           matches the required DH group based on the received DH_GROUP_LIST
           parameter included in the I1. In case of a positive result, the
           Responder selects the corresponding HOST_ID for inclusion in the R1
           packet. Likewise, if the Responder HIT in the I1 packet is NULL
           (i.e., during an opportunistic handshake), the Responder chooses its
           HOST_ID according to the Initiator's employed DH group as indicated
           in the received DH_GROUP_LIST parameter and sets the source HIT in
           the R1 packet accordingly. If the Responder however does not support
           the DH group required by the Initiator or if the Responder HIT in the
           I1 packet does not match the required DH group, the Responder selects
           the mutually preferred and supported DH group based on the
           DH_GROUP_LIST parameter in the I1 packet. The Responder then includes
           the corresponding ECDH key in the HOST_ID parameter. This parameter
           also indicates the selected DH group. Moreover, the Responder sets
           the source HIT in the R2 packet based on the destination HIT from the
           I1 packet. Based on the deviating DH group ID in the HOST_ID
           parameter, the Initiator then SHOULD abort the current handshake and
           initiate a new handshake with the mutually supported DH group as far
           as local policies (see <xref target="sec-policy" />) permit.
         </t>

         <t>
           The TRANSPORT_FORMAT_LIST parameter is an ordered list of the
           Responder's supported and preferred transport format types. The list
           allows the Initiator and the Responder to agree on a common type for
           payload protection.
	   The different format types are DEFAULT, ESP and ESP-TCP as explained in Section 3.1 in <xref target="RFC6261" />.
         </t>
	   <!-- Currently, the only transport format defined is IPsec ESP <xref target="RFC7402" />. -->

         <t>
           The ECHO_REQUEST_UNSIGNED parameters contain data that the sender
           wants to receive unmodified in the corresponding response packet in
           the ECHO_RESPONSE_UNSIGNED parameter. The R1 packet may contain zero
           or more ECHO_REQUEST_UNSIGNED parameters.
         </t>

       </section>

       <section anchor="I2" title="I2 - the Second HIP Initiator Packet">

         <t>The HIP header values for the I2 packet:</t>

         <figure>
           <artwork>
  Header:
    Type = 3
    SRC HIT = Initiator's HIT
    DST HIT = Responder's HIT

  IP ( HIP ( [R1_COUNTER,]
             SOLUTION,
             HIP_CIPHER,
             ENCRYPTED_KEY,
             HOST_ID,
             TRANSPORT_FORMAT_LIST,
             I_NONCE,
             HIP_MAC
             [&lt;, ECHO_RESPONSE_UNSIGNED&gt;i )] )
           </artwork>
         </figure>

         <t>
           Valid control bits: A
         </t>

         <t>
           The HITs MUST match the ones used in the R1 packet.
         </t>

         <t>
           If the Initiator's HI is an anonymous one, the A control bit MUST be
           set.
         </t>

         <t>
           If present in the R1 packet, the Initiator MUST include an
           unmodified copy of the R1_COUNTER parameter into the I2 packet.
         </t>

         <t>
           The Solution contains the Random #I from the R1 packet and the
           computed #J value. The low-order #K bits of the RHASH(I | ... | J)
           MUST be zero.
         </t>

         <t>
           The HIP_CIPHER contains the single encryption transform selected by
           the Initiator that it uses to encrypt the ENCRYPTED and
           ENCRYPTED_KEY parameters. The chosen cipher MUST correspond to one
           of the ciphers offered by the Responder in the R1. All
           implementations MUST support the AES-CTR transform <xref
           target="RFC3686" />.
         </t>

         <t>
           The HOST_ID parameter contains the Initiator HI corresponding to the
           Initiator HIT.
         </t>

         <t>
           The ENCRYPTED_KEY parameter contains an Initiator generated random
           value that MUST be uniformly distributed. This random value is
           encrypted with the Master Key SA using the HIP_CIPHER encryption
           algorithm.
         </t>

         <t>
           The ECHO_RESPONSE_UNSIGNED parameter(s) contain the unmodified
           Opaque data copied from the corresponding echo request parameter(s).
           This parameter can also be used for two-factor password
           authentication as shown in <xref target="twofactor" />.
         </t>

         <t>
           The TRANSPORT_FORMAT_LIST parameter contains the single transport
           format type selected by the Initiator. The chosen type MUST
           correspond to one of the types offered by the Responder in the R1
           packet.
           The different format types are DEFAULT, ESP and ESP-TCP as explained in Section 3.1 in <xref target="RFC6261" />.                                                    </t>
	   <!-- Currently, the only transport format defined is the <xref target="RFC7402">ESP transport format</xref>. -->

         <t>
		   The I_NONCE parameter contains the nonce, supplied by the 
		   Initiator for the Master Key generation as shown in <xref 
		   target="keymat" />.  This is echoed back to the Initiator in 
		   the R2 packet.
         </t>

         <t>
           The MAC is calculated over the whole HIP envelope, excluding any
           parameters after the HIP_MAC parameter as described in <xref
           target="cmac-processing" />. The Responder MUST validate the HIP_MAC
           parameter.
         </t>

       </section>

       <section anchor="R2" title="R2 - the Second HIP Responder Packet">

         <t>The HIP header values for the R2 packet:</t>

         <figure>
           <artwork>
  Header:
    Packet Type = 4
    SRC HIT = Responder's HIT
    DST HIT = Initiator's HIT

  IP ( HIP ( DH_GROUP_LIST,
             HIP_CIPHER,
             ENCRYPTED_KEY,
             HIT_SUITE_LIST,
             TRANSPORT_FORMAT_LIST,
             I_NONCE,
             HIP_MAC)
           </artwork>
         </figure>

         <t>Valid control bits: none</t>

         <t>
           The HITs used MUST match the ones used in the I2 packet.
         </t>

         <t>
           The Responder repeats the DH_GROUP_LIST, HIP_CIPHER, HIT_SUITE_LIST,
           and TRANSPORT_FORMAT_LIST parameters in the R2 packet. These
           parameters MUST be the same as included in the R1 packet. The
           parameter are re-included here because the R2 packet is MACed and
           thus cannot be altered by an attacker. For verification purposes,
           the Initiator re-evaluates the selected suites and compares the
           results against the chosen ones. If the re-evaluated suites do not
           match the chosen ones, the Initiator acts based on its local policy.
         </t>

         <t>
           The ENCRYPTED_KEY parameter contains an Responder generated random
           value that MUST be uniformly distributed. This random value is
           encrypted with the Master Key SA using the HIP_CIPHER encryption
           algorithm.
         </t>

         <t>
		   The I_NONCE parameter contains the nonce, supplied by the 
		   Initiator for the Master Key generation as shown in <xref 
		   target="keymat" />.  The Responder is echoing the value back 
		   to the Initiator to show it used the Initiator provided nonce.
		 </t>

         <t>
           The MAC is calculated over the whole HIP envelope, excluding any
           parameters after the HIP_MAC, as described in <xref
           target="cmac-processing" />. The Initiator MUST validate the HIP_MAC
           parameter.
         </t>

       </section>

     </section>

     <section anchor="ICMP" title="ICMP Messages">
       <t>
         When a HIP implementation detects a problem with an incoming packet,
         and it either cannot determine the identity of the sender of the
         packet or does not have any existing HIP association with the sender
         of the packet, it MAY respond with an ICMP packet. Any such reply MUST
         be rate-limited as described in <xref target="RFC4443" />. In most
         cases, the ICMP packet has the Parameter Problem type (12 for ICMPv4,
         4 for ICMPv6), with the Pointer field pointing to the field that
         caused the ICMP message to be generated. The problem cases specified
         in Section 5.4. of <xref target="RFC7401" /> also
         apply to HIP DEX.
       </t>

     </section>

   </section>


   <section anchor="packet_processing" title="Packet Processing">

     <t>
       Due to the adopted protocol semantics and the inherited general packet
       structure, the packet processing in HIP DEX only differs from HIPv2 in
       very few places. Here, we focus on these differences and refer to
       Section 6 in <xref target="RFC7401" /> otherwise.
     </t>

     <t>
       The processing of outgoing and incoming application data remains the
       same as in HIP BEX (see Sections 6.1 and 6.2 in <xref
       target="RFC7401" />).
     </t>

     <t>
       It should be noted that many of the packet processing rules
       are denoted here with "SHOULD" but may be updated to "MUST" when further
       implementation experience provides better guidance. Please refer also to Appendix <xref target="IESG" format="counter"/>
       for argumentation about the SHOULDs.
     </t>

     <section anchor="cmac-puzzle" title="Solving the Puzzle">
       <t>
         The procedures for solving and verifying a puzzle in HIP DEX are
         strongly based on the corresponding procedures in HIPv2. The only
         exceptions are that HIP DEX does not use pre-computation of R1 packets
         and that RHASH is set to CMAC. As a result, the pre-computation step in
         Section 6.3 of <xref target="RFC7401" /> is skipped in HIP DEX.
       </t>
       <t>
         <list style="hanging">
           <t hangText="Moreover, the Initiator solves a puzzle by computing:">
             <vspace blankLines="0" />
             Ltrunc( CMAC( I, HIT-I | HIT-R | J ), K ) == 0</t>
         </list>
       </t>
       <t>
         <list style="hanging">
           <t hangText="Similarly, the Responder verifies a puzzle by computing:">
             <vspace blankLines="0" />
             V := Ltrunc( CMAC( I, HIT-I | HIT-R | J ), K )</t>
         </list>
       </t>
       <t>
         Apart from these modifications, the procedures defined in Section 6.3
         of <xref target="RFC7401" /> also apply for HIP DEX.
       </t>
     </section>

     <section anchor="cmac-processing" title="HIP_MAC Calculation and Verification">
       <t>
         The following subsections define the actions for processing
         the HIP_MAC parameter.
       </t>

       <section title="CMAC Calculation">

         <t>
           The HIP_MAC calculation uses RHASH, i.e., CMAC, as the underlying
           cryptographic function. The scope of the calculation for HIP_MAC is:
         </t>
         <figure>
           <artwork>
CMAC: { HIP header | [ Parameters ] }
           </artwork>
         </figure>
         <t>
           where Parameters include all HIP parameters of the packet that is
           being calculated with Type values ranging from 1 to (HIP_MAC's Type
           value - 1) and exclude parameters with Type values greater or equal
           to HIP_MAC's Type value.
         </t>

         <t>
           During HIP_MAC calculation, the following applies:
           <list style="symbols">
             <t>
               In the HIP header, the Checksum field is set to zero.
             </t>
             <t>
               In the HIP header, the Header Length field value is calculated
               to the beginning of the HIP_MAC parameter.
             </t>
           </list>
         </t>

         <t>
           The parameter order is described in Section 5.2.1 of <xref
           target="RFC7401" />.
         </t>

         <t>
           The CMAC calculation and verification process is as follows:
         </t>

         <t>Packet sender:
           <list style="numbers">
             <t>
               Create the HIP packet, without the HIP_MAC or any other
               parameter with greater Type value than the HIP_MAC parameter has.
             </t>

             <t>
               Calculate the Header Length field in the HIP header.
             </t>

             <t>
               Compute the CMAC using either HIP-gl or HIP-lg integrity key
               retrieved from KEYMAT as defined in <xref target="keymat" />. HIP-gl refers to host with
	       greater HIT value and HIP-lg refers to the host with smaller HIT value.
             </t>

             <t>
               Add the HIP_MAC parameter to the packet and any parameter with
               greater Type value than the HIP_MAC's that may follow.
             </t>

             <t>Recalculate the Length field in the HIP header.</t>
           </list>
         </t>

         <t>Packet receiver:
           <list style="numbers">
             <t>Verify the HIP header Length field.</t>

             <t>
               Remove the HIP_MAC parameter, as well as all other parameters
               that follow it with greater Type value, saving the contents if
               they will be needed later.
             </t>

             <t>
               Recalculate the HIP packet length in the HIP header and clear
               the Checksum field (set it to all zeros).
             </t>

             <t>
               Compute the CMAC using either HIP-gl or HIP-lg integrity key as
               defined in <xref target="keymat" /> and verify it against the
               received CMAC.
             </t>

             <t>
               Set Checksum and Header Length fields in the HIP header to
               original values. Note that the Checksum and Length fields
               contain incorrect values after this step.
             </t>

           </list>
         </t>

       </section>

     </section>

     <section anchor="keymat" title="HIP DEX KEYMAT Generation">

       <t>
         The HIP DEX KEYMAT process is used to derive the keys for the Master
         Key SA as well as for the Pair-wise Key SA. The keys for the Master Key
         SA are based on the Diffie-Hellman derived key, Kij, which is produced
         during the HIP DEX handshake. The Initiator generates Kij during the
         creation of the I2 packet and the Responder generates Kij once it
         receives the I2 packet. This is why the I2 packet can already contain
         authenticated and/or encrypted information.
       </t>

       <t>
         The keys derived for the Pair-wise Key SA are not used during the HIP
         DEX handshake. Instead, these keys are made available as payload
         protection keys (e.g., for IPsec). Some payload protection mechanisms
         have their own Key Derivation Function, and if so this mechanism SHOULD
         be used. Otherwise, the HIP DEX KEYMAT process MUST be used to derive
         the keys of the Pair-wise Key SA based on the concatenation of the
         random values that are contained in the exchanged ENCRYPTED_KEY
         parameters.
       </t>

       <t>
         The HIP DEX KEYMAT process is based on the is the Hash-based Key
         Derivation Function (HKDF) defined in <xref target="RFC5869" /> and
         consists of two components, CKDF-Extract and CKDF-Expand. The
         CKDF-Extract function compresses a non-uniformly distributed key, such
         as the output of a Diffie-Hellman key derivation, to extract the key
         entropy into a fixed length output. The CKDF-Expand function takes
         either the output of the Extract function or directly uses a uniformly
         distributed key and expands the length of the key, repeatedly
         distributing the key entropy, to produce the keys needed.
       </t>

       <t>
         The key derivation for the Master Key SA employs always both the
         Extract and Expand phases. The Pair-wise Key SA needs only the Extract
         phase when key is smaller or equal to 128 bits, but otherwise requires
         also the Expand phase.
       </t>

       <t>
         The CKDF-Extract function is the following operation:
       </t>

        <figure>
          <artwork>
  CKDF-Extract(I, IKM, info) -> PRK

  Inputs:
    I         Random #I, provided by the Responder, from the PUZZLE 
              parameter
<!--    I_NONCE   Random value provided by the Initator used for the
              Master Key generation
    ENCRYPTED_KEY Encrypted, random values provided by the Initator
              and responser used for the Pair-wise Key SA -->
    IKM       Input keying material
                the Diffie-Hellman derived key, concatenated with the
                  random I_NONCE value for the Master Key SA
                the Diffie-Hellman derived key, concatenated with the
                  random values of the ENCRYPTED_KEY parameters in
                  the same order as the HITs with sort(HIT-I | HIT-R)
                  for the Pair-wise Key SA

    info      sort(HIT-I | HIT-R) | "CKDF-Extract"
              where "CKDF-Extract" is an octet string

  Output:
    PRK       a pseudorandom key (of RHASH_len/8 octets)


The pseudorandom key PRK is calculated as follows:

    PRK     = CMAC(I, IKM | info)
          </artwork>
        </figure>

       <t>
         The CKDF-Expand function is the following operation:
       </t>

        <figure>
          <artwork>
  CKDF-Expand(PRK, info, L) -> OKM

  Inputs:
    PRK       a pseudorandom key of at least RHASH_len/8 octets
              (either the output from the extract step or the
              concatenation of the random values of the
              ENCRYPTED_KEY parameters in the same order as the
              HITs with sort(HIT-I | HIT-R) in case of no extract)
    info      sort(HIT-I | HIT-R) | "CKDF-Expand"
              where "CKDF-Expand" is an octet string
    L         length of output keying material in octets
              (&lt;= 255*RHASH_len/8)

  Output:
    OKM        output keying material (of L octets)

The output keying material OKM is calculated as follows:

    N       =  ceil(L/(RHASH_len/8))
    T       =  T(1) | T(2) | T(3) | ... | T(N)
    OKM     =  first L octets of T

where

    T(0) = empty string (zero length)
    T(1) = CMAC(PRK, T(0) | info | 0x01)
    T(2) = CMAC(PRK, T(1) | info | 0x02)
    T(3) = CMAC(PRK, T(2) | info | 0x03)
    ...

(where the constant concatenated to the end of each T(n) is a
single octet.)
          </artwork>
        </figure>

        <t>
          sort(HIT-I | HIT-R) is defined as the network byte order
          concatenation of the two HITs, with the smaller HIT preceding the
          larger HIT, resulting from the numeric comparison of the two HITs
          interpreted as positive (unsigned) 128-bit integers in network
          byte order.
        </t>

        <t>
          The initial keys for the Master Key SA are drawn sequentially in the
          order that is determined by the numeric comparison of the two HITs,
          with the comparison method described in the previous paragraph. HOST_g
          denotes the host with the greater HIT value, and HOST_l the host with
          the lower HIT value.
        </t>

        <t>
          The drawing order for initial keys:
          <list style="numbers">
            <t>HIP-gl encryption key for HOST_g's outgoing HIP packets</t>
            <t>HIP-gl integrity (CMAC) key for HOST_g's outgoing HIP
              packets</t>
            <t>HIP-lg encryption key for HOST_l's outgoing HIP packets</t>
            <t>HIP-lg integrity (CMAC) key for HOST_l's outgoing HIP
              packets</t>
          </list>
        </t>

        <t>
          The number of bits drawn for a given algorithm is the "natural" size
          of the keys regarding the algorithm defined in the HIP_CIPHER. For
          the mandatory algorithms, the following size applies:
          <list style="hanging">
            <t hangText="AES">128 bits</t>
          </list>
        </t>

        <t>
          If other key sizes are used, they must be treated as different
          encryption algorithms and defined separately.
        </t>

     </section>

     <section title="Initiation of a HIP Diet EXchange">
       <t>
         The initiation of a HIP DEX handshake proceeds as described in Section
         6.6 of <xref target="RFC7401" />. The I1 packet contents are specified
         in <xref target="I1" />.
       </t>
     </section>

     <section anchor="i1process" title="Processing Incoming I1 Packets">

       <t>
         I1 packets in HIP DEX are handled almost identical to HIPv2 (see
         Section 6.7 of <xref target="RFC7401" />). The main differences are
         that the Responder SHOULD select a HIP DEX HIT Suite in the R1
         response. Moreover, as R1 packets are neither covered by a signature
         nor incur the overhead of generating an ephemeral Diffie-Hellman
         key-pair, pre-computation of an R1 is only marginally beneficial, but
         would incur additional memory resources at the Responder. Hence, the
         R1 pre-computation SHOULD be omitted in HIP DEX.
       </t>

       <t>
         Correspondingly, the modified conceptual processing rules for
         responding to an I1 packet are as follows:
         <list style="numbers">
           <t>
             The Responder MUST check that the Responder's HIT in the received
             I1 packet is either one of its own HITs or NULL. Otherwise, it
             MUST drop the packet.
           </t>
           <t>
             If the Responder is in ESTABLISHED state, the Responder MAY
             respond to this with an R1 packet, prepare to drop an existing HIP
             security association with the peer, and stay at ESTABLISHED state.
           </t>
           <t>
             If the Responder is in I1-SENT state, it MUST make a comparison
             between the sender's HIT and its own (i.e., the receiver's) HIT.
             If the sender's HIT is greater than its own HIT, it should drop
             the I1 packet and stay at I1-SENT. If the sender's HIT is smaller
             than its own HIT, it SHOULD send the R1 packet and stay at
             I1-SENT. The HIT comparison is performed as defined in <xref
             target="keymat" />.
           </t>
           <t>
             If the implementation chooses to respond to the I1 packet with an
             R1 packet, it creates a new R1 according to the format described
             in <xref target="R1" />. It chooses the HI based on the
             destination HIT and the DH_GROUP_LIST in the I1 packet. If the
             implementation does not support the DH group required by the
             Initiator or if the destination HIT in the I1 packet does not
             match the required DH group, it selects the mutually preferred and
             supported DH group based on the DH_GROUP_LIST parameter in the I1
             packet. The implementation includes the corresponding ECDH public
             key in the HOST_ID parameter. If no suitable DH Group ID was
             contained in the DH_GROUP_LIST in the I1 packet, it sends an R1
             packet with any suitable ECDH public key.
           </t>
           <t>
             If the received Responder's HIT in the I1 packet is not NULL, the
             Responder's HIT in the R1 packet MUST match the destination HIT in
             the I1 packet. Otherwise, the Responder MUST select a HIT with the
             same HIT Suite as the Initiator's HIT. If this HIT Suite is not
             supported by the Responder, it SHOULD select a REQUIRED HIT Suite
             from Section 5.2.10 of <xref target="RFC7401" />, which is
             currently RSA/DSA/SHA-256. Other than that, selecting the HIT is a
             local policy matter.
           </t>
           <t>
             The Responder expresses its supported HIP transport formats in the
             TRANSPORT_FORMAT_LIST as described in Section 5.2.11 of <xref
             target="RFC7401" />. The Responder MUST provide at least one
             payload transport format type.
           </t>
           <t>
             The Responder sends the R1 packet to the source IP address of the
             I1 packet.
           </t>
         </list>
       </t>

       <t>
         Note that only steps 4 and 5 have been changed with regard to the
         processing rules of HIPv2. The considerations about R1 management
         (except pre-computation) and malformed I1 packets in Sections 6.7.1
         and 6.7.2 of <xref target="RFC7401" /> likewise apply to HIP DEX.
       </t>

     </section>

     <section anchor="inr1" title="Processing Incoming R1 Packets">

       <t>
         R1 packets in HIP DEX are handled identically to HIPv2 (see Section
         6.8 in <xref target="RFC7401" />) with the following exceptions: HIP
         DEX uses ECDH public keys as HIs and does not employ signatures.
       </t>

       <t>
         The modified conceptual processing rules for responding to an R1
         packet are as follows:
         <list style="numbers">
           <t>
             A system receiving an R1 MUST first check to see if it has sent an
             I1 packet to the originator of the R1 packet (i.e., it has a HIP
             association that is in state I1-SENT and that is associated with
             the HITs in the R1). Unless the I1 packet was sent in
             opportunistic mode (see Section 4.1.8 of <xref target="RFC7401"
             />), the IP addresses in the received R1 packet SHOULD be ignored
             by the R1 processing and, when looking up the correct HIP
             association, the received R1 packet SHOULD be matched against the
             associations using only the HITs. If a match exists, the system
             processes the R1 packet as described below.
           </t>
           <t>
             Otherwise, if the system is in any state other than I1-SENT or
             I2-SENT with respect to the HITs included in the R1 packet, it
             SHOULD silently drop the R1 packet and remain in the current state.
           </t>
           <t>
             If the HIP association state is I1-SENT or I2-SENT, the received
             Initiator's HIT MUST correspond to the HIT used in the original I1
             packet. Also, the Responder's HIT MUST correspond to the one used
             in the I1 packet, unless this packet contained a NULL HIT.
           </t>
           <t>
             If the HIP association state is I1-SENT, and multiple valid R1
             packets are present, the system MUST select from among the R1
             packets with the largest R1 generation counter.
           </t>
           <t>
             The system MUST check that the Initiator's HIT Suite is contained
             in the HIT_SUITE_LIST parameter in the R1 packet (i.e., the
             Initiator's HIT Suite is supported by the Responder). If the HIT
             Suite is supported by the Responder, the system proceeds normally.
             Otherwise, the system MAY stay in state I1-SENT and restart the
             HIP DEX handshake by sending a new I1 packet with an Initiator HIT
             that is supported by the Responder and hence is contained in the
             HIT_SUITE_LIST in the R1 packet. The system MAY abort the
             handshake if no suitable source HIT is available. The system
             SHOULD wait for an acceptable time span to allow further R1
             packets with higher R1 generation counters or different HIT and
             HIT Suites to arrive before restarting or aborting the HIP DEX
             handshake.
           </t>
           <t>
             The system MUST check that the DH Group ID in the HOST_ID
             parameter in the R1 matches the first DH Group ID in the
             Responder's DH_GROUP_LIST in the R1 packet, and also that this
             Group ID corresponds to a value that was included in the
             Initiator's DH_GROUP_LIST in the I1 packet. If the DH Group ID of
             the HOST_ID parameter does not express the Responder's best
             choice, the Initiator can conclude that the DH_GROUP_LIST in the
             I1 or R1 packet was adversely modified. In such a case, the
             Initiator MAY send a new I1 packet; however, it SHOULD NOT change
             its preference in the DH_GROUP_LIST in the new I1 packet.
             Alternatively, the Initiator MAY abort the HIP DEX handshake.
             Moreover, if the DH Group ID indicated in the HOST_ID parameter
             does not match the DH Group ID of the HI employed by the
             Initiator, the system SHOULD wait for an acceptable time span to
             allow further R1 packets with different DH Group IDs to arrive
             before restarting or aborting the HIP DEX handshake. When
             restarting the handshake, the Initiator MUST consult local
             policies (see <xref target="sec-policy" />) regarding the use of
             another, mutually supported DH group for the subsequent handshake
             with the Responder.
           </t>
           <t>
             If the HIP association state is I2-SENT, the system MAY re-enter
             state I1-SENT and process the received R1 packet if it has a
             larger R1 generation counter than the R1 packet responded to
             previously.
           </t>
           <t>
             The R1 packet can have the A-bit set - in this case, the system
             MAY choose to refuse it by dropping the R1 packet and returning to
             state UNASSOCIATED. The system SHOULD consider dropping the R1
             packet only if it used a NULL HIT in the I1 packet. If the A-bit
             is set, the Responder's HIT is anonymous and SHOULD NOT be stored
             permanently.
           </t>
           <t>
             The system SHOULD attempt to validate the HIT against the received
             Host Identity by using the received Host Identity to construct a
             HIT and verify that it matches the Sender's HIT.
           </t>
           <t>
             The system MUST store the received R1 generation counter for
             future reference.
           </t>
           <t>
             The system attempts to solve the puzzle in the R1 packet. The
             system MUST terminate the search after exceeding the remaining
             lifetime of the puzzle. If the puzzle is not successfully solved,
             the implementation MAY either resend the I1 packet within the
             retry bounds or abandon the HIP base exchange.
           </t>
           <t>
             The system computes standard Diffie-Hellman keying material
             according to the public value and Group ID provided in the HOST_ID
             parameter. The Diffie-Hellman keying material Kij is used for key
             extraction as specified in <xref target="keymat" />.
           </t>
           <t>
             The system selects the HIP_CIPHER ID from the choices presented in
             the R1 packet and uses the selected values subsequently when
             generating and using encryption keys, and when sending the I2
             packet. If the proposed alternatives are not acceptable to the
             system, it MAY either resend an I1 packet within the retry bounds
             or abandon the HIP base exchange.
           </t>
           <t>
             The system chooses one suitable transport format from the
             TRANSPORT_FORMAT_LIST and includes the respective transport format
             parameter in the subsequent I2 packet.
           </t>
           <t>
             The system initializes the remaining variables in the associated
             state, including Update ID counters.
           </t>
           <t>
             The system prepares and sends an I2 packet as described in <xref
             target="I2" />.
           </t>
           <t>
             The system SHOULD start a timer whose timeout value SHOULD be
             larger than the worst-case anticipated RTT, and MUST increment a
             trial counter associated with the I2 packet. The sender SHOULD
             retransmit the I2 packet upon a timeout and restart the timer, up
             to a maximum of I2_RETRIES_MAX tries.
           </t>
           <t>
             If the system is in state I1-SENT, it SHALL transition to state
             I2-SENT. If the system is in any other state, it remains in the
             current state.
           </t>
         </list>
       </t>

       <t>
         Note that step 4 from the original processing rules of HIPv2 (signature
         verification) has been removed in the above processing rules for HIP
         DEX. Moreover, step 7 of the original processing rules has been adapted
         in step 6 above to account for the fact that HIP DEX uses ECDH public
         keys as HIs. The considerations about malformed R1 packets in Sections
         6.8.1 of <xref target="RFC7401" /> also apply to HIP DEX.
       </t>

     </section>

     <section anchor="ini2" title="Processing Incoming I2 Packets">
       <t>
         The processing of I2 packets follows similar rules as HIPv2 (see
         Section 6.9 of <xref target="RFC7401" />). The main differences to
         HIPv2 are that HIP DEX introduces a new session key exchange via the
         ENCRYPTED_KEY parameter as well as an I2 reception acknowledgement for
         retransmission purposes. Moreover, with HIP DEX the Initiator is
         responsible for triggering retransmissions, whereas the Responder
         merely replies to received I2 packets.
       </t>

       <t>
         The modified HIP DEX conceptual processing rules for responding to an
         I2 packet are:
         <list style="numbers">
           <t>
             The system MAY perform checks to verify that the I2 packet
             corresponds to a recently sent R1 packet. Such checks are
             implementation dependent. See Appendix A in <xref target="RFC7401"
             /> for a description of an example implementation.
           </t>
           <t>
             The system MUST check that the Responder's HIT corresponds to one
             of its own HITs and MUST drop the packet otherwise.
           </t>
           <t>
             The system MUST further check that the Initiator's HIT Suite is
             supported. The Responder SHOULD silently drop I2 packets with
             unsupported Initiator HITs.
           </t>
           <t>
             If the system's state machine is in the R2-SENT state, the system
             MUST check to see if the newly received I2 packet is similar to
             the one that triggered moving to R2-SENT. If so, it MUST
             retransmit a previously sent R2 packet and reset the R2-SENT
             timer. The system SHOULD re-use the previously established state
             to re-create the corresponding R2 packet in order to prevent
             unnecessary computation overhead.
           </t>
           <t>
             If the system's state machine is in the I2-SENT state, the system
             MUST make a comparison between its local and sender's HITs
             (similarly as in <xref target="keymat" />). If the local HIT is
             smaller than the sender's HIT, it should drop the I2 packet, use
             the peer Diffie-Hellman key, ENCRYPTED_KEY keying material and
             nonce #I from the R1 packet received earlier, and get the local
             Diffie-Hellman key, ENCRYPTED_KEY keying material, and nonce #J
             from the I2 packet sent to the peer earlier. Otherwise, the system
             processes the received I2 packet and drops any previously
             derived Diffie-Hellman keying material Kij and ENCRYPTED_KEY
             keying material it might have generated upon sending the I2 packet
             previously. The peer Diffie-Hellman key, ENCRYPTED_KEY, and the
             nonce #J are taken from the just arrived I2 packet. The local
             Diffie-Hellman key, ENCRYPTED_KEY keying material, and the nonce
             #I are the ones that were sent earlier in the R1 packet.
           </t>
           <t>
             If the system's state machine is in the I1-SENT state, and the
             HITs in the I2 packet match those used in the previously sent I1
             packet, the system uses this received I2 packet as the basis for
             the HIP association it was trying to form, and stops
             retransmitting I1 packets (provided that the I2 packet passes the
             additional checks below).
           </t>
           <t>
             If the system's state machine is in any state other than R2-SENT,
             the system SHOULD check that the echoed R1 generation counter in
             the I2 packet is within the acceptable range if the counter is
             included. Implementations MUST accept puzzles from the current
             generation and MAY accept puzzles from earlier generations. If the
             generation counter in the newly received I2 packet is outside the
             accepted range, the I2 packet is stale (and perhaps replayed) and
             SHOULD be dropped.
           </t>
           <t>
             The system MUST validate the solution to the puzzle as described
             in <xref target="cmac-puzzle" />.
           </t>
           <t>
             The I2 packet MUST have a single value in the HIP_CIPHER
             parameter, which MUST match one of the values offered to the
             Initiator in the R1 packet.
           </t>
           <t>
             The system MUST derive Diffie-Hellman keying material Kij based on
             the public value and Group ID in the HOST_ID parameter. This
             keying material is used to derive the keys of the Master Key SA as
             described in <xref target="keymat" />. If the Diffie-Hellman Group
             ID is unsupported, the I2 packet is silently dropped. If the
             processing time for the derivation of the Diffie-Hellman keying
             material Kij is likely to cause premature I2 retransmissions by
             the Initiator, the system MAY send a NOTIFY packet before starting
             the key derivation process. The NOTIFY packet contains a
             NOTIFICATION parameter with Notify Message Type
             I2_ACKNOWLEDGEMENT. The NOTIFICATION parameter indicates the
             anticipated remaining processing time for the I2 packet in
             milliseconds as two-octet Notification Data.
           </t>
           <t>
             The implementation SHOULD also verify that the Initiator's HIT in
             the I2 packet corresponds to the Host Identity sent in the I2
             packet. (Note: some middleboxes may not be able to make this
             verification.)
           </t>
           <t>
             The system MUST process the TRANSPORT_FORMAT_LIST parameter. Other
             documents specifying transport formats (e.g., <xref
             target="RFC7402" />) contain specifications for handling any
             specific transport selected.
           </t>
           <t>
             The system MUST verify the HIP_MAC according to the procedures in
             <xref target="cmac-processing" />.
           </t>
           <t>
             If the checks above are valid, then the system proceeds with
             further I2 processing; otherwise, it discards the I2 and its state
             machine remains in the same state.
           </t>
           <t>
             The I2 packet may have the A-bit set - in this case, the system
             MAY choose to refuse it by dropping the I2 and the state machine
             returns to state UNASSOCIATED. If the A-bit is set, the
             Initiator's HIT is anonymous and MUST NOT be stored permanently.
           </t>
           <t>
             The system MUST decrypt the keying material from the ENCRYPTED_KEY
             parameter. This keying material is a partial input to the key
             derivation process for the Pair-wise Key SA (see <xref
             target="keymat" />).
           </t>
           <t>
             The system initializes the remaining variables in the associated
             state, including Update ID counters.
           </t>
           <t>
             Upon successful processing of an I2 packet when the system's
             state machine is in state UNASSOCIATED, I1-SENT, I2-SENT, or
             R2-SENT, an R2 packet is sent as described in <xref target="R2" />
             and the system's state machine transitions to state R2-SENT.
           </t>
           <t>
             Upon successful processing of an I2 packet when the system's state
             machine is in state ESTABLISHED, the old HIP association is
             dropped and a new one is installed, an R2 packet is sent as
             described in <xref target="R2" />, and the system's state machine
             transitions to R2-SENT.
           </t>
           <t>
             Upon the system's state machine transitioning to R2-SENT, the
             system starts a timer. The state machine transitions to
             ESTABLISHED if some data has been received on the incoming HIP
             association, or an UPDATE packet has been received (or some other
             packet that indicates that the peer system's state machine has
             moved to ESTABLISHED). If the timer expires (allowing for a
             maximal amount of retransmissions of I2 packets), the state
             machine transitions to ESTABLISHED.
            </t>
         </list>
       </t>

       <t>
         Note that steps 11 (encrypted HOST_ID) and 15 (signature verification)
         from the original processing rules of HIPv2 have been removed in the
         above processing rules for HIP DEX. Moreover, step 10 of the HIPv2
         processing rules has been adapted to account for optional extension of
         the retransmission mechanism. Step 16 has been added to the processing
         rules in this document. The considerations about malformed I2 packets
         in Sections 6.9.1 of <xref target="RFC7401" /> also apply to HIP DEX.
       </t>
     </section>

     <section anchor="inc_r2" title="Processing Incoming R2 Packets">
       <t>
         R2 packets in HIP DEX are handled identically to HIPv2 (see Section
         6.10 of <xref target="RFC7401" />) with the following exceptions: HIP
         DEX introduces a new session key exchange via the ENCRYPTED_KEY
         parameter and does not employ signatures.
       </t>

       <t>
         The modified conceptual processing rules for responding to an R2
         packet are as follows:
         <list style="numbers">
           <t>
             If the system is in any other state than I2-SENT, the R2 packet is
             silently dropped.
           </t>
           <t>
             The system MUST verify that the HITs in use correspond to the
             HITs that were received in the R1 packet that caused the
             transition to the I2-SENT state.
           </t>
           <t>
             The system MUST verify the HIP_MAC according to the procedures in
             <xref target="cmac-processing" />.
           </t>
           <t>
             The system MUST re-evaluate the DH_GROUP_LIST, HIP_CIPHER,
             HIT_SUITE_LIST, and TRANSPORT_FORMAT_LIST parameters in the R2
             packet and compare the results against the chosen suites.
           </t>
           <t>
             If any of the checks above fail, there is a high probability of an
             ongoing man-in-the-middle or other security attack. The system
             SHOULD act accordingly, based on its local policy.
           </t>
           <t>
             The system MUST decrypt the keying material from the ENCRYPTED_KEY
             parameter. This keying material is a partial input to the key
             derivation process for the Pair-wise Key SA (see <xref
             target="keymat" />).
           </t>
           <t>
             Upon successful processing of the R2 packet, the state machine
             transitions to state ESTABLISHED.
           </t>
         </list>
       </t>

       <t>
         Note that step 4 (signature verification) from the original processing
         rules of HIPv2 has been replaced with a negotiation re-evaluation in
         the above processing rules for HIP DEX. Moreover, step 6 has been
         added to the processing rules.
       </t>
     </section>

     <section anchor="inc_notify" title="Processing Incoming NOTIFY Packets">
       <t>
         Processing of NOTIFY packets is OPTIONAL. If processed, any errors in
         a received NOTIFICATION parameter SHOULD be logged. Received errors
         MUST be considered only as informational, and the receiver SHOULD NOT
         change its HIP state purely based on the received NOTIFY packet.
       </t>
       <t>
         If a NOTIFY packet is received in state I2-SENT, this packet is an
         I2 reception acknowledgement of the optional retransmission mechanism
         extension and SHOULD be processed. The following steps define the
         conceptual processing rules for such incoming NOTIFY packets in state
         I2-SENT:
         <list style="numbers">
           <t>
             The system MUST verify that the HITs in use correspond to the HITs
             that were received in the R1 packet that caused the transition to
             the I2-SENT state. If this check fails, the NOTIFY packet MUST
             be dropped silently.
           </t>
           <t>
             If the NOTIFY packet contains a NOTIFICATION parameter with Notify
             Message Type I2_ACKNOWLEDGEMENT, the system SHOULD set the I2
             retransmission timer to the I2 processing time indicated in the
             NOTIFICATION parameter plus half the RTT-based timeout value. The
             system MUST NOT set the retransmission timeout to a higher value
             than allowed by a local policy. Moreover, the system SHOULD reset
             the I2 retransmission timer to the RTT-based timeout value after
             the next I2 retransmission.
           </t>
         </list>
       </t>
     </section>

     <section title="Processing UPDATE, CLOSE, and CLOSE_ACK Packets">

       <t>
         UPDATE, CLOSE, and CLOSE_ACK packets are handled similarly in HIP DEX
         as in HIPv2 (see Sections 6.11, 6.12, 6.14, and 6.15 of <xref
         target="RFC7401" />). The only difference is the that the
         HIP_SIGNATURE is never present and, therefore, is not required to be
         processed by the receiving party.
       </t>
       <t>
         <xref target="RFC7402" /> specifies the rekeying of an existing HIP SA
         using the UPDATE message. This rekeying procedure can also be used with
         HIP DEX. However, where rekeying involves a new Diffie-Hellman key
         exchange, HIP DEX peers MUST establish a new HIP association in order
         to create a new Pair-wise Key SA due to the use of static ECDH
         key-pairs with HIP DEX.
       </t>
     </section>

     <section anchor="loss" title="Handling State Loss">
       <t>
         Implementors MAY choose to use non-volatile, secure storage for HIP
         states in order for them to survive a system reboot. If no secure
         storage capabilities are available, the system SHOULD delete the
         corresponding HIP state, including the keying material. If the
         implementation does drop the state (as RECOMMENDED), it MUST also drop
         the peer's R1 generation counter value, unless a local policy
         explicitly defines that the value of that particular host is stored.
         Such storing of the R1 generation counter values MUST be configured by
         explicit HITs.
       </t>
     </section>

   </section>

   <section anchor="sec-policy" title="HIP Policies">

     <t>
       There are a number of variables that will influence the HIP exchanges
       that each host must support. The value of puzzle difficulty K used in the HIP R1 must be
       chosen with care. Values for the K that are too high will exclude clients
       with weak CPUs because these devices cannot solve the puzzle within a
       reasonable amount of time. The K value should only be raised if a Responder is
       under high load, i.e., it cannot process all incoming HIP handshakes any
       more.
     </t>

     <t>
       If a Responder is not under high load, K SHOULD be 0.
     </t>

     <t>
       All HIP DEX implementations SHOULD provide for an Access Control List
       (ACL), representing for which hosts they accept HIP diet exchanges, and
       the preferred transport format and local lifetimes. Wildcarding SHOULD be
       supported for such ACLs.
     </t>

   </section>

   <section anchor="dex-bex-interop"
     title="Interoperability between HIP DEX and HIPv2">
     <t>
       HIP DEX and HIPv2 both use the same protocol number and packet formats.
       Hence, an implementation that either supports HIP DEX or HIPv2 has to be
       able to detect the dialect that the peer is speaking. This section
       outlines how a HIP DEX implementation can achieve such detection for
       the two relevant cases where:
       <list style="numbers">
        <t>
          the Initiator supports HIP DEX and the Responder supports HIP BEX,
        </t>
        <t>
          the Initiator supports HIP BEX and the Responder supports HIP DEX.
        </t>
       </list>
     </t>
     <t>
       In the first case, the HIP DEX implementation (Initiator) inspects the
       Responder's HIT prior to sending the I1 packet. If the OGA ID field of
       this HIT does not indicate the HIP DEX HIT Suite ID, the HIP DEX
       implementation cancels the handshake. If the Responder is unknown prior
       to sending the I1 packet (i.e., opportunistic mode), the HIP DEX
       implementation performs the above check on reception of the R1 packet and
       cancels the handshake in case of a negative result. In both failure
       scenarios, the implementation should report an error to the user via
       appropriate means.
     </t>
     <t>
       In the second case, the HIP DEX implementation (Responder)
       inspects the Initiator's HIT on reception of an I1 packet. If
       the OGA ID field of this HIT does not indicate the HIP DEX HIT
       Suite ID, the HIP DEX implementation cancels the handshake and
       sends an ICMP packet with type Parameter Problem, with the
       Pointer pointing to the source HIT, to the Initiator. As an
       off-path adversary could also send such an ICMP packet
       with the aim to prevent the HIP DEX
       handshake from completing, the Initiator SHOULD NOT react to an
       ICMP message before retransmission counter reaches
       I1_RETRIES_MAX in its state machine (see Table 3 in <xref
       target="RFC7401"/>).
     </t>
       <!-- the Initiator SHOULD NOT react to an ICMP message after
       sending the I1 until a reasonable delta time to get the real Responder's
       R1 HIP packet. -->

       <!--
     <t>
       Note that an implementation may also support both HIP DEX and HIPv2. It
       then uses the above procedure to determine the protocol variant that is
       supported by its handshake peer and performs the corresponding handshake.
     </t> -->
   </section>

   <section anchor="sec-considerations" title="Security Considerations">

     <t>
       HIP DEX closely resembles HIPv2. As such, the security considerations
       discussed in Section 8 of <xref target="RFC7401" /> similarly apply to
       HIP DEX. HIP DEX, however, replaces the SIGMA-based authenticated
       Diffie-Hellman key exchange of HIPv2 with an exchange of random keying
       material that is encrypted with a Diffie-Hellman derived key. Both the
       Initiator and Responder contribute to this keying material. As a result,
       the following additional security considerations apply to HIP DEX:
     <list style="symbols">
        <t>
          The strength of the keys for the Pair-wise Key SA is based on the
          quality of the random keying material generated by the Initiator and
          the Responder. As either peer may be a sensor or an actuator device,
          there is a natural concern about the quality of its random number
          generator.
        </t>

        <t>
          HIP DEX lacks the Perfect Forward Secrecy (PFS) property of HIPv2.
          Consequently, if an HI is compromised, all previous HIP connections protected
          with that HI are compromised as explained in <xref target="intro"/>.
        </t>

        <t>
          The puzzle mechanism using CMAC explained in <xref target="hip-cookie"/> may need further study regarding the
          level of difficulty in order to establish best practices with current
	  generation of constrained devices.
     </t>

        <t>
          The HIP DEX HIT generation may present new attack opportunities.
          Hence, HIP DEX HITs MUST NOT be used as the only means to identify a
          peer in an ACL. Instead, the use of the peer's HI is recommended as explained in <xref target="HI" />.
        </t>

        <t>
          The R1 packet is unauthenticated and offers an adversary a new attack
          vector against the Initiator. This is mitigated by only processing a
          received R1 packet when the Initiator has previously sent a
          corresponding I1 packet. Moreover, the Responder repeats the
          DH_GROUP_LIST, HIP_CIPHER, HIT_SUITE_LIST, and TRANSPORT_FORMAT_LIST
          parameters in the R2 packet in order to enable the Initiator to
          verify that these parameters have not been modified by an attacker in
          the unprotected R1 packet as explained in <xref target="inc_r2" />.
        </t>

	<t>Contrary to HIPv2, HIP DEX does not provide for end-point
	anonymity for the Initiator or Responder. Thus, any signaling that
	indicates such anonymity should be ignored as explained in <xref target="dex"/>.
	</t>

       </list>
     </t>

     <t>
       The optional retransmission extension of HIP DEX is based on a NOTIFY
       packet that the Responder can use to inform the Initiator about the
       reception of an I2 packet. The Responder, however, cannot protect the
       authenticity of this packet as it did not yet set up the Master Key SA.
       Hence, an eavesdropping adversary may send spoofed reception
       acknowledgements for an overheard I2 packet and signal an arbitrary I2
       processing time to the Initiator. The adversary can, e.g., indicate a
       lower I2 processing time than actually required by the Responder in
       order to cause premature retransmissions. To protect against this
       attack, the Initiator SHOULD set the NOTIFY-based timeout value to the
       maximum indicated packet processing time in case of conflicting NOTIFY
       packets. This allows the legitimate Responder to extend the
       retransmission timeout to the intended length. The adversary, however,
       can still arbitrarily delay the protocol handshake beyond the
       Responder's actual I2 processing time. To limit the extend of such a
       maliciously induced handshake delay, this specification additionally
       requires the Initiator not to set the NOTIFY-based timeout value higher
       than allowed by a local policy.
     </t>

     <t>
       <xref target="I1"/> mentions that implementations need to be
       able to handle storms of I1 packets. Contrary to HIPv2, R1 packets cannot be
       pre-computed in HIP DEX and also the state machine does not include an
       "R1_SENT" state (that would enable caching of R1 packets). Therefore,
       an implementation has to cache information (e.g., at
       least the HITs) from incoming I1 packets and rate control
       the incoming I1 packets to avoid unnecessary packet processing
       during I1 packet storms.
     </t>

   <section anchor="SECP160R1" title="SECP160R1 Considered Unsafe">

     <t>
	   The SECP160R1 curve is included more for  historical reasons 
	   than a demostrated need for a lightweight curve for constrained 
	   systems.  Until it is deprecated from  <xref target="RFC7401" 
	   />, it is included, but implementors should carefully weigh any 
	   advantages actual or perceived over EC25519.  Actual 
	   implementations of EC25519 on an 8501 show that it can be used 
	   on very constrained hardware.  The over-the-air and storage 
	   costs for EC25519 are also closely comparable with SECP160R1.
     </t>

     <t>
	   Thus the security risk of the weak SECP160R1 must be shown to be 
	   of value over any slight costs of using EC25519 instead.
     </t>

   </section>

   <section anchor="PK_Validate" title="Need to Validate Public Keys">

     <t>
	   With the curves specified here, there is a straightforward key 
	   extraction attack, which is a very serious problem the use of 
	   static keys by HIP-DEX.  Thus it is MANDATORY to validate the 
	   peer's Public Key.
     </t>

     <t>
	   For the curve SECP160R1, peers MUST validate each other's public 
	   value Q by ensuring that the point is a valid point on the 
	   elliptic curve.  This process consists of three steps: (1) 
	   verify that Q is not the point at infinity (O), (2) verify that 
	   for Q = (x, y) both integers x and y are in the correct 
	   interval, and (3) ensure that (x, y) is a correct solution to 
	   the elliptic curve equation.  For this curve, implementors do 
	   not need to verify membership in the correct subgroup.
     </t>

     <t>
	   With the NIST curves, there are no internal length markers, so 
	   each number representation occupies as many octets as implied by 
	   the curve parameters.  For P-256, this means that each of X and 
	   Y use 32 octets, padded on the left by zeros if necessary.  For 
	   P-384, they take 48 octets each.  For P-521, they take 66 octets 
	   each.
     </t>

     <t>
	   For Curve25519 and Curve448, the contents of the public value 
	   are the byte string inputs and outputs of the corresponding 
	   functions defined in <xref target="RFC7748" />: 32 bytes for 
	   EC25519 and 56 bytes for EC448.
     </t>

   </section>

   </section>

   <section anchor="iana" title="IANA Considerations">

    <t>
      The following changes to the "Host Identity Protocol (HIP) Parameters"
      registries have been made:
    </t>
    <t>
      <list style="hanging">
        <t hangText="Parameter Type">
          This document defines the new HIP parameters
       <list style="hanging">
        <t hangText="ENCRYPTED_KEY">
		   "ENCRYPTED_KEY" with type number TBD1 (suggested: 643) (see 
		   <xref target="encrypted_key" />) in the "Parameter Types" 
		   subregistry of the "Host Identity Protocol (HIP) Parameters" 
		   registry.
        </t>
        <t hangText="I_NONCE">
		   "I_NONCE" with type number TBD6 (suggested: 644) (see <xref 
		   target="i_nonce"/>) in the "Parameter Types" subregistry of 
		   the "Host Identity Protocol (HIP) Parameters" registry.
        </t>
       </list>
        </t>
        <t hangText="HIT Suite ID">
          This document defines the new HIT Suite "ECDH/FOLD" without four-bit ID of TBD2 (suggested: 4) and eight-bit encoding of TBD3 (suggested: 0x40) (see <xref
          target="hit_suite_list" />) in the "HIT Suite ID" subregistry of the "Host Identity Protocol (HIP) Parameters" registry.
        </t>
        <t hangText="HIP Cipher ID">
          This document defines the new HIP Cipher ID "AES-128-CTR" with type number TBD4 (suggested: 5) (see <xref
          target="hip_cipher" />) in the "HIP Cipher ID" subregistry of the "Host Identity Protocol (HIP) Parameters" registry.
        </t>
        <t hangText="HI Algorithm">
          This document defines the new HI Algorithm "ECDH" with type number TBD5 (suggested: 11) (see <xref
          target="host_id" />) in the "HI Algorithm" subregistry of the "Host Identity Protocol (HIP) Parameters" registry.
        </t>
        <t hangText="ECC Curve Label">
          This document specifies a new algorithm-specific subregistry named
          "ECDH Curve Label". The values for this subregistry are defined in
          <xref target="dh_group_list" />. The complete list of algorithms for the DH_GROUP_LIST parameter are listed in the "Group IDs"
	  subregistry of the "Host Identity Protocol (HIP) Parameters" registry.
        </t>
      </list>
    </t>
   </section>

   <section title="Acknowledgements">

     <t>
       The drive to put HIP on a cryptographic 'Diet' came out of a number of
       discussions with sensor vendors at IEEE 802.15 meetings. David McGrew was
       very helpful in crafting this document. Special thanks to Mohit Sethi in helping with the draft during IESG process.
       <!-- Special thanks to Miika Komu for reviewing this document in the context of Convince Celtic+ project. -->
     </t>

   </section>

   <section title="Changelog">
      <t>
        This section summarizes the changes made from
        draft-moskowitz-hip-rg-dex-05, which was the first stable version of
        the draft. Note that the draft was renamed after
        draft-moskowitz-hip-rg-dex-06.
      </t>
	<t>
		The draft was then renamed from draft-moskowitz-hip-dex to draft-ietf-hip-dex.
	</t>
        <section title="Changes in draft-ietf-hip-dex-12 and 13">
          <t>
            <list style='symbols'>
              <t>Included more precise references to the IANA subregistries</t>
              <t>Addressed GEN-ART feedback from Francis Dupont</t>
              <t>Added reasoning for PFS in a separate section, and it is mentioned also in the abstract and intro.</t>
	      <t>Donald Eastlake's (secdir) nits addressed</t>
	      <t>Resolved IANA nits from Amanda Baber.</t>
			  <t>New sections: "Why introduce folding" (<xref 
			  target="foldVcmac" />), "SECP160R1 Considered Unsafe" 
			  (<xref target="SECP160R1" />), "Need to Validate Public 
			  Keys" (<xref target="PK_Validate" />), and "I_NONCE" 
			  (<xref target="i_nonce" />) to address Eric Rescorla's 
			  concerns.</t>
            </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-11">
          <t>
            <list style='symbols'>
              <t>Update IANA considerations as requested by Eric Envyncke</t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-10">
          <t>
            <list style='symbols'>
              <t>Explanations on why the document includes so many SHOULDs</t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-ietf-hip-dex-09">
          <t>
            <list style='symbols'>
              <t>
                Fixed values for
                <list>
				   <t>DH_GROUP_LIST</t>
				   <t>HIT_SUITE_LIST</t>
                </list>
                to match <xref target="RFC7401" />.
              </t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-05">
          <t>
            <list style='symbols'>
              <t>
                Clarified main differences between HIP BEX and HIP DEX in
                Section 1.
              </t>
              <t>
                Addressed MitM attack in Section 8.
              </t>
              <t>
                Minor editorial changes.
              </t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-04">
          <t>
            <list style='symbols'>
              <t>
                Added new paragraph on rekeying procedure with HIP DEX.
              </t>
              <t>
                Updated references.
              </t>
              <t>
                Editorial changes.
              </t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-03">
          <t>
            <list style='symbols'>
              <t>
                Added new section on HIP DEX/HIPv2 interoperability
              </t>
              <t>
                Added reference to RFC4493 for CMAC.
              </t>
              <t>
                Added reference to RFC5869 for CKDF.
              </t>
              <t>
                Added processing of NOTIFY message in I2-SENT of state diagram.
              </t>
              <t>
                Editorial changes.
              </t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-02">
          <t>
            <list style='symbols'>
              <t>
                Author address change.
              </t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-01">
          <t>
            <list style='symbols'>
              <t>
                Added the new ECDH groups of Curve25519 and Curve448 from RFC 7748.
              </t>
           </list>
         </t>
        </section>
        <section title="Changes in draft-ietf-hip-dex-00">
          <t>
            <list style='symbols'>
              <t>
                The Internet Draft was adopted by the HIP WG.
              </t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-moskowitz-hip-rg-dex-06">
          <t>
            <list style='symbols'>
              <t>
                A major change in the ENCRYPT parameter to use AES-CTR rather
                than AES-CBC.
              </t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-moskowitz-hip-dex-00">
          <t>
            <list style='symbols'>
              <t>
                Draft name change. HIPRG ended in IRTF, HIP DEX is now
                individual submission.
              </t>
              <t>
                Added the change section.
              </t>
              <t>
                Added a Definitions section.
              </t>
              <t>
                Changed I2 and R2 packets to reflect use of AES-CTR for
                ENCRYPTED_KEY parameter.
              </t>
              <t>
                Cleaned up KEYMAT Generation text.
              </t>
              <t>
                Added Appendix with C code for the ECDH shared secret
                generation on an 8 bit processor.
              </t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-moskowitz-hip-dex-01">
          <t>
            <list style='symbols'>
              <t>
                Numerous editorial changes.
              </t>
              <t>
                New retransmission strategy.
              </t>
              <t>
                New HIT generation mechanism.
              </t>
              <t>
                Modified layout of ENCRYPTED_KEY parameter.
              </t>
              <t>
                Clarify use puzzle difficulty of zero under normal network
                conditions.
              </t>
              <t>
                Align inclusion directive of R1_COUNTER with HIPv2 (from SHOULD
                to MUST).
              </t>
              <t>
                Align inclusion of TRANSPORT_FORMAT_LIST with HIPv2 (added to
                R1 and I2).
              </t>
              <t>
                HIP_CIPHER, HIT_SUITE_LIST, and TRANSPORT_FORMAT_LIST must now
                be echoed in R2 packet.
              </t>
              <t>
                Added new author.
              </t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-moskowitz-hip-dex-02">
          <t>
            <list style='symbols'>
              <t>
                Introduced formal definition of FOLD function.
              </t>
              <t>
                Clarified use of CMAC for puzzle computation in section
                "Solving the Puzzle".
              </t>
              <t>
                Several editorial changes.
              </t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-moskowitz-hip-dex-03">
          <t>
            <list style='symbols'>
              <t>
                Addressed HI crypto agility.
              </t>
              <t>
                Clarified purpose of secret exchanged via ENCRYPTED_KEY
                parameter.
              </t>
              <t>
                Extended the IV in the ENCRYPTED_KEY parameter.
              </t>
              <t>
                Introduced forward-references to HIP DEX KEYMAT process and
                improved KEYMAT section.
              </t>
              <t>
                Replaced Appendix A on "C code for ECC point multiplication"
                with short discussion in introduction.
              </t>
              <t>
                Updated references.
              </t>
              <t>
                Further editorial changes.
              </t>
           </list>
         </t>
        </section>

        <section title="Changes in draft-moskowitz-hip-dex-04">
          <t>
            <list style='symbols'>
              <t>
                Improved retransmission extension.
              </t>
              <t>
                Updated and strongly revised packet processing rules.
              </t>
              <t>
                Updated security considerations.
              </t>
              <t>
                Updated IANA considerations.
              </t>
              <t>
                Move the HI Algorithm for ECDH to a value of 11.
              </t>
              <t>
                Many editorial changes.
              </t>
           </list>
         </t>
        </section>

   </section>

 </middle>

 <back>
   <references title="Normative References">

     <?rfc include="reference.RFC.2119.xml"?>
     <?rfc include="reference.RFC.2410.xml"?>
     <?rfc include="reference.RFC.3686.xml"?>
     <?rfc include="reference.RFC.4443.xml"?>
     <?rfc include="reference.RFC.6261.xml"?>
     <?rfc include="reference.RFC.7343.xml"?>
     <?rfc include="reference.RFC.7401.xml"?>
     <?rfc include="reference.RFC.7402.xml"?>
     <?rfc include="reference.RFC.8174.xml"?>

   </references>


   <references title="Informative References">

     <?rfc include="reference.I-D.ietf-hip-rfc4423-bis.xml"?>
     <?rfc include="reference.RFC.4493.xml"?>
     <?rfc include="reference.RFC.5869.xml"?>
     <?rfc include="reference.RFC.5903.xml"?>
     <?rfc include="reference.RFC.6090.xml"?>
     <?rfc include="reference.RFC.7228.xml"?>
     <?rfc include="reference.RFC.7296.xml"?>
     <?rfc include="reference.RFC.7748.xml"?>

     <reference anchor="IEEE.802-15-4.2011"
       target="http://standards.ieee.org/getieee802/download/802.15.4-2011.pdf">
       <front>
         <title>Information technology - Telecommunications and information
           exchange between systems - Local and metropolitan area networks -
           Specific requirements - Part 15.4: Wireless Medium Access Control
           (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless
           Personal Area Networks (WPANs)</title>
         <author fullname="Institute of Electric and Electronic Engineers">
           <organization></organization>
         </author>
         <date month="September" year="2011" />
       </front>
       <seriesInfo name="IEEE" value="Standard 802.15.4" />
     </reference>

     <reference anchor="IEEE.802-11.2007"
       target="http://standards.ieee.org/getieee802/download/802.11-2007.pdf">
       <front>
         <title>Information technology - Telecommunications and information
           exchange between systems - Local and metropolitan area networks -
           Specific requirements - Part 11: Wireless LAN Medium Access Control
           (MAC) and Physical Layer (PHY) Specifications</title>
         <author fullname="Institute of Electric and Electronic Engineers">
           <organization></organization>
         </author>
         <date month="June" year="2007" />
       </front>
       <seriesInfo name="IEEE" value="Standard 802.11" />
     </reference>

     <reference anchor="DH76">
       <front>
         <title>New Directions in Cryptography</title>
         <author initials="W." surname="Diffie"
           fullname="Whitfield Diffie">
           <organization />
         </author>
         <author initials="M.E." surname="Hellman"
           fullname="Martin E. Hellman">
           <organization />
         </author>
         <date month="Nov" year="1976" />
       </front>
         <seriesInfo name="IEEE Transactions on Information Theory"
           value="vol. IT-22, number 6, pages 644-654" />
     </reference>

     <reference anchor="LN08">
       <front>
         <title>TinyECC: A Configurable Library for Elliptic Curve Cryptography in Wireless Sensor Networks</title>
         <author initials="A." surname="Liu"
           fullname="An Liu">
           <organization>NC State University</organization>
         </author>
         <author initials="H." surname="Ning"
           fullname="Peng Ning">
           <organization>NC State University</organization>
         </author>
         <date month="April" year="2008" />
       </front>
       <seriesInfo name="in Proceedings of"
         value="International Conference on Information Processing in Sensor Networks (IPSN 2008)" />
     </reference>

     <reference anchor="HWZ13">
       <front>
         <title>Tailoring End-to-End IP Security Protocols to the Internet of
         Things</title>
         <author initials="R." surname="Hummen"
           fullname="Rene Hummen">
           <organization abbrev="COMSYS, RWTH Aachen">Chair of Communication
           and Distributed Systems, RWTH Aachen</organization>
         </author>
         <author initials="H." surname="Wirtz"
           fullname="Hanno Wirtz">
           <organization abbrev="COMSYS, RWTH Aachen">Chair of Communication
           and Distributed Systems, RWTH Aachen</organization>
         </author>
         <author initials="J.H." surname="Ziegeldorf"
           fullname="Jan Henrik Ziegeldorf">
           <organization abbrev="COMSYS, RWTH Aachen">Chair of Communication
           and Distributed Systems, RWTH Aachen</organization>
         </author>
         <author initials="J." surname="Hiller"
           fullname="Jens Hiller">
           <organization abbrev="COMSYS, RWTH Aachen">Chair of Communication
           and Distributed Systems, RWTH Aachen</organization>
         </author>
         <author initials="K." surname="Wehrle"
           fullname="Klaus Wehrle">
           <organization abbrev="COMSYS, RWTH Aachen">Chair of Communication
           and Distributed Systems, RWTH Aachen</organization>
         </author>
         <date month="October" year="2013" />
       </front>
       <seriesInfo name="in Proceedings of"
         value="IEEE International Conference on Network Protocols (ICNP 2013)" />
     </reference>

     <reference anchor="SECG" target="http://www.secg.org/">
         <front>
             <title>Recommended Elliptic Curve Domain Parameters</title>
             <author><organization>SECG</organization></author>
             <date year="2000"/>
         </front>
             <seriesInfo name="SEC 2" value=""/>
     </reference>

   </references>


   <section anchor="twofactor"
     title="Password-based two-factor authentication during the HIP DEX handshake">
     <t>
       HIP DEX allows identifying authorized connections based on a two-factor
       authentication mechanism. With two-factor authentication, devices that
       are authorized to communicate with each other are required to be
       pre-provisioned with a shared (group) key. The Initiator uses this
       pre-provisioned key to encrypt the ECHO_RESPONSE_UNSIGNED in the I2
       packet. Upon reception of the I2, the Responder verifies that its
       challenge in the ECHO_REQUEST_UNSIGNED parameter in the R1 packet has
       been encrypted with the correct key. If verified successfully, the
       Responder proceeds with the handshake. Otherwise, it silently drops the
       I2 packet.
     </t>

     <t>
       Note that there is no explicit signaling in the HIP DEX handshake for
       this behavior. Thus, knowledge of two-factor authentication must be
       configured externally prior to the handshake.
     </t>
   </section>

   <section anchor="IESG" title="IESG Considerations">
     <t>
	   During IESG review, a concern was raised on the number of 
	   SHOULDS in this document.  Here is an analysis of the 57 SHOULDS 
	   in HIP DEX.
     </t>

     <t>
	   46 of SHOULDS are also in <xref target="RFC7401" />.  Here are 
	   the sections with SHOULDS that match up with <xref 
	   target="RFC7401" />:
	<figure>
        <artwork>
5.2.2.    HIP_CIPHER (same as 7401)

6.5.    Processing Incoming I1 Packets
    3.    (same as 7401)
    5.    (same as 7401)

6.6.    Processing Incoming R1 Packets    (same as 7401)

6.7.    Processing Incoming I2 Packets
    3.    (same as 7401)
    7.    (same as 7401)
    11.    (same as 7401)

6.8.    Processing Incoming R2 Packets
    5.    (same as 7401)

6.9.    Processing Incoming NOTIFY Packets
    1st para (same as 7401)

6.11.    Handling State Loss (same as 7401)

7.    HIP Policies (1st and 3rd same as 7401)
        </artwork>
	</figure>
     </t>

     <t>
	   Many of the other 11 SHOULDS are due to the nature of 
	   constrained devices and in most cases the text points this out:
     </t>
     <t>
	   In <xref target="hip-cookie" />, this is clearly adjusting for 
	   how the puzzle could actually be an attack against a constrained 
	   device.  Same situation in <xref target="R1" />.
     </t>
     <t>
	   <xref target="packet_processing" />, clearly states that:
         <list style="empty">
           <t>
			 it should be noted that many of the packet processing 
			 rules are denoted here with "SHOULD" but may be updated to 
			 "MUST" when further implementation experience provides 
			 better guidance.
           </t>
         </list>
     </t>
     <t>
       thus the SHOULD here is informative of future guidance.
     </t>
     <t>
	   The SHOULD in <xref target="keymat" />, clearly reflects new 
	   work with the new Sponge Function KDFs:
     </t>
     <t>
	   The keys derived for the Pair-wise Key SA are not used during 
	   the HIP DEX handshake. Instead, these keys are made available as 
	   payload protection keys (e.g., for IPsec). Some payload 
	   protection mechanisms have their own Key Derivation Function, 
	   and if so this mechanism SHOULD be used. Otherwise, the HIP DEX 
	   KEYMAT process MUST be used to derive the keys of the Pair-wise 
	   Key SA based on the concatenation of the random values that are 
	   contained in the exchanged ENCRYPTED_KEY parameters.
     </t>
     <t>
	   In <xref target="i1process" />, the reason why this is a SHOULD 
	   should be clear to any implementer.  That is the HIT Suite list 
	   in I1 is a desire on what suite to use.  The Responder may have 
	   'different ideas' about the Suite to use (like what it 
	   supports).  Thus it is best that the Responder selects a DEX 
	   HIT, but there are good reasons, in an implementation not to do 
	   so. The implementer should know this and will deal with it 
	   appropriately.
     </t>
     <t>
	   The SHOULDs in <xref target="ini2" /> and <xref 
	   target="inc_notify" /> are there for considerations for 
	   constrained systems. Some constrained systems need this 
	   approach, others may not.
     </t>
     <t>
	   The 2nd SHOULD in <xref target="sec-policy" /> follows the same 
	   as above.  ACLs and constrained systems tend to go together.
     </t>
     <t>
	   Similarly in <xref target="dex-bex-interop" /> the SHOULD is 
	   again is highlighting constrained system processing 
	   considerations.
     </t>
   </section>


 </back>
</rfc>


--------------4A6C0F234EBB3F6EAF909540--


From nobody Thu Feb 13 05:01:57 2020
Return-Path: <julian.reschke@gmx.de>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 44698120058 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:01:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ybE2R682rqHh for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:01:54 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C03C2120041 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 05:01:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1581598907; bh=cGlPXj+SjrxhbXw2aNMbnHTwZF+oiKR9TFSQQ1+rFpo=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=G9ejlmDfdoVByQHwTcjMP2hEVCD9RzoxgplxKuz1PAOvZAmbkNHWhW6g3qfslHjDp ZLOgSpA+nIEygz/cKRKkccDTQkCTNtqIp28yaiBDiEZc4u1eQycPJKQS9g3syo4dPE Dowi6iN2fmoAPFAvVR0/PEMSI3jIjNxbwiNIdrjs=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.44] ([217.91.35.233]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N3KPq-1jTH5Y0lH8-010KeK; Thu, 13 Feb 2020 13:56:38 +0100
To: Robert Moskowitz <rgm@htt-consult.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <943f6528-7b6c-764f-b688-6cab0995526a@gmx.de>
Date: Thu, 13 Feb 2020 13:56:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2
MIME-Version: 1.0
In-Reply-To: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:Etx+zuKjJmg/btGieJ/GWQYeKQYBem5eeCb7Tk27BbhC4/xBqTG Y4vsjDT6BiR9yeyoX5WBYAc6GVdTSv4duQQtcvUM3BQqgq3CfbHr+auKON4o8Y9ty3q8UXd mXDQju/SzEQQIXh1LfdbENPOMdN2VWiuJyWVx9byBOCLX3MjDk1i9/2pO9Mx9Qd5LXJage6 ng6z+xQ3Us0VFhqtJwWWA==
X-UI-Out-Filterresults: notjunk:1;V03:K0:BRkr2R297VE=:a/sauHSW6dI+mruPgW76ju jgXIf8A0VzwROelCNyVwVdTA8vTZ6DzP54CM5fvp7bek18A+0sVS1KvC2rFA2PVmW60n9uod/ CeEKHqZZoVY+ehK6/JFttJKDf9iH4rxGvxgcnljTUTQslq8vc/6wOANPSs6Rs0tN8ePSzd7Om RD6Qk64KDQG4dQ0TWF+WuzzXOGAGjWIYMaAJfoItgSlENRFPrds1NxCoVS2DYVvhVIrJt6DJV x0PXGQwbuVRJfEMQaoovGjb/bEj7ovIBUCm1TYymRIqU6kYSbYT0urjOYOvtxzdS9S6fq1f5R Wxbxa72ZmSDWBCMjGmZO36zkJUUv+JDXc8ceso2fz4786tWHuLADenps5qUxwQ3MM+sMOqEdX yC4sXY7tr3rj6fZNhJHJ2yYj9uKb3O1Tm1a9ws8xm6LL/iCUeWf0Y0XRTrb1e7EcNeUrbiMDM bkOpKibWgere2SRhCjC4Tx0NWnPuWqhwDNnh8mHr+/KTu1mp+h8woegPBmqaeSVxRLxP0YUaS u0kUMA8BEQ7MRPuXQ8S8hvMSDN4tqRAIeLrxd7w5oD/fwlXtyb3ejfKC4vjDsAo3Osh8A3Ohl fnxyRneKqni3gnfKV3zgfaipt1JpBfnpyxPVbtaFLhGv3XyvW7uzFNQNESLGg5ct1hT1PB5/2 Mli41Q9BObhW9Hoh8zsY0OkgQMbDShymaqFeCE2G3j0jh8BswmaIhXD3X49CD8Bn4XDiYGcQV hzMBlEf9YnMObquyRUmnYAI7Tut12Fat7rvuK8nWWFI1RYXr5MFT2WO2qhrZffkMnYStoVYyU /ltmwJI/wmQRHgQadHE/9Bktrq7nxRz3us66utjFHI8GAf4lfkerxpySBYsX1gHm0DL57t999 yzeoA5+j593uDWtQ9pa4hTyksvTUsjE23TtT1qF44I5ABWZqJIhpgofLxOJoaDbrjbTeF25Bs qLm4/SO+ekEz7HHhs4YEovOdI1jTepTZwXmhe5iYrQEQKz0xLlyMudG8AuJX/2dROD03r7aLN wb5HZKuu2NmweT1IG2cPk+WEkCbJkEba7IK8uN1oUDeP1FYIILjgHIgxdaqAO3cqtOL7j2SWR AkEEIfKFtYR1PJO7ELIQJPZ/ZM0b2pPwb54xgupzbAhKaBdmuTtwtTsP/Y7iSEj1Q6fIT+IhY g+QPlVoh1Oc150hYYJ/DaAHZroAlm3ZLNGD/gZIwIUMSYYWKBAl0TuXu57ms0JmSlky50uyz7 ayqWfqgNUcUFludI8
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/izFii59dprvuqc_TuBsKRkCY-Q4>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 13:01:56 -0000

On 13.02.2020 12:02, Robert Moskowitz wrote:
> Please compare:
>
> https://www.ietf.org/id/draft-ietf-hip-dex-12.txt
>
> with the attached txt file.=C2=A0 Note the differences in sec 6.3
>
> The posted one was generated by the submission tool.=C2=A0 My colleague =
only
> uploaded the xml, assuming that what we saw with local generation was
> the same as the submission tool would generate.
>
> We are using the 2.39.0 and running it on the attached xml with no
> switches.
>
> Is there something problematic with our xml or is it the submission tool=
..
>
> thanks
> ...

The seems to be caused by the fact that the artwork contains an XML
comment; and the online tool only processes the part before the comment.

This is a bug; no idea why it surfaces only in the online tool.

Best regards, Julian


From nobody Thu Feb 13 05:23:33 2020
Return-Path: <henrik@levkowetz.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 93AB91200E9 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:23:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level: 
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07y2LUH6nApe for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:23:29 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [64.170.98.42]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A010D1200B4 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 05:23:29 -0800 (PST)
Received: from h-202-242.a357.priv.bahnhof.se ([158.174.202.242]:57702 helo=tannat.localdomain) by zinfandel.tools.ietf.org with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1j2ESS-0001Kh-Hc; Thu, 13 Feb 2020 05:23:29 -0800
To: Robert Moskowitz <rgm@htt-consult.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
From: Henrik Levkowetz <henrik@levkowetz.com>
Message-ID: <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
Date: Thu, 13 Feb 2020 14:23:00 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fMWddm2gK44k2HahCj3nuWnui0SFTWMnJ"
X-SA-Exim-Connect-IP: 158.174.202.242
X-SA-Exim-Rcpt-To: xml2rfc@ietf.org, rgm@htt-consult.com
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on zinfandel.tools.ietf.org)
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/b3vqzuB1XHQ634nZ5eEon7ZDmp4>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 13:23:32 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--fMWddm2gK44k2HahCj3nuWnui0SFTWMnJ
Content-Type: multipart/mixed; boundary="FFXloS0BTMlLRDER7KrFpwgtvdNR33nfH";
 protected-headers="v1"
From: Henrik Levkowetz <henrik@levkowetz.com>
To: Robert Moskowitz <rgm@htt-consult.com>,
 "xml2rfc@ietf.org" <xml2rfc@ietf.org>
Message-ID: <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
In-Reply-To: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>

--FFXloS0BTMlLRDER7KrFpwgtvdNR33nfH
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Bob,

On 2020-02-13 12:02, Robert Moskowitz wrote:
> Please compare:
>=20
> https://www.ietf.org/id/draft-ietf-hip-dex-12.txt
>=20
> with the attached txt file.  Note the differences in sec 6.3

The attached txt file says draft-ietf-hip-dex-13, but the datatracker
only knows about submissions up to -12.

However, if I download the -12 XML file and process it through xml2rfc he=
re,
I see the difference; this is clearly a bug with the creation of .txt fro=
m
=2Exml at submission time.  I'll debug.

> The posted one was generated by the submission tool.  My colleague only=
=20
> uploaded the xml, assuming that what we saw with local generation was=20
> the same as the submission tool would generate.
>=20
> We are using the 2.39.0 and running it on the attached xml with no swit=
ches.
>=20
> Is there something problematic with our xml or is it the submission too=
l..

I assume it's a submission tool problem at the moment, will know more aft=
er
debugging.


	Henrik


--FFXloS0BTMlLRDER7KrFpwgtvdNR33nfH--

--fMWddm2gK44k2HahCj3nuWnui0SFTWMnJ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEifjc5+rnL1MJBcZSTptXS4+7FxoFAl5FTbQACgkQTptXS4+7
Fxqq/w//bIH6rP5aGy17Jn0TBVUiRikKNolDY8Sw4Bd3KhTZqoMo8/VKdjMoJ8tE
t1mj1CRAGeh4iozeyxlv6HBLoA8qvpNmhWVYk8w8JomVoHth0JOmMtCuxXhvbb/I
IflgiDcRnepdrCXqANRqpdCyFALnUx5QUkkRWG1jR4aq07IQzNXWRTSqaaG7aYr/
22rxEdWAb5Rxt7SemhN4JOYfENOUzUCOFC5mysx9XwrCLm7k/2Mpeau63Be0SkyD
Pycygi5HzKYK3E8uLxiPxAJhcdXvxxkOAgKuzFPQ4J8N5reTzM4OoccA4vIEIxbB
aZTMOSn5JNoDJ5UI3199ZKJEwVtJRZnDEqHY79fjsMqrnhqjje53n6e9r0i16fUe
dbt1os1fAPJ/hqA1nKsGtBVeT6bjwQ0h0Iimlj4sndnB8W1xS+akxH5sqrPgun5y
SiyTyK7ZGhlbt16qer5uyH8dt7Y2esghy5DtiZ+2cB2g48gSfVnAOGwxYm5MJkTj
VE6jZ6GYgGI697St3SzwJBI3jpxFPV6OWvx+6W1GtTna29dLYh/QGrDhC5J+Hx3g
xeSJdAJT+XpgNWKa9IxbSrD5FdnzfXbirIC8t9fSpYZ3gcsnljMv9TSNXmKezYj3
Ipgjq4PDvUn+5+wRD96l92mgnn20Fur7bxO7al6HwgJRZlxGd9A=
=KgbV
-----END PGP SIGNATURE-----

--fMWddm2gK44k2HahCj3nuWnui0SFTWMnJ--


From nobody Thu Feb 13 05:38:53 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 02CDF1200EB for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:38:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SwnGL-L7TiXk for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:38:48 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7ACB01200F8 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 05:38:48 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 1DB586213F; Thu, 13 Feb 2020 08:38:47 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 0pYKq6NRQ4eE; Thu, 13 Feb 2020 08:38:43 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id E3A5962133; Thu, 13 Feb 2020 08:38:42 -0500 (EST)
To: Henrik Levkowetz <henrik@levkowetz.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com> <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <8c7b0251-919a-3fb0-f931-cd7d069a4130@htt-consult.com>
Date: Thu, 13 Feb 2020 08:38:34 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1
MIME-Version: 1.0
In-Reply-To: <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/G1hNddh3AbwfTl7Zzrn_7SqlQzA>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 13:38:51 -0000

On 2/13/20 8:23 AM, Henrik Levkowetz wrote:
> Hi Bob,
>
> On 2020-02-13 12:02, Robert Moskowitz wrote:
>> Please compare:
>>
>> https://www.ietf.org/id/draft-ietf-hip-dex-12.txt
>>
>> with the attached txt file.  Note the differences in sec 6.3
> The attached txt file says draft-ietf-hip-dex-13, but the datatracker
> only knows about submissions up to -12.

Oops.  I sent you the one we are working to address comments on -12.

> However, if I download the -12 XML file and process it through xml2rfc here,
> I see the difference; this is clearly a bug with the creation of .txt from
> .xml at submission time.  I'll debug.
>
>> The posted one was generated by the submission tool.  My colleague only
>> uploaded the xml, assuming that what we saw with local generation was
>> the same as the submission tool would generate.
>>
>> We are using the 2.39.0 and running it on the attached xml with no switches.
>>
>> Is there something problematic with our xml or is it the submission tool..
> I assume it's a submission tool problem at the moment, will know more after
> debugging.

Thanks.



From nobody Thu Feb 13 05:42:20 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 24DB01200FB for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:42:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S6L3RjMZXrcx for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 05:42:15 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 229C81200FA for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 05:42:15 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 09BFD6213F; Thu, 13 Feb 2020 08:42:12 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id fFJ2Iu4qzQKe; Thu, 13 Feb 2020 08:42:04 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id ED32D62133; Thu, 13 Feb 2020 08:42:01 -0500 (EST)
To: Julian Reschke <julian.reschke@gmx.de>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com> <943f6528-7b6c-764f-b688-6cab0995526a@gmx.de>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <bae89696-e3b4-a25c-eb1e-45ef7c03acab@htt-consult.com>
Date: Thu, 13 Feb 2020 08:41:55 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1
MIME-Version: 1.0
In-Reply-To: <943f6528-7b6c-764f-b688-6cab0995526a@gmx.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/8IUqhHd0Y_Y9gv_Q3nXKoOJe0cg>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 13:42:18 -0000

On 2/13/20 7:56 AM, Julian Reschke wrote:
> On 13.02.2020 12:02, Robert Moskowitz wrote:
>> Please compare:
>>
>> https://www.ietf.org/id/draft-ietf-hip-dex-12.txt
>>
>> with the attached txt file.  Note the differences in sec 6.3
>>
>> The posted one was generated by the submission tool.  My colleague only
>> uploaded the xml, assuming that what we saw with local generation was
>> the same as the submission tool would generate.
>>
>> We are using the 2.39.0 and running it on the attached xml with no
>> switches.
>>
>> Is there something problematic with our xml or is it the submission 
>> tool..
>>
>> thanks
>> ...
>
> The seems to be caused by the fact that the artwork contains an XML
> comment; and the online tool only processes the part before the comment.
>
> This is a bug; no idea why it surfaces only in the online tool.

And I added that comment with -12.  I was debating if I should include 
that text after I wrote it, and thought that turning it into a comment 
would hold it for me if reviewers wanted it.

And the local build did not have a problem with it,,,,



From nobody Thu Feb 13 06:43:47 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1ECA0120013 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 06:43:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id btidajy6EXJE for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 06:43:42 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 413CB120124 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 06:43:42 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 0B5CB62145 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 09:43:41 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id bcjZ42-ysNJF for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 09:43:38 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id 278D46213F for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 09:43:38 -0500 (EST)
To: "xml2rfc@ietf.org" <xml2rfc@ietf.org>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <98ca11ba-3992-fcf2-e09c-007199e1c1d6@htt-consult.com>
Date: Thu, 13 Feb 2020 09:43:31 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/KpBCZh6Sz0ocVArk85xhYZeGZ5w>
Subject: [xml2rfc] Problems with html generated by online submission tool
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 14:43:46 -0000

Again, please look at https://tools.ietf.org/html/draft-ietf-hip-dex-12, 
this time sec 4.1.1

In the second para, the sections referenced, 4.1.1 and 4.1.2 are turned 
into html links.  They are not that way in the xml nor dos the local 
--html option do this.  The xml in question is:

          <t>
            Conceptually, the puzzle mechanism in HIP DEX is the same as in
            HIPv2. Hence, this document refers to Sections 4.1.1 and 
4.1.2 in
            <xref target="RFC7401" /> for more detailed information 
about the
            employed mechanism. Notably, the only differences between 
the puzzle
            mechanism in HIP DEX and HIPv2 are that HIP DEX does not employ
            pre-computation of R1 packets and uses CMAC instead of a hash
            function for solving and verifying a puzzle. The implications of
            these changes on the puzzle implementation are discussed in 
<xref
            target="cmac-puzzle" />.
          </t>

At this point, when we are trying to finally get this draft off to RFC, 
we want to minimize changes.  That said,  I am looking at:

https://xml2rfc.tools.ietf.org/xml2rfcFAQ.html#anchor18

Should we switch to that?  Really rather not make changes ourselves and 
get the IESG to approve...



From nobody Thu Feb 13 07:11:51 2020
Return-Path: <henrik@levkowetz.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28E541200C7 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 07:11:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level: 
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hX1Lt24IuDqj for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 07:11:48 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [64.170.98.42]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04115120013 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 07:11:48 -0800 (PST)
Received: from h-202-242.a357.priv.bahnhof.se ([158.174.202.242]:57966 helo=tannat.localdomain) by zinfandel.tools.ietf.org with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1j2G9H-0008ER-3J; Thu, 13 Feb 2020 07:11:47 -0800
To: Robert Moskowitz <rgm@htt-consult.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <98ca11ba-3992-fcf2-e09c-007199e1c1d6@htt-consult.com>
From: Henrik Levkowetz <henrik@levkowetz.com>
Message-ID: <852e5705-2e36-8862-bde9-089f0b290e6d@levkowetz.com>
Date: Thu, 13 Feb 2020 16:11:19 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <98ca11ba-3992-fcf2-e09c-007199e1c1d6@htt-consult.com>
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="wpA7rWuhmHrxmMmBOo9R18FsLoSuMgGGx"
X-SA-Exim-Connect-IP: 158.174.202.242
X-SA-Exim-Rcpt-To: xml2rfc@ietf.org, rgm@htt-consult.com
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on zinfandel.tools.ietf.org)
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/kRTLD6BPQISdJIXtZWuaty854jI>
Subject: Re: [xml2rfc] Problems with html generated by online submission tool
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 15:11:50 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--wpA7rWuhmHrxmMmBOo9R18FsLoSuMgGGx
Content-Type: multipart/mixed; boundary="A8arpfMFdDdwD81bO029BRRGbix7QAMnH";
 protected-headers="v1"
From: Henrik Levkowetz <henrik@levkowetz.com>
To: Robert Moskowitz <rgm@htt-consult.com>,
 "xml2rfc@ietf.org" <xml2rfc@ietf.org>
Message-ID: <852e5705-2e36-8862-bde9-089f0b290e6d@levkowetz.com>
Subject: Re: [xml2rfc] Problems with html generated by online submission tool
References: <98ca11ba-3992-fcf2-e09c-007199e1c1d6@htt-consult.com>
In-Reply-To: <98ca11ba-3992-fcf2-e09c-007199e1c1d6@htt-consult.com>

--A8arpfMFdDdwD81bO029BRRGbix7QAMnH
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Bob,

On 2020-02-13 15:43, Robert Moskowitz wrote:
> Again, please look at https://tools.ietf.org/html/draft-ietf-hip-dex-12=
,=20
> this time sec 4.1.1
>=20
> In the second para, the sections referenced, 4.1.1 and 4.1.2 are turned=
=20
> into html links.  They are not that way in the xml nor dos the local=20
> --html option do this.

The html documents at https://tools.ietf.org/html/ are always htmlized
from text.  The script that does this knows nothing about any preceding
XML source, it just grabs the text document and does its best.  The issue=

you point at is known, but doing this right just from the text source
isn't trivial and hasn't been a priority.

>  The xml in question is:
>=20
>           <t>
>             Conceptually, the puzzle mechanism in HIP DEX is the same a=
s in
>             HIPv2. Hence, this document refers to Sections 4.1.1 and=20
> 4.1.2 in
>             <xref target=3D"RFC7401" /> for more detailed information=20
> about the
>             employed mechanism. Notably, the only differences between=20
> the puzzle
>             mechanism in HIP DEX and HIPv2 are that HIP DEX does not em=
ploy
>             pre-computation of R1 packets and uses CMAC instead of a ha=
sh
>             function for solving and verifying a puzzle. The implicatio=
ns of
>             these changes on the puzzle implementation are discussed in=
=20
> <xref
>             target=3D"cmac-puzzle" />.
>           </t>
>=20
> At this point, when we are trying to finally get this draft off to RFC,=
=20
> we want to minimize changes.  That said,  I am looking at:
>=20
> https://xml2rfc.tools.ietf.org/xml2rfcFAQ.html#anchor18
>=20
> Should we switch to that?  Really rather not make changes ourselves and=
=20
> get the IESG to approve...

No; the isssue here isn't a matter of the XML source.

When the document goes to the RFC editor, it will be converted from
v2 schema XML to v3 schema, and published HTML will be generated directly=

from the XML, rather than indirectly from text.


Best regards,

	Henrik


--A8arpfMFdDdwD81bO029BRRGbix7QAMnH--

--wpA7rWuhmHrxmMmBOo9R18FsLoSuMgGGx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEifjc5+rnL1MJBcZSTptXS4+7FxoFAl5FZxcACgkQTptXS4+7
FxoaQQ//eghvsrzBlFL9iWoSum0SdtKGr/jopt25yDxMfL5xI/b06z7zr99/erkO
QZyh6D8DDb4O/VTYmrA87FOMTkSqNkoblkfBAtTO4WWADj5tZZ8RN7yv4xQUl9Eh
bqi685FBn0CJ0MmVGpmGNsVz5k1NDWDjy7+83e8mPRWJf2fYJsuJYasPP8UAUSqQ
IfM0huNEQGLOmlSQ/8nL89/a+4FonEpwGLqh2+ExSI4fjg+1qeA3HKKOfFbcybgm
ETFPp3xrk3KCfJrD5+SWXwM5AmvtTR/QZypC04m6lJ3FBHcKwJJQVMUAMB6RpPnR
az1y7wpiAz88Uy+BmxXYKV6RJP6cnlcQDIZgOXoGWUUdSugoGNdhNEfKzzCB5mRF
7h1RDZODEeMp6VM4qUqiaIW58+FFci+ybI7imCH7K/M+04Q8zqR89nhLE4PO6eU2
Hyq0IbbglDiTY3YIjp1io17WXa/By1+gwsEaMwfRX4BpXE5SW+QuJPS41Z58Ys5I
hk98JmJDaUOgfF5xmXfOtrzrxJHZnnvh/+mvovATZ0h7pDQoWdh47OVUxY8VtPU6
S7r6nVAEzU77H+jGtw01p7x8qqk/k9Q2PsQZGnwszFQLxTTCqxgIKZQ6jOGoT8Mw
JzPwIr2glqLEbuUrEfBJVEYacfo26mn0hD1jMSeddHoeHCF6MrE=
=vppK
-----END PGP SIGNATURE-----

--wpA7rWuhmHrxmMmBOo9R18FsLoSuMgGGx--


From nobody Thu Feb 13 07:15:57 2020
Return-Path: <rgm@htt-consult.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D33D3120121 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 07:15:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2HC4n1SPlBaz for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 07:15:54 -0800 (PST)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 41B95120013 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 07:15:54 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 9FA9A6213F; Thu, 13 Feb 2020 10:15:53 -0500 (EST)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id koNvvPafqdUb; Thu, 13 Feb 2020 10:15:48 -0500 (EST)
Received: from lx140e.htt-consult.com (unknown [192.168.160.12]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id 1742862133; Thu, 13 Feb 2020 10:15:46 -0500 (EST)
To: Henrik Levkowetz <henrik@levkowetz.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <98ca11ba-3992-fcf2-e09c-007199e1c1d6@htt-consult.com> <852e5705-2e36-8862-bde9-089f0b290e6d@levkowetz.com>
From: Robert Moskowitz <rgm@htt-consult.com>
Message-ID: <ae68f0f4-09a9-768c-a94a-65ebbbffc42c@htt-consult.com>
Date: Thu, 13 Feb 2020 10:15:46 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1
MIME-Version: 1.0
In-Reply-To: <852e5705-2e36-8862-bde9-089f0b290e6d@levkowetz.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/BX-9mq8e9e-xIN6kDklpBohSEMs>
Subject: Re: [xml2rfc] Problems with html generated by online submission tool
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 15:15:56 -0000

Henrik,

OK and thanks.

All my new work is in v3 format.  I do have a few other hangers on in v2...

On 2/13/20 10:11 AM, Henrik Levkowetz wrote:
> Hi Bob,
>
> On 2020-02-13 15:43, Robert Moskowitz wrote:
>> Again, please look at https://tools.ietf.org/html/draft-ietf-hip-dex-12,
>> this time sec 4.1.1
>>
>> In the second para, the sections referenced, 4.1.1 and 4.1.2 are turned
>> into html links.  They are not that way in the xml nor dos the local
>> --html option do this.
> The html documents at https://tools.ietf.org/html/ are always htmlized
> from text.  The script that does this knows nothing about any preceding
> XML source, it just grabs the text document and does its best.  The issue
> you point at is known, but doing this right just from the text source
> isn't trivial and hasn't been a priority.
>
>>   The xml in question is:
>>
>>            <t>
>>              Conceptually, the puzzle mechanism in HIP DEX is the same as in
>>              HIPv2. Hence, this document refers to Sections 4.1.1 and
>> 4.1.2 in
>>              <xref target="RFC7401" /> for more detailed information
>> about the
>>              employed mechanism. Notably, the only differences between
>> the puzzle
>>              mechanism in HIP DEX and HIPv2 are that HIP DEX does not employ
>>              pre-computation of R1 packets and uses CMAC instead of a hash
>>              function for solving and verifying a puzzle. The implications of
>>              these changes on the puzzle implementation are discussed in
>> <xref
>>              target="cmac-puzzle" />.
>>            </t>
>>
>> At this point, when we are trying to finally get this draft off to RFC,
>> we want to minimize changes.  That said,  I am looking at:
>>
>> https://xml2rfc.tools.ietf.org/xml2rfcFAQ.html#anchor18
>>
>> Should we switch to that?  Really rather not make changes ourselves and
>> get the IESG to approve...
> No; the isssue here isn't a matter of the XML source.
>
> When the document goes to the RFC editor, it will be converted from
> v2 schema XML to v3 schema, and published HTML will be generated directly
> from the XML, rather than indirectly from text.
>
>
> Best regards,
>
> 	Henrik
>


From nobody Thu Feb 13 07:21:58 2020
Return-Path: <henrik@levkowetz.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E1E11200C3 for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 07:21:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level: 
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yqjQnjTy92ra for <xml2rfc@ietfa.amsl.com>; Thu, 13 Feb 2020 07:21:54 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [64.170.98.42]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7278E120013 for <xml2rfc@ietf.org>; Thu, 13 Feb 2020 07:21:54 -0800 (PST)
Received: from h-202-242.a357.priv.bahnhof.se ([158.174.202.242]:57993 helo=tannat.localdomain) by zinfandel.tools.ietf.org with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1j2GJ0-0003PG-W7; Thu, 13 Feb 2020 07:21:54 -0800
To: Robert Moskowitz <rgm@htt-consult.com>, "xml2rfc@ietf.org" <xml2rfc@ietf.org>
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com> <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
From: Henrik Levkowetz <henrik@levkowetz.com>
Message-ID: <c5d00864-434c-31d6-b6ec-276ebd29eafe@levkowetz.com>
Date: Thu, 13 Feb 2020 16:21:22 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="3hx4XKhleLuUVa8bw4GFigWhUIWhMc7Xs"
X-SA-Exim-Connect-IP: 158.174.202.242
X-SA-Exim-Rcpt-To: xml2rfc@ietf.org, rgm@htt-consult.com
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on zinfandel.tools.ietf.org)
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/HPKIAoI7YVMLbO_ur2OljohKXBQ>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Feb 2020 15:21:57 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--3hx4XKhleLuUVa8bw4GFigWhUIWhMc7Xs
Content-Type: multipart/mixed; boundary="Xt1Lf6p4R9hKxRD3JOwW7CFMHUcRJstdP";
 protected-headers="v1"
From: Henrik Levkowetz <henrik@levkowetz.com>
To: Robert Moskowitz <rgm@htt-consult.com>,
 "xml2rfc@ietf.org" <xml2rfc@ietf.org>
Message-ID: <c5d00864-434c-31d6-b6ec-276ebd29eafe@levkowetz.com>
Subject: Re: [xml2rfc] Problems with submission tool converting xml
References: <3294d8f1-8ff9-11a0-4334-f59aa8e65691@htt-consult.com>
 <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>
In-Reply-To: <7749d484-62d2-c4b6-26b7-981361bd99a1@levkowetz.com>

--Xt1Lf6p4R9hKxRD3JOwW7CFMHUcRJstdP
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Bob,

I've looked into this now, and for v2 (legacy) XML schema sources, the
submission tool handles this case (comments within artwork) incorrectly.

I'll fix this in an upcoming datatracker release.  Till then I'm afraid
you'll have to provide the .txt file as well as the .xml file, or refrain=

from using comments inside artwork.

Sorry :-(


	Henrik

On 2020-02-13 14:23, Henrik Levkowetz wrote:
> Hi Bob,
>=20
> On 2020-02-13 12:02, Robert Moskowitz wrote:
>> Please compare:
>>=20
>> https://www.ietf.org/id/draft-ietf-hip-dex-12.txt
>>=20
>> with the attached txt file.  Note the differences in sec 6.3
>=20
> The attached txt file says draft-ietf-hip-dex-13, but the datatracker
> only knows about submissions up to -12.
>=20
> However, if I download the -12 XML file and process it through xml2rfc =
here,
> I see the difference; this is clearly a bug with the creation of .txt f=
rom
> .xml at submission time.  I'll debug.
>=20
>> The posted one was generated by the submission tool.  My colleague onl=
y=20
>> uploaded the xml, assuming that what we saw with local generation was =

>> the same as the submission tool would generate.
>>=20
>> We are using the 2.39.0 and running it on the attached xml with no swi=
tches.
>>=20
>> Is there something problematic with our xml or is it the submission to=
ol..
>=20
> I assume it's a submission tool problem at the moment, will know more a=
fter
> debugging.
>=20
>=20
> 	Henrik
>=20


--Xt1Lf6p4R9hKxRD3JOwW7CFMHUcRJstdP--

--3hx4XKhleLuUVa8bw4GFigWhUIWhMc7Xs
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEifjc5+rnL1MJBcZSTptXS4+7FxoFAl5FaXIACgkQTptXS4+7
FxrcLRAAgokoJMdKSW+BYIqjVEHFveGbqualv3fb6KQ+7RobD3K8uVmnyF5TXxOt
NHFlAExS/sC0Qvj0yPjuA+aSj81477yFKSHPtbAd/clvBLadCP3rCr609ZBhreAL
Pakk+Y+6vlrVH1/gBRBbdZ8IrE7s4ldQ1rsuJuP1UBkjDI88BRxi+ZRAgI72/6IA
uyYxRiDAtG15tY4QRp/k1alYnl+T5F4jzoTrJRuX4XnIC84W7pslj7a0JwliKBoV
4+Ly0BoP66h+FfExA5TUtRPjRZtcCte4sgNrttXOqQ9GQXftuC8gZ18js1SS8l/V
Z5CUpRA3/XpJZFXI3qCFvETFTcPsJTNa4eaA1FQFJDOsn8jGQMW3y9WRp4t0VoBr
ZOUDjMWNTJj5gO9E/oTcJeKBNNm15kg8vYwXqt6rXX4TTVfe/26BREmUJa/AB0uW
IFBXmJ3rc7ZRr62Cz83PqId5Cv4Rr+yejwSezmebYz8C4OQOsGNBoWoZr1nTnNdL
jXW6nfCHP0/VEY27FvoEhGl+p0wZNZcRMjqFabXEpDwS2asF4+8DS1KRcvEUAyhS
w7lnN/PmLEVQdZN1F/lTEt3b61eCIwwl8Hvjc9XJYz+MgDqw7lHI+BMPIeYXWD+7
hxGk9zF0b4j5dX/gDkTCDFyuoR07Wft3n2FPcAdRX0fCtrwJhYY=
=vgtd
-----END PGP SIGNATURE-----

--3hx4XKhleLuUVa8bw4GFigWhUIWhMc7Xs--


From nobody Tue Feb 18 13:41:55 2020
Return-Path: <henrik@levkowetz.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 012A2120831; Tue, 18 Feb 2020 13:41:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XHqj6oJHmg5X; Tue, 18 Feb 2020 13:41:34 -0800 (PST)
Received: from durif.tools.ietf.org (durif.tools.ietf.org [IPv6:2001:1900:3001:11::3d]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 55B8D1208CE; Tue, 18 Feb 2020 13:41:34 -0800 (PST)
Received: from henrik by durif.tools.ietf.org with local (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1j4AcY-0003gb-52; Tue, 18 Feb 2020 13:41:34 -0800
To: xml2rfc-dev@ietf.org, xml2rfc@ietf.org
Cc: rfc-markdown@ietf.org
Message-Id: <E1j4AcY-0003gb-52@durif.tools.ietf.org>
From: Henrik Levkowetz <henrik@levkowetz.com>
Date: Tue, 18 Feb 2020 13:41:34 -0800
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Rcpt-To: rfc-markdown@ietf.org, xml2rfc-dev@ietf.org, xml2rfc@ietf.org
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Scanned: No (on durif.tools.ietf.org); SAEximRunCond expanded to false
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/8wFcinB1O9YhvxS8WkzUXplqEU8>
Subject: [xml2rfc] New xml2rfc release: v2.40.0
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Feb 2020 21:41:40 -0000

Hi,

This is an automatic notification about a new xml2rfc release, 
v2.40.0, generated when running the mkrelease script.

Release notes:

xml2rfc (2.40.0) ietf; urgency=medium

  * Worked around weasyprint's failure to honour <ol> type attributes by 
    using the appropriate CSS list-style-type to control the list style.  Fixes 
    issue #489.

  * Added <br/> to the v3 grammar.  Fixes issue #492.

  * Fixed an issue where comments inside ascii-art artwork would cause 
    following artwork not to be rendered.

  * Fixed an issue where use of .splitlines() instead of .split('\n') 
    caused unexpected removal of blank lines at the beginning or end of artwork.

  * Allowed Latin script content in <organization> without requiring an ascii 
    attribute, to match the treatment of author and contact names.  Fixes issue 
    #493

  * Added additional error information when text content is found where 
    the schema does not allow it.

  * Fixed an issue where trailing whitespace in artwork can trigger bad
    rendering, by removing whitespace at the end of lines in <artwork> and
    <sourcecode>.  Fixes issue #490

  * Changed the plain text URL for the trust license-info in TLP 
    boilerplate to an <eref> also for IAB documents.  Fixes issue #456.

  * Removed indentation from lists rendered in table cells.

  * Fixed an incorrect attribute grouping in the v3 schema

  * Fixed two off-by-one errors in the calculation of the length of 
    Updates/Obsoletes lists.  Addresses issue #472

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Feb 2020 21:32:46 +0000

The preferred way to install xml2rfc is by doing 'pip install xml2rfc',
and 'pip install --upgrade xml2rfc' to upgrade.  If there are system-
installed python modules which pip will not upgrade, you may have to
use 'pip install --upgrade --no-deps xml2rfc' and install dependencies
manually.

The new version is also available through SVN checkout, with
  'svn checkout http://svn.tools.ietf.org/svn/tools/xml2rfc/tags/cli/2.40.0'

Regards,

	Henrik
	(via the mkrelease script)


From nobody Thu Feb 27 15:09:59 2020
Return-Path: <henrik@levkowetz.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5FB3B3A0764; Thu, 27 Feb 2020 15:09:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IjTflUqWNeS0; Thu, 27 Feb 2020 15:09:48 -0800 (PST)
Received: from durif.tools.ietf.org (durif.tools.ietf.org [IPv6:2001:1900:3001:11::3d]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9330C3A081A; Thu, 27 Feb 2020 15:09:48 -0800 (PST)
Received: from henrik by durif.tools.ietf.org with local (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1j7SHr-0002Ja-QC; Thu, 27 Feb 2020 15:09:48 -0800
To: xml2rfc-dev@ietf.org, xml2rfc@ietf.org
Cc: rfc-markdown@ietf.org
Message-Id: <E1j7SHr-0002Ja-QC@durif.tools.ietf.org>
From: Henrik Levkowetz <henrik@levkowetz.com>
Date: Thu, 27 Feb 2020 15:09:47 -0800
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Rcpt-To: rfc-markdown@ietf.org, xml2rfc-dev@ietf.org, xml2rfc@ietf.org
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Scanned: No (on durif.tools.ietf.org); SAEximRunCond expanded to false
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/qNBPp28K6Z989G1tBEV4H4W9I2Y>
Subject: [xml2rfc] New xml2rfc release: v2.40.1
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Feb 2020 23:09:57 -0000

Hi,

This is an automatic notification about a new xml2rfc release, 
v2.40.1, generated when running the mkrelease script.

Release notes:

xml2rfc (2.40.1) ietf; urgency=medium

  * Applied patch from mt@lowentropy.net to simplify javascript and handle 
    more page width responsiveness in CSS.

  * Made table and row borders the same for print and HTML on request from 
    the RPC, and increased the contrast between borders and odd row background 
    colour slightly.  Fixes issue #494.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Feb 2020 15:00:50 +0000

The preferred way to install xml2rfc is by doing 'pip install xml2rfc',
and 'pip install --upgrade xml2rfc' to upgrade.  If there are system-
installed python modules which pip will not upgrade, you may have to
use 'pip install --upgrade --no-deps xml2rfc' and install dependencies
manually.

The new version is also available through SVN checkout, with
  'svn checkout http://svn.tools.ietf.org/svn/tools/xml2rfc/tags/cli/2.40.1'

Regards,

	Henrik
	(via the mkrelease script)

