
From nobody Fri Jan  2 03:36:34 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8588C1A1A04 for <dime@ietfa.amsl.com>; Fri,  2 Jan 2015 03:36:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.002
X-Spam-Level: 
X-Spam-Status: No, score=-5.002 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 bwcqdiT1MJWj for <dime@ietfa.amsl.com>; Fri,  2 Jan 2015 03:36:30 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B6771A0406 for <dime@ietf.org>; Fri,  2 Jan 2015 03:36:30 -0800 (PST)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t02BaQgU030357 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 Jan 2015 11:36:26 GMT
Received: from DEMUHTC001.nsn-intra.net ([10.159.42.32]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t02BaNF2020692 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 2 Jan 2015 12:36:23 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC001.nsn-intra.net ([10.159.42.32]) with mapi id 14.03.0195.001; Fri, 2 Jan 2015 12:36:23 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: "ext TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>, "dime@ietf.org list" <dime@ietf.org>
Thread-Topic: [Dime] DOIC WGLC: Editorial Comments
Thread-Index: AQHQGaX2Cq39JOoBT0+v5wTnl9k+LZyT6HGAgAgeI4CAELr2wA==
Date: Fri, 2 Jan 2015 11:36:22 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523C14B@DEMUMBX014.nsn-intra.net>
References: <79E0AA6A-8F91-45FD-AE8A-EFF9D2A4E9D3@nostrum.com> <5491AEC7.8070307@usdonovans.com> <E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com>
In-Reply-To: <E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.101]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 1257
X-purgate-ID: 151667::1420198586-00001177-37EA8A06/0/0
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/KHsHUA1ljGYRjvGEIgrHOMwSyjE
Subject: Re: [Dime] DOIC WGLC: Editorial Comments
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Jan 2015 11:36:32 -0000

-- 4.1.3, para 9: "ambiguity"

I'm not sure that's is the word we want here. An agent could muck things up=
 without being ambiguous. Perhaps "inconsistency"?=20

SRD> The point is that the reacting nodes and reporting nodes must
unambiguously know what to do.  I think ambiguous is the right word

Ben> I can construct behavior that is not ambiguous to upstream or downstre=
am nodes, but still breaks normative requirements. How about " ... ensure t=
hat it does not introduce incorrect behavior for either the upstream or dow=
nstream DOIC nodes."

JJ> as Ben, ambiguity is not so right.=20
A proposal: "When making changes to the OC-Supported-Features or OC-OLR AVP=
s, the Diameter Agent needs to ensure  consistency in its behavior with bot=
h upstream and downstream DOIC nodes".

Ulrich> I agree with SRD. The ambiguity (in DOIC behavior for e.g. a reacti=
ng node) that needs to be avoided may result from an agent on path1 between=
 client and server that makes changes to OC-Supported-Features within answe=
rs while other agents on other paths between client and server make no or d=
ifferent changes. The reacting node (client) would get mixed signals depend=
ing on the path taken, resulting in ambiguity.
=09



From nobody Sun Jan  4 09:38:31 2015
Return-Path: <jean-jacques.trottin@alcatel-lucent.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 08A911A8A04 for <dime@ietfa.amsl.com>; Sun,  4 Jan 2015 09:38:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.209
X-Spam-Level: 
X-Spam-Status: No, score=-4.209 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 IVR2qazphrn3 for <dime@ietfa.amsl.com>; Sun,  4 Jan 2015 09:38:17 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (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 CFE5E1A89B9 for <dime@ietf.org>; Sun,  4 Jan 2015 09:38:16 -0800 (PST)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (unknown [135.239.2.42]) by Websense Email Security Gateway with ESMTPS id 831DDDC34020E for <dime@ietf.org>; Sun,  4 Jan 2015 17:38:10 +0000 (GMT)
Received: from FR711WXCHHUB01.zeu.alcatel-lucent.com (fr711wxchhub01.zeu.alcatel-lucent.com [135.239.2.111]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id t04HcD86005294 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL) for <dime@ietf.org>; Sun, 4 Jan 2015 18:38:14 +0100
Received: from FR712WXCHMBA12.zeu.alcatel-lucent.com ([169.254.8.50]) by FR711WXCHHUB01.zeu.alcatel-lucent.com ([135.239.2.111]) with mapi id 14.03.0195.001; Sun, 4 Jan 2015 18:38:13 +0100
From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
To: "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Diameter load control inputs
Thread-Index: AdAoRTX1mtXcCV8gROKEYHqQd0nf8g==
Date: Sun, 4 Jan 2015 17:38:12 +0000
Message-ID: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [135.239.27.41]
Content-Type: multipart/alternative; boundary="_000_E194C2E18676714DACA9C3A2516265D2026F4908FR712WXCHMBA12z_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/IaELPJ21UNWgC-WxAoqk0LR-svY
Subject: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 04 Jan 2015 17:38:27 -0000

--_000_E194C2E18676714DACA9C3A2516265D2026F4908FR712WXCHMBA12z_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Dear all

I first wish you a  happy  new year for you and your family as well in your=
 professional life.

I hereafter address our new topic on Diameter load control.
I am in favor to continue the work that Ben has covered in his "draft-campb=
ell-dime-load-considerations-00" document, by adding, investigating various=
 considerations.

I hereafter give several additional section parts or paragraphs  that I thi=
nk could be inserted in Ben's draft. I have put some titles and numbering (=
#L1, #L2 ...)  to reuse in separated email treads for discussion.

I have included topology use cases. For Diameter overload,  Steve did sever=
al  presentations on the  various use cases to consider. I think also good =
to do the same for Diameter load, and to insert such use cases in the Ben's=
 draft. You may consider this list somewhat long but these use cases highli=
ght a certain number of points for which we will have to take some decision=
s (eg to cover them or not or to see later if  solution assumptions apply w=
ell). There are more from a requirement viewpoint than in the solution itse=
lf as I do not address the exact content of load information and the way it=
 will be transferred


#L1   Topology use cases (can be inserted in section 5 )


          ------S1
        /
      C1
        \
          ------S2
Figure 5.1

In this simple case (no DA) e.g. for a small network, the servers are peers=
 of the client. The client selects the server according to the load informa=
tion it receives from the servers.


          ------S1
        /
C1----A
        \
          ------S2
Figure 5.2

The agent selects the server according to the load information it receives =
from the servers. Here, the client does not need to receive load informatio=
n as it does not do load balancing. It is to check if load information woul=
d be useful to the client for other purposes (e.g. anticipating a future ov=
erload of the server).


   ---A1------S1
/    |
C1    |
\    |
   ---A2------S2

Figure 5.3

C1 when sending a realm routed request even does not know which server will=
 handle the request an even more does not know to which DA S1 and S2 are co=
nnected to. So the load information on the servers is not useful. But C1 ha=
s to select to which from A1 or A2 it will send the request. It can do it o=
n the basis of the load information of A1 or A2. But is it sufficient?
If S1 has high load and S2 a small one, to improve the load balancing would=
 mean that
a) C1 sends more traffic to A2 which forward to S2, meaning that C1 has rec=
eived load information from A2 not only including A2 load but also the S2 l=
oad
b) or C1, having no information on server load equally sends traffic to A1 =
and A2. Then if A1 receives from A2 load information including the load of =
S2 may then decide to route more traffic to S2 via A2. This is less optimal=
 than the first case as adding a new hop in the path (C1-A1-A2-S2.

An initial question is to consider if this subcases a) and b) are relevant =
and enter the scope.

C1, when sending a host routed request, can do it via A1 or A2 as routing f=
or C1 is based on the realm. Is it to be considered if load control informa=
tion received by C1 gives some hint to rather select A1 rather than A2 when=
 S1 is the destination host, so to avoid an additional hop? Or if it is out=
 of the scope?


         -----S3
       /
   ---A1------S1
/    |
C1    |
\    |
   ---A2------S2
       \
         ---- S4
Figure 5.4

This diagram is an extension of the previous one with additional servers co=
nnected to A1 and A2 and could be more common than 5.3.
Compared to the previous diagram,
- for the subcase a), for realm routed request C1 choice between A1 and A2 =
can rely on the combined (or aggregated) load of S1 and S3 compared to the =
aggregated load of S2 and S4.
- for the subcase b) similarly, A1 would compare an aggregated load of S2 a=
nd S4 received from A2 to the aggregated load of S1 and S3.

This use case may drive to consider if the load of a set of nodes (aggregat=
ed load) would be useful or if it can be avoided.


   ---A1---S1, S3 ...
/    | \/
C1    | /\
\    |/  \
   ---A2---S2, S4 ...

Figure 5.5

In this diagram, all servers are connected to the same set of DAs, which mu=
ltiply the number of connections between servers and their DAs; otherwise, =
we come back to the figure 5.4 case or an hybrid case between figure 5.4 an=
d 5.5.
C1 when sending a request may select A1 or A2 according to a load informati=
on only related to A1 load and A2 load. This selection is independent from =
the server load, except if we take into account e.g. the load of the A1/S1 =
connection and the load of A2/S1 connection which may be different.

A1 (or A2) then selects the server according to load information received f=
rom these servers, except for host routed requests.


   ---A1---A3----S1, S3 ...
/    | \/ |
C1    | /\ |
\    |/  \|
   ---A2---A4----S2, S4 ...

Figure 5.6

This diagram introduces "two layers" of DAs between clients and servers.
Compared to figure 5.3 or 5.4, C1 when sending a request may select A1 or A=
2 according to a load information only related to A1 load and A2 load. Then=
 A1(or A2)when doing further routing, are in a similar situation to C1 in F=
igures 5.3 or 5.4.


   ---A1---A3---S1, S3 ...
/    | \/ | \/
C1    | /\ | /\
\    |/  \|/  \
   ---A2---A4---S2, S4 ...

Figure 5.7
As in figure 5.4, all servers are connected to a common set of DAs (here A3=
, A4), which multiply the number of connections between servers and their D=
As; otherwise, we come back to the figure 5.6 case or a hybrid case between=
 figures 5.6 and 5.7.
C1 when sending a request may select A1 or A2 according to a load informati=
on only related to A1 load and A2 load. This selection is independent from =
the server load.
Then A1 or A2 for futrjer routing have a similar situation to C1 in figure =
5.5.
This case offer a high flexibility about load sharing that can be done in d=
ifferent places, but als o may introduce higher complexity about selecting =
the right routing.

___________________________

#L2    Partitioned servers (can be added in section 5)

This the case of realm routed request where only one or some servers in the=
 same realm can handle the request, so no load balancing to other servers o=
f the realm can be achieved. An intermediate proxy DA will select the possi=
ble server(s)for this request, and if several servers, the DA may do some l=
oad balancing between them and if one server, the DA may act as with host r=
outed requests.

___________________________
#L3    Active and stand by nodes (can be inserted in section 5)

In the above topology use cases, it is assumed that load sharing can be use=
d between the different possible connections of the figures. If nodes are i=
n an  active and stand by configurations, the figures to consider are with =
the only active connections. The switch from the active to the stand by nod=
e with the load handling aspect is another topic.

__________________________________

#L4... Some considerations from the topology use cases (can be inserted in =
section 5)

- there is a large variety of use cases with various places where load bala=
ncing actions can be taken. This may impact the content of load information=
 transferred downstream. It should also be avoided to add too much complexi=
ty, especially on the load information content transferred downstream, node=
 behavior can be more sophisticated but normally remains outside the standa=
rdization scope.

- clients receiving load information have not to be aware of the DAs and se=
rver topologies, they nevertheless need relevant load information criteria =
to select (when needed) the right next node to which to send a request. Thi=
s may drive to consider if some aggregation of load information to be perfo=
rmed before sending it to the clients, so to make it simpler to the clients=
.

_______________________________

#L6   Load information scopes (can be  added in section 6)

Load information can apply to various scopes that should be considered to r=
etain or not :

Load of a node: this is the most usual to consider. A node can be an end po=
int (server) or an agent.

Load of an application: The load of a server can vary according to the appl=
ications (eg due to differences in the used resources). So the possibility =
to have a load information per application should not be precluded at this =
level of analysis.

Load of a set of nodes: it may be considered interesting that the load of a=
 set of nodes is transferred downstream. Use cases should identify such an =
interest. This drives to the aggregation of the load of the various nodes o=
f the set to elaborate the load of the set. This can be done by an intermed=
iate node receiving the load information of the various nodes. It can be a =
weighted average between the loads; the weight is another information to be=
 considered (eg the capacity of the servers which may be different).

Load of an agent and load of a server.
Different paths via different DAs may exist between the node doing the serv=
er selection and the server. The load information on the server would be th=
e same; but then to which peer to send the message? This would depend of th=
e load of the peer (and even of the load behind the peer).

________________________________

#L7   Addition removal of a server (can be  added in section 6)

When adding a server, this one will start by advertising no or a small load=
, then it will be to the downstream nodes (eg DAs) handling load balancing =
between servers to ensure a smooth increase of the traffic to this server, =
to avoid to immediately send it too much traffic and even to not put it int=
o overload. It may be questioned if a simple load information (load percent=
age) is sufficient for this.

When removing a server in a controlled way (e.g. for maintenance purpose, s=
o outside a failure case), an objective can be to progressively reduce the =
traffic to this server, with a routing of the traffic to other servers. Sim=
ple load information (load percentage) would be not sufficient. It should b=
e considered if this use case enter the scope of this load control mechanis=
m.

__________________________

#L8   Implementation and standardization (can be added in section 1)

Through the use cases and the architectures considerations described in thi=
s document, the focus is to define which would be the relevant load informa=
tion to be transferred to the nodes that will use it. Then, given the varie=
ty of use cases, the possible topologies, the place where the server select=
ion is done, etc, flexibility is to be left to implementations about the no=
de behavior regarding the elaboration of the load information and then its =
use. Guidance or examples may also be given to help but without normative a=
spects.

_____________________________

#L9...  Redirect agent : (can be added at the end of section 3)

A Diameter node (e.g. client) can use a redirect agent to get destination h=
ost addresses.  The redirect agent may return several destination host addr=
esses, of which the Diameter node has to select one and for this can rely o=
n the load information on these hosts
___________________________


So please let me know your comments.

Ben, would you be OK to complement your draft with those inputs . We can al=
so have question marks or editor's notes, but I think good to have a docume=
nt about which we discuss these architectural considerations.

Best regards

JJacques



--_000_E194C2E18676714DACA9C3A2516265D2026F4908FR712WXCHMBA12z_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Dear all<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I first wish you a &nbsp;happy &nbsp;new year for yo=
u and your family as well in your professional life.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I hereafter address our new topic on Diameter load c=
ontrol.<o:p></o:p></p>
<p class=3D"MsoNormal">I am in favor to continue the work that Ben has cove=
red in his &#8220;draft-campbell-dime-load-considerations-00&#8221; documen=
t, by adding, investigating various considerations.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I hereafter give several additional section parts or=
 paragraphs &nbsp;that I think could be inserted in Ben&#8217;s draft. I ha=
ve put some titles and numbering (#L1, #L2 &#8230;) &nbsp;to reuse in separ=
ated email treads for discussion.
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I have included topology use cases. For Diameter ove=
rload, &nbsp;Steve did several &nbsp;presentations on the &nbsp;various use=
 cases to consider. I think also good to do the same for Diameter load, and=
 to insert such use cases in the Ben&#8217;s draft. You
 may consider this list somewhat long but these use cases highlight a certa=
in number of points for which we will have to take some decisions (eg to co=
ver them or not or to see later if &nbsp;solution assumptions apply well). =
There are more from a requirement viewpoint
 than in the solution itself as I do not address the exact content of load =
information and the way it will be transferred<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">#L1&nbsp;&nbsp; Topology use cases (can be inserted =
in section 5 )<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------S1<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------S2<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
In this simple case (no DA) e.g. for a small network, the servers are peers=
 of the client. The client selects the server according to the load informa=
tion it receives from the servers.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------S1<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1----A<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------S2<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.2<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
The agent selects the server according to the load information it receives =
from the servers. Here, the client does not need to receive load informatio=
n as it does not do load balancing. It is to check
 if load information would be useful to the client for other purposes (e.g.=
 anticipating a future overload of the server).<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A1------S1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
/&nbsp;&nbsp;&nbsp; |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1&nbsp;&nbsp;&nbsp; |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
\&nbsp;&nbsp;&nbsp; |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A2------S2<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.3<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1 when sending a realm routed request even does not know which server will=
 handle the request an even more does not know to which DA S1 and S2 are co=
nnected to. So the load information on the servers
 is not useful. But C1 has to select to which from A1 or A2 it will send th=
e request. It can do it on the basis of the load information of A1 or A2. B=
ut is it sufficient?
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
If S1 has high load and S2 a small one, to improve the load balancing would=
 mean that<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
a) C1 sends more traffic to A2 which forward to S2, meaning that C1 has rec=
eived load information from A2 not only including A2 load but also the S2 l=
oad<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
b) or C1, having no information on server load equally sends traffic to A1 =
and A2. Then if A1 receives from A2 load information including the load of =
S2 may then decide to route more traffic to S2
 via A2. This is less optimal than the first case as adding a new hop in th=
e path (C1-A1-A2-S2.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
An initial question is to consider if this subcases a) and b) are relevant =
and enter the scope.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1, when sending a host routed request, can do it via A1 or A2 as routing f=
or C1 is based on the realm. Is it to be considered if load control informa=
tion received by C1 gives some hint to rather
 select A1 rather than A2 when S1 is the destination host, so to avoid an a=
dditional hop? Or if it is out of the scope?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----S3<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A1------S1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
/&nbsp;&nbsp;&nbsp; |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1&nbsp;&nbsp;&nbsp; |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
\&nbsp;&nbsp;&nbsp; |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A2------S2<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---- S4<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.4<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
This diagram is an extension of the previous one with additional servers co=
nnected to A1 and A2 and could be more common than 5.3.<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Compared to the previous diagram,
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
- for the subcase a), for realm routed request C1 choice between A1 and A2 =
can rely on the combined (or aggregated) load of S1 and S3 compared to the =
aggregated load of S2 and S4.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
- for the subcase b) similarly, A1 would compare an aggregated load of S2 a=
nd S4 received from A2 to the aggregated load of S1 and S3.<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
This use case may drive to consider if the load of a set of nodes (aggregat=
ed load) would be useful or if it can be avoided.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A1---S1, S3 &#8230;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
/&nbsp;&nbsp;&nbsp; | \/<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1&nbsp;&nbsp;&nbsp; | /\<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
\&nbsp;&nbsp;&nbsp; |/&nbsp; \<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A2---S2, S4 &#8230;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.5<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
In this diagram, all servers are connected to the same set of DAs, which mu=
ltiply the number of connections between servers and their DAs; otherwise, =
we come back to the figure 5.4 case or an hybrid
 case between figure 5.4 and 5.5. <o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1 when sending a request may select A1 or A2 according to a load informati=
on only related to A1 load and A2 load. This selection is independent from =
the server load, except if we take into account
 e.g. the load of the A1/S1 connection and the load of A2/S1 connection whi=
ch may be different.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
A1 (or A2) then selects the server according to load information received f=
rom these servers, except for host routed requests.&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A1---A3----S1, S3 &#8230;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
/&nbsp;&nbsp;&nbsp; | \/ |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1&nbsp;&nbsp;&nbsp; | /\ |<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
\&nbsp;&nbsp;&nbsp; |/&nbsp; \|<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A2---A4----S2, S4 &#8230;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.6<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
This diagram introduces &#8220;two layers&#8221; of DAs between clients and=
 servers.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Compared to figure 5.3 or 5.4, C1 when sending a request may select A1 or A=
2 according to a load information only related to A1 load and A2 load. Then=
 A1(or A2)when doing further routing, are in a
 similar situation to C1 in Figures 5.3 or 5.4.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp;&nbsp;---A1---A3---S1, S3 &#8230;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
/&nbsp;&nbsp;&nbsp; | \/ | \/<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1&nbsp;&nbsp;&nbsp; | /\ | /\<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
\&nbsp;&nbsp;&nbsp; |/&nbsp; \|/&nbsp; \<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
&nbsp;&nbsp; ---A2---A4---S2, S4 &#8230;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Figure 5.7<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
As in figure 5.4, all servers are connected to a common set of DAs (here A3=
, A4), which multiply the number of connections between servers and their D=
As; otherwise, we come back to the figure 5.6
 case or a hybrid case between figures 5.6 and 5.7. <o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
C1 when sending a request may select A1 or A2 according to a load informati=
on only related to A1 load and A2 load. This selection is independent from =
the server load.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Then A1 or A2 for futrjer routing have a similar situation to C1 in figure =
5.5.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
This case offer a high flexibility about load sharing that can be done in d=
ifferent places, but als o may introduce higher complexity about selecting =
the right routing.&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
___________________________<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L2&nbsp;&nbsp;&nbsp; Partitioned servers (can be added in section 5)
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
This the case of realm routed request where only one or some servers in the=
 same realm can handle the request, so no load balancing to other servers o=
f the realm can be achieved. An intermediate proxy
 DA will select the possible server(s)for this request, and if several serv=
ers, the DA may do some load balancing between them and if one server, the =
DA may act as with host routed requests.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
___________________________<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L3&nbsp;&nbsp;&nbsp; Active and stand by nodes (can be inserted in section=
 5)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
In the above topology use cases, it is assumed that load sharing can be use=
d between the different possible connections of the figures. If nodes are i=
n an&nbsp; active and stand by configurations, the
 figures to consider are with the only active connections. The switch from =
the active to the stand by node with the load handling aspect is another to=
pic.&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
__________________________________<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L4&#8230; Some considerations from the topology use cases (can be inserted=
 in section 5)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
- there is a large variety of use cases with various places where load bala=
ncing actions can be taken. This may impact the content of load information=
 transferred downstream. It should also be avoided
 to add too much complexity, especially on the load information content tra=
nsferred downstream, node behavior can be more sophisticated but normally r=
emains outside the standardization scope.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
- clients receiving load information have not to be aware of the DAs and se=
rver topologies, they nevertheless need relevant load information criteria =
to select (when needed) the right next node to
 which to send a request. This may drive to consider if some aggregation of=
 load information to be performed before sending it to the clients, so to m=
ake it simpler to the clients.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
_______________________________<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L6&nbsp;&nbsp; Load information scopes (can be &nbsp;added in section 6)<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Load information can apply to various scopes that should be considered to r=
etain or not :<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Load of a node: this is the most usual to consider. A node can be an end po=
int (server) or an agent.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Load of an application: The load of a server can vary according to the appl=
ications (eg due to differences in the used resources). So the possibility =
to have a load information per application should
 not be precluded at this level of analysis.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Load of a set of nodes: it may be considered interesting that the load of a=
 set of nodes is transferred downstream. Use cases should identify such an =
interest. This drives to the aggregation of the
 load of the various nodes of the set to elaborate the load of the set. Thi=
s can be done by an intermediate node receiving the load information of the=
 various nodes. It can be a weighted average between the loads; the weight =
is another information to be considered
 (eg the capacity of the servers which may be different).<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Load of an agent and load of a server.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Different paths via different DAs may exist between the node doing the serv=
er selection and the server. The load information on the server would be th=
e same; but then to which peer to send the message?
 This would depend of the load of the peer (and even of the load behind the=
 peer).<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
________________________________<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L7 &nbsp;&nbsp;Addition removal of a server (can be &nbsp;added in section=
 6)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
When adding a server, this one will start by advertising no or a small load=
, then it will be to the downstream nodes (eg DAs) handling load balancing =
between servers to ensure a smooth increase of
 the traffic to this server, to avoid to immediately send it too much traff=
ic and even to not put it into overload. It may be questioned if a simple l=
oad information (load percentage) is sufficient for this.<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
When removing a server in a controlled way (e.g. for maintenance purpose, s=
o outside a failure case), an objective can be to progressively reduce the =
traffic to this server, with a routing of the
 traffic to other servers. Simple load information (load percentage) would =
be not sufficient. It should be considered if this use case enter the scope=
 of this load control mechanism.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
__________________________<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L8&nbsp;&nbsp; Implementation and standardization (can be added in section=
 1)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
Through the use cases and the architectures considerations described in thi=
s document, the focus is to define which would be the relevant load informa=
tion to be transferred to the nodes that will
 use it. Then, given the variety of use cases, the possible topologies, the=
 place where the server selection is done, etc, flexibility is to be left t=
o implementations about the node behavior regarding the elaboration of the =
load information and then its use.
 Guidance or examples may also be given to help but without normative aspec=
ts.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">_____________________________<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
#L9&#8230; &nbsp;Redirect agent : (can be added at the end of section 3)
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
<o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
A Diameter node (e.g. client) can use a redirect agent to get destination h=
ost addresses.&nbsp; The redirect agent may return several destination host=
 addresses, of which the Diameter node has to select
 one and for this can rely on the load information on these hosts<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Courier New&quot;">=
___________________________</span><o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">So please let me know your comments.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Ben, would you be OK to complement your draft with t=
hose inputs . We can also have question marks or editor&#8217;s notes, but =
I think good to have a document about which we discuss these architectural =
considerations.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Best regards<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">JJacques <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_E194C2E18676714DACA9C3A2516265D2026F4908FR712WXCHMBA12z_--


From nobody Mon Jan  5 07:04:38 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 131911A8A14 for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 07:04:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 Gh23wbZDXzL5 for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 07:04:34 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 B1BB61A89F2 for <dime@ietf.org>; Mon,  5 Jan 2015 07:04:34 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:65401 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y89Cn-0003dZ-7O for dime@ietf.org; Mon, 05 Jan 2015 07:04:32 -0800
Message-ID: <54AAA7FC.7010808@usdonovans.com>
Date: Mon, 05 Jan 2015 09:04:28 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: dime@ietf.org
References: <79E0AA6A-8F91-45FD-AE8A-EFF9D2A4E9D3@nostrum.com> <5491AEC7.8070307@usdonovans.com> <E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com> <5BCBA1FC2B7F0B4C9D935572D90006681523C14B@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523C14B@DEMUMBX014.nsn-intra.net>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/Hiv3ooskDcY71jKh9mOmDhZQPVU
Subject: Re: [Dime] DOIC WGLC: Editorial Comments
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jan 2015 15:04:36 -0000

I'm ok with unambiguous, ensuring consistency or not incorrect.

I'm inclined to go with JJ's wording.

Steve

On 1/2/15 5:36 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>
> -- 4.1.3, para 9: "ambiguity"
>
> I'm not sure that's is the word we want here. An agent could muck things up without being ambiguous. Perhaps "inconsistency"?
>
> SRD> The point is that the reacting nodes and reporting nodes must
> unambiguously know what to do.  I think ambiguous is the right word
>
> Ben> I can construct behavior that is not ambiguous to upstream or downstream nodes, but still breaks normative requirements. How about " ... ensure that it does not introduce incorrect behavior for either the upstream or downstream DOIC nodes."
>
> JJ> as Ben, ambiguity is not so right.
> A proposal: "When making changes to the OC-Supported-Features or OC-OLR AVPs, the Diameter Agent needs to ensure  consistency in its behavior with both upstream and downstream DOIC nodes".
>
> Ulrich> I agree with SRD. The ambiguity (in DOIC behavior for e.g. a reacting node) that needs to be avoided may result from an agent on path1 between client and server that makes changes to OC-Supported-Features within answers while other agents on other paths between client and server make no or different changes. The reacting node (client) would get mixed signals depending on the path taken, resulting in ambiguity.
> 	
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Mon Jan  5 15:05:24 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9F2DF1A01D6 for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 15:05:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 RsGONtiQ3M6C for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 15:05:20 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 21C731A01A5 for <dime@ietf.org>; Mon,  5 Jan 2015 15:05:20 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t05N5Fx1056759 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 5 Jan 2015 17:05:16 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54A1825B.1000503@usdonovans.com>
Date: Mon, 5 Jan 2015 17:05:15 -0600
X-Mao-Original-Outgoing-Id: 442191915.071785-9f8a1dbd32d3a42b49c38d2e8c7f3e54
Content-Transfer-Encoding: quoted-printable
Message-Id: <1F52080A-2CEE-4D11-97BB-CCE633F32A57@nostrum.com>
References: <54984D7E.3010405@usdonovans.com> <C56EB464-8F5A-40D5-911F-D87F7B707A1F@nostrum.com> <E42CCDDA6722744CB241677169E83656033813A1@MISOUT7MSGUSRDB.ITServices.sbc.com> <E42CCDDA6722744CB241677169E83656033813F2@MISOUT7MSGUSRDB.ITServices.sbc.com> <26D1E2EC-3DF6-487C-980F-F6DBE6EFDF39@nostrum.com> <54A1825B.1000503@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/2pR0rxBvEj8dj5wbS-EcfgOiwho
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Handling of mandatory sub-avps
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jan 2015 23:05:22 -0000

> On Dec 29, 2014, at 10:33 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> Ben,
>=20
> As you suggesting that just the AVP that isn't understood is ignored =
or the entire grouped AVP it is part of is ignored?  If the "sub-avp" is =
marked as mandatory then it would seem that the entire grouped AVP =
should be ignored.

I wasn't really talking about mandatory AVPs [1]. I was talking about =
DOIC errors in general. Basically, if you get an OC-OLR or OC-S-F that =
is bogus for some reason, you can ignore it--but the enclosing Diameter =
transaction is unaffected.


[1]  But on re-reading the M-bit rules in 6733, I once again think we =
have a disconnect for sub-avps with the m-bit set. I thought that the =
rules allows us to ignore a whole grouped AVP if it had an unrecognized =
sub-avp with the m-bit set. But on re-reading that part, I think that =
may only be true if the grouped AVP is also not understood.

>=20
> Steve
>=20
> On 12/22/14 10:34 PM, Ben Campbell wrote:
>> Martin, I think we are violently agreeing. A DOIC "failure" doesn't =
impact the Diameter transaction.
>>=20
>>=20
>>> On Dec 22, 2014, at 8:42 PM, DOLLY, MARTIN C <md3135@att.com> wrote:
>>>=20
>>> To be clear, ignore what one does not understand.
>>>=20
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of DOLLY, MARTIN =
C
>>> Sent: Monday, December 22, 2014 9:34 PM
>>> To: Ben Campbell; Steve Donovan
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Handling of mandatory sub-avps
>>>=20
>>> *** Security Advisory: This Message Originated Outside of AT&T ***.
>>> Reference http://cso.att.com/EmailSecurity/IDSP.html for more =
information.
>>>=20
>>> NO, WRONG
>>>=20
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Ben Campbell
>>> Sent: Monday, December 22, 2014 7:16 PM
>>> To: Steve Donovan
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Handling of mandatory sub-avps
>>>=20
>>> My opinion is that any DOIC error (i.e. something wrong in OC-S-F or =
OC-OLR) should never cause an error or other failure of the enclosing =
transaction. Normally the only way DOIC should affect a transaction is =
via abatement.
>>>=20
>>> I would grudgingly accept the ability for a Diameter application =
spec to say that the application must not be used without DOIC (and =
potentially certain DOIC features.), as long as such a requirement was =
explicit (including explicit on _how_ it should fail), but I think =
that's a different use case.
>>>=20
>>>> On Dec 22, 2014, at 10:57 AM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>=20
>>>> All,
>>>>=20
>>>> The following is an open issue from Ben's suggested editorial =
changes that still needs to be addressed.
>>>>=20
>>>> Regards,
>>>>=20
>>>> Steve
>>>>>> -- 4.3, para 4:
>>>>>>=20
>>>>>> We should clarify that this is talking about mandatory to =
understand for DOIC, but not for the enclosing transaction.
>>>>> SRD> i'm not clear on what you are suggesting.
>>>> We need to be clear that receiving a DOIC avp with a mandatory AVP =
that you don't understand means you ignore the DOIC AVPs, but does not =
cause the Diameter transaction to fail. Or was it your intent to allow =
an application to say that if you get a DOIC avp that you can't process, =
you have to fail the Diameter transaction?
>>>>=20
>>>>> Do you have suggested wording?
>>>> Depends on the answer to the question above.
>>>>=20
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>=20
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Mon Jan  5 15:11:25 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B46471A0204 for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 15:11:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 MwAUf1mAnOgK for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 15:11:20 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 EF73F1A0181 for <dime@ietf.org>; Mon,  5 Jan 2015 15:11:19 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t05NBGGG010173 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 5 Jan 2015 17:11:17 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <1F52080A-2CEE-4D11-97BB-CCE633F32A57@nostrum.com>
Date: Mon, 5 Jan 2015 17:11:16 -0600
X-Mao-Original-Outgoing-Id: 442192276.171816-29c167c37eb28b971099d1bd9133c14b
Content-Transfer-Encoding: quoted-printable
Message-Id: <E842183F-4BC5-48C1-98EE-68159377F0B0@nostrum.com>
References: <54984D7E.3010405@usdonovans.com> <C56EB464-8F5A-40D5-911F-D87F7B707A1F@nostrum.com> <E42CCDDA6722744CB241677169E83656033813A1@MISOUT7MSGUSRDB.ITServices.sbc.com> <E42CCDDA6722744CB241677169E83656033813F2@MISOUT7MSGUSRDB.ITServices.sbc.com> <26D1E2EC-3DF6-487C-980F-F6DBE6EFDF39@nostrum.com> <54A1825B.1000503@usdonovans.com> <1F52080A-2CEE-4D11-97BB-CCE633F32A57@nostrum.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/vZFSy337RxqeBJ6kfyKRpzW9i_M
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Handling of mandatory sub-avps
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jan 2015 23:11:23 -0000

> On Jan 5, 2015, at 5:05 PM, Ben Campbell <ben@nostrum.com> wrote:
>=20
>=20
>> On Dec 29, 2014, at 10:33 AM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>=20
>> Ben,
>>=20
>> As you suggesting that just the AVP that isn't understood is ignored =
or the entire grouped AVP it is part of is ignored?  If the "sub-avp" is =
marked as mandatory then it would seem that the entire grouped AVP =
should be ignored.
>=20
> I wasn't really talking about mandatory AVPs [1].

Well, I guess the email subject really _was_ about mandatory AVPs :-)

> I was talking about DOIC errors in general. Basically, if you get an =
OC-OLR or OC-S-F that is bogus for some reason, you can ignore it--but =
the enclosing Diameter transaction is unaffected.
>=20
>=20
> [1]  But on re-reading the M-bit rules in 6733, I once again think we =
have a disconnect for sub-avps with the m-bit set. I thought that the =
rules allows us to ignore a whole grouped AVP if it had an unrecognized =
sub-avp with the m-bit set. But on re-reading that part, I think that =
may only be true if the grouped AVP is also not understood.
>=20
>>=20
>> Steve
>>=20
>> On 12/22/14 10:34 PM, Ben Campbell wrote:
>>> Martin, I think we are violently agreeing. A DOIC "failure" doesn't =
impact the Diameter transaction.
>>>=20
>>>=20
>>>> On Dec 22, 2014, at 8:42 PM, DOLLY, MARTIN C <md3135@att.com> =
wrote:
>>>>=20
>>>> To be clear, ignore what one does not understand.
>>>>=20
>>>> -----Original Message-----
>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of DOLLY, =
MARTIN C
>>>> Sent: Monday, December 22, 2014 9:34 PM
>>>> To: Ben Campbell; Steve Donovan
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] Handling of mandatory sub-avps
>>>>=20
>>>> *** Security Advisory: This Message Originated Outside of AT&T ***.
>>>> Reference http://cso.att.com/EmailSecurity/IDSP.html for more =
information.
>>>>=20
>>>> NO, WRONG
>>>>=20
>>>> -----Original Message-----
>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Ben Campbell
>>>> Sent: Monday, December 22, 2014 7:16 PM
>>>> To: Steve Donovan
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] Handling of mandatory sub-avps
>>>>=20
>>>> My opinion is that any DOIC error (i.e. something wrong in OC-S-F =
or OC-OLR) should never cause an error or other failure of the enclosing =
transaction. Normally the only way DOIC should affect a transaction is =
via abatement.
>>>>=20
>>>> I would grudgingly accept the ability for a Diameter application =
spec to say that the application must not be used without DOIC (and =
potentially certain DOIC features.), as long as such a requirement was =
explicit (including explicit on _how_ it should fail), but I think =
that's a different use case.
>>>>=20
>>>>> On Dec 22, 2014, at 10:57 AM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>>=20
>>>>> All,
>>>>>=20
>>>>> The following is an open issue from Ben's suggested editorial =
changes that still needs to be addressed.
>>>>>=20
>>>>> Regards,
>>>>>=20
>>>>> Steve
>>>>>>> -- 4.3, para 4:
>>>>>>>=20
>>>>>>> We should clarify that this is talking about mandatory to =
understand for DOIC, but not for the enclosing transaction.
>>>>>> SRD> i'm not clear on what you are suggesting.
>>>>> We need to be clear that receiving a DOIC avp with a mandatory AVP =
that you don't understand means you ignore the DOIC AVPs, but does not =
cause the Diameter transaction to fail. Or was it your intent to allow =
an application to say that if you get a DOIC avp that you can't process, =
you have to fail the Diameter transaction?
>>>>>=20
>>>>>> Do you have suggested wording?
>>>>> Depends on the answer to the question above.
>>>>>=20
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>=20
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>=20
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20


From nobody Mon Jan  5 15:12:21 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9328A1A0181 for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 15:12:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 QeV2ytT8wxVo for <dime@ietfa.amsl.com>; Mon,  5 Jan 2015 15:12:16 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 B61D81A0204 for <dime@ietf.org>; Mon,  5 Jan 2015 15:12:16 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t05NBGGH010173 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 5 Jan 2015 17:12:16 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54A1839B.1050009@usdonovans.com>
Date: Mon, 5 Jan 2015 17:12:16 -0600
X-Mao-Original-Outgoing-Id: 442192336.039229-314220303d0767e19c528e845bb90c6a
Content-Transfer-Encoding: quoted-printable
Message-Id: <93998D34-D6B9-430C-888B-6B1E98BD7443@nostrum.com>
References: <79E0AA6A-8F91-45FD-AE8A-EFF9D2A4E9D3@nostrum.com> <5491AEC7.8070307@usdonovans.com> <ECEC60E8-3E83-46F6-834D-D5D615660E4E@nostrum.com> <54984D31.5000201@usdonovans.com> <00328701-E938-444C-B8BC-ADBE05B201CB@nostrum.com> <54A1839B.1050009@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/OTTVS_4mK9lfCja3hlpL0lIaAe4
Cc: dime@ietf.org
Subject: Re: [Dime] DOIC WGLC: Editorial Comments
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jan 2015 23:12:20 -0000

> On Dec 29, 2014, at 10:38 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
>=20
> On 12/22/14 6:11 PM, Ben Campbell wrote:
>> Hi, I've removed sections that seem to need no further discussion, =
where you've suggested moving to separate threads, or where I'm just =
gonna roll over :-)
>>=20
>>> On Dec 22, 2014, at 10:56 AM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>> [...]
>>>>>> -- 4.1.2, para 7: "If it selects a different algorithm, it =
MUST...:
>>>>>>=20
>>>>>> This is also true if it needs to announce some other feature that =
needs to be indicated.
>>>>> SRD> This paragraph is talking specifically about algorithms and =
is needed because the AVP is optional.  Are you suggesting another =
sentence, another paragraph?  I'm guessing that the case you talk about =
is already covered elsewhere.
>>>> We say this in 4.1.1 on reacting node behavior. We should make the =
same statement for reporting node behavior. This is the definitive =
section on reporting node behavior. If it's repeated elsewhere, we =
should consider whether _that_ text is redundant.
>>> SRD> Again, this paragraph is dealing specifically with rules around =
which the algorithms supported by the reporting node interact with the =
OC-Features-Vector AVP.  The statement on other features is three =
paragraphs later.
>> If you mean this paragraph:
>>=20
>> "  The reporting node SHOULD indicate support for other DOIC features
>>    defined in extension drafts that it supports and that apply to the
>>    transaction."
>>=20
>> Nothing in that (3 paragraphs later) paragraph says you MUST include =
OC-Features-Vector to do that. It's left for the reader to infer. We do =
explicitly say that for reacting nodes in 4.1.1.
> SRD>  How about adding ..."it does so using the OC-Feature-Vector AVP" =
to the end of the above paragraph.

That would work for me.

>>=20
>> [...]
>>=20
>>=20
>>=20
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Tue Jan  6 16:01:06 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5F72A1A876D for <dime@ietfa.amsl.com>; Tue,  6 Jan 2015 16:01:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level: 
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 udhdpVwy4Lvh for <dime@ietfa.amsl.com>; Tue,  6 Jan 2015 16:00:58 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 DFF8B1A8776 for <dime@ietf.org>; Tue,  6 Jan 2015 16:00:52 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0700nF2036931 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Jan 2015 18:00:50 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: multipart/alternative; boundary="Apple-Mail=_933D7EF8-8F7B-4BE3-9961-3F9B98806183"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Date: Tue, 6 Jan 2015 18:00:49 -0600
X-Mao-Original-Outgoing-Id: 442281649.102287-d3373d6e37713447fc3d24ab04984955
Message-Id: <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com>
References: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com>
To: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/FXpULLy4yc_C3obPayIlZeV4BNU
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 00:01:05 -0000

--Apple-Mail=_933D7EF8-8F7B-4BE3-9961-3F9B98806183
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi JJacques,

To answer your lat question first, I think this is a useful analysis, =
and would be willing to combine it into a new version of my previous =
draft. We can talk about the details of that offline.

Second, some high level observations:

First, =46rom a load-balancing perspective, Figure 5.3 is functionally =
equivalent to the following:

=20
  =E2=80=94------S1
/        |
C1       |
\        |
  =E2=80=94=E2=80=94-----S2

Where S1 and S2 can proxy requests to the other according to some policy =
(e.g. load balancing). I don=E2=80=99t mean to suggest you would deploy =
it that way, but it makes another observation more obvious, which is =
that C1->S1 or C1->S2 are more efficient than C1->S1->S2 or C1->S2->S1.

My initial reaction is to think that we can generalize this to the =
various use cases that have cross-connected agents. That is, when all =
else is equal, shorter paths between
client and server are better than longer ones. This seems to suggest =
that the cross-path connections be reserved for failure or overload =
cases. This probably has implications on whether the load metric sent by =
an agent should somehow aggregate the load metrics of its servers. (Or =
at least take them as an input.)

Second, your figures 5.5-5.7 suggest that we may have cases where the =
number of servers to the right of an agent may not be known by the =
client. Here=E2=80=99s a simplified view:

   =E2=80=94=E2=80=94A1--S1...Sn
 /       =20
C      =20
 \       =20
   =E2=80=94=E2=80=94A2--Sn+1...Sm


In this case, the load metrics for the servers are of little use to C, =
since in general C will not know if it=E2=80=99s knowledge encompasses =
all possible destinations. (A related question is wether the _agents_ =
actually know the load metrics for all the possible destinations. I=E2=80=99=
m not sure they always do, e.g. if they are using dynamic discovery.



> On Jan 4, 2015, at 11:38 AM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) =
<jean-jacques.trottin@alcatel-lucent.com> wrote:
>=20
> Dear all
> =20
> I first wish you a  happy  new year for you and your family as well in =
your professional life.
> =20
> I hereafter address our new topic on Diameter load control.
> I am in favor to continue the work that Ben has covered in his =
=E2=80=9Cdraft-campbell-dime-load-considerations-00=E2=80=9D document, =
by adding, investigating various considerations.
> =20
> I hereafter give several additional section parts or paragraphs  that =
I think could be inserted in Ben=E2=80=99s draft. I have put some titles =
and numbering (#L1, #L2 =E2=80=A6)  to reuse in separated email treads =
for discussion.
> =20
> I have included topology use cases. For Diameter overload,  Steve did =
several  presentations on the  various use cases to consider. I think =
also good to do the same for Diameter load, and to insert such use cases =
in the Ben=E2=80=99s draft. You may consider this list somewhat long but =
these use cases highlight a certain number of points for which we will =
have to take some decisions (eg to cover them or not or to see later if  =
solution assumptions apply well). There are more from a requirement =
viewpoint than in the solution itself as I do not address the exact =
content of load information and the way it will be transferred
> =20
> =20
> #L1   Topology use cases (can be inserted in section 5 )
> =20
> =20
>           ------S1
>         /
>       C1
>         \
>           ------S2
> Figure 5.1
> =20
> In this simple case (no DA) e.g. for a small network, the servers are =
peers of the client. The client selects the server according to the load =
information it receives from the servers.
> =20
> =20
>           ------S1
>         /
> C1----A
>         \
>           ------S2
> Figure 5.2
> =20
> The agent selects the server according to the load information it =
receives from the servers. Here, the client does not need to receive =
load information as it does not do load balancing. It is to check if =
load information would be useful to the client for other purposes (e.g. =
anticipating a future overload of the server).
> =20
> =20
>    ---A1------S1
> /    |
> C1    |
> \    |
>    ---A2------S2
> =20
> Figure 5.3
> =20
> C1 when sending a realm routed request even does not know which server =
will handle the request an even more does not know to which DA S1 and S2 =
are connected to. So the load information on the servers is not useful. =
But C1 has to select to which from A1 or A2 it will send the request. It =
can do it on the basis of the load information of A1 or A2. But is it =
sufficient?
> If S1 has high load and S2 a small one, to improve the load balancing =
would mean that
> a) C1 sends more traffic to A2 which forward to S2, meaning that C1 =
has received load information from A2 not only including A2 load but =
also the S2 load
> b) or C1, having no information on server load equally sends traffic =
to A1 and A2. Then if A1 receives from A2 load information including the =
load of S2 may then decide to route more traffic to S2 via A2. This is =
less optimal than the first case as adding a new hop in the path =
(C1-A1-A2-S2.
> =20
> An initial question is to consider if this subcases a) and b) are =
relevant and enter the scope.
> =20
> C1, when sending a host routed request, can do it via A1 or A2 as =
routing for C1 is based on the realm. Is it to be considered if load =
control information received by C1 gives some hint to rather select A1 =
rather than A2 when S1 is the destination host, so to avoid an =
additional hop? Or if it is out of the scope?      =20
> =20
> =20
>          -----S3
>        /
>    ---A1------S1
> /    |
> C1    |
> \    |
>    ---A2------S2
>        \
>          ---- S4
> Figure 5.4
> =20
> This diagram is an extension of the previous one with additional =
servers connected to A1 and A2 and could be more common than 5.3.
> Compared to the previous diagram,
> - for the subcase a), for realm routed request C1 choice between A1 =
and A2 can rely on the combined (or aggregated) load of S1 and S3 =
compared to the aggregated load of S2 and S4.
> - for the subcase b) similarly, A1 would compare an aggregated load of =
S2 and S4 received from A2 to the aggregated load of S1 and S3.
> =20
> This use case may drive to consider if the load of a set of nodes =
(aggregated load) would be useful or if it can be avoided.=20
> =20
> =20
>    ---A1---S1, S3 =E2=80=A6
> /    | \/
> C1    | /\
> \    |/  \
>    ---A2---S2, S4 =E2=80=A6
> =20
> Figure 5.5
> =20
> In this diagram, all servers are connected to the same set of DAs, =
which multiply the number of connections between servers and their DAs; =
otherwise, we come back to the figure 5.4 case or an hybrid case between =
figure 5.4 and 5.5.=20
> C1 when sending a request may select A1 or A2 according to a load =
information only related to A1 load and A2 load. This selection is =
independent from the server load, except if we take into account e.g. =
the load of the A1/S1 connection and the load of A2/S1 connection which =
may be different.
> =20
> A1 (or A2) then selects the server according to load information =
received from these servers, except for host routed requests.           =20=

> =20
> =20
>    ---A1---A3----S1, S3 =E2=80=A6
> /    | \/ |
> C1    | /\ |
> \    |/  \|
>    ---A2---A4----S2, S4 =E2=80=A6
> =20
> Figure 5.6
> =20
> This diagram introduces =E2=80=9Ctwo layers=E2=80=9D of DAs between =
clients and servers.
> Compared to figure 5.3 or 5.4, C1 when sending a request may select A1 =
or A2 according to a load information only related to A1 load and A2 =
load. Then A1(or A2)when doing further routing, are in a similar =
situation to C1 in Figures 5.3 or 5.4.
> =20
>    =20
>    ---A1---A3---S1, S3 =E2=80=A6
> /    | \/ | \/
> C1    | /\ | /\
> \    |/  \|/  \
>    ---A2---A4---S2, S4 =E2=80=A6
> =20
> Figure 5.7
> As in figure 5.4, all servers are connected to a common set of DAs =
(here A3, A4), which multiply the number of connections between servers =
and their DAs; otherwise, we come back to the figure 5.6 case or a =
hybrid case between figures 5.6 and 5.7.=20
> C1 when sending a request may select A1 or A2 according to a load =
information only related to A1 load and A2 load. This selection is =
independent from the server load.
> Then A1 or A2 for futrjer routing have a similar situation to C1 in =
figure 5.5.
> This case offer a high flexibility about load sharing that can be done =
in different places, but als o may introduce higher complexity about =
selecting the right routing.  =20
> =20
> ___________________________
> =20
> #L2    Partitioned servers (can be added in section 5)
> =20
> This the case of realm routed request where only one or some servers =
in the same realm can handle the request, so no load balancing to other =
servers of the realm can be achieved. An intermediate proxy DA will =
select the possible server(s)for this request, and if several servers, =
the DA may do some load balancing between them and if one server, the DA =
may act as with host routed requests.        =20
> =20
> ___________________________
> #L3    Active and stand by nodes (can be inserted in section 5)
> =20
> In the above topology use cases, it is assumed that load sharing can =
be used between the different possible connections of the figures. If =
nodes are in an  active and stand by configurations, the figures to =
consider are with the only active connections. The switch from the =
active to the stand by node with the load handling aspect is another =
topic. =20
> =20
> __________________________________
> =20
> #L4=E2=80=A6 Some considerations from the topology use cases (can be =
inserted in section 5)
> =20
> - there is a large variety of use cases with various places where load =
balancing actions can be taken. This may impact the content of load =
information transferred downstream. It should also be avoided to add too =
much complexity, especially on the load information content transferred =
downstream, node behavior can be more sophisticated but normally remains =
outside the standardization scope.
> =20
> - clients receiving load information have not to be aware of the DAs =
and server topologies, they nevertheless need relevant load information =
criteria to select (when needed) the right next node to which to send a =
request. This may drive to consider if some aggregation of load =
information to be performed before sending it to the clients, so to make =
it simpler to the clients.
> =20
> _______________________________
> =20
> #L6   Load information scopes (can be  added in section 6)
> =20
> Load information can apply to various scopes that should be considered =
to retain or not :
> =20
> Load of a node: this is the most usual to consider. A node can be an =
end point (server) or an agent.
> =20
> Load of an application: The load of a server can vary according to the =
applications (eg due to differences in the used resources). So the =
possibility to have a load information per application should not be =
precluded at this level of analysis.
> =20
> Load of a set of nodes: it may be considered interesting that the load =
of a set of nodes is transferred downstream. Use cases should identify =
such an interest. This drives to the aggregation of the load of the =
various nodes of the set to elaborate the load of the set. This can be =
done by an intermediate node receiving the load information of the =
various nodes. It can be a weighted average between the loads; the =
weight is another information to be considered (eg the capacity of the =
servers which may be different).
> =20
> Load of an agent and load of a server.
> Different paths via different DAs may exist between the node doing the =
server selection and the server. The load information on the server =
would be the same; but then to which peer to send the message? This =
would depend of the load of the peer (and even of the load behind the =
peer).
> =20
> ________________________________
> =20
> #L7   Addition removal of a server (can be  added in section 6)
> =20
> When adding a server, this one will start by advertising no or a small =
load, then it will be to the downstream nodes (eg DAs) handling load =
balancing between servers to ensure a smooth increase of the traffic to =
this server, to avoid to immediately send it too much traffic and even =
to not put it into overload. It may be questioned if a simple load =
information (load percentage) is sufficient for this.
> =20
> When removing a server in a controlled way (e.g. for maintenance =
purpose, so outside a failure case), an objective can be to =
progressively reduce the traffic to this server, with a routing of the =
traffic to other servers. Simple load information (load percentage) =
would be not sufficient. It should be considered if this use case enter =
the scope of this load control mechanism.
> =20
> __________________________
> =20
> #L8   Implementation and standardization (can be added in section 1)
> =20
> Through the use cases and the architectures considerations described =
in this document, the focus is to define which would be the relevant =
load information to be transferred to the nodes that will use it. Then, =
given the variety of use cases, the possible topologies, the place where =
the server selection is done, etc, flexibility is to be left to =
implementations about the node behavior regarding the elaboration of the =
load information and then its use. Guidance or examples may also be =
given to help but without normative aspects.
> =20
> _____________________________
> =20
> #L9=E2=80=A6  Redirect agent : (can be added at the end of section 3)
> =20
> A Diameter node (e.g. client) can use a redirect agent to get =
destination host addresses.  The redirect agent may return several =
destination host addresses, of which the Diameter node has to select one =
and for this can rely on the load information on these hosts
> ___________________________
> =20
> =20
> So please let me know your comments.
> =20
> Ben, would you be OK to complement your draft with those inputs . We =
can also have question marks or editor=E2=80=99s notes, but I think good =
to have a document about which we discuss these architectural =
considerations.
> =20
> Best regards
> =20
> JJacques=20
> =20
> =20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--Apple-Mail=_933D7EF8-8F7B-4BE3-9961-3F9B98806183
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space;" class=3D""><div class=3D"">Hi =
JJacques,</div><div class=3D""><br class=3D""></div><div class=3D"">To =
answer your lat question first, I think this is a useful analysis, and =
would be willing to combine it into a new version of my previous draft. =
We can talk about the details of that offline.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Second, some high level =
observations:</div><div class=3D""><br class=3D""></div><div =
class=3D"">First, =46rom a load-balancing perspective, Figure 5.3 is =
functionally equivalent to the following:</div><div class=3D""><br =
class=3D""></div><div class=3D"">&nbsp;<br class=3D""><font =
face=3D"Monaco" class=3D"">&nbsp;&nbsp;=E2=80=94------S1<br class=3D"">/ =
&nbsp; &nbsp; &nbsp; &nbsp;|<br class=3D"">C1 &nbsp; &nbsp; &nbsp; |<br =
class=3D"">\ &nbsp; &nbsp; &nbsp; &nbsp;|<br =
class=3D"">&nbsp;&nbsp;=E2=80=94=E2=80=94-----S2<br class=3D""></font><br =
class=3D""></div><div class=3D"">Where S1 and S2 can proxy requests to =
the other according to some policy (e.g. load balancing). I don=E2=80=99t =
mean to suggest you would deploy it that way, but it makes another =
observation more obvious, which is that C1-&gt;S1 or C1-&gt;S2 are more =
efficient than C1-&gt;S1-&gt;S2 or C1-&gt;S2-&gt;S1.</div><div =
class=3D""><br class=3D""></div><div class=3D"">My initial reaction is =
to think that we can generalize this to the various use cases that have =
cross-connected agents. That is, when all else is equal, shorter paths =
between</div><div class=3D"">client and server are better than longer =
ones. This seems to suggest that the cross-path connections be reserved =
for failure or overload cases. This probably has implications on whether =
the load metric sent by an agent should somehow aggregate the load =
metrics of its servers. (Or at least take them as an input.)</div><div =
class=3D""><br class=3D""></div><div class=3D"">Second, your figures =
5.5-5.7 suggest that we may have cases where the number of servers to =
the right of an agent may not be known by the client. Here=E2=80=99s a =
simplified view:</div><div class=3D""><br class=3D""></div><div =
class=3D""><div class=3D""><font face=3D"Monaco" class=3D"">&nbsp; =
&nbsp;=E2=80=94=E2=80=94A1--S1...Sn<br class=3D"">&nbsp;/ &nbsp; &nbsp; =
&nbsp; &nbsp;<br class=3D"">C &nbsp; &nbsp; &nbsp;&nbsp;<br =
class=3D"">&nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp;<br class=3D"">&nbsp; =
&nbsp;=E2=80=94=E2=80=94A2--Sn+1...Sm</font></div></div><div =
class=3D""><font face=3D"Monaco" class=3D""><br =
class=3D""></font></div><div class=3D""><font face=3D"Monaco" =
class=3D""><br class=3D""></font></div><div class=3D"">In this case, the =
load metrics for the servers are of little use to C, since in general C =
will not know if it=E2=80=99s knowledge encompasses all possible =
destinations. (A related question is wether the _agents_ actually know =
the load metrics for all the possible destinations. I=E2=80=99m not sure =
they always do, e.g. if they are using dynamic discovery.</div><div =
class=3D""><br class=3D""></div><div class=3D""><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D"">On Jan 4, 2015, at 11:38 =
AM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) &lt;<a =
href=3D"mailto:jean-jacques.trottin@alcatel-lucent.com" =
class=3D"">jean-jacques.trottin@alcatel-lucent.com</a>&gt; wrote:<br =
class=3D""><br class=3D"">Dear all<br class=3D"">&nbsp;<br class=3D"">I =
first wish you a &nbsp;happy &nbsp;new year for you and your family as =
well in your professional life.<br class=3D"">&nbsp;<br class=3D"">I =
hereafter address our new topic on Diameter load control.<br class=3D"">I =
am in favor to continue the work that Ben has covered in his =
=E2=80=9Cdraft-campbell-dime-load-considerations-00=E2=80=9D document, =
by adding, investigating&nbsp;various considerations.<br =
class=3D"">&nbsp;<br class=3D"">I hereafter give several additional =
section parts or paragraphs &nbsp;that I think could be inserted in =
Ben=E2=80=99s draft. I have put some titles and numbering&nbsp;(#L1, #L2 =
=E2=80=A6) &nbsp;to reuse in separated email treads for discussion.<br =
class=3D"">&nbsp;<br class=3D"">I have included topology use cases. For =
Diameter overload, &nbsp;Steve did several &nbsp;presentations on the =
&nbsp;various use cases to consider. I think also good&nbsp;to do the =
same for Diameter load, and to insert such use cases in the Ben=E2=80=99s =
draft. You may consider this list somewhat long but these use =
cases&nbsp;highlight a certain number of points for which we will have =
to take some decisions (eg to cover them or not or to see later if =
&nbsp;solution assumptions&nbsp;apply well). There are more from a =
requirement viewpoint than in the solution itself as I do not address =
the exact content of load information and&nbsp;the way it will be =
transferred<br class=3D"">&nbsp;<br class=3D"">&nbsp;<br class=3D"">#L1 =
&nbsp; Topology use cases (can be inserted in section 5 )<br =
class=3D"">&nbsp;<br class=3D"">&nbsp;<br class=3D"">&nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; ------S1<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
/<br class=3D"">&nbsp; &nbsp; &nbsp; C1<br class=3D"">&nbsp; &nbsp; =
&nbsp; &nbsp; \<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
------S2<br class=3D"">Figure 5.1<br class=3D"">&nbsp;<br class=3D"">In =
this simple case (no DA) e.g. for a small network, the servers are peers =
of the client. The&nbsp;client selects the server according to the load =
information it receives from the servers.<br class=3D"">&nbsp;<br =
class=3D"">&nbsp;<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
------S1<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; /<br =
class=3D"">C1----A<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; \<br =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ------S2<br =
class=3D"">Figure 5.2<br class=3D"">&nbsp;<br class=3D"">The agent =
selects the server according to the load information it receives from =
the servers. Here,&nbsp;the client does not need to receive load =
information as it does not do load balancing. It is to&nbsp;check if =
load information would be useful to the client for other purposes (e.g. =
anticipating a&nbsp;future overload of the server).<br =
class=3D"">&nbsp;<br class=3D"">&nbsp;<br class=3D"">&nbsp; =
&nbsp;---A1------S1<br class=3D"">/ &nbsp; &nbsp;|<br class=3D"">C1 =
&nbsp; &nbsp;|<br class=3D"">\ &nbsp; &nbsp;|<br class=3D"">&nbsp; =
&nbsp;---A2------S2<br class=3D"">&nbsp;<br class=3D"">Figure 5.3<br =
class=3D"">&nbsp;<br class=3D"">C1 when sending a realm routed request =
even does not know which server will handle the request an&nbsp;even =
more does not know to which DA S1 and S2 are connected to. So the load =
information on the&nbsp;servers is not useful. But C1 has to select to =
which from A1 or A2 it will send the request. It can&nbsp;do it on the =
basis of the load information of A1 or A2. But is it sufficient?<br =
class=3D"">If S1 has high load and S2 a small one, to improve the load =
balancing would mean that<br class=3D"">a) C1 sends more traffic to A2 =
which forward to S2, meaning that C1 has received load =
information&nbsp;from A2 not only including A2 load but also the S2 =
load<br class=3D"">b) or C1, having no information on server load =
equally sends traffic to A1 and A2. Then if A1&nbsp;receives from A2 =
load information including the load of S2 may then decide to route more =
traffic to&nbsp;S2 via A2. This is less optimal than the first case as =
adding a new hop in the path (C1-A1-A2-S2.<br class=3D"">&nbsp;<br =
class=3D"">An initial question is to consider if this subcases a) and b) =
are relevant and enter the scope.<br class=3D"">&nbsp;<br class=3D"">C1, =
when sending a host routed request, can do it via A1 or A2 as routing =
for C1 is based on the&nbsp;realm. Is it to be considered if load =
control information received by C1 gives some hint to rather&nbsp;select =
A1 rather than A2 when S1 is the destination host, so to avoid an =
additional hop? Or if it&nbsp;is out of the scope? &nbsp; &nbsp; =
&nbsp;&nbsp;<br class=3D"">&nbsp;<br class=3D"">&nbsp;<br =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-----S3<br class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp;/<br class=3D"">&nbsp; &nbsp;---A1------S1<br =
class=3D"">/ &nbsp; &nbsp;|<br class=3D"">C1 &nbsp; &nbsp;|<br =
class=3D"">\ &nbsp; &nbsp;|<br class=3D"">&nbsp; &nbsp;---A2------S2<br =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp;\<br class=3D"">&nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp;---- S4<br class=3D"">Figure 5.4<br =
class=3D"">&nbsp;<br class=3D"">This diagram is an extension of the =
previous one with additional servers connected to A1 and A2 =
and&nbsp;could be more common than 5.3.<br class=3D"">Compared to the =
previous diagram,<br class=3D"">- for the subcase a), for realm routed =
request C1 choice between A1 and A2 can rely on the combined&nbsp;(or =
aggregated) load of S1 and S3 compared to the aggregated load of S2 and =
S4.<br class=3D"">- for the subcase b) similarly, A1 would compare an =
aggregated load of S2 and S4 received from A2&nbsp;to the aggregated =
load of S1 and S3.<br class=3D"">&nbsp;<br class=3D"">This use case may =
drive to consider if the load of a set of nodes (aggregated load) would =
be useful&nbsp;or if it can be avoided.&nbsp;<br class=3D"">&nbsp;<br =
class=3D"">&nbsp;<br class=3D"">&nbsp; &nbsp;---A1---S1, S3 =E2=80=A6<br =
class=3D"">/ &nbsp; &nbsp;| \/<br class=3D"">C1 &nbsp; &nbsp;| /\<br =
class=3D"">\ &nbsp; &nbsp;|/ &nbsp;\<br class=3D"">&nbsp; =
&nbsp;---A2---S2, S4 =E2=80=A6<br class=3D"">&nbsp;<br class=3D"">Figure =
5.5<br class=3D"">&nbsp;<br class=3D"">In this diagram, all servers are =
connected to the same set of DAs, which multiply the number =
of&nbsp;connections between servers and their DAs; otherwise, we come =
back to the figure 5.4 case or an&nbsp;hybrid case between figure 5.4 =
and 5.5.&nbsp;<br class=3D"">C1 when sending a request may select A1 or =
A2 according to a load information only related to A1&nbsp;load and A2 =
load. This selection is independent from the server load, except if we =
take into&nbsp;account e.g. the load of the A1/S1 connection and the =
load of A2/S1 connection which may be&nbsp;different.<br =
class=3D"">&nbsp;<br class=3D"">A1 (or A2) then selects the server =
according to load information received from these servers,&nbsp;except =
for host routed requests. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br =
class=3D"">&nbsp;<br class=3D"">&nbsp;<br class=3D"">&nbsp; =
&nbsp;---A1---A3----S1, S3 =E2=80=A6<br class=3D"">/ &nbsp; &nbsp;| \/ =
|<br class=3D"">C1 &nbsp; &nbsp;| /\ |<br class=3D"">\ &nbsp; &nbsp;|/ =
&nbsp;\|<br class=3D"">&nbsp; &nbsp;---A2---A4----S2, S4 =E2=80=A6<br =
class=3D"">&nbsp;<br class=3D"">Figure 5.6<br class=3D"">&nbsp;<br =
class=3D"">This diagram introduces =E2=80=9Ctwo layers=E2=80=9D of DAs =
between clients and servers.<br class=3D"">Compared to figure 5.3 or =
5.4, C1 when sending a request may select A1 or A2 according to a =
load&nbsp;information only related to A1 load and A2 load. Then A1(or =
A2)when doing further routing, are in a&nbsp;similar situation to C1 in =
Figures 5.3 or 5.4.<br class=3D"">&nbsp;<br class=3D"">&nbsp; =
&nbsp;&nbsp;<br class=3D"">&nbsp; &nbsp;---A1---A3---S1, S3 =E2=80=A6<br =
class=3D"">/ &nbsp; &nbsp;| \/ | \/<br class=3D"">C1 &nbsp; &nbsp;| /\ | =
/\<br class=3D"">\ &nbsp; &nbsp;|/ &nbsp;\|/ &nbsp;\<br class=3D"">&nbsp; =
&nbsp;---A2---A4---S2, S4 =E2=80=A6<br class=3D"">&nbsp;<br =
class=3D"">Figure 5.7<br class=3D"">As in figure 5.4, all servers are =
connected to a common set of DAs (here A3, A4), which multiply&nbsp;the =
number of connections between servers and their DAs; otherwise, we come =
back to the figure 5.6&nbsp;case or a hybrid case between figures 5.6 =
and 5.7.&nbsp;<br class=3D"">C1 when sending a request may select A1 or =
A2 according to a load information only related to A1&nbsp;load and A2 =
load. This selection is independent from the server load.<br =
class=3D"">Then A1 or A2 for futrjer routing have a similar situation to =
C1 in figure 5.5.<br class=3D"">This case offer a high flexibility about =
load sharing that can be done in different places, but als&nbsp;o may =
introduce higher complexity about selecting the right routing. =
&nbsp;&nbsp;<br class=3D"">&nbsp;<br =
class=3D"">___________________________<br class=3D"">&nbsp;<br =
class=3D"">#L2 &nbsp; &nbsp;Partitioned servers (can be added in section =
5)<br class=3D"">&nbsp;<br class=3D"">This the case of realm routed =
request where only one or some servers in the same realm can =
handle&nbsp;the request, so no load balancing to other servers of the =
realm can be achieved. An intermediate&nbsp;proxy DA will select the =
possible server(s)for this request, and if several servers, the DA may =
do&nbsp;some load balancing between them and if one server, the DA may =
act as with host routed requests. &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br =
class=3D"">&nbsp;<br class=3D"">___________________________<br =
class=3D"">#L3 &nbsp; &nbsp;Active and stand by nodes (can be inserted =
in section 5)<br class=3D"">&nbsp;<br class=3D"">In the above topology =
use cases, it is assumed that load sharing can be used between the =
different&nbsp;possible connections of the figures. If nodes are in an =
&nbsp;active and stand by configurations, the&nbsp;figures to consider =
are with the only active connections. The switch from the active to the =
stand&nbsp;by node with the load handling aspect is another topic. =
&nbsp;<br class=3D"">&nbsp;<br =
class=3D"">__________________________________<br class=3D"">&nbsp;<br =
class=3D"">#L4=E2=80=A6 Some considerations from the topology use cases =
(can be inserted in section 5)<br class=3D"">&nbsp;<br class=3D"">- =
there is a large variety of use cases with various places where load =
balancing actions can be&nbsp;taken. This may impact the content of load =
information transferred downstream. It should also be&nbsp;avoided to =
add too much complexity, especially on the load information content =
transferred&nbsp;downstream, node behavior can be more sophisticated but =
normally remains outside the&nbsp;standardization scope.<br =
class=3D"">&nbsp;<br class=3D"">- clients receiving load information =
have not to be aware of the DAs and server topologies, =
they&nbsp;nevertheless need relevant load information criteria to select =
(when needed) the right next node to&nbsp;which to send a request. This =
may drive to consider if some aggregation of load information to =
be&nbsp;performed before sending it to the clients, so to make it =
simpler to the clients.<br class=3D"">&nbsp;<br =
class=3D"">_______________________________<br class=3D"">&nbsp;<br =
class=3D"">#L6 &nbsp; Load information scopes (can be &nbsp;added in =
section 6)<br class=3D"">&nbsp;<br class=3D"">Load information can apply =
to various scopes that should be considered to retain or not :<br =
class=3D"">&nbsp;<br class=3D"">Load of a node: this is the most usual =
to consider. A node can be an end point (server) or an&nbsp;agent.<br =
class=3D"">&nbsp;<br class=3D"">Load of an application: The load of a =
server can vary according to the applications (eg due =
to&nbsp;differences in the used resources). So the possibility to have a =
load information per application&nbsp;should not be precluded at this =
level of analysis.<br class=3D"">&nbsp;<br class=3D"">Load of a set of =
nodes: it may be considered interesting that the load of a set of nodes =
is&nbsp;transferred downstream. Use cases should identify such an =
interest. This drives to the aggregation&nbsp;of the load of the various =
nodes of the set to elaborate the load of the set. This can be done =
by&nbsp;an intermediate node receiving the load information of the =
various nodes. It can be a weighted&nbsp;average between the loads; the =
weight is another information to be considered (eg the capacity =
of&nbsp;the servers which may be different).<br class=3D"">&nbsp;<br =
class=3D"">Load of an agent and load of a server.<br class=3D"">Different =
paths via different DAs may exist between the node doing the server =
selection and the&nbsp;server. The load information on the server would =
be the same; but then to which peer to send the&nbsp;message? This would =
depend of the load of the peer (and even of the load behind the =
peer).<br class=3D"">&nbsp;<br =
class=3D"">________________________________<br class=3D"">&nbsp;<br =
class=3D"">#L7 &nbsp; Addition removal of a server (can be &nbsp;added =
in section 6)<br class=3D"">&nbsp;<br class=3D"">When adding a server, =
this one will start by advertising no or a small load, then it will be =
to the&nbsp;downstream nodes (eg DAs) handling load balancing between =
servers to ensure a smooth increase of&nbsp;the traffic to this server, =
to avoid to immediately send it too much traffic and even to not put =
it&nbsp;into overload. It may be questioned if a simple load information =
(load percentage) is sufficient&nbsp;for this.<br class=3D"">&nbsp;<br =
class=3D"">When removing a server in a controlled way (e.g. for =
maintenance purpose, so outside a failure&nbsp;case), an objective can =
be to progressively reduce the traffic to this server, with a routing =
of&nbsp;the traffic to other servers. Simple load information (load =
percentage) would be not sufficient. It&nbsp;should be considered if =
this use case enter the scope of this load control mechanism.<br =
class=3D"">&nbsp;<br class=3D"">__________________________<br =
class=3D"">&nbsp;<br class=3D"">#L8 &nbsp; Implementation and =
standardization (can be added in section 1)<br class=3D"">&nbsp;<br =
class=3D"">Through the use cases and the architectures considerations =
described in this document, the focus is&nbsp;to define which would be =
the relevant load information to be transferred to the nodes that will =
use&nbsp;it. Then, given the variety of use cases, the possible =
topologies, the place where the server&nbsp;selection is done, etc, =
flexibility is to be left to implementations about the node =
behavior&nbsp;regarding the elaboration of the load information and then =
its use. Guidance or examples may also&nbsp;be given to help but without =
normative aspects.<br class=3D"">&nbsp;<br =
class=3D"">_____________________________<br class=3D"">&nbsp;<br =
class=3D"">#L9=E2=80=A6 &nbsp;Redirect agent : (can be added at the end =
of section 3)<br class=3D"">&nbsp;<br class=3D"">A Diameter node (e.g. =
client) can use a redirect agent to get destination host addresses. =
&nbsp;The&nbsp;redirect agent may return several destination host =
addresses, of which the Diameter node has to&nbsp;select one and for =
this can rely on the load information on these hosts<br =
class=3D"">___________________________<br class=3D"">&nbsp;<br =
class=3D"">&nbsp;<br class=3D"">So please let me know your comments.<br =
class=3D"">&nbsp;<br class=3D"">Ben, would you be OK to complement your =
draft with those inputs . We can also have question marks or editor=E2=80=99=
s notes, but I think good to have a&nbsp;document about which we discuss =
these architectural considerations.<br class=3D"">&nbsp;<br =
class=3D"">Best regards<br class=3D"">&nbsp;<br =
class=3D"">JJacques&nbsp;<br class=3D"">&nbsp;<br class=3D"">&nbsp;<br =
class=3D"">_______________________________________________<br =
class=3D"">DiME mailing list<br class=3D""><a =
href=3D"mailto:DiME@ietf.org" class=3D"">DiME@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/dime<br =
class=3D""></blockquote><br class=3D""></body></html>=

--Apple-Mail=_933D7EF8-8F7B-4BE3-9961-3F9B98806183--


From nobody Wed Jan  7 00:34:27 2015
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A70861A00C3; Wed,  7 Jan 2015 00:34:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.912
X-Spam-Level: 
X-Spam-Status: No, score=-106.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=ham
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 wl7kXBp2xR0y; Wed,  7 Jan 2015 00:34:18 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) by ietfa.amsl.com (Postfix) with ESMTP id 6DAAE1A00F4; Wed,  7 Jan 2015 00:34:18 -0800 (PST)
Received: by rfc-editor.org (Postfix, from userid 30) id CC624181CDC; Wed,  7 Jan 2015 00:33:52 -0800 (PST)
To: Hans.Liu@alcatel-lucent.com, vf0213@gmail.com, jari.arkko@ericsson.com, john.loughney@nokia.com, glenzorn@gmail.com
X-PHP-Originating-Script: 1005:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Message-Id: <20150107083352.CC624181CDC@rfc-editor.org>
Date: Wed,  7 Jan 2015 00:33:52 -0800 (PST)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/DNnHNeBRaU6xis1lhL2F3w6hY14
Cc: dime@ietf.org, iesg@ietf.org, rfc-editor@rfc-editor.org
Subject: [Dime] [Errata Held for Document Update] RFC6733 (4210)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 08:34:21 -0000

The following errata report has been held for document update 
for RFC6733, "Diameter Base Protocol". 

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4210

--------------------------------------
Status: Held for Document Update
Type: Editorial

Reported by: Hans Liu <Hans.Liu@alcatel-lucent.com>
Date Reported: 2014-12-25
Held by: Benoit Claise (IESG)

Section: 5.4.3

Original Text
-------------
   The Disconnect-Cause AVP (AVP Code 273) is of type Enumerated.  A
   Diameter node MUST include this AVP in the Disconnect-Peer-Request
   message to inform the peer of the reason for its intention to shut
   down the transport connection.  The following values are supported:
      REBOOTING                         0
         A scheduled reboot is imminent.  A receiver of a DPR with
         above result code MAY attempt reconnection.
      BUSY                              1
         The peerâ€™s internal resources are constrained, and it has
         determined that the transport connection needs to be closed.
         A receiver of a DPR with above result code SHOULD NOT attempt
         reconnection.
      DO_NOT_WANT_TO_TALK_TO_YOU        2
         The peer has determined that it does not see a need for the
         transport connection to exist, since it does not expect any
         messages to be exchanged in the near future.  A receiver of a
         DPR with above result code SHOULD NOT attempt reconnection.

Corrected Text
--------------
   The Disconnect-Cause AVP (AVP Code 273) is of type Enumerated.  A
   Diameter node MUST include this AVP in the Disconnect-Peer-Request
   message to inform the peer of the reason for its intention to shut
   down the transport connection.  The following values are supported:
      REBOOTING                         0
         A scheduled reboot is imminent.  A receiver of a DPR with
         above result code MAY attempt reconnection.
      BUSY                              1
         The internal resources are constrained, and it has
         determined that the transport connection needs to be closed.
         A receiver of a DPR with above result code SHOULD NOT attempt
         reconnection.
      DO_NOT_WANT_TO_TALK_TO_YOU        2
         The node has determined that it does not see a need for the
         transport connection to exist, since it does not expect any
         messages to be exchanged in the near future.  A receiver of a
         DPR with above result code SHOULD NOT attempt reconnection.

Notes
-----
A peer can either be a sender or receiver, depending on the contexst.

However in same section describing usage for the same AVP (description for cause), the 1st appearance represents the role of receiver, the 2nd and 3rd appearances has changed to the role of senders, it's confusing literally.

--------------------------------------
RFC6733 (draft-ietf-dime-rfc3588bis-33)
--------------------------------------
Title               : Diameter Base Protocol
Publication Date    : October 2012
Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
Category            : PROPOSED STANDARD
Source              : Diameter Maintenance and Extensions
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Wed Jan  7 07:37:44 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E63C31A8850 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 07:37:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 CEMIwXA0KQIB for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 07:37:41 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 3D0231A9145 for <dime@ietf.org>; Wed,  7 Jan 2015 07:37:41 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57003 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y8sfu-00011B-Vw; Wed, 07 Jan 2015 07:37:39 -0800
Message-ID: <54AD52BE.80806@usdonovans.com>
Date: Wed, 07 Jan 2015 09:37:34 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <54984D7E.3010405@usdonovans.com> <C56EB464-8F5A-40D5-911F-D87F7B707A1F@nostrum.com> <E42CCDDA6722744CB241677169E83656033813A1@MISOUT7MSGUSRDB.ITServices.sbc.com> <E42CCDDA6722744CB241677169E83656033813F2@MISOUT7MSGUSRDB.ITServices.sbc.com> <26D1E2EC-3DF6-487C-980F-F6DBE6EFDF39@nostrum.com> <54A1825B.1000503@usdonovans.com> <1F52080A-2CEE-4D11-97BB-CCE633F32A57@nostrum.com> <E842183F-4BC5-48C1-98EE-68159377F0B0@nostrum.com>
In-Reply-To: <E842183F-4BC5-48C1-98EE-68159377F0B0@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/GcRdDeRjGqdsNOP1gal8f908VH8
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Handling of mandatory sub-avps
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 15:37:43 -0000

Ben,

I agree with the behavior you are suggesting.  It isn't, however, clear 
to me what changes need to be made to the specification.

Steve

On 1/5/15 5:11 PM, Ben Campbell wrote:
>> On Jan 5, 2015, at 5:05 PM, Ben Campbell <ben@nostrum.com> wrote:
>>
>>
>>> On Dec 29, 2014, at 10:33 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>
>>> Ben,
>>>
>>> As you suggesting that just the AVP that isn't understood is ignored or the entire grouped AVP it is part of is ignored?  If the "sub-avp" is marked as mandatory then it would seem that the entire grouped AVP should be ignored.
>> I wasn't really talking about mandatory AVPs [1].
> Well, I guess the email subject really _was_ about mandatory AVPs :-)
>
>> I was talking about DOIC errors in general. Basically, if you get an OC-OLR or OC-S-F that is bogus for some reason, you can ignore it--but the enclosing Diameter transaction is unaffected.
>>
>>
>> [1]  But on re-reading the M-bit rules in 6733, I once again think we have a disconnect for sub-avps with the m-bit set. I thought that the rules allows us to ignore a whole grouped AVP if it had an unrecognized sub-avp with the m-bit set. But on re-reading that part, I think that may only be true if the grouped AVP is also not understood.
>>
>>> Steve
>>>
>>> On 12/22/14 10:34 PM, Ben Campbell wrote:
>>>> Martin, I think we are violently agreeing. A DOIC "failure" doesn't impact the Diameter transaction.
>>>>
>>>>
>>>>> On Dec 22, 2014, at 8:42 PM, DOLLY, MARTIN C <md3135@att.com> wrote:
>>>>>
>>>>> To be clear, ignore what one does not understand.
>>>>>
>>>>> -----Original Message-----
>>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of DOLLY, MARTIN C
>>>>> Sent: Monday, December 22, 2014 9:34 PM
>>>>> To: Ben Campbell; Steve Donovan
>>>>> Cc: dime@ietf.org
>>>>> Subject: Re: [Dime] Handling of mandatory sub-avps
>>>>>
>>>>> *** Security Advisory: This Message Originated Outside of AT&T ***.
>>>>> Reference http://cso.att.com/EmailSecurity/IDSP.html for more information.
>>>>>
>>>>> NO, WRONG
>>>>>
>>>>> -----Original Message-----
>>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Ben Campbell
>>>>> Sent: Monday, December 22, 2014 7:16 PM
>>>>> To: Steve Donovan
>>>>> Cc: dime@ietf.org
>>>>> Subject: Re: [Dime] Handling of mandatory sub-avps
>>>>>
>>>>> My opinion is that any DOIC error (i.e. something wrong in OC-S-F or OC-OLR) should never cause an error or other failure of the enclosing transaction. Normally the only way DOIC should affect a transaction is via abatement.
>>>>>
>>>>> I would grudgingly accept the ability for a Diameter application spec to say that the application must not be used without DOIC (and potentially certain DOIC features.), as long as such a requirement was explicit (including explicit on _how_ it should fail), but I think that's a different use case.
>>>>>
>>>>>> On Dec 22, 2014, at 10:57 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>>
>>>>>> All,
>>>>>>
>>>>>> The following is an open issue from Ben's suggested editorial changes that still needs to be addressed.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Steve
>>>>>>>> -- 4.3, para 4:
>>>>>>>>
>>>>>>>> We should clarify that this is talking about mandatory to understand for DOIC, but not for the enclosing transaction.
>>>>>>> SRD> i'm not clear on what you are suggesting.
>>>>>> We need to be clear that receiving a DOIC avp with a mandatory AVP that you don't understand means you ignore the DOIC AVPs, but does not cause the Diameter transaction to fail. Or was it your intent to allow an application to say that if you get a DOIC avp that you can't process, you have to fail the Diameter transaction?
>>>>>>
>>>>>>> Do you have suggested wording?
>>>>>> Depends on the answer to the question above.
>>>>>>
>>>>>> _______________________________________________
>>>>>> DiME mailing list
>>>>>> DiME@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>>
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Wed Jan  7 07:41:45 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C84B1A87ED for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 07:41:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 C6tWX09wI4y3 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 07:41:42 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 019171A87EC for <dime@ietf.org>; Wed,  7 Jan 2015 07:41:42 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57010 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y8sjq-0006Mm-Rl for dime@ietf.org; Wed, 07 Jan 2015 07:41:41 -0800
Message-ID: <54AD53B3.3060902@usdonovans.com>
Date: Wed, 07 Jan 2015 09:41:39 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: dime@ietf.org
References: <0AF415BD-4AA8-4A4F-942B-29DA6C9E417B@nostrum.com> <549193B8.6000603@usdonovans.com> <CA291819-0B08-4084-8671-F45148D9B739@nostrum.com> <5491B2BB.30709@usdonovans.com> <3543DB65-DFC1-4ADE-8808-7B931F325F92@nostrum.com> <5491CE28.2020205@usdonovans.com> <0E11AEDD-6E90-4D61-8759-557B8596BAFB@nostrum.com> <54920B37.4060201@gmail.com> <2BE199F8-262D-40AB-A567-A857E94B3A6A@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235C94@DEMUMBX014.nsn-intra.net> <EF4A3B0F-1FA2-49C4-BA33-45C6EFFBAACA@nostrum.com> <E194C2E18676714DACA9C3A2516265D2026F462A@FR712WXCHMBA12.zeu.alcatel-lucent.com> <54A1840D.5050403@usdonovans.com>
In-Reply-To: <54A1840D.5050403@usdonovans.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/AlVF8TXGa3QwzpmCCfDnEz48OOU
Subject: Re: [Dime] DOIC WGLC: duration unit
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 15:41:43 -0000

I am making these changes in DOIC-06.

We will need another WGLC.  If there are objections to this it can be 
addressed during that WGLC.

Steve

On 12/29/14 10:40 AM, Steve Donovan wrote:
> It appears that we are moving toward consensus to move back to 
> seconds.  If we do then I agree that a 24 hour maximum is reasonable.
>
> Does anyone object to moving back to seconds with a 24 hour maximum?
>
> Regards,
>
> Steve
>
> On 12/22/14 3:59 PM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) wrote:
>> Dear all
>>
>> I am also ,in favor  to take the second as unit (according to Ben 's 
>> arguments), and also to have a upper limit. The limit that Ben gives 
>> is about 50 days. Is 24 hours too short?
>>
>> Best regards
>>
>> JJacques
>>
>> -----Message d'origine-----
>> De : DiME [mailto:dime-bounces@ietf.org] De la part de Ben Campbell
>> Envoyé : vendredi 19 décembre 2014 00:47
>> À : Wiehe, Ulrich (NSN - DE/Munich)
>> Cc : dime@ietf.org
>> Objet : Re: [Dime] DOIC WGLC: duration unit
>>
>> Hi Ulrich,
>>
>> You bring up a good point that we need to document the limits, or at 
>> least describe the implications of choosing to long or short of a 
>> duration either way. I suspect 1s is still too short for most 
>> situations, and  ( 2^32 - 1 / 1000 )s is probably still too long.
>>
>> (Don't get me wrong; I still think millisecond resolution for this is 
>> silly.)
>>
>> Thanks!
>>
>> Ben.
>>
>>> On Dec 18, 2014, at 11:11 AM, Wiehe, Ulrich (NSN - DE/Munich) 
>>> <ulrich.wiehe@nsn.com> wrote:
>>>
>>> Ben,
>>>
>>> my inclination is to change back to seconds. However, seconds allow 
>>> a maximum value that is 1000 times higher and may be regarded 
>>> unreasonably high. In a previous version of the draft we had an 
>>> upper limit, and maybe when going back to seconds we should 
>>> re-introduce an upper limit so that the protocol does not allow 
>>> unreasonably long durations.
>>>
>>> Ulrich
>>>
>>>
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
>>> Sent: Thursday, December 18, 2014 12:08 AM
>>> To: Jouni Korhonen
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] DOIC WGLC: duration unit
>>>
>>>
>>>> On Dec 17, 2014, at 5:01 PM, Jouni Korhonen 
>>>> <jouni.nospam@gmail.com> wrote:
>>>>
>>>> [snip]
>>>>
>>>>>> I'll step out of the argument and let someone else be champion 
>>>>>> for millisecond granularity.
>>>>> Any other takers? Are there real use cases for sub-second precision?
>>>> I do not really care. We changed that from seconds to milliseconds 
>>>> for some reason.. but no not see a reason to change it back either.
>>> I'd argue that we should make it the "right thing", regardless of 
>>> whether we changed it before. (Although remembering why might go far 
>>> to answering my last question below.)
>>>
>>> I've describe why I think it is false precision, and can become 
>>> harmful. To rephrase it, choosing too small of durations will cause 
>>> harm by forcing rapid OLR updates (as in many per second.) These 
>>> updates cause work for both reporting nodes and reacting nodes.
>>>
>>> We could offer guidance of how to avoid that harm. Or we could 
>>> choose a resolution that makes it harder to cause such harm in the 
>>> first place. I think good protocol design favors the later.
>>>
>>> Do you disagree with the potential for harm? Or do you see some use 
>>> case for sub-second precision that I've missed?
>>>
>>>
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Wed Jan  7 07:56:26 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5C1CC1A8873 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 07:56:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 WLvoAvu7VIwO for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 07:56:16 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 37D0E1A7000 for <dime@ietf.org>; Wed,  7 Jan 2015 07:56:16 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57027 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y8sxw-0001Vv-MO; Wed, 07 Jan 2015 07:56:14 -0800
Message-ID: <54AD571C.7060608@usdonovans.com>
Date: Wed, 07 Jan 2015 09:56:12 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>,  "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
References: <EAF2EB26-32EC-48D5-B622-64EC194C3880@nostrum.com> <54912CBA.8080701@gmail.com> <549192FD.7060403@usdonovans.com> <E37D500E-22AB-487A-90B7-6495EA4E497E@nostrum.com> <5491BCB3.30608@usdonovans.com> <0EEB7B88-CEEF-4A33-BD61-E4378F0D054D@nostrum.com> <5491CCC9.3090809@usdonovans.com> <4586B22E-3CDD-462E-8246-D55F25F4365C@nostrum.com> <5491F723.6080203@usdonovans.com> <CBE26329-5CF8-4CFA-8D6C-0B18793606C8@nostrum.com> <54920272.80508@usdonovans.com> <52901958-73B6-49FE-8DA4-A8D2F8276DD0@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235CCD@DEMUMBX014.nsn-intra.net> <8FB9C2A7-7D61-4D46-9808-AD17DB61B8CE@nostrum.com>
In-Reply-To: <8FB9C2A7-7D61-4D46-9808-AD17DB61B8CE@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/CD_WJKZt90o-tGayEoLvfRezTCg
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 15:56:22 -0000

All,

After further discussion with Ben, the recommendation is to NOT include 
the wording proposed in the attached email.  Instead I propose to add 
the following wording in section 4.1.3 (section 5.1.3 in version -06) 
after the third paragraph:

           Note: When multiple agents are serving as the reacting node 
for a non supporting
           Diameter endpoint, each of those agents will be advertising 
capabilities for
           what looks to the reporting node like a single entity. Care 
should be taken
           to ensure that reporting node behavior is not adversely 
impacted in this scenario.
           For instance, if frequent changes in advertised features is a 
concern then
           care needs to be taken to ensure that all agents advertising 
capabilities for
           a single entity advertise the same DOIC features.

Regards,

Steve

On 12/19/14 1:58 PM, Ben Campbell wrote:
> Steve and I had an offline discussion, and I think we agree that the reporting node can be forced to change algorithms during an active overload condition, if it gets a request that doesn't advertise support for the active algorithm.
>
> We currently have text forbidding the reporting node from changing algorithms during an active overload condition, without making this exception. We assume that we still want to otherwise keep the limitation on algorithm changes during overload. Here's a concrete proposal:
>
> In 4.1.2:
>
> Old:
>
> For an ongoing overload condition, a reporting node MUST NOT change the selected algorithm during the period of time that it is in an overload condition and, as a result, is sending OC-OLR AVPs in answer messages.
>
> New:
>
> For an ongoing overload condition, a reporting node MUST NOT initiate a change to the selected algorithm during the period of time that it is in an overload condition and, as a result, is sending OC-OLR AVPs in answer messages. This rule does not affect the case where the OC-Supported-Features in a new request matching the OLR does not advertise support for the current algorithm, in which case the reporting node would be forced to change algorithms. However, this rule does constrain the reporting node from changing algorithms simply because the reacting node advertises other algorithms in addition to one currently in use.
>
> Added text in 4.1.1:
>
> If a reacting node is using an abatement algorithm to abate traffic due to an active OLR from a reporting node, the reacting node SHOULD continue to advertise support for that algorithm in future requests that match the OLR, until the overload condition is terminated.
>
>
>> On Dec 18, 2014, at 11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) <ulrich.wiehe@nsn.com> wrote:
>>
>> Ben, Steve,
>>
>> Section 4.2.1.2 says:
>>    A reporting node SHOULD maintain OCS entries per supported Diameter
>>    application, per supported (and eventually selected) Abatement
>>    Algorithm and per report-type.
>>
>> For example, an HSS would maintain two OCSs for S6a host-type reports, one for loss and one for rate. When receiving a request that advertises only loss, the returned OLR would be the one according to the loss-OCS; When receiving a request that advertises loss and rate, the HSS has two returned OLR would be the one according to the rate-OCS.
>>
>> I don't see a problem when algorithm is changed at the reacting node.
>>
>> Ulrich
>>
>>
>>
>> -----Original Message-----
>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
>> Sent: Wednesday, December 17, 2014 11:39 PM
>> To: Steve Donovan
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
>>
>>
>>> On Dec 17, 2014, at 4:23 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>
>>>
>>> On 12/17/14 3:54 PM, Ben Campbell wrote:
>>>>> On Dec 17, 2014, at 3:35 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>
>>>>>
>>>>> On 12/17/14 1:00 PM, Ben Campbell wrote:
>>>>>>> On Dec 17, 2014, at 12:34 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>>>
>>>>>>>> Okay, new picture:
>>>>>>>>
>>>>>>>>
>>>>>>>>> On Dec 17, 2014, at 11:26 AM, Steve Donovan <srdonovan@usdonovans.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Ben,
>>>>>>>>>
>>>>>>>>> The value of the Origin-Host matters greatly here.  In both cases, what S needs to know is if there is a reacting node for traffic coming from C1 and if there is a reacting node for traffic coming from C2.
>>>>>>>>>
>>>>>>>> There is no assumption in the draft right now that we have a correlation between reacting nodes and clients. That might be required for client-targed OLRs, but we don't have those yet.
>>>>>>>>
>>>>>>>> Consider a different picture. In this case, C never supports DOIC. the reacting node role happens either at A1/A2 or at A3, depending on which flow you look at.
>>>>>>>>
>>>>>>>>         A1---
>>>>>>>>        /         \
>>>>>>>> C --             -------A3------S
>>>>>>>>        \         /
>>>>>>>>          A2---
>>>>>>>>
>>>>>>>> Now, assume the same flows, but substitute A1 for C1, A2, for C2, and A3 for A. All requests now have the same origin-host.
>>>>>>>>
>>>>>>>> Before you say this is unrealistic: The issue is the same for any situation where one client can send traffic across multiple agents to the same destination. It doesn't matter if there is one or a million.
>>>>>>>>
>>>>>>> SRD> Yes, this is nasty.  With attribution S can detect the scenario.  I'm not sure what it does once it selects it.  This can be addressed to some degree by adding a deployment recommendation that  all agents taking on reacting node functionality for a single endpoint  select the same algorithm.
>>>>>> I think some sort of attribution is the long-term solution. Another option might be some sort of DCA state identifier, or a combination of the two. (e.g. multiple "virtual" reacting node at the same physical node.) The details will be non-trivial to figure out.
>>>>>>
>>>>>> But to close the loop, I think the _short_ term solution is to say that, while a reporting node should not _initiate_ a change in algorithms during an overload condition, it must still handle the situation where the reacting node forces a change. We could go further to say that reacting node also should not initiate such a change, but we would have to recognize that there are scenarios where that guidance cannot be enforced, and the reporting node still has to handle them.
>>>>>>
>>>>>> We might need to think about what it means from an OCS perspective for a reporting node to send OLRs with different algorithms (or potentially other capability parameters) for the "same" overload event.
>>>>> SRD> I think it is a better solution to stay with what we have now.  The reporting node MUST NOT change the algorithm during an active overload condition.  If a reacting node advertises support for it, the reacting node is saying it will support that algorithm for the duration of any overload condition that happens prior to the reacting node changing the advertised algorithm.  The change in advertised algorithm will take effect after the overload condition goes away.
>>>>>
>>>> I disagree. I don't think we want to allow the reporting node to ever indicate an algorithm that was not advertised in the request. That violates normative language earlier in the section that says the selected algorithm MUST be one of the ones advertised in the request. It can also cause problems for reacting nodes, where they get OLRs for an algorithm they don't understand.
>>> SRD> They clearly do understand the algorithm.  They advertised it before the overload report started.  We can change the normative language to cover this exception.
>> In my first scenario, this is not true. C2 (or A2)  _never_ understood the rate algorithm, and never advertised support for it.
>>
>> The whole point of this exercise was to show that the reporting node cannot, in the general case, distinguish between multiple reacting nodes with different capabilities, and a single reacting node that changes capabilities.
>>
>> By "general case", I mean no assumption that the reacting nodes are peers with the reporting nodes, and no assumption that you can correlate origin-host values (in requests) to reacting-nodes.
>>
>>
>>> I think the principle of minimizing work on an overloaded reporting node is the more important principle here.  If the reacting node changes the advertised set of algorithms during an active overload condition then the overloaded reporting node will be required to send end-of-overload OLRs for the previous algorithm and then send start-of-overload OLRs for the new algorithm.  This seems complex at a time the overloaded node should be focusing on getting out of the overload condition.
>> Sending an OLR that the reacting node does not understand will not help you get out of overload.
>>
>> I don't see how this is any more complex that if you simply have multiple reacting nodes with different capabilities--and I don't see how to avoid supporting that case.
>>
>>>> I think that's considerably more important that restricting the reporting node from changing algorithms (Which, btw, does no harm with the only algorithms that we are seriously contemplating.We speculate that it might cause harm for some future algorithm.)
>>> SRD> We already have the restriction on the reporting node.
>> We already have both restrictions, and they contradict. I believe the _existing_ restriction to not select an algorithm that is not advertised in the request is more important than the _existing_ restriction to not change algorithms during an overload condition.
>>
>>
>>>> Remember, this is not just about a single reacting node changing it's capabilities, it's also about multiple reacting nodes with different capabilities. We can't disallow one without disallowing the other.
>>> SRD> Multiple reacting nodes with different capabilities is all the more reason to hold things constant during an overload condition.
>> I don't follow that. You seem to be pushing towards using the same algorithm for all reacting nodes once an overload condition starts. Is that your intent?  (Given the possibility that some future reacting node will only support "loss", that "same algorithm" would pretty much always need to be loss.)
>>
>>> I'm not proposing disallowing reacting nodes from changing the set of capabilities, I'm proposing that these changes don't take effect while there is an active overload condition.
>> The problem exists even if no reacting node ever changes its capabilities.
>>
>>>>
>>>>> SRD> I don't think we need to update the OCS in this document to handle multiple algorithms.  This can be done in the extension drafts.  We might want to make it clear, as it appears it isn't already, that a reacting node might need to support multiple algorithms at the same time.
>>>> Do you mean reacting or reporting node in the last sentence? Assuming you mean it as written, the problem is not that a reacting node may need to support multiple algorithms at the same time. It's that it may get OLRs that it cannot act upon because it doesn't support the algorithm.
>>> SRD> I meant reporting nodes.
>>>> If, otoh, you meant reporting node, I don't understand how a reporting node can have multiple algorithms for the same overload event, without reflecting that possibility in the OCS.
>>> SRD> Yes, it will need to be reflected in the OCS.  We don't have multiple algorithms now so it isn't needed now.  I'm saying we might want to say it might me needed in the future.
>> I'd rather not make each new algorithm redefine the basic structure of OCS.
>>
>> But, if you recall, my point was to say we need to _think_ about how this impacts OCS, not that we necessarily need to change anything. Are you opposed to thinking about it? (And no, I don't think this short exchange quite counts as that.)
>>
>>>>
>>>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Wed Jan  7 08:13:12 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 291F91A6F2F for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 08:13:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 HZx0NoN22o_7 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 08:13:07 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 B50851A00A8 for <dime@ietf.org>; Wed,  7 Jan 2015 08:13:07 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t07GD5T3024569 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 7 Jan 2015 10:13:06 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54AD571C.7060608@usdonovans.com>
Date: Wed, 7 Jan 2015 10:13:05 -0600
X-Mao-Original-Outgoing-Id: 442339985.522578-62907a495954a26a1abb2f4a923ef08f
Content-Transfer-Encoding: quoted-printable
Message-Id: <77254C21-850E-4169-8FFA-65F2A276D826@nostrum.com>
References: <EAF2EB26-32EC-48D5-B622-64EC194C3880@nostrum.com> <54912CBA.8080701@gmail.com> <549192FD.7060403@usdonovans.com> <E37D500E-22AB-487A-90B7-6495EA4E497E@nostrum.com> <5491BCB3.30608@usdonovans.com> <0EEB7B88-CEEF-4A33-BD61-E4378F0D054D@nostrum.com> <5491CCC9.3090809@usdonovans.com> <4586B22E-3CDD-462E-8246-D55F25F4365C@nostrum.com> <5491F723.6080203@usdonovans.com> <CBE26329-5CF8-4CFA-8D6C-0B18793606C8@nostrum.com> <54920272.80508@usdonovans.com> <52901958-73B6-49FE-8DA4-A8D2F8276DD0@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235CCD@DEMUMBX014.nsn-intra.net> <8FB9C2A7-7D61-4D46-9808-AD17DB61B8CE@nostrum.com> <54AD571C.7060608@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/glvx6th2DpCKGBThbnou15pu7po
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 16:13:11 -0000

I am almost okay with that. But on reflection, I think the issue is =
broader than described in the first sentence.

For example (SE =3D=3D supporting endpoint, NSE =3D=3D non-supporting =
endpoint, etc.)

SE ----
            \
              ----NSA ---- RepNode
SE ---- /

... and ...

NSE ----
              \
                ----SA ---- RepNode
NSE ---- /

These scenarios look exactly the same from the reporting node's =
perspective. That is, the Reporting Node cannot tell if it has multiple =
supporting endpoints with different features, or one supporting agent =
that is arbitrarily changing its advertised features.  You can also run =
into the issue if all nodes support DOIC, if agents modify OC-S-F.

So now (and admitting to opinion flapping), I wonder if the guidance =
should be that the Reporting Node cannot depend on consistent OC =
capabilities between requests, and must be prepared in general to deal =
with frequent changes in advertised features.


> On Jan 7, 2015, at 9:56 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> All,
>=20
> After further discussion with Ben, the recommendation is to NOT =
include the wording proposed in the attached email.  Instead I propose =
to add the following wording in section 4.1.3 (section 5.1.3 in version =
-06) after the third paragraph:
>=20
>          Note: When multiple agents are serving as the reacting node =
for a non supporting
>          Diameter endpoint, each of those agents will be advertising =
capabilities for
>          what looks to the reporting node like a single entity. Care =
should be taken
>          to ensure that reporting node behavior is not adversely =
impacted in this scenario.
>          For instance, if frequent changes in advertised features is a =
concern then
>          care needs to be taken to ensure that all agents advertising =
capabilities for
>          a single entity advertise the same DOIC features.
>=20
> Regards,
>=20
> Steve
>=20
> On 12/19/14 1:58 PM, Ben Campbell wrote:
>> Steve and I had an offline discussion, and I think we agree that the =
reporting node can be forced to change algorithms during an active =
overload condition, if it gets a request that doesn't advertise support =
for the active algorithm.
>>=20
>> We currently have text forbidding the reporting node from changing =
algorithms during an active overload condition, without making this =
exception. We assume that we still want to otherwise keep the limitation =
on algorithm changes during overload. Here's a concrete proposal:
>>=20
>> In 4.1.2:
>>=20
>> Old:
>>=20
>> For an ongoing overload condition, a reporting node MUST NOT change =
the selected algorithm during the period of time that it is in an =
overload condition and, as a result, is sending OC-OLR AVPs in answer =
messages.
>>=20
>> New:
>>=20
>> For an ongoing overload condition, a reporting node MUST NOT initiate =
a change to the selected algorithm during the period of time that it is =
in an overload condition and, as a result, is sending OC-OLR AVPs in =
answer messages. This rule does not affect the case where the =
OC-Supported-Features in a new request matching the OLR does not =
advertise support for the current algorithm, in which case the reporting =
node would be forced to change algorithms. However, this rule does =
constrain the reporting node from changing algorithms simply because the =
reacting node advertises other algorithms in addition to one currently =
in use.
>>=20
>> Added text in 4.1.1:
>>=20
>> If a reacting node is using an abatement algorithm to abate traffic =
due to an active OLR from a reporting node, the reacting node SHOULD =
continue to advertise support for that algorithm in future requests that =
match the OLR, until the overload condition is terminated.
>>=20
>>=20
>>> On Dec 18, 2014, at 11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>>>=20
>>> Ben, Steve,
>>>=20
>>> Section 4.2.1.2 says:
>>>   A reporting node SHOULD maintain OCS entries per supported =
Diameter
>>>   application, per supported (and eventually selected) Abatement
>>>   Algorithm and per report-type.
>>>=20
>>> For example, an HSS would maintain two OCSs for S6a host-type =
reports, one for loss and one for rate. When receiving a request that =
advertises only loss, the returned OLR would be the one according to the =
loss-OCS; When receiving a request that advertises loss and rate, the =
HSS has two returned OLR would be the one according to the rate-OCS.
>>>=20
>>> I don't see a problem when algorithm is changed at the reacting =
node.
>>>=20
>>> Ulrich
>>>=20
>>>=20
>>>=20
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben =
Campbell
>>> Sent: Wednesday, December 17, 2014 11:39 PM
>>> To: Steve Donovan
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
>>>=20
>>>=20
>>>> On Dec 17, 2014, at 4:23 PM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>=20
>>>>=20
>>>> On 12/17/14 3:54 PM, Ben Campbell wrote:
>>>>>> On Dec 17, 2014, at 3:35 PM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>>>=20
>>>>>>=20
>>>>>> On 12/17/14 1:00 PM, Ben Campbell wrote:
>>>>>>>> On Dec 17, 2014, at 12:34 PM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>>>>>=20
>>>>>>>>> Okay, new picture:
>>>>>>>>>=20
>>>>>>>>>=20
>>>>>>>>>> On Dec 17, 2014, at 11:26 AM, Steve Donovan =
<srdonovan@usdonovans.com>
>>>>>>>>>> wrote:
>>>>>>>>>>=20
>>>>>>>>>> Ben,
>>>>>>>>>>=20
>>>>>>>>>> The value of the Origin-Host matters greatly here.  In both =
cases, what S needs to know is if there is a reacting node for traffic =
coming from C1 and if there is a reacting node for traffic coming from =
C2.
>>>>>>>>>>=20
>>>>>>>>> There is no assumption in the draft right now that we have a =
correlation between reacting nodes and clients. That might be required =
for client-targed OLRs, but we don't have those yet.
>>>>>>>>>=20
>>>>>>>>> Consider a different picture. In this case, C never supports =
DOIC. the reacting node role happens either at A1/A2 or at A3, depending =
on which flow you look at.
>>>>>>>>>=20
>>>>>>>>>        A1---
>>>>>>>>>       /         \
>>>>>>>>> C --             -------A3------S
>>>>>>>>>       \         /
>>>>>>>>>         A2---
>>>>>>>>>=20
>>>>>>>>> Now, assume the same flows, but substitute A1 for C1, A2, for =
C2, and A3 for A. All requests now have the same origin-host.
>>>>>>>>>=20
>>>>>>>>> Before you say this is unrealistic: The issue is the same for =
any situation where one client can send traffic across multiple agents =
to the same destination. It doesn't matter if there is one or a million.
>>>>>>>>>=20
>>>>>>>> SRD> Yes, this is nasty.  With attribution S can detect the =
scenario.  I'm not sure what it does once it selects it.  This can be =
addressed to some degree by adding a deployment recommendation that  all =
agents taking on reacting node functionality for a single endpoint  =
select the same algorithm.
>>>>>>> I think some sort of attribution is the long-term solution. =
Another option might be some sort of DCA state identifier, or a =
combination of the two. (e.g. multiple "virtual" reacting node at the =
same physical node.) The details will be non-trivial to figure out.
>>>>>>>=20
>>>>>>> But to close the loop, I think the _short_ term solution is to =
say that, while a reporting node should not _initiate_ a change in =
algorithms during an overload condition, it must still handle the =
situation where the reacting node forces a change. We could go further =
to say that reacting node also should not initiate such a change, but we =
would have to recognize that there are scenarios where that guidance =
cannot be enforced, and the reporting node still has to handle them.
>>>>>>>=20
>>>>>>> We might need to think about what it means from an OCS =
perspective for a reporting node to send OLRs with different algorithms =
(or potentially other capability parameters) for the "same" overload =
event.
>>>>>> SRD> I think it is a better solution to stay with what we have =
now.  The reporting node MUST NOT change the algorithm during an active =
overload condition.  If a reacting node advertises support for it, the =
reacting node is saying it will support that algorithm for the duration =
of any overload condition that happens prior to the reacting node =
changing the advertised algorithm.  The change in advertised algorithm =
will take effect after the overload condition goes away.
>>>>>>=20
>>>>> I disagree. I don't think we want to allow the reporting node to =
ever indicate an algorithm that was not advertised in the request. That =
violates normative language earlier in the section that says the =
selected algorithm MUST be one of the ones advertised in the request. It =
can also cause problems for reacting nodes, where they get OLRs for an =
algorithm they don't understand.
>>>> SRD> They clearly do understand the algorithm.  They advertised it =
before the overload report started.  We can change the normative =
language to cover this exception.
>>> In my first scenario, this is not true. C2 (or A2)  _never_ =
understood the rate algorithm, and never advertised support for it.
>>>=20
>>> The whole point of this exercise was to show that the reporting node =
cannot, in the general case, distinguish between multiple reacting nodes =
with different capabilities, and a single reacting node that changes =
capabilities.
>>>=20
>>> By "general case", I mean no assumption that the reacting nodes are =
peers with the reporting nodes, and no assumption that you can correlate =
origin-host values (in requests) to reacting-nodes.
>>>=20
>>>=20
>>>> I think the principle of minimizing work on an overloaded reporting =
node is the more important principle here.  If the reacting node changes =
the advertised set of algorithms during an active overload condition =
then the overloaded reporting node will be required to send =
end-of-overload OLRs for the previous algorithm and then send =
start-of-overload OLRs for the new algorithm.  This seems complex at a =
time the overloaded node should be focusing on getting out of the =
overload condition.
>>> Sending an OLR that the reacting node does not understand will not =
help you get out of overload.
>>>=20
>>> I don't see how this is any more complex that if you simply have =
multiple reacting nodes with different capabilities--and I don't see how =
to avoid supporting that case.
>>>=20
>>>>> I think that's considerably more important that restricting the =
reporting node from changing algorithms (Which, btw, does no harm with =
the only algorithms that we are seriously contemplating.We speculate =
that it might cause harm for some future algorithm.)
>>>> SRD> We already have the restriction on the reporting node.
>>> We already have both restrictions, and they contradict. I believe =
the _existing_ restriction to not select an algorithm that is not =
advertised in the request is more important than the _existing_ =
restriction to not change algorithms during an overload condition.
>>>=20
>>>=20
>>>>> Remember, this is not just about a single reacting node changing =
it's capabilities, it's also about multiple reacting nodes with =
different capabilities. We can't disallow one without disallowing the =
other.
>>>> SRD> Multiple reacting nodes with different capabilities is all the =
more reason to hold things constant during an overload condition.
>>> I don't follow that. You seem to be pushing towards using the same =
algorithm for all reacting nodes once an overload condition starts. Is =
that your intent?  (Given the possibility that some future reacting node =
will only support "loss", that "same algorithm" would pretty much always =
need to be loss.)
>>>=20
>>>> I'm not proposing disallowing reacting nodes from changing the set =
of capabilities, I'm proposing that these changes don't take effect =
while there is an active overload condition.
>>> The problem exists even if no reacting node ever changes its =
capabilities.
>>>=20
>>>>>=20
>>>>>> SRD> I don't think we need to update the OCS in this document to =
handle multiple algorithms.  This can be done in the extension drafts.  =
We might want to make it clear, as it appears it isn't already, that a =
reacting node might need to support multiple algorithms at the same =
time.
>>>>> Do you mean reacting or reporting node in the last sentence? =
Assuming you mean it as written, the problem is not that a reacting node =
may need to support multiple algorithms at the same time. It's that it =
may get OLRs that it cannot act upon because it doesn't support the =
algorithm.
>>>> SRD> I meant reporting nodes.
>>>>> If, otoh, you meant reporting node, I don't understand how a =
reporting node can have multiple algorithms for the same overload event, =
without reflecting that possibility in the OCS.
>>>> SRD> Yes, it will need to be reflected in the OCS.  We don't have =
multiple algorithms now so it isn't needed now.  I'm saying we might =
want to say it might me needed in the future.
>>> I'd rather not make each new algorithm redefine the basic structure =
of OCS.
>>>=20
>>> But, if you recall, my point was to say we need to _think_ about how =
this impacts OCS, not that we necessarily need to change anything. Are =
you opposed to thinking about it? (And no, I don't think this short =
exchange quite counts as that.)
>>>=20
>>>>>=20
>>>>>=20
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>=20
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>=20
>=20


From nobody Wed Jan  7 08:34:43 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 693851A1BDA for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 08:34:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 ngOietaSWHGp for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 08:34:29 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 98C4A1A8835 for <dime@ietf.org>; Wed,  7 Jan 2015 08:33:52 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57088 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y8tYK-0003kW-OM for dime@ietf.org; Wed, 07 Jan 2015 08:33:51 -0800
Message-ID: <54AD5FEC.8060507@usdonovans.com>
Date: Wed, 07 Jan 2015 10:33:48 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: dime@ietf.org
References: <79E0AA6A-8F91-45FD-AE8A-EFF9D2A4E9D3@nostrum.com> <5491AEC7.8070307@usdonovans.com> <E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com>
In-Reply-To: <E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Content-Type: multipart/alternative; boundary="------------030308060304070008050806"
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/fDKqGdpavPJc2uXybzy8JZn7jL8
Subject: Re: [Dime] DOIC WGLC: Editorial Comments
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 16:34:38 -0000

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


On 12/22/14 2:24 PM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) wrote:
> Dear all
>
> Hereafter some comments (with JJ>)on some of the points discussed between Ben and Steve. They are not essential
>   
>
> -- section 3.1, 3rd paragraph: "Reporting nodes also include overload reports..."
>
> "Reporting nodes _may_ also include overload reports..."
> JJ> The "may" is ambiguous as there is a SHOULD in 4.2.3 when an active OCS. For my clarification, has a "may" in lower case a different meaning from a MAY in upper case. To be only descriptive as with 1st sentence of the paragraph : eg " Reporting nodes communicate overload occurrences by sending the OLR AVP in answers (coming from 3.4, para 4".
>
>   [...]
SRD> "may" in lower case is not a normative requirement.
>
> -- section 3.3, general:
>
> Much of this section is redundant to stuff in the parent section. (**JJ section 3)I suggest reducing the parent section detail, and keeping it here. (This may be true for subsequent children of section 3.) (**JJ effectively, but may need significant modifications )
> SRD> Do you have specific suggestions?
> Ben> Remove the 2nd to last and 3rd to last paragraph in 3.0.
> JJ> OK but in 3.3 to use the text of the removed paragraphs from 3.0 for host report as well as for realm report
SRD> Ok.
>
>   [...]
>   
>
> -- 4.1.3, para 9: "ambiguity"
>
> I'm not sure that's is the word we want here. An agent could muck things up without being ambiguous. Perhaps "inconsistency"?
> SRD> The point is that the reacting nodes and reporting nodes must
> unambiguously know what to do.  I think ambiguous is the right word
>
> Ben> I can construct behavior that is not ambiguous to upstream or downstream nodes, but still breaks normative requirements. How about " ... ensure that it does not introduce incorrect behavior for either the upstream or downstream DOIC nodes."
>
> JJ> as Ben, ambiguity is not so right.
> A proposal: "When making changes to the OC-Supported-Features or OC-OLR AVPs, the Diameter Agent needs to ensure  consistency in its behavior with both upstream and downstream DOIC nodes".
SRD> Addressed in a separate message.
> 	
>
> -- 4.2.1.1, para 1:
>
> Do I understand correctly that the reacting node only keeps OCS for those combinations that it has actually received an OLR for? If so, that's not clear from the wording.
> SRD> Do you have suggested wording?
> Ben> It depends. Does a reacting node keep OCS when it hasn't received an OLR?
>
> If no:
>
> "A reacting node SHOULD maintain the following OCS for each active OLR it receives per Diameter application..."
>
> if yes:
>
> Then I think the section needs some more thought to distinguish between what is stored for OLRs, vs when no OLR is received.
>
> Also, I think the preface to the second bullet list seems wrong. I don't see how you could make an implementation work right without at least keeping sequence number and expiration time, at least when you have an active OLR.
>
> JJ>  my point would be to describe in 4.2.1.3 when an OCS is created / deleted (as in 4.2.1.4 for Reporting node which addresses the creation of an OCS, deletion should also be added))
> About the MAY in the preface to the second bullet list, to a have a SHOULD in line with 1st paragraph statement "the A reacting node SHOULD maintain the following OCS..." As it is implementation, there were remarks that various ways can  address the OCS or equivalent  handling
SRD> The following is already in 4.2.1.3 (now 5.2.1.3 in -06):

    If the received OLR is for a new overload condition then a reacting
    node MUST generate a new OCS entry for the overload condition.


>
> [...]
>
> -- 4.2.1.3, para 2:
>
> Should this combination include origin-host or origin-realm? App-Id?
> SRD> I don't understand this.
> JJ> not sure we need additional text as it is elsewhere described the matching of an OLR to an OCS
>
> [...]
>
>   -- 4.2.2, 2nd to last para:
>   
> I think we need something a bit stronger here. The endpoint needs to take some action that makes sense for the application. The details of that are beyond our scope, but the general need is not.
> SRD> We cannot enforce application behavior in a Diameter specification.   I don't see the need for anything more .  Do you have suggested wording?
>
> Ben> Diameter endpoints that throttle requests [ MUST /need to ] do so according to the rules of the client application. Those rules will vary by application, and are beyond the scope of this document.
> SRD> Ok, without the MUST
>
> JJ> We have in the same section:.: "The abatement treatment applied depends on the context of the request". We can write "...depends on the application and on the context of the request". Is it not enough?
SRD> We have the following in the current -06 version.  I think this 
works well enough.

    Diameter endpoints that throttle requests need to do so according to
    the rules of the client application.  Those rules will vary by
    application, and are beyond the scope of this document.


>
> [...]
>
> -- 4.2.3, para 2:
>
> Doesn't this also need to match the scope for the request type? E.g. Destination realm or destination host? For example, a host report for host A would not match OCS for host B, even though both had the same report type and application id.
> SRD> I guess this matters when an agent is the reporting node
>
> Ben> I think it matters the same if the reporting node is an endpoint. For example, would you consider a host-routed-request with D-H: "foo" to match an host report for host "bar"?  (I'm on the fence here whether that is correct behavior, but I think the behavior should be the same for endpoints and agents.)
>
> Actually, on reflection, how does this affect the scenario of an agent that passes through a host report and generates a realm report? Or a server that generates both?
>
> SRD> Yes, I believe it does.  I suggest we delete paragraph 2, as the
> criteria for matching an OCS will be report type dependent.
>
> JJ>  here 4.2.3 is for the reporting node behavior. It was discussed a while ago if the OCS in the reporting node  was per client (so taking into account the Origin Host of the request or an  OCS common to all clients, so independent of the Origin Host of the request and with the same OLR sent to all clients. The second option (common OCS)  was retained for this draft. The OCS per client would be an option for a further extension.  Si I am OK with the current wording.
>
> -- 4.2.3, last para:
>
> An example of what we have in mind could be helpful here.
> SRD> I'm open to suggested wording...
>
> Ben> Add "For example, it might wait some period of time after overload ends before terminating the OLR, or it might send a series of OLRs indicating progressively less overload severity."
> SRD> Ok
>
> JJ>  Avoiding  oscillation is an important requirement of RFC7068  and this sentence is one in the draft dealing with oscillations.?  A basic oscillation case is the following one, can we a text (in fact a guidance ) on this/ point. There are also somùe relma	ted qtement in
> "e.g a reporting node having requested a strong traffic reduction, then normally a bit later may observe that it is no more overloaded due to the reduced  traffic received, but it should not immediately send an OLR with a small traffic reduction or even terminates the overload condition as this will most probably again result in a strong increase of the incoming traffic as no more reduced, so creating an oscillation."
> This point is somewhat also addressed in the two last paragraphs of 5, in the context of the loss algorithm. This oscillation aspect is more general and so be addressed in this 4.2.3 section
>
> [...]
>
> -- 4.3, para 4:
> We should clarify that this is talking about mandatory to understand for DOIC, but not for the enclosing transaction.
>
> SRD> i'm not clear on what you are suggesting.
>
> Ben> We need to be clear that receiving a DOIC avp with a mandatory AVP that you don't understand means you ignore the DOIC AVPs, but does not cause the Diameter transaction to fail. Or was it your intent to allow an application to say that if you get a DOIC avp that you can't process, you have to fail the Diameter transaction?
>
> SRD> This requires discussion on the list.  I'll start a thread.
>
> JJ> In OC-Supported-Features AVP sent by reacting node, no bit in the OC-Feature-Vector is mandatory except the bit for loss algorithm support. Then if there are additional AVPs in the OC-Supported-Features AVP, they can be ignored except if they are related to a particular feature bit in the OC-Feature-Vector which make this additional AVP mandatory to be supported if the feature is supported by the reporting node.  In any case, the request should not fail.
> If the OLR AVP contains new AVPs, this will be also related to the corresponding feature bit that, if supported,  may require the new AVP be  mandatory in the OLRS sent back by the reporting node.. This will be part of the new feature description introducing additional AVPs. So I do not think we need to say more in this draft. This will be in the extension.
SRD> This has been discussed in a separate thread.
>
> [...]
>
> -- 5.1, para 4:
>
> Convoluted paragraph. How about "How about "reporting nodes request the stateless reduction of the number of requests by an indicated percentage."
> SRD> Ok.
> JJ> OK on Ben wording but "stateless" can be removed as  mentioned earlier in the section and not directly linked to this sentence.
>
> Then about "...to what the reacting node otherwise would have sent" , this point, I think, is described in 5.3 paragraph 4
>
>
> Best regards
>
> JJacques
>
>
> -----Message d'origine-----
> De : DiME [mailto:dime-bounces@ietf.org] De la part de Steve Donovan
> Envoyé : mercredi 17 décembre 2014 17:27
> À : dime@ietf.org
> Objet : Re: [Dime] DOIC WGLC: Editorial Comments
>
>
> On 12/16/14, 9:02 PM, Ben Campbell wrote:
>> Here's some nits, editorial, and structural comments that are generally non-substantive. With the possible exception of comments about 2119 language, most of these could be ignored without consequence, but I think we'd have a better document if we at least thought about them:
>>
>> -- General:
>>
>> We keep referring to the DOIC "solution". I think "mechanism" is more appropriate. I would think of a DOIC "solution" as a deployment that leverages the DOIC "mechanism".
> SRD> I don't see an issue here, as long as we are consistent.
>> We overuse the word Diameter in front of other things. E.g. Diameter nodes, Diameter Agents, Diameter clients, Diameter servers, etc. This entire draft is about Diameter; we don't have to keep saying it. It tends to get awkward when we use it a lot in close proximity.
> SRD> This was done based on feedback from Benoit.  We are being
> explicit.  If there are paragraphs where it is particularly cumbersome, please point out those paragraphs and we can try to make them less cumbersome.
>> Should we put consistently quotes around "loss" when we describe the "loss" algorithm?
>>
>> -- Requirements (2119 language section)
>>
>> This is oddly placed. I'm used to seeing that after the introduction, either stand-alone or as part of a larger terminology section. The RFC editor recommends putting it as section 2.
> SRD> Ok.
>> -- section 2, Abatement Algorithm: "A mechanism..."
>>
>> I suggest "An extensible mechanism..."
> SRD> Ok.
>> -- Section 2, Diversion:
>>
>> Still needs work.  the "by selecting" phrase needs to indicate what does the selecting. "Path" should probably be "path or destination".
>>
>> Proposed text:
>>
>> "An overload abatement mechanism, where the reacting node selects alternate destinations or paths for for requests."
> SRD> I'm ok with this wording.
>> -- section 2, OCS: "Reporting and reacting node internally maintained state..."
>>
>> I suggest "Internal state maintained by a reporting or reacting node..."
> SRD> Ok.
>> -- section 2, Realm-Routed Requests: "... does not know the host that will service..."
>>
>> I suggest: "... does not know which host will service ..."
> SRD> Ok.
>> We should also add a comment that it may be possible to apply diversion to realm routed requests.
> SRD> Where?
>> -- section 2, Throttling: " ... a Diameter Client not sending requests..."
>>
>> I suggest " ... a Client choosing to not send requests ..."
> SRD> A Diameter Client...
>> -- section 3, 2nd paragraph:
>>
>> Client, servers, and agents should not be capitalized. Should "Reporting node" and "Reacting node" be hyphenated?  Consider moving the last sentence to the start of the next paragraph.
> SRD> The capitalization of Diameter Clients, Diameter Servers and
> Diameter agents was Benoit's suggestion to make it explicit what is being referred to.  I don't see the need for hyphenation in this context.  I'm ok with moving the sentence.
>> -- section 3.1, paragraph 1: " This is made possible by adding overload control AVPs, the OC-OLR AVP and the OC- Supported-Features AVP, as optional AVPs into existing commands..."
>>
>> I suggest "This is made possible by adding the optional overload control AVPs OC-OLR and OC-Supported-Features into existing commands."
> SRD> OK.
>> -- section 3.1, 3rd paragraph: "Reporting nodes also include overload reports..."
>>
>> "Reporting nodes _may_ also include overload reports..."
> SRD> OK.
>> -- section 3.1, 4th paragraph: "Clients MAY report..."
>>
>> Should not be normative in this section.
> SRD> Agreed.
>> -- section 3.2, 6th paragraph: "The OC-Feature-Vector AVP will contain..."
>>
>> "... will _always_ contain..."
> SRD> Ok.
>> -- section 3.2, 7th paragraph: " ... all answer messages to requests ..."
>>
>> suggest "... all answers to requests..."
> SRD> Ok.
>> -- section 3.2, paragraph 9: "Reporting nodes are allowed to..."
>>
>> "Reporting nodes can..."
> SRD> Ok.
>> Also consider clarifying that they can change algorithms _between_transactions_, as long as there's no active overload condition.
>>
>> -- section 3.2, paragraph 10 (starting with "The individual features..."
>>
>> Consider moving this entire paragraph to earlier in the section.
>>
>> -- section 3.2, paragraph 11: "The DCA mechanism must also allow..."
> SRD> This paragraph looks redundant.  I suggest removing it.
>> --> "The DCA mechanism allows..."
>>
>> "... the agent updates the OC-Supported-Features..." --> " ... the agent can update the OC-Supported-Features..."
> SRD> Ok.
>> -- section 3.3, general:
>>
>> Much of this section is redundant to stuff in the parent section. I
>> suggest reducing the parent section detail, and keeping it here. (This
>> may be true for subsequent children of section 3.)
> SRD> Do you have specific suggestions?
>> -- 3.3, third paragraph:
>>
>> s/ , / : /
> SRD> I don't agree.  The commas are there because it is a list.
>> -- 3.3, paragraph 4:
>>
>> In this overview, I suggest text saying that HOST_REPORT indicates a
>> host report, and just using the term "host report" the rest of the
>> time. (Same for realm report)
> SRD> Why?
>> -- 3.3, para 7: "A host-report, for instance, will generally by generated by tracking utilization of resources..."
>>
>> I suggest "A host-report might be generated by tracking use of resources..."
> SRD> OK.
>> -- 3.3, para 9: " ... are responsible for applying the overload abatement algorithm..."
>>
>> I suggest " ... apply the abatement algorithm..."
> SRD> Ok.
>> -- 3.4, para 2: " ... the definition of new report types and the definition of new scopes ..."
>>
>> Aren't these sort of the same thing? That is, you add new scopes by extending report type?
> SRD> Can't you have a how report that applies only to sessions on that host?
>> -- 3.4, para 3:
>>
>> First two sentences are a bit confusing. A new reader will likely think they contradict, without some explanation that OC-Feature-Vector is a child of OC-S-F.
> SRD> They seam clear to me.  Do you have a suggested clarification?
>> -- 3.4, para 4:
>>
>> First sentence has already been stated more than once. No need to repeat here.
> SRD> The first sentence is there to provide context for the second
> sentence.
>> -- 4.1.1, Para 1: "It MAY include the OC-Feature-Vector AVP."
>>
>> consider adding  ", as a sub-avp of OC-Supported-Features."
> SRD> OK
>> - 4.1.1, last paragraph: "This behavior is described in ..."
>>
>> What is the antecedent to "this"? If it's "loss algorithm" behavior, then the reference to section 4.2 should not be needed.
> SRD> Agreed.
>> -- 4.1.2, para 2:
>>
>> It's probably worth reiterating that the reacting node may not be the server, and this requirement may mean inserting AVPS into answers that came from upstream.
> SRD> I don't see the need.  Do you have suggested wording?
>> -- 4.1.2, para 3: "...response messages ... "
>>
>> "... _answer_ messages ..."
> SRD> OK.
>> -- 4.1.2, para 7: "If it selects a different algorithm, it MUST...:
>>
>> This is also true if it needs to announce some other feature that needs to be indicated.
> SRD> This paragraph is talking specifically about algorithms and is
> needed because the AVP is optional.  Are you suggesting another sentence, another paragraph?  I'm guessing that the case you talk about is already covered elsewhere.
>> -- 4.1.3, para 3: "... Agent MUST include OC-Supported-Features in request messages it receives..."
>>
>> I suspect this should say "... requests that it _forwards_" or "_relays_".
> SRD> To differentiate between the requests that it rejects.  Ok, I think
> relays is the better word.
>> -- 4.1.3, para 5 and 6:
>>
>> Is the reporting node section limited to endpoints? If not, the these paragraphs effectively restate normative language about reporting node behavior from that section. Once we've said what a reporting node normatively has to do, we should just be able to say that an agent acting as a reporting node has all the responsibilities of a reporting node, and not restate the normative requirements.
> SRD> I'm ok with this but it feels like more than an editorial change to me.
>> -- 4.1.3, para 7:
>>
>> The first MAY is a consequence (the complement) of the 2nd MAY. It should at least not be 2119 language, and probably can be omitted entirely.
> SRD> Do you have suggested wording?
>> -- 4.1.3, para 9, last sentence:
>>
>> Does this mean an agent can only change OC-S-F in an answer if it changed it in the request? I don't think we want that restriction, but the context and "as such," seem to scope the MAY to that situation.
> SRD> I don't read it that way.  The first sentence is describing one
> reason why an agent might change OC-S-F.  It doesn't say it is the only reason.
>> -- 4.1.3, para 9: "ambiguity"
>>
>> I'm not sure that's is the word we want here. An agent could muck things up without being ambiguous. Perhaps "inconsistency"?
> SRD> The point is that the reacting nodes and reporting nodes must
> unambiguously know what to do.  I think ambiguous is the right word.
>> -- 4.2.1.1, para 1:
>>
>> Do I understand correctly that the reacting node only keeps OCS for those combinations that it has actually received an OLR for? If so, that's not clear from the wording.
> SRD> Do you have suggested wording?
>> -- 4.2.1.2, para 1:
>>
>> Likewise, the reporting node only keeps OCS for actual overload conditions where it sends OLRs?
> SRD> Do you have suggested wording?
>> -- 4.2.1.3, para 2:
>>
>> Should this combination include origin-host or origin-realm? App-Id?
> SRD> I don't understand this.
>> -- 4.2.1.3,  para 3: ... a reporting node MUST process..."
>>
>> Should that be "reacting node"?
> SRD> Yes.
>> -- 4.2.1.3, para 4:
>>
>> Paragraph does not make sense. (I think we've already discussed this one from Ulrich's comments).
> SRD> Yes, this is addressed already.
>> -- 4.2.1.3, 3rd para from end: "... update the OCS entry as being expired."
>>
>> I suggest language like " invalid" or "terminated". I take "expired"
>> to mean "naturally expired", which is different from the case
>> described here. There may be subtle behavior difference. (For example,
>> a reacting node might choose to log "expirations" differently than
>> "explicit terminations".)
> SRD> For the context of this specification I think expired works.
> Implementations can differentiate types of expired if they have a reason.  Nothing here prevents that.
>> -- 4.2.1.4, para 9: "... including the reduction percentage..."
>>
>> I suggest "... including, for example, the reduction percentage..."
> SRD> OK.
>> -- 4.2.1.4, para 11: " ... MUST update the sequence number ..."
>>
>> I suggest s / update / increment
> SRD> OK.
>> -- 4.2.2, 2nd to last para:
>>
>>    I think we need something a bit stronger here. The endpoint needs to take some action that makes sense for the application. The details of that are beyond our scope, but the general need is not.
> SRD> We cannot enforce application behavior in a Diameter
> specification.   I don't see the need for anything more .  Do you have
> suggested wording?
>> -- 4.2.3, para 2:
>>
>> Doesn't this also need to match the scope for the request type? E.g. Destination realm or destination host? For example, a host report for host A would not match OCS for host B, even though both had the same report type and application id.
> SRD> I guess this matters when an agent is the reporting node.
>> -- 4.2.3, paras 8 and 9:
>>
>> We put the currently less favored approach first, with the favored approach in the following paragraph. I suggest we put the more favored approach first.
> SRD> OK.
>>
>> -- 4.2.3, last para:
>>
>> An example of what we have in mind could be helpful here.
> SRD> I'm open to suggested wording...
>>
>> -- 4.3, para 4:
>>
>> We should clarify that this is talking about mandatory to understand for DOIC, but not for the enclosing transaction.
> SRD> i'm not clear on what you are suggesting.  Do you have suggested
> wording?
>> -- 4.3, para 5:
>>
>> Why is it different depending on whether the feature is an algorithm or not? Also, isn't this mostly redundant to the paragraph about new normative behavior?
> SRD> I agree, this paragraph can be removed.
>> -- 4.3, para 6, last sentence
>>
>> This is redundant to earlier normative language in the section
>> (assuming a new report type will always involve new normative
>> behavior.)
> SRD> I agree, the last sentence can be removed.
>> -- 4.3, para 7, last sentence
>>
>> Also redundant
> SRD> Agreed.
>> -- 4.3, last para, last sentence:
>>
>> It's not clear if this means section 8 of this doc, or 6733. I suggest putting this sentence before the subsequent one.
> SRD> OK.
>> -- 5.1, para 4:
>>
>> Convoluted paragraph. How about "How about "reporting nodes request the stateless reduction of the number of requests by an indicated percentage."
> SRD> Ok.
>> We should also clarify that this reduction is in comparison to what the reacting node otherwise would have sent, rather than what it may have previously sent.
> SRD> Isn't this already covered?  Do you have suggested wording?
>> -- 5.3, para 5:
>>
>> Needs a sentence or paragraph to describe the 100% issue before describing how to back down from it.
> SRD> It's discussed earlier in the document.  I'm ok with adding it
> again.  Do you have suggested wording?
>> "... following concerns are RECOMMENDED ..."
>>
>> following procedures...?
> SRD> OK.
>> -- 5.3, para 6: "... does not receive an OLR in messages sent to the formerly overloaded node..."
>>
>> Do we mean "... does not receive an OLR in answers received from the formerly overloaded node..."?
> SRD> Agreed.
>> -- para 6, last paragraph
>>
>> Paragraph is off topic for section. It probably belongs in the extensibility section, or at least somewhere other than here.
> SRD> Do you mean section 6? This isn't about extensibility but about how
> Diameter applications integrate DOIC.  It probably belongs in the intro or overview sections.
>> -- 6.1, last para:
>>
>> I think we moved this to 6.2, but forgot to delete it here.
> SRD> Yup, already addressed as part of Ulrich's comments.
>> -- 6.2:
>>
>> Why did the AVP code jump to TBD6? (Also seems out of order in the
>> table.)
> SRD> Historical reasons.  Doesn't matter, the real values will be filled
> in eventually.
>> Is it to late to rename the value to OLR_LOSS_ALGO?
> SRD> Yes. :-)
>> -- 9.4, para 2: "A node MUST not..."
>>
>> "A node MUST _NOT_ ..."
> SRD> Ok.
>> -- References:
>>
>> 5905 and 5729 are not cited in the document.
> SRD> Ok.
>> draft-ietf-dime-e2e-sec-req-00: Outdated version.
> SRD> Ok.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


--------------030308060304070008050806
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/22/14 2:24 PM, TROTTIN,
      JEAN-JACQUES (JEAN-JACQUES) wrote:<br>
    </div>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">Dear all

Hereafter some comments (with JJ&gt;)on some of the points discussed between Ben and Steve. They are not essential
 

-- section 3.1, 3rd paragraph: "Reporting nodes also include overload reports..."

"Reporting nodes _may_ also include overload reports..." 
JJ&gt; The "may" is ambiguous as there is a SHOULD in 4.2.3 when an active OCS. For my clarification, has a "may" in lower case a different meaning from a MAY in upper case. To be only descriptive as with 1st sentence of the paragraph : eg " Reporting nodes communicate overload occurrences by sending the OLR AVP in answers (coming from 3.4, para 4". 

 [...]</pre>
    </blockquote>
    SRD&gt; "may" in lower case is not a normative requirement.<br>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">

-- section 3.3, general:

Much of this section is redundant to stuff in the parent section. (**JJ section 3)I suggest reducing the parent section detail, and keeping it here. (This may be true for subsequent children of section 3.) (**JJ effectively, but may need significant modifications ) 
SRD&gt; Do you have specific suggestions?
Ben&gt; Remove the 2nd to last and 3rd to last paragraph in 3.0.
JJ&gt; OK but in 3.3 to use the text of the removed paragraphs from 3.0 for host report as well as for realm report</pre>
    </blockquote>
    SRD&gt; Ok.<br>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">

 [...]
 

-- 4.1.3, para 9: "ambiguity"

I'm not sure that's is the word we want here. An agent could muck things up without being ambiguous. Perhaps "inconsistency"? 
SRD&gt; The point is that the reacting nodes and reporting nodes must
unambiguously know what to do.  I think ambiguous is the right word

Ben&gt; I can construct behavior that is not ambiguous to upstream or downstream nodes, but still breaks normative requirements. How about " ... ensure that it does not introduce incorrect behavior for either the upstream or downstream DOIC nodes."

JJ&gt; as Ben, ambiguity is not so right. 
A proposal: "When making changes to the OC-Supported-Features or OC-OLR AVPs, the Diameter Agent needs to ensure  consistency in its behavior with both upstream and downstream DOIC nodes".</pre>
    </blockquote>
    SRD&gt; Addressed in a separate message.<br>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">
	

-- 4.2.1.1, para 1:

Do I understand correctly that the reacting node only keeps OCS for those combinations that it has actually received an OLR for? If so, that's not clear from the wording. 
SRD&gt; Do you have suggested wording?
Ben&gt; It depends. Does a reacting node keep OCS when it hasn't received an OLR?

If no:

"A reacting node SHOULD maintain the following OCS for each active OLR it receives per Diameter application..."

if yes:

Then I think the section needs some more thought to distinguish between what is stored for OLRs, vs when no OLR is received.

Also, I think the preface to the second bullet list seems wrong. I don't see how you could make an implementation work right without at least keeping sequence number and expiration time, at least when you have an active OLR.

JJ&gt;  my point would be to describe in 4.2.1.3 when an OCS is created / deleted (as in 4.2.1.4 for Reporting node which addresses the creation of an OCS, deletion should also be added))
About the MAY in the preface to the second bullet list, to a have a SHOULD in line with 1st paragraph statement "the A reacting node SHOULD maintain the following OCS..." As it is implementation, there were remarks that various ways can  address the OCS or equivalent  handling</pre>
    </blockquote>
    SRD&gt; The following is already in 4.2.1.3 (now 5.2.1.3 in -06):<br>
    <br>
    <meta charset="utf-8">
    <pre style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; white-space: pre-wrap;">   If the received OLR is for a new overload condition then a reacting
   node MUST generate a new OCS entry for the overload condition.</pre>
    <br>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">

[...]

-- 4.2.1.3, para 2:

Should this combination include origin-host or origin-realm? App-Id? 
SRD&gt; I don't understand this.
JJ&gt; not sure we need additional text as it is elsewhere described the matching of an OLR to an OCS

[...]

 -- 4.2.2, 2nd to last para:
 
I think we need something a bit stronger here. The endpoint needs to take some action that makes sense for the application. The details of that are beyond our scope, but the general need is not.
SRD&gt; We cannot enforce application behavior in a Diameter specification.   I don't see the need for anything more .  Do you have suggested wording?

Ben&gt; Diameter endpoints that throttle requests [ MUST /need to ] do so according to the rules of the client application. Those rules will vary by application, and are beyond the scope of this document.
SRD&gt; Ok, without the MUST

JJ&gt; We have in the same section:.: "The abatement treatment applied depends on the context of the request". We can write "...depends on the application and on the context of the request". Is it not enough?</pre>
    </blockquote>
    SRD&gt; We have the following in the current -06 version.  I think
    this works well enough.<br>
    <br>
    <meta charset="utf-8">
    <pre style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; white-space: pre-wrap;">   Diameter endpoints that throttle requests need to do so according to
   the rules of the client application.  Those rules will vary by
   application, and are beyond the scope of this document.</pre>
    <br>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">

[...]

-- 4.2.3, para 2:

Doesn't this also need to match the scope for the request type? E.g. Destination realm or destination host? For example, a host report for host A would not match OCS for host B, even though both had the same report type and application id. 
SRD&gt; I guess this matters when an agent is the reporting node

Ben&gt; I think it matters the same if the reporting node is an endpoint. For example, would you consider a host-routed-request with D-H: "foo" to match an host report for host "bar"?  (I'm on the fence here whether that is correct behavior, but I think the behavior should be the same for endpoints and agents.)

Actually, on reflection, how does this affect the scenario of an agent that passes through a host report and generates a realm report? Or a server that generates both?

SRD&gt; Yes, I believe it does.  I suggest we delete paragraph 2, as the
criteria for matching an OCS will be report type dependent.

JJ&gt;  here 4.2.3 is for the reporting node behavior. It was discussed a while ago if the OCS in the reporting node  was per client (so taking into account the Origin Host of the request or an  OCS common to all clients, so independent of the Origin Host of the request and with the same OLR sent to all clients. The second option (common OCS)  was retained for this draft. The OCS per client would be an option for a further extension.  Si I am OK with the current wording.

-- 4.2.3, last para:

An example of what we have in mind could be helpful here.
SRD&gt; I'm open to suggested wording...

Ben&gt; Add "For example, it might wait some period of time after overload ends before terminating the OLR, or it might send a series of OLRs indicating progressively less overload severity."
SRD&gt; Ok

JJ&gt;  Avoiding  oscillation is an important requirement of RFC7068  and this sentence is one in the draft dealing with oscillations.?  A basic oscillation case is the following one, can we a text (in fact a guidance ) on this/ point. There are also somùe relma	ted qtement in 
"e.g a reporting node having requested a strong traffic reduction, then normally a bit later may observe that it is no more overloaded due to the reduced  traffic received, but it should not immediately send an OLR with a small traffic reduction or even terminates the overload condition as this will most probably again result in a strong increase of the incoming traffic as no more reduced, so creating an oscillation."
This point is somewhat also addressed in the two last paragraphs of 5, in the context of the loss algorithm. This oscillation aspect is more general and so be addressed in this 4.2.3 section

[...]

-- 4.3, para 4: 
We should clarify that this is talking about mandatory to understand for DOIC, but not for the enclosing transaction.

SRD&gt; i'm not clear on what you are suggesting.

Ben&gt; We need to be clear that receiving a DOIC avp with a mandatory AVP that you don't understand means you ignore the DOIC AVPs, but does not cause the Diameter transaction to fail. Or was it your intent to allow an application to say that if you get a DOIC avp that you can't process, you have to fail the Diameter transaction?

SRD&gt; This requires discussion on the list.  I'll start a thread.

JJ&gt; In OC-Supported-Features AVP sent by reacting node, no bit in the OC-Feature-Vector is mandatory except the bit for loss algorithm support. Then if there are additional AVPs in the OC-Supported-Features AVP, they can be ignored except if they are related to a particular feature bit in the OC-Feature-Vector which make this additional AVP mandatory to be supported if the feature is supported by the reporting node.  In any case, the request should not fail.
If the OLR AVP contains new AVPs, this will be also related to the corresponding feature bit that, if supported,  may require the new AVP be  mandatory in the OLRS sent back by the reporting node.. This will be part of the new feature description introducing additional AVPs. So I do not think we need to say more in this draft. This will be in the extension.</pre>
    </blockquote>
    SRD&gt; This has been discussed in a separate thread.<br>
    <blockquote
cite="mid:E194C2E18676714DACA9C3A2516265D2026F4240@FR712WXCHMBA12.zeu.alcatel-lucent.com"
      type="cite">
      <pre wrap="">

[...]

-- 5.1, para 4:

Convoluted paragraph. How about "How about "reporting nodes request the stateless reduction of the number of requests by an indicated percentage." 
SRD&gt; Ok. 
JJ&gt; OK on Ben wording but "stateless" can be removed as  mentioned earlier in the section and not directly linked to this sentence. 

Then about "...to what the reacting node otherwise would have sent" , this point, I think, is described in 5.3 paragraph 4


Best regards

JJacques 


-----Message d'origine-----
De : DiME [<a class="moz-txt-link-freetext" href="mailto:dime-bounces@ietf.org">mailto:dime-bounces@ietf.org</a>] De la part de Steve Donovan
Envoyé : mercredi 17 décembre 2014 17:27
À : <a class="moz-txt-link-abbreviated" href="mailto:dime@ietf.org">dime@ietf.org</a>
Objet : Re: [Dime] DOIC WGLC: Editorial Comments


On 12/16/14, 9:02 PM, Ben Campbell wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Here's some nits, editorial, and structural comments that are generally non-substantive. With the possible exception of comments about 2119 language, most of these could be ignored without consequence, but I think we'd have a better document if we at least thought about them:

-- General:

We keep referring to the DOIC "solution". I think "mechanism" is more appropriate. I would think of a DOIC "solution" as a deployment that leverages the DOIC "mechanism".
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I don't see an issue here, as long as we are consistent.
</pre>
      <blockquote type="cite">
        <pre wrap="">
We overuse the word Diameter in front of other things. E.g. Diameter nodes, Diameter Agents, Diameter clients, Diameter servers, etc. This entire draft is about Diameter; we don't have to keep saying it. It tends to get awkward when we use it a lot in close proximity.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; This was done based on feedback from Benoit.  We are being
explicit.  If there are paragraphs where it is particularly cumbersome, please point out those paragraphs and we can try to make them less cumbersome.
</pre>
      <blockquote type="cite">
        <pre wrap="">
Should we put consistently quotes around "loss" when we describe the "loss" algorithm?

-- Requirements (2119 language section)

This is oddly placed. I'm used to seeing that after the introduction, either stand-alone or as part of a larger terminology section. The RFC editor recommends putting it as section 2.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 2, Abatement Algorithm: "A mechanism..."

I suggest "An extensible mechanism..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- Section 2, Diversion:

Still needs work.  the "by selecting" phrase needs to indicate what does the selecting. "Path" should probably be "path or destination".

Proposed text:

"An overload abatement mechanism, where the reacting node selects alternate destinations or paths for for requests."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I'm ok with this wording.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 2, OCS: "Reporting and reacting node internally maintained state..."

I suggest "Internal state maintained by a reporting or reacting node..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 2, Realm-Routed Requests: "... does not know the host that will service..."

I suggest: "... does not know which host will service ..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
We should also add a comment that it may be possible to apply diversion to realm routed requests.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Where?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 2, Throttling: " ... a Diameter Client not sending requests..."

I suggest " ... a Client choosing to not send requests ..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; A Diameter Client...
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3, 2nd paragraph:

Client, servers, and agents should not be capitalized. Should "Reporting node" and "Reacting node" be hyphenated?  Consider moving the last sentence to the start of the next paragraph.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; The capitalization of Diameter Clients, Diameter Servers and
Diameter agents was Benoit's suggestion to make it explicit what is being referred to.  I don't see the need for hyphenation in this context.  I'm ok with moving the sentence.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.1, paragraph 1: " This is made possible by adding overload control AVPs, the OC-OLR AVP and the OC- Supported-Features AVP, as optional AVPs into existing commands..."

I suggest "This is made possible by adding the optional overload control AVPs OC-OLR and OC-Supported-Features into existing commands."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.1, 3rd paragraph: "Reporting nodes also include overload reports..."

"Reporting nodes _may_ also include overload reports..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.1, 4th paragraph: "Clients MAY report..."

Should not be normative in this section.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Agreed.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.2, 6th paragraph: "The OC-Feature-Vector AVP will contain..."

"... will _always_ contain..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.2, 7th paragraph: " ... all answer messages to requests ..."

suggest "... all answers to requests..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.2, paragraph 9: "Reporting nodes are allowed to..."

"Reporting nodes can..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
Also consider clarifying that they can change algorithms _between_transactions_, as long as there's no active overload condition.

-- section 3.2, paragraph 10 (starting with "The individual features..."

Consider moving this entire paragraph to earlier in the section.

-- section 3.2, paragraph 11: "The DCA mechanism must also allow..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; This paragraph looks redundant.  I suggest removing it.
</pre>
      <blockquote type="cite">
        <pre wrap="">
--&gt; "The DCA mechanism allows..."

"... the agent updates the OC-Supported-Features..." --&gt; " ... the agent can update the OC-Supported-Features..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- section 3.3, general:

Much of this section is redundant to stuff in the parent section. I 
suggest reducing the parent section detail, and keeping it here. (This 
may be true for subsequent children of section 3.)
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Do you have specific suggestions?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.3, third paragraph:

s/ , / : /
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I don't agree.  The commas are there because it is a list.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.3, paragraph 4:

In this overview, I suggest text saying that HOST_REPORT indicates a 
host report, and just using the term "host report" the rest of the 
time. (Same for realm report)
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Why?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.3, para 7: "A host-report, for instance, will generally by generated by tracking utilization of resources..."

I suggest "A host-report might be generated by tracking use of resources..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.3, para 9: " ... are responsible for applying the overload abatement algorithm..."

I suggest " ... apply the abatement algorithm..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.4, para 2: " ... the definition of new report types and the definition of new scopes ..."

Aren't these sort of the same thing? That is, you add new scopes by extending report type?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Can't you have a how report that applies only to sessions on that host?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.4, para 3:

First two sentences are a bit confusing. A new reader will likely think they contradict, without some explanation that OC-Feature-Vector is a child of OC-S-F.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; They seam clear to me.  Do you have a suggested clarification?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 3.4, para 4:

First sentence has already been stated more than once. No need to repeat here.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; The first sentence is there to provide context for the second
sentence.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.1, Para 1: "It MAY include the OC-Feature-Vector AVP."

consider adding  ", as a sub-avp of OC-Supported-Features."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK
</pre>
      <blockquote type="cite">
        <pre wrap="">
- 4.1.1, last paragraph: "This behavior is described in ..."

What is the antecedent to "this"? If it's "loss algorithm" behavior, then the reference to section 4.2 should not be needed.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Agreed.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.2, para 2:

It's probably worth reiterating that the reacting node may not be the server, and this requirement may mean inserting AVPS into answers that came from upstream.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I don't see the need.  Do you have suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.2, para 3: "...response messages ... "

"... _answer_ messages ..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.2, para 7: "If it selects a different algorithm, it MUST...:

This is also true if it needs to announce some other feature that needs to be indicated.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; This paragraph is talking specifically about algorithms and is
needed because the AVP is optional.  Are you suggesting another sentence, another paragraph?  I'm guessing that the case you talk about is already covered elsewhere.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.3, para 3: "... Agent MUST include OC-Supported-Features in request messages it receives..."

I suspect this should say "... requests that it _forwards_" or "_relays_".
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; To differentiate between the requests that it rejects.  Ok, I think
relays is the better word.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.3, para 5 and 6:

Is the reporting node section limited to endpoints? If not, the these paragraphs effectively restate normative language about reporting node behavior from that section. Once we've said what a reporting node normatively has to do, we should just be able to say that an agent acting as a reporting node has all the responsibilities of a reporting node, and not restate the normative requirements.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I'm ok with this but it feels like more than an editorial change to me.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.3, para 7:

The first MAY is a consequence (the complement) of the 2nd MAY. It should at least not be 2119 language, and probably can be omitted entirely.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Do you have suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.3, para 9, last sentence:

Does this mean an agent can only change OC-S-F in an answer if it changed it in the request? I don't think we want that restriction, but the context and "as such," seem to scope the MAY to that situation.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I don't read it that way.  The first sentence is describing one
reason why an agent might change OC-S-F.  It doesn't say it is the only reason.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.1.3, para 9: "ambiguity"

I'm not sure that's is the word we want here. An agent could muck things up without being ambiguous. Perhaps "inconsistency"?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; The point is that the reacting nodes and reporting nodes must
unambiguously know what to do.  I think ambiguous is the right word.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.1, para 1:

Do I understand correctly that the reacting node only keeps OCS for those combinations that it has actually received an OLR for? If so, that's not clear from the wording.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Do you have suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.2, para 1:

Likewise, the reporting node only keeps OCS for actual overload conditions where it sends OLRs?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Do you have suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.3, para 2:

Should this combination include origin-host or origin-realm? App-Id?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I don't understand this.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.3,  para 3: ... a reporting node MUST process..."

Should that be "reacting node"?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Yes.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.3, para 4:

Paragraph does not make sense. (I think we've already discussed this one from Ulrich's comments).
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Yes, this is addressed already.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.3, 3rd para from end: "... update the OCS entry as being expired."

I suggest language like " invalid" or "terminated". I take "expired" 
to mean "naturally expired", which is different from the case 
described here. There may be subtle behavior difference. (For example, 
a reacting node might choose to log "expirations" differently than 
"explicit terminations".)
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; For the context of this specification I think expired works.  
Implementations can differentiate types of expired if they have a reason.  Nothing here prevents that.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.4, para 9: "... including the reduction percentage..."

I suggest "... including, for example, the reduction percentage..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.1.4, para 11: " ... MUST update the sequence number ..."

I suggest s / update / increment
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.2, 2nd to last para:

  I think we need something a bit stronger here. The endpoint needs to take some action that makes sense for the application. The details of that are beyond our scope, but the general need is not.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; We cannot enforce application behavior in a Diameter
specification.   I don't see the need for anything more .  Do you have 
suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.3, para 2:

Doesn't this also need to match the scope for the request type? E.g. Destination realm or destination host? For example, a host report for host A would not match OCS for host B, even though both had the same report type and application id.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I guess this matters when an agent is the reporting node.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.2.3, paras 8 and 9:

We put the currently less favored approach first, with the favored approach in the following paragraph. I suggest we put the more favored approach first.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">

-- 4.2.3, last para:

An example of what we have in mind could be helpful here.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I'm open to suggested wording...
</pre>
      <blockquote type="cite">
        <pre wrap="">

-- 4.3, para 4:

We should clarify that this is talking about mandatory to understand for DOIC, but not for the enclosing transaction.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; i'm not clear on what you are suggesting.  Do you have suggested
wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.3, para 5:

Why is it different depending on whether the feature is an algorithm or not? Also, isn't this mostly redundant to the paragraph about new normative behavior?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I agree, this paragraph can be removed.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.3, para 6, last sentence

This is redundant to earlier normative language in the section 
(assuming a new report type will always involve new normative 
behavior.)
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; I agree, the last sentence can be removed.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.3, para 7, last sentence

Also redundant
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Agreed.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 4.3, last para, last sentence:

It's not clear if this means section 8 of this doc, or 6733. I suggest putting this sentence before the subsequent one.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 5.1, para 4:

Convoluted paragraph. How about "How about "reporting nodes request the stateless reduction of the number of requests by an indicated percentage."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
We should also clarify that this reduction is in comparison to what the reacting node otherwise would have sent, rather than what it may have previously sent.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Isn't this already covered?  Do you have suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 5.3, para 5:

Needs a sentence or paragraph to describe the 100% issue before describing how to back down from it.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; It's discussed earlier in the document.  I'm ok with adding it
again.  Do you have suggested wording?
</pre>
      <blockquote type="cite">
        <pre wrap="">
"... following concerns are RECOMMENDED ..."

following procedures...?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; OK.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 5.3, para 6: "... does not receive an OLR in messages sent to the formerly overloaded node..."

Do we mean "... does not receive an OLR in answers received from the formerly overloaded node..."?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Agreed.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- para 6, last paragraph

Paragraph is off topic for section. It probably belongs in the extensibility section, or at least somewhere other than here.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Do you mean section 6? This isn't about extensibility but about how
Diameter applications integrate DOIC.  It probably belongs in the intro or overview sections.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 6.1, last para:

I think we moved this to 6.2, but forgot to delete it here.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Yup, already addressed as part of Ulrich's comments.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 6.2:

Why did the AVP code jump to TBD6? (Also seems out of order in the 
table.)
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Historical reasons.  Doesn't matter, the real values will be filled
in eventually.
</pre>
      <blockquote type="cite">
        <pre wrap="">
Is it to late to rename the value to OLR_LOSS_ALGO?
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Yes. :-)
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- 9.4, para 2: "A node MUST not..."

"A node MUST _NOT_ ..."
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
-- References:

5905 and 5729 are not cited in the document.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">
draft-ietf-dime-e2e-sec-req-00: Outdated version.
</pre>
      </blockquote>
      <pre wrap="">SRD&gt; Ok.
</pre>
      <blockquote type="cite">
        <pre wrap="">























_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>

</pre>
      </blockquote>
      <pre wrap="">
_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>

_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>

</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------030308060304070008050806--


From nobody Wed Jan  7 08:51:31 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 08F141A00A3 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 08:51:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 LOLdlEY5EWge for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 08:51:27 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 327E51A0069 for <dime@ietf.org>; Wed,  7 Jan 2015 08:51:27 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57101 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y8tpJ-0003Zw-1q; Wed, 07 Jan 2015 08:51:25 -0800
Message-ID: <54AD6408.6080607@usdonovans.com>
Date: Wed, 07 Jan 2015 10:51:20 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <EAF2EB26-32EC-48D5-B622-64EC194C3880@nostrum.com> <54912CBA.8080701@gmail.com> <549192FD.7060403@usdonovans.com> <E37D500E-22AB-487A-90B7-6495EA4E497E@nostrum.com> <5491BCB3.30608@usdonovans.com> <0EEB7B88-CEEF-4A33-BD61-E4378F0D054D@nostrum.com> <5491CCC9.3090809@usdonovans.com> <4586B22E-3CDD-462E-8246-D55F25F4365C@nostrum.com> <5491F723.6080203@usdonovans.com> <CBE26329-5CF8-4CFA-8D6C-0B18793606C8@nostrum.com> <54920272.80508@usdonovans.com> <52901958-73B6-49FE-8DA4-A8D2F8276DD0@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235CCD@DEMUMBX014.nsn-intra.net> <8FB9C2A7-7D61-4D46-9808-AD17DB61B8CE@nostrum.com> <54AD571C.7060608@usdonovans.com> <77254C21-850E-4169-8FFA-65F2A276D826@nostrum.com>
In-Reply-To: <77254C21-850E-4169-8FFA-65F2A276D826@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/PKms8wEaeP6RxUWNgWQWC4YDfnU
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 16:51:30 -0000

Yes, reporting nodes cannot depend on consistent capabilities between 
requests.  I don't find were we say that directly (in a very quick look) 
but it is implied by the fact that OC-S-F MUST be included in all 
requests and, as such, capabilities announcement does not span transactions.

Maybe, in addition to the paragraph below that give guidance for agent 
based cases, we should add the following in Section 4.1.2 (5.1.2 in 
DOIC-06) after paragraph 2:

   "Note:  Capability announcement is done per transaction.  The 
reporting node cannot assume that the capabilities announced by a 
reacting node will be the same between transactions."

Regards,

Steve

On 1/7/15 10:13 AM, Ben Campbell wrote:
> I am almost okay with that. But on reflection, I think the issue is broader than described in the first sentence.
>
> For example (SE == supporting endpoint, NSE == non-supporting endpoint, etc.)
>
> SE ----
>              \
>                ----NSA ---- RepNode
> SE ---- /
>
> ... and ...
>
> NSE ----
>                \
>                  ----SA ---- RepNode
> NSE ---- /
>
> These scenarios look exactly the same from the reporting node's perspective. That is, the Reporting Node cannot tell if it has multiple supporting endpoints with different features, or one supporting agent that is arbitrarily changing its advertised features.  You can also run into the issue if all nodes support DOIC, if agents modify OC-S-F.
>
> So now (and admitting to opinion flapping), I wonder if the guidance should be that the Reporting Node cannot depend on consistent OC capabilities between requests, and must be prepared in general to deal with frequent changes in advertised features.
>
>
>> On Jan 7, 2015, at 9:56 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> All,
>>
>> After further discussion with Ben, the recommendation is to NOT include the wording proposed in the attached email.  Instead I propose to add the following wording in section 4.1.3 (section 5.1.3 in version -06) after the third paragraph:
>>
>>           Note: When multiple agents are serving as the reacting node for a non supporting
>>           Diameter endpoint, each of those agents will be advertising capabilities for
>>           what looks to the reporting node like a single entity. Care should be taken
>>           to ensure that reporting node behavior is not adversely impacted in this scenario.
>>           For instance, if frequent changes in advertised features is a concern then
>>           care needs to be taken to ensure that all agents advertising capabilities for
>>           a single entity advertise the same DOIC features.
>>
>> Regards,
>>
>> Steve
>>
>> On 12/19/14 1:58 PM, Ben Campbell wrote:
>>> Steve and I had an offline discussion, and I think we agree that the reporting node can be forced to change algorithms during an active overload condition, if it gets a request that doesn't advertise support for the active algorithm.
>>>
>>> We currently have text forbidding the reporting node from changing algorithms during an active overload condition, without making this exception. We assume that we still want to otherwise keep the limitation on algorithm changes during overload. Here's a concrete proposal:
>>>
>>> In 4.1.2:
>>>
>>> Old:
>>>
>>> For an ongoing overload condition, a reporting node MUST NOT change the selected algorithm during the period of time that it is in an overload condition and, as a result, is sending OC-OLR AVPs in answer messages.
>>>
>>> New:
>>>
>>> For an ongoing overload condition, a reporting node MUST NOT initiate a change to the selected algorithm during the period of time that it is in an overload condition and, as a result, is sending OC-OLR AVPs in answer messages. This rule does not affect the case where the OC-Supported-Features in a new request matching the OLR does not advertise support for the current algorithm, in which case the reporting node would be forced to change algorithms. However, this rule does constrain the reporting node from changing algorithms simply because the reacting node advertises other algorithms in addition to one currently in use.
>>>
>>> Added text in 4.1.1:
>>>
>>> If a reacting node is using an abatement algorithm to abate traffic due to an active OLR from a reporting node, the reacting node SHOULD continue to advertise support for that algorithm in future requests that match the OLR, until the overload condition is terminated.
>>>
>>>
>>>> On Dec 18, 2014, at 11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) <ulrich.wiehe@nsn.com> wrote:
>>>>
>>>> Ben, Steve,
>>>>
>>>> Section 4.2.1.2 says:
>>>>    A reporting node SHOULD maintain OCS entries per supported Diameter
>>>>    application, per supported (and eventually selected) Abatement
>>>>    Algorithm and per report-type.
>>>>
>>>> For example, an HSS would maintain two OCSs for S6a host-type reports, one for loss and one for rate. When receiving a request that advertises only loss, the returned OLR would be the one according to the loss-OCS; When receiving a request that advertises loss and rate, the HSS has two returned OLR would be the one according to the rate-OCS.
>>>>
>>>> I don't see a problem when algorithm is changed at the reacting node.
>>>>
>>>> Ulrich
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
>>>> Sent: Wednesday, December 17, 2014 11:39 PM
>>>> To: Steve Donovan
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
>>>>
>>>>
>>>>> On Dec 17, 2014, at 4:23 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>
>>>>>
>>>>> On 12/17/14 3:54 PM, Ben Campbell wrote:
>>>>>>> On Dec 17, 2014, at 3:35 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 12/17/14 1:00 PM, Ben Campbell wrote:
>>>>>>>>> On Dec 17, 2014, at 12:34 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>>>>>
>>>>>>>>>> Okay, new picture:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On Dec 17, 2014, at 11:26 AM, Steve Donovan <srdonovan@usdonovans.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Ben,
>>>>>>>>>>>
>>>>>>>>>>> The value of the Origin-Host matters greatly here.  In both cases, what S needs to know is if there is a reacting node for traffic coming from C1 and if there is a reacting node for traffic coming from C2.
>>>>>>>>>>>
>>>>>>>>>> There is no assumption in the draft right now that we have a correlation between reacting nodes and clients. That might be required for client-targed OLRs, but we don't have those yet.
>>>>>>>>>>
>>>>>>>>>> Consider a different picture. In this case, C never supports DOIC. the reacting node role happens either at A1/A2 or at A3, depending on which flow you look at.
>>>>>>>>>>
>>>>>>>>>>         A1---
>>>>>>>>>>        /         \
>>>>>>>>>> C --             -------A3------S
>>>>>>>>>>        \         /
>>>>>>>>>>          A2---
>>>>>>>>>>
>>>>>>>>>> Now, assume the same flows, but substitute A1 for C1, A2, for C2, and A3 for A. All requests now have the same origin-host.
>>>>>>>>>>
>>>>>>>>>> Before you say this is unrealistic: The issue is the same for any situation where one client can send traffic across multiple agents to the same destination. It doesn't matter if there is one or a million.
>>>>>>>>>>
>>>>>>>>> SRD> Yes, this is nasty.  With attribution S can detect the scenario.  I'm not sure what it does once it selects it.  This can be addressed to some degree by adding a deployment recommendation that  all agents taking on reacting node functionality for a single endpoint  select the same algorithm.
>>>>>>>> I think some sort of attribution is the long-term solution. Another option might be some sort of DCA state identifier, or a combination of the two. (e.g. multiple "virtual" reacting node at the same physical node.) The details will be non-trivial to figure out.
>>>>>>>>
>>>>>>>> But to close the loop, I think the _short_ term solution is to say that, while a reporting node should not _initiate_ a change in algorithms during an overload condition, it must still handle the situation where the reacting node forces a change. We could go further to say that reacting node also should not initiate such a change, but we would have to recognize that there are scenarios where that guidance cannot be enforced, and the reporting node still has to handle them.
>>>>>>>>
>>>>>>>> We might need to think about what it means from an OCS perspective for a reporting node to send OLRs with different algorithms (or potentially other capability parameters) for the "same" overload event.
>>>>>>> SRD> I think it is a better solution to stay with what we have now.  The reporting node MUST NOT change the algorithm during an active overload condition.  If a reacting node advertises support for it, the reacting node is saying it will support that algorithm for the duration of any overload condition that happens prior to the reacting node changing the advertised algorithm.  The change in advertised algorithm will take effect after the overload condition goes away.
>>>>>>>
>>>>>> I disagree. I don't think we want to allow the reporting node to ever indicate an algorithm that was not advertised in the request. That violates normative language earlier in the section that says the selected algorithm MUST be one of the ones advertised in the request. It can also cause problems for reacting nodes, where they get OLRs for an algorithm they don't understand.
>>>>> SRD> They clearly do understand the algorithm.  They advertised it before the overload report started.  We can change the normative language to cover this exception.
>>>> In my first scenario, this is not true. C2 (or A2)  _never_ understood the rate algorithm, and never advertised support for it.
>>>>
>>>> The whole point of this exercise was to show that the reporting node cannot, in the general case, distinguish between multiple reacting nodes with different capabilities, and a single reacting node that changes capabilities.
>>>>
>>>> By "general case", I mean no assumption that the reacting nodes are peers with the reporting nodes, and no assumption that you can correlate origin-host values (in requests) to reacting-nodes.
>>>>
>>>>
>>>>> I think the principle of minimizing work on an overloaded reporting node is the more important principle here.  If the reacting node changes the advertised set of algorithms during an active overload condition then the overloaded reporting node will be required to send end-of-overload OLRs for the previous algorithm and then send start-of-overload OLRs for the new algorithm.  This seems complex at a time the overloaded node should be focusing on getting out of the overload condition.
>>>> Sending an OLR that the reacting node does not understand will not help you get out of overload.
>>>>
>>>> I don't see how this is any more complex that if you simply have multiple reacting nodes with different capabilities--and I don't see how to avoid supporting that case.
>>>>
>>>>>> I think that's considerably more important that restricting the reporting node from changing algorithms (Which, btw, does no harm with the only algorithms that we are seriously contemplating.We speculate that it might cause harm for some future algorithm.)
>>>>> SRD> We already have the restriction on the reporting node.
>>>> We already have both restrictions, and they contradict. I believe the _existing_ restriction to not select an algorithm that is not advertised in the request is more important than the _existing_ restriction to not change algorithms during an overload condition.
>>>>
>>>>
>>>>>> Remember, this is not just about a single reacting node changing it's capabilities, it's also about multiple reacting nodes with different capabilities. We can't disallow one without disallowing the other.
>>>>> SRD> Multiple reacting nodes with different capabilities is all the more reason to hold things constant during an overload condition.
>>>> I don't follow that. You seem to be pushing towards using the same algorithm for all reacting nodes once an overload condition starts. Is that your intent?  (Given the possibility that some future reacting node will only support "loss", that "same algorithm" would pretty much always need to be loss.)
>>>>
>>>>> I'm not proposing disallowing reacting nodes from changing the set of capabilities, I'm proposing that these changes don't take effect while there is an active overload condition.
>>>> The problem exists even if no reacting node ever changes its capabilities.
>>>>
>>>>>>> SRD> I don't think we need to update the OCS in this document to handle multiple algorithms.  This can be done in the extension drafts.  We might want to make it clear, as it appears it isn't already, that a reacting node might need to support multiple algorithms at the same time.
>>>>>> Do you mean reacting or reporting node in the last sentence? Assuming you mean it as written, the problem is not that a reacting node may need to support multiple algorithms at the same time. It's that it may get OLRs that it cannot act upon because it doesn't support the algorithm.
>>>>> SRD> I meant reporting nodes.
>>>>>> If, otoh, you meant reporting node, I don't understand how a reporting node can have multiple algorithms for the same overload event, without reflecting that possibility in the OCS.
>>>>> SRD> Yes, it will need to be reflected in the OCS.  We don't have multiple algorithms now so it isn't needed now.  I'm saying we might want to say it might me needed in the future.
>>>> I'd rather not make each new algorithm redefine the basic structure of OCS.
>>>>
>>>> But, if you recall, my point was to say we need to _think_ about how this impacts OCS, not that we necessarily need to change anything. Are you opposed to thinking about it? (And no, I don't think this short exchange quite counts as that.)
>>>>
>>>>>>
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Wed Jan  7 10:47:22 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B85301A0242 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 10:47:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level: 
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 Mmmn_Y00v6_k for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 10:47:14 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 EC31D1A014C for <dime@ietf.org>; Wed,  7 Jan 2015 10:47:13 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t07IlBDV038025 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 7 Jan 2015 12:47:12 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: multipart/alternative; boundary="Apple-Mail=_64505CEC-24C0-4C71-996B-CEFB74E4BECD"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54AD6408.6080607@usdonovans.com>
Date: Wed, 7 Jan 2015 12:47:11 -0600
X-Mao-Original-Outgoing-Id: 442349230.954534-7cf650061c64a161484b99028c454c65
Message-Id: <6BC4E2B9-5A37-495A-8557-F0ABE5857142@nostrum.com>
References: <EAF2EB26-32EC-48D5-B622-64EC194C3880@nostrum.com> <54912CBA.8080701@gmail.com> <549192FD.7060403@usdonovans.com> <E37D500E-22AB-487A-90B7-6495EA4E497E@nostrum.com> <5491BCB3.30608@usdonovans.com> <0EEB7B88-CEEF-4A33-BD61-E4378F0D054D@nostrum.com> <5491CCC9.3090809@usdonovans.com> <4586B22E-3CDD-462E-8246-D55F25F4365C@nostrum.com> <5491F723.6080203@usdonovans.com> <CBE26329-5CF8-4CFA-8D6C-0B18793606C8@nostrum.com> <54920272.80508@usdonovans.com> <52901958-73B6-49FE-8DA4-A8D2F8276DD0@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235CCD@DEMUMBX014.nsn-intra.net> <8FB9C2A7-7D61-4D46-9808-AD17DB61B8CE@nostrum.com> <54AD571C.7060608@usdonovans.com> <77254C21-850E-4169-8FFA-65F2A276D826@nostrum.com> <54AD6408.6080607@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/VpnRXbWOmOR6ImWu0cPpA6iQE44
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 18:47:19 -0000

--Apple-Mail=_64505CEC-24C0-4C71-996B-CEFB74E4BECD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

The note in 4.1.2 would be reasonable.

Here's a proposed alternative for your previous suggested paragraph:

Note: This specification assumes that changes in DOIC node capabilities =
are relatively rare events that occur as a result of administrative =
action. Reacting nodes ought to minimize changes that force the =
reporting node to change the features being used, especially during =
active overload conditions. But even if reacting nodes avoid such =
changes, reporting nodes still have to be prepared for them to occur. =
For example, differing capabilities between multiple reacting nodes may =
still force a reporting node to select different features on a =
per-transaction basis.

If we accept this proposal, it probably should go in 4.1.1, since it=92s =
no longer really about agents.


> On Jan 7, 2015, at 10:51 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> Yes, reporting nodes cannot depend on consistent capabilities between =
requests.  I don't find were we say that directly (in a very quick look) =
but it is implied by the fact that OC-S-F MUST be included in all =
requests and, as such, capabilities announcement does not span =
transactions.
>=20
> Maybe, in addition to the paragraph below that give guidance for agent =
based cases, we should add the following in Section 4.1.2 (5.1.2 in =
DOIC-06) after paragraph 2:
>=20
>  "Note:  Capability announcement is done per transaction.  The =
reporting node cannot assume that the capabilities announced by a =
reacting node will be the same between transactions."
>=20
> Regards,
>=20
> Steve
>=20
> On 1/7/15 10:13 AM, Ben Campbell wrote:
>> I am almost okay with that. But on reflection, I think the issue is =
broader than described in the first sentence.
>>=20
>> For example (SE =3D=3D supporting endpoint, NSE =3D=3D non-supporting =
endpoint, etc.)
>>=20
>> SE ----
>>             \
>>               ----NSA ---- RepNode
>> SE ---- /
>>=20
>> ... and ...
>>=20
>> NSE ----
>>               \
>>                 ----SA ---- RepNode
>> NSE ---- /
>>=20
>> These scenarios look exactly the same from the reporting node's =
perspective. That is, the Reporting Node cannot tell if it has multiple =
supporting endpoints with different features, or one supporting agent =
that is arbitrarily changing its advertised features.  You can also run =
into the issue if all nodes support DOIC, if agents modify OC-S-F.
>>=20
>> So now (and admitting to opinion flapping), I wonder if the guidance =
should be that the Reporting Node cannot depend on consistent OC =
capabilities between requests, and must be prepared in general to deal =
with frequent changes in advertised features.
>>=20
>>=20
>>> On Jan 7, 2015, at 9:56 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>>>=20
>>> All,
>>>=20
>>> After further discussion with Ben, the recommendation is to NOT =
include the wording proposed in the attached email.  Instead I propose =
to add the following wording in section 4.1.3 (section 5.1.3 in version =
-06) after the third paragraph:
>>>=20
>>>          Note: When multiple agents are serving as the reacting node =
for a non supporting
>>>          Diameter endpoint, each of those agents will be advertising =
capabilities for
>>>          what looks to the reporting node like a single entity. Care =
should be taken
>>>          to ensure that reporting node behavior is not adversely =
impacted in this scenario.
>>>          For instance, if frequent changes in advertised features is =
a concern then
>>>          care needs to be taken to ensure that all agents =
advertising capabilities for
>>>          a single entity advertise the same DOIC features.
>>>=20
>>> Regards,
>>>=20
>>> Steve
>>>=20
>>> On 12/19/14 1:58 PM, Ben Campbell wrote:
>>>> Steve and I had an offline discussion, and I think we agree that =
the reporting node can be forced to change algorithms during an active =
overload condition, if it gets a request that doesn't advertise support =
for the active algorithm.
>>>>=20
>>>> We currently have text forbidding the reporting node from changing =
algorithms during an active overload condition, without making this =
exception. We assume that we still want to otherwise keep the limitation =
on algorithm changes during overload. Here's a concrete proposal:
>>>>=20
>>>> In 4.1.2:
>>>>=20
>>>> Old:
>>>>=20
>>>> For an ongoing overload condition, a reporting node MUST NOT change =
the selected algorithm during the period of time that it is in an =
overload condition and, as a result, is sending OC-OLR AVPs in answer =
messages.
>>>>=20
>>>> New:
>>>>=20
>>>> For an ongoing overload condition, a reporting node MUST NOT =
initiate a change to the selected algorithm during the period of time =
that it is in an overload condition and, as a result, is sending OC-OLR =
AVPs in answer messages. This rule does not affect the case where the =
OC-Supported-Features in a new request matching the OLR does not =
advertise support for the current algorithm, in which case the reporting =
node would be forced to change algorithms. However, this rule does =
constrain the reporting node from changing algorithms simply because the =
reacting node advertises other algorithms in addition to one currently =
in use.
>>>>=20
>>>> Added text in 4.1.1:
>>>>=20
>>>> If a reacting node is using an abatement algorithm to abate traffic =
due to an active OLR from a reporting node, the reacting node SHOULD =
continue to advertise support for that algorithm in future requests that =
match the OLR, until the overload condition is terminated.
>>>>=20
>>>>=20
>>>>> On Dec 18, 2014, at 11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>>>>>=20
>>>>> Ben, Steve,
>>>>>=20
>>>>> Section 4.2.1.2 says:
>>>>>   A reporting node SHOULD maintain OCS entries per supported =
Diameter
>>>>>   application, per supported (and eventually selected) Abatement
>>>>>   Algorithm and per report-type.
>>>>>=20
>>>>> For example, an HSS would maintain two OCSs for S6a host-type =
reports, one for loss and one for rate. When receiving a request that =
advertises only loss, the returned OLR would be the one according to the =
loss-OCS; When receiving a request that advertises loss and rate, the =
HSS has two returned OLR would be the one according to the rate-OCS.
>>>>>=20
>>>>> I don't see a problem when algorithm is changed at the reacting =
node.
>>>>>=20
>>>>> Ulrich
>>>>>=20
>>>>>=20
>>>>>=20
>>>>> -----Original Message-----
>>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben =
Campbell
>>>>> Sent: Wednesday, December 17, 2014 11:39 PM
>>>>> To: Steve Donovan
>>>>> Cc: dime@ietf.org
>>>>> Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
>>>>>=20
>>>>>=20
>>>>>> On Dec 17, 2014, at 4:23 PM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>>>=20
>>>>>>=20
>>>>>> On 12/17/14 3:54 PM, Ben Campbell wrote:
>>>>>>>> On Dec 17, 2014, at 3:35 PM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>>>>>=20
>>>>>>>>=20
>>>>>>>> On 12/17/14 1:00 PM, Ben Campbell wrote:
>>>>>>>>>> On Dec 17, 2014, at 12:34 PM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>>>>>>>=20
>>>>>>>>>>> Okay, new picture:
>>>>>>>>>>>=20
>>>>>>>>>>>=20
>>>>>>>>>>>> On Dec 17, 2014, at 11:26 AM, Steve Donovan =
<srdonovan@usdonovans.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>=20
>>>>>>>>>>>> Ben,
>>>>>>>>>>>>=20
>>>>>>>>>>>> The value of the Origin-Host matters greatly here.  In both =
cases, what S needs to know is if there is a reacting node for traffic =
coming from C1 and if there is a reacting node for traffic coming from =
C2.
>>>>>>>>>>>>=20
>>>>>>>>>>> There is no assumption in the draft right now that we have a =
correlation between reacting nodes and clients. That might be required =
for client-targed OLRs, but we don't have those yet.
>>>>>>>>>>>=20
>>>>>>>>>>> Consider a different picture. In this case, C never supports =
DOIC. the reacting node role happens either at A1/A2 or at A3, depending =
on which flow you look at.
>>>>>>>>>>>=20
>>>>>>>>>>>        A1---
>>>>>>>>>>>       /         \
>>>>>>>>>>> C --             -------A3------S
>>>>>>>>>>>       \         /
>>>>>>>>>>>         A2---
>>>>>>>>>>>=20
>>>>>>>>>>> Now, assume the same flows, but substitute A1 for C1, A2, =
for C2, and A3 for A. All requests now have the same origin-host.
>>>>>>>>>>>=20
>>>>>>>>>>> Before you say this is unrealistic: The issue is the same =
for any situation where one client can send traffic across multiple =
agents to the same destination. It doesn't matter if there is one or a =
million.
>>>>>>>>>>>=20
>>>>>>>>>> SRD> Yes, this is nasty.  With attribution S can detect the =
scenario.  I'm not sure what it does once it selects it.  This can be =
addressed to some degree by adding a deployment recommendation that  all =
agents taking on reacting node functionality for a single endpoint  =
select the same algorithm.
>>>>>>>>> I think some sort of attribution is the long-term solution. =
Another option might be some sort of DCA state identifier, or a =
combination of the two. (e.g. multiple "virtual" reacting node at the =
same physical node.) The details will be non-trivial to figure out.
>>>>>>>>>=20
>>>>>>>>> But to close the loop, I think the _short_ term solution is to =
say that, while a reporting node should not _initiate_ a change in =
algorithms during an overload condition, it must still handle the =
situation where the reacting node forces a change. We could go further =
to say that reacting node also should not initiate such a change, but we =
would have to recognize that there are scenarios where that guidance =
cannot be enforced, and the reporting node still has to handle them.
>>>>>>>>>=20
>>>>>>>>> We might need to think about what it means from an OCS =
perspective for a reporting node to send OLRs with different algorithms =
(or potentially other capability parameters) for the "same" overload =
event.
>>>>>>>> SRD> I think it is a better solution to stay with what we have =
now.  The reporting node MUST NOT change the algorithm during an active =
overload condition.  If a reacting node advertises support for it, the =
reacting node is saying it will support that algorithm for the duration =
of any overload condition that happens prior to the reacting node =
changing the advertised algorithm.  The change in advertised algorithm =
will take effect after the overload condition goes away.
>>>>>>>>=20
>>>>>>> I disagree. I don't think we want to allow the reporting node to =
ever indicate an algorithm that was not advertised in the request. That =
violates normative language earlier in the section that says the =
selected algorithm MUST be one of the ones advertised in the request. It =
can also cause problems for reacting nodes, where they get OLRs for an =
algorithm they don't understand.
>>>>>> SRD> They clearly do understand the algorithm.  They advertised =
it before the overload report started.  We can change the normative =
language to cover this exception.
>>>>> In my first scenario, this is not true. C2 (or A2)  _never_ =
understood the rate algorithm, and never advertised support for it.
>>>>>=20
>>>>> The whole point of this exercise was to show that the reporting =
node cannot, in the general case, distinguish between multiple reacting =
nodes with different capabilities, and a single reacting node that =
changes capabilities.
>>>>>=20
>>>>> By "general case", I mean no assumption that the reacting nodes =
are peers with the reporting nodes, and no assumption that you can =
correlate origin-host values (in requests) to reacting-nodes.
>>>>>=20
>>>>>=20
>>>>>> I think the principle of minimizing work on an overloaded =
reporting node is the more important principle here.  If the reacting =
node changes the advertised set of algorithms during an active overload =
condition then the overloaded reporting node will be required to send =
end-of-overload OLRs for the previous algorithm and then send =
start-of-overload OLRs for the new algorithm.  This seems complex at a =
time the overloaded node should be focusing on getting out of the =
overload condition.
>>>>> Sending an OLR that the reacting node does not understand will not =
help you get out of overload.
>>>>>=20
>>>>> I don't see how this is any more complex that if you simply have =
multiple reacting nodes with different capabilities--and I don't see how =
to avoid supporting that case.
>>>>>=20
>>>>>>> I think that's considerably more important that restricting the =
reporting node from changing algorithms (Which, btw, does no harm with =
the only algorithms that we are seriously contemplating.We speculate =
that it might cause harm for some future algorithm.)
>>>>>> SRD> We already have the restriction on the reporting node.
>>>>> We already have both restrictions, and they contradict. I believe =
the _existing_ restriction to not select an algorithm that is not =
advertised in the request is more important than the _existing_ =
restriction to not change algorithms during an overload condition.
>>>>>=20
>>>>>=20
>>>>>>> Remember, this is not just about a single reacting node changing =
it's capabilities, it's also about multiple reacting nodes with =
different capabilities. We can't disallow one without disallowing the =
other.
>>>>>> SRD> Multiple reacting nodes with different capabilities is all =
the more reason to hold things constant during an overload condition.
>>>>> I don't follow that. You seem to be pushing towards using the same =
algorithm for all reacting nodes once an overload condition starts. Is =
that your intent?  (Given the possibility that some future reacting node =
will only support "loss", that "same algorithm" would pretty much always =
need to be loss.)
>>>>>=20
>>>>>> I'm not proposing disallowing reacting nodes from changing the =
set of capabilities, I'm proposing that these changes don't take effect =
while there is an active overload condition.
>>>>> The problem exists even if no reacting node ever changes its =
capabilities.
>>>>>=20
>>>>>>>> SRD> I don't think we need to update the OCS in this document =
to handle multiple algorithms.  This can be done in the extension =
drafts.  We might want to make it clear, as it appears it isn't already, =
that a reacting node might need to support multiple algorithms at the =
same time.
>>>>>>> Do you mean reacting or reporting node in the last sentence? =
Assuming you mean it as written, the problem is not that a reacting node =
may need to support multiple algorithms at the same time. It's that it =
may get OLRs that it cannot act upon because it doesn't support the =
algorithm.
>>>>>> SRD> I meant reporting nodes.
>>>>>>> If, otoh, you meant reporting node, I don't understand how a =
reporting node can have multiple algorithms for the same overload event, =
without reflecting that possibility in the OCS.
>>>>>> SRD> Yes, it will need to be reflected in the OCS.  We don't have =
multiple algorithms now so it isn't needed now.  I'm saying we might =
want to say it might me needed in the future.
>>>>> I'd rather not make each new algorithm redefine the basic =
structure of OCS.
>>>>>=20
>>>>> But, if you recall, my point was to say we need to _think_ about =
how this impacts OCS, not that we necessarily need to change anything. =
Are you opposed to thinking about it? (And no, I don't think this short =
exchange quite counts as that.)
>>>>>=20
>>>>>>>=20
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>>=20
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>=20
>=20


--Apple-Mail=_64505CEC-24C0-4C71-996B-CEFB74E4BECD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space;" class=3D""><div class=3D"">The =
note in 4.1.2 would be reasonable.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Here's a proposed alternative for your =
previous suggested paragraph:</div><div class=3D""><br =
class=3D""></div><blockquote style=3D"margin: 0 0 0 40px; border: none; =
padding: 0px;" class=3D""><div class=3D"">Note: This specification =
assumes that changes in DOIC node capabilities are relatively rare =
events that occur as a result of administrative action. Reacting nodes =
ought to minimize changes that force the reporting node to change the =
features being used, especially during active overload conditions. But =
even if reacting nodes avoid such changes, reporting nodes still have to =
be prepared for them to occur. For example, differing capabilities =
between multiple reacting nodes may still force a reporting node to =
select different features on a per-transaction =
basis.</div></blockquote><div class=3D""><br class=3D""></div><div =
class=3D""><div class=3D"">If we accept this proposal, it probably =
should go in 4.1.1, since it=92s no longer really about =
agents.</div><div class=3D""><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D"">On Jan 7, 2015, at 10:51 =
AM, Steve Donovan &lt;<a href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt; wrote:<br class=3D""><br =
class=3D"">Yes, reporting nodes cannot depend on consistent capabilities =
between requests. &nbsp;I don't find were we say that directly (in a =
very quick look) but it is implied by the fact&nbsp;that OC-S-F MUST be =
included in all requests and, as such, capabilities announcement does =
not span transactions.<br class=3D""><br class=3D"">Maybe, in addition =
to the paragraph below that give guidance for agent based cases, we =
should add the following in Section 4.1.2 (5.1.2 in DOIC-06) after =
paragraph 2:<br class=3D""><br class=3D"">&nbsp;"Note: &nbsp;Capability =
announcement is done per transaction. &nbsp;The reporting node cannot =
assume that the capabilities announced by a reacting node will be the =
same&nbsp;between transactions."<br class=3D""><br class=3D"">Regards,<br =
class=3D""><br class=3D"">Steve<br class=3D""><br class=3D"">On 1/7/15 =
10:13 AM, Ben Campbell wrote:<br class=3D""><blockquote type=3D"cite" =
class=3D"">I am almost okay with that. But on reflection, I think the =
issue is broader than described in the first sentence.<br class=3D""><br =
class=3D"">For example (SE =3D=3D supporting endpoint, NSE =3D=3D =
non-supporting endpoint, etc.)<br class=3D""><br class=3D"">SE ----<br =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \<br =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ----NSA ---- =
RepNode<br class=3D"">SE ---- /<br class=3D""><br class=3D"">... and =
...<br class=3D""><br class=3D"">NSE ----<br class=3D"">&nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \<br class=3D"">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ----SA ---- RepNode<br class=3D"">NSE =
---- /<br class=3D""><br class=3D"">These scenarios look exactly the =
same from the reporting node's perspective. That is, the Reporting Node =
cannot tell if it has multiple supporting endpoints with&nbsp;different =
features, or one supporting agent that is arbitrarily changing its =
advertised features. &nbsp;You can also run into the issue if all nodes =
support DOIC, if agents modify&nbsp;OC-S-F.<br class=3D""><br =
class=3D"">So now (and admitting to opinion flapping), I wonder if the =
guidance should be that the Reporting Node cannot depend on consistent =
OC capabilities between&nbsp;requests, and must be prepared in general =
to deal with frequent changes in advertised features.<br class=3D""><br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D"">On Jan 7, =
2015, at 9:56 AM, Steve Donovan &lt;<a =
href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt; wrote:<br class=3D""><br =
class=3D"">All,<br class=3D""><br class=3D"">After further discussion =
with Ben, the recommendation is to NOT include the wording proposed in =
the attached email. &nbsp;Instead I propose to add the following =
wording&nbsp;in section 4.1.3 (section 5.1.3 in version -06) after the =
third paragraph:<br class=3D""><br class=3D"">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp;Note: When multiple agents are serving as the reacting node =
for a non supporting<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;Diameter endpoint, each of those agents will be advertising =
capabilities for<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;what =
looks to the reporting node like a single entity. Care should be =
taken<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;to ensure that =
reporting node behavior is not adversely impacted in this scenario.<br =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;For instance, if frequent =
changes in advertised features is a concern then<br class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;care needs to be taken to ensure that all =
agents advertising capabilities for<br class=3D"">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp;a single entity advertise the same DOIC features.<br =
class=3D""><br class=3D"">Regards,<br class=3D""><br class=3D"">Steve<br =
class=3D""><br class=3D"">On 12/19/14 1:58 PM, Ben Campbell wrote:<br =
class=3D""><blockquote type=3D"cite" class=3D"">Steve and I had an =
offline discussion, and I think we agree that the reporting node can be =
forced to change algorithms during an active overload condition, if it =
gets&nbsp;a request that doesn't advertise support for the active =
algorithm.<br class=3D""><br class=3D"">We currently have text =
forbidding the reporting node from changing algorithms during an active =
overload condition, without making this exception. We assume =
that&nbsp;we still want to otherwise keep the limitation on algorithm =
changes during overload. Here's a concrete proposal:<br class=3D""><br =
class=3D"">In 4.1.2:<br class=3D""><br class=3D"">Old:<br class=3D""><br =
class=3D"">For an ongoing overload condition, a reporting node MUST NOT =
change the selected algorithm during the period of time that it is in an =
overload condition and, as a&nbsp;result, is sending OC-OLR AVPs in =
answer messages.<br class=3D""><br class=3D"">New:<br class=3D""><br =
class=3D"">For an ongoing overload condition, a reporting node MUST NOT =
initiate a change to the selected algorithm during the period of time =
that it is in an overload&nbsp;condition and, as a result, is sending =
OC-OLR AVPs in answer messages. This rule does not affect the case where =
the OC-Supported-Features in a new request&nbsp;matching the OLR does =
not advertise support for the current algorithm, in which case the =
reporting node would be forced to change algorithms. However, this =
rule&nbsp;does constrain the reporting node from changing algorithms =
simply because the reacting node advertises other algorithms in addition =
to one currently in use.<br class=3D""><br class=3D"">Added text in =
4.1.1:<br class=3D""><br class=3D"">If a reacting node is using an =
abatement algorithm to abate traffic due to an active OLR from a =
reporting node, the reacting node SHOULD continue to =
advertise&nbsp;support for that algorithm in future requests that match =
the OLR, until the overload condition is terminated.<br class=3D""><br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D"">On Dec =
18, 2014, at 11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) &lt;<a =
href=3D"mailto:ulrich.wiehe@nsn.com" =
class=3D"">ulrich.wiehe@nsn.com</a>&gt; wrote:<br class=3D""><br =
class=3D"">Ben, Steve,<br class=3D""><br class=3D"">Section 4.2.1.2 =
says:<br class=3D"">&nbsp; A reporting node SHOULD maintain OCS entries =
per supported Diameter<br class=3D"">&nbsp; application, per supported =
(and eventually selected) Abatement<br class=3D"">&nbsp; Algorithm and =
per report-type.<br class=3D""><br class=3D"">For example, an HSS would =
maintain two OCSs for S6a host-type reports, one for loss and one for =
rate. When receiving a request that advertises only loss, =
the&nbsp;returned OLR would be the one according to the loss-OCS; When =
receiving a request that advertises loss and rate, the HSS has two =
returned OLR would be the&nbsp;one according to the rate-OCS.<br =
class=3D""><br class=3D"">I don't see a problem when algorithm is =
changed at the reacting node.<br class=3D""><br class=3D"">Ulrich<br =
class=3D""><br class=3D""><br class=3D""><br class=3D"">-----Original =
Message-----<br class=3D"">From: DiME [<a =
href=3D"mailto:dime-bounces@ietf.org" =
class=3D"">mailto:dime-bounces@ietf.org</a>] On Behalf Of ext Ben =
Campbell<br class=3D"">Sent: Wednesday, December 17, 2014 11:39 PM<br =
class=3D"">To: Steve Donovan<br class=3D"">Cc: <a =
href=3D"mailto:dime@ietf.org" class=3D"">dime@ietf.org</a><br =
class=3D"">Subject: Re: [Dime] DOIC WGLC: Changing Algorithms<br =
class=3D""><br class=3D""><br class=3D""><blockquote type=3D"cite" =
class=3D"">On Dec 17, 2014, at 4:23 PM, Steve Donovan &lt;<a =
href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt; wrote:<br class=3D""><br =
class=3D""><br class=3D"">On 12/17/14 3:54 PM, Ben Campbell wrote:<br =
class=3D""><blockquote type=3D"cite" class=3D""><blockquote type=3D"cite" =
class=3D"">On Dec 17, 2014, at 3:35 PM, Steve Donovan &lt;<a =
href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt; wrote:<br class=3D""><br =
class=3D""><br class=3D"">On 12/17/14 1:00 PM, Ben Campbell wrote:<br =
class=3D""><blockquote type=3D"cite" class=3D""><blockquote type=3D"cite" =
class=3D"">On Dec 17, 2014, at 12:34 PM, Steve Donovan &lt;<a =
href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt; wrote:<br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D"">Okay, new picture:<br =
class=3D""><br class=3D""><br class=3D""><blockquote type=3D"cite" =
class=3D"">On Dec 17, 2014, at 11:26 AM, Steve Donovan &lt;<a =
href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt;<br class=3D"">wrote:<br =
class=3D""><br class=3D"">Ben,<br class=3D""><br class=3D"">The value of =
the Origin-Host matters greatly here. &nbsp;In both cases, what S needs =
to know is if there is a reacting node for traffic coming from C1 =
and&nbsp;if there is a reacting node for traffic coming from C2.<br =
class=3D""><br class=3D""></blockquote>There is no assumption in the =
draft right now that we have a correlation between reacting nodes and =
clients. That might be required for client-targed&nbsp;OLRs, but we =
don't have those yet.<br class=3D""><br class=3D"">Consider a different =
picture. In this case, C never supports DOIC. the reacting node role =
happens either at A1/A2 or at A3, depending on which flow&nbsp;you look =
at.<br class=3D""><br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp;A1---<br =
class=3D"">&nbsp; &nbsp; &nbsp; / &nbsp; &nbsp; &nbsp; &nbsp; \<br =
class=3D"">C -- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
-------A3------S<br class=3D"">&nbsp; &nbsp; &nbsp; \ &nbsp; &nbsp; =
&nbsp; &nbsp; /<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; A2---<br =
class=3D""><br class=3D"">Now, assume the same flows, but substitute A1 =
for C1, A2, for C2, and A3 for A. All requests now have the same =
origin-host.<br class=3D""><br class=3D"">Before you say this is =
unrealistic: The issue is the same for any situation where one client =
can send traffic across multiple agents to the same&nbsp;destination. It =
doesn't matter if there is one or a million.<br class=3D""><br =
class=3D""></blockquote>SRD&gt; Yes, this is nasty. &nbsp;With =
attribution S can detect the scenario. &nbsp;I'm not sure what it does =
once it selects it. &nbsp;This can be addressed to some degree&nbsp;by =
adding a deployment recommendation that &nbsp;all agents taking on =
reacting node functionality for a single endpoint &nbsp;select the same =
algorithm.<br class=3D""></blockquote>I think some sort of attribution =
is the long-term solution. Another option might be some sort of DCA =
state identifier, or a combination of the two. (e.g.&nbsp;multiple =
"virtual" reacting node at the same physical node.) The details will be =
non-trivial to figure out.<br class=3D""><br class=3D"">But to close the =
loop, I think the _short_ term solution is to say that, while a =
reporting node should not _initiate_ a change in algorithms during an =
overload&nbsp;condition, it must still handle the situation where the =
reacting node forces a change. We could go further to say that reacting =
node also should not initiate&nbsp;such a change, but we would have to =
recognize that there are scenarios where that guidance cannot be =
enforced, and the reporting node still has to&nbsp;handle them.<br =
class=3D""><br class=3D"">We might need to think about what it means =
from an OCS perspective for a reporting node to send OLRs with different =
algorithms (or potentially other&nbsp;capability parameters) for the =
"same" overload event.<br class=3D""></blockquote>SRD&gt; I think it is =
a better solution to stay with what we have now. &nbsp;The reporting =
node MUST NOT change the algorithm during an active =
overload&nbsp;condition. &nbsp;If a reacting node advertises support for =
it, the reacting node is saying it will support that algorithm for the =
duration of any overload condition that&nbsp;happens prior to the =
reacting node changing the advertised algorithm. &nbsp;The change in =
advertised algorithm will take effect after the overload condition =
goes&nbsp;away.<br class=3D""><br class=3D""></blockquote>I disagree. I =
don't think we want to allow the reporting node to ever indicate an =
algorithm that was not advertised in the request. That violates =
normative&nbsp;language earlier in the section that says the selected =
algorithm MUST be one of the ones advertised in the request. It can also =
cause problems for reacting&nbsp;nodes, where they get OLRs for an =
algorithm they don't understand.<br class=3D""></blockquote>SRD&gt; They =
clearly do understand the algorithm. &nbsp;They advertised it before the =
overload report started. &nbsp;We can change the normative language to =
cover this&nbsp;exception.<br class=3D""></blockquote>In my first =
scenario, this is not true. C2 (or A2) &nbsp;_never_ understood the rate =
algorithm, and never advertised support for it.<br class=3D""><br =
class=3D"">The whole point of this exercise was to show that the =
reporting node cannot, in the general case, distinguish between multiple =
reacting nodes with different&nbsp;capabilities, and a single reacting =
node that changes capabilities.<br class=3D""><br class=3D"">By "general =
case", I mean no assumption that the reacting nodes are peers with the =
reporting nodes, and no assumption that you can correlate origin-host =
values&nbsp;(in requests) to reacting-nodes.<br class=3D""><br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D"">I think =
the principle of minimizing work on an overloaded reporting node is the =
more important principle here. &nbsp;If the reacting node changes the =
advertised set of&nbsp;algorithms during an active overload condition =
then the overloaded reporting node will be required to send =
end-of-overload OLRs for the previous algorithm and&nbsp;then send =
start-of-overload OLRs for the new algorithm. &nbsp;This seems complex =
at a time the overloaded node should be focusing on getting out of the =
overload&nbsp;condition.<br class=3D""></blockquote>Sending an OLR that =
the reacting node does not understand will not help you get out of =
overload.<br class=3D""><br class=3D"">I don't see how this is any more =
complex that if you simply have multiple reacting nodes with different =
capabilities--and I don't see how to avoid supporting that&nbsp;case.<br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D""><blockquote=
 type=3D"cite" class=3D"">I think that's considerably more important =
that restricting the reporting node from changing algorithms (Which, =
btw, does no harm with the only algorithms that&nbsp;we are seriously =
contemplating.We speculate that it might cause harm for some future =
algorithm.)<br class=3D""></blockquote>SRD&gt; We already have the =
restriction on the reporting node.<br class=3D""></blockquote>We already =
have both restrictions, and they contradict. I believe the _existing_ =
restriction to not select an algorithm that is not advertised in the =
request is more&nbsp;important than the _existing_ restriction to not =
change algorithms during an overload condition.<br class=3D""><br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D""><blockquote=
 type=3D"cite" class=3D"">Remember, this is not just about a single =
reacting node changing it's capabilities, it's also about multiple =
reacting nodes with different capabilities. We can't&nbsp;disallow one =
without disallowing the other.<br class=3D""></blockquote>SRD&gt; =
Multiple reacting nodes with different capabilities is all the more =
reason to hold things constant during an overload condition.<br =
class=3D""></blockquote>I don't follow that. You seem to be pushing =
towards using the same algorithm for all reacting nodes once an overload =
condition starts. Is that your intent? &nbsp;(Given&nbsp;the possibility =
that some future reacting node will only support "loss", that "same =
algorithm" would pretty much always need to be loss.)<br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D"">I'm not proposing =
disallowing reacting nodes from changing the set of capabilities, I'm =
proposing that these changes don't take effect while there is an =
active&nbsp;overload condition.<br class=3D""></blockquote>The problem =
exists even if no reacting node ever changes its capabilities.<br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D""><blockquote=
 type=3D"cite" class=3D""><blockquote type=3D"cite" class=3D"">SRD&gt; I =
don't think we need to update the OCS in this document to handle =
multiple algorithms. &nbsp;This can be done in the extension drafts. =
&nbsp;We might want to&nbsp;make it clear, as it appears it isn't =
already, that a reacting node might need to support multiple algorithms =
at the same time.<br class=3D""></blockquote>Do you mean reacting or =
reporting node in the last sentence? Assuming you mean it as written, =
the problem is not that a reacting node may need to =
support&nbsp;multiple algorithms at the same time. It's that it may get =
OLRs that it cannot act upon because it doesn't support the =
algorithm.<br class=3D""></blockquote>SRD&gt; I meant reporting =
nodes.<br class=3D""><blockquote type=3D"cite" class=3D"">If, otoh, you =
meant reporting node, I don't understand how a reporting node can have =
multiple algorithms for the same overload event, without reflecting =
that&nbsp;possibility in the OCS.<br class=3D""></blockquote>SRD&gt; =
Yes, it will need to be reflected in the OCS. &nbsp;We don't have =
multiple algorithms now so it isn't needed now. &nbsp;I'm saying we =
might want to say it might me&nbsp;needed in the future.<br =
class=3D""></blockquote>I'd rather not make each new algorithm redefine =
the basic structure of OCS.<br class=3D""><br class=3D"">But, if you =
recall, my point was to say we need to _think_ about how this impacts =
OCS, not that we necessarily need to change anything. Are you opposed =
to&nbsp;thinking about it? (And no, I don't think this short exchange =
quite counts as that.)<br class=3D""><br class=3D""><blockquote =
type=3D"cite" class=3D""><blockquote type=3D"cite" class=3D""><br =
class=3D""></blockquote></blockquote>_____________________________________=
__________<br class=3D"">DiME mailing list<br class=3D""><a =
href=3D"mailto:DiME@ietf.org" class=3D"">DiME@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/dime<br class=3D""><br =
class=3D"">_______________________________________________<br =
class=3D"">DiME mailing list<br class=3D"">DiME@ietf.org<br =
class=3D"">https://www.ietf.org/mailman/listinfo/dime<br =
class=3D""></blockquote></blockquote></blockquote><br =
class=3D""></blockquote><br class=3D""></blockquote><br =
class=3D""></div></body></html>=

--Apple-Mail=_64505CEC-24C0-4C71-996B-CEFB74E4BECD--


From nobody Wed Jan  7 11:57:34 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EDB3E1A1AA2 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 11:57:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 HZS9Se4f_Oj1 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 11:57:30 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 9C7A51A1AA4 for <dime@ietf.org>; Wed,  7 Jan 2015 11:57:30 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t07JvSqm044064 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 7 Jan 2015 13:57:30 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54AD53B3.3060902@usdonovans.com>
Date: Wed, 7 Jan 2015 13:57:28 -0600
X-Mao-Original-Outgoing-Id: 442353448.687288-c8972802d9da4f2b6c028b9ff325a897
Content-Transfer-Encoding: quoted-printable
Message-Id: <79A41609-512F-4F54-9812-E6B5DA8DC1FD@nostrum.com>
References: <0AF415BD-4AA8-4A4F-942B-29DA6C9E417B@nostrum.com> <549193B8.6000603@usdonovans.com> <CA291819-0B08-4084-8671-F45148D9B739@nostrum.com> <5491B2BB.30709@usdonovans.com> <3543DB65-DFC1-4ADE-8808-7B931F325F92@nostrum.com> <5491CE28.2020205@usdonovans.com> <0E11AEDD-6E90-4D61-8759-557B8596BAFB@nostrum.com> <54920B37.4060201@gmail.com> <2BE199F8-262D-40AB-A567-A857E94B3A6A@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235C94@DEMUMBX014.nsn-intra.net> <EF4A3B0F-1FA2-49C4-BA33-45C6EFFBAACA@nostrum.com> <E194C2E18676714DACA9C3A2516265D2026F462A@FR712WXCHMBA12.zeu.alcatel-lucent.com> <54A1840D.5050403@usdonovans.com> <54AD53B3.3060902@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/xUwl5eo5M2xDq24RiG1R2vGoVGY
Cc: dime@ietf.org
Subject: Re: [Dime] DOIC WGLC: duration unit
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 19:57:33 -0000

Oops, I missed your original call for objections in the post-holiday =
deluge. For the record, I agree with both the unit and the limit.

> On Jan 7, 2015, at 9:41 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> I am making these changes in DOIC-06.
>=20
> We will need another WGLC.  If there are objections to this it can be =
addressed during that WGLC.
>=20
> Steve
>=20
> On 12/29/14 10:40 AM, Steve Donovan wrote:
>> It appears that we are moving toward consensus to move back to =
seconds.  If we do then I agree that a 24 hour maximum is reasonable.
>>=20
>> Does anyone object to moving back to seconds with a 24 hour maximum?
>>=20
>> Regards,
>>=20
>> Steve
>>=20
>> On 12/22/14 3:59 PM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) wrote:
>>> Dear all
>>>=20
>>> I am also ,in favor  to take the second as unit (according to Ben 's =
arguments), and also to have a upper limit. The limit that Ben gives is =
about 50 days. Is 24 hours too short?
>>>=20
>>> Best regards
>>>=20
>>> JJacques
>>>=20
>>> -----Message d'origine-----
>>> De : DiME [mailto:dime-bounces@ietf.org] De la part de Ben Campbell
>>> Envoy=E9 : vendredi 19 d=E9cembre 2014 00:47
>>> =C0 : Wiehe, Ulrich (NSN - DE/Munich)
>>> Cc : dime@ietf.org
>>> Objet : Re: [Dime] DOIC WGLC: duration unit
>>>=20
>>> Hi Ulrich,
>>>=20
>>> You bring up a good point that we need to document the limits, or at =
least describe the implications of choosing to long or short of a =
duration either way. I suspect 1s is still too short for most =
situations, and  ( 2^32 - 1 / 1000 )s is probably still too long.
>>>=20
>>> (Don't get me wrong; I still think millisecond resolution for this =
is silly.)
>>>=20
>>> Thanks!
>>>=20
>>> Ben.
>>>=20
>>>> On Dec 18, 2014, at 11:11 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>>>>=20
>>>> Ben,
>>>>=20
>>>> my inclination is to change back to seconds. However, seconds allow =
a maximum value that is 1000 times higher and may be regarded =
unreasonably high. In a previous version of the draft we had an upper =
limit, and maybe when going back to seconds we should re-introduce an =
upper limit so that the protocol does not allow unreasonably long =
durations.
>>>>=20
>>>> Ulrich
>>>>=20
>>>>=20
>>>> -----Original Message-----
>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben =
Campbell
>>>> Sent: Thursday, December 18, 2014 12:08 AM
>>>> To: Jouni Korhonen
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] DOIC WGLC: duration unit
>>>>=20
>>>>=20
>>>>> On Dec 17, 2014, at 5:01 PM, Jouni Korhonen =
<jouni.nospam@gmail.com> wrote:
>>>>>=20
>>>>> [snip]
>>>>>=20
>>>>>>> I'll step out of the argument and let someone else be champion =
for millisecond granularity.
>>>>>> Any other takers? Are there real use cases for sub-second =
precision?
>>>>> I do not really care. We changed that from seconds to milliseconds =
for some reason.. but no not see a reason to change it back either.
>>>> I'd argue that we should make it the "right thing", regardless of =
whether we changed it before. (Although remembering why might go far to =
answering my last question below.)
>>>>=20
>>>> I've describe why I think it is false precision, and can become =
harmful. To rephrase it, choosing too small of durations will cause harm =
by forcing rapid OLR updates (as in many per second.) These updates =
cause work for both reporting nodes and reacting nodes.
>>>>=20
>>>> We could offer guidance of how to avoid that harm. Or we could =
choose a resolution that makes it harder to cause such harm in the first =
place. I think good protocol design favors the later.
>>>>=20
>>>> Do you disagree with the potential for harm? Or do you see some use =
case for sub-second precision that I've missed?
>>>>=20
>>>>=20
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>=20
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>=20
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Wed Jan  7 12:54:55 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E0CA1A1B75 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 12:54:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 3KP7SZwqe1zH for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 12:54:51 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 AEA3E1A1B64 for <dime@ietf.org>; Wed,  7 Jan 2015 12:54:51 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t07KsoKA048715 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <dime@ietf.org>; Wed, 7 Jan 2015 14:54:51 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se>
Date: Wed, 7 Jan 2015 14:54:49 -0600
X-Mao-Original-Outgoing-Id: 442356889.656898-a5a31f34e4a912ce3e070998336fa6f6
Content-Transfer-Encoding: quoted-printable
Message-Id: <08B99F05-1FF9-45D8-8979-879FACA25C53@nostrum.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se>
To: "dime@ietf.org list" <dime@ietf.org>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/x_71wllt4pD2dWzI59eT0MC30Gw
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 20:54:54 -0000

(Catching up on older stuff)

Comments inline. But keep in mind that the detailed requirements are to =
be removed from the RFC, so I'm not sure we need to spend too much time =
on them. (Only the first discussion point addresses text that is to =
remain in the RFC.)

Thanks!

Ben.

> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome =
<maria.cruz.bartolome@ericsson.com> wrote:
>=20
> Hello Ben,
>=20
> See comments below
> Thanks
> /MCruz
>=20
>>=20
>> C.2.  Detection of non-supporting Intermediaries
>>=20
>>   The DOIC mechanism as currently defined does not allow supporting
>>   nodes to automatically determine whether OC-Supported-Features or =
OC-
>>   OLR AVPs are originated by a peer node, or by a non-peer node and
>>   sent across a non-supporting peer.  This makes it impossible to
>>   detect the presence of non-supporting nodes between supporting =
nodes,
>>   except by configuration.  The working group determined that such a
>>   configuration requirement is acceptable.
>>=20
>>   This limits full compliance with certain requirements related to =
the
>>   limitation of new configuration, deployment in environments with
>>   mixed support, operating across non-supporting agents, and
>>   authorization.
>> [MCruz] I think this paragraph should state what are the limitations=20=

>> (generally, like you did for rest of them) Morever, since detailed =
descriptions will be deleted.
>>=20
>=20
> The limitations are discussed in the security consideration section. =
Basically if a node expects an agent to enforce any DOIC related policy =
(e.g. making sure DOIC avps do not leak to unauthorized nodes), it has =
to know that the agent itself supports DOIC. Right now it can only know =
that by having an administrator tell it that (violating the limitation =
on new configuration), by knowing that all agents in the network support =
DOIC (violating the mixed support and non-supporting agent =
requirements.)
> [MCruz] Please, include text accordingly then. The text now "certain =
requirements related to" does not provide an information that anyone =
could trace easily.

I was explicitly asked by other people (e.g. Lionel) to list the =
impacted requirements descriptively, rather than by reference, in this =
section. The "certain requirements related to" are described by the =
words immediately after that phrase. That is, the requirement to limit =
new configuration, the requirement to allow deployments with mixed =
support, and the requirements to authorize who can send and receive =
overload information.

>=20
>>=20
>>=20
>>=20
>>   REQ 6:  The solution designers SHOULD seek to minimize the amount =
of
>>           new configuration required in order to work.  For example, =
it
>>           is better to allow peers to advertise or negotiate support
>>           for the solution, rather than to require that this =
knowledge
>>           to be configured at each node.
>>=20
>>           *Partially Compliant*. Most DOIC parameters are advertised
>>           using the DOIC capability announcement mechanism.  However,
>>           there are some situations where configuration is required.
>>           For example, a DOIC node detect the fact that a peer may =
not
>>           support DOIC when nodes on the other side of the non-
>>           supporting node do support DOIC without configuration.
>>=20
>> [MCruz] Could you clarify last example? =E2=80=9Cwithoug =
configuration=E2=80=9D? I do not understand what you meant.
>=20
> Here's an example:
>=20
> C ------ A ------ S
>=20
> If both C and S support DOIC, there is no way for them to tell whether =
A supports DOIC. Consider two cases:
>=20
> 1) A supports DOIC. But since C already inserts OC-S-F in all =
requests, and S inserts it in all answers, A passes them through =
unchanged.
> 2) A does not support DOIC, but passes through unknown AVPs. Since =
OC-S-F will be unknown to it, it passes it through unchanged.
>=20
> =46rom the perspective of C and S, the requests and answers look =
identical for both cases. Even if A actually changes the content of an =
OC-S-F avp, neither endpoint can tell if the resulting AVP came from A =
or the opposite endpoint.
>=20
> Personally, I think this is a showstopper. But the working group =
consensus did not agree.
>=20
> [MCruz] Several comments:
> a) Then you consider this requirement as "partly compliant" since you =
consider configuration is required in a node to identify whether or not =
its adjacent peers support DOIC, right? If so, could you explain why a =
node needs to know whether or not the peer support DOIC, a part from =
what is included in the advertisement mechanism we defined?

If you do not know that a peer supports DOIC, you cannot assume that it =
will enforce DOIC related policies (I believe that is sufficiently =
described in the security configurations.)

> b) What do you think is a "show stopper"? The need for configuration?=20=


Explicitly, the need to configure whether you can trust a peer to =
enforce DOIC related polices. I believe this is an important security =
issue, and that being unable to determine it automatically is a real =
problem. Requiring this sort of configuration doesn't scale well, and =
has the potential of creating real management and operations problems. =
(Note the IETF area that DIME is in.)

But, as I said, the working group seems to have chosen to move forward =
without an automatic way to do this. Perhaps it can be improved in a =
future extension.

>=20
>=20
>=20
>>=20
>>   REQ 23: The solution MUST provide sufficient information to enable =
a
>>           load-balancing node to divert messages that are rejected or
>>           otherwise throttled by an overloaded upstream node to other
>>           upstream nodes that are the most likely to have sufficient
>>           capacity to process them.
>>=20
>>           *Not Compliant*. DOIC provides no built in mechanism to
>>           determine the best place to divert messages that would
>>           otherwise be throttled.  This can be accomplished with a
>>           future "load" extension, or with proprietary load balancing
>>           mechanisms.
>>=20
>> [MCruz] Partly Compliant. DOIC Overload information can be used =
already by proprietary load-balancing implementations.
>>=20
>> Load information will be a plus to this.
>>=20
>=20
> I disagree, or at least think that would be _very_ partial. You won't =
have any overload information unless the potential diversion targets are =
also overloaded.
> [MCruz] In case servers in the pools are DOIC enabled the Overload =
information is provided by all of them, under overload occurrences, then =
this information is valid (maybe not sufficient in all cases, I agree, =
but valid in most of them) to divert.
> In case we have mixed servers (DOIC-supporting and non-DOIC) we have =
some limitations as well.

The purpose behind this requirement was to allow load balancing of =
requests that are diverted to (hopefully) non-overloaded servers, in a =
way that reduces the chance of causing those servers to also become =
overloaded. Those servers will not be providing OLRs.

I still do not agree that the corner case of diverting request to =
_overloaded_ servers is big enough to consider this partially compliant.

>=20
>=20
>>=20
>>=20
>>   REQ 30: The solution MUST NOT interfere with any Diameter-compliant
>>           method that a node may use to protect itself from overload
>>           from non-supporting nodes or from denial-of-service =
attacks.
>>=20
>>           *Compliant*. The specification recommends that any such
>>           protection mechanism needed without DOIC should continue to
>>           be employed with DOIC.
>> [MCruz] Could you point our where in the draft it is described?
>=20
> 9.3
> [MCruz] I do not think 9.3 says what you mentioned here.
> It says "In the absence of an overload control mechanism...". It is =
not said the DOIC shall not interfere with any other Diameter method for =
protection, we may need to add this information to the draft in fact.

> A part from that, I think 9.3. should say "for non-DOIC supporting =
nodes/networks..." not just "in the absence of _an_ overload control =
mechanism"...

The "absence of an OC strategy" part is there to provide the context =
that these protection mechanisms existed, or needed to exist, prior to =
the availability of DOIC. The section goes on to say that, even with =
DOIC, these protections are still needed to deal with non-compliant =
nodes.

Are you arguing that we don't comply with Req 30? (Keeping in mind that =
this text is to be removed from the RFC.)

>=20
>=20
>=20
>=20
>=20
> /Ben.
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Wed Jan  7 12:54:56 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E15D11A1B64 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 12:54:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 L6nw4joI_7Xm for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 12:54:52 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 2B4101A1B72 for <dime@ietf.org>; Wed,  7 Jan 2015 12:54:52 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t07KsoKB048715 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <dime@ietf.org>; Wed, 7 Jan 2015 14:54:51 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se>
Date: Wed, 7 Jan 2015 14:54:51 -0600
X-Mao-Original-Outgoing-Id: 442356889.740782-765234c883600a5cd672c629db9e09f9
Content-Transfer-Encoding: quoted-printable
Message-Id: <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se>
To: "dime@ietf.org list" <dime@ietf.org>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/7ok7McvY2FD8Izp0L68gvg_Nv0I
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 20:54:55 -0000

(Catching up on older stuff)

Comments inline. But keep in mind that the detailed requirements are to =
be removed from the RFC, so I'm not sure we need to spend too much time =
on them. (Only the first discussion point addresses text that is to =
remain in the RFC.)

Thanks!

Ben.

> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome =
<maria.cruz.bartolome@ericsson.com> wrote:
>=20
> Hello Ben,
>=20
> See comments below
> Thanks
> /MCruz
>=20
>>=20
>> C.2.  Detection of non-supporting Intermediaries
>>=20
>>   The DOIC mechanism as currently defined does not allow supporting
>>   nodes to automatically determine whether OC-Supported-Features or =
OC-
>>   OLR AVPs are originated by a peer node, or by a non-peer node and
>>   sent across a non-supporting peer.  This makes it impossible to
>>   detect the presence of non-supporting nodes between supporting =
nodes,
>>   except by configuration.  The working group determined that such a
>>   configuration requirement is acceptable.
>>=20
>>   This limits full compliance with certain requirements related to =
the
>>   limitation of new configuration, deployment in environments with
>>   mixed support, operating across non-supporting agents, and
>>   authorization.
>> [MCruz] I think this paragraph should state what are the limitations=20=

>> (generally, like you did for rest of them) Morever, since detailed =
descriptions will be deleted.
>>=20
>=20
> The limitations are discussed in the security consideration section. =
Basically if a node expects an agent to enforce any DOIC related policy =
(e.g. making sure DOIC avps do not leak to unauthorized nodes), it has =
to know that the agent itself supports DOIC. Right now it can only know =
that by having an administrator tell it that (violating the limitation =
on new configuration), by knowing that all agents in the network support =
DOIC (violating the mixed support and non-supporting agent =
requirements.)
> [MCruz] Please, include text accordingly then. The text now "certain =
requirements related to" does not provide an information that anyone =
could trace easily.

I was explicitly asked by other people (e.g. Lionel) to list the =
impacted requirements descriptively, rather than by reference, in this =
section. The "certain requirements related to" are described by the =
words immediately after that phrase. That is, the requirement to limit =
new configuration, the requirement to allow deployments with mixed =
support, and the requirements to authorize who can send and receive =
overload information.

>=20
>>=20
>>=20
>>=20
>>   REQ 6:  The solution designers SHOULD seek to minimize the amount =
of
>>           new configuration required in order to work.  For example, =
it
>>           is better to allow peers to advertise or negotiate support
>>           for the solution, rather than to require that this =
knowledge
>>           to be configured at each node.
>>=20
>>           *Partially Compliant*. Most DOIC parameters are advertised
>>           using the DOIC capability announcement mechanism.  However,
>>           there are some situations where configuration is required.
>>           For example, a DOIC node detect the fact that a peer may =
not
>>           support DOIC when nodes on the other side of the non-
>>           supporting node do support DOIC without configuration.
>>=20
>> [MCruz] Could you clarify last example? =E2=80=9Cwithoug =
configuration=E2=80=9D? I do not understand what you meant.
>=20
> Here's an example:
>=20
> C ------ A ------ S
>=20
> If both C and S support DOIC, there is no way for them to tell whether =
A supports DOIC. Consider two cases:
>=20
> 1) A supports DOIC. But since C already inserts OC-S-F in all =
requests, and S inserts it in all answers, A passes them through =
unchanged.
> 2) A does not support DOIC, but passes through unknown AVPs. Since =
OC-S-F will be unknown to it, it passes it through unchanged.
>=20
> =46rom the perspective of C and S, the requests and answers look =
identical for both cases. Even if A actually changes the content of an =
OC-S-F avp, neither endpoint can tell if the resulting AVP came from A =
or the opposite endpoint.
>=20
> Personally, I think this is a showstopper. But the working group =
consensus did not agree.
>=20
> [MCruz] Several comments:
> a) Then you consider this requirement as "partly compliant" since you =
consider configuration is required in a node to identify whether or not =
its adjacent peers support DOIC, right? If so, could you explain why a =
node needs to know whether or not the peer support DOIC, a part from =
what is included in the advertisement mechanism we defined?

If you do not know that a peer supports DOIC, you cannot assume that it =
will enforce DOIC related policies (I believe that is sufficiently =
described in the security configurations.)

> b) What do you think is a "show stopper"? The need for configuration?=20=


Explicitly, the need to configure whether you can trust a peer to =
enforce DOIC related polices. I believe this is an important security =
issue, and that being unable to determine it automatically is a real =
problem. Requiring this sort of configuration doesn't scale well, and =
has the potential of creating real management and operations problems. =
(Note the IETF area that DIME is in.)

But, as I said, the working group seems to have chosen to move forward =
without an automatic way to do this. Perhaps it can be improved in a =
future extension.

>=20
>=20
>=20
>>=20
>>   REQ 23: The solution MUST provide sufficient information to enable =
a
>>           load-balancing node to divert messages that are rejected or
>>           otherwise throttled by an overloaded upstream node to other
>>           upstream nodes that are the most likely to have sufficient
>>           capacity to process them.
>>=20
>>           *Not Compliant*. DOIC provides no built in mechanism to
>>           determine the best place to divert messages that would
>>           otherwise be throttled.  This can be accomplished with a
>>           future "load" extension, or with proprietary load balancing
>>           mechanisms.
>>=20
>> [MCruz] Partly Compliant. DOIC Overload information can be used =
already by proprietary load-balancing implementations.
>>=20
>> Load information will be a plus to this.
>>=20
>=20
> I disagree, or at least think that would be _very_ partial. You won't =
have any overload information unless the potential diversion targets are =
also overloaded.
> [MCruz] In case servers in the pools are DOIC enabled the Overload =
information is provided by all of them, under overload occurrences, then =
this information is valid (maybe not sufficient in all cases, I agree, =
but valid in most of them) to divert.
> In case we have mixed servers (DOIC-supporting and non-DOIC) we have =
some limitations as well.

The purpose behind this requirement was to allow load balancing of =
requests that are diverted to (hopefully) non-overloaded servers, in a =
way that reduces the chance of causing those servers to also become =
overloaded. Those servers will not be providing OLRs.

I still do not agree that the corner case of diverting request to =
_overloaded_ servers is big enough to consider this partially compliant.

>=20
>=20
>>=20
>>=20
>>   REQ 30: The solution MUST NOT interfere with any Diameter-compliant
>>           method that a node may use to protect itself from overload
>>           from non-supporting nodes or from denial-of-service =
attacks.
>>=20
>>           *Compliant*. The specification recommends that any such
>>           protection mechanism needed without DOIC should continue to
>>           be employed with DOIC.
>> [MCruz] Could you point our where in the draft it is described?
>=20
> 9.3
> [MCruz] I do not think 9.3 says what you mentioned here.
> It says "In the absence of an overload control mechanism...". It is =
not said the DOIC shall not interfere with any other Diameter method for =
protection, we may need to add this information to the draft in fact.

> A part from that, I think 9.3. should say "for non-DOIC supporting =
nodes/networks..." not just "in the absence of _an_ overload control =
mechanism"...

The "absence of an OC strategy" part is there to provide the context =
that these protection mechanisms existed, or needed to exist, prior to =
the availability of DOIC. The section goes on to say that, even with =
DOIC, these protections are still needed to deal with non-compliant =
nodes.

Are you arguing that we don't comply with Req 30? (Keeping in mind that =
this text is to be removed from the RFC.)

>=20
>=20
>=20
>=20
>=20
> /Ben.
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Wed Jan  7 14:36:35 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ABA191A1BB1 for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 14:36:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 Y-nbAnnEnQPs for <dime@ietfa.amsl.com>; Wed,  7 Jan 2015 14:36:26 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 7B6611A1B93 for <dime@ietf.org>; Wed,  7 Jan 2015 14:36:26 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:53835 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y8zD9-0007NC-Rf; Wed, 07 Jan 2015 14:36:24 -0800
Message-ID: <54ADB4E3.4070902@usdonovans.com>
Date: Wed, 07 Jan 2015 16:36:19 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <EAF2EB26-32EC-48D5-B622-64EC194C3880@nostrum.com> <54912CBA.8080701@gmail.com> <549192FD.7060403@usdonovans.com> <E37D500E-22AB-487A-90B7-6495EA4E497E@nostrum.com> <5491BCB3.30608@usdonovans.com> <0EEB7B88-CEEF-4A33-BD61-E4378F0D054D@nostrum.com> <5491CCC9.3090809@usdonovans.com> <4586B22E-3CDD-462E-8246-D55F25F4365C@nostrum.com> <5491F723.6080203@usdonovans.com> <CBE26329-5CF8-4CFA-8D6C-0B18793606C8@nostrum.com> <54920272.80508@usdonovans.com> <52901958-73B6-49FE-8DA4-A8D2F8276DD0@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D900066815235CCD@DEMUMBX014.nsn-intra.net> <8FB9C2A7-7D61-4D46-9808-AD17DB61B8CE@nostrum.com> <54AD571C.7060608@usdonovans.com> <77254C21-850E-4169-8FFA-65F2A276D826@nostrum.com> <54AD6408.6080607@usdonovans.com> <6BC4E2B9-5A37-495A-8557-F0ABE5857142@nostrum.com>
In-Reply-To: <6BC4E2B9-5A37-495A-8557-F0ABE5857142@nostrum.com>
Content-Type: multipart/alternative; boundary="------------010509040004030903070901"
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/PkkUvzXVmP0C_ox58H66njyemFE
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 22:36:32 -0000

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

I'm good with this.

Steve

On 1/7/15 12:47 PM, Ben Campbell wrote:
> The note in 4.1.2 would be reasonable.
>
> Here's a proposed alternative for your previous suggested paragraph:
>
>     Note: This specification assumes that changes in DOIC node
>     capabilities are relatively rare events that occur as a result of
>     administrative action. Reacting nodes ought to minimize changes
>     that force the reporting node to change the features being used,
>     especially during active overload conditions. But even if reacting
>     nodes avoid such changes, reporting nodes still have to be
>     prepared for them to occur. For example, differing capabilities
>     between multiple reacting nodes may still force a reporting node
>     to select different features on a per-transaction basis.
>
>
> If we accept this proposal, it probably should go in 4.1.1, since it’s 
> no longer really about agents.
>
>
>> On Jan 7, 2015, at 10:51 AM, Steve Donovan <srdonovan@usdonovans.com 
>> <mailto:srdonovan@usdonovans.com>> wrote:
>>
>> Yes, reporting nodes cannot depend on consistent capabilities between 
>> requests.  I don't find were we say that directly (in a very quick 
>> look) but it is implied by the fact that OC-S-F MUST be included in 
>> all requests and, as such, capabilities announcement does not span 
>> transactions.
>>
>> Maybe, in addition to the paragraph below that give guidance for 
>> agent based cases, we should add the following in Section 4.1.2 
>> (5.1.2 in DOIC-06) after paragraph 2:
>>
>>  "Note:  Capability announcement is done per transaction.  The 
>> reporting node cannot assume that the capabilities announced by a 
>> reacting node will be the same between transactions."
>>
>> Regards,
>>
>> Steve
>>
>> On 1/7/15 10:13 AM, Ben Campbell wrote:
>>> I am almost okay with that. But on reflection, I think the issue is 
>>> broader than described in the first sentence.
>>>
>>> For example (SE == supporting endpoint, NSE == non-supporting 
>>> endpoint, etc.)
>>>
>>> SE ----
>>>             \
>>>               ----NSA ---- RepNode
>>> SE ---- /
>>>
>>> ... and ...
>>>
>>> NSE ----
>>>               \
>>>                 ----SA ---- RepNode
>>> NSE ---- /
>>>
>>> These scenarios look exactly the same from the reporting node's 
>>> perspective. That is, the Reporting Node cannot tell if it has 
>>> multiple supporting endpoints with different features, or one 
>>> supporting agent that is arbitrarily changing its advertised 
>>> features.  You can also run into the issue if all nodes support 
>>> DOIC, if agents modify OC-S-F.
>>>
>>> So now (and admitting to opinion flapping), I wonder if the guidance 
>>> should be that the Reporting Node cannot depend on consistent OC 
>>> capabilities between requests, and must be prepared in general to 
>>> deal with frequent changes in advertised features.
>>>
>>>
>>>> On Jan 7, 2015, at 9:56 AM, Steve Donovan <srdonovan@usdonovans.com 
>>>> <mailto:srdonovan@usdonovans.com>> wrote:
>>>>
>>>> All,
>>>>
>>>> After further discussion with Ben, the recommendation is to NOT 
>>>> include the wording proposed in the attached email.  Instead I 
>>>> propose to add the following wording in section 4.1.3 (section 
>>>> 5.1.3 in version -06) after the third paragraph:
>>>>
>>>>          Note: When multiple agents are serving as the reacting 
>>>> node for a non supporting
>>>>          Diameter endpoint, each of those agents will be 
>>>> advertising capabilities for
>>>>          what looks to the reporting node like a single entity. 
>>>> Care should be taken
>>>>          to ensure that reporting node behavior is not adversely 
>>>> impacted in this scenario.
>>>>          For instance, if frequent changes in advertised features 
>>>> is a concern then
>>>>          care needs to be taken to ensure that all agents 
>>>> advertising capabilities for
>>>>          a single entity advertise the same DOIC features.
>>>>
>>>> Regards,
>>>>
>>>> Steve
>>>>
>>>> On 12/19/14 1:58 PM, Ben Campbell wrote:
>>>>> Steve and I had an offline discussion, and I think we agree that 
>>>>> the reporting node can be forced to change algorithms during an 
>>>>> active overload condition, if it gets a request that doesn't 
>>>>> advertise support for the active algorithm.
>>>>>
>>>>> We currently have text forbidding the reporting node from changing 
>>>>> algorithms during an active overload condition, without making 
>>>>> this exception. We assume that we still want to otherwise keep the 
>>>>> limitation on algorithm changes during overload. Here's a concrete 
>>>>> proposal:
>>>>>
>>>>> In 4.1.2:
>>>>>
>>>>> Old:
>>>>>
>>>>> For an ongoing overload condition, a reporting node MUST NOT 
>>>>> change the selected algorithm during the period of time that it is 
>>>>> in an overload condition and, as a result, is sending OC-OLR AVPs 
>>>>> in answer messages.
>>>>>
>>>>> New:
>>>>>
>>>>> For an ongoing overload condition, a reporting node MUST NOT 
>>>>> initiate a change to the selected algorithm during the period of 
>>>>> time that it is in an overload condition and, as a result, is 
>>>>> sending OC-OLR AVPs in answer messages. This rule does not affect 
>>>>> the case where the OC-Supported-Features in a new request matching 
>>>>> the OLR does not advertise support for the current algorithm, in 
>>>>> which case the reporting node would be forced to change 
>>>>> algorithms. However, this rule does constrain the reporting node 
>>>>> from changing algorithms simply because the reacting node 
>>>>> advertises other algorithms in addition to one currently in use.
>>>>>
>>>>> Added text in 4.1.1:
>>>>>
>>>>> If a reacting node is using an abatement algorithm to abate 
>>>>> traffic due to an active OLR from a reporting node, the reacting 
>>>>> node SHOULD continue to advertise support for that algorithm in 
>>>>> future requests that match the OLR, until the overload condition 
>>>>> is terminated.
>>>>>
>>>>>
>>>>>> On Dec 18, 2014, at 11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) 
>>>>>> <ulrich.wiehe@nsn.com <mailto:ulrich.wiehe@nsn.com>> wrote:
>>>>>>
>>>>>> Ben, Steve,
>>>>>>
>>>>>> Section 4.2.1.2 says:
>>>>>>   A reporting node SHOULD maintain OCS entries per supported Diameter
>>>>>>   application, per supported (and eventually selected) Abatement
>>>>>>   Algorithm and per report-type.
>>>>>>
>>>>>> For example, an HSS would maintain two OCSs for S6a host-type 
>>>>>> reports, one for loss and one for rate. When receiving a request 
>>>>>> that advertises only loss, the returned OLR would be the one 
>>>>>> according to the loss-OCS; When receiving a request that 
>>>>>> advertises loss and rate, the HSS has two returned OLR would be 
>>>>>> the one according to the rate-OCS.
>>>>>>
>>>>>> I don't see a problem when algorithm is changed at the reacting node.
>>>>>>
>>>>>> Ulrich
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben 
>>>>>> Campbell
>>>>>> Sent: Wednesday, December 17, 2014 11:39 PM
>>>>>> To: Steve Donovan
>>>>>> Cc: dime@ietf.org <mailto:dime@ietf.org>
>>>>>> Subject: Re: [Dime] DOIC WGLC: Changing Algorithms
>>>>>>
>>>>>>
>>>>>>> On Dec 17, 2014, at 4:23 PM, Steve Donovan 
>>>>>>> <srdonovan@usdonovans.com <mailto:srdonovan@usdonovans.com>> wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 12/17/14 3:54 PM, Ben Campbell wrote:
>>>>>>>>> On Dec 17, 2014, at 3:35 PM, Steve Donovan 
>>>>>>>>> <srdonovan@usdonovans.com <mailto:srdonovan@usdonovans.com>> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 12/17/14 1:00 PM, Ben Campbell wrote:
>>>>>>>>>>> On Dec 17, 2014, at 12:34 PM, Steve Donovan 
>>>>>>>>>>> <srdonovan@usdonovans.com <mailto:srdonovan@usdonovans.com>> 
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Okay, new picture:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> On Dec 17, 2014, at 11:26 AM, Steve Donovan 
>>>>>>>>>>>>> <srdonovan@usdonovans.com <mailto:srdonovan@usdonovans.com>>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Ben,
>>>>>>>>>>>>>
>>>>>>>>>>>>> The value of the Origin-Host matters greatly here.  In 
>>>>>>>>>>>>> both cases, what S needs to know is if there is a reacting 
>>>>>>>>>>>>> node for traffic coming from C1 and if there is a reacting 
>>>>>>>>>>>>> node for traffic coming from C2.
>>>>>>>>>>>>>
>>>>>>>>>>>> There is no assumption in the draft right now that we have 
>>>>>>>>>>>> a correlation between reacting nodes and clients. That 
>>>>>>>>>>>> might be required for client-targed OLRs, but we don't have 
>>>>>>>>>>>> those yet.
>>>>>>>>>>>>
>>>>>>>>>>>> Consider a different picture. In this case, C never 
>>>>>>>>>>>> supports DOIC. the reacting node role happens either at 
>>>>>>>>>>>> A1/A2 or at A3, depending on which flow you look at.
>>>>>>>>>>>>
>>>>>>>>>>>>        A1---
>>>>>>>>>>>>       /         \
>>>>>>>>>>>> C --             -------A3------S
>>>>>>>>>>>>       \         /
>>>>>>>>>>>>         A2---
>>>>>>>>>>>>
>>>>>>>>>>>> Now, assume the same flows, but substitute A1 for C1, A2, 
>>>>>>>>>>>> for C2, and A3 for A. All requests now have the same 
>>>>>>>>>>>> origin-host.
>>>>>>>>>>>>
>>>>>>>>>>>> Before you say this is unrealistic: The issue is the same 
>>>>>>>>>>>> for any situation where one client can send traffic across 
>>>>>>>>>>>> multiple agents to the same destination. It doesn't matter 
>>>>>>>>>>>> if there is one or a million.
>>>>>>>>>>>>
>>>>>>>>>>> SRD> Yes, this is nasty.  With attribution S can detect the 
>>>>>>>>>>> scenario.  I'm not sure what it does once it selects it. 
>>>>>>>>>>>  This can be addressed to some degree by adding a deployment 
>>>>>>>>>>> recommendation that  all agents taking on reacting node 
>>>>>>>>>>> functionality for a single endpoint  select the same algorithm.
>>>>>>>>>> I think some sort of attribution is the long-term solution. 
>>>>>>>>>> Another option might be some sort of DCA state identifier, or 
>>>>>>>>>> a combination of the two. (e.g. multiple "virtual" reacting 
>>>>>>>>>> node at the same physical node.) The details will be 
>>>>>>>>>> non-trivial to figure out.
>>>>>>>>>>
>>>>>>>>>> But to close the loop, I think the _short_ term solution is 
>>>>>>>>>> to say that, while a reporting node should not _initiate_ a 
>>>>>>>>>> change in algorithms during an overload condition, it must 
>>>>>>>>>> still handle the situation where the reacting node forces a 
>>>>>>>>>> change. We could go further to say that reacting node also 
>>>>>>>>>> should not initiate such a change, but we would have to 
>>>>>>>>>> recognize that there are scenarios where that guidance cannot 
>>>>>>>>>> be enforced, and the reporting node still has to handle them.
>>>>>>>>>>
>>>>>>>>>> We might need to think about what it means from an OCS 
>>>>>>>>>> perspective for a reporting node to send OLRs with different 
>>>>>>>>>> algorithms (or potentially other capability parameters) for 
>>>>>>>>>> the "same" overload event.
>>>>>>>>> SRD> I think it is a better solution to stay with what we have 
>>>>>>>>> now.  The reporting node MUST NOT change the algorithm during 
>>>>>>>>> an active overload condition.  If a reacting node advertises 
>>>>>>>>> support for it, the reacting node is saying it will support 
>>>>>>>>> that algorithm for the duration of any overload condition 
>>>>>>>>> that happens prior to the reacting node changing the 
>>>>>>>>> advertised algorithm.  The change in advertised algorithm will 
>>>>>>>>> take effect after the overload condition goes away.
>>>>>>>>>
>>>>>>>> I disagree. I don't think we want to allow the reporting node 
>>>>>>>> to ever indicate an algorithm that was not advertised in the 
>>>>>>>> request. That violates normative language earlier in the 
>>>>>>>> section that says the selected algorithm MUST be one of the 
>>>>>>>> ones advertised in the request. It can also cause problems for 
>>>>>>>> reacting nodes, where they get OLRs for an algorithm they don't 
>>>>>>>> understand.
>>>>>>> SRD> They clearly do understand the algorithm.  They advertised 
>>>>>>> it before the overload report started.  We can change the 
>>>>>>> normative language to cover this exception.
>>>>>> In my first scenario, this is not true. C2 (or A2)  _never_ 
>>>>>> understood the rate algorithm, and never advertised support for it.
>>>>>>
>>>>>> The whole point of this exercise was to show that the reporting 
>>>>>> node cannot, in the general case, distinguish between multiple 
>>>>>> reacting nodes with different capabilities, and a single reacting 
>>>>>> node that changes capabilities.
>>>>>>
>>>>>> By "general case", I mean no assumption that the reacting nodes 
>>>>>> are peers with the reporting nodes, and no assumption that you 
>>>>>> can correlate origin-host values (in requests) to reacting-nodes.
>>>>>>
>>>>>>
>>>>>>> I think the principle of minimizing work on an overloaded 
>>>>>>> reporting node is the more important principle here.  If the 
>>>>>>> reacting node changes the advertised set of algorithms during an 
>>>>>>> active overload condition then the overloaded reporting node 
>>>>>>> will be required to send end-of-overload OLRs for the previous 
>>>>>>> algorithm and then send start-of-overload OLRs for the new 
>>>>>>> algorithm.  This seems complex at a time the overloaded node 
>>>>>>> should be focusing on getting out of the overload condition.
>>>>>> Sending an OLR that the reacting node does not understand will 
>>>>>> not help you get out of overload.
>>>>>>
>>>>>> I don't see how this is any more complex that if you simply have 
>>>>>> multiple reacting nodes with different capabilities--and I don't 
>>>>>> see how to avoid supporting that case.
>>>>>>
>>>>>>>> I think that's considerably more important that restricting the 
>>>>>>>> reporting node from changing algorithms (Which, btw, does no 
>>>>>>>> harm with the only algorithms that we are seriously 
>>>>>>>> contemplating.We speculate that it might cause harm for some 
>>>>>>>> future algorithm.)
>>>>>>> SRD> We already have the restriction on the reporting node.
>>>>>> We already have both restrictions, and they contradict. I believe 
>>>>>> the _existing_ restriction to not select an algorithm that is not 
>>>>>> advertised in the request is more important than the _existing_ 
>>>>>> restriction to not change algorithms during an overload condition.
>>>>>>
>>>>>>
>>>>>>>> Remember, this is not just about a single reacting node 
>>>>>>>> changing it's capabilities, it's also about multiple reacting 
>>>>>>>> nodes with different capabilities. We can't disallow one 
>>>>>>>> without disallowing the other.
>>>>>>> SRD> Multiple reacting nodes with different capabilities is all 
>>>>>>> the more reason to hold things constant during an overload 
>>>>>>> condition.
>>>>>> I don't follow that. You seem to be pushing towards using the 
>>>>>> same algorithm for all reacting nodes once an overload condition 
>>>>>> starts. Is that your intent?  (Given the possibility that some 
>>>>>> future reacting node will only support "loss", that "same 
>>>>>> algorithm" would pretty much always need to be loss.)
>>>>>>
>>>>>>> I'm not proposing disallowing reacting nodes from changing the 
>>>>>>> set of capabilities, I'm proposing that these changes don't take 
>>>>>>> effect while there is an active overload condition.
>>>>>> The problem exists even if no reacting node ever changes its 
>>>>>> capabilities.
>>>>>>
>>>>>>>>> SRD> I don't think we need to update the OCS in this document 
>>>>>>>>> to handle multiple algorithms.  This can be done in the 
>>>>>>>>> extension drafts.  We might want to make it clear, as it 
>>>>>>>>> appears it isn't already, that a reacting node might need to 
>>>>>>>>> support multiple algorithms at the same time.
>>>>>>>> Do you mean reacting or reporting node in the last sentence? 
>>>>>>>> Assuming you mean it as written, the problem is not that a 
>>>>>>>> reacting node may need to support multiple algorithms at the 
>>>>>>>> same time. It's that it may get OLRs that it cannot act upon 
>>>>>>>> because it doesn't support the algorithm.
>>>>>>> SRD> I meant reporting nodes.
>>>>>>>> If, otoh, you meant reporting node, I don't understand how a 
>>>>>>>> reporting node can have multiple algorithms for the same 
>>>>>>>> overload event, without reflecting that possibility in the OCS.
>>>>>>> SRD> Yes, it will need to be reflected in the OCS.  We don't 
>>>>>>> have multiple algorithms now so it isn't needed now.  I'm saying 
>>>>>>> we might want to say it might me needed in the future.
>>>>>> I'd rather not make each new algorithm redefine the basic 
>>>>>> structure of OCS.
>>>>>>
>>>>>> But, if you recall, my point was to say we need to _think_ about 
>>>>>> how this impacts OCS, not that we necessarily need to change 
>>>>>> anything. Are you opposed to thinking about it? (And no, I don't 
>>>>>> think this short exchange quite counts as that.)
>>>>>>
>>>>>>>>
>>>>>> _______________________________________________
>>>>>> DiME mailing list
>>>>>> DiME@ietf.org <mailto:DiME@ietf.org>
>>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>>>
>>>>>> _______________________________________________
>>>>>> DiME mailing list
>>>>>> DiME@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>
>>
>


--------------010509040004030903070901
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I'm good with this.<br>
    <br>
    Steve<br>
    <br>
    <div class="moz-cite-prefix">On 1/7/15 12:47 PM, Ben Campbell wrote:<br>
    </div>
    <blockquote
      cite="mid:6BC4E2B9-5A37-495A-8557-F0ABE5857142@nostrum.com"
      type="cite">
      <div class="">The note in 4.1.2 would be reasonable.</div>
      <div class=""><br class="">
      </div>
      <div class="">Here's a proposed alternative for your previous
        suggested paragraph:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">Note: This specification assumes that changes in
          DOIC node capabilities are relatively rare events that occur
          as a result of administrative action. Reacting nodes ought to
          minimize changes that force the reporting node to change the
          features being used, especially during active overload
          conditions. But even if reacting nodes avoid such changes,
          reporting nodes still have to be prepared for them to occur.
          For example, differing capabilities between multiple reacting
          nodes may still force a reporting node to select different
          features on a per-transaction basis.</div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">
        <div class="">If we accept this proposal, it probably should go
          in 4.1.1, since it’s no longer really about agents.</div>
        <div class=""><br class="">
        </div>
        <br class="">
        <blockquote type="cite" class="">On Jan 7, 2015, at 10:51 AM,
          Steve Donovan &lt;<a moz-do-not-send="true"
            href="mailto:srdonovan@usdonovans.com" class="">srdonovan@usdonovans.com</a>&gt;
          wrote:<br class="">
          <br class="">
          Yes, reporting nodes cannot depend on consistent capabilities
          between requests.  I don't find were we say that directly (in
          a very quick look) but it is implied by the fact that OC-S-F
          MUST be included in all requests and, as such, capabilities
          announcement does not span transactions.<br class="">
          <br class="">
          Maybe, in addition to the paragraph below that give guidance
          for agent based cases, we should add the following in Section
          4.1.2 (5.1.2 in DOIC-06) after paragraph 2:<br class="">
          <br class="">
           "Note:  Capability announcement is done per transaction.  The
          reporting node cannot assume that the capabilities announced
          by a reacting node will be the same between transactions."<br
            class="">
          <br class="">
          Regards,<br class="">
          <br class="">
          Steve<br class="">
          <br class="">
          On 1/7/15 10:13 AM, Ben Campbell wrote:<br class="">
          <blockquote type="cite" class="">I am almost okay with that.
            But on reflection, I think the issue is broader than
            described in the first sentence.<br class="">
            <br class="">
            For example (SE == supporting endpoint, NSE ==
            non-supporting endpoint, etc.)<br class="">
            <br class="">
            SE ----<br class="">
                        \<br class="">
                          ----NSA ---- RepNode<br class="">
            SE ---- /<br class="">
            <br class="">
            ... and ...<br class="">
            <br class="">
            NSE ----<br class="">
                          \<br class="">
                            ----SA ---- RepNode<br class="">
            NSE ---- /<br class="">
            <br class="">
            These scenarios look exactly the same from the reporting
            node's perspective. That is, the Reporting Node cannot tell
            if it has multiple supporting endpoints with different
            features, or one supporting agent that is arbitrarily
            changing its advertised features.  You can also run into the
            issue if all nodes support DOIC, if agents modify OC-S-F.<br
              class="">
            <br class="">
            So now (and admitting to opinion flapping), I wonder if the
            guidance should be that the Reporting Node cannot depend on
            consistent OC capabilities between requests, and must be
            prepared in general to deal with frequent changes in
            advertised features.<br class="">
            <br class="">
            <br class="">
            <blockquote type="cite" class="">On Jan 7, 2015, at 9:56 AM,
              Steve Donovan &lt;<a moz-do-not-send="true"
                href="mailto:srdonovan@usdonovans.com" class="">srdonovan@usdonovans.com</a>&gt;
              wrote:<br class="">
              <br class="">
              All,<br class="">
              <br class="">
              After further discussion with Ben, the recommendation is
              to NOT include the wording proposed in the attached email.
               Instead I propose to add the following wording in section
              4.1.3 (section 5.1.3 in version -06) after the third
              paragraph:<br class="">
              <br class="">
                       Note: When multiple agents are serving as the
              reacting node for a non supporting<br class="">
                       Diameter endpoint, each of those agents will be
              advertising capabilities for<br class="">
                       what looks to the reporting node like a single
              entity. Care should be taken<br class="">
                       to ensure that reporting node behavior is not
              adversely impacted in this scenario.<br class="">
                       For instance, if frequent changes in advertised
              features is a concern then<br class="">
                       care needs to be taken to ensure that all agents
              advertising capabilities for<br class="">
                       a single entity advertise the same DOIC features.<br
                class="">
              <br class="">
              Regards,<br class="">
              <br class="">
              Steve<br class="">
              <br class="">
              On 12/19/14 1:58 PM, Ben Campbell wrote:<br class="">
              <blockquote type="cite" class="">Steve and I had an
                offline discussion, and I think we agree that the
                reporting node can be forced to change algorithms during
                an active overload condition, if it gets a request that
                doesn't advertise support for the active algorithm.<br
                  class="">
                <br class="">
                We currently have text forbidding the reporting node
                from changing algorithms during an active overload
                condition, without making this exception. We assume
                that we still want to otherwise keep the limitation on
                algorithm changes during overload. Here's a concrete
                proposal:<br class="">
                <br class="">
                In 4.1.2:<br class="">
                <br class="">
                Old:<br class="">
                <br class="">
                For an ongoing overload condition, a reporting node MUST
                NOT change the selected algorithm during the period of
                time that it is in an overload condition and, as
                a result, is sending OC-OLR AVPs in answer messages.<br
                  class="">
                <br class="">
                New:<br class="">
                <br class="">
                For an ongoing overload condition, a reporting node MUST
                NOT initiate a change to the selected algorithm during
                the period of time that it is in an overload condition
                and, as a result, is sending OC-OLR AVPs in answer
                messages. This rule does not affect the case where the
                OC-Supported-Features in a new request matching the OLR
                does not advertise support for the current algorithm, in
                which case the reporting node would be forced to change
                algorithms. However, this rule does constrain the
                reporting node from changing algorithms simply because
                the reacting node advertises other algorithms in
                addition to one currently in use.<br class="">
                <br class="">
                Added text in 4.1.1:<br class="">
                <br class="">
                If a reacting node is using an abatement algorithm to
                abate traffic due to an active OLR from a reporting
                node, the reacting node SHOULD continue to
                advertise support for that algorithm in future requests
                that match the OLR, until the overload condition is
                terminated.<br class="">
                <br class="">
                <br class="">
                <blockquote type="cite" class="">On Dec 18, 2014, at
                  11:46 AM, Wiehe, Ulrich (NSN - DE/Munich) &lt;<a
                    moz-do-not-send="true"
                    href="mailto:ulrich.wiehe@nsn.com" class="">ulrich.wiehe@nsn.com</a>&gt;
                  wrote:<br class="">
                  <br class="">
                  Ben, Steve,<br class="">
                  <br class="">
                  Section 4.2.1.2 says:<br class="">
                    A reporting node SHOULD maintain OCS entries per
                  supported Diameter<br class="">
                    application, per supported (and eventually selected)
                  Abatement<br class="">
                    Algorithm and per report-type.<br class="">
                  <br class="">
                  For example, an HSS would maintain two OCSs for S6a
                  host-type reports, one for loss and one for rate. When
                  receiving a request that advertises only loss,
                  the returned OLR would be the one according to the
                  loss-OCS; When receiving a request that advertises
                  loss and rate, the HSS has two returned OLR would be
                  the one according to the rate-OCS.<br class="">
                  <br class="">
                  I don't see a problem when algorithm is changed at the
                  reacting node.<br class="">
                  <br class="">
                  Ulrich<br class="">
                  <br class="">
                  <br class="">
                  <br class="">
                  -----Original Message-----<br class="">
                  From: DiME [<a moz-do-not-send="true"
                    href="mailto:dime-bounces@ietf.org" class="">mailto:dime-bounces@ietf.org</a>]
                  On Behalf Of ext Ben Campbell<br class="">
                  Sent: Wednesday, December 17, 2014 11:39 PM<br
                    class="">
                  To: Steve Donovan<br class="">
                  Cc: <a moz-do-not-send="true"
                    href="mailto:dime@ietf.org" class="">dime@ietf.org</a><br
                    class="">
                  Subject: Re: [Dime] DOIC WGLC: Changing Algorithms<br
                    class="">
                  <br class="">
                  <br class="">
                  <blockquote type="cite" class="">On Dec 17, 2014, at
                    4:23 PM, Steve Donovan &lt;<a moz-do-not-send="true"
                      href="mailto:srdonovan@usdonovans.com" class="">srdonovan@usdonovans.com</a>&gt;
                    wrote:<br class="">
                    <br class="">
                    <br class="">
                    On 12/17/14 3:54 PM, Ben Campbell wrote:<br class="">
                    <blockquote type="cite" class="">
                      <blockquote type="cite" class="">On Dec 17, 2014,
                        at 3:35 PM, Steve Donovan &lt;<a
                          moz-do-not-send="true"
                          href="mailto:srdonovan@usdonovans.com"
                          class="">srdonovan@usdonovans.com</a>&gt;
                        wrote:<br class="">
                        <br class="">
                        <br class="">
                        On 12/17/14 1:00 PM, Ben Campbell wrote:<br
                          class="">
                        <blockquote type="cite" class="">
                          <blockquote type="cite" class="">On Dec 17,
                            2014, at 12:34 PM, Steve Donovan &lt;<a
                              moz-do-not-send="true"
                              href="mailto:srdonovan@usdonovans.com"
                              class="">srdonovan@usdonovans.com</a>&gt;
                            wrote:<br class="">
                            <br class="">
                            <blockquote type="cite" class="">Okay, new
                              picture:<br class="">
                              <br class="">
                              <br class="">
                              <blockquote type="cite" class="">On Dec
                                17, 2014, at 11:26 AM, Steve Donovan
                                &lt;<a moz-do-not-send="true"
                                  href="mailto:srdonovan@usdonovans.com"
                                  class="">srdonovan@usdonovans.com</a>&gt;<br
                                  class="">
                                wrote:<br class="">
                                <br class="">
                                Ben,<br class="">
                                <br class="">
                                The value of the Origin-Host matters
                                greatly here.  In both cases, what S
                                needs to know is if there is a reacting
                                node for traffic coming from C1 and if
                                there is a reacting node for traffic
                                coming from C2.<br class="">
                                <br class="">
                              </blockquote>
                              There is no assumption in the draft right
                              now that we have a correlation between
                              reacting nodes and clients. That might be
                              required for client-targed OLRs, but we
                              don't have those yet.<br class="">
                              <br class="">
                              Consider a different picture. In this
                              case, C never supports DOIC. the reacting
                              node role happens either at A1/A2 or at
                              A3, depending on which flow you look at.<br
                                class="">
                              <br class="">
                                     A1---<br class="">
                                    /         \<br class="">
                              C --             -------A3------S<br
                                class="">
                                    \         /<br class="">
                                      A2---<br class="">
                              <br class="">
                              Now, assume the same flows, but substitute
                              A1 for C1, A2, for C2, and A3 for A. All
                              requests now have the same origin-host.<br
                                class="">
                              <br class="">
                              Before you say this is unrealistic: The
                              issue is the same for any situation where
                              one client can send traffic across
                              multiple agents to the same destination.
                              It doesn't matter if there is one or a
                              million.<br class="">
                              <br class="">
                            </blockquote>
                            SRD&gt; Yes, this is nasty.  With
                            attribution S can detect the scenario.  I'm
                            not sure what it does once it selects it.
                             This can be addressed to some degree by
                            adding a deployment recommendation that  all
                            agents taking on reacting node functionality
                            for a single endpoint  select the same
                            algorithm.<br class="">
                          </blockquote>
                          I think some sort of attribution is the
                          long-term solution. Another option might be
                          some sort of DCA state identifier, or a
                          combination of the two. (e.g. multiple
                          "virtual" reacting node at the same physical
                          node.) The details will be non-trivial to
                          figure out.<br class="">
                          <br class="">
                          But to close the loop, I think the _short_
                          term solution is to say that, while a
                          reporting node should not _initiate_ a change
                          in algorithms during an overload condition, it
                          must still handle the situation where the
                          reacting node forces a change. We could go
                          further to say that reacting node also should
                          not initiate such a change, but we would have
                          to recognize that there are scenarios where
                          that guidance cannot be enforced, and the
                          reporting node still has to handle them.<br
                            class="">
                          <br class="">
                          We might need to think about what it means
                          from an OCS perspective for a reporting node
                          to send OLRs with different algorithms (or
                          potentially other capability parameters) for
                          the "same" overload event.<br class="">
                        </blockquote>
                        SRD&gt; I think it is a better solution to stay
                        with what we have now.  The reporting node MUST
                        NOT change the algorithm during an active
                        overload condition.  If a reacting node
                        advertises support for it, the reacting node is
                        saying it will support that algorithm for the
                        duration of any overload condition that happens
                        prior to the reacting node changing the
                        advertised algorithm.  The change in advertised
                        algorithm will take effect after the overload
                        condition goes away.<br class="">
                        <br class="">
                      </blockquote>
                      I disagree. I don't think we want to allow the
                      reporting node to ever indicate an algorithm that
                      was not advertised in the request. That violates
                      normative language earlier in the section that
                      says the selected algorithm MUST be one of the
                      ones advertised in the request. It can also cause
                      problems for reacting nodes, where they get OLRs
                      for an algorithm they don't understand.<br
                        class="">
                    </blockquote>
                    SRD&gt; They clearly do understand the algorithm.
                     They advertised it before the overload report
                    started.  We can change the normative language to
                    cover this exception.<br class="">
                  </blockquote>
                  In my first scenario, this is not true. C2 (or A2)
                   _never_ understood the rate algorithm, and never
                  advertised support for it.<br class="">
                  <br class="">
                  The whole point of this exercise was to show that the
                  reporting node cannot, in the general case,
                  distinguish between multiple reacting nodes with
                  different capabilities, and a single reacting node
                  that changes capabilities.<br class="">
                  <br class="">
                  By "general case", I mean no assumption that the
                  reacting nodes are peers with the reporting nodes, and
                  no assumption that you can correlate origin-host
                  values (in requests) to reacting-nodes.<br class="">
                  <br class="">
                  <br class="">
                  <blockquote type="cite" class="">I think the principle
                    of minimizing work on an overloaded reporting node
                    is the more important principle here.  If the
                    reacting node changes the advertised set
                    of algorithms during an active overload condition
                    then the overloaded reporting node will be required
                    to send end-of-overload OLRs for the previous
                    algorithm and then send start-of-overload OLRs for
                    the new algorithm.  This seems complex at a time the
                    overloaded node should be focusing on getting out of
                    the overload condition.<br class="">
                  </blockquote>
                  Sending an OLR that the reacting node does not
                  understand will not help you get out of overload.<br
                    class="">
                  <br class="">
                  I don't see how this is any more complex that if you
                  simply have multiple reacting nodes with different
                  capabilities--and I don't see how to avoid supporting
                  that case.<br class="">
                  <br class="">
                  <blockquote type="cite" class="">
                    <blockquote type="cite" class="">I think that's
                      considerably more important that restricting the
                      reporting node from changing algorithms (Which,
                      btw, does no harm with the only algorithms that we
                      are seriously contemplating.We speculate that it
                      might cause harm for some future algorithm.)<br
                        class="">
                    </blockquote>
                    SRD&gt; We already have the restriction on the
                    reporting node.<br class="">
                  </blockquote>
                  We already have both restrictions, and they
                  contradict. I believe the _existing_ restriction to
                  not select an algorithm that is not advertised in the
                  request is more important than the _existing_
                  restriction to not change algorithms during an
                  overload condition.<br class="">
                  <br class="">
                  <br class="">
                  <blockquote type="cite" class="">
                    <blockquote type="cite" class="">Remember, this is
                      not just about a single reacting node changing
                      it's capabilities, it's also about multiple
                      reacting nodes with different capabilities. We
                      can't disallow one without disallowing the other.<br
                        class="">
                    </blockquote>
                    SRD&gt; Multiple reacting nodes with different
                    capabilities is all the more reason to hold things
                    constant during an overload condition.<br class="">
                  </blockquote>
                  I don't follow that. You seem to be pushing towards
                  using the same algorithm for all reacting nodes once
                  an overload condition starts. Is that your intent?
                   (Given the possibility that some future reacting node
                  will only support "loss", that "same algorithm" would
                  pretty much always need to be loss.)<br class="">
                  <br class="">
                  <blockquote type="cite" class="">I'm not proposing
                    disallowing reacting nodes from changing the set of
                    capabilities, I'm proposing that these changes don't
                    take effect while there is an active overload
                    condition.<br class="">
                  </blockquote>
                  The problem exists even if no reacting node ever
                  changes its capabilities.<br class="">
                  <br class="">
                  <blockquote type="cite" class="">
                    <blockquote type="cite" class="">
                      <blockquote type="cite" class="">SRD&gt; I don't
                        think we need to update the OCS in this document
                        to handle multiple algorithms.  This can be done
                        in the extension drafts.  We might want to make
                        it clear, as it appears it isn't already, that a
                        reacting node might need to support multiple
                        algorithms at the same time.<br class="">
                      </blockquote>
                      Do you mean reacting or reporting node in the last
                      sentence? Assuming you mean it as written, the
                      problem is not that a reacting node may need to
                      support multiple algorithms at the same time. It's
                      that it may get OLRs that it cannot act upon
                      because it doesn't support the algorithm.<br
                        class="">
                    </blockquote>
                    SRD&gt; I meant reporting nodes.<br class="">
                    <blockquote type="cite" class="">If, otoh, you meant
                      reporting node, I don't understand how a reporting
                      node can have multiple algorithms for the same
                      overload event, without reflecting
                      that possibility in the OCS.<br class="">
                    </blockquote>
                    SRD&gt; Yes, it will need to be reflected in the
                    OCS.  We don't have multiple algorithms now so it
                    isn't needed now.  I'm saying we might want to say
                    it might me needed in the future.<br class="">
                  </blockquote>
                  I'd rather not make each new algorithm redefine the
                  basic structure of OCS.<br class="">
                  <br class="">
                  But, if you recall, my point was to say we need to
                  _think_ about how this impacts OCS, not that we
                  necessarily need to change anything. Are you opposed
                  to thinking about it? (And no, I don't think this
                  short exchange quite counts as that.)<br class="">
                  <br class="">
                  <blockquote type="cite" class="">
                    <blockquote type="cite" class=""><br class="">
                    </blockquote>
                  </blockquote>
                  _______________________________________________<br
                    class="">
                  DiME mailing list<br class="">
                  <a moz-do-not-send="true" href="mailto:DiME@ietf.org"
                    class="">DiME@ietf.org</a><br class="">
                  <a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a><br class="">
                  <br class="">
                  _______________________________________________<br
                    class="">
                  DiME mailing list<br class="">
                  <a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a><br class="">
                  <a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a><br class="">
                </blockquote>
              </blockquote>
            </blockquote>
            <br class="">
          </blockquote>
          <br class="">
        </blockquote>
        <br class="">
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------010509040004030903070901--


From nobody Thu Jan  8 03:57:33 2015
Return-Path: <bclaise@cisco.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 841AC1A1BDD for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 03:57:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level: 
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 EBOfJPcgumpJ for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 03:57:29 -0800 (PST)
Received: from aer-iport-1.cisco.com (aer-iport-1.cisco.com [173.38.203.51]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C1C151ACD24 for <dime@ietf.org>; Thu,  8 Jan 2015 03:57:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=957; q=dns/txt; s=iport; t=1420718248; x=1421927848; h=message-id:date:from:mime-version:to:cc:subject: content-transfer-encoding; bh=D9Df02Cs1smtdY3db+eQLXOuiRVrVKOb+brLCh160do=; b=NhpfJq2Tndwwk2oKSriCFa3AZFAhvK/lZHhVAkn7DgMd8ftX01XKGYOL r9b7pgg6YJXR1QiNmsVqMLHZmlU+YidNpE2OyGHASU9W6LuhZF/3bC1cR sBZgkNDJQBnLIGUo7qCytPhHIW5Fw90nSYe5Mj2Tjmm5Oni85Fa3jzBwD k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AswEAHpvrlStJssW/2dsb2JhbABcg1hYxgKFc4FWAQEBAQF9hEtAATwWGAMCAQIBSw0BBwEBiCgNxi8BAQEBAQEBAwEBAQEBAQEXBI8oAQFPhDABBJN5g0GBDoJxgheIH4M5IoNvPTEBgQuBNwEBAQ
X-IronPort-AV: E=Sophos;i="5.07,722,1413244800"; d="scan'208";a="304331825"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-1.cisco.com with ESMTP; 08 Jan 2015 11:57:26 +0000
Received: from [10.60.67.84] (ams-bclaise-8913.cisco.com [10.60.67.84]) by aer-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t08BvQl7008607; Thu, 8 Jan 2015 11:57:26 GMT
Message-ID: <54AE70A5.6070407@cisco.com>
Date: Thu, 08 Jan 2015 12:57:25 +0100
From: Benoit Claise <bclaise@cisco.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: dime mailing list <dime@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/niTU7LEUSVV79nCZ9ROGQd_zCEk>
Subject: [Dime] DIME WG transition to Kathleen as Responsible AD
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 11:57:31 -0000

Dear all,

In order to execute the IESG YANG Model Work Redistribution plan (see 
https://www.ietf.org/mail-archive/web/ietf/current/msg90926.html) and in 
accordance with the IETF areas re-organisation steps (see 
https://www.ietf.org/mail-archive/web/ietf/current/msg91015.html), 
Kathleen Moriarty will become the DIME responsible AD. You will be in 
good hands with Kathleen.

Note that DIME WG will remain in the OPS area. While Kathleen will be 
the responsible starting now, this change will only appear on the 
charter page in a little bit (we're targeting mid February). Indeed, the 
tooling aspects will have to checked: we might face a few issues when a 
non-OPS AD is responsible for an OPS WG.

I don't disappear from the IESG and I'm always available if you require 
my help, but Kathleen is now your responsible AD.

It was a pleasure being your AD for the last 3 years. Please continue 
the good work.

Regards, Benoit


From nobody Thu Jan  8 04:44:14 2015
Return-Path: <jean-jacques.trottin@alcatel-lucent.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 909EC1ACD3E for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 04:44:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level: 
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 nPaGD63V666i for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 04:44:04 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpgre-esg-01.alcatel-lucent.com [135.245.210.22]) (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 9FDAB1A3BA7 for <dime@ietf.org>; Thu,  8 Jan 2015 04:44:03 -0800 (PST)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (unknown [135.239.2.122]) by Websense Email Security Gateway with ESMTPS id 20956CBED6A10; Thu,  8 Jan 2015 12:43:59 +0000 (GMT)
Received: from FR711WXCHHUB02.zeu.alcatel-lucent.com (fr711wxchhub02.zeu.alcatel-lucent.com [135.239.2.112]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id t08ChxOw025670 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 8 Jan 2015 13:44:00 +0100
Received: from FR712WXCHMBA12.zeu.alcatel-lucent.com ([169.254.8.50]) by FR711WXCHHUB02.zeu.alcatel-lucent.com ([135.239.2.112]) with mapi id 14.03.0195.001; Thu, 8 Jan 2015 13:43:59 +0100
From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
To: Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Diameter load control inputs
Thread-Index: AdAoRTX1mtXcCV8gROKEYHqQd0nf8gBv2auAAEZezgA=
Date: Thu, 8 Jan 2015 12:43:59 +0000
Message-ID: <E194C2E18676714DACA9C3A2516265D2026F4F76@FR712WXCHMBA12.zeu.alcatel-lucent.com>
References: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com> <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com>
In-Reply-To: <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [135.239.27.41]
Content-Type: multipart/alternative; boundary="_000_E194C2E18676714DACA9C3A2516265D2026F4F76FR712WXCHMBA12z_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/TXHHO8-HBMMB5WcjFrE87D_YsHM>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 12:44:11 -0000

--_000_E194C2E18676714DACA9C3A2516265D2026F4F76FR712WXCHMBA12z_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQmVuDQoNClRoYW5rcyBmb3IgeW91ciBmZWVkYmFjDQoNClJlZ2FyZGluZyB5b3VyIGhpZ2gg
bGV2ZWwgb2JzZXJ2YXRpb25zOw0KDQoxKSBBYm91dCAgdGhlIGZpZ3VyZSB5b3UgZGVzY3JpYmVk
ICB3aXRoIGEgY29ubmVjdGlvbiBiZXR3ZWVuICBTMSBhbmQgUzI6DQoNCiAg4oCULS0tLS0tUzEN
Ci8gICAgICAgIHwNCkMxICAgICAgIHwNClwgICAgICAgIHwNCiAg4oCU4oCULS0tLS1TMg0KWW91
IHNheSB0aGF0IFMxIG9yIFMyIGNhbiBwcm94eSBhIHJlcXVlc3QsIHRoaXMgaXMgZm9yIG1lIHJh
dGhlciBlcXVpdmFsZW50ICB0byBTMSBoYXZpbmcgYSBjb2xsb2NhdGVkICBwcm94eSBEQSwgc28g
YmVpbmcgYSBwYXJ0aWN1bGFyIGNhc2Ugb2YgZmlndXJlIDUuMy4gU28gSSBzdWdnZXN0IHRvIGNv
bnRpbnVlIHRvIHVzZSA1LjMgYWxzbyBjb3ZlcmluZyBzZXJ2ZXJzIHdpdGggbm9uIGNvbG9jYXRl
ZCBEQXMsIHVubGVzcyB5b3Ugd291bGQgeW91IGxpa2UgdGhlIGFib3ZlIHVzZSBjYXNlIHRvIGJl
IGhhbmRsZWQgc2VwYXJhdGVseQ0KDQpJIGFncmVlIHRoYXQgdGhlIHBhdGggQzE+UzEgKG9yIEMx
PkExPlMxIGluIDUuMykgaXMgbW9yZSBlZmZpY2llbnQgdGhhbiBDMT5TMT5TMiAoIG9yIEMxPkEx
PkEyPlMyIGluIDUuMykgYW5kIHRoYXQgb3RoZXIg4oCcY3Jvc3MgY29ubmVjdOKAnSB1c2UgY2Fz
ZXMgaW4gb3RoZXIgZmlndXJlcyBhbHNvIHByZXNlbnQgcGF0aHMgd2l0aCBtb3JlIGhvcHMgdGhh
biBvdGhlcnMuICBUaGUgcXVlc3Rpb24gd2hpY2ggeW91IHJhaXNlIGFuZCBvbiB3aGljaCB0aGUg
Z3JvdXAgd2lsbCBoYXZlIHRvIHRha2UgIGEgZGVjaXNpb24gaXM6ICBkbyB3ZSBmb2N1cyBvbmx5
IG9uIGxvYWQgYmFsYW5jaW5nIGJldHdlZW4gdGhlIHNob3J0ZXN0IHBhdGhzIChsb25nZXIgcGF0
aHMgdXNlZCBvbmx5IGZvciBvdmVybG9hZCBvciBmYWlsdXJlIGNhc2VzIGFzIHlvdSBpbmRpY2F0
ZWQgKSwgb3IgaWYgaXQgaXMgcmVsZXZhbnQgdG8gYWxzbyAgY29uc2lkZXIgbG9uZ2VyIHBhdGhz
IGZvciBsb2FkIGJhbGFuY2luZywgdGhlIHNlY29uZCBjaG9pY2UgbWF5IHNpZ25pZmljYW50bHkg
bWFrZSB0aGUgbG9hZCBiYWxhbmNpbmcgaW5mb3JtYXRpb24gdG8gZGVhbCB3aXRoIG1vcmUgY29t
cGxleC4gQnV0IHdlIGhhdmUgZmlyc3QgIHRvIGFzc2VzcyB0aGUgcmVxdWlyZW1lbnQuDQpUd28g
aGVyZWFmdGVyIG9ic2VydmF0aW9ucw0KDQoxLjEpIEluIGZpZ3VyZSA1LjM6IGlmIFMxIGlzIG1v
cmUgbG9hZGVkIHRoYW4gUzIgLCBmb3IgcmVhbG0gcm91dGVkIHJlcXVlc3RzLCBDMSwgdG8gYWNo
aWV2ZSBsb2FkIGJhbGFuY2luZywgbmVlZHMgYSAgbG9hZCBpbmZvIGZvciB0aGUgcmVhbG0gdmlh
ICBBMSAoYWNjb3JkaW5nIHRvIFMxIGxvYWQpLCAgYW5kIGFub3RoZXIgbG9hZCBpbmZvIHZpYSBB
MiAoYWNjb3JkaW5nIHRvIFMyIGxvYWQpDQoNCg0KDQoxLjIpICBBbm90aGVyIGRyYXdpbmcNCg0K
QzEtLS1BMS0tLS0tLVMxDQogICAgfA0KICAgIHwNCkMyLS0tQTItLS0tLS1TMg0KDQppZiBTMSBp
cyBtb3JlIGxvYWRlZCB0aGFuIFMyLCBBMSBtYXkgc2VuZCBzb21lIHRyYWZmaWMgY29taW5nIGZy
b20gQzEgdG8gUzIgdmlhIEEyLCBzbyB3aXRoICBhIGxvbmdlciBwYXRoIEMxPkExPkEyPlMyIHRo
YW4gQzE+QTE+UzEuIFRoaXMgbWVhbnMgdGhhdCBBMSBoYXMgbG9hZCBpbmZvcm1hdGlvbiBhYm91
dCBTMiBhbmQgYWJvdXQgUzEgdG8gZG8gbG9hZCBiYWxhbmNpbmcuIERvZXMgdGhpcyBjYXNlIGVu
dGVyIG91ciBzY29wZS4/DQoNCg0KDQoyKSBBYm91dA0KICAg4oCU4oCUQTEtLVMxLi4uU24NCiAv
DQpDDQogXA0KICAg4oCU4oCUQTItLVNuKzEuLi5TbQ0KDQpNeSBkcmF3aW5ncyA1LjUgdG8gNS43
IGFwcGVhciB0byBiZSBhIGJpdCBjb25mdXNpbmcsIGluIGZhY3QgbXkgZGlhZ3JhbXMgc2hvdWxk
IGJlIGNvcnJlY3RlZCBhcyB0aGlzIG9uZToNCg0KICAgICAgLy0tLVMxDQogICDigJTigJRBMS0t
LS4uLg0KICAvICB8XC0tLVNuDQogLyAgIHwNCkMgICAgfA0KIFwgICB8Ly0tU24rMQ0KICAg4oCU
4oCUQTItLS4uLg0KICAgICAgXC0tU20NClNvIHRoZSB1cHN0cmVhbSBzZXJ2ZXJzIGFyZSAgZGly
ZWN0bHkgY29ubmVjdGVkIHRvIGEgREEuDQoNCg0KMykgUGxlYXNlIGxldCBtZSBrbm93IGhvdyB5
b3Ugd291bGQgbGlrZSB0byBJbnNlcnQgdGhlIGFuYWx5c2lzIGludG8gdGhlIG5ldyB2ZXJzaW9u
IG9mIHlvdXIgZHJhZnQgLiAgSSB0aGluayB3ZSBtYXkgaGF2ZSBhIGRlZGljYXRlZCBzZWN0aW9u
IGFib3V0IHRvcG9sb2d5IHVzZSBjYXNlcy4NCg0KQmVzdCByZWdhcmRzDQoNCkpKYWNxdWVzDQoN
Cg0KDQoNCkRlIDogQmVuIENhbXBiZWxsIFttYWlsdG86YmVuQG5vc3RydW0uY29tXQ0KRW52b3nD
qSA6IG1lcmNyZWRpIDcgamFudmllciAyMDE1IDAxOjAxDQrDgCA6IFRST1RUSU4sIEpFQU4tSkFD
UVVFUyAoSkVBTi1KQUNRVUVTKQ0KQ2MgOiBkaW1lQGlldGYub3JnDQpPYmpldCA6IFJlOiBbRGlt
ZV0gRGlhbWV0ZXIgbG9hZCBjb250cm9sIGlucHV0cw0KDQpIaSBKSmFjcXVlcywNCg0KVG8gYW5z
d2VyIHlvdXIgbGF0IHF1ZXN0aW9uIGZpcnN0LCBJIHRoaW5rIHRoaXMgaXMgYSB1c2VmdWwgYW5h
bHlzaXMsIGFuZCB3b3VsZCBiZSB3aWxsaW5nIHRvIGNvbWJpbmUgaXQgaW50byBhIG5ldyB2ZXJz
aW9uIG9mIG15IHByZXZpb3VzIGRyYWZ0LiBXZSBjYW4gdGFsayBhYm91dCB0aGUgZGV0YWlscyBv
ZiB0aGF0IG9mZmxpbmUuDQoNClNlY29uZCwgc29tZSBoaWdoIGxldmVsIG9ic2VydmF0aW9uczoN
Cg0KRmlyc3QsIEZyb20gYSBsb2FkLWJhbGFuY2luZyBwZXJzcGVjdGl2ZSwgRmlndXJlIDUuMyBp
cyBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byB0aGUgZm9sbG93aW5nOg0KDQoNCiAg4oCULS0t
LS0tUzENCi8gICAgICAgIHwNCkMxICAgICAgIHwNClwgICAgICAgIHwNCiAg4oCU4oCULS0tLS1T
Mg0KV2hlcmUgUzEgYW5kIFMyIGNhbiBwcm94eSByZXF1ZXN0cyB0byB0aGUgb3RoZXIgYWNjb3Jk
aW5nIHRvIHNvbWUgcG9saWN5IChlLmcuIGxvYWQgYmFsYW5jaW5nKS4gSSBkb27igJl0IG1lYW4g
dG8gc3VnZ2VzdCB5b3Ugd291bGQgZGVwbG95IGl0IHRoYXQgd2F5LCBidXQgaXQgbWFrZXMgYW5v
dGhlciBvYnNlcnZhdGlvbiBtb3JlIG9idmlvdXMsIHdoaWNoIGlzIHRoYXQgQzEtPlMxIG9yIEMx
LT5TMiBhcmUgbW9yZSBlZmZpY2llbnQgdGhhbiBDMS0+UzEtPlMyIG9yIEMxLT5TMi0+UzEuDQoN
Ck15IGluaXRpYWwgcmVhY3Rpb24gaXMgdG8gdGhpbmsgdGhhdCB3ZSBjYW4gZ2VuZXJhbGl6ZSB0
aGlzIHRvIHRoZSB2YXJpb3VzIHVzZSBjYXNlcyB0aGF0IGhhdmUgY3Jvc3MtY29ubmVjdGVkIGFn
ZW50cy4gVGhhdCBpcywgd2hlbiBhbGwgZWxzZSBpcyBlcXVhbCwgc2hvcnRlciBwYXRocyBiZXR3
ZWVuDQpjbGllbnQgYW5kIHNlcnZlciBhcmUgYmV0dGVyIHRoYW4gbG9uZ2VyIG9uZXMuIFRoaXMg
c2VlbXMgdG8gc3VnZ2VzdCB0aGF0IHRoZSBjcm9zcy1wYXRoIGNvbm5lY3Rpb25zIGJlIHJlc2Vy
dmVkIGZvciBmYWlsdXJlIG9yIG92ZXJsb2FkIGNhc2VzLiBUaGlzIHByb2JhYmx5IGhhcyBpbXBs
aWNhdGlvbnMgb24gd2hldGhlciB0aGUgbG9hZCBtZXRyaWMgc2VudCBieSBhbiBhZ2VudCBzaG91
bGQgc29tZWhvdyBhZ2dyZWdhdGUgdGhlIGxvYWQgbWV0cmljcyBvZiBpdHMgc2VydmVycy4gKE9y
IGF0IGxlYXN0IHRha2UgdGhlbSBhcyBhbiBpbnB1dC4pDQoNClNlY29uZCwgeW91ciBmaWd1cmVz
IDUuNS01Ljcgc3VnZ2VzdCB0aGF0IHdlIG1heSBoYXZlIGNhc2VzIHdoZXJlIHRoZSBudW1iZXIg
b2Ygc2VydmVycyB0byB0aGUgcmlnaHQgb2YgYW4gYWdlbnQgbWF5IG5vdCBiZSBrbm93biBieSB0
aGUgY2xpZW50LiBIZXJl4oCZcyBhIHNpbXBsaWZpZWQgdmlldzoNCg0KICAg4oCU4oCUQTEtLVMx
Li4uU24NCiAvDQpDDQogXA0KICAg4oCU4oCUQTItLVNuKzEuLi5TbQ0KDQoNCkluIHRoaXMgY2Fz
ZSwgdGhlIGxvYWQgbWV0cmljcyBmb3IgdGhlIHNlcnZlcnMgYXJlIG9mIGxpdHRsZSB1c2UgdG8g
Qywgc2luY2UgaW4gZ2VuZXJhbCBDIHdpbGwgbm90IGtub3cgaWYgaXTigJlzIGtub3dsZWRnZSBl
bmNvbXBhc3NlcyBhbGwgcG9zc2libGUgZGVzdGluYXRpb25zLiAoQSByZWxhdGVkIHF1ZXN0aW9u
IGlzIHdldGhlciB0aGUgX2FnZW50c18gYWN0dWFsbHkga25vdyB0aGUgbG9hZCBtZXRyaWNzIGZv
ciBhbGwgdGhlIHBvc3NpYmxlIGRlc3RpbmF0aW9ucy4gSeKAmW0gbm90IHN1cmUgdGhleSBhbHdh
eXMgZG8sIGUuZy4gaWYgdGhleSBhcmUgdXNpbmcgZHluYW1pYyBkaXNjb3ZlcnkuDQoNCg0KDQoN
Ck9uIEphbiA0LCAyMDE1LCBhdCAxMTozOCBBTSwgVFJPVFRJTiwgSkVBTi1KQUNRVUVTIChKRUFO
LUpBQ1FVRVMpIDxqZWFuLWphY3F1ZXMudHJvdHRpbkBhbGNhdGVsLWx1Y2VudC5jb208bWFpbHRv
OmplYW4tamFjcXVlcy50cm90dGluQGFsY2F0ZWwtbHVjZW50LmNvbT4+IHdyb3RlOg0KDQpEZWFy
IGFsbA0KDQpJIGZpcnN0IHdpc2ggeW91IGEgIGhhcHB5ICBuZXcgeWVhciBmb3IgeW91IGFuZCB5
b3VyIGZhbWlseSBhcyB3ZWxsIGluIHlvdXIgcHJvZmVzc2lvbmFsIGxpZmUuDQoNCkkgaGVyZWFm
dGVyIGFkZHJlc3Mgb3VyIG5ldyB0b3BpYyBvbiBEaWFtZXRlciBsb2FkIGNvbnRyb2wuDQpJIGFt
IGluIGZhdm9yIHRvIGNvbnRpbnVlIHRoZSB3b3JrIHRoYXQgQmVuIGhhcyBjb3ZlcmVkIGluIGhp
cyDigJxkcmFmdC1jYW1wYmVsbC1kaW1lLWxvYWQtY29uc2lkZXJhdGlvbnMtMDDigJ0gZG9jdW1l
bnQsIGJ5IGFkZGluZywgaW52ZXN0aWdhdGluZyB2YXJpb3VzIGNvbnNpZGVyYXRpb25zLg0KDQpJ
IGhlcmVhZnRlciBnaXZlIHNldmVyYWwgYWRkaXRpb25hbCBzZWN0aW9uIHBhcnRzIG9yIHBhcmFn
cmFwaHMgIHRoYXQgSSB0aGluayBjb3VsZCBiZSBpbnNlcnRlZCBpbiBCZW7igJlzIGRyYWZ0LiBJ
IGhhdmUgcHV0IHNvbWUgdGl0bGVzIGFuZCBudW1iZXJpbmcgKCNMMSwgI0wyIOKApikgIHRvIHJl
dXNlIGluIHNlcGFyYXRlZCBlbWFpbCB0cmVhZHMgZm9yIGRpc2N1c3Npb24uDQoNCkkgaGF2ZSBp
bmNsdWRlZCB0b3BvbG9neSB1c2UgY2FzZXMuIEZvciBEaWFtZXRlciBvdmVybG9hZCwgIFN0ZXZl
IGRpZCBzZXZlcmFsICBwcmVzZW50YXRpb25zIG9uIHRoZSAgdmFyaW91cyB1c2UgY2FzZXMgdG8g
Y29uc2lkZXIuIEkgdGhpbmsgYWxzbyBnb29kIHRvIGRvIHRoZSBzYW1lIGZvciBEaWFtZXRlciBs
b2FkLCBhbmQgdG8gaW5zZXJ0IHN1Y2ggdXNlIGNhc2VzIGluIHRoZSBCZW7igJlzIGRyYWZ0LiBZ
b3UgbWF5IGNvbnNpZGVyIHRoaXMgbGlzdCBzb21ld2hhdCBsb25nIGJ1dCB0aGVzZSB1c2UgY2Fz
ZXMgaGlnaGxpZ2h0IGEgY2VydGFpbiBudW1iZXIgb2YgcG9pbnRzIGZvciB3aGljaCB3ZSB3aWxs
IGhhdmUgdG8gdGFrZSBzb21lIGRlY2lzaW9ucyAoZWcgdG8gY292ZXIgdGhlbSBvciBub3Qgb3Ig
dG8gc2VlIGxhdGVyIGlmICBzb2x1dGlvbiBhc3N1bXB0aW9ucyBhcHBseSB3ZWxsKS4gVGhlcmUg
YXJlIG1vcmUgZnJvbSBhIHJlcXVpcmVtZW50IHZpZXdwb2ludCB0aGFuIGluIHRoZSBzb2x1dGlv
biBpdHNlbGYgYXMgSSBkbyBub3QgYWRkcmVzcyB0aGUgZXhhY3QgY29udGVudCBvZiBsb2FkIGlu
Zm9ybWF0aW9uIGFuZCB0aGUgd2F5IGl0IHdpbGwgYmUgdHJhbnNmZXJyZWQNCg0KDQojTDEgICBU
b3BvbG9neSB1c2UgY2FzZXMgKGNhbiBiZSBpbnNlcnRlZCBpbiBzZWN0aW9uIDUgKQ0KDQoNCiAg
ICAgICAgICAtLS0tLS1TMQ0KICAgICAgICAvDQogICAgICBDMQ0KICAgICAgICBcDQogICAgICAg
ICAgLS0tLS0tUzINCkZpZ3VyZSA1LjENCg0KSW4gdGhpcyBzaW1wbGUgY2FzZSAobm8gREEpIGUu
Zy4gZm9yIGEgc21hbGwgbmV0d29yaywgdGhlIHNlcnZlcnMgYXJlIHBlZXJzIG9mIHRoZSBjbGll
bnQuIFRoZSBjbGllbnQgc2VsZWN0cyB0aGUgc2VydmVyIGFjY29yZGluZyB0byB0aGUgbG9hZCBp
bmZvcm1hdGlvbiBpdCByZWNlaXZlcyBmcm9tIHRoZSBzZXJ2ZXJzLg0KDQoNCiAgICAgICAgICAt
LS0tLS1TMQ0KICAgICAgICAvDQpDMS0tLS1BDQogICAgICAgIFwNCiAgICAgICAgICAtLS0tLS1T
Mg0KRmlndXJlIDUuMg0KDQpUaGUgYWdlbnQgc2VsZWN0cyB0aGUgc2VydmVyIGFjY29yZGluZyB0
byB0aGUgbG9hZCBpbmZvcm1hdGlvbiBpdCByZWNlaXZlcyBmcm9tIHRoZSBzZXJ2ZXJzLiBIZXJl
LCB0aGUgY2xpZW50IGRvZXMgbm90IG5lZWQgdG8gcmVjZWl2ZSBsb2FkIGluZm9ybWF0aW9uIGFz
IGl0IGRvZXMgbm90IGRvIGxvYWQgYmFsYW5jaW5nLiBJdCBpcyB0byBjaGVjayBpZiBsb2FkIGlu
Zm9ybWF0aW9uIHdvdWxkIGJlIHVzZWZ1bCB0byB0aGUgY2xpZW50IGZvciBvdGhlciBwdXJwb3Nl
cyAoZS5nLiBhbnRpY2lwYXRpbmcgYSBmdXR1cmUgb3ZlcmxvYWQgb2YgdGhlIHNlcnZlcikuDQoN
Cg0KICAgLS0tQTEtLS0tLS1TMQ0KLyAgICB8DQpDMSAgIHwNClwgICAgfA0KICAgLS0tQTItLS0t
LS1TMg0KDQpGaWd1cmUgNS4zDQoNCkMxIHdoZW4gc2VuZGluZyBhIHJlYWxtIHJvdXRlZCByZXF1
ZXN0IGV2ZW4gZG9lcyBub3Qga25vdyB3aGljaCBzZXJ2ZXIgd2lsbCBoYW5kbGUgdGhlIHJlcXVl
c3QgYW4gZXZlbiBtb3JlIGRvZXMgbm90IGtub3cgdG8gd2hpY2ggREEgUzEgYW5kIFMyIGFyZSBj
b25uZWN0ZWQgdG8uIFNvIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9uIHRoZSBzZXJ2ZXJzIGlzIG5v
dCB1c2VmdWwuIEJ1dCBDMSBoYXMgdG8gc2VsZWN0IHRvIHdoaWNoIGZyb20gQTEgb3IgQTIgaXQg
d2lsbCBzZW5kIHRoZSByZXF1ZXN0LiBJdCBjYW4gZG8gaXQgb24gdGhlIGJhc2lzIG9mIHRoZSBs
b2FkIGluZm9ybWF0aW9uIG9mIEExIG9yIEEyLiBCdXQgaXMgaXQgc3VmZmljaWVudD8NCklmIFMx
IGhhcyBoaWdoIGxvYWQgYW5kIFMyIGEgc21hbGwgb25lLCB0byBpbXByb3ZlIHRoZSBsb2FkIGJh
bGFuY2luZyB3b3VsZCBtZWFuIHRoYXQNCmEpIEMxIHNlbmRzIG1vcmUgdHJhZmZpYyB0byBBMiB3
aGljaCBmb3J3YXJkIHRvIFMyLCBtZWFuaW5nIHRoYXQgQzEgaGFzIHJlY2VpdmVkIGxvYWQgaW5m
b3JtYXRpb24gZnJvbSBBMiBub3Qgb25seSBpbmNsdWRpbmcgQTIgbG9hZCBidXQgYWxzbyB0aGUg
UzIgbG9hZA0KYikgb3IgQzEsIGhhdmluZyBubyBpbmZvcm1hdGlvbiBvbiBzZXJ2ZXIgbG9hZCBl
cXVhbGx5IHNlbmRzIHRyYWZmaWMgdG8gQTEgYW5kIEEyLiBUaGVuIGlmIEExIHJlY2VpdmVzIGZy
b20gQTIgbG9hZCBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgdGhlIGxvYWQgb2YgUzIgbWF5IHRoZW4g
ZGVjaWRlIHRvIHJvdXRlIG1vcmUgdHJhZmZpYyB0byBTMiB2aWEgQTIuIFRoaXMgaXMgbGVzcyBv
cHRpbWFsIHRoYW4gdGhlIGZpcnN0IGNhc2UgYXMgYWRkaW5nIGEgbmV3IGhvcCBpbiB0aGUgcGF0
aCAoQzEtQTEtQTItUzIuDQoNCkFuIGluaXRpYWwgcXVlc3Rpb24gaXMgdG8gY29uc2lkZXIgaWYg
dGhpcyBzdWJjYXNlcyBhKSBhbmQgYikgYXJlIHJlbGV2YW50IGFuZCBlbnRlciB0aGUgc2NvcGUu
DQoNCkMxLCB3aGVuIHNlbmRpbmcgYSBob3N0IHJvdXRlZCByZXF1ZXN0LCBjYW4gZG8gaXQgdmlh
IEExIG9yIEEyIGFzIHJvdXRpbmcgZm9yIEMxIGlzIGJhc2VkIG9uIHRoZSByZWFsbS4gSXMgaXQg
dG8gYmUgY29uc2lkZXJlZCBpZiBsb2FkIGNvbnRyb2wgaW5mb3JtYXRpb24gcmVjZWl2ZWQgYnkg
QzEgZ2l2ZXMgc29tZSBoaW50IHRvIHJhdGhlciBzZWxlY3QgQTEgcmF0aGVyIHRoYW4gQTIgd2hl
biBTMSBpcyB0aGUgZGVzdGluYXRpb24gaG9zdCwgc28gdG8gYXZvaWQgYW4gYWRkaXRpb25hbCBo
b3A/IE9yIGlmIGl0IGlzIG91dCBvZiB0aGUgc2NvcGU/DQoNCg0KICAgICAgICAgLS0tLS1TMw0K
ICAgICAgIC8NCiAgIC0tLUExLS0tLS0tUzENCi8gICAgfA0KQzEgICB8DQpcICAgIHwNCiAgIC0t
LUEyLS0tLS0tUzINCiAgICAgICBcDQogICAgICAgICAtLS0tIFM0DQpGaWd1cmUgNS40DQoNClRo
aXMgZGlhZ3JhbSBpcyBhbiBleHRlbnNpb24gb2YgdGhlIHByZXZpb3VzIG9uZSB3aXRoIGFkZGl0
aW9uYWwgc2VydmVycyBjb25uZWN0ZWQgdG8gQTEgYW5kIEEyIGFuZCBjb3VsZCBiZSBtb3JlIGNv
bW1vbiB0aGFuIDUuMy4NCkNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBkaWFncmFtLA0KLSBmb3Ig
dGhlIHN1YmNhc2UgYSksIGZvciByZWFsbSByb3V0ZWQgcmVxdWVzdCBDMSBjaG9pY2UgYmV0d2Vl
biBBMSBhbmQgQTIgY2FuIHJlbHkgb24gdGhlIGNvbWJpbmVkIChvciBhZ2dyZWdhdGVkKSBsb2Fk
IG9mIFMxIGFuZCBTMyBjb21wYXJlZCB0byB0aGUgYWdncmVnYXRlZCBsb2FkIG9mIFMyIGFuZCBT
NC4NCi0gZm9yIHRoZSBzdWJjYXNlIGIpIHNpbWlsYXJseSwgQTEgd291bGQgY29tcGFyZSBhbiBh
Z2dyZWdhdGVkIGxvYWQgb2YgUzIgYW5kIFM0IHJlY2VpdmVkIGZyb20gQTIgdG8gdGhlIGFnZ3Jl
Z2F0ZWQgbG9hZCBvZiBTMSBhbmQgUzMuDQoNClRoaXMgdXNlIGNhc2UgbWF5IGRyaXZlIHRvIGNv
bnNpZGVyIGlmIHRoZSBsb2FkIG9mIGEgc2V0IG9mIG5vZGVzIChhZ2dyZWdhdGVkIGxvYWQpIHdv
dWxkIGJlIHVzZWZ1bCBvciBpZiBpdCBjYW4gYmUgYXZvaWRlZC4NCg0KDQogICAtLS1BMS0tLVMx
LCBTMyDigKYNCi8gICAgfCBcLw0KQzEgICB8IC9cDQpcICAgIHwvICBcDQogICAtLS1BMi0tLVMy
LCBTNCDigKYNCg0KRmlndXJlIDUuNQ0KDQpJbiB0aGlzIGRpYWdyYW0sIGFsbCBzZXJ2ZXJzIGFy
ZSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgc2V0IG9mIERBcywgd2hpY2ggbXVsdGlwbHkgdGhlIG51
bWJlciBvZiBjb25uZWN0aW9ucyBiZXR3ZWVuIHNlcnZlcnMgYW5kIHRoZWlyIERBczsgb3RoZXJ3
aXNlLCB3ZSBjb21lIGJhY2sgdG8gdGhlIGZpZ3VyZSA1LjQgY2FzZSBvciBhbiBoeWJyaWQgY2Fz
ZSBiZXR3ZWVuIGZpZ3VyZSA1LjQgYW5kIDUuNS4NCkMxIHdoZW4gc2VuZGluZyBhIHJlcXVlc3Qg
bWF5IHNlbGVjdCBBMSBvciBBMiBhY2NvcmRpbmcgdG8gYSBsb2FkIGluZm9ybWF0aW9uIG9ubHkg
cmVsYXRlZCB0byBBMSBsb2FkIGFuZCBBMiBsb2FkLiBUaGlzIHNlbGVjdGlvbiBpcyBpbmRlcGVu
ZGVudCBmcm9tIHRoZSBzZXJ2ZXIgbG9hZCwgZXhjZXB0IGlmIHdlIHRha2UgaW50byBhY2NvdW50
IGUuZy4gdGhlIGxvYWQgb2YgdGhlIEExL1MxIGNvbm5lY3Rpb24gYW5kIHRoZSBsb2FkIG9mIEEy
L1MxIGNvbm5lY3Rpb24gd2hpY2ggbWF5IGJlIGRpZmZlcmVudC4NCg0KQTEgKG9yIEEyKSB0aGVu
IHNlbGVjdHMgdGhlIHNlcnZlciBhY2NvcmRpbmcgdG8gbG9hZCBpbmZvcm1hdGlvbiByZWNlaXZl
ZCBmcm9tIHRoZXNlIHNlcnZlcnMsIGV4Y2VwdCBmb3IgaG9zdCByb3V0ZWQgcmVxdWVzdHMuDQoN
Cg0KICAgLS0tQTEtLS1BMy0tLS1TMSwgUzMg4oCmDQovICAgIHwgXC8gfA0KQzEgICB8IC9cIHwN
ClwgICAgfC8gIFx8DQogICAtLS1BMi0tLUE0LS0tLVMyLCBTNCDigKYNCg0KRmlndXJlIDUuNg0K
DQpUaGlzIGRpYWdyYW0gaW50cm9kdWNlcyDigJx0d28gbGF5ZXJz4oCdIG9mIERBcyBiZXR3ZWVu
IGNsaWVudHMgYW5kIHNlcnZlcnMuDQpDb21wYXJlZCB0byBmaWd1cmUgNS4zIG9yIDUuNCwgQzEg
d2hlbiBzZW5kaW5nIGEgcmVxdWVzdCBtYXkgc2VsZWN0IEExIG9yIEEyIGFjY29yZGluZyB0byBh
IGxvYWQgaW5mb3JtYXRpb24gb25seSByZWxhdGVkIHRvIEExIGxvYWQgYW5kIEEyIGxvYWQuIFRo
ZW4gQTEob3IgQTIpd2hlbiBkb2luZyBmdXJ0aGVyIHJvdXRpbmcsIGFyZSBpbiBhIHNpbWlsYXIg
c2l0dWF0aW9uIHRvIEMxIGluIEZpZ3VyZXMgNS4zIG9yIDUuNC4NCg0KDQogICAtLS1BMS0tLUEz
LS0tUzEsIFMzIOKApg0KLyAgICB8IFwvIHwgXC8NCkMxICAgfCAvXCB8IC9cDQpcICAgIHwvICBc
fC8gIFwNCiAgIC0tLUEyLS0tQTQtLS1TMiwgUzQg4oCmDQoNCkZpZ3VyZSA1LjcNCkFzIGluIGZp
Z3VyZSA1LjQsIGFsbCBzZXJ2ZXJzIGFyZSBjb25uZWN0ZWQgdG8gYSBjb21tb24gc2V0IG9mIERB
cyAoaGVyZSBBMywgQTQpLCB3aGljaCBtdWx0aXBseSB0aGUgbnVtYmVyIG9mIGNvbm5lY3Rpb25z
IGJldHdlZW4gc2VydmVycyBhbmQgdGhlaXIgREFzOyBvdGhlcndpc2UsIHdlIGNvbWUgYmFjayB0
byB0aGUgZmlndXJlIDUuNiBjYXNlIG9yIGEgaHlicmlkIGNhc2UgYmV0d2VlbiBmaWd1cmVzIDUu
NiBhbmQgNS43Lg0KQzEgd2hlbiBzZW5kaW5nIGEgcmVxdWVzdCBtYXkgc2VsZWN0IEExIG9yIEEy
IGFjY29yZGluZyB0byBhIGxvYWQgaW5mb3JtYXRpb24gb25seSByZWxhdGVkIHRvIEExIGxvYWQg
YW5kIEEyIGxvYWQuIFRoaXMgc2VsZWN0aW9uIGlzIGluZGVwZW5kZW50IGZyb20gdGhlIHNlcnZl
ciBsb2FkLg0KVGhlbiBBMSBvciBBMiBmb3IgZnV0cmplciByb3V0aW5nIGhhdmUgYSBzaW1pbGFy
IHNpdHVhdGlvbiB0byBDMSBpbiBmaWd1cmUgNS41Lg0KVGhpcyBjYXNlIG9mZmVyIGEgaGlnaCBm
bGV4aWJpbGl0eSBhYm91dCBsb2FkIHNoYXJpbmcgdGhhdCBjYW4gYmUgZG9uZSBpbiBkaWZmZXJl
bnQgcGxhY2VzLCBidXQgYWxzIG8gbWF5IGludHJvZHVjZSBoaWdoZXIgY29tcGxleGl0eSBhYm91
dCBzZWxlY3RpbmcgdGhlIHJpZ2h0IHJvdXRpbmcuDQoNCl9fX19fX19fX19fX19fX19fX19fX19f
X19fXw0KDQojTDIgICAgUGFydGl0aW9uZWQgc2VydmVycyAoY2FuIGJlIGFkZGVkIGluIHNlY3Rp
b24gNSkNCg0KVGhpcyB0aGUgY2FzZSBvZiByZWFsbSByb3V0ZWQgcmVxdWVzdCB3aGVyZSBvbmx5
IG9uZSBvciBzb21lIHNlcnZlcnMgaW4gdGhlIHNhbWUgcmVhbG0gY2FuIGhhbmRsZSB0aGUgcmVx
dWVzdCwgc28gbm8gbG9hZCBiYWxhbmNpbmcgdG8gb3RoZXIgc2VydmVycyBvZiB0aGUgcmVhbG0g
Y2FuIGJlIGFjaGlldmVkLiBBbiBpbnRlcm1lZGlhdGUgcHJveHkgREEgd2lsbCBzZWxlY3QgdGhl
IHBvc3NpYmxlIHNlcnZlcihzKWZvciB0aGlzIHJlcXVlc3QsIGFuZCBpZiBzZXZlcmFsIHNlcnZl
cnMsIHRoZSBEQSBtYXkgZG8gc29tZSBsb2FkIGJhbGFuY2luZyBiZXR3ZWVuIHRoZW0gYW5kIGlm
IG9uZSBzZXJ2ZXIsIHRoZSBEQSBtYXkgYWN0IGFzIHdpdGggaG9zdCByb3V0ZWQgcmVxdWVzdHMu
DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fXw0KI0wzICAgIEFjdGl2ZSBhbmQgc3RhbmQg
Ynkgbm9kZXMgKGNhbiBiZSBpbnNlcnRlZCBpbiBzZWN0aW9uIDUpDQoNCkluIHRoZSBhYm92ZSB0
b3BvbG9neSB1c2UgY2FzZXMsIGl0IGlzIGFzc3VtZWQgdGhhdCBsb2FkIHNoYXJpbmcgY2FuIGJl
IHVzZWQgYmV0d2VlbiB0aGUgZGlmZmVyZW50IHBvc3NpYmxlIGNvbm5lY3Rpb25zIG9mIHRoZSBm
aWd1cmVzLiBJZiBub2RlcyBhcmUgaW4gYW4gIGFjdGl2ZSBhbmQgc3RhbmQgYnkgY29uZmlndXJh
dGlvbnMsIHRoZSBmaWd1cmVzIHRvIGNvbnNpZGVyIGFyZSB3aXRoIHRoZSBvbmx5IGFjdGl2ZSBj
b25uZWN0aW9ucy4gVGhlIHN3aXRjaCBmcm9tIHRoZSBhY3RpdmUgdG8gdGhlIHN0YW5kIGJ5IG5v
ZGUgd2l0aCB0aGUgbG9hZCBoYW5kbGluZyBhc3BlY3QgaXMgYW5vdGhlciB0b3BpYy4NCg0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQojTDTigKYgU29tZSBjb25zaWRlcmF0
aW9ucyBmcm9tIHRoZSB0b3BvbG9neSB1c2UgY2FzZXMgKGNhbiBiZSBpbnNlcnRlZCBpbiBzZWN0
aW9uIDUpDQoNCi0gdGhlcmUgaXMgYSBsYXJnZSB2YXJpZXR5IG9mIHVzZSBjYXNlcyB3aXRoIHZh
cmlvdXMgcGxhY2VzIHdoZXJlIGxvYWQgYmFsYW5jaW5nIGFjdGlvbnMgY2FuIGJlIHRha2VuLiBU
aGlzIG1heSBpbXBhY3QgdGhlIGNvbnRlbnQgb2YgbG9hZCBpbmZvcm1hdGlvbiB0cmFuc2ZlcnJl
ZCBkb3duc3RyZWFtLiBJdCBzaG91bGQgYWxzbyBiZSBhdm9pZGVkIHRvIGFkZCB0b28gbXVjaCBj
b21wbGV4aXR5LCBlc3BlY2lhbGx5IG9uIHRoZSBsb2FkIGluZm9ybWF0aW9uIGNvbnRlbnQgdHJh
bnNmZXJyZWQgZG93bnN0cmVhbSwgbm9kZSBiZWhhdmlvciBjYW4gYmUgbW9yZSBzb3BoaXN0aWNh
dGVkIGJ1dCBub3JtYWxseSByZW1haW5zIG91dHNpZGUgdGhlIHN0YW5kYXJkaXphdGlvbiBzY29w
ZS4NCg0KLSBjbGllbnRzIHJlY2VpdmluZyBsb2FkIGluZm9ybWF0aW9uIGhhdmUgbm90IHRvIGJl
IGF3YXJlIG9mIHRoZSBEQXMgYW5kIHNlcnZlciB0b3BvbG9naWVzLCB0aGV5IG5ldmVydGhlbGVz
cyBuZWVkIHJlbGV2YW50IGxvYWQgaW5mb3JtYXRpb24gY3JpdGVyaWEgdG8gc2VsZWN0ICh3aGVu
IG5lZWRlZCkgdGhlIHJpZ2h0IG5leHQgbm9kZSB0byB3aGljaCB0byBzZW5kIGEgcmVxdWVzdC4g
VGhpcyBtYXkgZHJpdmUgdG8gY29uc2lkZXIgaWYgc29tZSBhZ2dyZWdhdGlvbiBvZiBsb2FkIGlu
Zm9ybWF0aW9uIHRvIGJlIHBlcmZvcm1lZCBiZWZvcmUgc2VuZGluZyBpdCB0byB0aGUgY2xpZW50
cywgc28gdG8gbWFrZSBpdCBzaW1wbGVyIHRvIHRoZSBjbGllbnRzLg0KDQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fDQoNCiNMNiAgIExvYWQgaW5mb3JtYXRpb24gc2NvcGVzIChjYW4g
YmUgIGFkZGVkIGluIHNlY3Rpb24gNikNCg0KTG9hZCBpbmZvcm1hdGlvbiBjYW4gYXBwbHkgdG8g
dmFyaW91cyBzY29wZXMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCB0byByZXRhaW4gb3Igbm90
IDoNCg0KTG9hZCBvZiBhIG5vZGU6IHRoaXMgaXMgdGhlIG1vc3QgdXN1YWwgdG8gY29uc2lkZXIu
IEEgbm9kZSBjYW4gYmUgYW4gZW5kIHBvaW50IChzZXJ2ZXIpIG9yIGFuIGFnZW50Lg0KDQpMb2Fk
IG9mIGFuIGFwcGxpY2F0aW9uOiBUaGUgbG9hZCBvZiBhIHNlcnZlciBjYW4gdmFyeSBhY2NvcmRp
bmcgdG8gdGhlIGFwcGxpY2F0aW9ucyAoZWcgZHVlIHRvIGRpZmZlcmVuY2VzIGluIHRoZSB1c2Vk
IHJlc291cmNlcykuIFNvIHRoZSBwb3NzaWJpbGl0eSB0byBoYXZlIGEgbG9hZCBpbmZvcm1hdGlv
biBwZXIgYXBwbGljYXRpb24gc2hvdWxkIG5vdCBiZSBwcmVjbHVkZWQgYXQgdGhpcyBsZXZlbCBv
ZiBhbmFseXNpcy4NCg0KTG9hZCBvZiBhIHNldCBvZiBub2RlczogaXQgbWF5IGJlIGNvbnNpZGVy
ZWQgaW50ZXJlc3RpbmcgdGhhdCB0aGUgbG9hZCBvZiBhIHNldCBvZiBub2RlcyBpcyB0cmFuc2Zl
cnJlZCBkb3duc3RyZWFtLiBVc2UgY2FzZXMgc2hvdWxkIGlkZW50aWZ5IHN1Y2ggYW4gaW50ZXJl
c3QuIFRoaXMgZHJpdmVzIHRvIHRoZSBhZ2dyZWdhdGlvbiBvZiB0aGUgbG9hZCBvZiB0aGUgdmFy
aW91cyBub2RlcyBvZiB0aGUgc2V0IHRvIGVsYWJvcmF0ZSB0aGUgbG9hZCBvZiB0aGUgc2V0LiBU
aGlzIGNhbiBiZSBkb25lIGJ5IGFuIGludGVybWVkaWF0ZSBub2RlIHJlY2VpdmluZyB0aGUgbG9h
ZCBpbmZvcm1hdGlvbiBvZiB0aGUgdmFyaW91cyBub2Rlcy4gSXQgY2FuIGJlIGEgd2VpZ2h0ZWQg
YXZlcmFnZSBiZXR3ZWVuIHRoZSBsb2FkczsgdGhlIHdlaWdodCBpcyBhbm90aGVyIGluZm9ybWF0
aW9uIHRvIGJlIGNvbnNpZGVyZWQgKGVnIHRoZSBjYXBhY2l0eSBvZiB0aGUgc2VydmVycyB3aGlj
aCBtYXkgYmUgZGlmZmVyZW50KS4NCg0KTG9hZCBvZiBhbiBhZ2VudCBhbmQgbG9hZCBvZiBhIHNl
cnZlci4NCkRpZmZlcmVudCBwYXRocyB2aWEgZGlmZmVyZW50IERBcyBtYXkgZXhpc3QgYmV0d2Vl
biB0aGUgbm9kZSBkb2luZyB0aGUgc2VydmVyIHNlbGVjdGlvbiBhbmQgdGhlIHNlcnZlci4gVGhl
IGxvYWQgaW5mb3JtYXRpb24gb24gdGhlIHNlcnZlciB3b3VsZCBiZSB0aGUgc2FtZTsgYnV0IHRo
ZW4gdG8gd2hpY2ggcGVlciB0byBzZW5kIHRoZSBtZXNzYWdlPyBUaGlzIHdvdWxkIGRlcGVuZCBv
ZiB0aGUgbG9hZCBvZiB0aGUgcGVlciAoYW5kIGV2ZW4gb2YgdGhlIGxvYWQgYmVoaW5kIHRoZSBw
ZWVyKS4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KI0w3ICAgQWRkaXRp
b24gcmVtb3ZhbCBvZiBhIHNlcnZlciAoY2FuIGJlICBhZGRlZCBpbiBzZWN0aW9uIDYpDQoNCldo
ZW4gYWRkaW5nIGEgc2VydmVyLCB0aGlzIG9uZSB3aWxsIHN0YXJ0IGJ5IGFkdmVydGlzaW5nIG5v
IG9yIGEgc21hbGwgbG9hZCwgdGhlbiBpdCB3aWxsIGJlIHRvIHRoZSBkb3duc3RyZWFtIG5vZGVz
IChlZyBEQXMpIGhhbmRsaW5nIGxvYWQgYmFsYW5jaW5nIGJldHdlZW4gc2VydmVycyB0byBlbnN1
cmUgYSBzbW9vdGggaW5jcmVhc2Ugb2YgdGhlIHRyYWZmaWMgdG8gdGhpcyBzZXJ2ZXIsIHRvIGF2
b2lkIHRvIGltbWVkaWF0ZWx5IHNlbmQgaXQgdG9vIG11Y2ggdHJhZmZpYyBhbmQgZXZlbiB0byBu
b3QgcHV0IGl0IGludG8gb3ZlcmxvYWQuIEl0IG1heSBiZSBxdWVzdGlvbmVkIGlmIGEgc2ltcGxl
IGxvYWQgaW5mb3JtYXRpb24gKGxvYWQgcGVyY2VudGFnZSkgaXMgc3VmZmljaWVudCBmb3IgdGhp
cy4NCg0KV2hlbiByZW1vdmluZyBhIHNlcnZlciBpbiBhIGNvbnRyb2xsZWQgd2F5IChlLmcuIGZv
ciBtYWludGVuYW5jZSBwdXJwb3NlLCBzbyBvdXRzaWRlIGEgZmFpbHVyZSBjYXNlKSwgYW4gb2Jq
ZWN0aXZlIGNhbiBiZSB0byBwcm9ncmVzc2l2ZWx5IHJlZHVjZSB0aGUgdHJhZmZpYyB0byB0aGlz
IHNlcnZlciwgd2l0aCBhIHJvdXRpbmcgb2YgdGhlIHRyYWZmaWMgdG8gb3RoZXIgc2VydmVycy4g
U2ltcGxlIGxvYWQgaW5mb3JtYXRpb24gKGxvYWQgcGVyY2VudGFnZSkgd291bGQgYmUgbm90IHN1
ZmZpY2llbnQuIEl0IHNob3VsZCBiZSBjb25zaWRlcmVkIGlmIHRoaXMgdXNlIGNhc2UgZW50ZXIg
dGhlIHNjb3BlIG9mIHRoaXMgbG9hZCBjb250cm9sIG1lY2hhbmlzbS4NCg0KX19fX19fX19fX19f
X19fX19fX19fX19fX18NCg0KI0w4ICAgSW1wbGVtZW50YXRpb24gYW5kIHN0YW5kYXJkaXphdGlv
biAoY2FuIGJlIGFkZGVkIGluIHNlY3Rpb24gMSkNCg0KVGhyb3VnaCB0aGUgdXNlIGNhc2VzIGFu
ZCB0aGUgYXJjaGl0ZWN0dXJlcyBjb25zaWRlcmF0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBkb2N1
bWVudCwgdGhlIGZvY3VzIGlzIHRvIGRlZmluZSB3aGljaCB3b3VsZCBiZSB0aGUgcmVsZXZhbnQg
bG9hZCBpbmZvcm1hdGlvbiB0byBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgbm9kZXMgdGhhdCB3aWxs
IHVzZSBpdC4gVGhlbiwgZ2l2ZW4gdGhlIHZhcmlldHkgb2YgdXNlIGNhc2VzLCB0aGUgcG9zc2li
bGUgdG9wb2xvZ2llcywgdGhlIHBsYWNlIHdoZXJlIHRoZSBzZXJ2ZXIgc2VsZWN0aW9uIGlzIGRv
bmUsIGV0YywgZmxleGliaWxpdHkgaXMgdG8gYmUgbGVmdCB0byBpbXBsZW1lbnRhdGlvbnMgYWJv
dXQgdGhlIG5vZGUgYmVoYXZpb3IgcmVnYXJkaW5nIHRoZSBlbGFib3JhdGlvbiBvZiB0aGUgbG9h
ZCBpbmZvcm1hdGlvbiBhbmQgdGhlbiBpdHMgdXNlLiBHdWlkYW5jZSBvciBleGFtcGxlcyBtYXkg
YWxzbyBiZSBnaXZlbiB0byBoZWxwIGJ1dCB3aXRob3V0IG5vcm1hdGl2ZSBhc3BlY3RzLg0KDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQojTDnigKYgIFJlZGlyZWN0IGFnZW50IDog
KGNhbiBiZSBhZGRlZCBhdCB0aGUgZW5kIG9mIHNlY3Rpb24gMykNCg0KQSBEaWFtZXRlciBub2Rl
IChlLmcuIGNsaWVudCkgY2FuIHVzZSBhIHJlZGlyZWN0IGFnZW50IHRvIGdldCBkZXN0aW5hdGlv
biBob3N0IGFkZHJlc3Nlcy4gIFRoZSByZWRpcmVjdCBhZ2VudCBtYXkgcmV0dXJuIHNldmVyYWwg
ZGVzdGluYXRpb24gaG9zdCBhZGRyZXNzZXMsIG9mIHdoaWNoIHRoZSBEaWFtZXRlciBub2RlIGhh
cyB0byBzZWxlY3Qgb25lIGFuZCBmb3IgdGhpcyBjYW4gcmVseSBvbiB0aGUgbG9hZCBpbmZvcm1h
dGlvbiBvbiB0aGVzZSBob3N0cw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoNCg0KU28g
cGxlYXNlIGxldCBtZSBrbm93IHlvdXIgY29tbWVudHMuDQoNCkJlbiwgd291bGQgeW91IGJlIE9L
IHRvIGNvbXBsZW1lbnQgeW91ciBkcmFmdCB3aXRoIHRob3NlIGlucHV0cyAuIFdlIGNhbiBhbHNv
IGhhdmUgcXVlc3Rpb24gbWFya3Mgb3IgZWRpdG9y4oCZcyBub3RlcywgYnV0IEkgdGhpbmsgZ29v
ZCB0byBoYXZlIGEgZG9jdW1lbnQgYWJvdXQgd2hpY2ggd2UgZGlzY3VzcyB0aGVzZSBhcmNoaXRl
Y3R1cmFsIGNvbnNpZGVyYXRpb25zLg0KDQpCZXN0IHJlZ2FyZHMNCg0KSkphY3F1ZXMNCg0KDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRGlNRSBtYWls
aW5nIGxpc3QNCkRpTUVAaWV0Zi5vcmc8bWFpbHRvOkRpTUVAaWV0Zi5vcmc+DQpodHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RpbWUNCg0K

--_000_E194C2E18676714DACA9C3A2516265D2026F4F76FR712WXCHMBA12z_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
V2luZ2RpbmdzOw0KCXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0K
CXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMg
MiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1
IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglw
YW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5
Ok1vbmFjbzsNCglwYW5vc2UtMTowIDAgMCAwIDAgMCAwIDAgMCAwO30NCi8qIFN0eWxlIERlZmlu
aXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21h
cmdpbjowY207DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJ
Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjt9DQphOmxpbmssIHNwYW4uTXNv
SHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQt
ZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxv
d2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNv
cmF0aW9uOnVuZGVybGluZTt9DQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3Jh
cGgsIGRpdi5Nc29MaXN0UGFyYWdyYXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJn
aW4tdG9wOjBjbTsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1h
cmdpbi1sZWZ0OjM2LjBwdDsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEy
LjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCnNwYW4uRW1h
aWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVs
dA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBw
YWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0
IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2Vj
dGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9ucyAqLw0KQGxpc3QgbDANCgl7bXNvLWxpc3QtaWQ6
MTAwOTUyNDUzODsNCgltc28tbGlzdC10eXBlOmh5YnJpZDsNCgltc28tbGlzdC10ZW1wbGF0ZS1p
ZHM6MjQxOTk5MDg0IC0xMzE5MzIyNDAyIDY3Njk4NjkxIDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4
NjkxIDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4NjkxIDY3Njk4NjkzO30NCkBsaXN0IGwwOmxldmVs
MQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6LTsN
Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxl
ZnQ7DQoJbWFyZ2luLWxlZnQ6MTguMHB0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJZm9udC1m
YW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpD
YWxpYnJpO30NCkBsaXN0IGwxDQoJe21zby1saXN0LWlkOjEwNDE3ODAxNjg7DQoJbXNvLWxpc3Qt
dGVtcGxhdGUtaWRzOi0xODAxNjc4ODc2O30NCkBsaXN0IGwxOmxldmVsMQ0KCXttc28tbGV2ZWwt
dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2lu
LWxlZnQ6MTguMHB0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWwyDQoJ
e21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJ
bXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjE4LjBwdDsNCgl0
ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwxOmxldmVsMw0KCXttc28tbGV2ZWwtdGV4dDoi
JTFcLiUyXCklM1wuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVt
YmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MzYuMHB0Ow0KCXRleHQtaW5kZW50Oi0z
Ni4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWw0DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSUzXC4l
NFwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0
aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MzYuMHB0Ow0KCXRleHQtaW5kZW50Oi0zNi4wcHQ7fQ0K
QGxpc3QgbDE6bGV2ZWw1DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSUzXC4lNFwuJTVcLiI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCW1hcmdpbi1sZWZ0OjU0LjBwdDsNCgl0ZXh0LWluZGVudDotNTQuMHB0O30NCkBsaXN0
IGwxOmxldmVsNg0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCklM1wuJTRcLiU1XC4lNlwuIjsN
Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxl
ZnQ7DQoJbWFyZ2luLWxlZnQ6NTQuMHB0Ow0KCXRleHQtaW5kZW50Oi01NC4wcHQ7fQ0KQGxpc3Qg
bDE6bGV2ZWw3DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSUzXC4lNFwuJTVcLiU2XC4lN1wu
IjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9u
OmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NzIuMHB0Ow0KCXRleHQtaW5kZW50Oi03Mi4wcHQ7fQ0KQGxp
c3QgbDE6bGV2ZWw4DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSUzXC4lNFwuJTVcLiU2XC4l
N1wuJThcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1w
b3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjcyLjBwdDsNCgl0ZXh0LWluZGVudDotNzIuMHB0
O30NCkBsaXN0IGwxOmxldmVsOQ0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCklM1wuJTRcLiU1
XC4lNlwuJTdcLiU4XC4lOVwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2
ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6OTAuMHB0Ow0KCXRleHQtaW5k
ZW50Oi05MC4wcHQ7fQ0KQGxpc3QgbDINCgl7bXNvLWxpc3QtaWQ6MTcxMTMwMjg0NzsNCgltc28t
bGlzdC10ZW1wbGF0ZS1pZHM6LTIxMzE0NjAxODI7fQ0KQGxpc3QgbDI6bGV2ZWwxDQoJe21zby1s
ZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCglt
YXJnaW4tbGVmdDoxOC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMjpsZXZl
bDINCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MTguMHB0
Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDI6bGV2ZWwzDQoJe21zby1sZXZlbC10
ZXh0OiIlMVwuJTJcKSUzXC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZl
bC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDozNi4wcHQ7DQoJdGV4dC1pbmRl
bnQ6LTM2LjBwdDt9DQpAbGlzdCBsMjpsZXZlbDQNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwp
JTNcLiU0XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt
cG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDozNi4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTM2LjBw
dDt9DQpAbGlzdCBsMjpsZXZlbDUNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiU0XC4l
NVwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0
aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NTQuMHB0Ow0KCXRleHQtaW5kZW50Oi01NC4wcHQ7fQ0K
QGxpc3QgbDI6bGV2ZWw2DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSUzXC4lNFwuJTVcLiU2
XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgltYXJnaW4tbGVmdDo1NC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTU0LjBwdDt9DQpA
bGlzdCBsMjpsZXZlbDcNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiU0XC4lNVwuJTZc
LiU3XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9z
aXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo3Mi4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTcyLjBwdDt9
DQpAbGlzdCBsMjpsZXZlbDgNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiU0XC4lNVwu
JTZcLiU3XC4lOFwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVt
YmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NzIuMHB0Ow0KCXRleHQtaW5kZW50Oi03
Mi4wcHQ7fQ0KQGxpc3QgbDI6bGV2ZWw5DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcKSUzXC4l
NFwuJTVcLiU2XC4lN1wuJThcLiU5XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1z
by1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo5MC4wcHQ7DQoJdGV4
dC1pbmRlbnQ6LTkwLjBwdDt9DQpAbGlzdCBsMw0KCXttc28tbGlzdC1pZDoxOTQyMjkzNzAxOw0K
CW1zby1saXN0LXRlbXBsYXRlLWlkczo0MzE0OTM4NzQ7fQ0KQGxpc3QgbDM6bGV2ZWwxDQoJe21z
by1sZXZlbC10ZXh0OiUxOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDoxOC4wcHQ7DQoJdGV4dC1pbmRlbnQ6
LTE4LjBwdDt9DQpAbGlzdCBsMzpsZXZlbDINCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMiI7DQoJ
bXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCW1hcmdpbi1sZWZ0OjIwLjI1cHQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBs
MzpsZXZlbDMNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwuJTMiOw0KCW1zby1sZXZlbC10YWIt
c3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVm
dDo0MC41cHQ7DQoJdGV4dC1pbmRlbnQ6LTM2LjBwdDt9DQpAbGlzdCBsMzpsZXZlbDQNCgl7bXNv
LWxldmVsLXRleHQ6IiUxXC4lMlwuJTNcLiU0IjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsN
Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NDIuNzVwdDsN
Cgl0ZXh0LWluZGVudDotMzYuMHB0O30NCkBsaXN0IGwzOmxldmVsNQ0KCXttc28tbGV2ZWwtdGV4
dDoiJTFcLiUyXC4lM1wuJTRcLiU1IjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28t
bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NjMuMHB0Ow0KCXRleHQt
aW5kZW50Oi01NC4wcHQ7fQ0KQGxpc3QgbDM6bGV2ZWw2DQoJe21zby1sZXZlbC10ZXh0OiIlMVwu
JTJcLiUzXC4lNFwuJTVcLiU2IjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2
ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NjUuMjVwdDsNCgl0ZXh0LWlu
ZGVudDotNTQuMHB0O30NCkBsaXN0IGwzOmxldmVsNw0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUy
XC4lM1wuJTRcLiU1XC4lNlwuJTciOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1s
ZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo4NS41cHQ7DQoJdGV4dC1p
bmRlbnQ6LTcyLjBwdDt9DQpAbGlzdCBsMzpsZXZlbDgNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4l
MlwuJTNcLiU0XC4lNVwuJTZcLiU3XC4lOCI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJ
bXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0Ojg3Ljc1cHQ7DQoJ
dGV4dC1pbmRlbnQ6LTcyLjBwdDt9DQpAbGlzdCBsMzpsZXZlbDkNCgl7bXNvLWxldmVsLXRleHQ6
IiUxXC4lMlwuJTNcLiU0XC4lNVwuJTZcLiU3XC4lOFwuJTkiOw0KCW1zby1sZXZlbC10YWItc3Rv
cDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo5
MC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTcyLjBwdDt9DQpvbA0KCXttYXJnaW4tYm90dG9tOjBjbTt9
DQp1bA0KCXttYXJnaW4tYm90dG9tOjBjbTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5
XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4N
CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlv
dXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286
c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1V
UyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEi
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OiMxRjQ5N0QiPkhpIEJlbiAmbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPlRoYW5rcyBmb3IgeW91ciBmZWVkYmFj
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz
YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMUY0OTdEIj5SZWdhcmRpbmcgeW91ciBoaWdoIGxldmVsIG9ic2VydmF0aW9uczs8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5
N0QiPjEpIEFib3V0ICZuYnNwO3RoZSBmaWd1cmUgeW91IGRlc2NyaWJlZCAmbmJzcDt3aXRoIGEg
Y29ubmVjdGlvbiBiZXR3ZWVuICZuYnNwO1MxIGFuZCBTMjo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
JnF1b3Q7TW9uYWNvJnF1b3Q7LCZxdW90O3NlcmlmJnF1b3Q7Ij4mbmJzcDsmbmJzcDvigJQtLS0t
LS1TMTxicj4NCi8gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fDxicj4NCkMxICZuYnNwOyAm
bmJzcDsgJm5ic3A7IHw8YnI+DQpcICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3w8YnI+DQom
bmJzcDsmbmJzcDvigJTigJQtLS0tLVMyPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPllv
dSBzYXkgdGhhdCBTMSBvciBTMiBjYW4gcHJveHkgYSByZXF1ZXN0LCB0aGlzIGlzIGZvciBtZSBy
YXRoZXIgZXF1aXZhbGVudCAmbmJzcDt0byBTMSBoYXZpbmcgYSBjb2xsb2NhdGVkICZuYnNwO3By
b3h5IERBLCBzbyBiZWluZyBhIHBhcnRpY3VsYXIgY2FzZSBvZiBmaWd1cmUgNS4zLg0KIFNvIEkg
c3VnZ2VzdCB0byBjb250aW51ZSB0byB1c2UgNS4zIGFsc28gY292ZXJpbmcgc2VydmVycyB3aXRo
IG5vbiBjb2xvY2F0ZWQgREFzLCB1bmxlc3MgeW91IHdvdWxkIHlvdSBsaWtlIHRoZSBhYm92ZSB1
c2UgY2FzZSB0byBiZSBoYW5kbGVkIHNlcGFyYXRlbHk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFG
NDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkkgYWdyZWUgdGhhdCB0
aGUgcGF0aCBDMSZndDtTMSAob3IgQzEmZ3Q7QTEmZ3Q7UzEgaW4gNS4zKSBpcyBtb3JlIGVmZmlj
aWVudCB0aGFuIEMxJmd0O1MxJmd0O1MyICggb3IgQzEmZ3Q7QTEmZ3Q7QTImZ3Q7UzIgaW4gNS4z
KSBhbmQgdGhhdCBvdGhlciDigJxjcm9zcyBjb25uZWN04oCdIHVzZSBjYXNlcyBpbiBvdGhlcg0K
IGZpZ3VyZXMgYWxzbyBwcmVzZW50IHBhdGhzIHdpdGggbW9yZSBob3BzIHRoYW4gb3RoZXJzLiAm
bmJzcDtUaGUgcXVlc3Rpb24gd2hpY2ggeW91IHJhaXNlIGFuZCBvbiB3aGljaCB0aGUgZ3JvdXAg
d2lsbCBoYXZlIHRvIHRha2UgJm5ic3A7YSBkZWNpc2lvbiBpczogJm5ic3A7ZG8gd2UgZm9jdXMg
b25seSBvbiBsb2FkIGJhbGFuY2luZyBiZXR3ZWVuIHRoZSBzaG9ydGVzdCBwYXRocyAobG9uZ2Vy
IHBhdGhzIHVzZWQgb25seSBmb3Igb3ZlcmxvYWQgb3IgZmFpbHVyZSBjYXNlcw0KIGFzIHlvdSBp
bmRpY2F0ZWQgKSwgb3IgaWYgaXQgaXMgcmVsZXZhbnQgdG8gYWxzbyAmbmJzcDtjb25zaWRlciBs
b25nZXIgcGF0aHMgZm9yIGxvYWQgYmFsYW5jaW5nLCB0aGUgc2Vjb25kIGNob2ljZSBtYXkgc2ln
bmlmaWNhbnRseSBtYWtlIHRoZSBsb2FkIGJhbGFuY2luZyBpbmZvcm1hdGlvbiB0byBkZWFsIHdp
dGggbW9yZSBjb21wbGV4LiBCdXQgd2UgaGF2ZSBmaXJzdCAmbmJzcDt0byBhc3Nlc3MgdGhlIHJl
cXVpcmVtZW50LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5Ud28gaGVyZWFmdGVyIG9i
c2VydmF0aW9uczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0UGFyYWdy
YXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTguMHB0O3RleHQtaW5kZW50Oi0xOC4wcHQ7bXNvLWxp
c3Q6bDEgbGV2ZWwyIGxmbzQiPg0KPCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUi
PjEuMSk8c3BhbiBzdHlsZT0iZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsi
Pg0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PCFbZW5kaWZdPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjojMUY0OTdEIj5JbiBmaWd1cmUgNS4zOiBpZiBTMSBpcyBtb3JlIGxvYWRlZCB0
aGFuIFMyICwgZm9yIHJlYWxtIHJvdXRlZCByZXF1ZXN0cywgQzEsIHRvIGFjaGlldmUgbG9hZCBi
YWxhbmNpbmcsIG5lZWRzIGEgJm5ic3A7bG9hZCBpbmZvIGZvciB0aGUgcmVhbG0gdmlhICZuYnNw
O0ExIChhY2NvcmRpbmcNCiB0byBTMSBsb2FkKSwgJm5ic3A7YW5kIGFub3RoZXIgbG9hZCBpbmZv
IHZpYSBBMiAoYWNjb3JkaW5nIHRvIFMyIGxvYWQpIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0
OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4t
bGVmdDoxOC4wcHQ7dGV4dC1pbmRlbnQ6LTE4LjBwdDttc28tbGlzdDpsMSBsZXZlbDIgbGZvNCI+
DQo8IVtpZiAhc3VwcG9ydExpc3RzXT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
IzFGNDk3RCI+PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+MS4yKTxzcGFuIHN0eWxlPSJm
b250OjcuMHB0ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+DQo8L3NwYW4+PC9zcGFuPjwv
c3Bhbj48IVtlbmRpZl0+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0Qi
PiZuYnNwO0Fub3RoZXIgZHJhd2luZw0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTomcXVvdDtNb25hY28mcXVvdDssJnF1b3Q7c2VyaWYmcXVvdDsiPkMx
LS0tQTEtLS0tLS1TMTxicj4NCiZuYnNwOyZuYnNwOyAmbmJzcDt8ICZuYnNwOyZuYnNwOzxicj4N
CiZuYnNwOyZuYnNwOyAmbmJzcDt8PGJyPg0KQzItLS1BMi0tLS0tLVMyPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZx
dW90O01vbmFjbyZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMxRjQ5N0QiPmlmIFMxIGlzIG1vcmUgbG9hZGVkIHRoYW4gUzIsIEExIG1heSBzZW5k
IHNvbWUgdHJhZmZpYyBjb21pbmcgZnJvbSBDMSB0byBTMiB2aWEgQTIsIHNvIHdpdGggJm5ic3A7
YSBsb25nZXIgcGF0aCBDMSZndDtBMSZndDtBMiZndDtTMiB0aGFuIEMxJmd0O0ExJmd0O1MxLiBU
aGlzIG1lYW5zIHRoYXQgQTEgaGFzDQogbG9hZCBpbmZvcm1hdGlvbiBhYm91dCBTMiBhbmQgYWJv
dXQgUzEgdG8gZG8gbG9hZCBiYWxhbmNpbmcuIERvZXMgdGhpcyBjYXNlIGVudGVyIG91ciBzY29w
ZS4/ICZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7TW9uYWNvJnF1
b3Q7LCZxdW90O3NlcmlmJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+MikgQWJv
dXQNCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTomcXVvdDtNb25hY28mcXVvdDssJnF1b3Q7c2VyaWYmcXVvdDsiPiZu
YnNwOyAmbmJzcDvigJTigJRBMS0tUzEuLi5Tbjxicj4NCiZuYnNwOy8gJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7PGJyPg0KQyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxicj4NCiZuYnNw
O1wgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PGJyPg0KJm5ic3A7ICZuYnNwO+KAlOKAlEEy
LS1TbiYjNDM7MS4uLlNtPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5NeSBkcmF3aW5ncyA1LjUgdG8gNS43IGFwcGVhciB0
byBiZSBhIGJpdCBjb25mdXNpbmcsIGluIGZhY3QgbXkgZGlhZ3JhbXMgc2hvdWxkIGJlIGNvcnJl
Y3RlZCBhcyB0aGlzIG9uZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiZxdW90O01vbmFjbyZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8tLS1TMSA8bzpwPg0KPC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtNb25hY28m
cXVvdDssJnF1b3Q7c2VyaWYmcXVvdDsiPiZuYnNwOyAmbmJzcDvigJTigJRBMS0tLS4uLjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTomcXVvdDtNb25hY28mcXVvdDssJnF1b3Q7c2VyaWYmcXVvdDsiPiZuYnNwOyAvJm5i
c3A7IHxcLS0tU248YnI+DQombmJzcDsvICZuYnNwOyB8ICZuYnNwOyAmbmJzcDs8YnI+DQpDICZu
YnNwOyAmbmJzcDt8ICZuYnNwOyZuYnNwOzxicj4NCiZuYnNwO1wmbmJzcDsmbmJzcDsgfC8tLVNu
JiM0MzsxICZuYnNwOyAmbmJzcDsgJm5ic3A7PGJyPg0KJm5ic3A7ICZuYnNwO+KAlOKAlEEyLS0u
Li48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6JnF1b3Q7TW9uYWNvJnF1b3Q7LCZxdW90O3NlcmlmJnF1b3Q7Ij4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgXC0tU208bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFG
NDk3RCI+U28gdGhlIHVwc3RyZWFtIHNlcnZlcnMgYXJlICZuYnNwO2RpcmVjdGx5IGNvbm5lY3Rl
ZCB0byBhIERBLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjMpIFBsZWFzZSBsZXQgbWUga25vdyBo
b3cgeW91IHdvdWxkIGxpa2UgdG8gSW5zZXJ0IHRoZSBhbmFseXNpcyBpbnRvIHRoZSBuZXcgdmVy
c2lvbiBvZiB5b3VyIGRyYWZ0IC4mbmJzcDsgSSB0aGluayB3ZSBtYXkgaGF2ZSBhIGRlZGljYXRl
ZCBzZWN0aW9uIGFib3V0IHRvcG9sb2d5DQogdXNlIGNhc2VzLiA8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkJlc3QgcmVn
YXJkczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6IzFGNDk3RCI+SkphY3F1ZXMNCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7
Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20i
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPkRl
Jm5ic3A7Ojwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPiBCZW4gQ2FtcGJl
bGwgW21haWx0bzpiZW5APC9zcGFuPjxzcGFuIGxhbmc9IkZSIiBzdHlsZT0iZm9udC1zaXplOjEw
LjBwdDtmb250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
OyI+bm9zdHJ1bS5jb21dDQo8YnI+DQo8Yj5FbnZvecOpJm5ic3A7OjwvYj4gbWVyY3JlZGkgNyBq
YW52aWVyIDIwMTUgMDE6MDE8YnI+DQo8Yj7DgCZuYnNwOzo8L2I+IFRST1RUSU4sIEpFQU4tSkFD
UVVFUyAoSkVBTi1KQUNRVUVTKTxicj4NCjxiPkNjJm5ic3A7OjwvYj4gZGltZUBpZXRmLm9yZzxi
cj4NCjxiPk9iamV0Jm5ic3A7OjwvYj4gUmU6IFtEaW1lXSBEaWFtZXRlciBsb2FkIGNvbnRyb2wg
aW5wdXRzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPkhpIEpKYWNxdWVzLDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5UbyBhbnN3ZXIgeW91ciBsYXQgcXVlc3Rpb24gZmlyc3QsIEkgdGhpbmsg
dGhpcyBpcyBhIHVzZWZ1bCBhbmFseXNpcywgYW5kIHdvdWxkIGJlIHdpbGxpbmcgdG8gY29tYmlu
ZSBpdCBpbnRvIGEgbmV3IHZlcnNpb24gb2YgbXkgcHJldmlvdXMgZHJhZnQuIFdlIGNhbiB0YWxr
IGFib3V0IHRoZSBkZXRhaWxzIG9mIHRoYXQgb2ZmbGluZS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U2Vjb25kLCBzb21lIGhpZ2ggbGV2ZWwg
b2JzZXJ2YXRpb25zOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj5GaXJzdCwgRnJvbSBhIGxvYWQtYmFsYW5jaW5nIHBlcnNwZWN0aXZlLCBGaWd1
cmUgNS4zIGlzIGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmc6PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
YXJnaW4tYm90dG9tOjEyLjBwdCI+Jm5ic3A7PGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5
OiZxdW90O01vbmFjbyZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+Jm5ic3A7Jm5ic3A74oCULS0t
LS0tUzE8YnI+DQovICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3w8YnI+DQpDMSAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyB8PGJyPg0KXCAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt8PGJyPg0K
Jm5ic3A7Jm5ic3A74oCU4oCULS0tLS1TMjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPldoZXJlIFMxIGFuZCBTMiBjYW4gcHJveHkgcmVx
dWVzdHMgdG8gdGhlIG90aGVyIGFjY29yZGluZyB0byBzb21lIHBvbGljeSAoZS5nLiBsb2FkIGJh
bGFuY2luZykuIEkgZG9u4oCZdCBtZWFuIHRvIHN1Z2dlc3QgeW91IHdvdWxkIGRlcGxveSBpdCB0
aGF0IHdheSwgYnV0IGl0IG1ha2VzIGFub3RoZXIgb2JzZXJ2YXRpb24gbW9yZSBvYnZpb3VzLCB3
aGljaCBpcyB0aGF0IEMxLSZndDtTMSBvciBDMS0mZ3Q7UzIgYXJlIG1vcmUNCiBlZmZpY2llbnQg
dGhhbiBDMS0mZ3Q7UzEtJmd0O1MyIG9yIEMxLSZndDtTMi0mZ3Q7UzEuPG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk15IGluaXRpYWwgcmVhY3Rp
b24gaXMgdG8gdGhpbmsgdGhhdCB3ZSBjYW4gZ2VuZXJhbGl6ZSB0aGlzIHRvIHRoZSB2YXJpb3Vz
IHVzZSBjYXNlcyB0aGF0IGhhdmUgY3Jvc3MtY29ubmVjdGVkIGFnZW50cy4gVGhhdCBpcywgd2hl
biBhbGwgZWxzZSBpcyBlcXVhbCwgc2hvcnRlciBwYXRocyBiZXR3ZWVuPG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5jbGllbnQgYW5kIHNlcnZlciBh
cmUgYmV0dGVyIHRoYW4gbG9uZ2VyIG9uZXMuIFRoaXMgc2VlbXMgdG8gc3VnZ2VzdCB0aGF0IHRo
ZSBjcm9zcy1wYXRoIGNvbm5lY3Rpb25zIGJlIHJlc2VydmVkIGZvciBmYWlsdXJlIG9yIG92ZXJs
b2FkIGNhc2VzLiBUaGlzIHByb2JhYmx5IGhhcyBpbXBsaWNhdGlvbnMgb24gd2hldGhlciB0aGUg
bG9hZCBtZXRyaWMgc2VudCBieSBhbiBhZ2VudCBzaG91bGQgc29tZWhvdyBhZ2dyZWdhdGUNCiB0
aGUgbG9hZCBtZXRyaWNzIG9mIGl0cyBzZXJ2ZXJzLiAoT3IgYXQgbGVhc3QgdGFrZSB0aGVtIGFz
IGFuIGlucHV0Lik8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+U2Vjb25kLCB5b3VyIGZpZ3VyZXMgNS41LTUuNyBzdWdnZXN0IHRoYXQgd2UgbWF5
IGhhdmUgY2FzZXMgd2hlcmUgdGhlIG51bWJlciBvZiBzZXJ2ZXJzIHRvIHRoZSByaWdodCBvZiBh
biBhZ2VudCBtYXkgbm90IGJlIGtub3duIGJ5IHRoZSBjbGllbnQuIEhlcmXigJlzIGEgc2ltcGxp
ZmllZCB2aWV3OjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O01vbmFjbyZxdW90
OywmcXVvdDtzZXJpZiZxdW90OyI+Jm5ic3A7ICZuYnNwO+KAlOKAlEExLS1TMS4uLlNuPGJyPg0K
Jm5ic3A7LyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQpDICZuYnNwOyAmbmJzcDsg
Jm5ic3A7Jm5ic3A7PGJyPg0KJm5ic3A7XCAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+
DQombmJzcDsgJm5ic3A74oCU4oCUQTItLVNuJiM0MzsxLi4uU208L3NwYW4+PG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JbiB0
aGlzIGNhc2UsIHRoZSBsb2FkIG1ldHJpY3MgZm9yIHRoZSBzZXJ2ZXJzIGFyZSBvZiBsaXR0bGUg
dXNlIHRvIEMsIHNpbmNlIGluIGdlbmVyYWwgQyB3aWxsIG5vdCBrbm93IGlmIGl04oCZcyBrbm93
bGVkZ2UgZW5jb21wYXNzZXMgYWxsIHBvc3NpYmxlIGRlc3RpbmF0aW9ucy4gKEEgcmVsYXRlZCBx
dWVzdGlvbiBpcyB3ZXRoZXIgdGhlIF9hZ2VudHNfIGFjdHVhbGx5IGtub3cgdGhlIGxvYWQgbWV0
cmljcyBmb3INCiBhbGwgdGhlIHBvc3NpYmxlIGRlc3RpbmF0aW9ucy4gSeKAmW0gbm90IHN1cmUg
dGhleSBhbHdheXMgZG8sIGUuZy4gaWYgdGhleSBhcmUgdXNpbmcgZHluYW1pYyBkaXNjb3Zlcnku
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YnI+DQo8
YnI+DQo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIEphbiA0LCAyMDE1
LCBhdCAxMTozOCBBTSwgVFJPVFRJTiwgSkVBTi1KQUNRVUVTIChKRUFOLUpBQ1FVRVMpICZsdDs8
YSBocmVmPSJtYWlsdG86amVhbi1qYWNxdWVzLnRyb3R0aW5AYWxjYXRlbC1sdWNlbnQuY29tIj5q
ZWFuLWphY3F1ZXMudHJvdHRpbkBhbGNhdGVsLWx1Y2VudC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+
DQo8YnI+DQpEZWFyIGFsbDxicj4NCiZuYnNwOzxicj4NCkkgZmlyc3Qgd2lzaCB5b3UgYSAmbmJz
cDtoYXBweSAmbmJzcDtuZXcgeWVhciBmb3IgeW91IGFuZCB5b3VyIGZhbWlseSBhcyB3ZWxsIGlu
IHlvdXIgcHJvZmVzc2lvbmFsIGxpZmUuPGJyPg0KJm5ic3A7PGJyPg0KSSBoZXJlYWZ0ZXIgYWRk
cmVzcyBvdXIgbmV3IHRvcGljIG9uIERpYW1ldGVyIGxvYWQgY29udHJvbC48YnI+DQpJIGFtIGlu
IGZhdm9yIHRvIGNvbnRpbnVlIHRoZSB3b3JrIHRoYXQgQmVuIGhhcyBjb3ZlcmVkIGluIGhpcyDi
gJxkcmFmdC1jYW1wYmVsbC1kaW1lLWxvYWQtY29uc2lkZXJhdGlvbnMtMDDigJ0gZG9jdW1lbnQs
IGJ5IGFkZGluZywgaW52ZXN0aWdhdGluZyZuYnNwO3ZhcmlvdXMgY29uc2lkZXJhdGlvbnMuPGJy
Pg0KJm5ic3A7PGJyPg0KSSBoZXJlYWZ0ZXIgZ2l2ZSBzZXZlcmFsIGFkZGl0aW9uYWwgc2VjdGlv
biBwYXJ0cyBvciBwYXJhZ3JhcGhzICZuYnNwO3RoYXQgSSB0aGluayBjb3VsZCBiZSBpbnNlcnRl
ZCBpbiBCZW7igJlzIGRyYWZ0LiBJIGhhdmUgcHV0IHNvbWUgdGl0bGVzIGFuZCBudW1iZXJpbmcm
bmJzcDsoI0wxLCAjTDIg4oCmKSAmbmJzcDt0byByZXVzZSBpbiBzZXBhcmF0ZWQgZW1haWwgdHJl
YWRzIGZvciBkaXNjdXNzaW9uLjxicj4NCiZuYnNwOzxicj4NCkkgaGF2ZSBpbmNsdWRlZCB0b3Bv
bG9neSB1c2UgY2FzZXMuIEZvciBEaWFtZXRlciBvdmVybG9hZCwgJm5ic3A7U3RldmUgZGlkIHNl
dmVyYWwgJm5ic3A7cHJlc2VudGF0aW9ucyBvbiB0aGUgJm5ic3A7dmFyaW91cyB1c2UgY2FzZXMg
dG8gY29uc2lkZXIuIEkgdGhpbmsgYWxzbyBnb29kJm5ic3A7dG8gZG8gdGhlIHNhbWUgZm9yIERp
YW1ldGVyIGxvYWQsIGFuZCB0byBpbnNlcnQgc3VjaCB1c2UgY2FzZXMgaW4gdGhlIEJlbuKAmXMg
ZHJhZnQuIFlvdSBtYXkgY29uc2lkZXIgdGhpcyBsaXN0DQogc29tZXdoYXQgbG9uZyBidXQgdGhl
c2UgdXNlIGNhc2VzJm5ic3A7aGlnaGxpZ2h0IGEgY2VydGFpbiBudW1iZXIgb2YgcG9pbnRzIGZv
ciB3aGljaCB3ZSB3aWxsIGhhdmUgdG8gdGFrZSBzb21lIGRlY2lzaW9ucyAoZWcgdG8gY292ZXIg
dGhlbSBvciBub3Qgb3IgdG8gc2VlIGxhdGVyIGlmICZuYnNwO3NvbHV0aW9uIGFzc3VtcHRpb25z
Jm5ic3A7YXBwbHkgd2VsbCkuIFRoZXJlIGFyZSBtb3JlIGZyb20gYSByZXF1aXJlbWVudCB2aWV3
cG9pbnQgdGhhbiBpbiB0aGUgc29sdXRpb24NCiBpdHNlbGYgYXMgSSBkbyBub3QgYWRkcmVzcyB0
aGUgZXhhY3QgY29udGVudCBvZiBsb2FkIGluZm9ybWF0aW9uIGFuZCZuYnNwO3RoZSB3YXkgaXQg
d2lsbCBiZSB0cmFuc2ZlcnJlZDxicj4NCiZuYnNwOzxicj4NCiZuYnNwOzxicj4NCiNMMSAmbmJz
cDsgVG9wb2xvZ3kgdXNlIGNhc2VzIChjYW4gYmUgaW5zZXJ0ZWQgaW4gc2VjdGlvbiA1ICk8YnI+
DQombmJzcDs8YnI+DQombmJzcDs8YnI+DQo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7
TW9uYWNvJnF1b3Q7LCZxdW90O3NlcmlmJnF1b3Q7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7IC0tLS0tLVMxPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IC88YnI+
DQombmJzcDsgJm5ic3A7ICZuYnNwOyBDMTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyBcPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtLS0tLS1TMjxicj4N
Cjwvc3Bhbj5GaWd1cmUgNS4xPGJyPg0KJm5ic3A7PGJyPg0KSW4gdGhpcyBzaW1wbGUgY2FzZSAo
bm8gREEpIGUuZy4gZm9yIGEgc21hbGwgbmV0d29yaywgdGhlIHNlcnZlcnMgYXJlIHBlZXJzIG9m
IHRoZSBjbGllbnQuIFRoZSZuYnNwO2NsaWVudCBzZWxlY3RzIHRoZSBzZXJ2ZXIgYWNjb3JkaW5n
IHRvIHRoZSBsb2FkIGluZm9ybWF0aW9uIGl0IHJlY2VpdmVzIGZyb20gdGhlIHNlcnZlcnMuPGJy
Pg0KJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90
O01vbmFjbyZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAtLS0tLS1TMTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAvPGJy
Pg0KQzEtLS0tQTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBcPGJyPg0KJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtLS0tLS1TMjxicj4NCjwvc3Bhbj5GaWd1cmUg
NS4yPGJyPg0KJm5ic3A7PGJyPg0KVGhlIGFnZW50IHNlbGVjdHMgdGhlIHNlcnZlciBhY2NvcmRp
bmcgdG8gdGhlIGxvYWQgaW5mb3JtYXRpb24gaXQgcmVjZWl2ZXMgZnJvbSB0aGUgc2VydmVycy4g
SGVyZSwmbmJzcDt0aGUgY2xpZW50IGRvZXMgbm90IG5lZWQgdG8gcmVjZWl2ZSBsb2FkIGluZm9y
bWF0aW9uIGFzIGl0IGRvZXMgbm90IGRvIGxvYWQgYmFsYW5jaW5nLiBJdCBpcyB0byZuYnNwO2No
ZWNrIGlmIGxvYWQgaW5mb3JtYXRpb24gd291bGQgYmUgdXNlZnVsIHRvIHRoZSBjbGllbnQgZm9y
IG90aGVyDQogcHVycG9zZXMgKGUuZy4gYW50aWNpcGF0aW5nIGEmbmJzcDtmdXR1cmUgb3Zlcmxv
YWQgb2YgdGhlIHNlcnZlcikuPGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OiZxdW90O01vbmFjbyZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+Jm5i
c3A7ICZuYnNwOy0tLUExLS0tLS0tUzE8YnI+DQovICZuYnNwOyAmbmJzcDt8PGJyPg0KQzEgJm5i
c3A7Jm5ic3A7fDxicj4NClwgJm5ic3A7ICZuYnNwO3w8YnI+DQombmJzcDsgJm5ic3A7LS0tQTIt
LS0tLS1TMjxicj4NCjwvc3Bhbj4mbmJzcDs8YnI+DQpGaWd1cmUgNS4zPGJyPg0KJm5ic3A7PGJy
Pg0KQzEgd2hlbiBzZW5kaW5nIGEgcmVhbG0gcm91dGVkIHJlcXVlc3QgZXZlbiBkb2VzIG5vdCBr
bm93IHdoaWNoIHNlcnZlciB3aWxsIGhhbmRsZSB0aGUgcmVxdWVzdCBhbiZuYnNwO2V2ZW4gbW9y
ZSBkb2VzIG5vdCBrbm93IHRvIHdoaWNoIERBIFMxIGFuZCBTMiBhcmUgY29ubmVjdGVkIHRvLiBT
byB0aGUgbG9hZCBpbmZvcm1hdGlvbiBvbiB0aGUmbmJzcDtzZXJ2ZXJzIGlzIG5vdCB1c2VmdWwu
IEJ1dCBDMSBoYXMgdG8gc2VsZWN0IHRvIHdoaWNoIGZyb20gQTEgb3INCiBBMiBpdCB3aWxsIHNl
bmQgdGhlIHJlcXVlc3QuIEl0IGNhbiZuYnNwO2RvIGl0IG9uIHRoZSBiYXNpcyBvZiB0aGUgbG9h
ZCBpbmZvcm1hdGlvbiBvZiBBMSBvciBBMi4gQnV0IGlzIGl0IHN1ZmZpY2llbnQ/PGJyPg0KSWYg
UzEgaGFzIGhpZ2ggbG9hZCBhbmQgUzIgYSBzbWFsbCBvbmUsIHRvIGltcHJvdmUgdGhlIGxvYWQg
YmFsYW5jaW5nIHdvdWxkIG1lYW4gdGhhdDxicj4NCmEpIEMxIHNlbmRzIG1vcmUgdHJhZmZpYyB0
byBBMiB3aGljaCBmb3J3YXJkIHRvIFMyLCBtZWFuaW5nIHRoYXQgQzEgaGFzIHJlY2VpdmVkIGxv
YWQgaW5mb3JtYXRpb24mbmJzcDtmcm9tIEEyIG5vdCBvbmx5IGluY2x1ZGluZyBBMiBsb2FkIGJ1
dCBhbHNvIHRoZSBTMiBsb2FkPGJyPg0KYikgb3IgQzEsIGhhdmluZyBubyBpbmZvcm1hdGlvbiBv
biBzZXJ2ZXIgbG9hZCBlcXVhbGx5IHNlbmRzIHRyYWZmaWMgdG8gQTEgYW5kIEEyLiBUaGVuIGlm
IEExJm5ic3A7cmVjZWl2ZXMgZnJvbSBBMiBsb2FkIGluZm9ybWF0aW9uIGluY2x1ZGluZyB0aGUg
bG9hZCBvZiBTMiBtYXkgdGhlbiBkZWNpZGUgdG8gcm91dGUgbW9yZSB0cmFmZmljIHRvJm5ic3A7
UzIgdmlhIEEyLiBUaGlzIGlzIGxlc3Mgb3B0aW1hbCB0aGFuIHRoZSBmaXJzdCBjYXNlIGFzIGFk
ZGluZyBhDQogbmV3IGhvcCBpbiB0aGUgcGF0aCAoQzEtQTEtQTItUzIuPGJyPg0KJm5ic3A7PGJy
Pg0KQW4gaW5pdGlhbCBxdWVzdGlvbiBpcyB0byBjb25zaWRlciBpZiB0aGlzIHN1YmNhc2VzIGEp
IGFuZCBiKSBhcmUgcmVsZXZhbnQgYW5kIGVudGVyIHRoZSBzY29wZS48YnI+DQombmJzcDs8YnI+
DQpDMSwgd2hlbiBzZW5kaW5nIGEgaG9zdCByb3V0ZWQgcmVxdWVzdCwgY2FuIGRvIGl0IHZpYSBB
MSBvciBBMiBhcyByb3V0aW5nIGZvciBDMSBpcyBiYXNlZCBvbiB0aGUmbmJzcDtyZWFsbS4gSXMg
aXQgdG8gYmUgY29uc2lkZXJlZCBpZiBsb2FkIGNvbnRyb2wgaW5mb3JtYXRpb24gcmVjZWl2ZWQg
YnkgQzEgZ2l2ZXMgc29tZSBoaW50IHRvIHJhdGhlciZuYnNwO3NlbGVjdCBBMSByYXRoZXIgdGhh
biBBMiB3aGVuIFMxIGlzIHRoZSBkZXN0aW5hdGlvbiBob3N0LCBzbw0KIHRvIGF2b2lkIGFuIGFk
ZGl0aW9uYWwgaG9wPyBPciBpZiBpdCZuYnNwO2lzIG91dCBvZiB0aGUgc2NvcGU/ICZuYnNwOyAm
bmJzcDsgJm5ic3A7Jm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OiZxdW90O01vbmFjbyZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy0tLS0tUzM8YnI+DQombmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsvPGJyPg0KJm5ic3A7ICZuYnNwOy0tLUExLS0tLS0tUzE8YnI+DQovICZu
YnNwOyAmbmJzcDt8PGJyPg0KQzEgJm5ic3A7Jm5ic3A7fDxicj4NClwgJm5ic3A7ICZuYnNwO3w8
YnI+DQombmJzcDsgJm5ic3A7LS0tQTItLS0tLS1TMjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwO1w8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7LS0tLSBTNDxi
cj4NCjwvc3Bhbj5GaWd1cmUgNS40PGJyPg0KJm5ic3A7PGJyPg0KVGhpcyBkaWFncmFtIGlzIGFu
IGV4dGVuc2lvbiBvZiB0aGUgcHJldmlvdXMgb25lIHdpdGggYWRkaXRpb25hbCBzZXJ2ZXJzIGNv
bm5lY3RlZCB0byBBMSBhbmQgQTIgYW5kJm5ic3A7Y291bGQgYmUgbW9yZSBjb21tb24gdGhhbiA1
LjMuPGJyPg0KQ29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIGRpYWdyYW0sPGJyPg0KLSBmb3IgdGhl
IHN1YmNhc2UgYSksIGZvciByZWFsbSByb3V0ZWQgcmVxdWVzdCBDMSBjaG9pY2UgYmV0d2VlbiBB
MSBhbmQgQTIgY2FuIHJlbHkgb24gdGhlIGNvbWJpbmVkJm5ic3A7KG9yIGFnZ3JlZ2F0ZWQpIGxv
YWQgb2YgUzEgYW5kIFMzIGNvbXBhcmVkIHRvIHRoZSBhZ2dyZWdhdGVkIGxvYWQgb2YgUzIgYW5k
IFM0Ljxicj4NCi0gZm9yIHRoZSBzdWJjYXNlIGIpIHNpbWlsYXJseSwgQTEgd291bGQgY29tcGFy
ZSBhbiBhZ2dyZWdhdGVkIGxvYWQgb2YgUzIgYW5kIFM0IHJlY2VpdmVkIGZyb20gQTImbmJzcDt0
byB0aGUgYWdncmVnYXRlZCBsb2FkIG9mIFMxIGFuZCBTMy48YnI+DQombmJzcDs8YnI+DQpUaGlz
IHVzZSBjYXNlIG1heSBkcml2ZSB0byBjb25zaWRlciBpZiB0aGUgbG9hZCBvZiBhIHNldCBvZiBu
b2RlcyAoYWdncmVnYXRlZCBsb2FkKSB3b3VsZCBiZSB1c2VmdWwmbmJzcDtvciBpZiBpdCBjYW4g
YmUgYXZvaWRlZC4mbmJzcDs8YnI+DQombmJzcDs8YnI+DQombmJzcDs8YnI+DQo8c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6JnF1b3Q7TW9uYWNvJnF1b3Q7LCZxdW90O3NlcmlmJnF1b3Q7Ij4mbmJz
cDsgJm5ic3A7LS0tQTEtLS1TMSwgUzMg4oCmPGJyPg0KLyAmbmJzcDsgJm5ic3A7fCBcLzxicj4N
CkMxICZuYnNwOyZuYnNwO3wgL1w8YnI+DQpcICZuYnNwOyAmbmJzcDt8LyAmbmJzcDtcPGJyPg0K
Jm5ic3A7ICZuYnNwOy0tLUEyLS0tUzIsIFM0IOKApjxicj4NCjwvc3Bhbj4mbmJzcDs8YnI+DQpG
aWd1cmUgNS41PGJyPg0KJm5ic3A7PGJyPg0KSW4gdGhpcyBkaWFncmFtLCBhbGwgc2VydmVycyBh
cmUgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHNldCBvZiBEQXMsIHdoaWNoIG11bHRpcGx5IHRoZSBu
dW1iZXIgb2YmbmJzcDtjb25uZWN0aW9ucyBiZXR3ZWVuIHNlcnZlcnMgYW5kIHRoZWlyIERBczsg
b3RoZXJ3aXNlLCB3ZSBjb21lIGJhY2sgdG8gdGhlIGZpZ3VyZSA1LjQgY2FzZSBvciBhbiZuYnNw
O2h5YnJpZCBjYXNlIGJldHdlZW4gZmlndXJlIDUuNCBhbmQgNS41LiZuYnNwOzxicj4NCkMxIHdo
ZW4gc2VuZGluZyBhIHJlcXVlc3QgbWF5IHNlbGVjdCBBMSBvciBBMiBhY2NvcmRpbmcgdG8gYSBs
b2FkIGluZm9ybWF0aW9uIG9ubHkgcmVsYXRlZCB0byBBMSZuYnNwO2xvYWQgYW5kIEEyIGxvYWQu
IFRoaXMgc2VsZWN0aW9uIGlzIGluZGVwZW5kZW50IGZyb20gdGhlIHNlcnZlciBsb2FkLCBleGNl
cHQgaWYgd2UgdGFrZSBpbnRvJm5ic3A7YWNjb3VudCBlLmcuIHRoZSBsb2FkIG9mIHRoZSBBMS9T
MSBjb25uZWN0aW9uIGFuZCB0aGUgbG9hZCBvZiBBMi9TMQ0KIGNvbm5lY3Rpb24gd2hpY2ggbWF5
IGJlJm5ic3A7ZGlmZmVyZW50Ljxicj4NCiZuYnNwOzxicj4NCkExIChvciBBMikgdGhlbiBzZWxl
Y3RzIHRoZSBzZXJ2ZXIgYWNjb3JkaW5nIHRvIGxvYWQgaW5mb3JtYXRpb24gcmVjZWl2ZWQgZnJv
bSB0aGVzZSBzZXJ2ZXJzLCZuYnNwO2V4Y2VwdCBmb3IgaG9zdCByb3V0ZWQgcmVxdWVzdHMuICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0K
Jm5ic3A7PGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O01vbmFjbyZxdW90Oywm
cXVvdDtzZXJpZiZxdW90OyI+Jm5ic3A7ICZuYnNwOy0tLUExLS0tQTMtLS0tUzEsIFMzIOKApjxi
cj4NCi8gJm5ic3A7ICZuYnNwO3wgXC8gfDxicj4NCkMxICZuYnNwOyB8IC9cIHw8YnI+DQpcICZu
YnNwOyAmbmJzcDt8LyAmbmJzcDtcfDxicj4NCiZuYnNwOyAmbmJzcDstLS1BMi0tLUE0LS0tLVMy
LCBTNCDigKY8YnI+DQo8L3NwYW4+Jm5ic3A7PGJyPg0KRmlndXJlIDUuNjxicj4NCiZuYnNwOzxi
cj4NClRoaXMgZGlhZ3JhbSBpbnRyb2R1Y2VzIOKAnHR3byBsYXllcnPigJ0gb2YgREFzIGJldHdl
ZW4gY2xpZW50cyBhbmQgc2VydmVycy48YnI+DQpDb21wYXJlZCB0byBmaWd1cmUgNS4zIG9yIDUu
NCwgQzEgd2hlbiBzZW5kaW5nIGEgcmVxdWVzdCBtYXkgc2VsZWN0IEExIG9yIEEyIGFjY29yZGlu
ZyB0byBhIGxvYWQmbmJzcDtpbmZvcm1hdGlvbiBvbmx5IHJlbGF0ZWQgdG8gQTEgbG9hZCBhbmQg
QTIgbG9hZC4gVGhlbiBBMShvciBBMil3aGVuIGRvaW5nIGZ1cnRoZXIgcm91dGluZywgYXJlIGlu
IGEmbmJzcDtzaW1pbGFyIHNpdHVhdGlvbiB0byBDMSBpbiBGaWd1cmVzIDUuMyBvciA1LjQuPGJy
Pg0KJm5ic3A7PGJyPg0KJm5ic3A7ICZuYnNwOyZuYnNwOzxicj4NCjxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTomcXVvdDtNb25hY28mcXVvdDssJnF1b3Q7c2VyaWYmcXVvdDsiPiZuYnNwOyAmbmJz
cDstLS1BMS0tLUEzLS0tUzEsIFMzIOKApjxicj4NCi8gJm5ic3A7ICZuYnNwO3wgXC8gfCBcLzxi
cj4NCkMxICZuYnNwOyB8IC9cIHwgL1w8YnI+DQpcICZuYnNwOyAmbmJzcDt8LyAmbmJzcDtcfC8g
Jm5ic3A7XDxicj4NCiZuYnNwOyAmbmJzcDstLS1BMi0tLUE0LS0tUzIsIFM0IOKApjxicj4NCiZu
YnNwOzxicj4NCjwvc3Bhbj5GaWd1cmUgNS43PGJyPg0KQXMgaW4gZmlndXJlIDUuNCwgYWxsIHNl
cnZlcnMgYXJlIGNvbm5lY3RlZCB0byBhIGNvbW1vbiBzZXQgb2YgREFzIChoZXJlIEEzLCBBNCks
IHdoaWNoIG11bHRpcGx5Jm5ic3A7dGhlIG51bWJlciBvZiBjb25uZWN0aW9ucyBiZXR3ZWVuIHNl
cnZlcnMgYW5kIHRoZWlyIERBczsgb3RoZXJ3aXNlLCB3ZSBjb21lIGJhY2sgdG8gdGhlIGZpZ3Vy
ZSA1LjYmbmJzcDtjYXNlIG9yIGEgaHlicmlkIGNhc2UgYmV0d2VlbiBmaWd1cmVzIDUuNiBhbmQg
NS43LiZuYnNwOzxicj4NCkMxIHdoZW4gc2VuZGluZyBhIHJlcXVlc3QgbWF5IHNlbGVjdCBBMSBv
ciBBMiBhY2NvcmRpbmcgdG8gYSBsb2FkIGluZm9ybWF0aW9uIG9ubHkgcmVsYXRlZCB0byBBMSZu
YnNwO2xvYWQgYW5kIEEyIGxvYWQuIFRoaXMgc2VsZWN0aW9uIGlzIGluZGVwZW5kZW50IGZyb20g
dGhlIHNlcnZlciBsb2FkLjxicj4NClRoZW4gQTEgb3IgQTIgZm9yIGZ1dHJqZXIgcm91dGluZyBo
YXZlIGEgc2ltaWxhciBzaXR1YXRpb24gdG8gQzEgaW4gZmlndXJlIDUuNS48YnI+DQpUaGlzIGNh
c2Ugb2ZmZXIgYSBoaWdoIGZsZXhpYmlsaXR5IGFib3V0IGxvYWQgc2hhcmluZyB0aGF0IGNhbiBi
ZSBkb25lIGluIGRpZmZlcmVudCBwbGFjZXMsIGJ1dCBhbHMmbmJzcDtvIG1heSBpbnRyb2R1Y2Ug
aGlnaGVyIGNvbXBsZXhpdHkgYWJvdXQgc2VsZWN0aW5nIHRoZSByaWdodCByb3V0aW5nLiAmbmJz
cDsmbmJzcDs8YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+
DQombmJzcDs8YnI+DQojTDIgJm5ic3A7ICZuYnNwO1BhcnRpdGlvbmVkIHNlcnZlcnMgKGNhbiBi
ZSBhZGRlZCBpbiBzZWN0aW9uIDUpPGJyPg0KJm5ic3A7PGJyPg0KVGhpcyB0aGUgY2FzZSBvZiBy
ZWFsbSByb3V0ZWQgcmVxdWVzdCB3aGVyZSBvbmx5IG9uZSBvciBzb21lIHNlcnZlcnMgaW4gdGhl
IHNhbWUgcmVhbG0gY2FuIGhhbmRsZSZuYnNwO3RoZSByZXF1ZXN0LCBzbyBubyBsb2FkIGJhbGFu
Y2luZyB0byBvdGhlciBzZXJ2ZXJzIG9mIHRoZSByZWFsbSBjYW4gYmUgYWNoaWV2ZWQuIEFuIGlu
dGVybWVkaWF0ZSZuYnNwO3Byb3h5IERBIHdpbGwgc2VsZWN0IHRoZSBwb3NzaWJsZSBzZXJ2ZXIo
cylmb3IgdGhpcyByZXF1ZXN0LCBhbmQNCiBpZiBzZXZlcmFsIHNlcnZlcnMsIHRoZSBEQSBtYXkg
ZG8mbmJzcDtzb21lIGxvYWQgYmFsYW5jaW5nIGJldHdlZW4gdGhlbSBhbmQgaWYgb25lIHNlcnZl
ciwgdGhlIERBIG1heSBhY3QgYXMgd2l0aCBob3N0IHJvdXRlZCByZXF1ZXN0cy4gJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KX19fX19fX19fX19fX19f
X19fX19fX19fX19fPGJyPg0KI0wzICZuYnNwOyAmbmJzcDtBY3RpdmUgYW5kIHN0YW5kIGJ5IG5v
ZGVzIChjYW4gYmUgaW5zZXJ0ZWQgaW4gc2VjdGlvbiA1KTxicj4NCiZuYnNwOzxicj4NCkluIHRo
ZSBhYm92ZSB0b3BvbG9neSB1c2UgY2FzZXMsIGl0IGlzIGFzc3VtZWQgdGhhdCBsb2FkIHNoYXJp
bmcgY2FuIGJlIHVzZWQgYmV0d2VlbiB0aGUgZGlmZmVyZW50Jm5ic3A7cG9zc2libGUgY29ubmVj
dGlvbnMgb2YgdGhlIGZpZ3VyZXMuIElmIG5vZGVzIGFyZSBpbiBhbiAmbmJzcDthY3RpdmUgYW5k
IHN0YW5kIGJ5IGNvbmZpZ3VyYXRpb25zLCB0aGUmbmJzcDtmaWd1cmVzIHRvIGNvbnNpZGVyIGFy
ZSB3aXRoIHRoZSBvbmx5IGFjdGl2ZSBjb25uZWN0aW9ucy4gVGhlDQogc3dpdGNoIGZyb20gdGhl
IGFjdGl2ZSB0byB0aGUgc3RhbmQmbmJzcDtieSBub2RlIHdpdGggdGhlIGxvYWQgaGFuZGxpbmcg
YXNwZWN0IGlzIGFub3RoZXIgdG9waWMuICZuYnNwOzxicj4NCiZuYnNwOzxicj4NCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQombmJzcDs8YnI+DQojTDTigKYgU29tZSBj
b25zaWRlcmF0aW9ucyBmcm9tIHRoZSB0b3BvbG9neSB1c2UgY2FzZXMgKGNhbiBiZSBpbnNlcnRl
ZCBpbiBzZWN0aW9uIDUpPGJyPg0KJm5ic3A7PGJyPg0KLSB0aGVyZSBpcyBhIGxhcmdlIHZhcmll
dHkgb2YgdXNlIGNhc2VzIHdpdGggdmFyaW91cyBwbGFjZXMgd2hlcmUgbG9hZCBiYWxhbmNpbmcg
YWN0aW9ucyBjYW4gYmUmbmJzcDt0YWtlbi4gVGhpcyBtYXkgaW1wYWN0IHRoZSBjb250ZW50IG9m
IGxvYWQgaW5mb3JtYXRpb24gdHJhbnNmZXJyZWQgZG93bnN0cmVhbS4gSXQgc2hvdWxkIGFsc28g
YmUmbmJzcDthdm9pZGVkIHRvIGFkZCB0b28gbXVjaCBjb21wbGV4aXR5LCBlc3BlY2lhbGx5IG9u
IHRoZSBsb2FkIGluZm9ybWF0aW9uDQogY29udGVudCB0cmFuc2ZlcnJlZCZuYnNwO2Rvd25zdHJl
YW0sIG5vZGUgYmVoYXZpb3IgY2FuIGJlIG1vcmUgc29waGlzdGljYXRlZCBidXQgbm9ybWFsbHkg
cmVtYWlucyBvdXRzaWRlIHRoZSZuYnNwO3N0YW5kYXJkaXphdGlvbiBzY29wZS48YnI+DQombmJz
cDs8YnI+DQotIGNsaWVudHMgcmVjZWl2aW5nIGxvYWQgaW5mb3JtYXRpb24gaGF2ZSBub3QgdG8g
YmUgYXdhcmUgb2YgdGhlIERBcyBhbmQgc2VydmVyIHRvcG9sb2dpZXMsIHRoZXkmbmJzcDtuZXZl
cnRoZWxlc3MgbmVlZCByZWxldmFudCBsb2FkIGluZm9ybWF0aW9uIGNyaXRlcmlhIHRvIHNlbGVj
dCAod2hlbiBuZWVkZWQpIHRoZSByaWdodCBuZXh0IG5vZGUgdG8mbmJzcDt3aGljaCB0byBzZW5k
IGEgcmVxdWVzdC4gVGhpcyBtYXkgZHJpdmUgdG8gY29uc2lkZXIgaWYgc29tZQ0KIGFnZ3JlZ2F0
aW9uIG9mIGxvYWQgaW5mb3JtYXRpb24gdG8gYmUmbmJzcDtwZXJmb3JtZWQgYmVmb3JlIHNlbmRp
bmcgaXQgdG8gdGhlIGNsaWVudHMsIHNvIHRvIG1ha2UgaXQgc2ltcGxlciB0byB0aGUgY2xpZW50
cy48YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0K
Jm5ic3A7PGJyPg0KI0w2ICZuYnNwOyBMb2FkIGluZm9ybWF0aW9uIHNjb3BlcyAoY2FuIGJlICZu
YnNwO2FkZGVkIGluIHNlY3Rpb24gNik8YnI+DQombmJzcDs8YnI+DQpMb2FkIGluZm9ybWF0aW9u
IGNhbiBhcHBseSB0byB2YXJpb3VzIHNjb3BlcyB0aGF0IHNob3VsZCBiZSBjb25zaWRlcmVkIHRv
IHJldGFpbiBvciBub3QgOjxicj4NCiZuYnNwOzxicj4NCkxvYWQgb2YgYSBub2RlOiB0aGlzIGlz
IHRoZSBtb3N0IHVzdWFsIHRvIGNvbnNpZGVyLiBBIG5vZGUgY2FuIGJlIGFuIGVuZCBwb2ludCAo
c2VydmVyKSBvciBhbiZuYnNwO2FnZW50Ljxicj4NCiZuYnNwOzxicj4NCkxvYWQgb2YgYW4gYXBw
bGljYXRpb246IFRoZSBsb2FkIG9mIGEgc2VydmVyIGNhbiB2YXJ5IGFjY29yZGluZyB0byB0aGUg
YXBwbGljYXRpb25zIChlZyBkdWUgdG8mbmJzcDtkaWZmZXJlbmNlcyBpbiB0aGUgdXNlZCByZXNv
dXJjZXMpLiBTbyB0aGUgcG9zc2liaWxpdHkgdG8gaGF2ZSBhIGxvYWQgaW5mb3JtYXRpb24gcGVy
IGFwcGxpY2F0aW9uJm5ic3A7c2hvdWxkIG5vdCBiZSBwcmVjbHVkZWQgYXQgdGhpcyBsZXZlbCBv
ZiBhbmFseXNpcy48YnI+DQombmJzcDs8YnI+DQpMb2FkIG9mIGEgc2V0IG9mIG5vZGVzOiBpdCBt
YXkgYmUgY29uc2lkZXJlZCBpbnRlcmVzdGluZyB0aGF0IHRoZSBsb2FkIG9mIGEgc2V0IG9mIG5v
ZGVzIGlzJm5ic3A7dHJhbnNmZXJyZWQgZG93bnN0cmVhbS4gVXNlIGNhc2VzIHNob3VsZCBpZGVu
dGlmeSBzdWNoIGFuIGludGVyZXN0LiBUaGlzIGRyaXZlcyB0byB0aGUgYWdncmVnYXRpb24mbmJz
cDtvZiB0aGUgbG9hZCBvZiB0aGUgdmFyaW91cyBub2RlcyBvZiB0aGUgc2V0IHRvIGVsYWJvcmF0
ZSB0aGUgbG9hZA0KIG9mIHRoZSBzZXQuIFRoaXMgY2FuIGJlIGRvbmUgYnkmbmJzcDthbiBpbnRl
cm1lZGlhdGUgbm9kZSByZWNlaXZpbmcgdGhlIGxvYWQgaW5mb3JtYXRpb24gb2YgdGhlIHZhcmlv
dXMgbm9kZXMuIEl0IGNhbiBiZSBhIHdlaWdodGVkJm5ic3A7YXZlcmFnZSBiZXR3ZWVuIHRoZSBs
b2FkczsgdGhlIHdlaWdodCBpcyBhbm90aGVyIGluZm9ybWF0aW9uIHRvIGJlIGNvbnNpZGVyZWQg
KGVnIHRoZSBjYXBhY2l0eSBvZiZuYnNwO3RoZSBzZXJ2ZXJzIHdoaWNoIG1heSBiZSBkaWZmZXJl
bnQpLjxicj4NCiZuYnNwOzxicj4NCkxvYWQgb2YgYW4gYWdlbnQgYW5kIGxvYWQgb2YgYSBzZXJ2
ZXIuPGJyPg0KRGlmZmVyZW50IHBhdGhzIHZpYSBkaWZmZXJlbnQgREFzIG1heSBleGlzdCBiZXR3
ZWVuIHRoZSBub2RlIGRvaW5nIHRoZSBzZXJ2ZXIgc2VsZWN0aW9uIGFuZCB0aGUmbmJzcDtzZXJ2
ZXIuIFRoZSBsb2FkIGluZm9ybWF0aW9uIG9uIHRoZSBzZXJ2ZXIgd291bGQgYmUgdGhlIHNhbWU7
IGJ1dCB0aGVuIHRvIHdoaWNoIHBlZXIgdG8gc2VuZCB0aGUmbmJzcDttZXNzYWdlPyBUaGlzIHdv
dWxkIGRlcGVuZCBvZiB0aGUgbG9hZCBvZiB0aGUgcGVlciAoYW5kIGV2ZW4gb2YNCiB0aGUgbG9h
ZCBiZWhpbmQgdGhlIHBlZXIpLjxicj4NCiZuYnNwOzxicj4NCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fPGJyPg0KJm5ic3A7PGJyPg0KI0w3ICZuYnNwOyBBZGRpdGlvbiByZW1vdmFs
IG9mIGEgc2VydmVyIChjYW4gYmUgJm5ic3A7YWRkZWQgaW4gc2VjdGlvbiA2KTxicj4NCiZuYnNw
Ozxicj4NCldoZW4gYWRkaW5nIGEgc2VydmVyLCB0aGlzIG9uZSB3aWxsIHN0YXJ0IGJ5IGFkdmVy
dGlzaW5nIG5vIG9yIGEgc21hbGwgbG9hZCwgdGhlbiBpdCB3aWxsIGJlIHRvIHRoZSZuYnNwO2Rv
d25zdHJlYW0gbm9kZXMgKGVnIERBcykgaGFuZGxpbmcgbG9hZCBiYWxhbmNpbmcgYmV0d2VlbiBz
ZXJ2ZXJzIHRvIGVuc3VyZSBhIHNtb290aCBpbmNyZWFzZSBvZiZuYnNwO3RoZSB0cmFmZmljIHRv
IHRoaXMgc2VydmVyLCB0byBhdm9pZCB0byBpbW1lZGlhdGVseSBzZW5kIGl0DQogdG9vIG11Y2gg
dHJhZmZpYyBhbmQgZXZlbiB0byBub3QgcHV0IGl0Jm5ic3A7aW50byBvdmVybG9hZC4gSXQgbWF5
IGJlIHF1ZXN0aW9uZWQgaWYgYSBzaW1wbGUgbG9hZCBpbmZvcm1hdGlvbiAobG9hZCBwZXJjZW50
YWdlKSBpcyBzdWZmaWNpZW50Jm5ic3A7Zm9yIHRoaXMuPGJyPg0KJm5ic3A7PGJyPg0KV2hlbiBy
ZW1vdmluZyBhIHNlcnZlciBpbiBhIGNvbnRyb2xsZWQgd2F5IChlLmcuIGZvciBtYWludGVuYW5j
ZSBwdXJwb3NlLCBzbyBvdXRzaWRlIGEgZmFpbHVyZSZuYnNwO2Nhc2UpLCBhbiBvYmplY3RpdmUg
Y2FuIGJlIHRvIHByb2dyZXNzaXZlbHkgcmVkdWNlIHRoZSB0cmFmZmljIHRvIHRoaXMgc2VydmVy
LCB3aXRoIGEgcm91dGluZyBvZiZuYnNwO3RoZSB0cmFmZmljIHRvIG90aGVyIHNlcnZlcnMuIFNp
bXBsZSBsb2FkIGluZm9ybWF0aW9uIChsb2FkIHBlcmNlbnRhZ2UpDQogd291bGQgYmUgbm90IHN1
ZmZpY2llbnQuIEl0Jm5ic3A7c2hvdWxkIGJlIGNvbnNpZGVyZWQgaWYgdGhpcyB1c2UgY2FzZSBl
bnRlciB0aGUgc2NvcGUgb2YgdGhpcyBsb2FkIGNvbnRyb2wgbWVjaGFuaXNtLjxicj4NCiZuYnNw
Ozxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KJm5ic3A7PGJyPg0KI0w4ICZu
YnNwOyBJbXBsZW1lbnRhdGlvbiBhbmQgc3RhbmRhcmRpemF0aW9uIChjYW4gYmUgYWRkZWQgaW4g
c2VjdGlvbiAxKTxicj4NCiZuYnNwOzxicj4NClRocm91Z2ggdGhlIHVzZSBjYXNlcyBhbmQgdGhl
IGFyY2hpdGVjdHVyZXMgY29uc2lkZXJhdGlvbnMgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQs
IHRoZSBmb2N1cyBpcyZuYnNwO3RvIGRlZmluZSB3aGljaCB3b3VsZCBiZSB0aGUgcmVsZXZhbnQg
bG9hZCBpbmZvcm1hdGlvbiB0byBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgbm9kZXMgdGhhdCB3aWxs
IHVzZSZuYnNwO2l0LiBUaGVuLCBnaXZlbiB0aGUgdmFyaWV0eSBvZiB1c2UgY2FzZXMsIHRoZSBw
b3NzaWJsZSB0b3BvbG9naWVzLA0KIHRoZSBwbGFjZSB3aGVyZSB0aGUgc2VydmVyJm5ic3A7c2Vs
ZWN0aW9uIGlzIGRvbmUsIGV0YywgZmxleGliaWxpdHkgaXMgdG8gYmUgbGVmdCB0byBpbXBsZW1l
bnRhdGlvbnMgYWJvdXQgdGhlIG5vZGUgYmVoYXZpb3ImbmJzcDtyZWdhcmRpbmcgdGhlIGVsYWJv
cmF0aW9uIG9mIHRoZSBsb2FkIGluZm9ybWF0aW9uIGFuZCB0aGVuIGl0cyB1c2UuIEd1aWRhbmNl
IG9yIGV4YW1wbGVzIG1heSBhbHNvJm5ic3A7YmUgZ2l2ZW4gdG8gaGVscCBidXQgd2l0aG91dCBu
b3JtYXRpdmUNCiBhc3BlY3RzLjxicj4NCiZuYnNwOzxicj4NCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fPGJyPg0KJm5ic3A7PGJyPg0KI0w54oCmICZuYnNwO1JlZGlyZWN0IGFnZW50IDog
KGNhbiBiZSBhZGRlZCBhdCB0aGUgZW5kIG9mIHNlY3Rpb24gMyk8YnI+DQombmJzcDs8YnI+DQpB
IERpYW1ldGVyIG5vZGUgKGUuZy4gY2xpZW50KSBjYW4gdXNlIGEgcmVkaXJlY3QgYWdlbnQgdG8g
Z2V0IGRlc3RpbmF0aW9uIGhvc3QgYWRkcmVzc2VzLiAmbmJzcDtUaGUmbmJzcDtyZWRpcmVjdCBh
Z2VudCBtYXkgcmV0dXJuIHNldmVyYWwgZGVzdGluYXRpb24gaG9zdCBhZGRyZXNzZXMsIG9mIHdo
aWNoIHRoZSBEaWFtZXRlciBub2RlIGhhcyB0byZuYnNwO3NlbGVjdCBvbmUgYW5kIGZvciB0aGlz
IGNhbiByZWx5IG9uIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9uIHRoZXNlDQogaG9zdHM8YnI+DQpf
X19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQombmJzcDs8YnI+DQombmJzcDs8YnI+DQpT
byBwbGVhc2UgbGV0IG1lIGtub3cgeW91ciBjb21tZW50cy48YnI+DQombmJzcDs8YnI+DQpCZW4s
IHdvdWxkIHlvdSBiZSBPSyB0byBjb21wbGVtZW50IHlvdXIgZHJhZnQgd2l0aCB0aG9zZSBpbnB1
dHMgLiBXZSBjYW4gYWxzbyBoYXZlIHF1ZXN0aW9uIG1hcmtzIG9yIGVkaXRvcuKAmXMgbm90ZXMs
IGJ1dCBJIHRoaW5rIGdvb2QgdG8gaGF2ZSBhJm5ic3A7ZG9jdW1lbnQgYWJvdXQgd2hpY2ggd2Ug
ZGlzY3VzcyB0aGVzZSBhcmNoaXRlY3R1cmFsIGNvbnNpZGVyYXRpb25zLjxicj4NCiZuYnNwOzxi
cj4NCkJlc3QgcmVnYXJkczxicj4NCiZuYnNwOzxicj4NCkpKYWNxdWVzJm5ic3A7PGJyPg0KJm5i
c3A7PGJyPg0KJm5ic3A7PGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX188YnI+DQpEaU1FIG1haWxpbmcgbGlzdDxicj4NCjxhIGhyZWY9Im1haWx0bzpE
aU1FQGlldGYub3JnIj5EaU1FQGlldGYub3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vZGltZSI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFp
bG1hbi9saXN0aW5mby9kaW1lPC9hPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_E194C2E18676714DACA9C3A2516265D2026F4F76FR712WXCHMBA12z_--


From nobody Thu Jan  8 07:47:22 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A9EF71A8AA9 for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 07:47:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 PuNjLXc3fjgH for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 07:47:16 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 730B31A8AA2 for <dime@ietf.org>; Thu,  8 Jan 2015 07:47:16 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:63815 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y9FIk-0008k2-BI for dime@ietf.org; Thu, 08 Jan 2015 07:47:15 -0800
Message-ID: <54AEA67E.5090601@usdonovans.com>
Date: Thu, 08 Jan 2015 09:47:10 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: dime@ietf.org
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <08B99F05-1FF9-45D8-8979-879FACA25C53@nostrum.com>
In-Reply-To: <08B99F05-1FF9-45D8-8979-879FACA25C53@nostrum.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/G8nWCfX7cxJ0eSqQljQVrvFSS9I>
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 15:47:19 -0000

All,

I plan to leave the text as is in DOIC-06.  We can update it in the next 
WGLC if needed.

Steve

On 1/7/15 2:54 PM, Ben Campbell wrote:
> (Catching up on older stuff)
>
> Comments inline. But keep in mind that the detailed requirements are to be removed from the RFC, so I'm not sure we need to spend too much time on them. (Only the first discussion point addresses text that is to remain in the RFC.)
>
> Thanks!
>
> Ben.
>
>> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:
>>
>> Hello Ben,
>>
>> See comments below
>> Thanks
>> /MCruz
>>
>>> C.2.  Detection of non-supporting Intermediaries
>>>
>>>    The DOIC mechanism as currently defined does not allow supporting
>>>    nodes to automatically determine whether OC-Supported-Features or OC-
>>>    OLR AVPs are originated by a peer node, or by a non-peer node and
>>>    sent across a non-supporting peer.  This makes it impossible to
>>>    detect the presence of non-supporting nodes between supporting nodes,
>>>    except by configuration.  The working group determined that such a
>>>    configuration requirement is acceptable.
>>>
>>>    This limits full compliance with certain requirements related to the
>>>    limitation of new configuration, deployment in environments with
>>>    mixed support, operating across non-supporting agents, and
>>>    authorization.
>>> [MCruz] I think this paragraph should state what are the limitations
>>> (generally, like you did for rest of them) Morever, since detailed descriptions will be deleted.
>>>
>> The limitations are discussed in the security consideration section. Basically if a node expects an agent to enforce any DOIC related policy (e.g. making sure DOIC avps do not leak to unauthorized nodes), it has to know that the agent itself supports DOIC. Right now it can only know that by having an administrator tell it that (violating the limitation on new configuration), by knowing that all agents in the network support DOIC (violating the mixed support and non-supporting agent requirements.)
>> [MCruz] Please, include text accordingly then. The text now "certain requirements related to" does not provide an information that anyone could trace easily.
> I was explicitly asked by other people (e.g. Lionel) to list the impacted requirements descriptively, rather than by reference, in this section. The "certain requirements related to" are described by the words immediately after that phrase. That is, the requirement to limit new configuration, the requirement to allow deployments with mixed support, and the requirements to authorize who can send and receive overload information.
>
>>>
>>>
>>>    REQ 6:  The solution designers SHOULD seek to minimize the amount of
>>>            new configuration required in order to work.  For example, it
>>>            is better to allow peers to advertise or negotiate support
>>>            for the solution, rather than to require that this knowledge
>>>            to be configured at each node.
>>>
>>>            *Partially Compliant*. Most DOIC parameters are advertised
>>>            using the DOIC capability announcement mechanism.  However,
>>>            there are some situations where configuration is required.
>>>            For example, a DOIC node detect the fact that a peer may not
>>>            support DOIC when nodes on the other side of the non-
>>>            supporting node do support DOIC without configuration.
>>>
>>> [MCruz] Could you clarify last example? â€œwithoug configurationâ€? I do not understand what you meant.
>> Here's an example:
>>
>> C ------ A ------ S
>>
>> If both C and S support DOIC, there is no way for them to tell whether A supports DOIC. Consider two cases:
>>
>> 1) A supports DOIC. But since C already inserts OC-S-F in all requests, and S inserts it in all answers, A passes them through unchanged.
>> 2) A does not support DOIC, but passes through unknown AVPs. Since OC-S-F will be unknown to it, it passes it through unchanged.
>>
>>  From the perspective of C and S, the requests and answers look identical for both cases. Even if A actually changes the content of an OC-S-F avp, neither endpoint can tell if the resulting AVP came from A or the opposite endpoint.
>>
>> Personally, I think this is a showstopper. But the working group consensus did not agree.
>>
>> [MCruz] Several comments:
>> a) Then you consider this requirement as "partly compliant" since you consider configuration is required in a node to identify whether or not its adjacent peers support DOIC, right? If so, could you explain why a node needs to know whether or not the peer support DOIC, a part from what is included in the advertisement mechanism we defined?
> If you do not know that a peer supports DOIC, you cannot assume that it will enforce DOIC related policies (I believe that is sufficiently described in the security configurations.)
>
>> b) What do you think is a "show stopper"? The need for configuration?
> Explicitly, the need to configure whether you can trust a peer to enforce DOIC related polices. I believe this is an important security issue, and that being unable to determine it automatically is a real problem. Requiring this sort of configuration doesn't scale well, and has the potential of creating real management and operations problems. (Note the IETF area that DIME is in.)
>
> But, as I said, the working group seems to have chosen to move forward without an automatic way to do this. Perhaps it can be improved in a future extension.
>
>>
>>
>>>    REQ 23: The solution MUST provide sufficient information to enable a
>>>            load-balancing node to divert messages that are rejected or
>>>            otherwise throttled by an overloaded upstream node to other
>>>            upstream nodes that are the most likely to have sufficient
>>>            capacity to process them.
>>>
>>>            *Not Compliant*. DOIC provides no built in mechanism to
>>>            determine the best place to divert messages that would
>>>            otherwise be throttled.  This can be accomplished with a
>>>            future "load" extension, or with proprietary load balancing
>>>            mechanisms.
>>>
>>> [MCruz] Partly Compliant. DOIC Overload information can be used already by proprietary load-balancing implementations.
>>>
>>> Load information will be a plus to this.
>>>
>> I disagree, or at least think that would be _very_ partial. You won't have any overload information unless the potential diversion targets are also overloaded.
>> [MCruz] In case servers in the pools are DOIC enabled the Overload information is provided by all of them, under overload occurrences, then this information is valid (maybe not sufficient in all cases, I agree, but valid in most of them) to divert.
>> In case we have mixed servers (DOIC-supporting and non-DOIC) we have some limitations as well.
> The purpose behind this requirement was to allow load balancing of requests that are diverted to (hopefully) non-overloaded servers, in a way that reduces the chance of causing those servers to also become overloaded. Those servers will not be providing OLRs.
>
> I still do not agree that the corner case of diverting request to _overloaded_ servers is big enough to consider this partially compliant.
>
>>
>>>
>>>    REQ 30: The solution MUST NOT interfere with any Diameter-compliant
>>>            method that a node may use to protect itself from overload
>>>            from non-supporting nodes or from denial-of-service attacks.
>>>
>>>            *Compliant*. The specification recommends that any such
>>>            protection mechanism needed without DOIC should continue to
>>>            be employed with DOIC.
>>> [MCruz] Could you point our where in the draft it is described?
>> 9.3
>> [MCruz] I do not think 9.3 says what you mentioned here.
>> It says "In the absence of an overload control mechanism...". It is not said the DOIC shall not interfere with any other Diameter method for protection, we may need to add this information to the draft in fact.
>> A part from that, I think 9.3. should say "for non-DOIC supporting nodes/networks..." not just "in the absence of _an_ overload control mechanism"...
> The "absence of an OC strategy" part is there to provide the context that these protection mechanisms existed, or needed to exist, prior to the availability of DOIC. The section goes on to say that, even with DOIC, these protections are still needed to deal with non-compliant nodes.
>
> Are you arguing that we don't comply with Req 30? (Keeping in mind that this text is to be removed from the RFC.)
>
>>
>>
>>
>>
>> /Ben.
>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan  8 09:35:28 2015
Return-Path: <jean-jacques.trottin@alcatel-lucent.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B0D61A8F40 for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 09:35:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.31
X-Spam-Level: 
X-Spam-Status: No, score=-6.31 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_47=0.6, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 8KoHi0j-1vUV for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 09:35:21 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (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 BAC421A8AF9 for <dime@ietf.org>; Thu,  8 Jan 2015 09:35:20 -0800 (PST)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (unknown [135.239.2.42]) by Websense Email Security Gateway with ESMTPS id 7EC26AE0CEB7C; Thu,  8 Jan 2015 17:35:15 +0000 (GMT)
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id t08HZIRd032762 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 8 Jan 2015 18:35:19 +0100
Received: from FR712WXCHMBA12.zeu.alcatel-lucent.com ([169.254.8.50]) by FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id 14.03.0195.001; Thu, 8 Jan 2015 18:35:18 +0100
From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
To: Steve Donovan <srdonovan@usdonovans.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: [Dime] Updated DOIC Requirements Analysis
Thread-Index: AQHQCFYt6tScBxBsq0iC3L6bres0LpyIv54AgADMHwCAAihrkIAposKAgAE8XwCAACwScA==
Date: Thu, 8 Jan 2015 17:35:18 +0000
Message-ID: <E194C2E18676714DACA9C3A2516265D2026F502B@FR712WXCHMBA12.zeu.alcatel-lucent.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <08B99F05-1FF9-45D8-8979-879FACA25C53@nostrum.com> <54AEA67E.5090601@usdonovans.com>
In-Reply-To: <54AEA67E.5090601@usdonovans.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [135.239.27.41]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/nnDofSMTBxBk4oSaJ5OsjBgbRhs>
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 17:35:25 -0000

SGkgDQoNCkRPSUMtdjA2IGN1cnJlbnRseSBjb250YWlucyAgdGhlIGFuYWx5c2lzIG9uIHRoZSBk
ZXRhaWxlZCAgbGlzdCBvZiByZXF1aXJlbWVudHMgaW4gYW5uZXggQzYuDQpUbyBjb21lIGJhY2sg
b24gQmVuJ3MgcmVtYXJrLCBJIHVuZGVyc3Rvb2QgdGhhdCBkZWNpc2lvbiB3YXMgdGFrZW4gdG8g
cmVtb3ZlIGl0LiBDYW5ub3QgaXQgYmUgbm93ICBkb25lIGluIHRoZSBET0lDIFYwNiAod2hpY2gg
aXMgbm90IHlldCBwdWJsaXNoZWQgb24gdGhlIElFVEYpLiBPciBpcyBpdCBuZWVkZWQgdG8gd2Fp
dCBmb3IgdGhlIG5leHQgV0dMQyhiZWNhdXNlIGxhY2tpbmcgdGltZT8pLg0KDQpCZXN0IHJlZ2Fy
ZHMNCg0KSkphY3F1ZXMgIA0KDQpSZWdhcmRzDQoNCkpKYWNxdWVzIA0KDQotLS0tLU1lc3NhZ2Ug
ZCdvcmlnaW5lLS0tLS0NCkRlwqA6IERpTUUgW21haWx0bzpkaW1lLWJvdW5jZXNAaWV0Zi5vcmdd
IERlIGxhIHBhcnQgZGUgU3RldmUgRG9ub3Zhbg0KRW52b3nDqcKgOiBqZXVkaSA4IGphbnZpZXIg
MjAxNSAxNjo0Nw0Kw4DCoDogZGltZUBpZXRmLm9yZw0KT2JqZXTCoDogUmU6IFtEaW1lXSBVcGRh
dGVkIERPSUMgUmVxdWlyZW1lbnRzIEFuYWx5c2lzDQoNCkFsbCwNCg0KSSBwbGFuIHRvIGxlYXZl
IHRoZSB0ZXh0IGFzIGlzIGluIERPSUMtMDYuICBXZSBjYW4gdXBkYXRlIGl0IGluIHRoZSBuZXh0
IFdHTEMgaWYgbmVlZGVkLg0KDQpTdGV2ZQ0KDQpPbiAxLzcvMTUgMjo1NCBQTSwgQmVuIENhbXBi
ZWxsIHdyb3RlOg0KPiAoQ2F0Y2hpbmcgdXAgb24gb2xkZXIgc3R1ZmYpDQo+DQo+IENvbW1lbnRz
IGlubGluZS4gQnV0IGtlZXAgaW4gbWluZCB0aGF0IHRoZSBkZXRhaWxlZCByZXF1aXJlbWVudHMg
YXJlIA0KPiB0byBiZSByZW1vdmVkIGZyb20gdGhlIFJGQywgc28gSSdtIG5vdCBzdXJlIHdlIG5l
ZWQgdG8gc3BlbmQgdG9vIG11Y2ggDQo+IHRpbWUgb24gdGhlbS4gKE9ubHkgdGhlIGZpcnN0IGRp
c2N1c3Npb24gcG9pbnQgYWRkcmVzc2VzIHRleHQgdGhhdCBpcyANCj4gdG8gcmVtYWluIGluIHRo
ZSBSRkMuKQ0KPg0KPiBUaGFua3MhDQo+DQo+IEJlbi4NCj4NCj4+IE9uIERlYyAxMiwgMjAxNCwg
YXQgMjoyNCBBTSwgTWFyaWEgQ3J1eiBCYXJ0b2xvbWUgPG1hcmlhLmNydXouYmFydG9sb21lQGVy
aWNzc29uLmNvbT4gd3JvdGU6DQo+Pg0KPj4gSGVsbG8gQmVuLA0KPj4NCj4+IFNlZSBjb21tZW50
cyBiZWxvdw0KPj4gVGhhbmtzDQo+PiAvTUNydXoNCj4+DQo+Pj4gQy4yLiAgRGV0ZWN0aW9uIG9m
IG5vbi1zdXBwb3J0aW5nIEludGVybWVkaWFyaWVzDQo+Pj4NCj4+PiAgICBUaGUgRE9JQyBtZWNo
YW5pc20gYXMgY3VycmVudGx5IGRlZmluZWQgZG9lcyBub3QgYWxsb3cgc3VwcG9ydGluZw0KPj4+
ICAgIG5vZGVzIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgT0MtU3VwcG9ydGVk
LUZlYXR1cmVzIG9yIE9DLQ0KPj4+ICAgIE9MUiBBVlBzIGFyZSBvcmlnaW5hdGVkIGJ5IGEgcGVl
ciBub2RlLCBvciBieSBhIG5vbi1wZWVyIG5vZGUgYW5kDQo+Pj4gICAgc2VudCBhY3Jvc3MgYSBu
b24tc3VwcG9ydGluZyBwZWVyLiAgVGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvDQo+Pj4gICAg
ZGV0ZWN0IHRoZSBwcmVzZW5jZSBvZiBub24tc3VwcG9ydGluZyBub2RlcyBiZXR3ZWVuIHN1cHBv
cnRpbmcgbm9kZXMsDQo+Pj4gICAgZXhjZXB0IGJ5IGNvbmZpZ3VyYXRpb24uICBUaGUgd29ya2lu
ZyBncm91cCBkZXRlcm1pbmVkIHRoYXQgc3VjaCBhDQo+Pj4gICAgY29uZmlndXJhdGlvbiByZXF1
aXJlbWVudCBpcyBhY2NlcHRhYmxlLg0KPj4+DQo+Pj4gICAgVGhpcyBsaW1pdHMgZnVsbCBjb21w
bGlhbmNlIHdpdGggY2VydGFpbiByZXF1aXJlbWVudHMgcmVsYXRlZCB0byB0aGUNCj4+PiAgICBs
aW1pdGF0aW9uIG9mIG5ldyBjb25maWd1cmF0aW9uLCBkZXBsb3ltZW50IGluIGVudmlyb25tZW50
cyB3aXRoDQo+Pj4gICAgbWl4ZWQgc3VwcG9ydCwgb3BlcmF0aW5nIGFjcm9zcyBub24tc3VwcG9y
dGluZyBhZ2VudHMsIGFuZA0KPj4+ICAgIGF1dGhvcml6YXRpb24uDQo+Pj4gW01DcnV6XSBJIHRo
aW5rIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBzdGF0ZSB3aGF0IGFyZSB0aGUgbGltaXRhdGlvbnMg
DQo+Pj4gKGdlbmVyYWxseSwgbGlrZSB5b3UgZGlkIGZvciByZXN0IG9mIHRoZW0pIE1vcmV2ZXIs
IHNpbmNlIGRldGFpbGVkIGRlc2NyaXB0aW9ucyB3aWxsIGJlIGRlbGV0ZWQuDQo+Pj4NCj4+IFRo
ZSBsaW1pdGF0aW9ucyBhcmUgZGlzY3Vzc2VkIGluIHRoZSBzZWN1cml0eSBjb25zaWRlcmF0aW9u
IHNlY3Rpb24uIA0KPj4gQmFzaWNhbGx5IGlmIGEgbm9kZSBleHBlY3RzIGFuIGFnZW50IHRvIGVu
Zm9yY2UgYW55IERPSUMgcmVsYXRlZCBwb2xpY3kgKGUuZy4gbWFraW5nIHN1cmUgRE9JQyBhdnBz
IGRvIG5vdCBsZWFrIHRvIHVuYXV0aG9yaXplZCBub2RlcyksIGl0IGhhcyB0byBrbm93IHRoYXQg
dGhlIGFnZW50IGl0c2VsZiBzdXBwb3J0cyBET0lDLiBSaWdodCBub3cgaXQgY2FuIG9ubHkga25v
dyB0aGF0IGJ5IGhhdmluZyBhbiBhZG1pbmlzdHJhdG9yIHRlbGwgaXQgdGhhdCAodmlvbGF0aW5n
IHRoZSBsaW1pdGF0aW9uIG9uIG5ldyBjb25maWd1cmF0aW9uKSwgYnkga25vd2luZyB0aGF0IGFs
bCBhZ2VudHMgaW4gdGhlIG5ldHdvcmsgc3VwcG9ydCBET0lDICh2aW9sYXRpbmcgdGhlIG1peGVk
IHN1cHBvcnQgYW5kIG5vbi1zdXBwb3J0aW5nIGFnZW50IHJlcXVpcmVtZW50cy4pIFtNQ3J1el0g
UGxlYXNlLCBpbmNsdWRlIHRleHQgYWNjb3JkaW5nbHkgdGhlbi4gVGhlIHRleHQgbm93ICJjZXJ0
YWluIHJlcXVpcmVtZW50cyByZWxhdGVkIHRvIiBkb2VzIG5vdCBwcm92aWRlIGFuIGluZm9ybWF0
aW9uIHRoYXQgYW55b25lIGNvdWxkIHRyYWNlIGVhc2lseS4NCj4gSSB3YXMgZXhwbGljaXRseSBh
c2tlZCBieSBvdGhlciBwZW9wbGUgKGUuZy4gTGlvbmVsKSB0byBsaXN0IHRoZSBpbXBhY3RlZCBy
ZXF1aXJlbWVudHMgZGVzY3JpcHRpdmVseSwgcmF0aGVyIHRoYW4gYnkgcmVmZXJlbmNlLCBpbiB0
aGlzIHNlY3Rpb24uIFRoZSAiY2VydGFpbiByZXF1aXJlbWVudHMgcmVsYXRlZCB0byIgYXJlIGRl
c2NyaWJlZCBieSB0aGUgd29yZHMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhhdCBwaHJhc2UuIFRoYXQg
aXMsIHRoZSByZXF1aXJlbWVudCB0byBsaW1pdCBuZXcgY29uZmlndXJhdGlvbiwgdGhlIHJlcXVp
cmVtZW50IHRvIGFsbG93IGRlcGxveW1lbnRzIHdpdGggbWl4ZWQgc3VwcG9ydCwgYW5kIHRoZSBy
ZXF1aXJlbWVudHMgdG8gYXV0aG9yaXplIHdobyBjYW4gc2VuZCBhbmQgcmVjZWl2ZSBvdmVybG9h
ZCBpbmZvcm1hdGlvbi4NCj4NCj4+Pg0KPj4+DQo+Pj4gICAgUkVRIDY6ICBUaGUgc29sdXRpb24g
ZGVzaWduZXJzIFNIT1VMRCBzZWVrIHRvIG1pbmltaXplIHRoZSBhbW91bnQgb2YNCj4+PiAgICAg
ICAgICAgIG5ldyBjb25maWd1cmF0aW9uIHJlcXVpcmVkIGluIG9yZGVyIHRvIHdvcmsuICBGb3Ig
ZXhhbXBsZSwgaXQNCj4+PiAgICAgICAgICAgIGlzIGJldHRlciB0byBhbGxvdyBwZWVycyB0byBh
ZHZlcnRpc2Ugb3IgbmVnb3RpYXRlIHN1cHBvcnQNCj4+PiAgICAgICAgICAgIGZvciB0aGUgc29s
dXRpb24sIHJhdGhlciB0aGFuIHRvIHJlcXVpcmUgdGhhdCB0aGlzIGtub3dsZWRnZQ0KPj4+ICAg
ICAgICAgICAgdG8gYmUgY29uZmlndXJlZCBhdCBlYWNoIG5vZGUuDQo+Pj4NCj4+PiAgICAgICAg
ICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50Ki4gTW9zdCBET0lDIHBhcmFtZXRlcnMgYXJlIGFkdmVy
dGlzZWQNCj4+PiAgICAgICAgICAgIHVzaW5nIHRoZSBET0lDIGNhcGFiaWxpdHkgYW5ub3VuY2Vt
ZW50IG1lY2hhbmlzbS4gIEhvd2V2ZXIsDQo+Pj4gICAgICAgICAgICB0aGVyZSBhcmUgc29tZSBz
aXR1YXRpb25zIHdoZXJlIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQuDQo+Pj4gICAgICAgICAg
ICBGb3IgZXhhbXBsZSwgYSBET0lDIG5vZGUgZGV0ZWN0IHRoZSBmYWN0IHRoYXQgYSBwZWVyIG1h
eSBub3QNCj4+PiAgICAgICAgICAgIHN1cHBvcnQgRE9JQyB3aGVuIG5vZGVzIG9uIHRoZSBvdGhl
ciBzaWRlIG9mIHRoZSBub24tDQo+Pj4gICAgICAgICAgICBzdXBwb3J0aW5nIG5vZGUgZG8gc3Vw
cG9ydCBET0lDIHdpdGhvdXQgY29uZmlndXJhdGlvbi4NCj4+Pg0KPj4+IFtNQ3J1el0gQ291bGQg
eW91IGNsYXJpZnkgbGFzdCBleGFtcGxlPyDigJx3aXRob3VnIGNvbmZpZ3VyYXRpb27igJ0/IEkg
ZG8gbm90IHVuZGVyc3RhbmQgd2hhdCB5b3UgbWVhbnQuDQo+PiBIZXJlJ3MgYW4gZXhhbXBsZToN
Cj4+DQo+PiBDIC0tLS0tLSBBIC0tLS0tLSBTDQo+Pg0KPj4gSWYgYm90aCBDIGFuZCBTIHN1cHBv
cnQgRE9JQywgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGVtIHRvIHRlbGwgd2hldGhlciBBIHN1cHBv
cnRzIERPSUMuIENvbnNpZGVyIHR3byBjYXNlczoNCj4+DQo+PiAxKSBBIHN1cHBvcnRzIERPSUMu
IEJ1dCBzaW5jZSBDIGFscmVhZHkgaW5zZXJ0cyBPQy1TLUYgaW4gYWxsIHJlcXVlc3RzLCBhbmQg
UyBpbnNlcnRzIGl0IGluIGFsbCBhbnN3ZXJzLCBBIHBhc3NlcyB0aGVtIHRocm91Z2ggdW5jaGFu
Z2VkLg0KPj4gMikgQSBkb2VzIG5vdCBzdXBwb3J0IERPSUMsIGJ1dCBwYXNzZXMgdGhyb3VnaCB1
bmtub3duIEFWUHMuIFNpbmNlIE9DLVMtRiB3aWxsIGJlIHVua25vd24gdG8gaXQsIGl0IHBhc3Nl
cyBpdCB0aHJvdWdoIHVuY2hhbmdlZC4NCj4+DQo+PiAgRnJvbSB0aGUgcGVyc3BlY3RpdmUgb2Yg
QyBhbmQgUywgdGhlIHJlcXVlc3RzIGFuZCBhbnN3ZXJzIGxvb2sgaWRlbnRpY2FsIGZvciBib3Ro
IGNhc2VzLiBFdmVuIGlmIEEgYWN0dWFsbHkgY2hhbmdlcyB0aGUgY29udGVudCBvZiBhbiBPQy1T
LUYgYXZwLCBuZWl0aGVyIGVuZHBvaW50IGNhbiB0ZWxsIGlmIHRoZSByZXN1bHRpbmcgQVZQIGNh
bWUgZnJvbSBBIG9yIHRoZSBvcHBvc2l0ZSBlbmRwb2ludC4NCj4+DQo+PiBQZXJzb25hbGx5LCBJ
IHRoaW5rIHRoaXMgaXMgYSBzaG93c3RvcHBlci4gQnV0IHRoZSB3b3JraW5nIGdyb3VwIGNvbnNl
bnN1cyBkaWQgbm90IGFncmVlLg0KPj4NCj4+IFtNQ3J1el0gU2V2ZXJhbCBjb21tZW50czoNCj4+
IGEpIFRoZW4geW91IGNvbnNpZGVyIHRoaXMgcmVxdWlyZW1lbnQgYXMgInBhcnRseSBjb21wbGlh
bnQiIHNpbmNlIHlvdSBjb25zaWRlciBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIGluIGEgbm9k
ZSB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdCBpdHMgYWRqYWNlbnQgcGVlcnMgc3VwcG9ydCBE
T0lDLCByaWdodD8gSWYgc28sIGNvdWxkIHlvdSBleHBsYWluIHdoeSBhIG5vZGUgbmVlZHMgdG8g
a25vdyB3aGV0aGVyIG9yIG5vdCB0aGUgcGVlciBzdXBwb3J0IERPSUMsIGEgcGFydCBmcm9tIHdo
YXQgaXMgaW5jbHVkZWQgaW4gdGhlIGFkdmVydGlzZW1lbnQgbWVjaGFuaXNtIHdlIGRlZmluZWQ/
DQo+IElmIHlvdSBkbyBub3Qga25vdyB0aGF0IGEgcGVlciBzdXBwb3J0cyBET0lDLCB5b3UgY2Fu
bm90IGFzc3VtZSB0aGF0IA0KPiBpdCB3aWxsIGVuZm9yY2UgRE9JQyByZWxhdGVkIHBvbGljaWVz
IChJIGJlbGlldmUgdGhhdCBpcyBzdWZmaWNpZW50bHkgDQo+IGRlc2NyaWJlZCBpbiB0aGUgc2Vj
dXJpdHkgY29uZmlndXJhdGlvbnMuKQ0KPg0KPj4gYikgV2hhdCBkbyB5b3UgdGhpbmsgaXMgYSAi
c2hvdyBzdG9wcGVyIj8gVGhlIG5lZWQgZm9yIGNvbmZpZ3VyYXRpb24/DQo+IEV4cGxpY2l0bHks
IHRoZSBuZWVkIHRvIGNvbmZpZ3VyZSB3aGV0aGVyIHlvdSBjYW4gdHJ1c3QgYSBwZWVyIHRvIA0K
PiBlbmZvcmNlIERPSUMgcmVsYXRlZCBwb2xpY2VzLiBJIGJlbGlldmUgdGhpcyBpcyBhbiBpbXBv
cnRhbnQgc2VjdXJpdHkgDQo+IGlzc3VlLCBhbmQgdGhhdCBiZWluZyB1bmFibGUgdG8gZGV0ZXJt
aW5lIGl0IGF1dG9tYXRpY2FsbHkgaXMgYSByZWFsIA0KPiBwcm9ibGVtLiBSZXF1aXJpbmcgdGhp
cyBzb3J0IG9mIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBzY2FsZSB3ZWxsLCBhbmQgDQo+IGhhcyB0
aGUgcG90ZW50aWFsIG9mIGNyZWF0aW5nIHJlYWwgbWFuYWdlbWVudCBhbmQgb3BlcmF0aW9ucyBw
cm9ibGVtcy4gDQo+IChOb3RlIHRoZSBJRVRGIGFyZWEgdGhhdCBESU1FIGlzIGluLikNCj4NCj4g
QnV0LCBhcyBJIHNhaWQsIHRoZSB3b3JraW5nIGdyb3VwIHNlZW1zIHRvIGhhdmUgY2hvc2VuIHRv
IG1vdmUgZm9yd2FyZCB3aXRob3V0IGFuIGF1dG9tYXRpYyB3YXkgdG8gZG8gdGhpcy4gUGVyaGFw
cyBpdCBjYW4gYmUgaW1wcm92ZWQgaW4gYSBmdXR1cmUgZXh0ZW5zaW9uLg0KPg0KPj4NCj4+DQo+
Pj4gICAgUkVRIDIzOiBUaGUgc29sdXRpb24gTVVTVCBwcm92aWRlIHN1ZmZpY2llbnQgaW5mb3Jt
YXRpb24gdG8gZW5hYmxlIGENCj4+PiAgICAgICAgICAgIGxvYWQtYmFsYW5jaW5nIG5vZGUgdG8g
ZGl2ZXJ0IG1lc3NhZ2VzIHRoYXQgYXJlIHJlamVjdGVkIG9yDQo+Pj4gICAgICAgICAgICBvdGhl
cndpc2UgdGhyb3R0bGVkIGJ5IGFuIG92ZXJsb2FkZWQgdXBzdHJlYW0gbm9kZSB0byBvdGhlcg0K
Pj4+ICAgICAgICAgICAgdXBzdHJlYW0gbm9kZXMgdGhhdCBhcmUgdGhlIG1vc3QgbGlrZWx5IHRv
IGhhdmUgc3VmZmljaWVudA0KPj4+ICAgICAgICAgICAgY2FwYWNpdHkgdG8gcHJvY2VzcyB0aGVt
Lg0KPj4+DQo+Pj4gICAgICAgICAgICAqTm90IENvbXBsaWFudCouIERPSUMgcHJvdmlkZXMgbm8g
YnVpbHQgaW4gbWVjaGFuaXNtIHRvDQo+Pj4gICAgICAgICAgICBkZXRlcm1pbmUgdGhlIGJlc3Qg
cGxhY2UgdG8gZGl2ZXJ0IG1lc3NhZ2VzIHRoYXQgd291bGQNCj4+PiAgICAgICAgICAgIG90aGVy
d2lzZSBiZSB0aHJvdHRsZWQuICBUaGlzIGNhbiBiZSBhY2NvbXBsaXNoZWQgd2l0aCBhDQo+Pj4g
ICAgICAgICAgICBmdXR1cmUgImxvYWQiIGV4dGVuc2lvbiwgb3Igd2l0aCBwcm9wcmlldGFyeSBs
b2FkIGJhbGFuY2luZw0KPj4+ICAgICAgICAgICAgbWVjaGFuaXNtcy4NCj4+Pg0KPj4+IFtNQ3J1
el0gUGFydGx5IENvbXBsaWFudC4gRE9JQyBPdmVybG9hZCBpbmZvcm1hdGlvbiBjYW4gYmUgdXNl
ZCBhbHJlYWR5IGJ5IHByb3ByaWV0YXJ5IGxvYWQtYmFsYW5jaW5nIGltcGxlbWVudGF0aW9ucy4N
Cj4+Pg0KPj4+IExvYWQgaW5mb3JtYXRpb24gd2lsbCBiZSBhIHBsdXMgdG8gdGhpcy4NCj4+Pg0K
Pj4gSSBkaXNhZ3JlZSwgb3IgYXQgbGVhc3QgdGhpbmsgdGhhdCB3b3VsZCBiZSBfdmVyeV8gcGFy
dGlhbC4gWW91IHdvbid0IGhhdmUgYW55IG92ZXJsb2FkIGluZm9ybWF0aW9uIHVubGVzcyB0aGUg
cG90ZW50aWFsIGRpdmVyc2lvbiB0YXJnZXRzIGFyZSBhbHNvIG92ZXJsb2FkZWQuDQo+PiBbTUNy
dXpdIEluIGNhc2Ugc2VydmVycyBpbiB0aGUgcG9vbHMgYXJlIERPSUMgZW5hYmxlZCB0aGUgT3Zl
cmxvYWQgaW5mb3JtYXRpb24gaXMgcHJvdmlkZWQgYnkgYWxsIG9mIHRoZW0sIHVuZGVyIG92ZXJs
b2FkIG9jY3VycmVuY2VzLCB0aGVuIHRoaXMgaW5mb3JtYXRpb24gaXMgdmFsaWQgKG1heWJlIG5v
dCBzdWZmaWNpZW50IGluIGFsbCBjYXNlcywgSSBhZ3JlZSwgYnV0IHZhbGlkIGluIG1vc3Qgb2Yg
dGhlbSkgdG8gZGl2ZXJ0Lg0KPj4gSW4gY2FzZSB3ZSBoYXZlIG1peGVkIHNlcnZlcnMgKERPSUMt
c3VwcG9ydGluZyBhbmQgbm9uLURPSUMpIHdlIGhhdmUgc29tZSBsaW1pdGF0aW9ucyBhcyB3ZWxs
Lg0KPiBUaGUgcHVycG9zZSBiZWhpbmQgdGhpcyByZXF1aXJlbWVudCB3YXMgdG8gYWxsb3cgbG9h
ZCBiYWxhbmNpbmcgb2YgcmVxdWVzdHMgdGhhdCBhcmUgZGl2ZXJ0ZWQgdG8gKGhvcGVmdWxseSkg
bm9uLW92ZXJsb2FkZWQgc2VydmVycywgaW4gYSB3YXkgdGhhdCByZWR1Y2VzIHRoZSBjaGFuY2Ug
b2YgY2F1c2luZyB0aG9zZSBzZXJ2ZXJzIHRvIGFsc28gYmVjb21lIG92ZXJsb2FkZWQuIFRob3Nl
IHNlcnZlcnMgd2lsbCBub3QgYmUgcHJvdmlkaW5nIE9MUnMuDQo+DQo+IEkgc3RpbGwgZG8gbm90
IGFncmVlIHRoYXQgdGhlIGNvcm5lciBjYXNlIG9mIGRpdmVydGluZyByZXF1ZXN0IHRvIF9vdmVy
bG9hZGVkXyBzZXJ2ZXJzIGlzIGJpZyBlbm91Z2ggdG8gY29uc2lkZXIgdGhpcyBwYXJ0aWFsbHkg
Y29tcGxpYW50Lg0KPg0KPj4NCj4+Pg0KPj4+ICAgIFJFUSAzMDogVGhlIHNvbHV0aW9uIE1VU1Qg
Tk9UIGludGVyZmVyZSB3aXRoIGFueSBEaWFtZXRlci1jb21wbGlhbnQNCj4+PiAgICAgICAgICAg
IG1ldGhvZCB0aGF0IGEgbm9kZSBtYXkgdXNlIHRvIHByb3RlY3QgaXRzZWxmIGZyb20gb3Zlcmxv
YWQNCj4+PiAgICAgICAgICAgIGZyb20gbm9uLXN1cHBvcnRpbmcgbm9kZXMgb3IgZnJvbSBkZW5p
YWwtb2Ytc2VydmljZSBhdHRhY2tzLg0KPj4+DQo+Pj4gICAgICAgICAgICAqQ29tcGxpYW50Ki4g
VGhlIHNwZWNpZmljYXRpb24gcmVjb21tZW5kcyB0aGF0IGFueSBzdWNoDQo+Pj4gICAgICAgICAg
ICBwcm90ZWN0aW9uIG1lY2hhbmlzbSBuZWVkZWQgd2l0aG91dCBET0lDIHNob3VsZCBjb250aW51
ZSB0bw0KPj4+ICAgICAgICAgICAgYmUgZW1wbG95ZWQgd2l0aCBET0lDLg0KPj4+IFtNQ3J1el0g
Q291bGQgeW91IHBvaW50IG91ciB3aGVyZSBpbiB0aGUgZHJhZnQgaXQgaXMgZGVzY3JpYmVkPw0K
Pj4gOS4zDQo+PiBbTUNydXpdIEkgZG8gbm90IHRoaW5rIDkuMyBzYXlzIHdoYXQgeW91IG1lbnRp
b25lZCBoZXJlLg0KPj4gSXQgc2F5cyAiSW4gdGhlIGFic2VuY2Ugb2YgYW4gb3ZlcmxvYWQgY29u
dHJvbCBtZWNoYW5pc20uLi4iLiBJdCBpcyBub3Qgc2FpZCB0aGUgRE9JQyBzaGFsbCBub3QgaW50
ZXJmZXJlIHdpdGggYW55IG90aGVyIERpYW1ldGVyIG1ldGhvZCBmb3IgcHJvdGVjdGlvbiwgd2Ug
bWF5IG5lZWQgdG8gYWRkIHRoaXMgaW5mb3JtYXRpb24gdG8gdGhlIGRyYWZ0IGluIGZhY3QuDQo+
PiBBIHBhcnQgZnJvbSB0aGF0LCBJIHRoaW5rIDkuMy4gc2hvdWxkIHNheSAiZm9yIG5vbi1ET0lD
IHN1cHBvcnRpbmcgbm9kZXMvbmV0d29ya3MuLi4iIG5vdCBqdXN0ICJpbiB0aGUgYWJzZW5jZSBv
ZiBfYW5fIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIi4uLg0KPiBUaGUgImFic2VuY2Ugb2Yg
YW4gT0Mgc3RyYXRlZ3kiIHBhcnQgaXMgdGhlcmUgdG8gcHJvdmlkZSB0aGUgY29udGV4dCB0aGF0
IHRoZXNlIHByb3RlY3Rpb24gbWVjaGFuaXNtcyBleGlzdGVkLCBvciBuZWVkZWQgdG8gZXhpc3Qs
IHByaW9yIHRvIHRoZSBhdmFpbGFiaWxpdHkgb2YgRE9JQy4gVGhlIHNlY3Rpb24gZ29lcyBvbiB0
byBzYXkgdGhhdCwgZXZlbiB3aXRoIERPSUMsIHRoZXNlIHByb3RlY3Rpb25zIGFyZSBzdGlsbCBu
ZWVkZWQgdG8gZGVhbCB3aXRoIG5vbi1jb21wbGlhbnQgbm9kZXMuDQo+DQo+IEFyZSB5b3UgYXJn
dWluZyB0aGF0IHdlIGRvbid0IGNvbXBseSB3aXRoIFJlcSAzMD8gKEtlZXBpbmcgaW4gbWluZCAN
Cj4gdGhhdCB0aGlzIHRleHQgaXMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBSRkMuKQ0KPg0KPj4N
Cj4+DQo+Pg0KPj4NCj4+IC9CZW4uDQo+Pg0KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCj4+IERpTUUgbWFpbGluZyBsaXN0DQo+PiBEaU1FQGlldGYu
b3JnDQo+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RpbWUNCj4gX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gRGlNRSBtYWls
aW5nIGxpc3QNCj4gRGlNRUBpZXRmLm9yZw0KPiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL2RpbWUNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCkRpTUUgbWFpbGluZyBsaXN0DQpEaU1FQGlldGYub3JnDQpodHRwczovL3d3dy5p
ZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RpbWUNCg==


From nobody Thu Jan  8 12:00:44 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 858031A8AAC for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 07:57:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.11
X-Spam-Level: 
X-Spam-Status: No, score=-1.11 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779, T_HTML_ATTACH=0.01] autolearn=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 gQjTsc45tPTT for <dime@ietfa.amsl.com>; Thu,  8 Jan 2015 07:57:20 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 81C201A8ABC for <dime@ietf.org>; Thu,  8 Jan 2015 07:57:20 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:63838 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y9FSY-0008tM-3Y for dime@ietf.org; Thu, 08 Jan 2015 07:57:19 -0800
Message-ID: <54AEA8DE.4080006@usdonovans.com>
Date: Thu, 08 Jan 2015 09:57:18 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: multipart/mixed; boundary="------------000305010604010803070402"
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/7jRXHixMGwKHNL9clrFLfJ5n0aE>
X-Mailman-Approved-At: Thu, 08 Jan 2015 12:00:41 -0800
Subject: [Dime] DOIC-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 15:57:28 -0000

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

All,

I have updated github with the latest DOIC-06 version.  I plan to submit 
this version later today.

I would expect that, given the scope of the changes made in the WGLC, we 
will require a second WGLC, hopefully a short one.

I've attached the diff from the last version of DOIC-06.  I'll send a 
diff from DOIC-05 after I submit the draft.

Regards,

Steve

--------------000305010604010803070402
Content-Type: text/html; charset=ISO-8859-1;
 name="Diff_ draft-ietf-dime-ovli-06.txt - draft-ietf-dime-ovli-06.txt.html"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="Diff_ draft-ietf-dime-ovli-06.txt - draft-ietf-dime-ovli-06.";
 filename*1="txt.html"

CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRp
b25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFu
c2l0aW9uYWwuZHRkIj4gCjwhLS0gR2VuZXJhdGVkIGJ5IHJmY2RpZmYgMS40MTogcmZjZGlm
ZiB0bXAvMS9kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50eHQgdG1wLzIvZHJhZnQtaWV0Zi1k
aW1lLW92bGktMDYudHh0IC0tPiAKPCEtLSBTeXN0ZW06IExpbnV4IHppbmZhbmRlbCAzLjIu
MC00LWFtZDY0ICMxIFNNUCBEZWJpYW4gMy4yLjM1LTIgeDg2XzY0IEdOVS9MaW51eCAtLT4g
CjwhLS0gVXNpbmcgYXdrOiAvdXNyL2Jpbi9nYXdrOiBHTlUgQXdrIDQuMC4xIC0tPiAKPCEt
LSBVc2luZyBkaWZmOiAvdXNyL2Jpbi9kaWZmOiBkaWZmIChHTlUgZGlmZnV0aWxzKSAzLjIg
LS0+IAo8IS0tIFVzaW5nIHdkaWZmOiAvdXNyL2Jpbi93ZGlmZjogd2RpZmYgKEdOVSB3ZGlm
ZikgMS4xLjIgLS0+IAo8aHRtbD4gCjxoZWFkPiAKICA8bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIiAvPiAK
ICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQv
Y3NzIiAvPiAKICA8dGl0bGU+RGlmZjogZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYudHh0IC0g
ZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYudHh0PC90aXRsZT4gCiAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4gCiAgICBib2R5ICAgIHsgbWFyZ2luOiAwLjRleDsgbWFyZ2luLXJpZ2h0OiBh
dXRvOyB9IAogICAgdHIgICAgICB7IH0gCiAgICB0ZCAgICAgIHsgd2hpdGUtc3BhY2U6IHBy
ZTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgdmVydGljYWwtYWxpZ246IHRvcDsgZm9udC1z
aXplOiAwLjg2ZW07fSAKICAgIHRoICAgICAgeyBmb250LXNpemU6IDAuODZlbTsgfSAKICAg
IC5zbWFsbCAgeyBmb250LXNpemU6IDAuNmVtOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQt
ZmFtaWx5OiBWZXJkYW5hLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0gCiAgICAubGVmdCAg
IHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgfSAKICAgIC5yaWdodCAgeyBiYWNrZ3JvdW5k
LWNvbG9yOiAjRkZGOyB9IAogICAgLmRpZmYgICB7IGJhY2tncm91bmQtY29sb3I6ICNDQ0Y7
IH0gCiAgICAubGJsb2NrIHsgYmFja2dyb3VuZC1jb2xvcjogI0JGQjsgfSAKICAgIC5yYmxv
Y2sgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4OyB9IAogICAgLmluc2VydCB7IGJhY2tncm91
bmQtY29sb3I6ICM4RkY7IH0gCiAgICAuZGVsZXRlIHsgYmFja2dyb3VuZC1jb2xvcjogI0FD
RjsgfSAKICAgIC52b2lkICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCOyB9IAogICAgLmNv
bnQgICB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gCiAgICAubGluZWJyIHsgYmFja2dy
b3VuZC1jb2xvcjogI0FBQTsgfSAKICAgIC5saW5lbm8geyBjb2xvcjogcmVkOyBiYWNrZ3Jv
dW5kLWNvbG9yOiAjRkZGOyBmb250LXNpemU6IDAuN2VtOyB0ZXh0LWFsaWduOiByaWdodDsg
cGFkZGluZzogMCAycHg7IH0gCiAgICAuZWxpcHNpc3sgYmFja2dyb3VuZC1jb2xvcjogI0FB
QTsgfSAKICAgIC5sZWZ0IC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogI0RERDsgfSAKICAg
IC5yaWdodCAuY29udCB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gCiAgICAubGJsb2Nr
IC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogIzlEOTsgfSAKICAgIC5yYmxvY2sgLmNvbnQg
eyBiYWNrZ3JvdW5kLWNvbG9yOiAjREQ2OyB9IAogICAgLmluc2VydCAuY29udCB7IGJhY2tn
cm91bmQtY29sb3I6ICMwREQ7IH0gCiAgICAuZGVsZXRlIC5jb250IHsgYmFja2dyb3VuZC1j
b2xvcjogIzhBRDsgfSAKICAgIC5zdGF0cywgLnN0YXRzIHRkLCAuc3RhdHMgdGggeyBiYWNr
Z3JvdW5kLWNvbG9yOiAjRUVFOyBwYWRkaW5nOiAycHggMDsgfSAKICA8L3N0eWxlPiAKPC9o
ZWFkPiAKPGJvZHkgPiAKICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiPiAKICA8dHIgYmdjb2xvcj0ib3JhbmdlIj48dGg+PC90aD48dGg+PGEg
aHJlZj0iL3JmY2RpZmY/dXJsMj1kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50eHQiIHN0eWxl
PSJjb2xvcjojMDA4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPiZsdDs8L2E+Jm5ic3A7PGEg
aHJlZj0iL2h0bWwvZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYudHh0IiBzdHlsZT0iY29sb3I6
IzAwOCI+ZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYudHh0PC9hPiZuYnNwOzwvdGg+PHRoPiA8
L3RoPjx0aD4mbmJzcDs8YSBocmVmPSIvaHRtbC9kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50
eHQiIHN0eWxlPSJjb2xvcjojMDA4Ij5kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50eHQ8L2E+
Jm5ic3A7PGEgaHJlZj0iL3JmY2RpZmY/dXJsMT1kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50
eHQiIHN0eWxlPSJjb2xvcjojMDA4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPiZndDs8L2E+
PC90aD48dGg+PC90aD48L3RyPiAKICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij5EaWFtZXRlciBNYWludGVuYW5jZSBhbmQgRXh0ZW5zaW9ucyAoRElN
RSkgICAgICAgICAgICAgIEouIEtvcmhvbmVuLCBFZC48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij5EaWFtZXRlciBNYWludGVuYW5jZSBhbmQgRXh0ZW5zaW9ucyAoRElNRSkg
ICAgICAgICAgICAgIEouIEtvcmhvbmVuLCBFZC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+SW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyb2FkY29tPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+SW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyb2FkY29tPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPklu
dGVuZGVkIHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICAg
IFMuIERvbm92YW4sIEVkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPkludGVu
ZGVkIHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICAgIFMu
IERvbm92YW4sIEVkLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMDEiIC8+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj5FeHBpcmVzOiBKdTxzcGFuIGNsYXNzPSJkZWxldGUiPm5lIDI1PC9zcGFu
PiwgMjAxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEIuIENhbXBi
ZWxsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPkV4cGlyZXM6IEp1PHNwYW4g
Y2xhc3M9Imluc2VydCI+bHkgMTI8L3NwYW4+LCAyMDE1ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQi4gQ2FtcGJlbGw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JhY2xlPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JhY2xlPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEwuIE1vcmFuZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEwuIE1vcmFuZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgT3JhbmdlIExhYnM8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgT3JhbmdlIExhYnM8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYw
MDAyIiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPkRl
Y2VtYmVyIDIyLCAyMDE0PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr
Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+ICBKYW51YXJ5IDgsIDIwMTU8L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgRGlh
bWV0ZXIgT3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgIERpYW1ldGVyIE92ZXJsb2FkIEluZGlj
YXRpb24gQ29udmV5YW5jZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1k
aW1lLW92bGktMDYudHh0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAg
ICAgICAgICAgICAgICAgIGRyYWZ0LWlldGYtZGltZS1vdmxpLTA2LnR4dDwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+QWJzdHJhY3Q8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij5BYnN0cmFjdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgVGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBiYXNlIHNvbHV0
aW9uIGZvciBEaWFtZXRlciBvdmVybG9hZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgYmFzZSBzb2x1dGlvbiBmb3Ig
RGlhbWV0ZXIgb3ZlcmxvYWQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29udHJvbCwgcmVmZXJyZWQgdG8gYXMgRGlhbWV0
ZXIgT3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgY29udHJvbCwgcmVmZXJyZWQgdG8gYXMgRGlhbWV0ZXIgT3Zlcmxv
YWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIChET0lDKS48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICAoRE9JQykuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+
PGEgbmFtZT0icGFydC1sMiIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFs
bD48ZW0+IHBhZ2UgMSwgbGluZSAzNjwvZW0+PC90aD48dGg+IDwvdGg+PHRoPjxhIG5hbWU9
InBhcnQtcjIiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBw
YWdlIDEsIGxpbmUgMzY8L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIElu
dGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVu
Z2luZWVyaW5nPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgSW50ZXJuZXQt
RHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJp
bmc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgVGFzayBGb3JjZSAoSUVURikuICBOb3RlIHRoYXQgb3RoZXIgZ3JvdXBzIG1h
eSBhbHNvIGRpc3RyaWJ1dGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBU
YXNrIEZvcmNlIChJRVRGKS4gIE5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlz
dHJpYnV0ZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC1EcmFmdHMuICBU
aGUgbGlzdCBvZiBjdXJyZW50IEludGVybmV0LTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LURyYWZ0cy4gIFRoZSBs
aXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERyYWZ0cyBpcyBhdCBodHRwOi8vZGF0
YXRyYWNrZXIuaWV0Zi5vcmcvZHJhZnRzL2N1cnJlbnQvLjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIERyYWZ0cyBpcyBhdCBodHRwOi8vZGF0YXRyYWNrZXIuaWV0Zi5v
cmcvZHJhZnRzL2N1cnJlbnQvLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFsaWQgZm9y
IGEgbWF4aW11bSBvZiBzaXggbW9udGhzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEg
bWF4aW11bSBvZiBzaXggbW9udGhzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFj
ZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNlZCwg
b3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnk8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGltZS4gIEl0
IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2U8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aW1lLiAgSXQgaXMgaW5hcHBy
b3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZTwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBtYXRl
cmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4i
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbWF0ZXJpYWwgb3IgdG8gY2l0
ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDAzIiAvPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGly
ZSBvbiBKdTxzcGFuIGNsYXNzPSJkZWxldGUiPm5lIDI1PC9zcGFuPiwgMjAxNS48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxs
IGV4cGlyZSBvbiBKdTxzcGFuIGNsYXNzPSJpbnNlcnQiPmx5IDEyPC9zcGFuPiwgMjAxNS48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPkNvcHlyaWdodCBOb3Rp
Y2U8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5Db3B5cmlnaHQgTm90aWNlPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlm
ZjAwMDQiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBDb3B5cmlnaHQgKGMpIDIwMTxz
cGFuIGNsYXNzPSJkZWxldGUiPjQ8L3NwYW4+IElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25z
IGlkZW50aWZpZWQgYXMgdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAg
IENvcHlyaWdodCAoYykgMjAxPHNwYW4gY2xhc3M9Imluc2VydCI+NTwvc3Bhbj4gSUVURiBU
cnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcyB0aGU8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZG9jdW1lbnQg
YXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgZG9jdW1lbnQgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlzIGRvY3VtZW50
IGlzIHN1YmplY3QgdG8gQkNQIDc4IGFuZCB0aGUgSUVURiBUcnVzdCdzIExlZ2FsPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0
IHRvIEJDUCA3OCBhbmQgdGhlIElFVEYgVHJ1c3QncyBMZWdhbDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBQcm92aXNpb25z
IFJlbGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50czwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAo
aHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKSBpbiBlZmZlY3Qgb24gdGhl
IGRhdGUgb2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAoaHR0cDovL3Ry
dXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKSBpbiBlZmZlY3Qgb24gdGhlIGRhdGUgb2Y8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgcHVibGljYXRpb24gb2YgdGhpcyBkb2N1bWVudC4gIFBsZWFzZSByZXZpZXcgdGhl
c2UgZG9jdW1lbnRzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcHVibGlj
YXRpb24gb2YgdGhpcyBkb2N1bWVudC4gIFBsZWFzZSByZXZpZXcgdGhlc2UgZG9jdW1lbnRz
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIGNhcmVmdWxseSwgYXMgdGhleSBkZXNjcmliZSB5b3VyIHJpZ2h0cyBhbmQgcmVz
dHJpY3Rpb25zIHdpdGggcmVzcGVjdDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIGNhcmVmdWxseSwgYXMgdGhleSBkZXNjcmliZSB5b3VyIHJpZ2h0cyBhbmQgcmVzdHJp
Y3Rpb25zIHdpdGggcmVzcGVjdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0byB0aGlzIGRvY3VtZW50LiAgQ29kZSBDb21w
b25lbnRzIGV4dHJhY3RlZCBmcm9tIHRoaXMgZG9jdW1lbnQgbXVzdDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIHRvIHRoaXMgZG9jdW1lbnQuICBDb2RlIENvbXBvbmVu
dHMgZXh0cmFjdGVkIGZyb20gdGhpcyBkb2N1bWVudCBtdXN0PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGluY2x1ZGUgU2lt
cGxpZmllZCBCU0QgTGljZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQuZSBv
ZjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGluY2x1ZGUgU2ltcGxpZmll
ZCBCU0QgTGljZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQuZSBvZjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICB0aGUgVHJ1c3QgTGVnYWwgUHJvdmlzaW9ucyBhbmQgYXJlIHByb3ZpZGVkIHdpdGhvdXQg
d2FycmFudHkgYXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgVHJ1
c3QgTGVnYWwgUHJvdmlzaW9ucyBhbmQgYXJlIHByb3ZpZGVkIHdpdGhvdXQgd2FycmFudHkg
YXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0ciBiZ2NvbG9yPSJncmF5IiA+PHRkPjwvdGQ+PHRoPjxhIG5hbWU9
InBhcnQtbDMiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBw
YWdlIDIsIGxpbmUgMjA8L2VtPjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXIz
IiAvPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAyLCBs
aW5lIDIwPC9lbT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAyLiAgVGVybWlu
b2xvZ3kgYW5kIEFiYnJldmlhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgIDQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAyLiAgVGVybWlub2xv
Z3kgYW5kIEFiYnJldmlhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
IDQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgMy4gIENvbnZlbnRpb25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudCAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gICA1PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgMy4gIENvbnZlbnRpb25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudCAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gICA1PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDQuICBTb2x1dGlvbiBPdmVydmlldyAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDQuICBTb2x1dGlvbiBPdmVydmlldyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNTwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDQuMS4g
IFBpZ2d5YmFja2luZyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgIDc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDQuMS4gIFBp
Z2d5YmFja2luZyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgIDc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgICA0LjIuICBET0lDIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50ICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA3PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgICA0LjIuICBET0lDIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50ICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gICA3PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNC4zLiAgRE9JQyBPdmVybG9hZCBD
b25kaXRpb24gUmVwb3J0aW5nIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgOTwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNC4zLiAgRE9JQyBPdmVybG9hZCBDb25k
aXRpb24gUmVwb3J0aW5nIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgOTwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDQu
NC4gIERPSUMgRXh0ZW5zaWJpbGl0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMTE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDQuNC4g
IERPSUMgRXh0ZW5zaWJpbGl0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMTE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgICA0LjUuICBTaW1wbGlmaWVkIEV4YW1wbGUgQXJjaGl0ZWN0dXJl
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDExPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgICA0LjUuICBTaW1wbGlmaWVkIEV4YW1wbGUgQXJjaGl0ZWN0dXJlIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDExPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDUuICBTb2x1dGlvbiBQcm9jZWR1
cmVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDUuICBTb2x1dGlvbiBQcm9jZWR1cmVz
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
IDUuMS4gIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMTI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDUu
MS4gIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMTI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA1IiAvPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgICAgIDUuMS4xLiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvciAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE8c3BhbiBjbGFzcz0iZGVsZXRlIj4yPC9zcGFu
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgNS4xLjEuICBSZWFj
dGluZyBOb2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTxz
cGFuIGNsYXNzPSJpbnNlcnQiPjM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICA1LjEuMi4gIFJlcG9ydGlu
ZyBOb2RlIEJlaGF2aW9yIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMzwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICA1LjEuMi4gIFJlcG9ydGluZyBO
b2RlIEJlaGF2aW9yIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMzwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
ICAgNS4xLjMuICBBZ2VudCBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMTQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAg
NS4xLjMuICBBZ2VudCBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMTQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICA1LjIuICBPdmVybG9hZCBSZXBvcnQgUHJvY2Vzc2luZyAg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE1PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgICA1LjIuICBPdmVybG9hZCBSZXBvcnQgUHJvY2Vzc2luZyAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE1PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICA1LjIuMS4gIE92ZXJs
b2FkIENvbnRyb2wgU3RhdGUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNTwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICA1LjIuMS4gIE92ZXJsb2Fk
IENvbnRyb2wgU3RhdGUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICAgICAgNS4yLjIuICBSZWFjdGluZyBOb2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMTk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg
ICAgNS4yLjIuICBSZWFjdGluZyBOb2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMTk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgIDUuMi4zLiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZp
b3IgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIwPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgICAgIDUuMi4zLiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3Ig
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIwPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNS4zLiAgUHJvdG9j
b2wgRXh0ZW5zaWJpbGl0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
MTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNS4zLiAgUHJvdG9jb2wg
RXh0ZW5zaWJpbGl0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMTwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICA2LiAgTG9zcyBBbGdvcml0aG0gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMjI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICA2LiAgTG9zcyBBbGdvcml0aG0gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMjI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA2LjEuICBPdmVydmlldyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgICA2LjEuICBPdmVydmlldyAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNi4yLiAgUmVw
b3J0aW5nIE5vZGUgQmVoYXZpb3IgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyMzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNi4yLiAgUmVwb3J0
aW5nIE5vZGUgQmVoYXZpb3IgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
MzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMDYiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4g
ICAgIDYuMy4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMjxzcGFuIGNsYXNzPSJkZWxldGUiPjM8L3NwYW4+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgNi4zLiAgUmVhY3RpbmcgTm9kZSBCZWhh
dmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyPHNwYW4gY2xhc3M9
Imluc2VydCI+NDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgNy4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlycyAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI0PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgNy4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlycyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI0PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJk
aWZmMDAwNyIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgNy4xLiAgT0MtU3VwcG9y
dGVkLUZlYXR1cmVzIEFWUCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyPHNw
YW4gY2xhc3M9ImRlbGV0ZSI+NDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+ICAgICA3LjEuICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI8c3BhbiBjbGFzcz0iaW5zZXJ0Ij41PC9zcGFuPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICAgIDcuMi4gIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMjU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICAgIDcuMi4gIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMjU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA3LjMuICBPQy1PTFIgQVZQICAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI1PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgICA3LjMuICBPQy1PTFIgQVZQICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI1PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNy40LiAgT0Mt
U2VxdWVuY2UtTnVtYmVyIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyNjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNy40LiAgT0MtU2Vx
dWVuY2UtTnVtYmVyIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
NjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgIDcuNS4gIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICAgIDcuNS4gIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMjY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA3LjYuICBPQy1SZXBvcnQtVHlwZSBBVlAg
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI2PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA3LjYuICBPQy1SZXBvcnQtVHlwZSBBVlAgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI2PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1l
PSJkaWZmMDAwOCIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgNy43LiAgT0MtUmVk
dWN0aW9uLVBlcmNlbnRhZ2UgQVZQIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
PHNwYW4gY2xhc3M9ImRlbGV0ZSI+Njwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+ICAgICA3LjcuICBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBBVlAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI8c3BhbiBjbGFzcz0iaW5zZXJ0Ij43PC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgIDcuOC4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlyIGZsYWcgcnVsZXMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICAgIDcuOC4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlyIGZsYWcgcnVsZXMgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMjc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA5IiAvPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgOC4gIEVycm9yIFJlc3BvbnNlIENvZGVzICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI8c3BhbiBjbGFzcz0iZGVsZXRl
Ij43PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA4LiAgRXJy
b3IgUmVzcG9uc2UgQ29kZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMjxzcGFuIGNsYXNzPSJpbnNlcnQiPjg8L3NwYW4+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDkuICBJQU5BIENv
bnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyODwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDkuICBJQU5BIENvbnNp
ZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
ODwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgIDkuMS4gIEFWUCBjb2RlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjg8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICAgIDkuMS4gIEFWUCBjb2RlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMjg8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA5LjIuICBOZXcgcmVnaXN0cmllcyAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI4PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA5LjIuICBOZXcgcmVnaXN0cmllcyAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI4PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDEwLiBTZWN1
cml0eSBDb25zaWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAyOTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDEwLiBTZWN1cml0
eSBDb25zaWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyOTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICAgIDEwLjEuICBQb3RlbnRpYWwgVGhyZWF0IE1vZGVzIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICAgIDEwLjEuICBQb3RlbnRpYWwgVGhyZWF0IE1vZGVzIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDEwIiAvPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAxMC4yLiAgRGVuaWFsIG9mIFNlcnZpY2UgQXR0
YWNrcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM8c3BhbiBjbGFzcz0iZGVs
ZXRlIj4wPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIDEw
LjIuICBEZW5pYWwgb2YgU2VydmljZSBBdHRhY2tzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMzxzcGFuIGNsYXNzPSJpbnNlcnQiPjE8L3NwYW4+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgMTAuMy4g
IE5vbi1Db21wbGlhbnQgTm9kZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAzMTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgMTAuMy4gIE5v
bi1Db21wbGlhbnQgTm9kZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAzMTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICAgIDEwLjQuICBFbmQtdG8gRW5kLVNlY3VyaXR5IElzc3VlcyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICAgIDEwLjQuICBFbmQtdG8gRW5kLVNlY3VyaXR5IElzc3VlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMzE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDExIiAvPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgMTEuIENvbnRyaWJ1dG9ycyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM8c3BhbiBjbGFzcz0iZGVs
ZXRlIj4yPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAxMS4g
Q29udHJpYnV0b3JzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMzxzcGFuIGNsYXNzPSJpbnNlcnQiPjM8L3NwYW4+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDEyLiBSZWZl
cmVuY2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAzMzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDEyLiBSZWZlcmVu
Y2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAzMzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICAgIDEyLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICAgIDEyLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMzM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAxMi4yLiAgSW5mb3JtYXRpdmUgUmVm
ZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMzPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAxMi4yLiAgSW5mb3JtYXRpdmUgUmVmZXJl
bmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMzPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBu
YW1lPSJkaWZmMDAxMiIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIEFwcGVuZGl4IEEu
ICBJc3N1ZXMgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmljYXRpb25zICAuIC4gLiAuIC4gLiAu
ICA8c3BhbiBjbGFzcz0iZGVsZXRlIj4zMzwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgQXBwZW5kaXggQS4gIElzc3VlcyBsZWZ0IGZvciBmdXR1cmUgc3Bl
Y2lmaWNhdGlvbnMgIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjM0PC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPiAgICAgQS4xLiAgQWRkaXRpb25hbCB0cmFmZmljIGFiYXRlbWVudCBhbGdv
cml0aG1zIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj4zMzwvc3Bh
bj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICBBLjEuICBBZGRpdGlv
bmFsIHRyYWZmaWMgYWJhdGVtZW50IGFsZ29yaXRobXMgLiAuIC4gLiAuIC4gLiAuIC4gIDxz
cGFuIGNsYXNzPSJpbnNlcnQiPjM0PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIEEuMi4gIEFnZW50IE92ZXJs
b2FkICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzQ8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIEEuMi4gIEFnZW50IE92ZXJsb2Fk
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzQ8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
ICBBLjMuICBOZXcgRXJyb3IgRGlhZ25vc3RpYyBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDM0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICBB
LjMuICBOZXcgRXJyb3IgRGlhZ25vc3RpYyBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDM0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIEFwcGVuZGl4IEIuICBEZXBsb3ltZW50IENvbnNpZGVyYXRp
b25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNDwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIEFwcGVuZGl4IEIuICBEZXBsb3ltZW50IENvbnNpZGVyYXRpb25z
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAw
MTMiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBBcHBlbmRpeCBDLiAgUmVxdWlyZW1l
bnRzIENvbmZvcm1hbmNlIEFuYWx5c2lzICAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xh
c3M9ImRlbGV0ZSI+MzQ8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PiAgIEFwcGVuZGl4IEMuICBSZXF1aXJlbWVudHMgQ29uZm9ybWFuY2UgQW5hbHlzaXMgIC4g
LiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4zNTwvc3Bhbj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4g
ICAgIEMuMS4gIERlZmVycmVkIFJlcXVpcmVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+MzQ8L3NwYW4+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgQy4xLiAgRGVmZXJyZWQgUmVxdWlyZW1l
bnRzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0i
aW5zZXJ0Ij4zNTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICBDLjIuICBEZXRlY3Rpb24gb2Ygbm9uLXN1cHBv
cnRpbmcgSW50ZXJtZWRpYXJpZXMgIC4gLiAuIC4gLiAuIC4gIDM1PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgICBDLjIuICBEZXRlY3Rpb24gb2Ygbm9uLXN1cHBvcnRp
bmcgSW50ZXJtZWRpYXJpZXMgIC4gLiAuIC4gLiAuIC4gIDM1PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJk
aWZmMDAxNCIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgQy4zLiAgSW1wbGljaXQg
QXBwbGljYXRpb24gSW5kaWNhdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3Bh
biBjbGFzcz0iZGVsZXRlIj4zNTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+ICAgICBDLjMuICBJbXBsaWNpdCBBcHBsaWNhdGlvbiBJbmRpY2F0aW9uIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjM2PC9zcGFuPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgICAgQy40LiAgU3RhdGVsZXNzIE9wZXJhdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj4zNTwvc3Bhbj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICBDLjQuICBTdGF0ZWxlc3MgT3Bl
cmF0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPjM2PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIEMuNS4gIE5vIE5ldyBWdWxuZXJhYmls
aXRpZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzY8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIEMuNS4gIE5vIE5ldyBWdWxuZXJhYmlsaXRp
ZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzY8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICBDLjYu
ICBEZXRhaWxlZCBSZXF1aXJlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDM2PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICBDLjYuICBE
ZXRhaWxlZCBSZXF1aXJlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDM2PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgICAgICBDLjYuMS4gIEdlbmVyYWwgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgICAgICBDLjYuMS4gIEdlbmVyYWwgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMTUiIC8+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgQy42LjIuICBQZXJmb3JtYW5jZSAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzxzcGFuIGNsYXNzPSJk
ZWxldGUiPjc8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAg
ICBDLjYuMi4gIFBlcmZvcm1hbmNlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAzPHNwYW4gY2xhc3M9Imluc2VydCI+ODwvc3Bhbj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgIEMu
Ni4zLiAgSGV0ZXJvZ2VuZW91cyBTdXBwb3J0IGZvciBTb2x1dGlvbiAgLiAuIC4gLiAuIC4g
LiAuIC4gIDQwPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgIEMuNi4z
LiAgSGV0ZXJvZ2VuZW91cyBTdXBwb3J0IGZvciBTb2x1dGlvbiAgLiAuIC4gLiAuIC4gLiAu
IC4gIDQwPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxNiIgLz48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgICAgICBDLjYuNC4gIEdyYW51bGFyIENvbnRyb2wgIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj40MTwvc3Bhbj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgIEMuNi40LiAgR3JhbnVsYXIg
Q29udHJvbCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPjQyPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICBDLjYuNS4gIFByaW9yaXR5IGFu
ZCBQb2xpY3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFz
cz0iZGVsZXRlIj40Mjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
ICAgICAgIEMuNi41LiAgUHJpb3JpdHkgYW5kIFBvbGljeSAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjQzPC9zcGFuPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
ICAgQy42LjYuICBTZWN1cml0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgNDM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAg
Qy42LjYuICBTZWN1cml0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgNDM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgIEMuNi43LiAgRmxleGliaWxpdHkgYW5kIEV4dGVuc2li
aWxpdHkgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ0PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgICAgIEMuNi43LiAgRmxleGliaWxpdHkgYW5kIEV4dGVuc2liaWxp
dHkgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEFwcGVuZGl4IEQuICBDb25z
aWRlcmF0aW9ucyBmb3IgQXBwbGljYXRpb25zIEludGVncmF0aW5nIHRoZSBET0lDPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQXBwZW5kaXggRC4gIENvbnNpZGVyYXRp
b25zIGZvciBBcHBsaWNhdGlvbnMgSW50ZWdyYXRpbmcgdGhlIERPSUM8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5h
bWU9ImRpZmYwMDE3IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAg
IFNvbHV0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDxzcGFuIGNsYXNzPSJkZWxldGUiPjQ1PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj4gICAgICAgICAgICAgICAgU29sdXRpb24gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9Imluc2VydCI+NDY8L3Nw
YW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgICBELjEuICBBcHBsaWNhdGlvbiBDbGFzc2lmaWNhdGlvbiAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPjQ1PC9zcGFu
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIEQuMS4gIEFwcGxpY2F0
aW9uIENsYXNzaWZpY2F0aW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNw
YW4gY2xhc3M9Imluc2VydCI+NDY8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICBELjIuICBBcHBsaWNhdGlv
biBUeXBlIE92ZXJsb2FkIEltcGxpY2F0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFu
IGNsYXNzPSJkZWxldGUiPjQ2PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj4gICAgIEQuMi4gIEFwcGxpY2F0aW9uIFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRpb25z
ICAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9Imluc2VydCI+NDc8L3NwYW4+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+ICAgICBELjMuICBSZXF1ZXN0IFRyYW5zYWN0aW9uIENsYXNzaWZpY2F0aW9uICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPjQ3PC9zcGFuPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIEQuMy4gIFJlcXVlc3QgVHJhbnNh
Y3Rpb24gQ2xhc3NpZmljYXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xh
c3M9Imluc2VydCI+NDg8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICBELjQuICBSZXF1ZXN0IFR5cGUgT3Zl
cmxvYWQgSW1wbGljYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNz
PSJkZWxldGUiPjQ4PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4g
ICAgIEQuNC4gIFJlcXVlc3QgVHlwZSBPdmVybG9hZCBJbXBsaWNhdGlvbnMgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9Imluc2VydCI+NDk8L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEF1
dGhvcnMnIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICA1MDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEF1dGhv
cnMnIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICA1MDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+MS4g
IEludHJvZHVjdGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjEuICBJbnRy
b2R1Y3Rpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRo
aXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgYmFzZSBzb2x1dGlvbiBmb3IgRGlhbWV0ZXIg
b3ZlcmxvYWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGlzIHNwZWNp
ZmljYXRpb24gZGVmaW5lcyBhIGJhc2Ugc29sdXRpb24gZm9yIERpYW1ldGVyIG92ZXJsb2Fk
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIGNvbnRyb2wsIHJlZmVycmVkIHRvIGFzIERpYW1ldGVyIE92ZXJsb2FkIEluZGlj
YXRpb24gQ29udmV5YW5jZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGNv
bnRyb2wsIHJlZmVycmVkIHRvIGFzIERpYW1ldGVyIE92ZXJsb2FkIEluZGljYXRpb24gQ29u
dmV5YW5jZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICAoRE9JQyksIGJhc2VkIG9uIHRoZSByZXF1aXJlbWVudHMgaWRlbnRp
ZmllZCBpbiBbUkZDNzA2OF0uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
KERPSUMpLCBiYXNlZCBvbiB0aGUgcmVxdWlyZW1lbnRzIGlkZW50aWZpZWQgaW4gW1JGQzcw
NjhdLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBz
cGVjaWZpY2F0aW9uIGFkZHJlc3NlcyBEaWFtZXRlciBvdmVybG9hZCBjb250cm9sIGJldHdl
ZW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGlzIHNwZWNpZmljYXRp
b24gYWRkcmVzc2VzIERpYW1ldGVyIG92ZXJsb2FkIGNvbnRyb2wgYmV0d2VlbjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBE
aWFtZXRlciBub2RlcyB0aGF0IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24uICBUaGUgc29s
dXRpb24sIHdoaWNoPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRGlhbWV0
ZXIgbm9kZXMgdGhhdCBzdXBwb3J0IHRoZSBET0lDIHNvbHV0aW9uLiAgVGhlIHNvbHV0aW9u
LCB3aGljaDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEg
bmFtZT0icGFydC1sNCIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48
ZW0+IHBhZ2UgOSwgbGluZSAzMzwvZW0+PC90aD48dGg+IDwvdGg+PHRoPjxhIG5hbWU9InBh
cnQtcjQiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdl
IDksIGxpbmUgMzM8L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHVzZXMg
bmV3IEFWUHMgKFNlY3Rpb24gNy4zKSB0byBpbmRpY2F0ZSBhbiBvdmVybG9hZCBjb25kaXRp
b24uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdXNlcyBuZXcgQVZQcyAo
U2VjdGlvbiA3LjMpIHRvIGluZGljYXRlIGFuIG92ZXJsb2FkIGNvbmRpdGlvbi48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoZSBPQy1PTFIgQVZQIGlz
IHJlZmVycmVkIHRvIGFzIGFuIG92ZXJsb2FkIHJlcG9ydC4gIFRoZSBPQy1PTFIgQVZQPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlIE9DLU9MUiBBVlAgaXMgcmVm
ZXJyZWQgdG8gYXMgYW4gb3ZlcmxvYWQgcmVwb3J0LiAgVGhlIE9DLU9MUiBBVlA8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
aW5jbHVkZXMgdGhlIHR5cGUgb2YgcmVwb3J0LCBhIHNlcXVlbmNlIG51bWJlciwgdGhlIGxl
bmd0aCBvZiB0aW1lPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaW5jbHVk
ZXMgdGhlIHR5cGUgb2YgcmVwb3J0LCBhIHNlcXVlbmNlIG51bWJlciwgdGhlIGxlbmd0aCBv
ZiB0aW1lPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgIHRoYXQgdGhlIHJlcG9ydCBpcyB2YWxpZCBhbmQgYWJhdGVtZW50IGFs
Z29yaXRobSBzcGVjaWZpYyBBVlBzLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIHRoYXQgdGhlIHJlcG9ydCBpcyB2YWxpZCBhbmQgYWJhdGVtZW50IGFsZ29yaXRobSBz
cGVjaWZpYyBBVlBzLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgVHdvIHR5cGVzIG9mIG92ZXJsb2FkIHJlcG9ydHMgYXJlIGRlZmluZWQgaW4gdGhpcyBk
b2N1bWVudDogaG9zdDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFR3byB0
eXBlcyBvZiBvdmVybG9hZCByZXBvcnRzIGFyZSBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQ6
IGhvc3Q8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgcmVwb3J0cyBhbmQgcmVhbG0gcmVwb3J0cy48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICByZXBvcnRzIGFuZCByZWFsbSByZXBvcnRzLjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQSByZXBvcnQgb2YgdHlwZSAi
SE9TVF9SRVBPUlQiIGlzIHNlbnQgdG8gaW5kaWNhdGUgdGhlIG92ZXJsb2FkIG9mIGE8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBIHJlcG9ydCBvZiB0eXBlICJIT1NU
X1JFUE9SVCIgaXMgc2VudCB0byBpbmRpY2F0ZSB0aGUgb3ZlcmxvYWQgb2YgYTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+
PGEgbmFtZT0iZGlmZjAwMTgiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBzcGVjaWZp
YyA8c3BhbiBjbGFzcz0iZGVsZXRlIj5EaWFtZXRlciBub2RlPC9zcGFuPiBmb3IgdGhlIGFw
cGxpY2F0aW9uLWlkIGluZGljYXRlZCBpbiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+ICAgc3BlY2lmaWMgPHNwYW4gY2xhc3M9Imluc2VydCI+aG9zdCwgaWRlbnRp
ZmllZCBieSB0aGUgT3JpZ2luLUhvc3QgQVZQIG9mIHRoZSBtZXNzYWdlPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PiAgIHRyYW5zYWN0aW9uLiAgV2hlbiByZWNlaXZpbmcgYW4gT0xSIG9mIHR5cGUgPHNwYW4g
Y2xhc3M9ImRlbGV0ZSI+aG9zdCw8L3NwYW4+IGEgcmVhY3Rpbmcgbm9kZTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBjb250YWlu
aW5nIHRoZSBPTFIsPC9zcGFuPiBmb3IgdGhlIGFwcGxpY2F0aW9uLWlkIGluZGljYXRlZCBp
biB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj4gICBhcHBsaWVzIG92ZXJsb2FkIGFiYXRlbWVudCB0byA8c3BhbiBjbGFz
cz0iZGVsZXRlIj53aGF0IGlzIHJlZmVycmVkIHRvIGluIHRoaXMgZG9jdW1lbnQgYXM8L3Nw
YW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHRyYW5zYWN0aW9uLiAg
V2hlbiByZWNlaXZpbmcgYW4gT0xSIG9mIHR5cGUgPHNwYW4gY2xhc3M9Imluc2VydCI+IkhP
U1RfUkVQT1JUIiw8L3NwYW4+IGEgcmVhY3Rpbmc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRl
Ij4gICBob3N0LXJvdXRlZCByZXF1ZXN0cy4gIFRoZSByZWFjdGluZyBub2RlIGFwcGxpZXMg
b3ZlcmxvYWQgYWJhdGVtZW50PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj4gICBub2RlIGFwcGxpZXMgb3ZlcmxvYWQgYWJhdGVtZW50IDxzcGFuIGNsYXNzPSJp
bnNlcnQiPnRyZWF0bWVudDwvc3Bhbj4gdG8gPHNwYW4gY2xhc3M9Imluc2VydCI+dGhlPC9z
cGFuPiBob3N0LXJvdXRlZCByZXF1ZXN0czwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAg
IG9uIHRob3NlPC9zcGFuPiBob3N0LXJvdXRlZCByZXF1ZXN0cyA8c3BhbiBjbGFzcz0iZGVs
ZXRlIj53aGljaCB0aGUgcmVhY3Rpbmcgbm9kZSBrbm93cyB3aWxsIGJlPC9zcGFuPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5p
ZGVudGlmaWVkPC9zcGFuPiBieSB0aGUgPHNwYW4gY2xhc3M9Imluc2VydCI+b3ZlcmxvYWQg
YWJhdGVtZW50IGFsZ29yaXRobSAoc2VlIGRlZmluaXRpb24gaW48L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNw
YW4gY2xhc3M9ImRlbGV0ZSI+ICAgc2VydmVkPC9zcGFuPiBieSB0aGUgPHNwYW4gY2xhc3M9
ImRlbGV0ZSI+c2VydmVyIHRoYXQgbWF0Y2hlcyB0aGUgT3JpZ2luLUhvc3QgQVZQIG9mIHRo
ZSByZWNlaXZlZDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNw
YW4gY2xhc3M9Imluc2VydCI+ICAgU2VjdGlvbiAyKSBzZW50IGZvciB0aGlzIGFwcGxpY2F0
aW9uIHRvPC9zcGFuPiB0aGUgPHNwYW4gY2xhc3M9Imluc2VydCI+b3ZlcmxvYWRlZDwvc3Bh
bj4gaG9zdC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBtZXNzYWdlIHRoYXQgY29u
dGFpbmVkPC9zcGFuPiB0aGUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+cmVjZWl2ZWQgT0xSIG9m
IHR5cGU8L3NwYW4+IGhvc3QuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRp
ZmYwMDE5IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgQSByZXBvcnQgb2YgdHlwZSAi
UkVBTE1fUkVQT1JUIiBpcyBzZW50IHRvIGluZGljYXRlIHRoZSBvdmVybG9hZCBvZjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBBIHJlcG9ydCBvZiB0eXBlICJSRUFM
TV9SRVBPUlQiIGlzIHNlbnQgdG8gaW5kaWNhdGUgdGhlIG92ZXJsb2FkIG9mIGE8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4g
ICA8c3BhbiBjbGFzcz0iZGVsZXRlIj5hbGwgRGlhbWV0ZXIgbm9kZXMgd2l0aGluPC9zcGFu
PiBhIHJlYWxtIGZvciB0aGUgYXBwbGljYXRpb24taWQgaW5kaWNhdGVkIGluPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHJlYWxtIGZvciB0aGUgYXBwbGljYXRpb24t
aWQgaW5kaWNhdGVkIGluIHRoZSB0cmFuc2FjdGlvbi4gIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PlRoZTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj4gICB0aGUgdHJhbnNhY3Rpb24uICBXaGVuIHJlY2VpdmluZyBh
biBPTFIgb2YgdHlwZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5yZWFsbSw8L3NwYW4+IGEgcmVh
Y3Rpbmc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imlu
c2VydCI+ICAgb3ZlcmxvYWRlZCByZWFsbSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBEZXN0aW5h
dGlvbi1SZWFsbSBBVlAgb2YgdGhlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIG5vZGUgYXBwbGllcyBvdmVy
bG9hZCBhYmF0ZW1lbnQgdG8gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+d2hhdCBpcyByZWZlcnJl
ZCB0byBpbiB0aGlzPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48
c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIE9MUi48L3Nw
YW4+ICBXaGVuIHJlY2VpdmluZyBhbiBPTFIgb2YgdHlwZTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJk
ZWxldGUiPiAgIGRvY3VtZW50IGFzIHJlYWxtLXJvdXRlZCByZXF1ZXN0cy4gIFRoZSByZWFj
dGluZyBub2RlIGFwcGxpZXM8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv
Y2siPiAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPiJSRUFMTV9SRVBPUlQiLDwvc3Bhbj4gYSBy
ZWFjdGluZyBub2RlIGFwcGxpZXMgb3ZlcmxvYWQgYWJhdGVtZW50IDxzcGFuIGNsYXNzPSJp
bnNlcnQiPnRyZWF0bWVudDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBv
dmVybG9hZCBhYmF0ZW1lbnQgb24gdGhvc2U8L3NwYW4+IHJlYWxtLXJvdXRlZCByZXF1ZXN0
cyA8c3BhbiBjbGFzcz0iZGVsZXRlIj53aGljaCBjb250YWluIGE8L3NwYW4+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHRvIHJlYWxtLXJvdXRlZCByZXF1ZXN0cyA8
c3BhbiBjbGFzcz0iaW5zZXJ0Ij5pZGVudGlmaWVkIGJ5PC9zcGFuPiB0aGUgPHNwYW4gY2xh
c3M9Imluc2VydCI+b3ZlcmxvYWQgYWJhdGVtZW50PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNz
PSJkZWxldGUiPiAgIERlc3RpbmF0aW9uLVJlYWxtIEFWUCB0aGF0IG1hdGNoZXM8L3NwYW4+
IHRoZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5PcmlnaW4tUmVhbG0gQVZQIG9mIHRoZTwvc3Bh
bj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2Vy
dCI+ICAgYWxnb3JpdGhtIChzZWUgZGVmaW5pdGlvbiBpbiBTZWN0aW9uIDIpIHNlbnQgZm9y
IHRoaXMgYXBwbGljYXRpb24gdG88L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+
ICAgcmVjZWl2ZWQgbWVzc2FnZSB0aGF0IGNvbnRhaW5lZDwvc3Bhbj4gdGhlIDxzcGFuIGNs
YXNzPSJkZWxldGUiPnJlY2VpdmVkIE9MUiBvZiB0eXBlPC9zcGFuPiByZWFsbS48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgdGhlIDxzcGFuIGNsYXNzPSJpbnNlcnQi
Pm92ZXJsb2FkZWQ8L3NwYW4+IHJlYWxtLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgVGhpcyBkb2N1bWVudCBhc3N1bWVzIHRoYXQgdGhlcmUgaXMgYSBz
aW5nbGUgc291cmNlIGZvciByZWFsbS1yZXBvcnRzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgVGhpcyBkb2N1bWVudCBhc3N1bWVzIHRoYXQgdGhlcmUgaXMgYSBzaW5n
bGUgc291cmNlIGZvciByZWFsbS1yZXBvcnRzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGZvciBhIGdpdmVuIHJlYWxtLCBv
ciB0aGF0IGlmIG11bHRpcGxlIG5vZGVzIGNhbiBzZW5kIHJlYWxtIHJlcG9ydHMsPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZm9yIGEgZ2l2ZW4gcmVhbG0sIG9yIHRo
YXQgaWYgbXVsdGlwbGUgbm9kZXMgY2FuIHNlbmQgcmVhbG0gcmVwb3J0cyw8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGhh
dCBlYWNoIHN1Y2ggbm9kZSBoYXMgZnVsbCBrbm93bGVkZ2Ugb2YgdGhlIG92ZXJsb2FkIHN0
YXRlIG9mIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHRoYXQgZWFj
aCBzdWNoIG5vZGUgaGFzIGZ1bGwga25vd2xlZGdlIG9mIHRoZSBvdmVybG9hZCBzdGF0ZSBv
ZiB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgZW50aXJlIHJlYWxtLiAgQSByZWFjdGluZyBub2RlIGNhbm5vdCBkaXN0
aW5ndWlzaCBiZXR3ZWVuIHJlY2VpdmluZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIGVudGlyZSByZWFsbS4gIEEgcmVhY3Rpbmcgbm9kZSBjYW5ub3QgZGlzdGluZ3Vp
c2ggYmV0d2VlbiByZWNlaXZpbmc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcmVhbG0tcmVwb3J0cyBmcm9tIGEgc2luZ2xl
IG5vZGUsIG9yIGZyb20gbXVsdGlwbGUgbm9kZXMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgcmVhbG0tcmVwb3J0cyBmcm9tIGEgc2luZ2xlIG5vZGUsIG9yIGZyb20g
bXVsdGlwbGUgbm9kZXMuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICAgICBOb3RlOiBLbm93biBpc3N1ZXMgZXhpc3QgaWYgbXVsdGlwbGUgc291cmNlcyBm
b3Igb3ZlcmxvYWQgcmVwb3J0czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
ICAgIE5vdGU6IEtub3duIGlzc3VlcyBleGlzdCBpZiBtdWx0aXBsZSBzb3VyY2VzIGZvciBv
dmVybG9hZCByZXBvcnRzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHdoaWNoIGFwcGx5IHRvIHRoZSBzYW1lIERpYW1l
dGVyIGVudGl0eSBleGlzdC4gIFJlYWN0aW5nIG5vZGVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgICAgd2hpY2ggYXBwbHkgdG8gdGhlIHNhbWUgRGlhbWV0ZXIgZW50
aXR5IGV4aXN0LiAgUmVhY3Rpbmcgbm9kZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgaGF2ZSBubyB3YXkgb2YgZGV0
ZXJtaW5pbmcgdGhlIHNvdXJjZSBhbmQsIGFzIHN1Y2gsIHdpbGwgdHJlYXQ8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBoYXZlIG5vIHdheSBvZiBkZXRlcm1pbmlu
ZyB0aGUgc291cmNlIGFuZCwgYXMgc3VjaCwgd2lsbCB0cmVhdDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJn
Y29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sNSIgLz48c21hbGw+
c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTIsIGxpbmUgNDI8L2Vt
PjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXI1IiAvPjxzbWFsbD5za2lwcGlu
ZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAxMiwgbGluZSA0MjwvZW0+PC90aD48
dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYW5kIHRoZSBjbGllbnRzLjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFuZCB0aGUgY2xpZW50cy48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjUuICBTb2x1dGlvbiBQcm9jZWR1cmVzPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+NS4gIFNvbHV0aW9uIFByb2NlZHVyZXM8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoaXMgc2VjdGlv
biBvdXRsaW5lcyB0aGUgbm9ybWF0aXZlIGJlaGF2aW9yIGZvciB0aGUgRE9JQyBzb2x1dGlv
bi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGlzIHNlY3Rpb24gb3V0
bGluZXMgdGhlIG5vcm1hdGl2ZSBiZWhhdmlvciBmb3IgdGhlIERPSUMgc29sdXRpb24uPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij41LjEuICBDYXBhYmlsaXR5
IEFubm91bmNlbWVudDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjUuMS4gIENh
cGFiaWxpdHkgQW5ub3VuY2VtZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBUaGlzIHNlY3Rpb24gZGVmaW5lcyBET0lDIENhcGFiaWxpdHkgQW5ub3Vu
Y2VtZW50IChEQ0EpIGJlaGF2aW9yLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIFRoaXMgc2VjdGlvbiBkZWZpbmVzIERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1lbnQg
KERDQSkgYmVoYXZpb3IuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjAiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgPHNwYW4gY2xhc3M9Imluc2Vy
dCI+Tm90ZTogVGhpcyBzcGVjaWZpY2F0aW9uIGFzc3VtZXMgdGhhdCBjaGFuZ2VzIGluIERP
SUMgbm9kZTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgY2FwYWJpbGl0aWVzIGFyZSByZWxhdGl2ZWx5
IHJhcmUgZXZlbnRzIHRoYXQgb2NjdXIgYXMgYSByZXN1bHQgb2Y8L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAg
ICAgIGFkbWluaXN0cmF0aXZlIGFjdGlvbi4gIFJlYWN0aW5nIG5vZGVzIG91Z2h0IHRvIG1p
bmltaXplIGNoYW5nZXM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIHRoYXQgZm9yY2UgdGhlIHJlcG9y
dGluZyBub2RlIHRvIGNoYW5nZSB0aGUgZmVhdHVyZXMgYmVpbmcgdXNlZCw8L3NwYW4+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNl
cnQiPiAgICAgIGVzcGVjaWFsbHkgZHVyaW5nIGFjdGl2ZSBvdmVybG9hZCBjb25kaXRpb25z
LiAgQnV0IGV2ZW4gaWY8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIHJlYWN0aW5nIG5vZGVzIGF2b2lk
IHN1Y2ggY2hhbmdlcywgcmVwb3J0aW5nIG5vZGVzIHN0aWxsIGhhdmUgdG88L3NwYW4+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNl
cnQiPiAgICAgIGJlIHByZXBhcmVkIGZvciB0aGVtIHRvIG9jY3VyLiAgRm9yIGV4YW1wbGUs
IGRpZmZlcmluZzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgY2FwYWJpbGl0aWVzIGJldHdlZW4gbXVs
dGlwbGUgcmVhY3Rpbmcgbm9kZXMgbWF5IHN0aWxsIGZvcmNlIGE8L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAg
ICAgIHJlcG9ydGluZyBub2RlIHRvIHNlbGVjdCBkaWZmZXJlbnQgZmVhdHVyZXMgb24gYSBw
ZXItdHJhbnNhY3Rpb248L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGJhc2lzLjwvc3Bhbj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij41LjEuMS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3I8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij41LjEuMS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3I8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVhY3Rpbmcgbm9kZSBNVVNUIGlu
Y2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYWxsPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQSByZWFjdGluZyBub2RlIE1VU1QgaW5jbHVkZSB0
aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhbGw8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcmVxdWVzdHMuICBJ
dCBNQVkgaW5jbHVkZSB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLCBhcyBhIHN1Yi1hdnAg
b2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXF1ZXN0cy4gIEl0IE1B
WSBpbmNsdWRlIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAsIGFzIGEgc3ViLWF2cCBvZjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMuICBJZiBpdCBkb2VzIHNvLCBpdCBNVVNUIGlu
ZGljYXRlIHN1cHBvcnQgZm9yPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
T0MtU3VwcG9ydGVkLUZlYXR1cmVzLiAgSWYgaXQgZG9lcyBzbywgaXQgTVVTVCBpbmRpY2F0
ZSBzdXBwb3J0IGZvcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aGUgImxvc3MiIGFsZ29yaXRobS4gIElmIHRoZSByZWFj
dGluZyBub2RlIGlzIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydDwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIHRoZSAibG9zcyIgYWxnb3JpdGhtLiAgSWYgdGhlIHJlYWN0aW5n
IG5vZGUgaXMgY29uZmlndXJlZCB0byBzdXBwb3J0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGZlYXR1cmVzIChpbmNsdWRp
bmcgb3RoZXIgYWxnb3JpdGhtcykgaW4gYWRkaXRpb24gdG8gdGhlIGxvc3M8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBmZWF0dXJlcyAoaW5jbHVkaW5nIG90aGVyIGFs
Z29yaXRobXMpIGluIGFkZGl0aW9uIHRvIHRoZSBsb3NzPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFsZ29yaXRobSwgaXQg
TVVTVCBpbmRpY2F0ZSBzdWNoIHN1cHBvcnQgaW4gYW4gT0MtRmVhdHVyZS1WZWN0b3IgQVZQ
LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFsZ29yaXRobSwgaXQgTVVT
VCBpbmRpY2F0ZSBzdWNoIHN1cHBvcnQgaW4gYW4gT0MtRmVhdHVyZS1WZWN0b3IgQVZQLjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQW4gT0MtU3VwcG9y
dGVkLUZlYXR1cmVzIEFWUCBpbiBhbnN3ZXIgbWVzc2FnZXMgaW5kaWNhdGVzIHRoZXJlIGlz
IGE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBbiBPQy1TdXBwb3J0ZWQt
RmVhdHVyZXMgQVZQIGluIGFuc3dlciBtZXNzYWdlcyBpbmRpY2F0ZXMgdGhlcmUgaXMgYTwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFy
dC1sNiIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2Ug
MTMsIGxpbmUgMjQ8L2VtPjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXI2IiAv
PjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAxMywgbGlu
ZSAzNTwvZW0+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+NS4xLjIuICBSZXBvcnRp
bmcgTm9kZSBCZWhhdmlvcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjUuMS4y
LiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3I8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIFVwb24gcmVjZWlwdCBvZiBhIHJlcXVlc3QgbWVzc2FnZSwgYSBy
ZXBvcnRpbmcgbm9kZSBkZXRlcm1pbmVzIGlmPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgVXBvbiByZWNlaXB0IG9mIGEgcmVxdWVzdCBtZXNzYWdlLCBhIHJlcG9ydGlu
ZyBub2RlIGRldGVybWluZXMgaWY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGhlcmUgaXMgYSByZWFjdGluZyBub2RlIGZv
ciB0aGUgdHJhbnNhY3Rpb24gYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdGhlcmUgaXMgYSByZWFjdGluZyBub2RlIGZvciB0
aGUgdHJhbnNhY3Rpb24gYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRoZSBPQy1T
dXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UuPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBB
VlAgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIElmIHRoZSByZXF1ZXN0IG1lc3NhZ2UgY29udGFpbnMgYW4gT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzIEFWUCB0aGVuIGE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBJZiB0aGUgcmVxdWVzdCBtZXNzYWdlIGNvbnRhaW5zIGFuIE9DLVN1cHBv
cnRlZC1GZWF0dXJlcyBBVlAgdGhlbiBhPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcG9ydGluZyBub2RlIE1VU1QgaW5j
bHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGU8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXBvcnRpbmcgbm9kZSBNVVNUIGluY2x1ZGUgdGhl
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFuc3dlciBtZXNzYWdl
IGZvciB0aGF0IHRyYW5zYWN0aW9uLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIGFuc3dlciBtZXNzYWdlIGZvciB0aGF0IHRyYW5zYWN0aW9uLjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDIxIiAvPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PiAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPk5vdGU6IENhcGFiaWxpdHkgYW5ub3VuY2Vt
ZW50IGlzIGRvbmUgb24gYSBwZXIgdHJhbnNhY3Rpb24gYmFzaXMuPC9zcGFuPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4g
ICAgICBUaGUgcmVwb3J0aW5nIG5vZGUgY2Fubm90IGFzc3VtZSB0aGF0IHRoZSBjYXBhYmls
aXRpZXMgYW5ub3VuY2VkPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBieSBhIHJlYWN0aW5nIG5vZGUg
d2lsbCBiZSB0aGUgc2FtZSBiZXR3ZWVuIHRyYW5zYWN0aW9ucy48L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIE5PVCBpbmNsdWRlIHRoZSBPQy1TdXBwb3J0ZWQt
RmVhdHVyZXMgQVZQLCBPQy08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBB
IHJlcG9ydGluZyBub2RlIE1VU1QgTk9UIGluY2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlAsIE9DLTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBPTFIgQVZQIG9yIGFueSBvdGhlciBvdmVybG9hZCBjb250
cm9sIEFWUHMgZGVmaW5lZCBpbiBleHRlbnNpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBPTFIgQVZQIG9yIGFueSBvdGhlciBvdmVybG9hZCBjb250cm9sIEFWUHMg
ZGVmaW5lZCBpbiBleHRlbnNpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZHJhZnRzIGluIHJlc3BvbnNlIG1lc3NhZ2Vz
IGZvciB0cmFuc2FjdGlvbnMgd2hlcmUgdGhlIHJlcXVlc3Q8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBkcmFmdHMgaW4gcmVzcG9uc2UgbWVzc2FnZXMgZm9yIHRyYW5z
YWN0aW9ucyB3aGVyZSB0aGUgcmVxdWVzdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBtZXNzYWdlIGRvZXMgbm90IGluY2x1
ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuICBMYWNrIG9mIHRoZTwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG1lc3NhZ2UgZG9lcyBub3QgaW5jbHVkZSB0
aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC4gIExhY2sgb2YgdGhlPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE9DLVN1
cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSBpbmRpY2F0ZXMg
dGhhdCB0aGVyZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIE9DLVN1cHBv
cnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSBpbmRpY2F0ZXMgdGhh
dCB0aGVyZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICBpcyBubyByZWFjdGluZyBub2RlIGZvciB0aGUgdHJhbnNhY3Rpb24u
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaXMgbm8gcmVhY3Rpbmcgbm9k
ZSBmb3IgdGhlIHRyYW5zYWN0aW9uLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgQSByZXBvcnRpbmcgbm9kZSBrbm93cyB3aGF0IG92ZXJsb2FkIGNvbnRy
b2wgZnVuY3Rpb25hbGl0eSBpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IEEgcmVwb3J0aW5nIG5vZGUga25vd3Mgd2hhdCBvdmVybG9hZCBjb250cm9sIGZ1bmN0aW9u
YWxpdHkgaXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgc3VwcG9ydGVkIGJ5IHRoZSByZWFjdGluZyBub2RlIGJhc2VkIG9u
IHRoZSBjb250ZW50IG9yIGFic2VuY2Ugb2YgdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgc3VwcG9ydGVkIGJ5IHRoZSByZWFjdGluZyBub2RlIGJhc2VkIG9uIHRo
ZSBjb250ZW50IG9yIGFic2VuY2Ugb2YgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE9DLUZlYXR1cmUtVmVjdG9yIEFW
UCB3aXRoaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGhp
biB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGU8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBi
Z2NvbG9yPSJncmF5IiA+PHRkPjwvdGQ+PHRoPjxhIG5hbWU9InBhcnQtbDciIC8+PHNtYWxs
PnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDE0LCBsaW5lIDE1PC9l
bT48L3RoPjx0aD4gPC90aD48dGg+PGEgbmFtZT0icGFydC1yNyIgLz48c21hbGw+c2tpcHBp
bmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTQsIGxpbmUgMzA8L2VtPjwvdGg+
PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBOT1Qg
Y2hhbmdlIHRoZSBzZWxlY3RlZCBhbGdvcml0aG0gZHVyaW5nIHRoZTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBOT1QgY2hhbmdl
IHRoZSBzZWxlY3RlZCBhbGdvcml0aG0gZHVyaW5nIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBwZXJpb2Qgb2YgdGlt
ZSB0aGF0IHN0YXJ0cyB3aGVuIGVudGVyaW5nIGFuIG92ZXJsb2FkIGNvbmRpdGlvbiBhbmQ8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBwZXJpb2Qgb2YgdGltZSB0aGF0
IHN0YXJ0cyB3aGVuIGVudGVyaW5nIGFuIG92ZXJsb2FkIGNvbmRpdGlvbiBhbmQ8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
ZW5kcyB3aGVuIHRoZSBhc3NvY2lhdGVkIE9DUyBiZWNvbWVzIGludmFsaWQgaW4gYWxsIHJl
YWN0aW5nIG5vZGVzLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGVuZHMg
d2hlbiB0aGUgYXNzb2NpYXRlZCBPQ1MgYmVjb21lcyBpbnZhbGlkIGluIGFsbCByZWFjdGlu
ZyBub2Rlcy48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRo
ZSByZXBvcnRpbmcgbm9kZSBNQVkgY2hhbmdlIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxn
b3JpdGhtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlIHJlcG9ydGlu
ZyBub2RlIE1BWSBjaGFuZ2UgdGhlIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG08L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgaW5kaWNhdGVkIGluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGF0IGFueSB0
aW1lIGFzIGxvbmcgYXMgbm88L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBp
bmRpY2F0ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgYXQgYW55IHRpbWUg
YXMgbG9uZyBhcyBubzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBwcmV2aW91c2x5IHNlbnQgT0xScyBtYXkgYmUgYWN0aXZl
LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHByZXZpb3VzbHkgc2VudCBP
TFJzIG1heSBiZSBhY3RpdmUuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICBUaGUgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGluZGljYXRlIHN1cHBvcnQgZm9y
IG90aGVyIERPSUMgZmVhdHVyZXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICBUaGUgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGluZGljYXRlIHN1cHBvcnQgZm9yIG90aGVy
IERPSUMgZmVhdHVyZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgZGVmaW5lZCBpbiBleHRlbnNpb24gZHJhZnRzIHRoYXQg
aXQgc3VwcG9ydHMgYW5kIHRoYXQgYXBwbHkgdG8gdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgZGVmaW5lZCBpbiBleHRlbnNpb24gZHJhZnRzIHRoYXQgaXQgc3Vw
cG9ydHMgYW5kIHRoYXQgYXBwbHkgdG8gdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyMiIg
Lz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHRyYW5zYWN0aW9uLjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICB0cmFuc2FjdGlvbi48c3BhbiBjbGFzcz0iaW5zZXJ0
Ij4gIEl0IGRvZXMgc28gdXNpbmcgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC48L3NwYW4+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBOb3RlOiBO
b3QgYWxsIERPSUMgZmVhdHVyZXMgd2lsbCBhcHBseSB0byBhbGwgRGlhbWV0ZXI8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBOb3RlOiBOb3QgYWxsIERPSUMgZmVh
dHVyZXMgd2lsbCBhcHBseSB0byBhbGwgRGlhbWV0ZXI8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgYXBwbGljYXRpb25z
IG9yIGRlcGxveW1lbnQgc2NlbmFyaW9zLiAgVGhlIGZlYXR1cmVzIGluY2x1ZGVkIGluPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgYXBwbGljYXRpb25zIG9yIGRl
cGxveW1lbnQgc2NlbmFyaW9zLiAgVGhlIGZlYXR1cmVzIGluY2x1ZGVkIGluPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAg
IHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgYXJlIGJhc2VkIG9uIGxvY2FsIHJlcG9ydGlu
ZyBub2RlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgdGhlIE9DLUZl
YXR1cmUtVmVjdG9yIEFWUCBhcmUgYmFzZWQgb24gbG9jYWwgcmVwb3J0aW5nIG5vZGU8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgICAgcG9saWN5LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIHBv
bGljeS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjUuMS4zLiAg
QWdlbnQgQmVoYXZpb3I8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij41LjEuMy4g
IEFnZW50IEJlaGF2aW9yPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBEaWFtZXRlciBBZ2VudHMgdGhhdCBzdXBwb3J0IERPSUMgTUFZIGVuc3VyZSB0aGF0
IGFsbCBtZXNzYWdlczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIERpYW1l
dGVyIEFnZW50cyB0aGF0IHN1cHBvcnQgRE9JQyBNQVkgZW5zdXJlIHRoYXQgYWxsIG1lc3Nh
Z2VzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIHJlbGF5ZWQgYnkgdGhlIGFnZW50IGNvbnRhaW4gdGhlIE9DLVN1cHBvcnRl
ZC1GZWF0dXJlcyBBVlAuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVs
YXllZCBieSB0aGUgYWdlbnQgY29udGFpbiB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFW
UC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0ciBiZ2NvbG9yPSJncmF5IiA+PHRkPjwvdGQ+PHRoPjxhIG5hbWU9
InBhcnQtbDgiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBw
YWdlIDE1LCBsaW5lIDE2PC9lbT48L3RoPjx0aD4gPC90aD48dGg+PGEgbmFtZT0icGFydC1y
OCIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTUs
IGxpbmUgMzA8L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHJlcG9y
dGVkIGJ5IHRoZSByZWFjdGluZyBub2RlIHRoZW4gdGhlIGFnZW50IG1pZ2h0IGNob29zZSwg
YmFzZWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICByZXBvcnRlZCBi
eSB0aGUgcmVhY3Rpbmcgbm9kZSB0aGVuIHRoZSBhZ2VudCBtaWdodCBjaG9vc2UsIGJhc2Vk
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgICAgIG9uIGxvY2FsIHBvbGljeSwgdG8gYWR2ZXJ0aXNlIHRoYXQgc3VwZXJzZXQg
b2YgZmVhdHVyZXMgdG8gdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ICAgb24gbG9jYWwgcG9saWN5LCB0byBhZHZlcnRpc2UgdGhhdCBzdXBlcnNldCBvZiBmZWF0
dXJlcyB0byB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgcmVwb3J0aW5nIG5vZGUuPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgICAgcmVwb3J0aW5nIG5vZGUuPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJZiB0aGUgRGlhbWV0ZXIgQWdlbnQgY2hhbmdl
cyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgSWYgdGhlIERpYW1ldGVyIEFnZW50IGNoYW5nZXMgdGhlIE9D
LVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZXF1ZXN0IG1lc3NhZ2UgdGhl
biBpdCBpcyBsaWtlbHkgaXQgd2lsbCBhbHNvIG5lZWQgdG8gbW9kaWZ5IHRoZSBPQy08L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXF1ZXN0IG1lc3NhZ2UgdGhlbiBp
dCBpcyBsaWtlbHkgaXQgd2lsbCBhbHNvIG5lZWQgdG8gbW9kaWZ5IHRoZSBPQy08L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
U3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGUgYW5zd2VyIG1lc3NhZ2UgZm9yIHRoZSB0
cmFuc2FjdGlvbi4gIEE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBTdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQIGluIHRoZSBhbnN3ZXIgbWVzc2FnZSBmb3IgdGhlIHRyYW5z
YWN0aW9uLiAgQTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICBEaWFtZXRlciBBZ2VudCBNQVkgbW9kaWZ5IHRoZSBPQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQIGNhcnJpZWQgaW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBEaWFtZXRlciBBZ2VudCBNQVkgbW9kaWZ5IHRoZSBPQy1TdXBwb3J0ZWQt
RmVhdHVyZXMgQVZQIGNhcnJpZWQgaW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYW5zd2VyIG1lc3NhZ2VzLjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFuc3dlciBtZXNzYWdlcy48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyMyIg
Lz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIFdoZW4gbWFraW5nIGNoYW5nZXMgdG8gdGhl
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyA8c3BhbiBjbGFzcz0iZGVsZXRlIj5BVlA8L3NwYW4+
IHRoZSBEaWFtZXRlcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBXaGVu
IG1ha2luZyBjaGFuZ2VzIHRvIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgPHNwYW4gY2xh
c3M9Imluc2VydCI+b3IgT0MtT0xSIEFWUHMsPC9zcGFuPiB0aGU8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBBZ2VudCBu
ZWVkcyB0byBlbnN1cmUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+dGhhdCBpdCBkb2VzIG5vdCBp
bnRyb2R1Y2UgaW5jb3JyZWN0PC9zcGFuPiBiZWhhdmlvcjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmJsb2NrIj4gICBEaWFtZXRlciBBZ2VudCBuZWVkcyB0byBlbnN1cmUgPHNwYW4g
Y2xhc3M9Imluc2VydCI+Y29uc2lzdGVuY3kgaW4gaXRzPC9zcGFuPiBiZWhhdmlvciA8c3Bh
biBjbGFzcz0iaW5zZXJ0Ij53aXRoIGJvdGg8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9
ImRlbGV0ZSI+Zm9yIGVpdGhlciB0aGU8L3NwYW4+IHVwc3RyZWFtIDxzcGFuIGNsYXNzPSJk
ZWxldGUiPm9yPC9zcGFuPiBkb3duc3RyZWFtIERPSUMgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+
bm9kZXMuLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgdXBz
dHJlYW0gPHNwYW4gY2xhc3M9Imluc2VydCI+YW5kPC9zcGFuPiBkb3duc3RyZWFtIERPSUMg
PHNwYW4gY2xhc3M9Imluc2VydCI+bm9kZXMuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+NS4yLiAgT3ZlcmxvYWQgUmVwb3J0IFByb2Nlc3Npbmc8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij41LjIuICBPdmVybG9hZCBSZXBvcnQg
UHJvY2Vzc2luZzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+NS4y
LjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+NS4yLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRlPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBCb3RoIHJlYWN0aW5nIGFuZCByZXBvcnRpbmcg
bm9kZXMgbWFpbnRhaW4gT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIEJvdGggcmVhY3RpbmcgYW5kIHJlcG9ydGluZyBub2RlcyBt
YWludGFpbiBPdmVybG9hZCBDb250cm9sIFN0YXRlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIChPQ1MpIGZvciBhY3RpdmUg
b3ZlcmxvYWQgY29uZGl0aW9ucy4gIFRoZSBmb2xsb3dpbmcgc2VjdGlvbnMgZGVmaW5lPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgKE9DUykgZm9yIGFjdGl2ZSBvdmVy
bG9hZCBjb25kaXRpb25zLiAgVGhlIGZvbGxvd2luZyBzZWN0aW9ucyBkZWZpbmU8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
YmVoYXZpb3IgYXNzb2NpYXRlZCB3aXRoIHRoYXQgT0NTLjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIGJlaGF2aW9yIGFzc29jaWF0ZWQgd2l0aCB0aGF0IE9DUy48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjUuMi4xLjEuICBPdmVybG9h
ZCBDb250cm9sIFN0YXRlIGZvciBSZWFjdGluZyBOb2RlczwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjUuMi4xLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRlIGZvciBSZWFj
dGluZyBOb2RlczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+
PGEgbmFtZT0icGFydC1sOSIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFs
bD48ZW0+IHBhZ2UgMjYsIGxpbmUgMjE8L2VtPjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1l
PSJwYXJ0LXI5IiAvPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4g
cGFnZSAyNiwgbGluZSAzMDwvZW0+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
RnJvbSB0aGUgZnVuY3Rpb25hbGl0eSBwb2ludCBvZiB2aWV3LCB0aGUgT0MtU2VxdWVuY2Ut
TnVtYmVyIEFWUCBpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEZyb20g
dGhlIGZ1bmN0aW9uYWxpdHkgcG9pbnQgb2YgdmlldywgdGhlIE9DLVNlcXVlbmNlLU51bWJl
ciBBVlAgaXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgdXNlZCBhcyBhIG5vbi12b2xhdGlsZSBpbmNyZWFzaW5nIGNvdW50
ZXIgZm9yIGEgc2VxdWVuY2Ugb2Ygb3ZlcmxvYWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICB1c2VkIGFzIGEgbm9uLXZvbGF0aWxlIGluY3JlYXNpbmcgY291bnRlciBm
b3IgYSBzZXF1ZW5jZSBvZiBvdmVybG9hZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZXBvcnRzIGJldHdlZW4gdHdvIERP
SUMgbm9kZXMgZm9yIHRoZSBzYW1lIG92ZXJsb2FkIG9jY3VycmVuY2UuPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVwb3J0cyBiZXR3ZWVuIHR3byBET0lDIG5vZGVz
IGZvciB0aGUgc2FtZSBvdmVybG9hZCBvY2N1cnJlbmNlLjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBTZXF1ZW5jZSBudW1i
ZXJzIGFyZSB0cmVhdGVkIGluIGEgdW5pLWRpcmVjdGlvbmFsIG1hbm5lciwgaS5lLiB0d288
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBTZXF1ZW5jZSBudW1iZXJzIGFy
ZSB0cmVhdGVkIGluIGEgdW5pLWRpcmVjdGlvbmFsIG1hbm5lciwgaS5lLiB0d288L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
c2VxdWVuY2UgbnVtYmVycyBvbiBlYWNoIGRpcmVjdGlvbiBiZXR3ZWVuIHR3byBET0lDIG5v
ZGVzIGFyZSBub3Q8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBzZXF1ZW5j
ZSBudW1iZXJzIG9uIGVhY2ggZGlyZWN0aW9uIGJldHdlZW4gdHdvIERPSUMgbm9kZXMgYXJl
IG5vdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICByZWxhdGVkIG9yIGNvcnJlbGF0ZWQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgcmVsYXRlZCBvciBjb3JyZWxhdGVkLjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+Ny41LiAgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQ
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+Ny41LiAgT0MtVmFsaWRpdHktRHVy
YXRpb24gQVZQPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBU
aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIChBVlAgY29kZSBUQkQ1KSBpcyBvZiB0eXBl
IFVuc2lnbmVkMzI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgT0Mt
VmFsaWRpdHktRHVyYXRpb24gQVZQIChBVlAgY29kZSBUQkQ1KSBpcyBvZiB0eXBlIFVuc2ln
bmVkMzI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDI0IiAvPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+ICAgYW5kIGluZGljYXRlcyBpbiA8c3BhbiBjbGFzcz0iZGVsZXRlIj5taWxsaXNlY29u
ZHM8L3NwYW4+IHRoZSB2YWxpZGl0eSB0aW1lIG9mIHRoZSBvdmVybG9hZDwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBhbmQgaW5kaWNhdGVzIGluIDxzcGFuIGNsYXNz
PSJpbnNlcnQiPnNlY29uZHM8L3NwYW4+IHRoZSB2YWxpZGl0eSB0aW1lIG9mIHRoZSBvdmVy
bG9hZCByZXBvcnQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgcmVwb3J0LiAgVGhlIG51bWJlciBvZiA8c3BhbiBjbGFz
cz0iZGVsZXRlIj5taWxsaXNlY29uZHM8L3NwYW4+IGlzIG1lYXN1cmVkIGFmdGVyIHJlY2Vw
dGlvbiBvZjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBUaGUgbnVtYmVy
IG9mIDxzcGFuIGNsYXNzPSJpbnNlcnQiPm1zZWNvbmRzPC9zcGFuPiBpcyBtZWFzdXJlZCBh
ZnRlciByZWNlcHRpb24gb2YgdGhlIGZpcnN0IDxzcGFuIGNsYXNzPSJpbnNlcnQiPk9DLTwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj4gICB0aGUgZmlyc3QgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+T0MtT0xSPC9z
cGFuPiBBVlAgd2l0aCBhIGdpdmVuIHZhbHVlIG9mIE9DLVNlcXVlbmNlLU51bWJlciBBVlAu
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi
PiAgIE9MUjwvc3Bhbj4gQVZQIHdpdGggYSBnaXZlbiB2YWx1ZSBvZiBPQy1TZXF1ZW5jZS1O
dW1iZXIgQVZQLiAgVGhlIGRlZmF1bHQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBUaGUgZGVmYXVsdCB2YWx1ZSBmb3Ig
dGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCBpcyA8c3BhbiBjbGFzcz0iZGVsZXRlIj4z
MDAwMCAoaS5lLjs8L3NwYW4+IDMwPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PiAgIHZhbHVlIGZvciB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzIDMwIDxzcGFu
IGNsYXNzPSJpbnNlcnQiPnNlY29uZHMuPC9zcGFuPiAgV2hlbiB0aGUgPHNwYW4gY2xhc3M9
Imluc2VydCI+T0MtPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPnNlY29u
ZHMpLjwvc3Bhbj4gIFdoZW4gdGhlIDxzcGFuIGNsYXNzPSJkZWxldGUiPk9DLVZhbGlkaXR5
LUR1cmF0aW9uPC9zcGFuPiBBVlAgaXMgbm90IHByZXNlbnQgaW4gdGhlPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIFZhbGlkaXR5
LUR1cmF0aW9uPC9zcGFuPiBBVlAgaXMgbm90IHByZXNlbnQgaW4gdGhlIE9DLU9MUiBBVlAs
IHRoZSBkZWZhdWx0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgT0MtT0xSIEFWUCwgdGhlIGRlZmF1bHQgdmFsdWUgYXBw
bGllcy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgdmFsdWUgYXBwbGll
cy4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPlRoZSBtYXhpbXVtIHZhbHVlIGZvciB0aGUgT0Mt
VmFsaWRpdHktRHVyYXRpb24gQVZQIGlzPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICA4Niw0MDAgc2Vjb25k
cyAoMjQgaG91cnMpLjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjcuNi4gIE9DLVJlcG9ydC1UeXBlIEFWUDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjcuNi4gIE9DLVJlcG9ydC1UeXBlIEFWUDwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIE9DLVJlcG9ydC1UeXBlIEFWUCAoQVZQIGNv
ZGUgVEJENikgaXMgb2YgdHlwZSBFbnVtZXJhdGVkLiAgVGhlPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgVGhlIE9DLVJlcG9ydC1UeXBlIEFWUCAoQVZQIGNvZGUgVEJE
NikgaXMgb2YgdHlwZSBFbnVtZXJhdGVkLiAgVGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHZhbHVlIG9mIHRoZSBBVlAg
ZGVzY3JpYmVzIHdoYXQgdGhlIG92ZXJsb2FkIHJlcG9ydCBjb25jZXJucy4gIFRoZTwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHZhbHVlIG9mIHRoZSBBVlAgZGVzY3Jp
YmVzIHdoYXQgdGhlIG92ZXJsb2FkIHJlcG9ydCBjb25jZXJucy4gIFRoZTwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBmb2xs
b3dpbmcgdmFsdWVzIGFyZSBpbml0aWFsbHkgZGVmaW5lZDo8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBmb2xsb3dpbmcgdmFsdWVzIGFyZSBpbml0aWFsbHkgZGVmaW5l
ZDo8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEhPU1RfUkVQ
T1JUIDAgIFRoZSBvdmVybG9hZCByZXBvcnQgaXMgZm9yIGEgaG9zdC4gIE92ZXJsb2FkIGFi
YXRlbWVudDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEhPU1RfUkVQT1JU
IDAgIFRoZSBvdmVybG9hZCByZXBvcnQgaXMgZm9yIGEgaG9zdC4gIE92ZXJsb2FkIGFiYXRl
bWVudDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICAgICB0cmVhdG1lbnQgYXBwbGllcyB0byBob3N0LXJvdXRlZCByZXF1ZXN0
cy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICB0cmVhdG1lbnQgYXBw
bGllcyB0byBob3N0LXJvdXRlZCByZXF1ZXN0cy48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KCiAgICAgPHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQ+PC90ZD48L3RyPgogICAgIDx0ciBiZ2Nv
bG9yPSJncmF5Ij48dGggY29sc3Bhbj0iNSIgYWxpZ249ImNlbnRlciI+PGEgbmFtZT0iZW5k
Ij4mbmJzcDtFbmQgb2YgY2hhbmdlcy4gMjQgY2hhbmdlIGJsb2Nrcy4mbmJzcDs8L2E+PC90
aD48L3RyPgogICAgIDx0ciBjbGFzcz0ic3RhdHMiPjx0ZD48L3RkPjx0aD48aT41MCBsaW5l
cyBjaGFuZ2VkIG9yIGRlbGV0ZWQ8L2k+PC90aD48dGg+PGk+IDwvaT48L3RoPjx0aD48aT42
NSBsaW5lcyBjaGFuZ2VkIG9yIGFkZGVkPC9pPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICA8
dHI+PHRkIGNvbHNwYW49IjUiIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJzbWFsbCI+PGJyLz5U
aGlzIGh0bWwgZGlmZiB3YXMgcHJvZHVjZWQgYnkgcmZjZGlmZiAxLjQxLiBUaGUgbGF0ZXN0
IHZlcnNpb24gaXMgYXZhaWxhYmxlIGZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy50b29scy5p
ZXRmLm9yZy90b29scy9yZmNkaWZmLyIgPmh0dHA6Ly90b29scy5pZXRmLm9yZy90b29scy9y
ZmNkaWZmLzwvYT4gPC90ZD48L3RyPgogICA8L3RhYmxlPgogICA8L2JvZHk+CiAgIDwvaHRt
bD4KWC1HZW5lcmF0b3I6IHB5aHQgMC4zNQoKPCEtLSBhcmdzOiB7Jy0tb2xkY29sb3VyJzog
J3JlZCcsICctLXdpZHRoJzogJycsICdkaWZmdHlwZSc6ICctLWh0bWwnLCAnZmlsZW5hbWUy
JzogJ1xuXG5cblxuRGlhbWV0ZXIgTWFpbnRlbmFuY2UgYW5kIEV4dGVuc2lvbnMgKERJTUUp
ICAgICAgICAgICAgICBKLiBLb3Job25lbiwgRWQuXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvYWRjb21cbklu
dGVuZGVkIHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICAg
IFMuIERvbm92YW4sIEVkLlxuRXhwaXJlczogSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEIuIENhbXBiZWxsXG4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmFj
bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEwuIE1vcmFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yYW5nZSBMYWJzXG4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5
IDgsIDIwMTVcblxuXG4gICAgICAgICAgICAgICAgRGlhbWV0ZXIgT3ZlcmxvYWQgSW5kaWNh
dGlvbiBDb252ZXlhbmNlXG4gICAgICAgICAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1kaW1l
LW92bGktMDYudHh0XG5cbkFic3RyYWN0XG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZp
bmVzIGEgYmFzZSBzb2x1dGlvbiBmb3IgRGlhbWV0ZXIgb3ZlcmxvYWRcbiAgIGNvbnRyb2ws
IHJlZmVycmVkIHRvIGFzIERpYW1ldGVyIE92ZXJsb2FkIEluZGljYXRpb24gQ29udmV5YW5j
ZVxuICAgKERPSUMpLlxuXG5TdGF0dXMgb2YgVGhpcyBNZW1vXG5cbiAgIFRoaXMgSW50ZXJu
ZXQtRHJhZnQgaXMgc3VibWl0dGVkIGluIGZ1bGwgY29uZm9ybWFuY2Ugd2l0aCB0aGVcbiAg
IHByb3Zpc2lvbnMgb2YgQkNQIDc4IGFuZCBCQ1AgNzkuXG5cbiAgIEludGVybmV0LURyYWZ0
cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nXG4g
ICBUYXNrIEZvcmNlIChJRVRGKS4gIE5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28g
ZGlzdHJpYnV0ZVxuICAgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQtRHJhZnRzLiAg
VGhlIGxpc3Qgb2YgY3VycmVudCBJbnRlcm5ldC1cbiAgIERyYWZ0cyBpcyBhdCBodHRwOi8v
ZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZHJhZnRzL2N1cnJlbnQvLlxuXG4gICBJbnRlcm5ldC1E
cmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9mIHNpeCBt
b250aHNcbiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRlZCBi
eSBvdGhlciBkb2N1bWVudHMgYXQgYW55XG4gICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0
ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZVxuICAgbWF0ZXJpYWwgb3Ig
dG8gY2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIlxuXG4gICBU
aGlzIEludGVybmV0LURyYWZ0IHdpbGwgZXhwaXJlIG9uIEp1bHkgMTIsIDIwMTUuXG5cbkNv
cHlyaWdodCBOb3RpY2VcblxuICAgQ29weXJpZ2h0IChjKSAyMDE1IElFVEYgVHJ1c3QgYW5k
IHRoZSBwZXJzb25zIGlkZW50aWZpZWQgYXMgdGhlXG4gICBkb2N1bWVudCBhdXRob3JzLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC5cblxuICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRv
IEJDUCA3OCBhbmQgdGhlIElFVEYgVHJ1c3RcJ3MgTGVnYWxcbiAgIFByb3Zpc2lvbnMgUmVs
YXRpbmcgdG8gSUVURiBEb2N1bWVudHNcbiAgIChodHRwOi8vdHJ1c3RlZS5pZXRmLm9yZy9s
aWNlbnNlLWluZm8pIGluIGVmZmVjdCBvbiB0aGUgZGF0ZSBvZlxuICAgcHVibGljYXRpb24g
b2YgdGhpcyBkb2N1bWVudC4gIFBsZWFzZSByZXZpZXcgdGhlc2UgZG9jdW1lbnRzXG4gICBj
YXJlZnVsbHksIGFzIHRoZXkgZGVzY3JpYmUgeW91ciByaWdodHMgYW5kIHJlc3RyaWN0aW9u
cyB3aXRoIHJlc3BlY3RcbiAgIHRvIHRoaXMgZG9jdW1lbnQuICBDb2RlIENvbXBvbmVudHMg
ZXh0cmFjdGVkIGZyb20gdGhpcyBkb2N1bWVudCBtdXN0XG4gICBpbmNsdWRlIFNpbXBsaWZp
ZWQgQlNEIExpY2Vuc2UgdGV4dCBhcyBkZXNjcmliZWQgaW4gU2VjdGlvbiA0LmUgb2Zcblxu
XG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAg
ICAgICAgICAgICAgICBbUGFnZSAxXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
ICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAg
dGhlIFRydXN0IExlZ2FsIFByb3Zpc2lvbnMgYW5kIGFyZSBwcm92aWRlZCB3aXRob3V0IHdh
cnJhbnR5IGFzXG4gICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQgQlNEIExpY2Vuc2Uu
XG5cblRhYmxlIG9mIENvbnRlbnRzXG5cbiAgIDEuICBJbnRyb2R1Y3Rpb24gIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgM1xuICAgMi4gIFRl
cm1pbm9sb2d5IGFuZCBBYmJyZXZpYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gICA0XG4gICAzLiAgQ29udmVudGlvbnMgVXNlZCBpbiBUaGlzIERvY3VtZW50IC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDVcbiAgIDQuICBTb2x1dGlvbiBPdmVydmll
dyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNVxuICAg
ICA0LjEuICBQaWdneWJhY2tpbmcgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gICA3XG4gICAgIDQuMi4gIERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1l
bnQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDdcbiAgICAgNC4zLiAgRE9JQyBP
dmVybG9hZCBDb25kaXRpb24gUmVwb3J0aW5nIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAg
OVxuICAgICA0LjQuICBET0lDIEV4dGVuc2liaWxpdHkgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDExXG4gICAgIDQuNS4gIFNpbXBsaWZpZWQgRXhhbXBsZSBB
cmNoaXRlY3R1cmUgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTFcbiAgIDUuICBTb2x1
dGlvbiBQcm9jZWR1cmVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAxMlxuICAgICA1LjEuICBDYXBhYmlsaXR5IEFubm91bmNlbWVudCAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEyXG4gICAgICAgNS4xLjEuICBSZWFjdGluZyBO
b2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTNcbiAgICAg
ICA1LjEuMi4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAxM1xuICAgICAgIDUuMS4zLiAgQWdlbnQgQmVoYXZpb3IgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE0XG4gICAgIDUuMi4gIE92ZXJsb2Fk
IFJlcG9ydCBQcm9jZXNzaW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTVc
biAgICAgICA1LjIuMS4gIE92ZXJsb2FkIENvbnRyb2wgU3RhdGUgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAxNVxuICAgICAgIDUuMi4yLiAgUmVhY3RpbmcgTm9kZSBCZWhh
dmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE5XG4gICAgICAgNS4yLjMu
ICBSZXBvcnRpbmcgTm9kZSBCZWhhdmlvciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMjBcbiAgICAgNS4zLiAgUHJvdG9jb2wgRXh0ZW5zaWJpbGl0eSAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMVxuICAgNi4gIExvc3MgQWxnb3JpdGhtICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyXG4gICAgIDYu
MS4gIE92ZXJ2aWV3ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMjJcbiAgICAgNi4yLiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3IgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyM1xuICAgICA2LjMuICBSZWFjdGluZyBO
b2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI0XG4g
ICA3LiAgQXR0cmlidXRlIFZhbHVlIFBhaXJzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMjRcbiAgICAgNy4xLiAgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFW
UCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNVxuICAgICA3LjIuICBPQy1G
ZWF0dXJlLVZlY3RvciBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDI1XG4gICAgIDcuMy4gIE9DLU9MUiBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjVcbiAgICAgNy40LiAgT0MtU2VxdWVuY2UtTnVtYmVy
IEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNlxuICAgICA3LjUu
ICBPQy1WYWxpZGl0eS1EdXJhdGlvbiBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDI2XG4gICAgIDcuNi4gIE9DLVJlcG9ydC1UeXBlIEFWUCAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjZcbiAgICAgNy43LiAgT0MtUmVkdWN0aW9u
LVBlcmNlbnRhZ2UgQVZQIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyN1xuICAg
ICA3LjguICBBdHRyaWJ1dGUgVmFsdWUgUGFpciBmbGFnIHJ1bGVzIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDI3XG4gICA4LiAgRXJyb3IgUmVzcG9uc2UgQ29kZXMgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjhcbiAgIDkuICBJQU5BIENvbnNp
ZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
OFxuICAgICA5LjEuICBBVlAgY29kZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDI4XG4gICAgIDkuMi4gIE5ldyByZWdpc3RyaWVzICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjhcbiAgIDEwLiBTZWN1
cml0eSBDb25zaWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAyOVxuICAgICAxMC4xLiAgUG90ZW50aWFsIFRocmVhdCBNb2RlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI5XG4gICAgIDEwLjIuICBEZW5pYWwgb2YgU2Vy
dmljZSBBdHRhY2tzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzFcbiAgICAg
MTAuMy4gIE5vbi1Db21wbGlhbnQgTm9kZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAzMVxuICAgICAxMC40LiAgRW5kLXRvIEVuZC1TZWN1cml0eSBJc3N1ZXMg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMxXG4gICAxMS4gQ29udHJpYnV0b3Jz
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzNc
biAgIDEyLiBSZWZlcmVuY2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAzM1xuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBF
eHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDJdXG5fXG5JbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAg
ICBKYW51YXJ5IDIwMTVcblxuXG4gICAgIDEyLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcyAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzNcbiAgICAgMTIuMi4gIElu
Zm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAzM1xuICAgQXBwZW5kaXggQS4gIElzc3VlcyBsZWZ0IGZvciBmdXR1cmUgc3BlY2lmaWNh
dGlvbnMgIC4gLiAuIC4gLiAuIC4gIDM0XG4gICAgIEEuMS4gIEFkZGl0aW9uYWwgdHJhZmZp
YyBhYmF0ZW1lbnQgYWxnb3JpdGhtcyAuIC4gLiAuIC4gLiAuIC4gLiAgMzRcbiAgICAgQS4y
LiAgQWdlbnQgT3ZlcmxvYWQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAzNFxuICAgICBBLjMuICBOZXcgRXJyb3IgRGlhZ25vc3RpYyBBVlAgIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM0XG4gICBBcHBlbmRpeCBCLiAgRGVwbG95
bWVudCBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzRcbiAg
IEFwcGVuZGl4IEMuICBSZXF1aXJlbWVudHMgQ29uZm9ybWFuY2UgQW5hbHlzaXMgIC4gLiAu
IC4gLiAuIC4gLiAuICAzNVxuICAgICBDLjEuICBEZWZlcnJlZCBSZXF1aXJlbWVudHMgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM1XG4gICAgIEMuMi4gIERldGVj
dGlvbiBvZiBub24tc3VwcG9ydGluZyBJbnRlcm1lZGlhcmllcyAgLiAuIC4gLiAuIC4gLiAg
MzVcbiAgICAgQy4zLiAgSW1wbGljaXQgQXBwbGljYXRpb24gSW5kaWNhdGlvbiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAzNlxuICAgICBDLjQuICBTdGF0ZWxlc3MgT3BlcmF0aW9u
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM2XG4gICAgIEMuNS4g
IE5vIE5ldyBWdWxuZXJhYmlsaXRpZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMzZcbiAgICAgQy42LiAgRGV0YWlsZWQgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNlxuICAgICAgIEMuNi4xLiAgR2VuZXJhbCAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM2XG4gICAg
ICAgQy42LjIuICBQZXJmb3JtYW5jZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMzhcbiAgICAgICBDLjYuMy4gIEhldGVyb2dlbmVvdXMgU3VwcG9ydCBm
b3IgU29sdXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuICA0MFxuICAgICAgIEMuNi40LiAgR3Jh
bnVsYXIgQ29udHJvbCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQy
XG4gICAgICAgQy42LjUuICBQcmlvcml0eSBhbmQgUG9saWN5IC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgNDNcbiAgICAgICBDLjYuNi4gIFNlY3VyaXR5ICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0M1xuICAgICAgIEMuNi43
LiAgRmxleGliaWxpdHkgYW5kIEV4dGVuc2liaWxpdHkgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDQ0XG4gICBBcHBlbmRpeCBELiAgQ29uc2lkZXJhdGlvbnMgZm9yIEFwcGxpY2F0aW9u
cyBJbnRlZ3JhdGluZyB0aGUgRE9JQ1xuICAgICAgICAgICAgICAgIFNvbHV0aW9uIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ2XG4gICAgIEQuMS4g
IEFwcGxpY2F0aW9uIENsYXNzaWZpY2F0aW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNDZcbiAgICAgRC4yLiAgQXBwbGljYXRpb24gVHlwZSBPdmVybG9hZCBJbXBsaWNh
dGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuICA0N1xuICAgICBELjMuICBSZXF1ZXN0IFRyYW5z
YWN0aW9uIENsYXNzaWZpY2F0aW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ4XG4gICAg
IEQuNC4gIFJlcXVlc3QgVHlwZSBPdmVybG9hZCBJbXBsaWNhdGlvbnMgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgNDlcbiAgIEF1dGhvcnNcJyBBZGRyZXNzZXMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNTBcblxuMS4gIEludHJvZHVjdGlv
blxuXG4gICBUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIGJhc2Ugc29sdXRpb24gZm9y
IERpYW1ldGVyIG92ZXJsb2FkXG4gICBjb250cm9sLCByZWZlcnJlZCB0byBhcyBEaWFtZXRl
ciBPdmVybG9hZCBJbmRpY2F0aW9uIENvbnZleWFuY2VcbiAgIChET0lDKSwgYmFzZWQgb24g
dGhlIHJlcXVpcmVtZW50cyBpZGVudGlmaWVkIGluIFtSRkM3MDY4XS5cblxuICAgVGhpcyBz
cGVjaWZpY2F0aW9uIGFkZHJlc3NlcyBEaWFtZXRlciBvdmVybG9hZCBjb250cm9sIGJldHdl
ZW5cbiAgIERpYW1ldGVyIG5vZGVzIHRoYXQgc3VwcG9ydCB0aGUgRE9JQyBzb2x1dGlvbi4g
IFRoZSBzb2x1dGlvbiwgd2hpY2hcbiAgIGlzIGRlc2lnbmVkIHRvIGFwcGx5IHRvIGV4aXN0
aW5nIGFuZCBmdXR1cmUgRGlhbWV0ZXIgYXBwbGljYXRpb25zLFxuICAgcmVxdWlyZXMgbm8g
Y2hhbmdlcyB0byB0aGUgRGlhbWV0ZXIgYmFzZSBwcm90b2NvbCBbUkZDNjczM10gYW5kIGlz
XG4gICBkZXBsb3lhYmxlIGluIGVudmlyb25tZW50cyB3aGVyZSBzb21lIERpYW1ldGVyIG5v
ZGVzIGRvIG5vdCBpbXBsZW1lbnRcbiAgIHRoZSBEaWFtZXRlciBvdmVybG9hZCBjb250cm9s
IHNvbHV0aW9uIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLlxuXG4gICBBIG5ldyBh
cHBsaWNhdGlvbiBzcGVjaWZpY2F0aW9uIGNhbiBpbmNvcnBvcmF0ZSB0aGUgb3ZlcmxvYWQg
Y29udHJvbFxuICAgbWVjaGFuaXNtIHNwZWNpZmllZCBpbiB0aGlzIGRvY3VtZW50IGJ5IG1h
a2luZyBpdCBtYW5kYXRvcnkgdG9cbiAgIGltcGxlbWVudCBmb3IgdGhlIGFwcGxpY2F0aW9u
IGFuZCByZWZlcmVuY2luZyB0aGlzIHNwZWNpZmljYXRpb25cbiAgIG5vcm1hdGl2ZWx5LiAg
SXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBEaWFtZXRlciBhcHBsaWNhdGlvblxu
ICAgZGVzaWduZXJzIHRvIGRlZmluZSBob3cgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc21z
IHdvcmtzIG9uIHRoYXRcbiAgIGFwcGxpY2F0aW9uLlxuXG5cblxuS29yaG9uZW4sIGV0IGFs
LiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdl
IDNdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAg
ICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBOb3RlIHRoYXQgdGhlIG92ZXJs
b2FkIGNvbnRyb2wgc29sdXRpb24gZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb25cbiAg
IGRvZXMgbm90IGFkZHJlc3MgYWxsIHRoZSByZXF1aXJlbWVudHMgbGlzdGVkIGluIFtSRkM3
MDY4XS4gIEEgbnVtYmVyXG4gICBvZiBvdmVybG9hZCBjb250cm9sIHJlbGF0ZWQgZmVhdHVy
ZXMgYXJlIGxlZnQgZm9yIGZ1dHVyZVxuICAgc3BlY2lmaWNhdGlvbnMuICBTZWUgQXBwZW5k
aXggQSBmb3IgYSBsaXN0IG9mIGV4dGVuc2lvbnMgdGhhdCBhcmVcbiAgIGN1cnJlbnRseSBi
ZWluZyBjb25zaWRlcmVkLiAgU2VlIEFwcGVuZGl4IEMgZm9yIGFuIGFuYWx5c2lzIG9mXG4g
ICBjb25mb3JtYW5jZSB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBpbiBbUkZDNzA2
OF0uXG5cbjIuICBUZXJtaW5vbG9neSBhbmQgQWJicmV2aWF0aW9uc1xuXG4gICBBYmF0ZW1l
bnRcblxuICAgICAgUmVhY3Rpb24gdG8gcmVjZWlwdCBvZiBhbiBvdmVybG9hZCByZXBvcnQg
cmVzdWx0aW5nIGluIGEgcmVkdWN0aW9uXG4gICAgICBpbiB0cmFmZmljIHNlbnQgdG8gdGhl
IHJlcG9ydGluZyBub2RlLiAgQWJhdGVtZW50IGFjdGlvbnMgaW5jbHVkZVxuICAgICAgZGl2
ZXJzaW9uIGFuZCB0aHJvdHRsaW5nLlxuXG4gICBBYmF0ZW1lbnQgQWxnb3JpdGhtXG5cbiAg
ICAgIEFuIGV4dGVuc2libGUgbWVjaGFuaXNtIHJlcXVlc3RlZCBieSByZXBvcnRpbmcgbm9k
ZXMgYW5kIHVzZWQgYnlcbiAgICAgIHJlYWN0aW5nIG5vZGVzIHRvIHJlZHVjZSB0aGUgYW1v
dW50IG9mIHRyYWZmaWMgc2VudCBkdXJpbmcgYW5cbiAgICAgIG9jY3VycmVuY2Ugb2Ygb3Zl
cmxvYWQgY29udHJvbC5cblxuICAgRGl2ZXJzaW9uXG5cbiAgICAgIEFuIG92ZXJsb2FkIGFi
YXRlbWVudCBtZWNoYW5pc20sIHdoZXJlIHRoZSByZWFjdGluZyBub2RlIHNlbGVjdHNcbiAg
ICAgIGFsdGVybmF0ZSBkZXN0aW5hdGlvbnMgb3IgcGF0aHMgZm9yIGZvciByZXF1ZXN0cy5c
blxuICAgSG9zdC1Sb3V0ZWQgUmVxdWVzdHNcblxuICAgICAgUmVxdWVzdHMgdGhhdCBhIHJl
YWN0aW5nIG5vZGUga25vd3Mgd2lsbCBiZSBzZXJ2ZWQgYnkgYSBwYXJ0aWN1bGFyXG4gICAg
ICBob3N0LCBlaXRoZXIgZHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhIERlc3RpbmF0aW9uLUhv
c3QgQVZQLCBvciBieVxuICAgICAgc29tZSBvdGhlciBsb2NhbCBrbm93bGVkZ2Ugb24gdGhl
IHBhcnQgb2YgdGhlIHJlYWN0aW5nIG5vZGUuXG5cbiAgIE92ZXJsb2FkIENvbnRyb2wgU3Rh
dGUgKE9DUylcblxuICAgICAgSW50ZXJuYWwgc3RhdGUgbWFpbnRhaW5lZCBieSBhIHJlcG9y
dGluZyBvciByZWFjdGluZyBub2RlXG4gICAgICBkZXNjcmliaW5nIG9jY3VycmVuY2VzIG9m
IG92ZXJsb2FkIGNvbnRyb2wuXG5cbiAgIE92ZXJsb2FkIFJlcG9ydCAoT0xSKVxuXG4gICAg
ICBPdmVybG9hZCBjb250cm9sIGluZm9ybWF0aW9uIGZvciBhIHBhcnRpY3VsYXIgb3Zlcmxv
YWQgb2NjdXJyZW5jZVxuICAgICAgc2VudCBieSBhIHJlcG9ydGluZyBub2RlLlxuXG4gICBS
ZWFjdGluZyBOb2RlXG5cbiAgICAgIEEgRGlhbWV0ZXIgbm9kZSB0aGF0IGFjdHMgdXBvbiBh
biBvdmVybG9hZCByZXBvcnQuXG5cbiAgIFJlYWxtLVJvdXRlZCBSZXF1ZXN0c1xuXG5cblxu
XG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAg
ICAgICAgICAgICAgW1BhZ2UgNF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAg
ICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAg
IFJlcXVlc3RzIHRoYXQgYSByZWFjdGluZyBub2RlIGRvZXMgbm90IGtub3cgd2hpY2ggaG9z
dCB3aWxsXG4gICAgICBzZXJ2aWNlIHRoZSByZXF1ZXN0LlxuXG4gICBSZXBvcnRpbmcgTm9k
ZVxuXG4gICAgICBBIERpYW1ldGVyIG5vZGUgdGhhdCBnZW5lcmF0ZXMgYW4gb3ZlcmxvYWQg
cmVwb3J0LiAgKFRoaXMgbWF5IG9yXG4gICAgICBtYXkgbm90IGJlIHRoZSBvdmVybG9hZGVk
IG5vZGUuKVxuXG4gICBUaHJvdHRsaW5nXG5cbiAgICAgIEEgbWVjaGFuaXNtIGZvciBvdmVy
bG9hZCBhYmF0ZW1lbnQgdGhhdCBsaW1pdHMgdGhlIG51bWJlciBvZlxuICAgICAgcmVxdWVz
dHMgc2VudCBieSB0aGUgRElPQyByZWFjdGluZyBub2RlLiAgVGhyb3R0bGluZyBjYW4gaW5j
bHVkZSBhXG4gICAgICBEaWFtZXRlciBDbGllbnQgY2hvb3NpbmcgdG8gbm90IHNlbmQgcmVx
dWVzdHMsIG9yIGEgRGlhbWV0ZXIgQWdlbnRcbiAgICAgIG9yIFNlcnZlciByZWplY3Rpbmcg
cmVxdWVzdHMgd2l0aCBhcHByb3ByaWF0ZSBlcnJvciByZXNwb25zZXMuICBJblxuICAgICAg
Ym90aCBjYXNlcyB0aGUgcmVzdWx0IG9mIHRoZSB0aHJvdHRsaW5nIGlzIGEgcGVybWFuZW50
IHJlamVjdGlvblxuICAgICAgb2YgdGhlIHRyYW5zYWN0aW9uLlxuXG5cblxuMy4gIENvbnZl
bnRpb25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudFxuXG4gICBUaGUga2V5IHdvcmRzICJNVVNU
IiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsXG4gICAi
U0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJ
T05BTCIgaW4gdGhpc1xuICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIGRl
c2NyaWJlZCBpbiBSRkMgMjExOSBbUkZDMjExOV0uXG5cbjQuICBTb2x1dGlvbiBPdmVydmll
d1xuXG4gICBUaGUgRGlhbWV0ZXIgT3ZlcmxvYWQgSW5mb3JtYXRpb24gQ29udmV5YW5jZSAo
RE9JQykgc29sdXRpb24gYWxsb3dzXG4gICBEaWFtZXRlciBub2RlcyB0byByZXF1ZXN0IG90
aGVyIERpYW1ldGVyIG5vZGVzIHRvIHBlcmZvcm0gb3ZlcmxvYWRcbiAgIGFiYXRlbWVudCBh
Y3Rpb25zLCB0aGF0IGlzLCBhY3Rpb25zIHRvIHJlZHVjZSB0aGUgbG9hZCBvZmZlcmVkIHRv
IHRoZVxuICAgb3ZlcmxvYWRlZCBub2RlIG9yIHJlYWxtLlxuXG4gICBBIERpYW1ldGVyIG5v
ZGUgdGhhdCBzdXBwb3J0cyBET0lDIGlzIGtub3duIGFzIGEgIkRPSUMgbm9kZSIuICBBbnlc
biAgIERpYW1ldGVyIG5vZGUgY2FuIGFjdCBhcyBhIERPSUMgbm9kZSwgaW5jbHVkaW5nIERp
YW1ldGVyIENsaWVudHMsXG4gICBEaWFtZXRlciBTZXJ2ZXJzLCBhbmQgRGlhbWV0ZXIgQWdl
bnRzLiAgRE9JQyBub2RlcyBhcmUgZnVydGhlclxuICAgZGl2aWRlZCBpbnRvICJSZXBvcnRp
bmcgTm9kZXMiIGFuZCAiUmVhY3RpbmcgTm9kZXMuIiAgQSByZXBvcnRpbmdcbiAgIG5vZGUg
cmVxdWVzdHMgb3ZlcmxvYWQgYWJhdGVtZW50IGJ5IHNlbmRpbmcgT3ZlcmxvYWQgUmVwb3J0
cyAoT0xSKS5cblxuICAgQSByZWFjdGluZyBub2RlIGFjdHMgdXBvbiBPTFJzLCBhbmQgcGVy
Zm9ybXMgd2hhdGV2ZXIgYWN0aW9ucyBhcmVcbiAgIG5lZWRlZCB0byBmdWxmaWxsIHRoZSBh
YmF0ZW1lbnQgcmVxdWVzdHMgaW5jbHVkZWQgaW4gdGhlIE9MUnMuICBBXG4gICBSZXBvcnRp
bmcgbm9kZSBtYXkgcmVwb3J0IG92ZXJsb2FkIG9uIGl0cyBvd24gYmVoYWxmLCBvciBvbiBi
ZWhhbGYgb2ZcbiAgIG90aGVyIG5vZGVzLiAgTGlrZXdpc2UsIGEgcmVhY3Rpbmcgbm9kZSBt
YXkgcGVyZm9ybSBvdmVybG9hZFxuICAgYWJhdGVtZW50IG9uIGl0cyBvd24gYmVoYWxmLCBv
ciBvbiBiZWhhbGYgb2Ygb3RoZXIgbm9kZXMuXG5cbiAgIEEgRGlhbWV0ZXIgbm9kZVwncyBy
b2xlIGFzIGEgRE9JQyBub2RlIGlzIGluZGVwZW5kZW50IG9mIGl0cyBEaWFtZXRlclxuICAg
cm9sZS4gIEZvciBleGFtcGxlLCBEaWFtZXRlciBBZ2VudHMgbWF5IGFjdCBhcyBET0lDIG5v
ZGVzLCBldmVuXG4gICB0aG91Z2ggdGhleSBhcmUgbm90IGVuZHBvaW50cyBpbiB0aGUgRGlh
bWV0ZXIgc2Vuc2UuICBTaW5jZSBEaWFtZXRlclxuICAgZW5hYmxlcyBiaS1kaXJlY3Rpb25h
bCBhcHBsaWNhdGlvbnMsIHdoZXJlIERpYW1ldGVyIFNlcnZlcnMgY2FuIHNlbmRcblxuXG5c
bktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAg
ICAgICAgICAgICBbUGFnZSA1XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAg
ICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgcmVx
dWVzdHMgdG93YXJkcyBEaWFtZXRlciBDbGllbnRzLCBhIGdpdmVuIERpYW1ldGVyIG5vZGUg
Y2FuXG4gICBzaW11bHRhbmVvdXNseSBhY3QgYXMgYm90aCBhIHJlcG9ydGluZyBub2RlIGFu
ZCBhIHJlYWN0aW5nIG5vZGUuXG5cbiAgIExpa2V3aXNlLCBhIERpYW1ldGVyIEFnZW50IG1h
eSBhY3QgYXMgYSByZWFjdGluZyBub2RlIGZyb20gdGhlXG4gICBwZXJzcGVjdGl2ZSBvZiB1
cHN0cmVhbSBub2RlcywgYW5kIGEgcmVwb3J0aW5nIG5vZGUgZnJvbSB0aGVcbiAgIHBlcnNw
ZWN0aXZlIG9mIGRvd25zdHJlYW0gbm9kZXMuXG5cbiAgIERPSUMgbm9kZXMgZG8gbm90IGdl
bmVyYXRlIG5ldyBtZXNzYWdlcyB0byBjYXJyeSBET0lDIHJlbGF0ZWRcbiAgIGluZm9ybWF0
aW9uLiAgUmF0aGVyLCB0aGV5ICJwaWdneWJhY2siIERPSUMgaW5mb3JtYXRpb24gb3ZlciBl
eGlzdGluZ1xuICAgRGlhbWV0ZXIgbWVzc2FnZXMgYnkgaW5zZXJ0aW5nIG5ldyBBVlBzIGlu
dG8gZXhpc3RpbmcgRGlhbWV0ZXJcbiAgIHJlcXVlc3RzIGFuZCByZXNwb25zZXMuICBOb2Rl
cyBpbmRpY2F0ZSBzdXBwb3J0IGZvciBET0lDLCBhbmQgYW55XG4gICBuZWVkZWQgRE9JQyBw
YXJhbWV0ZXJzLCBieSBpbnNlcnRpbmcgYW4gT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUFxu
ICAgKFNlY3Rpb24gNy4yKSBpbnRvIGV4aXN0aW5nIHJlcXVlc3RzIGFuZCByZXNwb25zZXMu
ICBSZXBvcnRpbmcgbm9kZXNcbiAgIHNlbmQgT0xScyBieSBpbnNlcnRpbmcgT0MtT0xSIEFW
UHMgKFNlY3Rpb24gNy4zKS5cblxuICAgQSBnaXZlbiBPTFIgYXBwbGllcyB0byB0aGUgRGlh
bWV0ZXIgcmVhbG0gYW5kIGFwcGxpY2F0aW9uIG9mIHRoZVxuICAgRGlhbWV0ZXIgbWVzc2Fn
ZSB0aGF0IGNhcnJpZXMgaXQuICBJZiBhIHJlcG9ydGluZyBub2RlIHN1cHBvcnRzIG1vcmVc
biAgIHRoYW4gb25lIHJlYWxtIGFuZC9vciBhcHBsaWNhdGlvbiwgaXQgcmVwb3J0cyBpbmRl
cGVuZGVudGx5IGZvciBlYWNoXG4gICBjb21iaW5hdGlvbiBvZiByZWFsbSBhbmQgYXBwbGlj
YXRpb24uICBTaW1pbGFybHksIHRoZSBPQy1TdXBwb3J0ZWQtXG4gICBGZWF0dXJlcyBBVlAg
YXBwbGllcyB0byB0aGUgcmVhbG0gYW5kIGFwcGxpY2F0aW9uIG9mIHRoZSBlbmNsb3Npbmdc
biAgIG1lc3NhZ2UuICBUaGlzIGltcGxpZXMgdGhhdCBhIG5vZGUgbWF5IHN1cHBvcnQgRE9J
QyBmb3Igb25lXG4gICBhcHBsaWNhdGlvbiBhbmQvb3IgcmVhbG0sIGJ1dCBub3QgYW5vdGhl
ciwgYW5kIG1heSBpbmRpY2F0ZSBkaWZmZXJlbnRcbiAgIERPSUMgcGFyYW1ldGVycyBmb3Ig
ZWFjaCBhcHBsaWNhdGlvbiBhbmQgcmVhbG0gZm9yIHdoaWNoIGl0IHN1cHBvcnRzXG4gICBE
T0lDLlxuXG4gICBSZWFjdGluZyBub2RlcyBwZXJmb3JtIG92ZXJsb2FkIGFiYXRlbWVudCBh
Y2NvcmRpbmcgdG8gYW4gYWdyZWVkLXVwb25cbiAgIGFiYXRlbWVudCBhbGdvcml0aG0uICBB
biBhYmF0ZW1lbnQgYWxnb3JpdGhtIGRlZmluZXMgdGhlIG1lYW5pbmcgb2ZcbiAgIHNvbWUg
b2YgdGhlIHBhcmFtZXRlcnMgb2YgYW4gT0xSIGFuZCB0aGUgcHJvY2VkdXJlcyByZXF1aXJl
ZCBmb3JcbiAgIG92ZXJsb2FkIGFiYXRlbWVudC4gIEFuIG92ZXJsb2FkIGFiYXRlbWVudCBh
bGdvcml0aG0gc2VwYXJhdGVzXG4gICBEaWFtZXRlciByZXF1ZXN0cyBpbnRvIHR3byBzZXRz
LiAgVGhlIGZpcnN0IHNldCBjb250YWlucyB0aGUgcmVxdWVzdHNcbiAgIHRoYXQgYXJlIHRv
IHVuZGVyZ28gb3ZlcmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCBvZiBlaXRoZXIgdGhyb3R0
bGluZ1xuICAgb3IgZGl2ZXJzaW9uLiAgVGhlIHNlY29uZCBzZXQgY29udGFpbnMgdGhlIHJl
cXVlc3RzIHRoYXQgYXJlIHRvIGJlXG4gICBnaXZlbiBub3JtYWwgcm91dGluZyB0cmVhdG1l
bnQuICBUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIHNpbmdsZVxuICAgbXVzdC1zdXBwb3J0
IGFsZ29yaXRobSwgbmFtZWx5IHRoZSAibG9zcyIgYWxnb3JpdGhtIChTZWN0aW9uIDYpLlxu
ICAgRnV0dXJlIHNwZWNpZmljYXRpb25zIG1heSBpbnRyb2R1Y2UgbmV3IGFsZ29yaXRobXMu
XG5cbiAgIE92ZXJsb2FkIGNvbmRpdGlvbnMgbWF5IHZhcnkgaW4gc2NvcGUuICBGb3IgZXhh
bXBsZSwgYSBzaW5nbGVcbiAgIERpYW1ldGVyIG5vZGUgbWF5IGJlIG92ZXJsb2FkZWQsIGlu
IHdoaWNoIGNhc2UgcmVhY3Rpbmcgbm9kZXMgbWF5XG4gICBhdHRlbXB0IHRvIHNlbmQgcmVx
dWVzdHMgdG8gb3RoZXIgZGVzdGluYXRpb25zLiAgT24gdGhlIG90aGVyIGhhbmQsXG4gICBh
biBlbnRpcmUgRGlhbWV0ZXIgcmVhbG0gbWF5IGJlIG92ZXJsb2FkZWQsIGluIHdoaWNoIGNh
c2Ugc3VjaFxuICAgYXR0ZW1wdHMgd291bGQgZG8gaGFybS4gIERPSUMgT0xScyBoYXZlIGEg
Y29uY2VwdCBvZiAicmVwb3J0IHR5cGUiXG4gICAoU2VjdGlvbiA3LjYpLCB3aGVyZSB0aGUg
dHlwZSBkZWZpbmVzIHN1Y2ggYmVoYXZpb3JzLiAgUmVwb3J0IHR5cGVzXG4gICBhcmUgZXh0
ZW5zaWJsZS4gIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyByZXBvcnQgdHlwZXMgZm9yIG92ZXJs
b2FkIG9mIGFcbiAgIHNwZWNpZmljIGhvc3QsIGFuZCBmb3Igb3ZlcmxvYWQgb2YgYW4gZW50
aXJlIHJlYWxtLlxuXG4gICBET0lDIHdvcmtzIHRocm91Z2ggbm9uIHN1cHBvcnRpbmcgRGlh
bWV0ZXIgQWdlbnRzIHRoYXQgcHJvcGVybHkgcGFzc1xuICAgdW5rbm93biBBVlBzIHVuY2hh
bmdlZC5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkg
MTIsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDZdXG5fXG5JbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIw
MTVcblxuXG40LjEuICBQaWdneWJhY2tpbmdcblxuICAgVGhlcmUgaXMgbm8gbmV3IERpYW1l
dGVyIGFwcGxpY2F0aW9uIGRlZmluZWQgdG8gY2Fycnkgb3ZlcmxvYWRcbiAgIHJlbGF0ZWQg
QVZQcy4gIFRoZSBvdmVybG9hZCBjb250cm9sIEFWUHMgZGVmaW5lZCBpbiB0aGlzXG4gICBz
cGVjaWZpY2F0aW9uIGhhdmUgYmVlbiBkZXNpZ25lZCB0byBiZSBwaWdneWJhY2tlZCBvbiB0
b3Agb2YgZXhpc3RpbmdcbiAgIGFwcGxpY2F0aW9uIG1lc3NhZ2VzLiAgVGhpcyBpcyBtYWRl
IHBvc3NpYmxlIGJ5IGFkZGluZyB0aGUgb3B0aW9uYWxcbiAgIG92ZXJsb2FkIGNvbnRyb2wg
QVZQcyBPQy1PTFIgYW5kIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBpbnRvIGV4aXN0aW5nXG4g
ICBjb21tYW5kcy5cblxuICAgUmVhY3Rpbmcgbm9kZXMgaW5kaWNhdGUgc3VwcG9ydCBmb3Ig
RE9JQyBieSBpbmNsdWRpbmcgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBp
biBhbGwgcmVxdWVzdCBtZXNzYWdlcyBvcmlnaW5hdGVkIG9yIHJlbGF5ZWRcbiAgIGJ5IHRo
ZSByZWFjdGluZyBub2RlLlxuXG4gICBSZXBvcnRpbmcgbm9kZXMgaW5kaWNhdGUgc3VwcG9y
dCBmb3IgRE9JQyBieSBpbmNsdWRpbmcgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVz
IEFWUCBpbiBhbGwgYW5zd2VyIG1lc3NhZ2VzIG9yaWdpbmF0ZWQgb3IgcmVsYXllZFxuICAg
YnkgdGhlIHJlcG9ydGluZyBub2RlIHRoYXQgYXJlIGluIHJlc3BvbnNlIHRvIGEgcmVxdWVz
dCB0aGF0XG4gICBjb250YWluZWQgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuICBS
ZXBvcnRpbmcgbm9kZXMgbWF5IGluY2x1ZGVcbiAgIG92ZXJsb2FkIHJlcG9ydHMgdXNpbmcg
dGhlIE9DLU9MUiBBVlAgaW4gYW5zd2VyIG1lc3NhZ2VzLlxuXG4gICBOb3RlIHRoYXQgdGhl
IG92ZXJsb2FkIGNvbnRyb2wgc29sdXRpb24gZG9lcyBub3QgaGF2ZSBmaXhlZCBzZXJ2ZXJc
biAgIGFuZCBjbGllbnQgcm9sZXMuICBUaGUgRE9JQyBub2RlIHJvbGUgaXMgZGV0ZXJtaW5l
ZCBiYXNlZCBvbiB0aGVcbiAgIG1lc3NhZ2UgdHlwZTogd2hldGhlciB0aGUgbWVzc2FnZSBp
cyBhIHJlcXVlc3QgKGkuZS4gc2VudCBieSBhXG4gICAicmVhY3Rpbmcgbm9kZSIpIG9yIGFu
IGFuc3dlciAoaS5lLiBzZW50IGJ5IGEgInJlcG9ydGluZyBub2RlIikuXG4gICBUaGVyZWZv
cmUsIGluIGEgdHlwaWNhbCAiY2xpZW50LXNlcnZlciIgZGVwbG95bWVudCwgdGhlIERpYW1l
dGVyXG4gICBDbGllbnQgbWF5IHJlcG9ydCBpdHMgb3ZlcmxvYWQgY29uZGl0aW9uIHRvIHRo
ZSBEaWFtZXRlciBTZXJ2ZXIgZm9yXG4gICBhbnkgRGlhbWV0ZXIgU2VydmVyIGluaXRpYXRl
ZCBtZXNzYWdlIGV4Y2hhbmdlLiAgQW4gZXhhbXBsZSBvZiBzdWNoXG4gICBpcyB0aGUgRGlh
bWV0ZXIgU2VydmVyIHJlcXVlc3RpbmcgYSByZS1hdXRoZW50aWNhdGlvbiBmcm9tIGEgRGlh
bWV0ZXJcbiAgIENsaWVudC5cblxuNC4yLiAgRE9JQyBDYXBhYmlsaXR5IEFubm91bmNlbWVu
dFxuXG4gICBUaGUgRE9JQyBzb2x1dGlvbiBzdXBwb3J0cyB0aGUgYWJpbGl0eSBmb3IgRGlh
bWV0ZXIgbm9kZXMgdG9cbiAgIGRldGVybWluZSBpZiBvdGhlciBub2RlcyBpbiB0aGUgcGF0
aCBvZiBhIHJlcXVlc3Qgc3VwcG9ydCB0aGVcbiAgIHNvbHV0aW9uLiAgVGhpcyBjYXBhYmls
aXR5IGlzIHJlZmVycmVkIHRvIGFzIERPSUMgQ2FwYWJpbGl0eVxuICAgQW5ub3VuY2VtZW50
IChEQ0EpIGFuZCBpcyBzZXBhcmF0ZSBmcm9tIERpYW1ldGVyIENhcGFiaWxpdHkgRXhjaGFu
Z2UuXG5cbiAgIFRoZSBEQ0EgbWVjaGFuaXNtIHVzZXMgdGhlIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlBzIHRvIGluZGljYXRlIHRoZVxuICAgRGlhbWV0ZXIgb3ZlcmxvYWQgZmVhdHVy
ZXMgc3VwcG9ydGVkLlxuXG4gICBUaGUgZmlyc3Qgbm9kZSBpbiB0aGUgcGF0aCBvZiBhIERp
YW1ldGVyIHJlcXVlc3QgdGhhdCBzdXBwb3J0cyB0aGVcbiAgIERPSUMgc29sdXRpb24gaW5z
ZXJ0cyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGUgcmVxdWVzdFxuICAg
bWVzc2FnZS5cblxuICAgVGhlIGluZGl2aWR1YWwgZmVhdHVyZXMgc3VwcG9ydGVkIGJ5IHRo
ZSBET0lDIG5vZGVzIGFyZSBpbmRpY2F0ZWQgaW5cbiAgIHRoZSBPQy1GZWF0dXJlLVZlY3Rv
ciBBVlAuICBBbnkgc2VtYW50aWNzIGFzc29jaWF0ZWQgd2l0aCB0aGVcbiAgIGZlYXR1cmVz
IHdpbGwgYmUgZGVmaW5lZCBpbiBleHRlbnNpb24gc3BlY2lmaWNhdGlvbnMgdGhhdCBpbnRy
b2R1Y2VcbiAgIHRoZSBmZWF0dXJlcy5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAg
ICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDddXG5f
XG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAg
ICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICBOb3RlOiBBcyBkaXNjdXNzZWQgZWxz
ZXdoZXJlIGluIHRoZSBkb2N1bWVudCwgYWdlbnRzIGluIHRoZSBwYXRoXG4gICAgICBvZiB0
aGUgcmVxdWVzdCBjYW4gbW9kaWZ5IHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLlxu
XG4gICAgICBOb3RlOiBUaGUgRE9JQyBzb2x1dGlvbiBtdXN0IHN1cHBvcnQgZGVwbG95bWVu
dHMgd2hlcmUgRGlhbWV0ZXJcbiAgICAgIENsaWVudHMgYW5kL29yIERpYW1ldGVyIFNlcnZl
cnMgZG8gbm90IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24uXG4gICAgICBJbiB0aGlzIHNj
ZW5hcmlvLCBEaWFtZXRlciBBZ2VudHMgdGhhdCBzdXBwb3J0IHRoZSBET0lDIHNvbHV0aW9u
XG4gICAgICBtYXkgaGFuZGxlIG92ZXJsb2FkIGFiYXRlbWVudCBmb3IgdGhlIG5vbiBzdXBw
b3J0aW5nIERpYW1ldGVyXG4gICAgICBub2Rlcy4gIEluIHRoaXMgY2FzZSB0aGUgRE9JQyBh
Z2VudCB3aWxsIGluc2VydCB0aGUgT0MtU3VwcG9ydGVkLVxuICAgICAgRmVhdHVyZXMgQVZQ
IGluIHJlcXVlc3RzIHRoYXQgZG8gbm90IGFscmVhZHkgY29udGFpbiBvbmUsIHRlbGxpbmdc
biAgICAgIHRoZSByZXBvcnRpbmcgbm9kZSB0aGF0IHRoZXJlIGlzIGEgRE9JQyBub2RlIHRo
YXQgd2lsbCBoYW5kbGVcbiAgICAgIG92ZXJsb2FkIGFiYXRlbWVudC4gIEZvciB0cmFuc2Fj
dGlvbnMgd2hlcmUgdGhlcmUgd2FzIGFuIE9DLVxuICAgICAgU3VwcG9ydGluZy1GZWF0dXJl
cyBBVlAgaW4gdGhlIHJlcXVlc3QsIHRoZSBhZ2VudCB3aWxsIGluc2VydCB0aGVcbiAgICAg
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYW5zd2VycywgdGVsbGluZyB0aGUgcmVh
Y3Rpbmcgbm9kZVxuICAgICAgdGhhdCB0aGVyZSBpcyBhIHJlcG9ydGluZyBub2RlLlxuXG4g
ICBUaGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpbGwgYWx3YXlzIGNvbnRhaW4gYW4gaW5k
aWNhdGlvbiBvZlxuICAgc3VwcG9ydCBmb3IgdGhlIGxvc3Mgb3ZlcmxvYWQgYWJhdGVtZW50
IGFsZ29yaXRobSBkZWZpbmVkIGluIHRoaXNcbiAgIHNwZWNpZmljYXRpb24gKHNlZSBTZWN0
aW9uIDYpLiAgVGhpcyBlbnN1cmVzIHRoYXQgYSByZXBvcnRpbmcgbm9kZVxuICAgYWx3YXlz
IHN1cHBvcnRzIGF0IGxlYXN0IG9uZSBvZiB0aGUgYWR2ZXJ0aXplZCBhYmF0ZW1lbnQgYWxn
b3JpdGhtc1xuICAgcmVjZWl2ZWQgaW4gYSByZXF1ZXN0IG1lc3NhZ2VzLlxuXG4gICBUaGUg
cmVwb3J0aW5nIG5vZGUgaW5zZXJ0cyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBp
biBhbGxcbiAgIGFuc3dlciBtZXNzYWdlcyB0byByZXF1ZXN0cyB0aGF0IGNvbnRhaW5lZCB0
aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzXG4gICBBVlAuICBUaGUgY29udGVudHMgb2YgdGhl
IHJlcG9ydGluZyBub2RlXCdzIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlBcbiAgIGluZGlj
YXRlIHRoZSBzZXQgb2YgRGlhbWV0ZXIgb3ZlcmxvYWQgZmVhdHVyZXMgc3VwcG9ydGVkIGJ5
IHRoZVxuICAgcmVwb3J0aW5nIG5vZGUuICBUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBv
bmUgZXhjZXB0aW9uIC0gdGhlXG4gICByZXBvcnRpbmcgbm9kZSBvbmx5IGluY2x1ZGVzIGFu
IGluZGljYXRpb24gb2Ygc3VwcG9ydCBmb3Igb25lXG4gICBvdmVybG9hZCBhYmF0ZW1lbnQg
YWxnb3JpdGhtLCBpbmRlcGVuZGVudCBvZiB0aGUgbnVtYmVyIG9mIG92ZXJsb2FkXG4gICBh
YmF0ZW1lbnQgYWxnb3JpdGhtcyBhY3R1YWxseSBzdXBwb3J0ZWQgYnkgdGhlIHJlYWN0aW5n
IG5vZGUuICBUaGVcbiAgIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gaW5kaWNhdGVk
IGlzIHRoZSBhbGdvcml0aG0gdGhhdCB0aGVcbiAgIHJlcG9ydGluZyBub2RlIGludGVuZHMg
dG8gdXNlIHNob3VsZCBpdCBlbnRlciBhbiBvdmVybG9hZCBjb25kaXRpb24uXG4gICBSZWFj
dGluZyBub2RlcyBjYW4gdXNlIHRoZSBpbmRpY2F0ZWQgb3ZlcmxvYWQgYWJhdGVtZW50IGFs
Z29yaXRobSB0b1xuICAgcHJlcGFyZSBmb3IgcG9zc2libGUgb3ZlcmxvYWQgcmVwb3J0cyBh
bmQgbXVzdCB1c2UgdGhlIGluZGljYXRlZFxuICAgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29y
aXRobSBpZiB0cmFmZmljIHJlZHVjdGlvbiBpcyBhY3R1YWxseVxuICAgcmVxdWVzdGVkLlxu
XG4gICAgICBOb3RlIHRoYXQgdGhlIGxvc3MgYWxnb3JpdGhtIGRlZmluZWQgaW4gdGhpcyBk
b2N1bWVudCBpcyBhXG4gICAgICBzdGF0ZWxlc3MgYWJhdGVtZW50IGFsZ29yaXRobS4gIEFz
IGEgcmVzdWx0IGl0IGRvZXMgbm90IHJlcXVpcmVcbiAgICAgIGFueSBhY3Rpb25zIGJ5IHJl
YWN0aW5nIG5vZGVzIHByaW9yIHRvIHRoZSByZWNlaXB0IG9mIGFuIG92ZXJsb2FkXG4gICAg
ICByZXBvcnQuICBTdGF0ZWZ1bCBhYmF0ZW1lbnQgYWxnb3JpdGhtcyB0aGF0IGJhc2UgdGhl
IGFiYXRlbWVudFxuICAgICAgbG9naWMgb24gYSBoaXN0b3J5IG9mIHJlcXVlc3QgbWVzc2Fn
ZXMgc2VudCBtaWdodCByZXF1aXJlIHJlYWN0aW5nXG4gICAgICBub2RlcyB0byBtYWludGFp
biBzdGF0ZSBpbiBhZHZhbmNlIG9mIHJlY2VpdmluZyBhbiBvdmVybG9hZCByZXBvcnRcbiAg
ICAgIHRvIGVuc3VyZSB0aGF0IHRoZSBvdmVybG9hZCByZXBvcnRzIGNhbiBiZSBwcm9wZXJs
eSBoYW5kbGVkLlxuXG4gICBSZXBvcnRpbmcgbm9kZXMgY2FuIGNoYW5nZSB0aGUgb3Zlcmxv
YWQgYWJhdGVtZW50IGFsZ29yaXRobSBpbmRpY2F0ZWRcbiAgIGluIHRoZSBPQy1GZWF0dXJl
LVZlY3RvciBBVlAgaWYgdGhlIHJlcG9ydGluZyBub2RlIGlzIG5vdCBjdXJyZW50bHlcbiAg
IGluIGFuIG92ZXJsb2FkIGNvbmRpdGlvbiBhbmQgc2VuZGluZyBvdmVybG9hZCByZXBvcnRz
LiAgVGhlIHJlcG9ydGluZ1xuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4
cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgOF1cbl9cbkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAg
IEphbnVhcnkgMjAxNVxuXG5cbiAgIG5vZGUgaXMgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRo
ZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHdoaWxlXG4gICB0aGUgcmVwb3J0aW5n
IG5vZGUgaXMgaW4gYW4gb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICBUaGUgRENBIG1lY2hh
bmlzbSBtdXN0IGFsc28gYWxsb3cgdGhlIHNjZW5hcmlvIHdoZXJlIHRoZSBzZXQgb2ZcbiAg
IGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGUgc2VuZGVyIG9mIGEgcmVxdWVzdCBhbmQgYnkg
YWdlbnRzIGluIHRoZVxuICAgcGF0aCBvZiBhIHJlcXVlc3QgZGlmZmVyLiAgSW4gdGhpcyBj
YXNlLCB0aGUgYWdlbnQgY2FuIHVwZGF0ZSB0aGUgT0MtXG4gICBTdXBwb3J0ZWQtRmVhdHVy
ZXMgQVZQIHRvIHJlZmxlY3QgdGhlIG1peHR1cmUgb2YgdGhlIHR3byBzZXRzIG9mXG4gICBz
dXBwb3J0ZWQgZmVhdHVyZXMuXG5cbiAgICAgIE5vdGU6IFRoZSBsb2dpYyB0byBkZXRlcm1p
bmUgaWYgdGhlIGNvbnRlbnQgb2YgdGhlIE9DLVN1cHBvcnRlZC1cbiAgICAgIEZlYXR1cmVz
IEFWUCBzaG91bGQgYmUgY2hhbmdlZCBpcyBvdXQtb2Ytc2NvcGUgZm9yIHRoaXMgZG9jdW1l
bnQsXG4gICAgICBhcyBpcyB0aGUgbG9naWMgdG8gZGV0ZXJtaW5lIHRoZSBjb250ZW50IG9m
IGEgbW9kaWZpZWQgT0MtXG4gICAgICBTdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLiAgVGhlc2Ug
YXJlIGxlZnQgdG8gaW1wbGVtZW50YXRpb25cbiAgICAgIGRlY2lzaW9ucy4gIENhcmUgbXVz
dCBiZSB0YWtlbiBub3QgdG8gaW50cm9kdWNlIGludGVyb3BlcmFiaWxpdHlcbiAgICAgIGlz
c3VlcyBmb3IgZG93bnN0cmVhbSBvciB1cHN0cmVhbSBET0lDIG5vZGVzLlxuXG40LjMuICBE
T0lDIE92ZXJsb2FkIENvbmRpdGlvbiBSZXBvcnRpbmdcblxuICAgQXMgd2l0aCBET0lDIGNh
cGFiaWxpdHkgYW5ub3VuY2VtZW50LCBvdmVybG9hZCBjb25kaXRpb24gcmVwb3J0aW5nXG4g
ICB1c2VzIG5ldyBBVlBzIChTZWN0aW9uIDcuMykgdG8gaW5kaWNhdGUgYW4gb3ZlcmxvYWQg
Y29uZGl0aW9uLlxuXG4gICBUaGUgT0MtT0xSIEFWUCBpcyByZWZlcnJlZCB0byBhcyBhbiBv
dmVybG9hZCByZXBvcnQuICBUaGUgT0MtT0xSIEFWUFxuICAgaW5jbHVkZXMgdGhlIHR5cGUg
b2YgcmVwb3J0LCBhIHNlcXVlbmNlIG51bWJlciwgdGhlIGxlbmd0aCBvZiB0aW1lXG4gICB0
aGF0IHRoZSByZXBvcnQgaXMgdmFsaWQgYW5kIGFiYXRlbWVudCBhbGdvcml0aG0gc3BlY2lm
aWMgQVZQcy5cblxuICAgVHdvIHR5cGVzIG9mIG92ZXJsb2FkIHJlcG9ydHMgYXJlIGRlZmlu
ZWQgaW4gdGhpcyBkb2N1bWVudDogaG9zdFxuICAgcmVwb3J0cyBhbmQgcmVhbG0gcmVwb3J0
cy5cblxuICAgQSByZXBvcnQgb2YgdHlwZSAiSE9TVF9SRVBPUlQiIGlzIHNlbnQgdG8gaW5k
aWNhdGUgdGhlIG92ZXJsb2FkIG9mIGFcbiAgIHNwZWNpZmljIGhvc3QsIGlkZW50aWZpZWQg
YnkgdGhlIE9yaWdpbi1Ib3N0IEFWUCBvZiB0aGUgbWVzc2FnZVxuICAgY29udGFpbmluZyB0
aGUgT0xSLCBmb3IgdGhlIGFwcGxpY2F0aW9uLWlkIGluZGljYXRlZCBpbiB0aGVcbiAgIHRy
YW5zYWN0aW9uLiAgV2hlbiByZWNlaXZpbmcgYW4gT0xSIG9mIHR5cGUgIkhPU1RfUkVQT1JU
IiwgYSByZWFjdGluZ1xuICAgbm9kZSBhcHBsaWVzIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVh
dG1lbnQgdG8gdGhlIGhvc3Qtcm91dGVkIHJlcXVlc3RzXG4gICBpZGVudGlmaWVkIGJ5IHRo
ZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIChzZWUgZGVmaW5pdGlvbiBpblxuICAg
U2VjdGlvbiAyKSBzZW50IGZvciB0aGlzIGFwcGxpY2F0aW9uIHRvIHRoZSBvdmVybG9hZGVk
IGhvc3QuXG5cbiAgIEEgcmVwb3J0IG9mIHR5cGUgIlJFQUxNX1JFUE9SVCIgaXMgc2VudCB0
byBpbmRpY2F0ZSB0aGUgb3ZlcmxvYWQgb2YgYVxuICAgcmVhbG0gZm9yIHRoZSBhcHBsaWNh
dGlvbi1pZCBpbmRpY2F0ZWQgaW4gdGhlIHRyYW5zYWN0aW9uLiAgVGhlXG4gICBvdmVybG9h
ZGVkIHJlYWxtIGlzIGlkZW50aWZpZWQgYnkgdGhlIERlc3RpbmF0aW9uLVJlYWxtIEFWUCBv
ZiB0aGVcbiAgIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgT0xSLiAgV2hlbiByZWNlaXZpbmcg
YW4gT0xSIG9mIHR5cGVcbiAgICJSRUFMTV9SRVBPUlQiLCBhIHJlYWN0aW5nIG5vZGUgYXBw
bGllcyBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50XG4gICB0byByZWFsbS1yb3V0ZWQg
cmVxdWVzdHMgaWRlbnRpZmllZCBieSB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50XG4gICBhbGdv
cml0aG0gKHNlZSBkZWZpbml0aW9uIGluIFNlY3Rpb24gMikgc2VudCBmb3IgdGhpcyBhcHBs
aWNhdGlvbiB0b1xuICAgdGhlIG92ZXJsb2FkZWQgcmVhbG0uXG5cbiAgIFRoaXMgZG9jdW1l
bnQgYXNzdW1lcyB0aGF0IHRoZXJlIGlzIGEgc2luZ2xlIHNvdXJjZSBmb3IgcmVhbG0tcmVw
b3J0c1xuICAgZm9yIGEgZ2l2ZW4gcmVhbG0sIG9yIHRoYXQgaWYgbXVsdGlwbGUgbm9kZXMg
Y2FuIHNlbmQgcmVhbG0gcmVwb3J0cyxcbiAgIHRoYXQgZWFjaCBzdWNoIG5vZGUgaGFzIGZ1
bGwga25vd2xlZGdlIG9mIHRoZSBvdmVybG9hZCBzdGF0ZSBvZiB0aGVcblxuXG5cbktvcmhv
bmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAg
ICAgICBbUGFnZSA5XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERP
SUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgZW50aXJlIHJl
YWxtLiAgQSByZWFjdGluZyBub2RlIGNhbm5vdCBkaXN0aW5ndWlzaCBiZXR3ZWVuIHJlY2Vp
dmluZ1xuICAgcmVhbG0tcmVwb3J0cyBmcm9tIGEgc2luZ2xlIG5vZGUsIG9yIGZyb20gbXVs
dGlwbGUgbm9kZXMuXG5cbiAgICAgIE5vdGU6IEtub3duIGlzc3VlcyBleGlzdCBpZiBtdWx0
aXBsZSBzb3VyY2VzIGZvciBvdmVybG9hZCByZXBvcnRzXG4gICAgICB3aGljaCBhcHBseSB0
byB0aGUgc2FtZSBEaWFtZXRlciBlbnRpdHkgZXhpc3QuICBSZWFjdGluZyBub2Rlc1xuICAg
ICAgaGF2ZSBubyB3YXkgb2YgZGV0ZXJtaW5pbmcgdGhlIHNvdXJjZSBhbmQsIGFzIHN1Y2gs
IHdpbGwgdHJlYXRcbiAgICAgIHRoZW0gYXMgY29taW5nIGZyb20gYSBzaW5nbGUgc291cmNl
LiAgVmFyaWFuY2UgaW4gc2VxdWVuY2UgbnVtYmVyc1xuICAgICAgYmV0d2VlbiB0aGUgdHdv
IHNvdXJjZXMgY2FuIHRoZW4gY2F1c2UgaW5jb3JyZWN0IG92ZXJsb2FkXG4gICAgICBhYmF0
ZW1lbnQgdHJlYXRtZW50IHRvIGJlIGFwcGxpZWQgZm9yIGluZGV0ZXJtaW5hdGUgcGVyaW9k
cyBvZlxuICAgICAgdGltZS5cblxuICAgUmVwb3J0aW5nIG5vZGVzIGFyZSByZXNwb25zaWJs
ZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIG5lZWQgZm9yIGFcbiAgIHJlZHVjdGlvbiBvZiB0cmFm
ZmljLiAgVGhlIG1ldGhvZCBmb3IgbWFraW5nIHRoaXMgZGV0ZXJtaW5hdGlvbiBpc1xuICAg
aW1wbGVtZW50YXRpb24gc3BlY2lmaWMgYW5kIGRlcGVuZCBvbiB0aGUgdHlwZSBvZiBvdmVy
bG9hZCByZXBvcnRcbiAgIGJlaW5nIGdlbmVyYXRlZC4gIEEgaG9zdC1yZXBvcnQgbWlnaHQg
YmUgZ2VuZXJhdGVkIGJ5IHRyYWNraW5nIHVzZSBvZlxuICAgcmVzb3VyY2VzIHJlcXVpcmVk
IGJ5IHRoZSBob3N0IHRvIGhhbmRsZSB0cmFuc2FjdGlvbnMgZm9yIHRoZVxuICAgRGlhbWV0
ZXIgYXBwbGljYXRpb24uICBBIHJlYWxtLXJlcG9ydCBnZW5lcmFsbHkgaW1wYWN0cyB0aGUg
dHJhZmZpY1xuICAgc2VudCB0byBtdWx0aXBsZSBob3N0cyBhbmQsIGFzIHN1Y2gsIHJlcXVp
cmVzIHRyYWNraW5nIHRoZSBjYXBhY2l0eVxuICAgb2YgYWxsIHNlcnZlcnMgYWJsZSB0byBo
YW5kbGUgcmVhbG0tIHJvdXRlZCByZXF1ZXN0cyBmb3IgdGhlXG4gICBhcHBsaWNhdGlvbiBh
bmQgcmVhbG0uXG5cbiAgIE9uY2UgYSByZXBvcnRpbmcgbm9kZSBkZXRlcm1pbmVzIHRoZSBu
ZWVkIGZvciBhIHJlZHVjdGlvbiBpbiB0cmFmZmljLFxuICAgaXQgdXNlcyB0aGUgRE9JQyBk
ZWZpbmVkIEFWUHMgdG8gcmVwb3J0IG9uIHRoZSBjb25kaXRpb24uICBUaGVzZSBBVlBzXG4g
ICBhcmUgaW5jbHVkZWQgaW4gYW5zd2VyIG1lc3NhZ2VzIHNlbnQgb3IgcmVsYXllZCBieSB0
aGUgcmVwb3J0aW5nXG4gICBub2RlLiAgVGhlIHJlcG9ydGluZyBub2RlIGluZGljYXRlcyB0
aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobVxuICAgdGhhdCBpcyB0byBiZSB1c2Vk
IHRvIGhhbmRsZSB0aGUgdHJhZmZpYyByZWR1Y3Rpb24gaW4gdGhlIE9DLVxuICAgU3VwcG9y
dGVkLUZlYXR1cmVzIEFWUC4gIFRoZSBPQy1PTFIgQVZQIGlzIHVzZWQgdG8gY29tbXVuaWNh
dGVcbiAgIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZXF1ZXN0ZWQgcmVkdWN0aW9uLlxuXG4g
ICBSZWFjdGluZyBub2RlcywgdXBvbiByZWNlaXB0IG9mIGFuIG92ZXJsb2FkIHJlcG9ydCwg
YXBwbHlpbmcgdGhlXG4gICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHRvIHRyYWZm
aWMgaW1wYWN0ZWQgYnkgdGhlIG92ZXJsb2FkXG4gICByZXBvcnQuICBUaGUgbWV0aG9kIHVz
ZWQgdG8gZGV0ZXJtaW5lIHRoZSByZXF1ZXN0cyB0aGF0IGFyZSB0b1xuICAgcmVjZWl2ZSBv
dmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50IGlzIGRlcGVuZGVudCBvbiB0aGUgYWJhdGVt
ZW50XG4gICBhbGdvcml0aG0uICBUaGUgbG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtIGlzIGRl
ZmluZWQgaW4gdGhpcyBkb2N1bWVudFxuICAgKFNlY3Rpb24gNikuICBPdGhlciBhYmF0ZW1l
bnQgYWxnb3JpdGhtcyBjYW4gYmUgZGVmaW5lZCBpbiBleHRlbnNpb25zXG4gICB0byB0aGUg
RE9JQyBzb2x1dGlvbnMuXG5cbiAgIFR3byB0eXBlcyBvZiBvdmVybG9hZCBhYmF0ZW1lbnQg
dHJlYXRtZW50IGFyZSBkZWZpbmVkLCBkaXZlcnNpb24gYW5kXG4gICB0aHJvdHRsaW5nLiAg
UmVhY3Rpbmcgbm9kZXMgYXJlIHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB3aGljaFxu
ICAgdHJlYXRtZW50IGlzIGFwcHJvcHJpYXRlIGZvciBpbmRpdmlkdWFsIHJlcXVlc3RzLlxu
XG4gICBBcyB0aGUgY29uZGl0aW9ucyB0aGF0IGxlYWQgdG8gdGhlIGdlbmVyYXRpb24gb2Yg
dGhlIG92ZXJsb2FkIHJlcG9ydFxuICAgY2hhbmdlIHRoZSByZXBvcnRpbmcgbm9kZSBjYW4g
c2VuZCBuZXcgb3ZlcmxvYWQgcmVwb3J0cyByZXF1ZXN0aW5nXG4gICBncmVhdGVyIHJlZHVj
dGlvbiBpZiB0aGUgY29uZGl0aW9uIGdldHMgd29yc2Ugb3IgbGVzcyByZWR1Y3Rpb24gaWZc
biAgIHRoZSBjb25kaXRpb24gaW1wcm92ZXMuICBUaGUgcmVwb3J0aW5nIG5vZGUgc2VuZHMg
YW4gb3ZlcmxvYWQgcmVwb3J0XG4gICB3aXRoIGEgZHVyYXRpb24gb2YgemVybyB0byBpbmRp
Y2F0ZSB0aGF0IHRoZSBvdmVybG9hZCBjb25kaXRpb24gaGFzXG4gICBlbmRlZCBhbmQgYWJh
dGVtZW50IGlzIG5vIGxvbmdlciBuZWVkZWQuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4g
ICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDEw
XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAg
ICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgVGhlIHJlYWN0aW5nIG5vZGUgYWxz
byBkZXRlcm1pbmVzIHdoZW4gdGhlIG92ZXJsb2FkIHJlcG9ydCBleHBpcmVzXG4gICBiYXNl
ZCBvbiB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGluIHRoZSBvdmVybG9hZCByZXBv
cnQgYW5kXG4gICBzdG9wcyBhcHBseWluZyB0aGUgYWJhdGVtZW50IGFsZ29yaXRobSB3aGVu
IHRoZSByZXBvcnQgZXhwaXJlcy5cblxuNC40LiAgRE9JQyBFeHRlbnNpYmlsaXR5XG5cbiAg
IFRoZSBET0lDIHNvbHV0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGV4dGVuc2libGUuICBUaGlz
IGV4dGVuc2liaWxpdHlcbiAgIGlzIGJhc2VkIG9uIGV4aXN0aW5nIERpYW1ldGVyIGJhc2Vk
IGV4dGVuc2liaWxpdHkgbWVjaGFuaXNtcywgYWxvbmdcbiAgIHdpdGggdGhlIERPSUMgY2Fw
YWJpbGl0eSBhbm5vdW5jZW1lbnQgbWVjaGFuaXNtLlxuXG4gICBUaGVyZSBhcmUgbXVsdGlw
bGUgY2F0ZWdvcmllcyBvZiBleHRlbnNpb25zIHRoYXQgYXJlIGV4cGVjdGVkLiAgVGhpc1xu
ICAgaW5jbHVkZXMgdGhlIGRlZmluaXRpb24gb2YgbmV3IG92ZXJsb2FkIGFiYXRlbWVudCBh
bGdvcml0aG1zLCB0aGVcbiAgIGRlZmluaXRpb24gb2YgbmV3IHJlcG9ydCB0eXBlcyBhbmQg
dGhlIGRlZmluaXRpb24gb2YgbmV3IHNjb3BlcyBvZlxuICAgbWVzc2FnZXMgaW1wYWN0ZWQg
YnkgYW4gb3ZlcmxvYWQgcmVwb3J0LlxuXG4gICBBIERPSUMgbm9kZSBjb21tdW5pY2F0ZXMg
c3VwcG9ydGVkIGZlYXR1cmVzIGJ5IGluY2x1ZGluZyB0aGVtIGluIHRoZVxuICAgT0MtRmVh
dHVyZS1WZWN0b3IgQVZQLCBhcyBhIHN1Yi1BVlAgb2YgT0MtU3VwcG9ydGVkLUZlYXR1cmVz
LiAgQW55XG4gICBub24tYmFja3dhcmRzIGNvbXBhdGlibGUgRE9JQyBleHRlbnNpb25zIGRl
ZmluZSBuZXcgdmFsdWVzIGZvciB0aGVcbiAgIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC4gIERP
SUMgZXh0ZW5zaW9ucyBhbHNvIGhhdmUgdGhlIGFiaWxpdHkgdG8gYWRkXG4gICBuZXcgQVZQ
cyB0byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCwgaWYgYWRkaXRpb25hbCBpbmZv
cm1hdGlvblxuICAgYWJvdXQgdGhlIG5ldyBmZWF0dXJlIGlzIHJlcXVpcmVkLlxuXG4gICBP
dmVybG9hZCByZXBvcnRzIGNhbiBiZSBhbHNvIGV4dGVuZGVkIGJ5IGFkZGluZyBuZXcgc3Vi
LUFWUHMgdG8gdGhlXG4gICBPQy1PTFIgQVZQLCBhbGxvd2luZyByZXBvcnRpbmcgbm9kZXMg
dG8gY29tbXVuaWNhdGUgYWRkaXRpb25hbFxuICAgaW5mb3JtYXRpb24gYWJvdXQgaGFuZGxp
bmcgYW4gb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICBJZiBuZWNlc3NhcnksIG5ldyBleHRl
bnNpb25zIGNhbiBhbHNvIGRlZmluZSBuZXcgQVZQcyB0aGF0IGFyZSBub3RcbiAgIHBhcnQg
b2YgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBhbmQgT0MtT0xSIGdyb3VwIEFWUHMuICBJ
dCBpcyxcbiAgIGhvd2V2ZXIsIHJlY29tbWVuZGVkIHRoYXQgRE9JQyBleHRlbnNpb25zIHVz
ZSB0aGUgT0MtU3VwcG9ydGVkLVxuICAgRmVhdHVyZXMgQVZQIGFuZCBPQy1PTFIgQVZQIHRv
IGNhcnJ5IGFsbCBET0lDIHJlbGF0ZWQgQVZQcy5cblxuNC41LiAgU2ltcGxpZmllZCBFeGFt
cGxlIEFyY2hpdGVjdHVyZVxuXG4gICBGaWd1cmUgMSBpbGx1c3RyYXRlcyB0aGUgc2ltcGxp
ZmllZCBhcmNoaXRlY3R1cmUgZm9yIERpYW1ldGVyXG4gICBvdmVybG9hZCBpbmZvcm1hdGlv
biBjb252ZXlhbmNlLlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5Lb3Job25l
biwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAg
ICBbUGFnZSAxMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lD
ICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICBSZWFsbSBYICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbWUgb3Igb3RoZXIgUmVhbG1zXG4g
ICBfLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fIF8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tX1xuXG5cbiAgICAgICstLV4tLS0tLSsgICAgICAgICAgICAgICAgIDog
KG9wdGlvbmFsKSA6XG4gICAgICBfRGlhbWV0ZXJfICAgICAgICAgICAgICAgICA6ICAgICAg
ICAgICAgOlxuICAgICAgX1NlcnZlciBBXy0tKyAgICAgLi0tLiAgICAgOiArLS0tXi0tLS0r
IDogICAgIC4tLS5cbiAgICAgICstLS0tLS0tLSsgIF8gICBfKCAgICBfLiAgIDogX0RpYW1l
dGVyXyA6ICAgXyggICAgXy4gICArLS0tXi0tLS0rXG4gICAgICAgICAgICAgICAgICArLS0o
ICAgICAgICApLS06LV8gIEFnZW50IF8tOi0tKCAgICAgICAgKS0tX0RpYW1ldGVyX1xuICAg
ICAgKy0tLS0tLS0tKyAgXyAoIF8gIC4gICkgICkgOiArLS0tLS1eLS0rIDogKCBfICAuICAp
ICApIF8gQ2xpZW50IF9cbiAgICAgIF9EaWFtZXRlcl8tLSsgIF8tLShfX18uLVwnICA6ICAg
ICAgICAgICAgOiAgXy0tKF9fXy4tXCcgICstLS0tLV4tLStcbiAgICAgIF9TZXJ2ZXIgQl8g
ICAgICAgICAgICAgICAgIDogICAgICAgICAgICA6XG4gICAgICArLS0tXi0tLS0rICAgICAg
ICAgICAgICAgICA6ICAgICAgICAgICAgOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAg
IEVuZC10by1lbmQgT3ZlcmxvYWQgSW5kaWNhdGlvblxuICAgICAgICAgICAgIDEpICBfLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fXG4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFlcblxuICAgICAg
ICAgICAgICAgICAgT3ZlcmxvYWQgSW5kaWNhdGlvbiBBICAgIE92ZXJsb2FkIEluZGljYXRp
b24gQVwnXG4gICAgICAgICAgICAgMikgIF8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXyBfLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLV9cbiAgICAgICAgICAgICAgICAgRGlhbWV0ZXIgQXBwbGlj
YXRpb24gWSAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFlcblxuXG5cbiAgICAgRmlndXJlIDE6
IFNpbXBsaWZpZWQgYXJjaGl0ZWN0dXJlIGNob2ljZXMgZm9yIG92ZXJsb2FkIGluZGljYXRp
b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5XG5cbiAgIElu
IEZpZ3VyZSAxLCB0aGUgRGlhbWV0ZXIgb3ZlcmxvYWQgaW5kaWNhdGlvbiBjYW4gYmUgY29u
dmV5ZWQgKDEpXG4gICBlbmQtdG8tZW5kIGJldHdlZW4gc2VydmVycyBhbmQgY2xpZW50cyBv
ciAoMikgYmV0d2VlbiBzZXJ2ZXJzIGFuZFxuICAgRGlhbWV0ZXIgYWdlbnQgaW5zaWRlIHRo
ZSByZWFsbSBhbmQgdGhlbiBiZXR3ZWVuIHRoZSBEaWFtZXRlciBhZ2VudFxuICAgYW5kIHRo
ZSBjbGllbnRzLlxuXG41LiAgU29sdXRpb24gUHJvY2VkdXJlc1xuXG4gICBUaGlzIHNlY3Rp
b24gb3V0bGluZXMgdGhlIG5vcm1hdGl2ZSBiZWhhdmlvciBmb3IgdGhlIERPSUMgc29sdXRp
b24uXG5cbjUuMS4gIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50XG5cbiAgIFRoaXMgc2VjdGlv
biBkZWZpbmVzIERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1lbnQgKERDQSkgYmVoYXZpb3Iu
XG5cbiAgICAgIE5vdGU6IFRoaXMgc3BlY2lmaWNhdGlvbiBhc3N1bWVzIHRoYXQgY2hhbmdl
cyBpbiBET0lDIG5vZGVcbiAgICAgIGNhcGFiaWxpdGllcyBhcmUgcmVsYXRpdmVseSByYXJl
IGV2ZW50cyB0aGF0IG9jY3VyIGFzIGEgcmVzdWx0IG9mXG4gICAgICBhZG1pbmlzdHJhdGl2
ZSBhY3Rpb24uICBSZWFjdGluZyBub2RlcyBvdWdodCB0byBtaW5pbWl6ZSBjaGFuZ2VzXG4g
ICAgICB0aGF0IGZvcmNlIHRoZSByZXBvcnRpbmcgbm9kZSB0byBjaGFuZ2UgdGhlIGZlYXR1
cmVzIGJlaW5nIHVzZWQsXG4gICAgICBlc3BlY2lhbGx5IGR1cmluZyBhY3RpdmUgb3Zlcmxv
YWQgY29uZGl0aW9ucy4gIEJ1dCBldmVuIGlmXG4gICAgICByZWFjdGluZyBub2RlcyBhdm9p
ZCBzdWNoIGNoYW5nZXMsIHJlcG9ydGluZyBub2RlcyBzdGlsbCBoYXZlIHRvXG4gICAgICBi
ZSBwcmVwYXJlZCBmb3IgdGhlbSB0byBvY2N1ci4gIEZvciBleGFtcGxlLCBkaWZmZXJpbmdc
biAgICAgIGNhcGFiaWxpdGllcyBiZXR3ZWVuIG11bHRpcGxlIHJlYWN0aW5nIG5vZGVzIG1h
eSBzdGlsbCBmb3JjZSBhXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGly
ZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxMl1cbl9cbkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEph
bnVhcnkgMjAxNVxuXG5cbiAgICAgIHJlcG9ydGluZyBub2RlIHRvIHNlbGVjdCBkaWZmZXJl
bnQgZmVhdHVyZXMgb24gYSBwZXItdHJhbnNhY3Rpb25cbiAgICAgIGJhc2lzLlxuXG41LjEu
MS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3JcblxuICAgQSByZWFjdGluZyBub2RlIE1VU1Qg
aW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhbGxcbiAgIHJlcXVl
c3RzLiAgSXQgTUFZIGluY2x1ZGUgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCwgYXMgYSBz
dWItYXZwIG9mXG4gICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMuICBJZiBpdCBkb2VzIHNvLCBp
dCBNVVNUIGluZGljYXRlIHN1cHBvcnQgZm9yXG4gICB0aGUgImxvc3MiIGFsZ29yaXRobS4g
IElmIHRoZSByZWFjdGluZyBub2RlIGlzIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydFxuICAgZmVh
dHVyZXMgKGluY2x1ZGluZyBvdGhlciBhbGdvcml0aG1zKSBpbiBhZGRpdGlvbiB0byB0aGUg
bG9zc1xuICAgYWxnb3JpdGhtLCBpdCBNVVNUIGluZGljYXRlIHN1Y2ggc3VwcG9ydCBpbiBh
biBPQy1GZWF0dXJlLVZlY3RvciBBVlAuXG5cbiAgIEFuIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgaW4gYW5zd2VyIG1lc3NhZ2VzIGluZGljYXRlcyB0aGVyZSBpcyBhXG4gICByZXBv
cnRpbmcgbm9kZSBmb3IgdGhlIHRyYW5zYWN0aW9uLiAgVGhlIHJlYWN0aW5nIG5vZGUgTUFZ
IHRha2VcbiAgIGFjdGlvbiwgZm9yIGV4YW1wbGUgY3JlYXRpbmcgc3RhdGUgZm9yIHNvbWUg
c3RhdGVmdWwgYWJhdGVtZW50XG4gICBhbGdvcml0aG0sIGJhc2VkIG9uIHRoZSBmZWF0dXJl
cyBpbmRpY2F0ZWQgaW4gdGhlIE9DLUZlYXR1cmUtVmVjdG9yXG4gICBBVlAuXG5cbiAgICAg
IE5vdGU6IFRoZSBsb3NzIGFiYXRlbWVudCBhbGdvcml0aG0gZG9lcyBub3QgcmVxdWlyZSBz
dGF0ZWZ1bFxuICAgICAgYmVoYXZpb3Igd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgb3Zlcmxv
YWQgcmVwb3J0LlxuXG41LjEuMi4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yXG5cbiAgIFVw
b24gcmVjZWlwdCBvZiBhIHJlcXVlc3QgbWVzc2FnZSwgYSByZXBvcnRpbmcgbm9kZSBkZXRl
cm1pbmVzIGlmXG4gICB0aGVyZSBpcyBhIHJlYWN0aW5nIG5vZGUgZm9yIHRoZSB0cmFuc2Fj
dGlvbiBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2ZcbiAgIHRoZSBPQy1TdXBwb3J0ZWQtRmVh
dHVyZXMgQVZQIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UuXG5cbiAgIElmIHRoZSByZXF1ZXN0
IG1lc3NhZ2UgY29udGFpbnMgYW4gT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCB0aGVuIGFc
biAgIHJlcG9ydGluZyBub2RlIE1VU1QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1
cmVzIEFWUCBpbiB0aGVcbiAgIGFuc3dlciBtZXNzYWdlIGZvciB0aGF0IHRyYW5zYWN0aW9u
LlxuXG4gICAgICBOb3RlOiBDYXBhYmlsaXR5IGFubm91bmNlbWVudCBpcyBkb25lIG9uIGEg
cGVyIHRyYW5zYWN0aW9uIGJhc2lzLlxuICAgICAgVGhlIHJlcG9ydGluZyBub2RlIGNhbm5v
dCBhc3N1bWUgdGhhdCB0aGUgY2FwYWJpbGl0aWVzIGFubm91bmNlZFxuICAgICAgYnkgYSBy
ZWFjdGluZyBub2RlIHdpbGwgYmUgdGhlIHNhbWUgYmV0d2VlbiB0cmFuc2FjdGlvbnMuXG5c
biAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBOT1QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVk
LUZlYXR1cmVzIEFWUCwgT0MtXG4gICBPTFIgQVZQIG9yIGFueSBvdGhlciBvdmVybG9hZCBj
b250cm9sIEFWUHMgZGVmaW5lZCBpbiBleHRlbnNpb25cbiAgIGRyYWZ0cyBpbiByZXNwb25z
ZSBtZXNzYWdlcyBmb3IgdHJhbnNhY3Rpb25zIHdoZXJlIHRoZSByZXF1ZXN0XG4gICBtZXNz
YWdlIGRvZXMgbm90IGluY2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuICBM
YWNrIG9mIHRoZVxuICAgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGUgcmVxdWVz
dCBtZXNzYWdlIGluZGljYXRlcyB0aGF0IHRoZXJlXG4gICBpcyBubyByZWFjdGluZyBub2Rl
IGZvciB0aGUgdHJhbnNhY3Rpb24uXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUga25vd3Mgd2hh
dCBvdmVybG9hZCBjb250cm9sIGZ1bmN0aW9uYWxpdHkgaXNcbiAgIHN1cHBvcnRlZCBieSB0
aGUgcmVhY3Rpbmcgbm9kZSBiYXNlZCBvbiB0aGUgY29udGVudCBvciBhYnNlbmNlIG9mIHRo
ZVxuICAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGhpbiB0aGUgT0MtU3VwcG9ydGVkLUZl
YXR1cmVzIEFWUCBpbiB0aGVcbiAgIHJlcXVlc3QgbWVzc2FnZS5cblxuXG5cblxuXG5Lb3Jo
b25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAg
ICAgICBbUGFnZSAxM11cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBE
T0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIEEgcmVwb3J0
aW5nIG5vZGUgTVVTVCBpbmRpY2F0ZSBzdXBwb3J0IGZvciBvbmUgYW5kIG9ubHkgb25lIGFi
YXRlbWVudFxuICAgYWxnb3JpdGhtIGluIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAuICBU
aGUgYWJhdGVtZW50IGFsZ29yaXRobVxuICAgc2VsZWN0ZWQgTVVTVCBpbmRpY2F0ZSB0aGUg
YWJhdGVtZW50IGFsZ29yaXRobSB0aGUgcmVwb3J0aW5nIG5vZGVcbiAgIHdhbnRzIHRoZSBy
ZWFjdGluZyBub2RlIHRvIHVzZSB3aGVuIHRoZSByZXBvcnRpbmcgbm9kZSBlbnRlcnMgYW5c
biAgIG92ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgVGhlIGFiYXRlbWVudCBhbGdvcml0aG0g
c2VsZWN0ZWQgTVVTVCBiZSBmcm9tIHRoZSBzZXQgb2YgYWJhdGVtZW50XG4gICBhbGdvcml0
aG1zIGNvbnRhaW5lZCBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlXCdzIE9DLUZlYXR1cmUtVmVj
dG9yIEFWUC5cblxuICAgQSByZXBvcnRpbmcgbm9kZSB0aGF0IHNlbGVjdHMgdGhlIGxvc3Mg
YWxnb3JpdGhtIG1heSBkbyBzbyBieVxuICAgaW5jbHVkaW5nIHRoZSBPQy1GZWF0dXJlLVZl
Y3RvciBBVlAgd2l0aCBhbiBleHBsaWNpdCBpbmRpY2F0aW9uIG9mXG4gICB0aGUgbG9zcyBh
bGdvcml0aG0sIG9yIGl0IE1BWSBvbWl0IE9DLUZlYXR1cmUtVmVjdG9yLiAgSWYgaXQgc2Vs
ZWN0c1xuICAgYSBkaWZmZXJlbnQgYWxnb3JpdGhtLCBpdCBNVVNUIGluY2x1ZGUgdGhlIE9D
LUZlYXR1cmUtVmVjdG9yIEFWUCB3aXRoXG4gICBhbiBleHBsaWNpdCBpbmRpY2F0aW9uIG9m
IHRoZSBzZWxlY3RlZCBhbGdvcml0aG0uXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBO
T1QgY2hhbmdlIHRoZSBzZWxlY3RlZCBhbGdvcml0aG0gZHVyaW5nIHRoZVxuICAgcGVyaW9k
IG9mIHRpbWUgdGhhdCBzdGFydHMgd2hlbiBlbnRlcmluZyBhbiBvdmVybG9hZCBjb25kaXRp
b24gYW5kXG4gICBlbmRzIHdoZW4gdGhlIGFzc29jaWF0ZWQgT0NTIGJlY29tZXMgaW52YWxp
ZCBpbiBhbGwgcmVhY3Rpbmcgbm9kZXMuXG5cbiAgIFRoZSByZXBvcnRpbmcgbm9kZSBNQVkg
Y2hhbmdlIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtXG4gICBpbmRpY2F0ZWQg
aW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgYXQgYW55IHRpbWUgYXMgbG9uZyBh
cyBub1xuICAgcHJldmlvdXNseSBzZW50IE9MUnMgbWF5IGJlIGFjdGl2ZS5cblxuICAgVGhl
IHJlcG9ydGluZyBub2RlIFNIT1VMRCBpbmRpY2F0ZSBzdXBwb3J0IGZvciBvdGhlciBET0lD
IGZlYXR1cmVzXG4gICBkZWZpbmVkIGluIGV4dGVuc2lvbiBkcmFmdHMgdGhhdCBpdCBzdXBw
b3J0cyBhbmQgdGhhdCBhcHBseSB0byB0aGVcbiAgIHRyYW5zYWN0aW9uLiAgSXQgZG9lcyBz
byB1c2luZyB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLlxuXG4gICAgICBOb3RlOiBOb3Qg
YWxsIERPSUMgZmVhdHVyZXMgd2lsbCBhcHBseSB0byBhbGwgRGlhbWV0ZXJcbiAgICAgIGFw
cGxpY2F0aW9ucyBvciBkZXBsb3ltZW50IHNjZW5hcmlvcy4gIFRoZSBmZWF0dXJlcyBpbmNs
dWRlZCBpblxuICAgICAgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCBhcmUgYmFzZWQgb24g
bG9jYWwgcmVwb3J0aW5nIG5vZGVcbiAgICAgIHBvbGljeS5cblxuNS4xLjMuICBBZ2VudCBC
ZWhhdmlvclxuXG4gICBEaWFtZXRlciBBZ2VudHMgdGhhdCBzdXBwb3J0IERPSUMgTUFZIGVu
c3VyZSB0aGF0IGFsbCBtZXNzYWdlc1xuICAgcmVsYXllZCBieSB0aGUgYWdlbnQgY29udGFp
biB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC5cblxuICAgQSBEaWFtZXRlciBBZ2Vu
dCBTSE9VTEQgdGFrZSBvbiByZWFjdGluZyBub2RlIGJlaGF2aW9yIGZvciBEaWFtZXRlclxu
ICAgZW5kcG9pbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24uICBB
IERpYW1ldGVyIEFnZW50XG4gICBkZXRlY3RzIHRoYXQgYSBEaWFtZXRlciBlbmRwb2ludCBk
b2VzIG5vdCBzdXBwb3J0IERPSUMgcmVhY3Rpbmcgbm9kZVxuICAgYmVoYXZpb3Igd2hlbiB0
aGVyZSBpcyBubyBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIGEgcmVxdWVzdFxuICAg
bWVzc2FnZS5cblxuICAgRm9yIGEgRGlhbWV0ZXIgQWdlbnQgdG8gYmUgYSByZWFjdGluZyBu
b2RlIGZvciBhIG5vbiBzdXBwb3J0aW5nXG4gICBEaWFtZXRlciBlbmRwb2ludCwgdGhlIERp
YW1ldGVyIEFnZW50IE1VU1QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLVxuICAgRmVhdHVy
ZXMgQVZQIGluIHJlcXVlc3QgbWVzc2FnZXMgaXQgcmVsYXlzIHRoYXQgZG8gbm90IGNvbnRh
aW4gdGhlXG4gICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLlxuXG5cblxuXG5Lb3Job25l
biwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAg
ICBbUGFnZSAxNF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lD
ICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIEEgRGlhbWV0ZXIg
QWdlbnQgTUFZIHRha2Ugb24gcmVwb3J0aW5nIG5vZGUgYmVoYXZpb3IgZm9yIERpYW1ldGVy
XG4gICBlbmRwb2ludHMgdGhhdCBkbyBub3Qgc3VwcG9ydCB0aGUgRE9JQyBzb2x1dGlvbi4g
IFRoZSBEaWFtZXRlciBBZ2VudFxuICAgTVVTVCBoYXZlIHZpc2liaWxpdHkgdG8gYWxsIHRy
YWZmaWMgZGVzdGluZWQgZm9yIHRoZSBub24gc3VwcG9ydGluZ1xuICAgaG9zdCBpbiBvcmRl
ciB0byBiZWNvbWUgdGhlIHJlcG9ydGluZyBub2RlIGZvciB0aGUgRGlhbWV0ZXIgZW5kcG9p
bnQuXG4gICBBIERpYW1ldGVyIEFnZW50IGRldGVjdHMgdGhhdCBhIERpYW1ldGVyIGVuZHBv
aW50IGRvZXMgbm90IHN1cHBvcnRcbiAgIERPSUMgcmVwb3J0aW5nIG5vZGUgYmVoYXZpb3Ig
d2hlbiB0aGVyZSBpcyBubyBPQy1TdXBwb3J0ZWQtRmVhdHVyZXNcbiAgIEFWUCBpbiBhbiBh
bnN3ZXIgbWVzc2FnZSBmb3IgYSB0cmFuc2FjdGlvbiB0aGF0IGNvbnRhaW5lZCB0aGUgT0Mt
XG4gICBTdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UuXG5c
biAgIElmIGEgcmVxdWVzdCBhbHJlYWR5IGhhcyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVz
IEFWUCwgYSBEaWFtZXRlclxuICAgYWdlbnQgTUFZIG1vZGlmeSBpdCB0byByZWZsZWN0IHRo
ZSBmZWF0dXJlcyBhcHByb3ByaWF0ZSBmb3IgdGhlXG4gICB0cmFuc2FjdGlvbi4gIE90aGVy
d2lzZSwgdGhlIGFnZW50IHJlbGF5cyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzXG4gICBB
VlAgd2l0aG91dCBjaGFuZ2UuXG5cbiAgICAgIEZvciBpbnN0YW5jZSwgaWYgdGhlIGFnZW50
IHN1cHBvcnRzIGEgc3VwZXJzZXQgb2YgdGhlIGZlYXR1cmVzXG4gICAgICByZXBvcnRlZCBi
eSB0aGUgcmVhY3Rpbmcgbm9kZSB0aGVuIHRoZSBhZ2VudCBtaWdodCBjaG9vc2UsIGJhc2Vk
XG4gICAgICBvbiBsb2NhbCBwb2xpY3ksIHRvIGFkdmVydGlzZSB0aGF0IHN1cGVyc2V0IG9m
IGZlYXR1cmVzIHRvIHRoZVxuICAgICAgcmVwb3J0aW5nIG5vZGUuXG5cbiAgIElmIHRoZSBE
aWFtZXRlciBBZ2VudCBjaGFuZ2VzIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGlu
IGFcbiAgIHJlcXVlc3QgbWVzc2FnZSB0aGVuIGl0IGlzIGxpa2VseSBpdCB3aWxsIGFsc28g
bmVlZCB0byBtb2RpZnkgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0
aGUgYW5zd2VyIG1lc3NhZ2UgZm9yIHRoZSB0cmFuc2FjdGlvbi4gIEFcbiAgIERpYW1ldGVy
IEFnZW50IE1BWSBtb2RpZnkgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgY2Fycmll
ZCBpblxuICAgYW5zd2VyIG1lc3NhZ2VzLlxuXG4gICBXaGVuIG1ha2luZyBjaGFuZ2VzIHRv
IHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgb3IgT0MtT0xSIEFWUHMsIHRoZVxuICAgRGlh
bWV0ZXIgQWdlbnQgbmVlZHMgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGluIGl0cyBiZWhhdmlv
ciB3aXRoIGJvdGhcbiAgIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIERPSUMgbm9kZXMuXG5c
bjUuMi4gIE92ZXJsb2FkIFJlcG9ydCBQcm9jZXNzaW5nXG5cbjUuMi4xLiAgT3ZlcmxvYWQg
Q29udHJvbCBTdGF0ZVxuXG4gICBCb3RoIHJlYWN0aW5nIGFuZCByZXBvcnRpbmcgbm9kZXMg
bWFpbnRhaW4gT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZVxuICAgKE9DUykgZm9yIGFjdGl2ZSBv
dmVybG9hZCBjb25kaXRpb25zLiAgVGhlIGZvbGxvd2luZyBzZWN0aW9ucyBkZWZpbmVcbiAg
IGJlaGF2aW9yIGFzc29jaWF0ZWQgd2l0aCB0aGF0IE9DUy5cblxuNS4yLjEuMS4gIE92ZXJs
b2FkIENvbnRyb2wgU3RhdGUgZm9yIFJlYWN0aW5nIE5vZGVzXG5cbiAgIEEgcmVhY3Rpbmcg
bm9kZSBTSE9VTEQgbWFpbnRhaW4gdGhlIGZvbGxvd2luZyBPQ1MgcGVyIHN1cHBvcnRlZFxu
ICAgRGlhbWV0ZXIgYXBwbGljYXRpb246XG5cbiAgIG8gIEEgaG9zdC10eXBlIE9DUyBlbnRy
eSBmb3IgZWFjaCBEZXN0aW5hdGlvbi1Ib3N0IHRvIHdoaWNoIGl0IHNlbmRzXG4gICAgICBo
b3N0LXR5cGUgcmVxdWVzdHMgYW5kXG5cbiAgIG8gIEEgcmVhbG0tdHlwZSBPQ1MgZW50cnkg
Zm9yIGVhY2ggRGVzdGluYXRpb24tUmVhbG0gdG8gd2hpY2ggaXRcbiAgICAgIHNlbmRzIHJl
YWxtLXR5cGUgcmVxdWVzdHMuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAg
RXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDE1XVxuX1xuSW50
ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAg
ICAgSmFudWFyeSAyMDE1XG5cblxuICAgQSBob3N0LXR5cGUgT0NTIGVudHJ5IGlzIGlkZW50
aWZpZWQgYnkgdGhlIHBhaXIgb2YgYXBwbGljYXRpb24taWQgYW5kXG4gICB0aGUgbm9kZVwn
cyBEaWFtZXRlcklkZW50aXR5LlxuXG4gICBBIHJlYWxtLXR5cGUgT0NTIGVudHJ5IGlzIGlk
ZW50aWZpZWQgYnkgdGhlIHBhaXIgb2YgYXBwbGljYXRpb24taWRcbiAgIGFuZCByZWFsbS5c
blxuICAgVGhlIGhvc3QtdHlwZSBhbmQgcmVhbG0tdHlwZSBPQ1MgZW50cmllcyBNQVkgaW5j
bHVkZSB0aGUgZm9sbG93aW5nXG4gICBpbmZvcm1hdGlvbiAodGhlIGFjdHVhbCBpbmZvcm1h
dGlvbiBzdG9yZWQgaXMgYW4gaW1wbGVtZW50YXRpb25cbiAgIGRlY2lzaW9uKTpcblxuICAg
byAgU2VxdWVuY2UgbnVtYmVyIChhcyByZWNlaXZlZCBpbiBPQy1PTFIpXG5cbiAgIG8gIFRp
bWUgb2YgZXhwaXJ5IChkZXJpdmVkIGZyb20gT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIHJl
Y2VpdmVkIGluXG4gICAgICB0aGUgT0MtT0xSIEFWUCBhbmQgdGltZSBvZiByZWNlcHRpb24g
b2YgdGhlIG1lc3NhZ2UgY2FycnlpbmcgT0MtXG4gICAgICBPTFIgQVZQKVxuXG4gICBvICBT
ZWxlY3RlZCBBYmF0ZW1lbnQgQWxnb3JpdGhtIChhcyByZWNlaXZlZCBpbiB0aGUgT0MtU3Vw
cG9ydGVkLVxuICAgICAgRmVhdHVyZXMgQVZQKVxuXG4gICBvICBBYmF0ZW1lbnQgQWxnb3Jp
dGhtIHNwZWNpZmljIGlucHV0IGRhdGEgKGFzIHJlY2VpdmVkIGluIHRoZSBPQy1PTFJcbiAg
ICAgIEFWUCwgZm9yIGV4YW1wbGUsIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIGZvciB0aGUg
TG9zcyBhYmF0ZW1lbnRcbiAgICAgIGFsZ29yaXRobSlcblxuNS4yLjEuMi4gIE92ZXJsb2Fk
IENvbnRyb2wgU3RhdGUgZm9yIFJlcG9ydGluZyBOb2Rlc1xuXG4gICBBIHJlcG9ydGluZyBu
b2RlIFNIT1VMRCBtYWludGFpbiBPQ1MgZW50cmllcyBwZXIgc3VwcG9ydGVkIERpYW1ldGVy
XG4gICBhcHBsaWNhdGlvbiwgcGVyIHN1cHBvcnRlZCAoYW5kIGV2ZW50dWFsbHkgc2VsZWN0
ZWQpIEFiYXRlbWVudFxuICAgQWxnb3JpdGhtIGFuZCBwZXIgcmVwb3J0LXR5cGUuXG5cbiAg
IEFuIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5IHRoZSB0dXBsZSBvZiBBcHBsaWNhdGlv
bi1JZCwgUmVwb3J0LVxuICAgVHlwZSBhbmQgQWJhdGVtZW50IEFsZ29yaXRobSBhbmQgTUFZ
IGluY2x1ZGUgdGhlIGZvbGxvd2luZ1xuICAgaW5mb3JtYXRpb24gKHRoZSBhY3R1YWwgaW5m
b3JtYXRpb24gc3RvcmVkIGlzIGFuIGltcGxlbWVudGF0aW9uXG4gICBkZWNpc2lvbik6XG5c
biAgIG8gIFNlcXVlbmNlIG51bWJlclxuXG4gICBvICBWYWxpZGl0eSBEdXJhdGlvblxuXG4g
ICBvICBFeHBpcmF0aW9uIFRpbWVcblxuICAgbyAgQWxnb3JpdGhtIHNwZWNpZmljIGlucHV0
IGRhdGEgKGZvciBleGFtcGxlLCB0aGUgUmVkdWN0aW9uXG4gICAgICBQZXJjZW50YWdlIGZv
ciB0aGUgTG9zcyBBYmF0ZW1lbnQgQWxnb3JpdGhtKVxuXG41LjIuMS4zLiAgUmVhY3Rpbmcg
Tm9kZSBNYWludGVuYW5jZSBvZiBPdmVybG9hZCBDb250cm9sIFN0YXRlXG5cbiAgIFdoZW4g
YSByZWFjdGluZyBub2RlIHJlY2VpdmVzIGFuIE9DLU9MUiBBVlAsIGl0IE1VU1QgZGV0ZXJt
aW5lIGlmIGl0XG4gICBpcyBmb3IgYW4gZXhpc3Rpbmcgb3IgbmV3IG92ZXJsb2FkIGNvbmRp
dGlvbi5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkg
MTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTZdXG5fXG5JbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIw
MTVcblxuXG4gICAgICBOb3RlOiBGb3IgdGhlIHJlbWFpbmRlciBvZiB0aGlzIHNlY3Rpb24g
dGhlIHRlcm0gT0xSIHJlZmVycyB0byB0aGVcbiAgICAgIGNvbWJpbmF0aW9uIG9mIHRoZSBj
b250ZW50cyBvZiB0aGUgcmVjZWl2ZWQgT0MtT0xSIEFWUCBhbmQgdGhlXG4gICAgICBhYmF0
ZW1lbnQgYWxnb3JpdGhtIGluZGljYXRlZCBpbiB0aGUgcmVjZWl2ZWQgT0MtU3VwcG9ydGVk
LVxuICAgICAgRmVhdHVyZXMgQVZQLlxuXG4gICBXaGVuIHJlY2VpdmluZyBhbiBhbnN3ZXIg
bWVzc2FnZSB3aXRoIG11bHRpcGxlIE9MUnMgb2YgZGlmZmVyZW50XG4gICBzdXBwb3J0ZWQg
cmVwb3J0IHR5cGVzLCBhIHJlYWN0aW5nIG5vZGUgTVVTVCBwcm9jZXNzIGVhY2ggcmVjZWl2
ZWRcbiAgIE9MUi5cblxuICAgV2hlbiByZWNlaXZpbmcgYW4gYW5zd2VyIG1lc3NhZ2Ugd2l0
aCBtdWx0aXBsZSBPTFJzIGFuZCBtdWx0aXBsZSBvZlxuICAgdGhlIE9MUnMgYXJlIG9mIHRo
ZSBzYW1lIHN1cHBvcnRlZCByZXBvcnQgdHlwZXMsIGEgcmVhY3Rpbmcgbm9kZVxuICAgU0hP
VUxEIGlnbm9yZSB0aGUgZHVwbGljYXRlZCBPTFJzLlxuXG4gICBBIHJlYWN0aW5nIG5vZGUg
U0hPVUxEIGlnbm9yZSBhbiBPQy1PTFIgd2l0aCBhIE9DLVJlcG9ydC1UeXBlIEFWUFxuICAg
dGhhdCBjb250YWlucyBhbiB1bnJlY29nbml6ZWQgdmFsdWUuXG5cbiAgIFRoZSBPTFIgaXMg
Zm9yIGFuIGV4aXN0aW5nIG92ZXJsb2FkIGNvbmRpdGlvbiBpZiBhIHJlYWN0aW5nIG5vZGUg
aGFzXG4gICBhbiBPQ1MgdGhhdCBtYXRjaGVzIHRoZSByZWNlaXZlZCBPTFIuXG5cbiAgIEZv
ciBhIGhvc3QtcmVwb3J0IHRoaXMgbWVhbnMgaXQgbWF0Y2hlcyB0aGUgYXBwbGljYXRpb24t
aWQgYW5kIHRoZVxuICAgaG9zdFwncyBEaWFtZXRlcklkZW50aXR5IGluIGFuIGV4aXN0aW5n
IGhvc3QgT0NTIGVudHJ5LlxuXG4gICBGb3IgYSByZWFsbS1yZXBvcnQgdGhpcyBtZWFucyBp
dCBtYXRjaGVzIHRoZSBhcHBsaWNhdGlvbi1pZCBhbmQgdGhlXG4gICByZWFsbSBpbiBhbiBl
eGlzdGluZyByZWFsbSBPQ1MgZW50cnkuXG5cbiAgIElmIHRoZSBPTFIgaXMgZm9yIGFuIGV4
aXN0aW5nIG92ZXJsb2FkIGNvbmRpdGlvbiB0aGVuIGEgcmVhY3Rpbmcgbm9kZVxuICAgTVVT
VCBkZXRlcm1pbmUgaWYgdGhlIE9MUiBpcyBhIHJldHJhbnNtaXNzaW9uIG9yIGFuIHVwZGF0
ZSB0byB0aGVcbiAgIGV4aXN0aW5nIE9MUi5cblxuICAgSWYgdGhlIHNlcXVlbmNlIG51bWJl
ciBmb3IgdGhlIHJlY2VpdmVkIE9MUiBpcyBncmVhdGVyIHRoYW4gdGhlXG4gICBzZXF1ZW5j
ZSBudW1iZXIgc3RvcmVkIGluIHRoZSBtYXRjaGluZyBPQ1MgZW50cnkgdGhlbiBhIHJlYWN0
aW5nIG5vZGVcbiAgIE1VU1QgdXBkYXRlIHRoZSBtYXRjaGluZyBPQ1MgZW50cnkuXG5cbiAg
IElmIHRoZSBzZXF1ZW5jZSBudW1iZXIgZm9yIHRoZSByZWNlaXZlZCBPTFIgaXMgbGVzcyB0
aGFuIG9yIGVxdWFsIHRvXG4gICB0aGUgc2VxdWVuY2UgbnVtYmVyIGluIHRoZSBtYXRjaGlu
ZyBPQ1MgZW50cnkgdGhlbiBhIHJlYWN0aW5nIG5vZGVcbiAgIE1VU1Qgc2lsZW50bHkgaWdu
b3JlIHRoZSByZWNlaXZlZCBPTFIuICBUaGUgbWF0Y2hpbmcgT0NTIE1VU1QgTk9UIGJlXG4g
ICB1cGRhdGVkIGluIHRoaXMgY2FzZS5cblxuICAgSWYgdGhlIHJlY2VpdmVkIE9MUiBpcyBm
b3IgYSBuZXcgb3ZlcmxvYWQgY29uZGl0aW9uIHRoZW4gYSByZWFjdGluZ1xuICAgbm9kZSBN
VVNUIGdlbmVyYXRlIGEgbmV3IE9DUyBlbnRyeSBmb3IgdGhlIG92ZXJsb2FkIGNvbmRpdGlv
bi5cblxuICAgRm9yIGEgaG9zdC1yZXBvcnQgdGhpcyBtZWFucyBhIHJlYWN0aW5nIG5vZGUg
Y3JlYXRlcyBvbiBPQ1MgZW50cnlcbiAgIHdpdGggdGhlIGFwcGxpY2F0aW9uLWlkIGluIHRo
ZSByZWNlaXZlZCBtZXNzYWdlIGFuZCBEaWFtZXRlcklkZW50aXR5XG4gICBvZiB0aGUgT3Jp
Z2luLUhvc3QgaW4gdGhlIHJlY2VpdmVkIG1lc3NhZ2UuXG5cbiAgICAgIE5vdGU6IFRoaXMg
c29sdXRpb24gYXNzdW1lcyB0aGF0IHRoZSBPcmlnaW4tSG9zdCBBVlAgaW4gdGhlIGFuc3dl
clxuICAgICAgbWVzc2FnZSBpbmNsdWRlZCBieSB0aGUgcmVwb3J0aW5nIG5vZGUgaXMgbm90
IGNoYW5nZWQgYWxvbmcgdGhlXG4gICAgICBwYXRoIHRvIHRoZSByZWFjdGluZyBub2RlLlxu
XG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUg
ICAgICAgICAgICAgICAgW1BhZ2UgMTddXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4g
ICBGb3IgYSByZWFsbS1yZXBvcnQgdGhpcyBtZWFucyBhIHJlYWN0aW5nIG5vZGUgY3JlYXRl
cyBvbiBPQ1MgZW50cnlcbiAgIHdpdGggdGhlIGFwcGxpY2F0aW9uLWlkIGluIHRoZSByZWNl
aXZlZCBtZXNzYWdlIGFuZCByZWFsbSBvZiB0aGVcbiAgIE9yaWdpbi1SZWFsbSBpbiB0aGUg
cmVjZWl2ZWQgbWVzc2FnZS5cblxuICAgSWYgdGhlIHJlY2VpdmVkIE9MUiBjb250YWlucyBh
IHZhbGlkaXR5IGR1cmF0aW9uIG9mIHplcm8gKCIwIikgdGhlbiBhXG4gICByZWFjdGluZyBu
b2RlIE1VU1QgdXBkYXRlIHRoZSBPQ1MgZW50cnkgYXMgYmVpbmcgZXhwaXJlZC5cblxuICAg
ICAgTm90ZTogSXQgaXMgbm90IG5lY2Vzc2FyaWx5IGFwcHJvcHJpYXRlIHRvIGRlbGV0ZSB0
aGUgT0NTIGVudHJ5LFxuICAgICAgYXMgdGhlcmUgaXMgcmVjb21tZW5kZWQgYmVoYXZpb3Ig
dGhhdCB0aGUgcmVhY3Rpbmcgbm9kZSBzbG93bHlcbiAgICAgIHJldHVybnMgdG8gZnVsbCB0
cmFmZmljIHdoZW4gZW5kaW5nIGFuIG92ZXJsb2FkIGFiYXRlbWVudCBwZXJpb2QuXG5cbiAg
IFRoZSByZWFjdGluZyBub2RlIGRvZXMgbm90IGRlbGV0ZSBhbiBPQ1Mgd2hlbiByZWNlaXZp
bmcgYW4gYW5zd2VyXG4gICBtZXNzYWdlIHRoYXQgZG9lcyBub3QgY29udGFpbiBhbiBPQy1P
TFIgQVZQIChpLmUuIGFic2VuY2Ugb2YgT0xSXG4gICBtZWFucyAibm8gY2hhbmdlIikuXG5c
bjUuMi4xLjQuICBSZXBvcnRpbmcgTm9kZSBNYWludGVuYW5jZSBvZiBPdmVybG9hZCBDb250
cm9sIFN0YXRlXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGNyZWF0ZSBhIG5ldyBP
Q1MgZW50cnkgd2hlbiBlbnRlcmluZyBhblxuICAgb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4g
ICAgICBOb3RlOiBJZiBhIHJlcG9ydGluZyBub2RlIGtub3dzIHRocm91Z2ggYWJzZW5jZSBv
ZiB0aGUgT0MtXG4gICAgICBTdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIHJlY2VpdmVkIG1l
c3NhZ2VzIHRoYXQgdGhlcmUgYXJlIG5vXG4gICAgICByZWFjdGluZyBub2RlcyBzdXBwb3J0
aW5nIERPSUMgdGhlbiB0aGUgcmVwb3J0aW5nIG5vZGUgY2FuIGNob29zZVxuICAgICAgdG8g
bm90IGNyZWF0ZSBPQ1MgZW50cmllcy5cblxuICAgV2hlbiBnZW5lcmF0aW5nIGEgbmV3IE9D
UyBlbnRyeSB0aGUgc2VxdWVuY2UgbnVtYmVyIFNIT1VMRCBiZSBzZXQgdG9cbiAgIHplcm8g
KCIwIikuXG5cbiAgIFdoZW4gZ2VuZXJhdGluZyBzZXF1ZW5jZSBudW1iZXJzIGZvciBuZXcg
b3ZlcmxvYWQgY29uZGl0aW9ucywgdGhlIG5ld1xuICAgc2VxdWVuY2UgbnVtYmVyIE1VU1Qg
YmUgZ3JlYXRlciB0aGFuIGFueSBzZXF1ZW5jZSBudW1iZXIgaW4gYW4gYWN0aXZlXG4gICAo
dW5leHBpcmVkKSBvdmVybG9hZCByZXBvcnQgZm9yIHRoZSBzYW1lIGFwcGxpY2F0aW9uIGFu
ZCByZXBvcnQtdHlwZVxuICAgcHJldmlvdXNseSBzZW50IGJ5IHRoZSByZXBvcnRpbmcgbm9k
ZS4gIFRoaXMgcHJvcGVydHkgTVVTVCBob2xkIG92ZXJcbiAgIGEgcmVib290IG9mIHRoZSBy
ZXBvcnRpbmcgbm9kZS5cblxuICAgICAgTm90ZTogT25lIHdheSBvZiBhZGRyZXNzaW5nIHRo
aXMgb3ZlciBhIHJlYm9vdCBvZiBhIHJlcG9ydGluZyBub2RlXG4gICAgICBpcyB0byB1c2Ug
YSB0aW1lIHN0YW1wIGZvciB0aGUgZmlyc3Qgb3ZlcmxvYWQgY29uZGl0aW9uIHRoYXRcbiAg
ICAgIG9jY3VycyBhZnRlciB0aGUgcmVwb3J0IGFuZCB0byBzdGFydCB1c2luZyBzZXF1ZW5j
ZSBudW1iZXJzIG9mXG4gICAgICB6ZXJvIGZvciBzdWJzZXF1ZW50IG92ZXJsb2FkIGNvbmRp
dGlvbnMuXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5
IHdoZW4gaXQgbmVlZHMgdG8gYWRqdXN0IHRoZVxuICAgdmFsaWRpdHkgZHVyYXRpb24gb2Yg
dGhlIG92ZXJsb2FkIGNvbmRpdGlvbiBhdCByZWFjdGluZyBub2Rlcy5cblxuICAgICAgRm9y
IGluc3RhbmNlLCBpZiBhIHJlcG9ydGluZyBub2RlIHdpc2hlcyB0byBpbnN0cnVjdCByZWFj
dGluZ1xuICAgICAgbm9kZXMgdG8gY29udGludWUgb3ZlcmxvYWQgYWJhdGVtZW50IGZvciBh
IGxvbmdlciBwZXJpb2Qgb2YgdGltZVxuICAgICAgdGhhbiBvcmlnaW5hbGx5IGNvbW11bmlj
YXRlZC4gIFRoaXMgYWxzbyBhcHBsaWVzIGlmIHRoZSByZXBvcnRpbmdcbiAgICAgIG5vZGUg
d2lzaGVzIHRvIHNob3J0ZW4gdGhlIHBlcmlvZCBvZiB0aW1lIHRoYXQgb3ZlcmxvYWQgYWJh
dGVtZW50XG4gICAgICBpcyB0byBjb250aW51ZS5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFs
LiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2Ug
MThdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAg
ICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1V
U1QgTk9UIHVwZGF0ZSB0aGUgYWJhdGVtZW50IGFsZ29yaXRobSBpbiBhbiBhY3RpdmVcbiAg
IE9DUyBlbnRyeS5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIHVwZGF0ZSBhbiBPQ1Mg
ZW50cnkgd2hlbiBpdCB3aXNoZXMgdG8gYWRqdXN0XG4gICBhbnkgYWJhdGVtZW50IGFsZ29y
aXRobSBzcGVjaWZpYyBwYXJhbWV0ZXJzLCBpbmNsdWRpbmcsIGZvciBleGFtcGxlLFxuICAg
dGhlIHJlZHVjdGlvbiBwZXJjZW50YWdlIHVzZWQgZm9yIHRoZSBMb3NzIGFiYXRlbWVudCBh
bGdvcml0aG0uXG5cbiAgICAgIEZvciBpbnN0YW5jZSwgaWYgYSByZXBvcnRpbmcgbm9kZSB3
aXNoZXMgdG8gY2hhbmdlIHRoZSByZWR1Y3Rpb25cbiAgICAgIHBlcmNlbnRhZ2UgZWl0aGVy
IGhpZ2hlciwgaWYgdGhlIG92ZXJsb2FkIGNvbmRpdGlvbiBoYXMgd29yc2VuZWQsXG4gICAg
ICBvciBsb3dlciwgaWYgdGhlIG92ZXJsb2FkIGNvbmRpdGlvbiBoYXMgaW1wcm92ZWQsIHRo
ZW4gdGhlXG4gICAgICByZXBvcnRpbmcgbm9kZSB3b3VsZCB1cGRhdGUgdGhlIGFwcHJvcHJp
YXRlIE9DUyBlbnRyeS5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIGluY3JlbWVudCB0
aGUgc2VxdWVuY2UgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aFxuICAgdGhlIE9DUyBlbnRyeSBh
bnl0aW1lIHRoZSBjb250ZW50cyBvZiB0aGUgT0NTIGVudHJ5IGFyZSBjaGFuZ2VkLlxuICAg
VGhpcyB3aWxsIHJlc3VsdCBpbiBhIG5ldyBzZXF1ZW5jZSBudW1iZXIgYmVpbmcgc2VudCB0
byByZWFjdGluZ1xuICAgbm9kZXMsIGluc3RydWN0aW5nIHJlYWN0aW5nIG5vZGVzIHRvIHBy
b2Nlc3MgdGhlIE9DLU9MUiBBVlAuXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIHVw
ZGF0ZSBhbiBPQ1MgZW50cnkgd2l0aCBhIHZhbGlkaXR5IGR1cmF0aW9uXG4gICBvZiB6ZXJv
ICgiMCIpIHdoZW4gdGhlIG92ZXJsb2FkIGNvbmRpdGlvbiBlbmRzLlxuXG4gICAgICBOb3Rl
OiBJZiBhIHJlcG9ydGluZyBub2RlIGtub3dzIHRoYXQgdGhlIE9DUyBlbnRyaWVzIGluIHRo
ZVxuICAgICAgcmVhY3Rpbmcgbm9kZXMgYXJlIG5lYXIgZXhwaXJhdGlvbiB0aGVuIHRoZSBy
ZXBvcnRpbmcgbm9kZSBtaWdodFxuICAgICAgZGVjaWRlIG5vdCB0byBzZW5kIGFuIE9MUiB3
aXRoIGEgdmFsaWRpdHkgZHVyYXRpb24gb2YgemVyby5cblxuICAgQSByZXBvcnRpbmcgbm9k
ZSBNVVNUIGtlZXAgYW4gT0NTIGVudHJ5IHdpdGggYSB2YWxpZGl0eSBkdXJhdGlvbiBvZlxu
ICAgemVybyAoIjAiKSBmb3IgYSBwZXJpb2Qgb2YgdGltZSBsb25nIGVub3VnaCB0byBlbnN1
cmUgdGhhdCBhbnkgbm9uLVxuICAgZXhwaXJlZCByZWFjdGluZyBub2RlXCdzIE9DUyBlbnRy
eSBjcmVhdGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBvdmVybG9hZFxuICAgY29uZGl0aW9uIGlu
IHRoZSByZXBvcnRpbmcgbm9kZSBpcyBkZWxldGVkLlxuXG41LjIuMi4gIFJlYWN0aW5nIE5v
ZGUgQmVoYXZpb3JcblxuICAgV2hlbiBhIHJlYWN0aW5nIG5vZGUgc2VuZHMgYSByZXF1ZXN0
IGl0IE1VU1QgZGV0ZXJtaW5lIGlmIHRoYXRcbiAgIHJlcXVlc3QgbWF0Y2hlcyBhbiBhY3Rp
dmUgT0NTLlxuXG4gICBJZiB0aGUgcmVxdWVzdCBtYXRjaGVzIGFuIGFjdGl2ZSBPQ1MgdGhl
biB0aGUgcmVhY3Rpbmcgbm9kZSBNVVNUIHVzZVxuICAgdGhlIG92ZXJsb2FkIGFiYXRlbWVu
dCBhbGdvcml0aG0gaW5kaWNhdGVkIGluIHRoZSBPQ1MgdG8gZGV0ZXJtaW5lIGlmXG4gICB0
aGUgcmVxdWVzdCBpcyB0byByZWNlaXZlIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnQu
XG5cbiAgIEZvciB0aGUgTG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtIGRlZmluZWQgaW4gdGhp
cyBzcGVjaWZpY2F0aW9uLCBzZWVcbiAgIFNlY3Rpb24gNiBmb3IgdGhlIG92ZXJsb2FkIGFi
YXRlbWVudCBhbGdvcml0aG0gbG9naWMgYXBwbGllZC5cblxuICAgSWYgdGhlIG92ZXJsb2Fk
IGFiYXRlbWVudCBhbGdvcml0aG0gc2VsZWN0cyB0aGUgcmVxdWVzdCBmb3Igb3ZlcmxvYWRc
biAgIGFiYXRlbWVudCB0cmVhdG1lbnQgdGhlbiB0aGUgcmVhY3Rpbmcgbm9kZSBNVVNUIGFw
cGx5IG92ZXJsb2FkXG4gICBhYmF0ZW1lbnQgdHJlYXRtZW50IG9uIHRoZSByZXF1ZXN0LiAg
VGhlIGFiYXRlbWVudCB0cmVhdG1lbnQgYXBwbGllZFxuICAgZGVwZW5kcyBvbiB0aGUgY29u
dGV4dCBvZiB0aGUgcmVxdWVzdC5cblxuICAgSWYgZGl2ZXJzaW9uIGFiYXRlbWVudCB0cmVh
dG1lbnQgaXMgcG9zc2libGUgKGkuZS4gYSBkaWZmZXJlbnQgcGF0aFxuICAgZm9yIHRoZSBy
ZXF1ZXN0IGNhbiBiZSBzZWxlY3RlZCB3aGVyZSB0aGUgb3ZlcmxvYWRlZCBub2RlIGlzIG5v
dCBwYXJ0XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAx
MiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxOV1cbl9cbkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAx
NVxuXG5cbiAgIG9mIHRoZSBkaWZmZXJlbnQgcGF0aCksIHRoZW4gdGhlIHJlYWN0aW5nIG5v
ZGUgU0hPVUxEIGFwcGx5IGRpdmVyc2lvblxuICAgYWJhdGVtZW50IHRyZWF0bWVudCB0byB0
aGUgcmVxdWVzdC4gIE90aGVyd2lzZSB0aGUgcmVhY3Rpbmcgbm9kZVxuICAgU0hPVUxEIGFw
cGx5IHRocm90dGxpbmcgYWJhdGVtZW50IHRyZWF0bWVudCB0byB0aGUgcmVxdWVzdC5cblxu
ICAgSWYgdGhlIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnQgcmVzdWx0cyBpbiB0aHJv
dHRsaW5nIG9mIHRoZVxuICAgcmVxdWVzdCBhbmQgaWYgdGhlIHJlYWN0aW5nIG5vZGUgaXMg
YW4gYWdlbnQgdGhlbiB0aGUgYWdlbnQgTVVTVCBzZW5kXG4gICBhbiBhcHByb3ByaWF0ZSBl
cnJvciBhcyBkZWZpbmVkIGluIFNlY3Rpb24gOC5cblxuICAgRGlhbWV0ZXIgZW5kcG9pbnRz
IHRoYXQgdGhyb3R0bGUgcmVxdWVzdHMgbmVlZCB0byBkbyBzbyBhY2NvcmRpbmcgdG9cbiAg
IHRoZSBydWxlcyBvZiB0aGUgY2xpZW50IGFwcGxpY2F0aW9uLiAgVGhvc2UgcnVsZXMgd2ls
bCB2YXJ5IGJ5XG4gICBhcHBsaWNhdGlvbiwgYW5kIGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9m
IHRoaXMgZG9jdW1lbnQuXG5cbiAgIEluIHRoZSBjYXNlIHRoYXQgdGhlIE9DUyBlbnRyeSBp
bmRpY2F0ZWQgbm8gdHJhZmZpYyB3YXMgdG8gYmUgc2VudCB0b1xuICAgdGhlIG92ZXJsb2Fk
ZWQgZW50aXR5IGFuZCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gZXhwaXJlcyB0aGVuIG92ZXJs
b2FkXG4gICBhYmF0ZW1lbnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBvdmVybG9hZCByZXBvcnQg
TVVTVCBiZSBlbmRlZCBpbiBhXG4gICBjb250cm9sbGVkIGZhc2hpb24uXG5cbjUuMi4zLiAg
UmVwb3J0aW5nIE5vZGUgQmVoYXZpb3JcblxuICAgSWYgdGhlcmUgaXMgYW4gYWN0aXZlIE9D
UyBlbnRyeSB0aGVuIGEgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGluY2x1ZGVcbiAgIHRoZSBP
Qy1PTFIgQVZQIGluIGFsbCBhbnN3ZXJzIHRvIHJlcXVlc3RzIHRoYXQgY29udGFpbiB0aGUg
T0MtXG4gICBTdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGFuZCB0aGF0IG1hdGNoIHRoZSBhY3Rp
dmUgT0NTIGVudHJ5LlxuXG4gICAgICBOb3RlOiBBIHJlcXVlc3QgbWF0Y2hlcyBpZiB0aGUg
YXBwbGljYXRpb24taWQgaW4gdGhlIHJlcXVlc3RcbiAgICAgIG1hdGNoZXMgdGhlIGFwcGxp
Y2F0aW9uLWlkIGluIGFueSBhY3RpdmUgT0NTIGVudHJ5IGFuZCBpZiB0aGVcbiAgICAgIHJl
cG9ydC10eXBlIGluIHRoZSBPQ1MgZW50cnkgbWF0Y2hlcyBhIHJlcG9ydC10eXBlIHN1cHBv
cnRlZCBieVxuICAgICAgdGhlIHJlcG9ydGluZyBub2RlIGFzIGluZGljYXRlZCBpbiB0aGUg
T0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC5cblxuICAgVGhlIGNvbnRlbnRzIG9mIHRoZSBP
Qy1PTFIgQVZQIGRlcGVuZCBvbiB0aGUgc2VsZWN0ZWQgYWxnb3JpdGhtLlxuXG4gICBBIHJl
cG9ydGluZyBub2RlIE1BWSBjaG9vc2UgdG8gbm90IHJlc2VuZCBhbiBvdmVybG9hZCByZXBv
cnQgdG8gYVxuICAgcmVhY3Rpbmcgbm9kZSBpZiBpdCBjYW4gZ3VhcmFudGVlIHRoYXQgdGhp
cyBvdmVybG9hZCByZXBvcnQgaXNcbiAgIGFscmVhZHkgYWN0aXZlIGluIHRoZSByZWFjdGlu
ZyBub2RlLlxuXG4gICAgICBOb3RlOiBJbiBzb21lIGNhc2VzIChlLmcuIHdoZW4gdGhlcmUg
YXJlIG9uZSBvciBtb3JlIGFnZW50cyBpbiB0aGVcbiAgICAgIHBhdGggYmV0d2VlbiByZXBv
cnRpbmcgYW5kIHJlYWN0aW5nIG5vZGVzLCBvciB3aGVuIG92ZXJsb2FkXG4gICAgICByZXBv
cnRzIGFyZSBkaXNjYXJkZWQgYnkgcmVhY3Rpbmcgbm9kZXMpIGEgcmVwb3J0aW5nIG5vZGUg
bWF5IG5vdFxuICAgICAgYmUgYWJsZSB0byBndWFyYW50ZWUgdGhhdCB0aGUgcmVhY3Rpbmcg
bm9kZSBoYXMgcmVjZWl2ZWQgdGhlXG4gICAgICByZXBvcnQuXG5cbiAgIEEgcmVwb3J0aW5n
IG5vZGUgTVVTVCBOT1Qgc2VuZCBvdmVybG9hZCByZXBvcnRzIG9mIGEgdHlwZSB0aGF0IGhh
c1xuICAgbm90IGJlZW4gYWR2ZXJ0aXNlZCBhcyBzdXBwb3J0ZWQgYnkgdGhlIHJlYWN0aW5n
IG5vZGUuXG5cbiAgICAgIE5vdGU6IEEgcmVhY3Rpbmcgbm9kZSBpbXBsaWNpdGx5IGFkdmVy
dGlzZXMgc3VwcG9ydCBmb3IgdGhlIGhvc3RcbiAgICAgIGFuZCByZWFsbSByZXBvcnQgdHlw
ZXMgYnkgaW5jbHVkaW5nIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQXG4gICAgICBp
biB0aGUgcmVxdWVzdC4gIFN1cHBvcnQgZm9yIG90aGVyIHJlcG9ydCB0eXBlcyB3aWxsIGJl
IGV4cGxpY2l0bHlcbiAgICAgIGluZGljYXRlZCBieSBuZXcgZmVhdHVyZSBiaXRzIGluIHRo
ZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAg
ICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDIwXVxu
X1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAg
ICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBTSE9VTEQg
ZXhwbGljaXRseSBpbmRpY2F0ZSB0aGUgZW5kIG9mIGFuIG92ZXJsb2FkXG4gICBvY2N1cnJl
bmNlIGJ5IHNlbmRpbmcgYSBuZXcgT0xSIHdpdGggT0MtVmFsaWRpdHktRHVyYXRpb24gc2V0
IHRvIGFcbiAgIHZhbHVlIG9mIHplcm8gKCIwIikuICBUaGUgcmVwb3J0aW5nIG5vZGUgU0hP
VUxEIGVuc3VyZSB0aGF0IGFsbFxuICAgcmVhY3Rpbmcgbm9kZXMgcmVjZWl2ZSB0aGUgdXBk
YXRlZCBvdmVybG9hZCByZXBvcnQuXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTUFZIHJlbHkg
b24gdGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCB2YWx1ZXMgZm9yXG4gICB0aGUgaW1w
bGljaXQgb3ZlcmxvYWQgY29udHJvbCBzdGF0ZSBjbGVhbnVwIG9uIHRoZSByZWFjdGluZyBu
b2RlLlxuXG4gICAgICBOb3RlOiBBbGwgT0xScyBzZW50IGhhdmUgYW4gZXhwaXJhdGlvbiB0
aW1lIGNhbGN1bGF0ZWQgYnkgYWRkaW5nXG4gICAgICB0aGUgdmFsaWRpdHktZHVyYXRpb24g
Y29udGFpbmVkIGluIHRoZSBPTFIgdG8gdGhlIHRpbWUgdGhlIG1lc3NhZ2VcbiAgICAgIHdh
cyBzZW50LiAgVHJhbnNpdCB0aW1lIGZvciB0aGUgT0xSIGNhbiBiZSBzYWZlbHkgaWdub3Jl
ZC4gIFRoZVxuICAgICAgcmVwb3J0aW5nIG5vZGUgY2FuIGVuc3VyZSB0aGF0IGFsbCByZWFj
dGluZyBub2RlcyBoYXZlIHJlY2VpdmVkXG4gICAgICB0aGUgT0xSIGJ5IGNvbnRpbnVpbmcg
dG8gc2VuZCBpdCBpbiBhbnN3ZXIgbWVzc2FnZXMgdW50aWwgdGhlXG4gICAgICBleHBpcmF0
aW9uIHRpbWUgZm9yIGFsbCBPTFJzIHNlbnQgZm9yIHRoYXQgb3ZlcmxvYWQgY29uZGl0aW9u
IGhhdmVcbiAgICAgIGV4cGlyZWQuXG5cbiAgIFdoZW4gYSByZXBvcnRpbmcgbm9kZSBzZW5k
cyBhbiBPTFIsIGl0IGVmZmVjdGl2ZWx5IGRlbGVnYXRlcyBhbnlcbiAgIG5lY2Vzc2FyeSB0
aHJvdHRsaW5nIHRvIGRvd25zdHJlYW0gbm9kZXMuICBJZiB0aGUgcmVwb3J0aW5nIG5vZGUg
YWxzb1xuICAgbG9jYWxseSB0aHJvdHRsZXMgdGhlIHNhbWUgc2V0IG9mIG1lc3NhZ2VzLCB0
aGUgb3ZlcmFsbCBudW1iZXIgb2ZcbiAgIHRocm90dGxlZCByZXF1ZXN0cyBtYXkgYmUgaGln
aGVyIHRoYW4gaW50ZW5kZWQuICBUaGVyZWZvcmUsIGJlZm9yZVxuICAgYXBwbHlpbmcgbG9j
YWwgbWVzc2FnZSB0aHJvdHRsaW5nLCBhIHJlcG9ydGluZyBub2RlIG5lZWRzIHRvIGNoZWNr
IGlmXG4gICB0aGVzZSBtZXNzYWdlcyBtYXRjaCBleGlzdGluZyBPQ1MgZW50cmllcywgaW5k
aWNhdGluZyB0aGF0IHRoZXNlXG4gICBtZXNzYWdlcyBoYXZlIHN1cnZpdmVkIHRocm90dGxp
bmcgYXBwbGllZCBieSBkb3duc3RyZWFtIG5vZGVzIHRoYXRcbiAgIGhhdmUgcmVjZWl2ZWQg
dGhlIHJlbGF0ZWQgT0xSLlxuXG4gICBIb3dldmVyLCBldmVuIGlmIHRoZSBzZXQgb2YgbWVz
c2FnZXMgbWF0Y2ggZXhpc3RpbmcgT0NTIGVudHJpZXMsIHRoZVxuICAgcmVwb3J0aW5nIG5v
ZGUgY2FuIHN0aWxsIGFwcGx5IG90aGVyIGFiYXRlbWVudCBtZXRob2RzIHN1Y2ggYXNcbiAg
IGRpdmVyc2lvbi4gIFRoZSByZXBvcnRpbmcgbm9kZSBtaWdodCBhbHNvIG5lZWQgdG8gdGhy
b3R0bGUgcmVxdWVzdHNcbiAgIGZvciByZWFzb25zIG90aGVyIHRoYW4gb3ZlcmxvYWQuICBG
b3IgZXhhbXBsZSwgYW4gYWdlbnQgb3Igc2VydmVyXG4gICBtaWdodCBoYXZlIGEgY29uZmln
dXJlZCByYXRlIGxpbWl0IGZvciBlYWNoIGNsaWVudCwgYW5kIHRocm90dGxlXG4gICByZXF1
ZXN0cyB0aGF0IGV4Y2VlZCB0aGF0IGxpbWl0LCBldmVuIGlmIHN1Y2ggcmVxdWVzdHMgaGFk
IGFscmVhZHlcbiAgIGJlZW4gY2FuZGlkYXRlcyBmb3IgdGhyb3R0bGluZyBieSBkb3duc3Ry
ZWFtIG5vZGVzLiAgVGhlIHJlcG9ydGluZ1xuICAgbm9kZSBhbHNvIGhhcyB0aGUgb3B0aW9u
IHRvIHNlbmQgbmV3IE9MUnMgcmVxdWVzdGluZyBncmVhdGVyXG4gICByZWR1Y3Rpb25zIGlu
IHRyYWZmaWMsIHJlZHVjaW5nIHRoZSBuZWVkIGZvciBsb2NhbCB0aHJvdHRsaW5nLlxuXG4g
ICBBIHJlcG9ydGluZyBub2RlIFNIT1VMRCBkZWNyZWFzZSByZXF1ZXN0ZWQgb3ZlcmxvYWQg
YWJhdGVtZW50XG4gICB0cmVhdG1lbnQgaW4gYSBjb250cm9sbGVkIGZhc2hpb24gdG8gYXZv
aWQgb3NjaWxsYXRpb25zIGluIHRyYWZmaWMuXG5cbiAgICAgIEZvciBleGFtcGxlLCBpdCBt
aWdodCB3YWl0IHNvbWUgcGVyaW9kIG9mIHRpbWUgYWZ0ZXIgb3ZlcmxvYWQgZW5kc1xuICAg
ICAgYmVmb3JlIHRlcm1pbmF0aW5nIHRoZSBPTFIsIG9yIGl0IG1pZ2h0IHNlbmQgYSBzZXJp
ZXMgb2YgT0xSc1xuICAgICAgaW5kaWNhdGluZyBwcm9ncmVzc2l2ZWx5IGxlc3Mgb3Zlcmxv
YWQgc2V2ZXJpdHkuXG5cbjUuMy4gIFByb3RvY29sIEV4dGVuc2liaWxpdHlcblxuICAgVGhl
IERPSUMgc29sdXRpb24gY2FuIGJlIGV4dGVuZGVkLiAgVHlwZXMgb2YgcG90ZW50aWFsIGV4
dGVuc2lvbnNcbiAgIGluY2x1ZGUgbmV3IHRyYWZmaWMgYWJhdGVtZW50IGFsZ29yaXRobXMs
IG5ldyByZXBvcnQgdHlwZXMgb3Igb3RoZXJcbiAgIG5ldyBmdW5jdGlvbmFsaXR5LlxuXG5c
blxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAg
ICAgICAgICAgICAgICBbUGFnZSAyMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAg
IFdoZW4gZGVmaW5pbmcgYSBuZXcgZXh0ZW5zaW9uIHRoYXQgcmVxdWlyZXMgbmV3IG5vcm1h
dGl2ZSBiZWhhdmlvcixcbiAgIHRoZSBzcGVjaWZpY2F0aW9uIE1VU1QgZGVmaW5lIGEgbmV3
IGZlYXR1cmUgZm9yIHRoZSBPQy1GZWF0dXJlLVxuICAgVmVjdG9yLiAgVGhpcyBmZWF0dXJl
IGJpdCBpcyB1c2VkIHRvIGNvbW11bmljYXRlIHN1cHBvcnQgZm9yIHRoZSBuZXdcbiAgIGZl
YXR1cmUuXG5cbiAgIFRoZSBleHRlbnNpb24gTUFZIGRlZmluZSBuZXcgQVZQcyBmb3IgdXNl
IGluIERPSUMgQ2FwYWJpbGl0eVxuICAgQW5ub3VuY2VtZW50IGFuZCBmb3IgdXNlIGluIERP
SUMgT3ZlcmxvYWQgcmVwb3J0aW5nLiAgVGhlc2UgbmV3IEFWUHNcbiAgIFNIT1VMRCBiZSBk
ZWZpbmVkIHRvIGJlIGV4dGVuc2lvbnMgdG8gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBv
clxuICAgT0MtT0xSIEFWUHMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50LlxuXG4gICBbUkZD
NjczM10gZGVmaW5lZCBHcm91cGVkIEFWUCBleHRlbnNpb24gbWVjaGFuaXNtcyBhcHBseS4g
IFRoaXNcbiAgIGFsbG93cywgZm9yIGV4YW1wbGUsIGRlZmluaW5nIGEgbmV3IGZlYXR1cmUg
dGhhdCBpcyBtYW5kYXRvcnkgdG8gYmVcbiAgIHVuZGVyc3Rvb2QgZXZlbiB3aGVuIHBpZ2d5
YmFja2VkIG9uIGFuIGV4aXN0aW5nIGFwcGxpY2F0aW9uLlxuXG4gICBXaGVuIGRlZmluaW5n
IG5ldyByZXBvcnQgdHlwZSB2YWx1ZXMsIHRoZSBjb3JyZXNwb25kaW5nIHNwZWNpZmljYXRp
b25cbiAgIE1VU1QgZGVmaW5lIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIG5ldyByZXBvcnQgdHlw
ZXMgYW5kIGhvdyB0aGV5IGFmZmVjdFxuICAgdGhlIE9DLU9MUiBBVlAgaGFuZGxpbmcuXG5c
biAgIFRoZSBPQy1PTFIgQVZQIGNhbiBiZSBleHBhbmRlZCB3aXRoIG9wdGlvbmFsIHN1Yi1B
VlBzIG9ubHkgaWYgYVxuICAgbGVnYWN5IERPSUMgaW1wbGVtZW50YXRpb24gY2FuIHNhZmVs
eSBpZ25vcmUgdGhlbSB3aXRob3V0IGJyZWFraW5nXG4gICBiYWNrd2FyZCBjb21wYXRpYmls
aXR5IGZvciB0aGUgZ2l2ZW4gT0MtUmVwb3J0LVR5cGUgQVZQIHZhbHVlLlxuXG4gICBEb2N1
bWVudHMgdGhhdCBpbnRyb2R1Y2UgbmV3IHJlcG9ydCB0eXBlcyBNVVNUIGRlc2NyaWJlIGFu
eVxuICAgbGltaXRhdGlvbnMgb24gdGhlaXIgdXNlIGFjcm9zcyBub24tc3VwcG9ydGluZyBh
Z2VudHMuXG5cbiAgIEFzIHdpdGggYW55IERpYW1ldGVyIHNwZWNpZmljYXRpb24sIFJGQzY3
MzMgcmVxdWlyZXMgYWxsIG5ldyBBVlBzIHRvXG4gICBiZSByZWdpc3RlcmVkIHdpdGggSUFO
QS4gIFNlZSBTZWN0aW9uIDkgZm9yIHRoZSByZXF1aXJlZCBwcm9jZWR1cmVzLlxuICAgTmV3
IGZlYXR1cmVzIChmZWF0dXJlIGJpdHMgaW4gdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCkg
YW5kIHJlcG9ydFxuICAgdHlwZXMgKGluIHRoZSBPQy1SZXBvcnQtVHlwZSBBVlApIE1VU1Qg
YmUgcmVnaXN0ZXJlZCB3aXRoIElBTkEuXG5cbjYuICBMb3NzIEFsZ29yaXRobVxuXG4gICBU
aGlzIHNlY3Rpb24gZG9jdW1lbnRzIHRoZSBEaWFtZXRlciBvdmVybG9hZCBsb3NzIGFiYXRl
bWVudFxuICAgYWxnb3JpdGhtLlxuXG42LjEuICBPdmVydmlld1xuXG4gICBUaGUgRE9JQyBz
cGVjaWZpY2F0aW9uIHN1cHBvcnRzIHRoZSBhYmlsaXR5IGZvciBtdWx0aXBsZSBvdmVybG9h
ZFxuICAgYWJhdGVtZW50IGFsZ29yaXRobXMgdG8gYmUgc3BlY2lmaWVkLiAgVGhlIGFiYXRl
bWVudCBhbGdvcml0aG0gdXNlZFxuICAgZm9yIGFueSBpbnN0YW5jZSBvZiBvdmVybG9hZCBp
cyBkZXRlcm1pbmVkIGJ5IHRoZSBEaWFtZXRlciBPdmVybG9hZFxuICAgQ2FwYWJpbGl0eSBB
bm5vdW5jZW1lbnQgcHJvY2VzcyBkb2N1bWVudGVkIGluIFNlY3Rpb24gNS4xLlxuXG4gICBU
aGUgbG9zcyBhbGdvcml0aG0gZGVzY3JpYmVkIGluIHRoaXMgc2VjdGlvbiBpcyB0aGUgZGVm
YXVsdCBhbGdvcml0aG1cbiAgIHRoYXQgbXVzdCBiZSBzdXBwb3J0ZWQgYnkgYWxsIERpYW1l
dGVyIG5vZGVzIHRoYXQgc3VwcG9ydCBET0lDLlxuXG4gICBUaGUgbG9zcyBhbGdvcml0aG0g
aXMgZGVzaWduZWQgdG8gYmUgYSBzdHJhaWdodGZvcndhcmQgYW5kIHN0YXRlbGVzc1xuICAg
b3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobS4gIEl0IGlzIHVzZWQgYnkgcmVwb3J0aW5n
IG5vZGVzIHRvXG4gICByZXF1ZXN0IGEgcGVyY2VudGFnZSByZWR1Y3Rpb24gaW4gdGhlIGFt
b3VudCBvZiB0cmFmZmljIHNlbnQuICBUaGVcblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAg
ICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDIyXVxu
X1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAg
ICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgdHJhZmZpYyBpbXBhY3RlZCBieSB0aGUg
cmVxdWVzdGVkIHJlZHVjdGlvbiBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mXG4gICBvdmVybG9h
ZCByZXBvcnQuXG5cbiAgIFJlcG9ydGluZyBub2RlcyByZXF1ZXN0IHRoZSBzdGF0ZWxlc3Mg
cmVkdWN0aW9uIG9mIHRoZSBudW1iZXIgb2ZcbiAgIHJlcXVlc3RzIGJ5IGFuIGluZGljYXRl
ZCBwZXJjZW50YWdlLiAgVGhpcyBwZXJjZW50YWdlIHJlZHVjdGlvbiBpcyBpblxuICAgY29t
cGFyaXNvbiB0byB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoZSBub2RlIG90aGVyd2lzZSB3
b3VsZCBzZW5kLFxuICAgcmVnYXJkbGVzcyBvZiBob3cgbWFueSByZXF1ZXN0cyB0aGUgbm9k
ZSBtaWdodCBoYXZlIHNlbnQgaW4gdGhlIHBhc3QuXG5cbiAgIEZyb20gYSBjb25jZXB0dWFs
IGxldmVsLCB0aGUgbG9naWMgYXQgdGhlIHJlYWN0aW5nIG5vZGUgY291bGQgYmVcbiAgIG91
dGxpbmVkIGFzIGZvbGxvd3MuXG5cbiAgIDEuICBBbiBvdmVybG9hZCByZXBvcnQgaXMgcmVj
ZWl2ZWQgYW5kIHRoZSBhc3NvY2lhdGVkIE9DUyBpcyBlaXRoZXJcbiAgICAgICBzYXZlZCBv
ciB1cGRhdGVkIChpZiByZXF1aXJlZCkgYnkgdGhlIHJlYWN0aW5nIG5vZGUuXG5cbiAgIDIu
ICBBIG5ldyBEaWFtZXRlciByZXF1ZXN0IGlzIGdlbmVyYXRlZCBieSB0aGUgYXBwbGljYXRp
b24gcnVubmluZyBvblxuICAgICAgIHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAzLiAgVGhl
IHJlYWN0aW5nIG5vZGUgZGV0ZXJtaW5lcyB0aGF0IGFuIGFjdGl2ZSBvdmVybG9hZCByZXBv
cnRcbiAgICAgICBhcHBsaWVzIHRvIHRoZSByZXF1ZXN0LCBhcyBpbmRpY2F0ZWQgYnkgdGhl
IGNvcnJlc3BvbmRpbmcgT0NTXG4gICAgICAgZW50cnkuXG5cbiAgIDQuICBUaGUgcmVhY3Rp
bmcgbm9kZSBkZXRlcm1pbmVzIGlmIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnRcbiAg
ICAgICBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgcmVxdWVzdC4gIE9uZSBhcHByb2FjaCB0
aGF0IGNvdWxkIGJlXG4gICAgICAgdGFrZW4gZm9yIGVhY2ggcmVxdWVzdCBpcyB0byBzZWxl
Y3QgYSByYW5kb20gbnVtYmVyIGJldHdlZW4gMSBhbmRcbiAgICAgICAxMDAuICBJZiB0aGUg
cmFuZG9tIG51bWJlciBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGluZGljYXRlZFxu
ICAgICAgIHJlZHVjdGlvbiBwZXJjZW50YWdlIHRoZW4gdGhlIHJlcXVlc3QgaXMgZ2l2ZW4g
YWJhdGVtZW50XG4gICAgICAgdHJlYXRtZW50LCBvdGhlcndpc2UgdGhlIHJlcXVlc3QgaXMg
Z2l2ZW4gbm9ybWFsIHJvdXRpbmdcbiAgICAgICB0cmVhdG1lbnQuXG5cbjYuMi4gIFJlcG9y
dGluZyBOb2RlIEJlaGF2aW9yXG5cbiAgIFRoZSBtZXRob2QgYSByZXBvcnRpbmcgbm9kZSB1
c2VzIHRvIGRldGVybWluZSB0aGUgYW1vdW50IG9mIHRyYWZmaWNcbiAgIHJlZHVjdGlvbiBy
ZXF1aXJlZCB0byBhZGRyZXNzIGFuIG92ZXJsb2FkIGNvbmRpdGlvbiBpcyBhblxuICAgaW1w
bGVtZW50YXRpb24gZGVjaXNpb24uXG5cbiAgIFdoZW4gYSByZXBvcnRpbmcgbm9kZSB0aGF0
IGhhcyBzZWxlY3RlZCB0aGUgbG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtXG4gICBkZXRlcm1p
bmVzIHRoZSBuZWVkIHRvIHJlcXVlc3QgYSByZWR1Y3Rpb24gaW4gdHJhZmZpYywgaXQgaW5j
bHVkZXMgYW5cbiAgIE9DLU9MUiBBVlAgaW4gYW5zd2VyIG1lc3NhZ2VzIGFzIGRlc2NyaWJl
ZCBpbiBTZWN0aW9uIDUuMi4zLlxuXG4gICBXaGVuIHNlbmRpbmcgdGhlIE9DLU9MUiBBVlAs
IHRoZSByZXBvcnRpbmcgbm9kZSBNVVNUIGluZGljYXRlIGFcbiAgIHBlcmNlbnRhZ2UgcmVk
dWN0aW9uIGluIHRoZSBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBBVlAuXG5cbiAgIFRoZSBy
ZXBvcnRpbmcgbm9kZSBNQVkgY2hhbmdlIHRoZSByZWR1Y3Rpb24gcGVyY2VudGFnZSBpbiBz
dWJzZXF1ZW50XG4gICBvdmVybG9hZCByZXBvcnRzLiAgV2hlbiBkb2luZyBzbyB0aGUgcmVw
b3J0aW5nIG5vZGUgbXVzdCBjb25mb3JtIHRvXG4gICBvdmVybG9hZCByZXBvcnQgaGFuZGlu
ZyBzcGVjaWZpZWQgaW4gU2VjdGlvbiA1LjIuMy5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBl
dCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQ
YWdlIDIzXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAg
ICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuNi4zLiAgUmVhY3RpbmcgTm9k
ZSBCZWhhdmlvclxuXG4gICBUaGUgbWV0aG9kIGEgcmVhY3Rpbmcgbm9kZSB1c2VzIHRvIGRl
dGVybWluZSB3aGljaCByZXF1ZXN0IG1lc3NhZ2VzXG4gICBhcmUgZ2l2ZW4gYWJhdGVtZW50
IHRyZWF0bWVudCBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZWNpc2lvbi5cblxuICAgV2hlbiBy
ZWNlaXZpbmcgYW4gT0MtT0xSIGluIGFuIGFuc3dlciBtZXNzYWdlIHdoZXJlIHRoZSBhbGdv
cml0aG1cbiAgIGluZGljYXRlZCBpbiB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBp
cyB0aGUgbG9zcyBhbGdvcml0aG0sIHRoZVxuICAgcmVhY3Rpbmcgbm9kZSBNVVNUIGFwcGx5
IGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gdGhlIHJlcXVlc3RlZFxuICAgcGVyY2VudGFnZSBv
ZiByZXF1ZXN0IG1lc3NhZ2VzIHNlbnQuXG5cbiAgICAgIE5vdGU6IFRoZSBsb3NzIGFsZ29y
aXRobSBpcyBhIHN0YXRlbGVzcyBhbGdvcml0aG0uICBBcyBhIHJlc3VsdCxcbiAgICAgIHRo
ZSByZWFjdGluZyBub2RlIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIHdpbGwgYmUg
YW5cbiAgICAgIGFic29sdXRlIHJlZHVjdGlvbiBpbiB0cmFmZmljIHNlbnQuICBSYXRoZXIs
IGl0IGd1YXJhbnRlZXMgdGhhdFxuICAgICAgdGhlIHJlcXVlc3RlZCBwZXJjZW50YWdlIG9m
IG5ldyByZXF1ZXN0cyB3aWxsIGJlIGdpdmVuIGFiYXRlbWVudFxuICAgICAgdHJlYXRtZW50
LlxuXG4gICBXaGVuIGFwcGx5aW5nIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnQgZm9y
IHRoZSBsb3NzIGFiYXRlbWVudFxuICAgYWxnb3JpdGhtLCB0aGUgcmVhY3Rpbmcgbm9kZSBN
VVNUIGFiYXRlIHRoZSByZXF1ZXN0ZWQgcGVyY2VudGFnZSBvZlxuICAgcmVxdWVzdHMgdGhh
dCB3b3VsZCBoYXZlIG90aGVyd2lzZSBiZWVuIHNlbnQgdG8gdGhlIHJlcG9ydGluZyBob3N0
IG9yXG4gICByZWFsbS5cblxuICAgSWYgcmVhY3Rpbmcgbm9kZSBjb21lcyBvdXQgb2YgdGhl
IDEwMCBwZXJjZW50IHRyYWZmaWMgcmVkdWN0aW9uIGFzIGFcbiAgIHJlc3VsdCBvZiB0aGUg
b3ZlcmxvYWQgcmVwb3J0IHRpbWluZyBvdXQsIHRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlc1xu
ICAgYXJlIFJFQ09NTUVOREVEIHRvIGJlIGFwcGxpZWQuICBUaGUgcmVhY3Rpbmcgbm9kZSBz
ZW5kaW5nIHRoZSB0cmFmZmljXG4gICBzaG91bGQgYmUgY29uc2VydmF0aXZlIGFuZCwgZm9y
IGV4YW1wbGUsIGZpcnN0IHNlbmQgInByb2JlIiBtZXNzYWdlc1xuICAgdG8gbGVhcm4gdGhl
IG92ZXJsb2FkIGNvbmRpdGlvbiBvZiB0aGUgb3ZlcmxvYWRlZCBub2RlIGJlZm9yZVxuICAg
Y29udmVyZ2luZyB0byBhbnkgdHJhZmZpYyBhbW91bnQvcmF0ZSBkZWNpZGVkIGJ5IHRoZSBz
ZW5kZXIuICBTaW1pbGFyXG4gICBjb25jZXJucyBhcHBseSBpbiBhbGwgY2FzZXMgd2hlbiB0
aGUgb3ZlcmxvYWQgcmVwb3J0IHRpbWVzIG91dCB1bmxlc3NcbiAgIHRoZSBwcmV2aW91cyBv
dmVybG9hZCByZXBvcnQgc3RhdGVkIDAgcGVyY2VudCByZWR1Y3Rpb24uXG5cbiAgICAgIFRo
ZSBnb2FsIG9mIHRoaXMgYmVoYXZpb3IgaXMgdG8gcmVkdWNlIHRoZSBwcm9iYWJpbGl0eSBv
ZiBvdmVybG9hZFxuICAgICAgY29uZGl0aW9uIHRocmFzaGluZyB3aGVyZSBhbiBpbW1lZGlh
dGUgdHJhbnNpdGlvbiBmcm9tIDEwMF9cbiAgICAgIHJlZHVjdGlvbiB0byAwXyByZWR1Y3Rp
b24gcmVzdWx0cyBpbiB0aGUgcmVwb3J0aW5nIG5vZGUgbW92aW5nXG4gICAgICBxdWlja2x5
IGJhY2sgaW50byBhbiBvdmVybG9hZCBjb25kaXRpb24uXG5cbiAgIElmIHRoZSByZWFjdGlu
ZyBub2RlIGRvZXMgbm90IHJlY2VpdmUgYW4gT0xSIGluIGFuc3dlcnMgcmVjZWl2ZWQgZnJv
bVxuICAgdGhlIGZvcm1lcmx5IG92ZXJsb2FkZWQgbm9kZSB0aGVuIHRoZSByZWFjdGluZyBu
b2RlIFNIT1VMRCBzbG93bHlcbiAgIGluY3JlYXNlIHRoZSByYXRlIG9mIHRyYWZmaWMgc2Vu
dCB0byB0aGUgb3ZlcmxvYWRlZCBub2RlLlxuXG43LiAgQXR0cmlidXRlIFZhbHVlIFBhaXJz
XG5cbiAgIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGVuY29kaW5nIGFuZCBzZW1hbnRp
Y3Mgb2YgdGhlIERpYW1ldGVyXG4gICBPdmVybG9hZCBJbmRpY2F0aW9uIEF0dHJpYnV0ZSBW
YWx1ZSBQYWlycyAoQVZQcykgZGVmaW5lZCBpbiB0aGlzXG4gICBkb2N1bWVudC5cblxuXG5c
blxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgMjRdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxu
XG43LjEuICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQXG5cbiAgIFRoZSBPQy1TdXBwb3J0
ZWQtRmVhdHVyZXMgQVZQIChBVlAgY29kZSBUQkQxKSBpcyBvZiB0eXBlIEdyb3VwZWQgYW5k
XG4gICBzZXJ2ZXMgdHdvIHB1cnBvc2VzLiAgRmlyc3QsIGl0IGFubm91bmNlcyBhIG5vZGVc
J3Mgc3VwcG9ydCBmb3IgdGhlXG4gICBET0lDIHNvbHV0aW9uIGluIGdlbmVyYWwuICBTZWNv
bmQsIGl0IGNvbnRhaW5zIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGVcbiAgIHN1cHBvcnRlZCBE
T0lDIGZlYXR1cmVzIG9mIHRoZSBzZW5kaW5nIG5vZGUuICBUaGUgT0MtU3VwcG9ydGVkLVxu
ICAgRmVhdHVyZXMgQVZQIE1VU1QgYmUgaW5jbHVkZWQgaW4gZXZlcnkgRGlhbWV0ZXIgcmVx
dWVzdCBtZXNzYWdlIGFcbiAgIERPSUMgc3VwcG9ydGluZyBub2RlIHNlbmRzLlxuXG4gICAg
ICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgOjo9IF8gQVZQIEhlYWRlcjogVEJEMSBfXG4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0MtRmVhdHVyZS1WZWN0b3IgXVxuICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBbIEFWUCBdXG5cblxuNy4yLiAgT0MtRmVh
dHVyZS1WZWN0b3IgQVZQXG5cbiAgIFRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgKEFWUCBj
b2RlIFRCRDIpIGlzIG9mIHR5cGUgVW5zaWduZWQ2NCBhbmRcbiAgIGNvbnRhaW5zIGEgNjQg
Yml0IGZsYWdzIGZpZWxkIG9mIGFubm91bmNlZCBjYXBhYmlsaXRpZXMgb2YgYSBET0lDXG4g
ICBub2RlLiAgVGhlIHZhbHVlIG9mIHplcm8gKDApIGlzIHJlc2VydmVkLlxuXG4gICBUaGUg
T0MtRmVhdHVyZS1WZWN0b3Igc3ViLUFWUCBpcyB1c2VkIHRvIGFubm91bmNlIHRoZSBET0lD
IGZlYXR1cmVzXG4gICBzdXBwb3J0ZWQgYnkgdGhlIERPSUMgbm9kZSwgaW4gdGhlIGZvcm0g
b2YgYSBmbGFnLWJpdHMgZmllbGQgaW4gd2hpY2hcbiAgIGVhY2ggYml0IGFubm91bmNlcyBv
bmUgZmVhdHVyZSBvciBjYXBhYmlsaXR5IHN1cHBvcnRlZCBieSB0aGUgbm9kZS5cbiAgIFRo
ZSBhYnNlbmNlIG9mIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgaW4gcmVxdWVzdCBtZXNz
YWdlc1xuICAgaW5kaWNhdGVzIHRoYXQgb25seSB0aGUgZGVmYXVsdCB0cmFmZmljIGFiYXRl
bWVudCBhbGdvcml0aG0gZGVzY3JpYmVkXG4gICBpbiB0aGlzIHNwZWNpZmljYXRpb24gaXMg
c3VwcG9ydGVkLiAgVGhlIGFic2VuY2Ugb2YgdGhlIE9DLSBGZWF0dXJlLVxuICAgVmVjdG9y
IEFWUCBpbiBhbnN3ZXIgbWVzc2FnZXMgaW5kaWNhdGVzIHRoYXQgdGhlIGRlZmF1bHQgdHJh
ZmZpY1xuICAgYWJhdGVtZW50IGFsZ29yaXRobSBkZXNjcmliZWQgaW4gdGhpcyBzcGVjaWZp
Y2F0aW9uIGlzIHNlbGVjdGVkXG4gICAod2hpbGUgb3RoZXIgdHJhZmZpYyBhYmF0ZW1lbnQg
YWxnb3JpdGhtcyBtYXkgYmUgc3VwcG9ydGVkKSwgYW5kIG5vXG4gICBmZWF0dXJlcyBvdGhl
ciB0aGFuIGFiYXRlbWVudCBhbGdvcml0aG1zIGFyZSBzdXBwb3J0ZWQuXG5cbiAgIFRoZSBm
b2xsb3dpbmcgY2FwYWJpbGl0aWVzIGFyZSBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQ6XG5c
biAgIE9MUl9ERUZBVUxUX0FMR08gKDB4MDAwMDAwMDAwMDAwMDAwMSlcblxuICAgICAgV2hl
biB0aGlzIGZsYWcgaXMgc2V0IGJ5IHRoZSBhIERPSUMgcmVhY3Rpbmcgbm9kZSBpdCBtZWFu
cyB0aGF0XG4gICAgICB0aGUgZGVmYXVsdCB0cmFmZmljIGFiYXRlbWVudCAobG9zcykgYWxn
b3JpdGhtIGlzIHN1cHBvcnRlZC4gIFdoZW5cbiAgICAgIHRoaXMgZmxhZyBpcyBzZXQgYnkg
YSBET0lDIHJlcG9ydGluZyBub2RlIGl0IG1lYW5zIHRoYXQgdGhlIGxvc3NcbiAgICAgIGFs
Z29yaXRobSB3aWxsIGJlIHVzZWQgZm9yIHJlcXVlc3RlZCBvdmVybG9hZCBhYmF0ZW1lbnQu
XG5cbjcuMy4gIE9DLU9MUiBBVlBcblxuICAgVGhlIE9DLU9MUiBBVlAgKEFWUCBjb2RlIFRC
RDMpIGlzIG9mIHR5cGUgR3JvdXBlZCBhbmQgY29udGFpbnMgdGhlXG4gICBpbmZvcm1hdGlv
biBuZWNlc3NhcnkgdG8gY29udmV5IGFuIG92ZXJsb2FkIHJlcG9ydCBvbiBhbiBvdmVybG9h
ZFxuICAgY29uZGl0aW9uIGF0IHRoZSByZXBvcnRpbmcgbm9kZS4gIFRoZSBhcHBsaWNhdGlv
biB0aGUgT0MtT0xSIEFWUFxuICAgYXBwbGllcyB0byBpcyB0aGUgc2FtZSBhcyB0aGUgQXBw
bGljYXRpb24tSWQgZm91bmQgaW4gdGhlIERpYW1ldGVyXG4gICBtZXNzYWdlIGhlYWRlci4g
IFRoZSBob3N0IG9yIHJlYWxtIHRoZSBPQy1PTFIgQVZQIGNvbmNlcm5zIGlzXG4gICBkZXRl
cm1pbmVkIGZyb20gdGhlIE9yaWdpbi1Ib3N0IEFWUCBhbmQvb3IgT3JpZ2luLVJlYWxtIEFW
UCBmb3VuZCBpblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1
bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjVdXG5fXG5JbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5
IDIwMTVcblxuXG4gICB0aGUgZW5jYXBzdWxhdGluZyBEaWFtZXRlciBjb21tYW5kLiAgVGhl
IE9DLU9MUiBBVlAgaXMgaW50ZW5kZWQgdG8gYmVcbiAgIHNlbnQgb25seSBieSBhIHJlcG9y
dGluZyBub2RlLlxuXG4gICAgICBPQy1PTFIgOjo9IF8gQVZQIEhlYWRlcjogVEJEMiBfXG4g
ICAgICAgICAgICAgICAgIF8gT0MtU2VxdWVuY2UtTnVtYmVyIF9cbiAgICAgICAgICAgICAg
ICAgXyBPQy1SZXBvcnQtVHlwZSBfXG4gICAgICAgICAgICAgICAgIFsgT0MtUmVkdWN0aW9u
LVBlcmNlbnRhZ2UgXVxuICAgICAgICAgICAgICAgICBbIE9DLVZhbGlkaXR5LUR1cmF0aW9u
IF1cbiAgICAgICAgICAgICAgICogWyBBVlAgXVxuXG5cbjcuNC4gIE9DLVNlcXVlbmNlLU51
bWJlciBBVlBcblxuICAgVGhlIE9DLVNlcXVlbmNlLU51bWJlciBBVlAgKEFWUCBjb2RlIFRC
RDQpIGlzIG9mIHR5cGUgVW5zaWduZWQ2NC5cbiAgIEl0cyB1c2FnZSBpbiB0aGUgY29udGV4
dCBvZiBvdmVybG9hZCBjb250cm9sIGlzIGRlc2NyaWJlZCBpblxuICAgU2VjdGlvbiA1LjIu
XG5cbiAgIEZyb20gdGhlIGZ1bmN0aW9uYWxpdHkgcG9pbnQgb2YgdmlldywgdGhlIE9DLVNl
cXVlbmNlLU51bWJlciBBVlAgaXNcbiAgIHVzZWQgYXMgYSBub24tdm9sYXRpbGUgaW5jcmVh
c2luZyBjb3VudGVyIGZvciBhIHNlcXVlbmNlIG9mIG92ZXJsb2FkXG4gICByZXBvcnRzIGJl
dHdlZW4gdHdvIERPSUMgbm9kZXMgZm9yIHRoZSBzYW1lIG92ZXJsb2FkIG9jY3VycmVuY2Uu
XG4gICBTZXF1ZW5jZSBudW1iZXJzIGFyZSB0cmVhdGVkIGluIGEgdW5pLWRpcmVjdGlvbmFs
IG1hbm5lciwgaS5lLiB0d29cbiAgIHNlcXVlbmNlIG51bWJlcnMgb24gZWFjaCBkaXJlY3Rp
b24gYmV0d2VlbiB0d28gRE9JQyBub2RlcyBhcmUgbm90XG4gICByZWxhdGVkIG9yIGNvcnJl
bGF0ZWQuXG5cbjcuNS4gIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUFxuXG4gICBUaGUgT0Mt
VmFsaWRpdHktRHVyYXRpb24gQVZQIChBVlAgY29kZSBUQkQ1KSBpcyBvZiB0eXBlIFVuc2ln
bmVkMzJcbiAgIGFuZCBpbmRpY2F0ZXMgaW4gc2Vjb25kcyB0aGUgdmFsaWRpdHkgdGltZSBv
ZiB0aGUgb3ZlcmxvYWQgcmVwb3J0LlxuICAgVGhlIG51bWJlciBvZiBtc2Vjb25kcyBpcyBt
ZWFzdXJlZCBhZnRlciByZWNlcHRpb24gb2YgdGhlIGZpcnN0IE9DLVxuICAgT0xSIEFWUCB3
aXRoIGEgZ2l2ZW4gdmFsdWUgb2YgT0MtU2VxdWVuY2UtTnVtYmVyIEFWUC4gIFRoZSBkZWZh
dWx0XG4gICB2YWx1ZSBmb3IgdGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCBpcyAzMCBz
ZWNvbmRzLiAgV2hlbiB0aGUgT0MtXG4gICBWYWxpZGl0eS1EdXJhdGlvbiBBVlAgaXMgbm90
IHByZXNlbnQgaW4gdGhlIE9DLU9MUiBBVlAsIHRoZSBkZWZhdWx0XG4gICB2YWx1ZSBhcHBs
aWVzLiAgVGhlIG1heGltdW0gdmFsdWUgZm9yIHRoZSBPQy1WYWxpZGl0eS1EdXJhdGlvbiBB
VlAgaXNcbiAgIDg2LDQwMCBzZWNvbmRzICgyNCBob3VycykuXG5cbjcuNi4gIE9DLVJlcG9y
dC1UeXBlIEFWUFxuXG4gICBUaGUgT0MtUmVwb3J0LVR5cGUgQVZQIChBVlAgY29kZSBUQkQ2
KSBpcyBvZiB0eXBlIEVudW1lcmF0ZWQuICBUaGVcbiAgIHZhbHVlIG9mIHRoZSBBVlAgZGVz
Y3JpYmVzIHdoYXQgdGhlIG92ZXJsb2FkIHJlcG9ydCBjb25jZXJucy4gIFRoZVxuICAgZm9s
bG93aW5nIHZhbHVlcyBhcmUgaW5pdGlhbGx5IGRlZmluZWQ6XG5cbiAgIEhPU1RfUkVQT1JU
IDAgIFRoZSBvdmVybG9hZCByZXBvcnQgaXMgZm9yIGEgaG9zdC4gIE92ZXJsb2FkIGFiYXRl
bWVudFxuICAgICAgdHJlYXRtZW50IGFwcGxpZXMgdG8gaG9zdC1yb3V0ZWQgcmVxdWVzdHMu
XG5cbiAgIFJFQUxNX1JFUE9SVCAxICBUaGUgb3ZlcmxvYWQgcmVwb3J0IGlzIGZvciBhIHJl
YWxtLiAgT3ZlcmxvYWRcbiAgICAgIGFiYXRlbWVudCB0cmVhdG1lbnQgYXBwbGllcyB0byBy
ZWFsbS1yb3V0ZWQgcmVxdWVzdHMuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAg
ICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjZdXG5f
XG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAg
ICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG43LjcuICBPQy1SZWR1Y3Rpb24tUGVyY2VudGFn
ZSBBVlBcblxuICAgVGhlIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIEFWUCAoQVZQIGNvZGUg
VEJENykgaXMgb2YgdHlwZSBVbnNpZ25lZDMyXG4gICBhbmQgZGVzY3JpYmVzIHRoZSBwZXJj
ZW50YWdlIG9mIHRoZSB0cmFmZmljIHRoYXQgdGhlIHNlbmRlciBpc1xuICAgcmVxdWVzdGVk
IHRvIHJlZHVjZSwgY29tcGFyZWQgdG8gd2hhdCBpdCBvdGhlcndpc2Ugd291bGQgc2VuZC4g
IFRoZVxuICAgT0MtUmVkdWN0aW9uLVBlcmNlbnRhZ2UgQVZQIGFwcGxpZXMgdG8gdGhlIGRl
ZmF1bHQgKGxvc3MpIGFsZ29yaXRobVxuICAgc3BlY2lmaWVkIGluIHRoaXMgc3BlY2lmaWNh
dGlvbi4gIEhvd2V2ZXIsIHRoZSBBVlAgY2FuIGJlIHJldXNlZCBmb3JcbiAgIGZ1dHVyZSBh
YmF0ZW1lbnQgYWxnb3JpdGhtcywgaWYgaXRzIHNlbWFudGljcyBmaXQgaW50byB0aGUgbmV3
XG4gICBhbGdvcml0aG0uXG5cbiAgIFRoZSB2YWx1ZSBvZiB0aGUgUmVkdWN0aW9uLVBlcmNl
bnRhZ2UgQVZQIGlzIGJldHdlZW4gemVybyAoMCkgYW5kIG9uZVxuICAgaHVuZHJlZCAoMTAw
KS4gIFZhbHVlcyBncmVhdGVyIHRoYW4gMTAwIGFyZSBpZ25vcmVkLiAgVGhlIHZhbHVlIG9m
XG4gICAxMDAgbWVhbnMgdGhhdCBhbGwgdHJhZmZpYyBpcyB0byBiZSB0aHJvdHRsZWQsIGku
ZS4gdGhlIHJlcG9ydGluZ1xuICAgbm9kZSBpcyB1bmRlciBhIHNldmVyZSBsb2FkIGFuZCBj
ZWFzZXMgdG8gcHJvY2VzcyBhbnkgbmV3IG1lc3NhZ2VzLlxuICAgVGhlIHZhbHVlIG9mIDAg
bWVhbnMgdGhhdCB0aGUgcmVwb3J0aW5nIG5vZGUgaXMgaW4gYSBzdGFibGUgc3RhdGUgYW5k
XG4gICBoYXMgbm8gbmVlZCBmb3IgdGhlIHJlYWN0aW5nIG5vZGUgdG8gYXBwbHkgYW55IHRy
YWZmaWMgYWJhdGVtZW50LlxuXG43LjguICBBdHRyaWJ1dGUgVmFsdWUgUGFpciBmbGFnIHJ1
bGVzXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICstLS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBfQVZQIGZsYWcgX1xuICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3J1bGVzICAgIF9c
biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICstLS0tKy0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVlAgICBT
ZWN0aW9uICAgICAgICAgICAgICBfICAgIF9NVVNUX1xuICAgICAgIEF0dHJpYnV0ZSBOYW1l
ICAgICAgICAgQ29kZSAgRGVmaW5lZCAgVmFsdWUgVHlwZSAgX01VU1RfIE5PVF9cbiAgICAg
ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst
LS0tKy0tLS0rXG4gICAgICBfT0MtU3VwcG9ydGVkLUZlYXR1cmVzICBUQkQxICA2LjEgICAg
ICBHcm91cGVkICAgICBfICAgIF8gViAgX1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1G
ZWF0dXJlLVZlY3RvciAgICAgIFRCRDIgIDYuMiAgICAgIFVuc2lnbmVkNjQgIF8gICAgXyBW
ICBfXG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0rLS0tLSstLS0tK1xuICAgICAgX09DLU9MUiAgICAgICAgICAgICAgICAgVEJE
MyAgNi4zICAgICAgR3JvdXBlZCAgICAgXyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4g
ICAgICBfT0MtU2VxdWVuY2UtTnVtYmVyICAgICBUQkQ0ICA2LjQgICAgICBVbnNpZ25lZDY0
ICBfICAgIF8gViAgX1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1WYWxpZGl0eS1EdXJh
dGlvbiAgIFRCRDUgIDYuNSAgICAgIFVuc2lnbmVkMzIgIF8gICAgXyBWICBfXG4gICAgICAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t
LSstLS0tK1xuICAgICAgX09DLVJlcG9ydC1UeXBlICAgICAgICAgVEJENiAgNi42ICAgICAg
RW51bWVyYXRlZCAgXyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4gICAgICBfT0MtUmVk
dWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgIF8gICAg
X1xuICAgICAgXyAgLVBlcmNlbnRhZ2UgICAgICAgICAgVEJENyAgNi43ICAgICAgVW5zaWdu
ZWQzMiAgXyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG5cblxuICAgQXMgZGVzY3JpYmVk
IGluIHRoZSBEaWFtZXRlciBiYXNlIHByb3RvY29sIFtSRkM2NzMzXSwgdGhlIE0tYml0IHVz
YWdlXG4gICBmb3IgYSBnaXZlbiBBVlAgaW4gYSBnaXZlbiBjb21tYW5kIG1heSBiZSBkZWZp
bmVkIGJ5IHRoZSBhcHBsaWNhdGlvbi5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4g
ICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDI3
XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAg
ICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuOC4gIEVycm9yIFJlc3BvbnNlIENvZGVz
XG5cbiAgIFdoZW4gYSBET0lDIG5vZGUgcmVqZWN0cyBhIERpYW1ldGVyIHJlcXVlc3QgZHVl
IHRvIG92ZXJsb2FkLCB0aGUgRE9JQ1xuICAgbm9kZSBNVVNUIHNlbGVjdCBhbiBhcHByb3By
aWF0ZSBlcnJvciByZXNwb25zZSBjb2RlLiAgVGhpc1xuICAgZGV0ZXJtaW5hdGlvbiBpcyBt
YWRlIGJhc2VkIG9uIHRoZSBwcm9iYWJpbGl0eSBvZiB0aGUgcmVxdWVzdFxuICAgc3VjY2Vl
ZGluZyBpZiByZXRyaWVkIG9uIGEgZGlmZmVyZW50IHBhdGguXG5cbiAgIEEgcmVwb3J0aW5n
IG5vZGUgcmVqZWN0aW5nIGEgRGlhbWV0ZXIgcmVxdWVzdCBkdWUgdG8gYW4gb3ZlcmxvYWRc
biAgIGNvbmRpdGlvbiBTSE9VTEQgc2VuZCBhIERJQU1FVEVSX1RPT19CVVNZIGVycm9yIHJl
c3BvbnNlLCBpZiBpdCBjYW5cbiAgIGFzc3VtZSB0aGF0IHRoZSBzYW1lIHJlcXVlc3QgbWF5
IHN1Y2NlZWQgb24gYSBkaWZmZXJlbnQgcGF0aC5cblxuICAgSWYgYSByZXBvcnRpbmcgbm9k
ZSBrbm93cyBvciBhc3N1bWVzIHRoYXQgdGhlIHNhbWUgcmVxdWVzdCB3aWxsIG5vdFxuICAg
c3VjY2VlZCBvbiBhIGRpZmZlcmVudCBwYXRoLCBESUFNRVRFUl9VTkFCTEVfVE9fQ09NUExZ
IGVycm9yIHJlc3BvbnNlXG4gICBTSE9VTEQgYmUgdXNlZC4gIFJldHJ5aW5nIHdvdWxkIGNv
bnN1bWUgdmFsdWFibGUgcmVzb3VyY2VzIGR1cmluZyBhblxuICAgb2NjdXJyZW5jZSBvZiBv
dmVybG9hZC5cblxuICAgICAgRm9yIGluc3RhbmNlLCBpZiB0aGUgcmVxdWVzdCBhcnJpdmVk
IGF0IHRoZSByZXBvcnRpbmcgbm9kZSB3aXRob3V0XG4gICAgICBhIERlc3RpbmF0aW9uLUhv
c3QgQVZQIHRoZW4gdGhlIHJlcG9ydGluZyBub2RlIG1pZ2h0IGRldGVybWluZVxuICAgICAg
dGhhdCB0aGVyZSBpcyBhbiBhbHRlcm5hdGl2ZSBEaWFtZXRlciBub2RlIHRoYXQgY291bGQg
c3VjY2Vzc2Z1bGx5XG4gICAgICBwcm9jZXNzIHRoZSByZXF1ZXN0IGFuZCB0aGF0IHJldHJ5
aW5nIHRoZSB0cmFuc2FjdGlvbiB3b3VsZCBub3RcbiAgICAgIG5lZ2F0aXZlbHkgaW1wYWN0
IHRoZSByZXBvcnRpbmcgbm9kZS4gIERJQU1FVEVSX1RPT19CVVNZIHdvdWxkIGJlXG4gICAg
ICBzZW50IGluIHRoaXMgY2FzZS5cblxuICAgICAgSWYgdGhlIHJlcXVlc3QgYXJyaXZlZCBh
dCB0aGUgcmVwb3J0aW5nIG5vZGUgd2l0aCBhIERlc3RpbmF0aW9uLVxuICAgICAgSG9zdCBB
VlAgcG9wdWxhdGVkIHdpdGggaXRzIG93biBEaWFtZXRlciBpZGVudGl0eSB0aGVuIHRoZVxu
ICAgICAgcmVwb3J0aW5nIG5vZGUgY2FuIGFzc3VtZSB0aGF0IHJldHJ5aW5nIHRoZSByZXF1
ZXN0IHdvdWxkIHJlc3VsdFxuICAgICAgaW4gaXQgY29taW5nIHRvIHRoZSBzYW1lIHJlcG9y
dGluZyBub2RlLlxuICAgICAgRElBTUVURVJfVU5BQkxFX1RPX0NPTVBMWSB3b3VsZCBiZSBz
ZW50IGluIHRoaXMgY2FzZS5cblxuICAgICAgQSBzZWNvbmQgZXhhbXBsZSBpcyB3aGVuIGFu
IGFnZW50IHRoYXQgc3VwcG9ydHMgdGhlIERPSUMgc29sdXRpb25cbiAgICAgIGlzIHBlcmZv
cm1pbmcgdGhlIHJvbGUgb2YgYSByZWFjdGluZyBub2RlIGZvciBhIG5vbiBzdXBwb3J0aW5n
XG4gICAgICBjbGllbnQuICBSZXF1ZXN0cyB0aGF0IGFyZSByZWplY3RlZCBhcyBhIHJlc3Vs
dCBvZiBET0lDIHRocm90dGxpbmdcbiAgICAgIGJ5IHRoZSBhZ2VudCBpbiB0aGlzIHNjZW5h
cmlvIHdvdWxkIGdlbmVyYWxseSBiZSByZWplY3RlZCB3aXRoIGFcbiAgICAgIERJQU1FVEVS
X1VOQUJMRV9UT19DT01QTFkgcmVzcG9uc2UgY29kZS5cblxuOS4gIElBTkEgQ29uc2lkZXJh
dGlvbnNcblxuOS4xLiAgQVZQIGNvZGVzXG5cbiAgIE5ldyBBVlBzIGRlZmluZWQgYnkgdGhp
cyBzcGVjaWZpY2F0aW9uIGFyZSBsaXN0ZWQgaW4gU2VjdGlvbiA3LiAgQWxsXG4gICBBVlAg
Y29kZXMgYXJlIGFsbG9jYXRlZCBmcm9tIHRoZSBcJ0F1dGhlbnRpY2F0aW9uLCBBdXRob3Jp
emF0aW9uLCBhbmRcbiAgIEFjY291bnRpbmcgKEFBQSkgUGFyYW1ldGVyc1wnIEFWUCBDb2Rl
cyByZWdpc3RyeS5cblxuOS4yLiAgTmV3IHJlZ2lzdHJpZXNcblxuICAgVHdvIG5ldyByZWdp
c3RyaWVzIGFyZSBuZWVkZWQgdW5kZXIgdGhlIFwnQXV0aGVudGljYXRpb24sXG4gICBBdXRo
b3JpemF0aW9uLCBhbmQgQWNjb3VudGluZyAoQUFBKSBQYXJhbWV0ZXJzXCcgcmVnaXN0cnku
XG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAy
MDE1ICAgICAgICAgICAgICAgIFtQYWdlIDI4XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5c
blxuICAgQSBuZXcgIk92ZXJsb2FkIENvbnRyb2wgRmVhdHVyZSBWZWN0b3IiIHJlZ2lzdHJ5
IGlzIHJlcXVpcmVkLiAgVGhlXG4gICByZWdpc3RyeSBtdXN0IGNvbnRhaW4gdGhlIGZvbGxv
d2luZzpcblxuICAgICAgRmVhdHVyZSBWZWN0b3IgVmFsdWVcblxuICAgICAgU3BlY2lmaWNh
dGlvbiAtIHRoZSBzcGVjaWZpY2F0aW9uIHRoYXQgZGVmaW5lcyB0aGUgbmV3IHZhbHVlLlxu
XG4gICBTZWUgU2VjdGlvbiA3LjIgZm9yIHRoZSBpbml0aWFsIEZlYXR1cmUgVmVjdG9yIFZh
bHVlIGluIHRoZSByZWdpc3RyeS5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBpcyB0aGUgc3Bl
Y2lmaWNhdGlvbiBkZWZpbmluZyB0aGUgdmFsdWUuICBOZXdcbiAgIHZhbHVlcyBjYW4gYmUg
YWRkZWQgaW50byB0aGUgcmVnaXN0cnkgdXNpbmcgdGhlIFNwZWNpZmljYXRpb25cbiAgIFJl
cXVpcmVkIHBvbGljeS4gIFtSRkM1MjI2XS5cblxuICAgQSBuZXcgIk92ZXJsb2FkIFJlcG9y
dCBUeXBlIiByZWdpc3RyeSBpcyByZXF1aXJlZC4gIFRoZSByZWdpc3RyeSBtdXN0XG4gICBj
b250YWluIHRoZSBmb2xsb3dpbmc6XG5cbiAgICAgIFJlcG9ydCBUeXBlIFZhbHVlXG5cbiAg
ICAgIFNwZWNpZmljYXRpb24gLSB0aGUgc3BlY2lmaWNhdGlvbiB0aGF0IGRlZmluZXMgdGhl
IG5ldyB2YWx1ZS5cblxuICAgU2VlIFNlY3Rpb24gNy42IGZvciB0aGUgaW5pdGlhbCBhc3Np
Z25tZW50IGluIHRoZSByZWdpc3RyeS4gIE5ld1xuICAgdHlwZXMgY2FuIGJlIGFkZGVkIHVz
aW5nIHRoZSBTcGVjaWZpY2F0aW9uIFJlcXVpcmVkIHBvbGljeSBbUkZDNTIyNl0uXG5cbjEw
LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnNcblxuICAgRE9JQyBnaXZlcyBEaWFtZXRlciBu
b2RlcyB0aGUgYWJpbGl0eSB0byByZXF1ZXN0IHRoYXQgZG93bnN0cmVhbVxuICAgbm9kZXMg
c2VuZCBmZXdlciBEaWFtZXRlciByZXF1ZXN0cy4gIE5vZGVzIGRvIHRoaXMgYnkgZXhjaGFu
Z2luZ1xuICAgb3ZlcmxvYWQgcmVwb3J0cyB0aGF0IGRpcmVjdGx5IGVmZmVjdCB0aGlzIHJl
ZHVjdGlvbi4gIFRoaXMgZXhjaGFuZ2VcbiAgIGlzIHBvdGVudGlhbGx5IHN1YmplY3QgdG8g
bXVsdGlwbGUgbWV0aG9kcyBvZiBhdHRhY2ssIGFuZCBoYXMgdGhlXG4gICBwb3RlbnRpYWwg
dG8gYmUgdXNlZCBhcyBhIERlbmlhbC1vZi1TZXJ2aWNlIChEb1MpIGF0dGFjayB2ZWN0b3Iu
XG5cbiAgIE92ZXJsb2FkIHJlcG9ydHMgbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQg
dGhlIHRvcG9sb2d5IGFuZFxuICAgY3VycmVudCBzdGF0dXMgb2YgYSBEaWFtZXRlciBuZXR3
b3JrLiAgVGhpcyBpbmZvcm1hdGlvbiBpc1xuICAgcG90ZW50aWFsbHkgc2Vuc2l0aXZlLiAg
TmV0d29yayBvcGVyYXRvcnMgbWF5IHdpc2ggdG8gY29udHJvbFxuICAgZGlzY2xvc3VyZSBv
ZiBvdmVybG9hZCByZXBvcnRzIHRvIHVuYXV0aG9yaXplZCBwYXJ0aWVzIHRvIGF2b2lkIGl0
c1xuICAgdXNlIGZvciBjb21wZXRpdGl2ZSBpbnRlbGxpZ2VuY2Ugb3IgdG8gdGFyZ2V0IGF0
dGFja3MuXG5cbiAgIERpYW1ldGVyIGRvZXMgbm90IGluY2x1ZGUgZmVhdHVyZXMgdG8gcHJv
dmlkZSBlbmQtdG8tZW5kXG4gICBhdXRoZW50aWNhdGlvbiwgaW50ZWdyaXR5IHByb3RlY3Rp
b24sIG9yIGNvbmZpZGVudGlhbGl0eS4gIFRoaXMgbWF5XG4gICBjYXVzZSBjb21wbGljYXRp
b25zIHdoZW4gc2VuZGluZyBvdmVybG9hZCByZXBvcnRzIGJldHdlZW4gbm9uLVxuICAgYWRq
YWNlbnQgbm9kZXMuXG5cbjEwLjEuICBQb3RlbnRpYWwgVGhyZWF0IE1vZGVzXG5cbiAgIFRo
ZSBEaWFtZXRlciBwcm90b2NvbCBpbnZvbHZlcyB0cmFuc2FjdGlvbnMgaW4gdGhlIGZvcm0g
b2YgcmVxdWVzdHNcbiAgIGFuZCBhbnN3ZXJzIGV4Y2hhbmdlZCBiZXR3ZWVuIGNsaWVudHMg
YW5kIHNlcnZlcnMuICBUaGVzZSBjbGllbnRzIGFuZFxuICAgc2VydmVycyBtYXkgYmUgcGVl
cnMsIHRoYXQgaXMsIHRoZXkgbWF5IHNoYXJlIGEgZGlyZWN0IHRyYW5zcG9ydFxuICAgKGUu
Zy4gIFRDUCBvciBTQ1RQKSBjb25uZWN0aW9uLCBvciB0aGUgbWVzc2FnZXMgbWF5IHRyYXZl
cnNlIG9uZSBvclxuICAgbW9yZSBpbnRlcm1lZGlhcmllcywga25vd24gYXMgRGlhbWV0ZXIg
QWdlbnRzLiAgRGlhbWV0ZXIgbm9kZXMgdXNlXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAg
ICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyOV1c
bl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAg
ICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIFRMUywgRFRMUywgb3IgSVBzZWMgdG8g
YXV0aGVudGljYXRlIHBlZXJzLCBhbmQgdG8gcHJvdmlkZVxuICAgY29uZmlkZW50aWFsaXR5
IGFuZCBpbnRlZ3JpdHkgcHJvdGVjdGlvbiBvZiB0cmFmZmljIGJldHdlZW4gcGVlcnMuXG4g
ICBOb2RlcyBjYW4gbWFrZSBhdXRob3JpemF0aW9uIGRlY2lzaW9ucyBiYXNlZCBvbiB0aGUg
cGVlciBpZGVudGl0aWVzXG4gICBhdXRoZW50aWNhdGVkIGF0IHRoZSB0cmFuc3BvcnQgbGF5
ZXIuXG5cbiAgIFdoZW4gYWdlbnRzIGFyZSBpbnZvbHZlZCwgdGhpcyBwcmVzZW50cyBhbiBl
ZmZlY3RpdmVseSB0cmFuc2l0aXZlXG4gICB0cnVzdCBtb2RlbC4gIFRoYXQgaXMsIGEgRGlh
bWV0ZXIgY2xpZW50IG9yIHNlcnZlciBjYW4gYXV0aG9yaXplIGFuXG4gICBhZ2VudCBmb3Ig
Y2VydGFpbiBhY3Rpb25zLCBidXQgaXQgbXVzdCB0cnVzdCB0aGF0IGFnZW50IHRvIG1ha2Vc
biAgIGFwcHJvcHJpYXRlIGF1dGhvcml6YXRpb24gZGVjaXNpb25zIGFib3V0IGl0cyBwZWVy
cywgYW5kIHNvIG9uLlxuICAgU2luY2UgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkg
cHJvdGVjdGlvbiBvY2N1cnMgYXQgdGhlXG4gICB0cmFuc3BvcnQgbGF5ZXIsIGFnZW50cyBj
YW4gcmVhZCwgYW5kIHBlcmhhcHMgbW9kaWZ5LCBhbnkgcGFydCBvZiBhXG4gICBEaWFtZXRl
ciBtZXNzYWdlLCBpbmNsdWRpbmcgYW4gb3ZlcmxvYWQgcmVwb3J0LlxuXG4gICBUaGVyZSBh
cmUgc2V2ZXJhbCB3YXlzIGFuIGF0dGFja2VyIG1pZ2h0IGF0dGVtcHQgdG8gZXhwbG9pdCB0
aGVcbiAgIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtLiAgQW4gdW5hdXRob3JpemVkIHRo
aXJkIHBhcnR5IG1pZ2h0IGluamVjdFxuICAgYW4gb3ZlcmxvYWQgcmVwb3J0IGludG8gdGhl
IG5ldHdvcmsuICBJZiB0aGlzIHRoaXJkIHBhcnR5IGlzIHVwc3RyZWFtXG4gICBvZiBhbiBh
Z2VudCwgYW5kIHRoYXQgYWdlbnQgZmFpbHMgdG8gYXBwbHkgcHJvcGVyIGF1dGhvcml6YXRp
b25cbiAgIHBvbGljaWVzLCBkb3duc3RyZWFtIG5vZGVzIG1heSBtaXN0YWtlbmx5IHRydXN0
IHRoZSByZXBvcnQuICBUaGlzXG4gICBhdHRhY2sgaXMgYXQgbGVhc3QgcGFydGlhbGx5IG1p
dGlnYXRlZCBieSB0aGUgYXNzdW1wdGlvbiB0aGF0IG5vZGVzXG4gICBpbmNsdWRlIG92ZXJs
b2FkIHJlcG9ydHMgaW4gRGlhbWV0ZXIgYW5zd2VycyBidXQgbm90IGluIHJlcXVlc3RzLlxu
ICAgVGhpcyByZXF1aXJlcyBhbiBhdHRhY2tlciB0byBoYXZlIGtub3dsZWRnZSBvZiB0aGUg
b3JpZ2luYWwgcmVxdWVzdFxuICAgaW4gb3JkZXIgdG8gY29uc3RydWN0IGFuIGFuc3dlci4g
IFN1Y2ggYW4gYW5zd2VyIHdvdWxkIGFsc28gbmVlZCB0b1xuICAgYXJyaXZlIGF0IGEgRGlh
bWV0ZXIgbm9kZSB2aWEgYSBwcm90ZWN0ZWQgdHJhbnNwb3J0IGNvbm5lY3Rpb24uXG4gICBU
aGVyZWZvcmUsIGltcGxlbWVudGF0aW9ucyBNVVNUIHZhbGlkYXRlIHRoYXQgYW4gYW5zd2Vy
IGNvbnRhaW5pbmcgYW5cbiAgIG92ZXJsb2FkIHJlcG9ydCBpcyBhIHByb3Blcmx5IGNvbnN0
cnVjdGVkIHJlc3BvbnNlIHRvIGEgcGVuZGluZ1xuICAgcmVxdWVzdCBwcmlvciB0byBhY3Rp
bmcgb24gdGhlIG92ZXJsb2FkIHJlcG9ydCwgYW5kIHRoYXQgdGhlIGFuc3dlclxuICAgd2Fz
IHJlY2VpdmVkIHZpYSBhbiBhcHByb3ByaWF0ZSB0cmFuc3BvcnQgY29ubmVjdGlvbi5cblxu
ICAgQSBzaW1pbGFyIGF0dGFjayBpbnZvbHZlcyBhIGNvbXByb21pc2VkIGJ1dCBvdGhlcndp
c2UgYXV0aG9yaXplZCBub2RlXG4gICB0aGF0IHNlbmRzIGFuIGluYXBwcm9wcmlhdGUgb3Zl
cmxvYWQgcmVwb3J0LiAgRm9yIGV4YW1wbGUsIGEgc2VydmVyXG4gICBmb3IgdGhlIHJlYWxt
ICJleGFtcGxlLmNvbSIgbWlnaHQgc2VuZCBhbiBvdmVybG9hZCByZXBvcnQgaW5kaWNhdGlu
Z1xuICAgdGhhdCBhIGNvbXBldGl0b3JcJ3MgcmVhbG0gImV4YW1wbGUubmV0IiBpcyBvdmVy
bG9hZGVkLiAgSWYgb3RoZXJcbiAgIG5vZGVzIGFjdCBvbiB0aGUgcmVwb3J0LCB0aGV5IG1h
eSBmYWxzZWx5IGJlbGlldmUgdGhhdCAiZXhhbXBsZS5uZXQiXG4gICBpcyBvdmVybG9hZGVk
LCBlZmZlY3RpdmVseSByZWR1Y2luZyB0aGF0IHJlYWxtXCdzIGNhcGFjaXR5LlxuICAgVGhl
cmVmb3JlLCBpdFwncyBjcml0aWNhbCB0aGF0IG5vZGVzIHZhbGlkYXRlIHRoYXQgYW4gb3Zl
cmxvYWQgcmVwb3J0XG4gICByZWNlaXZlZCBmcm9tIGEgcGVlciBhY3R1YWxseSBmYWxscyB3
aXRoaW4gdGhhdCBwZWVyXCdzIHJlc3BvbnNpYmlsaXR5XG4gICBiZWZvcmUgYWN0aW5nIG9u
IHRoZSByZXBvcnQgb3IgZm9yd2FyZGluZyB0aGUgcmVwb3J0IHRvIG90aGVyIHBlZXJzLlxu
ICAgRm9yIGV4YW1wbGUsIGFuIG92ZXJsb2FkIHJlcG9ydCBmcm9tIGEgcGVlciB0aGF0IGFw
cGxpZXMgdG8gYSByZWFsbVxuICAgbm90IGhhbmRsZWQgYnkgdGhhdCBwZWVyIGlzIHN1c3Bl
Y3QuXG5cbiAgICAgIFRoaXMgYXR0YWNrIGlzIHBhcnRpYWxseSBtaXRpZ2F0ZWQgYnkgdGhl
IGZhY3QgdGhhdCB0aGVcbiAgICAgIGFwcGxpY2F0aW9uLCBhcyB3ZWxsIGFzIGhvc3QgYW5k
IHJlYWxtLCBmb3IgYSBnaXZlbiBPTFIgaXNcbiAgICAgIGRldGVybWluZWQgaW1wbGljaXRs
eSBieSByZXNwZWN0aXZlIEFWUHMgaW4gdGhlIGVuY2xvc2luZyBhbnN3ZXIuXG4gICAgICBJ
ZiBhIHJlcG9ydGluZyBub2RlIG1vZGlmaWVzIGFueSBvZiB0aG9zZSBBVlBzLCB0aGUgZW5j
bG9zaW5nXG4gICAgICB0cmFuc2FjdGlvbiB3aWxsIGFsc28gYmUgYWZmZWN0ZWQuXG5cblxu
XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSAzMF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5c
bjEwLjIuICBEZW5pYWwgb2YgU2VydmljZSBBdHRhY2tzXG5cbiAgIERpYW1ldGVyIG92ZXJs
b2FkIHJlcG9ydHMsIGVzcGVjaWFsbHkgcmVhbG0tcmVwb3J0cywgY2FuIGNhdXNlIGEgbm9k
ZVxuICAgdG8gY2Vhc2Ugc2VuZGluZyBzb21lIG9yIGFsbCBEaWFtZXRlciByZXF1ZXN0cyBm
b3IgYW4gZXh0ZW5kZWRcbiAgIHBlcmlvZC4gIFRoaXMgbWFrZXMgdGhlbSBhIHRlbXB0aW5n
IHZlY3RvciBmb3IgRG9TIGF0dGFja3MuXG4gICBGdXJ0aGVybW9yZSwgc2luY2UgRGlhbWV0
ZXIgaXMgYWxtb3N0IGFsd2F5cyB1c2VkIGluIHN1cHBvcnQgb2Ygb3RoZXJcbiAgIHByb3Rv
Y29scywgYSBEb1MgYXR0YWNrIG9uIERpYW1ldGVyIGlzIGxpa2VseSB0byBpbXBhY3QgdGhv
c2VcbiAgIHByb3RvY29scyBhcyB3ZWxsLiAgVGhlcmVmb3JlLCBEaWFtZXRlciBub2RlcyBN
VVNUIE5PVCBob25vciBvclxuICAgZm9yd2FyZCBPTFJzIHJlY2VpdmVkIGZyb20gcGVlcnMg
dGhhdCBhcmUgbm90IHRydXN0ZWQgdG8gc2VuZCB0aGVtLlxuXG4gICBBbiBhdHRhY2tlciBt
aWdodCB1c2UgdGhlIGluZm9ybWF0aW9uIGluIGFuIE9MUiB0byBhc3Npc3QgaW4gRG9TXG4g
ICBhdHRhY2tzLiAgRm9yIGV4YW1wbGUsIGFuIGF0dGFja2VyIGNvdWxkIHVzZSBpbmZvcm1h
dGlvbiBhYm91dFxuICAgY3VycmVudCBvdmVybG9hZCBjb25kaXRpb25zIHRvIHRpbWUgYW4g
YXR0YWNrIGZvciBtYXhpbXVtIGVmZmVjdCwgb3JcbiAgIHVzZSBzdWJzZXF1ZW50IG92ZXJs
b2FkIHJlcG9ydHMgYXMgYSBmZWVkYmFjayBtZWNoYW5pc20gdG8gbGVhcm4gdGhlXG4gICBy
ZXN1bHRzIG9mIGEgcHJldmlvdXMgb3Igb25nb2luZyBhdHRhY2suICBPcGVyYXRvcnMgbmVl
ZCB0aGUgYWJpbGl0eVxuICAgdG8gZW5zdXJlIHRoYXQgT0xScyBhcmUgbm90IGxlYWtlZCB0
byB1bnRydXN0ZWQgcGFydGllcy5cblxuMTAuMy4gIE5vbi1Db21wbGlhbnQgTm9kZXNcblxu
ICAgSW4gdGhlIGFic2VuY2Ugb2YgYW4gb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20sIERp
YW1ldGVyIG5vZGVzIG5lZWRcbiAgIHRvIGltcGxlbWVudCBzdHJhdGVnaWVzIHRvIHByb3Rl
Y3QgdGhlbXNlbHZlcyBmcm9tIGZsb29kcyBvZlxuICAgcmVxdWVzdHMsIGFuZCB0byBtYWtl
IHN1cmUgdGhhdCBhIGRpc3Byb3BvcnRpb25hdGUgbG9hZCBmcm9tIG9uZVxuICAgc291cmNl
IGRvZXMgbm90IHByZXZlbnQgb3RoZXIgc291cmNlcyBmcm9tIHJlY2VpdmluZyBzZXJ2aWNl
LiAgRm9yXG4gICBleGFtcGxlLCBhIERpYW1ldGVyIHNlcnZlciBtaWdodCB0aHJvdHRsZSBh
IGNlcnRhaW4gcGVyY2VudGFnZSBvZlxuICAgcmVxdWVzdHMgZnJvbSBzb3VyY2VzIHRoYXQg
ZXhjZWVkIGNlcnRhaW4gbGltaXRzLiAgT3ZlcmxvYWQgY29udHJvbFxuICAgY2FuIGJlIHRo
b3VnaHQgb2YgYXMgYW4gb3B0aW1pemF0aW9uIGZvciBzdWNoIHN0cmF0ZWdpZXMsIHdoZXJl
XG4gICBkb3duc3RyZWFtIG5vZGVzIG5ldmVyIHNlbmQgdGhlIGV4Y2VzcyByZXF1ZXN0cyBp
biB0aGUgZmlyc3QgcGxhY2UuXG4gICBIb3dldmVyLCB0aGUgcHJlc2VuY2Ugb2YgYW4gb3Zl
cmxvYWQgY29udHJvbCBtZWNoYW5pc20gZG9lcyBub3RcbiAgIHJlbW92ZSB0aGUgbmVlZCBm
b3IgdGhlc2Ugb3RoZXIgcHJvdGVjdGlvbiBzdHJhdGVnaWVzLlxuXG4gICBXaGVuIGEgRGlh
bWV0ZXIgbm9kZSBzZW5kcyBhbiBvdmVybG9hZCByZXBvcnQsIGl0IGNhbm5vdCBhc3N1bWUg
dGhhdFxuICAgYWxsIG5vZGVzIHdpbGwgY29tcGx5LCBldmVuIGlmIHRoZXkgaW5kaWNhdGUg
c3VwcG9ydCBmb3IgRE9JQy4gIEFcbiAgIG5vbi1jb21wbGlhbnQgbm9kZSBtaWdodCBjb250
aW51ZSB0byBzZW5kIHJlcXVlc3RzIHdpdGggbm8gcmVkdWN0aW9uXG4gICBpbiBsb2FkLiAg
U3VjaCBub24tY29tcGxpYW5jZSBjb3VsZCBiZSBkb25lIGFjY2lkZW50YWxseSwgb3JcbiAg
IG1hbGljaW91c2x5IHRvIGdhaW4gYW4gdW5mYWlyIGFkdmFudGFnZSBvdmVyIGNvbXBsaWFu
dCBub2Rlcy5cbiAgIFJlcXVpcmVtZW50IDI4IFtSRkM3MDY4XSBpbmRpY2F0ZXMgdGhhdCB0
aGUgb3ZlcmxvYWQgY29udHJvbCBzb2x1dGlvblxuICAgY2Fubm90IGFzc3VtZSB0aGF0IGFs
bCBEaWFtZXRlciBub2RlcyBpbiBhIG5ldHdvcmsgYXJlIHRydXN0ZWQsIGFuZFxuICAgdGhh
dCBtYWxpY2lvdXMgbm9kZXMgbm90IGJlIGFsbG93ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2Yg
dGhlIG92ZXJsb2FkXG4gICBjb250cm9sIG1lY2hhbmlzbSB0byBnZXQgbW9yZSB0aGFuIHRo
ZWlyIGZhaXIgc2hhcmUgb2Ygc2VydmljZS5cblxuMTAuNC4gIEVuZC10byBFbmQtU2VjdXJp
dHkgSXNzdWVzXG5cbiAgIFRoZSBsYWNrIG9mIGVuZC10by1lbmQgaW50ZWdyaXR5IGZlYXR1
cmVzIG1ha2VzIGl0IGRpZmZpY3VsdCB0b1xuICAgZXN0YWJsaXNoIHRydXN0IGluIG92ZXJs
b2FkIHJlcG9ydHMgcmVjZWl2ZWQgZnJvbSBub24tYWRqYWNlbnQgbm9kZXMuXG4gICBBbnkg
YWdlbnRzIGluIHRoZSBtZXNzYWdlIHBhdGggbWF5IGluc2VydCBvciBtb2RpZnkgb3Zlcmxv
YWQgcmVwb3J0cy5cbiAgIE5vZGVzIG11c3QgdHJ1c3QgdGhhdCB0aGVpciBhZGphY2VudCBw
ZWVycyBwZXJmb3JtIHByb3BlciBjaGVja3Mgb25cbiAgIG92ZXJsb2FkIHJlcG9ydHMgZnJv
bSB0aGVpciBwZWVycywgYW5kIHNvIG9uLCBjcmVhdGluZyBhIHRyYW5zaXRpdmUtXG4gICB0
cnVzdCByZXF1aXJlbWVudCBleHRlbmRpbmcgZm9yIHBvdGVudGlhbGx5IGxvbmcgY2hhaW5z
IG9mIG5vZGVzLlxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1
bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzFdXG5fXG5JbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5
IDIwMTVcblxuXG4gICBOZXR3b3JrIG9wZXJhdG9ycyBtdXN0IGRldGVybWluZSBpZiB0aGlz
IHRyYW5zaXRpdmUgdHJ1c3QgcmVxdWlyZW1lbnRcbiAgIGlzIGFjY2VwdGFibGUgZm9yIHRo
ZWlyIGRlcGxveW1lbnRzLiAgTm9kZXMgc3VwcG9ydGluZyBEaWFtZXRlclxuICAgb3Zlcmxv
YWQgY29udHJvbCBNVVNUIGdpdmUgb3BlcmF0b3JzIHRoZSBhYmlsaXR5IHRvIHNlbGVjdCB3
aGljaFxuICAgcGVlcnMgYXJlIHRydXN0ZWQgdG8gZGVsaXZlciBvdmVybG9hZCByZXBvcnRz
LCBhbmQgd2hldGhlciB0aGV5IGFyZVxuICAgdHJ1c3RlZCB0byBmb3J3YXJkIG92ZXJsb2Fk
IHJlcG9ydHMgZnJvbSBub24tYWRqYWNlbnQgbm9kZXMuICBET0lDXG4gICBub2RlcyBNVVNU
IHN0cmlwIERPSUMgQVZQcyBmcm9tIG1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gcGVlcnMgdGhh
dCBhcmVcbiAgIG5vdCB0cnVzdGVkIGZvciBET0lDIHB1cnBvc2VzLlxuXG4gICBUaGUgbGFj
ayBvZiBlbmQtdG8tZW5kIGNvbmZpZGVudGlhbGl0eSBwcm90ZWN0aW9uIG1lYW5zIHRoYXQg
YW55XG4gICBEaWFtZXRlciBhZ2VudCBpbiB0aGUgcGF0aCBvZiBhbiBvdmVybG9hZCByZXBv
cnQgY2FuIHZpZXcgdGhlXG4gICBjb250ZW50cyBvZiB0aGF0IHJlcG9ydC4gIEluIGFkZGl0
aW9uIHRvIHRoZSByZXF1aXJlbWVudCB0byBzZWxlY3RcbiAgIHdoaWNoIHBlZXJzIGFyZSB0
cnVzdGVkIHRvIHNlbmQgb3ZlcmxvYWQgcmVwb3J0cywgb3BlcmF0b3JzIE1VU1QgYmVcbiAg
IGFibGUgdG8gc2VsZWN0IHdoaWNoIHBlZXJzIGFyZSBhdXRob3JpemVkIHRvIHJlY2VpdmUg
cmVwb3J0cy4gIEEgbm9kZVxuICAgTVVTVCBOT1Qgc2VuZCBhbiBvdmVybG9hZCByZXBvcnQg
dG8gYSBwZWVyIG5vdCBhdXRob3JpemVkIHRvIHJlY2VpdmVcbiAgIGl0LiAgRnVydGhlcm1v
cmUsIGFuIGFnZW50IE1VU1QgcmVtb3ZlIGFueSBvdmVybG9hZCByZXBvcnRzIHRoYXRcbiAg
IG1pZ2h0IGhhdmUgYmVlbiBpbnNlcnRlZCBieSBvdGhlciBub2RlcyBiZWZvcmUgZm9yd2Fy
ZGluZyBhIERpYW1ldGVyXG4gICBtZXNzYWdlIHRvIGEgcGVlciB0aGF0IGlzIG5vdCBhdXRo
b3JpemVkIHRvIHJlY2VpdmUgb3ZlcmxvYWQgcmVwb3J0cy5cblxuICAgICAgQSBET0lDIG5v
ZGUgY2Fubm90IGFsd2F5cyBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGF0IGEgcGVlciBhbHNv
XG4gICAgICBzdXBwb3J0cyBET0lDLiAgRm9yIGV4YW1wbGUsIGEgbm9kZSBtaWdodCBoYXZl
IGEgcGVlciB0aGF0IGlzIGFcbiAgICAgIG5vbi1zdXBwb3J0aW5nIGFnZW50LiAgSWYgbm9k
ZXMgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhhdCBhZ2VudFxuICAgICAgc2VuZCBPQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQcywgdGhlIGFnZW50IGlzIGxpa2VseSB0byBmb3J3YXJkXG4g
ICAgICB0aGVtIGFzIHVua25vd24gQVZQcy4gIE1lc3NhZ2VzIHJlY2VpdmVkIGFjcm9zcyB0
aGUgbm9uLXN1cHBvcnRpbmdcbiAgICAgIGFnZW50IG1heSBiZSBpbmRpc3Rpbmd1aXNoYWJs
ZSBmcm9tIG1lc3NhZ2VzIHJlY2VpdmVkIGFjcm9zcyBhXG4gICAgICBET0lDIHN1cHBvcnRp
bmcgYWdlbnQsIGdpdmluZyB0aGUgZmFsc2UgaW1wcmVzc2lvbiB0aGF0IHRoZSBub24tXG4g
ICAgICBzdXBwb3J0aW5nIGFnZW50IGFjdHVhbGx5IHN1cHBvcnRzIERPSUMuICBUaGlzIGNv
bXBsaWNhdGVzIHRoZVxuICAgICAgdHJhbnNpdGl2ZS10cnVzdCBuYXR1cmUgb2YgRE9JQy4g
IE9wZXJhdG9ycyBuZWVkIHRvIGJlIGNhcmVmdWwgdG9cbiAgICAgIGF2b2lkIHNpdHVhdGlv
bnMgd2hlcmUgYSBub24tc3VwcG9ydGluZyBhZ2VudCBpcyBtaXN0YWtlbmx5XG4gICAgICB0
cnVzdGVkIHRvIGVuZm9yY2UgRE9JQyByZWxhdGVkIGF1dGhvcml6YXRpb24gcG9saWNpZXMu
XG5cbiAgIEF0IHRoZSB0aW1lIG9mIHRoaXMgd3JpdGluZywgdGhlIERJTUUgd29ya2luZyBn
cm91cCBpcyBzdHVkeWluZ1xuICAgcmVxdWlyZW1lbnRzIGZvciBhZGRpbmcgZW5kLXRvLWVu
ZCBzZWN1cml0eSBmZWF0dXJlc1xuICAgW0ktRC5pZXRmLWRpbWUtZTJlLXNlYy1yZXFdIHRv
IERpYW1ldGVyLiAgVGhlc2UgZmVhdHVyZXMsIHdoZW4gdGhleVxuICAgYmVjb21lIGF2YWls
YWJsZSwgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gZXN0YWJsaXNoIHRydXN0IGluIG5vbi1c
biAgIGFkamFjZW50IG5vZGVzIGZvciBvdmVybG9hZCBjb250cm9sIHB1cnBvc2VzLiAgUmVh
ZGVycyBzaG91bGQgYmVcbiAgIHJlbWluZGVkLCBob3dldmVyLCB0aGF0IHRoZSBvdmVybG9h
ZCBjb250cm9sIG1lY2hhbmlzbSBlbmNvdXJhZ2VzXG4gICBEaWFtZXRlciBhZ2VudHMgdG8g
bW9kaWZ5IEFWUHMgaW4sIG9yIGluc2VydCBhZGRpdGlvbmFsIEFWUHMgaW50byxcbiAgIGV4
aXN0aW5nIG1lc3NhZ2VzIHRoYXQgYXJlIG9yaWdpbmF0ZWQgYnkgb3RoZXIgbm9kZXMuICBJ
ZiBlbmQtdG8tZW5kXG4gICBzZWN1cml0eSBpcyBlbmFibGVkLCB0aGVyZSBpcyBhIHJpc2sg
dGhhdCBzdWNoIG1vZGlmaWNhdGlvbiBjb3VsZFxuICAgdmlvbGF0ZSBpbnRlZ3JpdHkgcHJv
dGVjdGlvbi4gIFRoZSBkZXRhaWxzIG9mIHVzaW5nIGFueSBmdXR1cmVcbiAgIERpYW1ldGVy
IGVuZC10by1lbmQgc2VjdXJpdHkgbWVjaGFuaXNtIHdpdGggb3ZlcmxvYWQgY29udHJvbCB3
aWxsXG4gICByZXF1aXJlIGNhcmVmdWwgY29uc2lkZXJhdGlvbiwgYW5kIGFyZSBiZXlvbmQg
dGhlIHNjb3BlIG9mIHRoaXNcbiAgIGRvY3VtZW50LlxuXG5cblxuXG5cblxuXG5cbktvcmhv
bmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDMyXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERP
SUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuMTEuICBDb250cmli
dXRvcnNcblxuICAgVGhlIGZvbGxvd2luZyBwZW9wbGUgY29udHJpYnV0ZWQgc3Vic3RhbnRp
YWwgaWRlYXMsIGZlZWRiYWNrLCBhbmRcbiAgIGRpc2N1c3Npb24gdG8gdGhpcyBkb2N1bWVu
dDpcblxuICAgbyAgRXJpYyBNY011cnJ5XG5cbiAgIG8gIEhhbm5lcyBUc2Nob2ZlbmlnXG5c
biAgIG8gIFVscmljaCBXaWVoZVxuXG4gICBvICBKZWFuLUphY3F1ZXMgVHJvdHRpblxuXG4g
ICBvICBNYXJpYSBDcnV6IEJhcnRvbG9tZVxuXG4gICBvICBNYXJ0aW4gRG9sbHlcblxuICAg
byAgTmlyYXYgU2Fsb3RcblxuICAgbyAgU3VzYW4gU2hpc2h1ZmVuZ1xuXG4xMi4gIFJlZmVy
ZW5jZXNcblxuMTIuMS4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzXG5cbiAgIFtSRkMyMTE5XSAg
QnJhZG5lciwgUy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlXG4g
ICAgICAgICAgICAgIFJlcXVpcmVtZW50IExldmVscyIsIEJDUCAxNCwgUkZDIDIxMTksIE1h
cmNoIDE5OTcuXG5cbiAgIFtSRkM1MjI2XSAgTmFydGVuLCBULiBhbmQgSC4gQWx2ZXN0cmFu
ZCwgIkd1aWRlbGluZXMgZm9yIFdyaXRpbmcgYW5cbiAgICAgICAgICAgICAgSUFOQSBDb25z
aWRlcmF0aW9ucyBTZWN0aW9uIGluIFJGQ3MiLCBCQ1AgMjYsIFJGQyA1MjI2LFxuICAgICAg
ICAgICAgICBNYXkgMjAwOC5cblxuICAgW1JGQzY3MzNdICBGYWphcmRvLCBWLiwgQXJra28s
IEouLCBMb3VnaG5leSwgSi4sIGFuZCBHLiBab3JuLFxuICAgICAgICAgICAgICAiRGlhbWV0
ZXIgQmFzZSBQcm90b2NvbCIsIFJGQyA2NzMzLCBPY3RvYmVyIDIwMTIuXG5cbjEyLjIuICBJ
bmZvcm1hdGl2ZSBSZWZlcmVuY2VzXG5cbiAgIFtDeF0gICAgICAgM0dQUCwgLCAiRVRTSSBU
UyAxMjkgMjI5IFYxMS40LjAiLCBBdWd1c3QgMjAxMy5cblxuICAgW0ktRC5pZXRmLWRpbWUt
ZTJlLXNlYy1yZXFdXG4gICAgICAgICAgICAgIFRzY2hvZmVuaWcsIEguLCBLb3Job25lbiwg
Si4sIFpvcm4sIEcuLCBhbmQgSy4gUGlsbGF5LFxuICAgICAgICAgICAgICAiRGlhbWV0ZXIg
QVZQIExldmVsIFNlY3VyaXR5OiBTY2VuYXJpb3MgYW5kIFJlcXVpcmVtZW50cyIsXG4gICAg
ICAgICAgICAgIGRyYWZ0LWlldGYtZGltZS1lMmUtc2VjLXJlcS0wMSAod29yayBpbiBwcm9n
cmVzcyksIE9jdG9iZXJcbiAgICAgICAgICAgICAgMjAxMy5cblxuICAgW1BDQ10gICAgICAz
R1BQLCAsICJFVFNJIFRTIDEyMyAyMDMgVjExLjEyLjAiLCBEZWNlbWJlciAyMDEzLlxuXG5c
blxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1
ICAgICAgICAgICAgICAgIFtQYWdlIDMzXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxu
ICAgW1JGQzQwMDZdICBIYWthbGEsIEguLCBNYXR0aWxhLCBMLiwgS29za2luZW4sIEotUC4s
IFN0dXJhLCBNLiwgYW5kIEouXG4gICAgICAgICAgICAgIExvdWdobmV5LCAiRGlhbWV0ZXIg
Q3JlZGl0LUNvbnRyb2wgQXBwbGljYXRpb24iLCBSRkMgNDAwNixcbiAgICAgICAgICAgICAg
QXVndXN0IDIwMDUuXG5cbiAgIFtSRkM3MDY4XSAgTWNNdXJyeSwgRS4gYW5kIEIuIENhbXBi
ZWxsLCAiRGlhbWV0ZXIgT3ZlcmxvYWQgQ29udHJvbFxuICAgICAgICAgICAgICBSZXF1aXJl
bWVudHMiLCBSRkMgNzA2OCwgTm92ZW1iZXIgMjAxMy5cblxuICAgW1MxM10gICAgICAzR1BQ
LCAsICJFVFNJIFRTIDEyOSAyNzIgVjExLjkuMCIsIERlY2VtYmVyIDIwMTIuXG5cbkFwcGVu
ZGl4IEEuICBJc3N1ZXMgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmljYXRpb25zXG5cbiAgIFRo
ZSBiYXNlIHNvbHV0aW9uIGZvciB0aGUgb3ZlcmxvYWQgY29udHJvbCBkb2VzIG5vdCBjb3Zl
ciBhbGxcbiAgIHBvc3NpYmxlIHVzZSBjYXNlcy4gIEEgbnVtYmVyIG9mIHNvbHV0aW9uIGFz
cGVjdHMgd2VyZSBpbnRlbnRpb25hbGx5XG4gICBsZWZ0IGZvciBmdXR1cmUgc3BlY2lmaWNh
dGlvbiBhbmQgcHJvdG9jb2wgd29yay4gIFRoZSBmb2xsb3dpbmcgc3ViLVxuICAgc2VjdGlv
bnMgZGVmaW5lIHNvbWUgb2YgdGhlIHBvdGVudGlhbCBleHRlbnNpb25zIHRvIHRoZSBET0lD
XG4gICBzb2x1dGlvbi5cblxuQS4xLiAgQWRkaXRpb25hbCB0cmFmZmljIGFiYXRlbWVudCBh
bGdvcml0aG1zXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBkZXNjcmliZXMgb25seSBtZWFu
cyBmb3IgYSBzaW1wbGUgbG9zcyBiYXNlZFxuICAgYWxnb3JpdGhtLiAgRnV0dXJlIGFsZ29y
aXRobXMgY2FuIGJlIGFkZGVkIHVzaW5nIHRoZSBkZXNpZ25lZFxuICAgc29sdXRpb24gZXh0
ZW5zaW9uIG1lY2hhbmlzbS4gIFRoZSBuZXcgYWxnb3JpdGhtcyBuZWVkIHRvIGJlXG4gICBy
ZWdpc3RlcmVkIHdpdGggSUFOQS4gIFNlZSBTZWN0aW9ucyA3LjEgYW5kIDkgZm9yIHRoZSBy
ZXF1aXJlZCBJQU5BXG4gICBzdGVwcy5cblxuQS4yLiAgQWdlbnQgT3ZlcmxvYWRcblxuICAg
VGhpcyBzcGVjaWZpY2F0aW9uIGZvY3VzZXMgb24gRGlhbWV0ZXIgZW5kcG9pbnQgKHNlcnZl
ciBvciBjbGllbnQpXG4gICBvdmVybG9hZC4gIEEgc2VwYXJhdGUgZXh0ZW5zaW9uIHdpbGwg
YmUgcmVxdWlyZWQgdG8gb3V0bGluZSB0aGVcbiAgIGhhbmRsaW5nIG9mIHRoZSBjYXNlIG9m
IGFnZW50IG92ZXJsb2FkLlxuXG5BLjMuICBOZXcgRXJyb3IgRGlhZ25vc3RpYyBBVlBcblxu
ICAgVGhpcyBzcGVjaWZpY2F0aW9uIGluZGljYXRlcyB0aGUgdXNlIG9mIGV4aXN0aW5nIGVy
cm9yIG1lc3NhZ2VzIHdoZW5cbiAgIG5vZGVzIHJlamVjdCByZXF1ZXN0cyBkdWUgdG8gb3Zl
cmxvYWQuICBUaGUgRElNRSB3b3JraW5nIGdyb3VwIGlzXG4gICBjb25zaWRlcmluZyBkZWZp
bmluZyBhZGRpdGlvbmFsIGVycm9yIGNvZGVzIG9yIEFWUHMgdG8gaW5kaWNhdGUgdGhhdFxu
ICAgb3ZlcmxvYWQgd2FzIHRoZSByZWFzb24gZm9yIHRoZSByZWplY3Rpb24gb2YgdGhlIG1l
c3NhZ2UuXG5cbkFwcGVuZGl4IEIuICBEZXBsb3ltZW50IENvbnNpZGVyYXRpb25zXG5cbiAg
IE5vbiBTdXBwb3J0aW5nIEFnZW50c1xuXG4gICAgICBEdWUgdG8gdGhlIHdheSB0aGF0IHJl
YWxtLXJvdXRlZCByZXF1ZXN0cyBhcmUgaGFuZGxlZCBpbiBEaWFtZXRlclxuICAgICAgbmV0
d29ya3Mgd2l0aCB0aGUgc2VydmVyIHNlbGVjdGlvbiBmb3IgdGhlIHJlcXVlc3QgZG9uZSBi
eSBhblxuICAgICAgYWdlbnQsIG5ldHdvcmsgb3BlcmF0b3JzIHNob3VsZCBlbmFibGUgRE9J
QyBhdCBhZ2VudHMgdGhhdCBwZXJmb3JtXG4gICAgICBzZXJ2ZXIgc2VsZWN0aW9uIGZpcnN0
LlxuXG4gICBUb3BvbG9neSBIaWRpbmcgSW50ZXJhY3Rpb25zXG5cblxuXG5Lb3Job25lbiwg
ZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBb
UGFnZSAzNF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAg
ICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAgIFRoZXJlIGV4aXN0
IHByb3hpZXMgdGhhdCBpbXBsZW1lbnQgd2hhdCBpcyByZWZlcnJlZCB0byBhcyBUb3BvbG9n
eVxuICAgICAgSGlkaW5nLiAgVGhpcyBjYW4gaW5jbHVkZSBjYXNlcyB3aGVyZSB0aGUgYWdl
bnQgbW9kaWZpZXMgdGhlXG4gICAgICBPcmlnaW4tSG9zdCBpbiBhbnN3ZXIgbWVzc2FnZXMu
ICBUaGUgYmVoYXZpb3Igb2YgdGhlIERPSUMgc29sdXRpb25cbiAgICAgIGlzIG5vdCB3ZWxs
IHVuZGVyc3Rvb2Qgd2hlbiB0aGlzIGhhcHBlbnMuICBBcyBzdWNoLCB0aGUgRE9JQ1xuICAg
ICAgc29sdXRpb24gZG9lcyBub3QgYWRkcmVzcyB0aGlzIHNjZW5hcmlvLlxuXG5BcHBlbmRp
eCBDLiAgUmVxdWlyZW1lbnRzIENvbmZvcm1hbmNlIEFuYWx5c2lzXG5cbiAgIFRoaXMgc2Vj
dGlvbiBjb250YWlucyB0aGUgcmVzdWx0IG9mIGFuIGFuYWx5c2lzIG9mIHRoZSBET0lDIHNv
bHV0aW9uc1xuICAgY29uZm9ybWFuY2UgdG8gdGhlIHJlcXVpcmVtZW50cyBkZWZpbmVkIGlu
IFtSRkM3MDY4XS5cblxuQy4xLiAgRGVmZXJyZWQgUmVxdWlyZW1lbnRzXG5cbiAgIFRoZSAz
R1BQIGhhcyBhZG9wdGVkIGFuIGVhcmx5IHZlcnNpb24gb2YgdGhpcyBkb2N1bWVudCBhcyBu
b3JtYXRpdmVcbiAgIHJlZmVyZW5jZXMgaW4gdmFyaW91cyBEaWFtZXRlciByZWxhdGVkIHNw
ZWNpZmljYXRpb25zIHRvIHN1cHBvcnQgdGhlXG4gICBvdmVybG9hZCBjb250cm9sIG1lY2hh
bmlzbSBpbiB0aGVpciByZWxlYXNlIDEyIGZyYW1ld29yay4gIFRoZSBESU1FXG4gICB3b3Jr
aW5nIGdyb3VwIGhhcyB0aGVyZWZvcmUgZGVjaWRlZCB0byBkZWZlciBjZXJ0YWluIHJlcXVp
cmVtZW50cyBpblxuICAgb3JkZXIgdG8gY29tcGxldGUgdGhlIGRlc2lnbiBvZiBhbiBleHRl
bnNpYmxlLCBnZW5lcmljIHNvbHV0aW9uXG4gICBiZWZvcmUgdGhlIGRlYWRsaW5lIHNjaGVk
dWxlZCBieSB0aGUgM0dQUCBmb3IgdGhlIGNvbXBsZXRpb24gb2YgdGhlXG4gICByZWxlYXNl
IDEyIHByb3RvY29sIHdvcmsgYnkgdGhlIGVuZCBvZiAyMDE0LiAgVGhlIGRlZmVycmVkIHdv
cmtcbiAgIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmc6XG5cbiAgIG8gIEFnZW50IE92ZXJsb2Fk
IC0gVGhlIGFiaWxpdHkgZm9yIGFuIGFnZW50IHRvIHJlcG9ydCBhbiBvdmVybG9hZFxuICAg
ICAgY29uZGl0aW9uIG9mIHRoZSBhZ2VudCBpdHNlbGYuXG5cbiAgIG8gIExvYWQgSW5mb3Jt
YXRpb24gLSBUaGUgYWJpbGl0eSBmb3IgYSBub2RlIHRvIHJlcG9ydCBpdHMgbG9hZCBsZXZl
bFxuICAgICAgd2hlbiBub3Qgb3ZlcmxvYWRlZC5cblxuICAgQXQgdGhlIHRpbWUgb2YgdGhp
cyB3cml0aW5nLCBESU1FIGhhcyBiZWd1biBzZXBhcmF0ZSB3b3JrIGVmZm9ydHMgZm9yXG4g
ICB0aGVzZSByZXF1aXJlbWVudHMuXG5cbkMuMi4gIERldGVjdGlvbiBvZiBub24tc3VwcG9y
dGluZyBJbnRlcm1lZGlhcmllc1xuXG4gICBUaGUgRE9JQyBtZWNoYW5pc20gYXMgY3VycmVu
dGx5IGRlZmluZWQgZG9lcyBub3QgYWxsb3cgc3VwcG9ydGluZ1xuICAgbm9kZXMgdG8gYXV0
b21hdGljYWxseSBkZXRlcm1pbmUgd2hldGhlciBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgb3Ig
T0MtXG4gICBPTFIgQVZQcyBhcmUgb3JpZ2luYXRlZCBieSBhIHBlZXIgbm9kZSwgb3IgYnkg
YSBub24tcGVlciBub2RlIGFuZFxuICAgc2VudCBhY3Jvc3MgYSBub24tc3VwcG9ydGluZyBw
ZWVyLiAgVGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvXG4gICBkZXRlY3QgdGhlIHByZXNl
bmNlIG9mIG5vbi1zdXBwb3J0aW5nIG5vZGVzIGJldHdlZW4gc3VwcG9ydGluZyBub2Rlcyxc
biAgIGV4Y2VwdCBieSBjb25maWd1cmF0aW9uLiAgVGhlIHdvcmtpbmcgZ3JvdXAgZGV0ZXJt
aW5lZCB0aGF0IHN1Y2ggYVxuICAgY29uZmlndXJhdGlvbiByZXF1aXJlbWVudCBpcyBhY2Nl
cHRhYmxlLlxuXG4gICBUaGlzIGxpbWl0cyBmdWxsIGNvbXBsaWFuY2Ugd2l0aCBjZXJ0YWlu
IHJlcXVpcmVtZW50cyByZWxhdGVkIHRvIHRoZVxuICAgbGltaXRhdGlvbiBvZiBuZXcgY29u
ZmlndXJhdGlvbiwgZGVwbG95bWVudCBpbiBlbnZpcm9ubWVudHMgd2l0aFxuICAgbWl4ZWQg
c3VwcG9ydCwgb3BlcmF0aW5nIGFjcm9zcyBub24tc3VwcG9ydGluZyBhZ2VudHMsIGFuZFxu
ICAgYXV0aG9yaXphdGlvbi5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAg
ICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDM1XVxuX1xu
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAg
ICAgICAgSmFudWFyeSAyMDE1XG5cblxuQy4zLiAgSW1wbGljaXQgQXBwbGljYXRpb24gSW5k
aWNhdGlvblxuXG4gICBUaGUgd29ya2luZyBncm91cCBlbGVjdGVkIHRvIGRldGVybWluZSB0
aGUgYXBwbGljYXRpb24gZm9yIGFuXG4gICBvdmVybG9hZCByZXBvcnQgZnJvbSB0aGF0IG9m
IHRoZSBlbmNsb3NpbmcgbWVzc2FnZS4gIFRoaXMgcHJldmVudHNcbiAgIHNlbmRpbmcgYW4g
T0xSIGZvciBhbiBhcHBsaWNhdGlvbiB3aGVuIHRoZXJlIGFyZSBubyB0cmFuc2FjdGlvbnMg
Zm9yXG4gICB0aGF0IGFwcGxpY2F0aW9uLlxuXG4gICBBcyBhIGNvbnNlcXVlbmNlLCBET0lD
IGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSByZXF1aXJlbWVudCB0byBiZVxuICAgYWJsZSB0
byByZXBvcnQgb3ZlcmxvYWQgaW5mb3JtYXRpb24gYWNyb3NzIHF1aWVzY2VudCBjb25uZWN0
aW9ucy5cbiAgIERPSUMgZG9lcyBub3QgZnVsbHkgY29tcGx5IHdpdGggcmVxdWlyZW1lbnRz
IHRvIG9wZXJhdGUgb24gdXAtdG8tZGF0ZVxuICAgaW5mb3JtYXRpb24sIHNpbmNlIGlmIGFu
IE9MUiBjYXVzZXMgYWxsIHRyYW5zYWN0aW9ucyB0byBzdG9wIGZvciBhblxuICAgYXBwbGlj
YXRpb24sIHRoZSBvbmx5IHdheSB0cmFmZmljIHdpbGwgcmVzdW1lIGlzIGZvciB0aGUgT0xS
IHRvXG4gICBleHBpcmUuXG5cbkMuNC4gIFN0YXRlbGVzcyBPcGVyYXRpb25cblxuICAgUkZD
NzA2OCBleHBsaWNpdGx5IGRpc2NvdXJhZ2VzIHRoZSBzZW5kaW5nIG9mIE9MUnMgaW4gZXZl
cnkgYW5zd2VyXG4gICBtZXNzYWdlLCBhcyBwYXJ0IG9mIHRoZSByZXF1aXJlbWVudCB0byBh
dm9pZCBhZGRpdGlvbmFsIHdvcmsgZm9yXG4gICBvdmVybG9hZGVkIG5vZGVzLiAgRE9JQyBy
ZWNvbW1lbmRzIGV4YWN0bHkgdGhhdCBiZWhhdmlvciBkdXJpbmdcbiAgIGFjdGl2ZSBvdmVy
bG9hZCBjb25kaXRpb25zLiAgVGhlIHdvcmtpbmcgZ3JvdXAgZGV0ZXJtaW5lZCB0aGF0IGRv
aW5nXG4gICBvdGhlcndpc2Ugd291bGQgcmVkdWNlIHJlbGlhYmlsaXR5IGFuZCBpbmNyZWFz
ZSBzdGF0ZWZ1bG5lc3MuICAoTm90ZVxuICAgdGhhdCBET0lDIGRvZXMgYWxsb3cgbm9kZXMg
dG8gYXZvaWQgc2VuZGluZyBPTFJzIGluIGV2ZXJ5IGFuc3dlciBpZlxuICAgdGhleSBoYXZl
IHNvbWUgb3RoZXIgbWV0aG9kIG9mIGVuc3VyaW5nIHRoYXQgT0xScyBnZXQgdG8gYWxsIHJl
bGV2YW50XG4gICByZWFjdGluZyBub2Rlcy4pXG5cbkMuNS4gIE5vIE5ldyBWdWxuZXJhYmls
aXRpZXNcblxuICAgVGhlIHdvcmtpbmcgZ3JvdXAgYmVsaWV2ZXMgdGhhdCBET0lDIGlzIGNv
bXBsaWFudCB3aXRoIHRoZVxuICAgcmVxdWlyZW1lbnQgdG8gYXZvaWQgaW50cm9kdWNpbmcg
bmV3IHZ1bG5lcmFiaWxpdGllcy4gIEhvd2V2ZXIsIHRoaXNcbiAgIHJlcXVpcmVtZW50IG1h
eSB3YXJyYW50IGFuIGVhcmx5IHNlY3VyaXR5IGV4cGVydCByZXZpZXcuXG5cbkMuNi4gIERl
dGFpbGVkIFJlcXVpcmVtZW50c1xuXG4gICBbUkZDIEVkaXRvcjogUGxlYXNlIHJlbW92ZSB0
aGlzIHNlY3Rpb24gYW5kIHN1YnNlY3Rpb25zIHByaW9yIHRvXG4gICBwdWJsaWNhdGlvbiBh
cyBhbiBSRkMuXVxuXG5DLjYuMS4gIEdlbmVyYWxcblxuICAgUkVRIDE6ICBUaGUgc29sdXRp
b24gTVVTVCBwcm92aWRlIGEgY29tbXVuaWNhdGlvbiBtZXRob2QgZm9yIERpYW1ldGVyXG4g
ICAgICAgICAgIG5vZGVzIHRvIGV4Y2hhbmdlIGxvYWQgYW5kIG92ZXJsb2FkIGluZm9ybWF0
aW9uLlxuXG4gICAgICAgICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50Ki4gVGhlIG1lY2hhbmlz
bSB1c2VzIG5ldyBBVlBzXG4gICAgICAgICAgIHBpZ2d5YmFja2VkIG9uIGV4aXN0aW5nIERp
YW1ldGVyIG1lc3NhZ2VzIHRvIGV4Y2hhbmdlXG4gICAgICAgICAgIG92ZXJsb2FkIGluZm9y
bWF0aW9uLiAgSXQgZG9lcyBub3QgY3VycmVudGx5IHN1cHBvcnQgImxvYWQiXG4gICAgICAg
ICAgIGluZm9ybWF0aW9uIG9yIHRoZSBhYmlsaXR5IHRvIHJlcG9ydCBvdmVybG9hZCBvZiBh
biBhZ2VudC5cbiAgICAgICAgICAgVGhlc2UgaGF2ZSBiZWVuIGxlZnQgZm9yIGZ1dHVyZSBl
eHRlbnNpb25zLlxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJl
cyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDM2XVxuX1xuSW50ZXJuZXQt
RHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFu
dWFyeSAyMDE1XG5cblxuICAgUkVRIDI6ICBUaGUgc29sdXRpb24gTVVTVCBhbGxvdyBEaWFt
ZXRlciBub2RlcyB0byBzdXBwb3J0IG92ZXJsb2FkXG4gICAgICAgICAgIGNvbnRyb2wgcmVn
YXJkbGVzcyBvZiB3aGljaCBEaWFtZXRlciBhcHBsaWNhdGlvbnMgdGhleVxuICAgICAgICAg
ICBzdXBwb3J0LiAgRGlhbWV0ZXIgY2xpZW50cyBhbmQgYWdlbnRzIG11c3QgYmUgYWJsZSB0
byB1c2UgdGhlXG4gICAgICAgICAgIHJlY2VpdmVkIGxvYWQgYW5kIG92ZXJsb2FkIGluZm9y
bWF0aW9uIHRvIHN1cHBvcnQgZ3JhY2VmdWxcbiAgICAgICAgICAgYmVoYXZpb3IgZHVyaW5n
IGFuIG92ZXJsb2FkIGNvbmRpdGlvbi4gIEdyYWNlZnVsIGJlaGF2aW9yXG4gICAgICAgICAg
IHVuZGVyIG92ZXJsb2FkIGNvbmRpdGlvbnMgaXMgYmVzdCBkZXNjcmliZWQgYnkgUkVRIDMu
XG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBUaGUgRE9JQyBBVlBzIGNh
biBiZSB1c2VkIGluIGFueVxuICAgICAgICAgICBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyB0
aGUgZXh0ZW5zaW9uIG9mIEFWUHMuICBIb3dldmVyLFxuICAgICAgICAgICAibG9hZCIgaW5m
b3JtYXRpb24gaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQuXG5cblxuXG4gICBSRVEgMzog
IFRoZSBzb2x1dGlvbiBNVVNUIGxpbWl0IHRoZSBpbXBhY3Qgb2Ygb3ZlcmxvYWQgb24gdGhl
IG92ZXJhbGxcbiAgICAgICAgICAgdXNlZnVsIHRocm91Z2hwdXQgb2YgYSBEaWFtZXRlciBz
ZXJ2ZXIsIGV2ZW4gd2hlbiB0aGVcbiAgICAgICAgICAgaW5jb21pbmcgbG9hZCBvbiB0aGUg
bmV0d29yayBpcyBmYXIgaW4gZXhjZXNzIG9mIGl0c1xuICAgICAgICAgICBjYXBhY2l0eS4g
IFRoZSBvdmVyYWxsIHVzZWZ1bCB0aHJvdWdocHV0IHVuZGVyIGxvYWQgaXMgdGhlXG4gICAg
ICAgICAgIHVsdGltYXRlIG1lYXN1cmUgb2YgdGhlIHZhbHVlIG9mIGEgc29sdXRpb24uXG5c
biAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgcHJvdmlkZXMgaW5mb3JtYXRpb24gdGhh
dCBub2RlcyBjYW4gdXNlIHRvXG4gICAgICAgICAgIHJlZHVjZSB0aGUgaW1wYWN0IG9mIG92
ZXJsb2FkLlxuXG5cblxuICAgUkVRIDQ6ICBEaWFtZXRlciBhbGxvd3MgcmVxdWVzdHMgdG8g
YmUgc2VudCBmcm9tIGVpdGhlciBzaWRlIG9mIGFcbiAgICAgICAgICAgY29ubmVjdGlvbiwg
YW5kIGVpdGhlciBzaWRlIG9mIGEgY29ubmVjdGlvbiBtYXkgaGF2ZSBuZWVkIHRvXG4gICAg
ICAgICAgIHByb3ZpZGUgaXRzIG92ZXJsb2FkIHN0YXR1cy4gIFRoZSBzb2x1dGlvbiBNVVNU
IGFsbG93IGVhY2hcbiAgICAgICAgICAgc2lkZSBvZiBhIGNvbm5lY3Rpb24gdG8gaW5kZXBl
bmRlbnRseSBpbmZvcm0gdGhlIG90aGVyIG9mIGl0c1xuICAgICAgICAgICBvdmVybG9hZCBz
dGF0dXMuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgQVZQcyBjYW4gYmUgaW5j
bHVkZWQgcmVnYXJkbGVzcyBvZlxuICAgICAgICAgICB0cmFuc2FjdGlvbiAiZGlyZWN0aW9u
IlxuXG5cblxuICAgUkVRIDU6ICBEaWFtZXRlciBhbGxvd3Mgbm9kZXMgdG8gZGV0ZXJtaW5l
IHRoZWlyIHBlZXJzIHZpYSBkeW5hbWljXG4gICAgICAgICAgIGRpc2NvdmVyeSBvciBtYW51
YWwgY29uZmlndXJhdGlvbi4gIFRoZSBzb2x1dGlvbiBNVVNUIHdvcmtcbiAgICAgICAgICAg
Y29uc2lzdGVudGx5IHdpdGhvdXQgcmVnYXJkIHRvIGhvdyBwZWVycyBhcmUgZGV0ZXJtaW5l
ZC5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBjb250YWlucyBubyBhc3N1bXB0
aW9ucyBhYm91dCBob3cgcGVlcnMgYXJlXG4gICAgICAgICAgIGRpc2NvdmVyZWQuXG5cblxu
XG4gICBSRVEgNjogIFRoZSBzb2x1dGlvbiBkZXNpZ25lcnMgU0hPVUxEIHNlZWsgdG8gbWlu
aW1pemUgdGhlIGFtb3VudCBvZlxuICAgICAgICAgICBuZXcgY29uZmlndXJhdGlvbiByZXF1
aXJlZCBpbiBvcmRlciB0byB3b3JrLiAgRm9yIGV4YW1wbGUsIGl0XG4gICAgICAgICAgIGlz
IGJldHRlciB0byBhbGxvdyBwZWVycyB0byBhZHZlcnRpc2Ugb3IgbmVnb3RpYXRlIHN1cHBv
cnRcblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIs
IDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzddXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVc
blxuXG4gICAgICAgICAgIGZvciB0aGUgc29sdXRpb24sIHJhdGhlciB0aGFuIHRvIHJlcXVp
cmUgdGhhdCB0aGlzIGtub3dsZWRnZVxuICAgICAgICAgICB0byBiZSBjb25maWd1cmVkIGF0
IGVhY2ggbm9kZS5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIE1vc3Qg
RE9JQyBwYXJhbWV0ZXJzIGFyZSBhZHZlcnRpc2VkXG4gICAgICAgICAgIHVzaW5nIHRoZSBE
T0lDIGNhcGFiaWxpdHkgYW5ub3VuY2VtZW50IG1lY2hhbmlzbS4gIEhvd2V2ZXIsXG4gICAg
ICAgICAgIHRoZXJlIGFyZSBzb21lIHNpdHVhdGlvbnMgd2hlcmUgY29uZmlndXJhdGlvbiBp
cyByZXF1aXJlZC5cbiAgICAgICAgICAgRm9yIGV4YW1wbGUsIGEgRE9JQyBub2RlIGRldGVj
dCB0aGUgZmFjdCB0aGF0IGEgcGVlciBtYXkgbm90XG4gICAgICAgICAgIHN1cHBvcnQgRE9J
QyB3aGVuIG5vZGVzIG9uIHRoZSBvdGhlciBzaWRlIG9mIHRoZSBub24tXG4gICAgICAgICAg
IHN1cHBvcnRpbmcgbm9kZSBkbyBzdXBwb3J0IERPSUMgd2l0aG91dCBjb25maWd1cmF0aW9u
LlxuXG5cblxuQy42LjIuICBQZXJmb3JtYW5jZVxuXG4gICBSRVEgNzogIFRoZSBzb2x1dGlv
biBhbmQgYW55IGFzc29jaWF0ZWQgZGVmYXVsdCBhbGdvcml0aG0ocykgTVVTVFxuICAgICAg
ICAgICBlbnN1cmUgdGhhdCB0aGUgc3lzdGVtIHJlbWFpbnMgc3RhYmxlLiAgQXQgc29tZSBw
b2ludCBhZnRlclxuICAgICAgICAgICBhbiBvdmVybG9hZCBjb25kaXRpb24gaGFzIGVuZGVk
LCB0aGUgc29sdXRpb24gTVVTVCBlbmFibGVcbiAgICAgICAgICAgY2FwYWNpdHkgdG8gc3Rh
YmlsaXplIGFuZCBiZWNvbWUgZXF1YWwgdG8gd2hhdCBpdCB3b3VsZCBiZSBpblxuICAgICAg
ICAgICB0aGUgYWJzZW5jZSBvZiBhbiBvdmVybG9hZCBjb25kaXRpb24uICBOb3RlIHRoYXQg
dGhpcyBhbHNvXG4gICAgICAgICAgIHJlcXVpcmVzIHRoYXQgdGhlIHNvbHV0aW9uIE1VU1Qg
YWxsb3cgbm9kZXMgdG8gc2hlZCBsb2FkXG4gICAgICAgICAgIHdpdGhvdXQgaW50cm9kdWNp
bmcgbm9uLWNvbnZlcmdpbmcgb3NjaWxsYXRpb25zIGR1cmluZyBvclxuICAgICAgICAgICBh
ZnRlciBhbiBvdmVybG9hZCBjb25kaXRpb24uXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCou
IFRoZSBzcGVjaWZpY2F0aW9uIG9mZmVycyBndWlkYW5jZSB0aGF0XG4gICAgICAgICAgIGlt
cGxlbWVudGF0aW9ucyBzaG91bGQgYXBwbHkgaHlzdGVyZXNpcyB3aGVuIHJlY292ZXJpbmcg
ZnJvbVxuICAgICAgICAgICBvdmVybG9hZCwgYW5kIGF2b2lkIHN1ZGRlbiByYW1wIHVwcyBp
biBvZmZlcmVkIGxvYWQgd2hlblxuICAgICAgICAgICByZWNvdmVyaW5nLlxuXG5cblxuICAg
UkVRIDg6ICBTdXBwb3J0aW5nIG5vZGVzIE1VU1QgYmUgYWJsZSB0byBkaXN0aW5ndWlzaCBj
dXJyZW50IG92ZXJsb2FkXG4gICAgICAgICAgIGluZm9ybWF0aW9uIGZyb20gc3RhbGUgaW5m
b3JtYXRpb24uXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBET0lDIG92
ZXJsb2FkIHJlcG9ydHMgYXJlICJzb2Z0XG4gICAgICAgICAgIHN0YXRlIiwgdGhhdCBpcyB0
aGV5IGV4cGlyZSBhZnRlciBhbiBpbmRpY2F0ZWQgcGVyaW9kLiAgRE9JQ1xuICAgICAgICAg
ICBub2RlcyBtYXkgYWxzbyBzZW5kIHJlcG9ydHMgdGhhdCBlbmQgZXhpc3Rpbmcgb3Zlcmxv
YWRcbiAgICAgICAgICAgY29uZGl0aW9ucy4gIERPSUMgcmVxdWlyZXMgcmVwb3J0aW5nIG5v
ZGVzIHRvIGVuc3VyZSB0aGF0IGFsbFxuICAgICAgICAgICByZWxldmFudCByZWFjdGluZyBu
b2RlcyByZWNlaXZlIG92ZXJsb2FkIHJlcG9ydHMuXG5cbiAgICAgICAgICAgSG93ZXZlciwg
c2luY2UgRE9JQyBkb2VzIG5vdCBhbGxvdyByZXBvcnRpbmcgbm9kZXMgdG8gc2VuZFxuICAg
ICAgICAgICBPTFJzIGluIHdhdGNoZG9nIG1lc3NhZ2VzLCBpZiBhbiBvdmVybG9hZCBjb25k
aXRpb24gcmVzdWx0c1xuICAgICAgICAgICBpbiB6ZXJvIG9mZmVyZWQgbG9hZCwgdGhlIHJl
cG9ydGluZyBub2RlIGNhbm5vdCB1cGRhdGUgdGhlXG4gICAgICAgICAgIGNvbmRpdGlvbiB1
bnRpbCB0aGUgZXhwaXJhdGlvbiBvZiB0aGUgb3JpZ2luYWwgT0xSLlxuXG5cblxuXG5cblxu
XG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDM4XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
ICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAg
UkVRIDk6ICBUaGUgc29sdXRpb24gTVVTVCBmdW5jdGlvbiBhY3Jvc3MgZnVsbHkgbG9hZGVk
IGFzIHdlbGwgYXNcbiAgICAgICAgICAgcXVpZXNjZW50IHRyYW5zcG9ydCBjb25uZWN0aW9u
cy4gIFRoaXMgaXMgcGFydGlhbGx5IGRlcml2ZWRcbiAgICAgICAgICAgZnJvbSB0aGUgcmVx
dWlyZW1lbnQgZm9yIHN0YWJpbGl0eSBpbiBSRVEgNy5cblxuICAgICAgICAgICAqTm90IENv
bXBsaWFudCouIERPSUMgZG9lcyBub3QgYWxsb3cgT0xScyB0byBiZSBzZW50IG92ZXJcbiAg
ICAgICAgICAgcXVpZXNjZW50IHRyYW5zcG9ydCBjb25uZWN0aW9ucy4gIFRoaXMgaXMgZHVl
IHRvIHRoZSBmYWN0XG4gICAgICAgICAgIHRoYXQgT0xScyBjYW5ub3QgYmUgc2VudCBvdXRz
aWRlIG9mIHRoZSBhcHBsaWNhdGlvbiB0byB3aGljaFxuICAgICAgICAgICB0aGV5IGFwcGx5
LlxuXG5cblxuICAgUkVRIDEwOiBDb25zdW1lcnMgb2Ygb3ZlcmxvYWQgaW5mb3JtYXRpb24g
TVVTVCBiZSBhYmxlIHRvIGRldGVybWluZVxuICAgICAgICAgICB3aGVuIHRoZSBvdmVybG9h
ZCBjb25kaXRpb24gaW1wcm92ZXMgb3IgZW5kcy5cblxuICAgICAgICAgICAqUGFydGlhbGx5
IENvbXBsaWFudCouIChTZWUgcmVzcG9uc2UgdG8gcHJldmlvdXMgdHdvXG4gICAgICAgICAg
IHJlcXVpcmVtZW50cy4pXG5cblxuXG4gICBSRVEgMTE6IFRoZSBzb2x1dGlvbiBNVVNUIGJl
IGFibGUgdG8gb3BlcmF0ZSBpbiBuZXR3b3JrcyBvZiBkaWZmZXJlbnRcbiAgICAgICAgICAg
c2l6ZXMuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgbWFrZXMgbm8gYXNzdW1w
dGlvbnMgYWJvdXQgdGhlIHNpemUgb2YgdGhlXG4gICAgICAgICAgIG5ldHdvcmsuICBET0lD
IGNhbiBvcGVyYXRlIHB1cmVseSBiZXR3ZWVuIGNsaWVudHMgYW5kXG4gICAgICAgICAgIHNl
cnZlcnMsIG9yIGFjcm9zcyBhZ2VudHMuXG5cblxuXG4gICBSRVEgMTI6IFdoZW4gYSBzaW5n
bGUgbmV0d29yayBub2RlIGZhaWxzLCBnb2VzIGludG8gb3ZlcmxvYWQsIG9yXG4gICAgICAg
ICAgIHN1ZmZlcnMgZnJvbSByZWR1Y2VkIHByb2Nlc3NpbmcgY2FwYWNpdHksIHRoZSBzb2x1
dGlvbiBNVVNUXG4gICAgICAgICAgIG1ha2UgaXQgcG9zc2libGUgdG8gbGltaXQgdGhlIGlt
cGFjdCBvZiB0aGUgYWZmZWN0ZWQgbm9kZSBvblxuICAgICAgICAgICBvdGhlciBub2RlcyBp
biB0aGUgbmV0d29yay4gIFRoaXMgaGVscHMgdG8gcHJldmVudCBhIHNtYWxsLVxuICAgICAg
ICAgICBzY2FsZSBmYWlsdXJlIGZyb20gYmVjb21pbmcgYSB3aWRlc3ByZWFkIG91dGFnZS5c
blxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIERPSUMgYWxsb3dzIG92ZXJs
b2FkIHJlcG9ydHMgZm9yIGFuXG4gICAgICAgICAgIGVudGlyZSByZWFsbSwgd2hlcmUgYWJh
dGVkIHRyYWZmaWMgd2lsbCBub3QgYmUgcmVkaXJlY3RlZFxuICAgICAgICAgICB0b3dhcmRz
IGFub3RoZXIgc2VydmVyLiAgQnV0IGluIHNpdHVhdGlvbnMgd2hlcmUgbm9kZXMgY2hvb3Nl
XG4gICAgICAgICAgIHRvIGRpdmVydCB0cmFmZmljIHRvIG90aGVyIG5vZGVzLCBET0lDIG9m
ZmVycyBubyB3YXkgb2ZcbiAgICAgICAgICAga25vd2luZyB3aGV0aGVyIHRoZSBuZXcgcmVj
aXBpZW50cyBjYW4gaGFuZGxlIHRoZSB0cmFmZmljIGlmXG4gICAgICAgICAgIHRoZXkgaGF2
ZSBub3QgYWxyZWFkeSBpbmRpY2F0ZWQgb3ZlcmxvYWQuICBUaGlzIG1heSBiZVxuICAgICAg
ICAgICBtaXRpZ2F0ZWQgd2l0aCB0aGUgdXNlIG9mIGEgZnV0dXJlICJsb2FkIiBleHRlbnNp
b24sIG9yIHdpdGhcbiAgICAgICAgICAgdGhlIHVzZSBvZiBwcm9wcmlldGFyeSBkeW5hbWlj
IGxvYWQtYmFsYW5jaW5nIG1lY2hhbmlzbXMuXG5cblxuXG4gICBSRVEgMTM6IFRoZSBzb2x1
dGlvbiBNVVNUIE5PVCBpbnRyb2R1Y2Ugc3Vic3RhbnRpYWwgYWRkaXRpb25hbCB3b3JrXG4g
ICAgICAgICAgIGZvciBhIG5vZGUgaW4gYW4gb3ZlcmxvYWRlZCBzdGF0ZS4gIEZvciBleGFt
cGxlLCBhXG4gICAgICAgICAgIHJlcXVpcmVtZW50IGZvciBhbiBvdmVybG9hZGVkIG5vZGUg
dG8gc2VuZCBvdmVybG9hZFxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBp
cmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzldXG5fXG5JbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBK
YW51YXJ5IDIwMTVcblxuXG4gICAgICAgICAgIGluZm9ybWF0aW9uIGV2ZXJ5IHRpbWUgaXQg
cmVjZWl2ZWQgYSBuZXcgcmVxdWVzdCB3b3VsZFxuICAgICAgICAgICBpbnRyb2R1Y2Ugc3Vi
c3RhbnRpYWwgd29yay5cblxuICAgICAgICAgICAqTm90IENvbXBsaWFudCouIERPSUMgZG9l
cyBpbiBmYWN0IGVuY291cmFnZSBhbiBvdmVybG9hZGVkXG4gICAgICAgICAgIG5vZGUgdG8g
c2VuZCBhbiBPTFIgaW4gZXZlcnkgcmVzcG9uc2UuICBUaGUgd29ya2luZyBncm91cFxuICAg
ICAgICAgICB0aGF0IG90aGVyIG1lY2hhbmlzbXMgdG8gZW5zdXJlIHRoYXQgZXZlcnkgcmVs
ZXZhbnQgbm9kZVxuICAgICAgICAgICByZWNlaXZlcyBhbiBPTFIgd291bGQgY3JlYXRlIGV2
ZW4gbW9yZSB3b3JrLiAgW05vdGU6IFRoaXNcbiAgICAgICAgICAgbmVlZHMgZGlzY3Vzc2lv
bi5dXG5cblxuXG4gICBSRVEgMTQ6IFNvbWUgc2NlbmFyaW9zIHRoYXQgcmVzdWx0IGluIG92
ZXJsb2FkIGludm9sdmUgYSByYXBpZFxuICAgICAgICAgICBpbmNyZWFzZSBvZiB0cmFmZmlj
IHdpdGggbGl0dGxlIHRpbWUgYmV0d2VlbiBub3JtYWwgbGV2ZWxzXG4gICAgICAgICAgIGFu
ZCBsZXZlbHMgdGhhdCBpbmR1Y2Ugb3ZlcmxvYWQuICBUaGUgc29sdXRpb24gU0hPVUxEIHBy
b3ZpZGVcbiAgICAgICAgICAgZm9yIHJhcGlkIGZlZWRiYWNrIHdoZW4gdHJhZmZpYyBsZXZl
bHMgaW5jcmVhc2UuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSBwaWdneWJhY2sg
bWVjaGFuaXNtIGFsbG93cyBPTFJzIHRvIGJlIHNlbnRcbiAgICAgICAgICAgYXQgdGhlIHNh
bWUgcmF0ZSBhcyBhcHBsaWNhdGlvbiB0cmFmZmljLlxuXG5cblxuICAgUkVRIDE1OiBUaGUg
c29sdXRpb24gTVVTVCBOT1QgaW50ZXJmZXJlIHdpdGggdGhlIGNvbmdlc3Rpb24gY29udHJv
bFxuICAgICAgICAgICBtZWNoYW5pc21zIG9mIHVuZGVybHlpbmcgdHJhbnNwb3J0IHByb3Rv
Y29scy4gIEZvciBleGFtcGxlLCBhXG4gICAgICAgICAgIHNvbHV0aW9uIHRoYXQgb3BlbmVk
IGFkZGl0aW9uYWwgVENQIGNvbm5lY3Rpb25zIHdoZW4gdGhlXG4gICAgICAgICAgIG5ldHdv
cmsgaXMgY29uZ2VzdGVkIHdvdWxkIHJlZHVjZSB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGVc
biAgICAgICAgICAgdW5kZXJseWluZyBjb25nZXN0aW9uIGNvbnRyb2wgbWVjaGFuaXNtcy5c
blxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBkb2VzIG5vdCByZXF1aXJlIG9yIHJl
Y29tbWVuZCBjaGFuZ2VzIGluXG4gICAgICAgICAgIHRoZSBoYW5kbGluZyBvZiB0cmFuc3Bv
cnQgcHJvdG9jb2xzIG9yIGNvbm5lY3Rpb25zLlxuXG5cblxuQy42LjMuICBIZXRlcm9nZW5l
b3VzIFN1cHBvcnQgZm9yIFNvbHV0aW9uXG5cbiAgIFJFUSAxNjogVGhlIHNvbHV0aW9uIGlz
IGxpa2VseSB0byBiZSBkZXBsb3llZCBpbmNyZW1lbnRhbGx5LiAgVGhlXG4gICAgICAgICAg
IHNvbHV0aW9uIE1VU1Qgc3VwcG9ydCBhIG1peGVkIGVudmlyb25tZW50IHdoZXJlIHNvbWUs
IGJ1dCBub3RcbiAgICAgICAgICAgYWxsLCBub2RlcyBpbXBsZW1lbnQgaXQuXG5cbiAgICAg
ICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBET0lDIHdvcmtzIHdpdGggbW9zdCBtaXhl
ZC1kZXBsb3ltZW50XG4gICAgICAgICAgIHNjZW5hcmlvcy4gIEhvd2V2ZXIsIGl0IGNhbm5v
dCB3b3JrIGFjcm9zcyBhIG5vbi1zdXBwb3J0aW5nXG4gICAgICAgICAgIHByb3h5IHRoYXQg
bW9kaWZpZXMgT3JpZ2luLUhvc3QgQVZQcyBpbiBhbnN3ZXIgbWVzc2FnZXMuXG4gICAgICAg
ICAgIERPSUMgd2lsbCBoYXZlIGxpbWl0ZWQgaW1wYWN0IGluIG5ldHdvcmtzIHdoZXJlIHRo
ZSBub2Rlc1xuICAgICAgICAgICB0aGF0IHBlcmZvcm0gc2VydmVyIHNlbGVjdGlvbnMgZG8g
bm90IHN1cHBvcnQgdGhlIG1lY2hhbmlzbS5cblxuXG5cbiAgIFJFUSAxNzogSW4gYSBtaXhl
ZCBlbnZpcm9ubWVudCB3aXRoIG5vZGVzIHRoYXQgc3VwcG9ydCB0aGUgc29sdXRpb25cbiAg
ICAgICAgICAgYW5kIG5vZGVzIHRoYXQgZG8gbm90LCB0aGUgc29sdXRpb24gTVVTVCBOT1Qg
cmVzdWx0IGluXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVs
eSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0MF1cbl9cbkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkg
MjAxNVxuXG5cbiAgICAgICAgICAgbWF0ZXJpYWxseSBsZXNzIHVzZWZ1bCB0aHJvdWdocHV0
IGR1cmluZyBvdmVybG9hZCBhcyB3b3VsZFxuICAgICAgICAgICBoYXZlIHJlc3VsdGVkIGlm
IHRoZSBzb2x1dGlvbiB3ZXJlIG5vdCBwcmVzZW50LiAgSXQgU0hPVUxEXG4gICAgICAgICAg
IHJlc3VsdCBpbiBsZXNzIHNldmVyZSBvdmVybG9hZCBpbiB0aGlzIGVudmlyb25tZW50Llxu
XG4gICAgICAgICAgICpDb21wbGlhbnQqLiBJbiBtb3N0IG1peGVkLXN1cHBvcnQgZGVwbG95
bWVudCwgRE9JQyB3aWxsXG4gICAgICAgICAgIG9mZmVyIGF0IGxlYXN0IHNvbWUgdmFsdWUs
IGFuZCB3aWxsIG5vdCBtYWtlIHRoaW5ncyB3b3JzZS5cblxuXG5cbiAgIFJFUSAxODogSW4g
YSBtaXhlZCBlbnZpcm9ubWVudCBvZiBub2RlcyB0aGF0IHN1cHBvcnQgdGhlIHNvbHV0aW9u
IGFuZFxuICAgICAgICAgICBub2RlcyB0aGF0IGRvIG5vdCwgdGhlIHNvbHV0aW9uIE1VU1Qg
Tk9UIHByZWNsdWRlIGVsZW1lbnRzXG4gICAgICAgICAgIHRoYXQgc3VwcG9ydCBvdmVybG9h
ZCBjb250cm9sIGZyb20gdHJlYXRpbmcgZWxlbWVudHMgdGhhdCBkb1xuICAgICAgICAgICBu
b3Qgc3VwcG9ydCBvdmVybG9hZCBjb250cm9sIGluIGFuIGVxdWl0YWJsZSBmYXNoaW9uIHJl
bGF0aXZlXG4gICAgICAgICAgIHRvIHRob3NlIHRoYXQgZG8uICBVc2VycyBhbmQgb3BlcmF0
b3JzIG9mIG5vZGVzIHRoYXQgZG8gbm90XG4gICAgICAgICAgIHN1cHBvcnQgdGhlIHNvbHV0
aW9uIE1VU1QgTk9UIHVuZmFpcmx5IGJlbmVmaXQgZnJvbSB0aGVcbiAgICAgICAgICAgc29s
dXRpb24uICBUaGUgc29sdXRpb24gc3BlY2lmaWNhdGlvbiBTSE9VTEQgcHJvdmlkZSBndWlk
YW5jZVxuICAgICAgICAgICB0byBpbXBsZW1lbnRlcnMgZm9yIGRlYWxpbmcgd2l0aCBlbGVt
ZW50cyBub3Qgc3VwcG9ydGluZ1xuICAgICAgICAgICBvdmVybG9hZCBjb250cm9sLlxuXG4g
ICAgICAgICAgICpDb21wbGlhbnQqLiBET0lDIHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gYWJh
dGUgbG9hZCBmcm9tIG5vbi1cbiAgICAgICAgICAgc3VwcG9ydGluZyBzb3VyY2VzLiAgRnVy
dGhlcm1vcmUsIGl0IHJlY29tbWVuZHMgdGhhdFxuICAgICAgICAgICByZXBvcnRpbmcgbm9k
ZXMgd2lsbCBzdGlsbCBuZWVkIHRvIGJlIGFibGUgdG8gYXBwbHkgd2hhdGV2ZXJcbiAgICAg
ICAgICAgcHJvdGVjdGlvbnMgdGhleSB3b3VsZCBvcmRpbmFyaWx5IGFwcGx5IGlmIERPSUMg
d2VyZSBub3QgaW5cbiAgICAgICAgICAgdXNlLlxuXG5cblxuICAgUkVRIDE5OiBJdCBNVVNU
IGJlIHBvc3NpYmxlIHRvIHVzZSB0aGUgc29sdXRpb24gYmV0d2VlbiBub2RlcyBpblxuICAg
ICAgICAgICBkaWZmZXJlbnQgcmVhbG1zIGFuZCBpbiBkaWZmZXJlbnQgYWRtaW5pc3RyYXRp
dmUgZG9tYWlucy5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIERPSUMg
YWxsb3dzIHNlbmRpbmcgT0xScyBhY3Jvc3NcbiAgICAgICAgICAgYWRtaW5pc3RyYXRpdmUg
ZG9tYWlucywgYW5kIHBvdGVudGlhbGx5IHRvIG5vZGVzIGluIG90aGVyXG4gICAgICAgICAg
IHJlYWxtcy4gIEhvd2V2ZXIsIGFuIE9MUiBjYW5ub3QgaW5kaWNhdGUgb3ZlcmxvYWQgZm9y
IHJlYWxtc1xuICAgICAgICAgICBvdGhlciB0aGFuIHRoZSBvbmUgaW4gdGhlIE9yaWdpbi1S
ZWFsbSBBVlAgb2YgdGhlIGNvbnRhaW5pbmdcbiAgICAgICAgICAgYW5zd2VyLlxuXG5cblxu
ICAgUkVRIDIwOiBBbnkgZXhwbGljaXQgb3ZlcmxvYWQgaW5kaWNhdGlvbiBNVVNUIGJlIGNs
ZWFybHlcbiAgICAgICAgICAgZGlzdGluZ3Vpc2hhYmxlIGZyb20gb3RoZXIgZXJyb3JzIHJl
cG9ydGVkIHZpYSBEaWFtZXRlci5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBz
ZW5kcyBleHBsaWNpdCBvdmVybG9hZCBpbmRpY2F0aW9uIGluXG4gICAgICAgICAgIG92ZXJs
b2FkIHJlcG9ydHMuICBJdCBkb2VzIG5vdCBkZXBlbmQgb24gZXJyb3IgcmVzdWx0IGNvZGVz
LlxuXG5cblxuICAgUkVRIDIxOiBJbiBjYXNlcyB3aGVyZSBhIG5ldHdvcmsgbm9kZSBmYWls
cywgaXMgc28gb3ZlcmxvYWRlZCB0aGF0IGl0XG4gICAgICAgICAgIGNhbm5vdCBwcm9jZXNz
IG1lc3NhZ2VzLCBvciBjYW5ub3QgY29tbXVuaWNhdGUgZHVlIHRvIGFcblxuXG5cbktvcmhv
bmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDQxXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERP
SUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAgICAgICBu
ZXR3b3JrIGZhaWx1cmUsIGl0IG1heSBub3QgYmUgYWJsZSB0byBwcm92aWRlIGV4cGxpY2l0
XG4gICAgICAgICAgIGluZGljYXRpb25zIG9mIHRoZSBuYXR1cmUgb2YgdGhlIGZhaWx1cmUg
b3IgaXRzIGxldmVscyBvZlxuICAgICAgICAgICBvdmVybG9hZC4gIFRoZSBzb2x1dGlvbiBN
VVNUIHJlc3VsdCBpbiBhdCBsZWFzdCBhcyBtdWNoXG4gICAgICAgICAgIHVzZWZ1bCB0aHJv
dWdocHV0IGFzIHdvdWxkIGhhdmUgcmVzdWx0ZWQgaWYgdGhlIHNvbHV0aW9uIHdlcmVcbiAg
ICAgICAgICAgbm90IGluIHBsYWNlLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBET0lD
IG92ZXJsb2FkIHJlcG9ydHMgaGF2ZSB0aGUgcHJpbWFyeSBlZmZlY3Qgb2ZcbiAgICAgICAg
ICAgc3VwcHJlc3NpbmcgbWVzc2FnZSByZXRyaWVzIGluIG92ZXJsb2FkIGNvbmRpdGlvbnMu
ICBET0lDXG4gICAgICAgICAgIHJlY29tbWVuZHMgdGhhdCBtZXNzYWdlcyBuZXZlciBiZSBz
aWxlbnRseSBkcm9wcGVkIGlmIGF0IGFsbFxuICAgICAgICAgICBwb3NzaWJsZS5cblxuXG5c
bkMuNi40LiAgR3JhbnVsYXIgQ29udHJvbFxuXG4gICBSRVEgMjI6IFRoZSBzb2x1dGlvbiBN
VVNUIHByb3ZpZGUgYSB3YXkgZm9yIGEgbm9kZSB0byB0aHJvdHRsZSB0aGVcbiAgICAgICAg
ICAgYW1vdW50IG9mIHRyYWZmaWMgaXQgcmVjZWl2ZXMgZnJvbSBhIHBlZXIgbm9kZS4gIFRo
aXNcbiAgICAgICAgICAgdGhyb3R0bGluZyBTSE9VTEQgYmUgZ3JhZGVkIHNvIHRoYXQgaXQg
Y2FuIGJlIGFwcGxpZWRcbiAgICAgICAgICAgZ3JhZHVhbGx5IGFzIG9mZmVyZWQgbG9hZCBp
bmNyZWFzZXMuICBPdmVybG9hZCBpcyBub3QgYVxuICAgICAgICAgICBiaW5hcnkgc3RhdGU7
IHRoZXJlIG1heSBiZSBkZWdyZWVzIG9mIG92ZXJsb2FkLlxuXG4gICAgICAgICAgICpDb21w
bGlhbnQqLiBUaGUgImxvc3MiIGFsZ29yaXRobSBleHByZXNzZXMgYSBwZXJjZW50YWdlXG4g
ICAgICAgICAgIHJlZHVjdGlvbi5cblxuXG5cbiAgIFJFUSAyMzogVGhlIHNvbHV0aW9uIE1V
U1QgcHJvdmlkZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIGVuYWJsZSBhXG4gICAgICAg
ICAgIGxvYWQtYmFsYW5jaW5nIG5vZGUgdG8gZGl2ZXJ0IG1lc3NhZ2VzIHRoYXQgYXJlIHJl
amVjdGVkIG9yXG4gICAgICAgICAgIG90aGVyd2lzZSB0aHJvdHRsZWQgYnkgYW4gb3Zlcmxv
YWRlZCB1cHN0cmVhbSBub2RlIHRvIG90aGVyXG4gICAgICAgICAgIHVwc3RyZWFtIG5vZGVz
IHRoYXQgYXJlIHRoZSBtb3N0IGxpa2VseSB0byBoYXZlIHN1ZmZpY2llbnRcbiAgICAgICAg
ICAgY2FwYWNpdHkgdG8gcHJvY2VzcyB0aGVtLlxuXG4gICAgICAgICAgICpOb3QgQ29tcGxp
YW50Ki4gRE9JQyBwcm92aWRlcyBubyBidWlsdCBpbiBtZWNoYW5pc20gdG9cbiAgICAgICAg
ICAgZGV0ZXJtaW5lIHRoZSBiZXN0IHBsYWNlIHRvIGRpdmVydCBtZXNzYWdlcyB0aGF0IHdv
dWxkXG4gICAgICAgICAgIG90aGVyd2lzZSBiZSB0aHJvdHRsZWQuICBUaGlzIGNhbiBiZSBh
Y2NvbXBsaXNoZWQgd2l0aCBhXG4gICAgICAgICAgIGZ1dHVyZSAibG9hZCIgZXh0ZW5zaW9u
LCBvciB3aXRoIHByb3ByaWV0YXJ5IGxvYWQgYmFsYW5jaW5nXG4gICAgICAgICAgIG1lY2hh
bmlzbXMuXG5cblxuXG4gICBSRVEgMjQ6IFRoZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUgYSBt
ZWNoYW5pc20gZm9yIGluZGljYXRpbmcgbG9hZFxuICAgICAgICAgICBsZXZlbHMsIGV2ZW4g
d2hlbiBub3QgaW4gYW4gb3ZlcmxvYWQgY29uZGl0aW9uLCB0byBhc3Npc3RcbiAgICAgICAg
ICAgbm9kZXMgaW4gbWFraW5nIGRlY2lzaW9ucyB0byBwcmV2ZW50IG92ZXJsb2FkIGNvbmRp
dGlvbnMgZnJvbVxuICAgICAgICAgICBvY2N1cnJpbmcuXG5cbiAgICAgICAgICAgKk5vdCBD
b21wbGlhbnQqLiAiTG9hZCIgaW5mb3JtYXRpb24gaGFzIGJlZW4gbGVmdCBmb3IgYVxuICAg
ICAgICAgICBmdXR1cmUgZXh0ZW5zaW9uLlxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAg
ICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0Ml1c
bl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAg
ICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbkMuNi41LiAgUHJpb3JpdHkgYW5kIFBvbGlj
eVxuXG4gICBSRVEgMjU6IFRoZSBiYXNlIHNwZWNpZmljYXRpb24gZm9yIHRoZSBzb2x1dGlv
biBTSE9VTEQgb2ZmZXIgZ2VuZXJhbFxuICAgICAgICAgICBndWlkYW5jZSBvbiB3aGljaCBt
ZXNzYWdlIHR5cGVzIG1pZ2h0IGJlIGRlc2lyYWJsZSB0byBzZW5kIG9yXG4gICAgICAgICAg
IHByb2Nlc3Mgb3ZlciBvdGhlcnMgZHVyaW5nIHRpbWVzIG9mIG92ZXJsb2FkLCBiYXNlZCBv
blxuICAgICAgICAgICBhcHBsaWNhdGlvbi1zcGVjaWZpYyBjb25zaWRlcmF0aW9ucy4gIEZv
ciBleGFtcGxlLCBpdCBtYXkgYmVcbiAgICAgICAgICAgbW9yZSBiZW5lZmljaWFsIHRvIHBy
b2Nlc3MgbWVzc2FnZXMgZm9yIGV4aXN0aW5nIHNlc3Npb25zXG4gICAgICAgICAgIGFoZWFk
IG9mIG5ldyBzZXNzaW9ucy4gIFNvbWUgbmV0d29ya3MgbWF5IGhhdmUgYSByZXF1aXJlbWVu
dFxuICAgICAgICAgICB0byBnaXZlIHByaW9yaXR5IHRvIHJlcXVlc3RzIGFzc29jaWF0ZWQg
d2l0aCBlbWVyZ2VuY3lcbiAgICAgICAgICAgc2Vzc2lvbnMuICBBbnkgbm9ybWF0aXZlIG9y
IG90aGVyd2lzZSBkZXRhaWxlZCBkZWZpbml0aW9uIG9mXG4gICAgICAgICAgIHRoZSByZWxh
dGl2ZSBwcmlvcml0aWVzIG9mIG1lc3NhZ2UgdHlwZXMgZHVyaW5nIGFuIG92ZXJsb2FkXG4g
ICAgICAgICAgIGNvbmRpdGlvbiB3aWxsIGJlIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUg
YXBwbGljYXRpb25cbiAgICAgICAgICAgc3BlY2lmaWNhdGlvbi5cblxuICAgICAgICAgICAq
Q29tcGxpYW50Ki4gVGhlIHNwZWNpZmljYXRpb24gb2ZmZXJzIGd1aWRhbmNlIG9uIGhvd1xu
ICAgICAgICAgICByZXF1ZXN0cyBtaWdodCBiZSBwcmlvcml0aXplZCBmb3IgZGlmZmVyZW50
IHR5cGVzIG9mXG4gICAgICAgICAgIGFwcGxpY2F0aW9ucy5cblxuXG5cbiAgIFJFUSAyNjog
VGhlIHNvbHV0aW9uIE1VU1QgTk9UIHByZXZlbnQgYSBub2RlIGZyb20gcHJpb3JpdGl6aW5n
XG4gICAgICAgICAgIHJlcXVlc3RzIGJhc2VkIG9uIGFueSBsb2NhbCBwb2xpY3ksIHNvIHRo
YXQgY2VydGFpbiByZXF1ZXN0c1xuICAgICAgICAgICBhcmUgZ2l2ZW4gcHJlZmVyZW50aWFs
IHRyZWF0bWVudCwgZ2l2ZW4gYWRkaXRpb25hbFxuICAgICAgICAgICByZXRyYW5zbWlzc2lv
biwgbm90IHRocm90dGxlZCwgb3IgcHJvY2Vzc2VkIGFoZWFkIG9mIG90aGVycy5cblxuICAg
ICAgICAgICAqQ29tcGxpYW50Ki4gTm90aGluZyBpbiB0aGUgc3BlY2lmaWNhdGlvbiBwcmV2
ZW50c1xuICAgICAgICAgICBhcHBsaWNhdGlvbi1zcGVjaWZpYywgaW1wbGVtZW50YXRpb24t
c3BlY2lmaWMsIG9yIGxvY2FsXG4gICAgICAgICAgIHBvbGljaWVzLlxuXG5cblxuQy42LjYu
ICBTZWN1cml0eVxuXG4gICBSRVEgMjc6IFRoZSBzb2x1dGlvbiBNVVNUIE5PVCBwcm92aWRl
IG5ldyB2dWxuZXJhYmlsaXRpZXMgdG9cbiAgICAgICAgICAgbWFsaWNpb3VzIGF0dGFjayBv
ciBpbmNyZWFzZSB0aGUgc2V2ZXJpdHkgb2YgYW55IGV4aXN0aW5nXG4gICAgICAgICAgIHZ1
bG5lcmFiaWxpdGllcy4gIFRoaXMgaW5jbHVkZXMgdnVsbmVyYWJpbGl0aWVzIHRvIERvUyBh
bmRcbiAgICAgICAgICAgRERvUyBhdHRhY2tzIGFzIHdlbGwgYXMgcmVwbGF5IGFuZCBtYW4t
aW4tdGhlLW1pZGRsZSBhdHRhY2tzLlxuICAgICAgICAgICBOb3RlIHRoYXQgdGhlIERpYW1l
dGVyIGJhc2Ugc3BlY2lmaWNhdGlvbiBbUkZDNjczM10gbGFja3NcbiAgICAgICAgICAgZW5k
LXRvLWVuZCBzZWN1cml0eSBhbmQgdGhpcyBtdXN0IGJlIGNvbnNpZGVyZWQgKHNlZSB0aGVc
biAgICAgICAgICAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgaW4gW1JGQzcwNjhdKS4gIE5v
dGUgdGhhdCB0aGlzXG4gICAgICAgICAgIHJlcXVpcmVtZW50IHdhcyBleHByZXNzZWQgYXQg
YSBoaWdoIGxldmVsIHNvIGFzIHRvIG5vdFxuICAgICAgICAgICBwcmVjbHVkZSBhbnkgcGFy
dGljdWxhciBzb2x1dGlvbi4gIEl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlXG4gICAgICAgICAg
IHNvbHV0aW9uIHdpbGwgYWRkcmVzcyB0aGlzIGluIG1vcmUgZGV0YWlsLlxuXG4gICAgICAg
ICAgICpDb21wbGlhbnQqLiBUaGUgd29ya2luZyBncm91cCBpcyBub3QgYXdhcmUgb2YgYW55
IHN1Y2hcbiAgICAgICAgICAgdnVsbmVyYWJpbGl0aWVzLiAgW1RoaXMgbWF5IG5lZWQgZnVy
dGhlciBhbmFseXNpcy5dXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBF
eHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNDNdXG5fXG5JbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAg
ICBKYW51YXJ5IDIwMTVcblxuXG4gICBSRVEgMjg6IFRoZSBzb2x1dGlvbiBNVVNUIE5PVCBk
ZXBlbmQgb24gYmVpbmcgZGVwbG95ZWQgaW5cbiAgICAgICAgICAgZW52aXJvbm1lbnRzIHdo
ZXJlIGFsbCBEaWFtZXRlciBub2RlcyBhcmUgY29tcGxldGVseSB0cnVzdGVkLlxuICAgICAg
ICAgICBJdCBTSE9VTEQgb3BlcmF0ZSBhcyBlZmZlY3RpdmVseSBhcyBwb3NzaWJsZSBpbiBl
bnZpcm9ubWVudHNcbiAgICAgICAgICAgd2hlcmUgb3RoZXIgbm9kZXMgYXJlIG1hbGljaW91
czsgdGhpcyBpbmNsdWRlcyBwcmV2ZW50aW5nXG4gICAgICAgICAgIG1hbGljaW91cyBub2Rl
cyBmcm9tIG9idGFpbmluZyBtb3JlIHRoYW4gYSBmYWlyIHNoYXJlIG9mXG4gICAgICAgICAg
IHNlcnZpY2UuICBOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBpbXBseSBhbnkgcmVzcG9uc2li
aWxpdHkgb25cbiAgICAgICAgICAgdGhlIHNvbHV0aW9uIHRvIGRldGVjdCwgb3IgdGFrZSBj
b3VudGVybWVhc3VyZXMgYWdhaW5zdCxcbiAgICAgICAgICAgbWFsaWNpb3VzIG5vZGVzLlxu
XG4gICAgICAgICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50Ki4gU2luY2UgYWxsIERpYW1ldGVy
IHNlY3VyaXR5IGlzXG4gICAgICAgICAgIGN1cnJlbnRseSBhdCB0aGUgdHJhbnNwb3J0IGxh
eWVyLCBub2RlcyBtdXN0IHRydXN0IGltbWVkaWF0ZVxuICAgICAgICAgICBwZWVycyB0byBl
bmZvcmNlIHRydXN0IHBvbGljaWVzLiAgSG93ZXZlciwgdGhlcmUgYXJlXG4gICAgICAgICAg
IHNpdHVhdGlvbnMgd2hlcmUgYSBET0lDIG5vZGUgY2Fubm90IGRldGVybWluZSBpZiBhbiBp
bW1lZGlhdGVcbiAgICAgICAgICAgcGVlciBzdXBwb3J0cyBET0lDLiAgVGhlIGF1dGhvcnMg
cmVjb21tZW5kIGFuIGV4cGVydCBzZWN1cml0eVxuICAgICAgICAgICByZXZpZXcuXG5cblxu
XG4gICBSRVEgMjk6IEl0IE1VU1QgYmUgcG9zc2libGUgZm9yIGEgc3VwcG9ydGluZyBub2Rl
IHRvIG1ha2VcbiAgICAgICAgICAgYXV0aG9yaXphdGlvbiBkZWNpc2lvbnMgYWJvdXQgd2hh
dCBpbmZvcm1hdGlvbiB3aWxsIGJlIHNlbnRcbiAgICAgICAgICAgdG8gcGVlciBub2RlcyBi
YXNlZCBvbiB0aGUgaWRlbnRpdHkgb2YgdGhvc2Ugbm9kZXMuICBUaGlzXG4gICAgICAgICAg
IGFsbG93cyBhIGRvbWFpbiBhZG1pbmlzdHJhdG9yIHdobyBjb25zaWRlcnMgdGhlIGxvYWQg
b2YgdGhlaXJcbiAgICAgICAgICAgbm9kZXMgdG8gYmUgc2Vuc2l0aXZlIGluZm9ybWF0aW9u
IHRvIHJlc3RyaWN0IGFjY2VzcyB0byB0aGF0XG4gICAgICAgICAgIGluZm9ybWF0aW9uLiAg
T2YgY291cnNlLCBpbiBzdWNoIGNhc2VzLCB0aGVyZSBpcyBub1xuICAgICAgICAgICBleHBl
Y3RhdGlvbiB0aGF0IHRoZSBzb2x1dGlvbiBpdHNlbGYgd2lsbCBoZWxwIHByZXZlbnRcbiAg
ICAgICAgICAgb3ZlcmxvYWQgZnJvbSB0aGF0IHBlZXIgbm9kZS5cblxuICAgICAgICAgICAq
UGFydGlhbGx5IENvbXBsaWFudCouIChTZWUgcmVzcG9uc2UgdG8gcHJldmlvdXNcbiAgICAg
ICAgICAgcmVxdWlyZW1lbnQuKVxuXG5cblxuICAgUkVRIDMwOiBUaGUgc29sdXRpb24gTVVT
VCBOT1QgaW50ZXJmZXJlIHdpdGggYW55IERpYW1ldGVyLWNvbXBsaWFudFxuICAgICAgICAg
ICBtZXRob2QgdGhhdCBhIG5vZGUgbWF5IHVzZSB0byBwcm90ZWN0IGl0c2VsZiBmcm9tIG92
ZXJsb2FkXG4gICAgICAgICAgIGZyb20gbm9uLXN1cHBvcnRpbmcgbm9kZXMgb3IgZnJvbSBk
ZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBU
aGUgc3BlY2lmaWNhdGlvbiByZWNvbW1lbmRzIHRoYXQgYW55IHN1Y2hcbiAgICAgICAgICAg
cHJvdGVjdGlvbiBtZWNoYW5pc20gbmVlZGVkIHdpdGhvdXQgRE9JQyBzaG91bGQgY29udGlu
dWUgdG9cbiAgICAgICAgICAgYmUgZW1wbG95ZWQgd2l0aCBET0lDLlxuXG5cblxuQy42Ljcu
ICBGbGV4aWJpbGl0eSBhbmQgRXh0ZW5zaWJpbGl0eVxuXG4gICBSRVEgMzE6IFRoZXJlIGFy
ZSBtdWx0aXBsZSBzaXR1YXRpb25zIHdoZXJlIGEgRGlhbWV0ZXIgbm9kZSBtYXkgYmVcbiAg
ICAgICAgICAgb3ZlcmxvYWRlZCBmb3Igc29tZSBwdXJwb3NlcyBidXQgbm90IG90aGVycy4g
IEZvciBleGFtcGxlLFxuICAgICAgICAgICB0aGlzIGNhbiBoYXBwZW4gdG8gYW4gYWdlbnQg
b3Igc2VydmVyIHRoYXQgc3VwcG9ydHMgbXVsdGlwbGVcbiAgICAgICAgICAgYXBwbGljYXRp
b25zLCBvciB3aGVuIGEgc2VydmVyIGRlcGVuZHMgb24gbXVsdGlwbGUgZXh0ZXJuYWxcblxu
XG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDQ0XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
ICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAg
ICAgICAgICByZXNvdXJjZXMsIHNvbWUgb2Ygd2hpY2ggbWF5IGJlY29tZSBvdmVybG9hZGVk
IHdoaWxlIG90aGVyc1xuICAgICAgICAgICBhcmUgZnVsbHkgYXZhaWxhYmxlLiAgVGhlIHNv
bHV0aW9uIE1VU1QgYWxsb3cgRGlhbWV0ZXIgbm9kZXNcbiAgICAgICAgICAgdG8gaW5kaWNh
dGUgb3ZlcmxvYWQgd2l0aCBzdWZmaWNpZW50IGdyYW51bGFyaXR5IHRvIGFsbG93XG4gICAg
ICAgICAgIGNsaWVudHMgdG8gdGFrZSBhY3Rpb24gYmFzZWQgb24gdGhlIG92ZXJsb2FkZWQg
cmVzb3VyY2VzXG4gICAgICAgICAgIHdpdGhvdXQgdW5yZWFzb25hYmx5IGZvcmNpbmcgYXZh
aWxhYmxlIGNhcGFjaXR5IHRvIGdvIHVudXNlZC5cbiAgICAgICAgICAgVGhlIHNvbHV0aW9u
IE1VU1Qgc3VwcG9ydCBzcGVjaWZpY2F0aW9uIG9mIG92ZXJsb2FkXG4gICAgICAgICAgIGlu
Zm9ybWF0aW9uIHdpdGggZ3JhbnVsYXJpdGllcyBvZiBhdCBsZWFzdCAiRGlhbWV0ZXIgbm9k
ZSIsXG4gICAgICAgICAgICJyZWFsbSIsIGFuZCAiRGlhbWV0ZXIgYXBwbGljYXRpb24iIGFu
ZCBNVVNUIGFsbG93XG4gICAgICAgICAgIGV4dGVuc2liaWxpdHkgZm9yIG90aGVycyB0byBi
ZSBhZGRlZCBpbiB0aGUgZnV0dXJlLlxuXG4gICAgICAgICAgICpQYXJ0aWFsbHkgQ29tcGxp
YW50Ki4gQWxsIERPSUMgb3ZlcmxvYWQgcmVwb3J0cyBhcmUgc2NvcGVkXG4gICAgICAgICAg
IHRvIHRoZSBzcGVjaWZpYyBhcHBsaWNhdGlvbiBhbmQgcmVhbG0uICBJbnNpZGUgdGhhdCBz
Y29wZSxcbiAgICAgICAgICAgb3ZlcmxvYWQgY2FuIGJlIHJlcG9ydGVkIGF0IHRoZSBzcGVj
aWZpYyBzZXJ2ZXIgb3Igd2hvbGVcbiAgICAgICAgICAgcmVhbG0gc2NvcGUuICBBcyBjdXJy
ZW50bHkgc3BlY2lmaWVkLCBET0lDIGNhbm5vdCBpbmRpY2F0ZVxuICAgICAgICAgICBsb2Nh
bCBvdmVybG9hZCBmb3IgYW4gYWdlbnQuICBBdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcs
XG4gICAgICAgICAgIHRoZSBESU1FIHdvcmtpbmcgZ3JvdXAgaGFzIHBsYW5zIHRvIHdvcmsg
b24gYW4gYWdlbnQtb3ZlcmxvYWRcbiAgICAgICAgICAgZXh0ZW5zaW9uLlxuXG4gICAgICAg
ICAgIERPSUMgYWxsb3dzIG5ldyAic2NvcGVzIiB0aHJvdWdoIHRoZSB1c2Ugb2YgZXh0ZW5k
ZWQgcmVwb3J0XG4gICAgICAgICAgIHR5cGVzLlxuXG5cblxuICAgUkVRIDMyOiBUaGUgc29s
dXRpb24gTVVTVCBwcm92aWRlIGEgbWV0aG9kIGZvciBleHRlbmRpbmcgdGhlXG4gICAgICAg
ICAgIGluZm9ybWF0aW9uIGNvbW11bmljYXRlZCBhbmQgdGhlIGFsZ29yaXRobXMgdXNlZCBm
b3Igb3ZlcmxvYWRcbiAgICAgICAgICAgY29udHJvbC5cblxuICAgICAgICAgICAqQ29tcGxp
YW50Ki4gRE9JQyBhbGxvd3MgbmV3IHJlcG9ydCB0eXBlcyBhbmQgYWJhdGVtZW50XG4gICAg
ICAgICAgIGFsZ29yaXRobXMgdG8gYmUgY3JlYXRlZC4gIFRoZXNlIG1heSBiZSBpbmRpY2F0
ZWQgdXNpbmcgdGhlXG4gICAgICAgICAgIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuXG5c
blxuXG4gICBSRVEgMzM6IFRoZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUgYSBkZWZhdWx0IGFs
Z29yaXRobSB0aGF0IGlzXG4gICAgICAgICAgIG1hbmRhdG9yeSB0byBpbXBsZW1lbnQuXG5c
biAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSAibG9zcyIgYWxnb3JpdGhtIGlzIG1hbmRh
dG9yeSB0byBpbXBsZW1lbnQuXG5cblxuXG4gICBSRVEgMzQ6IFRoZSBzb2x1dGlvbiBTSE9V
TEQgcHJvdmlkZSBhIG1ldGhvZCBmb3IgZXhjaGFuZ2luZyBvdmVybG9hZFxuICAgICAgICAg
ICBhbmQgbG9hZCBpbmZvcm1hdGlvbiBiZXR3ZWVuIGVsZW1lbnRzIHRoYXQgYXJlIGNvbm5l
Y3RlZCBieVxuICAgICAgICAgICBpbnRlcm1lZGlhcmllcyB0aGF0IGRvIG5vdCBzdXBwb3J0
IHRoZSBzb2x1dGlvbi5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIERP
SUMgaW5mb3JtYXRpb24gY2FuIHRyYXZlcnNlIG5vbi1cbiAgICAgICAgICAgc3VwcG9ydGlu
ZyBhZ2VudHMsIGFzIGxvbmcgYXMgdGhvc2UgYWdlbnRzIGRvIG5vdCBtb2RpZnlcbiAgICAg
ICAgICAgY2VydGFpbiBBVlBzLiAoZS5nLiwgT3JpZ2luLUhvc3QpLiAgRE9JQyBkb2VzIG5v
dCBwcm92aWRlIGFcbiAgICAgICAgICAgd2F5IGZvciBzdXBwb3J0aW5nIG5vZGVzIHRvIGRl
dGVjdCBzdWNoIG1vZGlmaWNhdGlvbi5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAg
ICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQ1XVxuX1xu
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAg
ICAgICAgSmFudWFyeSAyMDE1XG5cblxuQXBwZW5kaXggRC4gIENvbnNpZGVyYXRpb25zIGZv
ciBBcHBsaWNhdGlvbnMgSW50ZWdyYXRpbmcgdGhlIERPSUNcbiAgICAgICAgICAgICBTb2x1
dGlvblxuXG4gICBUaGlzIHNlY3Rpb24gb3V0bGluZXMgY29uc2lkZXJhdGlvbnMgdG8gYmUg
dGFrZW4gaW50byBhY2NvdW50IHdoZW5cbiAgIGludGVncmF0aW5nIHRoZSBET0lDIHNvbHV0
aW9uIGludG8gRGlhbWV0ZXIgYXBwbGljYXRpb25zLlxuXG5ELjEuICBBcHBsaWNhdGlvbiBD
bGFzc2lmaWNhdGlvblxuXG4gICBUaGUgZm9sbG93aW5nIGlzIGEgY2xhc3NpZmljYXRpb24g
b2YgRGlhbWV0ZXIgYXBwbGljYXRpb25zIGFuZFxuICAgcmVxdWVzdCB0eXBlcy4gIFRoaXMg
ZGlzY3Vzc2lvbiBpcyBtZWFudCB0byBkb2N1bWVudCBmYWN0b3JzIHRoYXRcbiAgIHBsYXkg
aW50byBkZWNpc2lvbnMgbWFkZSBieSB0aGUgRGlhbWV0ZXIgaWRlbnRpdHkgcmVzcG9uc2li
bGUgZm9yXG4gICBoYW5kbGluZyBvdmVybG9hZCByZXBvcnRzLlxuXG4gICBTZWN0aW9uIDgu
MSBvZiBbUkZDNjczM10gZGVmaW5lcyB0d28gc3RhdGUgbWFjaGluZXMgdGhhdCBpbXBseSB0
d29cbiAgIHR5cGVzIG9mIGFwcGxpY2F0aW9ucywgc2Vzc2lvbi1sZXNzIGFuZCBzZXNzaW9u
LWJhc2VkIGFwcGxpY2F0aW9ucy5cbiAgIFRoZSBwcmltYXJ5IGRpZmZlcmVuY2UgYmV0d2Vl
biB0aGVzZSB0eXBlcyBvZiBhcHBsaWNhdGlvbnMgaXMgdGhlXG4gICBsaWZldGltZSBvZiBT
ZXNzaW9uLUlkcy5cblxuICAgRm9yIHNlc3Npb24tYmFzZWQgYXBwbGljYXRpb25zLCB0aGUg
U2Vzc2lvbi1JZCBpcyB1c2VkIHRvIHRpZVxuICAgbXVsdGlwbGUgcmVxdWVzdHMgaW50byBh
IHNpbmdsZSBzZXNzaW9uLlxuXG4gICBUaGUgQ3JlZGl0LUNvbnRyb2wgYXBwbGljYXRpb24g
ZGVmaW5lZCBpbiBbUkZDNDAwNl0gaXMgYW4gZXhhbXBsZSBvZlxuICAgYSBEaWFtZXRlciBz
ZXNzaW9uLWJhc2VkIGFwcGxpY2F0aW9uLlxuXG4gICBJbiBzZXNzaW9uLWxlc3MgYXBwbGlj
YXRpb25zLCB0aGUgbGlmZXRpbWUgb2YgdGhlIFNlc3Npb24tSWQgaXMgYVxuICAgc2luZ2xl
IERpYW1ldGVyIHRyYW5zYWN0aW9uLCBpLmUuIHRoZSBzZXNzaW9uIGlzIGltcGxpY2l0bHlc
biAgIHRlcm1pbmF0ZWQgYWZ0ZXIgYSBzaW5nbGUgRGlhbWV0ZXIgdHJhbnNhY3Rpb24gYW5k
IGEgbmV3IFNlc3Npb24tSWRcbiAgIGlzIGdlbmVyYXRlZCBmb3IgZWFjaCBEaWFtZXRlciBy
ZXF1ZXN0LlxuXG4gICBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGlzY3Vzc2lvbiwgc2Vz
c2lvbi1sZXNzIGFwcGxpY2F0aW9ucyBhcmVcbiAgIGZ1cnRoZXIgZGl2aWRlZCBpbnRvIHR3
byB0eXBlcyBvZiBhcHBsaWNhdGlvbnM6XG5cbiAgIFN0YXRlbGVzcyBBcHBsaWNhdGlvbnM6
XG5cbiAgICAgIFJlcXVlc3RzIHdpdGhpbiBhIHN0YXRlbGVzcyBhcHBsaWNhdGlvbiBoYXZl
IG5vIHJlbGF0aW9uc2hpcCB0b1xuICAgICAgZWFjaCBvdGhlci4gIFRoZSAzR1BQIGRlZmlu
ZWQgUzEzIGFwcGxpY2F0aW9uIGlzIGFuIGV4YW1wbGUgb2YgYVxuICAgICAgc3RhdGVsZXNz
IGFwcGxpY2F0aW9uIFtTMTNdLCB3aGVyZSBvbmx5IGEgRGlhbWV0ZXIgY29tbWFuZCBpc1xu
ICAgICAgZGVmaW5lZCBiZXR3ZWVuIGEgY2xpZW50IGFuZCBhIHNlcnZlciBhbmQgbm8gc3Rh
dGUgaXMgbWFpbnRhaW5lZFxuICAgICAgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgdHJhbnNh
Y3Rpb25zLlxuXG4gICBQc2V1ZG8tU2Vzc2lvbiBBcHBsaWNhdGlvbnM6XG5cbiAgICAgIEFw
cGxpY2F0aW9ucyB0aGF0IGRvIG5vdCByZWx5IG9uIHRoZSBTZXNzaW9uLUlkIEFWUCBmb3Jc
biAgICAgIGNvcnJlbGF0aW9uIG9mIGFwcGxpY2F0aW9uIG1lc3NhZ2VzIHJlbGF0ZWQgdG8g
dGhlIHNhbWUgc2Vzc2lvblxuICAgICAgYnV0IHVzZSBvdGhlciBzZXNzaW9uLXJlbGF0ZWQg
aW5mb3JtYXRpb24gaW4gdGhlIERpYW1ldGVyIHJlcXVlc3RzXG4gICAgICBmb3IgdGhpcyBw
dXJwb3NlLiAgVGhlIDNHUFAgZGVmaW5lZCBDeCBhcHBsaWNhdGlvbiBbQ3hdIGlzIGFuXG4g
ICAgICBleGFtcGxlIG9mIGEgcHNldWRvLXNlc3Npb24gYXBwbGljYXRpb24uXG5cblxuXG5c
bktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAg
ICAgICAgICAgIFtQYWdlIDQ2XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAg
ICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgVGhl
IGhhbmRsaW5nIG9mIG92ZXJsb2FkIHJlcG9ydHMgbXVzdCB0YWtlIHRoZSB0eXBlIG9mIGFw
cGxpY2F0aW9uXG4gICBpbnRvIGNvbnNpZGVyYXRpb24sIGFzIGRpc2N1c3NlZCBpbiBBcHBl
bmRpeCBELjIuXG5cbkQuMi4gIEFwcGxpY2F0aW9uIFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRp
b25zXG5cbiAgIFRoaXMgc2VjdGlvbiBkaXNjdXNzZXMgY29uc2lkZXJhdGlvbnMgZm9yIG1p
dGlnYXRpbmcgb3ZlcmxvYWRcbiAgIHJlcG9ydGVkIGJ5IGEgRGlhbWV0ZXIgZW50aXR5LiAg
VGhpcyBkaXNjdXNzaW9uIGZvY3VzZXMgb24gdGhlIHR5cGVcbiAgIG9mIGFwcGxpY2F0aW9u
LiAgQXBwZW5kaXggRC4zIGRpc2N1c3NlcyBjb25zaWRlcmF0aW9ucyBmb3IgaGFuZGxpbmdc
biAgIHZhcmlvdXMgcmVxdWVzdCB0eXBlcyB3aGVuIHRoZSB0YXJnZXQgc2VydmVyIGlzIGtu
b3duIHRvIGJlIGluIGFuXG4gICBvdmVybG9hZGVkIHN0YXRlLlxuXG4gICBUaGVzZSBkaXNj
dXNzaW9ucyBhc3N1bWUgdGhhdCB0aGUgc3RyYXRlZ3kgZm9yIG1pdGlnYXRpbmcgdGhlXG4g
ICByZXBvcnRlZCBvdmVybG9hZCBpcyB0byByZWR1Y2UgdGhlIG92ZXJhbGwgd29ya2xvYWQg
c2VudCB0byB0aGVcbiAgIG92ZXJsb2FkZWQgZW50aXR5LiAgVGhlIGNvbmNlcHQgb2YgYXBw
bHlpbmcgb3ZlcmxvYWQgdHJlYXRtZW50IHRvXG4gICByZXF1ZXN0cyB0YXJnZXRlZCBmb3Ig
YW4gb3ZlcmxvYWRlZCBEaWFtZXRlciBlbnRpdHkgaXMgaW5oZXJlbnQgdG9cbiAgIHRoaXMg
ZGlzY3Vzc2lvbi4gIFRoZSBtZXRob2QgdXNlZCB0byByZWR1Y2Ugb2ZmZXJlZCBsb2FkIGlz
IG5vdFxuICAgc3BlY2lmaWVkIGhlcmUgYnV0IGNvdWxkIGluY2x1ZGUgcm91dGluZyByZXF1
ZXN0cyB0byBhbm90aGVyIERpYW1ldGVyXG4gICBlbnRpdHkga25vd24gdG8gYmUgYWJsZSB0
byBoYW5kbGUgdGhlbSwgb3IgaXQgY291bGQgbWVhbiByZWplY3RpbmdcbiAgIGNlcnRhaW4g
cmVxdWVzdHMuICBGb3IgYSBEaWFtZXRlciBhZ2VudCwgcmVqZWN0aW5nIHJlcXVlc3RzIHdp
bGxcbiAgIHVzdWFsbHkgbWVhbiBnZW5lcmF0aW5nIGFwcHJvcHJpYXRlIERpYW1ldGVyIGVy
cm9yIHJlc3BvbnNlcy4gIEZvciBhXG4gICBEaWFtZXRlciBjbGllbnQsIHJlamVjdGluZyBy
ZXF1ZXN0cyB3aWxsIGRlcGVuZCB1cG9uIHRoZSBhcHBsaWNhdGlvbi5cbiAgIEZvciBleGFt
cGxlLCBpdCBjb3VsZCBtZWFuIGdpdmluZyBhbiBpbmRpY2F0aW9uIHRvIHRoZSBlbnRpdHlc
biAgIHJlcXVlc3RpbmcgdGhlIERpYW1ldGVyIHNlcnZpY2UgdGhhdCB0aGUgbmV0d29yayBp
cyBidXN5IGFuZCB0byB0cnlcbiAgIGFnYWluIGxhdGVyLlxuXG4gICBTdGF0ZWxlc3MgQXBw
bGljYXRpb25zOlxuXG4gICAgICBCeSBkZWZpbml0aW9uIHRoZXJlIGlzIG5vIHJlbGF0aW9u
c2hpcCBiZXR3ZWVuIGluZGl2aWR1YWwgcmVxdWVzdHNcbiAgICAgIGluIGEgc3RhdGVsZXNz
IGFwcGxpY2F0aW9uLiAgQXMgYSByZXN1bHQsIHdoZW4gYSByZXF1ZXN0IGlzIHNlbnRcbiAg
ICAgIG9yIHJlbGF5ZWQgdG8gYW4gb3ZlcmxvYWRlZCBEaWFtZXRlciBlbnRpdHkgLSBlaXRo
ZXIgYSBEaWFtZXRlclxuICAgICAgU2VydmVyIG9yIGEgRGlhbWV0ZXIgQWdlbnQgLSB0aGUg
c2VuZGluZyBvciByZWxheWluZyBlbnRpdHkgY2FuXG4gICAgICBjaG9vc2UgdG8gYXBwbHkg
dGhlIG92ZXJsb2FkIHRyZWF0bWVudCB0byBhbnkgcmVxdWVzdCB0YXJnZXRlZCBmb3JcbiAg
ICAgIHRoZSBvdmVybG9hZGVkIGVudGl0eS5cblxuICAgUHNldWRvLVNlc3Npb24gQXBwbGlj
YXRpb25zOlxuXG4gICAgICBGb3IgcHNldWRvLXNlc3Npb24gYXBwbGljYXRpb25zLCB0aGVy
ZSBpcyBhbiBpbXBsaWVkIG9yZGVyaW5nIG9mXG4gICAgICByZXF1ZXN0cy4gIEFzIGEgcmVz
dWx0LCBkZWNpc2lvbnMgYWJvdXQgd2hpY2ggcmVxdWVzdHMgdG93YXJkcyBhblxuICAgICAg
b3ZlcmxvYWRlZCBlbnRpdHkgdG8gcmVqZWN0IGNvdWxkIHRha2UgdGhlIGNvbW1hbmQgY29k
ZSBvZiB0aGVcbiAgICAgIHJlcXVlc3QgaW50byBjb25zaWRlcmF0aW9uLiAgVGhpcyBnZW5l
cmFsbHkgbWVhbnMgdGhhdFxuICAgICAgdHJhbnNhY3Rpb25zIGxhdGVyIGluIHRoZSBzZXF1
ZW5jZSBvZiB0cmFuc2FjdGlvbnMgc2hvdWxkIGJlIGdpdmVuXG4gICAgICBtb3JlIGZhdm9y
YWJsZSB0cmVhdG1lbnQgdGhhbiBtZXNzYWdlcyBlYXJsaWVyIGluIHRoZSBzZXF1ZW5jZS5c
biAgICAgIFRoaXMgaXMgYmVjYXVzZSBtb3JlIHdvcmsgaGFzIGFscmVhZHkgYmVlbiBkb25l
IGJ5IHRoZSBEaWFtZXRlclxuICAgICAgbmV0d29yayBmb3IgdGhvc2UgdHJhbnNhY3Rpb25z
IHRoYXQgb2NjdXIgbGF0ZXIgaW4gdGhlIHNlcXVlbmNlLlxuICAgICAgUmVqZWN0aW5nIHRo
ZW0gY291bGQgcmVzdWx0IGluIGluY3JlYXNpbmcgdGhlIGxvYWQgb24gdGhlIG5ldHdvcmtc
biAgICAgIGFzIHRoZSB0cmFuc2FjdGlvbnMgZWFybGllciBpbiB0aGUgc2VxdWVuY2UgbWln
aHQgYWxzbyBuZWVkIHRvIGJlXG4gICAgICByZXBlYXRlZC5cblxuXG5cblxuS29yaG9uZW4s
IGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAg
W1BhZ2UgNDddXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAg
ICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBTZXNzaW9uLUJhc2Vk
IEFwcGxpY2F0aW9uczpcblxuICAgICAgT3ZlcmxvYWQgaGFuZGxpbmcgZm9yIHNlc3Npb24t
YmFzZWQgYXBwbGljYXRpb25zIG11c3QgdGFrZSBpbnRvXG4gICAgICBjb25zaWRlcmF0aW9u
IHRoZSB3b3JrIGxvYWQgYXNzb2NpYXRlZCB3aXRoIHNldHRpbmcgdXAgYW5kXG4gICAgICBt
YWludGFpbmluZyBhIHNlc3Npb24uICBBcyBzdWNoLCB0aGUgZW50aXR5IHNlbmRpbmcgcmVx
dWVzdHNcbiAgICAgIHRvd2FyZHMgYW4gb3ZlcmxvYWRlZCBEaWFtZXRlciBlbnRpdHkgZm9y
IGEgc2Vzc2lvbi1iYXNlZFxuICAgICAgYXBwbGljYXRpb24gbWlnaHQgdGVuZCB0byByZWpl
Y3QgbmV3IHNlc3Npb24gcmVxdWVzdHMgcHJpb3IgdG9cbiAgICAgIHJlamVjdGluZyBpbnRy
YS1zZXNzaW9uIHJlcXVlc3RzLiAgSW4gYWRkaXRpb24sIHNlc3Npb24gZW5kaW5nXG4gICAg
ICByZXF1ZXN0cyBtaWdodCBiZSBnaXZlbiBhIGxvd2VyIHByb2JhYmlsaXR5IG9mIGJlaW5n
IHJlamVjdGVkIGFzXG4gICAgICByZWplY3Rpbmcgc2Vzc2lvbiBlbmRpbmcgcmVxdWVzdHMg
Y291bGQgcmVzdWx0IGluIHNlc3Npb24gc3RhdHVzXG4gICAgICBiZWluZyBvdXQgb2Ygc3lu
YyBiZXR3ZWVuIHRoZSBEaWFtZXRlciBjbGllbnRzIGFuZCBzZXJ2ZXJzLlxuICAgICAgQXBw
bGljYXRpb24gZGVzaWduZXJzIHRoYXQgd291bGQgZGVjaWRlIHRvIHJlamVjdCBtaWQtc2Vz
c2lvblxuICAgICAgcmVxdWVzdHMgd2lsbCBuZWVkIHRvIGNvbnNpZGVyIHdoZXRoZXIgdGhl
IHJlamVjdGlvbiBpbnZhbGlkYXRlc1xuICAgICAgdGhlIHNlc3Npb24gYW5kIGFueSByZXN1
bHRpbmcgc2Vzc2lvbiBjbGVhbnVwIHByb2NlZHVyZXMuXG5cbkQuMy4gIFJlcXVlc3QgVHJh
bnNhY3Rpb24gQ2xhc3NpZmljYXRpb25cblxuICAgSW5kZXBlbmRlbnQgUmVxdWVzdDpcblxu
ICAgICAgQW4gaW5kZXBlbmRlbnQgcmVxdWVzdCBpcyBub3QgY29ycmVsYXRlZCB0byBhbnkg
b3RoZXIgcmVxdWVzdHNcbiAgICAgIGFuZCwgYXMgc3VjaCwgdGhlIGxpZmV0aW1lIG9mIHRo
ZSBzZXNzaW9uLWlkIGlzIGNvbnN0cmFpbmVkIHRvIGFuXG4gICAgICBpbmRpdmlkdWFsIHRy
YW5zYWN0aW9uLlxuXG4gICBTZXNzaW9uLUluaXRpYXRpbmcgUmVxdWVzdDpcblxuICAgICAg
QSBzZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdCBpcyB0aGUgaW5pdGlhbCBtZXNzYWdlIHRo
YXRcbiAgICAgIGVzdGFibGlzaGVzIGEgRGlhbWV0ZXIgc2Vzc2lvbi4gIFRoZSBBQ1IgbWVz
c2FnZSBkZWZpbmVkIGluXG4gICAgICBbUkZDNjczM10gaXMgYW4gZXhhbXBsZSBvZiBhIHNl
c3Npb24taW5pdGlhdGluZyByZXF1ZXN0LlxuXG4gICBDb3JyZWxhdGVkIFNlc3Npb24tSW5p
dGlhdGluZyBSZXF1ZXN0OlxuXG4gICAgICBUaGVyZSBhcmUgY2FzZXMgd2hlbiBtdWx0aXBs
ZSBzZXNzaW9uLWluaXRpYXRlZCByZXF1ZXN0cyBtdXN0IGJlXG4gICAgICBjb3JyZWxhdGVk
IGFuZCBtYW5hZ2VkIGJ5IHRoZSBzYW1lIERpYW1ldGVyIHNlcnZlci4gIEl0IGlzIG5vdGFi
bHlcbiAgICAgIHRoZSBjYXNlIGluIHRoZSAzR1BQIFBDQyBhcmNoaXRlY3R1cmUgW1BDQ10s
IHdoZXJlIG11bHRpcGxlXG4gICAgICBhcHBhcmVudGx5IGluZGVwZW5kZW50IERpYW1ldGVy
IGFwcGxpY2F0aW9uIHNlc3Npb25zIGFyZSBhY3R1YWxseVxuICAgICAgY29ycmVsYXRlZCBh
bmQgbXVzdCBiZSBoYW5kbGVkIGJ5IHRoZSBzYW1lIERpYW1ldGVyIHNlcnZlci5cblxuICAg
SW50cmEtU2Vzc2lvbiBSZXF1ZXN0OlxuXG4gICAgICBBbiBpbnRyYS1zZXNzaW9uIHJlcXVl
c3QgaXMgYSByZXF1ZXN0IHRoYXQgdXNlcyB0aGUgc2FtZSBTZXNzaW9uLVxuICAgICAgSWQg
dGhhbiB0aGUgb25lIHVzZWQgaW4gYSBwcmV2aW91cyByZXF1ZXN0LiAgQW4gaW50cmEtc2Vz
c2lvblxuICAgICAgcmVxdWVzdCBnZW5lcmFsbHkgbmVlZHMgdG8gYmUgZGVsaXZlcmVkIHRv
IHRoZSBzZXJ2ZXIgdGhhdCBoYW5kbGVkXG4gICAgICB0aGUgc2Vzc2lvbiBjcmVhdGluZyBy
ZXF1ZXN0IGZvciB0aGUgc2Vzc2lvbi4gIFRoZSBTVFIgbWVzc2FnZVxuICAgICAgZGVmaW5l
ZCBpbiBbUkZDNjczM10gaXMgYW4gZXhhbXBsZSBvZiBhbiBpbnRyYS1zZXNzaW9uIHJlcXVl
c3QuXG5cbiAgIFBzZXVkby1TZXNzaW9uIFJlcXVlc3RzOlxuXG5cblxuXG5cbktvcmhvbmVu
LCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAg
IFtQYWdlIDQ4XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMg
ICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAgUHNldWRvLXNl
c3Npb24gcmVxdWVzdHMgYXJlIGluZGVwZW5kZW50IHJlcXVlc3RzIGFuZCBkbyBub3QgdXNl
XG4gICAgICB0aGUgc2FtZSBTZXNzaW9uLUlkIGJ1dCBhcmUgY29ycmVsYXRlZCBieSBvdGhl
ciBzZXNzaW9uLXJlbGF0ZWRcbiAgICAgIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUg
cmVxdWVzdC4gIFRoZXJlIGV4aXN0cyBEaWFtZXRlclxuICAgICAgYXBwbGljYXRpb25zIHRo
YXQgZGVmaW5lIGFuIGV4cGVjdGVkIG9yZGVyaW5nIG9mIHRyYW5zYWN0aW9ucy5cbiAgICAg
IFRoaXMgc2VxdWVuY2luZyBvZiBpbmRlcGVuZGVudCB0cmFuc2FjdGlvbnMgcmVzdWx0cyBp
biBhIHBzZXVkb1xuICAgICAgc2Vzc2lvbi4gIFRoZSBBSVIsIE1BUiBhbmQgU0FSIHJlcXVl
c3RzIGluIHRoZSAzR1BQIGRlZmluZWQgQ3hcbiAgICAgIFtDeF0gYXBwbGljYXRpb24gYXJl
IGV4YW1wbGVzIG9mIHBzZXVkby1zZXNzaW9uIHJlcXVlc3RzLlxuXG5ELjQuICBSZXF1ZXN0
IFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRpb25zXG5cbiAgIFRoZSByZXF1ZXN0IGNsYXNzZXMg
aWRlbnRpZmllZCBpbiBBcHBlbmRpeCBELjMgaGF2ZSBpbXBsaWNhdGlvbnMgb25cbiAgIGRl
Y2lzaW9ucyBhYm91dCB3aGljaCByZXF1ZXN0cyBzaG91bGQgYmUgdGhyb3R0bGVkIGZpcnN0
LiAgVGhlXG4gICBmb2xsb3dpbmcgbGlzdCBvZiByZXF1ZXN0IHRyZWF0bWVudCByZWdhcmRp
bmcgdGhyb3R0bGluZyBpcyBwcm92aWRlZFxuICAgYXMgZ3VpZGVsaW5lcyBmb3IgYXBwbGlj
YXRpb24gZGVzaWduZXJzIHdoZW4gaW1wbGVtZW50aW5nIHRoZVxuICAgRGlhbWV0ZXIgb3Zl
cmxvYWQgY29udHJvbCBtZWNoYW5pc20gZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQuICBU
aGVcbiAgIGV4YWN0IGJlaGF2aW9yIHJlZ2FyZGluZyB0aHJvdHRsaW5nIGlzIGEgbWF0dGVy
IG9mIGxvY2FsIHBvbGljeSxcbiAgIHVubGVzcyBzcGVjaWZpY2FsbHkgZGVmaW5lZCBmb3Ig
dGhlIGFwcGxpY2F0aW9uLlxuXG4gICBJbmRlcGVuZGVudCBSZXF1ZXN0czpcblxuICAgICAg
SW5kZXBlbmRlbnQgcmVxdWVzdHMgY2FuIGdlbmVyYWxseSBiZSBnaXZlbiBlcXVhbCB0cmVh
dG1lbnQgd2hlblxuICAgICAgbWFraW5nIHRocm90dGxpbmcgZGVjaXNpb25zLCB1bmxlc3Mg
b3RoZXJ3aXNlIGluZGljYXRlZCBieVxuICAgICAgYXBwbGljYXRpb24gcmVxdWlyZW1lbnRz
IG9yIGxvY2FsIHBvbGljeS5cblxuICAgU2Vzc2lvbi1Jbml0aWF0aW5nIFJlcXVlc3RzOlxu
XG4gICAgICBTZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdHMgb2Z0ZW4gcmVwcmVzZW50IG1v
cmUgd29yayB0aGFuXG4gICAgICBpbmRlcGVuZGVudCBvciBpbnRyYS1zZXNzaW9uIHJlcXVl
c3RzLiAgTW9yZW92ZXIsIHNlc3Npb24tXG4gICAgICBpbml0aWF0aW5nIHJlcXVlc3RzIGFy
ZSB0eXBpY2FsbHkgZm9sbG93ZWQgYnkgb3RoZXIgc2Vzc2lvbi1cbiAgICAgIHJlbGF0ZWQg
cmVxdWVzdHMuICBTaW5jZSB0aGUgbWFpbiBvYmplY3RpdmUgb2YgdGhlIG92ZXJsb2FkXG4g
ICAgICBjb250cm9sIGlzIHRvIHJlZHVjZSB0aGUgdG90YWwgbnVtYmVyIG9mIHJlcXVlc3Rz
IHNlbnQgdG8gdGhlXG4gICAgICBvdmVybG9hZGVkIGVudGl0eSwgdGhyb3R0bGluZyBkZWNp
c2lvbnMgbWlnaHQgZmF2b3IgYWxsb3dpbmdcbiAgICAgIGludHJhLXNlc3Npb24gcmVxdWVz
dHMgb3ZlciBzZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdHMuICBJbiB0aGVcbiAgICAgIGFi
c2VuY2Ugb2YgbG9jYWwgcG9saWNpZXMgb3IgYXBwbGljYXRpb24gc3BlY2lmaWMgcmVxdWly
ZW1lbnRzIHRvXG4gICAgICB0aGUgY29udHJhcnksIEluZGl2aWR1YWwgc2Vzc2lvbi1pbml0
aWF0aW5nIHJlcXVlc3RzIGNhbiBiZSBnaXZlblxuICAgICAgZXF1YWwgdHJlYXRtZW50IHdo
ZW4gbWFraW5nIHRocm90dGxpbmcgZGVjaXNpb25zLlxuXG4gICBDb3JyZWxhdGVkIFNlc3Np
b24tSW5pdGlhdGluZyBSZXF1ZXN0czpcblxuICAgICAgQSBSZXF1ZXN0IHRoYXQgcmVzdWx0
cyBpbiBhIG5ldyBiaW5kaW5nLCB3aGVyZSB0aGUgYmluZGluZyBpcyB1c2VkXG4gICAgICBm
b3Igcm91dGluZyBvZiBzdWJzZXF1ZW50IHNlc3Npb24taW5pdGlhdGluZyByZXF1ZXN0cyB0
byB0aGUgc2FtZVxuICAgICAgc2VydmVyLCByZXByZXNlbnRzIG1vcmUgd29yayBsb2FkIHRo
YW4gb3RoZXIgcmVxdWVzdHMuICBBcyBzdWNoLFxuICAgICAgdGhlc2UgcmVxdWVzdHMgbWln
aHQgYmUgdGhyb3R0bGVkIG1vcmUgZnJlcXVlbnRseSB0aGFuIG90aGVyXG4gICAgICByZXF1
ZXN0IHR5cGVzLlxuXG4gICBQc2V1ZG8tU2Vzc2lvbiBSZXF1ZXN0czpcblxuXG5cblxuXG5L
b3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAg
ICAgICAgICBbUGFnZSA0OV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAg
ICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAgIFRo
cm90dGxpbmcgZGVjaXNpb25zIGZvciBwc2V1ZG8tc2Vzc2lvbiByZXF1ZXN0cyBjYW4gdGFr
ZSBpbnRvXG4gICAgICBjb25zaWRlcmF0aW9uIHdoZXJlIGluZGl2aWR1YWwgcmVxdWVzdHMg
Zml0IGludG8gdGhlIG92ZXJhbGxcbiAgICAgIHNlcXVlbmNlIG9mIHJlcXVlc3RzIHdpdGhp
biB0aGUgcHNldWRvIHNlc3Npb24uICBSZXF1ZXN0cyB0aGF0IGFyZVxuICAgICAgZWFybGll
ciBpbiB0aGUgc2VxdWVuY2UgbWlnaHQgYmUgdGhyb3R0bGVkIG1vcmUgYWdncmVzc2l2ZWx5
IHRoYW5cbiAgICAgIHJlcXVlc3RzIHRoYXQgb2NjdXIgbGF0ZXIgaW4gdGhlIHNlcXVlbmNl
LlxuXG4gICBJbnRyYS1TZXNzaW9uIFJlcXVlc3RzOlxuXG4gICAgICBUaGVyZSBhcmUgdHdv
IHR5cGVzIG9mIGludHJhLXNlc3Npb25zIHJlcXVlc3RzLCByZXF1ZXN0cyB0aGF0XG4gICAg
ICB0ZXJtaW5hdGUgYSBzZXNzaW9uIGFuZCB0aGUgcmVtYWluZGVyIG9mIGludHJhLXNlc3Np
b24gcmVxdWVzdHMuXG4gICAgICBJbXBsZW1lbnRlcnMgYW5kIG9wZXJhdG9ycyBtYXkgY2hv
b3NlIHRvIHRocm90dGxlIHNlc3Npb24tXG4gICAgICB0ZXJtaW5hdGluZyByZXF1ZXN0cyBs
ZXNzIGFnZ3Jlc3NpdmVseSBpbiBvcmRlciB0byBncmFjZWZ1bGx5XG4gICAgICB0ZXJtaW5h
dGUgc2Vzc2lvbnMsIGFsbG93IGNsZWFudXAgb2YgdGhlIHJlbGF0ZWQgcmVzb3VyY2VzIChl
LmcuXG4gICAgICBzZXNzaW9uIHN0YXRlKSBhbmQgYXZvaWQgdGhlIG5lZWQgZm9yIGFkZGl0
aW9uYWwgaW50cmEtc2Vzc2lvblxuICAgICAgcmVxdWVzdHMuICBGYXZvcmluZyBzZXNzaW9u
LXRlcm1pbmF0aW9uIHJlcXVlc3RzIG1heSByZWR1Y2UgdGhlXG4gICAgICBzZXNzaW9uIG1h
bmFnZW1lbnQgaW1wYWN0IG9uIHRoZSBvdmVybG9hZGVkIGVudGl0eS4gIFRoZSBkZWZhdWx0
XG4gICAgICBoYW5kbGluZyBvZiBvdGhlciBpbnRyYS1zZXNzaW9uIHJlcXVlc3RzIG1pZ2h0
IGJlIHRvIHRyZWF0IHRoZW1cbiAgICAgIGVxdWFsbHkgd2hlbiBtYWtpbmcgdGhyb3R0bGlu
ZyBkZWNpc2lvbnMuICBUaGVyZSBtaWdodCBhbHNvIGJlXG4gICAgICBhcHBsaWNhdGlvbiBs
ZXZlbCBjb25zaWRlcmF0aW9ucyB3aGV0aGVyIHNvbWUgcmVxdWVzdCB0eXBlcyBhcmVcbiAg
ICAgIGZhdm9yZWQgb3ZlciBvdGhlcnMuXG5cbkF1dGhvcnNcJyBBZGRyZXNzZXNcblxuICAg
Sm91bmkgS29yaG9uZW4gKGVkaXRvcilcbiAgIEJyb2FkY29tXG4gICBQb3Jra2FsYW5rYXR1
IDI0XG4gICBIZWxzaW5raSAgRklOLTAwMTgwXG4gICBGaW5sYW5kXG5cbiAgIEVtYWlsOiBq
b3VuaS5ub3NwYW1AZ21haWwuY29tXG5cblxuICAgU3RldmUgRG9ub3ZhbiAoZWRpdG9yKVxu
ICAgT3JhY2xlXG4gICA3NDYwIFdhcnJlbiBQYXJrd2F5XG4gICBGcmlzY28sIFRleGFzICA3
NTAzNFxuICAgVW5pdGVkIFN0YXRlc1xuXG4gICBFbWFpbDogc3Jkb25vdmFuQHVzZG9ub3Zh
bnMuY29tXG5cblxuICAgQmVuIENhbXBiZWxsXG4gICBPcmFjbGVcbiAgIDc0NjAgV2FycmVu
IFBhcmt3YXlcbiAgIEZyaXNjbywgVGV4YXMgIDc1MDM0XG4gICBVbml0ZWQgU3RhdGVzXG5c
biAgIEVtYWlsOiBiZW5Abm9zdHJ1bS5jb21cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAg
ICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDUwXVxu
X1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAg
ICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgTGlvbmVsIE1vcmFuZFxuICAgT3Jhbmdl
IExhYnNcbiAgIDM4LzQwIHJ1ZSBkdSBHZW5lcmFsIExlY2xlcmNcbiAgIElzc3ktTGVzLU1v
dWxpbmVhdXggQ2VkZXggOSAgOTI3OTRcbiAgIEZyYW5jZVxuXG4gICBQaG9uZTogKzMzMTQ1
Mjk2MjU3XG4gICBFbWFpbDogbGlvbmVsLm1vcmFuZEBvcmFuZ2UuY29tXG5cblxuXG5cblxu
XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxu
XG5cblxuXG5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJl
cyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDUxXVxuJywgJ2ZpbGVuYW1l
MSc6ICdcblxuXG5cbkRpYW1ldGVyIE1haW50ZW5hbmNlIGFuZCBFeHRlbnNpb25zIChESU1F
KSAgICAgICAgICAgICAgSi4gS29yaG9uZW4sIEVkLlxuSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyb2FkY29tXG5J
bnRlbmRlZCBzdGF0dXM6IFN0YW5kYXJkcyBUcmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICBTLiBEb25vdmFuLCBFZC5cbkV4cGlyZXM6IEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBCLiBDYW1wYmVsbFxuICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Jh
Y2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMLiBNb3JhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmFuZ2UgTGFic1xuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVy
IDIyLCAyMDE0XG5cblxuICAgICAgICAgICAgICAgIERpYW1ldGVyIE92ZXJsb2FkIEluZGlj
YXRpb24gQ29udmV5YW5jZVxuICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0LWlldGYtZGlt
ZS1vdmxpLTA2LnR4dFxuXG5BYnN0cmFjdFxuXG4gICBUaGlzIHNwZWNpZmljYXRpb24gZGVm
aW5lcyBhIGJhc2Ugc29sdXRpb24gZm9yIERpYW1ldGVyIG92ZXJsb2FkXG4gICBjb250cm9s
LCByZWZlcnJlZCB0byBhcyBEaWFtZXRlciBPdmVybG9hZCBJbmRpY2F0aW9uIENvbnZleWFu
Y2VcbiAgIChET0lDKS5cblxuU3RhdHVzIG9mIFRoaXMgTWVtb1xuXG4gICBUaGlzIEludGVy
bmV0LURyYWZ0IGlzIHN1Ym1pdHRlZCBpbiBmdWxsIGNvbmZvcm1hbmNlIHdpdGggdGhlXG4g
ICBwcm92aXNpb25zIG9mIEJDUCA3OCBhbmQgQkNQIDc5LlxuXG4gICBJbnRlcm5ldC1EcmFm
dHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmluZ1xu
ICAgVGFzayBGb3JjZSAoSUVURikuICBOb3RlIHRoYXQgb3RoZXIgZ3JvdXBzIG1heSBhbHNv
IGRpc3RyaWJ1dGVcbiAgIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LURyYWZ0cy4g
IFRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtXG4gICBEcmFmdHMgaXMgYXQgaHR0cDov
L2RhdGF0cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly5cblxuICAgSW50ZXJuZXQt
RHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXgg
bW9udGhzXG4gICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQg
Ynkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueVxuICAgdGltZS4gIEl0IGlzIGluYXBwcm9wcmlh
dGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2VcbiAgIG1hdGVyaWFsIG9y
IHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dyZXNzLiJcblxuICAg
VGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBKdW5lIDI1LCAyMDE1LlxuXG5D
b3B5cmlnaHQgTm90aWNlXG5cbiAgIENvcHlyaWdodCAoYykgMjAxNCBJRVRGIFRydXN0IGFu
ZCB0aGUgcGVyc29ucyBpZGVudGlmaWVkIGFzIHRoZVxuICAgZG9jdW1lbnQgYXV0aG9ycy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5cbiAgIFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0
byBCQ1AgNzggYW5kIHRoZSBJRVRGIFRydXN0XCdzIExlZ2FsXG4gICBQcm92aXNpb25zIFJl
bGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzXG4gICAoaHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcv
bGljZW5zZS1pbmZvKSBpbiBlZmZlY3Qgb24gdGhlIGRhdGUgb2ZcbiAgIHB1YmxpY2F0aW9u
IG9mIHRoaXMgZG9jdW1lbnQuICBQbGVhc2UgcmV2aWV3IHRoZXNlIGRvY3VtZW50c1xuICAg
Y2FyZWZ1bGx5LCBhcyB0aGV5IGRlc2NyaWJlIHlvdXIgcmlnaHRzIGFuZCByZXN0cmljdGlv
bnMgd2l0aCByZXNwZWN0XG4gICB0byB0aGlzIGRvY3VtZW50LiAgQ29kZSBDb21wb25lbnRz
IGV4dHJhY3RlZCBmcm9tIHRoaXMgZG9jdW1lbnQgbXVzdFxuICAgaW5jbHVkZSBTaW1wbGlm
aWVkIEJTRCBMaWNlbnNlIHRleHQgYXMgZGVzY3JpYmVkIGluIFNlY3Rpb24gNC5lIG9mXG5c
blxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAg
ICAgICAgICAgICAgICAgW1BhZ2UgMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAg
IHRoZSBUcnVzdCBMZWdhbCBQcm92aXNpb25zIGFuZCBhcmUgcHJvdmlkZWQgd2l0aG91dCB3
YXJyYW50eSBhc1xuICAgZGVzY3JpYmVkIGluIHRoZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNl
LlxuXG5UYWJsZSBvZiBDb250ZW50c1xuXG4gICAxLiAgSW50cm9kdWN0aW9uICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDNcbiAgIDIuICBU
ZXJtaW5vbG9neSBhbmQgQWJicmV2aWF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAgNFxuICAgMy4gIENvbnZlbnRpb25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudCAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA1XG4gICA0LiAgU29sdXRpb24gT3ZlcnZp
ZXcgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDVcbiAg
ICAgNC4xLiAgUGlnZ3liYWNraW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAgN1xuICAgICA0LjIuICBET0lDIENhcGFiaWxpdHkgQW5ub3VuY2Vt
ZW50ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA3XG4gICAgIDQuMy4gIERPSUMg
T3ZlcmxvYWQgQ29uZGl0aW9uIFJlcG9ydGluZyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
IDlcbiAgICAgNC40LiAgRE9JQyBFeHRlbnNpYmlsaXR5ICAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAxMVxuICAgICA0LjUuICBTaW1wbGlmaWVkIEV4YW1wbGUg
QXJjaGl0ZWN0dXJlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDExXG4gICA1LiAgU29s
dXRpb24gUHJvY2VkdXJlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMTJcbiAgICAgNS4xLiAgQ2FwYWJpbGl0eSBBbm5vdW5jZW1lbnQgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMlxuICAgICAgIDUuMS4xLiAgUmVhY3Rpbmcg
Tm9kZSBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEyXG4gICAg
ICAgNS4xLjIuICBSZXBvcnRpbmcgTm9kZSBCZWhhdmlvciAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMTNcbiAgICAgICA1LjEuMy4gIEFnZW50IEJlaGF2aW9yICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNFxuICAgICA1LjIuICBPdmVybG9h
ZCBSZXBvcnQgUHJvY2Vzc2luZyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE1
XG4gICAgICAgNS4yLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRlICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMTVcbiAgICAgICA1LjIuMi4gIFJlYWN0aW5nIE5vZGUgQmVo
YXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOVxuICAgICAgIDUuMi4z
LiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3IgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDIwXG4gICAgIDUuMy4gIFByb3RvY29sIEV4dGVuc2liaWxpdHkgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjFcbiAgIDYuICBMb3NzIEFsZ29yaXRobSAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMlxuICAgICA2
LjEuICBPdmVydmlldyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDIyXG4gICAgIDYuMi4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjNcbiAgICAgNi4zLiAgUmVhY3Rpbmcg
Tm9kZSBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyM1xu
ICAgNy4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlycyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDI0XG4gICAgIDcuMS4gIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBB
VlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjRcbiAgICAgNy4yLiAgT0Mt
RmVhdHVyZS1WZWN0b3IgQVZQIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAyNVxuICAgICA3LjMuICBPQy1PTFIgQVZQICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI1XG4gICAgIDcuNC4gIE9DLVNlcXVlbmNlLU51bWJl
ciBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjZcbiAgICAgNy41
LiAgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAyNlxuICAgICA3LjYuICBPQy1SZXBvcnQtVHlwZSBBVlAgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI2XG4gICAgIDcuNy4gIE9DLVJlZHVjdGlv
bi1QZXJjZW50YWdlIEFWUCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjZcbiAg
ICAgNy44LiAgQXR0cmlidXRlIFZhbHVlIFBhaXIgZmxhZyBydWxlcyAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAyN1xuICAgOC4gIEVycm9yIFJlc3BvbnNlIENvZGVzICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI3XG4gICA5LiAgSUFOQSBDb25z
aWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MjhcbiAgICAgOS4xLiAgQVZQIGNvZGVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAyOFxuICAgICA5LjIuICBOZXcgcmVnaXN0cmllcyAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI4XG4gICAxMC4gU2Vj
dXJpdHkgQ29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMjlcbiAgICAgMTAuMS4gIFBvdGVudGlhbCBUaHJlYXQgTW9kZXMgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyOVxuICAgICAxMC4yLiAgRGVuaWFsIG9mIFNl
cnZpY2UgQXR0YWNrcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMwXG4gICAg
IDEwLjMuICBOb24tQ29tcGxpYW50IE5vZGVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMzFcbiAgICAgMTAuNC4gIEVuZC10byBFbmQtU2VjdXJpdHkgSXNzdWVz
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMVxuICAgMTEuIENvbnRyaWJ1dG9y
cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMy
XG4gICAxMi4gUmVmZXJlbmNlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMzNcblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAg
RXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSAyXVxuX1xuSW50
ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAg
ICBEZWNlbWJlciAyMDE0XG5cblxuICAgICAxMi4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMzXG4gICAgIDEyLjIuICBJ
bmZvcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMzNcbiAgIEFwcGVuZGl4IEEuICBJc3N1ZXMgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmlj
YXRpb25zICAuIC4gLiAuIC4gLiAuICAzM1xuICAgICBBLjEuICBBZGRpdGlvbmFsIHRyYWZm
aWMgYWJhdGVtZW50IGFsZ29yaXRobXMgLiAuIC4gLiAuIC4gLiAuIC4gIDMzXG4gICAgIEEu
Mi4gIEFnZW50IE92ZXJsb2FkICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMzRcbiAgICAgQS4zLiAgTmV3IEVycm9yIERpYWdub3N0aWMgQVZQICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNFxuICAgQXBwZW5kaXggQi4gIERlcGxv
eW1lbnQgQ29uc2lkZXJhdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM0XG4g
ICBBcHBlbmRpeCBDLiAgUmVxdWlyZW1lbnRzIENvbmZvcm1hbmNlIEFuYWx5c2lzICAuIC4g
LiAuIC4gLiAuIC4gLiAgMzRcbiAgICAgQy4xLiAgRGVmZXJyZWQgUmVxdWlyZW1lbnRzIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNFxuICAgICBDLjIuICBEZXRl
Y3Rpb24gb2Ygbm9uLXN1cHBvcnRpbmcgSW50ZXJtZWRpYXJpZXMgIC4gLiAuIC4gLiAuIC4g
IDM1XG4gICAgIEMuMy4gIEltcGxpY2l0IEFwcGxpY2F0aW9uIEluZGljYXRpb24gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMzVcbiAgICAgQy40LiAgU3RhdGVsZXNzIE9wZXJhdGlv
biAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNVxuICAgICBDLjUu
ICBObyBOZXcgVnVsbmVyYWJpbGl0aWVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDM2XG4gICAgIEMuNi4gIERldGFpbGVkIFJlcXVpcmVtZW50cyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzZcbiAgICAgICBDLjYuMS4gIEdlbmVyYWwg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNlxuICAg
ICAgIEMuNi4yLiAgUGVyZm9ybWFuY2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDM3XG4gICAgICAgQy42LjMuICBIZXRlcm9nZW5lb3VzIFN1cHBvcnQg
Zm9yIFNvbHV0aW9uICAuIC4gLiAuIC4gLiAuIC4gLiAgNDBcbiAgICAgICBDLjYuNC4gIEdy
YW51bGFyIENvbnRyb2wgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0
MVxuICAgICAgIEMuNi41LiAgUHJpb3JpdHkgYW5kIFBvbGljeSAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDQyXG4gICAgICAgQy42LjYuICBTZWN1cml0eSAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNDNcbiAgICAgICBDLjYu
Ny4gIEZsZXhpYmlsaXR5IGFuZCBFeHRlbnNpYmlsaXR5IC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICA0NFxuICAgQXBwZW5kaXggRC4gIENvbnNpZGVyYXRpb25zIGZvciBBcHBsaWNhdGlv
bnMgSW50ZWdyYXRpbmcgdGhlIERPSUNcbiAgICAgICAgICAgICAgICBTb2x1dGlvbiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0NVxuICAgICBELjEu
ICBBcHBsaWNhdGlvbiBDbGFzc2lmaWNhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDQ1XG4gICAgIEQuMi4gIEFwcGxpY2F0aW9uIFR5cGUgT3ZlcmxvYWQgSW1wbGlj
YXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAgNDZcbiAgICAgRC4zLiAgUmVxdWVzdCBUcmFu
c2FjdGlvbiBDbGFzc2lmaWNhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0N1xuICAg
ICBELjQuICBSZXF1ZXN0IFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRpb25zICAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDQ4XG4gICBBdXRob3JzXCcgQWRkcmVzc2VzICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUwXG5cbjEuICBJbnRyb2R1Y3Rp
b25cblxuICAgVGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBiYXNlIHNvbHV0aW9uIGZv
ciBEaWFtZXRlciBvdmVybG9hZFxuICAgY29udHJvbCwgcmVmZXJyZWQgdG8gYXMgRGlhbWV0
ZXIgT3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlXG4gICAoRE9JQyksIGJhc2VkIG9u
IHRoZSByZXF1aXJlbWVudHMgaWRlbnRpZmllZCBpbiBbUkZDNzA2OF0uXG5cbiAgIFRoaXMg
c3BlY2lmaWNhdGlvbiBhZGRyZXNzZXMgRGlhbWV0ZXIgb3ZlcmxvYWQgY29udHJvbCBiZXR3
ZWVuXG4gICBEaWFtZXRlciBub2RlcyB0aGF0IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24u
ICBUaGUgc29sdXRpb24sIHdoaWNoXG4gICBpcyBkZXNpZ25lZCB0byBhcHBseSB0byBleGlz
dGluZyBhbmQgZnV0dXJlIERpYW1ldGVyIGFwcGxpY2F0aW9ucyxcbiAgIHJlcXVpcmVzIG5v
IGNoYW5nZXMgdG8gdGhlIERpYW1ldGVyIGJhc2UgcHJvdG9jb2wgW1JGQzY3MzNdIGFuZCBp
c1xuICAgZGVwbG95YWJsZSBpbiBlbnZpcm9ubWVudHMgd2hlcmUgc29tZSBEaWFtZXRlciBu
b2RlcyBkbyBub3QgaW1wbGVtZW50XG4gICB0aGUgRGlhbWV0ZXIgb3ZlcmxvYWQgY29udHJv
bCBzb2x1dGlvbiBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi5cblxuICAgQSBuZXcg
YXBwbGljYXRpb24gc3BlY2lmaWNhdGlvbiBjYW4gaW5jb3Jwb3JhdGUgdGhlIG92ZXJsb2Fk
IGNvbnRyb2xcbiAgIG1lY2hhbmlzbSBzcGVjaWZpZWQgaW4gdGhpcyBkb2N1bWVudCBieSBt
YWtpbmcgaXQgbWFuZGF0b3J5IHRvXG4gICBpbXBsZW1lbnQgZm9yIHRoZSBhcHBsaWNhdGlv
biBhbmQgcmVmZXJlbmNpbmcgdGhpcyBzcGVjaWZpY2F0aW9uXG4gICBub3JtYXRpdmVseS4g
IEl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgRGlhbWV0ZXIgYXBwbGljYXRpb25c
biAgIGRlc2lnbmVycyB0byBkZWZpbmUgaG93IG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNt
cyB3b3JrcyBvbiB0aGF0XG4gICBhcHBsaWNhdGlvbi5cblxuXG5cbktvcmhvbmVuLCBldCBh
bC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFn
ZSAzXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAg
ICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgTm90ZSB0aGF0IHRoZSBvdmVy
bG9hZCBjb250cm9sIHNvbHV0aW9uIGRlZmluZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uXG4g
ICBkb2VzIG5vdCBhZGRyZXNzIGFsbCB0aGUgcmVxdWlyZW1lbnRzIGxpc3RlZCBpbiBbUkZD
NzA2OF0uICBBIG51bWJlclxuICAgb2Ygb3ZlcmxvYWQgY29udHJvbCByZWxhdGVkIGZlYXR1
cmVzIGFyZSBsZWZ0IGZvciBmdXR1cmVcbiAgIHNwZWNpZmljYXRpb25zLiAgU2VlIEFwcGVu
ZGl4IEEgZm9yIGEgbGlzdCBvZiBleHRlbnNpb25zIHRoYXQgYXJlXG4gICBjdXJyZW50bHkg
YmVpbmcgY29uc2lkZXJlZC4gIFNlZSBBcHBlbmRpeCBDIGZvciBhbiBhbmFseXNpcyBvZlxu
ICAgY29uZm9ybWFuY2UgdG8gdGhlIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgaW4gW1JGQzcw
NjhdLlxuXG4yLiAgVGVybWlub2xvZ3kgYW5kIEFiYnJldmlhdGlvbnNcblxuICAgQWJhdGVt
ZW50XG5cbiAgICAgIFJlYWN0aW9uIHRvIHJlY2VpcHQgb2YgYW4gb3ZlcmxvYWQgcmVwb3J0
IHJlc3VsdGluZyBpbiBhIHJlZHVjdGlvblxuICAgICAgaW4gdHJhZmZpYyBzZW50IHRvIHRo
ZSByZXBvcnRpbmcgbm9kZS4gIEFiYXRlbWVudCBhY3Rpb25zIGluY2x1ZGVcbiAgICAgIGRp
dmVyc2lvbiBhbmQgdGhyb3R0bGluZy5cblxuICAgQWJhdGVtZW50IEFsZ29yaXRobVxuXG4g
ICAgICBBbiBleHRlbnNpYmxlIG1lY2hhbmlzbSByZXF1ZXN0ZWQgYnkgcmVwb3J0aW5nIG5v
ZGVzIGFuZCB1c2VkIGJ5XG4gICAgICByZWFjdGluZyBub2RlcyB0byByZWR1Y2UgdGhlIGFt
b3VudCBvZiB0cmFmZmljIHNlbnQgZHVyaW5nIGFuXG4gICAgICBvY2N1cnJlbmNlIG9mIG92
ZXJsb2FkIGNvbnRyb2wuXG5cbiAgIERpdmVyc2lvblxuXG4gICAgICBBbiBvdmVybG9hZCBh
YmF0ZW1lbnQgbWVjaGFuaXNtLCB3aGVyZSB0aGUgcmVhY3Rpbmcgbm9kZSBzZWxlY3RzXG4g
ICAgICBhbHRlcm5hdGUgZGVzdGluYXRpb25zIG9yIHBhdGhzIGZvciBmb3IgcmVxdWVzdHMu
XG5cbiAgIEhvc3QtUm91dGVkIFJlcXVlc3RzXG5cbiAgICAgIFJlcXVlc3RzIHRoYXQgYSBy
ZWFjdGluZyBub2RlIGtub3dzIHdpbGwgYmUgc2VydmVkIGJ5IGEgcGFydGljdWxhclxuICAg
ICAgaG9zdCwgZWl0aGVyIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYSBEZXN0aW5hdGlvbi1I
b3N0IEFWUCwgb3IgYnlcbiAgICAgIHNvbWUgb3RoZXIgbG9jYWwga25vd2xlZGdlIG9uIHRo
ZSBwYXJ0IG9mIHRoZSByZWFjdGluZyBub2RlLlxuXG4gICBPdmVybG9hZCBDb250cm9sIFN0
YXRlIChPQ1MpXG5cbiAgICAgIEludGVybmFsIHN0YXRlIG1haW50YWluZWQgYnkgYSByZXBv
cnRpbmcgb3IgcmVhY3Rpbmcgbm9kZVxuICAgICAgZGVzY3JpYmluZyBvY2N1cnJlbmNlcyBv
ZiBvdmVybG9hZCBjb250cm9sLlxuXG4gICBPdmVybG9hZCBSZXBvcnQgKE9MUilcblxuICAg
ICAgT3ZlcmxvYWQgY29udHJvbCBpbmZvcm1hdGlvbiBmb3IgYSBwYXJ0aWN1bGFyIG92ZXJs
b2FkIG9jY3VycmVuY2VcbiAgICAgIHNlbnQgYnkgYSByZXBvcnRpbmcgbm9kZS5cblxuICAg
UmVhY3RpbmcgTm9kZVxuXG4gICAgICBBIERpYW1ldGVyIG5vZGUgdGhhdCBhY3RzIHVwb24g
YW4gb3ZlcmxvYWQgcmVwb3J0LlxuXG4gICBSZWFsbS1Sb3V0ZWQgUmVxdWVzdHNcblxuXG5c
blxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAg
ICAgICAgICAgICAgIFtQYWdlIDRdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAg
ICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG4gICAg
ICBSZXF1ZXN0cyB0aGF0IGEgcmVhY3Rpbmcgbm9kZSBkb2VzIG5vdCBrbm93IHdoaWNoIGhv
c3Qgd2lsbFxuICAgICAgc2VydmljZSB0aGUgcmVxdWVzdC5cblxuICAgUmVwb3J0aW5nIE5v
ZGVcblxuICAgICAgQSBEaWFtZXRlciBub2RlIHRoYXQgZ2VuZXJhdGVzIGFuIG92ZXJsb2Fk
IHJlcG9ydC4gIChUaGlzIG1heSBvclxuICAgICAgbWF5IG5vdCBiZSB0aGUgb3ZlcmxvYWRl
ZCBub2RlLilcblxuICAgVGhyb3R0bGluZ1xuXG4gICAgICBBIG1lY2hhbmlzbSBmb3Igb3Zl
cmxvYWQgYWJhdGVtZW50IHRoYXQgbGltaXRzIHRoZSBudW1iZXIgb2ZcbiAgICAgIHJlcXVl
c3RzIHNlbnQgYnkgdGhlIERJT0MgcmVhY3Rpbmcgbm9kZS4gIFRocm90dGxpbmcgY2FuIGlu
Y2x1ZGUgYVxuICAgICAgRGlhbWV0ZXIgQ2xpZW50IGNob29zaW5nIHRvIG5vdCBzZW5kIHJl
cXVlc3RzLCBvciBhIERpYW1ldGVyIEFnZW50XG4gICAgICBvciBTZXJ2ZXIgcmVqZWN0aW5n
IHJlcXVlc3RzIHdpdGggYXBwcm9wcmlhdGUgZXJyb3IgcmVzcG9uc2VzLiAgSW5cbiAgICAg
IGJvdGggY2FzZXMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyb3R0bGluZyBpcyBhIHBlcm1hbmVu
dCByZWplY3Rpb25cbiAgICAgIG9mIHRoZSB0cmFuc2FjdGlvbi5cblxuXG5cbjMuICBDb252
ZW50aW9ucyBVc2VkIGluIFRoaXMgRG9jdW1lbnRcblxuICAgVGhlIGtleSB3b3JkcyAiTVVT
VCIsICJNVVNUIE5PVCIsICJSRVFVSVJFRCIsICJTSEFMTCIsICJTSEFMTCBOT1QiLFxuICAg
IlNIT1VMRCIsICJTSE9VTEQgTk9UIiwgIlJFQ09NTUVOREVEIiwgIk1BWSIsIGFuZCAiT1BU
SU9OQUwiIGluIHRoaXNcbiAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBk
ZXNjcmliZWQgaW4gUkZDIDIxMTkgW1JGQzIxMTldLlxuXG40LiAgU29sdXRpb24gT3ZlcnZp
ZXdcblxuICAgVGhlIERpYW1ldGVyIE92ZXJsb2FkIEluZm9ybWF0aW9uIENvbnZleWFuY2Ug
KERPSUMpIHNvbHV0aW9uIGFsbG93c1xuICAgRGlhbWV0ZXIgbm9kZXMgdG8gcmVxdWVzdCBv
dGhlciBEaWFtZXRlciBub2RlcyB0byBwZXJmb3JtIG92ZXJsb2FkXG4gICBhYmF0ZW1lbnQg
YWN0aW9ucywgdGhhdCBpcywgYWN0aW9ucyB0byByZWR1Y2UgdGhlIGxvYWQgb2ZmZXJlZCB0
byB0aGVcbiAgIG92ZXJsb2FkZWQgbm9kZSBvciByZWFsbS5cblxuICAgQSBEaWFtZXRlciBu
b2RlIHRoYXQgc3VwcG9ydHMgRE9JQyBpcyBrbm93biBhcyBhICJET0lDIG5vZGUiLiAgQW55
XG4gICBEaWFtZXRlciBub2RlIGNhbiBhY3QgYXMgYSBET0lDIG5vZGUsIGluY2x1ZGluZyBE
aWFtZXRlciBDbGllbnRzLFxuICAgRGlhbWV0ZXIgU2VydmVycywgYW5kIERpYW1ldGVyIEFn
ZW50cy4gIERPSUMgbm9kZXMgYXJlIGZ1cnRoZXJcbiAgIGRpdmlkZWQgaW50byAiUmVwb3J0
aW5nIE5vZGVzIiBhbmQgIlJlYWN0aW5nIE5vZGVzLiIgIEEgcmVwb3J0aW5nXG4gICBub2Rl
IHJlcXVlc3RzIG92ZXJsb2FkIGFiYXRlbWVudCBieSBzZW5kaW5nIE92ZXJsb2FkIFJlcG9y
dHMgKE9MUikuXG5cbiAgIEEgcmVhY3Rpbmcgbm9kZSBhY3RzIHVwb24gT0xScywgYW5kIHBl
cmZvcm1zIHdoYXRldmVyIGFjdGlvbnMgYXJlXG4gICBuZWVkZWQgdG8gZnVsZmlsbCB0aGUg
YWJhdGVtZW50IHJlcXVlc3RzIGluY2x1ZGVkIGluIHRoZSBPTFJzLiAgQVxuICAgUmVwb3J0
aW5nIG5vZGUgbWF5IHJlcG9ydCBvdmVybG9hZCBvbiBpdHMgb3duIGJlaGFsZiwgb3Igb24g
YmVoYWxmIG9mXG4gICBvdGhlciBub2Rlcy4gIExpa2V3aXNlLCBhIHJlYWN0aW5nIG5vZGUg
bWF5IHBlcmZvcm0gb3ZlcmxvYWRcbiAgIGFiYXRlbWVudCBvbiBpdHMgb3duIGJlaGFsZiwg
b3Igb24gYmVoYWxmIG9mIG90aGVyIG5vZGVzLlxuXG4gICBBIERpYW1ldGVyIG5vZGVcJ3Mg
cm9sZSBhcyBhIERPSUMgbm9kZSBpcyBpbmRlcGVuZGVudCBvZiBpdHMgRGlhbWV0ZXJcbiAg
IHJvbGUuICBGb3IgZXhhbXBsZSwgRGlhbWV0ZXIgQWdlbnRzIG1heSBhY3QgYXMgRE9JQyBu
b2RlcywgZXZlblxuICAgdGhvdWdoIHRoZXkgYXJlIG5vdCBlbmRwb2ludHMgaW4gdGhlIERp
YW1ldGVyIHNlbnNlLiAgU2luY2UgRGlhbWV0ZXJcbiAgIGVuYWJsZXMgYmktZGlyZWN0aW9u
YWwgYXBwbGljYXRpb25zLCB3aGVyZSBEaWFtZXRlciBTZXJ2ZXJzIGNhbiBzZW5kXG5cblxu
XG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAg
ICAgICAgICAgICAgW1BhZ2UgNV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAg
ICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIHJl
cXVlc3RzIHRvd2FyZHMgRGlhbWV0ZXIgQ2xpZW50cywgYSBnaXZlbiBEaWFtZXRlciBub2Rl
IGNhblxuICAgc2ltdWx0YW5lb3VzbHkgYWN0IGFzIGJvdGggYSByZXBvcnRpbmcgbm9kZSBh
bmQgYSByZWFjdGluZyBub2RlLlxuXG4gICBMaWtld2lzZSwgYSBEaWFtZXRlciBBZ2VudCBt
YXkgYWN0IGFzIGEgcmVhY3Rpbmcgbm9kZSBmcm9tIHRoZVxuICAgcGVyc3BlY3RpdmUgb2Yg
dXBzdHJlYW0gbm9kZXMsIGFuZCBhIHJlcG9ydGluZyBub2RlIGZyb20gdGhlXG4gICBwZXJz
cGVjdGl2ZSBvZiBkb3duc3RyZWFtIG5vZGVzLlxuXG4gICBET0lDIG5vZGVzIGRvIG5vdCBn
ZW5lcmF0ZSBuZXcgbWVzc2FnZXMgdG8gY2FycnkgRE9JQyByZWxhdGVkXG4gICBpbmZvcm1h
dGlvbi4gIFJhdGhlciwgdGhleSAicGlnZ3liYWNrIiBET0lDIGluZm9ybWF0aW9uIG92ZXIg
ZXhpc3RpbmdcbiAgIERpYW1ldGVyIG1lc3NhZ2VzIGJ5IGluc2VydGluZyBuZXcgQVZQcyBp
bnRvIGV4aXN0aW5nIERpYW1ldGVyXG4gICByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLiAgTm9k
ZXMgaW5kaWNhdGUgc3VwcG9ydCBmb3IgRE9JQywgYW5kIGFueVxuICAgbmVlZGVkIERPSUMg
cGFyYW1ldGVycywgYnkgaW5zZXJ0aW5nIGFuIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlBc
biAgIChTZWN0aW9uIDcuMikgaW50byBleGlzdGluZyByZXF1ZXN0cyBhbmQgcmVzcG9uc2Vz
LiAgUmVwb3J0aW5nIG5vZGVzXG4gICBzZW5kIE9MUnMgYnkgaW5zZXJ0aW5nIE9DLU9MUiBB
VlBzIChTZWN0aW9uIDcuMykuXG5cbiAgIEEgZ2l2ZW4gT0xSIGFwcGxpZXMgdG8gdGhlIERp
YW1ldGVyIHJlYWxtIGFuZCBhcHBsaWNhdGlvbiBvZiB0aGVcbiAgIERpYW1ldGVyIG1lc3Nh
Z2UgdGhhdCBjYXJyaWVzIGl0LiAgSWYgYSByZXBvcnRpbmcgbm9kZSBzdXBwb3J0cyBtb3Jl
XG4gICB0aGFuIG9uZSByZWFsbSBhbmQvb3IgYXBwbGljYXRpb24sIGl0IHJlcG9ydHMgaW5k
ZXBlbmRlbnRseSBmb3IgZWFjaFxuICAgY29tYmluYXRpb24gb2YgcmVhbG0gYW5kIGFwcGxp
Y2F0aW9uLiAgU2ltaWxhcmx5LCB0aGUgT0MtU3VwcG9ydGVkLVxuICAgRmVhdHVyZXMgQVZQ
IGFwcGxpZXMgdG8gdGhlIHJlYWxtIGFuZCBhcHBsaWNhdGlvbiBvZiB0aGUgZW5jbG9zaW5n
XG4gICBtZXNzYWdlLiAgVGhpcyBpbXBsaWVzIHRoYXQgYSBub2RlIG1heSBzdXBwb3J0IERP
SUMgZm9yIG9uZVxuICAgYXBwbGljYXRpb24gYW5kL29yIHJlYWxtLCBidXQgbm90IGFub3Ro
ZXIsIGFuZCBtYXkgaW5kaWNhdGUgZGlmZmVyZW50XG4gICBET0lDIHBhcmFtZXRlcnMgZm9y
IGVhY2ggYXBwbGljYXRpb24gYW5kIHJlYWxtIGZvciB3aGljaCBpdCBzdXBwb3J0c1xuICAg
RE9JQy5cblxuICAgUmVhY3Rpbmcgbm9kZXMgcGVyZm9ybSBvdmVybG9hZCBhYmF0ZW1lbnQg
YWNjb3JkaW5nIHRvIGFuIGFncmVlZC11cG9uXG4gICBhYmF0ZW1lbnQgYWxnb3JpdGhtLiAg
QW4gYWJhdGVtZW50IGFsZ29yaXRobSBkZWZpbmVzIHRoZSBtZWFuaW5nIG9mXG4gICBzb21l
IG9mIHRoZSBwYXJhbWV0ZXJzIG9mIGFuIE9MUiBhbmQgdGhlIHByb2NlZHVyZXMgcmVxdWly
ZWQgZm9yXG4gICBvdmVybG9hZCBhYmF0ZW1lbnQuICBBbiBvdmVybG9hZCBhYmF0ZW1lbnQg
YWxnb3JpdGhtIHNlcGFyYXRlc1xuICAgRGlhbWV0ZXIgcmVxdWVzdHMgaW50byB0d28gc2V0
cy4gIFRoZSBmaXJzdCBzZXQgY29udGFpbnMgdGhlIHJlcXVlc3RzXG4gICB0aGF0IGFyZSB0
byB1bmRlcmdvIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnQgb2YgZWl0aGVyIHRocm90
dGxpbmdcbiAgIG9yIGRpdmVyc2lvbi4gIFRoZSBzZWNvbmQgc2V0IGNvbnRhaW5zIHRoZSBy
ZXF1ZXN0cyB0aGF0IGFyZSB0byBiZVxuICAgZ2l2ZW4gbm9ybWFsIHJvdXRpbmcgdHJlYXRt
ZW50LiAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzaW5nbGVcbiAgIG11c3Qtc3VwcG9y
dCBhbGdvcml0aG0sIG5hbWVseSB0aGUgImxvc3MiIGFsZ29yaXRobSAoU2VjdGlvbiA2KS5c
biAgIEZ1dHVyZSBzcGVjaWZpY2F0aW9ucyBtYXkgaW50cm9kdWNlIG5ldyBhbGdvcml0aG1z
LlxuXG4gICBPdmVybG9hZCBjb25kaXRpb25zIG1heSB2YXJ5IGluIHNjb3BlLiAgRm9yIGV4
YW1wbGUsIGEgc2luZ2xlXG4gICBEaWFtZXRlciBub2RlIG1heSBiZSBvdmVybG9hZGVkLCBp
biB3aGljaCBjYXNlIHJlYWN0aW5nIG5vZGVzIG1heVxuICAgYXR0ZW1wdCB0byBzZW5kIHJl
cXVlc3RzIHRvIG90aGVyIGRlc3RpbmF0aW9ucy4gIE9uIHRoZSBvdGhlciBoYW5kLFxuICAg
YW4gZW50aXJlIERpYW1ldGVyIHJlYWxtIG1heSBiZSBvdmVybG9hZGVkLCBpbiB3aGljaCBj
YXNlIHN1Y2hcbiAgIGF0dGVtcHRzIHdvdWxkIGRvIGhhcm0uICBET0lDIE9MUnMgaGF2ZSBh
IGNvbmNlcHQgb2YgInJlcG9ydCB0eXBlIlxuICAgKFNlY3Rpb24gNy42KSwgd2hlcmUgdGhl
IHR5cGUgZGVmaW5lcyBzdWNoIGJlaGF2aW9ycy4gIFJlcG9ydCB0eXBlc1xuICAgYXJlIGV4
dGVuc2libGUuICBUaGlzIGRvY3VtZW50IGRlZmluZXMgcmVwb3J0IHR5cGVzIGZvciBvdmVy
bG9hZCBvZiBhXG4gICBzcGVjaWZpYyBob3N0LCBhbmQgZm9yIG92ZXJsb2FkIG9mIGFuIGVu
dGlyZSByZWFsbS5cblxuICAgRE9JQyB3b3JrcyB0aHJvdWdoIG5vbiBzdXBwb3J0aW5nIERp
YW1ldGVyIEFnZW50cyB0aGF0IHByb3Blcmx5IHBhc3NcbiAgIHVua25vd24gQVZQcyB1bmNo
YW5nZWQuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5l
IDI1LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSA2XVxuX1xuSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAy
MDE0XG5cblxuNC4xLiAgUGlnZ3liYWNraW5nXG5cbiAgIFRoZXJlIGlzIG5vIG5ldyBEaWFt
ZXRlciBhcHBsaWNhdGlvbiBkZWZpbmVkIHRvIGNhcnJ5IG92ZXJsb2FkXG4gICByZWxhdGVk
IEFWUHMuICBUaGUgb3ZlcmxvYWQgY29udHJvbCBBVlBzIGRlZmluZWQgaW4gdGhpc1xuICAg
c3BlY2lmaWNhdGlvbiBoYXZlIGJlZW4gZGVzaWduZWQgdG8gYmUgcGlnZ3liYWNrZWQgb24g
dG9wIG9mIGV4aXN0aW5nXG4gICBhcHBsaWNhdGlvbiBtZXNzYWdlcy4gIFRoaXMgaXMgbWFk
ZSBwb3NzaWJsZSBieSBhZGRpbmcgdGhlIG9wdGlvbmFsXG4gICBvdmVybG9hZCBjb250cm9s
IEFWUHMgT0MtT0xSIGFuZCBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgaW50byBleGlzdGluZ1xu
ICAgY29tbWFuZHMuXG5cbiAgIFJlYWN0aW5nIG5vZGVzIGluZGljYXRlIHN1cHBvcnQgZm9y
IERPSUMgYnkgaW5jbHVkaW5nIHRoZSBPQy1cbiAgIFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAg
aW4gYWxsIHJlcXVlc3QgbWVzc2FnZXMgb3JpZ2luYXRlZCBvciByZWxheWVkXG4gICBieSB0
aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgUmVwb3J0aW5nIG5vZGVzIGluZGljYXRlIHN1cHBv
cnQgZm9yIERPSUMgYnkgaW5jbHVkaW5nIHRoZSBPQy1cbiAgIFN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgaW4gYWxsIGFuc3dlciBtZXNzYWdlcyBvcmlnaW5hdGVkIG9yIHJlbGF5ZWRcbiAg
IGJ5IHRoZSByZXBvcnRpbmcgbm9kZSB0aGF0IGFyZSBpbiByZXNwb25zZSB0byBhIHJlcXVl
c3QgdGhhdFxuICAgY29udGFpbmVkIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLiAg
UmVwb3J0aW5nIG5vZGVzIG1heSBpbmNsdWRlXG4gICBvdmVybG9hZCByZXBvcnRzIHVzaW5n
IHRoZSBPQy1PTFIgQVZQIGluIGFuc3dlciBtZXNzYWdlcy5cblxuICAgTm90ZSB0aGF0IHRo
ZSBvdmVybG9hZCBjb250cm9sIHNvbHV0aW9uIGRvZXMgbm90IGhhdmUgZml4ZWQgc2VydmVy
XG4gICBhbmQgY2xpZW50IHJvbGVzLiAgVGhlIERPSUMgbm9kZSByb2xlIGlzIGRldGVybWlu
ZWQgYmFzZWQgb24gdGhlXG4gICBtZXNzYWdlIHR5cGU6IHdoZXRoZXIgdGhlIG1lc3NhZ2Ug
aXMgYSByZXF1ZXN0IChpLmUuIHNlbnQgYnkgYVxuICAgInJlYWN0aW5nIG5vZGUiKSBvciBh
biBhbnN3ZXIgKGkuZS4gc2VudCBieSBhICJyZXBvcnRpbmcgbm9kZSIpLlxuICAgVGhlcmVm
b3JlLCBpbiBhIHR5cGljYWwgImNsaWVudC1zZXJ2ZXIiIGRlcGxveW1lbnQsIHRoZSBEaWFt
ZXRlclxuICAgQ2xpZW50IG1heSByZXBvcnQgaXRzIG92ZXJsb2FkIGNvbmRpdGlvbiB0byB0
aGUgRGlhbWV0ZXIgU2VydmVyIGZvclxuICAgYW55IERpYW1ldGVyIFNlcnZlciBpbml0aWF0
ZWQgbWVzc2FnZSBleGNoYW5nZS4gIEFuIGV4YW1wbGUgb2Ygc3VjaFxuICAgaXMgdGhlIERp
YW1ldGVyIFNlcnZlciByZXF1ZXN0aW5nIGEgcmUtYXV0aGVudGljYXRpb24gZnJvbSBhIERp
YW1ldGVyXG4gICBDbGllbnQuXG5cbjQuMi4gIERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1l
bnRcblxuICAgVGhlIERPSUMgc29sdXRpb24gc3VwcG9ydHMgdGhlIGFiaWxpdHkgZm9yIERp
YW1ldGVyIG5vZGVzIHRvXG4gICBkZXRlcm1pbmUgaWYgb3RoZXIgbm9kZXMgaW4gdGhlIHBh
dGggb2YgYSByZXF1ZXN0IHN1cHBvcnQgdGhlXG4gICBzb2x1dGlvbi4gIFRoaXMgY2FwYWJp
bGl0eSBpcyByZWZlcnJlZCB0byBhcyBET0lDIENhcGFiaWxpdHlcbiAgIEFubm91bmNlbWVu
dCAoRENBKSBhbmQgaXMgc2VwYXJhdGUgZnJvbSBEaWFtZXRlciBDYXBhYmlsaXR5IEV4Y2hh
bmdlLlxuXG4gICBUaGUgRENBIG1lY2hhbmlzbSB1c2VzIHRoZSBPQy1TdXBwb3J0ZWQtRmVh
dHVyZXMgQVZQcyB0byBpbmRpY2F0ZSB0aGVcbiAgIERpYW1ldGVyIG92ZXJsb2FkIGZlYXR1
cmVzIHN1cHBvcnRlZC5cblxuICAgVGhlIGZpcnN0IG5vZGUgaW4gdGhlIHBhdGggb2YgYSBE
aWFtZXRlciByZXF1ZXN0IHRoYXQgc3VwcG9ydHMgdGhlXG4gICBET0lDIHNvbHV0aW9uIGlu
c2VydHMgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3RcbiAg
IG1lc3NhZ2UuXG5cbiAgIFRoZSBpbmRpdmlkdWFsIGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0
aGUgRE9JQyBub2RlcyBhcmUgaW5kaWNhdGVkIGluXG4gICB0aGUgT0MtRmVhdHVyZS1WZWN0
b3IgQVZQLiAgQW55IHNlbWFudGljcyBhc3NvY2lhdGVkIHdpdGggdGhlXG4gICBmZWF0dXJl
cyB3aWxsIGJlIGRlZmluZWQgaW4gZXh0ZW5zaW9uIHNwZWNpZmljYXRpb25zIHRoYXQgaW50
cm9kdWNlXG4gICB0aGUgZmVhdHVyZXMuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAg
ICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSA3XVxu
X1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAg
ICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgICAgTm90ZTogQXMgZGlzY3Vzc2VkIGVs
c2V3aGVyZSBpbiB0aGUgZG9jdW1lbnQsIGFnZW50cyBpbiB0aGUgcGF0aFxuICAgICAgb2Yg
dGhlIHJlcXVlc3QgY2FuIG1vZGlmeSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC5c
blxuICAgICAgTm90ZTogVGhlIERPSUMgc29sdXRpb24gbXVzdCBzdXBwb3J0IGRlcGxveW1l
bnRzIHdoZXJlIERpYW1ldGVyXG4gICAgICBDbGllbnRzIGFuZC9vciBEaWFtZXRlciBTZXJ2
ZXJzIGRvIG5vdCBzdXBwb3J0IHRoZSBET0lDIHNvbHV0aW9uLlxuICAgICAgSW4gdGhpcyBz
Y2VuYXJpbywgRGlhbWV0ZXIgQWdlbnRzIHRoYXQgc3VwcG9ydCB0aGUgRE9JQyBzb2x1dGlv
blxuICAgICAgbWF5IGhhbmRsZSBvdmVybG9hZCBhYmF0ZW1lbnQgZm9yIHRoZSBub24gc3Vw
cG9ydGluZyBEaWFtZXRlclxuICAgICAgbm9kZXMuICBJbiB0aGlzIGNhc2UgdGhlIERPSUMg
YWdlbnQgd2lsbCBpbnNlcnQgdGhlIE9DLVN1cHBvcnRlZC1cbiAgICAgIEZlYXR1cmVzIEFW
UCBpbiByZXF1ZXN0cyB0aGF0IGRvIG5vdCBhbHJlYWR5IGNvbnRhaW4gb25lLCB0ZWxsaW5n
XG4gICAgICB0aGUgcmVwb3J0aW5nIG5vZGUgdGhhdCB0aGVyZSBpcyBhIERPSUMgbm9kZSB0
aGF0IHdpbGwgaGFuZGxlXG4gICAgICBvdmVybG9hZCBhYmF0ZW1lbnQuICBGb3IgdHJhbnNh
Y3Rpb25zIHdoZXJlIHRoZXJlIHdhcyBhbiBPQy1cbiAgICAgIFN1cHBvcnRpbmctRmVhdHVy
ZXMgQVZQIGluIHRoZSByZXF1ZXN0LCB0aGUgYWdlbnQgd2lsbCBpbnNlcnQgdGhlXG4gICAg
ICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIGFuc3dlcnMsIHRlbGxpbmcgdGhlIHJl
YWN0aW5nIG5vZGVcbiAgICAgIHRoYXQgdGhlcmUgaXMgYSByZXBvcnRpbmcgbm9kZS5cblxu
ICAgVGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCB3aWxsIGFsd2F5cyBjb250YWluIGFuIGlu
ZGljYXRpb24gb2ZcbiAgIHN1cHBvcnQgZm9yIHRoZSBsb3NzIG92ZXJsb2FkIGFiYXRlbWVu
dCBhbGdvcml0aG0gZGVmaW5lZCBpbiB0aGlzXG4gICBzcGVjaWZpY2F0aW9uIChzZWUgU2Vj
dGlvbiA2KS4gIFRoaXMgZW5zdXJlcyB0aGF0IGEgcmVwb3J0aW5nIG5vZGVcbiAgIGFsd2F5
cyBzdXBwb3J0cyBhdCBsZWFzdCBvbmUgb2YgdGhlIGFkdmVydGl6ZWQgYWJhdGVtZW50IGFs
Z29yaXRobXNcbiAgIHJlY2VpdmVkIGluIGEgcmVxdWVzdCBtZXNzYWdlcy5cblxuICAgVGhl
IHJlcG9ydGluZyBub2RlIGluc2VydHMgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAg
aW4gYWxsXG4gICBhbnN3ZXIgbWVzc2FnZXMgdG8gcmVxdWVzdHMgdGhhdCBjb250YWluZWQg
dGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlc1xuICAgQVZQLiAgVGhlIGNvbnRlbnRzIG9mIHRo
ZSByZXBvcnRpbmcgbm9kZVwncyBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQXG4gICBpbmRp
Y2F0ZSB0aGUgc2V0IG9mIERpYW1ldGVyIG92ZXJsb2FkIGZlYXR1cmVzIHN1cHBvcnRlZCBi
eSB0aGVcbiAgIHJlcG9ydGluZyBub2RlLiAgVGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
b25lIGV4Y2VwdGlvbiAtIHRoZVxuICAgcmVwb3J0aW5nIG5vZGUgb25seSBpbmNsdWRlcyBh
biBpbmRpY2F0aW9uIG9mIHN1cHBvcnQgZm9yIG9uZVxuICAgb3ZlcmxvYWQgYWJhdGVtZW50
IGFsZ29yaXRobSwgaW5kZXBlbmRlbnQgb2YgdGhlIG51bWJlciBvZiBvdmVybG9hZFxuICAg
YWJhdGVtZW50IGFsZ29yaXRobXMgYWN0dWFsbHkgc3VwcG9ydGVkIGJ5IHRoZSByZWFjdGlu
ZyBub2RlLiAgVGhlXG4gICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIGluZGljYXRl
ZCBpcyB0aGUgYWxnb3JpdGhtIHRoYXQgdGhlXG4gICByZXBvcnRpbmcgbm9kZSBpbnRlbmRz
IHRvIHVzZSBzaG91bGQgaXQgZW50ZXIgYW4gb3ZlcmxvYWQgY29uZGl0aW9uLlxuICAgUmVh
Y3Rpbmcgbm9kZXMgY2FuIHVzZSB0aGUgaW5kaWNhdGVkIG92ZXJsb2FkIGFiYXRlbWVudCBh
bGdvcml0aG0gdG9cbiAgIHByZXBhcmUgZm9yIHBvc3NpYmxlIG92ZXJsb2FkIHJlcG9ydHMg
YW5kIG11c3QgdXNlIHRoZSBpbmRpY2F0ZWRcbiAgIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdv
cml0aG0gaWYgdHJhZmZpYyByZWR1Y3Rpb24gaXMgYWN0dWFsbHlcbiAgIHJlcXVlc3RlZC5c
blxuICAgICAgTm90ZSB0aGF0IHRoZSBsb3NzIGFsZ29yaXRobSBkZWZpbmVkIGluIHRoaXMg
ZG9jdW1lbnQgaXMgYVxuICAgICAgc3RhdGVsZXNzIGFiYXRlbWVudCBhbGdvcml0aG0uICBB
cyBhIHJlc3VsdCBpdCBkb2VzIG5vdCByZXF1aXJlXG4gICAgICBhbnkgYWN0aW9ucyBieSBy
ZWFjdGluZyBub2RlcyBwcmlvciB0byB0aGUgcmVjZWlwdCBvZiBhbiBvdmVybG9hZFxuICAg
ICAgcmVwb3J0LiAgU3RhdGVmdWwgYWJhdGVtZW50IGFsZ29yaXRobXMgdGhhdCBiYXNlIHRo
ZSBhYmF0ZW1lbnRcbiAgICAgIGxvZ2ljIG9uIGEgaGlzdG9yeSBvZiByZXF1ZXN0IG1lc3Nh
Z2VzIHNlbnQgbWlnaHQgcmVxdWlyZSByZWFjdGluZ1xuICAgICAgbm9kZXMgdG8gbWFpbnRh
aW4gc3RhdGUgaW4gYWR2YW5jZSBvZiByZWNlaXZpbmcgYW4gb3ZlcmxvYWQgcmVwb3J0XG4g
ICAgICB0byBlbnN1cmUgdGhhdCB0aGUgb3ZlcmxvYWQgcmVwb3J0cyBjYW4gYmUgcHJvcGVy
bHkgaGFuZGxlZC5cblxuICAgUmVwb3J0aW5nIG5vZGVzIGNhbiBjaGFuZ2UgdGhlIG92ZXJs
b2FkIGFiYXRlbWVudCBhbGdvcml0aG0gaW5kaWNhdGVkXG4gICBpbiB0aGUgT0MtRmVhdHVy
ZS1WZWN0b3IgQVZQIGlmIHRoZSByZXBvcnRpbmcgbm9kZSBpcyBub3QgY3VycmVudGx5XG4g
ICBpbiBhbiBvdmVybG9hZCBjb25kaXRpb24gYW5kIHNlbmRpbmcgb3ZlcmxvYWQgcmVwb3J0
cy4gIFRoZSByZXBvcnRpbmdcblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBF
eHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDhdXG5fXG5JbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAg
IERlY2VtYmVyIDIwMTRcblxuXG4gICBub2RlIGlzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0
aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSB3aGlsZVxuICAgdGhlIHJlcG9ydGlu
ZyBub2RlIGlzIGluIGFuIG92ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgVGhlIERDQSBtZWNo
YW5pc20gbXVzdCBhbHNvIGFsbG93IHRoZSBzY2VuYXJpbyB3aGVyZSB0aGUgc2V0IG9mXG4g
ICBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhlIHNlbmRlciBvZiBhIHJlcXVlc3QgYW5kIGJ5
IGFnZW50cyBpbiB0aGVcbiAgIHBhdGggb2YgYSByZXF1ZXN0IGRpZmZlci4gIEluIHRoaXMg
Y2FzZSwgdGhlIGFnZW50IGNhbiB1cGRhdGUgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1
cmVzIEFWUCB0byByZWZsZWN0IHRoZSBtaXh0dXJlIG9mIHRoZSB0d28gc2V0cyBvZlxuICAg
c3VwcG9ydGVkIGZlYXR1cmVzLlxuXG4gICAgICBOb3RlOiBUaGUgbG9naWMgdG8gZGV0ZXJt
aW5lIGlmIHRoZSBjb250ZW50IG9mIHRoZSBPQy1TdXBwb3J0ZWQtXG4gICAgICBGZWF0dXJl
cyBBVlAgc2hvdWxkIGJlIGNoYW5nZWQgaXMgb3V0LW9mLXNjb3BlIGZvciB0aGlzIGRvY3Vt
ZW50LFxuICAgICAgYXMgaXMgdGhlIGxvZ2ljIHRvIGRldGVybWluZSB0aGUgY29udGVudCBv
ZiBhIG1vZGlmaWVkIE9DLVxuICAgICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC4gIFRoZXNl
IGFyZSBsZWZ0IHRvIGltcGxlbWVudGF0aW9uXG4gICAgICBkZWNpc2lvbnMuICBDYXJlIG11
c3QgYmUgdGFrZW4gbm90IHRvIGludHJvZHVjZSBpbnRlcm9wZXJhYmlsaXR5XG4gICAgICBp
c3N1ZXMgZm9yIGRvd25zdHJlYW0gb3IgdXBzdHJlYW0gRE9JQyBub2Rlcy5cblxuNC4zLiAg
RE9JQyBPdmVybG9hZCBDb25kaXRpb24gUmVwb3J0aW5nXG5cbiAgIEFzIHdpdGggRE9JQyBj
YXBhYmlsaXR5IGFubm91bmNlbWVudCwgb3ZlcmxvYWQgY29uZGl0aW9uIHJlcG9ydGluZ1xu
ICAgdXNlcyBuZXcgQVZQcyAoU2VjdGlvbiA3LjMpIHRvIGluZGljYXRlIGFuIG92ZXJsb2Fk
IGNvbmRpdGlvbi5cblxuICAgVGhlIE9DLU9MUiBBVlAgaXMgcmVmZXJyZWQgdG8gYXMgYW4g
b3ZlcmxvYWQgcmVwb3J0LiAgVGhlIE9DLU9MUiBBVlBcbiAgIGluY2x1ZGVzIHRoZSB0eXBl
IG9mIHJlcG9ydCwgYSBzZXF1ZW5jZSBudW1iZXIsIHRoZSBsZW5ndGggb2YgdGltZVxuICAg
dGhhdCB0aGUgcmVwb3J0IGlzIHZhbGlkIGFuZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNwZWNp
ZmljIEFWUHMuXG5cbiAgIFR3byB0eXBlcyBvZiBvdmVybG9hZCByZXBvcnRzIGFyZSBkZWZp
bmVkIGluIHRoaXMgZG9jdW1lbnQ6IGhvc3RcbiAgIHJlcG9ydHMgYW5kIHJlYWxtIHJlcG9y
dHMuXG5cbiAgIEEgcmVwb3J0IG9mIHR5cGUgIkhPU1RfUkVQT1JUIiBpcyBzZW50IHRvIGlu
ZGljYXRlIHRoZSBvdmVybG9hZCBvZiBhXG4gICBzcGVjaWZpYyBEaWFtZXRlciBub2RlIGZv
ciB0aGUgYXBwbGljYXRpb24taWQgaW5kaWNhdGVkIGluIHRoZVxuICAgdHJhbnNhY3Rpb24u
ICBXaGVuIHJlY2VpdmluZyBhbiBPTFIgb2YgdHlwZSBob3N0LCBhIHJlYWN0aW5nIG5vZGVc
biAgIGFwcGxpZXMgb3ZlcmxvYWQgYWJhdGVtZW50IHRvIHdoYXQgaXMgcmVmZXJyZWQgdG8g
aW4gdGhpcyBkb2N1bWVudCBhc1xuICAgaG9zdC1yb3V0ZWQgcmVxdWVzdHMuICBUaGUgcmVh
Y3Rpbmcgbm9kZSBhcHBsaWVzIG92ZXJsb2FkIGFiYXRlbWVudFxuICAgb24gdGhvc2UgaG9z
dC1yb3V0ZWQgcmVxdWVzdHMgd2hpY2ggdGhlIHJlYWN0aW5nIG5vZGUga25vd3Mgd2lsbCBi
ZVxuICAgc2VydmVkIGJ5IHRoZSBzZXJ2ZXIgdGhhdCBtYXRjaGVzIHRoZSBPcmlnaW4tSG9z
dCBBVlAgb2YgdGhlIHJlY2VpdmVkXG4gICBtZXNzYWdlIHRoYXQgY29udGFpbmVkIHRoZSBy
ZWNlaXZlZCBPTFIgb2YgdHlwZSBob3N0LlxuXG4gICBBIHJlcG9ydCBvZiB0eXBlICJSRUFM
TV9SRVBPUlQiIGlzIHNlbnQgdG8gaW5kaWNhdGUgdGhlIG92ZXJsb2FkIG9mXG4gICBhbGwg
RGlhbWV0ZXIgbm9kZXMgd2l0aGluIGEgcmVhbG0gZm9yIHRoZSBhcHBsaWNhdGlvbi1pZCBp
bmRpY2F0ZWQgaW5cbiAgIHRoZSB0cmFuc2FjdGlvbi4gIFdoZW4gcmVjZWl2aW5nIGFuIE9M
UiBvZiB0eXBlIHJlYWxtLCBhIHJlYWN0aW5nXG4gICBub2RlIGFwcGxpZXMgb3ZlcmxvYWQg
YWJhdGVtZW50IHRvIHdoYXQgaXMgcmVmZXJyZWQgdG8gaW4gdGhpc1xuICAgZG9jdW1lbnQg
YXMgcmVhbG0tcm91dGVkIHJlcXVlc3RzLiAgVGhlIHJlYWN0aW5nIG5vZGUgYXBwbGllc1xu
ICAgb3ZlcmxvYWQgYWJhdGVtZW50IG9uIHRob3NlIHJlYWxtLXJvdXRlZCByZXF1ZXN0cyB3
aGljaCBjb250YWluIGFcbiAgIERlc3RpbmF0aW9uLVJlYWxtIEFWUCB0aGF0IG1hdGNoZXMg
dGhlIE9yaWdpbi1SZWFsbSBBVlAgb2YgdGhlXG4gICByZWNlaXZlZCBtZXNzYWdlIHRoYXQg
Y29udGFpbmVkIHRoZSByZWNlaXZlZCBPTFIgb2YgdHlwZSByZWFsbS5cblxuICAgVGhpcyBk
b2N1bWVudCBhc3N1bWVzIHRoYXQgdGhlcmUgaXMgYSBzaW5nbGUgc291cmNlIGZvciByZWFs
bS1yZXBvcnRzXG4gICBmb3IgYSBnaXZlbiByZWFsbSwgb3IgdGhhdCBpZiBtdWx0aXBsZSBu
b2RlcyBjYW4gc2VuZCByZWFsbSByZXBvcnRzLFxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAg
ICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDld
XG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAg
ICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG4gICB0aGF0IGVhY2ggc3VjaCBub2RlIGhh
cyBmdWxsIGtub3dsZWRnZSBvZiB0aGUgb3ZlcmxvYWQgc3RhdGUgb2YgdGhlXG4gICBlbnRp
cmUgcmVhbG0uICBBIHJlYWN0aW5nIG5vZGUgY2Fubm90IGRpc3Rpbmd1aXNoIGJldHdlZW4g
cmVjZWl2aW5nXG4gICByZWFsbS1yZXBvcnRzIGZyb20gYSBzaW5nbGUgbm9kZSwgb3IgZnJv
bSBtdWx0aXBsZSBub2Rlcy5cblxuICAgICAgTm90ZTogS25vd24gaXNzdWVzIGV4aXN0IGlm
IG11bHRpcGxlIHNvdXJjZXMgZm9yIG92ZXJsb2FkIHJlcG9ydHNcbiAgICAgIHdoaWNoIGFw
cGx5IHRvIHRoZSBzYW1lIERpYW1ldGVyIGVudGl0eSBleGlzdC4gIFJlYWN0aW5nIG5vZGVz
XG4gICAgICBoYXZlIG5vIHdheSBvZiBkZXRlcm1pbmluZyB0aGUgc291cmNlIGFuZCwgYXMg
c3VjaCwgd2lsbCB0cmVhdFxuICAgICAgdGhlbSBhcyBjb21pbmcgZnJvbSBhIHNpbmdsZSBz
b3VyY2UuICBWYXJpYW5jZSBpbiBzZXF1ZW5jZSBudW1iZXJzXG4gICAgICBiZXR3ZWVuIHRo
ZSB0d28gc291cmNlcyBjYW4gdGhlbiBjYXVzZSBpbmNvcnJlY3Qgb3ZlcmxvYWRcbiAgICAg
IGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gYmUgYXBwbGllZCBmb3IgaW5kZXRlcm1pbmF0ZSBw
ZXJpb2RzIG9mXG4gICAgICB0aW1lLlxuXG4gICBSZXBvcnRpbmcgbm9kZXMgYXJlIHJlc3Bv
bnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgbmVlZCBmb3IgYVxuICAgcmVkdWN0aW9uIG9m
IHRyYWZmaWMuICBUaGUgbWV0aG9kIGZvciBtYWtpbmcgdGhpcyBkZXRlcm1pbmF0aW9uIGlz
XG4gICBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBhbmQgZGVwZW5kIG9uIHRoZSB0eXBlIG9m
IG92ZXJsb2FkIHJlcG9ydFxuICAgYmVpbmcgZ2VuZXJhdGVkLiAgQSBob3N0LXJlcG9ydCBt
aWdodCBiZSBnZW5lcmF0ZWQgYnkgdHJhY2tpbmcgdXNlIG9mXG4gICByZXNvdXJjZXMgcmVx
dWlyZWQgYnkgdGhlIGhvc3QgdG8gaGFuZGxlIHRyYW5zYWN0aW9ucyBmb3IgdGhlXG4gICBE
aWFtZXRlciBhcHBsaWNhdGlvbi4gIEEgcmVhbG0tcmVwb3J0IGdlbmVyYWxseSBpbXBhY3Rz
IHRoZSB0cmFmZmljXG4gICBzZW50IHRvIG11bHRpcGxlIGhvc3RzIGFuZCwgYXMgc3VjaCwg
cmVxdWlyZXMgdHJhY2tpbmcgdGhlIGNhcGFjaXR5XG4gICBvZiBhbGwgc2VydmVycyBhYmxl
IHRvIGhhbmRsZSByZWFsbS0gcm91dGVkIHJlcXVlc3RzIGZvciB0aGVcbiAgIGFwcGxpY2F0
aW9uIGFuZCByZWFsbS5cblxuICAgT25jZSBhIHJlcG9ydGluZyBub2RlIGRldGVybWluZXMg
dGhlIG5lZWQgZm9yIGEgcmVkdWN0aW9uIGluIHRyYWZmaWMsXG4gICBpdCB1c2VzIHRoZSBE
T0lDIGRlZmluZWQgQVZQcyB0byByZXBvcnQgb24gdGhlIGNvbmRpdGlvbi4gIFRoZXNlIEFW
UHNcbiAgIGFyZSBpbmNsdWRlZCBpbiBhbnN3ZXIgbWVzc2FnZXMgc2VudCBvciByZWxheWVk
IGJ5IHRoZSByZXBvcnRpbmdcbiAgIG5vZGUuICBUaGUgcmVwb3J0aW5nIG5vZGUgaW5kaWNh
dGVzIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtXG4gICB0aGF0IGlzIHRvIGJl
IHVzZWQgdG8gaGFuZGxlIHRoZSB0cmFmZmljIHJlZHVjdGlvbiBpbiB0aGUgT0MtXG4gICBT
dXBwb3J0ZWQtRmVhdHVyZXMgQVZQLiAgVGhlIE9DLU9MUiBBVlAgaXMgdXNlZCB0byBjb21t
dW5pY2F0ZVxuICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcXVlc3RlZCByZWR1Y3Rpb24u
XG5cbiAgIFJlYWN0aW5nIG5vZGVzLCB1cG9uIHJlY2VpcHQgb2YgYW4gb3ZlcmxvYWQgcmVw
b3J0LCBhcHBseWluZyB0aGVcbiAgIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gdG8g
dHJhZmZpYyBpbXBhY3RlZCBieSB0aGUgb3ZlcmxvYWRcbiAgIHJlcG9ydC4gIFRoZSBtZXRo
b2QgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHJlcXVlc3RzIHRoYXQgYXJlIHRvXG4gICByZWNl
aXZlIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnQgaXMgZGVwZW5kZW50IG9uIHRoZSBh
YmF0ZW1lbnRcbiAgIGFsZ29yaXRobS4gIFRoZSBsb3NzIGFiYXRlbWVudCBhbGdvcml0aG0g
aXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50XG4gICAoU2VjdGlvbiA2KS4gIE90aGVyIGFi
YXRlbWVudCBhbGdvcml0aG1zIGNhbiBiZSBkZWZpbmVkIGluIGV4dGVuc2lvbnNcbiAgIHRv
IHRoZSBET0lDIHNvbHV0aW9ucy5cblxuICAgVHdvIHR5cGVzIG9mIG92ZXJsb2FkIGFiYXRl
bWVudCB0cmVhdG1lbnQgYXJlIGRlZmluZWQsIGRpdmVyc2lvbiBhbmRcbiAgIHRocm90dGxp
bmcuICBSZWFjdGluZyBub2RlcyBhcmUgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHdo
aWNoXG4gICB0cmVhdG1lbnQgaXMgYXBwcm9wcmlhdGUgZm9yIGluZGl2aWR1YWwgcmVxdWVz
dHMuXG5cbiAgIEFzIHRoZSBjb25kaXRpb25zIHRoYXQgbGVhZCB0byB0aGUgZ2VuZXJhdGlv
biBvZiB0aGUgb3ZlcmxvYWQgcmVwb3J0XG4gICBjaGFuZ2UgdGhlIHJlcG9ydGluZyBub2Rl
IGNhbiBzZW5kIG5ldyBvdmVybG9hZCByZXBvcnRzIHJlcXVlc3RpbmdcbiAgIGdyZWF0ZXIg
cmVkdWN0aW9uIGlmIHRoZSBjb25kaXRpb24gZ2V0cyB3b3JzZSBvciBsZXNzIHJlZHVjdGlv
biBpZlxuICAgdGhlIGNvbmRpdGlvbiBpbXByb3Zlcy4gIFRoZSByZXBvcnRpbmcgbm9kZSBz
ZW5kcyBhbiBvdmVybG9hZCByZXBvcnRcbiAgIHdpdGggYSBkdXJhdGlvbiBvZiB6ZXJvIHRv
IGluZGljYXRlIHRoYXQgdGhlIG92ZXJsb2FkIGNvbmRpdGlvbiBoYXNcbiAgIGVuZGVkIGFu
ZCBhYmF0ZW1lbnQgaXMgbm8gbG9uZ2VyIG5lZWRlZC5cblxuXG5cbktvcmhvbmVuLCBldCBh
bC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdl
IDEwXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAg
ICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgVGhlIHJlYWN0aW5nIG5vZGUg
YWxzbyBkZXRlcm1pbmVzIHdoZW4gdGhlIG92ZXJsb2FkIHJlcG9ydCBleHBpcmVzXG4gICBi
YXNlZCBvbiB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGluIHRoZSBvdmVybG9hZCBy
ZXBvcnQgYW5kXG4gICBzdG9wcyBhcHBseWluZyB0aGUgYWJhdGVtZW50IGFsZ29yaXRobSB3
aGVuIHRoZSByZXBvcnQgZXhwaXJlcy5cblxuNC40LiAgRE9JQyBFeHRlbnNpYmlsaXR5XG5c
biAgIFRoZSBET0lDIHNvbHV0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGV4dGVuc2libGUuICBU
aGlzIGV4dGVuc2liaWxpdHlcbiAgIGlzIGJhc2VkIG9uIGV4aXN0aW5nIERpYW1ldGVyIGJh
c2VkIGV4dGVuc2liaWxpdHkgbWVjaGFuaXNtcywgYWxvbmdcbiAgIHdpdGggdGhlIERPSUMg
Y2FwYWJpbGl0eSBhbm5vdW5jZW1lbnQgbWVjaGFuaXNtLlxuXG4gICBUaGVyZSBhcmUgbXVs
dGlwbGUgY2F0ZWdvcmllcyBvZiBleHRlbnNpb25zIHRoYXQgYXJlIGV4cGVjdGVkLiAgVGhp
c1xuICAgaW5jbHVkZXMgdGhlIGRlZmluaXRpb24gb2YgbmV3IG92ZXJsb2FkIGFiYXRlbWVu
dCBhbGdvcml0aG1zLCB0aGVcbiAgIGRlZmluaXRpb24gb2YgbmV3IHJlcG9ydCB0eXBlcyBh
bmQgdGhlIGRlZmluaXRpb24gb2YgbmV3IHNjb3BlcyBvZlxuICAgbWVzc2FnZXMgaW1wYWN0
ZWQgYnkgYW4gb3ZlcmxvYWQgcmVwb3J0LlxuXG4gICBBIERPSUMgbm9kZSBjb21tdW5pY2F0
ZXMgc3VwcG9ydGVkIGZlYXR1cmVzIGJ5IGluY2x1ZGluZyB0aGVtIGluIHRoZVxuICAgT0Mt
RmVhdHVyZS1WZWN0b3IgQVZQLCBhcyBhIHN1Yi1BVlAgb2YgT0MtU3VwcG9ydGVkLUZlYXR1
cmVzLiAgQW55XG4gICBub24tYmFja3dhcmRzIGNvbXBhdGlibGUgRE9JQyBleHRlbnNpb25z
IGRlZmluZSBuZXcgdmFsdWVzIGZvciB0aGVcbiAgIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC4g
IERPSUMgZXh0ZW5zaW9ucyBhbHNvIGhhdmUgdGhlIGFiaWxpdHkgdG8gYWRkXG4gICBuZXcg
QVZQcyB0byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCwgaWYgYWRkaXRpb25hbCBp
bmZvcm1hdGlvblxuICAgYWJvdXQgdGhlIG5ldyBmZWF0dXJlIGlzIHJlcXVpcmVkLlxuXG4g
ICBPdmVybG9hZCByZXBvcnRzIGNhbiBiZSBhbHNvIGV4dGVuZGVkIGJ5IGFkZGluZyBuZXcg
c3ViLUFWUHMgdG8gdGhlXG4gICBPQy1PTFIgQVZQLCBhbGxvd2luZyByZXBvcnRpbmcgbm9k
ZXMgdG8gY29tbXVuaWNhdGUgYWRkaXRpb25hbFxuICAgaW5mb3JtYXRpb24gYWJvdXQgaGFu
ZGxpbmcgYW4gb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICBJZiBuZWNlc3NhcnksIG5ldyBl
eHRlbnNpb25zIGNhbiBhbHNvIGRlZmluZSBuZXcgQVZQcyB0aGF0IGFyZSBub3RcbiAgIHBh
cnQgb2YgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBhbmQgT0MtT0xSIGdyb3VwIEFWUHMu
ICBJdCBpcyxcbiAgIGhvd2V2ZXIsIHJlY29tbWVuZGVkIHRoYXQgRE9JQyBleHRlbnNpb25z
IHVzZSB0aGUgT0MtU3VwcG9ydGVkLVxuICAgRmVhdHVyZXMgQVZQIGFuZCBPQy1PTFIgQVZQ
IHRvIGNhcnJ5IGFsbCBET0lDIHJlbGF0ZWQgQVZQcy5cblxuNC41LiAgU2ltcGxpZmllZCBF
eGFtcGxlIEFyY2hpdGVjdHVyZVxuXG4gICBGaWd1cmUgMSBpbGx1c3RyYXRlcyB0aGUgc2lt
cGxpZmllZCBhcmNoaXRlY3R1cmUgZm9yIERpYW1ldGVyXG4gICBvdmVybG9hZCBpbmZvcm1h
dGlvbiBjb252ZXlhbmNlLlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5Lb3Jo
b25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAg
ICAgICBbUGFnZSAxMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBE
T0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgICBSZWFsbSBY
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbWUgb3Igb3RoZXIgUmVhbG1z
XG4gICBfLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fIF8tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tX1xuXG5cbiAgICAgICstLV4tLS0tLSsgICAgICAgICAgICAgICAg
IDogKG9wdGlvbmFsKSA6XG4gICAgICBfRGlhbWV0ZXJfICAgICAgICAgICAgICAgICA6ICAg
ICAgICAgICAgOlxuICAgICAgX1NlcnZlciBBXy0tKyAgICAgLi0tLiAgICAgOiArLS0tXi0t
LS0rIDogICAgIC4tLS5cbiAgICAgICstLS0tLS0tLSsgIF8gICBfKCAgICBfLiAgIDogX0Rp
YW1ldGVyXyA6ICAgXyggICAgXy4gICArLS0tXi0tLS0rXG4gICAgICAgICAgICAgICAgICAr
LS0oICAgICAgICApLS06LV8gIEFnZW50IF8tOi0tKCAgICAgICAgKS0tX0RpYW1ldGVyX1xu
ICAgICAgKy0tLS0tLS0tKyAgXyAoIF8gIC4gICkgICkgOiArLS0tLS1eLS0rIDogKCBfICAu
ICApICApIF8gQ2xpZW50IF9cbiAgICAgIF9EaWFtZXRlcl8tLSsgIF8tLShfX18uLVwnICA6
ICAgICAgICAgICAgOiAgXy0tKF9fXy4tXCcgICstLS0tLV4tLStcbiAgICAgIF9TZXJ2ZXIg
Ql8gICAgICAgICAgICAgICAgIDogICAgICAgICAgICA6XG4gICAgICArLS0tXi0tLS0rICAg
ICAgICAgICAgICAgICA6ICAgICAgICAgICAgOlxuXG4gICAgICAgICAgICAgICAgICAgICAg
ICAgIEVuZC10by1lbmQgT3ZlcmxvYWQgSW5kaWNhdGlvblxuICAgICAgICAgICAgIDEpICBf
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fXG4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFlcblxuICAg
ICAgICAgICAgICAgICAgT3ZlcmxvYWQgSW5kaWNhdGlvbiBBICAgIE92ZXJsb2FkIEluZGlj
YXRpb24gQVwnXG4gICAgICAgICAgICAgMikgIF8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXyBf
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLV9cbiAgICAgICAgICAgICAgICAgRGlhbWV0ZXIgQXBw
bGljYXRpb24gWSAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFlcblxuXG5cbiAgICAgRmlndXJl
IDE6IFNpbXBsaWZpZWQgYXJjaGl0ZWN0dXJlIGNob2ljZXMgZm9yIG92ZXJsb2FkIGluZGlj
YXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5XG5cbiAg
IEluIEZpZ3VyZSAxLCB0aGUgRGlhbWV0ZXIgb3ZlcmxvYWQgaW5kaWNhdGlvbiBjYW4gYmUg
Y29udmV5ZWQgKDEpXG4gICBlbmQtdG8tZW5kIGJldHdlZW4gc2VydmVycyBhbmQgY2xpZW50
cyBvciAoMikgYmV0d2VlbiBzZXJ2ZXJzIGFuZFxuICAgRGlhbWV0ZXIgYWdlbnQgaW5zaWRl
IHRoZSByZWFsbSBhbmQgdGhlbiBiZXR3ZWVuIHRoZSBEaWFtZXRlciBhZ2VudFxuICAgYW5k
IHRoZSBjbGllbnRzLlxuXG41LiAgU29sdXRpb24gUHJvY2VkdXJlc1xuXG4gICBUaGlzIHNl
Y3Rpb24gb3V0bGluZXMgdGhlIG5vcm1hdGl2ZSBiZWhhdmlvciBmb3IgdGhlIERPSUMgc29s
dXRpb24uXG5cbjUuMS4gIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50XG5cbiAgIFRoaXMgc2Vj
dGlvbiBkZWZpbmVzIERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1lbnQgKERDQSkgYmVoYXZp
b3IuXG5cbjUuMS4xLiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvclxuXG4gICBBIHJlYWN0aW5n
IG5vZGUgTVVTVCBpbmNsdWRlIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIGFs
bFxuICAgcmVxdWVzdHMuICBJdCBNQVkgaW5jbHVkZSB0aGUgT0MtRmVhdHVyZS1WZWN0b3Ig
QVZQLCBhcyBhIHN1Yi1hdnAgb2ZcbiAgIE9DLVN1cHBvcnRlZC1GZWF0dXJlcy4gIElmIGl0
IGRvZXMgc28sIGl0IE1VU1QgaW5kaWNhdGUgc3VwcG9ydCBmb3JcbiAgIHRoZSAibG9zcyIg
YWxnb3JpdGhtLiAgSWYgdGhlIHJlYWN0aW5nIG5vZGUgaXMgY29uZmlndXJlZCB0byBzdXBw
b3J0XG4gICBmZWF0dXJlcyAoaW5jbHVkaW5nIG90aGVyIGFsZ29yaXRobXMpIGluIGFkZGl0
aW9uIHRvIHRoZSBsb3NzXG4gICBhbGdvcml0aG0sIGl0IE1VU1QgaW5kaWNhdGUgc3VjaCBz
dXBwb3J0IGluIGFuIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC5cblxuXG5cbktvcmhvbmVuLCBl
dCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQ
YWdlIDEyXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAg
ICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgQW4gT0MtU3VwcG9ydGVk
LUZlYXR1cmVzIEFWUCBpbiBhbnN3ZXIgbWVzc2FnZXMgaW5kaWNhdGVzIHRoZXJlIGlzIGFc
biAgIHJlcG9ydGluZyBub2RlIGZvciB0aGUgdHJhbnNhY3Rpb24uICBUaGUgcmVhY3Rpbmcg
bm9kZSBNQVkgdGFrZVxuICAgYWN0aW9uLCBmb3IgZXhhbXBsZSBjcmVhdGluZyBzdGF0ZSBm
b3Igc29tZSBzdGF0ZWZ1bCBhYmF0ZW1lbnRcbiAgIGFsZ29yaXRobSwgYmFzZWQgb24gdGhl
IGZlYXR1cmVzIGluZGljYXRlZCBpbiB0aGUgT0MtRmVhdHVyZS1WZWN0b3JcbiAgIEFWUC5c
blxuICAgICAgTm90ZTogVGhlIGxvc3MgYWJhdGVtZW50IGFsZ29yaXRobSBkb2VzIG5vdCBy
ZXF1aXJlIHN0YXRlZnVsXG4gICAgICBiZWhhdmlvciB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2
ZSBvdmVybG9hZCByZXBvcnQuXG5cbjUuMS4yLiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3Jc
blxuICAgVXBvbiByZWNlaXB0IG9mIGEgcmVxdWVzdCBtZXNzYWdlLCBhIHJlcG9ydGluZyBu
b2RlIGRldGVybWluZXMgaWZcbiAgIHRoZXJlIGlzIGEgcmVhY3Rpbmcgbm9kZSBmb3IgdGhl
IHRyYW5zYWN0aW9uIGJhc2VkIG9uIHRoZSBwcmVzZW5jZSBvZlxuICAgdGhlIE9DLVN1cHBv
cnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZS5cblxuICAgSWYgdGhl
IHJlcXVlc3QgbWVzc2FnZSBjb250YWlucyBhbiBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQ
IHRoZW4gYVxuICAgcmVwb3J0aW5nIG5vZGUgTVVTVCBpbmNsdWRlIHRoZSBPQy1TdXBwb3J0
ZWQtRmVhdHVyZXMgQVZQIGluIHRoZVxuICAgYW5zd2VyIG1lc3NhZ2UgZm9yIHRoYXQgdHJh
bnNhY3Rpb24uXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBOT1QgaW5jbHVkZSB0aGUg
T0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCwgT0MtXG4gICBPTFIgQVZQIG9yIGFueSBvdGhl
ciBvdmVybG9hZCBjb250cm9sIEFWUHMgZGVmaW5lZCBpbiBleHRlbnNpb25cbiAgIGRyYWZ0
cyBpbiByZXNwb25zZSBtZXNzYWdlcyBmb3IgdHJhbnNhY3Rpb25zIHdoZXJlIHRoZSByZXF1
ZXN0XG4gICBtZXNzYWdlIGRvZXMgbm90IGluY2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlAuICBMYWNrIG9mIHRoZVxuICAgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBp
biB0aGUgcmVxdWVzdCBtZXNzYWdlIGluZGljYXRlcyB0aGF0IHRoZXJlXG4gICBpcyBubyBy
ZWFjdGluZyBub2RlIGZvciB0aGUgdHJhbnNhY3Rpb24uXG5cbiAgIEEgcmVwb3J0aW5nIG5v
ZGUga25vd3Mgd2hhdCBvdmVybG9hZCBjb250cm9sIGZ1bmN0aW9uYWxpdHkgaXNcbiAgIHN1
cHBvcnRlZCBieSB0aGUgcmVhY3Rpbmcgbm9kZSBiYXNlZCBvbiB0aGUgY29udGVudCBvciBh
YnNlbmNlIG9mIHRoZVxuICAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGhpbiB0aGUgT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGVcbiAgIHJlcXVlc3QgbWVzc2FnZS5cblxu
ICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIGluZGljYXRlIHN1cHBvcnQgZm9yIG9uZSBhbmQg
b25seSBvbmUgYWJhdGVtZW50XG4gICBhbGdvcml0aG0gaW4gdGhlIE9DLUZlYXR1cmUtVmVj
dG9yIEFWUC4gIFRoZSBhYmF0ZW1lbnQgYWxnb3JpdGhtXG4gICBzZWxlY3RlZCBNVVNUIGlu
ZGljYXRlIHRoZSBhYmF0ZW1lbnQgYWxnb3JpdGhtIHRoZSByZXBvcnRpbmcgbm9kZVxuICAg
d2FudHMgdGhlIHJlYWN0aW5nIG5vZGUgdG8gdXNlIHdoZW4gdGhlIHJlcG9ydGluZyBub2Rl
IGVudGVycyBhblxuICAgb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICBUaGUgYWJhdGVtZW50
IGFsZ29yaXRobSBzZWxlY3RlZCBNVVNUIGJlIGZyb20gdGhlIHNldCBvZiBhYmF0ZW1lbnRc
biAgIGFsZ29yaXRobXMgY29udGFpbmVkIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2VcJ3MgT0Mt
RmVhdHVyZS1WZWN0b3IgQVZQLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIHRoYXQgc2VsZWN0
cyB0aGUgbG9zcyBhbGdvcml0aG0gbWF5IGRvIHNvIGJ5XG4gICBpbmNsdWRpbmcgdGhlIE9D
LUZlYXR1cmUtVmVjdG9yIEFWUCB3aXRoIGFuIGV4cGxpY2l0IGluZGljYXRpb24gb2ZcbiAg
IHRoZSBsb3NzIGFsZ29yaXRobSwgb3IgaXQgTUFZIG9taXQgT0MtRmVhdHVyZS1WZWN0b3Iu
ICBJZiBpdCBzZWxlY3RzXG4gICBhIGRpZmZlcmVudCBhbGdvcml0aG0sIGl0IE1VU1QgaW5j
bHVkZSB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGhcbiAgIGFuIGV4cGxpY2l0IGlu
ZGljYXRpb24gb2YgdGhlIHNlbGVjdGVkIGFsZ29yaXRobS5cblxuXG5cblxuXG5cbktvcmhv
bmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDEzXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERP
SUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgQSByZXBvcnRp
bmcgbm9kZSBNVVNUIE5PVCBjaGFuZ2UgdGhlIHNlbGVjdGVkIGFsZ29yaXRobSBkdXJpbmcg
dGhlXG4gICBwZXJpb2Qgb2YgdGltZSB0aGF0IHN0YXJ0cyB3aGVuIGVudGVyaW5nIGFuIG92
ZXJsb2FkIGNvbmRpdGlvbiBhbmRcbiAgIGVuZHMgd2hlbiB0aGUgYXNzb2NpYXRlZCBPQ1Mg
YmVjb21lcyBpbnZhbGlkIGluIGFsbCByZWFjdGluZyBub2Rlcy5cblxuICAgVGhlIHJlcG9y
dGluZyBub2RlIE1BWSBjaGFuZ2UgdGhlIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG1c
biAgIGluZGljYXRlZCBpbiB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBhdCBhbnkg
dGltZSBhcyBsb25nIGFzIG5vXG4gICBwcmV2aW91c2x5IHNlbnQgT0xScyBtYXkgYmUgYWN0
aXZlLlxuXG4gICBUaGUgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGluZGljYXRlIHN1cHBvcnQg
Zm9yIG90aGVyIERPSUMgZmVhdHVyZXNcbiAgIGRlZmluZWQgaW4gZXh0ZW5zaW9uIGRyYWZ0
cyB0aGF0IGl0IHN1cHBvcnRzIGFuZCB0aGF0IGFwcGx5IHRvIHRoZVxuICAgdHJhbnNhY3Rp
b24uXG5cbiAgICAgIE5vdGU6IE5vdCBhbGwgRE9JQyBmZWF0dXJlcyB3aWxsIGFwcGx5IHRv
IGFsbCBEaWFtZXRlclxuICAgICAgYXBwbGljYXRpb25zIG9yIGRlcGxveW1lbnQgc2NlbmFy
aW9zLiAgVGhlIGZlYXR1cmVzIGluY2x1ZGVkIGluXG4gICAgICB0aGUgT0MtRmVhdHVyZS1W
ZWN0b3IgQVZQIGFyZSBiYXNlZCBvbiBsb2NhbCByZXBvcnRpbmcgbm9kZVxuICAgICAgcG9s
aWN5LlxuXG41LjEuMy4gIEFnZW50IEJlaGF2aW9yXG5cbiAgIERpYW1ldGVyIEFnZW50cyB0
aGF0IHN1cHBvcnQgRE9JQyBNQVkgZW5zdXJlIHRoYXQgYWxsIG1lc3NhZ2VzXG4gICByZWxh
eWVkIGJ5IHRoZSBhZ2VudCBjb250YWluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQ
LlxuXG4gICBBIERpYW1ldGVyIEFnZW50IFNIT1VMRCB0YWtlIG9uIHJlYWN0aW5nIG5vZGUg
YmVoYXZpb3IgZm9yIERpYW1ldGVyXG4gICBlbmRwb2ludHMgdGhhdCBkbyBub3Qgc3VwcG9y
dCB0aGUgRE9JQyBzb2x1dGlvbi4gIEEgRGlhbWV0ZXIgQWdlbnRcbiAgIGRldGVjdHMgdGhh
dCBhIERpYW1ldGVyIGVuZHBvaW50IGRvZXMgbm90IHN1cHBvcnQgRE9JQyByZWFjdGluZyBu
b2RlXG4gICBiZWhhdmlvciB3aGVuIHRoZXJlIGlzIG5vIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgaW4gYSByZXF1ZXN0XG4gICBtZXNzYWdlLlxuXG4gICBGb3IgYSBEaWFtZXRlciBB
Z2VudCB0byBiZSBhIHJlYWN0aW5nIG5vZGUgZm9yIGEgbm9uIHN1cHBvcnRpbmdcbiAgIERp
YW1ldGVyIGVuZHBvaW50LCB0aGUgRGlhbWV0ZXIgQWdlbnQgTVVTVCBpbmNsdWRlIHRoZSBP
Qy1TdXBwb3J0ZWQtXG4gICBGZWF0dXJlcyBBVlAgaW4gcmVxdWVzdCBtZXNzYWdlcyBpdCBy
ZWxheXMgdGhhdCBkbyBub3QgY29udGFpbiB0aGVcbiAgIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAuXG5cbiAgIEEgRGlhbWV0ZXIgQWdlbnQgTUFZIHRha2Ugb24gcmVwb3J0aW5nIG5v
ZGUgYmVoYXZpb3IgZm9yIERpYW1ldGVyXG4gICBlbmRwb2ludHMgdGhhdCBkbyBub3Qgc3Vw
cG9ydCB0aGUgRE9JQyBzb2x1dGlvbi4gIFRoZSBEaWFtZXRlciBBZ2VudFxuICAgTVVTVCBo
YXZlIHZpc2liaWxpdHkgdG8gYWxsIHRyYWZmaWMgZGVzdGluZWQgZm9yIHRoZSBub24gc3Vw
cG9ydGluZ1xuICAgaG9zdCBpbiBvcmRlciB0byBiZWNvbWUgdGhlIHJlcG9ydGluZyBub2Rl
IGZvciB0aGUgRGlhbWV0ZXIgZW5kcG9pbnQuXG4gICBBIERpYW1ldGVyIEFnZW50IGRldGVj
dHMgdGhhdCBhIERpYW1ldGVyIGVuZHBvaW50IGRvZXMgbm90IHN1cHBvcnRcbiAgIERPSUMg
cmVwb3J0aW5nIG5vZGUgYmVoYXZpb3Igd2hlbiB0aGVyZSBpcyBubyBPQy1TdXBwb3J0ZWQt
RmVhdHVyZXNcbiAgIEFWUCBpbiBhbiBhbnN3ZXIgbWVzc2FnZSBmb3IgYSB0cmFuc2FjdGlv
biB0aGF0IGNvbnRhaW5lZCB0aGUgT0MtXG4gICBTdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGlu
IHRoZSByZXF1ZXN0IG1lc3NhZ2UuXG5cbiAgIElmIGEgcmVxdWVzdCBhbHJlYWR5IGhhcyB0
aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCwgYSBEaWFtZXRlclxuICAgYWdlbnQgTUFZ
IG1vZGlmeSBpdCB0byByZWZsZWN0IHRoZSBmZWF0dXJlcyBhcHByb3ByaWF0ZSBmb3IgdGhl
XG4gICB0cmFuc2FjdGlvbi4gIE90aGVyd2lzZSwgdGhlIGFnZW50IHJlbGF5cyB0aGUgT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzXG4gICBBVlAgd2l0aG91dCBjaGFuZ2UuXG5cblxuXG5cblxu
S29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAg
ICAgICAgICAgW1BhZ2UgMTRdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG4gICAgICBG
b3IgaW5zdGFuY2UsIGlmIHRoZSBhZ2VudCBzdXBwb3J0cyBhIHN1cGVyc2V0IG9mIHRoZSBm
ZWF0dXJlc1xuICAgICAgcmVwb3J0ZWQgYnkgdGhlIHJlYWN0aW5nIG5vZGUgdGhlbiB0aGUg
YWdlbnQgbWlnaHQgY2hvb3NlLCBiYXNlZFxuICAgICAgb24gbG9jYWwgcG9saWN5LCB0byBh
ZHZlcnRpc2UgdGhhdCBzdXBlcnNldCBvZiBmZWF0dXJlcyB0byB0aGVcbiAgICAgIHJlcG9y
dGluZyBub2RlLlxuXG4gICBJZiB0aGUgRGlhbWV0ZXIgQWdlbnQgY2hhbmdlcyB0aGUgT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhXG4gICByZXF1ZXN0IG1lc3NhZ2UgdGhlbiBp
dCBpcyBsaWtlbHkgaXQgd2lsbCBhbHNvIG5lZWQgdG8gbW9kaWZ5IHRoZSBPQy1cbiAgIFN1
cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIGFuc3dlciBtZXNzYWdlIGZvciB0aGUgdHJh
bnNhY3Rpb24uICBBXG4gICBEaWFtZXRlciBBZ2VudCBNQVkgbW9kaWZ5IHRoZSBPQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQIGNhcnJpZWQgaW5cbiAgIGFuc3dlciBtZXNzYWdlcy5cblxu
ICAgV2hlbiBtYWtpbmcgY2hhbmdlcyB0byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFW
UCB0aGUgRGlhbWV0ZXJcbiAgIEFnZW50IG5lZWRzIHRvIGVuc3VyZSB0aGF0IGl0IGRvZXMg
bm90IGludHJvZHVjZSBpbmNvcnJlY3QgYmVoYXZpb3JcbiAgIGZvciBlaXRoZXIgdGhlIHVw
c3RyZWFtIG9yIGRvd25zdHJlYW0gRE9JQyBub2Rlcy4uXG5cbjUuMi4gIE92ZXJsb2FkIFJl
cG9ydCBQcm9jZXNzaW5nXG5cbjUuMi4xLiAgT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZVxuXG4g
ICBCb3RoIHJlYWN0aW5nIGFuZCByZXBvcnRpbmcgbm9kZXMgbWFpbnRhaW4gT3ZlcmxvYWQg
Q29udHJvbCBTdGF0ZVxuICAgKE9DUykgZm9yIGFjdGl2ZSBvdmVybG9hZCBjb25kaXRpb25z
LiAgVGhlIGZvbGxvd2luZyBzZWN0aW9ucyBkZWZpbmVcbiAgIGJlaGF2aW9yIGFzc29jaWF0
ZWQgd2l0aCB0aGF0IE9DUy5cblxuNS4yLjEuMS4gIE92ZXJsb2FkIENvbnRyb2wgU3RhdGUg
Zm9yIFJlYWN0aW5nIE5vZGVzXG5cbiAgIEEgcmVhY3Rpbmcgbm9kZSBTSE9VTEQgbWFpbnRh
aW4gdGhlIGZvbGxvd2luZyBPQ1MgcGVyIHN1cHBvcnRlZFxuICAgRGlhbWV0ZXIgYXBwbGlj
YXRpb246XG5cbiAgIG8gIEEgaG9zdC10eXBlIE9DUyBlbnRyeSBmb3IgZWFjaCBEZXN0aW5h
dGlvbi1Ib3N0IHRvIHdoaWNoIGl0IHNlbmRzXG4gICAgICBob3N0LXR5cGUgcmVxdWVzdHMg
YW5kXG5cbiAgIG8gIEEgcmVhbG0tdHlwZSBPQ1MgZW50cnkgZm9yIGVhY2ggRGVzdGluYXRp
b24tUmVhbG0gdG8gd2hpY2ggaXRcbiAgICAgIHNlbmRzIHJlYWxtLXR5cGUgcmVxdWVzdHMu
XG5cbiAgIEEgaG9zdC10eXBlIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWly
IG9mIGFwcGxpY2F0aW9uLWlkIGFuZFxuICAgdGhlIG5vZGVcJ3MgRGlhbWV0ZXJJZGVudGl0
eS5cblxuICAgQSByZWFsbS10eXBlIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBw
YWlyIG9mIGFwcGxpY2F0aW9uLWlkXG4gICBhbmQgcmVhbG0uXG5cbiAgIFRoZSBob3N0LXR5
cGUgYW5kIHJlYWxtLXR5cGUgT0NTIGVudHJpZXMgTUFZIGluY2x1ZGUgdGhlIGZvbGxvd2lu
Z1xuICAgaW5mb3JtYXRpb24gKHRoZSBhY3R1YWwgaW5mb3JtYXRpb24gc3RvcmVkIGlzIGFu
IGltcGxlbWVudGF0aW9uXG4gICBkZWNpc2lvbik6XG5cbiAgIG8gIFNlcXVlbmNlIG51bWJl
ciAoYXMgcmVjZWl2ZWQgaW4gT0MtT0xSKVxuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFs
LiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2Ug
MTVdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAg
ICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG4gICBvICBUaW1lIG9mIGV4cGlyeSAo
ZGVyaXZlZCBmcm9tIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCByZWNlaXZlZCBpblxuICAg
ICAgdGhlIE9DLU9MUiBBVlAgYW5kIHRpbWUgb2YgcmVjZXB0aW9uIG9mIHRoZSBtZXNzYWdl
IGNhcnJ5aW5nIE9DLVxuICAgICAgT0xSIEFWUClcblxuICAgbyAgU2VsZWN0ZWQgQWJhdGVt
ZW50IEFsZ29yaXRobSAoYXMgcmVjZWl2ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1cbiAgICAg
IEZlYXR1cmVzIEFWUClcblxuICAgbyAgQWJhdGVtZW50IEFsZ29yaXRobSBzcGVjaWZpYyBp
bnB1dCBkYXRhIChhcyByZWNlaXZlZCBpbiB0aGUgT0MtT0xSXG4gICAgICBBVlAsIGZvciBl
eGFtcGxlLCBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBmb3IgdGhlIExvc3MgYWJhdGVtZW50
XG4gICAgICBhbGdvcml0aG0pXG5cbjUuMi4xLjIuICBPdmVybG9hZCBDb250cm9sIFN0YXRl
IGZvciBSZXBvcnRpbmcgTm9kZXNcblxuICAgQSByZXBvcnRpbmcgbm9kZSBTSE9VTEQgbWFp
bnRhaW4gT0NTIGVudHJpZXMgcGVyIHN1cHBvcnRlZCBEaWFtZXRlclxuICAgYXBwbGljYXRp
b24sIHBlciBzdXBwb3J0ZWQgKGFuZCBldmVudHVhbGx5IHNlbGVjdGVkKSBBYmF0ZW1lbnRc
biAgIEFsZ29yaXRobSBhbmQgcGVyIHJlcG9ydC10eXBlLlxuXG4gICBBbiBPQ1MgZW50cnkg
aXMgaWRlbnRpZmllZCBieSB0aGUgdHVwbGUgb2YgQXBwbGljYXRpb24tSWQsIFJlcG9ydC1c
biAgIFR5cGUgYW5kIEFiYXRlbWVudCBBbGdvcml0aG0gYW5kIE1BWSBpbmNsdWRlIHRoZSBm
b2xsb3dpbmdcbiAgIGluZm9ybWF0aW9uICh0aGUgYWN0dWFsIGluZm9ybWF0aW9uIHN0b3Jl
ZCBpcyBhbiBpbXBsZW1lbnRhdGlvblxuICAgZGVjaXNpb24pOlxuXG4gICBvICBTZXF1ZW5j
ZSBudW1iZXJcblxuICAgbyAgVmFsaWRpdHkgRHVyYXRpb25cblxuICAgbyAgRXhwaXJhdGlv
biBUaW1lXG5cbiAgIG8gIEFsZ29yaXRobSBzcGVjaWZpYyBpbnB1dCBkYXRhIChmb3IgZXhh
bXBsZSwgdGhlIFJlZHVjdGlvblxuICAgICAgUGVyY2VudGFnZSBmb3IgdGhlIExvc3MgQWJh
dGVtZW50IEFsZ29yaXRobSlcblxuNS4yLjEuMy4gIFJlYWN0aW5nIE5vZGUgTWFpbnRlbmFu
Y2Ugb2YgT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZVxuXG4gICBXaGVuIGEgcmVhY3Rpbmcgbm9k
ZSByZWNlaXZlcyBhbiBPQy1PTFIgQVZQLCBpdCBNVVNUIGRldGVybWluZSBpZiBpdFxuICAg
aXMgZm9yIGFuIGV4aXN0aW5nIG9yIG5ldyBvdmVybG9hZCBjb25kaXRpb24uXG5cbiAgICAg
IE5vdGU6IEZvciB0aGUgcmVtYWluZGVyIG9mIHRoaXMgc2VjdGlvbiB0aGUgdGVybSBPTFIg
cmVmZXJzIHRvIHRoZVxuICAgICAgY29tYmluYXRpb24gb2YgdGhlIGNvbnRlbnRzIG9mIHRo
ZSByZWNlaXZlZCBPQy1PTFIgQVZQIGFuZCB0aGVcbiAgICAgIGFiYXRlbWVudCBhbGdvcml0
aG0gaW5kaWNhdGVkIGluIHRoZSByZWNlaXZlZCBPQy1TdXBwb3J0ZWQtXG4gICAgICBGZWF0
dXJlcyBBVlAuXG5cbiAgIFdoZW4gcmVjZWl2aW5nIGFuIGFuc3dlciBtZXNzYWdlIHdpdGgg
bXVsdGlwbGUgT0xScyBvZiBkaWZmZXJlbnRcbiAgIHN1cHBvcnRlZCByZXBvcnQgdHlwZXMs
IGEgcmVhY3Rpbmcgbm9kZSBNVVNUIHByb2Nlc3MgZWFjaCByZWNlaXZlZFxuICAgT0xSLlxu
XG4gICBXaGVuIHJlY2VpdmluZyBhbiBhbnN3ZXIgbWVzc2FnZSB3aXRoIG11bHRpcGxlIE9M
UnMgYW5kIG11bHRpcGxlIG9mXG4gICB0aGUgT0xScyBhcmUgb2YgdGhlIHNhbWUgc3VwcG9y
dGVkIHJlcG9ydCB0eXBlcywgYSByZWFjdGluZyBub2RlXG4gICBTSE9VTEQgaWdub3JlIHRo
ZSBkdXBsaWNhdGVkIE9MUnMuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4
cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxNl1cbl9cbkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAg
RGVjZW1iZXIgMjAxNFxuXG5cbiAgIEEgcmVhY3Rpbmcgbm9kZSBTSE9VTEQgaWdub3JlIGFu
IE9DLU9MUiB3aXRoIGEgT0MtUmVwb3J0LVR5cGUgQVZQXG4gICB0aGF0IGNvbnRhaW5zIGFu
IHVucmVjb2duaXplZCB2YWx1ZS5cblxuICAgVGhlIE9MUiBpcyBmb3IgYW4gZXhpc3Rpbmcg
b3ZlcmxvYWQgY29uZGl0aW9uIGlmIGEgcmVhY3Rpbmcgbm9kZSBoYXNcbiAgIGFuIE9DUyB0
aGF0IG1hdGNoZXMgdGhlIHJlY2VpdmVkIE9MUi5cblxuICAgRm9yIGEgaG9zdC1yZXBvcnQg
dGhpcyBtZWFucyBpdCBtYXRjaGVzIHRoZSBhcHBsaWNhdGlvbi1pZCBhbmQgdGhlXG4gICBo
b3N0XCdzIERpYW1ldGVySWRlbnRpdHkgaW4gYW4gZXhpc3RpbmcgaG9zdCBPQ1MgZW50cnku
XG5cbiAgIEZvciBhIHJlYWxtLXJlcG9ydCB0aGlzIG1lYW5zIGl0IG1hdGNoZXMgdGhlIGFw
cGxpY2F0aW9uLWlkIGFuZCB0aGVcbiAgIHJlYWxtIGluIGFuIGV4aXN0aW5nIHJlYWxtIE9D
UyBlbnRyeS5cblxuICAgSWYgdGhlIE9MUiBpcyBmb3IgYW4gZXhpc3Rpbmcgb3ZlcmxvYWQg
Y29uZGl0aW9uIHRoZW4gYSByZWFjdGluZyBub2RlXG4gICBNVVNUIGRldGVybWluZSBpZiB0
aGUgT0xSIGlzIGEgcmV0cmFuc21pc3Npb24gb3IgYW4gdXBkYXRlIHRvIHRoZVxuICAgZXhp
c3RpbmcgT0xSLlxuXG4gICBJZiB0aGUgc2VxdWVuY2UgbnVtYmVyIGZvciB0aGUgcmVjZWl2
ZWQgT0xSIGlzIGdyZWF0ZXIgdGhhbiB0aGVcbiAgIHNlcXVlbmNlIG51bWJlciBzdG9yZWQg
aW4gdGhlIG1hdGNoaW5nIE9DUyBlbnRyeSB0aGVuIGEgcmVhY3Rpbmcgbm9kZVxuICAgTVVT
VCB1cGRhdGUgdGhlIG1hdGNoaW5nIE9DUyBlbnRyeS5cblxuICAgSWYgdGhlIHNlcXVlbmNl
IG51bWJlciBmb3IgdGhlIHJlY2VpdmVkIE9MUiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG9c
biAgIHRoZSBzZXF1ZW5jZSBudW1iZXIgaW4gdGhlIG1hdGNoaW5nIE9DUyBlbnRyeSB0aGVu
IGEgcmVhY3Rpbmcgbm9kZVxuICAgTVVTVCBzaWxlbnRseSBpZ25vcmUgdGhlIHJlY2VpdmVk
IE9MUi4gIFRoZSBtYXRjaGluZyBPQ1MgTVVTVCBOT1QgYmVcbiAgIHVwZGF0ZWQgaW4gdGhp
cyBjYXNlLlxuXG4gICBJZiB0aGUgcmVjZWl2ZWQgT0xSIGlzIGZvciBhIG5ldyBvdmVybG9h
ZCBjb25kaXRpb24gdGhlbiBhIHJlYWN0aW5nXG4gICBub2RlIE1VU1QgZ2VuZXJhdGUgYSBu
ZXcgT0NTIGVudHJ5IGZvciB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICBGb3IgYSBo
b3N0LXJlcG9ydCB0aGlzIG1lYW5zIGEgcmVhY3Rpbmcgbm9kZSBjcmVhdGVzIG9uIE9DUyBl
bnRyeVxuICAgd2l0aCB0aGUgYXBwbGljYXRpb24taWQgaW4gdGhlIHJlY2VpdmVkIG1lc3Nh
Z2UgYW5kIERpYW1ldGVySWRlbnRpdHlcbiAgIG9mIHRoZSBPcmlnaW4tSG9zdCBpbiB0aGUg
cmVjZWl2ZWQgbWVzc2FnZS5cblxuICAgICAgTm90ZTogVGhpcyBzb2x1dGlvbiBhc3N1bWVz
IHRoYXQgdGhlIE9yaWdpbi1Ib3N0IEFWUCBpbiB0aGUgYW5zd2VyXG4gICAgICBtZXNzYWdl
IGluY2x1ZGVkIGJ5IHRoZSByZXBvcnRpbmcgbm9kZSBpcyBub3QgY2hhbmdlZCBhbG9uZyB0
aGVcbiAgICAgIHBhdGggdG8gdGhlIHJlYWN0aW5nIG5vZGUuXG5cbiAgIEZvciBhIHJlYWxt
LXJlcG9ydCB0aGlzIG1lYW5zIGEgcmVhY3Rpbmcgbm9kZSBjcmVhdGVzIG9uIE9DUyBlbnRy
eVxuICAgd2l0aCB0aGUgYXBwbGljYXRpb24taWQgaW4gdGhlIHJlY2VpdmVkIG1lc3NhZ2Ug
YW5kIHJlYWxtIG9mIHRoZVxuICAgT3JpZ2luLVJlYWxtIGluIHRoZSByZWNlaXZlZCBtZXNz
YWdlLlxuXG4gICBJZiB0aGUgcmVjZWl2ZWQgT0xSIGNvbnRhaW5zIGEgdmFsaWRpdHkgZHVy
YXRpb24gb2YgemVybyAoIjAiKSB0aGVuIGFcbiAgIHJlYWN0aW5nIG5vZGUgTVVTVCB1cGRh
dGUgdGhlIE9DUyBlbnRyeSBhcyBiZWluZyBleHBpcmVkLlxuXG4gICAgICBOb3RlOiBJdCBp
cyBub3QgbmVjZXNzYXJpbHkgYXBwcm9wcmlhdGUgdG8gZGVsZXRlIHRoZSBPQ1MgZW50cnks
XG4gICAgICBhcyB0aGVyZSBpcyByZWNvbW1lbmRlZCBiZWhhdmlvciB0aGF0IHRoZSByZWFj
dGluZyBub2RlIHNsb3dseVxuICAgICAgcmV0dXJucyB0byBmdWxsIHRyYWZmaWMgd2hlbiBl
bmRpbmcgYW4gb3ZlcmxvYWQgYWJhdGVtZW50IHBlcmlvZC5cblxuXG5cblxuXG5Lb3Job25l
biwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAg
ICBbUGFnZSAxN11cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lD
ICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIFRoZSByZWFjdGlu
ZyBub2RlIGRvZXMgbm90IGRlbGV0ZSBhbiBPQ1Mgd2hlbiByZWNlaXZpbmcgYW4gYW5zd2Vy
XG4gICBtZXNzYWdlIHRoYXQgZG9lcyBub3QgY29udGFpbiBhbiBPQy1PTFIgQVZQIChpLmUu
IGFic2VuY2Ugb2YgT0xSXG4gICBtZWFucyAibm8gY2hhbmdlIikuXG5cbjUuMi4xLjQuICBS
ZXBvcnRpbmcgTm9kZSBNYWludGVuYW5jZSBvZiBPdmVybG9hZCBDb250cm9sIFN0YXRlXG5c
biAgIEEgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGNyZWF0ZSBhIG5ldyBPQ1MgZW50cnkgd2hl
biBlbnRlcmluZyBhblxuICAgb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICAgICBOb3RlOiBJ
ZiBhIHJlcG9ydGluZyBub2RlIGtub3dzIHRocm91Z2ggYWJzZW5jZSBvZiB0aGUgT0MtXG4g
ICAgICBTdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIHJlY2VpdmVkIG1lc3NhZ2VzIHRoYXQg
dGhlcmUgYXJlIG5vXG4gICAgICByZWFjdGluZyBub2RlcyBzdXBwb3J0aW5nIERPSUMgdGhl
biB0aGUgcmVwb3J0aW5nIG5vZGUgY2FuIGNob29zZVxuICAgICAgdG8gbm90IGNyZWF0ZSBP
Q1MgZW50cmllcy5cblxuICAgV2hlbiBnZW5lcmF0aW5nIGEgbmV3IE9DUyBlbnRyeSB0aGUg
c2VxdWVuY2UgbnVtYmVyIFNIT1VMRCBiZSBzZXQgdG9cbiAgIHplcm8gKCIwIikuXG5cbiAg
IFdoZW4gZ2VuZXJhdGluZyBzZXF1ZW5jZSBudW1iZXJzIGZvciBuZXcgb3ZlcmxvYWQgY29u
ZGl0aW9ucywgdGhlIG5ld1xuICAgc2VxdWVuY2UgbnVtYmVyIE1VU1QgYmUgZ3JlYXRlciB0
aGFuIGFueSBzZXF1ZW5jZSBudW1iZXIgaW4gYW4gYWN0aXZlXG4gICAodW5leHBpcmVkKSBv
dmVybG9hZCByZXBvcnQgZm9yIHRoZSBzYW1lIGFwcGxpY2F0aW9uIGFuZCByZXBvcnQtdHlw
ZVxuICAgcHJldmlvdXNseSBzZW50IGJ5IHRoZSByZXBvcnRpbmcgbm9kZS4gIFRoaXMgcHJv
cGVydHkgTVVTVCBob2xkIG92ZXJcbiAgIGEgcmVib290IG9mIHRoZSByZXBvcnRpbmcgbm9k
ZS5cblxuICAgICAgTm90ZTogT25lIHdheSBvZiBhZGRyZXNzaW5nIHRoaXMgb3ZlciBhIHJl
Ym9vdCBvZiBhIHJlcG9ydGluZyBub2RlXG4gICAgICBpcyB0byB1c2UgYSB0aW1lIHN0YW1w
IGZvciB0aGUgZmlyc3Qgb3ZlcmxvYWQgY29uZGl0aW9uIHRoYXRcbiAgICAgIG9jY3VycyBh
ZnRlciB0aGUgcmVwb3J0IGFuZCB0byBzdGFydCB1c2luZyBzZXF1ZW5jZSBudW1iZXJzIG9m
XG4gICAgICB6ZXJvIGZvciBzdWJzZXF1ZW50IG92ZXJsb2FkIGNvbmRpdGlvbnMuXG5cbiAg
IEEgcmVwb3J0aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdoZW4gaXQgbmVl
ZHMgdG8gYWRqdXN0IHRoZVxuICAgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIG92ZXJsb2Fk
IGNvbmRpdGlvbiBhdCByZWFjdGluZyBub2Rlcy5cblxuICAgICAgRm9yIGluc3RhbmNlLCBp
ZiBhIHJlcG9ydGluZyBub2RlIHdpc2hlcyB0byBpbnN0cnVjdCByZWFjdGluZ1xuICAgICAg
bm9kZXMgdG8gY29udGludWUgb3ZlcmxvYWQgYWJhdGVtZW50IGZvciBhIGxvbmdlciBwZXJp
b2Qgb2YgdGltZVxuICAgICAgdGhhbiBvcmlnaW5hbGx5IGNvbW11bmljYXRlZC4gIFRoaXMg
YWxzbyBhcHBsaWVzIGlmIHRoZSByZXBvcnRpbmdcbiAgICAgIG5vZGUgd2lzaGVzIHRvIHNo
b3J0ZW4gdGhlIHBlcmlvZCBvZiB0aW1lIHRoYXQgb3ZlcmxvYWQgYWJhdGVtZW50XG4gICAg
ICBpcyB0byBjb250aW51ZS5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIE5PVCB1cGRh
dGUgdGhlIGFiYXRlbWVudCBhbGdvcml0aG0gaW4gYW4gYWN0aXZlXG4gICBPQ1MgZW50cnku
XG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdoZW4g
aXQgd2lzaGVzIHRvIGFkanVzdFxuICAgYW55IGFiYXRlbWVudCBhbGdvcml0aG0gc3BlY2lm
aWMgcGFyYW1ldGVycywgaW5jbHVkaW5nLCBmb3IgZXhhbXBsZSxcbiAgIHRoZSByZWR1Y3Rp
b24gcGVyY2VudGFnZSB1c2VkIGZvciB0aGUgTG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtLlxu
XG4gICAgICBGb3IgaW5zdGFuY2UsIGlmIGEgcmVwb3J0aW5nIG5vZGUgd2lzaGVzIHRvIGNo
YW5nZSB0aGUgcmVkdWN0aW9uXG4gICAgICBwZXJjZW50YWdlIGVpdGhlciBoaWdoZXIsIGlm
IHRoZSBvdmVybG9hZCBjb25kaXRpb24gaGFzIHdvcnNlbmVkLFxuICAgICAgb3IgbG93ZXIs
IGlmIHRoZSBvdmVybG9hZCBjb25kaXRpb24gaGFzIGltcHJvdmVkLCB0aGVuIHRoZVxuICAg
ICAgcmVwb3J0aW5nIG5vZGUgd291bGQgdXBkYXRlIHRoZSBhcHByb3ByaWF0ZSBPQ1MgZW50
cnkuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwg
MjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxOF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxu
XG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBpbmNyZW1lbnQgdGhlIHNlcXVlbmNlIG51
bWJlciBhc3NvY2lhdGVkIHdpdGhcbiAgIHRoZSBPQ1MgZW50cnkgYW55dGltZSB0aGUgY29u
dGVudHMgb2YgdGhlIE9DUyBlbnRyeSBhcmUgY2hhbmdlZC5cbiAgIFRoaXMgd2lsbCByZXN1
bHQgaW4gYSBuZXcgc2VxdWVuY2UgbnVtYmVyIGJlaW5nIHNlbnQgdG8gcmVhY3RpbmdcbiAg
IG5vZGVzLCBpbnN0cnVjdGluZyByZWFjdGluZyBub2RlcyB0byBwcm9jZXNzIHRoZSBPQy1P
TFIgQVZQLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIFNIT1VMRCB1cGRhdGUgYW4gT0NTIGVu
dHJ5IHdpdGggYSB2YWxpZGl0eSBkdXJhdGlvblxuICAgb2YgemVybyAoIjAiKSB3aGVuIHRo
ZSBvdmVybG9hZCBjb25kaXRpb24gZW5kcy5cblxuICAgICAgTm90ZTogSWYgYSByZXBvcnRp
bmcgbm9kZSBrbm93cyB0aGF0IHRoZSBPQ1MgZW50cmllcyBpbiB0aGVcbiAgICAgIHJlYWN0
aW5nIG5vZGVzIGFyZSBuZWFyIGV4cGlyYXRpb24gdGhlbiB0aGUgcmVwb3J0aW5nIG5vZGUg
bWlnaHRcbiAgICAgIGRlY2lkZSBub3QgdG8gc2VuZCBhbiBPTFIgd2l0aCBhIHZhbGlkaXR5
IGR1cmF0aW9uIG9mIHplcm8uXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBrZWVwIGFu
IE9DUyBlbnRyeSB3aXRoIGEgdmFsaWRpdHkgZHVyYXRpb24gb2ZcbiAgIHplcm8gKCIwIikg
Zm9yIGEgcGVyaW9kIG9mIHRpbWUgbG9uZyBlbm91Z2ggdG8gZW5zdXJlIHRoYXQgYW55IG5v
bi1cbiAgIGV4cGlyZWQgcmVhY3Rpbmcgbm9kZVwncyBPQ1MgZW50cnkgY3JlYXRlZCBhcyBh
IHJlc3VsdCBvZiB0aGUgb3ZlcmxvYWRcbiAgIGNvbmRpdGlvbiBpbiB0aGUgcmVwb3J0aW5n
IG5vZGUgaXMgZGVsZXRlZC5cblxuNS4yLjIuICBSZWFjdGluZyBOb2RlIEJlaGF2aW9yXG5c
biAgIFdoZW4gYSByZWFjdGluZyBub2RlIHNlbmRzIGEgcmVxdWVzdCBpdCBNVVNUIGRldGVy
bWluZSBpZiB0aGF0XG4gICByZXF1ZXN0IG1hdGNoZXMgYW4gYWN0aXZlIE9DUy5cblxuICAg
SWYgdGhlIHJlcXVlc3QgbWF0Y2hlcyBhbiBhY3RpdmUgT0NTIHRoZW4gdGhlIHJlYWN0aW5n
IG5vZGUgTVVTVCB1c2VcbiAgIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIGlu
ZGljYXRlZCBpbiB0aGUgT0NTIHRvIGRldGVybWluZSBpZlxuICAgdGhlIHJlcXVlc3QgaXMg
dG8gcmVjZWl2ZSBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50LlxuXG4gICBGb3IgdGhl
IExvc3MgYWJhdGVtZW50IGFsZ29yaXRobSBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlv
biwgc2VlXG4gICBTZWN0aW9uIDYgZm9yIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3Jp
dGhtIGxvZ2ljIGFwcGxpZWQuXG5cbiAgIElmIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxn
b3JpdGhtIHNlbGVjdHMgdGhlIHJlcXVlc3QgZm9yIG92ZXJsb2FkXG4gICBhYmF0ZW1lbnQg
dHJlYXRtZW50IHRoZW4gdGhlIHJlYWN0aW5nIG5vZGUgTVVTVCBhcHBseSBvdmVybG9hZFxu
ICAgYWJhdGVtZW50IHRyZWF0bWVudCBvbiB0aGUgcmVxdWVzdC4gIFRoZSBhYmF0ZW1lbnQg
dHJlYXRtZW50IGFwcGxpZWRcbiAgIGRlcGVuZHMgb24gdGhlIGNvbnRleHQgb2YgdGhlIHJl
cXVlc3QuXG5cbiAgIElmIGRpdmVyc2lvbiBhYmF0ZW1lbnQgdHJlYXRtZW50IGlzIHBvc3Np
YmxlIChpLmUuIGEgZGlmZmVyZW50IHBhdGhcbiAgIGZvciB0aGUgcmVxdWVzdCBjYW4gYmUg
c2VsZWN0ZWQgd2hlcmUgdGhlIG92ZXJsb2FkZWQgbm9kZSBpcyBub3QgcGFydFxuICAgb2Yg
dGhlIGRpZmZlcmVudCBwYXRoKSwgdGhlbiB0aGUgcmVhY3Rpbmcgbm9kZSBTSE9VTEQgYXBw
bHkgZGl2ZXJzaW9uXG4gICBhYmF0ZW1lbnQgdHJlYXRtZW50IHRvIHRoZSByZXF1ZXN0LiAg
T3RoZXJ3aXNlIHRoZSByZWFjdGluZyBub2RlXG4gICBTSE9VTEQgYXBwbHkgdGhyb3R0bGlu
ZyBhYmF0ZW1lbnQgdHJlYXRtZW50IHRvIHRoZSByZXF1ZXN0LlxuXG4gICBJZiB0aGUgb3Zl
cmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCByZXN1bHRzIGluIHRocm90dGxpbmcgb2YgdGhl
XG4gICByZXF1ZXN0IGFuZCBpZiB0aGUgcmVhY3Rpbmcgbm9kZSBpcyBhbiBhZ2VudCB0aGVu
IHRoZSBhZ2VudCBNVVNUIHNlbmRcbiAgIGFuIGFwcHJvcHJpYXRlIGVycm9yIGFzIGRlZmlu
ZWQgaW4gU2VjdGlvbiA4LlxuXG4gICBEaWFtZXRlciBlbmRwb2ludHMgdGhhdCB0aHJvdHRs
ZSByZXF1ZXN0cyBuZWVkIHRvIGRvIHNvIGFjY29yZGluZyB0b1xuICAgdGhlIHJ1bGVzIG9m
IHRoZSBjbGllbnQgYXBwbGljYXRpb24uICBUaG9zZSBydWxlcyB3aWxsIHZhcnkgYnlcbiAg
IGFwcGxpY2F0aW9uLCBhbmQgYXJlIGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVu
dC5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUs
IDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTldXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRc
blxuXG4gICBJbiB0aGUgY2FzZSB0aGF0IHRoZSBPQ1MgZW50cnkgaW5kaWNhdGVkIG5vIHRy
YWZmaWMgd2FzIHRvIGJlIHNlbnQgdG9cbiAgIHRoZSBvdmVybG9hZGVkIGVudGl0eSBhbmQg
dGhlIHZhbGlkaXR5IGR1cmF0aW9uIGV4cGlyZXMgdGhlbiBvdmVybG9hZFxuICAgYWJhdGVt
ZW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgb3ZlcmxvYWQgcmVwb3J0IE1VU1QgYmUgZW5kZWQg
aW4gYVxuICAgY29udHJvbGxlZCBmYXNoaW9uLlxuXG41LjIuMy4gIFJlcG9ydGluZyBOb2Rl
IEJlaGF2aW9yXG5cbiAgIElmIHRoZXJlIGlzIGFuIGFjdGl2ZSBPQ1MgZW50cnkgdGhlbiBh
IHJlcG9ydGluZyBub2RlIFNIT1VMRCBpbmNsdWRlXG4gICB0aGUgT0MtT0xSIEFWUCBpbiBh
bGwgYW5zd2VycyB0byByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gdGhlIE9DLVxuICAgU3VwcG9y
dGVkLUZlYXR1cmVzIEFWUCBhbmQgdGhhdCBtYXRjaCB0aGUgYWN0aXZlIE9DUyBlbnRyeS5c
blxuICAgICAgTm90ZTogQSByZXF1ZXN0IG1hdGNoZXMgaWYgdGhlIGFwcGxpY2F0aW9uLWlk
IGluIHRoZSByZXF1ZXN0XG4gICAgICBtYXRjaGVzIHRoZSBhcHBsaWNhdGlvbi1pZCBpbiBh
bnkgYWN0aXZlIE9DUyBlbnRyeSBhbmQgaWYgdGhlXG4gICAgICByZXBvcnQtdHlwZSBpbiB0
aGUgT0NTIGVudHJ5IG1hdGNoZXMgYSByZXBvcnQtdHlwZSBzdXBwb3J0ZWQgYnlcbiAgICAg
IHRoZSByZXBvcnRpbmcgbm9kZSBhcyBpbmRpY2F0ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcyBBVlAuXG5cbiAgIFRoZSBjb250ZW50cyBvZiB0aGUgT0MtT0xSIEFWUCBkZXBl
bmQgb24gdGhlIHNlbGVjdGVkIGFsZ29yaXRobS5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBN
QVkgY2hvb3NlIHRvIG5vdCByZXNlbmQgYW4gb3ZlcmxvYWQgcmVwb3J0IHRvIGFcbiAgIHJl
YWN0aW5nIG5vZGUgaWYgaXQgY2FuIGd1YXJhbnRlZSB0aGF0IHRoaXMgb3ZlcmxvYWQgcmVw
b3J0IGlzXG4gICBhbHJlYWR5IGFjdGl2ZSBpbiB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAg
ICAgTm90ZTogSW4gc29tZSBjYXNlcyAoZS5nLiB3aGVuIHRoZXJlIGFyZSBvbmUgb3IgbW9y
ZSBhZ2VudHMgaW4gdGhlXG4gICAgICBwYXRoIGJldHdlZW4gcmVwb3J0aW5nIGFuZCByZWFj
dGluZyBub2Rlcywgb3Igd2hlbiBvdmVybG9hZFxuICAgICAgcmVwb3J0cyBhcmUgZGlzY2Fy
ZGVkIGJ5IHJlYWN0aW5nIG5vZGVzKSBhIHJlcG9ydGluZyBub2RlIG1heSBub3RcbiAgICAg
IGJlIGFibGUgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIHJlYWN0aW5nIG5vZGUgaGFzIHJlY2Vp
dmVkIHRoZVxuICAgICAgcmVwb3J0LlxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1VU1QgTk9U
IHNlbmQgb3ZlcmxvYWQgcmVwb3J0cyBvZiBhIHR5cGUgdGhhdCBoYXNcbiAgIG5vdCBiZWVu
IGFkdmVydGlzZWQgYXMgc3VwcG9ydGVkIGJ5IHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAg
ICBOb3RlOiBBIHJlYWN0aW5nIG5vZGUgaW1wbGljaXRseSBhZHZlcnRpc2VzIHN1cHBvcnQg
Zm9yIHRoZSBob3N0XG4gICAgICBhbmQgcmVhbG0gcmVwb3J0IHR5cGVzIGJ5IGluY2x1ZGlu
ZyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUFxuICAgICAgaW4gdGhlIHJlcXVlc3Qu
ICBTdXBwb3J0IGZvciBvdGhlciByZXBvcnQgdHlwZXMgd2lsbCBiZSBleHBsaWNpdGx5XG4g
ICAgICBpbmRpY2F0ZWQgYnkgbmV3IGZlYXR1cmUgYml0cyBpbiB0aGUgT0MtRmVhdHVyZS1W
ZWN0b3IgQVZQLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIFNIT1VMRCBleHBsaWNpdGx5IGlu
ZGljYXRlIHRoZSBlbmQgb2YgYW4gb3ZlcmxvYWRcbiAgIG9jY3VycmVuY2UgYnkgc2VuZGlu
ZyBhIG5ldyBPTFIgd2l0aCBPQy1WYWxpZGl0eS1EdXJhdGlvbiBzZXQgdG8gYVxuICAgdmFs
dWUgb2YgemVybyAoIjAiKS4gIFRoZSByZXBvcnRpbmcgbm9kZSBTSE9VTEQgZW5zdXJlIHRo
YXQgYWxsXG4gICByZWFjdGluZyBub2RlcyByZWNlaXZlIHRoZSB1cGRhdGVkIG92ZXJsb2Fk
IHJlcG9ydC5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNQVkgcmVseSBvbiB0aGUgT0MtVmFs
aWRpdHktRHVyYXRpb24gQVZQIHZhbHVlcyBmb3JcbiAgIHRoZSBpbXBsaWNpdCBvdmVybG9h
ZCBjb250cm9sIHN0YXRlIGNsZWFudXAgb24gdGhlIHJlYWN0aW5nIG5vZGUuXG5cbiAgICAg
IE5vdGU6IEFsbCBPTFJzIHNlbnQgaGF2ZSBhbiBleHBpcmF0aW9uIHRpbWUgY2FsY3VsYXRl
ZCBieSBhZGRpbmdcbiAgICAgIHRoZSB2YWxpZGl0eS1kdXJhdGlvbiBjb250YWluZWQgaW4g
dGhlIE9MUiB0byB0aGUgdGltZSB0aGUgbWVzc2FnZVxuICAgICAgd2FzIHNlbnQuICBUcmFu
c2l0IHRpbWUgZm9yIHRoZSBPTFIgY2FuIGJlIHNhZmVseSBpZ25vcmVkLiAgVGhlXG4gICAg
ICByZXBvcnRpbmcgbm9kZSBjYW4gZW5zdXJlIHRoYXQgYWxsIHJlYWN0aW5nIG5vZGVzIGhh
dmUgcmVjZWl2ZWRcblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBK
dW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDIwXVxuX1xuSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJl
ciAyMDE0XG5cblxuICAgICAgdGhlIE9MUiBieSBjb250aW51aW5nIHRvIHNlbmQgaXQgaW4g
YW5zd2VyIG1lc3NhZ2VzIHVudGlsIHRoZVxuICAgICAgZXhwaXJhdGlvbiB0aW1lIGZvciBh
bGwgT0xScyBzZW50IGZvciB0aGF0IG92ZXJsb2FkIGNvbmRpdGlvbiBoYXZlXG4gICAgICBl
eHBpcmVkLlxuXG4gICBXaGVuIGEgcmVwb3J0aW5nIG5vZGUgc2VuZHMgYW4gT0xSLCBpdCBl
ZmZlY3RpdmVseSBkZWxlZ2F0ZXMgYW55XG4gICBuZWNlc3NhcnkgdGhyb3R0bGluZyB0byBk
b3duc3RyZWFtIG5vZGVzLiAgSWYgdGhlIHJlcG9ydGluZyBub2RlIGFsc29cbiAgIGxvY2Fs
bHkgdGhyb3R0bGVzIHRoZSBzYW1lIHNldCBvZiBtZXNzYWdlcywgdGhlIG92ZXJhbGwgbnVt
YmVyIG9mXG4gICB0aHJvdHRsZWQgcmVxdWVzdHMgbWF5IGJlIGhpZ2hlciB0aGFuIGludGVu
ZGVkLiAgVGhlcmVmb3JlLCBiZWZvcmVcbiAgIGFwcGx5aW5nIGxvY2FsIG1lc3NhZ2UgdGhy
b3R0bGluZywgYSByZXBvcnRpbmcgbm9kZSBuZWVkcyB0byBjaGVjayBpZlxuICAgdGhlc2Ug
bWVzc2FnZXMgbWF0Y2ggZXhpc3RpbmcgT0NTIGVudHJpZXMsIGluZGljYXRpbmcgdGhhdCB0
aGVzZVxuICAgbWVzc2FnZXMgaGF2ZSBzdXJ2aXZlZCB0aHJvdHRsaW5nIGFwcGxpZWQgYnkg
ZG93bnN0cmVhbSBub2RlcyB0aGF0XG4gICBoYXZlIHJlY2VpdmVkIHRoZSByZWxhdGVkIE9M
Ui5cblxuICAgSG93ZXZlciwgZXZlbiBpZiB0aGUgc2V0IG9mIG1lc3NhZ2VzIG1hdGNoIGV4
aXN0aW5nIE9DUyBlbnRyaWVzLCB0aGVcbiAgIHJlcG9ydGluZyBub2RlIGNhbiBzdGlsbCBh
cHBseSBvdGhlciBhYmF0ZW1lbnQgbWV0aG9kcyBzdWNoIGFzXG4gICBkaXZlcnNpb24uICBU
aGUgcmVwb3J0aW5nIG5vZGUgbWlnaHQgYWxzbyBuZWVkIHRvIHRocm90dGxlIHJlcXVlc3Rz
XG4gICBmb3IgcmVhc29ucyBvdGhlciB0aGFuIG92ZXJsb2FkLiAgRm9yIGV4YW1wbGUsIGFu
IGFnZW50IG9yIHNlcnZlclxuICAgbWlnaHQgaGF2ZSBhIGNvbmZpZ3VyZWQgcmF0ZSBsaW1p
dCBmb3IgZWFjaCBjbGllbnQsIGFuZCB0aHJvdHRsZVxuICAgcmVxdWVzdHMgdGhhdCBleGNl
ZWQgdGhhdCBsaW1pdCwgZXZlbiBpZiBzdWNoIHJlcXVlc3RzIGhhZCBhbHJlYWR5XG4gICBi
ZWVuIGNhbmRpZGF0ZXMgZm9yIHRocm90dGxpbmcgYnkgZG93bnN0cmVhbSBub2Rlcy4gIFRo
ZSByZXBvcnRpbmdcbiAgIG5vZGUgYWxzbyBoYXMgdGhlIG9wdGlvbiB0byBzZW5kIG5ldyBP
TFJzIHJlcXVlc3RpbmcgZ3JlYXRlclxuICAgcmVkdWN0aW9ucyBpbiB0cmFmZmljLCByZWR1
Y2luZyB0aGUgbmVlZCBmb3IgbG9jYWwgdGhyb3R0bGluZy5cblxuICAgQSByZXBvcnRpbmcg
bm9kZSBTSE9VTEQgZGVjcmVhc2UgcmVxdWVzdGVkIG92ZXJsb2FkIGFiYXRlbWVudFxuICAg
dHJlYXRtZW50IGluIGEgY29udHJvbGxlZCBmYXNoaW9uIHRvIGF2b2lkIG9zY2lsbGF0aW9u
cyBpbiB0cmFmZmljLlxuXG4gICAgICBGb3IgZXhhbXBsZSwgaXQgbWlnaHQgd2FpdCBzb21l
IHBlcmlvZCBvZiB0aW1lIGFmdGVyIG92ZXJsb2FkIGVuZHNcbiAgICAgIGJlZm9yZSB0ZXJt
aW5hdGluZyB0aGUgT0xSLCBvciBpdCBtaWdodCBzZW5kIGEgc2VyaWVzIG9mIE9MUnNcbiAg
ICAgIGluZGljYXRpbmcgcHJvZ3Jlc3NpdmVseSBsZXNzIG92ZXJsb2FkIHNldmVyaXR5Llxu
XG41LjMuICBQcm90b2NvbCBFeHRlbnNpYmlsaXR5XG5cbiAgIFRoZSBET0lDIHNvbHV0aW9u
IGNhbiBiZSBleHRlbmRlZC4gIFR5cGVzIG9mIHBvdGVudGlhbCBleHRlbnNpb25zXG4gICBp
bmNsdWRlIG5ldyB0cmFmZmljIGFiYXRlbWVudCBhbGdvcml0aG1zLCBuZXcgcmVwb3J0IHR5
cGVzIG9yIG90aGVyXG4gICBuZXcgZnVuY3Rpb25hbGl0eS5cblxuICAgV2hlbiBkZWZpbmlu
ZyBhIG5ldyBleHRlbnNpb24gdGhhdCByZXF1aXJlcyBuZXcgbm9ybWF0aXZlIGJlaGF2aW9y
LFxuICAgdGhlIHNwZWNpZmljYXRpb24gTVVTVCBkZWZpbmUgYSBuZXcgZmVhdHVyZSBmb3Ig
dGhlIE9DLUZlYXR1cmUtXG4gICBWZWN0b3IuICBUaGlzIGZlYXR1cmUgYml0IGlzIHVzZWQg
dG8gY29tbXVuaWNhdGUgc3VwcG9ydCBmb3IgdGhlIG5ld1xuICAgZmVhdHVyZS5cblxuICAg
VGhlIGV4dGVuc2lvbiBNQVkgZGVmaW5lIG5ldyBBVlBzIGZvciB1c2UgaW4gRE9JQyBDYXBh
YmlsaXR5XG4gICBBbm5vdW5jZW1lbnQgYW5kIGZvciB1c2UgaW4gRE9JQyBPdmVybG9hZCBy
ZXBvcnRpbmcuICBUaGVzZSBuZXcgQVZQc1xuICAgU0hPVUxEIGJlIGRlZmluZWQgdG8gYmUg
ZXh0ZW5zaW9ucyB0byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIG9yXG4gICBPQy1PTFIg
QVZQcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQuXG5cblxuXG5cblxuXG5Lb3Job25lbiwg
ZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBb
UGFnZSAyMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAg
ICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIFtSRkM2NzMzXSBkZWZp
bmVkIEdyb3VwZWQgQVZQIGV4dGVuc2lvbiBtZWNoYW5pc21zIGFwcGx5LiAgVGhpc1xuICAg
YWxsb3dzLCBmb3IgZXhhbXBsZSwgZGVmaW5pbmcgYSBuZXcgZmVhdHVyZSB0aGF0IGlzIG1h
bmRhdG9yeSB0byBiZVxuICAgdW5kZXJzdG9vZCBldmVuIHdoZW4gcGlnZ3liYWNrZWQgb24g
YW4gZXhpc3RpbmcgYXBwbGljYXRpb24uXG5cbiAgIFdoZW4gZGVmaW5pbmcgbmV3IHJlcG9y
dCB0eXBlIHZhbHVlcywgdGhlIGNvcnJlc3BvbmRpbmcgc3BlY2lmaWNhdGlvblxuICAgTVVT
VCBkZWZpbmUgdGhlIHNlbWFudGljcyBvZiB0aGUgbmV3IHJlcG9ydCB0eXBlcyBhbmQgaG93
IHRoZXkgYWZmZWN0XG4gICB0aGUgT0MtT0xSIEFWUCBoYW5kbGluZy5cblxuICAgVGhlIE9D
LU9MUiBBVlAgY2FuIGJlIGV4cGFuZGVkIHdpdGggb3B0aW9uYWwgc3ViLUFWUHMgb25seSBp
ZiBhXG4gICBsZWdhY3kgRE9JQyBpbXBsZW1lbnRhdGlvbiBjYW4gc2FmZWx5IGlnbm9yZSB0
aGVtIHdpdGhvdXQgYnJlYWtpbmdcbiAgIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHRo
ZSBnaXZlbiBPQy1SZXBvcnQtVHlwZSBBVlAgdmFsdWUuXG5cbiAgIERvY3VtZW50cyB0aGF0
IGludHJvZHVjZSBuZXcgcmVwb3J0IHR5cGVzIE1VU1QgZGVzY3JpYmUgYW55XG4gICBsaW1p
dGF0aW9ucyBvbiB0aGVpciB1c2UgYWNyb3NzIG5vbi1zdXBwb3J0aW5nIGFnZW50cy5cblxu
ICAgQXMgd2l0aCBhbnkgRGlhbWV0ZXIgc3BlY2lmaWNhdGlvbiwgUkZDNjczMyByZXF1aXJl
cyBhbGwgbmV3IEFWUHMgdG9cbiAgIGJlIHJlZ2lzdGVyZWQgd2l0aCBJQU5BLiAgU2VlIFNl
Y3Rpb24gOSBmb3IgdGhlIHJlcXVpcmVkIHByb2NlZHVyZXMuXG4gICBOZXcgZmVhdHVyZXMg
KGZlYXR1cmUgYml0cyBpbiB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQKSBhbmQgcmVwb3J0
XG4gICB0eXBlcyAoaW4gdGhlIE9DLVJlcG9ydC1UeXBlIEFWUCkgTVVTVCBiZSByZWdpc3Rl
cmVkIHdpdGggSUFOQS5cblxuNi4gIExvc3MgQWxnb3JpdGhtXG5cbiAgIFRoaXMgc2VjdGlv
biBkb2N1bWVudHMgdGhlIERpYW1ldGVyIG92ZXJsb2FkIGxvc3MgYWJhdGVtZW50XG4gICBh
bGdvcml0aG0uXG5cbjYuMS4gIE92ZXJ2aWV3XG5cbiAgIFRoZSBET0lDIHNwZWNpZmljYXRp
b24gc3VwcG9ydHMgdGhlIGFiaWxpdHkgZm9yIG11bHRpcGxlIG92ZXJsb2FkXG4gICBhYmF0
ZW1lbnQgYWxnb3JpdGhtcyB0byBiZSBzcGVjaWZpZWQuICBUaGUgYWJhdGVtZW50IGFsZ29y
aXRobSB1c2VkXG4gICBmb3IgYW55IGluc3RhbmNlIG9mIG92ZXJsb2FkIGlzIGRldGVybWlu
ZWQgYnkgdGhlIERpYW1ldGVyIE92ZXJsb2FkXG4gICBDYXBhYmlsaXR5IEFubm91bmNlbWVu
dCBwcm9jZXNzIGRvY3VtZW50ZWQgaW4gU2VjdGlvbiA1LjEuXG5cbiAgIFRoZSBsb3NzIGFs
Z29yaXRobSBkZXNjcmliZWQgaW4gdGhpcyBzZWN0aW9uIGlzIHRoZSBkZWZhdWx0IGFsZ29y
aXRobVxuICAgdGhhdCBtdXN0IGJlIHN1cHBvcnRlZCBieSBhbGwgRGlhbWV0ZXIgbm9kZXMg
dGhhdCBzdXBwb3J0IERPSUMuXG5cbiAgIFRoZSBsb3NzIGFsZ29yaXRobSBpcyBkZXNpZ25l
ZCB0byBiZSBhIHN0cmFpZ2h0Zm9yd2FyZCBhbmQgc3RhdGVsZXNzXG4gICBvdmVybG9hZCBh
YmF0ZW1lbnQgYWxnb3JpdGhtLiAgSXQgaXMgdXNlZCBieSByZXBvcnRpbmcgbm9kZXMgdG9c
biAgIHJlcXVlc3QgYSBwZXJjZW50YWdlIHJlZHVjdGlvbiBpbiB0aGUgYW1vdW50IG9mIHRy
YWZmaWMgc2VudC4gIFRoZVxuICAgdHJhZmZpYyBpbXBhY3RlZCBieSB0aGUgcmVxdWVzdGVk
IHJlZHVjdGlvbiBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mXG4gICBvdmVybG9hZCByZXBvcnQu
XG5cbiAgIFJlcG9ydGluZyBub2RlcyByZXF1ZXN0IHRoZSBzdGF0ZWxlc3MgcmVkdWN0aW9u
IG9mIHRoZSBudW1iZXIgb2ZcbiAgIHJlcXVlc3RzIGJ5IGFuIGluZGljYXRlZCBwZXJjZW50
YWdlLiAgVGhpcyBwZXJjZW50YWdlIHJlZHVjdGlvbiBpcyBpblxuICAgY29tcGFyaXNvbiB0
byB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoZSBub2RlIG90aGVyd2lzZSB3b3VsZCBzZW5k
LFxuICAgcmVnYXJkbGVzcyBvZiBob3cgbWFueSByZXF1ZXN0cyB0aGUgbm9kZSBtaWdodCBo
YXZlIHNlbnQgaW4gdGhlIHBhc3QuXG5cbiAgIEZyb20gYSBjb25jZXB0dWFsIGxldmVsLCB0
aGUgbG9naWMgYXQgdGhlIHJlYWN0aW5nIG5vZGUgY291bGQgYmVcbiAgIG91dGxpbmVkIGFz
IGZvbGxvd3MuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVu
ZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyMl1cbl9cbkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIg
MjAxNFxuXG5cbiAgIDEuICBBbiBvdmVybG9hZCByZXBvcnQgaXMgcmVjZWl2ZWQgYW5kIHRo
ZSBhc3NvY2lhdGVkIE9DUyBpcyBlaXRoZXJcbiAgICAgICBzYXZlZCBvciB1cGRhdGVkIChp
ZiByZXF1aXJlZCkgYnkgdGhlIHJlYWN0aW5nIG5vZGUuXG5cbiAgIDIuICBBIG5ldyBEaWFt
ZXRlciByZXF1ZXN0IGlzIGdlbmVyYXRlZCBieSB0aGUgYXBwbGljYXRpb24gcnVubmluZyBv
blxuICAgICAgIHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAzLiAgVGhlIHJlYWN0aW5nIG5v
ZGUgZGV0ZXJtaW5lcyB0aGF0IGFuIGFjdGl2ZSBvdmVybG9hZCByZXBvcnRcbiAgICAgICBh
cHBsaWVzIHRvIHRoZSByZXF1ZXN0LCBhcyBpbmRpY2F0ZWQgYnkgdGhlIGNvcnJlc3BvbmRp
bmcgT0NTXG4gICAgICAgZW50cnkuXG5cbiAgIDQuICBUaGUgcmVhY3Rpbmcgbm9kZSBkZXRl
cm1pbmVzIGlmIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1lbnRcbiAgICAgICBzaG91bGQg
YmUgYXBwbGllZCB0byB0aGUgcmVxdWVzdC4gIE9uZSBhcHByb2FjaCB0aGF0IGNvdWxkIGJl
XG4gICAgICAgdGFrZW4gZm9yIGVhY2ggcmVxdWVzdCBpcyB0byBzZWxlY3QgYSByYW5kb20g
bnVtYmVyIGJldHdlZW4gMSBhbmRcbiAgICAgICAxMDAuICBJZiB0aGUgcmFuZG9tIG51bWJl
ciBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGluZGljYXRlZFxuICAgICAgIHJlZHVj
dGlvbiBwZXJjZW50YWdlIHRoZW4gdGhlIHJlcXVlc3QgaXMgZ2l2ZW4gYWJhdGVtZW50XG4g
ICAgICAgdHJlYXRtZW50LCBvdGhlcndpc2UgdGhlIHJlcXVlc3QgaXMgZ2l2ZW4gbm9ybWFs
IHJvdXRpbmdcbiAgICAgICB0cmVhdG1lbnQuXG5cbjYuMi4gIFJlcG9ydGluZyBOb2RlIEJl
aGF2aW9yXG5cbiAgIFRoZSBtZXRob2QgYSByZXBvcnRpbmcgbm9kZSB1c2VzIHRvIGRldGVy
bWluZSB0aGUgYW1vdW50IG9mIHRyYWZmaWNcbiAgIHJlZHVjdGlvbiByZXF1aXJlZCB0byBh
ZGRyZXNzIGFuIG92ZXJsb2FkIGNvbmRpdGlvbiBpcyBhblxuICAgaW1wbGVtZW50YXRpb24g
ZGVjaXNpb24uXG5cbiAgIFdoZW4gYSByZXBvcnRpbmcgbm9kZSB0aGF0IGhhcyBzZWxlY3Rl
ZCB0aGUgbG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtXG4gICBkZXRlcm1pbmVzIHRoZSBuZWVk
IHRvIHJlcXVlc3QgYSByZWR1Y3Rpb24gaW4gdHJhZmZpYywgaXQgaW5jbHVkZXMgYW5cbiAg
IE9DLU9MUiBBVlAgaW4gYW5zd2VyIG1lc3NhZ2VzIGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9u
IDUuMi4zLlxuXG4gICBXaGVuIHNlbmRpbmcgdGhlIE9DLU9MUiBBVlAsIHRoZSByZXBvcnRp
bmcgbm9kZSBNVVNUIGluZGljYXRlIGFcbiAgIHBlcmNlbnRhZ2UgcmVkdWN0aW9uIGluIHRo
ZSBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBBVlAuXG5cbiAgIFRoZSByZXBvcnRpbmcgbm9k
ZSBNQVkgY2hhbmdlIHRoZSByZWR1Y3Rpb24gcGVyY2VudGFnZSBpbiBzdWJzZXF1ZW50XG4g
ICBvdmVybG9hZCByZXBvcnRzLiAgV2hlbiBkb2luZyBzbyB0aGUgcmVwb3J0aW5nIG5vZGUg
bXVzdCBjb25mb3JtIHRvXG4gICBvdmVybG9hZCByZXBvcnQgaGFuZGluZyBzcGVjaWZpZWQg
aW4gU2VjdGlvbiA1LjIuMy5cblxuNi4zLiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvclxuXG4g
ICBUaGUgbWV0aG9kIGEgcmVhY3Rpbmcgbm9kZSB1c2VzIHRvIGRldGVybWluZSB3aGljaCBy
ZXF1ZXN0IG1lc3NhZ2VzXG4gICBhcmUgZ2l2ZW4gYWJhdGVtZW50IHRyZWF0bWVudCBpcyBh
biBpbXBsZW1lbnRhdGlvbiBkZWNpc2lvbi5cblxuICAgV2hlbiByZWNlaXZpbmcgYW4gT0Mt
T0xSIGluIGFuIGFuc3dlciBtZXNzYWdlIHdoZXJlIHRoZSBhbGdvcml0aG1cbiAgIGluZGlj
YXRlZCBpbiB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpcyB0aGUgbG9zcyBhbGdv
cml0aG0sIHRoZVxuICAgcmVhY3Rpbmcgbm9kZSBNVVNUIGFwcGx5IGFiYXRlbWVudCB0cmVh
dG1lbnQgdG8gdGhlIHJlcXVlc3RlZFxuICAgcGVyY2VudGFnZSBvZiByZXF1ZXN0IG1lc3Nh
Z2VzIHNlbnQuXG5cbiAgICAgIE5vdGU6IFRoZSBsb3NzIGFsZ29yaXRobSBpcyBhIHN0YXRl
bGVzcyBhbGdvcml0aG0uICBBcyBhIHJlc3VsdCxcbiAgICAgIHRoZSByZWFjdGluZyBub2Rl
IGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIHdpbGwgYmUgYW5cbiAgICAgIGFic29s
dXRlIHJlZHVjdGlvbiBpbiB0cmFmZmljIHNlbnQuICBSYXRoZXIsIGl0IGd1YXJhbnRlZXMg
dGhhdFxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUs
IDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjNdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRc
blxuXG4gICAgICB0aGUgcmVxdWVzdGVkIHBlcmNlbnRhZ2Ugb2YgbmV3IHJlcXVlc3RzIHdp
bGwgYmUgZ2l2ZW4gYWJhdGVtZW50XG4gICAgICB0cmVhdG1lbnQuXG5cbiAgIFdoZW4gYXBw
bHlpbmcgb3ZlcmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCBmb3IgdGhlIGxvc3MgYWJhdGVt
ZW50XG4gICBhbGdvcml0aG0sIHRoZSByZWFjdGluZyBub2RlIE1VU1QgYWJhdGUgdGhlIHJl
cXVlc3RlZCBwZXJjZW50YWdlIG9mXG4gICByZXF1ZXN0cyB0aGF0IHdvdWxkIGhhdmUgb3Ro
ZXJ3aXNlIGJlZW4gc2VudCB0byB0aGUgcmVwb3J0aW5nIGhvc3Qgb3JcbiAgIHJlYWxtLlxu
XG4gICBJZiByZWFjdGluZyBub2RlIGNvbWVzIG91dCBvZiB0aGUgMTAwIHBlcmNlbnQgdHJh
ZmZpYyByZWR1Y3Rpb24gYXMgYVxuICAgcmVzdWx0IG9mIHRoZSBvdmVybG9hZCByZXBvcnQg
dGltaW5nIG91dCwgdGhlIGZvbGxvd2luZyBwcm9jZWR1cmVzXG4gICBhcmUgUkVDT01NRU5E
RUQgdG8gYmUgYXBwbGllZC4gIFRoZSByZWFjdGluZyBub2RlIHNlbmRpbmcgdGhlIHRyYWZm
aWNcbiAgIHNob3VsZCBiZSBjb25zZXJ2YXRpdmUgYW5kLCBmb3IgZXhhbXBsZSwgZmlyc3Qg
c2VuZCAicHJvYmUiIG1lc3NhZ2VzXG4gICB0byBsZWFybiB0aGUgb3ZlcmxvYWQgY29uZGl0
aW9uIG9mIHRoZSBvdmVybG9hZGVkIG5vZGUgYmVmb3JlXG4gICBjb252ZXJnaW5nIHRvIGFu
eSB0cmFmZmljIGFtb3VudC9yYXRlIGRlY2lkZWQgYnkgdGhlIHNlbmRlci4gIFNpbWlsYXJc
biAgIGNvbmNlcm5zIGFwcGx5IGluIGFsbCBjYXNlcyB3aGVuIHRoZSBvdmVybG9hZCByZXBv
cnQgdGltZXMgb3V0IHVubGVzc1xuICAgdGhlIHByZXZpb3VzIG92ZXJsb2FkIHJlcG9ydCBz
dGF0ZWQgMCBwZXJjZW50IHJlZHVjdGlvbi5cblxuICAgICAgVGhlIGdvYWwgb2YgdGhpcyBi
ZWhhdmlvciBpcyB0byByZWR1Y2UgdGhlIHByb2JhYmlsaXR5IG9mIG92ZXJsb2FkXG4gICAg
ICBjb25kaXRpb24gdGhyYXNoaW5nIHdoZXJlIGFuIGltbWVkaWF0ZSB0cmFuc2l0aW9uIGZy
b20gMTAwX1xuICAgICAgcmVkdWN0aW9uIHRvIDBfIHJlZHVjdGlvbiByZXN1bHRzIGluIHRo
ZSByZXBvcnRpbmcgbm9kZSBtb3ZpbmdcbiAgICAgIHF1aWNrbHkgYmFjayBpbnRvIGFuIG92
ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgSWYgdGhlIHJlYWN0aW5nIG5vZGUgZG9lcyBub3Qg
cmVjZWl2ZSBhbiBPTFIgaW4gYW5zd2VycyByZWNlaXZlZCBmcm9tXG4gICB0aGUgZm9ybWVy
bHkgb3ZlcmxvYWRlZCBub2RlIHRoZW4gdGhlIHJlYWN0aW5nIG5vZGUgU0hPVUxEIHNsb3ds
eVxuICAgaW5jcmVhc2UgdGhlIHJhdGUgb2YgdHJhZmZpYyBzZW50IHRvIHRoZSBvdmVybG9h
ZGVkIG5vZGUuXG5cbjcuICBBdHRyaWJ1dGUgVmFsdWUgUGFpcnNcblxuICAgVGhpcyBzZWN0
aW9uIGRlc2NyaWJlcyB0aGUgZW5jb2RpbmcgYW5kIHNlbWFudGljcyBvZiB0aGUgRGlhbWV0
ZXJcbiAgIE92ZXJsb2FkIEluZGljYXRpb24gQXR0cmlidXRlIFZhbHVlIFBhaXJzIChBVlBz
KSBkZWZpbmVkIGluIHRoaXNcbiAgIGRvY3VtZW50LlxuXG43LjEuICBPQy1TdXBwb3J0ZWQt
RmVhdHVyZXMgQVZQXG5cbiAgIFRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIChBVlAg
Y29kZSBUQkQxKSBpcyBvZiB0eXBlIEdyb3VwZWQgYW5kXG4gICBzZXJ2ZXMgdHdvIHB1cnBv
c2VzLiAgRmlyc3QsIGl0IGFubm91bmNlcyBhIG5vZGVcJ3Mgc3VwcG9ydCBmb3IgdGhlXG4g
ICBET0lDIHNvbHV0aW9uIGluIGdlbmVyYWwuICBTZWNvbmQsIGl0IGNvbnRhaW5zIHRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGVcbiAgIHN1cHBvcnRlZCBET0lDIGZlYXR1cmVzIG9mIHRoZSBz
ZW5kaW5nIG5vZGUuICBUaGUgT0MtU3VwcG9ydGVkLVxuICAgRmVhdHVyZXMgQVZQIE1VU1Qg
YmUgaW5jbHVkZWQgaW4gZXZlcnkgRGlhbWV0ZXIgcmVxdWVzdCBtZXNzYWdlIGFcbiAgIERP
SUMgc3VwcG9ydGluZyBub2RlIHNlbmRzLlxuXG4gICAgICBPQy1TdXBwb3J0ZWQtRmVhdHVy
ZXMgOjo9IF8gQVZQIEhlYWRlcjogVEJEMSBfXG4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsgT0MtRmVhdHVyZS1WZWN0b3IgXVxuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKiBbIEFWUCBdXG5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAg
ICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDI0XVxuX1xu
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAg
ICAgICBEZWNlbWJlciAyMDE0XG5cblxuNy4yLiAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQXG5c
biAgIFRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgKEFWUCBjb2RlIFRCRDIpIGlzIG9mIHR5
cGUgVW5zaWduZWQ2NCBhbmRcbiAgIGNvbnRhaW5zIGEgNjQgYml0IGZsYWdzIGZpZWxkIG9m
IGFubm91bmNlZCBjYXBhYmlsaXRpZXMgb2YgYSBET0lDXG4gICBub2RlLiAgVGhlIHZhbHVl
IG9mIHplcm8gKDApIGlzIHJlc2VydmVkLlxuXG4gICBUaGUgT0MtRmVhdHVyZS1WZWN0b3Ig
c3ViLUFWUCBpcyB1c2VkIHRvIGFubm91bmNlIHRoZSBET0lDIGZlYXR1cmVzXG4gICBzdXBw
b3J0ZWQgYnkgdGhlIERPSUMgbm9kZSwgaW4gdGhlIGZvcm0gb2YgYSBmbGFnLWJpdHMgZmll
bGQgaW4gd2hpY2hcbiAgIGVhY2ggYml0IGFubm91bmNlcyBvbmUgZmVhdHVyZSBvciBjYXBh
YmlsaXR5IHN1cHBvcnRlZCBieSB0aGUgbm9kZS5cbiAgIFRoZSBhYnNlbmNlIG9mIHRoZSBP
Qy1GZWF0dXJlLVZlY3RvciBBVlAgaW4gcmVxdWVzdCBtZXNzYWdlc1xuICAgaW5kaWNhdGVz
IHRoYXQgb25seSB0aGUgZGVmYXVsdCB0cmFmZmljIGFiYXRlbWVudCBhbGdvcml0aG0gZGVz
Y3JpYmVkXG4gICBpbiB0aGlzIHNwZWNpZmljYXRpb24gaXMgc3VwcG9ydGVkLiAgVGhlIGFi
c2VuY2Ugb2YgdGhlIE9DLSBGZWF0dXJlLVxuICAgVmVjdG9yIEFWUCBpbiBhbnN3ZXIgbWVz
c2FnZXMgaW5kaWNhdGVzIHRoYXQgdGhlIGRlZmF1bHQgdHJhZmZpY1xuICAgYWJhdGVtZW50
IGFsZ29yaXRobSBkZXNjcmliZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIGlzIHNlbGVjdGVk
XG4gICAod2hpbGUgb3RoZXIgdHJhZmZpYyBhYmF0ZW1lbnQgYWxnb3JpdGhtcyBtYXkgYmUg
c3VwcG9ydGVkKSwgYW5kIG5vXG4gICBmZWF0dXJlcyBvdGhlciB0aGFuIGFiYXRlbWVudCBh
bGdvcml0aG1zIGFyZSBzdXBwb3J0ZWQuXG5cbiAgIFRoZSBmb2xsb3dpbmcgY2FwYWJpbGl0
aWVzIGFyZSBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQ6XG5cbiAgIE9MUl9ERUZBVUxUX0FM
R08gKDB4MDAwMDAwMDAwMDAwMDAwMSlcblxuICAgICAgV2hlbiB0aGlzIGZsYWcgaXMgc2V0
IGJ5IHRoZSBhIERPSUMgcmVhY3Rpbmcgbm9kZSBpdCBtZWFucyB0aGF0XG4gICAgICB0aGUg
ZGVmYXVsdCB0cmFmZmljIGFiYXRlbWVudCAobG9zcykgYWxnb3JpdGhtIGlzIHN1cHBvcnRl
ZC4gIFdoZW5cbiAgICAgIHRoaXMgZmxhZyBpcyBzZXQgYnkgYSBET0lDIHJlcG9ydGluZyBu
b2RlIGl0IG1lYW5zIHRoYXQgdGhlIGxvc3NcbiAgICAgIGFsZ29yaXRobSB3aWxsIGJlIHVz
ZWQgZm9yIHJlcXVlc3RlZCBvdmVybG9hZCBhYmF0ZW1lbnQuXG5cbjcuMy4gIE9DLU9MUiBB
VlBcblxuICAgVGhlIE9DLU9MUiBBVlAgKEFWUCBjb2RlIFRCRDMpIGlzIG9mIHR5cGUgR3Jv
dXBlZCBhbmQgY29udGFpbnMgdGhlXG4gICBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgdG8gY29u
dmV5IGFuIG92ZXJsb2FkIHJlcG9ydCBvbiBhbiBvdmVybG9hZFxuICAgY29uZGl0aW9uIGF0
IHRoZSByZXBvcnRpbmcgbm9kZS4gIFRoZSBhcHBsaWNhdGlvbiB0aGUgT0MtT0xSIEFWUFxu
ICAgYXBwbGllcyB0byBpcyB0aGUgc2FtZSBhcyB0aGUgQXBwbGljYXRpb24tSWQgZm91bmQg
aW4gdGhlIERpYW1ldGVyXG4gICBtZXNzYWdlIGhlYWRlci4gIFRoZSBob3N0IG9yIHJlYWxt
IHRoZSBPQy1PTFIgQVZQIGNvbmNlcm5zIGlzXG4gICBkZXRlcm1pbmVkIGZyb20gdGhlIE9y
aWdpbi1Ib3N0IEFWUCBhbmQvb3IgT3JpZ2luLVJlYWxtIEFWUCBmb3VuZCBpblxuICAgdGhl
IGVuY2Fwc3VsYXRpbmcgRGlhbWV0ZXIgY29tbWFuZC4gIFRoZSBPQy1PTFIgQVZQIGlzIGlu
dGVuZGVkIHRvIGJlXG4gICBzZW50IG9ubHkgYnkgYSByZXBvcnRpbmcgbm9kZS5cblxuICAg
ICAgT0MtT0xSIDo6PSBfIEFWUCBIZWFkZXI6IFRCRDIgX1xuICAgICAgICAgICAgICAgICBf
IE9DLVNlcXVlbmNlLU51bWJlciBfXG4gICAgICAgICAgICAgICAgIF8gT0MtUmVwb3J0LVR5
cGUgX1xuICAgICAgICAgICAgICAgICBbIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIF1cbiAg
ICAgICAgICAgICAgICAgWyBPQy1WYWxpZGl0eS1EdXJhdGlvbiBdXG4gICAgICAgICAgICAg
ICAqIFsgQVZQIF1cblxuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAg
IEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyNV1cbl9cbklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAg
ICAgRGVjZW1iZXIgMjAxNFxuXG5cbjcuNC4gIE9DLVNlcXVlbmNlLU51bWJlciBBVlBcblxu
ICAgVGhlIE9DLVNlcXVlbmNlLU51bWJlciBBVlAgKEFWUCBjb2RlIFRCRDQpIGlzIG9mIHR5
cGUgVW5zaWduZWQ2NC5cbiAgIEl0cyB1c2FnZSBpbiB0aGUgY29udGV4dCBvZiBvdmVybG9h
ZCBjb250cm9sIGlzIGRlc2NyaWJlZCBpblxuICAgU2VjdGlvbiA1LjIuXG5cbiAgIEZyb20g
dGhlIGZ1bmN0aW9uYWxpdHkgcG9pbnQgb2YgdmlldywgdGhlIE9DLVNlcXVlbmNlLU51bWJl
ciBBVlAgaXNcbiAgIHVzZWQgYXMgYSBub24tdm9sYXRpbGUgaW5jcmVhc2luZyBjb3VudGVy
IGZvciBhIHNlcXVlbmNlIG9mIG92ZXJsb2FkXG4gICByZXBvcnRzIGJldHdlZW4gdHdvIERP
SUMgbm9kZXMgZm9yIHRoZSBzYW1lIG92ZXJsb2FkIG9jY3VycmVuY2UuXG4gICBTZXF1ZW5j
ZSBudW1iZXJzIGFyZSB0cmVhdGVkIGluIGEgdW5pLWRpcmVjdGlvbmFsIG1hbm5lciwgaS5l
LiB0d29cbiAgIHNlcXVlbmNlIG51bWJlcnMgb24gZWFjaCBkaXJlY3Rpb24gYmV0d2VlbiB0
d28gRE9JQyBub2RlcyBhcmUgbm90XG4gICByZWxhdGVkIG9yIGNvcnJlbGF0ZWQuXG5cbjcu
NS4gIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUFxuXG4gICBUaGUgT0MtVmFsaWRpdHktRHVy
YXRpb24gQVZQIChBVlAgY29kZSBUQkQ1KSBpcyBvZiB0eXBlIFVuc2lnbmVkMzJcbiAgIGFu
ZCBpbmRpY2F0ZXMgaW4gbWlsbGlzZWNvbmRzIHRoZSB2YWxpZGl0eSB0aW1lIG9mIHRoZSBv
dmVybG9hZFxuICAgcmVwb3J0LiAgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaXMgbWVh
c3VyZWQgYWZ0ZXIgcmVjZXB0aW9uIG9mXG4gICB0aGUgZmlyc3QgT0MtT0xSIEFWUCB3aXRo
IGEgZ2l2ZW4gdmFsdWUgb2YgT0MtU2VxdWVuY2UtTnVtYmVyIEFWUC5cbiAgIFRoZSBkZWZh
dWx0IHZhbHVlIGZvciB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzIDMwMDAwIChp
LmUuOyAzMFxuICAgc2Vjb25kcykuICBXaGVuIHRoZSBPQy1WYWxpZGl0eS1EdXJhdGlvbiBB
VlAgaXMgbm90IHByZXNlbnQgaW4gdGhlXG4gICBPQy1PTFIgQVZQLCB0aGUgZGVmYXVsdCB2
YWx1ZSBhcHBsaWVzLlxuXG43LjYuICBPQy1SZXBvcnQtVHlwZSBBVlBcblxuICAgVGhlIE9D
LVJlcG9ydC1UeXBlIEFWUCAoQVZQIGNvZGUgVEJENikgaXMgb2YgdHlwZSBFbnVtZXJhdGVk
LiAgVGhlXG4gICB2YWx1ZSBvZiB0aGUgQVZQIGRlc2NyaWJlcyB3aGF0IHRoZSBvdmVybG9h
ZCByZXBvcnQgY29uY2VybnMuICBUaGVcbiAgIGZvbGxvd2luZyB2YWx1ZXMgYXJlIGluaXRp
YWxseSBkZWZpbmVkOlxuXG4gICBIT1NUX1JFUE9SVCAwICBUaGUgb3ZlcmxvYWQgcmVwb3J0
IGlzIGZvciBhIGhvc3QuICBPdmVybG9hZCBhYmF0ZW1lbnRcbiAgICAgIHRyZWF0bWVudCBh
cHBsaWVzIHRvIGhvc3Qtcm91dGVkIHJlcXVlc3RzLlxuXG4gICBSRUFMTV9SRVBPUlQgMSAg
VGhlIG92ZXJsb2FkIHJlcG9ydCBpcyBmb3IgYSByZWFsbS4gIE92ZXJsb2FkXG4gICAgICBh
YmF0ZW1lbnQgdHJlYXRtZW50IGFwcGxpZXMgdG8gcmVhbG0tcm91dGVkIHJlcXVlc3RzLlxu
XG43LjcuICBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBBVlBcblxuICAgVGhlIE9DLVJlZHVj
dGlvbi1QZXJjZW50YWdlIEFWUCAoQVZQIGNvZGUgVEJENykgaXMgb2YgdHlwZSBVbnNpZ25l
ZDMyXG4gICBhbmQgZGVzY3JpYmVzIHRoZSBwZXJjZW50YWdlIG9mIHRoZSB0cmFmZmljIHRo
YXQgdGhlIHNlbmRlciBpc1xuICAgcmVxdWVzdGVkIHRvIHJlZHVjZSwgY29tcGFyZWQgdG8g
d2hhdCBpdCBvdGhlcndpc2Ugd291bGQgc2VuZC4gIFRoZVxuICAgT0MtUmVkdWN0aW9uLVBl
cmNlbnRhZ2UgQVZQIGFwcGxpZXMgdG8gdGhlIGRlZmF1bHQgKGxvc3MpIGFsZ29yaXRobVxu
ICAgc3BlY2lmaWVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4gIEhvd2V2ZXIsIHRoZSBBVlAg
Y2FuIGJlIHJldXNlZCBmb3JcbiAgIGZ1dHVyZSBhYmF0ZW1lbnQgYWxnb3JpdGhtcywgaWYg
aXRzIHNlbWFudGljcyBmaXQgaW50byB0aGUgbmV3XG4gICBhbGdvcml0aG0uXG5cbiAgIFRo
ZSB2YWx1ZSBvZiB0aGUgUmVkdWN0aW9uLVBlcmNlbnRhZ2UgQVZQIGlzIGJldHdlZW4gemVy
byAoMCkgYW5kIG9uZVxuICAgaHVuZHJlZCAoMTAwKS4gIFZhbHVlcyBncmVhdGVyIHRoYW4g
MTAwIGFyZSBpZ25vcmVkLiAgVGhlIHZhbHVlIG9mXG4gICAxMDAgbWVhbnMgdGhhdCBhbGwg
dHJhZmZpYyBpcyB0byBiZSB0aHJvdHRsZWQsIGkuZS4gdGhlIHJlcG9ydGluZ1xuXG5cblxu
S29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAg
ICAgICAgICAgW1BhZ2UgMjZdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG4gICBub2Rl
IGlzIHVuZGVyIGEgc2V2ZXJlIGxvYWQgYW5kIGNlYXNlcyB0byBwcm9jZXNzIGFueSBuZXcg
bWVzc2FnZXMuXG4gICBUaGUgdmFsdWUgb2YgMCBtZWFucyB0aGF0IHRoZSByZXBvcnRpbmcg
bm9kZSBpcyBpbiBhIHN0YWJsZSBzdGF0ZSBhbmRcbiAgIGhhcyBubyBuZWVkIGZvciB0aGUg
cmVhY3Rpbmcgbm9kZSB0byBhcHBseSBhbnkgdHJhZmZpYyBhYmF0ZW1lbnQuXG5cbjcuOC4g
IEF0dHJpYnV0ZSBWYWx1ZSBQYWlyIGZsYWcgcnVsZXNcblxuICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLStcbiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF9BVlAgZmxhZyBfXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfcnVsZXMgICAgX1xuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0rLS0tLStcbiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEFWUCAgIFNlY3Rpb24gICAgICAgICAgICAgIF8gICAg
X01VU1RfXG4gICAgICAgQXR0cmlidXRlIE5hbWUgICAgICAgICBDb2RlICBEZWZpbmVkICBW
YWx1ZSBUeXBlICBfTVVTVF8gTk9UX1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgIFRCRDEgIDYuMSAgICAgIEdyb3VwZWQgICAgIF8gICAgXyBWICBf
XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0rLS0tLSstLS0tK1xuICAgICAgX09DLUZlYXR1cmUtVmVjdG9yICAgICAgVEJEMiAg
Ni4yICAgICAgVW5zaWduZWQ2NCAgXyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4gICAg
ICBfT0MtT0xSICAgICAgICAgICAgICAgICBUQkQzICA2LjMgICAgICBHcm91cGVkICAgICBf
ICAgIF8gViAgX1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1TZXF1ZW5jZS1OdW1iZXIg
ICAgIFRCRDQgIDYuNCAgICAgIFVuc2lnbmVkNjQgIF8gICAgXyBWICBfXG4gICAgICArLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLSst
LS0tK1xuICAgICAgX09DLVZhbGlkaXR5LUR1cmF0aW9uICAgVEJENSAgNi41ICAgICAgVW5z
aWduZWQzMiAgXyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4gICAgICBfT0MtUmVwb3J0
LVR5cGUgICAgICAgICBUQkQ2ICA2LjYgICAgICBFbnVtZXJhdGVkICBfICAgIF8gViAgX1xu
ICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1SZWR1Y3Rpb24gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF8gICAgXyAgICBfXG4gICAgICBfICAtUGVyY2VudGFnZSAg
ICAgICAgICBUQkQ3ICA2LjcgICAgICBVbnNpZ25lZDMyICBfICAgIF8gViAgX1xuICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t
LS0rLS0tLStcblxuXG4gICBBcyBkZXNjcmliZWQgaW4gdGhlIERpYW1ldGVyIGJhc2UgcHJv
dG9jb2wgW1JGQzY3MzNdLCB0aGUgTS1iaXQgdXNhZ2VcbiAgIGZvciBhIGdpdmVuIEFWUCBp
biBhIGdpdmVuIGNvbW1hbmQgbWF5IGJlIGRlZmluZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxu
XG44LiAgRXJyb3IgUmVzcG9uc2UgQ29kZXNcblxuICAgV2hlbiBhIERPSUMgbm9kZSByZWpl
Y3RzIGEgRGlhbWV0ZXIgcmVxdWVzdCBkdWUgdG8gb3ZlcmxvYWQsIHRoZSBET0lDXG4gICBu
b2RlIE1VU1Qgc2VsZWN0IGFuIGFwcHJvcHJpYXRlIGVycm9yIHJlc3BvbnNlIGNvZGUuICBU
aGlzXG4gICBkZXRlcm1pbmF0aW9uIGlzIG1hZGUgYmFzZWQgb24gdGhlIHByb2JhYmlsaXR5
IG9mIHRoZSByZXF1ZXN0XG4gICBzdWNjZWVkaW5nIGlmIHJldHJpZWQgb24gYSBkaWZmZXJl
bnQgcGF0aC5cblxuICAgQSByZXBvcnRpbmcgbm9kZSByZWplY3RpbmcgYSBEaWFtZXRlciBy
ZXF1ZXN0IGR1ZSB0byBhbiBvdmVybG9hZFxuICAgY29uZGl0aW9uIFNIT1VMRCBzZW5kIGEg
RElBTUVURVJfVE9PX0JVU1kgZXJyb3IgcmVzcG9uc2UsIGlmIGl0IGNhblxuICAgYXNzdW1l
IHRoYXQgdGhlIHNhbWUgcmVxdWVzdCBtYXkgc3VjY2VlZCBvbiBhIGRpZmZlcmVudCBwYXRo
LlxuXG4gICBJZiBhIHJlcG9ydGluZyBub2RlIGtub3dzIG9yIGFzc3VtZXMgdGhhdCB0aGUg
c2FtZSByZXF1ZXN0IHdpbGwgbm90XG4gICBzdWNjZWVkIG9uIGEgZGlmZmVyZW50IHBhdGgs
IERJQU1FVEVSX1VOQUJMRV9UT19DT01QTFkgZXJyb3IgcmVzcG9uc2VcbiAgIFNIT1VMRCBi
ZSB1c2VkLiAgUmV0cnlpbmcgd291bGQgY29uc3VtZSB2YWx1YWJsZSByZXNvdXJjZXMgZHVy
aW5nIGFuXG4gICBvY2N1cnJlbmNlIG9mIG92ZXJsb2FkLlxuXG5cblxuS29yaG9uZW4sIGV0
IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgW1Bh
Z2UgMjddXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAg
ICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG4gICAgICBGb3IgaW5zdGFuY2Us
IGlmIHRoZSByZXF1ZXN0IGFycml2ZWQgYXQgdGhlIHJlcG9ydGluZyBub2RlIHdpdGhvdXRc
biAgICAgIGEgRGVzdGluYXRpb24tSG9zdCBBVlAgdGhlbiB0aGUgcmVwb3J0aW5nIG5vZGUg
bWlnaHQgZGV0ZXJtaW5lXG4gICAgICB0aGF0IHRoZXJlIGlzIGFuIGFsdGVybmF0aXZlIERp
YW1ldGVyIG5vZGUgdGhhdCBjb3VsZCBzdWNjZXNzZnVsbHlcbiAgICAgIHByb2Nlc3MgdGhl
IHJlcXVlc3QgYW5kIHRoYXQgcmV0cnlpbmcgdGhlIHRyYW5zYWN0aW9uIHdvdWxkIG5vdFxu
ICAgICAgbmVnYXRpdmVseSBpbXBhY3QgdGhlIHJlcG9ydGluZyBub2RlLiAgRElBTUVURVJf
VE9PX0JVU1kgd291bGQgYmVcbiAgICAgIHNlbnQgaW4gdGhpcyBjYXNlLlxuXG4gICAgICBJ
ZiB0aGUgcmVxdWVzdCBhcnJpdmVkIGF0IHRoZSByZXBvcnRpbmcgbm9kZSB3aXRoIGEgRGVz
dGluYXRpb24tXG4gICAgICBIb3N0IEFWUCBwb3B1bGF0ZWQgd2l0aCBpdHMgb3duIERpYW1l
dGVyIGlkZW50aXR5IHRoZW4gdGhlXG4gICAgICByZXBvcnRpbmcgbm9kZSBjYW4gYXNzdW1l
IHRoYXQgcmV0cnlpbmcgdGhlIHJlcXVlc3Qgd291bGQgcmVzdWx0XG4gICAgICBpbiBpdCBj
b21pbmcgdG8gdGhlIHNhbWUgcmVwb3J0aW5nIG5vZGUuXG4gICAgICBESUFNRVRFUl9VTkFC
TEVfVE9fQ09NUExZIHdvdWxkIGJlIHNlbnQgaW4gdGhpcyBjYXNlLlxuXG4gICAgICBBIHNl
Y29uZCBleGFtcGxlIGlzIHdoZW4gYW4gYWdlbnQgdGhhdCBzdXBwb3J0cyB0aGUgRE9JQyBz
b2x1dGlvblxuICAgICAgaXMgcGVyZm9ybWluZyB0aGUgcm9sZSBvZiBhIHJlYWN0aW5nIG5v
ZGUgZm9yIGEgbm9uIHN1cHBvcnRpbmdcbiAgICAgIGNsaWVudC4gIFJlcXVlc3RzIHRoYXQg
YXJlIHJlamVjdGVkIGFzIGEgcmVzdWx0IG9mIERPSUMgdGhyb3R0bGluZ1xuICAgICAgYnkg
dGhlIGFnZW50IGluIHRoaXMgc2NlbmFyaW8gd291bGQgZ2VuZXJhbGx5IGJlIHJlamVjdGVk
IHdpdGggYVxuICAgICAgRElBTUVURVJfVU5BQkxFX1RPX0NPTVBMWSByZXNwb25zZSBjb2Rl
LlxuXG45LiAgSUFOQSBDb25zaWRlcmF0aW9uc1xuXG45LjEuICBBVlAgY29kZXNcblxuICAg
TmV3IEFWUHMgZGVmaW5lZCBieSB0aGlzIHNwZWNpZmljYXRpb24gYXJlIGxpc3RlZCBpbiBT
ZWN0aW9uIDcuICBBbGxcbiAgIEFWUCBjb2RlcyBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIFwn
QXV0aGVudGljYXRpb24sIEF1dGhvcml6YXRpb24sIGFuZFxuICAgQWNjb3VudGluZyAoQUFB
KSBQYXJhbWV0ZXJzXCcgQVZQIENvZGVzIHJlZ2lzdHJ5LlxuXG45LjIuICBOZXcgcmVnaXN0
cmllc1xuXG4gICBUd28gbmV3IHJlZ2lzdHJpZXMgYXJlIG5lZWRlZCB1bmRlciB0aGUgXCdB
dXRoZW50aWNhdGlvbixcbiAgIEF1dGhvcml6YXRpb24sIGFuZCBBY2NvdW50aW5nIChBQUEp
IFBhcmFtZXRlcnNcJyByZWdpc3RyeS5cblxuICAgQSBuZXcgIk92ZXJsb2FkIENvbnRyb2wg
RmVhdHVyZSBWZWN0b3IiIHJlZ2lzdHJ5IGlzIHJlcXVpcmVkLiAgVGhlXG4gICByZWdpc3Ry
eSBtdXN0IGNvbnRhaW4gdGhlIGZvbGxvd2luZzpcblxuICAgICAgRmVhdHVyZSBWZWN0b3Ig
VmFsdWVcblxuICAgICAgU3BlY2lmaWNhdGlvbiAtIHRoZSBzcGVjaWZpY2F0aW9uIHRoYXQg
ZGVmaW5lcyB0aGUgbmV3IHZhbHVlLlxuXG4gICBTZWUgU2VjdGlvbiA3LjIgZm9yIHRoZSBp
bml0aWFsIEZlYXR1cmUgVmVjdG9yIFZhbHVlIGluIHRoZSByZWdpc3RyeS5cbiAgIFRoaXMg
c3BlY2lmaWNhdGlvbiBpcyB0aGUgc3BlY2lmaWNhdGlvbiBkZWZpbmluZyB0aGUgdmFsdWUu
ICBOZXdcbiAgIHZhbHVlcyBjYW4gYmUgYWRkZWQgaW50byB0aGUgcmVnaXN0cnkgdXNpbmcg
dGhlIFNwZWNpZmljYXRpb25cbiAgIFJlcXVpcmVkIHBvbGljeS4gIFtSRkM1MjI2XS5cblxu
ICAgQSBuZXcgIk92ZXJsb2FkIFJlcG9ydCBUeXBlIiByZWdpc3RyeSBpcyByZXF1aXJlZC4g
IFRoZSByZWdpc3RyeSBtdXN0XG4gICBjb250YWluIHRoZSBmb2xsb3dpbmc6XG5cbiAgICAg
IFJlcG9ydCBUeXBlIFZhbHVlXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4
cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyOF1cbl9cbkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAg
RGVjZW1iZXIgMjAxNFxuXG5cbiAgICAgIFNwZWNpZmljYXRpb24gLSB0aGUgc3BlY2lmaWNh
dGlvbiB0aGF0IGRlZmluZXMgdGhlIG5ldyB2YWx1ZS5cblxuICAgU2VlIFNlY3Rpb24gNy42
IGZvciB0aGUgaW5pdGlhbCBhc3NpZ25tZW50IGluIHRoZSByZWdpc3RyeS4gIE5ld1xuICAg
dHlwZXMgY2FuIGJlIGFkZGVkIHVzaW5nIHRoZSBTcGVjaWZpY2F0aW9uIFJlcXVpcmVkIHBv
bGljeSBbUkZDNTIyNl0uXG5cbjEwLiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnNcblxuICAg
RE9JQyBnaXZlcyBEaWFtZXRlciBub2RlcyB0aGUgYWJpbGl0eSB0byByZXF1ZXN0IHRoYXQg
ZG93bnN0cmVhbVxuICAgbm9kZXMgc2VuZCBmZXdlciBEaWFtZXRlciByZXF1ZXN0cy4gIE5v
ZGVzIGRvIHRoaXMgYnkgZXhjaGFuZ2luZ1xuICAgb3ZlcmxvYWQgcmVwb3J0cyB0aGF0IGRp
cmVjdGx5IGVmZmVjdCB0aGlzIHJlZHVjdGlvbi4gIFRoaXMgZXhjaGFuZ2VcbiAgIGlzIHBv
dGVudGlhbGx5IHN1YmplY3QgdG8gbXVsdGlwbGUgbWV0aG9kcyBvZiBhdHRhY2ssIGFuZCBo
YXMgdGhlXG4gICBwb3RlbnRpYWwgdG8gYmUgdXNlZCBhcyBhIERlbmlhbC1vZi1TZXJ2aWNl
IChEb1MpIGF0dGFjayB2ZWN0b3IuXG5cbiAgIE92ZXJsb2FkIHJlcG9ydHMgbWF5IGNvbnRh
aW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRvcG9sb2d5IGFuZFxuICAgY3VycmVudCBzdGF0
dXMgb2YgYSBEaWFtZXRlciBuZXR3b3JrLiAgVGhpcyBpbmZvcm1hdGlvbiBpc1xuICAgcG90
ZW50aWFsbHkgc2Vuc2l0aXZlLiAgTmV0d29yayBvcGVyYXRvcnMgbWF5IHdpc2ggdG8gY29u
dHJvbFxuICAgZGlzY2xvc3VyZSBvZiBvdmVybG9hZCByZXBvcnRzIHRvIHVuYXV0aG9yaXpl
ZCBwYXJ0aWVzIHRvIGF2b2lkIGl0c1xuICAgdXNlIGZvciBjb21wZXRpdGl2ZSBpbnRlbGxp
Z2VuY2Ugb3IgdG8gdGFyZ2V0IGF0dGFja3MuXG5cbiAgIERpYW1ldGVyIGRvZXMgbm90IGlu
Y2x1ZGUgZmVhdHVyZXMgdG8gcHJvdmlkZSBlbmQtdG8tZW5kXG4gICBhdXRoZW50aWNhdGlv
biwgaW50ZWdyaXR5IHByb3RlY3Rpb24sIG9yIGNvbmZpZGVudGlhbGl0eS4gIFRoaXMgbWF5
XG4gICBjYXVzZSBjb21wbGljYXRpb25zIHdoZW4gc2VuZGluZyBvdmVybG9hZCByZXBvcnRz
IGJldHdlZW4gbm9uLVxuICAgYWRqYWNlbnQgbm9kZXMuXG5cbjEwLjEuICBQb3RlbnRpYWwg
VGhyZWF0IE1vZGVzXG5cbiAgIFRoZSBEaWFtZXRlciBwcm90b2NvbCBpbnZvbHZlcyB0cmFu
c2FjdGlvbnMgaW4gdGhlIGZvcm0gb2YgcmVxdWVzdHNcbiAgIGFuZCBhbnN3ZXJzIGV4Y2hh
bmdlZCBiZXR3ZWVuIGNsaWVudHMgYW5kIHNlcnZlcnMuICBUaGVzZSBjbGllbnRzIGFuZFxu
ICAgc2VydmVycyBtYXkgYmUgcGVlcnMsIHRoYXQgaXMsIHRoZXkgbWF5IHNoYXJlIGEgZGly
ZWN0IHRyYW5zcG9ydFxuICAgKGUuZy4gIFRDUCBvciBTQ1RQKSBjb25uZWN0aW9uLCBvciB0
aGUgbWVzc2FnZXMgbWF5IHRyYXZlcnNlIG9uZSBvclxuICAgbW9yZSBpbnRlcm1lZGlhcmll
cywga25vd24gYXMgRGlhbWV0ZXIgQWdlbnRzLiAgRGlhbWV0ZXIgbm9kZXMgdXNlXG4gICBU
TFMsIERUTFMsIG9yIElQc2VjIHRvIGF1dGhlbnRpY2F0ZSBwZWVycywgYW5kIHRvIHByb3Zp
ZGVcbiAgIGNvbmZpZGVudGlhbGl0eSBhbmQgaW50ZWdyaXR5IHByb3RlY3Rpb24gb2YgdHJh
ZmZpYyBiZXR3ZWVuIHBlZXJzLlxuICAgTm9kZXMgY2FuIG1ha2UgYXV0aG9yaXphdGlvbiBk
ZWNpc2lvbnMgYmFzZWQgb24gdGhlIHBlZXIgaWRlbnRpdGllc1xuICAgYXV0aGVudGljYXRl
ZCBhdCB0aGUgdHJhbnNwb3J0IGxheWVyLlxuXG4gICBXaGVuIGFnZW50cyBhcmUgaW52b2x2
ZWQsIHRoaXMgcHJlc2VudHMgYW4gZWZmZWN0aXZlbHkgdHJhbnNpdGl2ZVxuICAgdHJ1c3Qg
bW9kZWwuICBUaGF0IGlzLCBhIERpYW1ldGVyIGNsaWVudCBvciBzZXJ2ZXIgY2FuIGF1dGhv
cml6ZSBhblxuICAgYWdlbnQgZm9yIGNlcnRhaW4gYWN0aW9ucywgYnV0IGl0IG11c3QgdHJ1
c3QgdGhhdCBhZ2VudCB0byBtYWtlXG4gICBhcHByb3ByaWF0ZSBhdXRob3JpemF0aW9uIGRl
Y2lzaW9ucyBhYm91dCBpdHMgcGVlcnMsIGFuZCBzbyBvbi5cbiAgIFNpbmNlIGNvbmZpZGVu
dGlhbGl0eSBhbmQgaW50ZWdyaXR5IHByb3RlY3Rpb24gb2NjdXJzIGF0IHRoZVxuICAgdHJh
bnNwb3J0IGxheWVyLCBhZ2VudHMgY2FuIHJlYWQsIGFuZCBwZXJoYXBzIG1vZGlmeSwgYW55
IHBhcnQgb2YgYVxuICAgRGlhbWV0ZXIgbWVzc2FnZSwgaW5jbHVkaW5nIGFuIG92ZXJsb2Fk
IHJlcG9ydC5cblxuICAgVGhlcmUgYXJlIHNldmVyYWwgd2F5cyBhbiBhdHRhY2tlciBtaWdo
dCBhdHRlbXB0IHRvIGV4cGxvaXQgdGhlXG4gICBvdmVybG9hZCBjb250cm9sIG1lY2hhbmlz
bS4gIEFuIHVuYXV0aG9yaXplZCB0aGlyZCBwYXJ0eSBtaWdodCBpbmplY3RcbiAgIGFuIG92
ZXJsb2FkIHJlcG9ydCBpbnRvIHRoZSBuZXR3b3JrLiAgSWYgdGhpcyB0aGlyZCBwYXJ0eSBp
cyB1cHN0cmVhbVxuICAgb2YgYW4gYWdlbnQsIGFuZCB0aGF0IGFnZW50IGZhaWxzIHRvIGFw
cGx5IHByb3BlciBhdXRob3JpemF0aW9uXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAg
ICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyOV1cbl9c
bkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAg
ICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIHBvbGljaWVzLCBkb3duc3RyZWFtIG5vZGVz
IG1heSBtaXN0YWtlbmx5IHRydXN0IHRoZSByZXBvcnQuICBUaGlzXG4gICBhdHRhY2sgaXMg
YXQgbGVhc3QgcGFydGlhbGx5IG1pdGlnYXRlZCBieSB0aGUgYXNzdW1wdGlvbiB0aGF0IG5v
ZGVzXG4gICBpbmNsdWRlIG92ZXJsb2FkIHJlcG9ydHMgaW4gRGlhbWV0ZXIgYW5zd2VycyBi
dXQgbm90IGluIHJlcXVlc3RzLlxuICAgVGhpcyByZXF1aXJlcyBhbiBhdHRhY2tlciB0byBo
YXZlIGtub3dsZWRnZSBvZiB0aGUgb3JpZ2luYWwgcmVxdWVzdFxuICAgaW4gb3JkZXIgdG8g
Y29uc3RydWN0IGFuIGFuc3dlci4gIFN1Y2ggYW4gYW5zd2VyIHdvdWxkIGFsc28gbmVlZCB0
b1xuICAgYXJyaXZlIGF0IGEgRGlhbWV0ZXIgbm9kZSB2aWEgYSBwcm90ZWN0ZWQgdHJhbnNw
b3J0IGNvbm5lY3Rpb24uXG4gICBUaGVyZWZvcmUsIGltcGxlbWVudGF0aW9ucyBNVVNUIHZh
bGlkYXRlIHRoYXQgYW4gYW5zd2VyIGNvbnRhaW5pbmcgYW5cbiAgIG92ZXJsb2FkIHJlcG9y
dCBpcyBhIHByb3Blcmx5IGNvbnN0cnVjdGVkIHJlc3BvbnNlIHRvIGEgcGVuZGluZ1xuICAg
cmVxdWVzdCBwcmlvciB0byBhY3Rpbmcgb24gdGhlIG92ZXJsb2FkIHJlcG9ydCwgYW5kIHRo
YXQgdGhlIGFuc3dlclxuICAgd2FzIHJlY2VpdmVkIHZpYSBhbiBhcHByb3ByaWF0ZSB0cmFu
c3BvcnQgY29ubmVjdGlvbi5cblxuICAgQSBzaW1pbGFyIGF0dGFjayBpbnZvbHZlcyBhIGNv
bXByb21pc2VkIGJ1dCBvdGhlcndpc2UgYXV0aG9yaXplZCBub2RlXG4gICB0aGF0IHNlbmRz
IGFuIGluYXBwcm9wcmlhdGUgb3ZlcmxvYWQgcmVwb3J0LiAgRm9yIGV4YW1wbGUsIGEgc2Vy
dmVyXG4gICBmb3IgdGhlIHJlYWxtICJleGFtcGxlLmNvbSIgbWlnaHQgc2VuZCBhbiBvdmVy
bG9hZCByZXBvcnQgaW5kaWNhdGluZ1xuICAgdGhhdCBhIGNvbXBldGl0b3JcJ3MgcmVhbG0g
ImV4YW1wbGUubmV0IiBpcyBvdmVybG9hZGVkLiAgSWYgb3RoZXJcbiAgIG5vZGVzIGFjdCBv
biB0aGUgcmVwb3J0LCB0aGV5IG1heSBmYWxzZWx5IGJlbGlldmUgdGhhdCAiZXhhbXBsZS5u
ZXQiXG4gICBpcyBvdmVybG9hZGVkLCBlZmZlY3RpdmVseSByZWR1Y2luZyB0aGF0IHJlYWxt
XCdzIGNhcGFjaXR5LlxuICAgVGhlcmVmb3JlLCBpdFwncyBjcml0aWNhbCB0aGF0IG5vZGVz
IHZhbGlkYXRlIHRoYXQgYW4gb3ZlcmxvYWQgcmVwb3J0XG4gICByZWNlaXZlZCBmcm9tIGEg
cGVlciBhY3R1YWxseSBmYWxscyB3aXRoaW4gdGhhdCBwZWVyXCdzIHJlc3BvbnNpYmlsaXR5
XG4gICBiZWZvcmUgYWN0aW5nIG9uIHRoZSByZXBvcnQgb3IgZm9yd2FyZGluZyB0aGUgcmVw
b3J0IHRvIG90aGVyIHBlZXJzLlxuICAgRm9yIGV4YW1wbGUsIGFuIG92ZXJsb2FkIHJlcG9y
dCBmcm9tIGEgcGVlciB0aGF0IGFwcGxpZXMgdG8gYSByZWFsbVxuICAgbm90IGhhbmRsZWQg
YnkgdGhhdCBwZWVyIGlzIHN1c3BlY3QuXG5cbiAgICAgIFRoaXMgYXR0YWNrIGlzIHBhcnRp
YWxseSBtaXRpZ2F0ZWQgYnkgdGhlIGZhY3QgdGhhdCB0aGVcbiAgICAgIGFwcGxpY2F0aW9u
LCBhcyB3ZWxsIGFzIGhvc3QgYW5kIHJlYWxtLCBmb3IgYSBnaXZlbiBPTFIgaXNcbiAgICAg
IGRldGVybWluZWQgaW1wbGljaXRseSBieSByZXNwZWN0aXZlIEFWUHMgaW4gdGhlIGVuY2xv
c2luZyBhbnN3ZXIuXG4gICAgICBJZiBhIHJlcG9ydGluZyBub2RlIG1vZGlmaWVzIGFueSBv
ZiB0aG9zZSBBVlBzLCB0aGUgZW5jbG9zaW5nXG4gICAgICB0cmFuc2FjdGlvbiB3aWxsIGFs
c28gYmUgYWZmZWN0ZWQuXG5cbjEwLjIuICBEZW5pYWwgb2YgU2VydmljZSBBdHRhY2tzXG5c
biAgIERpYW1ldGVyIG92ZXJsb2FkIHJlcG9ydHMsIGVzcGVjaWFsbHkgcmVhbG0tcmVwb3J0
cywgY2FuIGNhdXNlIGEgbm9kZVxuICAgdG8gY2Vhc2Ugc2VuZGluZyBzb21lIG9yIGFsbCBE
aWFtZXRlciByZXF1ZXN0cyBmb3IgYW4gZXh0ZW5kZWRcbiAgIHBlcmlvZC4gIFRoaXMgbWFr
ZXMgdGhlbSBhIHRlbXB0aW5nIHZlY3RvciBmb3IgRG9TIGF0dGFja3MuXG4gICBGdXJ0aGVy
bW9yZSwgc2luY2UgRGlhbWV0ZXIgaXMgYWxtb3N0IGFsd2F5cyB1c2VkIGluIHN1cHBvcnQg
b2Ygb3RoZXJcbiAgIHByb3RvY29scywgYSBEb1MgYXR0YWNrIG9uIERpYW1ldGVyIGlzIGxp
a2VseSB0byBpbXBhY3QgdGhvc2VcbiAgIHByb3RvY29scyBhcyB3ZWxsLiAgVGhlcmVmb3Jl
LCBEaWFtZXRlciBub2RlcyBNVVNUIE5PVCBob25vciBvclxuICAgZm9yd2FyZCBPTFJzIHJl
Y2VpdmVkIGZyb20gcGVlcnMgdGhhdCBhcmUgbm90IHRydXN0ZWQgdG8gc2VuZCB0aGVtLlxu
XG4gICBBbiBhdHRhY2tlciBtaWdodCB1c2UgdGhlIGluZm9ybWF0aW9uIGluIGFuIE9MUiB0
byBhc3Npc3QgaW4gRG9TXG4gICBhdHRhY2tzLiAgRm9yIGV4YW1wbGUsIGFuIGF0dGFja2Vy
IGNvdWxkIHVzZSBpbmZvcm1hdGlvbiBhYm91dFxuICAgY3VycmVudCBvdmVybG9hZCBjb25k
aXRpb25zIHRvIHRpbWUgYW4gYXR0YWNrIGZvciBtYXhpbXVtIGVmZmVjdCwgb3JcbiAgIHVz
ZSBzdWJzZXF1ZW50IG92ZXJsb2FkIHJlcG9ydHMgYXMgYSBmZWVkYmFjayBtZWNoYW5pc20g
dG8gbGVhcm4gdGhlXG4gICByZXN1bHRzIG9mIGEgcHJldmlvdXMgb3Igb25nb2luZyBhdHRh
Y2suICBPcGVyYXRvcnMgbmVlZCB0aGUgYWJpbGl0eVxuICAgdG8gZW5zdXJlIHRoYXQgT0xS
cyBhcmUgbm90IGxlYWtlZCB0byB1bnRydXN0ZWQgcGFydGllcy5cblxuXG5cblxuXG5cbktv
cmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAg
ICAgICAgIFtQYWdlIDMwXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAg
IERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuMTAuMy4gIE5v
bi1Db21wbGlhbnQgTm9kZXNcblxuICAgSW4gdGhlIGFic2VuY2Ugb2YgYW4gb3ZlcmxvYWQg
Y29udHJvbCBtZWNoYW5pc20sIERpYW1ldGVyIG5vZGVzIG5lZWRcbiAgIHRvIGltcGxlbWVu
dCBzdHJhdGVnaWVzIHRvIHByb3RlY3QgdGhlbXNlbHZlcyBmcm9tIGZsb29kcyBvZlxuICAg
cmVxdWVzdHMsIGFuZCB0byBtYWtlIHN1cmUgdGhhdCBhIGRpc3Byb3BvcnRpb25hdGUgbG9h
ZCBmcm9tIG9uZVxuICAgc291cmNlIGRvZXMgbm90IHByZXZlbnQgb3RoZXIgc291cmNlcyBm
cm9tIHJlY2VpdmluZyBzZXJ2aWNlLiAgRm9yXG4gICBleGFtcGxlLCBhIERpYW1ldGVyIHNl
cnZlciBtaWdodCB0aHJvdHRsZSBhIGNlcnRhaW4gcGVyY2VudGFnZSBvZlxuICAgcmVxdWVz
dHMgZnJvbSBzb3VyY2VzIHRoYXQgZXhjZWVkIGNlcnRhaW4gbGltaXRzLiAgT3ZlcmxvYWQg
Y29udHJvbFxuICAgY2FuIGJlIHRob3VnaHQgb2YgYXMgYW4gb3B0aW1pemF0aW9uIGZvciBz
dWNoIHN0cmF0ZWdpZXMsIHdoZXJlXG4gICBkb3duc3RyZWFtIG5vZGVzIG5ldmVyIHNlbmQg
dGhlIGV4Y2VzcyByZXF1ZXN0cyBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICBIb3dldmVyLCB0
aGUgcHJlc2VuY2Ugb2YgYW4gb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gZG9lcyBub3Rc
biAgIHJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlc2Ugb3RoZXIgcHJvdGVjdGlvbiBzdHJhdGVn
aWVzLlxuXG4gICBXaGVuIGEgRGlhbWV0ZXIgbm9kZSBzZW5kcyBhbiBvdmVybG9hZCByZXBv
cnQsIGl0IGNhbm5vdCBhc3N1bWUgdGhhdFxuICAgYWxsIG5vZGVzIHdpbGwgY29tcGx5LCBl
dmVuIGlmIHRoZXkgaW5kaWNhdGUgc3VwcG9ydCBmb3IgRE9JQy4gIEFcbiAgIG5vbi1jb21w
bGlhbnQgbm9kZSBtaWdodCBjb250aW51ZSB0byBzZW5kIHJlcXVlc3RzIHdpdGggbm8gcmVk
dWN0aW9uXG4gICBpbiBsb2FkLiAgU3VjaCBub24tY29tcGxpYW5jZSBjb3VsZCBiZSBkb25l
IGFjY2lkZW50YWxseSwgb3JcbiAgIG1hbGljaW91c2x5IHRvIGdhaW4gYW4gdW5mYWlyIGFk
dmFudGFnZSBvdmVyIGNvbXBsaWFudCBub2Rlcy5cbiAgIFJlcXVpcmVtZW50IDI4IFtSRkM3
MDY4XSBpbmRpY2F0ZXMgdGhhdCB0aGUgb3ZlcmxvYWQgY29udHJvbCBzb2x1dGlvblxuICAg
Y2Fubm90IGFzc3VtZSB0aGF0IGFsbCBEaWFtZXRlciBub2RlcyBpbiBhIG5ldHdvcmsgYXJl
IHRydXN0ZWQsIGFuZFxuICAgdGhhdCBtYWxpY2lvdXMgbm9kZXMgbm90IGJlIGFsbG93ZWQg
dG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG92ZXJsb2FkXG4gICBjb250cm9sIG1lY2hhbmlz
bSB0byBnZXQgbW9yZSB0aGFuIHRoZWlyIGZhaXIgc2hhcmUgb2Ygc2VydmljZS5cblxuMTAu
NC4gIEVuZC10byBFbmQtU2VjdXJpdHkgSXNzdWVzXG5cbiAgIFRoZSBsYWNrIG9mIGVuZC10
by1lbmQgaW50ZWdyaXR5IGZlYXR1cmVzIG1ha2VzIGl0IGRpZmZpY3VsdCB0b1xuICAgZXN0
YWJsaXNoIHRydXN0IGluIG92ZXJsb2FkIHJlcG9ydHMgcmVjZWl2ZWQgZnJvbSBub24tYWRq
YWNlbnQgbm9kZXMuXG4gICBBbnkgYWdlbnRzIGluIHRoZSBtZXNzYWdlIHBhdGggbWF5IGlu
c2VydCBvciBtb2RpZnkgb3ZlcmxvYWQgcmVwb3J0cy5cbiAgIE5vZGVzIG11c3QgdHJ1c3Qg
dGhhdCB0aGVpciBhZGphY2VudCBwZWVycyBwZXJmb3JtIHByb3BlciBjaGVja3Mgb25cbiAg
IG92ZXJsb2FkIHJlcG9ydHMgZnJvbSB0aGVpciBwZWVycywgYW5kIHNvIG9uLCBjcmVhdGlu
ZyBhIHRyYW5zaXRpdmUtXG4gICB0cnVzdCByZXF1aXJlbWVudCBleHRlbmRpbmcgZm9yIHBv
dGVudGlhbGx5IGxvbmcgY2hhaW5zIG9mIG5vZGVzLlxuICAgTmV0d29yayBvcGVyYXRvcnMg
bXVzdCBkZXRlcm1pbmUgaWYgdGhpcyB0cmFuc2l0aXZlIHRydXN0IHJlcXVpcmVtZW50XG4g
ICBpcyBhY2NlcHRhYmxlIGZvciB0aGVpciBkZXBsb3ltZW50cy4gIE5vZGVzIHN1cHBvcnRp
bmcgRGlhbWV0ZXJcbiAgIG92ZXJsb2FkIGNvbnRyb2wgTVVTVCBnaXZlIG9wZXJhdG9ycyB0
aGUgYWJpbGl0eSB0byBzZWxlY3Qgd2hpY2hcbiAgIHBlZXJzIGFyZSB0cnVzdGVkIHRvIGRl
bGl2ZXIgb3ZlcmxvYWQgcmVwb3J0cywgYW5kIHdoZXRoZXIgdGhleSBhcmVcbiAgIHRydXN0
ZWQgdG8gZm9yd2FyZCBvdmVybG9hZCByZXBvcnRzIGZyb20gbm9uLWFkamFjZW50IG5vZGVz
LiAgRE9JQ1xuICAgbm9kZXMgTVVTVCBzdHJpcCBET0lDIEFWUHMgZnJvbSBtZXNzYWdlcyBy
ZWNlaXZlZCBmcm9tIHBlZXJzIHRoYXQgYXJlXG4gICBub3QgdHJ1c3RlZCBmb3IgRE9JQyBw
dXJwb3Nlcy5cblxuICAgVGhlIGxhY2sgb2YgZW5kLXRvLWVuZCBjb25maWRlbnRpYWxpdHkg
cHJvdGVjdGlvbiBtZWFucyB0aGF0IGFueVxuICAgRGlhbWV0ZXIgYWdlbnQgaW4gdGhlIHBh
dGggb2YgYW4gb3ZlcmxvYWQgcmVwb3J0IGNhbiB2aWV3IHRoZVxuICAgY29udGVudHMgb2Yg
dGhhdCByZXBvcnQuICBJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZW1lbnQgdG8gc2VsZWN0
XG4gICB3aGljaCBwZWVycyBhcmUgdHJ1c3RlZCB0byBzZW5kIG92ZXJsb2FkIHJlcG9ydHMs
IG9wZXJhdG9ycyBNVVNUIGJlXG4gICBhYmxlIHRvIHNlbGVjdCB3aGljaCBwZWVycyBhcmUg
YXV0aG9yaXplZCB0byByZWNlaXZlIHJlcG9ydHMuICBBIG5vZGVcbiAgIE1VU1QgTk9UIHNl
bmQgYW4gb3ZlcmxvYWQgcmVwb3J0IHRvIGEgcGVlciBub3QgYXV0aG9yaXplZCB0byByZWNl
aXZlXG4gICBpdC4gIEZ1cnRoZXJtb3JlLCBhbiBhZ2VudCBNVVNUIHJlbW92ZSBhbnkgb3Zl
cmxvYWQgcmVwb3J0cyB0aGF0XG4gICBtaWdodCBoYXZlIGJlZW4gaW5zZXJ0ZWQgYnkgb3Ro
ZXIgbm9kZXMgYmVmb3JlIGZvcndhcmRpbmcgYSBEaWFtZXRlclxuICAgbWVzc2FnZSB0byBh
IHBlZXIgdGhhdCBpcyBub3QgYXV0aG9yaXplZCB0byByZWNlaXZlIG92ZXJsb2FkIHJlcG9y
dHMuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwg
MjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxu
XG5cbiAgICAgIEEgRE9JQyBub2RlIGNhbm5vdCBhbHdheXMgYXV0b21hdGljYWxseSBkZXRl
Y3QgdGhhdCBhIHBlZXIgYWxzb1xuICAgICAgc3VwcG9ydHMgRE9JQy4gIEZvciBleGFtcGxl
LCBhIG5vZGUgbWlnaHQgaGF2ZSBhIHBlZXIgdGhhdCBpcyBhXG4gICAgICBub24tc3VwcG9y
dGluZyBhZ2VudC4gIElmIG5vZGVzIG9uIHRoZSBvdGhlciBzaWRlIG9mIHRoYXQgYWdlbnRc
biAgICAgIHNlbmQgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUHMsIHRoZSBhZ2VudCBpcyBs
aWtlbHkgdG8gZm9yd2FyZFxuICAgICAgdGhlbSBhcyB1bmtub3duIEFWUHMuICBNZXNzYWdl
cyByZWNlaXZlZCBhY3Jvc3MgdGhlIG5vbi1zdXBwb3J0aW5nXG4gICAgICBhZ2VudCBtYXkg
YmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBtZXNzYWdlcyByZWNlaXZlZCBhY3Jvc3MgYVxu
ICAgICAgRE9JQyBzdXBwb3J0aW5nIGFnZW50LCBnaXZpbmcgdGhlIGZhbHNlIGltcHJlc3Np
b24gdGhhdCB0aGUgbm9uLVxuICAgICAgc3VwcG9ydGluZyBhZ2VudCBhY3R1YWxseSBzdXBw
b3J0cyBET0lDLiAgVGhpcyBjb21wbGljYXRlcyB0aGVcbiAgICAgIHRyYW5zaXRpdmUtdHJ1
c3QgbmF0dXJlIG9mIERPSUMuICBPcGVyYXRvcnMgbmVlZCB0byBiZSBjYXJlZnVsIHRvXG4g
ICAgICBhdm9pZCBzaXR1YXRpb25zIHdoZXJlIGEgbm9uLXN1cHBvcnRpbmcgYWdlbnQgaXMg
bWlzdGFrZW5seVxuICAgICAgdHJ1c3RlZCB0byBlbmZvcmNlIERPSUMgcmVsYXRlZCBhdXRo
b3JpemF0aW9uIHBvbGljaWVzLlxuXG4gICBBdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcs
IHRoZSBESU1FIHdvcmtpbmcgZ3JvdXAgaXMgc3R1ZHlpbmdcbiAgIHJlcXVpcmVtZW50cyBm
b3IgYWRkaW5nIGVuZC10by1lbmQgc2VjdXJpdHkgZmVhdHVyZXNcbiAgIFtJLUQuaWV0Zi1k
aW1lLWUyZS1zZWMtcmVxXSB0byBEaWFtZXRlci4gIFRoZXNlIGZlYXR1cmVzLCB3aGVuIHRo
ZXlcbiAgIGJlY29tZSBhdmFpbGFibGUsIG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIGVzdGFi
bGlzaCB0cnVzdCBpbiBub24tXG4gICBhZGphY2VudCBub2RlcyBmb3Igb3ZlcmxvYWQgY29u
dHJvbCBwdXJwb3Nlcy4gIFJlYWRlcnMgc2hvdWxkIGJlXG4gICByZW1pbmRlZCwgaG93ZXZl
ciwgdGhhdCB0aGUgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gZW5jb3VyYWdlc1xuICAg
RGlhbWV0ZXIgYWdlbnRzIHRvIG1vZGlmeSBBVlBzIGluLCBvciBpbnNlcnQgYWRkaXRpb25h
bCBBVlBzIGludG8sXG4gICBleGlzdGluZyBtZXNzYWdlcyB0aGF0IGFyZSBvcmlnaW5hdGVk
IGJ5IG90aGVyIG5vZGVzLiAgSWYgZW5kLXRvLWVuZFxuICAgc2VjdXJpdHkgaXMgZW5hYmxl
ZCwgdGhlcmUgaXMgYSByaXNrIHRoYXQgc3VjaCBtb2RpZmljYXRpb24gY291bGRcbiAgIHZp
b2xhdGUgaW50ZWdyaXR5IHByb3RlY3Rpb24uICBUaGUgZGV0YWlscyBvZiB1c2luZyBhbnkg
ZnV0dXJlXG4gICBEaWFtZXRlciBlbmQtdG8tZW5kIHNlY3VyaXR5IG1lY2hhbmlzbSB3aXRo
IG92ZXJsb2FkIGNvbnRyb2wgd2lsbFxuICAgcmVxdWlyZSBjYXJlZnVsIGNvbnNpZGVyYXRp
b24sIGFuZCBhcmUgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzXG4gICBkb2N1bWVudC5cblxu
MTEuICBDb250cmlidXRvcnNcblxuICAgVGhlIGZvbGxvd2luZyBwZW9wbGUgY29udHJpYnV0
ZWQgc3Vic3RhbnRpYWwgaWRlYXMsIGZlZWRiYWNrLCBhbmRcbiAgIGRpc2N1c3Npb24gdG8g
dGhpcyBkb2N1bWVudDpcblxuICAgbyAgRXJpYyBNY011cnJ5XG5cbiAgIG8gIEhhbm5lcyBU
c2Nob2ZlbmlnXG5cbiAgIG8gIFVscmljaCBXaWVoZVxuXG4gICBvICBKZWFuLUphY3F1ZXMg
VHJvdHRpblxuXG4gICBvICBNYXJpYSBDcnV6IEJhcnRvbG9tZVxuXG4gICBvICBNYXJ0aW4g
RG9sbHlcblxuICAgbyAgTmlyYXYgU2Fsb3RcblxuICAgbyAgU3VzYW4gU2hpc2h1ZmVuZ1xu
XG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAy
MDE1ICAgICAgICAgICAgICAgIFtQYWdlIDMyXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5c
blxuMTIuICBSZWZlcmVuY2VzXG5cbjEyLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlc1xuXG4g
ICBbUkZDMjExOV0gIEJyYWRuZXIsIFMuLCAiS2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0
byBJbmRpY2F0ZVxuICAgICAgICAgICAgICBSZXF1aXJlbWVudCBMZXZlbHMiLCBCQ1AgMTQs
IFJGQyAyMTE5LCBNYXJjaCAxOTk3LlxuXG4gICBbUkZDNTIyNl0gIE5hcnRlbiwgVC4gYW5k
IEguIEFsdmVzdHJhbmQsICJHdWlkZWxpbmVzIGZvciBXcml0aW5nIGFuXG4gICAgICAgICAg
ICAgIElBTkEgQ29uc2lkZXJhdGlvbnMgU2VjdGlvbiBpbiBSRkNzIiwgQkNQIDI2LCBSRkMg
NTIyNixcbiAgICAgICAgICAgICAgTWF5IDIwMDguXG5cbiAgIFtSRkM2NzMzXSAgRmFqYXJk
bywgVi4sIEFya2tvLCBKLiwgTG91Z2huZXksIEouLCBhbmQgRy4gWm9ybixcbiAgICAgICAg
ICAgICAgIkRpYW1ldGVyIEJhc2UgUHJvdG9jb2wiLCBSRkMgNjczMywgT2N0b2JlciAyMDEy
LlxuXG4xMi4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlc1xuXG4gICBbQ3hdICAgICAgIDNH
UFAsICwgIkVUU0kgVFMgMTI5IDIyOSBWMTEuNC4wIiwgQXVndXN0IDIwMTMuXG5cbiAgIFtJ
LUQuaWV0Zi1kaW1lLWUyZS1zZWMtcmVxXVxuICAgICAgICAgICAgICBUc2Nob2ZlbmlnLCBI
LiwgS29yaG9uZW4sIEouLCBab3JuLCBHLiwgYW5kIEsuIFBpbGxheSxcbiAgICAgICAgICAg
ICAgIkRpYW1ldGVyIEFWUCBMZXZlbCBTZWN1cml0eTogU2NlbmFyaW9zIGFuZCBSZXF1aXJl
bWVudHMiLFxuICAgICAgICAgICAgICBkcmFmdC1pZXRmLWRpbWUtZTJlLXNlYy1yZXEtMDEg
KHdvcmsgaW4gcHJvZ3Jlc3MpLCBPY3RvYmVyXG4gICAgICAgICAgICAgIDIwMTMuXG5cbiAg
IFtQQ0NdICAgICAgM0dQUCwgLCAiRVRTSSBUUyAxMjMgMjAzIFYxMS4xMi4wIiwgRGVjZW1i
ZXIgMjAxMy5cblxuICAgW1JGQzQwMDZdICBIYWthbGEsIEguLCBNYXR0aWxhLCBMLiwgS29z
a2luZW4sIEotUC4sIFN0dXJhLCBNLiwgYW5kIEouXG4gICAgICAgICAgICAgIExvdWdobmV5
LCAiRGlhbWV0ZXIgQ3JlZGl0LUNvbnRyb2wgQXBwbGljYXRpb24iLCBSRkMgNDAwNixcbiAg
ICAgICAgICAgICAgQXVndXN0IDIwMDUuXG5cbiAgIFtSRkM3MDY4XSAgTWNNdXJyeSwgRS4g
YW5kIEIuIENhbXBiZWxsLCAiRGlhbWV0ZXIgT3ZlcmxvYWQgQ29udHJvbFxuICAgICAgICAg
ICAgICBSZXF1aXJlbWVudHMiLCBSRkMgNzA2OCwgTm92ZW1iZXIgMjAxMy5cblxuICAgW1Mx
M10gICAgICAzR1BQLCAsICJFVFNJIFRTIDEyOSAyNzIgVjExLjkuMCIsIERlY2VtYmVyIDIw
MTIuXG5cbkFwcGVuZGl4IEEuICBJc3N1ZXMgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmljYXRp
b25zXG5cbiAgIFRoZSBiYXNlIHNvbHV0aW9uIGZvciB0aGUgb3ZlcmxvYWQgY29udHJvbCBk
b2VzIG5vdCBjb3ZlciBhbGxcbiAgIHBvc3NpYmxlIHVzZSBjYXNlcy4gIEEgbnVtYmVyIG9m
IHNvbHV0aW9uIGFzcGVjdHMgd2VyZSBpbnRlbnRpb25hbGx5XG4gICBsZWZ0IGZvciBmdXR1
cmUgc3BlY2lmaWNhdGlvbiBhbmQgcHJvdG9jb2wgd29yay4gIFRoZSBmb2xsb3dpbmcgc3Vi
LVxuICAgc2VjdGlvbnMgZGVmaW5lIHNvbWUgb2YgdGhlIHBvdGVudGlhbCBleHRlbnNpb25z
IHRvIHRoZSBET0lDXG4gICBzb2x1dGlvbi5cblxuQS4xLiAgQWRkaXRpb25hbCB0cmFmZmlj
IGFiYXRlbWVudCBhbGdvcml0aG1zXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBkZXNjcmli
ZXMgb25seSBtZWFucyBmb3IgYSBzaW1wbGUgbG9zcyBiYXNlZFxuICAgYWxnb3JpdGhtLiAg
RnV0dXJlIGFsZ29yaXRobXMgY2FuIGJlIGFkZGVkIHVzaW5nIHRoZSBkZXNpZ25lZFxuICAg
c29sdXRpb24gZXh0ZW5zaW9uIG1lY2hhbmlzbS4gIFRoZSBuZXcgYWxnb3JpdGhtcyBuZWVk
IHRvIGJlXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAy
NSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzM11cbl9cbkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAx
NFxuXG5cbiAgIHJlZ2lzdGVyZWQgd2l0aCBJQU5BLiAgU2VlIFNlY3Rpb25zIDcuMSBhbmQg
OSBmb3IgdGhlIHJlcXVpcmVkIElBTkFcbiAgIHN0ZXBzLlxuXG5BLjIuICBBZ2VudCBPdmVy
bG9hZFxuXG4gICBUaGlzIHNwZWNpZmljYXRpb24gZm9jdXNlcyBvbiBEaWFtZXRlciBlbmRw
b2ludCAoc2VydmVyIG9yIGNsaWVudClcbiAgIG92ZXJsb2FkLiAgQSBzZXBhcmF0ZSBleHRl
bnNpb24gd2lsbCBiZSByZXF1aXJlZCB0byBvdXRsaW5lIHRoZVxuICAgaGFuZGxpbmcgb2Yg
dGhlIGNhc2Ugb2YgYWdlbnQgb3ZlcmxvYWQuXG5cbkEuMy4gIE5ldyBFcnJvciBEaWFnbm9z
dGljIEFWUFxuXG4gICBUaGlzIHNwZWNpZmljYXRpb24gaW5kaWNhdGVzIHRoZSB1c2Ugb2Yg
ZXhpc3RpbmcgZXJyb3IgbWVzc2FnZXMgd2hlblxuICAgbm9kZXMgcmVqZWN0IHJlcXVlc3Rz
IGR1ZSB0byBvdmVybG9hZC4gIFRoZSBESU1FIHdvcmtpbmcgZ3JvdXAgaXNcbiAgIGNvbnNp
ZGVyaW5nIGRlZmluaW5nIGFkZGl0aW9uYWwgZXJyb3IgY29kZXMgb3IgQVZQcyB0byBpbmRp
Y2F0ZSB0aGF0XG4gICBvdmVybG9hZCB3YXMgdGhlIHJlYXNvbiBmb3IgdGhlIHJlamVjdGlv
biBvZiB0aGUgbWVzc2FnZS5cblxuQXBwZW5kaXggQi4gIERlcGxveW1lbnQgQ29uc2lkZXJh
dGlvbnNcblxuICAgTm9uIFN1cHBvcnRpbmcgQWdlbnRzXG5cbiAgICAgIER1ZSB0byB0aGUg
d2F5IHRoYXQgcmVhbG0tcm91dGVkIHJlcXVlc3RzIGFyZSBoYW5kbGVkIGluIERpYW1ldGVy
XG4gICAgICBuZXR3b3JrcyB3aXRoIHRoZSBzZXJ2ZXIgc2VsZWN0aW9uIGZvciB0aGUgcmVx
dWVzdCBkb25lIGJ5IGFuXG4gICAgICBhZ2VudCwgbmV0d29yayBvcGVyYXRvcnMgc2hvdWxk
IGVuYWJsZSBET0lDIGF0IGFnZW50cyB0aGF0IHBlcmZvcm1cbiAgICAgIHNlcnZlciBzZWxl
Y3Rpb24gZmlyc3QuXG5cbiAgIFRvcG9sb2d5IEhpZGluZyBJbnRlcmFjdGlvbnNcblxuICAg
ICAgVGhlcmUgZXhpc3QgcHJveGllcyB0aGF0IGltcGxlbWVudCB3aGF0IGlzIHJlZmVycmVk
IHRvIGFzIFRvcG9sb2d5XG4gICAgICBIaWRpbmcuICBUaGlzIGNhbiBpbmNsdWRlIGNhc2Vz
IHdoZXJlIHRoZSBhZ2VudCBtb2RpZmllcyB0aGVcbiAgICAgIE9yaWdpbi1Ib3N0IGluIGFu
c3dlciBtZXNzYWdlcy4gIFRoZSBiZWhhdmlvciBvZiB0aGUgRE9JQyBzb2x1dGlvblxuICAg
ICAgaXMgbm90IHdlbGwgdW5kZXJzdG9vZCB3aGVuIHRoaXMgaGFwcGVucy4gIEFzIHN1Y2gs
IHRoZSBET0lDXG4gICAgICBzb2x1dGlvbiBkb2VzIG5vdCBhZGRyZXNzIHRoaXMgc2NlbmFy
aW8uXG5cbkFwcGVuZGl4IEMuICBSZXF1aXJlbWVudHMgQ29uZm9ybWFuY2UgQW5hbHlzaXNc
blxuICAgVGhpcyBzZWN0aW9uIGNvbnRhaW5zIHRoZSByZXN1bHQgb2YgYW4gYW5hbHlzaXMg
b2YgdGhlIERPSUMgc29sdXRpb25zXG4gICBjb25mb3JtYW5jZSB0byB0aGUgcmVxdWlyZW1l
bnRzIGRlZmluZWQgaW4gW1JGQzcwNjhdLlxuXG5DLjEuICBEZWZlcnJlZCBSZXF1aXJlbWVu
dHNcblxuICAgVGhlIDNHUFAgaGFzIGFkb3B0ZWQgYW4gZWFybHkgdmVyc2lvbiBvZiB0aGlz
IGRvY3VtZW50IGFzIG5vcm1hdGl2ZVxuICAgcmVmZXJlbmNlcyBpbiB2YXJpb3VzIERpYW1l
dGVyIHJlbGF0ZWQgc3BlY2lmaWNhdGlvbnMgdG8gc3VwcG9ydCB0aGVcbiAgIG92ZXJsb2Fk
IGNvbnRyb2wgbWVjaGFuaXNtIGluIHRoZWlyIHJlbGVhc2UgMTIgZnJhbWV3b3JrLiAgVGhl
IERJTUVcbiAgIHdvcmtpbmcgZ3JvdXAgaGFzIHRoZXJlZm9yZSBkZWNpZGVkIHRvIGRlZmVy
IGNlcnRhaW4gcmVxdWlyZW1lbnRzIGluXG4gICBvcmRlciB0byBjb21wbGV0ZSB0aGUgZGVz
aWduIG9mIGFuIGV4dGVuc2libGUsIGdlbmVyaWMgc29sdXRpb25cbiAgIGJlZm9yZSB0aGUg
ZGVhZGxpbmUgc2NoZWR1bGVkIGJ5IHRoZSAzR1BQIGZvciB0aGUgY29tcGxldGlvbiBvZiB0
aGVcbiAgIHJlbGVhc2UgMTIgcHJvdG9jb2wgd29yayBieSB0aGUgZW5kIG9mIDIwMTQuICBU
aGUgZGVmZXJyZWQgd29ya1xuICAgaW5jbHVkZXMgdGhlIGZvbGxvd2luZzpcblxuXG5cbktv
cmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAg
ICAgICAgIFtQYWdlIDM0XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAg
IERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgbyAgQWdl
bnQgT3ZlcmxvYWQgLSBUaGUgYWJpbGl0eSBmb3IgYW4gYWdlbnQgdG8gcmVwb3J0IGFuIG92
ZXJsb2FkXG4gICAgICBjb25kaXRpb24gb2YgdGhlIGFnZW50IGl0c2VsZi5cblxuICAgbyAg
TG9hZCBJbmZvcm1hdGlvbiAtIFRoZSBhYmlsaXR5IGZvciBhIG5vZGUgdG8gcmVwb3J0IGl0
cyBsb2FkIGxldmVsXG4gICAgICB3aGVuIG5vdCBvdmVybG9hZGVkLlxuXG4gICBBdCB0aGUg
dGltZSBvZiB0aGlzIHdyaXRpbmcsIERJTUUgaGFzIGJlZ3VuIHNlcGFyYXRlIHdvcmsgZWZm
b3J0cyBmb3JcbiAgIHRoZXNlIHJlcXVpcmVtZW50cy5cblxuQy4yLiAgRGV0ZWN0aW9uIG9m
IG5vbi1zdXBwb3J0aW5nIEludGVybWVkaWFyaWVzXG5cbiAgIFRoZSBET0lDIG1lY2hhbmlz
bSBhcyBjdXJyZW50bHkgZGVmaW5lZCBkb2VzIG5vdCBhbGxvdyBzdXBwb3J0aW5nXG4gICBu
b2RlcyB0byBhdXRvbWF0aWNhbGx5IGRldGVybWluZSB3aGV0aGVyIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcyBvciBPQy1cbiAgIE9MUiBBVlBzIGFyZSBvcmlnaW5hdGVkIGJ5IGEgcGVlciBu
b2RlLCBvciBieSBhIG5vbi1wZWVyIG5vZGUgYW5kXG4gICBzZW50IGFjcm9zcyBhIG5vbi1z
dXBwb3J0aW5nIHBlZXIuICBUaGlzIG1ha2VzIGl0IGltcG9zc2libGUgdG9cbiAgIGRldGVj
dCB0aGUgcHJlc2VuY2Ugb2Ygbm9uLXN1cHBvcnRpbmcgbm9kZXMgYmV0d2VlbiBzdXBwb3J0
aW5nIG5vZGVzLFxuICAgZXhjZXB0IGJ5IGNvbmZpZ3VyYXRpb24uICBUaGUgd29ya2luZyBn
cm91cCBkZXRlcm1pbmVkIHRoYXQgc3VjaCBhXG4gICBjb25maWd1cmF0aW9uIHJlcXVpcmVt
ZW50IGlzIGFjY2VwdGFibGUuXG5cbiAgIFRoaXMgbGltaXRzIGZ1bGwgY29tcGxpYW5jZSB3
aXRoIGNlcnRhaW4gcmVxdWlyZW1lbnRzIHJlbGF0ZWQgdG8gdGhlXG4gICBsaW1pdGF0aW9u
IG9mIG5ldyBjb25maWd1cmF0aW9uLCBkZXBsb3ltZW50IGluIGVudmlyb25tZW50cyB3aXRo
XG4gICBtaXhlZCBzdXBwb3J0LCBvcGVyYXRpbmcgYWNyb3NzIG5vbi1zdXBwb3J0aW5nIGFn
ZW50cywgYW5kXG4gICBhdXRob3JpemF0aW9uLlxuXG5DLjMuICBJbXBsaWNpdCBBcHBsaWNh
dGlvbiBJbmRpY2F0aW9uXG5cbiAgIFRoZSB3b3JraW5nIGdyb3VwIGVsZWN0ZWQgdG8gZGV0
ZXJtaW5lIHRoZSBhcHBsaWNhdGlvbiBmb3IgYW5cbiAgIG92ZXJsb2FkIHJlcG9ydCBmcm9t
IHRoYXQgb2YgdGhlIGVuY2xvc2luZyBtZXNzYWdlLiAgVGhpcyBwcmV2ZW50c1xuICAgc2Vu
ZGluZyBhbiBPTFIgZm9yIGFuIGFwcGxpY2F0aW9uIHdoZW4gdGhlcmUgYXJlIG5vIHRyYW5z
YWN0aW9ucyBmb3JcbiAgIHRoYXQgYXBwbGljYXRpb24uXG5cbiAgIEFzIGEgY29uc2VxdWVu
Y2UsIERPSUMgZG9lcyBub3QgY29tcGx5IHdpdGggdGhlIHJlcXVpcmVtZW50IHRvIGJlXG4g
ICBhYmxlIHRvIHJlcG9ydCBvdmVybG9hZCBpbmZvcm1hdGlvbiBhY3Jvc3MgcXVpZXNjZW50
IGNvbm5lY3Rpb25zLlxuICAgRE9JQyBkb2VzIG5vdCBmdWxseSBjb21wbHkgd2l0aCByZXF1
aXJlbWVudHMgdG8gb3BlcmF0ZSBvbiB1cC10by1kYXRlXG4gICBpbmZvcm1hdGlvbiwgc2lu
Y2UgaWYgYW4gT0xSIGNhdXNlcyBhbGwgdHJhbnNhY3Rpb25zIHRvIHN0b3AgZm9yIGFuXG4g
ICBhcHBsaWNhdGlvbiwgdGhlIG9ubHkgd2F5IHRyYWZmaWMgd2lsbCByZXN1bWUgaXMgZm9y
IHRoZSBPTFIgdG9cbiAgIGV4cGlyZS5cblxuQy40LiAgU3RhdGVsZXNzIE9wZXJhdGlvblxu
XG4gICBSRkM3MDY4IGV4cGxpY2l0bHkgZGlzY291cmFnZXMgdGhlIHNlbmRpbmcgb2YgT0xS
cyBpbiBldmVyeSBhbnN3ZXJcbiAgIG1lc3NhZ2UsIGFzIHBhcnQgb2YgdGhlIHJlcXVpcmVt
ZW50IHRvIGF2b2lkIGFkZGl0aW9uYWwgd29yayBmb3JcbiAgIG92ZXJsb2FkZWQgbm9kZXMu
ICBET0lDIHJlY29tbWVuZHMgZXhhY3RseSB0aGF0IGJlaGF2aW9yIGR1cmluZ1xuICAgYWN0
aXZlIG92ZXJsb2FkIGNvbmRpdGlvbnMuICBUaGUgd29ya2luZyBncm91cCBkZXRlcm1pbmVk
IHRoYXQgZG9pbmdcbiAgIG90aGVyd2lzZSB3b3VsZCByZWR1Y2UgcmVsaWFiaWxpdHkgYW5k
IGluY3JlYXNlIHN0YXRlZnVsbmVzcy4gIChOb3RlXG4gICB0aGF0IERPSUMgZG9lcyBhbGxv
dyBub2RlcyB0byBhdm9pZCBzZW5kaW5nIE9MUnMgaW4gZXZlcnkgYW5zd2VyIGlmXG4gICB0
aGV5IGhhdmUgc29tZSBvdGhlciBtZXRob2Qgb2YgZW5zdXJpbmcgdGhhdCBPTFJzIGdldCB0
byBhbGwgcmVsZXZhbnRcbiAgIHJlYWN0aW5nIG5vZGVzLilcblxuXG5cbktvcmhvbmVuLCBl
dCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQ
YWdlIDM1XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAg
ICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuQy41LiAgTm8gTmV3IFZ1bG5l
cmFiaWxpdGllc1xuXG4gICBUaGUgd29ya2luZyBncm91cCBiZWxpZXZlcyB0aGF0IERPSUMg
aXMgY29tcGxpYW50IHdpdGggdGhlXG4gICByZXF1aXJlbWVudCB0byBhdm9pZCBpbnRyb2R1
Y2luZyBuZXcgdnVsbmVyYWJpbGl0aWVzLiAgSG93ZXZlciwgdGhpc1xuICAgcmVxdWlyZW1l
bnQgbWF5IHdhcnJhbnQgYW4gZWFybHkgc2VjdXJpdHkgZXhwZXJ0IHJldmlldy5cblxuQy42
LiAgRGV0YWlsZWQgUmVxdWlyZW1lbnRzXG5cbiAgIFtSRkMgRWRpdG9yOiBQbGVhc2UgcmVt
b3ZlIHRoaXMgc2VjdGlvbiBhbmQgc3Vic2VjdGlvbnMgcHJpb3IgdG9cbiAgIHB1YmxpY2F0
aW9uIGFzIGFuIFJGQy5dXG5cbkMuNi4xLiAgR2VuZXJhbFxuXG4gICBSRVEgMTogIFRoZSBz
b2x1dGlvbiBNVVNUIHByb3ZpZGUgYSBjb21tdW5pY2F0aW9uIG1ldGhvZCBmb3IgRGlhbWV0
ZXJcbiAgICAgICAgICAgbm9kZXMgdG8gZXhjaGFuZ2UgbG9hZCBhbmQgb3ZlcmxvYWQgaW5m
b3JtYXRpb24uXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBUaGUgbWVj
aGFuaXNtIHVzZXMgbmV3IEFWUHNcbiAgICAgICAgICAgcGlnZ3liYWNrZWQgb24gZXhpc3Rp
bmcgRGlhbWV0ZXIgbWVzc2FnZXMgdG8gZXhjaGFuZ2VcbiAgICAgICAgICAgb3ZlcmxvYWQg
aW5mb3JtYXRpb24uICBJdCBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCAibG9hZCJcbiAg
ICAgICAgICAgaW5mb3JtYXRpb24gb3IgdGhlIGFiaWxpdHkgdG8gcmVwb3J0IG92ZXJsb2Fk
IG9mIGFuIGFnZW50LlxuICAgICAgICAgICBUaGVzZSBoYXZlIGJlZW4gbGVmdCBmb3IgZnV0
dXJlIGV4dGVuc2lvbnMuXG5cblxuXG4gICBSRVEgMjogIFRoZSBzb2x1dGlvbiBNVVNUIGFs
bG93IERpYW1ldGVyIG5vZGVzIHRvIHN1cHBvcnQgb3ZlcmxvYWRcbiAgICAgICAgICAgY29u
dHJvbCByZWdhcmRsZXNzIG9mIHdoaWNoIERpYW1ldGVyIGFwcGxpY2F0aW9ucyB0aGV5XG4g
ICAgICAgICAgIHN1cHBvcnQuICBEaWFtZXRlciBjbGllbnRzIGFuZCBhZ2VudHMgbXVzdCBi
ZSBhYmxlIHRvIHVzZSB0aGVcbiAgICAgICAgICAgcmVjZWl2ZWQgbG9hZCBhbmQgb3Zlcmxv
YWQgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBncmFjZWZ1bFxuICAgICAgICAgICBiZWhhdmlv
ciBkdXJpbmcgYW4gb3ZlcmxvYWQgY29uZGl0aW9uLiAgR3JhY2VmdWwgYmVoYXZpb3JcbiAg
ICAgICAgICAgdW5kZXIgb3ZlcmxvYWQgY29uZGl0aW9ucyBpcyBiZXN0IGRlc2NyaWJlZCBi
eSBSRVEgMy5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIFRoZSBET0lD
IEFWUHMgY2FuIGJlIHVzZWQgaW4gYW55XG4gICAgICAgICAgIGFwcGxpY2F0aW9uIHRoYXQg
YWxsb3dzIHRoZSBleHRlbnNpb24gb2YgQVZQcy4gIEhvd2V2ZXIsXG4gICAgICAgICAgICJs
b2FkIiBpbmZvcm1hdGlvbiBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC5cblxuXG5cbiAg
IFJFUSAzOiAgVGhlIHNvbHV0aW9uIE1VU1QgbGltaXQgdGhlIGltcGFjdCBvZiBvdmVybG9h
ZCBvbiB0aGUgb3ZlcmFsbFxuICAgICAgICAgICB1c2VmdWwgdGhyb3VnaHB1dCBvZiBhIERp
YW1ldGVyIHNlcnZlciwgZXZlbiB3aGVuIHRoZVxuICAgICAgICAgICBpbmNvbWluZyBsb2Fk
IG9uIHRoZSBuZXR3b3JrIGlzIGZhciBpbiBleGNlc3Mgb2YgaXRzXG4gICAgICAgICAgIGNh
cGFjaXR5LiAgVGhlIG92ZXJhbGwgdXNlZnVsIHRocm91Z2hwdXQgdW5kZXIgbG9hZCBpcyB0
aGVcbiAgICAgICAgICAgdWx0aW1hdGUgbWVhc3VyZSBvZiB0aGUgdmFsdWUgb2YgYSBzb2x1
dGlvbi5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBwcm92aWRlcyBpbmZvcm1h
dGlvbiB0aGF0IG5vZGVzIGNhbiB1c2UgdG9cbiAgICAgICAgICAgcmVkdWNlIHRoZSBpbXBh
Y3Qgb2Ygb3ZlcmxvYWQuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAg
IEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzNl1cbl9cbklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAg
ICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIFJFUSA0OiAgRGlhbWV0ZXIgYWxsb3dzIHJlcXVl
c3RzIHRvIGJlIHNlbnQgZnJvbSBlaXRoZXIgc2lkZSBvZiBhXG4gICAgICAgICAgIGNvbm5l
Y3Rpb24sIGFuZCBlaXRoZXIgc2lkZSBvZiBhIGNvbm5lY3Rpb24gbWF5IGhhdmUgbmVlZCB0
b1xuICAgICAgICAgICBwcm92aWRlIGl0cyBvdmVybG9hZCBzdGF0dXMuICBUaGUgc29sdXRp
b24gTVVTVCBhbGxvdyBlYWNoXG4gICAgICAgICAgIHNpZGUgb2YgYSBjb25uZWN0aW9uIHRv
IGluZGVwZW5kZW50bHkgaW5mb3JtIHRoZSBvdGhlciBvZiBpdHNcbiAgICAgICAgICAgb3Zl
cmxvYWQgc3RhdHVzLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBET0lDIEFWUHMgY2Fu
IGJlIGluY2x1ZGVkIHJlZ2FyZGxlc3Mgb2ZcbiAgICAgICAgICAgdHJhbnNhY3Rpb24gImRp
cmVjdGlvbiJcblxuXG5cbiAgIFJFUSA1OiAgRGlhbWV0ZXIgYWxsb3dzIG5vZGVzIHRvIGRl
dGVybWluZSB0aGVpciBwZWVycyB2aWEgZHluYW1pY1xuICAgICAgICAgICBkaXNjb3Zlcnkg
b3IgbWFudWFsIGNvbmZpZ3VyYXRpb24uICBUaGUgc29sdXRpb24gTVVTVCB3b3JrXG4gICAg
ICAgICAgIGNvbnNpc3RlbnRseSB3aXRob3V0IHJlZ2FyZCB0byBob3cgcGVlcnMgYXJlIGRl
dGVybWluZWQuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgY29udGFpbnMgbm8g
YXNzdW1wdGlvbnMgYWJvdXQgaG93IHBlZXJzIGFyZVxuICAgICAgICAgICBkaXNjb3ZlcmVk
LlxuXG5cblxuICAgUkVRIDY6ICBUaGUgc29sdXRpb24gZGVzaWduZXJzIFNIT1VMRCBzZWVr
IHRvIG1pbmltaXplIHRoZSBhbW91bnQgb2ZcbiAgICAgICAgICAgbmV3IGNvbmZpZ3VyYXRp
b24gcmVxdWlyZWQgaW4gb3JkZXIgdG8gd29yay4gIEZvciBleGFtcGxlLCBpdFxuICAgICAg
ICAgICBpcyBiZXR0ZXIgdG8gYWxsb3cgcGVlcnMgdG8gYWR2ZXJ0aXNlIG9yIG5lZ290aWF0
ZSBzdXBwb3J0XG4gICAgICAgICAgIGZvciB0aGUgc29sdXRpb24sIHJhdGhlciB0aGFuIHRv
IHJlcXVpcmUgdGhhdCB0aGlzIGtub3dsZWRnZVxuICAgICAgICAgICB0byBiZSBjb25maWd1
cmVkIGF0IGVhY2ggbm9kZS5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCou
IE1vc3QgRE9JQyBwYXJhbWV0ZXJzIGFyZSBhZHZlcnRpc2VkXG4gICAgICAgICAgIHVzaW5n
IHRoZSBET0lDIGNhcGFiaWxpdHkgYW5ub3VuY2VtZW50IG1lY2hhbmlzbS4gIEhvd2V2ZXIs
XG4gICAgICAgICAgIHRoZXJlIGFyZSBzb21lIHNpdHVhdGlvbnMgd2hlcmUgY29uZmlndXJh
dGlvbiBpcyByZXF1aXJlZC5cbiAgICAgICAgICAgRm9yIGV4YW1wbGUsIGEgRE9JQyBub2Rl
IGRldGVjdCB0aGUgZmFjdCB0aGF0IGEgcGVlciBtYXkgbm90XG4gICAgICAgICAgIHN1cHBv
cnQgRE9JQyB3aGVuIG5vZGVzIG9uIHRoZSBvdGhlciBzaWRlIG9mIHRoZSBub24tXG4gICAg
ICAgICAgIHN1cHBvcnRpbmcgbm9kZSBkbyBzdXBwb3J0IERPSUMgd2l0aG91dCBjb25maWd1
cmF0aW9uLlxuXG5cblxuQy42LjIuICBQZXJmb3JtYW5jZVxuXG4gICBSRVEgNzogIFRoZSBz
b2x1dGlvbiBhbmQgYW55IGFzc29jaWF0ZWQgZGVmYXVsdCBhbGdvcml0aG0ocykgTVVTVFxu
ICAgICAgICAgICBlbnN1cmUgdGhhdCB0aGUgc3lzdGVtIHJlbWFpbnMgc3RhYmxlLiAgQXQg
c29tZSBwb2ludCBhZnRlclxuICAgICAgICAgICBhbiBvdmVybG9hZCBjb25kaXRpb24gaGFz
IGVuZGVkLCB0aGUgc29sdXRpb24gTVVTVCBlbmFibGVcbiAgICAgICAgICAgY2FwYWNpdHkg
dG8gc3RhYmlsaXplIGFuZCBiZWNvbWUgZXF1YWwgdG8gd2hhdCBpdCB3b3VsZCBiZSBpblxu
ICAgICAgICAgICB0aGUgYWJzZW5jZSBvZiBhbiBvdmVybG9hZCBjb25kaXRpb24uICBOb3Rl
IHRoYXQgdGhpcyBhbHNvXG4gICAgICAgICAgIHJlcXVpcmVzIHRoYXQgdGhlIHNvbHV0aW9u
IE1VU1QgYWxsb3cgbm9kZXMgdG8gc2hlZCBsb2FkXG4gICAgICAgICAgIHdpdGhvdXQgaW50
cm9kdWNpbmcgbm9uLWNvbnZlcmdpbmcgb3NjaWxsYXRpb25zIGR1cmluZyBvclxuICAgICAg
ICAgICBhZnRlciBhbiBvdmVybG9hZCBjb25kaXRpb24uXG5cbiAgICAgICAgICAgKkNvbXBs
aWFudCouIFRoZSBzcGVjaWZpY2F0aW9uIG9mZmVycyBndWlkYW5jZSB0aGF0XG4gICAgICAg
ICAgIGltcGxlbWVudGF0aW9ucyBzaG91bGQgYXBwbHkgaHlzdGVyZXNpcyB3aGVuIHJlY292
ZXJpbmcgZnJvbVxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1
bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzddXG5fXG5JbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVy
IDIwMTRcblxuXG4gICAgICAgICAgIG92ZXJsb2FkLCBhbmQgYXZvaWQgc3VkZGVuIHJhbXAg
dXBzIGluIG9mZmVyZWQgbG9hZCB3aGVuXG4gICAgICAgICAgIHJlY292ZXJpbmcuXG5cblxu
XG4gICBSRVEgODogIFN1cHBvcnRpbmcgbm9kZXMgTVVTVCBiZSBhYmxlIHRvIGRpc3Rpbmd1
aXNoIGN1cnJlbnQgb3ZlcmxvYWRcbiAgICAgICAgICAgaW5mb3JtYXRpb24gZnJvbSBzdGFs
ZSBpbmZvcm1hdGlvbi5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIERP
SUMgb3ZlcmxvYWQgcmVwb3J0cyBhcmUgInNvZnRcbiAgICAgICAgICAgc3RhdGUiLCB0aGF0
IGlzIHRoZXkgZXhwaXJlIGFmdGVyIGFuIGluZGljYXRlZCBwZXJpb2QuICBET0lDXG4gICAg
ICAgICAgIG5vZGVzIG1heSBhbHNvIHNlbmQgcmVwb3J0cyB0aGF0IGVuZCBleGlzdGluZyBv
dmVybG9hZFxuICAgICAgICAgICBjb25kaXRpb25zLiAgRE9JQyByZXF1aXJlcyByZXBvcnRp
bmcgbm9kZXMgdG8gZW5zdXJlIHRoYXQgYWxsXG4gICAgICAgICAgIHJlbGV2YW50IHJlYWN0
aW5nIG5vZGVzIHJlY2VpdmUgb3ZlcmxvYWQgcmVwb3J0cy5cblxuICAgICAgICAgICBIb3dl
dmVyLCBzaW5jZSBET0lDIGRvZXMgbm90IGFsbG93IHJlcG9ydGluZyBub2RlcyB0byBzZW5k
XG4gICAgICAgICAgIE9MUnMgaW4gd2F0Y2hkb2cgbWVzc2FnZXMsIGlmIGFuIG92ZXJsb2Fk
IGNvbmRpdGlvbiByZXN1bHRzXG4gICAgICAgICAgIGluIHplcm8gb2ZmZXJlZCBsb2FkLCB0
aGUgcmVwb3J0aW5nIG5vZGUgY2Fubm90IHVwZGF0ZSB0aGVcbiAgICAgICAgICAgY29uZGl0
aW9uIHVudGlsIHRoZSBleHBpcmF0aW9uIG9mIHRoZSBvcmlnaW5hbCBPTFIuXG5cblxuXG4g
ICBSRVEgOTogIFRoZSBzb2x1dGlvbiBNVVNUIGZ1bmN0aW9uIGFjcm9zcyBmdWxseSBsb2Fk
ZWQgYXMgd2VsbCBhc1xuICAgICAgICAgICBxdWllc2NlbnQgdHJhbnNwb3J0IGNvbm5lY3Rp
b25zLiAgVGhpcyBpcyBwYXJ0aWFsbHkgZGVyaXZlZFxuICAgICAgICAgICBmcm9tIHRoZSBy
ZXF1aXJlbWVudCBmb3Igc3RhYmlsaXR5IGluIFJFUSA3LlxuXG4gICAgICAgICAgICpOb3Qg
Q29tcGxpYW50Ki4gRE9JQyBkb2VzIG5vdCBhbGxvdyBPTFJzIHRvIGJlIHNlbnQgb3Zlclxu
ICAgICAgICAgICBxdWllc2NlbnQgdHJhbnNwb3J0IGNvbm5lY3Rpb25zLiAgVGhpcyBpcyBk
dWUgdG8gdGhlIGZhY3RcbiAgICAgICAgICAgdGhhdCBPTFJzIGNhbm5vdCBiZSBzZW50IG91
dHNpZGUgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIHdoaWNoXG4gICAgICAgICAgIHRoZXkgYXBw
bHkuXG5cblxuXG4gICBSRVEgMTA6IENvbnN1bWVycyBvZiBvdmVybG9hZCBpbmZvcm1hdGlv
biBNVVNUIGJlIGFibGUgdG8gZGV0ZXJtaW5lXG4gICAgICAgICAgIHdoZW4gdGhlIG92ZXJs
b2FkIGNvbmRpdGlvbiBpbXByb3ZlcyBvciBlbmRzLlxuXG4gICAgICAgICAgICpQYXJ0aWFs
bHkgQ29tcGxpYW50Ki4gKFNlZSByZXNwb25zZSB0byBwcmV2aW91cyB0d29cbiAgICAgICAg
ICAgcmVxdWlyZW1lbnRzLilcblxuXG5cbiAgIFJFUSAxMTogVGhlIHNvbHV0aW9uIE1VU1Qg
YmUgYWJsZSB0byBvcGVyYXRlIGluIG5ldHdvcmtzIG9mIGRpZmZlcmVudFxuICAgICAgICAg
ICBzaXplcy5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBtYWtlcyBubyBhc3N1
bXB0aW9ucyBhYm91dCB0aGUgc2l6ZSBvZiB0aGVcbiAgICAgICAgICAgbmV0d29yay4gIERP
SUMgY2FuIG9wZXJhdGUgcHVyZWx5IGJldHdlZW4gY2xpZW50cyBhbmRcbiAgICAgICAgICAg
c2VydmVycywgb3IgYWNyb3NzIGFnZW50cy5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwu
ICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAz
OF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAg
ICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIFJFUSAxMjogV2hlbiBhIHNpbmds
ZSBuZXR3b3JrIG5vZGUgZmFpbHMsIGdvZXMgaW50byBvdmVybG9hZCwgb3JcbiAgICAgICAg
ICAgc3VmZmVycyBmcm9tIHJlZHVjZWQgcHJvY2Vzc2luZyBjYXBhY2l0eSwgdGhlIHNvbHV0
aW9uIE1VU1RcbiAgICAgICAgICAgbWFrZSBpdCBwb3NzaWJsZSB0byBsaW1pdCB0aGUgaW1w
YWN0IG9mIHRoZSBhZmZlY3RlZCBub2RlIG9uXG4gICAgICAgICAgIG90aGVyIG5vZGVzIGlu
IHRoZSBuZXR3b3JrLiAgVGhpcyBoZWxwcyB0byBwcmV2ZW50IGEgc21hbGwtXG4gICAgICAg
ICAgIHNjYWxlIGZhaWx1cmUgZnJvbSBiZWNvbWluZyBhIHdpZGVzcHJlYWQgb3V0YWdlLlxu
XG4gICAgICAgICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50Ki4gRE9JQyBhbGxvd3Mgb3Zlcmxv
YWQgcmVwb3J0cyBmb3IgYW5cbiAgICAgICAgICAgZW50aXJlIHJlYWxtLCB3aGVyZSBhYmF0
ZWQgdHJhZmZpYyB3aWxsIG5vdCBiZSByZWRpcmVjdGVkXG4gICAgICAgICAgIHRvd2FyZHMg
YW5vdGhlciBzZXJ2ZXIuICBCdXQgaW4gc2l0dWF0aW9ucyB3aGVyZSBub2RlcyBjaG9vc2Vc
biAgICAgICAgICAgdG8gZGl2ZXJ0IHRyYWZmaWMgdG8gb3RoZXIgbm9kZXMsIERPSUMgb2Zm
ZXJzIG5vIHdheSBvZlxuICAgICAgICAgICBrbm93aW5nIHdoZXRoZXIgdGhlIG5ldyByZWNp
cGllbnRzIGNhbiBoYW5kbGUgdGhlIHRyYWZmaWMgaWZcbiAgICAgICAgICAgdGhleSBoYXZl
IG5vdCBhbHJlYWR5IGluZGljYXRlZCBvdmVybG9hZC4gIFRoaXMgbWF5IGJlXG4gICAgICAg
ICAgIG1pdGlnYXRlZCB3aXRoIHRoZSB1c2Ugb2YgYSBmdXR1cmUgImxvYWQiIGV4dGVuc2lv
biwgb3Igd2l0aFxuICAgICAgICAgICB0aGUgdXNlIG9mIHByb3ByaWV0YXJ5IGR5bmFtaWMg
bG9hZC1iYWxhbmNpbmcgbWVjaGFuaXNtcy5cblxuXG5cbiAgIFJFUSAxMzogVGhlIHNvbHV0
aW9uIE1VU1QgTk9UIGludHJvZHVjZSBzdWJzdGFudGlhbCBhZGRpdGlvbmFsIHdvcmtcbiAg
ICAgICAgICAgZm9yIGEgbm9kZSBpbiBhbiBvdmVybG9hZGVkIHN0YXRlLiAgRm9yIGV4YW1w
bGUsIGFcbiAgICAgICAgICAgcmVxdWlyZW1lbnQgZm9yIGFuIG92ZXJsb2FkZWQgbm9kZSB0
byBzZW5kIG92ZXJsb2FkXG4gICAgICAgICAgIGluZm9ybWF0aW9uIGV2ZXJ5IHRpbWUgaXQg
cmVjZWl2ZWQgYSBuZXcgcmVxdWVzdCB3b3VsZFxuICAgICAgICAgICBpbnRyb2R1Y2Ugc3Vi
c3RhbnRpYWwgd29yay5cblxuICAgICAgICAgICAqTm90IENvbXBsaWFudCouIERPSUMgZG9l
cyBpbiBmYWN0IGVuY291cmFnZSBhbiBvdmVybG9hZGVkXG4gICAgICAgICAgIG5vZGUgdG8g
c2VuZCBhbiBPTFIgaW4gZXZlcnkgcmVzcG9uc2UuICBUaGUgd29ya2luZyBncm91cFxuICAg
ICAgICAgICB0aGF0IG90aGVyIG1lY2hhbmlzbXMgdG8gZW5zdXJlIHRoYXQgZXZlcnkgcmVs
ZXZhbnQgbm9kZVxuICAgICAgICAgICByZWNlaXZlcyBhbiBPTFIgd291bGQgY3JlYXRlIGV2
ZW4gbW9yZSB3b3JrLiAgW05vdGU6IFRoaXNcbiAgICAgICAgICAgbmVlZHMgZGlzY3Vzc2lv
bi5dXG5cblxuXG4gICBSRVEgMTQ6IFNvbWUgc2NlbmFyaW9zIHRoYXQgcmVzdWx0IGluIG92
ZXJsb2FkIGludm9sdmUgYSByYXBpZFxuICAgICAgICAgICBpbmNyZWFzZSBvZiB0cmFmZmlj
IHdpdGggbGl0dGxlIHRpbWUgYmV0d2VlbiBub3JtYWwgbGV2ZWxzXG4gICAgICAgICAgIGFu
ZCBsZXZlbHMgdGhhdCBpbmR1Y2Ugb3ZlcmxvYWQuICBUaGUgc29sdXRpb24gU0hPVUxEIHBy
b3ZpZGVcbiAgICAgICAgICAgZm9yIHJhcGlkIGZlZWRiYWNrIHdoZW4gdHJhZmZpYyBsZXZl
bHMgaW5jcmVhc2UuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSBwaWdneWJhY2sg
bWVjaGFuaXNtIGFsbG93cyBPTFJzIHRvIGJlIHNlbnRcbiAgICAgICAgICAgYXQgdGhlIHNh
bWUgcmF0ZSBhcyBhcHBsaWNhdGlvbiB0cmFmZmljLlxuXG5cblxuICAgUkVRIDE1OiBUaGUg
c29sdXRpb24gTVVTVCBOT1QgaW50ZXJmZXJlIHdpdGggdGhlIGNvbmdlc3Rpb24gY29udHJv
bFxuICAgICAgICAgICBtZWNoYW5pc21zIG9mIHVuZGVybHlpbmcgdHJhbnNwb3J0IHByb3Rv
Y29scy4gIEZvciBleGFtcGxlLCBhXG4gICAgICAgICAgIHNvbHV0aW9uIHRoYXQgb3BlbmVk
IGFkZGl0aW9uYWwgVENQIGNvbm5lY3Rpb25zIHdoZW4gdGhlXG4gICAgICAgICAgIG5ldHdv
cmsgaXMgY29uZ2VzdGVkIHdvdWxkIHJlZHVjZSB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGVc
biAgICAgICAgICAgdW5kZXJseWluZyBjb25nZXN0aW9uIGNvbnRyb2wgbWVjaGFuaXNtcy5c
blxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwg
MjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzOV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxu
XG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgZG9lcyBub3QgcmVxdWlyZSBvciBy
ZWNvbW1lbmQgY2hhbmdlcyBpblxuICAgICAgICAgICB0aGUgaGFuZGxpbmcgb2YgdHJhbnNw
b3J0IHByb3RvY29scyBvciBjb25uZWN0aW9ucy5cblxuXG5cbkMuNi4zLiAgSGV0ZXJvZ2Vu
ZW91cyBTdXBwb3J0IGZvciBTb2x1dGlvblxuXG4gICBSRVEgMTY6IFRoZSBzb2x1dGlvbiBp
cyBsaWtlbHkgdG8gYmUgZGVwbG95ZWQgaW5jcmVtZW50YWxseS4gIFRoZVxuICAgICAgICAg
ICBzb2x1dGlvbiBNVVNUIHN1cHBvcnQgYSBtaXhlZCBlbnZpcm9ubWVudCB3aGVyZSBzb21l
LCBidXQgbm90XG4gICAgICAgICAgIGFsbCwgbm9kZXMgaW1wbGVtZW50IGl0LlxuXG4gICAg
ICAgICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50Ki4gRE9JQyB3b3JrcyB3aXRoIG1vc3QgbWl4
ZWQtZGVwbG95bWVudFxuICAgICAgICAgICBzY2VuYXJpb3MuICBIb3dldmVyLCBpdCBjYW5u
b3Qgd29yayBhY3Jvc3MgYSBub24tc3VwcG9ydGluZ1xuICAgICAgICAgICBwcm94eSB0aGF0
IG1vZGlmaWVzIE9yaWdpbi1Ib3N0IEFWUHMgaW4gYW5zd2VyIG1lc3NhZ2VzLlxuICAgICAg
ICAgICBET0lDIHdpbGwgaGF2ZSBsaW1pdGVkIGltcGFjdCBpbiBuZXR3b3JrcyB3aGVyZSB0
aGUgbm9kZXNcbiAgICAgICAgICAgdGhhdCBwZXJmb3JtIHNlcnZlciBzZWxlY3Rpb25zIGRv
IG5vdCBzdXBwb3J0IHRoZSBtZWNoYW5pc20uXG5cblxuXG4gICBSRVEgMTc6IEluIGEgbWl4
ZWQgZW52aXJvbm1lbnQgd2l0aCBub2RlcyB0aGF0IHN1cHBvcnQgdGhlIHNvbHV0aW9uXG4g
ICAgICAgICAgIGFuZCBub2RlcyB0aGF0IGRvIG5vdCwgdGhlIHNvbHV0aW9uIE1VU1QgTk9U
IHJlc3VsdCBpblxuICAgICAgICAgICBtYXRlcmlhbGx5IGxlc3MgdXNlZnVsIHRocm91Z2hw
dXQgZHVyaW5nIG92ZXJsb2FkIGFzIHdvdWxkXG4gICAgICAgICAgIGhhdmUgcmVzdWx0ZWQg
aWYgdGhlIHNvbHV0aW9uIHdlcmUgbm90IHByZXNlbnQuICBJdCBTSE9VTERcbiAgICAgICAg
ICAgcmVzdWx0IGluIGxlc3Mgc2V2ZXJlIG92ZXJsb2FkIGluIHRoaXMgZW52aXJvbm1lbnQu
XG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIEluIG1vc3QgbWl4ZWQtc3VwcG9ydCBkZXBs
b3ltZW50LCBET0lDIHdpbGxcbiAgICAgICAgICAgb2ZmZXIgYXQgbGVhc3Qgc29tZSB2YWx1
ZSwgYW5kIHdpbGwgbm90IG1ha2UgdGhpbmdzIHdvcnNlLlxuXG5cblxuICAgUkVRIDE4OiBJ
biBhIG1peGVkIGVudmlyb25tZW50IG9mIG5vZGVzIHRoYXQgc3VwcG9ydCB0aGUgc29sdXRp
b24gYW5kXG4gICAgICAgICAgIG5vZGVzIHRoYXQgZG8gbm90LCB0aGUgc29sdXRpb24gTVVT
VCBOT1QgcHJlY2x1ZGUgZWxlbWVudHNcbiAgICAgICAgICAgdGhhdCBzdXBwb3J0IG92ZXJs
b2FkIGNvbnRyb2wgZnJvbSB0cmVhdGluZyBlbGVtZW50cyB0aGF0IGRvXG4gICAgICAgICAg
IG5vdCBzdXBwb3J0IG92ZXJsb2FkIGNvbnRyb2wgaW4gYW4gZXF1aXRhYmxlIGZhc2hpb24g
cmVsYXRpdmVcbiAgICAgICAgICAgdG8gdGhvc2UgdGhhdCBkby4gIFVzZXJzIGFuZCBvcGVy
YXRvcnMgb2Ygbm9kZXMgdGhhdCBkbyBub3RcbiAgICAgICAgICAgc3VwcG9ydCB0aGUgc29s
dXRpb24gTVVTVCBOT1QgdW5mYWlybHkgYmVuZWZpdCBmcm9tIHRoZVxuICAgICAgICAgICBz
b2x1dGlvbi4gIFRoZSBzb2x1dGlvbiBzcGVjaWZpY2F0aW9uIFNIT1VMRCBwcm92aWRlIGd1
aWRhbmNlXG4gICAgICAgICAgIHRvIGltcGxlbWVudGVycyBmb3IgZGVhbGluZyB3aXRoIGVs
ZW1lbnRzIG5vdCBzdXBwb3J0aW5nXG4gICAgICAgICAgIG92ZXJsb2FkIGNvbnRyb2wuXG5c
biAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgcHJvdmlkZXMgbWVjaGFuaXNtcyB0byBh
YmF0ZSBsb2FkIGZyb20gbm9uLVxuICAgICAgICAgICBzdXBwb3J0aW5nIHNvdXJjZXMuICBG
dXJ0aGVybW9yZSwgaXQgcmVjb21tZW5kcyB0aGF0XG4gICAgICAgICAgIHJlcG9ydGluZyBu
b2RlcyB3aWxsIHN0aWxsIG5lZWQgdG8gYmUgYWJsZSB0byBhcHBseSB3aGF0ZXZlclxuICAg
ICAgICAgICBwcm90ZWN0aW9ucyB0aGV5IHdvdWxkIG9yZGluYXJpbHkgYXBwbHkgaWYgRE9J
QyB3ZXJlIG5vdCBpblxuICAgICAgICAgICB1c2UuXG5cblxuXG5cblxuXG5Lb3Job25lbiwg
ZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBb
UGFnZSA0MF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAg
ICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIFJFUSAxOTogSXQgTVVT
VCBiZSBwb3NzaWJsZSB0byB1c2UgdGhlIHNvbHV0aW9uIGJldHdlZW4gbm9kZXMgaW5cbiAg
ICAgICAgICAgZGlmZmVyZW50IHJlYWxtcyBhbmQgaW4gZGlmZmVyZW50IGFkbWluaXN0cmF0
aXZlIGRvbWFpbnMuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBET0lD
IGFsbG93cyBzZW5kaW5nIE9MUnMgYWNyb3NzXG4gICAgICAgICAgIGFkbWluaXN0cmF0aXZl
IGRvbWFpbnMsIGFuZCBwb3RlbnRpYWxseSB0byBub2RlcyBpbiBvdGhlclxuICAgICAgICAg
ICByZWFsbXMuICBIb3dldmVyLCBhbiBPTFIgY2Fubm90IGluZGljYXRlIG92ZXJsb2FkIGZv
ciByZWFsbXNcbiAgICAgICAgICAgb3RoZXIgdGhhbiB0aGUgb25lIGluIHRoZSBPcmlnaW4t
UmVhbG0gQVZQIG9mIHRoZSBjb250YWluaW5nXG4gICAgICAgICAgIGFuc3dlci5cblxuXG5c
biAgIFJFUSAyMDogQW55IGV4cGxpY2l0IG92ZXJsb2FkIGluZGljYXRpb24gTVVTVCBiZSBj
bGVhcmx5XG4gICAgICAgICAgIGRpc3Rpbmd1aXNoYWJsZSBmcm9tIG90aGVyIGVycm9ycyBy
ZXBvcnRlZCB2aWEgRGlhbWV0ZXIuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMg
c2VuZHMgZXhwbGljaXQgb3ZlcmxvYWQgaW5kaWNhdGlvbiBpblxuICAgICAgICAgICBvdmVy
bG9hZCByZXBvcnRzLiAgSXQgZG9lcyBub3QgZGVwZW5kIG9uIGVycm9yIHJlc3VsdCBjb2Rl
cy5cblxuXG5cbiAgIFJFUSAyMTogSW4gY2FzZXMgd2hlcmUgYSBuZXR3b3JrIG5vZGUgZmFp
bHMsIGlzIHNvIG92ZXJsb2FkZWQgdGhhdCBpdFxuICAgICAgICAgICBjYW5ub3QgcHJvY2Vz
cyBtZXNzYWdlcywgb3IgY2Fubm90IGNvbW11bmljYXRlIGR1ZSB0byBhXG4gICAgICAgICAg
IG5ldHdvcmsgZmFpbHVyZSwgaXQgbWF5IG5vdCBiZSBhYmxlIHRvIHByb3ZpZGUgZXhwbGlj
aXRcbiAgICAgICAgICAgaW5kaWNhdGlvbnMgb2YgdGhlIG5hdHVyZSBvZiB0aGUgZmFpbHVy
ZSBvciBpdHMgbGV2ZWxzIG9mXG4gICAgICAgICAgIG92ZXJsb2FkLiAgVGhlIHNvbHV0aW9u
IE1VU1QgcmVzdWx0IGluIGF0IGxlYXN0IGFzIG11Y2hcbiAgICAgICAgICAgdXNlZnVsIHRo
cm91Z2hwdXQgYXMgd291bGQgaGF2ZSByZXN1bHRlZCBpZiB0aGUgc29sdXRpb24gd2VyZVxu
ICAgICAgICAgICBub3QgaW4gcGxhY2UuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERP
SUMgb3ZlcmxvYWQgcmVwb3J0cyBoYXZlIHRoZSBwcmltYXJ5IGVmZmVjdCBvZlxuICAgICAg
ICAgICBzdXBwcmVzc2luZyBtZXNzYWdlIHJldHJpZXMgaW4gb3ZlcmxvYWQgY29uZGl0aW9u
cy4gIERPSUNcbiAgICAgICAgICAgcmVjb21tZW5kcyB0aGF0IG1lc3NhZ2VzIG5ldmVyIGJl
IHNpbGVudGx5IGRyb3BwZWQgaWYgYXQgYWxsXG4gICAgICAgICAgIHBvc3NpYmxlLlxuXG5c
blxuQy42LjQuICBHcmFudWxhciBDb250cm9sXG5cbiAgIFJFUSAyMjogVGhlIHNvbHV0aW9u
IE1VU1QgcHJvdmlkZSBhIHdheSBmb3IgYSBub2RlIHRvIHRocm90dGxlIHRoZVxuICAgICAg
ICAgICBhbW91bnQgb2YgdHJhZmZpYyBpdCByZWNlaXZlcyBmcm9tIGEgcGVlciBub2RlLiAg
VGhpc1xuICAgICAgICAgICB0aHJvdHRsaW5nIFNIT1VMRCBiZSBncmFkZWQgc28gdGhhdCBp
dCBjYW4gYmUgYXBwbGllZFxuICAgICAgICAgICBncmFkdWFsbHkgYXMgb2ZmZXJlZCBsb2Fk
IGluY3JlYXNlcy4gIE92ZXJsb2FkIGlzIG5vdCBhXG4gICAgICAgICAgIGJpbmFyeSBzdGF0
ZTsgdGhlcmUgbWF5IGJlIGRlZ3JlZXMgb2Ygb3ZlcmxvYWQuXG5cbiAgICAgICAgICAgKkNv
bXBsaWFudCouIFRoZSAibG9zcyIgYWxnb3JpdGhtIGV4cHJlc3NlcyBhIHBlcmNlbnRhZ2Vc
biAgICAgICAgICAgcmVkdWN0aW9uLlxuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwu
ICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0
MV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAg
ICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgIFJFUSAyMzogVGhlIHNvbHV0aW9u
IE1VU1QgcHJvdmlkZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIGVuYWJsZSBhXG4gICAg
ICAgICAgIGxvYWQtYmFsYW5jaW5nIG5vZGUgdG8gZGl2ZXJ0IG1lc3NhZ2VzIHRoYXQgYXJl
IHJlamVjdGVkIG9yXG4gICAgICAgICAgIG90aGVyd2lzZSB0aHJvdHRsZWQgYnkgYW4gb3Zl
cmxvYWRlZCB1cHN0cmVhbSBub2RlIHRvIG90aGVyXG4gICAgICAgICAgIHVwc3RyZWFtIG5v
ZGVzIHRoYXQgYXJlIHRoZSBtb3N0IGxpa2VseSB0byBoYXZlIHN1ZmZpY2llbnRcbiAgICAg
ICAgICAgY2FwYWNpdHkgdG8gcHJvY2VzcyB0aGVtLlxuXG4gICAgICAgICAgICpOb3QgQ29t
cGxpYW50Ki4gRE9JQyBwcm92aWRlcyBubyBidWlsdCBpbiBtZWNoYW5pc20gdG9cbiAgICAg
ICAgICAgZGV0ZXJtaW5lIHRoZSBiZXN0IHBsYWNlIHRvIGRpdmVydCBtZXNzYWdlcyB0aGF0
IHdvdWxkXG4gICAgICAgICAgIG90aGVyd2lzZSBiZSB0aHJvdHRsZWQuICBUaGlzIGNhbiBi
ZSBhY2NvbXBsaXNoZWQgd2l0aCBhXG4gICAgICAgICAgIGZ1dHVyZSAibG9hZCIgZXh0ZW5z
aW9uLCBvciB3aXRoIHByb3ByaWV0YXJ5IGxvYWQgYmFsYW5jaW5nXG4gICAgICAgICAgIG1l
Y2hhbmlzbXMuXG5cblxuXG4gICBSRVEgMjQ6IFRoZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUg
YSBtZWNoYW5pc20gZm9yIGluZGljYXRpbmcgbG9hZFxuICAgICAgICAgICBsZXZlbHMsIGV2
ZW4gd2hlbiBub3QgaW4gYW4gb3ZlcmxvYWQgY29uZGl0aW9uLCB0byBhc3Npc3RcbiAgICAg
ICAgICAgbm9kZXMgaW4gbWFraW5nIGRlY2lzaW9ucyB0byBwcmV2ZW50IG92ZXJsb2FkIGNv
bmRpdGlvbnMgZnJvbVxuICAgICAgICAgICBvY2N1cnJpbmcuXG5cbiAgICAgICAgICAgKk5v
dCBDb21wbGlhbnQqLiAiTG9hZCIgaW5mb3JtYXRpb24gaGFzIGJlZW4gbGVmdCBmb3IgYVxu
ICAgICAgICAgICBmdXR1cmUgZXh0ZW5zaW9uLlxuXG5cblxuQy42LjUuICBQcmlvcml0eSBh
bmQgUG9saWN5XG5cbiAgIFJFUSAyNTogVGhlIGJhc2Ugc3BlY2lmaWNhdGlvbiBmb3IgdGhl
IHNvbHV0aW9uIFNIT1VMRCBvZmZlciBnZW5lcmFsXG4gICAgICAgICAgIGd1aWRhbmNlIG9u
IHdoaWNoIG1lc3NhZ2UgdHlwZXMgbWlnaHQgYmUgZGVzaXJhYmxlIHRvIHNlbmQgb3JcbiAg
ICAgICAgICAgcHJvY2VzcyBvdmVyIG90aGVycyBkdXJpbmcgdGltZXMgb2Ygb3ZlcmxvYWQs
IGJhc2VkIG9uXG4gICAgICAgICAgIGFwcGxpY2F0aW9uLXNwZWNpZmljIGNvbnNpZGVyYXRp
b25zLiAgRm9yIGV4YW1wbGUsIGl0IG1heSBiZVxuICAgICAgICAgICBtb3JlIGJlbmVmaWNp
YWwgdG8gcHJvY2VzcyBtZXNzYWdlcyBmb3IgZXhpc3Rpbmcgc2Vzc2lvbnNcbiAgICAgICAg
ICAgYWhlYWQgb2YgbmV3IHNlc3Npb25zLiAgU29tZSBuZXR3b3JrcyBtYXkgaGF2ZSBhIHJl
cXVpcmVtZW50XG4gICAgICAgICAgIHRvIGdpdmUgcHJpb3JpdHkgdG8gcmVxdWVzdHMgYXNz
b2NpYXRlZCB3aXRoIGVtZXJnZW5jeVxuICAgICAgICAgICBzZXNzaW9ucy4gIEFueSBub3Jt
YXRpdmUgb3Igb3RoZXJ3aXNlIGRldGFpbGVkIGRlZmluaXRpb24gb2ZcbiAgICAgICAgICAg
dGhlIHJlbGF0aXZlIHByaW9yaXRpZXMgb2YgbWVzc2FnZSB0eXBlcyBkdXJpbmcgYW4gb3Zl
cmxvYWRcbiAgICAgICAgICAgY29uZGl0aW9uIHdpbGwgYmUgdGhlIHJlc3BvbnNpYmlsaXR5
IG9mIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICBzcGVjaWZpY2F0aW9uLlxuXG4gICAg
ICAgICAgICpDb21wbGlhbnQqLiBUaGUgc3BlY2lmaWNhdGlvbiBvZmZlcnMgZ3VpZGFuY2Ug
b24gaG93XG4gICAgICAgICAgIHJlcXVlc3RzIG1pZ2h0IGJlIHByaW9yaXRpemVkIGZvciBk
aWZmZXJlbnQgdHlwZXMgb2ZcbiAgICAgICAgICAgYXBwbGljYXRpb25zLlxuXG5cblxuICAg
UkVRIDI2OiBUaGUgc29sdXRpb24gTVVTVCBOT1QgcHJldmVudCBhIG5vZGUgZnJvbSBwcmlv
cml0aXppbmdcbiAgICAgICAgICAgcmVxdWVzdHMgYmFzZWQgb24gYW55IGxvY2FsIHBvbGlj
eSwgc28gdGhhdCBjZXJ0YWluIHJlcXVlc3RzXG4gICAgICAgICAgIGFyZSBnaXZlbiBwcmVm
ZXJlbnRpYWwgdHJlYXRtZW50LCBnaXZlbiBhZGRpdGlvbmFsXG4gICAgICAgICAgIHJldHJh
bnNtaXNzaW9uLCBub3QgdGhyb3R0bGVkLCBvciBwcm9jZXNzZWQgYWhlYWQgb2Ygb3RoZXJz
LlxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgNDJdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxu
XG4gICAgICAgICAgICpDb21wbGlhbnQqLiBOb3RoaW5nIGluIHRoZSBzcGVjaWZpY2F0aW9u
IHByZXZlbnRzXG4gICAgICAgICAgIGFwcGxpY2F0aW9uLXNwZWNpZmljLCBpbXBsZW1lbnRh
dGlvbi1zcGVjaWZpYywgb3IgbG9jYWxcbiAgICAgICAgICAgcG9saWNpZXMuXG5cblxuXG5D
LjYuNi4gIFNlY3VyaXR5XG5cbiAgIFJFUSAyNzogVGhlIHNvbHV0aW9uIE1VU1QgTk9UIHBy
b3ZpZGUgbmV3IHZ1bG5lcmFiaWxpdGllcyB0b1xuICAgICAgICAgICBtYWxpY2lvdXMgYXR0
YWNrIG9yIGluY3JlYXNlIHRoZSBzZXZlcml0eSBvZiBhbnkgZXhpc3RpbmdcbiAgICAgICAg
ICAgdnVsbmVyYWJpbGl0aWVzLiAgVGhpcyBpbmNsdWRlcyB2dWxuZXJhYmlsaXRpZXMgdG8g
RG9TIGFuZFxuICAgICAgICAgICBERG9TIGF0dGFja3MgYXMgd2VsbCBhcyByZXBsYXkgYW5k
IG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuXG4gICAgICAgICAgIE5vdGUgdGhhdCB0aGUg
RGlhbWV0ZXIgYmFzZSBzcGVjaWZpY2F0aW9uIFtSRkM2NzMzXSBsYWNrc1xuICAgICAgICAg
ICBlbmQtdG8tZW5kIHNlY3VyaXR5IGFuZCB0aGlzIG11c3QgYmUgY29uc2lkZXJlZCAoc2Vl
IHRoZVxuICAgICAgICAgICBTZWN1cml0eSBDb25zaWRlcmF0aW9ucyBpbiBbUkZDNzA2OF0p
LiAgTm90ZSB0aGF0IHRoaXNcbiAgICAgICAgICAgcmVxdWlyZW1lbnQgd2FzIGV4cHJlc3Nl
ZCBhdCBhIGhpZ2ggbGV2ZWwgc28gYXMgdG8gbm90XG4gICAgICAgICAgIHByZWNsdWRlIGFu
eSBwYXJ0aWN1bGFyIHNvbHV0aW9uLiAgSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGVcbiAgICAg
ICAgICAgc29sdXRpb24gd2lsbCBhZGRyZXNzIHRoaXMgaW4gbW9yZSBkZXRhaWwuXG5cbiAg
ICAgICAgICAgKkNvbXBsaWFudCouIFRoZSB3b3JraW5nIGdyb3VwIGlzIG5vdCBhd2FyZSBv
ZiBhbnkgc3VjaFxuICAgICAgICAgICB2dWxuZXJhYmlsaXRpZXMuICBbVGhpcyBtYXkgbmVl
ZCBmdXJ0aGVyIGFuYWx5c2lzLl1cblxuXG5cbiAgIFJFUSAyODogVGhlIHNvbHV0aW9uIE1V
U1QgTk9UIGRlcGVuZCBvbiBiZWluZyBkZXBsb3llZCBpblxuICAgICAgICAgICBlbnZpcm9u
bWVudHMgd2hlcmUgYWxsIERpYW1ldGVyIG5vZGVzIGFyZSBjb21wbGV0ZWx5IHRydXN0ZWQu
XG4gICAgICAgICAgIEl0IFNIT1VMRCBvcGVyYXRlIGFzIGVmZmVjdGl2ZWx5IGFzIHBvc3Np
YmxlIGluIGVudmlyb25tZW50c1xuICAgICAgICAgICB3aGVyZSBvdGhlciBub2RlcyBhcmUg
bWFsaWNpb3VzOyB0aGlzIGluY2x1ZGVzIHByZXZlbnRpbmdcbiAgICAgICAgICAgbWFsaWNp
b3VzIG5vZGVzIGZyb20gb2J0YWluaW5nIG1vcmUgdGhhbiBhIGZhaXIgc2hhcmUgb2ZcbiAg
ICAgICAgICAgc2VydmljZS4gIE5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IGltcGx5IGFueSBy
ZXNwb25zaWJpbGl0eSBvblxuICAgICAgICAgICB0aGUgc29sdXRpb24gdG8gZGV0ZWN0LCBv
ciB0YWtlIGNvdW50ZXJtZWFzdXJlcyBhZ2FpbnN0LFxuICAgICAgICAgICBtYWxpY2lvdXMg
bm9kZXMuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBTaW5jZSBhbGwg
RGlhbWV0ZXIgc2VjdXJpdHkgaXNcbiAgICAgICAgICAgY3VycmVudGx5IGF0IHRoZSB0cmFu
c3BvcnQgbGF5ZXIsIG5vZGVzIG11c3QgdHJ1c3QgaW1tZWRpYXRlXG4gICAgICAgICAgIHBl
ZXJzIHRvIGVuZm9yY2UgdHJ1c3QgcG9saWNpZXMuICBIb3dldmVyLCB0aGVyZSBhcmVcbiAg
ICAgICAgICAgc2l0dWF0aW9ucyB3aGVyZSBhIERPSUMgbm9kZSBjYW5ub3QgZGV0ZXJtaW5l
IGlmIGFuIGltbWVkaWF0ZVxuICAgICAgICAgICBwZWVyIHN1cHBvcnRzIERPSUMuICBUaGUg
YXV0aG9ycyByZWNvbW1lbmQgYW4gZXhwZXJ0IHNlY3VyaXR5XG4gICAgICAgICAgIHJldmll
dy5cblxuXG5cbiAgIFJFUSAyOTogSXQgTVVTVCBiZSBwb3NzaWJsZSBmb3IgYSBzdXBwb3J0
aW5nIG5vZGUgdG8gbWFrZVxuICAgICAgICAgICBhdXRob3JpemF0aW9uIGRlY2lzaW9ucyBh
Ym91dCB3aGF0IGluZm9ybWF0aW9uIHdpbGwgYmUgc2VudFxuICAgICAgICAgICB0byBwZWVy
IG5vZGVzIGJhc2VkIG9uIHRoZSBpZGVudGl0eSBvZiB0aG9zZSBub2Rlcy4gIFRoaXNcbiAg
ICAgICAgICAgYWxsb3dzIGEgZG9tYWluIGFkbWluaXN0cmF0b3Igd2hvIGNvbnNpZGVycyB0
aGUgbG9hZCBvZiB0aGVpclxuICAgICAgICAgICBub2RlcyB0byBiZSBzZW5zaXRpdmUgaW5m
b3JtYXRpb24gdG8gcmVzdHJpY3QgYWNjZXNzIHRvIHRoYXRcbiAgICAgICAgICAgaW5mb3Jt
YXRpb24uICBPZiBjb3Vyc2UsIGluIHN1Y2ggY2FzZXMsIHRoZXJlIGlzIG5vXG5cblxuXG5L
b3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVuZSAyNSwgMjAxNSAgICAgICAg
ICAgICAgICBbUGFnZSA0M11cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAg
ICBET0lDICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgMjAxNFxuXG5cbiAgICAgICAg
ICAgZXhwZWN0YXRpb24gdGhhdCB0aGUgc29sdXRpb24gaXRzZWxmIHdpbGwgaGVscCBwcmV2
ZW50XG4gICAgICAgICAgIG92ZXJsb2FkIGZyb20gdGhhdCBwZWVyIG5vZGUuXG5cbiAgICAg
ICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiAoU2VlIHJlc3BvbnNlIHRvIHByZXZpb3Vz
XG4gICAgICAgICAgIHJlcXVpcmVtZW50LilcblxuXG5cbiAgIFJFUSAzMDogVGhlIHNvbHV0
aW9uIE1VU1QgTk9UIGludGVyZmVyZSB3aXRoIGFueSBEaWFtZXRlci1jb21wbGlhbnRcbiAg
ICAgICAgICAgbWV0aG9kIHRoYXQgYSBub2RlIG1heSB1c2UgdG8gcHJvdGVjdCBpdHNlbGYg
ZnJvbSBvdmVybG9hZFxuICAgICAgICAgICBmcm9tIG5vbi1zdXBwb3J0aW5nIG5vZGVzIG9y
IGZyb20gZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcy5cblxuICAgICAgICAgICAqQ29tcGxp
YW50Ki4gVGhlIHNwZWNpZmljYXRpb24gcmVjb21tZW5kcyB0aGF0IGFueSBzdWNoXG4gICAg
ICAgICAgIHByb3RlY3Rpb24gbWVjaGFuaXNtIG5lZWRlZCB3aXRob3V0IERPSUMgc2hvdWxk
IGNvbnRpbnVlIHRvXG4gICAgICAgICAgIGJlIGVtcGxveWVkIHdpdGggRE9JQy5cblxuXG5c
bkMuNi43LiAgRmxleGliaWxpdHkgYW5kIEV4dGVuc2liaWxpdHlcblxuICAgUkVRIDMxOiBU
aGVyZSBhcmUgbXVsdGlwbGUgc2l0dWF0aW9ucyB3aGVyZSBhIERpYW1ldGVyIG5vZGUgbWF5
IGJlXG4gICAgICAgICAgIG92ZXJsb2FkZWQgZm9yIHNvbWUgcHVycG9zZXMgYnV0IG5vdCBv
dGhlcnMuICBGb3IgZXhhbXBsZSxcbiAgICAgICAgICAgdGhpcyBjYW4gaGFwcGVuIHRvIGFu
IGFnZW50IG9yIHNlcnZlciB0aGF0IHN1cHBvcnRzIG11bHRpcGxlXG4gICAgICAgICAgIGFw
cGxpY2F0aW9ucywgb3Igd2hlbiBhIHNlcnZlciBkZXBlbmRzIG9uIG11bHRpcGxlIGV4dGVy
bmFsXG4gICAgICAgICAgIHJlc291cmNlcywgc29tZSBvZiB3aGljaCBtYXkgYmVjb21lIG92
ZXJsb2FkZWQgd2hpbGUgb3RoZXJzXG4gICAgICAgICAgIGFyZSBmdWxseSBhdmFpbGFibGUu
ICBUaGUgc29sdXRpb24gTVVTVCBhbGxvdyBEaWFtZXRlciBub2Rlc1xuICAgICAgICAgICB0
byBpbmRpY2F0ZSBvdmVybG9hZCB3aXRoIHN1ZmZpY2llbnQgZ3JhbnVsYXJpdHkgdG8gYWxs
b3dcbiAgICAgICAgICAgY2xpZW50cyB0byB0YWtlIGFjdGlvbiBiYXNlZCBvbiB0aGUgb3Zl
cmxvYWRlZCByZXNvdXJjZXNcbiAgICAgICAgICAgd2l0aG91dCB1bnJlYXNvbmFibHkgZm9y
Y2luZyBhdmFpbGFibGUgY2FwYWNpdHkgdG8gZ28gdW51c2VkLlxuICAgICAgICAgICBUaGUg
c29sdXRpb24gTVVTVCBzdXBwb3J0IHNwZWNpZmljYXRpb24gb2Ygb3ZlcmxvYWRcbiAgICAg
ICAgICAgaW5mb3JtYXRpb24gd2l0aCBncmFudWxhcml0aWVzIG9mIGF0IGxlYXN0ICJEaWFt
ZXRlciBub2RlIixcbiAgICAgICAgICAgInJlYWxtIiwgYW5kICJEaWFtZXRlciBhcHBsaWNh
dGlvbiIgYW5kIE1VU1QgYWxsb3dcbiAgICAgICAgICAgZXh0ZW5zaWJpbGl0eSBmb3Igb3Ro
ZXJzIHRvIGJlIGFkZGVkIGluIHRoZSBmdXR1cmUuXG5cbiAgICAgICAgICAgKlBhcnRpYWxs
eSBDb21wbGlhbnQqLiBBbGwgRE9JQyBvdmVybG9hZCByZXBvcnRzIGFyZSBzY29wZWRcbiAg
ICAgICAgICAgdG8gdGhlIHNwZWNpZmljIGFwcGxpY2F0aW9uIGFuZCByZWFsbS4gIEluc2lk
ZSB0aGF0IHNjb3BlLFxuICAgICAgICAgICBvdmVybG9hZCBjYW4gYmUgcmVwb3J0ZWQgYXQg
dGhlIHNwZWNpZmljIHNlcnZlciBvciB3aG9sZVxuICAgICAgICAgICByZWFsbSBzY29wZS4g
IEFzIGN1cnJlbnRseSBzcGVjaWZpZWQsIERPSUMgY2Fubm90IGluZGljYXRlXG4gICAgICAg
ICAgIGxvY2FsIG92ZXJsb2FkIGZvciBhbiBhZ2VudC4gIEF0IHRoZSB0aW1lIG9mIHRoaXMg
d3JpdGluZyxcbiAgICAgICAgICAgdGhlIERJTUUgd29ya2luZyBncm91cCBoYXMgcGxhbnMg
dG8gd29yayBvbiBhbiBhZ2VudC1vdmVybG9hZFxuICAgICAgICAgICBleHRlbnNpb24uXG5c
biAgICAgICAgICAgRE9JQyBhbGxvd3MgbmV3ICJzY29wZXMiIHRocm91Z2ggdGhlIHVzZSBv
ZiBleHRlbmRlZCByZXBvcnRcbiAgICAgICAgICAgdHlwZXMuXG5cblxuXG5cblxuXG5cbktv
cmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAg
ICAgICAgIFtQYWdlIDQ0XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAg
IERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgUkVRIDMy
OiBUaGUgc29sdXRpb24gTVVTVCBwcm92aWRlIGEgbWV0aG9kIGZvciBleHRlbmRpbmcgdGhl
XG4gICAgICAgICAgIGluZm9ybWF0aW9uIGNvbW11bmljYXRlZCBhbmQgdGhlIGFsZ29yaXRo
bXMgdXNlZCBmb3Igb3ZlcmxvYWRcbiAgICAgICAgICAgY29udHJvbC5cblxuICAgICAgICAg
ICAqQ29tcGxpYW50Ki4gRE9JQyBhbGxvd3MgbmV3IHJlcG9ydCB0eXBlcyBhbmQgYWJhdGVt
ZW50XG4gICAgICAgICAgIGFsZ29yaXRobXMgdG8gYmUgY3JlYXRlZC4gIFRoZXNlIG1heSBi
ZSBpbmRpY2F0ZWQgdXNpbmcgdGhlXG4gICAgICAgICAgIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAuXG5cblxuXG4gICBSRVEgMzM6IFRoZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUgYSBk
ZWZhdWx0IGFsZ29yaXRobSB0aGF0IGlzXG4gICAgICAgICAgIG1hbmRhdG9yeSB0byBpbXBs
ZW1lbnQuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSAibG9zcyIgYWxnb3JpdGht
IGlzIG1hbmRhdG9yeSB0byBpbXBsZW1lbnQuXG5cblxuXG4gICBSRVEgMzQ6IFRoZSBzb2x1
dGlvbiBTSE9VTEQgcHJvdmlkZSBhIG1ldGhvZCBmb3IgZXhjaGFuZ2luZyBvdmVybG9hZFxu
ICAgICAgICAgICBhbmQgbG9hZCBpbmZvcm1hdGlvbiBiZXR3ZWVuIGVsZW1lbnRzIHRoYXQg
YXJlIGNvbm5lY3RlZCBieVxuICAgICAgICAgICBpbnRlcm1lZGlhcmllcyB0aGF0IGRvIG5v
dCBzdXBwb3J0IHRoZSBzb2x1dGlvbi5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBs
aWFudCouIERPSUMgaW5mb3JtYXRpb24gY2FuIHRyYXZlcnNlIG5vbi1cbiAgICAgICAgICAg
c3VwcG9ydGluZyBhZ2VudHMsIGFzIGxvbmcgYXMgdGhvc2UgYWdlbnRzIGRvIG5vdCBtb2Rp
ZnlcbiAgICAgICAgICAgY2VydGFpbiBBVlBzLiAoZS5nLiwgT3JpZ2luLUhvc3QpLiAgRE9J
QyBkb2VzIG5vdCBwcm92aWRlIGFcbiAgICAgICAgICAgd2F5IGZvciBzdXBwb3J0aW5nIG5v
ZGVzIHRvIGRldGVjdCBzdWNoIG1vZGlmaWNhdGlvbi5cblxuXG5cbkFwcGVuZGl4IEQuICBD
b25zaWRlcmF0aW9ucyBmb3IgQXBwbGljYXRpb25zIEludGVncmF0aW5nIHRoZSBET0lDXG4g
ICAgICAgICAgICAgU29sdXRpb25cblxuICAgVGhpcyBzZWN0aW9uIG91dGxpbmVzIGNvbnNp
ZGVyYXRpb25zIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB3aGVuXG4gICBpbnRlZ3JhdGlu
ZyB0aGUgRE9JQyBzb2x1dGlvbiBpbnRvIERpYW1ldGVyIGFwcGxpY2F0aW9ucy5cblxuRC4x
LiAgQXBwbGljYXRpb24gQ2xhc3NpZmljYXRpb25cblxuICAgVGhlIGZvbGxvd2luZyBpcyBh
IGNsYXNzaWZpY2F0aW9uIG9mIERpYW1ldGVyIGFwcGxpY2F0aW9ucyBhbmRcbiAgIHJlcXVl
c3QgdHlwZXMuICBUaGlzIGRpc2N1c3Npb24gaXMgbWVhbnQgdG8gZG9jdW1lbnQgZmFjdG9y
cyB0aGF0XG4gICBwbGF5IGludG8gZGVjaXNpb25zIG1hZGUgYnkgdGhlIERpYW1ldGVyIGlk
ZW50aXR5IHJlc3BvbnNpYmxlIGZvclxuICAgaGFuZGxpbmcgb3ZlcmxvYWQgcmVwb3J0cy5c
blxuICAgU2VjdGlvbiA4LjEgb2YgW1JGQzY3MzNdIGRlZmluZXMgdHdvIHN0YXRlIG1hY2hp
bmVzIHRoYXQgaW1wbHkgdHdvXG4gICB0eXBlcyBvZiBhcHBsaWNhdGlvbnMsIHNlc3Npb24t
bGVzcyBhbmQgc2Vzc2lvbi1iYXNlZCBhcHBsaWNhdGlvbnMuXG4gICBUaGUgcHJpbWFyeSBk
aWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHlwZXMgb2YgYXBwbGljYXRpb25zIGlzIHRoZVxu
ICAgbGlmZXRpbWUgb2YgU2Vzc2lvbi1JZHMuXG5cbiAgIEZvciBzZXNzaW9uLWJhc2VkIGFw
cGxpY2F0aW9ucywgdGhlIFNlc3Npb24tSWQgaXMgdXNlZCB0byB0aWVcbiAgIG11bHRpcGxl
IHJlcXVlc3RzIGludG8gYSBzaW5nbGUgc2Vzc2lvbi5cblxuXG5cbktvcmhvbmVuLCBldCBh
bC4gICAgICAgICAgRXhwaXJlcyBKdW5lIDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdl
IDQ1XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAg
ICAgICAgICAgICAgICBEZWNlbWJlciAyMDE0XG5cblxuICAgVGhlIENyZWRpdC1Db250cm9s
IGFwcGxpY2F0aW9uIGRlZmluZWQgaW4gW1JGQzQwMDZdIGlzIGFuIGV4YW1wbGUgb2ZcbiAg
IGEgRGlhbWV0ZXIgc2Vzc2lvbi1iYXNlZCBhcHBsaWNhdGlvbi5cblxuICAgSW4gc2Vzc2lv
bi1sZXNzIGFwcGxpY2F0aW9ucywgdGhlIGxpZmV0aW1lIG9mIHRoZSBTZXNzaW9uLUlkIGlz
IGFcbiAgIHNpbmdsZSBEaWFtZXRlciB0cmFuc2FjdGlvbiwgaS5lLiB0aGUgc2Vzc2lvbiBp
cyBpbXBsaWNpdGx5XG4gICB0ZXJtaW5hdGVkIGFmdGVyIGEgc2luZ2xlIERpYW1ldGVyIHRy
YW5zYWN0aW9uIGFuZCBhIG5ldyBTZXNzaW9uLUlkXG4gICBpcyBnZW5lcmF0ZWQgZm9yIGVh
Y2ggRGlhbWV0ZXIgcmVxdWVzdC5cblxuICAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRp
c2N1c3Npb24sIHNlc3Npb24tbGVzcyBhcHBsaWNhdGlvbnMgYXJlXG4gICBmdXJ0aGVyIGRp
dmlkZWQgaW50byB0d28gdHlwZXMgb2YgYXBwbGljYXRpb25zOlxuXG4gICBTdGF0ZWxlc3Mg
QXBwbGljYXRpb25zOlxuXG4gICAgICBSZXF1ZXN0cyB3aXRoaW4gYSBzdGF0ZWxlc3MgYXBw
bGljYXRpb24gaGF2ZSBubyByZWxhdGlvbnNoaXAgdG9cbiAgICAgIGVhY2ggb3RoZXIuICBU
aGUgM0dQUCBkZWZpbmVkIFMxMyBhcHBsaWNhdGlvbiBpcyBhbiBleGFtcGxlIG9mIGFcbiAg
ICAgIHN0YXRlbGVzcyBhcHBsaWNhdGlvbiBbUzEzXSwgd2hlcmUgb25seSBhIERpYW1ldGVy
IGNvbW1hbmQgaXNcbiAgICAgIGRlZmluZWQgYmV0d2VlbiBhIGNsaWVudCBhbmQgYSBzZXJ2
ZXIgYW5kIG5vIHN0YXRlIGlzIG1haW50YWluZWRcbiAgICAgIGJldHdlZW4gdHdvIGNvbnNl
Y3V0aXZlIHRyYW5zYWN0aW9ucy5cblxuICAgUHNldWRvLVNlc3Npb24gQXBwbGljYXRpb25z
OlxuXG4gICAgICBBcHBsaWNhdGlvbnMgdGhhdCBkbyBub3QgcmVseSBvbiB0aGUgU2Vzc2lv
bi1JZCBBVlAgZm9yXG4gICAgICBjb3JyZWxhdGlvbiBvZiBhcHBsaWNhdGlvbiBtZXNzYWdl
cyByZWxhdGVkIHRvIHRoZSBzYW1lIHNlc3Npb25cbiAgICAgIGJ1dCB1c2Ugb3RoZXIgc2Vz
c2lvbi1yZWxhdGVkIGluZm9ybWF0aW9uIGluIHRoZSBEaWFtZXRlciByZXF1ZXN0c1xuICAg
ICAgZm9yIHRoaXMgcHVycG9zZS4gIFRoZSAzR1BQIGRlZmluZWQgQ3ggYXBwbGljYXRpb24g
W0N4XSBpcyBhblxuICAgICAgZXhhbXBsZSBvZiBhIHBzZXVkby1zZXNzaW9uIGFwcGxpY2F0
aW9uLlxuXG4gICBUaGUgaGFuZGxpbmcgb2Ygb3ZlcmxvYWQgcmVwb3J0cyBtdXN0IHRha2Ug
dGhlIHR5cGUgb2YgYXBwbGljYXRpb25cbiAgIGludG8gY29uc2lkZXJhdGlvbiwgYXMgZGlz
Y3Vzc2VkIGluIEFwcGVuZGl4IEQuMi5cblxuRC4yLiAgQXBwbGljYXRpb24gVHlwZSBPdmVy
bG9hZCBJbXBsaWNhdGlvbnNcblxuICAgVGhpcyBzZWN0aW9uIGRpc2N1c3NlcyBjb25zaWRl
cmF0aW9ucyBmb3IgbWl0aWdhdGluZyBvdmVybG9hZFxuICAgcmVwb3J0ZWQgYnkgYSBEaWFt
ZXRlciBlbnRpdHkuICBUaGlzIGRpc2N1c3Npb24gZm9jdXNlcyBvbiB0aGUgdHlwZVxuICAg
b2YgYXBwbGljYXRpb24uICBBcHBlbmRpeCBELjMgZGlzY3Vzc2VzIGNvbnNpZGVyYXRpb25z
IGZvciBoYW5kbGluZ1xuICAgdmFyaW91cyByZXF1ZXN0IHR5cGVzIHdoZW4gdGhlIHRhcmdl
dCBzZXJ2ZXIgaXMga25vd24gdG8gYmUgaW4gYW5cbiAgIG92ZXJsb2FkZWQgc3RhdGUuXG5c
biAgIFRoZXNlIGRpc2N1c3Npb25zIGFzc3VtZSB0aGF0IHRoZSBzdHJhdGVneSBmb3IgbWl0
aWdhdGluZyB0aGVcbiAgIHJlcG9ydGVkIG92ZXJsb2FkIGlzIHRvIHJlZHVjZSB0aGUgb3Zl
cmFsbCB3b3JrbG9hZCBzZW50IHRvIHRoZVxuICAgb3ZlcmxvYWRlZCBlbnRpdHkuICBUaGUg
Y29uY2VwdCBvZiBhcHBseWluZyBvdmVybG9hZCB0cmVhdG1lbnQgdG9cbiAgIHJlcXVlc3Rz
IHRhcmdldGVkIGZvciBhbiBvdmVybG9hZGVkIERpYW1ldGVyIGVudGl0eSBpcyBpbmhlcmVu
dCB0b1xuICAgdGhpcyBkaXNjdXNzaW9uLiAgVGhlIG1ldGhvZCB1c2VkIHRvIHJlZHVjZSBv
ZmZlcmVkIGxvYWQgaXMgbm90XG4gICBzcGVjaWZpZWQgaGVyZSBidXQgY291bGQgaW5jbHVk
ZSByb3V0aW5nIHJlcXVlc3RzIHRvIGFub3RoZXIgRGlhbWV0ZXJcbiAgIGVudGl0eSBrbm93
biB0byBiZSBhYmxlIHRvIGhhbmRsZSB0aGVtLCBvciBpdCBjb3VsZCBtZWFuIHJlamVjdGlu
Z1xuICAgY2VydGFpbiByZXF1ZXN0cy4gIEZvciBhIERpYW1ldGVyIGFnZW50LCByZWplY3Rp
bmcgcmVxdWVzdHMgd2lsbFxuICAgdXN1YWxseSBtZWFuIGdlbmVyYXRpbmcgYXBwcm9wcmlh
dGUgRGlhbWV0ZXIgZXJyb3IgcmVzcG9uc2VzLiAgRm9yIGFcbiAgIERpYW1ldGVyIGNsaWVu
dCwgcmVqZWN0aW5nIHJlcXVlc3RzIHdpbGwgZGVwZW5kIHVwb24gdGhlIGFwcGxpY2F0aW9u
LlxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgNDZdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxu
XG4gICBGb3IgZXhhbXBsZSwgaXQgY291bGQgbWVhbiBnaXZpbmcgYW4gaW5kaWNhdGlvbiB0
byB0aGUgZW50aXR5XG4gICByZXF1ZXN0aW5nIHRoZSBEaWFtZXRlciBzZXJ2aWNlIHRoYXQg
dGhlIG5ldHdvcmsgaXMgYnVzeSBhbmQgdG8gdHJ5XG4gICBhZ2FpbiBsYXRlci5cblxuICAg
U3RhdGVsZXNzIEFwcGxpY2F0aW9uczpcblxuICAgICAgQnkgZGVmaW5pdGlvbiB0aGVyZSBp
cyBubyByZWxhdGlvbnNoaXAgYmV0d2VlbiBpbmRpdmlkdWFsIHJlcXVlc3RzXG4gICAgICBp
biBhIHN0YXRlbGVzcyBhcHBsaWNhdGlvbi4gIEFzIGEgcmVzdWx0LCB3aGVuIGEgcmVxdWVz
dCBpcyBzZW50XG4gICAgICBvciByZWxheWVkIHRvIGFuIG92ZXJsb2FkZWQgRGlhbWV0ZXIg
ZW50aXR5IC0gZWl0aGVyIGEgRGlhbWV0ZXJcbiAgICAgIFNlcnZlciBvciBhIERpYW1ldGVy
IEFnZW50IC0gdGhlIHNlbmRpbmcgb3IgcmVsYXlpbmcgZW50aXR5IGNhblxuICAgICAgY2hv
b3NlIHRvIGFwcGx5IHRoZSBvdmVybG9hZCB0cmVhdG1lbnQgdG8gYW55IHJlcXVlc3QgdGFy
Z2V0ZWQgZm9yXG4gICAgICB0aGUgb3ZlcmxvYWRlZCBlbnRpdHkuXG5cbiAgIFBzZXVkby1T
ZXNzaW9uIEFwcGxpY2F0aW9uczpcblxuICAgICAgRm9yIHBzZXVkby1zZXNzaW9uIGFwcGxp
Y2F0aW9ucywgdGhlcmUgaXMgYW4gaW1wbGllZCBvcmRlcmluZyBvZlxuICAgICAgcmVxdWVz
dHMuICBBcyBhIHJlc3VsdCwgZGVjaXNpb25zIGFib3V0IHdoaWNoIHJlcXVlc3RzIHRvd2Fy
ZHMgYW5cbiAgICAgIG92ZXJsb2FkZWQgZW50aXR5IHRvIHJlamVjdCBjb3VsZCB0YWtlIHRo
ZSBjb21tYW5kIGNvZGUgb2YgdGhlXG4gICAgICByZXF1ZXN0IGludG8gY29uc2lkZXJhdGlv
bi4gIFRoaXMgZ2VuZXJhbGx5IG1lYW5zIHRoYXRcbiAgICAgIHRyYW5zYWN0aW9ucyBsYXRl
ciBpbiB0aGUgc2VxdWVuY2Ugb2YgdHJhbnNhY3Rpb25zIHNob3VsZCBiZSBnaXZlblxuICAg
ICAgbW9yZSBmYXZvcmFibGUgdHJlYXRtZW50IHRoYW4gbWVzc2FnZXMgZWFybGllciBpbiB0
aGUgc2VxdWVuY2UuXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgbW9yZSB3b3JrIGhhcyBhbHJl
YWR5IGJlZW4gZG9uZSBieSB0aGUgRGlhbWV0ZXJcbiAgICAgIG5ldHdvcmsgZm9yIHRob3Nl
IHRyYW5zYWN0aW9ucyB0aGF0IG9jY3VyIGxhdGVyIGluIHRoZSBzZXF1ZW5jZS5cbiAgICAg
IFJlamVjdGluZyB0aGVtIGNvdWxkIHJlc3VsdCBpbiBpbmNyZWFzaW5nIHRoZSBsb2FkIG9u
IHRoZSBuZXR3b3JrXG4gICAgICBhcyB0aGUgdHJhbnNhY3Rpb25zIGVhcmxpZXIgaW4gdGhl
IHNlcXVlbmNlIG1pZ2h0IGFsc28gbmVlZCB0byBiZVxuICAgICAgcmVwZWF0ZWQuXG5cbiAg
IFNlc3Npb24tQmFzZWQgQXBwbGljYXRpb25zOlxuXG4gICAgICBPdmVybG9hZCBoYW5kbGlu
ZyBmb3Igc2Vzc2lvbi1iYXNlZCBhcHBsaWNhdGlvbnMgbXVzdCB0YWtlIGludG9cbiAgICAg
IGNvbnNpZGVyYXRpb24gdGhlIHdvcmsgbG9hZCBhc3NvY2lhdGVkIHdpdGggc2V0dGluZyB1
cCBhbmRcbiAgICAgIG1haW50YWluaW5nIGEgc2Vzc2lvbi4gIEFzIHN1Y2gsIHRoZSBlbnRp
dHkgc2VuZGluZyByZXF1ZXN0c1xuICAgICAgdG93YXJkcyBhbiBvdmVybG9hZGVkIERpYW1l
dGVyIGVudGl0eSBmb3IgYSBzZXNzaW9uLWJhc2VkXG4gICAgICBhcHBsaWNhdGlvbiBtaWdo
dCB0ZW5kIHRvIHJlamVjdCBuZXcgc2Vzc2lvbiByZXF1ZXN0cyBwcmlvciB0b1xuICAgICAg
cmVqZWN0aW5nIGludHJhLXNlc3Npb24gcmVxdWVzdHMuICBJbiBhZGRpdGlvbiwgc2Vzc2lv
biBlbmRpbmdcbiAgICAgIHJlcXVlc3RzIG1pZ2h0IGJlIGdpdmVuIGEgbG93ZXIgcHJvYmFi
aWxpdHkgb2YgYmVpbmcgcmVqZWN0ZWQgYXNcbiAgICAgIHJlamVjdGluZyBzZXNzaW9uIGVu
ZGluZyByZXF1ZXN0cyBjb3VsZCByZXN1bHQgaW4gc2Vzc2lvbiBzdGF0dXNcbiAgICAgIGJl
aW5nIG91dCBvZiBzeW5jIGJldHdlZW4gdGhlIERpYW1ldGVyIGNsaWVudHMgYW5kIHNlcnZl
cnMuXG4gICAgICBBcHBsaWNhdGlvbiBkZXNpZ25lcnMgdGhhdCB3b3VsZCBkZWNpZGUgdG8g
cmVqZWN0IG1pZC1zZXNzaW9uXG4gICAgICByZXF1ZXN0cyB3aWxsIG5lZWQgdG8gY29uc2lk
ZXIgd2hldGhlciB0aGUgcmVqZWN0aW9uIGludmFsaWRhdGVzXG4gICAgICB0aGUgc2Vzc2lv
biBhbmQgYW55IHJlc3VsdGluZyBzZXNzaW9uIGNsZWFudXAgcHJvY2VkdXJlcy5cblxuRC4z
LiAgUmVxdWVzdCBUcmFuc2FjdGlvbiBDbGFzc2lmaWNhdGlvblxuXG4gICBJbmRlcGVuZGVu
dCBSZXF1ZXN0OlxuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBp
cmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNDddXG5fXG5JbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgIERl
Y2VtYmVyIDIwMTRcblxuXG4gICAgICBBbiBpbmRlcGVuZGVudCByZXF1ZXN0IGlzIG5vdCBj
b3JyZWxhdGVkIHRvIGFueSBvdGhlciByZXF1ZXN0c1xuICAgICAgYW5kLCBhcyBzdWNoLCB0
aGUgbGlmZXRpbWUgb2YgdGhlIHNlc3Npb24taWQgaXMgY29uc3RyYWluZWQgdG8gYW5cbiAg
ICAgIGluZGl2aWR1YWwgdHJhbnNhY3Rpb24uXG5cbiAgIFNlc3Npb24tSW5pdGlhdGluZyBS
ZXF1ZXN0OlxuXG4gICAgICBBIHNlc3Npb24taW5pdGlhdGluZyByZXF1ZXN0IGlzIHRoZSBp
bml0aWFsIG1lc3NhZ2UgdGhhdFxuICAgICAgZXN0YWJsaXNoZXMgYSBEaWFtZXRlciBzZXNz
aW9uLiAgVGhlIEFDUiBtZXNzYWdlIGRlZmluZWQgaW5cbiAgICAgIFtSRkM2NzMzXSBpcyBh
biBleGFtcGxlIG9mIGEgc2Vzc2lvbi1pbml0aWF0aW5nIHJlcXVlc3QuXG5cbiAgIENvcnJl
bGF0ZWQgU2Vzc2lvbi1Jbml0aWF0aW5nIFJlcXVlc3Q6XG5cbiAgICAgIFRoZXJlIGFyZSBj
YXNlcyB3aGVuIG11bHRpcGxlIHNlc3Npb24taW5pdGlhdGVkIHJlcXVlc3RzIG11c3QgYmVc
biAgICAgIGNvcnJlbGF0ZWQgYW5kIG1hbmFnZWQgYnkgdGhlIHNhbWUgRGlhbWV0ZXIgc2Vy
dmVyLiAgSXQgaXMgbm90YWJseVxuICAgICAgdGhlIGNhc2UgaW4gdGhlIDNHUFAgUENDIGFy
Y2hpdGVjdHVyZSBbUENDXSwgd2hlcmUgbXVsdGlwbGVcbiAgICAgIGFwcGFyZW50bHkgaW5k
ZXBlbmRlbnQgRGlhbWV0ZXIgYXBwbGljYXRpb24gc2Vzc2lvbnMgYXJlIGFjdHVhbGx5XG4g
ICAgICBjb3JyZWxhdGVkIGFuZCBtdXN0IGJlIGhhbmRsZWQgYnkgdGhlIHNhbWUgRGlhbWV0
ZXIgc2VydmVyLlxuXG4gICBJbnRyYS1TZXNzaW9uIFJlcXVlc3Q6XG5cbiAgICAgIEFuIGlu
dHJhLXNlc3Npb24gcmVxdWVzdCBpcyBhIHJlcXVlc3QgdGhhdCB1c2VzIHRoZSBzYW1lIFNl
c3Npb24tXG4gICAgICBJZCB0aGFuIHRoZSBvbmUgdXNlZCBpbiBhIHByZXZpb3VzIHJlcXVl
c3QuICBBbiBpbnRyYS1zZXNzaW9uXG4gICAgICByZXF1ZXN0IGdlbmVyYWxseSBuZWVkcyB0
byBiZSBkZWxpdmVyZWQgdG8gdGhlIHNlcnZlciB0aGF0IGhhbmRsZWRcbiAgICAgIHRoZSBz
ZXNzaW9uIGNyZWF0aW5nIHJlcXVlc3QgZm9yIHRoZSBzZXNzaW9uLiAgVGhlIFNUUiBtZXNz
YWdlXG4gICAgICBkZWZpbmVkIGluIFtSRkM2NzMzXSBpcyBhbiBleGFtcGxlIG9mIGFuIGlu
dHJhLXNlc3Npb24gcmVxdWVzdC5cblxuICAgUHNldWRvLVNlc3Npb24gUmVxdWVzdHM6XG5c
biAgICAgIFBzZXVkby1zZXNzaW9uIHJlcXVlc3RzIGFyZSBpbmRlcGVuZGVudCByZXF1ZXN0
cyBhbmQgZG8gbm90IHVzZVxuICAgICAgdGhlIHNhbWUgU2Vzc2lvbi1JZCBidXQgYXJlIGNv
cnJlbGF0ZWQgYnkgb3RoZXIgc2Vzc2lvbi1yZWxhdGVkXG4gICAgICBpbmZvcm1hdGlvbiBj
b250YWluZWQgaW4gdGhlIHJlcXVlc3QuICBUaGVyZSBleGlzdHMgRGlhbWV0ZXJcbiAgICAg
IGFwcGxpY2F0aW9ucyB0aGF0IGRlZmluZSBhbiBleHBlY3RlZCBvcmRlcmluZyBvZiB0cmFu
c2FjdGlvbnMuXG4gICAgICBUaGlzIHNlcXVlbmNpbmcgb2YgaW5kZXBlbmRlbnQgdHJhbnNh
Y3Rpb25zIHJlc3VsdHMgaW4gYSBwc2V1ZG9cbiAgICAgIHNlc3Npb24uICBUaGUgQUlSLCBN
QVIgYW5kIFNBUiByZXF1ZXN0cyBpbiB0aGUgM0dQUCBkZWZpbmVkIEN4XG4gICAgICBbQ3hd
IGFwcGxpY2F0aW9uIGFyZSBleGFtcGxlcyBvZiBwc2V1ZG8tc2Vzc2lvbiByZXF1ZXN0cy5c
blxuRC40LiAgUmVxdWVzdCBUeXBlIE92ZXJsb2FkIEltcGxpY2F0aW9uc1xuXG4gICBUaGUg
cmVxdWVzdCBjbGFzc2VzIGlkZW50aWZpZWQgaW4gQXBwZW5kaXggRC4zIGhhdmUgaW1wbGlj
YXRpb25zIG9uXG4gICBkZWNpc2lvbnMgYWJvdXQgd2hpY2ggcmVxdWVzdHMgc2hvdWxkIGJl
IHRocm90dGxlZCBmaXJzdC4gIFRoZVxuICAgZm9sbG93aW5nIGxpc3Qgb2YgcmVxdWVzdCB0
cmVhdG1lbnQgcmVnYXJkaW5nIHRocm90dGxpbmcgaXMgcHJvdmlkZWRcbiAgIGFzIGd1aWRl
bGluZXMgZm9yIGFwcGxpY2F0aW9uIGRlc2lnbmVycyB3aGVuIGltcGxlbWVudGluZyB0aGVc
biAgIERpYW1ldGVyIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIGRlc2NyaWJlZCBpbiB0
aGlzIGRvY3VtZW50LiAgVGhlXG4gICBleGFjdCBiZWhhdmlvciByZWdhcmRpbmcgdGhyb3R0
bGluZyBpcyBhIG1hdHRlciBvZiBsb2NhbCBwb2xpY3ksXG4gICB1bmxlc3Mgc3BlY2lmaWNh
bGx5IGRlZmluZWQgZm9yIHRoZSBhcHBsaWNhdGlvbi5cblxuICAgSW5kZXBlbmRlbnQgUmVx
dWVzdHM6XG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdW5l
IDI1LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQ4XVxuX1xuSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAy
MDE0XG5cblxuICAgICAgSW5kZXBlbmRlbnQgcmVxdWVzdHMgY2FuIGdlbmVyYWxseSBiZSBn
aXZlbiBlcXVhbCB0cmVhdG1lbnQgd2hlblxuICAgICAgbWFraW5nIHRocm90dGxpbmcgZGVj
aXNpb25zLCB1bmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCBieVxuICAgICAgYXBwbGljYXRp
b24gcmVxdWlyZW1lbnRzIG9yIGxvY2FsIHBvbGljeS5cblxuICAgU2Vzc2lvbi1Jbml0aWF0
aW5nIFJlcXVlc3RzOlxuXG4gICAgICBTZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdHMgb2Z0
ZW4gcmVwcmVzZW50IG1vcmUgd29yayB0aGFuXG4gICAgICBpbmRlcGVuZGVudCBvciBpbnRy
YS1zZXNzaW9uIHJlcXVlc3RzLiAgTW9yZW92ZXIsIHNlc3Npb24tXG4gICAgICBpbml0aWF0
aW5nIHJlcXVlc3RzIGFyZSB0eXBpY2FsbHkgZm9sbG93ZWQgYnkgb3RoZXIgc2Vzc2lvbi1c
biAgICAgIHJlbGF0ZWQgcmVxdWVzdHMuICBTaW5jZSB0aGUgbWFpbiBvYmplY3RpdmUgb2Yg
dGhlIG92ZXJsb2FkXG4gICAgICBjb250cm9sIGlzIHRvIHJlZHVjZSB0aGUgdG90YWwgbnVt
YmVyIG9mIHJlcXVlc3RzIHNlbnQgdG8gdGhlXG4gICAgICBvdmVybG9hZGVkIGVudGl0eSwg
dGhyb3R0bGluZyBkZWNpc2lvbnMgbWlnaHQgZmF2b3IgYWxsb3dpbmdcbiAgICAgIGludHJh
LXNlc3Npb24gcmVxdWVzdHMgb3ZlciBzZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdHMuICBJ
biB0aGVcbiAgICAgIGFic2VuY2Ugb2YgbG9jYWwgcG9saWNpZXMgb3IgYXBwbGljYXRpb24g
c3BlY2lmaWMgcmVxdWlyZW1lbnRzIHRvXG4gICAgICB0aGUgY29udHJhcnksIEluZGl2aWR1
YWwgc2Vzc2lvbi1pbml0aWF0aW5nIHJlcXVlc3RzIGNhbiBiZSBnaXZlblxuICAgICAgZXF1
YWwgdHJlYXRtZW50IHdoZW4gbWFraW5nIHRocm90dGxpbmcgZGVjaXNpb25zLlxuXG4gICBD
b3JyZWxhdGVkIFNlc3Npb24tSW5pdGlhdGluZyBSZXF1ZXN0czpcblxuICAgICAgQSBSZXF1
ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIG5ldyBiaW5kaW5nLCB3aGVyZSB0aGUgYmluZGluZyBp
cyB1c2VkXG4gICAgICBmb3Igcm91dGluZyBvZiBzdWJzZXF1ZW50IHNlc3Npb24taW5pdGlh
dGluZyByZXF1ZXN0cyB0byB0aGUgc2FtZVxuICAgICAgc2VydmVyLCByZXByZXNlbnRzIG1v
cmUgd29yayBsb2FkIHRoYW4gb3RoZXIgcmVxdWVzdHMuICBBcyBzdWNoLFxuICAgICAgdGhl
c2UgcmVxdWVzdHMgbWlnaHQgYmUgdGhyb3R0bGVkIG1vcmUgZnJlcXVlbnRseSB0aGFuIG90
aGVyXG4gICAgICByZXF1ZXN0IHR5cGVzLlxuXG4gICBQc2V1ZG8tU2Vzc2lvbiBSZXF1ZXN0
czpcblxuICAgICAgVGhyb3R0bGluZyBkZWNpc2lvbnMgZm9yIHBzZXVkby1zZXNzaW9uIHJl
cXVlc3RzIGNhbiB0YWtlIGludG9cbiAgICAgIGNvbnNpZGVyYXRpb24gd2hlcmUgaW5kaXZp
ZHVhbCByZXF1ZXN0cyBmaXQgaW50byB0aGUgb3ZlcmFsbFxuICAgICAgc2VxdWVuY2Ugb2Yg
cmVxdWVzdHMgd2l0aGluIHRoZSBwc2V1ZG8gc2Vzc2lvbi4gIFJlcXVlc3RzIHRoYXQgYXJl
XG4gICAgICBlYXJsaWVyIGluIHRoZSBzZXF1ZW5jZSBtaWdodCBiZSB0aHJvdHRsZWQgbW9y
ZSBhZ2dyZXNzaXZlbHkgdGhhblxuICAgICAgcmVxdWVzdHMgdGhhdCBvY2N1ciBsYXRlciBp
biB0aGUgc2VxdWVuY2UuXG5cbiAgIEludHJhLVNlc3Npb24gUmVxdWVzdHM6XG5cbiAgICAg
IFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgaW50cmEtc2Vzc2lvbnMgcmVxdWVzdHMsIHJlcXVl
c3RzIHRoYXRcbiAgICAgIHRlcm1pbmF0ZSBhIHNlc3Npb24gYW5kIHRoZSByZW1haW5kZXIg
b2YgaW50cmEtc2Vzc2lvbiByZXF1ZXN0cy5cbiAgICAgIEltcGxlbWVudGVycyBhbmQgb3Bl
cmF0b3JzIG1heSBjaG9vc2UgdG8gdGhyb3R0bGUgc2Vzc2lvbi1cbiAgICAgIHRlcm1pbmF0
aW5nIHJlcXVlc3RzIGxlc3MgYWdncmVzc2l2ZWx5IGluIG9yZGVyIHRvIGdyYWNlZnVsbHlc
biAgICAgIHRlcm1pbmF0ZSBzZXNzaW9ucywgYWxsb3cgY2xlYW51cCBvZiB0aGUgcmVsYXRl
ZCByZXNvdXJjZXMgKGUuZy5cbiAgICAgIHNlc3Npb24gc3RhdGUpIGFuZCBhdm9pZCB0aGUg
bmVlZCBmb3IgYWRkaXRpb25hbCBpbnRyYS1zZXNzaW9uXG4gICAgICByZXF1ZXN0cy4gIEZh
dm9yaW5nIHNlc3Npb24tdGVybWluYXRpb24gcmVxdWVzdHMgbWF5IHJlZHVjZSB0aGVcbiAg
ICAgIHNlc3Npb24gbWFuYWdlbWVudCBpbXBhY3Qgb24gdGhlIG92ZXJsb2FkZWQgZW50aXR5
LiAgVGhlIGRlZmF1bHRcbiAgICAgIGhhbmRsaW5nIG9mIG90aGVyIGludHJhLXNlc3Npb24g
cmVxdWVzdHMgbWlnaHQgYmUgdG8gdHJlYXQgdGhlbVxuICAgICAgZXF1YWxseSB3aGVuIG1h
a2luZyB0aHJvdHRsaW5nIGRlY2lzaW9ucy4gIFRoZXJlIG1pZ2h0IGFsc28gYmVcbiAgICAg
IGFwcGxpY2F0aW9uIGxldmVsIGNvbnNpZGVyYXRpb25zIHdoZXRoZXIgc29tZSByZXF1ZXN0
IHR5cGVzIGFyZVxuICAgICAgZmF2b3JlZCBvdmVyIG90aGVycy5cblxuXG5cblxuS29yaG9u
ZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAg
ICAgW1BhZ2UgNDldXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9J
QyAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyIDIwMTRcblxuXG5BdXRob3JzXCcgQWRk
cmVzc2VzXG5cbiAgIEpvdW5pIEtvcmhvbmVuIChlZGl0b3IpXG4gICBCcm9hZGNvbVxuICAg
UG9ya2thbGFua2F0dSAyNFxuICAgSGVsc2lua2kgIEZJTi0wMDE4MFxuICAgRmlubGFuZFxu
XG4gICBFbWFpbDogam91bmkubm9zcGFtQGdtYWlsLmNvbVxuXG5cbiAgIFN0ZXZlIERvbm92
YW4gKGVkaXRvcilcbiAgIE9yYWNsZVxuICAgNzQ2MCBXYXJyZW4gUGFya3dheVxuICAgRnJp
c2NvLCBUZXhhcyAgNzUwMzRcbiAgIFVuaXRlZCBTdGF0ZXNcblxuICAgRW1haWw6IHNyZG9u
b3ZhbkB1c2Rvbm92YW5zLmNvbVxuXG5cbiAgIEJlbiBDYW1wYmVsbFxuICAgT3JhY2xlXG4g
ICA3NDYwIFdhcnJlbiBQYXJrd2F5XG4gICBGcmlzY28sIFRleGFzICA3NTAzNFxuICAgVW5p
dGVkIFN0YXRlc1xuXG4gICBFbWFpbDogYmVuQG5vc3RydW0uY29tXG5cblxuICAgTGlvbmVs
IE1vcmFuZFxuICAgT3JhbmdlIExhYnNcbiAgIDM4LzQwIHJ1ZSBkdSBHZW5lcmFsIExlY2xl
cmNcbiAgIElzc3ktTGVzLU1vdWxpbmVhdXggQ2VkZXggOSAgOTI3OTRcbiAgIEZyYW5jZVxu
XG4gICBQaG9uZTogKzMzMTQ1Mjk2MjU3XG4gICBFbWFpbDogbGlvbmVsLm1vcmFuZEBvcmFu
Z2UuY29tXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAg
ICAgICAgICBFeHBpcmVzIEp1bmUgMjUsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNTBd
XG4nLCAndXJsMSc6ICcnLCAnc3VibWl0JzogJ0dlbmVyYXRlIGRpZmYnLCAndXJsMic6ICcn
LCAnLS1uZXdjb2xvdXInOiAnZ3JlZW4nfSAtLT4=
--------------000305010604010803070402--


From nobody Fri Jan  9 06:34:01 2015
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCCE01A8A9A; Fri,  9 Jan 2015 06:33: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] autolearn=ham
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 d3Tn3rpIshbs; Fri,  9 Jan 2015 06:33:54 -0800 (PST)
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 3FC421A1B63; Fri,  9 Jan 2015 06:33:54 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: i-d-announce@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 5.10.0.p8
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20150109143354.10495.9011.idtracker@ietfa.amsl.com>
Date: Fri, 09 Jan 2015 06:33:54 -0800
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/v6GmFuZmA2Jp3coQX9KzEeluPvs>
Cc: dime@ietf.org
Subject: [Dime] I-D Action: draft-ietf-dime-ovli-06.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Jan 2015 14:33:59 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
 This draft is a work item of the Diameter Maintenance and Extensions Working Group of the IETF.

        Title           : Diameter Overload Indication Conveyance
        Authors         : Jouni Korhonen
                          Steve Donovan
                          Ben Campbell
                          Lionel Morand
	Filename        : draft-ietf-dime-ovli-06.txt
	Pages           : 51
	Date            : 2015-01-09

Abstract:
   This specification defines a base solution for Diameter overload
   control, referred to as Diameter Overload Indication Conveyance
   (DOIC).


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-ovli/

There's also a htmlized version available at:
http://tools.ietf.org/html/draft-ietf-dime-ovli-06

A diff from the previous version is available at:
http://www.ietf.org/rfcdiff?url2=draft-ietf-dime-ovli-06


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Fri Jan  9 06:34:08 2015
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA2021A8A9A for <dime@ietfa.amsl.com>; Fri,  9 Jan 2015 06:34:00 -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] autolearn=ham
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 FXLIV3xGAbtF; Fri,  9 Jan 2015 06:33:58 -0800 (PST)
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 7BAC11A8972; Fri,  9 Jan 2015 06:33:55 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: draft-ietf-dime-ovli.all@tools.ietf.org, dime@ietf.org, dime-chairs@tools.ietf.org, aland@deployingradius.com
X-Test-IDTracker: no
X-IETF-IDTracker: 5.10.0.p8
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20150109143355.10495.13376.idtracker@ietfa.amsl.com>
Date: Fri, 09 Jan 2015 06:33:55 -0800
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/7qa5S9NAJrGTy0wm0znF8hNgCc4>
Subject: [Dime] New Version Notification - draft-ietf-dime-ovli-06.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Jan 2015 14:34:01 -0000

A new version (-06) has been submitted for draft-ietf-dime-ovli:
http://www.ietf.org/internet-drafts/draft-ietf-dime-ovli-06.txt


The IETF datatracker page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-ovli/

Diff from previous version:
http://www.ietf.org/rfcdiff?url2=draft-ietf-dime-ovli-06

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

IETF Secretariat.


From nobody Fri Jan  9 09:50:14 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E93141A87BB for <dime@ietfa.amsl.com>; Fri,  9 Jan 2015 09:50:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.279
X-Spam-Level: 
X-Spam-Status: No, score=0.279 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, SPF_NEUTRAL=0.779] autolearn=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 XYEivLKsuv_O for <dime@ietfa.amsl.com>; Fri,  9 Jan 2015 09:50:06 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 D51EC1A875D for <dime@ietf.org>; Fri,  9 Jan 2015 09:50:06 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:65048 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Y9dh6-0007Wc-CT for dime@ietf.org; Fri, 09 Jan 2015 09:50:01 -0800
Message-ID: <54B014C4.2090300@usdonovans.com>
Date: Fri, 09 Jan 2015 11:49:56 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-0.6
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/j2T70L6s_BBCnW-9yKWmzUyr3H8>
Subject: [Dime] DOIC-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Jan 2015 17:50:13 -0000

All,

As you can see, I submitted DOIC-06.

You can find a link to the diffs file here:

http://datatracker.ietf.org/doc/draft-ietf-dime-ovli/history/

Regards,

Steve


From nobody Fri Jan  9 23:30:05 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1FF81A8A91 for <dime@ietfa.amsl.com>; Fri,  9 Jan 2015 23:30:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.31
X-Spam-Level: 
X-Spam-Status: No, score=-1.31 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_47=0.6, T_RP_MATCHES_RCVD=-0.01] autolearn=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 hcYd-lTruItr for <dime@ietfa.amsl.com>; Fri,  9 Jan 2015 23:30:01 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 0A34A1A8875 for <dime@ietf.org>; Fri,  9 Jan 2015 23:30:00 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0A7Tvfd042588 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 10 Jan 2015 01:29:58 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <E194C2E18676714DACA9C3A2516265D2026F502B@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Date: Sat, 10 Jan 2015 01:29:56 -0600
X-Mao-Original-Outgoing-Id: 442567796.711116-a278deec7c519fb66269dec45906f858
Content-Transfer-Encoding: quoted-printable
Message-Id: <A3060594-E904-44FB-8821-9A19CE8898DF@nostrum.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <08B99F05-1FF9-45D8-8979-879FACA25C53@nostrum.com> <54AEA67E.5090601@usdonovans.com> <E194C2E18676714DACA9C3A2516265D2026F502B@FR712WXCHMBA12.zeu.alcatel-lucent.com>
To: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/QlW25fKUshaz4KWu557QVfbL93w>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Jan 2015 07:30:03 -0000

The section is marked for removal by the RFC editor prior to final =
publication.

Thanks!

Ben.
> On Jan 8, 2015, at 11:35 AM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) =
<jean-jacques.trottin@alcatel-lucent.com> wrote:
>=20
> Hi=20
>=20
> DOIC-v06 currently contains  the analysis on the detailed  list of =
requirements in annex C6.
> To come back on Ben's remark, I understood that decision was taken to =
remove it. Cannot it be now  done in the DOIC V06 (which is not yet =
published on the IETF). Or is it needed to wait for the next =
WGLC(because lacking time?).
>=20
> Best regards
>=20
> JJacques =20
>=20
> Regards
>=20
> JJacques=20
>=20
> -----Message d'origine-----
> De : DiME [mailto:dime-bounces@ietf.org] De la part de Steve Donovan
> Envoy=C3=A9 : jeudi 8 janvier 2015 16:47
> =C3=80 : dime@ietf.org
> Objet : Re: [Dime] Updated DOIC Requirements Analysis
>=20
> All,
>=20
> I plan to leave the text as is in DOIC-06.  We can update it in the =
next WGLC if needed.
>=20
> Steve
>=20
> On 1/7/15 2:54 PM, Ben Campbell wrote:
>> (Catching up on older stuff)
>>=20
>> Comments inline. But keep in mind that the detailed requirements are=20=

>> to be removed from the RFC, so I'm not sure we need to spend too much=20=

>> time on them. (Only the first discussion point addresses text that is=20=

>> to remain in the RFC.)
>>=20
>> Thanks!
>>=20
>> Ben.
>>=20
>>> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome =
<maria.cruz.bartolome@ericsson.com> wrote:
>>>=20
>>> Hello Ben,
>>>=20
>>> See comments below
>>> Thanks
>>> /MCruz
>>>=20
>>>> C.2.  Detection of non-supporting Intermediaries
>>>>=20
>>>>   The DOIC mechanism as currently defined does not allow supporting
>>>>   nodes to automatically determine whether OC-Supported-Features or =
OC-
>>>>   OLR AVPs are originated by a peer node, or by a non-peer node and
>>>>   sent across a non-supporting peer.  This makes it impossible to
>>>>   detect the presence of non-supporting nodes between supporting =
nodes,
>>>>   except by configuration.  The working group determined that such =
a
>>>>   configuration requirement is acceptable.
>>>>=20
>>>>   This limits full compliance with certain requirements related to =
the
>>>>   limitation of new configuration, deployment in environments with
>>>>   mixed support, operating across non-supporting agents, and
>>>>   authorization.
>>>> [MCruz] I think this paragraph should state what are the =
limitations=20
>>>> (generally, like you did for rest of them) Morever, since detailed =
descriptions will be deleted.
>>>>=20
>>> The limitations are discussed in the security consideration section.=20=

>>> Basically if a node expects an agent to enforce any DOIC related =
policy (e.g. making sure DOIC avps do not leak to unauthorized nodes), =
it has to know that the agent itself supports DOIC. Right now it can =
only know that by having an administrator tell it that (violating the =
limitation on new configuration), by knowing that all agents in the =
network support DOIC (violating the mixed support and non-supporting =
agent requirements.) [MCruz] Please, include text accordingly then. The =
text now "certain requirements related to" does not provide an =
information that anyone could trace easily.
>> I was explicitly asked by other people (e.g. Lionel) to list the =
impacted requirements descriptively, rather than by reference, in this =
section. The "certain requirements related to" are described by the =
words immediately after that phrase. That is, the requirement to limit =
new configuration, the requirement to allow deployments with mixed =
support, and the requirements to authorize who can send and receive =
overload information.
>>=20
>>>>=20
>>>>=20
>>>>   REQ 6:  The solution designers SHOULD seek to minimize the amount =
of
>>>>           new configuration required in order to work.  For =
example, it
>>>>           is better to allow peers to advertise or negotiate =
support
>>>>           for the solution, rather than to require that this =
knowledge
>>>>           to be configured at each node.
>>>>=20
>>>>           *Partially Compliant*. Most DOIC parameters are =
advertised
>>>>           using the DOIC capability announcement mechanism.  =
However,
>>>>           there are some situations where configuration is =
required.
>>>>           For example, a DOIC node detect the fact that a peer may =
not
>>>>           support DOIC when nodes on the other side of the non-
>>>>           supporting node do support DOIC without configuration.
>>>>=20
>>>> [MCruz] Could you clarify last example? =E2=80=9Cwithoug =
configuration=E2=80=9D? I do not understand what you meant.
>>> Here's an example:
>>>=20
>>> C ------ A ------ S
>>>=20
>>> If both C and S support DOIC, there is no way for them to tell =
whether A supports DOIC. Consider two cases:
>>>=20
>>> 1) A supports DOIC. But since C already inserts OC-S-F in all =
requests, and S inserts it in all answers, A passes them through =
unchanged.
>>> 2) A does not support DOIC, but passes through unknown AVPs. Since =
OC-S-F will be unknown to it, it passes it through unchanged.
>>>=20
>>> =46rom the perspective of C and S, the requests and answers look =
identical for both cases. Even if A actually changes the content of an =
OC-S-F avp, neither endpoint can tell if the resulting AVP came from A =
or the opposite endpoint.
>>>=20
>>> Personally, I think this is a showstopper. But the working group =
consensus did not agree.
>>>=20
>>> [MCruz] Several comments:
>>> a) Then you consider this requirement as "partly compliant" since =
you consider configuration is required in a node to identify whether or =
not its adjacent peers support DOIC, right? If so, could you explain why =
a node needs to know whether or not the peer support DOIC, a part from =
what is included in the advertisement mechanism we defined?
>> If you do not know that a peer supports DOIC, you cannot assume that=20=

>> it will enforce DOIC related policies (I believe that is sufficiently=20=

>> described in the security configurations.)
>>=20
>>> b) What do you think is a "show stopper"? The need for =
configuration?
>> Explicitly, the need to configure whether you can trust a peer to=20
>> enforce DOIC related polices. I believe this is an important security=20=

>> issue, and that being unable to determine it automatically is a real=20=

>> problem. Requiring this sort of configuration doesn't scale well, and=20=

>> has the potential of creating real management and operations =
problems.=20
>> (Note the IETF area that DIME is in.)
>>=20
>> But, as I said, the working group seems to have chosen to move =
forward without an automatic way to do this. Perhaps it can be improved =
in a future extension.
>>=20
>>>=20
>>>=20
>>>>   REQ 23: The solution MUST provide sufficient information to =
enable a
>>>>           load-balancing node to divert messages that are rejected =
or
>>>>           otherwise throttled by an overloaded upstream node to =
other
>>>>           upstream nodes that are the most likely to have =
sufficient
>>>>           capacity to process them.
>>>>=20
>>>>           *Not Compliant*. DOIC provides no built in mechanism to
>>>>           determine the best place to divert messages that would
>>>>           otherwise be throttled.  This can be accomplished with a
>>>>           future "load" extension, or with proprietary load =
balancing
>>>>           mechanisms.
>>>>=20
>>>> [MCruz] Partly Compliant. DOIC Overload information can be used =
already by proprietary load-balancing implementations.
>>>>=20
>>>> Load information will be a plus to this.
>>>>=20
>>> I disagree, or at least think that would be _very_ partial. You =
won't have any overload information unless the potential diversion =
targets are also overloaded.
>>> [MCruz] In case servers in the pools are DOIC enabled the Overload =
information is provided by all of them, under overload occurrences, then =
this information is valid (maybe not sufficient in all cases, I agree, =
but valid in most of them) to divert.
>>> In case we have mixed servers (DOIC-supporting and non-DOIC) we have =
some limitations as well.
>> The purpose behind this requirement was to allow load balancing of =
requests that are diverted to (hopefully) non-overloaded servers, in a =
way that reduces the chance of causing those servers to also become =
overloaded. Those servers will not be providing OLRs.
>>=20
>> I still do not agree that the corner case of diverting request to =
_overloaded_ servers is big enough to consider this partially compliant.
>>=20
>>>=20
>>>>=20
>>>>   REQ 30: The solution MUST NOT interfere with any =
Diameter-compliant
>>>>           method that a node may use to protect itself from =
overload
>>>>           from non-supporting nodes or from denial-of-service =
attacks.
>>>>=20
>>>>           *Compliant*. The specification recommends that any such
>>>>           protection mechanism needed without DOIC should continue =
to
>>>>           be employed with DOIC.
>>>> [MCruz] Could you point our where in the draft it is described?
>>> 9.3
>>> [MCruz] I do not think 9.3 says what you mentioned here.
>>> It says "In the absence of an overload control mechanism...". It is =
not said the DOIC shall not interfere with any other Diameter method for =
protection, we may need to add this information to the draft in fact.
>>> A part from that, I think 9.3. should say "for non-DOIC supporting =
nodes/networks..." not just "in the absence of _an_ overload control =
mechanism"...
>> The "absence of an OC strategy" part is there to provide the context =
that these protection mechanisms existed, or needed to exist, prior to =
the availability of DOIC. The section goes on to say that, even with =
DOIC, these protections are still needed to deal with non-compliant =
nodes.
>>=20
>> Are you arguing that we don't comply with Req 30? (Keeping in mind=20
>> that this text is to be removed from the RFC.)
>>=20
>>>=20
>>>=20
>>>=20
>>>=20
>>> /Ben.
>>>=20
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Tue Jan 13 05:17:32 2015
Return-Path: <trac+dime@trac.tools.ietf.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AEAE91A8AD0 for <dime@ietfa.amsl.com>; Tue, 13 Jan 2015 05:17:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 uyIFBZibMEFm for <dime@ietfa.amsl.com>; Tue, 13 Jan 2015 05:17:27 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (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 E86DE1A8AC6 for <dime@ietf.org>; Tue, 13 Jan 2015 05:17:27 -0800 (PST)
Received: from localhost ([::1]:42986 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <trac+dime@trac.tools.ietf.org>) id 1YB1Lb-0003Ko-Eb; Tue, 13 Jan 2015 05:17:27 -0800
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: "dime issue tracker" <trac+dime@trac.tools.ietf.org>
X-Trac-Version: 0.12.3
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.12.3, by Edgewall Software
To: jouni.nospam@gmail.com
X-Trac-Project: dime
Date: Tue, 13 Jan 2015 13:17:27 -0000
X-URL: http://tools.ietf.org/wg/dime/
X-Trac-Ticket-URL: https://tools.ietf.org/wg/dime/trac/ticket/88#comment:1
Message-ID: <079.f7e3cff0405a27773a314ec569297559@trac.tools.ietf.org>
References: <064.69cb533e2dbb732d0731c1452d36605e@trac.tools.ietf.org>
X-Trac-Ticket-ID: 88
In-Reply-To: <064.69cb533e2dbb732d0731c1452d36605e@trac.tools.ietf.org>
X-SA-Exim-Connect-IP: ::1
X-SA-Exim-Rcpt-To: jouni.nospam@gmail.com, dime@ietf.org
X-SA-Exim-Mail-From: trac+dime@trac.tools.ietf.org
X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/LeIReM_4wIb7RaeN2nxgVlwqeUA>
Cc: dime@ietf.org
Subject: Re: [Dime] [dime] #88 (draft-ietf-dime-ovli): Editorials
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Reply-To: dime@ietf.org
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Jan 2015 13:17:29 -0000

#88: Editorials

Changes (by jouni.nospam@gmail.com):

 * status:  new => closed
 * resolution:   => fixed


Comment:

 -06 fixed the editorial.

-- 
------------------------------------+-------------------------------------
 Reporter:  jouni.nospam@gmail.com  |       Owner:  jouni.nospam@gmail.com
     Type:  defect                  |      Status:  closed
 Priority:  trivial                 |   Milestone:
Component:  draft-ietf-dime-ovli    |     Version:
 Severity:  In WG Last Call         |  Resolution:  fixed
 Keywords:                          |
------------------------------------+-------------------------------------

Ticket URL: <https://tools.ietf.org/wg/dime/trac/ticket/88#comment:1>
dime <http://tools.ietf.org/wg/dime/>


From nobody Tue Jan 13 07:28:38 2015
Return-Path: <jouni.nospam@gmail.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9003E1A1EF2 for <dime@ietfa.amsl.com>; Tue, 13 Jan 2015 07:28:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.23
X-Spam-Level: 
X-Spam-Status: No, score=-1.23 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_SORBS_WEB=0.77, SPF_PASS=-0.001] autolearn=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 N6T0-cZTBtZf for <dime@ietfa.amsl.com>; Tue, 13 Jan 2015 07:28:34 -0800 (PST)
Received: from mail-qg0-x230.google.com (mail-qg0-x230.google.com [IPv6:2607:f8b0:400d:c04::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 77A771A1B80 for <dime@ietf.org>; Tue, 13 Jan 2015 07:28:34 -0800 (PST)
Received: by mail-qg0-f48.google.com with SMTP id j5so2603584qga.7 for <dime@ietf.org>; Tue, 13 Jan 2015 07:28:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=57tP9V9Eo6kW9Ut2KXkyf7r2Y6KXJ9e4WR6Y8O3xgtQ=; b=cE2oooiXnesXydSkONY/KbEZCtd0Gkp1lu//mTYbaLGU9tIh6bPCs5C0Zun4+29NtZ 7HqzohrSFfLKgcW02fY77VrLLVcZxPh6SOdrLNBJj0QGgLcO8TYJS6g5m0bDgD9d0ffa oQ156nguXFkb8OhhjjE03m8WGDoR96LNwFTHjYMAJf+sAhIOseALUno0f0X28vpNGIJ1 kZ4+1sxSyLxgPoubFVoRHOXMQ3V66mWbFWW3pzOhbgVRLAEnwSTMkx4bkHCauiOe1bB1 OhGG62F3OkHswvONFvwsLalOoYZa0etE02UTBToFQ9oLLFM1wkZ+T9QTZ1XqVtwyi2Bg 7fHA==
X-Received: by 10.140.98.168 with SMTP id o37mr57180698qge.39.1421162913676; Tue, 13 Jan 2015 07:28:33 -0800 (PST)
Received: from [10.2.5.195] ([63.133.138.10]) by mx.google.com with ESMTPSA id r7sm1370830qat.22.2015.01.13.07.28.32 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Jan 2015 07:28:32 -0800 (PST)
Message-ID: <54B5399D.3020600@gmail.com>
Date: Tue, 13 Jan 2015 07:28:29 -0800
From: Jouni Korhonen <jouni.nospam@gmail.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>, draft-ietf-dime-ovli@tools.ietf.org
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/He1fCSv-jRTMwuRjZvzCaj4pyv8>
Subject: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Jan 2015 15:28:35 -0000

Folks,

Thanks for the hard work on the -06 revision. Since the changes
from -05 to -06 were many, chairs decided to run another short
WGLC for the WG to verify all changes and discussions are
implemented correctly.

This email starts a one week WGLC #2 for draft-ietf-dime-ovli-06. The
WGLC ends 20th Jan 2015 EOB (PST). Post your review comments and
concerns to the mailinglist. Also make use of the issue tracker
(remember to select "severity" as "in WG last call").

Lionel & Jouni


From nobody Tue Jan 13 08:18:14 2015
Return-Path: <lionel.morand@orange.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD5881A8F43 for <dime@ietfa.amsl.com>; Tue, 13 Jan 2015 08:18:12 -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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham
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 V4JwN_yvLSLH for <dime@ietfa.amsl.com>; Tue, 13 Jan 2015 08:18:10 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias91.francetelecom.com [193.251.215.91]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 466321A8BBD for <dime@ietf.org>; Tue, 13 Jan 2015 08:18:06 -0800 (PST)
Received: from omfedm08.si.francetelecom.fr (unknown [xx.xx.xx.4]) by omfedm12.si.francetelecom.fr (ESMTP service) with ESMTP id D09BB18C6C1; Tue, 13 Jan 2015 17:18:04 +0100 (CET)
Received: from Exchangemail-eme1.itn.ftgroup (unknown [10.114.1.186]) by omfedm08.si.francetelecom.fr (ESMTP service) with ESMTP id B0C2D238075; Tue, 13 Jan 2015 17:18:04 +0100 (CET)
Received: from PEXCVZYM13.corporate.adroot.infra.ftgroup ([fe80::cc7e:e40b:42ef:164e]) by PEXCVZYH01.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0224.002; Tue, 13 Jan 2015 17:18:04 +0100
From: <lionel.morand@orange.com>
To: "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Call for WG adoption: draft-zhou-dime-4over6-provisioning
Thread-Index: AdAvS9l1tdi+TFbqRGW1EQiL3sUgVg==
Date: Tue, 13 Jan 2015 16:18:03 +0000
Message-ID: <8849_1421165884_54B5453C_8849_19891_1_6B7134B31289DC4FAF731D844122B36EB00A1D@PEXCVZYM13.corporate.adroot.infra.ftgroup>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.197.38.6]
Content-Type: multipart/related; boundary="_004_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_"; type="multipart/alternative"
MIME-Version: 1.0
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.12.22.190922
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/w-YrWntqN6j8Rmu2RkNmoscgVeM>
Cc: "dime-chairs@tools.ietf.org" <dime-chairs@tools.ietf.org>
Subject: [Dime] Call for WG adoption: draft-zhou-dime-4over6-provisioning
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Jan 2015 16:18:13 -0000

--_004_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_
Content-Type: multipart/alternative;
	boundary="_000_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_"


--_000_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Folks,



As we discussed and agreed during the last IETF meeting, we ask for the WG =
adoption for draft-zhou-dime-4over6-provisioning, which was considered as s=
table enough to become a WG document and almost ready for a WGLC.



This mail officially starts a two week adoption call for draft-zhou-dime-4o=
ver6-provisioning as a WG Item.



Express your support or disagreement on the mailing list. The call will end=
 on January, 27th EOB (CET).



- Jouni & Lionel


________________________________
[http://www.orange.com/sirius/logos_mail/orange_logo.gif]
Lionel Morand
Orange/IMT/OLN/CNC/NCA/A2M
Senior Architect IMS/4G core network and Diameter expert
t=E9l. +33 1 45 29 62 57 <https://monsi.sso.francetelecom.fr/index.asp?targ=
et=3Dhttp%3A%2F%2Fclicvoice.sso.francetelecom.fr%2FClicvoiceV2%2FToolBar.do=
%3Faction%3Ddefault%26rootService%3DSIGNATURE%26to%3D0145296257>
mob. +33 6 07 75 89 36 <https://monsi.sso.francetelecom.fr/index.asp?target=
=3Dhttp%3A%2F%2Fclicvoice.sso.francetelecom.fr%2FClicvoiceV2%2FToolBar.do%3=
Faction%3Ddefault%26rootService%3DSIGNATURE%26to%3D0607758936>
lionel.morand@orange.com <mailto:lionel.morand@orange.com>


___________________________________________________________________________=
______________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confiden=
tielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu=
 ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages el=
ectroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou =
falsifie. Merci.

This message and its attachments may contain confidential or privileged inf=
ormation that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and dele=
te this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been =
modified, changed or falsified.
Thank you.


--_000_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{mso-style-priority:99;
	mso-style-link:"Texte brut Car";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Texte de bulles Car";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-language:EN-US;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.TextedebullesCar
	{mso-style-name:"Texte de bulles Car";
	mso-style-priority:99;
	mso-style-link:"Texte de bulles";
	font-family:"Tahoma","sans-serif";}
span.TextebrutCar
	{mso-style-name:"Texte brut Car";
	mso-style-priority:99;
	mso-style-link:"Texte brut";
	font-family:"Calibri","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"FR" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoPlainText"><span lang=3D"EN-US">Folks,<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">As we discussed and agreed d=
uring the last IETF meeting, we ask for the WG adoption for draft-zhou-dime=
-4over6-provisioning, which was considered as stable enough to become a WG =
document and almost ready for a WGLC.<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">This mail officially starts =
a two week adoption call for draft-zhou-dime-4over6-provisioning as a WG It=
em.<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">Express your support or disa=
greement on the mailing list. The call will end on January, 27<sup>th</sup>=
 EOB (CET).<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText">- Jouni &amp; Lionel<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 style=3D"font-size:12.0pt;font-family:&quot;Times New Roman&quot;,&quot;se=
rif&quot;;mso-fareast-language:FR">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:7.5pt;margin-right:0cm;m=
argin-bottom:10.0pt;margin-left:0cm">
<span style=3D"font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-se=
rif&quot;;color:black;mso-fareast-language:FR"><img width=3D"40" height=3D"=
40" id=3D"Image_x0020_2" src=3D"cid:image001.gif@01D02F54.E38077B0" alt=3D"=
http://www.orange.com/sirius/logos_mail/orange_logo.gif"><o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-family:&quot;A=
rial&quot;,&quot;sans-serif&quot;;color:black;mso-fareast-language:FR">Lion=
el&nbsp;Morand</span></b><span lang=3D"EN-US" style=3D"font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;;color:black;mso-fareast-language:FR">
<br>
Orange/IMT/OLN/CNC/NCA/A2M <br>
Senior Architect IMS/4G core network and Diameter expert <o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;;color:black;mso-fareast-language:FR"><a hr=
ef=3D"https://monsi.sso.francetelecom.fr/index.asp?target=3Dhttp%3A%2F%2Fcl=
icvoice.sso.francetelecom.fr%2FClicvoiceV2%2FToolBar.do%3Faction%3Ddefault%=
26rootService%3DSIGNATURE%26to%3D0145296257" title=3D"Cliquez ici pour appe=
ler automatiquement Lionel  Morand au  0145296257 "><span style=3D"font-siz=
e:8.5pt;color:black;text-decoration:none">t=E9l.
 &#43;33 1 45 29 62 57 </span></a><br>
<a href=3D"https://monsi.sso.francetelecom.fr/index.asp?target=3Dhttp%3A%2F=
%2Fclicvoice.sso.francetelecom.fr%2FClicvoiceV2%2FToolBar.do%3Faction%3Ddef=
ault%26rootService%3DSIGNATURE%26to%3D0607758936" title=3D"Cliquez ici pour=
 appeler automatiquement Lionel  Morand au  0607758936 "><span style=3D"fon=
t-size:8.5pt;color:black;text-decoration:none">mob.
 &#43;33 6 07 75 89 36 </span></a><br>
<a href=3D"mailto:lionel.morand@orange.com" title=3D"Email : lionel.morand@=
orange.com"><span style=3D"color:#FF6600">lionel.morand@orange.com
</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<PRE>______________________________________________________________________=
___________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confiden=
tielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu=
 ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages el=
ectroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou =
falsifie. Merci.

This message and its attachments may contain confidential or privileged inf=
ormation that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and dele=
te this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been =
modified, changed or falsified.
Thank you.
</PRE></body>
</html>

--_000_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_--

--_004_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_
Content-Type: image/gif; name="image001.gif"
Content-Description: image001.gif
Content-Disposition: inline; filename="image001.gif"; size=1264;
	creation-date="Tue, 13 Jan 2015 16:18:03 GMT";
	modification-date="Tue, 13 Jan 2015 16:18:03 GMT"
Content-ID: <image001.gif@01D02F54.E38077B0>
Content-Transfer-Encoding: base64

R0lGODlhKAAoAPcAAP9mAP9lAP////9jAP9kAP9gAP9eAP9dAP9iAP9fAP/x5/9cAP9YAP9ZAP/6
9v+3i/9yGf9lBP+ygv/n1/+IQf/Xvf/fyf+kbP+3if/LrP9jAv9oBv+7kP9oCP91Hf/UuP9xF/+/
lv/awP9mB/+JPf+XV/+EPP+KPf/y6f+HQf+HQv9pC/+PRf/s4f/59f9/Mv9kAv9lAv+cXf/IpP/8
+v/8+P+4jf/Stf9VAP/Ttv/Bmf/Lq/9sDv9vEP9sC/+JPv+2hv9xFv+VUP+ALf9zGv+1h//w5v/u
4v9kBf/JqP/Vuv+3h/+KQv+IQv+2h/9kC/+9k//t4v92G//dyf9bAP9vEv+zhf9aAP91JP/07P/D
nf/awf+UT/9pCP/dxv/Nrv+pc//p2v9hAP+GPf9pBv+GP/9iA/9iCv+ocv+QSv/Zwv/AmP+8j/+d
Xv/Mqv+lbf/Psf+IOv/7+P/Orv9nCP+SU/96Lv96J//j0f9nA/9eBP/bw//aw//k1P+STf/r3f/n
1v/Ipf+6jf+gZ/+eYv/Lqv/Mrf/gzP9zG/+xgP+ygf/XvP/gzf+JQf/Cm/+VVf+FOP/fzP+QTP/h
zv/Xvv+LRv/Gn//s3/+4iv9kAf9rFP+tdv9rCP9lAf9yFv+pcf94KP+xe//Yv/94If9pCv+COf+Z
Vf+ue/+7kf9XAP9nCv/q3f9iAf+9lP9uEf9oA//l1P+FN////f+ncv+OR//v5f/y5/+aX/+hY/9+
K/9hAf/59P+hZ/+IPv+fYv90Gv/Qs/+XVf9wE/+VVP9+Lf+YWP/eyf+mbv9+Mf96Jv91HP/HpP+8
kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAoACgA
AAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuQ
AQYQCEBAZABOUnqM8FEQwQCBNGkKHPATQICjMoEimBlgaIFfYNAk2lTAKREIBQa86sKqigZdiEAU
INBpABIPqmSaUbYiAhkCCUBAeNKIVihTPwnwWFZDjpYBvQBROvSigi0FIRBgEKXExR5XGgI5sIBn
yQIMClA4ikAgUwyBB04JuDBLwJsxAiK1IWbFjgQBpZLIenRLQJphAiT5EsDGj4A6JhzIOECwwBY+
DK5MmtNEgAkcHS4AYyQgRYYJDbAIEBKiz4IztaA4zRFwA44DZsQHJqgwpQEVWG4oCIjDYE0WUCUE
lMkQpkAyAVxwEIUemuzCARA0QDJKLp40NdABxwjwACoCECLfCal80UIlHwiggiF/FHCHAMEwIcAO
OQggCAkSlmABCVUNFAAdRaCggAQFxCLCEAv8YIwXrSyCjCIzIOCBCCw0gIsaNhhhCQO8THCJDsIU
NRABBmywgQFINSWGTAYMQNNPMSVwwgfFDCLAJwcYAEMeBtR00EwyytjUnQ7GFEQhR6yCSQc1HeUR
XKSMEKdCAQEAOw==

--_004_6B7134B31289DC4FAF731D844122B36EB00A1DPEXCVZYM13corpora_--


From nobody Wed Jan 14 01:40:11 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 722D11A6F96 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 01:40:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 hUqWIZq6wkjM for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 01:40:03 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE7D11ACE48 for <dime@ietf.org>; Wed, 14 Jan 2015 01:40:02 -0800 (PST)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0E9e0tb030413 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 14 Jan 2015 09:40:00 GMT
Received: from DEMUHTC003.nsn-intra.net ([10.159.42.34]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0E9dv8d012817 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 14 Jan 2015 10:39:59 +0100
Received: from DEMUHTC008.nsn-intra.net (10.159.42.39) by DEMUHTC003.nsn-intra.net (10.159.42.34) with Microsoft SMTP Server (TLS) id 14.3.195.1; Wed, 14 Jan 2015 10:39:56 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC008.nsn-intra.net ([10.159.42.39]) with mapi id 14.03.0195.001; Wed, 14 Jan 2015 10:39:56 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>, ext Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Ulrich's suggested change #15
Thread-Index: AQHQE7dJhQB5e1nbwEev114RSsJu35yHeSWggAL2Z7uAAD8mAIAACZWAgAY/jwCAAU9ggIABPegggAglTQCAAYF28IAAH80AgAAaZ9CAAAAWgIAAFGEAgAAhJyCAIfS8IA==
Date: Wed, 14 Jan 2015 09:39:55 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523EEF1@DEMUMBX014.nsn-intra.net>
References: <5486FE71.70205@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815235215@DEMUMBX014.nsn-intra.net> <54884137.4050209@usdonovans.com> <5AB8BAC5-3CBD-432E-9631-74DF40795844@nostrum.com> <5489A498.5070203@usdonovans.com> <B74498A5-D8BE-4064-925F-5943F0D79CDC@nostrum.com> <5489EFAF.8010702@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D9000668152358E0@DEMUMBX014.nsn-intra.net> <549046D3.3090104@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815235AB9@DEMUMBX014.nsn-intra.net> <549826C8.1090809@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815239CB6@DEMUMBX014.nsn-intra.net> <1FC86658-AB09-4C11-9ED1-0C7FAFC542BE@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523ACF5@DEMUMBX014.nsn-intra.net> <E0B4F8BD-3FC6-4133-B363-6E8B5A216789@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523AD21@DEMUMBX014.nsn-intra.net> <5BCBA1FC2B7F0B4C9D935572D90006681523AD55@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523AD55@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 15228
X-purgate-ID: 151667::1421228400-00002DC5-E9885BA0/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/HiB2GocyrDbxBAGltCUPsLnVv-U>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ulrich's suggested change #15
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 09:40:10 -0000

U3RldmUsDQoNCnRoZSAtMDYgZHJhZnQgc3RpbGwgaGFzIHRoZSBwYXJhZ3JhcGhzIGluIHNlY3Rp
b24gNS4yLjEuMzoNCg0KICAgV2hlbiByZWNlaXZpbmcgYW4gYW5zd2VyIG1lc3NhZ2Ugd2l0aCBt
dWx0aXBsZSBPTFJzIGFuZCBtdWx0aXBsZSBvZg0KICAgdGhlIE9MUnMgYXJlIG9mIHRoZSBzYW1l
IHN1cHBvcnRlZCByZXBvcnQgdHlwZXMsIGEgcmVhY3Rpbmcgbm9kZQ0KICAgU0hPVUxEIGlnbm9y
ZSB0aGUgZHVwbGljYXRlZCBPTFJzLg0KDQogICBBIHJlYWN0aW5nIG5vZGUgU0hPVUxEIGlnbm9y
ZSBhbiBPQy1PTFIgd2l0aCBhIE9DLVJlcG9ydC1UeXBlIEFWUA0KICAgdGhhdCBjb250YWlucyBh
biB1bnJlY29nbml6ZWQgdmFsdWUuDQoNClRoaXMgdGV4dCBpcyBzcGVjaWZ5aW5nIGJlaGF2aW91
ciBvbiB3aGF0IHlvdSBkbyB3aGVuIHRoZSBwZWVyIHZpb2xhdGVzIHRoZSBwcm90b2NvbC4NCkJl
biBwb2ludGVkIG91dCB0aGF0IA0KDQotLS0tLS0tDQoid2UgZG9uJ3QgbmVlZCB0byBzcGVjaWZ5
IGJlaGF2aW9yIG9uIHdoYXQgeW91IGRvIHdoZW4gdGhlIHBlZXIgdmlvbGF0ZXMgdGhlIHByb3Rv
Y29sLiBJZiBhIHJlYWN0aW5nIG5vZGUgcmVjZWl2ZXMgYW4gYW5zd2VyIHdpdGggdHdvIE9MUnMg
b2YgdGhlIHNhbWUgdHlwZSwgb3Igd2l0aCBhbiBPTFIgb2YgYSB0eXBlIGl0IGRvZXNuJ3QgcmVj
b2duaXplLCB3aGF0IGl0IGRvZXMgaXMgbG9jYWwgcG9saWN5LiBJdCBjb3VsZCBpZ25vcmUgYWxs
IGZ1cnRoZXIgRE9JQyBpbmZvcm1hdGlvbiBmcm9tIHRoYXQgcmVhY3Rpbmcgbm9kZSwgYW5kIHRy
ZWF0IGl0IGxpa2UgYSBub24tc3VwcG9ydGluZyBub2RlLiBJdCBjb3VsZCBpZ25vcmUgYWxsIHRo
ZSBPTFJzIGluIHRoZSBtZXNzYWdlLCBidXQgY29udGludWUgdG8gZXhjaGFuZ2UgT0MtUy1Gcy4g
SXQgY291bGQgcHJvY2VzcyBzb21lIChvciBvbmUpIG9mIHRoZSBPTFJzIGFuZCBpZ25vcmUgdGhl
IHJlc3QuIEl0J3MgdXAgdG8gdGhlIGltcGxlbWVudG9ycyB0byBkZWNpZGUuDQoNCkJUVywgd2Ug
ZG9uJ3QgbmVlZCB0ZXh0IHRvIHNheSB0aGF0LCB1bmxlc3Mgd2Ugd2FudCB0byBhY3R1YWxseSBm
YXZvciBvbmUgc3RyYXRlZ3kgb3ZlciBhbm90aGVyLiINCi0tLS0tLS0NCg0KTXkgdW5kZXJzdGFu
ZGluZyB3YXMgdGhhdCB3ZSBhZ3JlZWQgdG8gZGVsZXRlIHRoZXNlIHR3byBwYXJhZ3JhcGhzIGFz
IHdlIGRpZCBub3QgYWdyZWUgb24gYSBmYXZvdXJlZCBzdHJhdGVneS4NCg0KUmVnYXJkcw0KVWxy
aWNoDQoNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogV2llaGUsIFVscmlj
aCAoTlNOIC0gREUvTXVuaWNoKSANClNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDIzLCAyMDE0IDc6
NTUgUE0NClRvOiBXaWVoZSwgVWxyaWNoIChOU04gLSBERS9NdW5pY2gpOyBleHQgQmVuIENhbXBi
ZWxsDQpDYzogZGltZUBpZXRmLm9yZw0KU3ViamVjdDogUkU6IFtEaW1lXSBVbHJpY2gncyBzdWdn
ZXN0ZWQgY2hhbmdlICMxNQ0KDQpXaXRoIHRoaXMgY2xhcmlmaWNhdGlvbiBJIHdpdGhkcmF3IG15
IHJlcXVlc3QgZm9yIGV4cGxpY2l0IHN0YXRlbWVudHM7IHNpbXBseSBkZWxldGluZyB0aGUgcGFy
YWdyYXBoIGlzIHN1ZmZpY2llbnQuDQpVbHJpY2gNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCkZyb206IERpTUUgW21haWx0bzpkaW1lLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBP
ZiBleHQgV2llaGUsIFVscmljaCAoTlNOIC0gREUvTXVuaWNoKQ0KU2VudDogVHVlc2RheSwgRGVj
ZW1iZXIgMjMsIDIwMTQgNTo1NCBQTQ0KVG86IGV4dCBCZW4gQ2FtcGJlbGwNCkNjOiBkaW1lQGll
dGYub3JnDQpTdWJqZWN0OiBSZTogW0RpbWVdIFVscmljaCdzIHN1Z2dlc3RlZCBjaGFuZ2UgIzE1
DQoNClRoYW5rIHlvdSBmb3IgdGhlIGNsYXJpZmljYXRpb24uDQoNCi0tLS0tT3JpZ2luYWwgTWVz
c2FnZS0tLS0tDQpGcm9tOiBleHQgQmVuIENhbXBiZWxsIFttYWlsdG86YmVuQG5vc3RydW0uY29t
XSANClNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDIzLCAyMDE0IDU6NDEgUE0NClRvOiBXaWVoZSwg
VWxyaWNoIChOU04gLSBERS9NdW5pY2gpDQpDYzogZXh0IFN0ZXZlIERvbm92YW47IGRpbWVAaWV0
Zi5vcmcNClN1YmplY3Q6IFJlOiBbRGltZV0gVWxyaWNoJ3Mgc3VnZ2VzdGVkIGNoYW5nZSAjMTUN
Cg0KDQo+IE9uIERlYyAyMywgMjAxNCwgYXQgOTo1NSBBTSwgV2llaGUsIFVscmljaCAoTlNOIC0g
REUvTXVuaWNoKSA8dWxyaWNoLndpZWhlQG5zbi5jb20+IHdyb3RlOg0KPiANCj4gV2hlbiB0aGUg
cmVwb3J0aW5nIG5vZGUgaXMgZG9pbmcgdGhpbmdzIHdyb25nLCBpLmUuIHNlbmRzIGFuIE9MUiBv
ZiBhIHR5cGUgdGhhdCB3YXMgbm90IGFkdmVydGl6ZWQgKGltcGxpY2l0bHkgb3IgZXhwbGljaXRs
eSksIG9yIHNlbmRzIHR3byBPTFJzIG9mIHNhbWUgdHlwZSwgYWx0aG91Z2ggdGhlIHNwZWMgc2F5
cyAiTVVTVCBOT1QgZG8gc28iLCB3ZSBjYW5ub3QgZXhwZWN0IHRoZSByZWFjdGluZyBub2RlIHRv
IHNvcnQgdGhpbmdzIG91dC4NCg0KR2l2ZW4gdGhlIGN1cnJlbnQgTVVTVCBOT1QsIEkgYWdyZWUu
IEFzIEkndmUgbWVudGlvbmVkIGluIHRoZSBwYXN0LCB3ZSBkb24ndCBuZWVkIHRvIHNwZWNpZnkg
YmVoYXZpb3Igb24gd2hhdCB5b3UgZG8gd2hlbiB0aGUgcGVlciB2aW9sYXRlcyB0aGUgcHJvdG9j
b2wuIElmIGEgcmVhY3Rpbmcgbm9kZSByZWNlaXZlcyBhbiBhbnN3ZXIgd2l0aCB0d28gT0xScyBv
ZiB0aGUgc2FtZSB0eXBlLCBvciB3aXRoIGFuIE9MUiBvZiBhIHR5cGUgaXQgZG9lc24ndCByZWNv
Z25pemUsIHdoYXQgaXQgZG9lcyBpcyBsb2NhbCBwb2xpY3kuIEl0IGNvdWxkIGlnbm9yZSBhbGwg
ZnVydGhlciBET0lDIGluZm9ybWF0aW9uIGZyb20gdGhhdCByZWFjdGluZyBub2RlLCBhbmQgdHJl
YXQgaXQgbGlrZSBhIG5vbi1zdXBwb3J0aW5nIG5vZGUuIEl0IGNvdWxkIGlnbm9yZSBhbGwgdGhl
IE9MUnMgaW4gdGhlIG1lc3NhZ2UsIGJ1dCBjb250aW51ZSB0byBleGNoYW5nZSBPQy1TLUZzLiBJ
dCBjb3VsZCBwcm9jZXNzIHNvbWUgKG9yIG9uZSkgb2YgdGhlIE9MUnMgYW5kIGlnbm9yZSB0aGUg
cmVzdC4gSXQncyB1cCB0byB0aGUgaW1wbGVtZW50b3JzIHRvIGRlY2lkZS4NCg0KQlRXLCB3ZSBk
b24ndCBuZWVkIHRleHQgdG8gc2F5IHRoYXQsIHVubGVzcyB3ZSB3YW50IHRvIGFjdHVhbGx5IGZh
dm9yIG9uZSBzdHJhdGVneSBvdmVyIGFub3RoZXIuDQoNCj4gSSBkbyBub3QgYWdyZWUgdG8gcmVs
YXggdGhlICJNVVNUIE5PVCBkbyBzbyIgcmVxdWlyZW1lbnQgZm9yIHRoZSByZXBvcnRpbmcgbm9k
ZS4NCj4gDQoNCkkgZGlkIG5vdCBzZXJpb3VzbHkgZXhwZWN0IHVzIHRvLiBJIGp1c3QgdG9zc2Vk
IGl0IG91dCBhcyBzb21ldGhpbmcgdG8gdGhpbmsgYWJvdXQuDQoNCj4gDQo+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGV4dCBCZW4gQ2FtcGJlbGwgW21haWx0bzpiZW5Abm9z
dHJ1bS5jb21dIA0KPiBTZW50OiBUdWVzZGF5LCBEZWNlbWJlciAyMywgMjAxNCA0OjA2IFBNDQo+
IFRvOiBXaWVoZSwgVWxyaWNoIChOU04gLSBERS9NdW5pY2gpDQo+IENjOiBleHQgU3RldmUgRG9u
b3ZhbjsgZGltZUBpZXRmLm9yZw0KPiBTdWJqZWN0OiBSZTogW0RpbWVdIFVscmljaCdzIHN1Z2dl
c3RlZCBjaGFuZ2UgIzE1DQo+IA0KPiBJIGRvbid0IG9iamVjdCB0byBhbGxvd2luZyB0aGF0IGJl
aGF2aW9yLiBCdXQgdGhpbmtpbmcgb2YgYSBsZXNzIGV4dHJlbWUgY2FzZSwgd2hlcmUgeW91IGhh
dmUgdHdvIE9DLU9MUnMgYW5kIG9ubHkgcmVjb2duaXplIG9uZSwgSSB0aGluayBpdCB3b3VsZCBi
ZSBwb29yIGRlc2lnbiB0byBpZ25vcmUgdGhlIG9uZSB5b3UgZG8gcmVjb2duaXplLiBPVE9ILCBp
dCdzIG5vdCB0aGUgSUVURidzIGpvYiB0byBwcmV2ZW50IGJhZCBkZXNpZ24sIGFzIGxvbmcgYXMg
aXQncyBpbnRlcm9wZXJhYmxlIGFuZCBkb2Vzbid0IGJyZWFrIGV2ZXJ5b25lIGVsc2UgKGFuZCB0
aGUgbmV0d29yay4pDQo+IA0KPiBCdXQgd2UgbWlnaHQgd2FudCB0byBjb25zaWRlciB0aGUgZmFj
dCB0aGF0IHRoaXMgcHV0cyB0aGUgd29yayB1cG9uIHRoZSBvdmVybG9hZGVkIHJlcG9ydGluZyBu
b2RlIHRvIG1ha2UgdGhpbmdzIHJpZ2h0LCByYXRoZXIgdGhhbiBvbiB0aGUgcmVhY3Rpbmcgbm9k
ZSB0byBmaWd1cmUgaXQgb3V0LiBGb3IgZXhhbXBsZSwgdGhlIHVzZSBjYXNlcyBJJ3ZlIGRlc2Ny
aWJlIGluIGEgc2VwYXJhdGUgdGhyZWFkLCB3aGVyZSB5b3UgaGF2ZSBtdWx0aXBsZSByZWFjdGlu
ZyBub2RlcyB3aXRoIGRpZmZlcmVudCBjYXBhYmlsaXRpZXMsIG1pZ2h0IGNvdWxkIGJlIG1pdGln
YXRlZCBieSBhbGxvd2luZyAobm90IHJlcXVpcmluZykgdGhlIHJlcG9ydGluZyBub2RlIHB1dCB0
aGUgT0MtT0xScyBmb3IgYm90aCBpbiBlYWNoIGFuc3dlci4gV2UgZG9uJ3QgY3VycmVudGx5IGFs
bG93IHRoYXQgdW5sZXNzIHRoZXkgYXJlIGRpZmZlcmVudCB0eXBlcywgYnV0IEkgd29uZGVyIGlm
IHdlIHNob3VsZCB0aGluayBhYm91dCByZWxheGluZyB0aGF0Lg0KPiANCj4+IE9uIERlYyAyMywg
MjAxNCwgYXQgNjozMCBBTSwgV2llaGUsIFVscmljaCAoTlNOIC0gREUvTXVuaWNoKSA8dWxyaWNo
LndpZWhlQG5zbi5jb20+IHdyb3RlOg0KPj4gDQo+PiBObywgdGhhdCB3YXMgbm90IHdoYXQgSeKA
mW0gYWZ0ZXIuDQo+PiANCj4+IEltYWdpbmUgdGhlICh1bmxpa2VseSkgY2FzZSB3aGVyZSBhbiBh
bnN3ZXIgbWVzc2FnZSBjb250YWlucyBodW5kcmVkcyBvZiBPQy1PTFIgQVZQcy4NCj4+IA0KPj4g
SW4gdGhpcyBjYXNlIEkgd2FudCB0aGUgcmVhY3Rpbmcgbm9kZSB0byBiZSBhbGxvd2VkDQo+PiAt
ICAgICAgICAgIE5vdCB0byBzY2FuIHRocm91Z2ggYWxsIHRoZSBPQy1PTFIgQVZQcyB0byBzZWUg
d2hldGhlciB0aGVyZSBpcyBhIHN1cHBvcnRlZCAgYW5kIG5vdCBkdXBsaWNhdGVkIE9MUg0KPj4g
LSAgICAgICAgICBUbyBpZ25vcmUgdGhlIGNvbXBsZXRlIHNldCBvZiBPQy1PTFIgQVZQcyBpZiBh
dCBsZWFzdCBvbmUgb2YgdGhlIE9MUiBjb250YWlucyBhbiB1bnN1cHBvcnRlZCByZXBvcnQtdHlw
ZSBvciBhdCBsZWFzdCB0d28gb2YgdGhlIE9MUnMgY29udGFpbiAgdGhlIHNhbWUgcmVwb3J0IHR5
cGUuDQo+PiANCj4+IEFzIHNvb24gYXMgdGhlIHJlYWN0aW5nIG5vZGUgZGV0ZWN0cyB0aGF0IHRo
ZXJlIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIHRoZSBzZXQgb2YgT0xScyBpdCBtYXkgaWdub3Jl
IHRoZSBjb21wbGV0ZSBzZXQgb2YgT0xScy4NCj4+IA0KPj4gUmVnYXJkcw0KPj4gVWxyaWNoDQo+
PiANCj4+IEZyb206IGV4dCBTdGV2ZSBEb25vdmFuIFttYWlsdG86c3Jkb25vdmFuQHVzZG9ub3Zh
bnMuY29tXSANCj4+IFNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMjIsIDIwMTQgMzoxMiBQTQ0KPj4g
VG86IFdpZWhlLCBVbHJpY2ggKE5TTiAtIERFL011bmljaCk7IEJlbiBDYW1wYmVsbA0KPj4gQ2M6
IGRpbWVAaWV0Zi5vcmcNCj4+IFN1YmplY3Q6IFJlOiBbRGltZV0gVWxyaWNoJ3Mgc3VnZ2VzdGVk
IGNoYW5nZSAjMTUNCj4+IA0KPj4gSSBoYXZlIGFkZGVkIHRoZSBmb2xsb3dpbmcgc3RhdGVtZW50
czoNCj4+IA0KPj4gICBXaGVuIHJlY2VpdmluZyBhbiBhbnN3ZXIgbWVzc2FnZSB3aXRoIG11bHRp
cGxlIE9MUnMgYW5kIG11bHRpcGxlIG9mDQo+PiAgIHRoZSBPTFJzIGFyZSBvZiB0aGUgc2FtZSBz
dXBwb3J0ZWQgcmVwb3J0IHR5cGVzLCBhIHJlcG9ydGluZyBub2RlDQo+PiAgIFNIT1VMRCBpZ25v
cmUgdGhlIGR1cGxpY2F0ZWQgT0xScy4NCj4+IA0KPj4gICBBIHJlYWN0aW5nIG5vZGUgU0hPVUxE
IGlnbm9yZSBhbiBPQy1PTFIgd2l0aCBhIE9DLVJlcG9ydC1UeXBlIEFWUA0KPj4gICB0aGF0IGNv
bnRhaW5zIGFuIHVucmVjb2duaXplZCB2YWx1ZS4NCj4+IFJlZ2FyZHMsDQo+PiANCj4+IFN0ZXZl
DQo+PiANCj4+IE9uIDEyLzE3LzE0IDI6NDkgQU0sIFdpZWhlLCBVbHJpY2ggKE5TTiAtIERFL011
bmljaCkgd3JvdGU6DQo+PiBZZXMgcGxlYXNlLg0KPj4gDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh
Z2UtLS0tLQ0KPj4gRnJvbTogZXh0IFN0ZXZlIERvbm92YW4gW21haWx0bzpzcmRvbm92YW5AdXNk
b25vdmFucy5jb21dIA0KPj4gU2VudDogVHVlc2RheSwgRGVjZW1iZXIgMTYsIDIwMTQgMzo1MSBQ
TQ0KPj4gVG86IFdpZWhlLCBVbHJpY2ggKE5TTiAtIERFL011bmljaCk7IEJlbiBDYW1wYmVsbA0K
Pj4gQ2M6IGRpbWVAaWV0Zi5vcmcNCj4+IFN1YmplY3Q6IFJlOiBbRGltZV0gVWxyaWNoJ3Mgc3Vn
Z2VzdGVkIGNoYW5nZSAjMTUNCj4+IA0KPj4gSSdsbCBkZWxldGUgdGhlIHBhcmFncmFwaC4NCj4+
IA0KPj4gRG8gd2UgbmVlZCBleHBsaWNpdCBzdGF0ZW1lbnRzIGZvciB0aGUgdHdvIGNvbmRpdGlv
bnMgYmVsb3c/DQo+PiANCj4+IFN0ZXZlDQo+PiANCj4+IA0KPj4gT24gMTIvMTUvMTQsIDExOjU2
IEFNLCBXaWVoZSwgVWxyaWNoIChOU04gLSBERS9NdW5pY2gpIHdyb3RlOg0KPj4gU3RldmUsIEJl
biwNCj4+IA0KPj4gSSdtIGZpbmUgd2l0aCBkZWxldGluZyB0aGUgcGFyYWdyYXBoLg0KPj4gQnV0
IGZvciBteSBjbGFyaWZpY2F0aW9uIHBsZWFzZSBjb25maXJtIHRoYXQgaWdub3JpbmcgdGhlIGNv
bXBsZXRlIHNldCBvZiBPTFJzIGlzIGFsbG93ZWQgd2hlbiBvbmUgb2YgdGhlc2UgT0xScyBjb250
YWlucyBhIHJlcG9ydCB0eXBlIHRoYXQgd2FzIG5vdCBhZHZlcnRpemVkLCBvciB0d28gb2YgdGhl
IE9MUnMgY29udGFpbiB0aGUgc2FtZSByZXBvcnQgdHlwZS4NCj4+IA0KPj4gUmVnYXJkcw0KPj4g
VWxyaWNoDQo+PiANCj4+IA0KPj4gDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4g
RnJvbTogZXh0IFN0ZXZlIERvbm92YW4gW21haWx0bzpzcmRvbm92YW5AdXNkb25vdmFucy5jb21d
DQo+PiBTZW50OiBUaHVyc2RheSwgRGVjZW1iZXIgMTEsIDIwMTQgODoyNiBQTQ0KPj4gVG86IEJl
biBDYW1wYmVsbA0KPj4gQ2M6IFdpZWhlLCBVbHJpY2ggKE5TTiAtIERFL011bmljaCk7IGRpbWVA
aWV0Zi5vcmcNCj4+IFN1YmplY3Q6IFJlOiBbRGltZV0gVWxyaWNoJ3Mgc3VnZ2VzdGVkIGNoYW5n
ZSAjMTUNCj4+IA0KPj4gDQo+PiBPbiAxMi8xMS8xNCwgMTI6NTEgUE0sIEJlbiBDYW1wYmVsbCB3
cm90ZToNCj4+IE9uIERlYyAxMSwgMjAxNCwgYXQgODowNSBBTSwgU3RldmUgRG9ub3ZhbiA8c3Jk
b25vdmFuQHVzZG9ub3ZhbnMuY29tPiB3cm90ZToNCj4+IA0KPj4gSSB0aG91Z2h0IHRoaXMgcGFy
YWdyYXBoIHdhcyBjb3ZlcmluZyB1bnJlY29nbml6ZWQgdmFsdWVzIGZvciBhbGwgQVZQcy4NCj4+
IEkgYWdyZWUgdGhhdCdzIHdoYXQgaXQgY292ZXJlZC4gQnV0IEkgdGhpbmsgd2UgZmFpbGVkIHRv
IGNvdmVyIHRoZSB1bnJlY29nbml6ZWQgQVZQIGNhc2UuIElmIHdlIGRvbid0IGhhdmUgYW55dGhp
bmcgdG8gc2F5IGJleW9uZCB3aGF0IDY3MzMgc2F5cywgdGhlbiBpdCBtaWdodCBub3QgYmUgc3Ry
aWN0bHkgbmVjZXNzYXJ5LCBidXQgaXQgbWlnaHQgc3RpbGwgYmUgd29ydGggc2F5aW5nIHRoYXQg
InVucmVjb2duaXplZCBzdWItQVZQcyBhcmUgdHJlYXRlZCBhcyBwZXIgUkZDNjczMyIuDQo+PiBU
aGF0IGlzIHByb2JhYmx5IHdvcnRoIHNheWluZy4NCj4+ICAgTWF5YmUgaXQgaXMgYmV0dGVyIHRv
IHJlbW92ZSB0aGUgcGFyYWdyYXBoIGVudGlyZWx5IGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgZGVm
aW5pdGlvbiBvZiBlYWNoIEFWUCBhZGRyZXNzZXMgd2hhdCBpcyBkb25lIHdpdGggdW5yZWNvZ25p
emVkIHZhbHVlcy4NCj4+IFBvc3NpYmx5LiBUaGVyZSBhcmUgQVZQcyB3aGVyZSB0aGVyZSdzIG5v
IHN1Y2ggdGhpbmcgYXMgYW4gdW5yZWNvZ25pemVkIHZhbHVlLiBUaGVyZSBtYXkgYmUgQVZQcyB3
aGVyZSB0aGUgYWxsb3dlZCB2YWx1ZXMgdmFyeSBieSBhbGdvcml0aG0uIElmIHdlIGRvIHRha2Ug
dGhhdCByb3V0ZSwgd2UgcHJvYmFibHkgbmVlZCBsYW5ndWFnZSBoZXJlIHRoYXQgc2F5cyB1bnJl
Y29nbml6ZWQgdmFsdWVzIGFyZSBoYW5kbGVkIGFzIGRlc2NyaWJlZCBieSB0aGUgQVZQIGRlZmlu
aXRpb24gb3IgdGhlIGFsZ29yaXRobS4NCj4+IEFncmVlZC4NCj4+IFN0ZXZlDQo+PiANCj4+IE9u
IDEyLzEwLzE0LCA1OjI2IFBNLCBCZW4gQ2FtcGJlbGwgd3JvdGU6DQo+PiBPbiBEZWMgMTAsIDIw
MTQsIGF0IDY6NDggQU0sIFN0ZXZlIERvbm92YW4gPHNyZG9ub3ZhbkB1c2Rvbm92YW5zLmNvbT4g
d3JvdGU6DQo+PiANCj4+IFVscmljaCwNCj4+IA0KPj4gQWN0dWFsbHksIHRoZSB3b3JkaW5nIHlv
dSBzdWdnZXN0ZWQgd2Fzbid0IHF1aXRlIHJpZ2h0LiAgSXQgc2hvdWxkIGJlOg0KPj4gDQo+PiAg
ICBXaGVuIHJlY2VpdmluZyBhbiBPQy1PTFIgQVZQIHdpdGggdW5rbm93biB2YWx1ZXMsIHRoZSBv
dmVybG9hZCByZXBvcnQNCj4+ICAgIFNIT1VMRCBiZSBzaWxlbnRseSBkaXNjYXJkZWQgYnkgcmVh
Y3Rpbmcgbm9kZXMgYW5kIHRoZSBldmVudCBTSE9VTEQNCj4+ICAgIGJlIGxvZ2dlZC4NCj4+IA0K
Pj4gSXQncyBub3QganVzdCBhYm91dCByZXBvcnQgdHlwZSB2YWx1ZXMgYnV0IHVua25vd24gdmFs
dWVzIGZvciBhbnkgb2YgdGhlIEFWUHMgaW4gdGhlIE9MUi4NCj4+IA0KPj4gVGhpcyBzZWVtcyBs
aWtlIGEgZ29vZCByZXF1aXJlbWVudCB0byBpbmNsdWRlIGluIHRoZSBzcGVjaWZpY2F0aW9uIHRv
IGVuc3VyZSBjb21tb24gYmVoYXZpb3IgaW4gcmVhY3Rpbmcgbm9kZXMuICBJIGRvbid0IGZlZWwg
c3Ryb25nbHkgYWJvdXQgdGhpcyBidXQgSSB3b3VsZCBsaWtlIHRvIGhlYXIgb3RoZXIgb3Bpbmlv
bnMuDQo+PiBJIHRoaW5rIHRoaXMgaXMgc3RpbGwgbm90IHF1aXRlIGNvbXBsZXRlLg0KPj4gDQo+
PiBJZiB5b3UgcmVjZWl2ZSBhIHN1Yi1BVlAgdGhhdCB5b3UgZG9uJ3QgdW5kZXJzdGFuZCwgdGhl
biB5b3Ugc2hvdWxkIGlnbm9yZSB0aGF0IHN1Yi1hdnAsIG5vdCB0aGUgd2hvbGUgT0MtT0xSIEFW
UC4gIChVbmxlc3Mgb2YgY291cnNlIHRoZSB1bmtub3duIEFWUCBoYXMgdGhlIG0tYml0IHNldC4p
IElmIHlvdSByZWNlaXZlIGEga25vd24gc3ViLUFWUCwgd2l0aCBhIHZhbHVlIHlvdSBkb24ndCB1
bmRlcnN0YW5kLCB0aGUgYmVoYXZpb3Igc2hvdWxkIGJlIEFWUCBzcGVjaWZpYy4gRm9yIFJlcG9y
dC1UeXBlLCB0aGF0IG1lYW5zIGlnbm9yZSB0aGUgd2hvbGUgT0xSLg0KPj4gDQo+PiBJdCdzIG5v
dCBjbGVhciB0byBtZSB3aGV0aGVyIHRoZSBvcmlnaW5hbCB0ZXh0IHdhcyBhYm91dCBhcmJpdHJh
cnkgYXZwcywgb3IgUmVwb3J0LVR5cGUuDQo+PiANCj4+IFN0ZXZlDQo+PiANCj4+IE9uIDEyLzkv
MTQsIDExOjA0IEFNLCBXaWVoZSwgVWxyaWNoIChOU04gLSBERS9NdW5pY2gpIHdyb3RlOg0KPj4g
SGkgU3RldmUsDQo+PiANCj4+IEkgdGhpbmsgaXQgd2FzIHBvaW50ZWQgb3V0IGJ5IEJlbiB0aGF0
IHdlIGRvIG5vdCBzcGVjaWZ5IGJlaGF2aW91ciBvZiBhIG5vZGUgZm9yIGNhc2VzIHdoZXJlIGl0
IGRldGVjdHMgdGhhdCBhbm90aGVyIG5vZGUgaXMgYnJlYWtpbmcgdGhlIHJ1bGUuDQo+PiBUaGUg
cnVsZSBpczoNCj4+ICAgICBBIHJlcG9ydGluZyBub2RlIE1VU1QgTk9UIHNlbmQgb3ZlcmxvYWQg
cmVwb3J0cyBvZiBhIHR5cGUgdGhhdCBoYXMNCj4+ICAgICBub3QgYmVlbiBhZHZlcnRpc2VkIGFz
IHN1cHBvcnRlZCBieSB0aGUgcmVhY3Rpbmcgbm9kZS4NCj4+IFNlZSBzZWN0aW9uIDQuMi4zLg0K
Pj4gDQo+PiBSZWdhcmRzDQo+PiBVbHJpY2gNCj4+IA0KPj4gICAgRnJvbTogRGlNRSBbbWFpbHRv
OmRpbWUtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIGV4dCBTdGV2ZSBEb25vdmFuDQo+
PiBTZW50OiBUdWVzZGF5LCBEZWNlbWJlciAwOSwgMjAxNCAyOjUyIFBNDQo+PiBUbzogZGltZUBp
ZXRmLm9yZw0KPj4gU3ViamVjdDogW0RpbWVdIFVscmljaCdzIHN1Z2dlc3RlZCBjaGFuZ2UgIzE1
DQo+PiANCj4+IFVscmljaCwNCj4+IA0KPj4gRm9yIHlvdXIgc3VnZ2VzdGVkIGNoYW5nZSAjMTU6
DQo+PiBTZWN0aW9uIDQuMi4xLjMsIDR0aCBwYXJhZ3JhcGg6DQo+PiBFeGlzdGluZyB0ZXh0Og0K
Pj4gICAgIFdoZW4gcmVjZWl2aW5nIGFuIE9DLU9MUiBBVlBzIHdpdGggdW5rbm93biB2YWx1ZXMs
IGEgcmVhY3Rpbmcgbm9kZQ0KPj4gICAgIFNIT1VMRCBiZSBzaWxlbnRseSBkaXNjYXJkZWQgYnkg
cmVhY3Rpbmcgbm9kZXMgYW5kIHRoZSBldmVudCBTSE9VTEQNCj4+ICAgICBiZSBsb2dnZWQuDQo+
PiBDb21tZW50OiB0ZXh0IGlzIGNvbmZ1c2luZy4gTWF5YmUgdGhlIGludGVudGlvbiB3YXMgdG8g
c2F5Og0KPj4gICAgIFdoZW4gcmVjZWl2aW5nIGFuIE9DLU9MUiBBVlBzIHdpdGggYW4gdW5zdXBw
b3J0ZWQgcmVwb3J0IHR5cGUgdmFsdWUsIGEgcmVhY3Rpbmcgbm9kZQ0KPj4gICAgIFNIT1VMRCBz
aWxlbnRseSBkaXNjYXJkZWQgdGhlIE9DLU9MUiBBVlAgYW5kIHRoZSBldmVudCBTSE9VTEQNCj4+
ICAgICBiZSBsb2dnZWQuDQo+PiBCdXQgZXZlbiB0aGF0IGlzIG5vdCBjb3JyZWN0Lg0KPj4gUHJv
cG9zYWw6IFJlbW92ZSB0aGUgcGFyYWdyYXBoLg0KPj4gVGhlIGludGVudCB3YXMgdGhhdCBhbiBP
Qy1PTFIgdGhhdCBjb250YWlucyB1bmtub3duIHZhbHVlcyBzaG91bGQgYmUgZGlzY2FyZGVkLiAg
SSBhZ3JlZSB0aGF0IHRoZSB3b3JkaW5nIG5lZWRzIHRvIGJlIGNoYW5nZXMgYXMgeW91IHN1Z2dl
c3RlZC4gIEkgZG9uJ3QgYWdyZWUgd2l0aCByZW1vdmluZyB0aGUgcGFyYWdyYXBoLiAgQ2FuIHlv
dSBlbGFib3JhdGUgb24gd2h5IHlvdSB0aGluayBpdCBpcyBub3QgY29ycmVjdCB3aGVuIGNoYW5n
ZWQgYXMgeW91IHN1Z2dlc3RlZD8NCj4+IA0KPj4gUmVnYXJkcywNCj4+IA0KPj4gU3RldmUNCj4+
IA0KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+
IERpTUUgbWFpbGluZyBsaXN0DQo+PiBEaU1FQGlldGYub3JnDQo+PiBodHRwczovL3d3dy5pZXRm
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RpbWUNCj4+IA0KPj4gDQo+PiANCj4+IA0KPiANCg0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkRpTUUgbWFpbGlu
ZyBsaXN0DQpEaU1FQGlldGYub3JnDQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL2RpbWUNCg==


From nobody Wed Jan 14 02:38:58 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D10B61A8A78 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 02:38:57 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 3WOPlpPLWRKR for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 02:38:51 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AD5441ACDF4 for <dime@ietf.org>; Wed, 14 Jan 2015 02:38:50 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0EAcivV019792 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 14 Jan 2015 10:38:44 GMT
Received: from DEMUHTC001.nsn-intra.net ([10.159.42.32]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0EAcdCS007529 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 14 Jan 2015 11:38:43 +0100
Received: from DEMUHTC008.nsn-intra.net (10.159.42.39) by DEMUHTC001.nsn-intra.net (10.159.42.32) with Microsoft SMTP Server (TLS) id 14.3.195.1; Wed, 14 Jan 2015 11:38:39 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC008.nsn-intra.net ([10.159.42.39]) with mapi id 14.03.0195.001; Wed, 14 Jan 2015 11:38:39 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: "ext TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>, Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Diameter load control inputs
Thread-Index: AdAoRTX1mtXcCV8gROKEYHqQd0nf8gBv2auAAEZezgABMPpVgA==
Date: Wed, 14 Jan 2015 10:38:38 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523EF2A@DEMUMBX014.nsn-intra.net>
References: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com> <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com> <E194C2E18676714DACA9C3A2516265D2026F4F76@FR712WXCHMBA12.zeu.alcatel-lucent.com>
In-Reply-To: <E194C2E18676714DACA9C3A2516265D2026F4F76@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523EF2ADEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 74330
X-purgate-ID: 151667::1421231925-00001177-AA8CA044/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/TRb6h_zizg6xErmf7DZ957QU7EM>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 10:38:58 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523EF2ADEMUMBX014nsnin_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgSmVhbi1KYWNxdWVzLA0KDQpJIHdvdWxkIGxpa2UgdG8gbGltaXQgRGlhbWV0ZXIgbG9hZCBj
b250cm9sIHRvIHNlcnZlciAgKGhvc3QpIGxvYWQgYW5kIHJlYWxtIGxvYWQgaW4gYSBmaXJzdCBz
dGVwIGFuZCBsZWF2ZSBhZ2VudCBsb2FkIGZvciBhIHNlY29uZCBzdGVwLg0KV2UgbmVhcmx5IGhh
dmUgY29tcGxldGVkIERpYW1ldGVyIE92ZXJsb2FkIGNvbnRyb2wgd2hpY2ggaXMgbGltaXRlZCB0
byBzZXJ2ZXIgKGhvc3QpIG92ZXJsb2FkIGFuZCByZWFsbSBvdmVybG9hZCwgd2hpbGUgdGhlIGFn
ZW50IG92ZXJsb2FkIGRyYWZ0ICBpcyBub3QgY29tcGxldGUuDQoNCk9uY2UgQWdlbnQgT3Zlcmxv
YWQgY29udHJvbCBpcyBzdGFibGUgd2UgbWF5IGNvbnNpZGVyIGV4dGVuZGluZyBpdCB3aXRoIGFn
ZW50IGxvYWQgY29udHJvbC4NCg0KQmVzdCByZWdhcmRzDQpVbHJpY2gNCg0KRnJvbTogRGlNRSBb
bWFpbHRvOmRpbWUtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIGV4dCBUUk9UVElOLCBK
RUFOLUpBQ1FVRVMgKEpFQU4tSkFDUVVFUykNClNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDA4LCAy
MDE1IDE6NDQgUE0NClRvOiBCZW4gQ2FtcGJlbGwNCkNjOiBkaW1lQGlldGYub3JnDQpTdWJqZWN0
OiBSZTogW0RpbWVdIERpYW1ldGVyIGxvYWQgY29udHJvbCBpbnB1dHMNCg0KSGkgQmVuDQoNClRo
YW5rcyBmb3IgeW91ciBmZWVkYmFjDQoNClJlZ2FyZGluZyB5b3VyIGhpZ2ggbGV2ZWwgb2JzZXJ2
YXRpb25zOw0KDQoxKSBBYm91dCAgdGhlIGZpZ3VyZSB5b3UgZGVzY3JpYmVkICB3aXRoIGEgY29u
bmVjdGlvbiBiZXR3ZWVuICBTMSBhbmQgUzI6DQoNCiAg4oCULS0tLS0tUzENCi8gICAgICAgIHwN
CkMxICAgICAgIHwNClwgICAgICAgIHwNCiAg4oCU4oCULS0tLS1TMg0KWW91IHNheSB0aGF0IFMx
IG9yIFMyIGNhbiBwcm94eSBhIHJlcXVlc3QsIHRoaXMgaXMgZm9yIG1lIHJhdGhlciBlcXVpdmFs
ZW50ICB0byBTMSBoYXZpbmcgYSBjb2xsb2NhdGVkICBwcm94eSBEQSwgc28gYmVpbmcgYSBwYXJ0
aWN1bGFyIGNhc2Ugb2YgZmlndXJlIDUuMy4gU28gSSBzdWdnZXN0IHRvIGNvbnRpbnVlIHRvIHVz
ZSA1LjMgYWxzbyBjb3ZlcmluZyBzZXJ2ZXJzIHdpdGggbm9uIGNvbG9jYXRlZCBEQXMsIHVubGVz
cyB5b3Ugd291bGQgeW91IGxpa2UgdGhlIGFib3ZlIHVzZSBjYXNlIHRvIGJlIGhhbmRsZWQgc2Vw
YXJhdGVseQ0KDQpJIGFncmVlIHRoYXQgdGhlIHBhdGggQzE+UzEgKG9yIEMxPkExPlMxIGluIDUu
MykgaXMgbW9yZSBlZmZpY2llbnQgdGhhbiBDMT5TMT5TMiAoIG9yIEMxPkExPkEyPlMyIGluIDUu
MykgYW5kIHRoYXQgb3RoZXIg4oCcY3Jvc3MgY29ubmVjdOKAnSB1c2UgY2FzZXMgaW4gb3RoZXIg
ZmlndXJlcyBhbHNvIHByZXNlbnQgcGF0aHMgd2l0aCBtb3JlIGhvcHMgdGhhbiBvdGhlcnMuICBU
aGUgcXVlc3Rpb24gd2hpY2ggeW91IHJhaXNlIGFuZCBvbiB3aGljaCB0aGUgZ3JvdXAgd2lsbCBo
YXZlIHRvIHRha2UgIGEgZGVjaXNpb24gaXM6ICBkbyB3ZSBmb2N1cyBvbmx5IG9uIGxvYWQgYmFs
YW5jaW5nIGJldHdlZW4gdGhlIHNob3J0ZXN0IHBhdGhzIChsb25nZXIgcGF0aHMgdXNlZCBvbmx5
IGZvciBvdmVybG9hZCBvciBmYWlsdXJlIGNhc2VzIGFzIHlvdSBpbmRpY2F0ZWQgKSwgb3IgaWYg
aXQgaXMgcmVsZXZhbnQgdG8gYWxzbyAgY29uc2lkZXIgbG9uZ2VyIHBhdGhzIGZvciBsb2FkIGJh
bGFuY2luZywgdGhlIHNlY29uZCBjaG9pY2UgbWF5IHNpZ25pZmljYW50bHkgbWFrZSB0aGUgbG9h
ZCBiYWxhbmNpbmcgaW5mb3JtYXRpb24gdG8gZGVhbCB3aXRoIG1vcmUgY29tcGxleC4gQnV0IHdl
IGhhdmUgZmlyc3QgIHRvIGFzc2VzcyB0aGUgcmVxdWlyZW1lbnQuDQpUd28gaGVyZWFmdGVyIG9i
c2VydmF0aW9ucw0KDQoxLjEpIEluIGZpZ3VyZSA1LjM6IGlmIFMxIGlzIG1vcmUgbG9hZGVkIHRo
YW4gUzIgLCBmb3IgcmVhbG0gcm91dGVkIHJlcXVlc3RzLCBDMSwgdG8gYWNoaWV2ZSBsb2FkIGJh
bGFuY2luZywgbmVlZHMgYSAgbG9hZCBpbmZvIGZvciB0aGUgcmVhbG0gdmlhICBBMSAoYWNjb3Jk
aW5nIHRvIFMxIGxvYWQpLCAgYW5kIGFub3RoZXIgbG9hZCBpbmZvIHZpYSBBMiAoYWNjb3JkaW5n
IHRvIFMyIGxvYWQpDQoNCg0KDQoxLjIpICBBbm90aGVyIGRyYXdpbmcNCg0KQzEtLS1BMS0tLS0t
LVMxDQogICAgfA0KICAgIHwNCkMyLS0tQTItLS0tLS1TMg0KDQppZiBTMSBpcyBtb3JlIGxvYWRl
ZCB0aGFuIFMyLCBBMSBtYXkgc2VuZCBzb21lIHRyYWZmaWMgY29taW5nIGZyb20gQzEgdG8gUzIg
dmlhIEEyLCBzbyB3aXRoICBhIGxvbmdlciBwYXRoIEMxPkExPkEyPlMyIHRoYW4gQzE+QTE+UzEu
IFRoaXMgbWVhbnMgdGhhdCBBMSBoYXMgbG9hZCBpbmZvcm1hdGlvbiBhYm91dCBTMiBhbmQgYWJv
dXQgUzEgdG8gZG8gbG9hZCBiYWxhbmNpbmcuIERvZXMgdGhpcyBjYXNlIGVudGVyIG91ciBzY29w
ZS4/DQoNCg0KDQoyKSBBYm91dA0KICAg4oCU4oCUQTEtLVMxLi4uU24NCiAvDQpDDQogXA0KICAg
4oCU4oCUQTItLVNuKzEuLi5TbQ0KDQpNeSBkcmF3aW5ncyA1LjUgdG8gNS43IGFwcGVhciB0byBi
ZSBhIGJpdCBjb25mdXNpbmcsIGluIGZhY3QgbXkgZGlhZ3JhbXMgc2hvdWxkIGJlIGNvcnJlY3Rl
ZCBhcyB0aGlzIG9uZToNCg0KICAgICAgLy0tLVMxDQogICDigJTigJRBMS0tLS4uLg0KICAvICB8
XC0tLVNuDQogLyAgIHwNCkMgICAgfA0KIFwgICB8Ly0tU24rMQ0KICAg4oCU4oCUQTItLS4uLg0K
ICAgICAgXC0tU20NClNvIHRoZSB1cHN0cmVhbSBzZXJ2ZXJzIGFyZSAgZGlyZWN0bHkgY29ubmVj
dGVkIHRvIGEgREEuDQoNCg0KDQozKSBQbGVhc2UgbGV0IG1lIGtub3cgaG93IHlvdSB3b3VsZCBs
aWtlIHRvIEluc2VydCB0aGUgYW5hbHlzaXMgaW50byB0aGUgbmV3IHZlcnNpb24gb2YgeW91ciBk
cmFmdCAuICBJIHRoaW5rIHdlIG1heSBoYXZlIGEgZGVkaWNhdGVkIHNlY3Rpb24gYWJvdXQgdG9w
b2xvZ3kgdXNlIGNhc2VzLg0KDQpCZXN0IHJlZ2FyZHMNCg0KSkphY3F1ZXMNCg0KDQoNCg0KRGUg
OiBCZW4gQ2FtcGJlbGwgW21haWx0bzpiZW5Abm9zdHJ1bS5jb21dDQpFbnZvecOpIDogbWVyY3Jl
ZGkgNyBqYW52aWVyIDIwMTUgMDE6MDENCsOAIDogVFJPVFRJTiwgSkVBTi1KQUNRVUVTIChKRUFO
LUpBQ1FVRVMpDQpDYyA6IGRpbWVAaWV0Zi5vcmc8bWFpbHRvOmRpbWVAaWV0Zi5vcmc+DQpPYmpl
dCA6IFJlOiBbRGltZV0gRGlhbWV0ZXIgbG9hZCBjb250cm9sIGlucHV0cw0KDQpIaSBKSmFjcXVl
cywNCg0KVG8gYW5zd2VyIHlvdXIgbGF0IHF1ZXN0aW9uIGZpcnN0LCBJIHRoaW5rIHRoaXMgaXMg
YSB1c2VmdWwgYW5hbHlzaXMsIGFuZCB3b3VsZCBiZSB3aWxsaW5nIHRvIGNvbWJpbmUgaXQgaW50
byBhIG5ldyB2ZXJzaW9uIG9mIG15IHByZXZpb3VzIGRyYWZ0LiBXZSBjYW4gdGFsayBhYm91dCB0
aGUgZGV0YWlscyBvZiB0aGF0IG9mZmxpbmUuDQoNClNlY29uZCwgc29tZSBoaWdoIGxldmVsIG9i
c2VydmF0aW9uczoNCg0KRmlyc3QsIEZyb20gYSBsb2FkLWJhbGFuY2luZyBwZXJzcGVjdGl2ZSwg
RmlndXJlIDUuMyBpcyBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byB0aGUgZm9sbG93aW5nOg0K
DQoNCiAg4oCULS0tLS0tUzENCi8gICAgICAgIHwNCkMxICAgICAgIHwNClwgICAgICAgIHwNCiAg
4oCU4oCULS0tLS1TMg0KV2hlcmUgUzEgYW5kIFMyIGNhbiBwcm94eSByZXF1ZXN0cyB0byB0aGUg
b3RoZXIgYWNjb3JkaW5nIHRvIHNvbWUgcG9saWN5IChlLmcuIGxvYWQgYmFsYW5jaW5nKS4gSSBk
b27igJl0IG1lYW4gdG8gc3VnZ2VzdCB5b3Ugd291bGQgZGVwbG95IGl0IHRoYXQgd2F5LCBidXQg
aXQgbWFrZXMgYW5vdGhlciBvYnNlcnZhdGlvbiBtb3JlIG9idmlvdXMsIHdoaWNoIGlzIHRoYXQg
QzEtPlMxIG9yIEMxLT5TMiBhcmUgbW9yZSBlZmZpY2llbnQgdGhhbiBDMS0+UzEtPlMyIG9yIEMx
LT5TMi0+UzEuDQoNCk15IGluaXRpYWwgcmVhY3Rpb24gaXMgdG8gdGhpbmsgdGhhdCB3ZSBjYW4g
Z2VuZXJhbGl6ZSB0aGlzIHRvIHRoZSB2YXJpb3VzIHVzZSBjYXNlcyB0aGF0IGhhdmUgY3Jvc3Mt
Y29ubmVjdGVkIGFnZW50cy4gVGhhdCBpcywgd2hlbiBhbGwgZWxzZSBpcyBlcXVhbCwgc2hvcnRl
ciBwYXRocyBiZXR3ZWVuDQpjbGllbnQgYW5kIHNlcnZlciBhcmUgYmV0dGVyIHRoYW4gbG9uZ2Vy
IG9uZXMuIFRoaXMgc2VlbXMgdG8gc3VnZ2VzdCB0aGF0IHRoZSBjcm9zcy1wYXRoIGNvbm5lY3Rp
b25zIGJlIHJlc2VydmVkIGZvciBmYWlsdXJlIG9yIG92ZXJsb2FkIGNhc2VzLiBUaGlzIHByb2Jh
Ymx5IGhhcyBpbXBsaWNhdGlvbnMgb24gd2hldGhlciB0aGUgbG9hZCBtZXRyaWMgc2VudCBieSBh
biBhZ2VudCBzaG91bGQgc29tZWhvdyBhZ2dyZWdhdGUgdGhlIGxvYWQgbWV0cmljcyBvZiBpdHMg
c2VydmVycy4gKE9yIGF0IGxlYXN0IHRha2UgdGhlbSBhcyBhbiBpbnB1dC4pDQoNClNlY29uZCwg
eW91ciBmaWd1cmVzIDUuNS01Ljcgc3VnZ2VzdCB0aGF0IHdlIG1heSBoYXZlIGNhc2VzIHdoZXJl
IHRoZSBudW1iZXIgb2Ygc2VydmVycyB0byB0aGUgcmlnaHQgb2YgYW4gYWdlbnQgbWF5IG5vdCBi
ZSBrbm93biBieSB0aGUgY2xpZW50LiBIZXJl4oCZcyBhIHNpbXBsaWZpZWQgdmlldzoNCg0KICAg
4oCU4oCUQTEtLVMxLi4uU24NCiAvDQpDDQogXA0KICAg4oCU4oCUQTItLVNuKzEuLi5TbQ0KDQoN
CkluIHRoaXMgY2FzZSwgdGhlIGxvYWQgbWV0cmljcyBmb3IgdGhlIHNlcnZlcnMgYXJlIG9mIGxp
dHRsZSB1c2UgdG8gQywgc2luY2UgaW4gZ2VuZXJhbCBDIHdpbGwgbm90IGtub3cgaWYgaXTigJlz
IGtub3dsZWRnZSBlbmNvbXBhc3NlcyBhbGwgcG9zc2libGUgZGVzdGluYXRpb25zLiAoQSByZWxh
dGVkIHF1ZXN0aW9uIGlzIHdldGhlciB0aGUgX2FnZW50c18gYWN0dWFsbHkga25vdyB0aGUgbG9h
ZCBtZXRyaWNzIGZvciBhbGwgdGhlIHBvc3NpYmxlIGRlc3RpbmF0aW9ucy4gSeKAmW0gbm90IHN1
cmUgdGhleSBhbHdheXMgZG8sIGUuZy4gaWYgdGhleSBhcmUgdXNpbmcgZHluYW1pYyBkaXNjb3Zl
cnkuDQoNCg0KDQpPbiBKYW4gNCwgMjAxNSwgYXQgMTE6MzggQU0sIFRST1RUSU4sIEpFQU4tSkFD
UVVFUyAoSkVBTi1KQUNRVUVTKSA8amVhbi1qYWNxdWVzLnRyb3R0aW5AYWxjYXRlbC1sdWNlbnQu
Y29tPG1haWx0bzpqZWFuLWphY3F1ZXMudHJvdHRpbkBhbGNhdGVsLWx1Y2VudC5jb20+PiB3cm90
ZToNCg0KRGVhciBhbGwNCg0KSSBmaXJzdCB3aXNoIHlvdSBhICBoYXBweSAgbmV3IHllYXIgZm9y
IHlvdSBhbmQgeW91ciBmYW1pbHkgYXMgd2VsbCBpbiB5b3VyIHByb2Zlc3Npb25hbCBsaWZlLg0K
DQpJIGhlcmVhZnRlciBhZGRyZXNzIG91ciBuZXcgdG9waWMgb24gRGlhbWV0ZXIgbG9hZCBjb250
cm9sLg0KSSBhbSBpbiBmYXZvciB0byBjb250aW51ZSB0aGUgd29yayB0aGF0IEJlbiBoYXMgY292
ZXJlZCBpbiBoaXMg4oCcZHJhZnQtY2FtcGJlbGwtZGltZS1sb2FkLWNvbnNpZGVyYXRpb25zLTAw
4oCdIGRvY3VtZW50LCBieSBhZGRpbmcsIGludmVzdGlnYXRpbmcgdmFyaW91cyBjb25zaWRlcmF0
aW9ucy4NCg0KSSBoZXJlYWZ0ZXIgZ2l2ZSBzZXZlcmFsIGFkZGl0aW9uYWwgc2VjdGlvbiBwYXJ0
cyBvciBwYXJhZ3JhcGhzICB0aGF0IEkgdGhpbmsgY291bGQgYmUgaW5zZXJ0ZWQgaW4gQmVu4oCZ
cyBkcmFmdC4gSSBoYXZlIHB1dCBzb21lIHRpdGxlcyBhbmQgbnVtYmVyaW5nICgjTDEsICNMMiDi
gKYpICB0byByZXVzZSBpbiBzZXBhcmF0ZWQgZW1haWwgdHJlYWRzIGZvciBkaXNjdXNzaW9uLg0K
DQpJIGhhdmUgaW5jbHVkZWQgdG9wb2xvZ3kgdXNlIGNhc2VzLiBGb3IgRGlhbWV0ZXIgb3Zlcmxv
YWQsICBTdGV2ZSBkaWQgc2V2ZXJhbCAgcHJlc2VudGF0aW9ucyBvbiB0aGUgIHZhcmlvdXMgdXNl
IGNhc2VzIHRvIGNvbnNpZGVyLiBJIHRoaW5rIGFsc28gZ29vZCB0byBkbyB0aGUgc2FtZSBmb3Ig
RGlhbWV0ZXIgbG9hZCwgYW5kIHRvIGluc2VydCBzdWNoIHVzZSBjYXNlcyBpbiB0aGUgQmVu4oCZ
cyBkcmFmdC4gWW91IG1heSBjb25zaWRlciB0aGlzIGxpc3Qgc29tZXdoYXQgbG9uZyBidXQgdGhl
c2UgdXNlIGNhc2VzIGhpZ2hsaWdodCBhIGNlcnRhaW4gbnVtYmVyIG9mIHBvaW50cyBmb3Igd2hp
Y2ggd2Ugd2lsbCBoYXZlIHRvIHRha2Ugc29tZSBkZWNpc2lvbnMgKGVnIHRvIGNvdmVyIHRoZW0g
b3Igbm90IG9yIHRvIHNlZSBsYXRlciBpZiAgc29sdXRpb24gYXNzdW1wdGlvbnMgYXBwbHkgd2Vs
bCkuIFRoZXJlIGFyZSBtb3JlIGZyb20gYSByZXF1aXJlbWVudCB2aWV3cG9pbnQgdGhhbiBpbiB0
aGUgc29sdXRpb24gaXRzZWxmIGFzIEkgZG8gbm90IGFkZHJlc3MgdGhlIGV4YWN0IGNvbnRlbnQg
b2YgbG9hZCBpbmZvcm1hdGlvbiBhbmQgdGhlIHdheSBpdCB3aWxsIGJlIHRyYW5zZmVycmVkDQoN
Cg0KI0wxICAgVG9wb2xvZ3kgdXNlIGNhc2VzIChjYW4gYmUgaW5zZXJ0ZWQgaW4gc2VjdGlvbiA1
ICkNCg0KDQogICAgICAgICAgLS0tLS0tUzENCiAgICAgICAgLw0KICAgICAgQzENCiAgICAgICAg
XA0KICAgICAgICAgIC0tLS0tLVMyDQpGaWd1cmUgNS4xDQoNCkluIHRoaXMgc2ltcGxlIGNhc2Ug
KG5vIERBKSBlLmcuIGZvciBhIHNtYWxsIG5ldHdvcmssIHRoZSBzZXJ2ZXJzIGFyZSBwZWVycyBv
ZiB0aGUgY2xpZW50LiBUaGUgY2xpZW50IHNlbGVjdHMgdGhlIHNlcnZlciBhY2NvcmRpbmcgdG8g
dGhlIGxvYWQgaW5mb3JtYXRpb24gaXQgcmVjZWl2ZXMgZnJvbSB0aGUgc2VydmVycy4NCg0KDQog
ICAgICAgICAgLS0tLS0tUzENCiAgICAgICAgLw0KQzEtLS0tQQ0KICAgICAgICBcDQogICAgICAg
ICAgLS0tLS0tUzINCkZpZ3VyZSA1LjINCg0KVGhlIGFnZW50IHNlbGVjdHMgdGhlIHNlcnZlciBh
Y2NvcmRpbmcgdG8gdGhlIGxvYWQgaW5mb3JtYXRpb24gaXQgcmVjZWl2ZXMgZnJvbSB0aGUgc2Vy
dmVycy4gSGVyZSwgdGhlIGNsaWVudCBkb2VzIG5vdCBuZWVkIHRvIHJlY2VpdmUgbG9hZCBpbmZv
cm1hdGlvbiBhcyBpdCBkb2VzIG5vdCBkbyBsb2FkIGJhbGFuY2luZy4gSXQgaXMgdG8gY2hlY2sg
aWYgbG9hZCBpbmZvcm1hdGlvbiB3b3VsZCBiZSB1c2VmdWwgdG8gdGhlIGNsaWVudCBmb3Igb3Ro
ZXIgcHVycG9zZXMgKGUuZy4gYW50aWNpcGF0aW5nIGEgZnV0dXJlIG92ZXJsb2FkIG9mIHRoZSBz
ZXJ2ZXIpLg0KDQoNCiAgIC0tLUExLS0tLS0tUzENCi8gICAgfA0KQzEgICB8DQpcICAgIHwNCiAg
IC0tLUEyLS0tLS0tUzINCg0KRmlndXJlIDUuMw0KDQpDMSB3aGVuIHNlbmRpbmcgYSByZWFsbSBy
b3V0ZWQgcmVxdWVzdCBldmVuIGRvZXMgbm90IGtub3cgd2hpY2ggc2VydmVyIHdpbGwgaGFuZGxl
IHRoZSByZXF1ZXN0IGFuIGV2ZW4gbW9yZSBkb2VzIG5vdCBrbm93IHRvIHdoaWNoIERBIFMxIGFu
ZCBTMiBhcmUgY29ubmVjdGVkIHRvLiBTbyB0aGUgbG9hZCBpbmZvcm1hdGlvbiBvbiB0aGUgc2Vy
dmVycyBpcyBub3QgdXNlZnVsLiBCdXQgQzEgaGFzIHRvIHNlbGVjdCB0byB3aGljaCBmcm9tIEEx
IG9yIEEyIGl0IHdpbGwgc2VuZCB0aGUgcmVxdWVzdC4gSXQgY2FuIGRvIGl0IG9uIHRoZSBiYXNp
cyBvZiB0aGUgbG9hZCBpbmZvcm1hdGlvbiBvZiBBMSBvciBBMi4gQnV0IGlzIGl0IHN1ZmZpY2ll
bnQ/DQpJZiBTMSBoYXMgaGlnaCBsb2FkIGFuZCBTMiBhIHNtYWxsIG9uZSwgdG8gaW1wcm92ZSB0
aGUgbG9hZCBiYWxhbmNpbmcgd291bGQgbWVhbiB0aGF0DQphKSBDMSBzZW5kcyBtb3JlIHRyYWZm
aWMgdG8gQTIgd2hpY2ggZm9yd2FyZCB0byBTMiwgbWVhbmluZyB0aGF0IEMxIGhhcyByZWNlaXZl
ZCBsb2FkIGluZm9ybWF0aW9uIGZyb20gQTIgbm90IG9ubHkgaW5jbHVkaW5nIEEyIGxvYWQgYnV0
IGFsc28gdGhlIFMyIGxvYWQNCmIpIG9yIEMxLCBoYXZpbmcgbm8gaW5mb3JtYXRpb24gb24gc2Vy
dmVyIGxvYWQgZXF1YWxseSBzZW5kcyB0cmFmZmljIHRvIEExIGFuZCBBMi4gVGhlbiBpZiBBMSBy
ZWNlaXZlcyBmcm9tIEEyIGxvYWQgaW5mb3JtYXRpb24gaW5jbHVkaW5nIHRoZSBsb2FkIG9mIFMy
IG1heSB0aGVuIGRlY2lkZSB0byByb3V0ZSBtb3JlIHRyYWZmaWMgdG8gUzIgdmlhIEEyLiBUaGlz
IGlzIGxlc3Mgb3B0aW1hbCB0aGFuIHRoZSBmaXJzdCBjYXNlIGFzIGFkZGluZyBhIG5ldyBob3Ag
aW4gdGhlIHBhdGggKEMxLUExLUEyLVMyLg0KDQpBbiBpbml0aWFsIHF1ZXN0aW9uIGlzIHRvIGNv
bnNpZGVyIGlmIHRoaXMgc3ViY2FzZXMgYSkgYW5kIGIpIGFyZSByZWxldmFudCBhbmQgZW50ZXIg
dGhlIHNjb3BlLg0KDQpDMSwgd2hlbiBzZW5kaW5nIGEgaG9zdCByb3V0ZWQgcmVxdWVzdCwgY2Fu
IGRvIGl0IHZpYSBBMSBvciBBMiBhcyByb3V0aW5nIGZvciBDMSBpcyBiYXNlZCBvbiB0aGUgcmVh
bG0uIElzIGl0IHRvIGJlIGNvbnNpZGVyZWQgaWYgbG9hZCBjb250cm9sIGluZm9ybWF0aW9uIHJl
Y2VpdmVkIGJ5IEMxIGdpdmVzIHNvbWUgaGludCB0byByYXRoZXIgc2VsZWN0IEExIHJhdGhlciB0
aGFuIEEyIHdoZW4gUzEgaXMgdGhlIGRlc3RpbmF0aW9uIGhvc3QsIHNvIHRvIGF2b2lkIGFuIGFk
ZGl0aW9uYWwgaG9wPyBPciBpZiBpdCBpcyBvdXQgb2YgdGhlIHNjb3BlPw0KDQoNCiAgICAgICAg
IC0tLS0tUzMNCiAgICAgICAvDQogICAtLS1BMS0tLS0tLVMxDQovICAgIHwNCkMxICAgfA0KXCAg
ICB8DQogICAtLS1BMi0tLS0tLVMyDQogICAgICAgXA0KICAgICAgICAgLS0tLSBTNA0KRmlndXJl
IDUuNA0KDQpUaGlzIGRpYWdyYW0gaXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBwcmV2aW91cyBvbmUg
d2l0aCBhZGRpdGlvbmFsIHNlcnZlcnMgY29ubmVjdGVkIHRvIEExIGFuZCBBMiBhbmQgY291bGQg
YmUgbW9yZSBjb21tb24gdGhhbiA1LjMuDQpDb21wYXJlZCB0byB0aGUgcHJldmlvdXMgZGlhZ3Jh
bSwNCi0gZm9yIHRoZSBzdWJjYXNlIGEpLCBmb3IgcmVhbG0gcm91dGVkIHJlcXVlc3QgQzEgY2hv
aWNlIGJldHdlZW4gQTEgYW5kIEEyIGNhbiByZWx5IG9uIHRoZSBjb21iaW5lZCAob3IgYWdncmVn
YXRlZCkgbG9hZCBvZiBTMSBhbmQgUzMgY29tcGFyZWQgdG8gdGhlIGFnZ3JlZ2F0ZWQgbG9hZCBv
ZiBTMiBhbmQgUzQuDQotIGZvciB0aGUgc3ViY2FzZSBiKSBzaW1pbGFybHksIEExIHdvdWxkIGNv
bXBhcmUgYW4gYWdncmVnYXRlZCBsb2FkIG9mIFMyIGFuZCBTNCByZWNlaXZlZCBmcm9tIEEyIHRv
IHRoZSBhZ2dyZWdhdGVkIGxvYWQgb2YgUzEgYW5kIFMzLg0KDQpUaGlzIHVzZSBjYXNlIG1heSBk
cml2ZSB0byBjb25zaWRlciBpZiB0aGUgbG9hZCBvZiBhIHNldCBvZiBub2RlcyAoYWdncmVnYXRl
ZCBsb2FkKSB3b3VsZCBiZSB1c2VmdWwgb3IgaWYgaXQgY2FuIGJlIGF2b2lkZWQuDQoNCg0KICAg
LS0tQTEtLS1TMSwgUzMg4oCmDQovICAgIHwgXC8NCkMxICAgfCAvXA0KXCAgICB8LyAgXA0KICAg
LS0tQTItLS1TMiwgUzQg4oCmDQoNCkZpZ3VyZSA1LjUNCg0KSW4gdGhpcyBkaWFncmFtLCBhbGwg
c2VydmVycyBhcmUgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHNldCBvZiBEQXMsIHdoaWNoIG11bHRp
cGx5IHRoZSBudW1iZXIgb2YgY29ubmVjdGlvbnMgYmV0d2VlbiBzZXJ2ZXJzIGFuZCB0aGVpciBE
QXM7IG90aGVyd2lzZSwgd2UgY29tZSBiYWNrIHRvIHRoZSBmaWd1cmUgNS40IGNhc2Ugb3IgYW4g
aHlicmlkIGNhc2UgYmV0d2VlbiBmaWd1cmUgNS40IGFuZCA1LjUuDQpDMSB3aGVuIHNlbmRpbmcg
YSByZXF1ZXN0IG1heSBzZWxlY3QgQTEgb3IgQTIgYWNjb3JkaW5nIHRvIGEgbG9hZCBpbmZvcm1h
dGlvbiBvbmx5IHJlbGF0ZWQgdG8gQTEgbG9hZCBhbmQgQTIgbG9hZC4gVGhpcyBzZWxlY3Rpb24g
aXMgaW5kZXBlbmRlbnQgZnJvbSB0aGUgc2VydmVyIGxvYWQsIGV4Y2VwdCBpZiB3ZSB0YWtlIGlu
dG8gYWNjb3VudCBlLmcuIHRoZSBsb2FkIG9mIHRoZSBBMS9TMSBjb25uZWN0aW9uIGFuZCB0aGUg
bG9hZCBvZiBBMi9TMSBjb25uZWN0aW9uIHdoaWNoIG1heSBiZSBkaWZmZXJlbnQuDQoNCkExIChv
ciBBMikgdGhlbiBzZWxlY3RzIHRoZSBzZXJ2ZXIgYWNjb3JkaW5nIHRvIGxvYWQgaW5mb3JtYXRp
b24gcmVjZWl2ZWQgZnJvbSB0aGVzZSBzZXJ2ZXJzLCBleGNlcHQgZm9yIGhvc3Qgcm91dGVkIHJl
cXVlc3RzLg0KDQoNCiAgIC0tLUExLS0tQTMtLS0tUzEsIFMzIOKApg0KLyAgICB8IFwvIHwNCkMx
ICAgfCAvXCB8DQpcICAgIHwvICBcfA0KICAgLS0tQTItLS1BNC0tLS1TMiwgUzQg4oCmDQoNCkZp
Z3VyZSA1LjYNCg0KVGhpcyBkaWFncmFtIGludHJvZHVjZXMg4oCcdHdvIGxheWVyc+KAnSBvZiBE
QXMgYmV0d2VlbiBjbGllbnRzIGFuZCBzZXJ2ZXJzLg0KQ29tcGFyZWQgdG8gZmlndXJlIDUuMyBv
ciA1LjQsIEMxIHdoZW4gc2VuZGluZyBhIHJlcXVlc3QgbWF5IHNlbGVjdCBBMSBvciBBMiBhY2Nv
cmRpbmcgdG8gYSBsb2FkIGluZm9ybWF0aW9uIG9ubHkgcmVsYXRlZCB0byBBMSBsb2FkIGFuZCBB
MiBsb2FkLiBUaGVuIEExKG9yIEEyKXdoZW4gZG9pbmcgZnVydGhlciByb3V0aW5nLCBhcmUgaW4g
YSBzaW1pbGFyIHNpdHVhdGlvbiB0byBDMSBpbiBGaWd1cmVzIDUuMyBvciA1LjQuDQoNCg0KICAg
LS0tQTEtLS1BMy0tLVMxLCBTMyDigKYNCi8gICAgfCBcLyB8IFwvDQpDMSAgIHwgL1wgfCAvXA0K
XCAgICB8LyAgXHwvICBcDQogICAtLS1BMi0tLUE0LS0tUzIsIFM0IOKApg0KDQpGaWd1cmUgNS43
DQpBcyBpbiBmaWd1cmUgNS40LCBhbGwgc2VydmVycyBhcmUgY29ubmVjdGVkIHRvIGEgY29tbW9u
IHNldCBvZiBEQXMgKGhlcmUgQTMsIEE0KSwgd2hpY2ggbXVsdGlwbHkgdGhlIG51bWJlciBvZiBj
b25uZWN0aW9ucyBiZXR3ZWVuIHNlcnZlcnMgYW5kIHRoZWlyIERBczsgb3RoZXJ3aXNlLCB3ZSBj
b21lIGJhY2sgdG8gdGhlIGZpZ3VyZSA1LjYgY2FzZSBvciBhIGh5YnJpZCBjYXNlIGJldHdlZW4g
ZmlndXJlcyA1LjYgYW5kIDUuNy4NCkMxIHdoZW4gc2VuZGluZyBhIHJlcXVlc3QgbWF5IHNlbGVj
dCBBMSBvciBBMiBhY2NvcmRpbmcgdG8gYSBsb2FkIGluZm9ybWF0aW9uIG9ubHkgcmVsYXRlZCB0
byBBMSBsb2FkIGFuZCBBMiBsb2FkLiBUaGlzIHNlbGVjdGlvbiBpcyBpbmRlcGVuZGVudCBmcm9t
IHRoZSBzZXJ2ZXIgbG9hZC4NClRoZW4gQTEgb3IgQTIgZm9yIGZ1dHJqZXIgcm91dGluZyBoYXZl
IGEgc2ltaWxhciBzaXR1YXRpb24gdG8gQzEgaW4gZmlndXJlIDUuNS4NClRoaXMgY2FzZSBvZmZl
ciBhIGhpZ2ggZmxleGliaWxpdHkgYWJvdXQgbG9hZCBzaGFyaW5nIHRoYXQgY2FuIGJlIGRvbmUg
aW4gZGlmZmVyZW50IHBsYWNlcywgYnV0IGFscyBvIG1heSBpbnRyb2R1Y2UgaGlnaGVyIGNvbXBs
ZXhpdHkgYWJvdXQgc2VsZWN0aW5nIHRoZSByaWdodCByb3V0aW5nLg0KDQpfX19fX19fX19fX19f
X19fX19fX19fX19fX18NCg0KI0wyICAgIFBhcnRpdGlvbmVkIHNlcnZlcnMgKGNhbiBiZSBhZGRl
ZCBpbiBzZWN0aW9uIDUpDQoNClRoaXMgdGhlIGNhc2Ugb2YgcmVhbG0gcm91dGVkIHJlcXVlc3Qg
d2hlcmUgb25seSBvbmUgb3Igc29tZSBzZXJ2ZXJzIGluIHRoZSBzYW1lIHJlYWxtIGNhbiBoYW5k
bGUgdGhlIHJlcXVlc3QsIHNvIG5vIGxvYWQgYmFsYW5jaW5nIHRvIG90aGVyIHNlcnZlcnMgb2Yg
dGhlIHJlYWxtIGNhbiBiZSBhY2hpZXZlZC4gQW4gaW50ZXJtZWRpYXRlIHByb3h5IERBIHdpbGwg
c2VsZWN0IHRoZSBwb3NzaWJsZSBzZXJ2ZXIocylmb3IgdGhpcyByZXF1ZXN0LCBhbmQgaWYgc2V2
ZXJhbCBzZXJ2ZXJzLCB0aGUgREEgbWF5IGRvIHNvbWUgbG9hZCBiYWxhbmNpbmcgYmV0d2VlbiB0
aGVtIGFuZCBpZiBvbmUgc2VydmVyLCB0aGUgREEgbWF5IGFjdCBhcyB3aXRoIGhvc3Qgcm91dGVk
IHJlcXVlc3RzLg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX18NCiNMMyAgICBBY3RpdmUg
YW5kIHN0YW5kIGJ5IG5vZGVzIChjYW4gYmUgaW5zZXJ0ZWQgaW4gc2VjdGlvbiA1KQ0KDQpJbiB0
aGUgYWJvdmUgdG9wb2xvZ3kgdXNlIGNhc2VzLCBpdCBpcyBhc3N1bWVkIHRoYXQgbG9hZCBzaGFy
aW5nIGNhbiBiZSB1c2VkIGJldHdlZW4gdGhlIGRpZmZlcmVudCBwb3NzaWJsZSBjb25uZWN0aW9u
cyBvZiB0aGUgZmlndXJlcy4gSWYgbm9kZXMgYXJlIGluIGFuICBhY3RpdmUgYW5kIHN0YW5kIGJ5
IGNvbmZpZ3VyYXRpb25zLCB0aGUgZmlndXJlcyB0byBjb25zaWRlciBhcmUgd2l0aCB0aGUgb25s
eSBhY3RpdmUgY29ubmVjdGlvbnMuIFRoZSBzd2l0Y2ggZnJvbSB0aGUgYWN0aXZlIHRvIHRoZSBz
dGFuZCBieSBub2RlIHdpdGggdGhlIGxvYWQgaGFuZGxpbmcgYXNwZWN0IGlzIGFub3RoZXIgdG9w
aWMuDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KI0w04oCmIFNvbWUg
Y29uc2lkZXJhdGlvbnMgZnJvbSB0aGUgdG9wb2xvZ3kgdXNlIGNhc2VzIChjYW4gYmUgaW5zZXJ0
ZWQgaW4gc2VjdGlvbiA1KQ0KDQotIHRoZXJlIGlzIGEgbGFyZ2UgdmFyaWV0eSBvZiB1c2UgY2Fz
ZXMgd2l0aCB2YXJpb3VzIHBsYWNlcyB3aGVyZSBsb2FkIGJhbGFuY2luZyBhY3Rpb25zIGNhbiBi
ZSB0YWtlbi4gVGhpcyBtYXkgaW1wYWN0IHRoZSBjb250ZW50IG9mIGxvYWQgaW5mb3JtYXRpb24g
dHJhbnNmZXJyZWQgZG93bnN0cmVhbS4gSXQgc2hvdWxkIGFsc28gYmUgYXZvaWRlZCB0byBhZGQg
dG9vIG11Y2ggY29tcGxleGl0eSwgZXNwZWNpYWxseSBvbiB0aGUgbG9hZCBpbmZvcm1hdGlvbiBj
b250ZW50IHRyYW5zZmVycmVkIGRvd25zdHJlYW0sIG5vZGUgYmVoYXZpb3IgY2FuIGJlIG1vcmUg
c29waGlzdGljYXRlZCBidXQgbm9ybWFsbHkgcmVtYWlucyBvdXRzaWRlIHRoZSBzdGFuZGFyZGl6
YXRpb24gc2NvcGUuDQoNCi0gY2xpZW50cyByZWNlaXZpbmcgbG9hZCBpbmZvcm1hdGlvbiBoYXZl
IG5vdCB0byBiZSBhd2FyZSBvZiB0aGUgREFzIGFuZCBzZXJ2ZXIgdG9wb2xvZ2llcywgdGhleSBu
ZXZlcnRoZWxlc3MgbmVlZCByZWxldmFudCBsb2FkIGluZm9ybWF0aW9uIGNyaXRlcmlhIHRvIHNl
bGVjdCAod2hlbiBuZWVkZWQpIHRoZSByaWdodCBuZXh0IG5vZGUgdG8gd2hpY2ggdG8gc2VuZCBh
IHJlcXVlc3QuIFRoaXMgbWF5IGRyaXZlIHRvIGNvbnNpZGVyIGlmIHNvbWUgYWdncmVnYXRpb24g
b2YgbG9hZCBpbmZvcm1hdGlvbiB0byBiZSBwZXJmb3JtZWQgYmVmb3JlIHNlbmRpbmcgaXQgdG8g
dGhlIGNsaWVudHMsIHNvIHRvIG1ha2UgaXQgc2ltcGxlciB0byB0aGUgY2xpZW50cy4NCg0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQojTDYgICBMb2FkIGluZm9ybWF0aW9uIHNj
b3BlcyAoY2FuIGJlICBhZGRlZCBpbiBzZWN0aW9uIDYpDQoNCkxvYWQgaW5mb3JtYXRpb24gY2Fu
IGFwcGx5IHRvIHZhcmlvdXMgc2NvcGVzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8gcmV0
YWluIG9yIG5vdCA6DQoNCkxvYWQgb2YgYSBub2RlOiB0aGlzIGlzIHRoZSBtb3N0IHVzdWFsIHRv
IGNvbnNpZGVyLiBBIG5vZGUgY2FuIGJlIGFuIGVuZCBwb2ludCAoc2VydmVyKSBvciBhbiBhZ2Vu
dC4NCg0KTG9hZCBvZiBhbiBhcHBsaWNhdGlvbjogVGhlIGxvYWQgb2YgYSBzZXJ2ZXIgY2FuIHZh
cnkgYWNjb3JkaW5nIHRvIHRoZSBhcHBsaWNhdGlvbnMgKGVnIGR1ZSB0byBkaWZmZXJlbmNlcyBp
biB0aGUgdXNlZCByZXNvdXJjZXMpLiBTbyB0aGUgcG9zc2liaWxpdHkgdG8gaGF2ZSBhIGxvYWQg
aW5mb3JtYXRpb24gcGVyIGFwcGxpY2F0aW9uIHNob3VsZCBub3QgYmUgcHJlY2x1ZGVkIGF0IHRo
aXMgbGV2ZWwgb2YgYW5hbHlzaXMuDQoNCkxvYWQgb2YgYSBzZXQgb2Ygbm9kZXM6IGl0IG1heSBi
ZSBjb25zaWRlcmVkIGludGVyZXN0aW5nIHRoYXQgdGhlIGxvYWQgb2YgYSBzZXQgb2Ygbm9kZXMg
aXMgdHJhbnNmZXJyZWQgZG93bnN0cmVhbS4gVXNlIGNhc2VzIHNob3VsZCBpZGVudGlmeSBzdWNo
IGFuIGludGVyZXN0LiBUaGlzIGRyaXZlcyB0byB0aGUgYWdncmVnYXRpb24gb2YgdGhlIGxvYWQg
b2YgdGhlIHZhcmlvdXMgbm9kZXMgb2YgdGhlIHNldCB0byBlbGFib3JhdGUgdGhlIGxvYWQgb2Yg
dGhlIHNldC4gVGhpcyBjYW4gYmUgZG9uZSBieSBhbiBpbnRlcm1lZGlhdGUgbm9kZSByZWNlaXZp
bmcgdGhlIGxvYWQgaW5mb3JtYXRpb24gb2YgdGhlIHZhcmlvdXMgbm9kZXMuIEl0IGNhbiBiZSBh
IHdlaWdodGVkIGF2ZXJhZ2UgYmV0d2VlbiB0aGUgbG9hZHM7IHRoZSB3ZWlnaHQgaXMgYW5vdGhl
ciBpbmZvcm1hdGlvbiB0byBiZSBjb25zaWRlcmVkIChlZyB0aGUgY2FwYWNpdHkgb2YgdGhlIHNl
cnZlcnMgd2hpY2ggbWF5IGJlIGRpZmZlcmVudCkuDQoNCkxvYWQgb2YgYW4gYWdlbnQgYW5kIGxv
YWQgb2YgYSBzZXJ2ZXIuDQpEaWZmZXJlbnQgcGF0aHMgdmlhIGRpZmZlcmVudCBEQXMgbWF5IGV4
aXN0IGJldHdlZW4gdGhlIG5vZGUgZG9pbmcgdGhlIHNlcnZlciBzZWxlY3Rpb24gYW5kIHRoZSBz
ZXJ2ZXIuIFRoZSBsb2FkIGluZm9ybWF0aW9uIG9uIHRoZSBzZXJ2ZXIgd291bGQgYmUgdGhlIHNh
bWU7IGJ1dCB0aGVuIHRvIHdoaWNoIHBlZXIgdG8gc2VuZCB0aGUgbWVzc2FnZT8gVGhpcyB3b3Vs
ZCBkZXBlbmQgb2YgdGhlIGxvYWQgb2YgdGhlIHBlZXIgKGFuZCBldmVuIG9mIHRoZSBsb2FkIGJl
aGluZCB0aGUgcGVlcikuDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoNCiNM
NyAgIEFkZGl0aW9uIHJlbW92YWwgb2YgYSBzZXJ2ZXIgKGNhbiBiZSAgYWRkZWQgaW4gc2VjdGlv
biA2KQ0KDQpXaGVuIGFkZGluZyBhIHNlcnZlciwgdGhpcyBvbmUgd2lsbCBzdGFydCBieSBhZHZl
cnRpc2luZyBubyBvciBhIHNtYWxsIGxvYWQsIHRoZW4gaXQgd2lsbCBiZSB0byB0aGUgZG93bnN0
cmVhbSBub2RlcyAoZWcgREFzKSBoYW5kbGluZyBsb2FkIGJhbGFuY2luZyBiZXR3ZWVuIHNlcnZl
cnMgdG8gZW5zdXJlIGEgc21vb3RoIGluY3JlYXNlIG9mIHRoZSB0cmFmZmljIHRvIHRoaXMgc2Vy
dmVyLCB0byBhdm9pZCB0byBpbW1lZGlhdGVseSBzZW5kIGl0IHRvbyBtdWNoIHRyYWZmaWMgYW5k
IGV2ZW4gdG8gbm90IHB1dCBpdCBpbnRvIG92ZXJsb2FkLiBJdCBtYXkgYmUgcXVlc3Rpb25lZCBp
ZiBhIHNpbXBsZSBsb2FkIGluZm9ybWF0aW9uIChsb2FkIHBlcmNlbnRhZ2UpIGlzIHN1ZmZpY2ll
bnQgZm9yIHRoaXMuDQoNCldoZW4gcmVtb3ZpbmcgYSBzZXJ2ZXIgaW4gYSBjb250cm9sbGVkIHdh
eSAoZS5nLiBmb3IgbWFpbnRlbmFuY2UgcHVycG9zZSwgc28gb3V0c2lkZSBhIGZhaWx1cmUgY2Fz
ZSksIGFuIG9iamVjdGl2ZSBjYW4gYmUgdG8gcHJvZ3Jlc3NpdmVseSByZWR1Y2UgdGhlIHRyYWZm
aWMgdG8gdGhpcyBzZXJ2ZXIsIHdpdGggYSByb3V0aW5nIG9mIHRoZSB0cmFmZmljIHRvIG90aGVy
IHNlcnZlcnMuIFNpbXBsZSBsb2FkIGluZm9ybWF0aW9uIChsb2FkIHBlcmNlbnRhZ2UpIHdvdWxk
IGJlIG5vdCBzdWZmaWNpZW50LiBJdCBzaG91bGQgYmUgY29uc2lkZXJlZCBpZiB0aGlzIHVzZSBj
YXNlIGVudGVyIHRoZSBzY29wZSBvZiB0aGlzIGxvYWQgY29udHJvbCBtZWNoYW5pc20uDQoNCl9f
X19fX19fX19fX19fX19fX19fX19fX19fDQoNCiNMOCAgIEltcGxlbWVudGF0aW9uIGFuZCBzdGFu
ZGFyZGl6YXRpb24gKGNhbiBiZSBhZGRlZCBpbiBzZWN0aW9uIDEpDQoNClRocm91Z2ggdGhlIHVz
ZSBjYXNlcyBhbmQgdGhlIGFyY2hpdGVjdHVyZXMgY29uc2lkZXJhdGlvbnMgZGVzY3JpYmVkIGlu
IHRoaXMgZG9jdW1lbnQsIHRoZSBmb2N1cyBpcyB0byBkZWZpbmUgd2hpY2ggd291bGQgYmUgdGhl
IHJlbGV2YW50IGxvYWQgaW5mb3JtYXRpb24gdG8gYmUgdHJhbnNmZXJyZWQgdG8gdGhlIG5vZGVz
IHRoYXQgd2lsbCB1c2UgaXQuIFRoZW4sIGdpdmVuIHRoZSB2YXJpZXR5IG9mIHVzZSBjYXNlcywg
dGhlIHBvc3NpYmxlIHRvcG9sb2dpZXMsIHRoZSBwbGFjZSB3aGVyZSB0aGUgc2VydmVyIHNlbGVj
dGlvbiBpcyBkb25lLCBldGMsIGZsZXhpYmlsaXR5IGlzIHRvIGJlIGxlZnQgdG8gaW1wbGVtZW50
YXRpb25zIGFib3V0IHRoZSBub2RlIGJlaGF2aW9yIHJlZ2FyZGluZyB0aGUgZWxhYm9yYXRpb24g
b2YgdGhlIGxvYWQgaW5mb3JtYXRpb24gYW5kIHRoZW4gaXRzIHVzZS4gR3VpZGFuY2Ugb3IgZXhh
bXBsZXMgbWF5IGFsc28gYmUgZ2l2ZW4gdG8gaGVscCBidXQgd2l0aG91dCBub3JtYXRpdmUgYXNw
ZWN0cy4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KI0w54oCmICBSZWRpcmVj
dCBhZ2VudCA6IChjYW4gYmUgYWRkZWQgYXQgdGhlIGVuZCBvZiBzZWN0aW9uIDMpDQoNCkEgRGlh
bWV0ZXIgbm9kZSAoZS5nLiBjbGllbnQpIGNhbiB1c2UgYSByZWRpcmVjdCBhZ2VudCB0byBnZXQg
ZGVzdGluYXRpb24gaG9zdCBhZGRyZXNzZXMuICBUaGUgcmVkaXJlY3QgYWdlbnQgbWF5IHJldHVy
biBzZXZlcmFsIGRlc3RpbmF0aW9uIGhvc3QgYWRkcmVzc2VzLCBvZiB3aGljaCB0aGUgRGlhbWV0
ZXIgbm9kZSBoYXMgdG8gc2VsZWN0IG9uZSBhbmQgZm9yIHRoaXMgY2FuIHJlbHkgb24gdGhlIGxv
YWQgaW5mb3JtYXRpb24gb24gdGhlc2UgaG9zdHMNCl9fX19fX19fX19fX19fX19fX19fX19fX19f
Xw0KDQoNClNvIHBsZWFzZSBsZXQgbWUga25vdyB5b3VyIGNvbW1lbnRzLg0KDQpCZW4sIHdvdWxk
IHlvdSBiZSBPSyB0byBjb21wbGVtZW50IHlvdXIgZHJhZnQgd2l0aCB0aG9zZSBpbnB1dHMgLiBX
ZSBjYW4gYWxzbyBoYXZlIHF1ZXN0aW9uIG1hcmtzIG9yIGVkaXRvcuKAmXMgbm90ZXMsIGJ1dCBJ
IHRoaW5rIGdvb2QgdG8gaGF2ZSBhIGRvY3VtZW50IGFib3V0IHdoaWNoIHdlIGRpc2N1c3MgdGhl
c2UgYXJjaGl0ZWN0dXJhbCBjb25zaWRlcmF0aW9ucy4NCg0KQmVzdCByZWdhcmRzDQoNCkpKYWNx
dWVzDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N
CkRpTUUgbWFpbGluZyBsaXN0DQpEaU1FQGlldGYub3JnPG1haWx0bzpEaU1FQGlldGYub3JnPg0K
aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9kaW1lDQoNCg==

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523EF2ADEMUMBX014nsnin_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpUYWhvbWE7DQoJcGFub3NlLTE6MiAxMSA2
IDQgMyA1IDQgNCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpNb25hY287fQ0KLyog
U3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29O
b3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXpl
OjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGlu
aywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJs
dWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlw
ZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsN
Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnAuTXNvQWNldGF0ZSwgbGkuTXNvQWNldGF0
ZSwgZGl2Lk1zb0FjZXRhdGUNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1s
aW5rOiJCYWxsb29uIFRleHQgQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4w
MDAxcHQ7DQoJZm9udC1zaXplOjguMHB0Ow0KCWZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNl
cmlmIjt9DQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29M
aXN0UGFyYWdyYXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4tdG9wOjBjbTsN
CgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1hcmdpbi1sZWZ0OjM2
LjBwdDsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250
LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJ
e21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1z
ZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkJhbGxvb25UZXh0Q2hhcg0KCXttc28tc3R5
bGUtbmFtZToiQmFsbG9vbiBUZXh0IENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCglt
c28tc3R5bGUtbGluazoiQmFsbG9vbiBUZXh0IjsNCglmb250LWZhbWlseToiVGFob21hIiwic2Fu
cy1zZXJpZiI7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjENCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwt
cmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0
OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZv
bnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIu
MHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LldvcmRTZWN0
aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlz
dCBsMA0KCXttc28tbGlzdC1pZDoxMDQxNzgwMTY4Ow0KCW1zby1saXN0LXRlbXBsYXRlLWlkczot
MTgwMTY3ODg3Njt9DQpAbGlzdCBsMDpsZXZlbDENCgl7bXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7
DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjE4LjBwdDsN
Cgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxldmVsMg0KCXttc28tbGV2ZWwtdGV4
dDoiJTFcLiUyXCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1i
ZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDoxOC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTE4
LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDMNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCW1hcmdpbi1sZWZ0OjM2LjBwdDsNCgl0ZXh0LWluZGVudDotMzYuMHB0O30NCkBsaXN0
IGwwOmxldmVsNA0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCklM1wuJTRcLiI7DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1h
cmdpbi1sZWZ0OjM2LjBwdDsNCgl0ZXh0LWluZGVudDotMzYuMHB0O30NCkBsaXN0IGwwOmxldmVs
NQ0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCklM1wuJTRcLiU1XC4iOw0KCW1zby1sZXZlbC10
YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4t
bGVmdDo1NC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTU0LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDYNCgl7
bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiU0XC4lNVwuJTZcLiI7DQoJbXNvLWxldmVsLXRh
Yi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1s
ZWZ0OjU0LjBwdDsNCgl0ZXh0LWluZGVudDotNTQuMHB0O30NCkBsaXN0IGwwOmxldmVsNw0KCXtt
c28tbGV2ZWwtdGV4dDoiJTFcLiUyXCklM1wuJTRcLiU1XC4lNlwuJTdcLiI7DQoJbXNvLWxldmVs
LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdp
bi1sZWZ0OjcyLjBwdDsNCgl0ZXh0LWluZGVudDotNzIuMHB0O30NCkBsaXN0IGwwOmxldmVsOA0K
CXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCklM1wuJTRcLiU1XC4lNlwuJTdcLiU4XC4iOw0KCW1z
by1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsN
CgltYXJnaW4tbGVmdDo3Mi4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTcyLjBwdDt9DQpAbGlzdCBsMDps
ZXZlbDkNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiU0XC4lNVwuJTZcLiU3XC4lOFwu
JTlcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjkwLjBwdDsNCgl0ZXh0LWluZGVudDotOTAuMHB0O30N
Cm9sDQoJe21hcmdpbi1ib3R0b206MGNtO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGNtO30NCi0t
Pjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0
PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUg
bXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4
dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4N
CjwvaGVhZD4NCjxib2R5IGxhbmc9IkRFIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxk
aXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+SGkgSmVhbi1KYWNxdWVzLDxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMxRjQ5N0QiPkkgd291bGQgbGlrZSB0byBsaW1pdCBEaWFtZXRlciBsb2FkIGNvbnRy
b2wgdG8gc2VydmVyICZuYnNwOyhob3N0KSBsb2FkIGFuZCByZWFsbSBsb2FkIGluIGEgZmlyc3Qg
c3RlcCBhbmQgbGVhdmUgYWdlbnQgbG9hZCBmb3IgYSBzZWNvbmQgc3RlcC4NCjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+V2UgbmVhcmx5IGhhdmUgY29tcGxldGVk
IERpYW1ldGVyIE92ZXJsb2FkIGNvbnRyb2wgd2hpY2ggaXMgbGltaXRlZCB0byBzZXJ2ZXIgKGhv
c3QpIG92ZXJsb2FkIGFuZCByZWFsbSBvdmVybG9hZCwgd2hpbGUgdGhlIGFnZW50IG92ZXJsb2Fk
IGRyYWZ0DQogJm5ic3A7aXMgbm90IGNvbXBsZXRlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv
dDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMUY0OTdEIj5PbmNlIEFnZW50IE92ZXJsb2FkIGNvbnRyb2wgaXMgc3RhYmxlIHdlIG1heSBj
b25zaWRlciBleHRlbmRpbmcgaXQgd2l0aCBhZ2VudCBsb2FkIGNvbnRyb2wuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkJlc3QgcmVnYXJkczxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+VWxyaWNoPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRp
diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRp
bmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9t
YSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9t
YSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij4gRGlNRSBbbWFpbHRvOmRpbWUtYm91bmNl
c0BpZXRmLm9yZ10NCjxiPk9uIEJlaGFsZiBPZiA8L2I+ZXh0IFRST1RUSU4sIEpFQU4tSkFDUVVF
UyAoSkVBTi1KQUNRVUVTKTxicj4NCjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwgSmFudWFyeSAwOCwg
MjAxNSAxOjQ0IFBNPGJyPg0KPGI+VG86PC9iPiBCZW4gQ2FtcGJlbGw8YnI+DQo8Yj5DYzo8L2I+
IGRpbWVAaWV0Zi5vcmc8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtEaW1lXSBEaWFtZXRlciBs
b2FkIGNvbnRyb2wgaW5wdXRzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjoj
MUY0OTdEIj5IaSBCZW4gJm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjoj
MUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0Qi
PlRoYW5rcyBmb3IgeW91ciBmZWVkYmFjPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5
N0QiPlJlZ2FyZGluZyB5b3VyIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb25zOzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90Oztjb2xvcjojMUY0OTdEIj4xKSBBYm91dCAmbmJzcDt0aGUgZmlndXJlIHlvdSBkZXNj
cmliZWQgJm5ic3A7d2l0aCBhIGNvbm5lY3Rpb24gYmV0d2VlbiAmbmJzcDtTMSBhbmQgUzI6PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTox
Mi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1mYW1pbHk6TW9uYWNvIj4mbmJz
cDsmbmJzcDvigJQtLS0tLS1TMTxicj4NCi8gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fDxi
cj4NCkMxICZuYnNwOyAmbmJzcDsgJm5ic3A7IHw8YnI+DQpcICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwO3w8YnI+DQombmJzcDsmbmJzcDvigJTigJQtLS0tLVMyPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPllvdSBz
YXkgdGhhdCBTMSBvciBTMiBjYW4gcHJveHkgYSByZXF1ZXN0LCB0aGlzIGlzIGZvciBtZSByYXRo
ZXIgZXF1aXZhbGVudCAmbmJzcDt0byBTMSBoYXZpbmcgYSBjb2xsb2NhdGVkICZuYnNwO3Byb3h5
IERBLCBzbyBiZWluZyBhIHBhcnRpY3VsYXIgY2FzZSBvZg0KIGZpZ3VyZSA1LjMuIFNvIEkgc3Vn
Z2VzdCB0byBjb250aW51ZSB0byB1c2UgNS4zIGFsc28gY292ZXJpbmcgc2VydmVycyB3aXRoIG5v
biBjb2xvY2F0ZWQgREFzLCB1bmxlc3MgeW91IHdvdWxkIHlvdSBsaWtlIHRoZSBhYm92ZSB1c2Ug
Y2FzZSB0byBiZSBoYW5kbGVkIHNlcGFyYXRlbHk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
IzFGNDk3RCI+SSBhZ3JlZSB0aGF0IHRoZSBwYXRoIEMxJmd0O1MxIChvciBDMSZndDtBMSZndDtT
MSBpbiA1LjMpIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gQzEmZ3Q7UzEmZ3Q7UzIgKCBvciBDMSZn
dDtBMSZndDtBMiZndDtTMiBpbiA1LjMpIGFuZCB0aGF0IG90aGVyIOKAnGNyb3NzIGNvbm5lY3Ti
gJ0gdXNlIGNhc2VzDQogaW4gb3RoZXIgZmlndXJlcyBhbHNvIHByZXNlbnQgcGF0aHMgd2l0aCBt
b3JlIGhvcHMgdGhhbiBvdGhlcnMuICZuYnNwO1RoZSBxdWVzdGlvbiB3aGljaCB5b3UgcmFpc2Ug
YW5kIG9uIHdoaWNoIHRoZSBncm91cCB3aWxsIGhhdmUgdG8gdGFrZSAmbmJzcDthIGRlY2lzaW9u
IGlzOiAmbmJzcDtkbyB3ZSBmb2N1cyBvbmx5IG9uIGxvYWQgYmFsYW5jaW5nIGJldHdlZW4gdGhl
IHNob3J0ZXN0IHBhdGhzIChsb25nZXIgcGF0aHMgdXNlZCBvbmx5IGZvciBvdmVybG9hZCBvciBm
YWlsdXJlDQogY2FzZXMgYXMgeW91IGluZGljYXRlZCApLCBvciBpZiBpdCBpcyByZWxldmFudCB0
byBhbHNvICZuYnNwO2NvbnNpZGVyIGxvbmdlciBwYXRocyBmb3IgbG9hZCBiYWxhbmNpbmcsIHRo
ZSBzZWNvbmQgY2hvaWNlIG1heSBzaWduaWZpY2FudGx5IG1ha2UgdGhlIGxvYWQgYmFsYW5jaW5n
IGluZm9ybWF0aW9uIHRvIGRlYWwgd2l0aCBtb3JlIGNvbXBsZXguIEJ1dCB3ZSBoYXZlIGZpcnN0
ICZuYnNwO3RvIGFzc2VzcyB0aGUgcmVxdWlyZW1lbnQuPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjojMUY0OTdEIj5Ud28gaGVyZWFmdGVyIG9ic2VydmF0aW9uczxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxl
ZnQ6MTguMHB0O3RleHQtaW5kZW50Oi0xOC4wcHQ7bXNvLWxpc3Q6bDAgbGV2ZWwyIGxmbzIiPg0K
PCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjojMUY0OTdEIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj4xLjEpPHNw
YW4gc3R5bGU9ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4NCjwvc3Bh
bj48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkluIGZpZ3VyZSA1LjM6IGlmIFMxIGlzIG1vcmUgbG9h
ZGVkIHRoYW4gUzIgLCBmb3IgcmVhbG0gcm91dGVkIHJlcXVlc3RzLCBDMSwgdG8gYWNoaWV2ZSBs
b2FkIGJhbGFuY2luZywgbmVlZHMgYSAmbmJzcDtsb2FkIGluZm8gZm9yIHRoZSByZWFsbQ0KIHZp
YSAmbmJzcDtBMSAoYWNjb3JkaW5nIHRvIFMxIGxvYWQpLCAmbmJzcDthbmQgYW5vdGhlciBsb2Fk
IGluZm8gdmlhIEEyIChhY2NvcmRpbmcgdG8gUzIgbG9hZCkNCjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjE4LjBwdDt0ZXh0LWluZGVudDot
MTguMHB0O21zby1saXN0OmwwIGxldmVsMiBsZm8yIj4NCjwhW2lmICFzdXBwb3J0TGlzdHNdPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PHNw
YW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+MS4yKTxzcGFuIHN0eWxlPSJmb250OjcuMHB0ICZx
dW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IVtlbmRp
Zl0+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdE
Ij4mbmJzcDtBbm90aGVyIGRyYXdpbmcNCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPkMxLS0t
QTEtLS0tLS1TMTxicj4NCiZuYnNwOyZuYnNwOyAmbmJzcDt8ICZuYnNwOyZuYnNwOzxicj4NCiZu
YnNwOyZuYnNwOyAmbmJzcDt8PGJyPg0KQzItLS1BMi0tLS0tLVMyPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LWZhbWlseTpNb25hY28iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
IzFGNDk3RCI+aWYgUzEgaXMgbW9yZSBsb2FkZWQgdGhhbiBTMiwgQTEgbWF5IHNlbmQgc29tZSB0
cmFmZmljIGNvbWluZyBmcm9tIEMxIHRvIFMyIHZpYSBBMiwgc28gd2l0aCAmbmJzcDthIGxvbmdl
ciBwYXRoIEMxJmd0O0ExJmd0O0EyJmd0O1MyIHRoYW4gQzEmZ3Q7QTEmZ3Q7UzEuIFRoaXMgbWVh
bnMNCiB0aGF0IEExIGhhcyBsb2FkIGluZm9ybWF0aW9uIGFib3V0IFMyIGFuZCBhYm91dCBTMSB0
byBkbyBsb2FkIGJhbGFuY2luZy4gRG9lcyB0aGlzIGNhc2UgZW50ZXIgb3VyIHNjb3BlLj8gJm5i
c3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1mYW1pbHk6TW9uYWNvIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjIpIEFib3V0DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtZmFtaWx5
Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwO+KAlOKAlEExLS1TMS4uLlNuPGJyPg0KJm5ic3A7LyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQpDICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7
PGJyPg0KJm5ic3A7XCAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQombmJzcDsgJm5i
c3A74oCU4oCUQTItLVNuJiM0MzsxLi4uU208L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5NeSBkcmF3aW5ncyA1LjUgdG8gNS43IGFw
cGVhciB0byBiZSBhIGJpdCBjb25mdXNpbmcsIGluIGZhY3QgbXkgZGlhZ3JhbXMgc2hvdWxkIGJl
IGNvcnJlY3RlZCBhcyB0aGlzIG9uZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1mYW1pbHk6TW9uYWNvIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLy0tLVMxIDxvOnA+DQo8L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LWZhbWls
eTpNb25hY28iPiZuYnNwOyAmbmJzcDvigJTigJRBMS0tLS4uLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1m
YW1pbHk6TW9uYWNvIj4mbmJzcDsgLyZuYnNwOyB8XC0tLVNuPGJyPg0KJm5ic3A7LyAmbmJzcDsg
fCAmbmJzcDsgJm5ic3A7PGJyPg0KQyAmbmJzcDsgJm5ic3A7fCAmbmJzcDsmbmJzcDs8YnI+DQom
bmJzcDtcJm5ic3A7Jm5ic3A7IHwvLS1TbiYjNDM7MSAmbmJzcDsgJm5ic3A7ICZuYnNwOzxicj4N
CiZuYnNwOyAmbmJzcDvigJTigJRBMi0tLi4uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LWZhbWlseTpNb25h
Y28iPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBcLS1TbTxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+U28gdGhlIHVwc3RyZWFtIHNlcnZlcnMgYXJlICZu
YnNwO2RpcmVjdGx5IGNvbm5lY3RlZCB0byBhIERBLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFG
NDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj4z
KSBQbGVhc2UgbGV0IG1lIGtub3cgaG93IHlvdSB3b3VsZCBsaWtlIHRvIEluc2VydCB0aGUgYW5h
bHlzaXMgaW50byB0aGUgbmV3IHZlcnNpb24gb2YgeW91ciBkcmFmdCAuJm5ic3A7IEkgdGhpbmsg
d2UgbWF5IGhhdmUgYSBkZWRpY2F0ZWQgc2VjdGlvbiBhYm91dA0KIHRvcG9sb2d5IHVzZSBjYXNl
cy4gPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkJlc3QgcmVnYXJkczxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5KSmFjcXVlcw0KPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjoj
MUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0i
Ym9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6My4wcHQg
MGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij5EZSZuYnNwOzo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+IEJlbiBDYW1wYmVsbCBbPGEgaHJlZj0ibWFpbHRv
OmJlbkBub3N0cnVtLmNvbSI+bWFpbHRvOmJlbkA8c3BhbiBsYW5nPSJGUiI+bm9zdHJ1bS5jb208
L3NwYW4+PC9hPjwvc3Bhbj48c3BhbiBsYW5nPSJGUiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPl0N
Cjxicj4NCjxiPkVudm95w6kmbmJzcDs6PC9iPiBtZXJjcmVkaSA3IGphbnZpZXIgMjAxNSAwMTow
MTxicj4NCjxiPsOAJm5ic3A7OjwvYj4gVFJPVFRJTiwgSkVBTi1KQUNRVUVTIChKRUFOLUpBQ1FV
RVMpPGJyPg0KPGI+Q2MmbmJzcDs6PC9iPiA8YSBocmVmPSJtYWlsdG86ZGltZUBpZXRmLm9yZyI+
ZGltZUBpZXRmLm9yZzwvYT48YnI+DQo8Yj5PYmpldCZuYnNwOzo8L2I+IFJlOiBbRGltZV0gRGlh
bWV0ZXIgbG9hZCBjb250cm9sIGlucHV0czxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh
bmc9IkVOLVVTIj5IaSBKSmFjcXVlcyw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiPlRvIGFuc3dlciB5b3VyIGxhdCBxdWVzdGlvbiBmaXJzdCwgSSB0aGlu
ayB0aGlzIGlzIGEgdXNlZnVsIGFuYWx5c2lzLCBhbmQgd291bGQgYmUgd2lsbGluZyB0byBjb21i
aW5lIGl0IGludG8gYSBuZXcgdmVyc2lvbiBvZiBteSBwcmV2aW91cyBkcmFmdC4gV2UgY2FuIHRh
bGsgYWJvdXQgdGhlIGRldGFpbHMgb2YgdGhhdCBvZmZsaW5lLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+U2Vjb25kLCBzb21lIGhpZ2ggbGV2ZWwgb2Jz
ZXJ2YXRpb25zOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyI+Rmlyc3QsIEZyb20gYSBsb2FkLWJhbGFuY2luZyBwZXJzcGVjdGl2ZSwgRmlndXJlIDUuMyBp
cyBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byB0aGUgZm9sbG93aW5nOjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDs8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LWZhbWlseTpNb25hY28iPiZuYnNwOyZuYnNwO+KAlC0tLS0tLVMxPGJyPg0KLyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDt8PGJyPg0KQzEgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfDxicj4NClwg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fDxicj4NCiZuYnNwOyZuYnNwO+KAlOKAlC0tLS0t
UzI8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5XaGVyZSBT
MSBhbmQgUzIgY2FuIHByb3h5IHJlcXVlc3RzIHRvIHRoZSBvdGhlciBhY2NvcmRpbmcgdG8gc29t
ZSBwb2xpY3kgKGUuZy4gbG9hZCBiYWxhbmNpbmcpLiBJIGRvbuKAmXQgbWVhbiB0byBzdWdnZXN0
IHlvdSB3b3VsZCBkZXBsb3kgaXQgdGhhdCB3YXksIGJ1dCBpdCBtYWtlcyBhbm90aGVyIG9ic2Vy
dmF0aW9uIG1vcmUgb2J2aW91cywgd2hpY2ggaXMgdGhhdCBDMS0mZ3Q7UzENCiBvciBDMS0mZ3Q7
UzIgYXJlIG1vcmUgZWZmaWNpZW50IHRoYW4gQzEtJmd0O1MxLSZndDtTMiBvciBDMS0mZ3Q7UzIt
Jmd0O1MxLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+
TXkgaW5pdGlhbCByZWFjdGlvbiBpcyB0byB0aGluayB0aGF0IHdlIGNhbiBnZW5lcmFsaXplIHRo
aXMgdG8gdGhlIHZhcmlvdXMgdXNlIGNhc2VzIHRoYXQgaGF2ZSBjcm9zcy1jb25uZWN0ZWQgYWdl
bnRzLiBUaGF0IGlzLCB3aGVuIGFsbCBlbHNlIGlzIGVxdWFsLCBzaG9ydGVyIHBhdGhzIGJldHdl
ZW48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Y2xpZW50IGFuZCBzZXJ2ZXIgYXJlIGJldHRlciB0aGFu
IGxvbmdlciBvbmVzLiBUaGlzIHNlZW1zIHRvIHN1Z2dlc3QgdGhhdCB0aGUgY3Jvc3MtcGF0aCBj
b25uZWN0aW9ucyBiZSByZXNlcnZlZCBmb3IgZmFpbHVyZSBvciBvdmVybG9hZCBjYXNlcy4gVGhp
cyBwcm9iYWJseSBoYXMgaW1wbGljYXRpb25zIG9uIHdoZXRoZXIgdGhlIGxvYWQgbWV0cmljIHNl
bnQgYnkgYW4gYWdlbnQNCiBzaG91bGQgc29tZWhvdyBhZ2dyZWdhdGUgdGhlIGxvYWQgbWV0cmlj
cyBvZiBpdHMgc2VydmVycy4gKE9yIGF0IGxlYXN0IHRha2UgdGhlbSBhcyBhbiBpbnB1dC4pPG86
cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5TZWNvbmQsIHlv
dXIgZmlndXJlcyA1LjUtNS43IHN1Z2dlc3QgdGhhdCB3ZSBtYXkgaGF2ZSBjYXNlcyB3aGVyZSB0
aGUgbnVtYmVyIG9mIHNlcnZlcnMgdG8gdGhlIHJpZ2h0IG9mIGFuIGFnZW50IG1heSBub3QgYmUg
a25vd24gYnkgdGhlIGNsaWVudC4gSGVyZeKAmXMgYSBzaW1wbGlmaWVkIHZpZXc6PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtZmFtaWx5Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwO+KAlOKAlEExLS1TMS4uLlNuPGJyPg0KJm5i
c3A7LyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQpDICZuYnNwOyAmbmJzcDsgJm5i
c3A7Jm5ic3A7PGJyPg0KJm5ic3A7XCAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQom
bmJzcDsgJm5ic3A74oCU4oCUQTItLVNuJiM0MzsxLi4uU208L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO
LVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SW4gdGhpcyBjYXNlLCB0aGUgbG9hZCBt
ZXRyaWNzIGZvciB0aGUgc2VydmVycyBhcmUgb2YgbGl0dGxlIHVzZSB0byBDLCBzaW5jZSBpbiBn
ZW5lcmFsIEMgd2lsbCBub3Qga25vdyBpZiBpdOKAmXMga25vd2xlZGdlIGVuY29tcGFzc2VzIGFs
bCBwb3NzaWJsZSBkZXN0aW5hdGlvbnMuIChBIHJlbGF0ZWQgcXVlc3Rpb24gaXMgd2V0aGVyIHRo
ZSBfYWdlbnRzXyBhY3R1YWxseSBrbm93DQogdGhlIGxvYWQgbWV0cmljcyBmb3IgYWxsIHRoZSBw
b3NzaWJsZSBkZXN0aW5hdGlvbnMuIEnigJltIG5vdCBzdXJlIHRoZXkgYWx3YXlzIGRvLCBlLmcu
IGlmIHRoZXkgYXJlIHVzaW5nIGR5bmFtaWMgZGlzY292ZXJ5LjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4w
cHQiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+T24gSmFuIDQsIDIwMTUsIGF0IDEx
OjM4IEFNLCBUUk9UVElOLCBKRUFOLUpBQ1FVRVMgKEpFQU4tSkFDUVVFUykgJmx0OzxhIGhyZWY9
Im1haWx0bzpqZWFuLWphY3F1ZXMudHJvdHRpbkBhbGNhdGVsLWx1Y2VudC5jb20iPmplYW4tamFj
cXVlcy50cm90dGluQGFsY2F0ZWwtbHVjZW50LmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj4NCjxicj4N
CkRlYXIgYWxsPGJyPg0KJm5ic3A7PGJyPg0KSSBmaXJzdCB3aXNoIHlvdSBhICZuYnNwO2hhcHB5
ICZuYnNwO25ldyB5ZWFyIGZvciB5b3UgYW5kIHlvdXIgZmFtaWx5IGFzIHdlbGwgaW4geW91ciBw
cm9mZXNzaW9uYWwgbGlmZS48YnI+DQombmJzcDs8YnI+DQpJIGhlcmVhZnRlciBhZGRyZXNzIG91
ciBuZXcgdG9waWMgb24gRGlhbWV0ZXIgbG9hZCBjb250cm9sLjxicj4NCkkgYW0gaW4gZmF2b3Ig
dG8gY29udGludWUgdGhlIHdvcmsgdGhhdCBCZW4gaGFzIGNvdmVyZWQgaW4gaGlzIOKAnGRyYWZ0
LWNhbXBiZWxsLWRpbWUtbG9hZC1jb25zaWRlcmF0aW9ucy0wMOKAnSBkb2N1bWVudCwgYnkgYWRk
aW5nLCBpbnZlc3RpZ2F0aW5nJm5ic3A7dmFyaW91cyBjb25zaWRlcmF0aW9ucy48YnI+DQombmJz
cDs8YnI+DQpJIGhlcmVhZnRlciBnaXZlIHNldmVyYWwgYWRkaXRpb25hbCBzZWN0aW9uIHBhcnRz
IG9yIHBhcmFncmFwaHMgJm5ic3A7dGhhdCBJIHRoaW5rIGNvdWxkIGJlIGluc2VydGVkIGluIEJl
buKAmXMgZHJhZnQuIEkgaGF2ZSBwdXQgc29tZSB0aXRsZXMgYW5kIG51bWJlcmluZyZuYnNwOygj
TDEsICNMMiDigKYpICZuYnNwO3RvIHJldXNlIGluIHNlcGFyYXRlZCBlbWFpbCB0cmVhZHMgZm9y
IGRpc2N1c3Npb24uPGJyPg0KJm5ic3A7PGJyPg0KSSBoYXZlIGluY2x1ZGVkIHRvcG9sb2d5IHVz
ZSBjYXNlcy4gRm9yIERpYW1ldGVyIG92ZXJsb2FkLCAmbmJzcDtTdGV2ZSBkaWQgc2V2ZXJhbCAm
bmJzcDtwcmVzZW50YXRpb25zIG9uIHRoZSAmbmJzcDt2YXJpb3VzIHVzZSBjYXNlcyB0byBjb25z
aWRlci4gSSB0aGluayBhbHNvIGdvb2QmbmJzcDt0byBkbyB0aGUgc2FtZSBmb3IgRGlhbWV0ZXIg
bG9hZCwgYW5kIHRvIGluc2VydCBzdWNoIHVzZSBjYXNlcyBpbiB0aGUgQmVu4oCZcyBkcmFmdC4g
WW91IG1heSBjb25zaWRlciB0aGlzIGxpc3QNCiBzb21ld2hhdCBsb25nIGJ1dCB0aGVzZSB1c2Ug
Y2FzZXMmbmJzcDtoaWdobGlnaHQgYSBjZXJ0YWluIG51bWJlciBvZiBwb2ludHMgZm9yIHdoaWNo
IHdlIHdpbGwgaGF2ZSB0byB0YWtlIHNvbWUgZGVjaXNpb25zIChlZyB0byBjb3ZlciB0aGVtIG9y
IG5vdCBvciB0byBzZWUgbGF0ZXIgaWYgJm5ic3A7c29sdXRpb24gYXNzdW1wdGlvbnMmbmJzcDth
cHBseSB3ZWxsKS4gVGhlcmUgYXJlIG1vcmUgZnJvbSBhIHJlcXVpcmVtZW50IHZpZXdwb2ludCB0
aGFuIGluIHRoZSBzb2x1dGlvbg0KIGl0c2VsZiBhcyBJIGRvIG5vdCBhZGRyZXNzIHRoZSBleGFj
dCBjb250ZW50IG9mIGxvYWQgaW5mb3JtYXRpb24gYW5kJm5ic3A7dGhlIHdheSBpdCB3aWxsIGJl
IHRyYW5zZmVycmVkPGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KI0wxICZuYnNwOyBUb3Bv
bG9neSB1c2UgY2FzZXMgKGNhbiBiZSBpbnNlcnRlZCBpbiBzZWN0aW9uIDUgKTxicj4NCiZuYnNw
Ozxicj4NCiZuYnNwOzxicj4NCjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
ZmFtaWx5Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtLS0tLS1T
MTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAvPGJyPg0KJm5ic3A7ICZuYnNwOyAm
bmJzcDsgQzE8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgXDxicj4NCiZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0tLS0tUzI8YnI+DQo8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiPkZpZ3VyZSA1LjE8YnI+DQombmJzcDs8YnI+DQpJbiB0aGlzIHNpbXBsZSBjYXNl
IChubyBEQSkgZS5nLiBmb3IgYSBzbWFsbCBuZXR3b3JrLCB0aGUgc2VydmVycyBhcmUgcGVlcnMg
b2YgdGhlIGNsaWVudC4gVGhlJm5ic3A7Y2xpZW50IHNlbGVjdHMgdGhlIHNlcnZlciBhY2NvcmRp
bmcgdG8gdGhlIGxvYWQgaW5mb3JtYXRpb24gaXQgcmVjZWl2ZXMgZnJvbSB0aGUgc2VydmVycy48
YnI+DQombmJzcDs8YnI+DQombmJzcDs8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgLS0tLS0tUzE8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLzxicj4NCkMxLS0t
LUE8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgXDxicj4NCiZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0tLS0tUzI8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPkZpZ3VyZSA1LjI8YnI+DQombmJzcDs8YnI+DQpUaGUgYWdlbnQgc2VsZWN0cyB0aGUgc2Vy
dmVyIGFjY29yZGluZyB0byB0aGUgbG9hZCBpbmZvcm1hdGlvbiBpdCByZWNlaXZlcyBmcm9tIHRo
ZSBzZXJ2ZXJzLiBIZXJlLCZuYnNwO3RoZSBjbGllbnQgZG9lcyBub3QgbmVlZCB0byByZWNlaXZl
IGxvYWQgaW5mb3JtYXRpb24gYXMgaXQgZG9lcyBub3QgZG8gbG9hZCBiYWxhbmNpbmcuIEl0IGlz
IHRvJm5ic3A7Y2hlY2sgaWYgbG9hZCBpbmZvcm1hdGlvbiB3b3VsZCBiZSB1c2VmdWwgdG8gdGhl
IGNsaWVudCBmb3Igb3RoZXINCiBwdXJwb3NlcyAoZS5nLiBhbnRpY2lwYXRpbmcgYSZuYnNwO2Z1
dHVyZSBvdmVybG9hZCBvZiB0aGUgc2VydmVyKS48YnI+DQombmJzcDs8YnI+DQombmJzcDs8YnI+
DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZu
YnNwOyAmbmJzcDstLS1BMS0tLS0tLVMxPGJyPg0KLyAmbmJzcDsgJm5ic3A7fDxicj4NCkMxICZu
YnNwOyZuYnNwO3w8YnI+DQpcICZuYnNwOyAmbmJzcDt8PGJyPg0KJm5ic3A7ICZuYnNwOy0tLUEy
LS0tLS0tUzI8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxicj4NCkZpZ3Vy
ZSA1LjM8YnI+DQombmJzcDs8YnI+DQpDMSB3aGVuIHNlbmRpbmcgYSByZWFsbSByb3V0ZWQgcmVx
dWVzdCBldmVuIGRvZXMgbm90IGtub3cgd2hpY2ggc2VydmVyIHdpbGwgaGFuZGxlIHRoZSByZXF1
ZXN0IGFuJm5ic3A7ZXZlbiBtb3JlIGRvZXMgbm90IGtub3cgdG8gd2hpY2ggREEgUzEgYW5kIFMy
IGFyZSBjb25uZWN0ZWQgdG8uIFNvIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9uIHRoZSZuYnNwO3Nl
cnZlcnMgaXMgbm90IHVzZWZ1bC4gQnV0IEMxIGhhcyB0byBzZWxlY3QgdG8gd2hpY2ggZnJvbSBB
MSBvcg0KIEEyIGl0IHdpbGwgc2VuZCB0aGUgcmVxdWVzdC4gSXQgY2FuJm5ic3A7ZG8gaXQgb24g
dGhlIGJhc2lzIG9mIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9mIEExIG9yIEEyLiBCdXQgaXMgaXQg
c3VmZmljaWVudD88YnI+DQpJZiBTMSBoYXMgaGlnaCBsb2FkIGFuZCBTMiBhIHNtYWxsIG9uZSwg
dG8gaW1wcm92ZSB0aGUgbG9hZCBiYWxhbmNpbmcgd291bGQgbWVhbiB0aGF0PGJyPg0KYSkgQzEg
c2VuZHMgbW9yZSB0cmFmZmljIHRvIEEyIHdoaWNoIGZvcndhcmQgdG8gUzIsIG1lYW5pbmcgdGhh
dCBDMSBoYXMgcmVjZWl2ZWQgbG9hZCBpbmZvcm1hdGlvbiZuYnNwO2Zyb20gQTIgbm90IG9ubHkg
aW5jbHVkaW5nIEEyIGxvYWQgYnV0IGFsc28gdGhlIFMyIGxvYWQ8YnI+DQpiKSBvciBDMSwgaGF2
aW5nIG5vIGluZm9ybWF0aW9uIG9uIHNlcnZlciBsb2FkIGVxdWFsbHkgc2VuZHMgdHJhZmZpYyB0
byBBMSBhbmQgQTIuIFRoZW4gaWYgQTEmbmJzcDtyZWNlaXZlcyBmcm9tIEEyIGxvYWQgaW5mb3Jt
YXRpb24gaW5jbHVkaW5nIHRoZSBsb2FkIG9mIFMyIG1heSB0aGVuIGRlY2lkZSB0byByb3V0ZSBt
b3JlIHRyYWZmaWMgdG8mbmJzcDtTMiB2aWEgQTIuIFRoaXMgaXMgbGVzcyBvcHRpbWFsIHRoYW4g
dGhlIGZpcnN0IGNhc2UgYXMgYWRkaW5nIGENCiBuZXcgaG9wIGluIHRoZSBwYXRoIChDMS1BMS1B
Mi1TMi48YnI+DQombmJzcDs8YnI+DQpBbiBpbml0aWFsIHF1ZXN0aW9uIGlzIHRvIGNvbnNpZGVy
IGlmIHRoaXMgc3ViY2FzZXMgYSkgYW5kIGIpIGFyZSByZWxldmFudCBhbmQgZW50ZXIgdGhlIHNj
b3BlLjxicj4NCiZuYnNwOzxicj4NCkMxLCB3aGVuIHNlbmRpbmcgYSBob3N0IHJvdXRlZCByZXF1
ZXN0LCBjYW4gZG8gaXQgdmlhIEExIG9yIEEyIGFzIHJvdXRpbmcgZm9yIEMxIGlzIGJhc2VkIG9u
IHRoZSZuYnNwO3JlYWxtLiBJcyBpdCB0byBiZSBjb25zaWRlcmVkIGlmIGxvYWQgY29udHJvbCBp
bmZvcm1hdGlvbiByZWNlaXZlZCBieSBDMSBnaXZlcyBzb21lIGhpbnQgdG8gcmF0aGVyJm5ic3A7
c2VsZWN0IEExIHJhdGhlciB0aGFuIEEyIHdoZW4gUzEgaXMgdGhlIGRlc3RpbmF0aW9uIGhvc3Qs
IHNvDQogdG8gYXZvaWQgYW4gYWRkaXRpb25hbCBob3A/IE9yIGlmIGl0Jm5ic3A7aXMgb3V0IG9m
IHRoZSBzY29wZT8gJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs8YnI+DQombmJzcDs8YnI+DQom
bmJzcDs8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LWZhbWlseTpN
b25hY28iPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDstLS0tLVMzPGJyPg0KJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Lzxicj4NCiZuYnNwOyAmbmJzcDstLS1BMS0tLS0tLVMx
PGJyPg0KLyAmbmJzcDsgJm5ic3A7fDxicj4NCkMxICZuYnNwOyZuYnNwO3w8YnI+DQpcICZuYnNw
OyAmbmJzcDt8PGJyPg0KJm5ic3A7ICZuYnNwOy0tLUEyLS0tLS0tUzI8YnI+DQombmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDtcPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
Oy0tLS0gUzQ8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPkZpZ3VyZSA1LjQ8YnI+DQom
bmJzcDs8YnI+DQpUaGlzIGRpYWdyYW0gaXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBwcmV2aW91cyBv
bmUgd2l0aCBhZGRpdGlvbmFsIHNlcnZlcnMgY29ubmVjdGVkIHRvIEExIGFuZCBBMiBhbmQmbmJz
cDtjb3VsZCBiZSBtb3JlIGNvbW1vbiB0aGFuIDUuMy48YnI+DQpDb21wYXJlZCB0byB0aGUgcHJl
dmlvdXMgZGlhZ3JhbSw8YnI+DQotIGZvciB0aGUgc3ViY2FzZSBhKSwgZm9yIHJlYWxtIHJvdXRl
ZCByZXF1ZXN0IEMxIGNob2ljZSBiZXR3ZWVuIEExIGFuZCBBMiBjYW4gcmVseSBvbiB0aGUgY29t
YmluZWQmbmJzcDsob3IgYWdncmVnYXRlZCkgbG9hZCBvZiBTMSBhbmQgUzMgY29tcGFyZWQgdG8g
dGhlIGFnZ3JlZ2F0ZWQgbG9hZCBvZiBTMiBhbmQgUzQuPGJyPg0KLSBmb3IgdGhlIHN1YmNhc2Ug
Yikgc2ltaWxhcmx5LCBBMSB3b3VsZCBjb21wYXJlIGFuIGFnZ3JlZ2F0ZWQgbG9hZCBvZiBTMiBh
bmQgUzQgcmVjZWl2ZWQgZnJvbSBBMiZuYnNwO3RvIHRoZSBhZ2dyZWdhdGVkIGxvYWQgb2YgUzEg
YW5kIFMzLjxicj4NCiZuYnNwOzxicj4NClRoaXMgdXNlIGNhc2UgbWF5IGRyaXZlIHRvIGNvbnNp
ZGVyIGlmIHRoZSBsb2FkIG9mIGEgc2V0IG9mIG5vZGVzIChhZ2dyZWdhdGVkIGxvYWQpIHdvdWxk
IGJlIHVzZWZ1bCZuYnNwO29yIGlmIGl0IGNhbiBiZSBhdm9pZGVkLiZuYnNwOzxicj4NCiZuYnNw
Ozxicj4NCiZuYnNwOzxicj4NCjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
ZmFtaWx5Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwOy0tLUExLS0tUzEsIFMzIOKApjxicj4NCi8gJm5i
c3A7ICZuYnNwO3wgXC88YnI+DQpDMSAmbmJzcDsmbmJzcDt8IC9cPGJyPg0KXCAmbmJzcDsgJm5i
c3A7fC8gJm5ic3A7XDxicj4NCiZuYnNwOyAmbmJzcDstLS1BMi0tLVMyLCBTNCDigKY8YnI+DQo8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxicj4NCkZpZ3VyZSA1LjU8YnI+DQombmJz
cDs8YnI+DQpJbiB0aGlzIGRpYWdyYW0sIGFsbCBzZXJ2ZXJzIGFyZSBjb25uZWN0ZWQgdG8gdGhl
IHNhbWUgc2V0IG9mIERBcywgd2hpY2ggbXVsdGlwbHkgdGhlIG51bWJlciBvZiZuYnNwO2Nvbm5l
Y3Rpb25zIGJldHdlZW4gc2VydmVycyBhbmQgdGhlaXIgREFzOyBvdGhlcndpc2UsIHdlIGNvbWUg
YmFjayB0byB0aGUgZmlndXJlIDUuNCBjYXNlIG9yIGFuJm5ic3A7aHlicmlkIGNhc2UgYmV0d2Vl
biBmaWd1cmUgNS40IGFuZCA1LjUuJm5ic3A7PGJyPg0KQzEgd2hlbiBzZW5kaW5nIGEgcmVxdWVz
dCBtYXkgc2VsZWN0IEExIG9yIEEyIGFjY29yZGluZyB0byBhIGxvYWQgaW5mb3JtYXRpb24gb25s
eSByZWxhdGVkIHRvIEExJm5ic3A7bG9hZCBhbmQgQTIgbG9hZC4gVGhpcyBzZWxlY3Rpb24gaXMg
aW5kZXBlbmRlbnQgZnJvbSB0aGUgc2VydmVyIGxvYWQsIGV4Y2VwdCBpZiB3ZSB0YWtlIGludG8m
bmJzcDthY2NvdW50IGUuZy4gdGhlIGxvYWQgb2YgdGhlIEExL1MxIGNvbm5lY3Rpb24gYW5kIHRo
ZSBsb2FkIG9mIEEyL1MxDQogY29ubmVjdGlvbiB3aGljaCBtYXkgYmUmbmJzcDtkaWZmZXJlbnQu
PGJyPg0KJm5ic3A7PGJyPg0KQTEgKG9yIEEyKSB0aGVuIHNlbGVjdHMgdGhlIHNlcnZlciBhY2Nv
cmRpbmcgdG8gbG9hZCBpbmZvcm1hdGlvbiByZWNlaXZlZCBmcm9tIHRoZXNlIHNlcnZlcnMsJm5i
c3A7ZXhjZXB0IGZvciBob3N0IHJvdXRlZCByZXF1ZXN0cy4gJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQombmJzcDs8YnI+DQombmJzcDs8YnI+DQo8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNwOyAmbmJz
cDstLS1BMS0tLUEzLS0tLVMxLCBTMyDigKY8YnI+DQovICZuYnNwOyAmbmJzcDt8IFwvIHw8YnI+
DQpDMSAmbmJzcDsgfCAvXCB8PGJyPg0KXCAmbmJzcDsgJm5ic3A7fC8gJm5ic3A7XHw8YnI+DQom
bmJzcDsgJm5ic3A7LS0tQTItLS1BNC0tLS1TMiwgUzQg4oCmPGJyPg0KPC9zcGFuPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDs8YnI+DQpGaWd1cmUgNS42PGJyPg0KJm5ic3A7PGJyPg0KVGhpcyBk
aWFncmFtIGludHJvZHVjZXMg4oCcdHdvIGxheWVyc+KAnSBvZiBEQXMgYmV0d2VlbiBjbGllbnRz
IGFuZCBzZXJ2ZXJzLjxicj4NCkNvbXBhcmVkIHRvIGZpZ3VyZSA1LjMgb3IgNS40LCBDMSB3aGVu
IHNlbmRpbmcgYSByZXF1ZXN0IG1heSBzZWxlY3QgQTEgb3IgQTIgYWNjb3JkaW5nIHRvIGEgbG9h
ZCZuYnNwO2luZm9ybWF0aW9uIG9ubHkgcmVsYXRlZCB0byBBMSBsb2FkIGFuZCBBMiBsb2FkLiBU
aGVuIEExKG9yIEEyKXdoZW4gZG9pbmcgZnVydGhlciByb3V0aW5nLCBhcmUgaW4gYSZuYnNwO3Np
bWlsYXIgc2l0dWF0aW9uIHRvIEMxIGluIEZpZ3VyZXMgNS4zIG9yIDUuNC48YnI+DQombmJzcDs8
YnI+DQombmJzcDsgJm5ic3A7Jm5ic3A7PGJyPg0KPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1mYW1pbHk6TW9uYWNvIj4mbmJzcDsgJm5ic3A7LS0tQTEtLS1BMy0tLVMxLCBT
MyDigKY8YnI+DQovICZuYnNwOyAmbmJzcDt8IFwvIHwgXC88YnI+DQpDMSAmbmJzcDsgfCAvXCB8
IC9cPGJyPg0KXCAmbmJzcDsgJm5ic3A7fC8gJm5ic3A7XHwvICZuYnNwO1w8YnI+DQombmJzcDsg
Jm5ic3A7LS0tQTItLS1BNC0tLVMyLCBTNCDigKY8YnI+DQombmJzcDs8YnI+DQo8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPkZpZ3VyZSA1Ljc8YnI+DQpBcyBpbiBmaWd1cmUgNS40LCBhbGwgc2Vy
dmVycyBhcmUgY29ubmVjdGVkIHRvIGEgY29tbW9uIHNldCBvZiBEQXMgKGhlcmUgQTMsIEE0KSwg
d2hpY2ggbXVsdGlwbHkmbmJzcDt0aGUgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGJldHdlZW4gc2Vy
dmVycyBhbmQgdGhlaXIgREFzOyBvdGhlcndpc2UsIHdlIGNvbWUgYmFjayB0byB0aGUgZmlndXJl
IDUuNiZuYnNwO2Nhc2Ugb3IgYSBoeWJyaWQgY2FzZSBiZXR3ZWVuIGZpZ3VyZXMgNS42IGFuZCA1
LjcuJm5ic3A7PGJyPg0KQzEgd2hlbiBzZW5kaW5nIGEgcmVxdWVzdCBtYXkgc2VsZWN0IEExIG9y
IEEyIGFjY29yZGluZyB0byBhIGxvYWQgaW5mb3JtYXRpb24gb25seSByZWxhdGVkIHRvIEExJm5i
c3A7bG9hZCBhbmQgQTIgbG9hZC4gVGhpcyBzZWxlY3Rpb24gaXMgaW5kZXBlbmRlbnQgZnJvbSB0
aGUgc2VydmVyIGxvYWQuPGJyPg0KVGhlbiBBMSBvciBBMiBmb3IgZnV0cmplciByb3V0aW5nIGhh
dmUgYSBzaW1pbGFyIHNpdHVhdGlvbiB0byBDMSBpbiBmaWd1cmUgNS41Ljxicj4NClRoaXMgY2Fz
ZSBvZmZlciBhIGhpZ2ggZmxleGliaWxpdHkgYWJvdXQgbG9hZCBzaGFyaW5nIHRoYXQgY2FuIGJl
IGRvbmUgaW4gZGlmZmVyZW50IHBsYWNlcywgYnV0IGFscyZuYnNwO28gbWF5IGludHJvZHVjZSBo
aWdoZXIgY29tcGxleGl0eSBhYm91dCBzZWxlY3RpbmcgdGhlIHJpZ2h0IHJvdXRpbmcuICZuYnNw
OyZuYnNwOzxicj4NCiZuYnNwOzxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4N
CiZuYnNwOzxicj4NCiNMMiAmbmJzcDsgJm5ic3A7UGFydGl0aW9uZWQgc2VydmVycyAoY2FuIGJl
IGFkZGVkIGluIHNlY3Rpb24gNSk8YnI+DQombmJzcDs8YnI+DQpUaGlzIHRoZSBjYXNlIG9mIHJl
YWxtIHJvdXRlZCByZXF1ZXN0IHdoZXJlIG9ubHkgb25lIG9yIHNvbWUgc2VydmVycyBpbiB0aGUg
c2FtZSByZWFsbSBjYW4gaGFuZGxlJm5ic3A7dGhlIHJlcXVlc3QsIHNvIG5vIGxvYWQgYmFsYW5j
aW5nIHRvIG90aGVyIHNlcnZlcnMgb2YgdGhlIHJlYWxtIGNhbiBiZSBhY2hpZXZlZC4gQW4gaW50
ZXJtZWRpYXRlJm5ic3A7cHJveHkgREEgd2lsbCBzZWxlY3QgdGhlIHBvc3NpYmxlIHNlcnZlcihz
KWZvciB0aGlzIHJlcXVlc3QsIGFuZA0KIGlmIHNldmVyYWwgc2VydmVycywgdGhlIERBIG1heSBk
byZuYnNwO3NvbWUgbG9hZCBiYWxhbmNpbmcgYmV0d2VlbiB0aGVtIGFuZCBpZiBvbmUgc2VydmVy
LCB0aGUgREEgbWF5IGFjdCBhcyB3aXRoIGhvc3Qgcm91dGVkIHJlcXVlc3RzLiAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs8YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19f
X19fX19fX19fX188YnI+DQojTDMgJm5ic3A7ICZuYnNwO0FjdGl2ZSBhbmQgc3RhbmQgYnkgbm9k
ZXMgKGNhbiBiZSBpbnNlcnRlZCBpbiBzZWN0aW9uIDUpPGJyPg0KJm5ic3A7PGJyPg0KSW4gdGhl
IGFib3ZlIHRvcG9sb2d5IHVzZSBjYXNlcywgaXQgaXMgYXNzdW1lZCB0aGF0IGxvYWQgc2hhcmlu
ZyBjYW4gYmUgdXNlZCBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQmbmJzcDtwb3NzaWJsZSBjb25uZWN0
aW9ucyBvZiB0aGUgZmlndXJlcy4gSWYgbm9kZXMgYXJlIGluIGFuICZuYnNwO2FjdGl2ZSBhbmQg
c3RhbmQgYnkgY29uZmlndXJhdGlvbnMsIHRoZSZuYnNwO2ZpZ3VyZXMgdG8gY29uc2lkZXIgYXJl
IHdpdGggdGhlIG9ubHkgYWN0aXZlIGNvbm5lY3Rpb25zLiBUaGUNCiBzd2l0Y2ggZnJvbSB0aGUg
YWN0aXZlIHRvIHRoZSBzdGFuZCZuYnNwO2J5IG5vZGUgd2l0aCB0aGUgbG9hZCBoYW5kbGluZyBh
c3BlY3QgaXMgYW5vdGhlciB0b3BpYy4gJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZuYnNwOzxicj4NCiNMNOKApiBTb21lIGNv
bnNpZGVyYXRpb25zIGZyb20gdGhlIHRvcG9sb2d5IHVzZSBjYXNlcyAoY2FuIGJlIGluc2VydGVk
IGluIHNlY3Rpb24gNSk8YnI+DQombmJzcDs8YnI+DQotIHRoZXJlIGlzIGEgbGFyZ2UgdmFyaWV0
eSBvZiB1c2UgY2FzZXMgd2l0aCB2YXJpb3VzIHBsYWNlcyB3aGVyZSBsb2FkIGJhbGFuY2luZyBh
Y3Rpb25zIGNhbiBiZSZuYnNwO3Rha2VuLiBUaGlzIG1heSBpbXBhY3QgdGhlIGNvbnRlbnQgb2Yg
bG9hZCBpbmZvcm1hdGlvbiB0cmFuc2ZlcnJlZCBkb3duc3RyZWFtLiBJdCBzaG91bGQgYWxzbyBi
ZSZuYnNwO2F2b2lkZWQgdG8gYWRkIHRvbyBtdWNoIGNvbXBsZXhpdHksIGVzcGVjaWFsbHkgb24g
dGhlIGxvYWQgaW5mb3JtYXRpb24NCiBjb250ZW50IHRyYW5zZmVycmVkJm5ic3A7ZG93bnN0cmVh
bSwgbm9kZSBiZWhhdmlvciBjYW4gYmUgbW9yZSBzb3BoaXN0aWNhdGVkIGJ1dCBub3JtYWxseSBy
ZW1haW5zIG91dHNpZGUgdGhlJm5ic3A7c3RhbmRhcmRpemF0aW9uIHNjb3BlLjxicj4NCiZuYnNw
Ozxicj4NCi0gY2xpZW50cyByZWNlaXZpbmcgbG9hZCBpbmZvcm1hdGlvbiBoYXZlIG5vdCB0byBi
ZSBhd2FyZSBvZiB0aGUgREFzIGFuZCBzZXJ2ZXIgdG9wb2xvZ2llcywgdGhleSZuYnNwO25ldmVy
dGhlbGVzcyBuZWVkIHJlbGV2YW50IGxvYWQgaW5mb3JtYXRpb24gY3JpdGVyaWEgdG8gc2VsZWN0
ICh3aGVuIG5lZWRlZCkgdGhlIHJpZ2h0IG5leHQgbm9kZSB0byZuYnNwO3doaWNoIHRvIHNlbmQg
YSByZXF1ZXN0LiBUaGlzIG1heSBkcml2ZSB0byBjb25zaWRlciBpZiBzb21lDQogYWdncmVnYXRp
b24gb2YgbG9hZCBpbmZvcm1hdGlvbiB0byBiZSZuYnNwO3BlcmZvcm1lZCBiZWZvcmUgc2VuZGlu
ZyBpdCB0byB0aGUgY2xpZW50cywgc28gdG8gbWFrZSBpdCBzaW1wbGVyIHRvIHRoZSBjbGllbnRz
Ljxicj4NCiZuYnNwOzxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQom
bmJzcDs8YnI+DQojTDYgJm5ic3A7IExvYWQgaW5mb3JtYXRpb24gc2NvcGVzIChjYW4gYmUgJm5i
c3A7YWRkZWQgaW4gc2VjdGlvbiA2KTxicj4NCiZuYnNwOzxicj4NCkxvYWQgaW5mb3JtYXRpb24g
Y2FuIGFwcGx5IHRvIHZhcmlvdXMgc2NvcGVzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8g
cmV0YWluIG9yIG5vdCA6PGJyPg0KJm5ic3A7PGJyPg0KTG9hZCBvZiBhIG5vZGU6IHRoaXMgaXMg
dGhlIG1vc3QgdXN1YWwgdG8gY29uc2lkZXIuIEEgbm9kZSBjYW4gYmUgYW4gZW5kIHBvaW50IChz
ZXJ2ZXIpIG9yIGFuJm5ic3A7YWdlbnQuPGJyPg0KJm5ic3A7PGJyPg0KTG9hZCBvZiBhbiBhcHBs
aWNhdGlvbjogVGhlIGxvYWQgb2YgYSBzZXJ2ZXIgY2FuIHZhcnkgYWNjb3JkaW5nIHRvIHRoZSBh
cHBsaWNhdGlvbnMgKGVnIGR1ZSB0byZuYnNwO2RpZmZlcmVuY2VzIGluIHRoZSB1c2VkIHJlc291
cmNlcykuIFNvIHRoZSBwb3NzaWJpbGl0eSB0byBoYXZlIGEgbG9hZCBpbmZvcm1hdGlvbiBwZXIg
YXBwbGljYXRpb24mbmJzcDtzaG91bGQgbm90IGJlIHByZWNsdWRlZCBhdCB0aGlzIGxldmVsIG9m
IGFuYWx5c2lzLjxicj4NCiZuYnNwOzxicj4NCkxvYWQgb2YgYSBzZXQgb2Ygbm9kZXM6IGl0IG1h
eSBiZSBjb25zaWRlcmVkIGludGVyZXN0aW5nIHRoYXQgdGhlIGxvYWQgb2YgYSBzZXQgb2Ygbm9k
ZXMgaXMmbmJzcDt0cmFuc2ZlcnJlZCBkb3duc3RyZWFtLiBVc2UgY2FzZXMgc2hvdWxkIGlkZW50
aWZ5IHN1Y2ggYW4gaW50ZXJlc3QuIFRoaXMgZHJpdmVzIHRvIHRoZSBhZ2dyZWdhdGlvbiZuYnNw
O29mIHRoZSBsb2FkIG9mIHRoZSB2YXJpb3VzIG5vZGVzIG9mIHRoZSBzZXQgdG8gZWxhYm9yYXRl
IHRoZSBsb2FkDQogb2YgdGhlIHNldC4gVGhpcyBjYW4gYmUgZG9uZSBieSZuYnNwO2FuIGludGVy
bWVkaWF0ZSBub2RlIHJlY2VpdmluZyB0aGUgbG9hZCBpbmZvcm1hdGlvbiBvZiB0aGUgdmFyaW91
cyBub2Rlcy4gSXQgY2FuIGJlIGEgd2VpZ2h0ZWQmbmJzcDthdmVyYWdlIGJldHdlZW4gdGhlIGxv
YWRzOyB0aGUgd2VpZ2h0IGlzIGFub3RoZXIgaW5mb3JtYXRpb24gdG8gYmUgY29uc2lkZXJlZCAo
ZWcgdGhlIGNhcGFjaXR5IG9mJm5ic3A7dGhlIHNlcnZlcnMgd2hpY2ggbWF5IGJlIGRpZmZlcmVu
dCkuPGJyPg0KJm5ic3A7PGJyPg0KTG9hZCBvZiBhbiBhZ2VudCBhbmQgbG9hZCBvZiBhIHNlcnZl
ci48YnI+DQpEaWZmZXJlbnQgcGF0aHMgdmlhIGRpZmZlcmVudCBEQXMgbWF5IGV4aXN0IGJldHdl
ZW4gdGhlIG5vZGUgZG9pbmcgdGhlIHNlcnZlciBzZWxlY3Rpb24gYW5kIHRoZSZuYnNwO3NlcnZl
ci4gVGhlIGxvYWQgaW5mb3JtYXRpb24gb24gdGhlIHNlcnZlciB3b3VsZCBiZSB0aGUgc2FtZTsg
YnV0IHRoZW4gdG8gd2hpY2ggcGVlciB0byBzZW5kIHRoZSZuYnNwO21lc3NhZ2U/IFRoaXMgd291
bGQgZGVwZW5kIG9mIHRoZSBsb2FkIG9mIHRoZSBwZWVyIChhbmQgZXZlbiBvZg0KIHRoZSBsb2Fk
IGJlaGluZCB0aGUgcGVlcikuPGJyPg0KJm5ic3A7PGJyPg0KX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX188YnI+DQombmJzcDs8YnI+DQojTDcgJm5ic3A7IEFkZGl0aW9uIHJlbW92YWwg
b2YgYSBzZXJ2ZXIgKGNhbiBiZSAmbmJzcDthZGRlZCBpbiBzZWN0aW9uIDYpPGJyPg0KJm5ic3A7
PGJyPg0KV2hlbiBhZGRpbmcgYSBzZXJ2ZXIsIHRoaXMgb25lIHdpbGwgc3RhcnQgYnkgYWR2ZXJ0
aXNpbmcgbm8gb3IgYSBzbWFsbCBsb2FkLCB0aGVuIGl0IHdpbGwgYmUgdG8gdGhlJm5ic3A7ZG93
bnN0cmVhbSBub2RlcyAoZWcgREFzKSBoYW5kbGluZyBsb2FkIGJhbGFuY2luZyBiZXR3ZWVuIHNl
cnZlcnMgdG8gZW5zdXJlIGEgc21vb3RoIGluY3JlYXNlIG9mJm5ic3A7dGhlIHRyYWZmaWMgdG8g
dGhpcyBzZXJ2ZXIsIHRvIGF2b2lkIHRvIGltbWVkaWF0ZWx5IHNlbmQgaXQNCiB0b28gbXVjaCB0
cmFmZmljIGFuZCBldmVuIHRvIG5vdCBwdXQgaXQmbmJzcDtpbnRvIG92ZXJsb2FkLiBJdCBtYXkg
YmUgcXVlc3Rpb25lZCBpZiBhIHNpbXBsZSBsb2FkIGluZm9ybWF0aW9uIChsb2FkIHBlcmNlbnRh
Z2UpIGlzIHN1ZmZpY2llbnQmbmJzcDtmb3IgdGhpcy48YnI+DQombmJzcDs8YnI+DQpXaGVuIHJl
bW92aW5nIGEgc2VydmVyIGluIGEgY29udHJvbGxlZCB3YXkgKGUuZy4gZm9yIG1haW50ZW5hbmNl
IHB1cnBvc2UsIHNvIG91dHNpZGUgYSBmYWlsdXJlJm5ic3A7Y2FzZSksIGFuIG9iamVjdGl2ZSBj
YW4gYmUgdG8gcHJvZ3Jlc3NpdmVseSByZWR1Y2UgdGhlIHRyYWZmaWMgdG8gdGhpcyBzZXJ2ZXIs
IHdpdGggYSByb3V0aW5nIG9mJm5ic3A7dGhlIHRyYWZmaWMgdG8gb3RoZXIgc2VydmVycy4gU2lt
cGxlIGxvYWQgaW5mb3JtYXRpb24gKGxvYWQgcGVyY2VudGFnZSkNCiB3b3VsZCBiZSBub3Qgc3Vm
ZmljaWVudC4gSXQmbmJzcDtzaG91bGQgYmUgY29uc2lkZXJlZCBpZiB0aGlzIHVzZSBjYXNlIGVu
dGVyIHRoZSBzY29wZSBvZiB0aGlzIGxvYWQgY29udHJvbCBtZWNoYW5pc20uPGJyPg0KJm5ic3A7
PGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQombmJzcDs8YnI+DQojTDggJm5i
c3A7IEltcGxlbWVudGF0aW9uIGFuZCBzdGFuZGFyZGl6YXRpb24gKGNhbiBiZSBhZGRlZCBpbiBz
ZWN0aW9uIDEpPGJyPg0KJm5ic3A7PGJyPg0KVGhyb3VnaCB0aGUgdXNlIGNhc2VzIGFuZCB0aGUg
YXJjaGl0ZWN0dXJlcyBjb25zaWRlcmF0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCwg
dGhlIGZvY3VzIGlzJm5ic3A7dG8gZGVmaW5lIHdoaWNoIHdvdWxkIGJlIHRoZSByZWxldmFudCBs
b2FkIGluZm9ybWF0aW9uIHRvIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBub2RlcyB0aGF0IHdpbGwg
dXNlJm5ic3A7aXQuIFRoZW4sIGdpdmVuIHRoZSB2YXJpZXR5IG9mIHVzZSBjYXNlcywgdGhlIHBv
c3NpYmxlIHRvcG9sb2dpZXMsDQogdGhlIHBsYWNlIHdoZXJlIHRoZSBzZXJ2ZXImbmJzcDtzZWxl
Y3Rpb24gaXMgZG9uZSwgZXRjLCBmbGV4aWJpbGl0eSBpcyB0byBiZSBsZWZ0IHRvIGltcGxlbWVu
dGF0aW9ucyBhYm91dCB0aGUgbm9kZSBiZWhhdmlvciZuYnNwO3JlZ2FyZGluZyB0aGUgZWxhYm9y
YXRpb24gb2YgdGhlIGxvYWQgaW5mb3JtYXRpb24gYW5kIHRoZW4gaXRzIHVzZS4gR3VpZGFuY2Ug
b3IgZXhhbXBsZXMgbWF5IGFsc28mbmJzcDtiZSBnaXZlbiB0byBoZWxwIGJ1dCB3aXRob3V0IG5v
cm1hdGl2ZQ0KIGFzcGVjdHMuPGJyPg0KJm5ic3A7PGJyPg0KX19fX19fX19fX19fX19fX19fX19f
X19fX19fX188YnI+DQombmJzcDs8YnI+DQojTDnigKYgJm5ic3A7UmVkaXJlY3QgYWdlbnQgOiAo
Y2FuIGJlIGFkZGVkIGF0IHRoZSBlbmQgb2Ygc2VjdGlvbiAzKTxicj4NCiZuYnNwOzxicj4NCkEg
RGlhbWV0ZXIgbm9kZSAoZS5nLiBjbGllbnQpIGNhbiB1c2UgYSByZWRpcmVjdCBhZ2VudCB0byBn
ZXQgZGVzdGluYXRpb24gaG9zdCBhZGRyZXNzZXMuICZuYnNwO1RoZSZuYnNwO3JlZGlyZWN0IGFn
ZW50IG1heSByZXR1cm4gc2V2ZXJhbCBkZXN0aW5hdGlvbiBob3N0IGFkZHJlc3Nlcywgb2Ygd2hp
Y2ggdGhlIERpYW1ldGVyIG5vZGUgaGFzIHRvJm5ic3A7c2VsZWN0IG9uZSBhbmQgZm9yIHRoaXMg
Y2FuIHJlbHkgb24gdGhlIGxvYWQgaW5mb3JtYXRpb24gb24gdGhlc2UNCiBob3N0czxicj4NCl9f
X19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZuYnNwOzxicj4NCiZuYnNwOzxicj4NClNv
IHBsZWFzZSBsZXQgbWUga25vdyB5b3VyIGNvbW1lbnRzLjxicj4NCiZuYnNwOzxicj4NCkJlbiwg
d291bGQgeW91IGJlIE9LIHRvIGNvbXBsZW1lbnQgeW91ciBkcmFmdCB3aXRoIHRob3NlIGlucHV0
cyAuIFdlIGNhbiBhbHNvIGhhdmUgcXVlc3Rpb24gbWFya3Mgb3IgZWRpdG9y4oCZcyBub3Rlcywg
YnV0IEkgdGhpbmsgZ29vZCB0byBoYXZlIGEmbmJzcDtkb2N1bWVudCBhYm91dCB3aGljaCB3ZSBk
aXNjdXNzIHRoZXNlIGFyY2hpdGVjdHVyYWwgY29uc2lkZXJhdGlvbnMuPGJyPg0KJm5ic3A7PGJy
Pg0KQmVzdCByZWdhcmRzPGJyPg0KJm5ic3A7PGJyPg0KSkphY3F1ZXMmbmJzcDs8YnI+DQombmJz
cDs8YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXzxicj4NCkRpTUUgbWFpbGluZyBsaXN0PGJyPg0KPGEgaHJlZj0ibWFpbHRvOkRp
TUVAaWV0Zi5vcmciPkRpTUVAaWV0Zi5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cu
aWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9kaW1lIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL2RpbWU8L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523EF2ADEMUMBX014nsnin_--


From nobody Wed Jan 14 03:08:39 2015
Return-Path: <bclaise@cisco.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D72061B2C48 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 03:08:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level: 
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 jwfTXxbyf4Nm for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 03:08:35 -0800 (PST)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 185A11ACE53 for <dime@ietf.org>; Wed, 14 Jan 2015 03:08:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2331; q=dns/txt; s=iport; t=1421233715; x=1422443315; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=+7wSGFMGFkQv1jDxEYYsPd9Id7twwr23SsuuY6whoys=; b=X/BDJgmTwWrPeZC86hsYQgAR0R/b8a14rBKqi8JYuvlYVhJMalNCugn/ MhPBBYA7bnjoJxo6H/uM4iRi9kN68N4g+ReWSYr7d1AwI31sjE/wJZK6R 7gdPa6S5Z6YmsK9EsSGG+JlHTpmMYesm00zPAzGPTlpV1rX3PEWBFGGe+ w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AicFAF9NtlStJssW/2dsb2JhbABBGoNYWMYFhXECgVgBAQEBAX2EDQEBBDIBBUABEAshFg8JAwIBAgFFBwwBBQIBAYgoDTfPXAEBAQEBAQEBAgEBAQEBAQEBGoxJgkNtB4QpAQSFNpIZgQ+CcoIZi2Iigg+BYD0xARKCMAEBAQ
X-IronPort-AV: E=Sophos;i="5.07,755,1413244800"; d="scan'208";a="311389586"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP; 14 Jan 2015 11:08:32 +0000
Received: from [10.60.67.85] (ams-bclaise-8914.cisco.com [10.60.67.85]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id t0EB8Vk8014041; Wed, 14 Jan 2015 11:08:31 GMT
Message-ID: <54B64E2E.1080908@cisco.com>
Date: Wed, 14 Jan 2015 12:08:30 +0100
From: Benoit Claise <bclaise@cisco.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: vf0213@gmail.com, jari.arkko@ericsson.com, john.loughney@nokia.com, glenzorn@gmail.com, joelja@bogus.com, jouni.nospam@gmail.com, lionel.morand@orange.com
References: <20141226060357.493B018008C@rfc-editor.org>
In-Reply-To: <20141226060357.493B018008C@rfc-editor.org>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/KXDP1zYxqTCddPSUL-S3YkMH3q4>
Cc: dime@ietf.org, Hans.Liu@alcatel-lucent.com
Subject: Re: [Dime] [Technical Errata Reported] RFC6733 (4209)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 11:08:38 -0000

Document authors, DIME participants,

Can we please have a discussion on this errata validity.

Regards, Benoit
> The following errata report has been submitted for RFC6733,
> "Diameter Base Protocol".
>
> --------------------------------------
> You may review the report below and at:
> http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4209
>
> --------------------------------------
> Type: Technical
> Reported by: Hans Liu <Hans.Liu@alcatel-lucent.com>
>
> Section: 5.4.3
>
> Original Text
> -------------
>        BUSY                              1
>           The peerâ€™s internal resources are constrained, and it has
>           determined that the transport connection needs to be closed.
>           A receiver of a DPR with above result code SHOULD NOT attempt
>           reconnection.
>
> Corrected Text
> --------------
>        BUSY                              1
>           The peerâ€™s internal resources are constrained, and it has
>           determined that the transport connection needs to be closed.
>           A receiver of a DPR with above result code SHOULD either
>           connect to an alternate node, or attempt reconnection
>           after a time period.
>
> Notes
> -----
> In most implementations, the Diameter node will continue to serve its peer after the resources recover and expect reconnection. If the Diameter node won't like reconnection from peer, DO_NOT_WANT_TO_TALK_TO_YOU can be used instead of BUSY.
>
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party (IESG)
> can log in to change the status and edit the report, if necessary.
>
> --------------------------------------
> RFC6733 (draft-ietf-dime-rfc3588bis-33)
> --------------------------------------
> Title               : Diameter Base Protocol
> Publication Date    : October 2012
> Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
> Category            : PROPOSED STANDARD
> Source              : Diameter Maintenance and Extensions
> Area                : Operations and Management
> Stream              : IETF
> Verifying Party     : IESG
>
> .
>


From nobody Wed Jan 14 05:02:30 2015
Return-Path: <lionel.morand@orange.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C42F1B2C95 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 04:57:34 -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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham
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 4kUlQTNKaMrw for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 04:57:31 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias92.francetelecom.com [193.251.215.92]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EEAA11B2C83 for <dime@ietf.org>; Wed, 14 Jan 2015 04:57:30 -0800 (PST)
Received: from omfedm08.si.francetelecom.fr (unknown [xx.xx.xx.4]) by omfedm13.si.francetelecom.fr (ESMTP service) with ESMTP id 5947A32423D; Wed, 14 Jan 2015 13:57:29 +0100 (CET)
Received: from Exchangemail-eme1.itn.ftgroup (unknown [10.114.1.186]) by omfedm08.si.francetelecom.fr (ESMTP service) with ESMTP id 2E44B238072; Wed, 14 Jan 2015 13:57:29 +0100 (CET)
Received: from PEXCVZYM13.corporate.adroot.infra.ftgroup ([fe80::cc7e:e40b:42ef:164e]) by PEXCVZYH01.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0224.002; Wed, 14 Jan 2015 13:57:27 +0100
From: <lionel.morand@orange.com>
To: MORAND Lionel IMT/OLN <lionel.morand@orange.com>, RFC Errata System <rfc-editor@rfc-editor.org>, "vf0213@gmail.com" <vf0213@gmail.com>, "jari.arkko@ericsson.com" <jari.arkko@ericsson.com>, "john.loughney@nokia.com" <john.loughney@nokia.com>, "glenzorn@gmail.com" <glenzorn@gmail.com>, "bclaise@cisco.com" <bclaise@cisco.com>, "joelja@bogus.com" <joelja@bogus.com>, "jouni.nospam@gmail.com" <jouni.nospam@gmail.com>
Thread-Topic: [Editorial Errata Reported] RFC6733 (4210)
Thread-Index: AQHQINLSBW5CLwQOE0muYZ1BflrdvJyiIc9ggB2PWDA=
Date: Wed, 14 Jan 2015 12:57:26 +0000
Message-ID: <21181_1421240249_54B667B9_21181_2808_1_89b0938a-8687-47a5-9c8e-eeabbf73245d@PEXCVZYH01.corporate.adroot.infra.ftgroup>
References: <20141226061052.C99B318008C@rfc-editor.org> <19574_1419615292_549D9C3C_19574_2784_1_6B7134B31289DC4FAF731D844122B36EA6E945@PEXCVZYM13.corporate.adroot.infra.ftgroup>
In-Reply-To: <19574_1419615292_549D9C3C_19574_2784_1_6B7134B31289DC4FAF731D844122B36EA6E945@PEXCVZYM13.corporate.adroot.infra.ftgroup>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.197.38.4]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.12.22.190922
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/q50Ze8twt1kYbiEeKez9_RDdZuk>
X-Mailman-Approved-At: Wed, 14 Jan 2015 05:02:29 -0800
Cc: "dime@ietf.org" <dime@ietf.org>, "Hans.Liu@alcatel-lucent.com" <Hans.Liu@alcatel-lucent.com>
Subject: Re: [Dime] [Editorial Errata Reported] RFC6733 (4210)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 12:57:34 -0000

SGkgQmVub2l0LA0KDQpJIGhhdmUgYWxyZWFkeSBnaXZlbiBteSB2aWV3IG9uIHRoaXMgZXJyYXRh
IHJlcG9ydGVkLg0KQnV0IEkgbGV0IG90aGVycyBwcm92aWRlIGFkZGl0aW9uYWwgZmVlZGJhY2sg
aWYgcmVxdWlyZWQuDQoNCkxpb25lbA0KDQotLS0tLU1lc3NhZ2UgZCdvcmlnaW5lLS0tLS0NCkRl
wqA6IERpTUUgW21haWx0bzpkaW1lLWJvdW5jZXNAaWV0Zi5vcmddIERlIGxhIHBhcnQgZGUgbGlv
bmVsLm1vcmFuZEBvcmFuZ2UuY29tDQpFbnZvecOpwqA6IHZlbmRyZWRpIDI2IGTDqWNlbWJyZSAy
MDE0IDE4OjM1DQrDgMKgOiBSRkMgRXJyYXRhIFN5c3RlbTsgdmYwMjEzQGdtYWlsLmNvbTsgamFy
aS5hcmtrb0Blcmljc3Nvbi5jb207IGpvaG4ubG91Z2huZXlAbm9raWEuY29tOyBnbGVuem9ybkBn
bWFpbC5jb207IGJjbGFpc2VAY2lzY28uY29tOyBqb2VsamFAYm9ndXMuY29tOyBqb3VuaS5ub3Nw
YW1AZ21haWwuY29tDQpDY8KgOiBkaW1lQGlldGYub3JnOyBIYW5zLkxpdUBhbGNhdGVsLWx1Y2Vu
dC5jb20NCk9iamV0wqA6IFJlOiBbRGltZV0gW0VkaXRvcmlhbCBFcnJhdGEgUmVwb3J0ZWRdIFJG
QzY3MzMgKDQyMTApDQoNCkRpYW1ldGVyIGlzIGEgcGVlci10by1wZWVyIHByb3RvY29sIGFuZCBw
ZWVycyBhcmUgRGlhbWV0ZXIgbm9kZXMgc2hhcmluZyBhIERpYW1ldGVyIHRyYW5zcG9ydCBjb25u
ZWN0aW9uLiBUaGVyZWZvcmUsIGEgInBlZXIiIGNhbiBiZSBlaXRoZXIgdGhlIHNlbmRlciBvciB0
aGUgcmVjZWl2ZXIgb2YgdGhlIHJlcXVlc3QsIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dC4NCkkg
ZG9uJ3QgdGhpbmsgdGhhdCB0aGUgcHJvcG9zZWQgY29ycmVjdGlvbiBpcyBqdXN0aWZpZWQuDQoN
CnJlZ2FyZHMsDQoNCkxpb25lbA0KDQotLS0tLU1lc3NhZ2UgZCdvcmlnaW5lLS0tLS0NCkRlwqA6
IFJGQyBFcnJhdGEgU3lzdGVtIFttYWlsdG86cmZjLWVkaXRvckByZmMtZWRpdG9yLm9yZ10NCkVu
dm95w6nCoDogdmVuZHJlZGkgMjYgZMOpY2VtYnJlIDIwMTQgMDc6MTEgw4DCoDogdmYwMjEzQGdt
YWlsLmNvbTsgamFyaS5hcmtrb0Blcmljc3Nvbi5jb207IGpvaG4ubG91Z2huZXlAbm9raWEuY29t
OyBnbGVuem9ybkBnbWFpbC5jb207IGJjbGFpc2VAY2lzY28uY29tOyBqb2VsamFAYm9ndXMuY29t
OyBqb3VuaS5ub3NwYW1AZ21haWwuY29tOyBNT1JBTkQgTGlvbmVsIElNVC9PTE4gQ2PCoDogSGFu
cy5MaXVAYWxjYXRlbC1sdWNlbnQuY29tOyBkaW1lQGlldGYub3JnOyByZmMtZWRpdG9yQHJmYy1l
ZGl0b3Iub3JnIE9iamV0wqA6IFtFZGl0b3JpYWwgRXJyYXRhIFJlcG9ydGVkXSBSRkM2NzMzICg0
MjEwKQ0KDQpUaGUgZm9sbG93aW5nIGVycmF0YSByZXBvcnQgaGFzIGJlZW4gc3VibWl0dGVkIGZv
ciBSRkM2NzMzLCAiRGlhbWV0ZXIgQmFzZSBQcm90b2NvbCIuDQoNCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpZb3UgbWF5IHJldmlldyB0aGUgcmVwb3J0IGJlbG93IGFu
ZCBhdDoNCmh0dHA6Ly93d3cucmZjLWVkaXRvci5vcmcvZXJyYXRhX3NlYXJjaC5waHA/cmZjPTY3
MzMmZWlkPTQyMTANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClR5
cGU6IEVkaXRvcmlhbA0KUmVwb3J0ZWQgYnk6IEhhbnMgTGl1IDxIYW5zLkxpdUBhbGNhdGVsLWx1
Y2VudC5jb20+DQoNClNlY3Rpb246IDUuNC4zDQoNCk9yaWdpbmFsIFRleHQNCi0tLS0tLS0tLS0t
LS0NCiAgIFRoZSBEaXNjb25uZWN0LUNhdXNlIEFWUCAoQVZQIENvZGUgMjczKSBpcyBvZiB0eXBl
IEVudW1lcmF0ZWQuICBBDQogICBEaWFtZXRlciBub2RlIE1VU1QgaW5jbHVkZSB0aGlzIEFWUCBp
biB0aGUgRGlzY29ubmVjdC1QZWVyLVJlcXVlc3QNCiAgIG1lc3NhZ2UgdG8gaW5mb3JtIHRoZSBw
ZWVyIG9mIHRoZSByZWFzb24gZm9yIGl0cyBpbnRlbnRpb24gdG8gc2h1dA0KICAgZG93biB0aGUg
dHJhbnNwb3J0IGNvbm5lY3Rpb24uICBUaGUgZm9sbG93aW5nIHZhbHVlcyBhcmUgc3VwcG9ydGVk
Og0KICAgICAgUkVCT09USU5HICAgICAgICAgICAgICAgICAgICAgICAgIDANCiAgICAgICAgIEEg
c2NoZWR1bGVkIHJlYm9vdCBpcyBpbW1pbmVudC4gIEEgcmVjZWl2ZXIgb2YgYSBEUFIgd2l0aA0K
ICAgICAgICAgYWJvdmUgcmVzdWx0IGNvZGUgTUFZIGF0dGVtcHQgcmVjb25uZWN0aW9uLg0KICAg
ICAgQlVTWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDENCiAgICAgICAgIFRoZSBwZWVy
w6LigqzihKJzIGludGVybmFsIHJlc291cmNlcyBhcmUgY29uc3RyYWluZWQsIGFuZCBpdCBoYXMN
CiAgICAgICAgIGRldGVybWluZWQgdGhhdCB0aGUgdHJhbnNwb3J0IGNvbm5lY3Rpb24gbmVlZHMg
dG8gYmUgY2xvc2VkLg0KICAgICAgICAgQSByZWNlaXZlciBvZiBhIERQUiB3aXRoIGFib3ZlIHJl
c3VsdCBjb2RlIFNIT1VMRCBOT1QgYXR0ZW1wdA0KICAgICAgICAgcmVjb25uZWN0aW9uLg0KICAg
ICAgRE9fTk9UX1dBTlRfVE9fVEFMS19UT19ZT1UgICAgICAgIDINCiAgICAgICAgIFRoZSBwZWVy
IGhhcyBkZXRlcm1pbmVkIHRoYXQgaXQgZG9lcyBub3Qgc2VlIGEgbmVlZCBmb3IgdGhlDQogICAg
ICAgICB0cmFuc3BvcnQgY29ubmVjdGlvbiB0byBleGlzdCwgc2luY2UgaXQgZG9lcyBub3QgZXhw
ZWN0IGFueQ0KICAgICAgICAgbWVzc2FnZXMgdG8gYmUgZXhjaGFuZ2VkIGluIHRoZSBuZWFyIGZ1
dHVyZS4gIEEgcmVjZWl2ZXIgb2YgYQ0KICAgICAgICAgRFBSIHdpdGggYWJvdmUgcmVzdWx0IGNv
ZGUgU0hPVUxEIE5PVCBhdHRlbXB0IHJlY29ubmVjdGlvbi4NCg0KQ29ycmVjdGVkIFRleHQNCi0t
LS0tLS0tLS0tLS0tDQogICBUaGUgRGlzY29ubmVjdC1DYXVzZSBBVlAgKEFWUCBDb2RlIDI3Mykg
aXMgb2YgdHlwZSBFbnVtZXJhdGVkLiAgQQ0KICAgRGlhbWV0ZXIgbm9kZSBNVVNUIGluY2x1ZGUg
dGhpcyBBVlAgaW4gdGhlIERpc2Nvbm5lY3QtUGVlci1SZXF1ZXN0DQogICBtZXNzYWdlIHRvIGlu
Zm9ybSB0aGUgcGVlciBvZiB0aGUgcmVhc29uIGZvciBpdHMgaW50ZW50aW9uIHRvIHNodXQNCiAg
IGRvd24gdGhlIHRyYW5zcG9ydCBjb25uZWN0aW9uLiAgVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJl
IHN1cHBvcnRlZDoNCiAgICAgIFJFQk9PVElORyAgICAgICAgICAgICAgICAgICAgICAgICAwDQog
ICAgICAgICBBIHNjaGVkdWxlZCByZWJvb3QgaXMgaW1taW5lbnQuICBBIHJlY2VpdmVyIG9mIGEg
RFBSIHdpdGgNCiAgICAgICAgIGFib3ZlIHJlc3VsdCBjb2RlIE1BWSBhdHRlbXB0IHJlY29ubmVj
dGlvbi4NCiAgICAgIEJVU1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxDQogICAgICAg
ICBUaGUgaW50ZXJuYWwgcmVzb3VyY2VzIGFyZSBjb25zdHJhaW5lZCwgYW5kIGl0IGhhcw0KICAg
ICAgICAgZGV0ZXJtaW5lZCB0aGF0IHRoZSB0cmFuc3BvcnQgY29ubmVjdGlvbiBuZWVkcyB0byBi
ZSBjbG9zZWQuDQogICAgICAgICBBIHJlY2VpdmVyIG9mIGEgRFBSIHdpdGggYWJvdmUgcmVzdWx0
IGNvZGUgU0hPVUxEIE5PVCBhdHRlbXB0DQogICAgICAgICByZWNvbm5lY3Rpb24uDQogICAgICBE
T19OT1RfV0FOVF9UT19UQUxLX1RPX1lPVSAgICAgICAgMg0KICAgICAgICAgVGhlIG5vZGUgaGFz
IGRldGVybWluZWQgdGhhdCBpdCBkb2VzIG5vdCBzZWUgYSBuZWVkIGZvciB0aGUNCiAgICAgICAg
IHRyYW5zcG9ydCBjb25uZWN0aW9uIHRvIGV4aXN0LCBzaW5jZSBpdCBkb2VzIG5vdCBleHBlY3Qg
YW55DQogICAgICAgICBtZXNzYWdlcyB0byBiZSBleGNoYW5nZWQgaW4gdGhlIG5lYXIgZnV0dXJl
LiAgQSByZWNlaXZlciBvZiBhDQogICAgICAgICBEUFIgd2l0aCBhYm92ZSByZXN1bHQgY29kZSBT
SE9VTEQgTk9UIGF0dGVtcHQgcmVjb25uZWN0aW9uLg0KDQpOb3Rlcw0KLS0tLS0NClRoZSAicGVl
ciIgaW4gMXN0IHBhcmFncmFwaCByZXByZXNlbnRzIHRoZSByZWNlaXZlci4gSG93ZXZlciBpbiB0
aGUgZGVzY3JpcHRpb25zIGZvciBjYXVzZSB2YWx1ZXMgdGhlICJwZWVyIiByZXByZXNlbnRzIHRo
ZSBzZW5kZXIuDQoNCkluc3RydWN0aW9uczoNCi0tLS0tLS0tLS0tLS0NClRoaXMgZXJyYXR1bSBp
cyBjdXJyZW50bHkgcG9zdGVkIGFzICJSZXBvcnRlZCIuIElmIG5lY2Vzc2FyeSwgcGxlYXNlIHVz
ZSAiUmVwbHkgQWxsIiB0byBkaXNjdXNzIHdoZXRoZXIgaXQgc2hvdWxkIGJlIHZlcmlmaWVkIG9y
IHJlamVjdGVkLiBXaGVuIGEgZGVjaXNpb24gaXMgcmVhY2hlZCwgdGhlIHZlcmlmeWluZyBwYXJ0
eSAoSUVTRykgY2FuIGxvZyBpbiB0byBjaGFuZ2UgdGhlIHN0YXR1cyBhbmQgZWRpdCB0aGUgcmVw
b3J0LCBpZiBuZWNlc3NhcnkuIA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0KUkZDNjczMyAoZHJhZnQtaWV0Zi1kaW1lLXJmYzM1ODhiaXMtMzMpDQotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGl0bGUgICAgICAgICAgICAgICA6IERpYW1l
dGVyIEJhc2UgUHJvdG9jb2wNClB1YmxpY2F0aW9uIERhdGUgICAgOiBPY3RvYmVyIDIwMTINCkF1
dGhvcihzKSAgICAgICAgICAgOiBWLiBGYWphcmRvLCBFZC4sIEouIEFya2tvLCBKLiBMb3VnaG5l
eSwgRy4gWm9ybiwgRWQuDQpDYXRlZ29yeSAgICAgICAgICAgIDogUFJPUE9TRUQgU1RBTkRBUkQN
ClNvdXJjZSAgICAgICAgICAgICAgOiBEaWFtZXRlciBNYWludGVuYW5jZSBhbmQgRXh0ZW5zaW9u
cw0KQXJlYSAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbnMgYW5kIE1hbmFnZW1lbnQNClN0cmVh
bSAgICAgICAgICAgICAgOiBJRVRGDQpWZXJpZnlpbmcgUGFydHkgICAgIDogSUVTRw0KDQoNCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18NCg0KQ2UgbWVzc2FnZSBldCBzZXMgcGllY2VzIGpvaW50ZXMgcGV1dmVudCBjb250ZW5p
ciBkZXMgaW5mb3JtYXRpb25zIGNvbmZpZGVudGllbGxlcyBvdSBwcml2aWxlZ2llZXMgZXQgbmUg
ZG9pdmVudCBkb25jIHBhcyBldHJlIGRpZmZ1c2VzLCBleHBsb2l0ZXMgb3UgY29waWVzIHNhbnMg
YXV0b3Jpc2F0aW9uLiBTaSB2b3VzIGF2ZXogcmVjdSBjZSBtZXNzYWdlIHBhciBlcnJldXIsIHZl
dWlsbGV6IGxlIHNpZ25hbGVyIGEgbCdleHBlZGl0ZXVyIGV0IGxlIGRldHJ1aXJlIGFpbnNpIHF1
ZSBsZXMgcGllY2VzIGpvaW50ZXMuIExlcyBtZXNzYWdlcyBlbGVjdHJvbmlxdWVzIGV0YW50IHN1
c2NlcHRpYmxlcyBkJ2FsdGVyYXRpb24sIE9yYW5nZSBkZWNsaW5lIHRvdXRlIHJlc3BvbnNhYmls
aXRlIHNpIGNlIG1lc3NhZ2UgYSBldGUgYWx0ZXJlLCBkZWZvcm1lIG91IGZhbHNpZmllLiBNZXJj
aS4NCg0KVGhpcyBtZXNzYWdlIGFuZCBpdHMgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29uZmlk
ZW50aWFsIG9yIHByaXZpbGVnZWQgaW5mb3JtYXRpb24gdGhhdCBtYXkgYmUgcHJvdGVjdGVkIGJ5
IGxhdzsgdGhleSBzaG91bGQgbm90IGJlIGRpc3RyaWJ1dGVkLCB1c2VkIG9yIGNvcGllZCB3aXRo
b3V0IGF1dGhvcmlzYXRpb24uDQpJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGVtYWlsIGluIGVy
cm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSB0aGlzIG1lc3NhZ2UgYW5k
IGl0cyBhdHRhY2htZW50cy4NCkFzIGVtYWlscyBtYXkgYmUgYWx0ZXJlZCwgT3JhbmdlIGlzIG5v
dCBsaWFibGUgZm9yIG1lc3NhZ2VzIHRoYXQgaGF2ZSBiZWVuIG1vZGlmaWVkLCBjaGFuZ2VkIG9y
IGZhbHNpZmllZC4NClRoYW5rIHlvdS4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18NCkRpTUUgbWFpbGluZyBsaXN0DQpEaU1FQGlldGYub3JnDQpodHRw
czovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RpbWUNCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpDZSBtZXNz
YWdlIGV0IHNlcyBwaWVjZXMgam9pbnRlcyBwZXV2ZW50IGNvbnRlbmlyIGRlcyBpbmZvcm1hdGlv
bnMgY29uZmlkZW50aWVsbGVzIG91IHByaXZpbGVnaWVlcyBldCBuZSBkb2l2ZW50IGRvbmMKcGFz
IGV0cmUgZGlmZnVzZXMsIGV4cGxvaXRlcyBvdSBjb3BpZXMgc2FucyBhdXRvcmlzYXRpb24uIFNp
IHZvdXMgYXZleiByZWN1IGNlIG1lc3NhZ2UgcGFyIGVycmV1ciwgdmV1aWxsZXogbGUgc2lnbmFs
ZXIKYSBsJ2V4cGVkaXRldXIgZXQgbGUgZGV0cnVpcmUgYWluc2kgcXVlIGxlcyBwaWVjZXMgam9p
bnRlcy4gTGVzIG1lc3NhZ2VzIGVsZWN0cm9uaXF1ZXMgZXRhbnQgc3VzY2VwdGlibGVzIGQnYWx0
ZXJhdGlvbiwKT3JhbmdlIGRlY2xpbmUgdG91dGUgcmVzcG9uc2FiaWxpdGUgc2kgY2UgbWVzc2Fn
ZSBhIGV0ZSBhbHRlcmUsIGRlZm9ybWUgb3UgZmFsc2lmaWUuIE1lcmNpLgoKVGhpcyBtZXNzYWdl
IGFuZCBpdHMgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIG9yIHByaXZpbGVn
ZWQgaW5mb3JtYXRpb24gdGhhdCBtYXkgYmUgcHJvdGVjdGVkIGJ5IGxhdzsKdGhleSBzaG91bGQg
bm90IGJlIGRpc3RyaWJ1dGVkLCB1c2VkIG9yIGNvcGllZCB3aXRob3V0IGF1dGhvcmlzYXRpb24u
CklmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkg
dGhlIHNlbmRlciBhbmQgZGVsZXRlIHRoaXMgbWVzc2FnZSBhbmQgaXRzIGF0dGFjaG1lbnRzLgpB
cyBlbWFpbHMgbWF5IGJlIGFsdGVyZWQsIE9yYW5nZSBpcyBub3QgbGlhYmxlIGZvciBtZXNzYWdl
cyB0aGF0IGhhdmUgYmVlbiBtb2RpZmllZCwgY2hhbmdlZCBvciBmYWxzaWZpZWQuClRoYW5rIHlv
dS4KCg==


From nobody Wed Jan 14 05:06:18 2015
Return-Path: <bclaise@cisco.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D2E41B2C95 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 05:05:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level: 
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 hOrmb83hTQ0A for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 05:05:40 -0800 (PST)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AB67B1B2C99 for <dime@ietf.org>; Wed, 14 Jan 2015 05:05:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7291; q=dns/txt; s=iport; t=1421240739; x=1422450339; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=yvDoCwvQsUXn9EFeo1kHZlWUM3a0YOYPbV+HFSehozA=; b=A+EZ6rcT7nCbPevWwQc0wJnHASBmU9grvG2RSJqMtTdfzRgNPV2gdjLF g1Dnm5JITc1r5FVhzwrheapjhcBQbgeZPI9B4y76aGc6IEvO22LplxF5h ehYaExzWvHskNRi6nZNajFQwde0HB0ZmGL7dpvf9/F0doEoa1fxXC1xO4 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Aq0FAGdotlStJssW/2dsb2JhbABBGoNYWIMFwncKhXECgVkBAQEBAX2EDQEBBAEBASAPAQU2CgEQCQIaAgUWCAMCAgkDAgECAQ8GHxEGAQwBBQIBAYgUAxENN55/nGqQMw2DYwEBAQEBAQEBAQEBAQEBAQEBAQEBAReBIYsogQaBPQsRAVAHgmiBQQEEhTaNFYNAgUSBD4JyghmFfoVkIoIPgWA9MQESeYE3AQEB
X-IronPort-AV: E=Sophos;i="5.07,755,1413244800"; d="scan'208";a="311491069"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP; 14 Jan 2015 13:05:37 +0000
Received: from [10.60.67.85] (ams-bclaise-8914.cisco.com [10.60.67.85]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id t0ED5aVx001800; Wed, 14 Jan 2015 13:05:36 GMT
Message-ID: <54B669A0.7010500@cisco.com>
Date: Wed, 14 Jan 2015 14:05:36 +0100
From: Benoit Claise <bclaise@cisco.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: lionel.morand@orange.com, RFC Errata System <rfc-editor@rfc-editor.org>, "vf0213@gmail.com" <vf0213@gmail.com>, "jari.arkko@ericsson.com" <jari.arkko@ericsson.com>, "john.loughney@nokia.com" <john.loughney@nokia.com>, "glenzorn@gmail.com" <glenzorn@gmail.com>, "joelja@bogus.com" <joelja@bogus.com>, "jouni.nospam@gmail.com" <jouni.nospam@gmail.com>
References: <20141226061052.C99B318008C@rfc-editor.org> <19574_1419615292_549D9C3C_19574_2784_1_6B7134B31289DC4FAF731D844122B36EA6E945@PEXCVZYM13.corporate.adroot.infra.ftgroup> <21181_1421240249_54B667B9_21181_2808_1_89b0938a-8687-47a5-9c8e-eeabbf73245d@PEXCVZYH01.corporate.adroot.infra.ftgroup>
In-Reply-To: <21181_1421240249_54B667B9_21181_2808_1_89b0938a-8687-47a5-9c8e-eeabbf73245d@PEXCVZYH01.corporate.adroot.infra.ftgroup>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/1EyN7dGiq1YMRiVjdP2QRUiYaDY>
X-Mailman-Approved-At: Wed, 14 Jan 2015 05:06:16 -0800
Cc: "dime@ietf.org" <dime@ietf.org>, "Hans.Liu@alcatel-lucent.com" <Hans.Liu@alcatel-lucent.com>
Subject: Re: [Dime] [Editorial Errata Reported] RFC6733 (4210)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 13:05:43 -0000

Hi Lionel,

I mixed up 2 erratum: 4210 and 4209.
4210 has already been treated.
Sorry for the confusion

Regards, Benoit
> Hi Benoit,
>
> I have already given my view on this errata reported.
> But I let others provide additional feedback if required.
>
> Lionel
>
> -----Message d'origine-----
> De : DiME [mailto:dime-bounces@ietf.org] De la part de lionel.morand@orange.com
> EnvoyÃ© : vendredi 26 dÃ©cembre 2014 18:35
> Ã€ : RFC Errata System; vf0213@gmail.com; jari.arkko@ericsson.com; john.loughney@nokia.com; glenzorn@gmail.com; bclaise@cisco.com; joelja@bogus.com; jouni.nospam@gmail.com
> Cc : dime@ietf.org; Hans.Liu@alcatel-lucent.com
> Objet : Re: [Dime] [Editorial Errata Reported] RFC6733 (4210)
>
> Diameter is a peer-to-peer protocol and peers are Diameter nodes sharing a Diameter transport connection. Therefore, a "peer" can be either the sender or the receiver of the request, depending on the context.
> I don't think that the proposed correction is justified.
>
> regards,
>
> Lionel
>
> -----Message d'origine-----
> De : RFC Errata System [mailto:rfc-editor@rfc-editor.org]
> EnvoyÃ© : vendredi 26 dÃ©cembre 2014 07:11 Ã€ : vf0213@gmail.com; jari.arkko@ericsson.com; john.loughney@nokia.com; glenzorn@gmail.com; bclaise@cisco.com; joelja@bogus.com; jouni.nospam@gmail.com; MORAND Lionel IMT/OLN Cc : Hans.Liu@alcatel-lucent.com; dime@ietf.org; rfc-editor@rfc-editor.org Objet : [Editorial Errata Reported] RFC6733 (4210)
>
> The following errata report has been submitted for RFC6733, "Diameter Base Protocol".
>
> --------------------------------------
> You may review the report below and at:
> http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4210
>
> --------------------------------------
> Type: Editorial
> Reported by: Hans Liu <Hans.Liu@alcatel-lucent.com>
>
> Section: 5.4.3
>
> Original Text
> -------------
>     The Disconnect-Cause AVP (AVP Code 273) is of type Enumerated.  A
>     Diameter node MUST include this AVP in the Disconnect-Peer-Request
>     message to inform the peer of the reason for its intention to shut
>     down the transport connection.  The following values are supported:
>        REBOOTING                         0
>           A scheduled reboot is imminent.  A receiver of a DPR with
>           above result code MAY attempt reconnection.
>        BUSY                              1
>           The peerÃ¢â‚¬â„¢s internal resources are constrained, and it has
>           determined that the transport connection needs to be closed.
>           A receiver of a DPR with above result code SHOULD NOT attempt
>           reconnection.
>        DO_NOT_WANT_TO_TALK_TO_YOU        2
>           The peer has determined that it does not see a need for the
>           transport connection to exist, since it does not expect any
>           messages to be exchanged in the near future.  A receiver of a
>           DPR with above result code SHOULD NOT attempt reconnection.
>
> Corrected Text
> --------------
>     The Disconnect-Cause AVP (AVP Code 273) is of type Enumerated.  A
>     Diameter node MUST include this AVP in the Disconnect-Peer-Request
>     message to inform the peer of the reason for its intention to shut
>     down the transport connection.  The following values are supported:
>        REBOOTING                         0
>           A scheduled reboot is imminent.  A receiver of a DPR with
>           above result code MAY attempt reconnection.
>        BUSY                              1
>           The internal resources are constrained, and it has
>           determined that the transport connection needs to be closed.
>           A receiver of a DPR with above result code SHOULD NOT attempt
>           reconnection.
>        DO_NOT_WANT_TO_TALK_TO_YOU        2
>           The node has determined that it does not see a need for the
>           transport connection to exist, since it does not expect any
>           messages to be exchanged in the near future.  A receiver of a
>           DPR with above result code SHOULD NOT attempt reconnection.
>
> Notes
> -----
> The "peer" in 1st paragraph represents the receiver. However in the descriptions for cause values the "peer" represents the sender.
>
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please use "Reply All" to discuss whether it should be verified or rejected. When a decision is reached, the verifying party (IESG) can log in to change the status and edit the report, if necessary.
>
> --------------------------------------
> RFC6733 (draft-ietf-dime-rfc3588bis-33)
> --------------------------------------
> Title               : Diameter Base Protocol
> Publication Date    : October 2012
> Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
> Category            : PROPOSED STANDARD
> Source              : Diameter Maintenance and Extensions
> Area                : Operations and Management
> Stream              : IETF
> Verifying Party     : IESG
>
>
> _________________________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>
> _________________________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
>


From nobody Wed Jan 14 07:20:34 2015
Return-Path: <lionel.morand@orange.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D08331A6F32 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 07:20:32 -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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham
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 kS7X2lGbfZRE for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 07:20:30 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias91.francetelecom.com [193.251.215.91]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B5901A1B91 for <dime@ietf.org>; Wed, 14 Jan 2015 07:20:29 -0800 (PST)
Received: from omfedm06.si.francetelecom.fr (unknown [xx.xx.xx.2]) by omfedm12.si.francetelecom.fr (ESMTP service) with ESMTP id B67B418C547; Wed, 14 Jan 2015 16:20:27 +0100 (CET)
Received: from Exchangemail-eme1.itn.ftgroup (unknown [10.114.1.186]) by omfedm06.si.francetelecom.fr (ESMTP service) with ESMTP id 872F927C0D6; Wed, 14 Jan 2015 16:20:27 +0100 (CET)
Received: from PEXCVZYM13.corporate.adroot.infra.ftgroup ([fe80::cc7e:e40b:42ef:164e]) by PEXCVZYH01.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0224.002; Wed, 14 Jan 2015 16:20:27 +0100
From: <lionel.morand@orange.com>
To: Benoit Claise <bclaise@cisco.com>, "vf0213@gmail.com" <vf0213@gmail.com>,  "jari.arkko@ericsson.com" <jari.arkko@ericsson.com>, "john.loughney@nokia.com" <john.loughney@nokia.com>, "glenzorn@gmail.com" <glenzorn@gmail.com>, "joelja@bogus.com" <joelja@bogus.com>, "jouni.nospam@gmail.com" <jouni.nospam@gmail.com>
Thread-Topic: [Technical Errata Reported] RFC6733 (4209)
Thread-Index: AQHQL+px6w7vD76z7E2n/BIi+JbfkJy/svSQ
Date: Wed, 14 Jan 2015 15:20:26 +0000
Message-ID: <22101_1421248827_54B6893B_22101_5524_1_6B7134B31289DC4FAF731D844122B36EB0A6AB@PEXCVZYM13.corporate.adroot.infra.ftgroup>
References: <20141226060357.493B018008C@rfc-editor.org> <54B64E2E.1080908@cisco.com>
In-Reply-To: <54B64E2E.1080908@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.197.38.4]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.12.22.202419
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/uBEg4VxQtRapIvAVaroOvPfNDNI>
Cc: "dime@ietf.org" <dime@ietf.org>, "Hans.Liu@alcatel-lucent.com" <Hans.Liu@alcatel-lucent.com>
Subject: Re: [Dime] [Technical Errata Reported] RFC6733 (4209)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 15:20:33 -0000

SGVyZSBpcyBteSB2aWV3IG9uIHRoaXMgZXJyYXR1bToNCg0KVGhlIHRleHQgZGVzY3JpYmluZyB0
aGUgIkJVU1kiIGFuZCAiRE9fTk9UX1dBTlRfVE9fVEFMS19UT19ZT1UiIGNhc2VzIGlzIGNvbnNp
c3RlbnQgd2l0aCB0aGUgdGV4dCBmb3VuZCBpbiB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZSBzZWN0
aW9uIDUuNC4NCg0KICAiSW4gdGhlIGV2ZW50IHRoYXQgdGhlDQogICBkaXNjb25uZWN0IHdhcyBh
IHJlc3VsdCBvZiBlaXRoZXIgYSBzaG9ydGFnZSBvZiBpbnRlcm5hbCByZXNvdXJjZXMgb3INCiAg
IHNpbXBseSB0aGF0IHRoZSBub2RlIGluIHF1ZXN0aW9uIGhhcyBubyBpbnRlbnRpb25zIG9mIGZv
cndhcmRpbmcgYW55DQogICBEaWFtZXRlciBtZXNzYWdlcyB0byB0aGUgcGVlciBpbiB0aGUgZm9y
ZXNlZWFibGUgZnV0dXJlLCBhIHBlcmlvZGljDQogICBjb25uZWN0aW9uIHJlcXVlc3Qgd291bGQg
bm90IGJlIHdlbGNvbWVkLiAgVGhlIERpc2Nvbm5lY3Rpb24tUmVhc29uDQogICBBVlAgY29udGFp
bnMgdGhlIHJlYXNvbiB0aGUgRGlhbWV0ZXIgbm9kZSBpc3N1ZWQgdGhlIERpc2Nvbm5lY3QtUGVl
ci0NCiAgIFJlcXVlc3QgbWVzc2FnZS4NCg0KICAgVGhlIERpc2Nvbm5lY3QtUGVlci1SZXF1ZXN0
IG1lc3NhZ2UgaXMgdXNlZCBieSBhIERpYW1ldGVyIG5vZGUgdG8NCiAgIGluZm9ybSBpdHMgcGVl
ciBvZiBpdHMgaW50ZW50IHRvIGRpc2Nvbm5lY3QgdGhlIHRyYW5zcG9ydCBsYXllciBhbmQNCiAg
IHRoYXQgdGhlIHBlZXIgc2hvdWxkbid0IHJlY29ubmVjdCB1bmxlc3MgaXQgaGFzIGEgdmFsaWQg
cmVhc29uIHRvIGRvDQogICBzbyAoZS5nLiwgbWVzc2FnZSB0byBiZSBmb3J3YXJkZWQpLiAiIA0K
DQpTbyB0aGUgbWFpbiBwdXJwb3NlIGZvciBzZW5kaW5nIGEgRFBSIHdpdGggdGhlIGNhdXNlcyAi
QlVTWSIgYW5kICJET19OT1RfV0FOVF9UT19UQUxLX1RPX1lPVSIgaXMgYWN0dWFsbHkgdG8gYXZv
aWQgdGhlIHBlcmlvZGljIHJlY29ubmVjdGlvbiBhdHRlbXB0cyBnb3Zlcm5lZCBieSB0aGUgVGMg
dGltZXIuDQpUaGVzZSBleGNlcHRpb25zIGFyZSBtZW50aW9uZWQgaW4gdGhlIHNlY3Rpb24gMi4x
Og0KDQogICJXaGVuIG5vIHRyYW5zcG9ydCBjb25uZWN0aW9uIGV4aXN0cyB3aXRoIGEgcGVlciwg
YW4gYXR0ZW1wdCB0bw0KICAgY29ubmVjdCBTSE9VTEQgYmUgbWFkZSBwZXJpb2RpY2FsbHkuICBU
aGlzIGJlaGF2aW9yIGlzIGhhbmRsZWQgdmlhDQogICB0aGUgVGMgdGltZXIgKHNlZSBTZWN0aW9u
IDEyIGZvciBkZXRhaWxzKSwgd2hvc2UgcmVjb21tZW5kZWQgdmFsdWUgaXMNCiAgIDMwIHNlY29u
ZHMuICBUaGVyZSBhcmUgY2VydGFpbiBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSwgc3VjaCBhcyB3
aGVuDQogICBhIHBlZXIgaGFzIHRlcm1pbmF0ZWQgdGhlIHRyYW5zcG9ydCBjb25uZWN0aW9uIHN0
YXRpbmcgdGhhdCBpdCBkb2VzDQogICBub3Qgd2lzaCB0byBjb21tdW5pY2F0ZS4iDQoNCk5vdywg
aXQgaXMgdHJ1ZSB0aGF0IHRoZXJlIGlzIG5vIGNsZWFyIGd1aWRlbGluZSBvbiBob3cgdG8gYmVo
YXZlIHdoZW4gcmVjZWl2aW5nIHRoZSBjYXVzZSAiQlVTWSIgYW5kIHRoaXMgZXhwbGFpbnMgd2h5
IHNvbWUgaW1wbGVtZW50YXRpb25zIGluIHRoZSBmaWVsZCBzdGlsbCBhdHRlbXB0IHRvIHJlLW9w
ZW4gdGhlIGNvbm5lY3Rpb24sIGFzIGFmdGVyIGEgbm9ybWFsIHRyYW5zcG9ydCBmYWlsdXJlIGRl
dGVjdGlvbi4gQnV0IGl0IGRvZXMgbm90IG1lYW4gdGhhdCB0aGUgdGV4dCBpbiB0aGUgUkZDNjcz
MyBpcyB3cm9uZy4NCg0KRmluYWxseSwgaWYgaXQgaXMgYW4gYXR0ZW1wdCB0byBjbGFyaWZ5L21v
ZGlmeSB0aGUgYmVoYXZpb3Igb2YgdGhlIHBlZXIgcmVjZWl2aW5nIERQUiB3aXRoIHRoZSAiQlVT
WSIgY2F1c2UsIEkgZG9uJ3QgdGhpbmsgdGhhdCB1c2luZyBlcnJhdGEgd291bGQgYmUgdGhlIG1v
c3QgYXBwcm9wcmlhdGUgd2F5Lg0KDQpMZXQgc2VlIGlmIHRoZXJlIGFyZSBvdGhlciB2aWV3cyBv
biB0aGlzIGlzc3VlLg0KDQpSZWdhcmRzLA0KDQpMaW9uZWwgDQoNCi0tLS0tTWVzc2FnZSBkJ29y
aWdpbmUtLS0tLQ0KRGXCoDogQmVub2l0IENsYWlzZSBbbWFpbHRvOmJjbGFpc2VAY2lzY28uY29t
XSANCkVudm95w6nCoDogbWVyY3JlZGkgMTQgamFudmllciAyMDE1IDEyOjA5DQrDgMKgOiB2ZjAy
MTNAZ21haWwuY29tOyBqYXJpLmFya2tvQGVyaWNzc29uLmNvbTsgam9obi5sb3VnaG5leUBub2tp
YS5jb207IGdsZW56b3JuQGdtYWlsLmNvbTsgam9lbGphQGJvZ3VzLmNvbTsgam91bmkubm9zcGFt
QGdtYWlsLmNvbTsgTU9SQU5EIExpb25lbCBJTVQvT0xODQpDY8KgOiBIYW5zLkxpdUBhbGNhdGVs
LWx1Y2VudC5jb207IGRpbWVAaWV0Zi5vcmcNCk9iamV0wqA6IFJlOiBbVGVjaG5pY2FsIEVycmF0
YSBSZXBvcnRlZF0gUkZDNjczMyAoNDIwOSkNCg0KRG9jdW1lbnQgYXV0aG9ycywgRElNRSBwYXJ0
aWNpcGFudHMsDQoNCkNhbiB3ZSBwbGVhc2UgaGF2ZSBhIGRpc2N1c3Npb24gb24gdGhpcyBlcnJh
dGEgdmFsaWRpdHkuDQoNClJlZ2FyZHMsIEJlbm9pdA0KPiBUaGUgZm9sbG93aW5nIGVycmF0YSBy
ZXBvcnQgaGFzIGJlZW4gc3VibWl0dGVkIGZvciBSRkM2NzMzLCAiRGlhbWV0ZXIgDQo+IEJhc2Ug
UHJvdG9jb2wiLg0KPg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
PiBZb3UgbWF5IHJldmlldyB0aGUgcmVwb3J0IGJlbG93IGFuZCBhdDoNCj4gaHR0cDovL3d3dy5y
ZmMtZWRpdG9yLm9yZy9lcnJhdGFfc2VhcmNoLnBocD9yZmM9NjczMyZlaWQ9NDIwOQ0KPg0KPiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBUeXBlOiBUZWNobmljYWwN
Cj4gUmVwb3J0ZWQgYnk6IEhhbnMgTGl1IDxIYW5zLkxpdUBhbGNhdGVsLWx1Y2VudC5jb20+DQo+
DQo+IFNlY3Rpb246IDUuNC4zDQo+DQo+IE9yaWdpbmFsIFRleHQNCj4gLS0tLS0tLS0tLS0tLQ0K
PiAgICAgICAgQlVTWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDENCj4gICAgICAgICAg
IFRoZSBwZWVyw6LigqzihKJzIGludGVybmFsIHJlc291cmNlcyBhcmUgY29uc3RyYWluZWQsIGFu
ZCBpdCBoYXMNCj4gICAgICAgICAgIGRldGVybWluZWQgdGhhdCB0aGUgdHJhbnNwb3J0IGNvbm5l
Y3Rpb24gbmVlZHMgdG8gYmUgY2xvc2VkLg0KPiAgICAgICAgICAgQSByZWNlaXZlciBvZiBhIERQ
UiB3aXRoIGFib3ZlIHJlc3VsdCBjb2RlIFNIT1VMRCBOT1QgYXR0ZW1wdA0KPiAgICAgICAgICAg
cmVjb25uZWN0aW9uLg0KPg0KPiBDb3JyZWN0ZWQgVGV4dA0KPiAtLS0tLS0tLS0tLS0tLQ0KPiAg
ICAgICAgQlVTWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDENCj4gICAgICAgICAgIFRo
ZSBwZWVyw6LigqzihKJzIGludGVybmFsIHJlc291cmNlcyBhcmUgY29uc3RyYWluZWQsIGFuZCBp
dCBoYXMNCj4gICAgICAgICAgIGRldGVybWluZWQgdGhhdCB0aGUgdHJhbnNwb3J0IGNvbm5lY3Rp
b24gbmVlZHMgdG8gYmUgY2xvc2VkLg0KPiAgICAgICAgICAgQSByZWNlaXZlciBvZiBhIERQUiB3
aXRoIGFib3ZlIHJlc3VsdCBjb2RlIFNIT1VMRCBlaXRoZXINCj4gICAgICAgICAgIGNvbm5lY3Qg
dG8gYW4gYWx0ZXJuYXRlIG5vZGUsIG9yIGF0dGVtcHQgcmVjb25uZWN0aW9uDQo+ICAgICAgICAg
ICBhZnRlciBhIHRpbWUgcGVyaW9kLg0KPg0KPiBOb3Rlcw0KPiAtLS0tLQ0KPiBJbiBtb3N0IGlt
cGxlbWVudGF0aW9ucywgdGhlIERpYW1ldGVyIG5vZGUgd2lsbCBjb250aW51ZSB0byBzZXJ2ZSBp
dHMgcGVlciBhZnRlciB0aGUgcmVzb3VyY2VzIHJlY292ZXIgYW5kIGV4cGVjdCByZWNvbm5lY3Rp
b24uIElmIHRoZSBEaWFtZXRlciBub2RlIHdvbid0IGxpa2UgcmVjb25uZWN0aW9uIGZyb20gcGVl
ciwgRE9fTk9UX1dBTlRfVE9fVEFMS19UT19ZT1UgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiBCVVNZ
Lg0KPg0KPiBJbnN0cnVjdGlvbnM6DQo+IC0tLS0tLS0tLS0tLS0NCj4gVGhpcyBlcnJhdHVtIGlz
IGN1cnJlbnRseSBwb3N0ZWQgYXMgIlJlcG9ydGVkIi4gSWYgbmVjZXNzYXJ5LCBwbGVhc2UgDQo+
IHVzZSAiUmVwbHkgQWxsIiB0byBkaXNjdXNzIHdoZXRoZXIgaXQgc2hvdWxkIGJlIHZlcmlmaWVk
IG9yIHJlamVjdGVkLiANCj4gV2hlbiBhIGRlY2lzaW9uIGlzIHJlYWNoZWQsIHRoZSB2ZXJpZnlp
bmcgcGFydHkgKElFU0cpIGNhbiBsb2cgaW4gdG8gDQo+IGNoYW5nZSB0aGUgc3RhdHVzIGFuZCBl
ZGl0IHRoZSByZXBvcnQsIGlmIG5lY2Vzc2FyeS4NCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCj4gUkZDNjczMyAoZHJhZnQtaWV0Zi1kaW1lLXJmYzM1ODhiaXMt
MzMpDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFRpdGxlICAg
ICAgICAgICAgICAgOiBEaWFtZXRlciBCYXNlIFByb3RvY29sDQo+IFB1YmxpY2F0aW9uIERhdGUg
ICAgOiBPY3RvYmVyIDIwMTINCj4gQXV0aG9yKHMpICAgICAgICAgICA6IFYuIEZhamFyZG8sIEVk
LiwgSi4gQXJra28sIEouIExvdWdobmV5LCBHLiBab3JuLCBFZC4NCj4gQ2F0ZWdvcnkgICAgICAg
ICAgICA6IFBST1BPU0VEIFNUQU5EQVJEDQo+IFNvdXJjZSAgICAgICAgICAgICAgOiBEaWFtZXRl
ciBNYWludGVuYW5jZSBhbmQgRXh0ZW5zaW9ucw0KPiBBcmVhICAgICAgICAgICAgICAgIDogT3Bl
cmF0aW9ucyBhbmQgTWFuYWdlbWVudA0KPiBTdHJlYW0gICAgICAgICAgICAgIDogSUVURg0KPiBW
ZXJpZnlpbmcgUGFydHkgICAgIDogSUVTRw0KPg0KPiAuDQo+DQoNCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpDZSBtZXNz
YWdlIGV0IHNlcyBwaWVjZXMgam9pbnRlcyBwZXV2ZW50IGNvbnRlbmlyIGRlcyBpbmZvcm1hdGlv
bnMgY29uZmlkZW50aWVsbGVzIG91IHByaXZpbGVnaWVlcyBldCBuZSBkb2l2ZW50IGRvbmMKcGFz
IGV0cmUgZGlmZnVzZXMsIGV4cGxvaXRlcyBvdSBjb3BpZXMgc2FucyBhdXRvcmlzYXRpb24uIFNp
IHZvdXMgYXZleiByZWN1IGNlIG1lc3NhZ2UgcGFyIGVycmV1ciwgdmV1aWxsZXogbGUgc2lnbmFs
ZXIKYSBsJ2V4cGVkaXRldXIgZXQgbGUgZGV0cnVpcmUgYWluc2kgcXVlIGxlcyBwaWVjZXMgam9p
bnRlcy4gTGVzIG1lc3NhZ2VzIGVsZWN0cm9uaXF1ZXMgZXRhbnQgc3VzY2VwdGlibGVzIGQnYWx0
ZXJhdGlvbiwKT3JhbmdlIGRlY2xpbmUgdG91dGUgcmVzcG9uc2FiaWxpdGUgc2kgY2UgbWVzc2Fn
ZSBhIGV0ZSBhbHRlcmUsIGRlZm9ybWUgb3UgZmFsc2lmaWUuIE1lcmNpLgoKVGhpcyBtZXNzYWdl
IGFuZCBpdHMgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIG9yIHByaXZpbGVn
ZWQgaW5mb3JtYXRpb24gdGhhdCBtYXkgYmUgcHJvdGVjdGVkIGJ5IGxhdzsKdGhleSBzaG91bGQg
bm90IGJlIGRpc3RyaWJ1dGVkLCB1c2VkIG9yIGNvcGllZCB3aXRob3V0IGF1dGhvcmlzYXRpb24u
CklmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkg
dGhlIHNlbmRlciBhbmQgZGVsZXRlIHRoaXMgbWVzc2FnZSBhbmQgaXRzIGF0dGFjaG1lbnRzLgpB
cyBlbWFpbHMgbWF5IGJlIGFsdGVyZWQsIE9yYW5nZSBpcyBub3QgbGlhYmxlIGZvciBtZXNzYWdl
cyB0aGF0IGhhdmUgYmVlbiBtb2RpZmllZCwgY2hhbmdlZCBvciBmYWxzaWZpZWQuClRoYW5rIHlv
dS4KCg==


From nobody Wed Jan 14 08:10:49 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D70ED1A8AF8 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 08:10:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 iUK7C4L1WeLZ for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 08:10:43 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 65B691A8AAE for <dime@ietf.org>; Wed, 14 Jan 2015 08:10:43 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57841 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBQWl-0009mT-Nw for dime@ietf.org; Wed, 14 Jan 2015 08:10:42 -0800
Message-ID: <54B694FF.9010000@usdonovans.com>
Date: Wed, 14 Jan 2015 10:10:39 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5486FE71.70205@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815235215@DEMUMBX014.nsn-intra.net> <54884137.4050209@usdonovans.com> <5AB8BAC5-3CBD-432E-9631-74DF40795844@nostrum.com> <5489A498.5070203@usdonovans.com> <B74498A5-D8BE-4064-925F-5943F0D79CDC@nostrum.com> <5489EFAF.8010702@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D9000668152358E0@DEMUMBX014.nsn-intra.net> <549046D3.3090104@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815235AB9@DEMUMBX014.nsn-intra.net> <549826C8.1090809@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815239CB6@DEMUMBX014.nsn-intra.net> <1FC86658-AB09-4C11-9ED1-0C7FAFC542BE@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523ACF5@DEMUMBX014.nsn-intra.net> <E0B4F8BD-3FC6-4133-B363-6E8B5A216789@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523AD21@DEMUMBX014.nsn-intra.net> <5BCBA1FC2B7F0B4C9D935572D90006681523AD55@DEMUMBX014.nsn-intra.net> <5BCBA1FC2B7F0B4C9D935572D90006681523EEF1@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523EEF1@DEMUMBX014.nsn-intra.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/U-AhOhc6awqIWXoV6KEWOpc63vQ>
Subject: Re: [Dime] Ulrich's suggested change #15
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 16:10:47 -0000

Agreed, these paragraphs can be removed.

Steve

On 1/14/15 3:39 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
>
> the -06 draft still has the paragraphs in section 5.2.1.3:
>
>     When receiving an answer message with multiple OLRs and multiple of
>     the OLRs are of the same supported report types, a reacting node
>     SHOULD ignore the duplicated OLRs.
>
>     A reacting node SHOULD ignore an OC-OLR with a OC-Report-Type AVP
>     that contains an unrecognized value.
>
> This text is specifying behaviour on what you do when the peer violates the protocol.
> Ben pointed out that
>
> -------
> "we don't need to specify behavior on what you do when the peer violates the protocol. If a reacting node receives an answer with two OLRs of the same type, or with an OLR of a type it doesn't recognize, what it does is local policy. It could ignore all further DOIC information from that reacting node, and treat it like a non-supporting node. It could ignore all the OLRs in the message, but continue to exchange OC-S-Fs. It could process some (or one) of the OLRs and ignore the rest. It's up to the implementors to decide.
>
> BTW, we don't need text to say that, unless we want to actually favor one strategy over another."
> -------
>
> My understanding was that we agreed to delete these two paragraphs as we did not agree on a favoured strategy.
>
> Regards
> Ulrich
>
>
>
> -----Original Message-----
> From: Wiehe, Ulrich (NSN - DE/Munich)
> Sent: Tuesday, December 23, 2014 7:55 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: RE: [Dime] Ulrich's suggested change #15
>
> With this clarification I withdraw my request for explicit statements; simply deleting the paragraph is sufficient.
> Ulrich
>
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Wiehe, Ulrich (NSN - DE/Munich)
> Sent: Tuesday, December 23, 2014 5:54 PM
> To: ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ulrich's suggested change #15
>
> Thank you for the clarification.
>
> -----Original Message-----
> From: ext Ben Campbell [mailto:ben@nostrum.com]
> Sent: Tuesday, December 23, 2014 5:41 PM
> To: Wiehe, Ulrich (NSN - DE/Munich)
> Cc: ext Steve Donovan; dime@ietf.org
> Subject: Re: [Dime] Ulrich's suggested change #15
>
>
>> On Dec 23, 2014, at 9:55 AM, Wiehe, Ulrich (NSN - DE/Munich) <ulrich.wiehe@nsn.com> wrote:
>>
>> When the reporting node is doing things wrong, i.e. sends an OLR of a type that was not advertized (implicitly or explicitly), or sends two OLRs of same type, although the spec says "MUST NOT do so", we cannot expect the reacting node to sort things out.
> Given the current MUST NOT, I agree. As I've mentioned in the past, we don't need to specify behavior on what you do when the peer violates the protocol. If a reacting node receives an answer with two OLRs of the same type, or with an OLR of a type it doesn't recognize, what it does is local policy. It could ignore all further DOIC information from that reacting node, and treat it like a non-supporting node. It could ignore all the OLRs in the message, but continue to exchange OC-S-Fs. It could process some (or one) of the OLRs and ignore the rest. It's up to the implementors to decide.
>
> BTW, we don't need text to say that, unless we want to actually favor one strategy over another.
>
>> I do not agree to relax the "MUST NOT do so" requirement for the reporting node.
>>
> I did not seriously expect us to. I just tossed it out as something to think about.
>
>> -----Original Message-----
>> From: ext Ben Campbell [mailto:ben@nostrum.com]
>> Sent: Tuesday, December 23, 2014 4:06 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich)
>> Cc: ext Steve Donovan; dime@ietf.org
>> Subject: Re: [Dime] Ulrich's suggested change #15
>>
>> I don't object to allowing that behavior. But thinking of a less extreme case, where you have two OC-OLRs and only recognize one, I think it would be poor design to ignore the one you do recognize. OTOH, it's not the IETF's job to prevent bad design, as long as it's interoperable and doesn't break everyone else (and the network.)
>>
>> But we might want to consider the fact that this puts the work upon the overloaded reporting node to make things right, rather than on the reacting node to figure it out. For example, the use cases I've describe in a separate thread, where you have multiple reacting nodes with different capabilities, might could be mitigated by allowing (not requiring) the reporting node put the OC-OLRs for both in each answer. We don't currently allow that unless they are different types, but I wonder if we should think about relaxing that.
>>
>>> On Dec 23, 2014, at 6:30 AM, Wiehe, Ulrich (NSN - DE/Munich) <ulrich.wiehe@nsn.com> wrote:
>>>
>>> No, that was not what Iâ€™m after.
>>>
>>> Imagine the (unlikely) case where an answer message contains hundreds of OC-OLR AVPs.
>>>
>>> In this case I want the reacting node to be allowed
>>> -          Not to scan through all the OC-OLR AVPs to see whether there is a supported  and not duplicated OLR
>>> -          To ignore the complete set of OC-OLR AVPs if at least one of the OLR contains an unsupported report-type or at least two of the OLRs contain  the same report type.
>>>
>>> As soon as the reacting node detects that there is something wrong with the set of OLRs it may ignore the complete set of OLRs.
>>>
>>> Regards
>>> Ulrich
>>>
>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>> Sent: Monday, December 22, 2014 3:12 PM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); Ben Campbell
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>
>>> I have added the following statements:
>>>
>>>    When receiving an answer message with multiple OLRs and multiple of
>>>    the OLRs are of the same supported report types, a reporting node
>>>    SHOULD ignore the duplicated OLRs.
>>>
>>>    A reacting node SHOULD ignore an OC-OLR with a OC-Report-Type AVP
>>>    that contains an unrecognized value.
>>> Regards,
>>>
>>> Steve
>>>
>>> On 12/17/14 2:49 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Yes please.
>>>
>>> -----Original Message-----
>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>> Sent: Tuesday, December 16, 2014 3:51 PM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); Ben Campbell
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>
>>> I'll delete the paragraph.
>>>
>>> Do we need explicit statements for the two conditions below?
>>>
>>> Steve
>>>
>>>
>>> On 12/15/14, 11:56 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Steve, Ben,
>>>
>>> I'm fine with deleting the paragraph.
>>> But for my clarification please confirm that ignoring the complete set of OLRs is allowed when one of these OLRs contains a report type that was not advertized, or two of the OLRs contain the same report type.
>>>
>>> Regards
>>> Ulrich
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>> Sent: Thursday, December 11, 2014 8:26 PM
>>> To: Ben Campbell
>>> Cc: Wiehe, Ulrich (NSN - DE/Munich); dime@ietf.org
>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>
>>>
>>> On 12/11/14, 12:51 PM, Ben Campbell wrote:
>>> On Dec 11, 2014, at 8:05 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>
>>> I thought this paragraph was covering unrecognized values for all AVPs.
>>> I agree that's what it covered. But I think we failed to cover the unrecognized AVP case. If we don't have anything to say beyond what 6733 says, then it might not be strictly necessary, but it might still be worth saying that "unrecognized sub-AVPs are treated as per RFC6733".
>>> That is probably worth saying.
>>>    Maybe it is better to remove the paragraph entirely and make sure that the definition of each AVP addresses what is done with unrecognized values.
>>> Possibly. There are AVPs where there's no such thing as an unrecognized value. There may be AVPs where the allowed values vary by algorithm. If we do take that route, we probably need language here that says unrecognized values are handled as described by the AVP definition or the algorithm.
>>> Agreed.
>>> Steve
>>>
>>> On 12/10/14, 5:26 PM, Ben Campbell wrote:
>>> On Dec 10, 2014, at 6:48 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>
>>> Ulrich,
>>>
>>> Actually, the wording you suggested wasn't quite right.  It should be:
>>>
>>>     When receiving an OC-OLR AVP with unknown values, the overload report
>>>     SHOULD be silently discarded by reacting nodes and the event SHOULD
>>>     be logged.
>>>
>>> It's not just about report type values but unknown values for any of the AVPs in the OLR.
>>>
>>> This seems like a good requirement to include in the specification to ensure common behavior in reacting nodes.  I don't feel strongly about this but I would like to hear other opinions.
>>> I think this is still not quite complete.
>>>
>>> If you receive a sub-AVP that you don't understand, then you should ignore that sub-avp, not the whole OC-OLR AVP.  (Unless of course the unknown AVP has the m-bit set.) If you receive a known sub-AVP, with a value you don't understand, the behavior should be AVP specific. For Report-Type, that means ignore the whole OLR.
>>>
>>> It's not clear to me whether the original text was about arbitrary avps, or Report-Type.
>>>
>>> Steve
>>>
>>> On 12/9/14, 11:04 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Hi Steve,
>>>
>>> I think it was pointed out by Ben that we do not specify behaviour of a node for cases where it detects that another node is breaking the rule.
>>> The rule is:
>>>      A reporting node MUST NOT send overload reports of a type that has
>>>      not been advertised as supported by the reacting node.
>>> See section 4.2.3.
>>>
>>> Regards
>>> Ulrich
>>>
>>>     From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Steve Donovan
>>> Sent: Tuesday, December 09, 2014 2:52 PM
>>> To: dime@ietf.org
>>> Subject: [Dime] Ulrich's suggested change #15
>>>
>>> Ulrich,
>>>
>>> For your suggested change #15:
>>> Section 4.2.1.3, 4th paragraph:
>>> Existing text:
>>>      When receiving an OC-OLR AVPs with unknown values, a reacting node
>>>      SHOULD be silently discarded by reacting nodes and the event SHOULD
>>>      be logged.
>>> Comment: text is confusing. Maybe the intention was to say:
>>>      When receiving an OC-OLR AVPs with an unsupported report type value, a reacting node
>>>      SHOULD silently discarded the OC-OLR AVP and the event SHOULD
>>>      be logged.
>>> But even that is not correct.
>>> Proposal: Remove the paragraph.
>>> The intent was that an OC-OLR that contains unknown values should be discarded.  I agree that the wording needs to be changes as you suggested.  I don't agree with removing the paragraph.  Can you elaborate on why you think it is not correct when changed as you suggested?
>>>
>>> Regards,
>>>
>>> Steve
>>>
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>
>>>
>>>
>>>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Wed Jan 14 15:16:34 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C62651B2A54 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 15:16:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 qlp-dnS9Jj6p for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 15:16:29 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 68B201B2A52 for <dime@ietf.org>; Wed, 14 Jan 2015 15:16:29 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0ENGR6V028820 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 14 Jan 2015 17:16:28 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B694FF.9010000@usdonovans.com>
Date: Wed, 14 Jan 2015 17:16:27 -0600
X-Mao-Original-Outgoing-Id: 442970187.571402-5c5a2218aa6c7acb5c4f321814a603e1
Content-Transfer-Encoding: quoted-printable
Message-Id: <2B69CECA-B577-4EC0-A9A2-9E08BA68493A@nostrum.com>
References: <5486FE71.70205@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815235215@DEMUMBX014.nsn-intra.net> <54884137.4050209@usdonovans.com> <5AB8BAC5-3CBD-432E-9631-74DF40795844@nostrum.com> <5489A498.5070203@usdonovans.com> <B74498A5-D8BE-4064-925F-5943F0D79CDC@nostrum.com> <5489EFAF.8010702@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D9000668152358E0@DEMUMBX014.nsn-intra.net> <549046D3.3090104@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815235AB9@DEMUMBX014.nsn-intra.net> <549826C8.1090809@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D900066815239CB6@DEMUMBX014.nsn-intra.net> <1FC86658-AB09-4C11-9ED1-0C7FAFC542BE@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523ACF5@DEMUMBX014.nsn-intra.net> <E0B4F8BD-3FC6-4133-B363-6E8B5A216789@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523AD21@DEMUMBX014.nsn-intra.net> <5BCBA1FC2B7F0B4C9D935572D90006681523AD55@DEMUMBX014.nsn-intra.net> <5BCBA1FC2B7F0B4C9D935572D90006681523EEF1@DEMUMBX014.nsn-intra.net> <54B694FF.9010000@usdonovan! s.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/3baebuD10m8KcuPKWGvBdVnV9gQ>
Cc: dime@ietf.org
Subject: Re: [Dime] Ulrich's suggested change #15
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 23:16:33 -0000

I agree.

> On Jan 14, 2015, at 10:10 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> Agreed, these paragraphs can be removed.
>=20
> Steve
>=20
> On 1/14/15 3:39 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Steve,
>>=20
>> the -06 draft still has the paragraphs in section 5.2.1.3:
>>=20
>>    When receiving an answer message with multiple OLRs and multiple =
of
>>    the OLRs are of the same supported report types, a reacting node
>>    SHOULD ignore the duplicated OLRs.
>>=20
>>    A reacting node SHOULD ignore an OC-OLR with a OC-Report-Type AVP
>>    that contains an unrecognized value.
>>=20
>> This text is specifying behaviour on what you do when the peer =
violates the protocol.
>> Ben pointed out that
>>=20
>> -------
>> "we don't need to specify behavior on what you do when the peer =
violates the protocol. If a reacting node receives an answer with two =
OLRs of the same type, or with an OLR of a type it doesn't recognize, =
what it does is local policy. It could ignore all further DOIC =
information from that reacting node, and treat it like a non-supporting =
node. It could ignore all the OLRs in the message, but continue to =
exchange OC-S-Fs. It could process some (or one) of the OLRs and ignore =
the rest. It's up to the implementors to decide.
>>=20
>> BTW, we don't need text to say that, unless we want to actually favor =
one strategy over another."
>> -------
>>=20
>> My understanding was that we agreed to delete these two paragraphs as =
we did not agree on a favoured strategy.
>>=20
>> Regards
>> Ulrich
>>=20
>>=20
>>=20
>> -----Original Message-----
>> From: Wiehe, Ulrich (NSN - DE/Munich)
>> Sent: Tuesday, December 23, 2014 7:55 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: RE: [Dime] Ulrich's suggested change #15
>>=20
>> With this clarification I withdraw my request for explicit =
statements; simply deleting the paragraph is sufficient.
>> Ulrich
>>=20
>> -----Original Message-----
>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Wiehe, =
Ulrich (NSN - DE/Munich)
>> Sent: Tuesday, December 23, 2014 5:54 PM
>> To: ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ulrich's suggested change #15
>>=20
>> Thank you for the clarification.
>>=20
>> -----Original Message-----
>> From: ext Ben Campbell [mailto:ben@nostrum.com]
>> Sent: Tuesday, December 23, 2014 5:41 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich)
>> Cc: ext Steve Donovan; dime@ietf.org
>> Subject: Re: [Dime] Ulrich's suggested change #15
>>=20
>>=20
>>> On Dec 23, 2014, at 9:55 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>>>=20
>>> When the reporting node is doing things wrong, i.e. sends an OLR of =
a type that was not advertized (implicitly or explicitly), or sends two =
OLRs of same type, although the spec says "MUST NOT do so", we cannot =
expect the reacting node to sort things out.
>> Given the current MUST NOT, I agree. As I've mentioned in the past, =
we don't need to specify behavior on what you do when the peer violates =
the protocol. If a reacting node receives an answer with two OLRs of the =
same type, or with an OLR of a type it doesn't recognize, what it does =
is local policy. It could ignore all further DOIC information from that =
reacting node, and treat it like a non-supporting node. It could ignore =
all the OLRs in the message, but continue to exchange OC-S-Fs. It could =
process some (or one) of the OLRs and ignore the rest. It's up to the =
implementors to decide.
>>=20
>> BTW, we don't need text to say that, unless we want to actually favor =
one strategy over another.
>>=20
>>> I do not agree to relax the "MUST NOT do so" requirement for the =
reporting node.
>>>=20
>> I did not seriously expect us to. I just tossed it out as something =
to think about.
>>=20
>>> -----Original Message-----
>>> From: ext Ben Campbell [mailto:ben@nostrum.com]
>>> Sent: Tuesday, December 23, 2014 4:06 PM
>>> To: Wiehe, Ulrich (NSN - DE/Munich)
>>> Cc: ext Steve Donovan; dime@ietf.org
>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>=20
>>> I don't object to allowing that behavior. But thinking of a less =
extreme case, where you have two OC-OLRs and only recognize one, I think =
it would be poor design to ignore the one you do recognize. OTOH, it's =
not the IETF's job to prevent bad design, as long as it's interoperable =
and doesn't break everyone else (and the network.)
>>>=20
>>> But we might want to consider the fact that this puts the work upon =
the overloaded reporting node to make things right, rather than on the =
reacting node to figure it out. For example, the use cases I've describe =
in a separate thread, where you have multiple reacting nodes with =
different capabilities, might could be mitigated by allowing (not =
requiring) the reporting node put the OC-OLRs for both in each answer. =
We don't currently allow that unless they are different types, but I =
wonder if we should think about relaxing that.
>>>=20
>>>> On Dec 23, 2014, at 6:30 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>>>>=20
>>>> No, that was not what I=E2=80=99m after.
>>>>=20
>>>> Imagine the (unlikely) case where an answer message contains =
hundreds of OC-OLR AVPs.
>>>>=20
>>>> In this case I want the reacting node to be allowed
>>>> -          Not to scan through all the OC-OLR AVPs to see whether =
there is a supported  and not duplicated OLR
>>>> -          To ignore the complete set of OC-OLR AVPs if at least =
one of the OLR contains an unsupported report-type or at least two of =
the OLRs contain  the same report type.
>>>>=20
>>>> As soon as the reacting node detects that there is something wrong =
with the set of OLRs it may ignore the complete set of OLRs.
>>>>=20
>>>> Regards
>>>> Ulrich
>>>>=20
>>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>>> Sent: Monday, December 22, 2014 3:12 PM
>>>> To: Wiehe, Ulrich (NSN - DE/Munich); Ben Campbell
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>>=20
>>>> I have added the following statements:
>>>>=20
>>>>   When receiving an answer message with multiple OLRs and multiple =
of
>>>>   the OLRs are of the same supported report types, a reporting node
>>>>   SHOULD ignore the duplicated OLRs.
>>>>=20
>>>>   A reacting node SHOULD ignore an OC-OLR with a OC-Report-Type AVP
>>>>   that contains an unrecognized value.
>>>> Regards,
>>>>=20
>>>> Steve
>>>>=20
>>>> On 12/17/14 2:49 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Yes please.
>>>>=20
>>>> -----Original Message-----
>>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>>> Sent: Tuesday, December 16, 2014 3:51 PM
>>>> To: Wiehe, Ulrich (NSN - DE/Munich); Ben Campbell
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>>=20
>>>> I'll delete the paragraph.
>>>>=20
>>>> Do we need explicit statements for the two conditions below?
>>>>=20
>>>> Steve
>>>>=20
>>>>=20
>>>> On 12/15/14, 11:56 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Steve, Ben,
>>>>=20
>>>> I'm fine with deleting the paragraph.
>>>> But for my clarification please confirm that ignoring the complete =
set of OLRs is allowed when one of these OLRs contains a report type =
that was not advertized, or two of the OLRs contain the same report =
type.
>>>>=20
>>>> Regards
>>>> Ulrich
>>>>=20
>>>>=20
>>>>=20
>>>> -----Original Message-----
>>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>>> Sent: Thursday, December 11, 2014 8:26 PM
>>>> To: Ben Campbell
>>>> Cc: Wiehe, Ulrich (NSN - DE/Munich); dime@ietf.org
>>>> Subject: Re: [Dime] Ulrich's suggested change #15
>>>>=20
>>>>=20
>>>> On 12/11/14, 12:51 PM, Ben Campbell wrote:
>>>> On Dec 11, 2014, at 8:05 AM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>=20
>>>> I thought this paragraph was covering unrecognized values for all =
AVPs.
>>>> I agree that's what it covered. But I think we failed to cover the =
unrecognized AVP case. If we don't have anything to say beyond what 6733 =
says, then it might not be strictly necessary, but it might still be =
worth saying that "unrecognized sub-AVPs are treated as per RFC6733".
>>>> That is probably worth saying.
>>>>   Maybe it is better to remove the paragraph entirely and make sure =
that the definition of each AVP addresses what is done with unrecognized =
values.
>>>> Possibly. There are AVPs where there's no such thing as an =
unrecognized value. There may be AVPs where the allowed values vary by =
algorithm. If we do take that route, we probably need language here that =
says unrecognized values are handled as described by the AVP definition =
or the algorithm.
>>>> Agreed.
>>>> Steve
>>>>=20
>>>> On 12/10/14, 5:26 PM, Ben Campbell wrote:
>>>> On Dec 10, 2014, at 6:48 AM, Steve Donovan =
<srdonovan@usdonovans.com> wrote:
>>>>=20
>>>> Ulrich,
>>>>=20
>>>> Actually, the wording you suggested wasn't quite right.  It should =
be:
>>>>=20
>>>>    When receiving an OC-OLR AVP with unknown values, the overload =
report
>>>>    SHOULD be silently discarded by reacting nodes and the event =
SHOULD
>>>>    be logged.
>>>>=20
>>>> It's not just about report type values but unknown values for any =
of the AVPs in the OLR.
>>>>=20
>>>> This seems like a good requirement to include in the specification =
to ensure common behavior in reacting nodes.  I don't feel strongly =
about this but I would like to hear other opinions.
>>>> I think this is still not quite complete.
>>>>=20
>>>> If you receive a sub-AVP that you don't understand, then you should =
ignore that sub-avp, not the whole OC-OLR AVP.  (Unless of course the =
unknown AVP has the m-bit set.) If you receive a known sub-AVP, with a =
value you don't understand, the behavior should be AVP specific. For =
Report-Type, that means ignore the whole OLR.
>>>>=20
>>>> It's not clear to me whether the original text was about arbitrary =
avps, or Report-Type.
>>>>=20
>>>> Steve
>>>>=20
>>>> On 12/9/14, 11:04 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Hi Steve,
>>>>=20
>>>> I think it was pointed out by Ben that we do not specify behaviour =
of a node for cases where it detects that another node is breaking the =
rule.
>>>> The rule is:
>>>>     A reporting node MUST NOT send overload reports of a type that =
has
>>>>     not been advertised as supported by the reacting node.
>>>> See section 4.2.3.
>>>>=20
>>>> Regards
>>>> Ulrich
>>>>=20
>>>>    From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Steve =
Donovan
>>>> Sent: Tuesday, December 09, 2014 2:52 PM
>>>> To: dime@ietf.org
>>>> Subject: [Dime] Ulrich's suggested change #15
>>>>=20
>>>> Ulrich,
>>>>=20
>>>> For your suggested change #15:
>>>> Section 4.2.1.3, 4th paragraph:
>>>> Existing text:
>>>>     When receiving an OC-OLR AVPs with unknown values, a reacting =
node
>>>>     SHOULD be silently discarded by reacting nodes and the event =
SHOULD
>>>>     be logged.
>>>> Comment: text is confusing. Maybe the intention was to say:
>>>>     When receiving an OC-OLR AVPs with an unsupported report type =
value, a reacting node
>>>>     SHOULD silently discarded the OC-OLR AVP and the event SHOULD
>>>>     be logged.
>>>> But even that is not correct.
>>>> Proposal: Remove the paragraph.
>>>> The intent was that an OC-OLR that contains unknown values should =
be discarded.  I agree that the wording needs to be changes as you =
suggested.  I don't agree with removing the paragraph.  Can you =
elaborate on why you think it is not correct when changed as you =
suggested?
>>>>=20
>>>> Regards,
>>>>=20
>>>> Steve
>>>>=20
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>=20
>>>>=20
>>>>=20
>>>>=20
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Wed Jan 14 15:56:27 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE1DB1AD0B3 for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 15:56:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 Ze0hrwSBJu5w for <dime@ietfa.amsl.com>; Wed, 14 Jan 2015 15:56:24 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 16C6B1AD0A2 for <dime@ietf.org>; Wed, 14 Jan 2015 15:56:24 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0ENuMXn032099 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 14 Jan 2015 17:56:23 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B5399D.3020600@gmail.com>
Date: Wed, 14 Jan 2015 17:56:22 -0600
X-Mao-Original-Outgoing-Id: 442972582.732917-9873ab2b29fb0b3ab6e293c2b7f2bbc0
Content-Transfer-Encoding: quoted-printable
Message-Id: <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com>
References: <54B5399D.3020600@gmail.com>
To: "dime@ietf.org" <dime@ietf.org>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/gb210Km9SXAk-FZ_vd6sQPdDOb8>
Cc: draft-ietf-dime-ovli@tools.ietf.org
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Jan 2015 23:56:26 -0000

I think this version is in much better shape, and almost ready to ship. =
But I still have a few comments:

Substantive:

--Definitions:

I think we've made it too easy for the reader to confuse "abatement =
mechanisms" with "abatement algorithms". For example, "Abatement =
Algorithm" starts with "An extensible mechanism..." and "Diversion" =
starts with "An overload abatement mechanism...". A new reader will =
likely think that Diversion is a kind of abatement algorithm. I propose =
the following the following for "Abatement Algorithm":

"An extensible _method_ requested by reporting nodes and used by =
reacting nodes to determine which requests receive abatement treatment"

For "Diversion":

"An abatement _treatment_ mechanism, where..."

And for "Throttling":

"An abatement treatment mechanism that limits..."

-- 4.3, third paragraph from end:

This still assumes that reporting nodes cannot change algorithms during =
overload. I thought we agreed to remove that. (The normative text is =
also still there--see later comment.)

-- section 5.2.1, and subsections:

We still have some awkward use of SHOULDs and MAYs that I think are =
there to indicate that nodes don't really have to structure their =
internal state any particular way. But as written, it can be interpreted =
to allow them to ignore critical pieces of info. We would be better =
either removing the normative language entirely, or preface the section =
to say that these represent logical information, and that we do not =
assume any particular physical structure. (I prefer the latter at this =
point.) Details:

-- 5.2.1.1: "A reacting node SHOULD maintain...", "The host-type and =
realm-type OCS entries MAY include..."

What if it doesn't? I think things fail.=20

Also, I'm still confused by the first part of this section. The reacting =
node keeps state for every reported and active overload condition. Each =
will be the result of a realm report or a host report. The text makes it =
sound like it needs to keep OCS for both report types, even if it had =
not received both.


-- 5.2.1.1: "A reporting node SHOULD maintain OCS entries..." and "An =
OCS entry is identified ... and MAY include ..."

What if it doesn't?

-- 5.2.1.4: "A reporting node MUST NOT update the abatement algorithm in =
an active OCS entry."

I thought we agreed to remove that, and replace it with the note at the =
beginning of 5.1?

-- 5.2.2: 5th paragraph:

This doesn't seem quite right, since it leaves the option of no =
abatement at all. Second, it doesn't seem to allow delegation of =
abatement downstream. When might one choose to ignore those SHOULDs? Is =
this here to allow delegation? If so, the use of SHOULD makes local =
throttling preferred over delegation.

-- 5.3, 4th paragraph:

As I mentioned in previous discussion, after re-reading the related text =
in 6733, it's no longer clear to me this works like we thought it did. =
That is, I think any attempt to make sub-AVPs mandatory risks causing =
errors in the enclosing Diameter transaction. I don't know how to solve =
this, other just disallowing mandatory sub-AVPs. (Jouni previously =
convinced me 6733 treatment of the m-bit in sub-avps worked like we =
wanted--perhaps he can re-convince me :-) =20

-- 6.3, paragraph 2:

This is stronger than the SHOULDs in the general behavior section =
(5.2.2)

Paragraph 5:=20

Is this redundant to the last paragraph of 5.2.2?

-- 8, 1st paragraph:

This is just for agents and servers, not clients, right? If so, "When a =
DOIC node..." is too broadly stated.





Editorial:

-- section 2, "Diversion"

repeated "for".

-- section 3:

I suggest adding a sentence that the same words that are not in all-caps =
are excepted from the 2119 interpretation.  (We have a few instances of =
lowercase "must", "should", etc. The uglier alternative would be to hunt =
down and kill all of them.)

-- 4.3, 4th paragraph from end

s/ "... applying the overload abatement algorithm..." / "... apply the =
overload abatement algorithm..."

-- Figure 1:

The boxes have caret characters in the top and bottom horizontal lines. =
Do those mean something?

-- section 5.1.3:

The first two paragraphs conflict with paragraph 4. I think paragraph 4 =
is correct.

-- 6.3, 4th paragraph:

This seems like a restatement of paragraph 2.


> On Jan 13, 2015, at 9:28 AM, Jouni Korhonen <jouni.nospam@gmail.com> =
wrote:
>=20
> Folks,
>=20
> Thanks for the hard work on the -06 revision. Since the changes
> from -05 to -06 were many, chairs decided to run another short
> WGLC for the WG to verify all changes and discussions are
> implemented correctly.
>=20
> This email starts a one week WGLC #2 for draft-ietf-dime-ovli-06. The
> WGLC ends 20th Jan 2015 EOB (PST). Post your review comments and
> concerns to the mailinglist. Also make use of the issue tracker
> (remember to select "severity" as "in WG last call").
>=20
> Lionel & Jouni
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 15 00:45:01 2015
Return-Path: <jean-jacques.trottin@alcatel-lucent.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D74C11AD1EE for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 00:44:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.209
X-Spam-Level: 
X-Spam-Status: No, score=-4.209 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 SmPcQByxsJQp for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 00:44:54 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (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 A2B9C1A9032 for <dime@ietf.org>; Thu, 15 Jan 2015 00:44:53 -0800 (PST)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (unknown [135.239.2.42]) by Websense Email Security Gateway with ESMTPS id ADAF368F94B1E; Thu, 15 Jan 2015 08:44:48 +0000 (GMT)
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id t0F8ioP7000503 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 09:44:50 +0100
Received: from FR712WXCHMBA12.zeu.alcatel-lucent.com ([169.254.8.50]) by FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 09:44:50 +0100
From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
Thread-Topic: [Dime] Diameter load control inputs
Thread-Index: AdAoRTX1mtXcCV8gROKEYHqQd0nf8gBv2auAAEZezgABMPpVgAAuty8A
Date: Thu, 15 Jan 2015 08:44:50 +0000
Message-ID: <E194C2E18676714DACA9C3A2516265D2026F5FFA@FR712WXCHMBA12.zeu.alcatel-lucent.com>
References: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com> <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com> <E194C2E18676714DACA9C3A2516265D2026F4F76@FR712WXCHMBA12.zeu.alcatel-lucent.com> <5BCBA1FC2B7F0B4C9D935572D90006681523EF2A@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523EF2A@DEMUMBX014.nsn-intra.net>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [135.239.27.41]
Content-Type: multipart/alternative; boundary="_000_E194C2E18676714DACA9C3A2516265D2026F5FFAFR712WXCHMBA12z_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/YeHqSmOcLNdoJ-yZeYBKSwT0Udw>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 08:44:59 -0000

--_000_E194C2E18676714DACA9C3A2516265D2026F5FFAFR712WXCHMBA12z_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgVWxyaWNoDQoNCldlIG1heSBlZmZlY3RpdmVseSBoYXZlIGEgZmlyc3Qgc3RlcCB3aXRoIHNl
cnZlciAgKGhvc3QpIGxvYWQgYW5kIHJlYWxtIGxvYWQgYW5kIGxlYXZlIGFnZW50IGxvYWQgZm9y
IGEgc2Vjb25kIHN0ZXAuIEludGVyZXN0IGlzIHRvICBzaW1wbGlmeSB0aGUgYW5hbHlzaXMgb2Yg
dXNlIGNhc2VzLCBzbyB0byBvbmx5IGlkZW50aWZ5IHRoZSBsb2FkIGluZm9ybWF0aW9uIHRoYXQg
dGhlIG5vZGVzICBoYW5kbGluZyBsb2FkIGJhbGFuY2luZyBzaG91bGQgcmVjZWl2ZSBhYm91dCB0
aGUgc2VydmVycyBvciBncm91cHMgb2Ygc2VydmVycyBvciAgcmVhbG0uDQpUaGF0IGJlaW5nIHNh
aWQsIGl0IGRvZXMgbm90IHByZWNsdWRlIHRvIGFsc28gYWRkcmVzcyB0aGUgc3RlcCBpZGVudGlm
eWluZyAgbG9hZCBpbmZvIG9mIERBUyBvciBncm91cHMgb2YgREFzICB0aGF0IHdpbGwgaW5mbHVl
bmNlIGxvYWQgYmFsYW5jaW5nIGluIHRoZSBpbnZvbHZlZCBub2RlczsgIGFuZCBob3cgdGhpcyB3
aWxsIGJlIG1peGVkIC8gY29leGlzdCB3aXRoIHRoZSBzZXJ2ZXJzICwgcmVhbG0gbG9hZCBpbmZv
Lg0KDQpUaGUgYXBwcm9hY2ggd2Ugd2lsbCB0YWtlIGNhbiBiZSBzdW1tYXJpemVkIGluIGEgcGFy
YWdyYXBoIG9mIEJlbuKAmXMgZHJhZnQgb24gY29uc2lkZXJhdGlvbnMuDQoNClZpZXdzIGZyb20g
b3RoZXJzPw0KDQpCZXN0IHJlZ2FyZHMNCg0KSkphY3F1ZXMNCg0KDQpEZSA6IFdpZWhlLCBVbHJp
Y2ggKE5TTiAtIERFL011bmljaCkgW21haWx0bzp1bHJpY2gud2llaGVAbnNuLmNvbV0NCkVudm95
w6kgOiBtZXJjcmVkaSAxNCBqYW52aWVyIDIwMTUgMTE6MzkNCsOAIDogVFJPVFRJTiwgSkVBTi1K
QUNRVUVTIChKRUFOLUpBQ1FVRVMpOyBCZW4gQ2FtcGJlbGwNCkNjIDogZGltZUBpZXRmLm9yZw0K
T2JqZXQgOiBSRTogW0RpbWVdIERpYW1ldGVyIGxvYWQgY29udHJvbCBpbnB1dHMNCg0KSGkgSmVh
bi1KYWNxdWVzLA0KDQpJIHdvdWxkIGxpa2UgdG8gbGltaXQgRGlhbWV0ZXIgbG9hZCBjb250cm9s
IHRvIHNlcnZlciAgKGhvc3QpIGxvYWQgYW5kIHJlYWxtIGxvYWQgaW4gYSBmaXJzdCBzdGVwIGFu
ZCBsZWF2ZSBhZ2VudCBsb2FkIGZvciBhIHNlY29uZCBzdGVwLg0KV2UgbmVhcmx5IGhhdmUgY29t
cGxldGVkIERpYW1ldGVyIE92ZXJsb2FkIGNvbnRyb2wgd2hpY2ggaXMgbGltaXRlZCB0byBzZXJ2
ZXIgKGhvc3QpIG92ZXJsb2FkIGFuZCByZWFsbSBvdmVybG9hZCwgd2hpbGUgdGhlIGFnZW50IG92
ZXJsb2FkIGRyYWZ0ICBpcyBub3QgY29tcGxldGUuDQoNCk9uY2UgQWdlbnQgT3ZlcmxvYWQgY29u
dHJvbCBpcyBzdGFibGUgd2UgbWF5IGNvbnNpZGVyIGV4dGVuZGluZyBpdCB3aXRoIGFnZW50IGxv
YWQgY29udHJvbC4NCg0KQmVzdCByZWdhcmRzDQpVbHJpY2gNCg0KRnJvbTogRGlNRSBbbWFpbHRv
OmRpbWUtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIGV4dCBUUk9UVElOLCBKRUFOLUpB
Q1FVRVMgKEpFQU4tSkFDUVVFUykNClNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDA4LCAyMDE1IDE6
NDQgUE0NClRvOiBCZW4gQ2FtcGJlbGwNCkNjOiBkaW1lQGlldGYub3JnPG1haWx0bzpkaW1lQGll
dGYub3JnPg0KU3ViamVjdDogUmU6IFtEaW1lXSBEaWFtZXRlciBsb2FkIGNvbnRyb2wgaW5wdXRz
DQoNCkhpIEJlbg0KDQpUaGFua3MgZm9yIHlvdXIgZmVlZGJhYw0KDQpSZWdhcmRpbmcgeW91ciBo
aWdoIGxldmVsIG9ic2VydmF0aW9uczsNCg0KMSkgQWJvdXQgIHRoZSBmaWd1cmUgeW91IGRlc2Ny
aWJlZCAgd2l0aCBhIGNvbm5lY3Rpb24gYmV0d2VlbiAgUzEgYW5kIFMyOg0KDQogIOKAlC0tLS0t
LVMxDQovICAgICAgICB8DQpDMSAgICAgICB8DQpcICAgICAgICB8DQogIOKAlOKAlC0tLS0tUzIN
CllvdSBzYXkgdGhhdCBTMSBvciBTMiBjYW4gcHJveHkgYSByZXF1ZXN0LCB0aGlzIGlzIGZvciBt
ZSByYXRoZXIgZXF1aXZhbGVudCAgdG8gUzEgaGF2aW5nIGEgY29sbG9jYXRlZCAgcHJveHkgREEs
IHNvIGJlaW5nIGEgcGFydGljdWxhciBjYXNlIG9mIGZpZ3VyZSA1LjMuIFNvIEkgc3VnZ2VzdCB0
byBjb250aW51ZSB0byB1c2UgNS4zIGFsc28gY292ZXJpbmcgc2VydmVycyB3aXRoIG5vbiBjb2xv
Y2F0ZWQgREFzLCB1bmxlc3MgeW91IHdvdWxkIHlvdSBsaWtlIHRoZSBhYm92ZSB1c2UgY2FzZSB0
byBiZSBoYW5kbGVkIHNlcGFyYXRlbHkNCg0KSSBhZ3JlZSB0aGF0IHRoZSBwYXRoIEMxPlMxIChv
ciBDMT5BMT5TMSBpbiA1LjMpIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gQzE+UzE+UzIgKCBvciBD
MT5BMT5BMj5TMiBpbiA1LjMpIGFuZCB0aGF0IG90aGVyIOKAnGNyb3NzIGNvbm5lY3TigJ0gdXNl
IGNhc2VzIGluIG90aGVyIGZpZ3VyZXMgYWxzbyBwcmVzZW50IHBhdGhzIHdpdGggbW9yZSBob3Bz
IHRoYW4gb3RoZXJzLiAgVGhlIHF1ZXN0aW9uIHdoaWNoIHlvdSByYWlzZSBhbmQgb24gd2hpY2gg
dGhlIGdyb3VwIHdpbGwgaGF2ZSB0byB0YWtlICBhIGRlY2lzaW9uIGlzOiAgZG8gd2UgZm9jdXMg
b25seSBvbiBsb2FkIGJhbGFuY2luZyBiZXR3ZWVuIHRoZSBzaG9ydGVzdCBwYXRocyAobG9uZ2Vy
IHBhdGhzIHVzZWQgb25seSBmb3Igb3ZlcmxvYWQgb3IgZmFpbHVyZSBjYXNlcyBhcyB5b3UgaW5k
aWNhdGVkICksIG9yIGlmIGl0IGlzIHJlbGV2YW50IHRvIGFsc28gIGNvbnNpZGVyIGxvbmdlciBw
YXRocyBmb3IgbG9hZCBiYWxhbmNpbmcsIHRoZSBzZWNvbmQgY2hvaWNlIG1heSBzaWduaWZpY2Fu
dGx5IG1ha2UgdGhlIGxvYWQgYmFsYW5jaW5nIGluZm9ybWF0aW9uIHRvIGRlYWwgd2l0aCBtb3Jl
IGNvbXBsZXguIEJ1dCB3ZSBoYXZlIGZpcnN0ICB0byBhc3Nlc3MgdGhlIHJlcXVpcmVtZW50Lg0K
VHdvIGhlcmVhZnRlciBvYnNlcnZhdGlvbnMNCg0KMS4xKSBJbiBmaWd1cmUgNS4zOiBpZiBTMSBp
cyBtb3JlIGxvYWRlZCB0aGFuIFMyICwgZm9yIHJlYWxtIHJvdXRlZCByZXF1ZXN0cywgQzEsIHRv
IGFjaGlldmUgbG9hZCBiYWxhbmNpbmcsIG5lZWRzIGEgIGxvYWQgaW5mbyBmb3IgdGhlIHJlYWxt
IHZpYSAgQTEgKGFjY29yZGluZyB0byBTMSBsb2FkKSwgIGFuZCBhbm90aGVyIGxvYWQgaW5mbyB2
aWEgQTIgKGFjY29yZGluZyB0byBTMiBsb2FkKQ0KDQoNCg0KMS4yKSAgQW5vdGhlciBkcmF3aW5n
DQoNCkMxLS0tQTEtLS0tLS1TMQ0KICAgIHwNCiAgICB8DQpDMi0tLUEyLS0tLS0tUzINCg0KaWYg
UzEgaXMgbW9yZSBsb2FkZWQgdGhhbiBTMiwgQTEgbWF5IHNlbmQgc29tZSB0cmFmZmljIGNvbWlu
ZyBmcm9tIEMxIHRvIFMyIHZpYSBBMiwgc28gd2l0aCAgYSBsb25nZXIgcGF0aCBDMT5BMT5BMj5T
MiB0aGFuIEMxPkExPlMxLiBUaGlzIG1lYW5zIHRoYXQgQTEgaGFzIGxvYWQgaW5mb3JtYXRpb24g
YWJvdXQgUzIgYW5kIGFib3V0IFMxIHRvIGRvIGxvYWQgYmFsYW5jaW5nLiBEb2VzIHRoaXMgY2Fz
ZSBlbnRlciBvdXIgc2NvcGUuPw0KDQoNCg0KMikgQWJvdXQNCiAgIOKAlOKAlEExLS1TMS4uLlNu
DQogLw0KQw0KIFwNCiAgIOKAlOKAlEEyLS1TbisxLi4uU20NCg0KTXkgZHJhd2luZ3MgNS41IHRv
IDUuNyBhcHBlYXIgdG8gYmUgYSBiaXQgY29uZnVzaW5nLCBpbiBmYWN0IG15IGRpYWdyYW1zIHNo
b3VsZCBiZSBjb3JyZWN0ZWQgYXMgdGhpcyBvbmU6DQoNCiAgICAgIC8tLS1TMQ0KICAg4oCU4oCU
QTEtLS0uLi4NCiAgLyAgfFwtLS1Tbg0KIC8gICB8DQpDICAgIHwNCiBcICAgfC8tLVNuKzENCiAg
IOKAlOKAlEEyLS0uLi4NCiAgICAgIFwtLVNtDQpTbyB0aGUgdXBzdHJlYW0gc2VydmVycyBhcmUg
IGRpcmVjdGx5IGNvbm5lY3RlZCB0byBhIERBLg0KDQoNCg0KMykgUGxlYXNlIGxldCBtZSBrbm93
IGhvdyB5b3Ugd291bGQgbGlrZSB0byBJbnNlcnQgdGhlIGFuYWx5c2lzIGludG8gdGhlIG5ldyB2
ZXJzaW9uIG9mIHlvdXIgZHJhZnQgLiAgSSB0aGluayB3ZSBtYXkgaGF2ZSBhIGRlZGljYXRlZCBz
ZWN0aW9uIGFib3V0IHRvcG9sb2d5IHVzZSBjYXNlcy4NCg0KQmVzdCByZWdhcmRzDQoNCkpKYWNx
dWVzDQoNCg0KDQoNCkRlIDogQmVuIENhbXBiZWxsIFttYWlsdG86YmVuQG5vc3RydW0uY29tXQ0K
RW52b3nDqSA6IG1lcmNyZWRpIDcgamFudmllciAyMDE1IDAxOjAxDQrDgCA6IFRST1RUSU4sIEpF
QU4tSkFDUVVFUyAoSkVBTi1KQUNRVUVTKQ0KQ2MgOiBkaW1lQGlldGYub3JnPG1haWx0bzpkaW1l
QGlldGYub3JnPg0KT2JqZXQgOiBSZTogW0RpbWVdIERpYW1ldGVyIGxvYWQgY29udHJvbCBpbnB1
dHMNCg0KSGkgSkphY3F1ZXMsDQoNClRvIGFuc3dlciB5b3VyIGxhdCBxdWVzdGlvbiBmaXJzdCwg
SSB0aGluayB0aGlzIGlzIGEgdXNlZnVsIGFuYWx5c2lzLCBhbmQgd291bGQgYmUgd2lsbGluZyB0
byBjb21iaW5lIGl0IGludG8gYSBuZXcgdmVyc2lvbiBvZiBteSBwcmV2aW91cyBkcmFmdC4gV2Ug
Y2FuIHRhbGsgYWJvdXQgdGhlIGRldGFpbHMgb2YgdGhhdCBvZmZsaW5lLg0KDQpTZWNvbmQsIHNv
bWUgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbnM6DQoNCkZpcnN0LCBGcm9tIGEgbG9hZC1iYWxhbmNp
bmcgcGVyc3BlY3RpdmUsIEZpZ3VyZSA1LjMgaXMgZnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8g
dGhlIGZvbGxvd2luZzoNCg0KDQogIOKAlC0tLS0tLVMxDQovICAgICAgICB8DQpDMSAgICAgICB8
DQpcICAgICAgICB8DQogIOKAlOKAlC0tLS0tUzINCldoZXJlIFMxIGFuZCBTMiBjYW4gcHJveHkg
cmVxdWVzdHMgdG8gdGhlIG90aGVyIGFjY29yZGluZyB0byBzb21lIHBvbGljeSAoZS5nLiBsb2Fk
IGJhbGFuY2luZykuIEkgZG9u4oCZdCBtZWFuIHRvIHN1Z2dlc3QgeW91IHdvdWxkIGRlcGxveSBp
dCB0aGF0IHdheSwgYnV0IGl0IG1ha2VzIGFub3RoZXIgb2JzZXJ2YXRpb24gbW9yZSBvYnZpb3Vz
LCB3aGljaCBpcyB0aGF0IEMxLT5TMSBvciBDMS0+UzIgYXJlIG1vcmUgZWZmaWNpZW50IHRoYW4g
QzEtPlMxLT5TMiBvciBDMS0+UzItPlMxLg0KDQpNeSBpbml0aWFsIHJlYWN0aW9uIGlzIHRvIHRo
aW5rIHRoYXQgd2UgY2FuIGdlbmVyYWxpemUgdGhpcyB0byB0aGUgdmFyaW91cyB1c2UgY2FzZXMg
dGhhdCBoYXZlIGNyb3NzLWNvbm5lY3RlZCBhZ2VudHMuIFRoYXQgaXMsIHdoZW4gYWxsIGVsc2Ug
aXMgZXF1YWwsIHNob3J0ZXIgcGF0aHMgYmV0d2Vlbg0KY2xpZW50IGFuZCBzZXJ2ZXIgYXJlIGJl
dHRlciB0aGFuIGxvbmdlciBvbmVzLiBUaGlzIHNlZW1zIHRvIHN1Z2dlc3QgdGhhdCB0aGUgY3Jv
c3MtcGF0aCBjb25uZWN0aW9ucyBiZSByZXNlcnZlZCBmb3IgZmFpbHVyZSBvciBvdmVybG9hZCBj
YXNlcy4gVGhpcyBwcm9iYWJseSBoYXMgaW1wbGljYXRpb25zIG9uIHdoZXRoZXIgdGhlIGxvYWQg
bWV0cmljIHNlbnQgYnkgYW4gYWdlbnQgc2hvdWxkIHNvbWVob3cgYWdncmVnYXRlIHRoZSBsb2Fk
IG1ldHJpY3Mgb2YgaXRzIHNlcnZlcnMuIChPciBhdCBsZWFzdCB0YWtlIHRoZW0gYXMgYW4gaW5w
dXQuKQ0KDQpTZWNvbmQsIHlvdXIgZmlndXJlcyA1LjUtNS43IHN1Z2dlc3QgdGhhdCB3ZSBtYXkg
aGF2ZSBjYXNlcyB3aGVyZSB0aGUgbnVtYmVyIG9mIHNlcnZlcnMgdG8gdGhlIHJpZ2h0IG9mIGFu
IGFnZW50IG1heSBub3QgYmUga25vd24gYnkgdGhlIGNsaWVudC4gSGVyZeKAmXMgYSBzaW1wbGlm
aWVkIHZpZXc6DQoNCiAgIOKAlOKAlEExLS1TMS4uLlNuDQogLw0KQw0KIFwNCiAgIOKAlOKAlEEy
LS1TbisxLi4uU20NCg0KDQpJbiB0aGlzIGNhc2UsIHRoZSBsb2FkIG1ldHJpY3MgZm9yIHRoZSBz
ZXJ2ZXJzIGFyZSBvZiBsaXR0bGUgdXNlIHRvIEMsIHNpbmNlIGluIGdlbmVyYWwgQyB3aWxsIG5v
dCBrbm93IGlmIGl04oCZcyBrbm93bGVkZ2UgZW5jb21wYXNzZXMgYWxsIHBvc3NpYmxlIGRlc3Rp
bmF0aW9ucy4gKEEgcmVsYXRlZCBxdWVzdGlvbiBpcyB3ZXRoZXIgdGhlIF9hZ2VudHNfIGFjdHVh
bGx5IGtub3cgdGhlIGxvYWQgbWV0cmljcyBmb3IgYWxsIHRoZSBwb3NzaWJsZSBkZXN0aW5hdGlv
bnMuIEnigJltIG5vdCBzdXJlIHRoZXkgYWx3YXlzIGRvLCBlLmcuIGlmIHRoZXkgYXJlIHVzaW5n
IGR5bmFtaWMgZGlzY292ZXJ5Lg0KDQoNCg0KT24gSmFuIDQsIDIwMTUsIGF0IDExOjM4IEFNLCBU
Uk9UVElOLCBKRUFOLUpBQ1FVRVMgKEpFQU4tSkFDUVVFUykgPGplYW4tamFjcXVlcy50cm90dGlu
QGFsY2F0ZWwtbHVjZW50LmNvbTxtYWlsdG86amVhbi1qYWNxdWVzLnRyb3R0aW5AYWxjYXRlbC1s
dWNlbnQuY29tPj4gd3JvdGU6DQoNCkRlYXIgYWxsDQoNCkkgZmlyc3Qgd2lzaCB5b3UgYSAgaGFw
cHkgIG5ldyB5ZWFyIGZvciB5b3UgYW5kIHlvdXIgZmFtaWx5IGFzIHdlbGwgaW4geW91ciBwcm9m
ZXNzaW9uYWwgbGlmZS4NCg0KSSBoZXJlYWZ0ZXIgYWRkcmVzcyBvdXIgbmV3IHRvcGljIG9uIERp
YW1ldGVyIGxvYWQgY29udHJvbC4NCkkgYW0gaW4gZmF2b3IgdG8gY29udGludWUgdGhlIHdvcmsg
dGhhdCBCZW4gaGFzIGNvdmVyZWQgaW4gaGlzIOKAnGRyYWZ0LWNhbXBiZWxsLWRpbWUtbG9hZC1j
b25zaWRlcmF0aW9ucy0wMOKAnSBkb2N1bWVudCwgYnkgYWRkaW5nLCBpbnZlc3RpZ2F0aW5nIHZh
cmlvdXMgY29uc2lkZXJhdGlvbnMuDQoNCkkgaGVyZWFmdGVyIGdpdmUgc2V2ZXJhbCBhZGRpdGlv
bmFsIHNlY3Rpb24gcGFydHMgb3IgcGFyYWdyYXBocyAgdGhhdCBJIHRoaW5rIGNvdWxkIGJlIGlu
c2VydGVkIGluIEJlbuKAmXMgZHJhZnQuIEkgaGF2ZSBwdXQgc29tZSB0aXRsZXMgYW5kIG51bWJl
cmluZyAoI0wxLCAjTDIg4oCmKSAgdG8gcmV1c2UgaW4gc2VwYXJhdGVkIGVtYWlsIHRyZWFkcyBm
b3IgZGlzY3Vzc2lvbi4NCg0KSSBoYXZlIGluY2x1ZGVkIHRvcG9sb2d5IHVzZSBjYXNlcy4gRm9y
IERpYW1ldGVyIG92ZXJsb2FkLCAgU3RldmUgZGlkIHNldmVyYWwgIHByZXNlbnRhdGlvbnMgb24g
dGhlICB2YXJpb3VzIHVzZSBjYXNlcyB0byBjb25zaWRlci4gSSB0aGluayBhbHNvIGdvb2QgdG8g
ZG8gdGhlIHNhbWUgZm9yIERpYW1ldGVyIGxvYWQsIGFuZCB0byBpbnNlcnQgc3VjaCB1c2UgY2Fz
ZXMgaW4gdGhlIEJlbuKAmXMgZHJhZnQuIFlvdSBtYXkgY29uc2lkZXIgdGhpcyBsaXN0IHNvbWV3
aGF0IGxvbmcgYnV0IHRoZXNlIHVzZSBjYXNlcyBoaWdobGlnaHQgYSBjZXJ0YWluIG51bWJlciBv
ZiBwb2ludHMgZm9yIHdoaWNoIHdlIHdpbGwgaGF2ZSB0byB0YWtlIHNvbWUgZGVjaXNpb25zIChl
ZyB0byBjb3ZlciB0aGVtIG9yIG5vdCBvciB0byBzZWUgbGF0ZXIgaWYgIHNvbHV0aW9uIGFzc3Vt
cHRpb25zIGFwcGx5IHdlbGwpLiBUaGVyZSBhcmUgbW9yZSBmcm9tIGEgcmVxdWlyZW1lbnQgdmll
d3BvaW50IHRoYW4gaW4gdGhlIHNvbHV0aW9uIGl0c2VsZiBhcyBJIGRvIG5vdCBhZGRyZXNzIHRo
ZSBleGFjdCBjb250ZW50IG9mIGxvYWQgaW5mb3JtYXRpb24gYW5kIHRoZSB3YXkgaXQgd2lsbCBi
ZSB0cmFuc2ZlcnJlZA0KDQoNCiNMMSAgIFRvcG9sb2d5IHVzZSBjYXNlcyAoY2FuIGJlIGluc2Vy
dGVkIGluIHNlY3Rpb24gNSApDQoNCg0KICAgICAgICAgIC0tLS0tLVMxDQogICAgICAgIC8NCiAg
ICAgIEMxDQogICAgICAgIFwNCiAgICAgICAgICAtLS0tLS1TMg0KRmlndXJlIDUuMQ0KDQpJbiB0
aGlzIHNpbXBsZSBjYXNlIChubyBEQSkgZS5nLiBmb3IgYSBzbWFsbCBuZXR3b3JrLCB0aGUgc2Vy
dmVycyBhcmUgcGVlcnMgb2YgdGhlIGNsaWVudC4gVGhlIGNsaWVudCBzZWxlY3RzIHRoZSBzZXJ2
ZXIgYWNjb3JkaW5nIHRvIHRoZSBsb2FkIGluZm9ybWF0aW9uIGl0IHJlY2VpdmVzIGZyb20gdGhl
IHNlcnZlcnMuDQoNCg0KICAgICAgICAgIC0tLS0tLVMxDQogICAgICAgIC8NCkMxLS0tLUENCiAg
ICAgICAgXA0KICAgICAgICAgIC0tLS0tLVMyDQpGaWd1cmUgNS4yDQoNClRoZSBhZ2VudCBzZWxl
Y3RzIHRoZSBzZXJ2ZXIgYWNjb3JkaW5nIHRvIHRoZSBsb2FkIGluZm9ybWF0aW9uIGl0IHJlY2Vp
dmVzIGZyb20gdGhlIHNlcnZlcnMuIEhlcmUsIHRoZSBjbGllbnQgZG9lcyBub3QgbmVlZCB0byBy
ZWNlaXZlIGxvYWQgaW5mb3JtYXRpb24gYXMgaXQgZG9lcyBub3QgZG8gbG9hZCBiYWxhbmNpbmcu
IEl0IGlzIHRvIGNoZWNrIGlmIGxvYWQgaW5mb3JtYXRpb24gd291bGQgYmUgdXNlZnVsIHRvIHRo
ZSBjbGllbnQgZm9yIG90aGVyIHB1cnBvc2VzIChlLmcuIGFudGljaXBhdGluZyBhIGZ1dHVyZSBv
dmVybG9hZCBvZiB0aGUgc2VydmVyKS4NCg0KDQogICAtLS1BMS0tLS0tLVMxDQovICAgIHwNCkMx
ICAgfA0KXCAgICB8DQogICAtLS1BMi0tLS0tLVMyDQoNCkZpZ3VyZSA1LjMNCg0KQzEgd2hlbiBz
ZW5kaW5nIGEgcmVhbG0gcm91dGVkIHJlcXVlc3QgZXZlbiBkb2VzIG5vdCBrbm93IHdoaWNoIHNl
cnZlciB3aWxsIGhhbmRsZSB0aGUgcmVxdWVzdCBhbiBldmVuIG1vcmUgZG9lcyBub3Qga25vdyB0
byB3aGljaCBEQSBTMSBhbmQgUzIgYXJlIGNvbm5lY3RlZCB0by4gU28gdGhlIGxvYWQgaW5mb3Jt
YXRpb24gb24gdGhlIHNlcnZlcnMgaXMgbm90IHVzZWZ1bC4gQnV0IEMxIGhhcyB0byBzZWxlY3Qg
dG8gd2hpY2ggZnJvbSBBMSBvciBBMiBpdCB3aWxsIHNlbmQgdGhlIHJlcXVlc3QuIEl0IGNhbiBk
byBpdCBvbiB0aGUgYmFzaXMgb2YgdGhlIGxvYWQgaW5mb3JtYXRpb24gb2YgQTEgb3IgQTIuIEJ1
dCBpcyBpdCBzdWZmaWNpZW50Pw0KSWYgUzEgaGFzIGhpZ2ggbG9hZCBhbmQgUzIgYSBzbWFsbCBv
bmUsIHRvIGltcHJvdmUgdGhlIGxvYWQgYmFsYW5jaW5nIHdvdWxkIG1lYW4gdGhhdA0KYSkgQzEg
c2VuZHMgbW9yZSB0cmFmZmljIHRvIEEyIHdoaWNoIGZvcndhcmQgdG8gUzIsIG1lYW5pbmcgdGhh
dCBDMSBoYXMgcmVjZWl2ZWQgbG9hZCBpbmZvcm1hdGlvbiBmcm9tIEEyIG5vdCBvbmx5IGluY2x1
ZGluZyBBMiBsb2FkIGJ1dCBhbHNvIHRoZSBTMiBsb2FkDQpiKSBvciBDMSwgaGF2aW5nIG5vIGlu
Zm9ybWF0aW9uIG9uIHNlcnZlciBsb2FkIGVxdWFsbHkgc2VuZHMgdHJhZmZpYyB0byBBMSBhbmQg
QTIuIFRoZW4gaWYgQTEgcmVjZWl2ZXMgZnJvbSBBMiBsb2FkIGluZm9ybWF0aW9uIGluY2x1ZGlu
ZyB0aGUgbG9hZCBvZiBTMiBtYXkgdGhlbiBkZWNpZGUgdG8gcm91dGUgbW9yZSB0cmFmZmljIHRv
IFMyIHZpYSBBMi4gVGhpcyBpcyBsZXNzIG9wdGltYWwgdGhhbiB0aGUgZmlyc3QgY2FzZSBhcyBh
ZGRpbmcgYSBuZXcgaG9wIGluIHRoZSBwYXRoIChDMS1BMS1BMi1TMi4NCg0KQW4gaW5pdGlhbCBx
dWVzdGlvbiBpcyB0byBjb25zaWRlciBpZiB0aGlzIHN1YmNhc2VzIGEpIGFuZCBiKSBhcmUgcmVs
ZXZhbnQgYW5kIGVudGVyIHRoZSBzY29wZS4NCg0KQzEsIHdoZW4gc2VuZGluZyBhIGhvc3Qgcm91
dGVkIHJlcXVlc3QsIGNhbiBkbyBpdCB2aWEgQTEgb3IgQTIgYXMgcm91dGluZyBmb3IgQzEgaXMg
YmFzZWQgb24gdGhlIHJlYWxtLiBJcyBpdCB0byBiZSBjb25zaWRlcmVkIGlmIGxvYWQgY29udHJv
bCBpbmZvcm1hdGlvbiByZWNlaXZlZCBieSBDMSBnaXZlcyBzb21lIGhpbnQgdG8gcmF0aGVyIHNl
bGVjdCBBMSByYXRoZXIgdGhhbiBBMiB3aGVuIFMxIGlzIHRoZSBkZXN0aW5hdGlvbiBob3N0LCBz
byB0byBhdm9pZCBhbiBhZGRpdGlvbmFsIGhvcD8gT3IgaWYgaXQgaXMgb3V0IG9mIHRoZSBzY29w
ZT8NCg0KDQogICAgICAgICAtLS0tLVMzDQogICAgICAgLw0KICAgLS0tQTEtLS0tLS1TMQ0KLyAg
ICB8DQpDMSAgIHwNClwgICAgfA0KICAgLS0tQTItLS0tLS1TMg0KICAgICAgIFwNCiAgICAgICAg
IC0tLS0gUzQNCkZpZ3VyZSA1LjQNCg0KVGhpcyBkaWFncmFtIGlzIGFuIGV4dGVuc2lvbiBvZiB0
aGUgcHJldmlvdXMgb25lIHdpdGggYWRkaXRpb25hbCBzZXJ2ZXJzIGNvbm5lY3RlZCB0byBBMSBh
bmQgQTIgYW5kIGNvdWxkIGJlIG1vcmUgY29tbW9uIHRoYW4gNS4zLg0KQ29tcGFyZWQgdG8gdGhl
IHByZXZpb3VzIGRpYWdyYW0sDQotIGZvciB0aGUgc3ViY2FzZSBhKSwgZm9yIHJlYWxtIHJvdXRl
ZCByZXF1ZXN0IEMxIGNob2ljZSBiZXR3ZWVuIEExIGFuZCBBMiBjYW4gcmVseSBvbiB0aGUgY29t
YmluZWQgKG9yIGFnZ3JlZ2F0ZWQpIGxvYWQgb2YgUzEgYW5kIFMzIGNvbXBhcmVkIHRvIHRoZSBh
Z2dyZWdhdGVkIGxvYWQgb2YgUzIgYW5kIFM0Lg0KLSBmb3IgdGhlIHN1YmNhc2UgYikgc2ltaWxh
cmx5LCBBMSB3b3VsZCBjb21wYXJlIGFuIGFnZ3JlZ2F0ZWQgbG9hZCBvZiBTMiBhbmQgUzQgcmVj
ZWl2ZWQgZnJvbSBBMiB0byB0aGUgYWdncmVnYXRlZCBsb2FkIG9mIFMxIGFuZCBTMy4NCg0KVGhp
cyB1c2UgY2FzZSBtYXkgZHJpdmUgdG8gY29uc2lkZXIgaWYgdGhlIGxvYWQgb2YgYSBzZXQgb2Yg
bm9kZXMgKGFnZ3JlZ2F0ZWQgbG9hZCkgd291bGQgYmUgdXNlZnVsIG9yIGlmIGl0IGNhbiBiZSBh
dm9pZGVkLg0KDQoNCiAgIC0tLUExLS0tUzEsIFMzIOKApg0KLyAgICB8IFwvDQpDMSAgIHwgL1wN
ClwgICAgfC8gIFwNCiAgIC0tLUEyLS0tUzIsIFM0IOKApg0KDQpGaWd1cmUgNS41DQoNCkluIHRo
aXMgZGlhZ3JhbSwgYWxsIHNlcnZlcnMgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBzZXQgb2Yg
REFzLCB3aGljaCBtdWx0aXBseSB0aGUgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGJldHdlZW4gc2Vy
dmVycyBhbmQgdGhlaXIgREFzOyBvdGhlcndpc2UsIHdlIGNvbWUgYmFjayB0byB0aGUgZmlndXJl
IDUuNCBjYXNlIG9yIGFuIGh5YnJpZCBjYXNlIGJldHdlZW4gZmlndXJlIDUuNCBhbmQgNS41Lg0K
QzEgd2hlbiBzZW5kaW5nIGEgcmVxdWVzdCBtYXkgc2VsZWN0IEExIG9yIEEyIGFjY29yZGluZyB0
byBhIGxvYWQgaW5mb3JtYXRpb24gb25seSByZWxhdGVkIHRvIEExIGxvYWQgYW5kIEEyIGxvYWQu
IFRoaXMgc2VsZWN0aW9uIGlzIGluZGVwZW5kZW50IGZyb20gdGhlIHNlcnZlciBsb2FkLCBleGNl
cHQgaWYgd2UgdGFrZSBpbnRvIGFjY291bnQgZS5nLiB0aGUgbG9hZCBvZiB0aGUgQTEvUzEgY29u
bmVjdGlvbiBhbmQgdGhlIGxvYWQgb2YgQTIvUzEgY29ubmVjdGlvbiB3aGljaCBtYXkgYmUgZGlm
ZmVyZW50Lg0KDQpBMSAob3IgQTIpIHRoZW4gc2VsZWN0cyB0aGUgc2VydmVyIGFjY29yZGluZyB0
byBsb2FkIGluZm9ybWF0aW9uIHJlY2VpdmVkIGZyb20gdGhlc2Ugc2VydmVycywgZXhjZXB0IGZv
ciBob3N0IHJvdXRlZCByZXF1ZXN0cy4NCg0KDQogICAtLS1BMS0tLUEzLS0tLVMxLCBTMyDigKYN
Ci8gICAgfCBcLyB8DQpDMSAgIHwgL1wgfA0KXCAgICB8LyAgXHwNCiAgIC0tLUEyLS0tQTQtLS0t
UzIsIFM0IOKApg0KDQpGaWd1cmUgNS42DQoNClRoaXMgZGlhZ3JhbSBpbnRyb2R1Y2VzIOKAnHR3
byBsYXllcnPigJ0gb2YgREFzIGJldHdlZW4gY2xpZW50cyBhbmQgc2VydmVycy4NCkNvbXBhcmVk
IHRvIGZpZ3VyZSA1LjMgb3IgNS40LCBDMSB3aGVuIHNlbmRpbmcgYSByZXF1ZXN0IG1heSBzZWxl
Y3QgQTEgb3IgQTIgYWNjb3JkaW5nIHRvIGEgbG9hZCBpbmZvcm1hdGlvbiBvbmx5IHJlbGF0ZWQg
dG8gQTEgbG9hZCBhbmQgQTIgbG9hZC4gVGhlbiBBMShvciBBMil3aGVuIGRvaW5nIGZ1cnRoZXIg
cm91dGluZywgYXJlIGluIGEgc2ltaWxhciBzaXR1YXRpb24gdG8gQzEgaW4gRmlndXJlcyA1LjMg
b3IgNS40Lg0KDQoNCiAgIC0tLUExLS0tQTMtLS1TMSwgUzMg4oCmDQovICAgIHwgXC8gfCBcLw0K
QzEgICB8IC9cIHwgL1wNClwgICAgfC8gIFx8LyAgXA0KICAgLS0tQTItLS1BNC0tLVMyLCBTNCDi
gKYNCg0KRmlndXJlIDUuNw0KQXMgaW4gZmlndXJlIDUuNCwgYWxsIHNlcnZlcnMgYXJlIGNvbm5l
Y3RlZCB0byBhIGNvbW1vbiBzZXQgb2YgREFzIChoZXJlIEEzLCBBNCksIHdoaWNoIG11bHRpcGx5
IHRoZSBudW1iZXIgb2YgY29ubmVjdGlvbnMgYmV0d2VlbiBzZXJ2ZXJzIGFuZCB0aGVpciBEQXM7
IG90aGVyd2lzZSwgd2UgY29tZSBiYWNrIHRvIHRoZSBmaWd1cmUgNS42IGNhc2Ugb3IgYSBoeWJy
aWQgY2FzZSBiZXR3ZWVuIGZpZ3VyZXMgNS42IGFuZCA1LjcuDQpDMSB3aGVuIHNlbmRpbmcgYSBy
ZXF1ZXN0IG1heSBzZWxlY3QgQTEgb3IgQTIgYWNjb3JkaW5nIHRvIGEgbG9hZCBpbmZvcm1hdGlv
biBvbmx5IHJlbGF0ZWQgdG8gQTEgbG9hZCBhbmQgQTIgbG9hZC4gVGhpcyBzZWxlY3Rpb24gaXMg
aW5kZXBlbmRlbnQgZnJvbSB0aGUgc2VydmVyIGxvYWQuDQpUaGVuIEExIG9yIEEyIGZvciBmdXRy
amVyIHJvdXRpbmcgaGF2ZSBhIHNpbWlsYXIgc2l0dWF0aW9uIHRvIEMxIGluIGZpZ3VyZSA1LjUu
DQpUaGlzIGNhc2Ugb2ZmZXIgYSBoaWdoIGZsZXhpYmlsaXR5IGFib3V0IGxvYWQgc2hhcmluZyB0
aGF0IGNhbiBiZSBkb25lIGluIGRpZmZlcmVudCBwbGFjZXMsIGJ1dCBhbHMgbyBtYXkgaW50cm9k
dWNlIGhpZ2hlciBjb21wbGV4aXR5IGFib3V0IHNlbGVjdGluZyB0aGUgcmlnaHQgcm91dGluZy4N
Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoNCiNMMiAgICBQYXJ0aXRpb25lZCBzZXJ2
ZXJzIChjYW4gYmUgYWRkZWQgaW4gc2VjdGlvbiA1KQ0KDQpUaGlzIHRoZSBjYXNlIG9mIHJlYWxt
IHJvdXRlZCByZXF1ZXN0IHdoZXJlIG9ubHkgb25lIG9yIHNvbWUgc2VydmVycyBpbiB0aGUgc2Ft
ZSByZWFsbSBjYW4gaGFuZGxlIHRoZSByZXF1ZXN0LCBzbyBubyBsb2FkIGJhbGFuY2luZyB0byBv
dGhlciBzZXJ2ZXJzIG9mIHRoZSByZWFsbSBjYW4gYmUgYWNoaWV2ZWQuIEFuIGludGVybWVkaWF0
ZSBwcm94eSBEQSB3aWxsIHNlbGVjdCB0aGUgcG9zc2libGUgc2VydmVyKHMpZm9yIHRoaXMgcmVx
dWVzdCwgYW5kIGlmIHNldmVyYWwgc2VydmVycywgdGhlIERBIG1heSBkbyBzb21lIGxvYWQgYmFs
YW5jaW5nIGJldHdlZW4gdGhlbSBhbmQgaWYgb25lIHNlcnZlciwgdGhlIERBIG1heSBhY3QgYXMg
d2l0aCBob3N0IHJvdXRlZCByZXF1ZXN0cy4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
DQojTDMgICAgQWN0aXZlIGFuZCBzdGFuZCBieSBub2RlcyAoY2FuIGJlIGluc2VydGVkIGluIHNl
Y3Rpb24gNSkNCg0KSW4gdGhlIGFib3ZlIHRvcG9sb2d5IHVzZSBjYXNlcywgaXQgaXMgYXNzdW1l
ZCB0aGF0IGxvYWQgc2hhcmluZyBjYW4gYmUgdXNlZCBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgcG9z
c2libGUgY29ubmVjdGlvbnMgb2YgdGhlIGZpZ3VyZXMuIElmIG5vZGVzIGFyZSBpbiBhbiAgYWN0
aXZlIGFuZCBzdGFuZCBieSBjb25maWd1cmF0aW9ucywgdGhlIGZpZ3VyZXMgdG8gY29uc2lkZXIg
YXJlIHdpdGggdGhlIG9ubHkgYWN0aXZlIGNvbm5lY3Rpb25zLiBUaGUgc3dpdGNoIGZyb20gdGhl
IGFjdGl2ZSB0byB0aGUgc3RhbmQgYnkgbm9kZSB3aXRoIHRoZSBsb2FkIGhhbmRsaW5nIGFzcGVj
dCBpcyBhbm90aGVyIHRvcGljLg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
DQoNCiNMNOKApiBTb21lIGNvbnNpZGVyYXRpb25zIGZyb20gdGhlIHRvcG9sb2d5IHVzZSBjYXNl
cyAoY2FuIGJlIGluc2VydGVkIGluIHNlY3Rpb24gNSkNCg0KLSB0aGVyZSBpcyBhIGxhcmdlIHZh
cmlldHkgb2YgdXNlIGNhc2VzIHdpdGggdmFyaW91cyBwbGFjZXMgd2hlcmUgbG9hZCBiYWxhbmNp
bmcgYWN0aW9ucyBjYW4gYmUgdGFrZW4uIFRoaXMgbWF5IGltcGFjdCB0aGUgY29udGVudCBvZiBs
b2FkIGluZm9ybWF0aW9uIHRyYW5zZmVycmVkIGRvd25zdHJlYW0uIEl0IHNob3VsZCBhbHNvIGJl
IGF2b2lkZWQgdG8gYWRkIHRvbyBtdWNoIGNvbXBsZXhpdHksIGVzcGVjaWFsbHkgb24gdGhlIGxv
YWQgaW5mb3JtYXRpb24gY29udGVudCB0cmFuc2ZlcnJlZCBkb3duc3RyZWFtLCBub2RlIGJlaGF2
aW9yIGNhbiBiZSBtb3JlIHNvcGhpc3RpY2F0ZWQgYnV0IG5vcm1hbGx5IHJlbWFpbnMgb3V0c2lk
ZSB0aGUgc3RhbmRhcmRpemF0aW9uIHNjb3BlLg0KDQotIGNsaWVudHMgcmVjZWl2aW5nIGxvYWQg
aW5mb3JtYXRpb24gaGF2ZSBub3QgdG8gYmUgYXdhcmUgb2YgdGhlIERBcyBhbmQgc2VydmVyIHRv
cG9sb2dpZXMsIHRoZXkgbmV2ZXJ0aGVsZXNzIG5lZWQgcmVsZXZhbnQgbG9hZCBpbmZvcm1hdGlv
biBjcml0ZXJpYSB0byBzZWxlY3QgKHdoZW4gbmVlZGVkKSB0aGUgcmlnaHQgbmV4dCBub2RlIHRv
IHdoaWNoIHRvIHNlbmQgYSByZXF1ZXN0LiBUaGlzIG1heSBkcml2ZSB0byBjb25zaWRlciBpZiBz
b21lIGFnZ3JlZ2F0aW9uIG9mIGxvYWQgaW5mb3JtYXRpb24gdG8gYmUgcGVyZm9ybWVkIGJlZm9y
ZSBzZW5kaW5nIGl0IHRvIHRoZSBjbGllbnRzLCBzbyB0byBtYWtlIGl0IHNpbXBsZXIgdG8gdGhl
IGNsaWVudHMuDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KI0w2ICAgTG9h
ZCBpbmZvcm1hdGlvbiBzY29wZXMgKGNhbiBiZSAgYWRkZWQgaW4gc2VjdGlvbiA2KQ0KDQpMb2Fk
IGluZm9ybWF0aW9uIGNhbiBhcHBseSB0byB2YXJpb3VzIHNjb3BlcyB0aGF0IHNob3VsZCBiZSBj
b25zaWRlcmVkIHRvIHJldGFpbiBvciBub3QgOg0KDQpMb2FkIG9mIGEgbm9kZTogdGhpcyBpcyB0
aGUgbW9zdCB1c3VhbCB0byBjb25zaWRlci4gQSBub2RlIGNhbiBiZSBhbiBlbmQgcG9pbnQgKHNl
cnZlcikgb3IgYW4gYWdlbnQuDQoNCkxvYWQgb2YgYW4gYXBwbGljYXRpb246IFRoZSBsb2FkIG9m
IGEgc2VydmVyIGNhbiB2YXJ5IGFjY29yZGluZyB0byB0aGUgYXBwbGljYXRpb25zIChlZyBkdWUg
dG8gZGlmZmVyZW5jZXMgaW4gdGhlIHVzZWQgcmVzb3VyY2VzKS4gU28gdGhlIHBvc3NpYmlsaXR5
IHRvIGhhdmUgYSBsb2FkIGluZm9ybWF0aW9uIHBlciBhcHBsaWNhdGlvbiBzaG91bGQgbm90IGJl
IHByZWNsdWRlZCBhdCB0aGlzIGxldmVsIG9mIGFuYWx5c2lzLg0KDQpMb2FkIG9mIGEgc2V0IG9m
IG5vZGVzOiBpdCBtYXkgYmUgY29uc2lkZXJlZCBpbnRlcmVzdGluZyB0aGF0IHRoZSBsb2FkIG9m
IGEgc2V0IG9mIG5vZGVzIGlzIHRyYW5zZmVycmVkIGRvd25zdHJlYW0uIFVzZSBjYXNlcyBzaG91
bGQgaWRlbnRpZnkgc3VjaCBhbiBpbnRlcmVzdC4gVGhpcyBkcml2ZXMgdG8gdGhlIGFnZ3JlZ2F0
aW9uIG9mIHRoZSBsb2FkIG9mIHRoZSB2YXJpb3VzIG5vZGVzIG9mIHRoZSBzZXQgdG8gZWxhYm9y
YXRlIHRoZSBsb2FkIG9mIHRoZSBzZXQuIFRoaXMgY2FuIGJlIGRvbmUgYnkgYW4gaW50ZXJtZWRp
YXRlIG5vZGUgcmVjZWl2aW5nIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9mIHRoZSB2YXJpb3VzIG5v
ZGVzLiBJdCBjYW4gYmUgYSB3ZWlnaHRlZCBhdmVyYWdlIGJldHdlZW4gdGhlIGxvYWRzOyB0aGUg
d2VpZ2h0IGlzIGFub3RoZXIgaW5mb3JtYXRpb24gdG8gYmUgY29uc2lkZXJlZCAoZWcgdGhlIGNh
cGFjaXR5IG9mIHRoZSBzZXJ2ZXJzIHdoaWNoIG1heSBiZSBkaWZmZXJlbnQpLg0KDQpMb2FkIG9m
IGFuIGFnZW50IGFuZCBsb2FkIG9mIGEgc2VydmVyLg0KRGlmZmVyZW50IHBhdGhzIHZpYSBkaWZm
ZXJlbnQgREFzIG1heSBleGlzdCBiZXR3ZWVuIHRoZSBub2RlIGRvaW5nIHRoZSBzZXJ2ZXIgc2Vs
ZWN0aW9uIGFuZCB0aGUgc2VydmVyLiBUaGUgbG9hZCBpbmZvcm1hdGlvbiBvbiB0aGUgc2VydmVy
IHdvdWxkIGJlIHRoZSBzYW1lOyBidXQgdGhlbiB0byB3aGljaCBwZWVyIHRvIHNlbmQgdGhlIG1l
c3NhZ2U/IFRoaXMgd291bGQgZGVwZW5kIG9mIHRoZSBsb2FkIG9mIHRoZSBwZWVyIChhbmQgZXZl
biBvZiB0aGUgbG9hZCBiZWhpbmQgdGhlIHBlZXIpLg0KDQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXw0KDQojTDcgICBBZGRpdGlvbiByZW1vdmFsIG9mIGEgc2VydmVyIChjYW4gYmUg
IGFkZGVkIGluIHNlY3Rpb24gNikNCg0KV2hlbiBhZGRpbmcgYSBzZXJ2ZXIsIHRoaXMgb25lIHdp
bGwgc3RhcnQgYnkgYWR2ZXJ0aXNpbmcgbm8gb3IgYSBzbWFsbCBsb2FkLCB0aGVuIGl0IHdpbGwg
YmUgdG8gdGhlIGRvd25zdHJlYW0gbm9kZXMgKGVnIERBcykgaGFuZGxpbmcgbG9hZCBiYWxhbmNp
bmcgYmV0d2VlbiBzZXJ2ZXJzIHRvIGVuc3VyZSBhIHNtb290aCBpbmNyZWFzZSBvZiB0aGUgdHJh
ZmZpYyB0byB0aGlzIHNlcnZlciwgdG8gYXZvaWQgdG8gaW1tZWRpYXRlbHkgc2VuZCBpdCB0b28g
bXVjaCB0cmFmZmljIGFuZCBldmVuIHRvIG5vdCBwdXQgaXQgaW50byBvdmVybG9hZC4gSXQgbWF5
IGJlIHF1ZXN0aW9uZWQgaWYgYSBzaW1wbGUgbG9hZCBpbmZvcm1hdGlvbiAobG9hZCBwZXJjZW50
YWdlKSBpcyBzdWZmaWNpZW50IGZvciB0aGlzLg0KDQpXaGVuIHJlbW92aW5nIGEgc2VydmVyIGlu
IGEgY29udHJvbGxlZCB3YXkgKGUuZy4gZm9yIG1haW50ZW5hbmNlIHB1cnBvc2UsIHNvIG91dHNp
ZGUgYSBmYWlsdXJlIGNhc2UpLCBhbiBvYmplY3RpdmUgY2FuIGJlIHRvIHByb2dyZXNzaXZlbHkg
cmVkdWNlIHRoZSB0cmFmZmljIHRvIHRoaXMgc2VydmVyLCB3aXRoIGEgcm91dGluZyBvZiB0aGUg
dHJhZmZpYyB0byBvdGhlciBzZXJ2ZXJzLiBTaW1wbGUgbG9hZCBpbmZvcm1hdGlvbiAobG9hZCBw
ZXJjZW50YWdlKSB3b3VsZCBiZSBub3Qgc3VmZmljaWVudC4gSXQgc2hvdWxkIGJlIGNvbnNpZGVy
ZWQgaWYgdGhpcyB1c2UgY2FzZSBlbnRlciB0aGUgc2NvcGUgb2YgdGhpcyBsb2FkIGNvbnRyb2wg
bWVjaGFuaXNtLg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQojTDggICBJbXBsZW1l
bnRhdGlvbiBhbmQgc3RhbmRhcmRpemF0aW9uIChjYW4gYmUgYWRkZWQgaW4gc2VjdGlvbiAxKQ0K
DQpUaHJvdWdoIHRoZSB1c2UgY2FzZXMgYW5kIHRoZSBhcmNoaXRlY3R1cmVzIGNvbnNpZGVyYXRp
b25zIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB0aGUgZm9jdXMgaXMgdG8gZGVmaW5lIHdo
aWNoIHdvdWxkIGJlIHRoZSByZWxldmFudCBsb2FkIGluZm9ybWF0aW9uIHRvIGJlIHRyYW5zZmVy
cmVkIHRvIHRoZSBub2RlcyB0aGF0IHdpbGwgdXNlIGl0LiBUaGVuLCBnaXZlbiB0aGUgdmFyaWV0
eSBvZiB1c2UgY2FzZXMsIHRoZSBwb3NzaWJsZSB0b3BvbG9naWVzLCB0aGUgcGxhY2Ugd2hlcmUg
dGhlIHNlcnZlciBzZWxlY3Rpb24gaXMgZG9uZSwgZXRjLCBmbGV4aWJpbGl0eSBpcyB0byBiZSBs
ZWZ0IHRvIGltcGxlbWVudGF0aW9ucyBhYm91dCB0aGUgbm9kZSBiZWhhdmlvciByZWdhcmRpbmcg
dGhlIGVsYWJvcmF0aW9uIG9mIHRoZSBsb2FkIGluZm9ybWF0aW9uIGFuZCB0aGVuIGl0cyB1c2Uu
IEd1aWRhbmNlIG9yIGV4YW1wbGVzIG1heSBhbHNvIGJlIGdpdmVuIHRvIGhlbHAgYnV0IHdpdGhv
dXQgbm9ybWF0aXZlIGFzcGVjdHMuDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoN
CiNMOeKApiAgUmVkaXJlY3QgYWdlbnQgOiAoY2FuIGJlIGFkZGVkIGF0IHRoZSBlbmQgb2Ygc2Vj
dGlvbiAzKQ0KDQpBIERpYW1ldGVyIG5vZGUgKGUuZy4gY2xpZW50KSBjYW4gdXNlIGEgcmVkaXJl
Y3QgYWdlbnQgdG8gZ2V0IGRlc3RpbmF0aW9uIGhvc3QgYWRkcmVzc2VzLiAgVGhlIHJlZGlyZWN0
IGFnZW50IG1heSByZXR1cm4gc2V2ZXJhbCBkZXN0aW5hdGlvbiBob3N0IGFkZHJlc3Nlcywgb2Yg
d2hpY2ggdGhlIERpYW1ldGVyIG5vZGUgaGFzIHRvIHNlbGVjdCBvbmUgYW5kIGZvciB0aGlzIGNh
biByZWx5IG9uIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9uIHRoZXNlIGhvc3RzDQpfX19fX19fX19f
X19fX19fX19fX19fX19fX18NCg0KDQpTbyBwbGVhc2UgbGV0IG1lIGtub3cgeW91ciBjb21tZW50
cy4NCg0KQmVuLCB3b3VsZCB5b3UgYmUgT0sgdG8gY29tcGxlbWVudCB5b3VyIGRyYWZ0IHdpdGgg
dGhvc2UgaW5wdXRzIC4gV2UgY2FuIGFsc28gaGF2ZSBxdWVzdGlvbiBtYXJrcyBvciBlZGl0b3Li
gJlzIG5vdGVzLCBidXQgSSB0aGluayBnb29kIHRvIGhhdmUgYSBkb2N1bWVudCBhYm91dCB3aGlj
aCB3ZSBkaXNjdXNzIHRoZXNlIGFyY2hpdGVjdHVyYWwgY29uc2lkZXJhdGlvbnMuDQoNCkJlc3Qg
cmVnYXJkcw0KDQpKSmFjcXVlcw0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fDQpEaU1FIG1haWxpbmcgbGlzdA0KRGlNRUBpZXRmLm9yZzxtYWlsdG86
RGlNRUBpZXRmLm9yZz4NCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vZGlt
ZQ0KDQo=

--_000_E194C2E18676714DACA9C3A2516265D2026F5FFAFR712WXCHMBA12z_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpUYWhvbWE7DQoJcGFub3NlLTE6MiAxMSA2
IDQgMyA1IDQgNCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpNb25hY287fQ0KLyog
U3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29O
b3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXpl
OjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGlu
aywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJs
dWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlw
ZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsN
Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnAuTXNvQWNldGF0ZSwgbGkuTXNvQWNldGF0
ZSwgZGl2Lk1zb0FjZXRhdGUNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1s
aW5rOiJUZXh0ZSBkZSBidWxsZXMgQ2FyIjsNCgltYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206
LjAwMDFwdDsNCglmb250LXNpemU6OC4wcHQ7DQoJZm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMt
c2VyaWYiO30NCnAuTXNvTGlzdFBhcmFncmFwaCwgbGkuTXNvTGlzdFBhcmFncmFwaCwgZGl2Lk1z
b0xpc3RQYXJhZ3JhcGgNCgl7bXNvLXN0eWxlLXByaW9yaXR5OjM0Ow0KCW1hcmdpbi10b3A6MGNt
Ow0KCW1hcmdpbi1yaWdodDowY207DQoJbWFyZ2luLWJvdHRvbTowY207DQoJbWFyZ2luLWxlZnQ6
MzYuMHB0Ow0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZv
bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fQ0Kc3Bhbi5UZXh0ZWRlYnVsbGVz
Q2FyDQoJe21zby1zdHlsZS1uYW1lOiJUZXh0ZSBkZSBidWxsZXMgQ2FyIjsNCgltc28tc3R5bGUt
cHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IlRleHRlIGRlIGJ1bGxlcyI7DQoJZm9udC1m
YW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiO30NCnNwYW4uRW1haWxTdHlsZTIwDQoJe21zby1z
dHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7
DQoJY29sb3I6IzFGNDk3RDt9DQpwLkJhbGxvb25UZXh0LCBsaS5CYWxsb29uVGV4dCwgZGl2LkJh
bGxvb25UZXh0DQoJe21zby1zdHlsZS1uYW1lOiJCYWxsb29uIFRleHQiOw0KCW1zby1zdHlsZS1s
aW5rOiJCYWxsb29uIFRleHQgQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4w
MDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu
Iiwic2VyaWYiO30NCnNwYW4uQmFsbG9vblRleHRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJCYWxs
b29uIFRleHQgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5r
OiJCYWxsb29uIFRleHQiOw0KCWZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjt9DQpz
cGFuLkVtYWlsU3R5bGUyMw0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWls
eToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0
eWxlMjQNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJ
e21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2Ug
V29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIu
MHB0IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9u
MTt9DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlzdCBsMA0KCXttc28tbGlzdC1pZDoxMDQx
NzgwMTY4Ow0KCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTgwMTY3ODg3Njt9DQpAbGlzdCBsMDps
ZXZlbDENCgl7bXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjE4LjBwdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30N
CkBsaXN0IGwwOmxldmVsMg0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCkiOw0KCW1zby1sZXZl
bC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJn
aW4tbGVmdDoxOC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDMN
Cgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwpJTNcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5v
bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjM2LjBw
dDsNCgl0ZXh0LWluZGVudDotMzYuMHB0O30NCkBsaXN0IGwwOmxldmVsNA0KCXttc28tbGV2ZWwt
dGV4dDoiJTFcLiUyXCklM1wuJTRcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjM2LjBwdDsNCgl0ZXh0
LWluZGVudDotMzYuMHB0O30NCkBsaXN0IGwwOmxldmVsNQ0KCXttc28tbGV2ZWwtdGV4dDoiJTFc
LiUyXCklM1wuJTRcLiU1XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZl
bC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo1NC4wcHQ7DQoJdGV4dC1pbmRl
bnQ6LTU0LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDYNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwp
JTNcLiU0XC4lNVwuJTZcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVs
LW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjU0LjBwdDsNCgl0ZXh0LWluZGVu
dDotNTQuMHB0O30NCkBsaXN0IGwwOmxldmVsNw0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXCkl
M1wuJTRcLiU1XC4lNlwuJTdcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxl
dmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjcyLjBwdDsNCgl0ZXh0LWlu
ZGVudDotNzIuMHB0O30NCkBsaXN0IGwwOmxldmVsOA0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUy
XCklM1wuJTRcLiU1XC4lNlwuJTdcLiU4XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo3Mi4wcHQ7DQoJ
dGV4dC1pbmRlbnQ6LTcyLjBwdDt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxldmVsLXRleHQ6
IiUxXC4lMlwpJTNcLiU0XC4lNVwuJTZcLiU3XC4lOFwuJTlcLiI7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0
OjkwLjBwdDsNCgl0ZXh0LWluZGVudDotOTAuMHB0O30NCm9sDQoJe21hcmdpbi1ib3R0b206MGNt
O30NCnVsDQoJe21hcmdpbi1ib3R0b206MGNtO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNv
IDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAv
Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxh
eW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwv
bzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVO
LVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9u
MSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6IzFGNDk3RCI+SGkgVWxyaWNoPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5XZSBtYXkgZWZmZWN0aXZlbHkgaGF2ZSBh
IGZpcnN0IHN0ZXAgd2l0aA0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMUY0OTdEIj5zZXJ2ZXIgJm5ic3A7KGhvc3QpIGxvYWQgYW5kIHJlYWxtIGxvYWQgYW5kIGxl
YXZlIGFnZW50IGxvYWQgZm9yIGEgc2Vjb25kIHN0ZXAuIEludGVyZXN0IGlzIHRvICZuYnNwO3Np
bXBsaWZ5IHRoZSBhbmFseXNpcyBvZiB1c2UgY2FzZXMsIHNvIHRvIG9ubHkgaWRlbnRpZnkgdGhl
IGxvYWQgaW5mb3JtYXRpb24gdGhhdA0KIHRoZSBub2RlcyAmbmJzcDtoYW5kbGluZyBsb2FkIGJh
bGFuY2luZyBzaG91bGQgcmVjZWl2ZSBhYm91dCB0aGUgc2VydmVycyBvciBncm91cHMgb2Ygc2Vy
dmVycyBvciAmbmJzcDtyZWFsbS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+VGhhdCBi
ZWluZyBzYWlkLCBpdCBkb2VzIG5vdCBwcmVjbHVkZSB0byBhbHNvIGFkZHJlc3MgdGhlIHN0ZXAg
aWRlbnRpZnlpbmcgJm5ic3A7bG9hZCBpbmZvIG9mIERBUyBvciBncm91cHMgb2YgREFzICZuYnNw
O3RoYXQgd2lsbCBpbmZsdWVuY2UgbG9hZCBiYWxhbmNpbmcgaW4gdGhlIGludm9sdmVkDQogbm9k
ZXM7ICZuYnNwO2FuZCBob3cgdGhpcyB3aWxsIGJlIG1peGVkIC8gY29leGlzdCB3aXRoIHRoZSBz
ZXJ2ZXJzICwgcmVhbG0gbG9hZCBpbmZvLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+VGhlIGFwcHJvYWNoIHdlIHdpbGwg
dGFrZSBjYW4gYmUgc3VtbWFyaXplZCBpbiBhIHBhcmFncmFwaCBvZiBCZW7igJlzIGRyYWZ0IG9u
IGNvbnNpZGVyYXRpb25zLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkZS
IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Vmlld3MgZnJvbSBvdGhlcnM/
DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJGUiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkZSIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+QmVzdCByZWdhcmRzPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRlIiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJGUiIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOiMxRjQ5N0QiPkpKYWNxdWVzDQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJGUiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkZSIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3
RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRl
cjpub25lO2JvcmRlci10b3A6c29saWQgI0I1QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAw
Y20gMGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIGxhbmc9IkZSIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90OyI+RGUmbmJzcDs6PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJGUiIgc3R5bGU9
ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDsiPiBXaWVoZSwgVWxyaWNoIChOU04gLSBERS9NdW5pY2gpIFttYWlsdG86
dWxyaWNoLndpZWhlQG5zbi5jb21dDQo8YnI+DQo8Yj5FbnZvecOpJm5ic3A7OjwvYj4gbWVyY3Jl
ZGkgMTQgamFudmllciAyMDE1IDExOjM5PGJyPg0KPGI+w4AmbmJzcDs6PC9iPiBUUk9UVElOLCBK
RUFOLUpBQ1FVRVMgKEpFQU4tSkFDUVVFUyk7IEJlbiBDYW1wYmVsbDxicj4NCjxiPkNjJm5ic3A7
OjwvYj4gZGltZUBpZXRmLm9yZzxicj4NCjxiPk9iamV0Jm5ic3A7OjwvYj4gUkU6IFtEaW1lXSBE
aWFtZXRlciBsb2FkIGNvbnRyb2wgaW5wdXRzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj5IaSBKZWFuLUphY3F1ZXMsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+SSB3b3Vs
ZCBsaWtlIHRvIGxpbWl0IERpYW1ldGVyIGxvYWQgY29udHJvbCB0byBzZXJ2ZXIgJm5ic3A7KGhv
c3QpIGxvYWQgYW5kIHJlYWxtIGxvYWQgaW4gYSBmaXJzdCBzdGVwIGFuZCBsZWF2ZSBhZ2VudCBs
b2FkIGZvciBhIHNlY29uZCBzdGVwLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPldl
IG5lYXJseSBoYXZlIGNvbXBsZXRlZCBEaWFtZXRlciBPdmVybG9hZCBjb250cm9sIHdoaWNoIGlz
IGxpbWl0ZWQgdG8gc2VydmVyIChob3N0KSBvdmVybG9hZCBhbmQgcmVhbG0gb3ZlcmxvYWQsIHdo
aWxlIHRoZSBhZ2VudCBvdmVybG9hZCBkcmFmdCAmbmJzcDtpcyBub3QgY29tcGxldGUuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0
OTdEIj5PbmNlIEFnZW50IE92ZXJsb2FkIGNvbnRyb2wgaXMgc3RhYmxlIHdlIG1heSBjb25zaWRl
ciBleHRlbmRpbmcgaXQgd2l0aCBhZ2VudCBsb2FkIGNvbnRyb2wuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5CZXN0IHJl
Z2FyZHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+VWxyaWNoPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGlu
ZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90OyI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7Ij4gRGlNRSBbPGEgaHJlZj0ibWFpbHRvOmRpbWUtYm91bmNlc0BpZXRmLm9yZyI+bWFpbHRv
OmRpbWUtYm91bmNlc0BpZXRmLm9yZzwvYT5dDQo8Yj5PbiBCZWhhbGYgT2YgPC9iPmV4dCBUUk9U
VElOLCBKRUFOLUpBQ1FVRVMgKEpFQU4tSkFDUVVFUyk8YnI+DQo8Yj5TZW50OjwvYj4gVGh1cnNk
YXksIEphbnVhcnkgMDgsIDIwMTUgMTo0NCBQTTxicj4NCjxiPlRvOjwvYj4gQmVuIENhbXBiZWxs
PGJyPg0KPGI+Q2M6PC9iPiA8YSBocmVmPSJtYWlsdG86ZGltZUBpZXRmLm9yZyI+ZGltZUBpZXRm
Lm9yZzwvYT48YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtEaW1lXSBEaWFtZXRlciBsb2FkIGNv
bnRyb2wgaW5wdXRzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkRFIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6IzFGNDk3RCI+SGkgQmVuICZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+VGhhbmtzIGZvciB5b3VyIGZlZWRi
YWM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOiMxRjQ5N0QiPlJlZ2FyZGluZyB5b3VyIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb25zOzxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFG
NDk3RCI+MSkgQWJvdXQgJm5ic3A7dGhlIGZpZ3VyZSB5b3UgZGVzY3JpYmVkICZuYnNwO3dpdGgg
YSBjb25uZWN0aW9uIGJldHdlZW4gJm5ic3A7UzEgYW5kIFMyOjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTpNb25hY28iPiZuYnNwOyZuYnNwO+KAlC0tLS0tLVMxPGJyPg0KLyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDt8PGJyPg0KQzEgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfDxicj4NClwgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7fDxicj4NCiZuYnNwOyZuYnNwO+KAlOKAlC0tLS0tUzI8L3Nw
YW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+WW91IHNheSB0aGF0IFMxIG9yIFMyIGNhbiBwcm94
eSBhIHJlcXVlc3QsIHRoaXMgaXMgZm9yIG1lIHJhdGhlciBlcXVpdmFsZW50ICZuYnNwO3RvIFMx
IGhhdmluZyBhIGNvbGxvY2F0ZWQgJm5ic3A7cHJveHkgREEsIHNvIGJlaW5nIGEgcGFydGljdWxh
ciBjYXNlIG9mIGZpZ3VyZSA1LjMuDQogU28gSSBzdWdnZXN0IHRvIGNvbnRpbnVlIHRvIHVzZSA1
LjMgYWxzbyBjb3ZlcmluZyBzZXJ2ZXJzIHdpdGggbm9uIGNvbG9jYXRlZCBEQXMsIHVubGVzcyB5
b3Ugd291bGQgeW91IGxpa2UgdGhlIGFib3ZlIHVzZSBjYXNlIHRvIGJlIGhhbmRsZWQgc2VwYXJh
dGVseTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6IzFGNDk3RCI+SSBhZ3JlZSB0aGF0IHRoZSBwYXRoIEMxJmd0O1MxIChvciBDMSZndDtB
MSZndDtTMSBpbiA1LjMpIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gQzEmZ3Q7UzEmZ3Q7UzIgKCBv
ciBDMSZndDtBMSZndDtBMiZndDtTMiBpbiA1LjMpIGFuZCB0aGF0IG90aGVyIOKAnGNyb3NzIGNv
bm5lY3TigJ0gdXNlIGNhc2VzIGluIG90aGVyDQogZmlndXJlcyBhbHNvIHByZXNlbnQgcGF0aHMg
d2l0aCBtb3JlIGhvcHMgdGhhbiBvdGhlcnMuICZuYnNwO1RoZSBxdWVzdGlvbiB3aGljaCB5b3Ug
cmFpc2UgYW5kIG9uIHdoaWNoIHRoZSBncm91cCB3aWxsIGhhdmUgdG8gdGFrZSAmbmJzcDthIGRl
Y2lzaW9uIGlzOiAmbmJzcDtkbyB3ZSBmb2N1cyBvbmx5IG9uIGxvYWQgYmFsYW5jaW5nIGJldHdl
ZW4gdGhlIHNob3J0ZXN0IHBhdGhzIChsb25nZXIgcGF0aHMgdXNlZCBvbmx5IGZvciBvdmVybG9h
ZCBvciBmYWlsdXJlIGNhc2VzDQogYXMgeW91IGluZGljYXRlZCApLCBvciBpZiBpdCBpcyByZWxl
dmFudCB0byBhbHNvICZuYnNwO2NvbnNpZGVyIGxvbmdlciBwYXRocyBmb3IgbG9hZCBiYWxhbmNp
bmcsIHRoZSBzZWNvbmQgY2hvaWNlIG1heSBzaWduaWZpY2FudGx5IG1ha2UgdGhlIGxvYWQgYmFs
YW5jaW5nIGluZm9ybWF0aW9uIHRvIGRlYWwgd2l0aCBtb3JlIGNvbXBsZXguIEJ1dCB3ZSBoYXZl
IGZpcnN0ICZuYnNwO3RvIGFzc2VzcyB0aGUgcmVxdWlyZW1lbnQuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOiMxRjQ5N0QiPlR3byBoZXJlYWZ0ZXIgb2JzZXJ2YXRpb25zPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDoxOC4w
cHQ7dGV4dC1pbmRlbnQ6LTE4LjBwdDttc28tbGlzdDpsMCBsZXZlbDIgbGZvMiI+DQo8IVtpZiAh
c3VwcG9ydExpc3RzXT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+
PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+MS4xKTxzcGFuIHN0eWxlPSJmb250OjcuMHB0
ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IVtl
bmRpZl0+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkluIGZpZ3Vy
ZSA1LjM6IGlmIFMxIGlzIG1vcmUgbG9hZGVkIHRoYW4gUzIgLCBmb3IgcmVhbG0gcm91dGVkIHJl
cXVlc3RzLCBDMSwgdG8gYWNoaWV2ZSBsb2FkIGJhbGFuY2luZywgbmVlZHMgYSAmbmJzcDtsb2Fk
IGluZm8gZm9yIHRoZSByZWFsbSB2aWEgJm5ic3A7QTEgKGFjY29yZGluZw0KIHRvIFMxIGxvYWQp
LCAmbmJzcDthbmQgYW5vdGhlciBsb2FkIGluZm8gdmlhIEEyIChhY2NvcmRpbmcgdG8gUzIgbG9h
ZCkgPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
TGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjE4LjBwdDt0ZXh0LWluZGVudDotMTgu
MHB0O21zby1saXN0OmwwIGxldmVsMiBsZm8yIj4NCjwhW2lmICFzdXBwb3J0TGlzdHNdPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48c3BhbiBzdHlsZT0ibXNvLWxp
c3Q6SWdub3JlIj4xLjIpPHNwYW4gc3R5bGU9ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJv
bWFuJnF1b3Q7Ij4NCjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7QW5vdGhlciBkcmF3aW5nDQo8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Ok1vbmFjbyI+QzEt
LS1BMS0tLS0tLVMxPGJyPg0KJm5ic3A7Jm5ic3A7ICZuYnNwO3wgJm5ic3A7Jm5ic3A7PGJyPg0K
Jm5ic3A7Jm5ic3A7ICZuYnNwO3w8YnI+DQpDMi0tLUEyLS0tLS0tUzI8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6TW9u
YWNvIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+aWYgUzEgaXMgbW9yZSBs
b2FkZWQgdGhhbiBTMiwgQTEgbWF5IHNlbmQgc29tZSB0cmFmZmljIGNvbWluZyBmcm9tIEMxIHRv
IFMyIHZpYSBBMiwgc28gd2l0aCAmbmJzcDthIGxvbmdlciBwYXRoIEMxJmd0O0ExJmd0O0EyJmd0
O1MyIHRoYW4gQzEmZ3Q7QTEmZ3Q7UzEuIFRoaXMgbWVhbnMgdGhhdCBBMSBoYXMNCiBsb2FkIGlu
Zm9ybWF0aW9uIGFib3V0IFMyIGFuZCBhYm91dCBTMSB0byBkbyBsb2FkIGJhbGFuY2luZy4gRG9l
cyB0aGlzIGNhc2UgZW50ZXIgb3VyIHNjb3BlLj8gJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJm
b250LWZhbWlseTpNb25hY28iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj4yKSBBYm91dA0K
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtZmFtaWx5Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwO+KAlOKAlEExLS1TMS4uLlNuPGJyPg0K
Jm5ic3A7LyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+DQpDICZuYnNwOyAmbmJzcDsg
Jm5ic3A7Jm5ic3A7PGJyPg0KJm5ic3A7XCAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnI+
DQombmJzcDsgJm5ic3A74oCU4oCUQTItLVNuJiM0MzsxLi4uU208L3NwYW4+PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPk15IGRyYXdp
bmdzIDUuNSB0byA1LjcgYXBwZWFyIHRvIGJlIGEgYml0IGNvbmZ1c2luZywgaW4gZmFjdCBteSBk
aWFncmFtcyBzaG91bGQgYmUgY29ycmVjdGVkIGFzIHRoaXMgb25lOjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6TW9uYWNvIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgLy0tLVMxIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNwOyAmbmJzcDvi
gJTigJRBMS0tLS4uLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNwOyAvJm5ic3A7IHxcLS0tU248
YnI+DQombmJzcDsvICZuYnNwOyB8ICZuYnNwOyAmbmJzcDs8YnI+DQpDICZuYnNwOyAmbmJzcDt8
ICZuYnNwOyZuYnNwOzxicj4NCiZuYnNwO1wmbmJzcDsmbmJzcDsgfC8tLVNuJiM0MzsxICZuYnNw
OyAmbmJzcDsgJm5ic3A7PGJyPg0KJm5ic3A7ICZuYnNwO+KAlOKAlEEyLS0uLi48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1p
bHk6TW9uYWNvIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgXC0tU208bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6IzFGNDk3RCI+U28gdGhlIHVwc3RyZWFtIHNlcnZlcnMgYXJlICZuYnNwO2Rp
cmVjdGx5IGNvbm5lY3RlZCB0byBhIERBLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0Qi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv
dDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjMp
IFBsZWFzZSBsZXQgbWUga25vdyBob3cgeW91IHdvdWxkIGxpa2UgdG8gSW5zZXJ0IHRoZSBhbmFs
eXNpcyBpbnRvIHRoZSBuZXcgdmVyc2lvbiBvZiB5b3VyIGRyYWZ0IC4mbmJzcDsgSSB0aGluayB3
ZSBtYXkgaGF2ZSBhIGRlZGljYXRlZCBzZWN0aW9uIGFib3V0IHRvcG9sb2d5DQogdXNlIGNhc2Vz
LiA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOiMxRjQ5N0QiPkJlc3QgcmVnYXJkczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+SkphY3F1ZXMNCjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRp
diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRp
bmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDsiPkRlJm5ic3A7Ojwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDsiPiBCZW4gQ2FtcGJlbGwgWzxhIGhyZWY9Im1haWx0bzpiZW5Abm9zdHJ1bS5jb20i
Pm1haWx0bzpiZW5APHNwYW4gbGFuZz0iRlIiPm5vc3RydW0uY29tPC9zcGFuPjwvYT48L3NwYW4+
PHNwYW4gbGFuZz0iRlIiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O1RhaG9tYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij5dDQo8YnI+DQo8Yj5FbnZvecOp
Jm5ic3A7OjwvYj4gbWVyY3JlZGkgNyBqYW52aWVyIDIwMTUgMDE6MDE8YnI+DQo8Yj7DgCZuYnNw
Ozo8L2I+IFRST1RUSU4sIEpFQU4tSkFDUVVFUyAoSkVBTi1KQUNRVUVTKTxicj4NCjxiPkNjJm5i
c3A7OjwvYj4gPGEgaHJlZj0ibWFpbHRvOmRpbWVAaWV0Zi5vcmciPmRpbWVAaWV0Zi5vcmc8L2E+
PGJyPg0KPGI+T2JqZXQmbmJzcDs6PC9iPiBSZTogW0RpbWVdIERpYW1ldGVyIGxvYWQgY29udHJv
bCBpbnB1dHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+SGkgSkphY3F1ZXMsPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPlRvIGFuc3dlciB5b3VyIGxhdCBxdWVzdGlvbiBmaXJzdCwgSSB0aGlu
ayB0aGlzIGlzIGEgdXNlZnVsIGFuYWx5c2lzLCBhbmQgd291bGQgYmUgd2lsbGluZyB0byBjb21i
aW5lIGl0IGludG8gYSBuZXcgdmVyc2lvbiBvZiBteSBwcmV2aW91cyBkcmFmdC4gV2UgY2FuIHRh
bGsgYWJvdXQgdGhlIGRldGFpbHMgb2YgdGhhdCBvZmZsaW5lLjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TZWNvbmQsIHNvbWUgaGlnaCBsZXZl
bCBvYnNlcnZhdGlvbnM6PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPkZpcnN0LCBGcm9tIGEgbG9hZC1iYWxhbmNpbmcgcGVyc3BlY3RpdmUsIEZp
Z3VyZSA1LjMgaXMgZnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gdGhlIGZvbGxvd2luZzo8bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1hcmdpbi1ib3R0b206MTIuMHB0Ij4mbmJzcDs8YnI+DQo8c3BhbiBzdHlsZT0iZm9udC1mYW1p
bHk6TW9uYWNvIj4mbmJzcDsmbmJzcDvigJQtLS0tLS1TMTxicj4NCi8gJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7fDxicj4NCkMxICZuYnNwOyAmbmJzcDsgJm5ic3A7IHw8YnI+DQpcICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwO3w8YnI+DQombmJzcDsmbmJzcDvigJTigJQtLS0tLVMyPC9z
cGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
V2hlcmUgUzEgYW5kIFMyIGNhbiBwcm94eSByZXF1ZXN0cyB0byB0aGUgb3RoZXIgYWNjb3JkaW5n
IHRvIHNvbWUgcG9saWN5IChlLmcuIGxvYWQgYmFsYW5jaW5nKS4gSSBkb27igJl0IG1lYW4gdG8g
c3VnZ2VzdCB5b3Ugd291bGQgZGVwbG95IGl0IHRoYXQgd2F5LCBidXQgaXQgbWFrZXMgYW5vdGhl
ciBvYnNlcnZhdGlvbiBtb3JlIG9idmlvdXMsIHdoaWNoIGlzIHRoYXQgQzEtJmd0O1MxIG9yIEMx
LSZndDtTMiBhcmUgbW9yZQ0KIGVmZmljaWVudCB0aGFuIEMxLSZndDtTMS0mZ3Q7UzIgb3IgQzEt
Jmd0O1MyLSZndDtTMS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+TXkgaW5pdGlhbCByZWFjdGlvbiBpcyB0byB0aGluayB0aGF0IHdlIGNhbiBn
ZW5lcmFsaXplIHRoaXMgdG8gdGhlIHZhcmlvdXMgdXNlIGNhc2VzIHRoYXQgaGF2ZSBjcm9zcy1j
b25uZWN0ZWQgYWdlbnRzLiBUaGF0IGlzLCB3aGVuIGFsbCBlbHNlIGlzIGVxdWFsLCBzaG9ydGVy
IHBhdGhzIGJldHdlZW48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPmNsaWVudCBhbmQgc2VydmVyIGFyZSBiZXR0ZXIgdGhhbiBsb25nZXIgb25lcy4g
VGhpcyBzZWVtcyB0byBzdWdnZXN0IHRoYXQgdGhlIGNyb3NzLXBhdGggY29ubmVjdGlvbnMgYmUg
cmVzZXJ2ZWQgZm9yIGZhaWx1cmUgb3Igb3ZlcmxvYWQgY2FzZXMuIFRoaXMgcHJvYmFibHkgaGFz
IGltcGxpY2F0aW9ucyBvbiB3aGV0aGVyIHRoZSBsb2FkIG1ldHJpYyBzZW50IGJ5IGFuIGFnZW50
IHNob3VsZCBzb21laG93IGFnZ3JlZ2F0ZQ0KIHRoZSBsb2FkIG1ldHJpY3Mgb2YgaXRzIHNlcnZl
cnMuIChPciBhdCBsZWFzdCB0YWtlIHRoZW0gYXMgYW4gaW5wdXQuKTxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TZWNvbmQsIHlvdXIgZmlndXJl
cyA1LjUtNS43IHN1Z2dlc3QgdGhhdCB3ZSBtYXkgaGF2ZSBjYXNlcyB3aGVyZSB0aGUgbnVtYmVy
IG9mIHNlcnZlcnMgdG8gdGhlIHJpZ2h0IG9mIGFuIGFnZW50IG1heSBub3QgYmUga25vd24gYnkg
dGhlIGNsaWVudC4gSGVyZeKAmXMgYSBzaW1wbGlmaWVkIHZpZXc6PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6TW9uYWNvIj4mbmJzcDsgJm5ic3A74oCU4oCUQTEtLVMxLi4uU248YnI+DQom
bmJzcDsvICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzxicj4NCkMgJm5ic3A7ICZuYnNwOyAm
bmJzcDsmbmJzcDs8YnI+DQombmJzcDtcICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzxicj4N
CiZuYnNwOyAmbmJzcDvigJTigJRBMi0tU24mIzQzOzEuLi5TbTwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz
cDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu
YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkluIHRo
aXMgY2FzZSwgdGhlIGxvYWQgbWV0cmljcyBmb3IgdGhlIHNlcnZlcnMgYXJlIG9mIGxpdHRsZSB1
c2UgdG8gQywgc2luY2UgaW4gZ2VuZXJhbCBDIHdpbGwgbm90IGtub3cgaWYgaXTigJlzIGtub3ds
ZWRnZSBlbmNvbXBhc3NlcyBhbGwgcG9zc2libGUgZGVzdGluYXRpb25zLiAoQSByZWxhdGVkIHF1
ZXN0aW9uIGlzIHdldGhlciB0aGUgX2FnZW50c18gYWN0dWFsbHkga25vdyB0aGUgbG9hZCBtZXRy
aWNzIGZvcg0KIGFsbCB0aGUgcG9zc2libGUgZGVzdGluYXRpb25zLiBJ4oCZbSBub3Qgc3VyZSB0
aGV5IGFsd2F5cyBkbywgZS5nLiBpZiB0aGV5IGFyZSB1c2luZyBkeW5hbWljIGRpc2NvdmVyeS48
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86
cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
YXJnaW4tYm90dG9tOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5PbiBKYW4gNCwgMjAxNSwgYXQgMTE6MzggQU0sIFRST1RUSU4sIEpFQU4tSkFDUVVF
UyAoSkVBTi1KQUNRVUVTKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmplYW4tamFjcXVlcy50cm90dGlu
QGFsY2F0ZWwtbHVjZW50LmNvbSI+amVhbi1qYWNxdWVzLnRyb3R0aW5AYWxjYXRlbC1sdWNlbnQu
Y29tPC9hPiZndDsgd3JvdGU6PGJyPg0KPGJyPg0KRGVhciBhbGw8YnI+DQombmJzcDs8YnI+DQpJ
IGZpcnN0IHdpc2ggeW91IGEgJm5ic3A7aGFwcHkgJm5ic3A7bmV3IHllYXIgZm9yIHlvdSBhbmQg
eW91ciBmYW1pbHkgYXMgd2VsbCBpbiB5b3VyIHByb2Zlc3Npb25hbCBsaWZlLjxicj4NCiZuYnNw
Ozxicj4NCkkgaGVyZWFmdGVyIGFkZHJlc3Mgb3VyIG5ldyB0b3BpYyBvbiBEaWFtZXRlciBsb2Fk
IGNvbnRyb2wuPGJyPg0KSSBhbSBpbiBmYXZvciB0byBjb250aW51ZSB0aGUgd29yayB0aGF0IEJl
biBoYXMgY292ZXJlZCBpbiBoaXMg4oCcZHJhZnQtY2FtcGJlbGwtZGltZS1sb2FkLWNvbnNpZGVy
YXRpb25zLTAw4oCdIGRvY3VtZW50LCBieSBhZGRpbmcsIGludmVzdGlnYXRpbmcmbmJzcDt2YXJp
b3VzIGNvbnNpZGVyYXRpb25zLjxicj4NCiZuYnNwOzxicj4NCkkgaGVyZWFmdGVyIGdpdmUgc2V2
ZXJhbCBhZGRpdGlvbmFsIHNlY3Rpb24gcGFydHMgb3IgcGFyYWdyYXBocyAmbmJzcDt0aGF0IEkg
dGhpbmsgY291bGQgYmUgaW5zZXJ0ZWQgaW4gQmVu4oCZcyBkcmFmdC4gSSBoYXZlIHB1dCBzb21l
IHRpdGxlcyBhbmQgbnVtYmVyaW5nJm5ic3A7KCNMMSwgI0wyIOKApikgJm5ic3A7dG8gcmV1c2Ug
aW4gc2VwYXJhdGVkIGVtYWlsIHRyZWFkcyBmb3IgZGlzY3Vzc2lvbi48YnI+DQombmJzcDs8YnI+
DQpJIGhhdmUgaW5jbHVkZWQgdG9wb2xvZ3kgdXNlIGNhc2VzLiBGb3IgRGlhbWV0ZXIgb3Zlcmxv
YWQsICZuYnNwO1N0ZXZlIGRpZCBzZXZlcmFsICZuYnNwO3ByZXNlbnRhdGlvbnMgb24gdGhlICZu
YnNwO3ZhcmlvdXMgdXNlIGNhc2VzIHRvIGNvbnNpZGVyLiBJIHRoaW5rIGFsc28gZ29vZCZuYnNw
O3RvIGRvIHRoZSBzYW1lIGZvciBEaWFtZXRlciBsb2FkLCBhbmQgdG8gaW5zZXJ0IHN1Y2ggdXNl
IGNhc2VzIGluIHRoZSBCZW7igJlzIGRyYWZ0LiBZb3UgbWF5IGNvbnNpZGVyIHRoaXMgbGlzdA0K
IHNvbWV3aGF0IGxvbmcgYnV0IHRoZXNlIHVzZSBjYXNlcyZuYnNwO2hpZ2hsaWdodCBhIGNlcnRh
aW4gbnVtYmVyIG9mIHBvaW50cyBmb3Igd2hpY2ggd2Ugd2lsbCBoYXZlIHRvIHRha2Ugc29tZSBk
ZWNpc2lvbnMgKGVnIHRvIGNvdmVyIHRoZW0gb3Igbm90IG9yIHRvIHNlZSBsYXRlciBpZiAmbmJz
cDtzb2x1dGlvbiBhc3N1bXB0aW9ucyZuYnNwO2FwcGx5IHdlbGwpLiBUaGVyZSBhcmUgbW9yZSBm
cm9tIGEgcmVxdWlyZW1lbnQgdmlld3BvaW50IHRoYW4gaW4gdGhlIHNvbHV0aW9uDQogaXRzZWxm
IGFzIEkgZG8gbm90IGFkZHJlc3MgdGhlIGV4YWN0IGNvbnRlbnQgb2YgbG9hZCBpbmZvcm1hdGlv
biBhbmQmbmJzcDt0aGUgd2F5IGl0IHdpbGwgYmUgdHJhbnNmZXJyZWQ8YnI+DQombmJzcDs8YnI+
DQombmJzcDs8YnI+DQojTDEgJm5ic3A7IFRvcG9sb2d5IHVzZSBjYXNlcyAoY2FuIGJlIGluc2Vy
dGVkIGluIHNlY3Rpb24gNSApPGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAtLS0tLS1TMTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAvPGJyPg0KJm5ic3A7
ICZuYnNwOyAmbmJzcDsgQzE8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgXDxicj4N
CiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0tLS0tUzI8YnI+DQo8L3NwYW4+
RmlndXJlIDUuMTxicj4NCiZuYnNwOzxicj4NCkluIHRoaXMgc2ltcGxlIGNhc2UgKG5vIERBKSBl
LmcuIGZvciBhIHNtYWxsIG5ldHdvcmssIHRoZSBzZXJ2ZXJzIGFyZSBwZWVycyBvZiB0aGUgY2xp
ZW50LiBUaGUmbmJzcDtjbGllbnQgc2VsZWN0cyB0aGUgc2VydmVyIGFjY29yZGluZyB0byB0aGUg
bG9hZCBpbmZvcm1hdGlvbiBpdCByZWNlaXZlcyBmcm9tIHRoZSBzZXJ2ZXJzLjxicj4NCiZuYnNw
Ozxicj4NCiZuYnNwOzxicj4NCjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0tLS0tUzE8YnI+DQombmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgLzxicj4NCkMxLS0tLUE8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgXDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLS0tLS0tUzI8
YnI+DQo8L3NwYW4+RmlndXJlIDUuMjxicj4NCiZuYnNwOzxicj4NClRoZSBhZ2VudCBzZWxlY3Rz
IHRoZSBzZXJ2ZXIgYWNjb3JkaW5nIHRvIHRoZSBsb2FkIGluZm9ybWF0aW9uIGl0IHJlY2VpdmVz
IGZyb20gdGhlIHNlcnZlcnMuIEhlcmUsJm5ic3A7dGhlIGNsaWVudCBkb2VzIG5vdCBuZWVkIHRv
IHJlY2VpdmUgbG9hZCBpbmZvcm1hdGlvbiBhcyBpdCBkb2VzIG5vdCBkbyBsb2FkIGJhbGFuY2lu
Zy4gSXQgaXMgdG8mbmJzcDtjaGVjayBpZiBsb2FkIGluZm9ybWF0aW9uIHdvdWxkIGJlIHVzZWZ1
bCB0byB0aGUgY2xpZW50IGZvciBvdGhlcg0KIHB1cnBvc2VzIChlLmcuIGFudGljaXBhdGluZyBh
Jm5ic3A7ZnV0dXJlIG92ZXJsb2FkIG9mIHRoZSBzZXJ2ZXIpLjxicj4NCiZuYnNwOzxicj4NCiZu
YnNwOzxicj4NCjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNwOyAmbmJzcDst
LS1BMS0tLS0tLVMxPGJyPg0KLyAmbmJzcDsgJm5ic3A7fDxicj4NCkMxICZuYnNwOyZuYnNwO3w8
YnI+DQpcICZuYnNwOyAmbmJzcDt8PGJyPg0KJm5ic3A7ICZuYnNwOy0tLUEyLS0tLS0tUzI8YnI+
DQo8L3NwYW4+Jm5ic3A7PGJyPg0KRmlndXJlIDUuMzxicj4NCiZuYnNwOzxicj4NCkMxIHdoZW4g
c2VuZGluZyBhIHJlYWxtIHJvdXRlZCByZXF1ZXN0IGV2ZW4gZG9lcyBub3Qga25vdyB3aGljaCBz
ZXJ2ZXIgd2lsbCBoYW5kbGUgdGhlIHJlcXVlc3QgYW4mbmJzcDtldmVuIG1vcmUgZG9lcyBub3Qg
a25vdyB0byB3aGljaCBEQSBTMSBhbmQgUzIgYXJlIGNvbm5lY3RlZCB0by4gU28gdGhlIGxvYWQg
aW5mb3JtYXRpb24gb24gdGhlJm5ic3A7c2VydmVycyBpcyBub3QgdXNlZnVsLiBCdXQgQzEgaGFz
IHRvIHNlbGVjdCB0byB3aGljaCBmcm9tIEExIG9yDQogQTIgaXQgd2lsbCBzZW5kIHRoZSByZXF1
ZXN0LiBJdCBjYW4mbmJzcDtkbyBpdCBvbiB0aGUgYmFzaXMgb2YgdGhlIGxvYWQgaW5mb3JtYXRp
b24gb2YgQTEgb3IgQTIuIEJ1dCBpcyBpdCBzdWZmaWNpZW50Pzxicj4NCklmIFMxIGhhcyBoaWdo
IGxvYWQgYW5kIFMyIGEgc21hbGwgb25lLCB0byBpbXByb3ZlIHRoZSBsb2FkIGJhbGFuY2luZyB3
b3VsZCBtZWFuIHRoYXQ8YnI+DQphKSBDMSBzZW5kcyBtb3JlIHRyYWZmaWMgdG8gQTIgd2hpY2gg
Zm9yd2FyZCB0byBTMiwgbWVhbmluZyB0aGF0IEMxIGhhcyByZWNlaXZlZCBsb2FkIGluZm9ybWF0
aW9uJm5ic3A7ZnJvbSBBMiBub3Qgb25seSBpbmNsdWRpbmcgQTIgbG9hZCBidXQgYWxzbyB0aGUg
UzIgbG9hZDxicj4NCmIpIG9yIEMxLCBoYXZpbmcgbm8gaW5mb3JtYXRpb24gb24gc2VydmVyIGxv
YWQgZXF1YWxseSBzZW5kcyB0cmFmZmljIHRvIEExIGFuZCBBMi4gVGhlbiBpZiBBMSZuYnNwO3Jl
Y2VpdmVzIGZyb20gQTIgbG9hZCBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgdGhlIGxvYWQgb2YgUzIg
bWF5IHRoZW4gZGVjaWRlIHRvIHJvdXRlIG1vcmUgdHJhZmZpYyB0byZuYnNwO1MyIHZpYSBBMi4g
VGhpcyBpcyBsZXNzIG9wdGltYWwgdGhhbiB0aGUgZmlyc3QgY2FzZSBhcyBhZGRpbmcgYQ0KIG5l
dyBob3AgaW4gdGhlIHBhdGggKEMxLUExLUEyLVMyLjxicj4NCiZuYnNwOzxicj4NCkFuIGluaXRp
YWwgcXVlc3Rpb24gaXMgdG8gY29uc2lkZXIgaWYgdGhpcyBzdWJjYXNlcyBhKSBhbmQgYikgYXJl
IHJlbGV2YW50IGFuZCBlbnRlciB0aGUgc2NvcGUuPGJyPg0KJm5ic3A7PGJyPg0KQzEsIHdoZW4g
c2VuZGluZyBhIGhvc3Qgcm91dGVkIHJlcXVlc3QsIGNhbiBkbyBpdCB2aWEgQTEgb3IgQTIgYXMg
cm91dGluZyBmb3IgQzEgaXMgYmFzZWQgb24gdGhlJm5ic3A7cmVhbG0uIElzIGl0IHRvIGJlIGNv
bnNpZGVyZWQgaWYgbG9hZCBjb250cm9sIGluZm9ybWF0aW9uIHJlY2VpdmVkIGJ5IEMxIGdpdmVz
IHNvbWUgaGludCB0byByYXRoZXImbmJzcDtzZWxlY3QgQTEgcmF0aGVyIHRoYW4gQTIgd2hlbiBT
MSBpcyB0aGUgZGVzdGluYXRpb24gaG9zdCwgc28NCiB0byBhdm9pZCBhbiBhZGRpdGlvbmFsIGhv
cD8gT3IgaWYgaXQmbmJzcDtpcyBvdXQgb2YgdGhlIHNjb3BlPyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyZuYnNwOzxicj4NCiZuYnNwOzxicj4NCiZuYnNwOzxicj4NCjxzcGFuIHN0eWxlPSJmb250LWZh
bWlseTpNb25hY28iPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDstLS0tLVMzPGJy
Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Lzxicj4NCiZuYnNwOyAmbmJzcDstLS1BMS0t
LS0tLVMxPGJyPg0KLyAmbmJzcDsgJm5ic3A7fDxicj4NCkMxICZuYnNwOyZuYnNwO3w8YnI+DQpc
ICZuYnNwOyAmbmJzcDt8PGJyPg0KJm5ic3A7ICZuYnNwOy0tLUEyLS0tLS0tUzI8YnI+DQombmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtcPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOy0tLS0gUzQ8YnI+DQo8L3NwYW4+RmlndXJlIDUuNDxicj4NCiZuYnNwOzxicj4NClRo
aXMgZGlhZ3JhbSBpcyBhbiBleHRlbnNpb24gb2YgdGhlIHByZXZpb3VzIG9uZSB3aXRoIGFkZGl0
aW9uYWwgc2VydmVycyBjb25uZWN0ZWQgdG8gQTEgYW5kIEEyIGFuZCZuYnNwO2NvdWxkIGJlIG1v
cmUgY29tbW9uIHRoYW4gNS4zLjxicj4NCkNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBkaWFncmFt
LDxicj4NCi0gZm9yIHRoZSBzdWJjYXNlIGEpLCBmb3IgcmVhbG0gcm91dGVkIHJlcXVlc3QgQzEg
Y2hvaWNlIGJldHdlZW4gQTEgYW5kIEEyIGNhbiByZWx5IG9uIHRoZSBjb21iaW5lZCZuYnNwOyhv
ciBhZ2dyZWdhdGVkKSBsb2FkIG9mIFMxIGFuZCBTMyBjb21wYXJlZCB0byB0aGUgYWdncmVnYXRl
ZCBsb2FkIG9mIFMyIGFuZCBTNC48YnI+DQotIGZvciB0aGUgc3ViY2FzZSBiKSBzaW1pbGFybHks
IEExIHdvdWxkIGNvbXBhcmUgYW4gYWdncmVnYXRlZCBsb2FkIG9mIFMyIGFuZCBTNCByZWNlaXZl
ZCBmcm9tIEEyJm5ic3A7dG8gdGhlIGFnZ3JlZ2F0ZWQgbG9hZCBvZiBTMSBhbmQgUzMuPGJyPg0K
Jm5ic3A7PGJyPg0KVGhpcyB1c2UgY2FzZSBtYXkgZHJpdmUgdG8gY29uc2lkZXIgaWYgdGhlIGxv
YWQgb2YgYSBzZXQgb2Ygbm9kZXMgKGFnZ3JlZ2F0ZWQgbG9hZCkgd291bGQgYmUgdXNlZnVsJm5i
c3A7b3IgaWYgaXQgY2FuIGJlIGF2b2lkZWQuJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7
PGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Ok1vbmFjbyI+Jm5ic3A7ICZuYnNwOy0tLUEx
LS0tUzEsIFMzIOKApjxicj4NCi8gJm5ic3A7ICZuYnNwO3wgXC88YnI+DQpDMSAmbmJzcDsmbmJz
cDt8IC9cPGJyPg0KXCAmbmJzcDsgJm5ic3A7fC8gJm5ic3A7XDxicj4NCiZuYnNwOyAmbmJzcDst
LS1BMi0tLVMyLCBTNCDigKY8YnI+DQo8L3NwYW4+Jm5ic3A7PGJyPg0KRmlndXJlIDUuNTxicj4N
CiZuYnNwOzxicj4NCkluIHRoaXMgZGlhZ3JhbSwgYWxsIHNlcnZlcnMgYXJlIGNvbm5lY3RlZCB0
byB0aGUgc2FtZSBzZXQgb2YgREFzLCB3aGljaCBtdWx0aXBseSB0aGUgbnVtYmVyIG9mJm5ic3A7
Y29ubmVjdGlvbnMgYmV0d2VlbiBzZXJ2ZXJzIGFuZCB0aGVpciBEQXM7IG90aGVyd2lzZSwgd2Ug
Y29tZSBiYWNrIHRvIHRoZSBmaWd1cmUgNS40IGNhc2Ugb3IgYW4mbmJzcDtoeWJyaWQgY2FzZSBi
ZXR3ZWVuIGZpZ3VyZSA1LjQgYW5kIDUuNS4mbmJzcDs8YnI+DQpDMSB3aGVuIHNlbmRpbmcgYSBy
ZXF1ZXN0IG1heSBzZWxlY3QgQTEgb3IgQTIgYWNjb3JkaW5nIHRvIGEgbG9hZCBpbmZvcm1hdGlv
biBvbmx5IHJlbGF0ZWQgdG8gQTEmbmJzcDtsb2FkIGFuZCBBMiBsb2FkLiBUaGlzIHNlbGVjdGlv
biBpcyBpbmRlcGVuZGVudCBmcm9tIHRoZSBzZXJ2ZXIgbG9hZCwgZXhjZXB0IGlmIHdlIHRha2Ug
aW50byZuYnNwO2FjY291bnQgZS5nLiB0aGUgbG9hZCBvZiB0aGUgQTEvUzEgY29ubmVjdGlvbiBh
bmQgdGhlIGxvYWQgb2YgQTIvUzENCiBjb25uZWN0aW9uIHdoaWNoIG1heSBiZSZuYnNwO2RpZmZl
cmVudC48YnI+DQombmJzcDs8YnI+DQpBMSAob3IgQTIpIHRoZW4gc2VsZWN0cyB0aGUgc2VydmVy
IGFjY29yZGluZyB0byBsb2FkIGluZm9ybWF0aW9uIHJlY2VpdmVkIGZyb20gdGhlc2Ugc2VydmVy
cywmbmJzcDtleGNlcHQgZm9yIGhvc3Qgcm91dGVkIHJlcXVlc3RzLiAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzxicj4NCiZuYnNwOzxicj4NCiZuYnNwOzxicj4NCjxz
cGFuIHN0eWxlPSJmb250LWZhbWlseTpNb25hY28iPiZuYnNwOyAmbmJzcDstLS1BMS0tLUEzLS0t
LVMxLCBTMyDigKY8YnI+DQovICZuYnNwOyAmbmJzcDt8IFwvIHw8YnI+DQpDMSAmbmJzcDsgfCAv
XCB8PGJyPg0KXCAmbmJzcDsgJm5ic3A7fC8gJm5ic3A7XHw8YnI+DQombmJzcDsgJm5ic3A7LS0t
QTItLS1BNC0tLS1TMiwgUzQg4oCmPGJyPg0KPC9zcGFuPiZuYnNwOzxicj4NCkZpZ3VyZSA1LjY8
YnI+DQombmJzcDs8YnI+DQpUaGlzIGRpYWdyYW0gaW50cm9kdWNlcyDigJx0d28gbGF5ZXJz4oCd
IG9mIERBcyBiZXR3ZWVuIGNsaWVudHMgYW5kIHNlcnZlcnMuPGJyPg0KQ29tcGFyZWQgdG8gZmln
dXJlIDUuMyBvciA1LjQsIEMxIHdoZW4gc2VuZGluZyBhIHJlcXVlc3QgbWF5IHNlbGVjdCBBMSBv
ciBBMiBhY2NvcmRpbmcgdG8gYSBsb2FkJm5ic3A7aW5mb3JtYXRpb24gb25seSByZWxhdGVkIHRv
IEExIGxvYWQgYW5kIEEyIGxvYWQuIFRoZW4gQTEob3IgQTIpd2hlbiBkb2luZyBmdXJ0aGVyIHJv
dXRpbmcsIGFyZSBpbiBhJm5ic3A7c2ltaWxhciBzaXR1YXRpb24gdG8gQzEgaW4gRmlndXJlcyA1
LjMgb3IgNS40Ljxicj4NCiZuYnNwOzxicj4NCiZuYnNwOyAmbmJzcDsmbmJzcDs8YnI+DQo8c3Bh
biBzdHlsZT0iZm9udC1mYW1pbHk6TW9uYWNvIj4mbmJzcDsgJm5ic3A7LS0tQTEtLS1BMy0tLVMx
LCBTMyDigKY8YnI+DQovICZuYnNwOyAmbmJzcDt8IFwvIHwgXC88YnI+DQpDMSAmbmJzcDsgfCAv
XCB8IC9cPGJyPg0KXCAmbmJzcDsgJm5ic3A7fC8gJm5ic3A7XHwvICZuYnNwO1w8YnI+DQombmJz
cDsgJm5ic3A7LS0tQTItLS1BNC0tLVMyLCBTNCDigKY8YnI+DQombmJzcDs8YnI+DQo8L3NwYW4+
RmlndXJlIDUuNzxicj4NCkFzIGluIGZpZ3VyZSA1LjQsIGFsbCBzZXJ2ZXJzIGFyZSBjb25uZWN0
ZWQgdG8gYSBjb21tb24gc2V0IG9mIERBcyAoaGVyZSBBMywgQTQpLCB3aGljaCBtdWx0aXBseSZu
YnNwO3RoZSBudW1iZXIgb2YgY29ubmVjdGlvbnMgYmV0d2VlbiBzZXJ2ZXJzIGFuZCB0aGVpciBE
QXM7IG90aGVyd2lzZSwgd2UgY29tZSBiYWNrIHRvIHRoZSBmaWd1cmUgNS42Jm5ic3A7Y2FzZSBv
ciBhIGh5YnJpZCBjYXNlIGJldHdlZW4gZmlndXJlcyA1LjYgYW5kIDUuNy4mbmJzcDs8YnI+DQpD
MSB3aGVuIHNlbmRpbmcgYSByZXF1ZXN0IG1heSBzZWxlY3QgQTEgb3IgQTIgYWNjb3JkaW5nIHRv
IGEgbG9hZCBpbmZvcm1hdGlvbiBvbmx5IHJlbGF0ZWQgdG8gQTEmbmJzcDtsb2FkIGFuZCBBMiBs
b2FkLiBUaGlzIHNlbGVjdGlvbiBpcyBpbmRlcGVuZGVudCBmcm9tIHRoZSBzZXJ2ZXIgbG9hZC48
YnI+DQpUaGVuIEExIG9yIEEyIGZvciBmdXRyamVyIHJvdXRpbmcgaGF2ZSBhIHNpbWlsYXIgc2l0
dWF0aW9uIHRvIEMxIGluIGZpZ3VyZSA1LjUuPGJyPg0KVGhpcyBjYXNlIG9mZmVyIGEgaGlnaCBm
bGV4aWJpbGl0eSBhYm91dCBsb2FkIHNoYXJpbmcgdGhhdCBjYW4gYmUgZG9uZSBpbiBkaWZmZXJl
bnQgcGxhY2VzLCBidXQgYWxzJm5ic3A7byBtYXkgaW50cm9kdWNlIGhpZ2hlciBjb21wbGV4aXR5
IGFib3V0IHNlbGVjdGluZyB0aGUgcmlnaHQgcm91dGluZy4gJm5ic3A7Jm5ic3A7PGJyPg0KJm5i
c3A7PGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KJm5ic3A7PGJyPg0KI0wy
ICZuYnNwOyAmbmJzcDtQYXJ0aXRpb25lZCBzZXJ2ZXJzIChjYW4gYmUgYWRkZWQgaW4gc2VjdGlv
biA1KTxicj4NCiZuYnNwOzxicj4NClRoaXMgdGhlIGNhc2Ugb2YgcmVhbG0gcm91dGVkIHJlcXVl
c3Qgd2hlcmUgb25seSBvbmUgb3Igc29tZSBzZXJ2ZXJzIGluIHRoZSBzYW1lIHJlYWxtIGNhbiBo
YW5kbGUmbmJzcDt0aGUgcmVxdWVzdCwgc28gbm8gbG9hZCBiYWxhbmNpbmcgdG8gb3RoZXIgc2Vy
dmVycyBvZiB0aGUgcmVhbG0gY2FuIGJlIGFjaGlldmVkLiBBbiBpbnRlcm1lZGlhdGUmbmJzcDtw
cm94eSBEQSB3aWxsIHNlbGVjdCB0aGUgcG9zc2libGUgc2VydmVyKHMpZm9yIHRoaXMgcmVxdWVz
dCwgYW5kDQogaWYgc2V2ZXJhbCBzZXJ2ZXJzLCB0aGUgREEgbWF5IGRvJm5ic3A7c29tZSBsb2Fk
IGJhbGFuY2luZyBiZXR3ZWVuIHRoZW0gYW5kIGlmIG9uZSBzZXJ2ZXIsIHRoZSBEQSBtYXkgYWN0
IGFzIHdpdGggaG9zdCByb3V0ZWQgcmVxdWVzdHMuICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyZuYnNwOzxicj4NCiZuYnNwOzxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4N
CiNMMyAmbmJzcDsgJm5ic3A7QWN0aXZlIGFuZCBzdGFuZCBieSBub2RlcyAoY2FuIGJlIGluc2Vy
dGVkIGluIHNlY3Rpb24gNSk8YnI+DQombmJzcDs8YnI+DQpJbiB0aGUgYWJvdmUgdG9wb2xvZ3kg
dXNlIGNhc2VzLCBpdCBpcyBhc3N1bWVkIHRoYXQgbG9hZCBzaGFyaW5nIGNhbiBiZSB1c2VkIGJl
dHdlZW4gdGhlIGRpZmZlcmVudCZuYnNwO3Bvc3NpYmxlIGNvbm5lY3Rpb25zIG9mIHRoZSBmaWd1
cmVzLiBJZiBub2RlcyBhcmUgaW4gYW4gJm5ic3A7YWN0aXZlIGFuZCBzdGFuZCBieSBjb25maWd1
cmF0aW9ucywgdGhlJm5ic3A7ZmlndXJlcyB0byBjb25zaWRlciBhcmUgd2l0aCB0aGUgb25seSBh
Y3RpdmUgY29ubmVjdGlvbnMuIFRoZQ0KIHN3aXRjaCBmcm9tIHRoZSBhY3RpdmUgdG8gdGhlIHN0
YW5kJm5ic3A7Ynkgbm9kZSB3aXRoIHRoZSBsb2FkIGhhbmRsaW5nIGFzcGVjdCBpcyBhbm90aGVy
IHRvcGljLiAmbmJzcDs8YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fPGJyPg0KJm5ic3A7PGJyPg0KI0w04oCmIFNvbWUgY29uc2lkZXJhdGlvbnMgZnJv
bSB0aGUgdG9wb2xvZ3kgdXNlIGNhc2VzIChjYW4gYmUgaW5zZXJ0ZWQgaW4gc2VjdGlvbiA1KTxi
cj4NCiZuYnNwOzxicj4NCi0gdGhlcmUgaXMgYSBsYXJnZSB2YXJpZXR5IG9mIHVzZSBjYXNlcyB3
aXRoIHZhcmlvdXMgcGxhY2VzIHdoZXJlIGxvYWQgYmFsYW5jaW5nIGFjdGlvbnMgY2FuIGJlJm5i
c3A7dGFrZW4uIFRoaXMgbWF5IGltcGFjdCB0aGUgY29udGVudCBvZiBsb2FkIGluZm9ybWF0aW9u
IHRyYW5zZmVycmVkIGRvd25zdHJlYW0uIEl0IHNob3VsZCBhbHNvIGJlJm5ic3A7YXZvaWRlZCB0
byBhZGQgdG9vIG11Y2ggY29tcGxleGl0eSwgZXNwZWNpYWxseSBvbiB0aGUgbG9hZCBpbmZvcm1h
dGlvbg0KIGNvbnRlbnQgdHJhbnNmZXJyZWQmbmJzcDtkb3duc3RyZWFtLCBub2RlIGJlaGF2aW9y
IGNhbiBiZSBtb3JlIHNvcGhpc3RpY2F0ZWQgYnV0IG5vcm1hbGx5IHJlbWFpbnMgb3V0c2lkZSB0
aGUmbmJzcDtzdGFuZGFyZGl6YXRpb24gc2NvcGUuPGJyPg0KJm5ic3A7PGJyPg0KLSBjbGllbnRz
IHJlY2VpdmluZyBsb2FkIGluZm9ybWF0aW9uIGhhdmUgbm90IHRvIGJlIGF3YXJlIG9mIHRoZSBE
QXMgYW5kIHNlcnZlciB0b3BvbG9naWVzLCB0aGV5Jm5ic3A7bmV2ZXJ0aGVsZXNzIG5lZWQgcmVs
ZXZhbnQgbG9hZCBpbmZvcm1hdGlvbiBjcml0ZXJpYSB0byBzZWxlY3QgKHdoZW4gbmVlZGVkKSB0
aGUgcmlnaHQgbmV4dCBub2RlIHRvJm5ic3A7d2hpY2ggdG8gc2VuZCBhIHJlcXVlc3QuIFRoaXMg
bWF5IGRyaXZlIHRvIGNvbnNpZGVyIGlmIHNvbWUNCiBhZ2dyZWdhdGlvbiBvZiBsb2FkIGluZm9y
bWF0aW9uIHRvIGJlJm5ic3A7cGVyZm9ybWVkIGJlZm9yZSBzZW5kaW5nIGl0IHRvIHRoZSBjbGll
bnRzLCBzbyB0byBtYWtlIGl0IHNpbXBsZXIgdG8gdGhlIGNsaWVudHMuPGJyPg0KJm5ic3A7PGJy
Pg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZuYnNwOzxicj4NCiNMNiAm
bmJzcDsgTG9hZCBpbmZvcm1hdGlvbiBzY29wZXMgKGNhbiBiZSAmbmJzcDthZGRlZCBpbiBzZWN0
aW9uIDYpPGJyPg0KJm5ic3A7PGJyPg0KTG9hZCBpbmZvcm1hdGlvbiBjYW4gYXBwbHkgdG8gdmFy
aW91cyBzY29wZXMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCB0byByZXRhaW4gb3Igbm90IDo8
YnI+DQombmJzcDs8YnI+DQpMb2FkIG9mIGEgbm9kZTogdGhpcyBpcyB0aGUgbW9zdCB1c3VhbCB0
byBjb25zaWRlci4gQSBub2RlIGNhbiBiZSBhbiBlbmQgcG9pbnQgKHNlcnZlcikgb3IgYW4mbmJz
cDthZ2VudC48YnI+DQombmJzcDs8YnI+DQpMb2FkIG9mIGFuIGFwcGxpY2F0aW9uOiBUaGUgbG9h
ZCBvZiBhIHNlcnZlciBjYW4gdmFyeSBhY2NvcmRpbmcgdG8gdGhlIGFwcGxpY2F0aW9ucyAoZWcg
ZHVlIHRvJm5ic3A7ZGlmZmVyZW5jZXMgaW4gdGhlIHVzZWQgcmVzb3VyY2VzKS4gU28gdGhlIHBv
c3NpYmlsaXR5IHRvIGhhdmUgYSBsb2FkIGluZm9ybWF0aW9uIHBlciBhcHBsaWNhdGlvbiZuYnNw
O3Nob3VsZCBub3QgYmUgcHJlY2x1ZGVkIGF0IHRoaXMgbGV2ZWwgb2YgYW5hbHlzaXMuPGJyPg0K
Jm5ic3A7PGJyPg0KTG9hZCBvZiBhIHNldCBvZiBub2RlczogaXQgbWF5IGJlIGNvbnNpZGVyZWQg
aW50ZXJlc3RpbmcgdGhhdCB0aGUgbG9hZCBvZiBhIHNldCBvZiBub2RlcyBpcyZuYnNwO3RyYW5z
ZmVycmVkIGRvd25zdHJlYW0uIFVzZSBjYXNlcyBzaG91bGQgaWRlbnRpZnkgc3VjaCBhbiBpbnRl
cmVzdC4gVGhpcyBkcml2ZXMgdG8gdGhlIGFnZ3JlZ2F0aW9uJm5ic3A7b2YgdGhlIGxvYWQgb2Yg
dGhlIHZhcmlvdXMgbm9kZXMgb2YgdGhlIHNldCB0byBlbGFib3JhdGUgdGhlIGxvYWQNCiBvZiB0
aGUgc2V0LiBUaGlzIGNhbiBiZSBkb25lIGJ5Jm5ic3A7YW4gaW50ZXJtZWRpYXRlIG5vZGUgcmVj
ZWl2aW5nIHRoZSBsb2FkIGluZm9ybWF0aW9uIG9mIHRoZSB2YXJpb3VzIG5vZGVzLiBJdCBjYW4g
YmUgYSB3ZWlnaHRlZCZuYnNwO2F2ZXJhZ2UgYmV0d2VlbiB0aGUgbG9hZHM7IHRoZSB3ZWlnaHQg
aXMgYW5vdGhlciBpbmZvcm1hdGlvbiB0byBiZSBjb25zaWRlcmVkIChlZyB0aGUgY2FwYWNpdHkg
b2YmbmJzcDt0aGUgc2VydmVycyB3aGljaCBtYXkgYmUgZGlmZmVyZW50KS48YnI+DQombmJzcDs8
YnI+DQpMb2FkIG9mIGFuIGFnZW50IGFuZCBsb2FkIG9mIGEgc2VydmVyLjxicj4NCkRpZmZlcmVu
dCBwYXRocyB2aWEgZGlmZmVyZW50IERBcyBtYXkgZXhpc3QgYmV0d2VlbiB0aGUgbm9kZSBkb2lu
ZyB0aGUgc2VydmVyIHNlbGVjdGlvbiBhbmQgdGhlJm5ic3A7c2VydmVyLiBUaGUgbG9hZCBpbmZv
cm1hdGlvbiBvbiB0aGUgc2VydmVyIHdvdWxkIGJlIHRoZSBzYW1lOyBidXQgdGhlbiB0byB3aGlj
aCBwZWVyIHRvIHNlbmQgdGhlJm5ic3A7bWVzc2FnZT8gVGhpcyB3b3VsZCBkZXBlbmQgb2YgdGhl
IGxvYWQgb2YgdGhlIHBlZXIgKGFuZCBldmVuIG9mDQogdGhlIGxvYWQgYmVoaW5kIHRoZSBwZWVy
KS48YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4N
CiZuYnNwOzxicj4NCiNMNyAmbmJzcDsgQWRkaXRpb24gcmVtb3ZhbCBvZiBhIHNlcnZlciAoY2Fu
IGJlICZuYnNwO2FkZGVkIGluIHNlY3Rpb24gNik8YnI+DQombmJzcDs8YnI+DQpXaGVuIGFkZGlu
ZyBhIHNlcnZlciwgdGhpcyBvbmUgd2lsbCBzdGFydCBieSBhZHZlcnRpc2luZyBubyBvciBhIHNt
YWxsIGxvYWQsIHRoZW4gaXQgd2lsbCBiZSB0byB0aGUmbmJzcDtkb3duc3RyZWFtIG5vZGVzIChl
ZyBEQXMpIGhhbmRsaW5nIGxvYWQgYmFsYW5jaW5nIGJldHdlZW4gc2VydmVycyB0byBlbnN1cmUg
YSBzbW9vdGggaW5jcmVhc2Ugb2YmbmJzcDt0aGUgdHJhZmZpYyB0byB0aGlzIHNlcnZlciwgdG8g
YXZvaWQgdG8gaW1tZWRpYXRlbHkgc2VuZCBpdA0KIHRvbyBtdWNoIHRyYWZmaWMgYW5kIGV2ZW4g
dG8gbm90IHB1dCBpdCZuYnNwO2ludG8gb3ZlcmxvYWQuIEl0IG1heSBiZSBxdWVzdGlvbmVkIGlm
IGEgc2ltcGxlIGxvYWQgaW5mb3JtYXRpb24gKGxvYWQgcGVyY2VudGFnZSkgaXMgc3VmZmljaWVu
dCZuYnNwO2ZvciB0aGlzLjxicj4NCiZuYnNwOzxicj4NCldoZW4gcmVtb3ZpbmcgYSBzZXJ2ZXIg
aW4gYSBjb250cm9sbGVkIHdheSAoZS5nLiBmb3IgbWFpbnRlbmFuY2UgcHVycG9zZSwgc28gb3V0
c2lkZSBhIGZhaWx1cmUmbmJzcDtjYXNlKSwgYW4gb2JqZWN0aXZlIGNhbiBiZSB0byBwcm9ncmVz
c2l2ZWx5IHJlZHVjZSB0aGUgdHJhZmZpYyB0byB0aGlzIHNlcnZlciwgd2l0aCBhIHJvdXRpbmcg
b2YmbmJzcDt0aGUgdHJhZmZpYyB0byBvdGhlciBzZXJ2ZXJzLiBTaW1wbGUgbG9hZCBpbmZvcm1h
dGlvbiAobG9hZCBwZXJjZW50YWdlKQ0KIHdvdWxkIGJlIG5vdCBzdWZmaWNpZW50LiBJdCZuYnNw
O3Nob3VsZCBiZSBjb25zaWRlcmVkIGlmIHRoaXMgdXNlIGNhc2UgZW50ZXIgdGhlIHNjb3BlIG9m
IHRoaXMgbG9hZCBjb250cm9sIG1lY2hhbmlzbS48YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19f
X19fX19fX19fX19fX19fXzxicj4NCiZuYnNwOzxicj4NCiNMOCAmbmJzcDsgSW1wbGVtZW50YXRp
b24gYW5kIHN0YW5kYXJkaXphdGlvbiAoY2FuIGJlIGFkZGVkIGluIHNlY3Rpb24gMSk8YnI+DQom
bmJzcDs8YnI+DQpUaHJvdWdoIHRoZSB1c2UgY2FzZXMgYW5kIHRoZSBhcmNoaXRlY3R1cmVzIGNv
bnNpZGVyYXRpb25zIGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LCB0aGUgZm9jdXMgaXMmbmJz
cDt0byBkZWZpbmUgd2hpY2ggd291bGQgYmUgdGhlIHJlbGV2YW50IGxvYWQgaW5mb3JtYXRpb24g
dG8gYmUgdHJhbnNmZXJyZWQgdG8gdGhlIG5vZGVzIHRoYXQgd2lsbCB1c2UmbmJzcDtpdC4gVGhl
biwgZ2l2ZW4gdGhlIHZhcmlldHkgb2YgdXNlIGNhc2VzLCB0aGUgcG9zc2libGUgdG9wb2xvZ2ll
cywNCiB0aGUgcGxhY2Ugd2hlcmUgdGhlIHNlcnZlciZuYnNwO3NlbGVjdGlvbiBpcyBkb25lLCBl
dGMsIGZsZXhpYmlsaXR5IGlzIHRvIGJlIGxlZnQgdG8gaW1wbGVtZW50YXRpb25zIGFib3V0IHRo
ZSBub2RlIGJlaGF2aW9yJm5ic3A7cmVnYXJkaW5nIHRoZSBlbGFib3JhdGlvbiBvZiB0aGUgbG9h
ZCBpbmZvcm1hdGlvbiBhbmQgdGhlbiBpdHMgdXNlLiBHdWlkYW5jZSBvciBleGFtcGxlcyBtYXkg
YWxzbyZuYnNwO2JlIGdpdmVuIHRvIGhlbHAgYnV0IHdpdGhvdXQgbm9ybWF0aXZlDQogYXNwZWN0
cy48YnI+DQombmJzcDs8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZu
YnNwOzxicj4NCiNMOeKApiAmbmJzcDtSZWRpcmVjdCBhZ2VudCA6IChjYW4gYmUgYWRkZWQgYXQg
dGhlIGVuZCBvZiBzZWN0aW9uIDMpPGJyPg0KJm5ic3A7PGJyPg0KQSBEaWFtZXRlciBub2RlIChl
LmcuIGNsaWVudCkgY2FuIHVzZSBhIHJlZGlyZWN0IGFnZW50IHRvIGdldCBkZXN0aW5hdGlvbiBo
b3N0IGFkZHJlc3Nlcy4gJm5ic3A7VGhlJm5ic3A7cmVkaXJlY3QgYWdlbnQgbWF5IHJldHVybiBz
ZXZlcmFsIGRlc3RpbmF0aW9uIGhvc3QgYWRkcmVzc2VzLCBvZiB3aGljaCB0aGUgRGlhbWV0ZXIg
bm9kZSBoYXMgdG8mbmJzcDtzZWxlY3Qgb25lIGFuZCBmb3IgdGhpcyBjYW4gcmVseSBvbiB0aGUg
bG9hZCBpbmZvcm1hdGlvbiBvbiB0aGVzZQ0KIGhvc3RzPGJyPg0KX19fX19fX19fX19fX19fX19f
X19fX19fX19fPGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7PGJyPg0KU28gcGxlYXNlIGxldCBtZSBr
bm93IHlvdXIgY29tbWVudHMuPGJyPg0KJm5ic3A7PGJyPg0KQmVuLCB3b3VsZCB5b3UgYmUgT0sg
dG8gY29tcGxlbWVudCB5b3VyIGRyYWZ0IHdpdGggdGhvc2UgaW5wdXRzIC4gV2UgY2FuIGFsc28g
aGF2ZSBxdWVzdGlvbiBtYXJrcyBvciBlZGl0b3LigJlzIG5vdGVzLCBidXQgSSB0aGluayBnb29k
IHRvIGhhdmUgYSZuYnNwO2RvY3VtZW50IGFib3V0IHdoaWNoIHdlIGRpc2N1c3MgdGhlc2UgYXJj
aGl0ZWN0dXJhbCBjb25zaWRlcmF0aW9ucy48YnI+DQombmJzcDs8YnI+DQpCZXN0IHJlZ2FyZHM8
YnI+DQombmJzcDs8YnI+DQpKSmFjcXVlcyZuYnNwOzxicj4NCiZuYnNwOzxicj4NCiZuYnNwOzxi
cj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0K
RGlNRSBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWlsdG86RGlNRUBpZXRmLm9yZyI+RGlN
RUBpZXRmLm9yZzwvYT48YnI+DQo8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL2RpbWUiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vZGlt
ZTwvYT48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_E194C2E18676714DACA9C3A2516265D2026F5FFAFR712WXCHMBA12z_--


From nobody Thu Jan 15 01:57:57 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A364F1B2BC7 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:57:54 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 VUDJ07bJoFAF for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:57:50 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 29BA31B2BC3 for <dime@ietf.org>; Thu, 15 Jan 2015 01:57:50 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0F9vlXV029312 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Jan 2015 09:57:47 GMT
Received: from DEMUHTC003.nsn-intra.net ([10.159.42.34]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0F9vkL6023499 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 10:57:47 +0100
Received: from DEMUHTC010.nsn-intra.net (10.159.42.41) by DEMUHTC003.nsn-intra.net (10.159.42.34) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 15 Jan 2015 10:57:46 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC010.nsn-intra.net ([10.159.42.41]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 10:57:46 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Ben's suggested change on Definitions
Thread-Index: AdAwqbXvDFIcdrR2SZSsFALH28dWww==
Date: Thu, 15 Jan 2015 09:57:45 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F070@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523F070DEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 3955
X-purgate-ID: 151667::1421315868-00007286-4BDCFC01/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/M-YF14MVGNDISaZ2a3ml05IQC-U>
Cc: "draft-ietf-dime-ovli@tools.ietf.org" <draft-ietf-dime-ovli@tools.ietf.org>
Subject: [Dime] Ben's suggested change on Definitions
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 09:57:54 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F070DEMUMBX014nsnin_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ben wrote:
--Definitions:

I think we've made it too easy for the reader to confuse "abatement mechani=
sms" with "abatement algorithms". For example, "Abatement Algorithm" starts=
 with "An extensible mechanism..." and "Diversion" starts with "An overload=
 abatement mechanism...". A new reader will likely think that Diversion is =
a kind of abatement algorithm. I propose the following the following for "A=
batement Algorithm":

"An extensible _method_ requested by reporting nodes and used by reacting n=
odes to determine which requests receive abatement treatment"

For "Diversion":

"An abatement _treatment_ mechanism, where..."

And for "Throttling":

"An abatement treatment mechanism that limits..."

<Ulrich> I agree with the principle. On reflection, isn't it so that "Abate=
ment Algorithm  is a method (not necessarily an _extensible_ method - what =
is extensible is the set of advertized abatement algorithms)  advertized by=
 reacting nodes and selected by reporting nodes for use at reacting nodes t=
o determine whether a given  requests (which matches application id and req=
uest type and destination) is subject to abatement treatment?



--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F070DEMUMBX014nsnin_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Consolas" size=3D"2"><span style=3D"font-size:10.5pt;">
<div>Ben wrote:</div>
<div>--Definitions:</div>
<div>&nbsp;</div>
<div>I think we've made it too easy for the reader to confuse &quot;abateme=
nt mechanisms&quot; with &quot;abatement algorithms&quot;. For example, &qu=
ot;Abatement Algorithm&quot; starts with &quot;An extensible mechanism...&q=
uot; and &quot;Diversion&quot; starts with &quot;An overload abatement mech=
anism...&quot;. A
new reader will likely think that Diversion is a kind of abatement algorith=
m. I propose the following the following for &quot;Abatement Algorithm&quot=
;:</div>
<div>&nbsp;</div>
<div>&quot;An extensible _method_ requested by reporting nodes and used by =
reacting nodes to determine which requests receive abatement treatment&quot=
;</div>
<div>&nbsp;</div>
<div>For &quot;Diversion&quot;:</div>
<div>&nbsp;</div>
<div>&quot;An abatement _treatment_ mechanism, where...&quot;</div>
<div>&nbsp;</div>
<div>And for &quot;Throttling&quot;:</div>
<div>&nbsp;</div>
<div>&quot;An abatement treatment mechanism that limits...&quot;</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&lt;=
Ulrich&gt; I agree with the principle. On reflection, isn&#8217;t it so tha=
t &#8220;Abatement Algorithm&nbsp; is a method (not necessarily an _<i>exte=
nsible</i>_ method &#8211; what is extensible is the set of advertized
abatement algorithms)&nbsp; advertized by reacting nodes and selected by re=
porting nodes for use at reacting nodes to determine whether a given&nbsp; =
requests (which matches application id and request type and destination) is=
 subject to abatement treatment? </span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
</span></font>
</body>
</html>

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F070DEMUMBX014nsnin_--


From nobody Thu Jan 15 01:58:15 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9F0781B2BC8 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:58:12 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 vUan2AIZ8_K6 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:58:11 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 509251B2BCE for <dime@ietf.org>; Thu, 15 Jan 2015 01:58:10 -0800 (PST)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0F9w8rv030104 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Jan 2015 09:58:08 GMT
Received: from DEMUHTC001.nsn-intra.net ([10.159.42.32]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0F9w8SY001130 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 10:58:08 +0100
Received: from DEMUHTC008.nsn-intra.net (10.159.42.39) by DEMUHTC001.nsn-intra.net (10.159.42.32) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 15 Jan 2015 10:58:07 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC008.nsn-intra.net ([10.159.42.39]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 10:58:07 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Ben's comments on 4.3, third paragraph from end
Thread-Index: AdAwqcKKpO0LYTRKTfCB6qzRIWwNRQ==
Date: Thu, 15 Jan 2015 09:58:06 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523F07FDEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 2950
X-purgate-ID: 151667::1421315888-00007286-39DB422F/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/jd0q_tHykOjMOVBi9YGhIkpDMXo>
Cc: "draft-ietf-dime-ovli@tools.ietf.org" <draft-ietf-dime-ovli@tools.ietf.org>
Subject: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 09:58:12 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F07FDEMUMBX014nsnin_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ben wrote:
-- 4.3, third paragraph from end:

This still assumes that reporting nodes cannot change algorithms during ove=
rload. I thought we agreed to remove that. (The normative text is also stil=
l there--see later comment.)

<Ulrich> I don't understand. In my copy of -06 the third paragraph from end=
 in 4.3 reads:
   Two types of overload abatement treatment are defined, diversion and
   throttling.  Reacting nodes are responsible for determining which
   treatment is appropriate for individual requests.
How does this text assume that reporting nodes cannot change algorithms dur=
ing overload?



--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F07FDEMUMBX014nsnin_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Consolas" size=3D"2"><span style=3D"font-size:10.5pt;">
<div>Ben wrote:</div>
<div>-- 4.3, third paragraph from end:</div>
<div>&nbsp;</div>
<div>This still assumes that reporting nodes cannot change algorithms durin=
g overload. I thought we agreed to remove that. (The normative text is also=
 still there--see later comment.)</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&lt;=
Ulrich&gt; I don&#8217;t understand. In my copy of -06 the third paragraph =
from end in 4.3 reads:</span></font></div>
<div><font face=3D"Courier New" size=3D"2"><span style=3D"font-size:10pt;">=
&nbsp;&nbsp; Two types of overload abatement treatment are defined, diversi=
on and</span></font></div>
<div><font face=3D"Courier New" size=3D"2"><span style=3D"font-size:10pt;">=
&nbsp;&nbsp; throttling.&nbsp; Reacting nodes are responsible for determini=
ng which</span></font></div>
<div><font face=3D"Courier New" size=3D"2"><span style=3D"font-size:10pt;">=
&nbsp;&nbsp; treatment is appropriate for individual requests.</span></font=
></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">How =
does this text assume that reporting nodes cannot change algorithms during =
overload?</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
</span></font>
</body>
</html>

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F07FDEMUMBX014nsnin_--


From nobody Thu Jan 15 01:58:50 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 461ED1B2BC3 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:58:47 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 aWr-7yRaIc1Y for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:58:45 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6D4161B2BC2 for <dime@ietf.org>; Thu, 15 Jan 2015 01:58:45 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0F9whdH031997 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Jan 2015 09:58:43 GMT
Received: from DEMUHTC003.nsn-intra.net ([10.159.42.34]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0F9wgdx024721 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 10:58:43 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC003.nsn-intra.net ([10.159.42.34]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 10:58:43 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Ben's suggested change on 5.2.1
Thread-Index: AdAwqdfKWdMyH3rMSwGZiZcpGNXcmg==
Date: Thu, 15 Jan 2015 09:58:42 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523F097DEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 4949
X-purgate-ID: 151667::1421315923-00007286-B33E64C5/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/ErRumtCAx7DLD6i7uTO_W2A2q7c>
Cc: "draft-ietf-dime-ovli@tools.ietf.org" <draft-ietf-dime-ovli@tools.ietf.org>
Subject: [Dime] Ben's suggested change on 5.2.1
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 09:58:47 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F097DEMUMBX014nsnin_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ben wrote:
-- section 5.2.1, and subsections:

We still have some awkward use of SHOULDs and MAYs that I think are there t=
o indicate that nodes don't really have to structure their internal state a=
ny particular way. But as written, it can be interpreted to allow them to i=
gnore critical pieces of info. We would be better either removing the norma=
tive language entirely, or preface the section to say that these represent =
logical information, and that we do not assume any particular physical stru=
cture. (I prefer the latter at this point.) Details:

-- 5.2.1.1: "A reacting node SHOULD maintain...", "The host-type and realm-=
type OCS entries MAY include..."

What if it doesn't? I think things fail.

Also, I'm still confused by the first part of this section. The reacting no=
de keeps state for every reported and active overload condition. Each will =
be the result of a realm report or a host report. The text makes it sound l=
ike it needs to keep OCS for both report types, even if it had not received=
 both.

<Ulrich> At the reacting node, when there is no overload, e.g. a previous O=
LR expired or end of overload has been explicitly signalled, it is up to im=
plementations whether to store an OCS containing "no overload" or whether "=
no overload" is internally indicated by absence of an OCS.

-- 5.2.1.1: "A reporting node SHOULD maintain OCS entries..." and "An OCS e=
ntry is identified ... and MAY include ..."

What if it doesn't?

-- 5.2.1.4: "A reporting node MUST NOT update the abatement algorithm in an=
 active OCS entry."

I thought we agreed to remove that, and replace it with the note at the beg=
inning of 5.1?




--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F097DEMUMBX014nsnin_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Consolas" size=3D"2"><span style=3D"font-size:10.5pt;">
<div>Ben wrote:</div>
<div>-- section 5.2.1, and subsections:</div>
<div>&nbsp;</div>
<div>We still have some awkward use of SHOULDs and MAYs that I think are th=
ere to indicate that nodes don't really have to structure their internal st=
ate any particular way. But as written, it can be interpreted to allow them=
 to ignore critical pieces of info.
We would be better either removing the normative language entirely, or pref=
ace the section to say that these represent logical information, and that w=
e do not assume any particular physical structure. (I prefer the latter at =
this point.) Details:</div>
<div>&nbsp;</div>
<div>-- 5.2.1.1: &quot;A reacting node SHOULD maintain...&quot;, &quot;The =
host-type and realm-type OCS entries MAY include...&quot;</div>
<div>&nbsp;</div>
<div>What if it doesn't? I think things fail. </div>
<div>&nbsp;</div>
<div>Also, I'm still confused by the first part of this section. The reacti=
ng node keeps state for every reported and active overload condition. Each =
will be the result of a realm report or a host report. The text makes it so=
und like it needs to keep OCS for
both report types, even if it had not received both.</div>
<div>&nbsp;</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&lt;=
Ulrich&gt; At the reacting node, when there is no overload, e.g. a previous=
 OLR expired or end of overload has been explicitly signalled, it is up to =
implementations whether to store an OCS containing
&#8220;no overload&#8221; or whether &#8220;no overload&#8221; is internall=
y indicated by absence of an OCS. </span></font></div>
<div>&nbsp;</div>
<div>-- 5.2.1.1: &quot;A reporting node SHOULD maintain OCS entries...&quot=
; and &quot;An OCS entry is identified ... and MAY include ...&quot;</div>
<div>&nbsp;</div>
<div>What if it doesn't?</div>
<div>&nbsp;</div>
<div>-- 5.2.1.4: &quot;A reporting node MUST NOT update the abatement algor=
ithm in an active OCS entry.&quot;</div>
<div>&nbsp;</div>
<div>I thought we agreed to remove that, and replace it with the note at th=
e beginning of 5.1?</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
</span></font>
</body>
</html>

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F097DEMUMBX014nsnin_--


From nobody Thu Jan 15 01:59:18 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CDE9E1B2BBB for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:59:15 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 QgTPzxAKyKEK for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:59:14 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D6DEE1B2BC2 for <dime@ietf.org>; Thu, 15 Jan 2015 01:59:13 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0F9xCvX000714 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Jan 2015 09:59:12 GMT
Received: from DEMUHTC002.nsn-intra.net ([10.159.42.33]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0F9xCwo030137 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 10:59:12 +0100
Received: from DEMUHTC012.nsn-intra.net (10.159.42.43) by DEMUHTC002.nsn-intra.net (10.159.42.33) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 15 Jan 2015 10:59:11 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC012.nsn-intra.net ([10.159.42.43]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 10:59:11 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Ben's comments on 5.2.2: 5th paragraph
Thread-Index: AdAwqehaWtrP3vnmTBC01HcLvLd+1Q==
Date: Thu, 15 Jan 2015 09:59:10 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0AADEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 3166
X-purgate-ID: 151667::1421315952-00007286-D207DF6B/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/u9QoSv-Y1h9_L04KhoXpOTUbeZg>
Cc: "draft-ietf-dime-ovli@tools.ietf.org" <draft-ietf-dime-ovli@tools.ietf.org>
Subject: [Dime] Ben's comments on 5.2.2: 5th paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 09:59:16 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0AADEMUMBX014nsnin_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ben wrote:
-- 5.2.2: 5th paragraph:

This doesn't seem quite right, since it leaves the option of no abatement a=
t all. Second, it doesn't seem to allow delegation of abatement downstream.=
 When might one choose to ignore those SHOULDs? Is this here to allow deleg=
ation? If so, the use of SHOULD makes local throttling preferred over deleg=
ation.

<Ulrich> My understanding is: If delegation of abatement is done by a node,=
 then that node is no longer a reacting node.
The first SHOULD is ignored by reacting nodes that do not support diversion=
 and hence always perform throttling. For the second SHOULD you MAY be righ=
t. We SHOULD replace it with MUST.
In addition the world "otherwise" must not be read as " if diversion abatem=
ent treatment is not possible" but as " if diversion abatement treatment is=
 not possible and if the first SHOULD is ignored".


--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0AADEMUMBX014nsnin_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Consolas" size=3D"2"><span style=3D"font-size:10.5pt;">
<div>Ben wrote:</div>
<div>-- 5.2.2: 5th paragraph:</div>
<div>&nbsp;</div>
<div>This doesn't seem quite right, since it leaves the option of no abatem=
ent at all. Second, it doesn't seem to allow delegation of abatement downst=
ream. When might one choose to ignore those SHOULDs? Is this here to allow =
delegation? If so, the use of SHOULD
makes local throttling preferred over delegation.</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&lt;=
Ulrich&gt; My understanding is: If delegation of abatement is done by a nod=
e, then that node is no longer a reacting node. </span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">The =
first SHOULD is ignored by reacting nodes that do not support diversion and=
 hence always perform throttling. For the second SHOULD you MAY be right. W=
e SHOULD replace it with MUST.</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">In a=
ddition the world &#8220;otherwise&#8221; must not be read as &#8220; if di=
version abatement treatment is not possible&#8221; but as &#8220; if divers=
ion abatement treatment is not possible and if the first SHOULD is ignored&=
#8221;.</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
</span></font>
</body>
</html>

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0AADEMUMBX014nsnin_--


From nobody Thu Jan 15 01:59:35 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E7DD1B2BC4 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:59:33 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 ylh3TOY7t19Z for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 01:59:32 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AD6A11B2BBB for <dime@ietf.org>; Thu, 15 Jan 2015 01:59:31 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0F9xTq9013454 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Jan 2015 09:59:29 GMT
Received: from DEMUHTC003.nsn-intra.net ([10.159.42.34]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0F9xTF7000862 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 10:59:29 +0100
Received: from DEMUHTC007.nsn-intra.net (10.159.42.38) by DEMUHTC003.nsn-intra.net (10.159.42.34) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 15 Jan 2015 10:59:29 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC007.nsn-intra.net ([10.159.42.38]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 10:59:29 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Ben's suggested change on 8, 1st paragraph
Thread-Index: AdAwqfMPrbfZFoexR+iEXYI82dJUpw==
Date: Thu, 15 Jan 2015 09:59:28 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F0BD@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0BDDEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 1431
X-purgate-ID: 151667::1421315969-000067C4-9842F3A1/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/RU5sieT-jJqdBBIVyrYdP9fgpaw>
Cc: "draft-ietf-dime-ovli@tools.ietf.org" <draft-ietf-dime-ovli@tools.ietf.org>
Subject: [Dime] Ben's suggested change on 8, 1st paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 09:59:33 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0BDDEMUMBX014nsnin_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ben wrote:
-- 8, 1st paragraph:

This is just for agents and servers, not clients, right? If so, "When a DOI=
C node..." is too broadly stated.

<Ulrich> I agree


--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0BDDEMUMBX014nsnin_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Consolas" size=3D"2"><span style=3D"font-size:10.5pt;">
<div>Ben wrote:</div>
<div>-- 8, 1st paragraph:</div>
<div>&nbsp;</div>
<div>This is just for agents and servers, not clients, right? If so, &quot;=
When a DOIC node...&quot; is too broadly stated.</div>
<div>&nbsp;</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&lt;=
Ulrich&gt; I agree</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
</span></font>
</body>
</html>

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0BDDEMUMBX014nsnin_--


From nobody Thu Jan 15 02:09:28 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9F5F11B2BC4 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 02:09:26 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 gZrdxNeBXyHZ for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 02:09:25 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2526A1A86F8 for <dime@ietf.org>; Thu, 15 Jan 2015 02:09:24 -0800 (PST)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0FA9MxH031086 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Jan 2015 10:09:22 GMT
Received: from DEMUHTC004.nsn-intra.net ([10.159.42.35]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0FA9Mvv023496 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Jan 2015 11:09:22 +0100
Received: from DEMUHTC009.nsn-intra.net (10.159.42.40) by DEMUHTC004.nsn-intra.net (10.159.42.35) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 15 Jan 2015 11:09:22 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC009.nsn-intra.net ([10.159.42.40]) with mapi id 14.03.0195.001; Thu, 15 Jan 2015 11:09:22 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: Ben's comment to section 5.1.3
Thread-Index: AdAwq1TwAno67AYPS/u0aec3692gjA==
Date: Thu, 15 Jan 2015 10:09:21 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.109]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0D9DEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 1651
X-purgate-ID: 151667::1421316563-00007286-670096B3/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/dVElVJx2rvzkYx59MCsFuqBxzOU>
Cc: "draft-ietf-dime-ovli@tools.ietf.org" <draft-ietf-dime-ovli@tools.ietf.org>
Subject: [Dime] Ben's comment to section 5.1.3
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 10:09:26 -0000

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0D9DEMUMBX014nsnin_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ben wrote:
-- section 5.1.3:

The first two paragraphs conflict with paragraph 4. I think paragraph 4 is =
correct.

<Ulrich> I agree that paragraph 4 is correct. I do not see how the second p=
aragraph conflicts with paragraph 4.


--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0D9DEMUMBX014nsnin_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Consolas" size=3D"2"><span style=3D"font-size:10.5pt;">
<div>Ben wrote:</div>
<div>-- section 5.1.3:</div>
<div>&nbsp;</div>
<div>The first two paragraphs conflict with paragraph 4. I think paragraph =
4 is correct.</div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&lt;=
Ulrich&gt; I agree that paragraph 4 is correct. I do not see how the second=
 paragraph conflicts with paragraph 4.&nbsp; </span></font></div>
<div><font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">&nbs=
p;</span></font></div>
</span></font>
</body>
</html>

--_000_5BCBA1FC2B7F0B4C9D935572D90006681523F0D9DEMUMBX014nsnin_--


From nobody Thu Jan 15 02:57:53 2015
Return-Path: <bclaise@cisco.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2E2461B2BD4 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 02:57:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level: 
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 izYEHygKSxkM for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 02:57:47 -0800 (PST)
Received: from bgl-iport-2.cisco.com (bgl-iport-2.cisco.com [72.163.197.26]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6EFF51B2BCF for <dime@ietf.org>; Thu, 15 Jan 2015 02:57:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=15748; q=dns/txt; s=iport; t=1421319466; x=1422529066; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to; bh=6ngAGj0WY3EhbmPRI0XV58VROH9SGvwpy6lwOzqvSY8=; b=WRKXlOd5UwOATr9A7yW/kXt2MlVQQIEzq2VkgdYJSdBmS7VmzIhOnvQv /vTrzOV/9m3FzZBcBMCxbWd21g7KM6nqBedzjpcJrhdAimgve93GaNy00 BD219eWeRXk8Vyei4T6HAHecqusQ7CkGbM3nL8w9tdPJK43/Jy2uRu1nx s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ArkEABect1RIo8UY/2dsb2JhbABBGoNYWIMFwxCFcQKBWQEBAQEBfYQNAQEEI0sKARAJAiEWCAMCAgkDAgECAQ8lEQYBDAEFAgEBBYgPAxENN55qnGqPdg2DdQEBAQEBAQEBAQEBAQEBAQEBAQEBAReMSYEGgT0LEQFQB4JogUEFgUqDbo0fg0CBRIEPgnOCHIYBhWsigg+BYD0xARJ5gTcBAQE
X-IronPort-AV: E=Sophos; i="5.09,403,1418083200"; d="scan'208,217"; a="49317208"
Received: from vla196-nat.cisco.com (HELO bgl-core-2.cisco.com) ([72.163.197.24]) by bgl-iport-2.cisco.com with ESMTP; 15 Jan 2015 10:57:42 +0000
Received: from [10.60.67.85] (ams-bclaise-8914.cisco.com [10.60.67.85]) by bgl-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t0FAvdOw018928; Thu, 15 Jan 2015 10:57:40 GMT
Message-ID: <54B79D23.1080104@cisco.com>
Date: Thu, 15 Jan 2015 11:57:39 +0100
From: Benoit Claise <bclaise@cisco.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: lionel.morand@orange.com, "vf0213@gmail.com" <vf0213@gmail.com>, "jari.arkko@ericsson.com" <jari.arkko@ericsson.com>, "john.loughney@nokia.com" <john.loughney@nokia.com>, "glenzorn@gmail.com" <glenzorn@gmail.com>, "joelja@bogus.com" <joelja@bogus.com>, "jouni.nospam@gmail.com" <jouni.nospam@gmail.com>
References: <20141226060357.493B018008C@rfc-editor.org> <54B64E2E.1080908@cisco.com> <22101_1421248827_54B6893B_22101_5524_1_6B7134B31289DC4FAF731D844122B36EB0A6AB@PEXCVZYM13.corporate.adroot.infra.ftgroup>
In-Reply-To: <22101_1421248827_54B6893B_22101_5524_1_6B7134B31289DC4FAF731D844122B36EB0A6AB@PEXCVZYM13.corporate.adroot.infra.ftgroup>
Content-Type: multipart/alternative; boundary="------------080809010108090209080106"
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/Uu2wjj5PZeTAiYVmHy3OX_OlSLk>
Cc: "dime@ietf.org" <dime@ietf.org>, "Hans.Liu@alcatel-lucent.com" <Hans.Liu@alcatel-lucent.com>
Subject: Re: [Dime] [Technical Errata Reported] RFC6733 (4209)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 10:57:51 -0000

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

Dear all,

Thanks Lionel for this explanation.
Based on the above, I'm inclined to classify this errata as Rejected. I 
plan to do so in a week from now, allowing some more time for potential 
discussions.

+1 to Lionel when he wrote:

    Finally, if it is an attempt to clarify/modify the behavior of the peer receiving DPR with the "BUSY" cause, I don't think that using errata would be the most appropriate way.

 From http://www.rfc-editor.org/status_type_desc.html, the Rejected 
meaning is:

    "The erratum is in error, or proposes a change to the RFC that
    should be done by publishing a new RFC that replaces the current
    RFC. In the latter case, if the change is to be considered for
    future updates of the document, it should be proposed using channels
    other than the errata process, such as a WG mailing list." - IESG
    statement on "IESG Processing of RFC Errata for the IETF Stream"
    <http://www.ietf.org/iesg/statement/errata-processing.html>

Regards, Benoit
> Here is my view on this erratum:
>
> The text describing the "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" cases is consistent with the text found in the introduction of the section 5.4.
>
>    "In the event that the
>     disconnect was a result of either a shortage of internal resources or
>     simply that the node in question has no intentions of forwarding any
>     Diameter messages to the peer in the foreseeable future, a periodic
>     connection request would not be welcomed.  The Disconnection-Reason
>     AVP contains the reason the Diameter node issued the Disconnect-Peer-
>     Request message.
>
>     The Disconnect-Peer-Request message is used by a Diameter node to
>     inform its peer of its intent to disconnect the transport layer and
>     that the peer shouldn't reconnect unless it has a valid reason to do
>     so (e.g., message to be forwarded). "
>
> So the main purpose for sending a DPR with the causes "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" is actually to avoid the periodic reconnection attempts governed by the Tc timer.
> These exceptions are mentioned in the section 2.1:
>
>    "When no transport connection exists with a peer, an attempt to
>     connect SHOULD be made periodically.  This behavior is handled via
>     the Tc timer (see Section 12 for details), whose recommended value is
>     30 seconds.  There are certain exceptions to this rule, such as when
>     a peer has terminated the transport connection stating that it does
>     not wish to communicate."
>
> Now, it is true that there is no clear guideline on how to behave when receiving the cause "BUSY" and this explains why some implementations in the field still attempt to re-open the connection, as after a normal transport failure detection. But it does not mean that the text in the RFC6733 is wrong.
>
> Finally, if it is an attempt to clarify/modify the behavior of the peer receiving DPR with the "BUSY" cause, I don't think that using errata would be the most appropriate way.
>
> Let see if there are other views on this issue.
>
> Regards,
>
> Lionel
>
> -----Message d'origine-----
> De : Benoit Claise [mailto:bclaise@cisco.com]
> EnvoyÃ© : mercredi 14 janvier 2015 12:09
> Ã€ : vf0213@gmail.com; jari.arkko@ericsson.com; john.loughney@nokia.com; glenzorn@gmail.com; joelja@bogus.com; jouni.nospam@gmail.com; MORAND Lionel IMT/OLN
> Cc : Hans.Liu@alcatel-lucent.com; dime@ietf.org
> Objet : Re: [Technical Errata Reported] RFC6733 (4209)
>
> Document authors, DIME participants,
>
> Can we please have a discussion on this errata validity.
>
> Regards, Benoit
>> The following errata report has been submitted for RFC6733, "Diameter
>> Base Protocol".
>>
>> --------------------------------------
>> You may review the report below and at:
>> http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4209
>>
>> --------------------------------------
>> Type: Technical
>> Reported by: Hans Liu <Hans.Liu@alcatel-lucent.com>
>>
>> Section: 5.4.3
>>
>> Original Text
>> -------------
>>         BUSY                              1
>>            The peerÃ¢â‚¬â„¢s internal resources are constrained, and it has
>>            determined that the transport connection needs to be closed.
>>            A receiver of a DPR with above result code SHOULD NOT attempt
>>            reconnection.
>>
>> Corrected Text
>> --------------
>>         BUSY                              1
>>            The peerÃ¢â‚¬â„¢s internal resources are constrained, and it has
>>            determined that the transport connection needs to be closed.
>>            A receiver of a DPR with above result code SHOULD either
>>            connect to an alternate node, or attempt reconnection
>>            after a time period.
>>
>> Notes
>> -----
>> In most implementations, the Diameter node will continue to serve its peer after the resources recover and expect reconnection. If the Diameter node won't like reconnection from peer, DO_NOT_WANT_TO_TALK_TO_YOU can be used instead of BUSY.
>>
>> Instructions:
>> -------------
>> This erratum is currently posted as "Reported". If necessary, please
>> use "Reply All" to discuss whether it should be verified or rejected.
>> When a decision is reached, the verifying party (IESG) can log in to
>> change the status and edit the report, if necessary.
>>
>> --------------------------------------
>> RFC6733 (draft-ietf-dime-rfc3588bis-33)
>> --------------------------------------
>> Title               : Diameter Base Protocol
>> Publication Date    : October 2012
>> Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
>> Category            : PROPOSED STANDARD
>> Source              : Diameter Maintenance and Extensions
>> Area                : Operations and Management
>> Stream              : IETF
>> Verifying Party     : IESG
>>
>> .
>>
>
> _________________________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
>


--------------080809010108090209080106
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Dear all,<br>
      <br>
      Thanks Lionel for this explanation.<br>
      Based on the above, I'm inclined to classify this errata as
      Rejected. I plan to do so in a week from now, allowing some more
      time for potential discussions.<br>
      <br>
      +1 to Lionel when he wrote:<br>
      <blockquote>
        <pre wrap="">Finally, if it is an attempt to clarify/modify the behavior of the peer receiving DPR with the "BUSY" cause, I don't think that using errata would be the most appropriate way.
</pre>
      </blockquote>
      From <a class="moz-txt-link-freetext" href="http://www.rfc-editor.org/status_type_desc.html">http://www.rfc-editor.org/status_type_desc.html</a>, the Rejected
      meaning is:<br>
      <blockquote>"The erratum is in error, or proposes a change to the
        RFC that should be done by publishing a new RFC that replaces
        the
        current RFC. In the latter case, if the change is to be
        considered for future updates of the document, it should be
        proposed using channels other than the errata process, such as a
        WG mailing list." - IESG statement on <a
          href="http://www.ietf.org/iesg/statement/errata-processing.html">"IESG
          Processing of RFC Errata for the IETF Stream"</a><br>
      </blockquote>
      Regards, Benoit<br>
    </div>
    <blockquote
cite="mid:22101_1421248827_54B6893B_22101_5524_1_6B7134B31289DC4FAF731D844122B36EB0A6AB@PEXCVZYM13.corporate.adroot.infra.ftgroup"
      type="cite">
      <pre wrap="">Here is my view on this erratum:

The text describing the "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" cases is consistent with the text found in the introduction of the section 5.4.

  "In the event that the
   disconnect was a result of either a shortage of internal resources or
   simply that the node in question has no intentions of forwarding any
   Diameter messages to the peer in the foreseeable future, a periodic
   connection request would not be welcomed.  The Disconnection-Reason
   AVP contains the reason the Diameter node issued the Disconnect-Peer-
   Request message.

   The Disconnect-Peer-Request message is used by a Diameter node to
   inform its peer of its intent to disconnect the transport layer and
   that the peer shouldn't reconnect unless it has a valid reason to do
   so (e.g., message to be forwarded). " 

So the main purpose for sending a DPR with the causes "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" is actually to avoid the periodic reconnection attempts governed by the Tc timer.
These exceptions are mentioned in the section 2.1:

  "When no transport connection exists with a peer, an attempt to
   connect SHOULD be made periodically.  This behavior is handled via
   the Tc timer (see Section 12 for details), whose recommended value is
   30 seconds.  There are certain exceptions to this rule, such as when
   a peer has terminated the transport connection stating that it does
   not wish to communicate."

Now, it is true that there is no clear guideline on how to behave when receiving the cause "BUSY" and this explains why some implementations in the field still attempt to re-open the connection, as after a normal transport failure detection. But it does not mean that the text in the RFC6733 is wrong.

Finally, if it is an attempt to clarify/modify the behavior of the peer receiving DPR with the "BUSY" cause, I don't think that using errata would be the most appropriate way.

Let see if there are other views on this issue.

Regards,

Lionel 

-----Message d'origine-----
DeÂ : Benoit Claise [<a class="moz-txt-link-freetext" href="mailto:bclaise@cisco.com">mailto:bclaise@cisco.com</a>] 
EnvoyÃ©Â : mercredi 14 janvier 2015 12:09
Ã€Â : <a class="moz-txt-link-abbreviated" href="mailto:vf0213@gmail.com">vf0213@gmail.com</a>; <a class="moz-txt-link-abbreviated" href="mailto:jari.arkko@ericsson.com">jari.arkko@ericsson.com</a>; <a class="moz-txt-link-abbreviated" href="mailto:john.loughney@nokia.com">john.loughney@nokia.com</a>; <a class="moz-txt-link-abbreviated" href="mailto:glenzorn@gmail.com">glenzorn@gmail.com</a>; <a class="moz-txt-link-abbreviated" href="mailto:joelja@bogus.com">joelja@bogus.com</a>; <a class="moz-txt-link-abbreviated" href="mailto:jouni.nospam@gmail.com">jouni.nospam@gmail.com</a>; MORAND Lionel IMT/OLN
CcÂ : <a class="moz-txt-link-abbreviated" href="mailto:Hans.Liu@alcatel-lucent.com">Hans.Liu@alcatel-lucent.com</a>; <a class="moz-txt-link-abbreviated" href="mailto:dime@ietf.org">dime@ietf.org</a>
ObjetÂ : Re: [Technical Errata Reported] RFC6733 (4209)

Document authors, DIME participants,

Can we please have a discussion on this errata validity.

Regards, Benoit
</pre>
      <blockquote type="cite">
        <pre wrap="">The following errata report has been submitted for RFC6733, "Diameter 
Base Protocol".

--------------------------------------
You may review the report below and at:
<a class="moz-txt-link-freetext" href="http://www.rfc-editor.org/errata_search.php?rfc=6733&amp;eid=4209">http://www.rfc-editor.org/errata_search.php?rfc=6733&amp;eid=4209</a>

--------------------------------------
Type: Technical
Reported by: Hans Liu <a class="moz-txt-link-rfc2396E" href="mailto:Hans.Liu@alcatel-lucent.com">&lt;Hans.Liu@alcatel-lucent.com&gt;</a>

Section: 5.4.3

Original Text
-------------
       BUSY                              1
          The peerÃ¢â‚¬â„¢s internal resources are constrained, and it has
          determined that the transport connection needs to be closed.
          A receiver of a DPR with above result code SHOULD NOT attempt
          reconnection.

Corrected Text
--------------
       BUSY                              1
          The peerÃ¢â‚¬â„¢s internal resources are constrained, and it has
          determined that the transport connection needs to be closed.
          A receiver of a DPR with above result code SHOULD either
          connect to an alternate node, or attempt reconnection
          after a time period.

Notes
-----
In most implementations, the Diameter node will continue to serve its peer after the resources recover and expect reconnection. If the Diameter node won't like reconnection from peer, DO_NOT_WANT_TO_TALK_TO_YOU can be used instead of BUSY.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please 
use "Reply All" to discuss whether it should be verified or rejected. 
When a decision is reached, the verifying party (IESG) can log in to 
change the status and edit the report, if necessary.

--------------------------------------
RFC6733 (draft-ietf-dime-rfc3588bis-33)
--------------------------------------
Title               : Diameter Base Protocol
Publication Date    : October 2012
Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
Category            : PROPOSED STANDARD
Source              : Diameter Maintenance and Extensions
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG

.

</pre>
      </blockquote>
      <pre wrap="">

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------080809010108090209080106--


From nobody Thu Jan 15 05:12:17 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 43FFB1B2BF2 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:12:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 n4MR7smS6a44 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:12:14 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 0C56B1B2BED for <dime@ietf.org>; Thu, 15 Jan 2015 05:12:14 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54598 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkDb-0000VR-5S for dime@ietf.org; Thu, 15 Jan 2015 05:12:13 -0800
Message-ID: <54B7BCAA.80907@usdonovans.com>
Date: Thu, 15 Jan 2015 07:12:10 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F070@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F070@DEMUMBX014.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------060706000407040101010401"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/eQzKHx4EdXtzI__wbnNa6IeR4Vc>
Subject: Re: [Dime] Ben's suggested change on Definitions
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:12:15 -0000

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

I'm ok with the changes.

Steve

On 1/15/15 3:57 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> --Definitions:
> I think we've made it too easy for the reader to confuse "abatement 
> mechanisms" with "abatement algorithms". For example, "Abatement 
> Algorithm" starts with "An extensible mechanism..." and "Diversion" 
> starts with "An overload abatement mechanism...". A new reader will 
> likely think that Diversion is a kind of abatement algorithm. I 
> propose the following the following for "Abatement Algorithm":
> "An extensible _method_ requested by reporting nodes and used by 
> reacting nodes to determine which requests receive abatement treatment"
> For "Diversion":
> "An abatement _treatment_ mechanism, where..."
> And for "Throttling":
> "An abatement treatment mechanism that limits..."
> <Ulrich> I agree with the principle. On reflection, isn’t it so that 
> “Abatement Algorithm  is a method (not necessarily an _/extensible/_ 
> method – what is extensible is the set of advertized abatement 
> algorithms)  advertized by reacting nodes and selected by reporting 
> nodes for use at reacting nodes to determine whether a given  requests 
> (which matches application id and request type and destination) is 
> subject to abatement treatment?
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------060706000407040101010401
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I'm ok with the changes.<br>
    <br>
    Steve<br>
    <br>
    <div class="moz-cite-prefix">On 1/15/15 3:57 AM, Wiehe, Ulrich (NSN
      - DE/Munich) wrote:<br>
    </div>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F070@DEMUMBX014.nsn-intra.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Consolas" size="2"><span style="font-size:10.5pt;">
          <div>Ben wrote:</div>
          <div>--Definitions:</div>
          <div> </div>
          <div>I think we've made it too easy for the reader to confuse
            "abatement mechanisms" with "abatement algorithms". For
            example, "Abatement Algorithm" starts with "An extensible
            mechanism..." and "Diversion" starts with "An overload
            abatement mechanism...". A
            new reader will likely think that Diversion is a kind of
            abatement algorithm. I propose the following the following
            for "Abatement Algorithm":</div>
          <div> </div>
          <div>"An extensible _method_ requested by reporting nodes and
            used by reacting nodes to determine which requests receive
            abatement treatment"</div>
          <div> </div>
          <div>For "Diversion":</div>
          <div> </div>
          <div>"An abatement _treatment_ mechanism, where..."</div>
          <div> </div>
          <div>And for "Throttling":</div>
          <div> </div>
          <div>"An abatement treatment mechanism that limits..."</div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">&lt;Ulrich&gt; I agree with the
                principle. On reflection, isn’t it so that “Abatement
                Algorithm  is a method (not necessarily an _<i>extensible</i>_
                method – what is extensible is the set of advertized
                abatement algorithms)  advertized by reacting nodes and
                selected by reporting nodes for use at reacting nodes to
                determine whether a given  requests (which matches
                application id and request type and destination) is
                subject to abatement treatment? </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------060706000407040101010401--


From nobody Thu Jan 15 05:14:19 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA4DD1B2BEE for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:14:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 AucyIIY27G86 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:14:16 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 CBF7E1B2BED for <dime@ietf.org>; Thu, 15 Jan 2015 05:14:16 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54602 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkFZ-00027f-Ci for dime@ietf.org; Thu, 15 Jan 2015 05:14:16 -0800
Message-ID: <54B7BD25.4040103@usdonovans.com>
Date: Thu, 15 Jan 2015 07:14:13 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------000601060001020402000608"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/1-9qXnGHNFWlp44rWsyCJmvUD1k>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:14:18 -0000

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

I agree with Ulrich, I don't see the issue.


On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> -- 4.3, third paragraph from end:
> This still assumes that reporting nodes cannot change algorithms 
> during overload. I thought we agreed to remove that. (The normative 
> text is also still there--see later comment.)
> <Ulrich> I don’t understand. In my copy of -06 the third paragraph 
> from end in 4.3 reads:
>    Two types of overload abatement treatment are defined, diversion and
>    throttling.  Reacting nodes are responsible for determining which
>    treatment is appropriate for individual requests.
> How does this text assume that reporting nodes cannot change 
> algorithms during overload?
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------000601060001020402000608
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I agree with Ulrich, I don't see the issue.<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN
      - DE/Munich) wrote:<br>
    </div>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Consolas" size="2"><span style="font-size:10.5pt;">
          <div>Ben wrote:</div>
          <div>-- 4.3, third paragraph from end:</div>
          <div> </div>
          <div>This still assumes that reporting nodes cannot change
            algorithms during overload. I thought we agreed to remove
            that. (The normative text is also still there--see later
            comment.)</div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">&lt;Ulrich&gt; I don’t
                understand. In my copy of -06 the third paragraph from
                end in 4.3 reads:</span></font></div>
          <div><font face="Courier New" size="2"><span
                style="font-size:10pt;">   Two types of overload
                abatement treatment are defined, diversion and</span></font></div>
          <div><font face="Courier New" size="2"><span
                style="font-size:10pt;">   throttling.  Reacting nodes
                are responsible for determining which</span></font></div>
          <div><font face="Courier New" size="2"><span
                style="font-size:10pt;">   treatment is appropriate for
                individual requests.</span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">How does this text assume that
                reporting nodes cannot change algorithms during
                overload?</span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------000601060001020402000608--


From nobody Thu Jan 15 05:27:58 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B86B21B2BE0 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:27:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 S2w0FGWO3cvo for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:27:55 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 203C71B2BD7 for <dime@ietf.org>; Thu, 15 Jan 2015 05:27:55 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54622 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkSn-000BFO-39 for dime@ietf.org; Thu, 15 Jan 2015 05:27:54 -0800
Message-ID: <54B7C059.8040806@usdonovans.com>
Date: Thu, 15 Jan 2015 07:27:53 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------050303010001040400010206"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/N6tiRWeMPsS1UpIB1A8d15xHT5U>
Subject: Re: [Dime] Ben's suggested change on 5.2.1
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:27:56 -0000

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


On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> -- section 5.2.1, and subsections:
> We still have some awkward use of SHOULDs and MAYs that I think are 
> there to indicate that nodes don't really have to structure their 
> internal state any particular way. But as written, it can be 
> interpreted to allow them to ignore critical pieces of info. We would 
> be better either removing the normative language entirely, or preface 
> the section to say that these represent logical information, and that 
> we do not assume any particular physical structure. (I prefer the 
> latter at this point.) Details:
SRD> How about the following added to section 5.2.1:

"The contents of the OCS in the reporting node and in the reacting node 
represent logical constructs.  The actual internal physical structure of 
the state included in the OCS is an implementation decision."

SRD> I'm also ok with removing the normative language. I'll show 
examples below.


> -- 5.2.1.1: "A reacting node SHOULD maintain...", "The host-type and 
> realm-type OCS entries MAY include..."
SRD> Change:

A reacting node SHOULD maintain the following OCS per supported
    Diameter application:

to:

A reacting node maintains the following OCS per supported
    Diameter application:

Change:

    The host-type and realm-type OCS entries MAY include the following
    information (the actual information stored is an implementation
    decision):

to:

    The host-type and realm-type OCS entries include the following
    information (the actual information stored is an implementation
    decision):

SRD> And so on.  This looks better and I don't think we lose anything.

> What if it doesn't? I think things fail.
> Also, I'm still confused by the first part of this section. The 
> reacting node keeps state for every reported and active overload 
> condition. Each will be the result of a realm report or a host report. 
> The text makes it sound like it needs to keep OCS for both report 
> types, even if it had not received both.
> <Ulrich> At the reacting node, when there is no overload, e.g. a 
> previous OLR expired or end of overload has been explicitly signalled, 
> it is up to implementations whether to store an OCS containing “no 
> overload” or whether “no overload” is internally indicated by absence 
> of an OCS.
SRD> How about changing the first paragraph to the following:

    A reacting node SHOULD maintain the following OCS per supported
    received overload report:

> -- 5.2.1.1: "A reporting node SHOULD maintain OCS entries..." and "An 
> OCS entry is identified ... and MAY include ..."
> What if it doesn't?
SRD> This concern is addressed if we remove the SHOULDs and MAYs.
> -- 5.2.1.4: "A reporting node MUST NOT update the abatement algorithm 
> in an active OCS entry."
> I thought we agreed to remove that, and replace it with the note at 
> the beginning of 5.1?
SRD> You are correct, the paragraph was entered but some of the 
normative statements were missed.  There is also a statement in the 
overview that still says reporting nodes can't change the algorithm 
during an active overload condition.  This will need to be removed as well.
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------050303010001040400010206
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN
      - DE/Munich) wrote:<br>
    </div>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Consolas" size="2"><span style="font-size:10.5pt;">
          <div>Ben wrote:</div>
          <div>-- section 5.2.1, and subsections:</div>
          <div> </div>
          <div>We still have some awkward use of SHOULDs and MAYs that I
            think are there to indicate that nodes don't really have to
            structure their internal state any particular way. But as
            written, it can be interpreted to allow them to ignore
            critical pieces of info.
            We would be better either removing the normative language
            entirely, or preface the section to say that these represent
            logical information, and that we do not assume any
            particular physical structure. (I prefer the latter at this
            point.) Details:</div>
        </span></font></blockquote>
    <font size="2"><font face="Consolas"><big><big><small>SRD&gt; How
              about the following added to section 5.2.1:<br>
              <br>
              "The contents of the OCS in the reporting node and in the
              reacting node represent logical constructs.  The actual
              internal physical structure of the state included in the
              OCS is an implementation decision."<br>
              <br>
              SRD&gt; I'm also ok with removing the normative language. 
              I'll show examples below.</small><br>
            <br>
          </big></big></font></font><br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div> </div>
          <div>-- 5.2.1.1: "A reacting node SHOULD maintain...", "The
            host-type and realm-type OCS entries MAY include..."</div>
        </span></font></blockquote>
    <big><font size="2"><big><font face="Consolas">SRD&gt; Change:</font></big></font><br>
    </big>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <pre><big>A reacting node SHOULD maintain the following OCS per supported
   Diameter application:

to:

A reacting node maintains the following OCS per supported
   Diameter application:

Change:

   The host-type and realm-type OCS entries MAY include the following
   information (the actual information stored is an implementation
   decision):

to:

   The host-type and realm-type OCS entries include the following
   information (the actual information stored is an implementation
   decision):

SRD&gt; And so on.  This looks better and I don't think we lose anything.</big><meta http-equiv="content-type" content="text/html; charset=windows-1252"><meta http-equiv="content-type" content="text/html; charset=windows-1252">
<pre></pre><meta http-equiv="content-type" content="text/html; charset=windows-1252"><pre></pre></pre>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div> </div>
          <div>What if it doesn't? I think things fail. </div>
          <div> </div>
          <div>Also, I'm still confused by the first part of this
            section. The reacting node keeps state for every reported
            and active overload condition. Each will be the result of a
            realm report or a host report. The text makes it sound like
            it needs to keep OCS for
            both report types, even if it had not received both.</div>
          <div> </div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">&lt;Ulrich&gt; At the reacting
                node, when there is no overload, e.g. a previous OLR
                expired or end of overload has been explicitly
                signalled, it is up to implementations whether to store
                an OCS containing
                “no overload” or whether “no overload” is internally
                indicated by absence of an OCS. </span></font></div>
        </span></font></blockquote>
    <big><font size="2"><big><font face="Calibri">SRD&gt; How about
            changing the first paragraph to the following:</font></big></font></big><br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <pre><big>   A reacting node SHOULD maintain the following OCS per supported
   received overload report:
</big></pre>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div> </div>
          <div>-- 5.2.1.1: "A reporting node SHOULD maintain OCS
            entries..." and "An OCS entry is identified ... and MAY
            include ..."</div>
          <div> </div>
          <div>What if it doesn't?</div>
        </span></font></blockquote>
    <big><font size="2"><big><font face="Consolas">SRD&gt; This concern
            is addressed if we remove the SHOULDs and MAYs.</font></big></font></big><br>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div> </div>
          <div>-- 5.2.1.4: "A reporting node MUST NOT update the
            abatement algorithm in an active OCS entry."</div>
          <div> </div>
          <div>I thought we agreed to remove that, and replace it with
            the note at the beginning of 5.1?</div>
        </span></font></blockquote>
    <big><font size="2"><big><font face="Consolas">SRD&gt; You are
            correct, the paragraph was entered but some of the normative
            statements were missed.  There is also a statement in the
            overview that still says reporting nodes can't change the
            algorithm during an active overload condition.  This will
            need to be removed as well.</font></big></font></big><br>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050303010001040400010206--


From nobody Thu Jan 15 05:38:48 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F13371B2BD7 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:38:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 YAcekPqPewGv for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:38:44 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 EA5841B2BD1 for <dime@ietf.org>; Thu, 15 Jan 2015 05:38:44 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54639 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkdC-0005iX-6b for dime@ietf.org; Thu, 15 Jan 2015 05:38:44 -0800
Message-ID: <54B7C2DE.9000905@usdonovans.com>
Date: Thu, 15 Jan 2015 07:38:38 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------050809060007000704080900"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/92Nhquocwz_A25knZ0o64jvkotA>
Subject: Re: [Dime] Ben's comments on 5.2.2: 5th paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:38:46 -0000

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


On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> -- 5.2.2: 5th paragraph:
> This doesn't seem quite right, since it leaves the option of no 
> abatement at all. Second, it doesn't seem to allow delegation of 
> abatement downstream. When might one choose to ignore those SHOULDs? 
> Is this here to allow delegation? If so, the use of SHOULD makes local 
> throttling preferred over delegation.
> <Ulrich> My understanding is: If delegation of abatement is done by a 
> node, then that node is no longer a reacting node.
> The first SHOULD is ignored by reacting nodes that do not support 
> diversion and hence always perform throttling. For the second SHOULD 
> you MAY be right. We SHOULD replace it with MUST.
> In addition the world “otherwise” must not be read as “ if diversion 
> abatement treatment is not possible” but as “ if diversion abatement 
> treatment is not possible and if the first SHOULD is ignored”.
SRD>  I mostly agree with Ulrich.  I propose the second sentence be 
changed to:

The reacting node MUST apply throttling abatement treatment to requests
identified for abatement treatment  when diversion treatment
is not possible or was not applied.

>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------050809060007000704080900
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN
      - DE/Munich) wrote:<br>
    </div>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Consolas" size="2"><span style="font-size:10.5pt;">
          <div>Ben wrote:</div>
          <div>-- 5.2.2: 5th paragraph:</div>
          <div> </div>
          <div>This doesn't seem quite right, since it leaves the option
            of no abatement at all. Second, it doesn't seem to allow
            delegation of abatement downstream. When might one choose to
            ignore those SHOULDs? Is this here to allow delegation? If
            so, the use of SHOULD
            makes local throttling preferred over delegation.</div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">&lt;Ulrich&gt; My understanding
                is: If delegation of abatement is done by a node, then
                that node is no longer a reacting node. </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">The first SHOULD is ignored by
                reacting nodes that do not support diversion and hence
                always perform throttling. For the second SHOULD you MAY
                be right. We SHOULD replace it with MUST.</span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">In addition the world
                “otherwise” must not be read as “ if diversion abatement
                treatment is not possible” but as “ if diversion
                abatement treatment is not possible and if the first
                SHOULD is ignored”.</span></font></div>
        </span></font></blockquote>
    <big><font size="2"><big><font face="Calibri">SRD&gt;  I mostly
            agree with Ulrich.  I propose the second sentence be changed
            to:</font></big></font></big><br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <pre>The reacting node MUST apply throttling abatement treatment to requests
identified for abatement treatment  when diversion treatment
is not possible or was not applied.</pre>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050809060007000704080900--


From nobody Thu Jan 15 05:40:37 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C6E8C1B2BE0 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:40:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 m-grgMMFnItA for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:40:33 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 E336D1B2BD7 for <dime@ietf.org>; Thu, 15 Jan 2015 05:40:33 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54643 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkf2-00075I-Ad for dime@ietf.org; Thu, 15 Jan 2015 05:40:33 -0800
Message-ID: <54B7C350.4040906@usdonovans.com>
Date: Thu, 15 Jan 2015 07:40:32 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0BD@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F0BD@DEMUMBX014.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------060703050100030200050504"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/XK_xwimPRtszLqAi9a5l5ahRKpc>
Subject: Re: [Dime] Ben's suggested change on 8, 1st paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:40:34 -0000

This is a multi-part message in MIME format.
--------------060703050100030200050504
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit

Clients can reject requests sent by servers.  I don't see the issue.

On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> -- 8, 1st paragraph:
> This is just for agents and servers, not clients, right? If so, "When 
> a DOIC node..." is too broadly stated.
> <Ulrich> I agree
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------060703050100030200050504
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Clients can reject requests sent by servers.  I don't see the issue.<br>
    <br>
    <div class="moz-cite-prefix">On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN
      - DE/Munich) wrote:<br>
    </div>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F0BD@DEMUMBX014.nsn-intra.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Consolas" size="2"><span style="font-size:10.5pt;">
          <div>Ben wrote:</div>
          <div>-- 8, 1st paragraph:</div>
          <div> </div>
          <div>This is just for agents and servers, not clients, right?
            If so, "When a DOIC node..." is too broadly stated.</div>
          <div> </div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">&lt;Ulrich&gt; I agree</span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------060703050100030200050504--


From nobody Thu Jan 15 05:42:44 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2934C1B2BDF for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:42:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 9ijWi90ayzAr for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:42:42 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 4F3211B2BD7 for <dime@ietf.org>; Thu, 15 Jan 2015 05:42:42 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54648 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkh4-0008Q5-CL for dime@ietf.org; Thu, 15 Jan 2015 05:42:41 -0800
Message-ID: <54B7C3CE.5070101@usdonovans.com>
Date: Thu, 15 Jan 2015 07:42:38 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------050400040703080903040807"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/XtcMZ9TRmi3UvNEssRRSw62IOnY>
Subject: Re: [Dime] Ben's comment to section 5.1.3
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:42:43 -0000

This is a multi-part message in MIME format.
--------------050400040703080903040807
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit


On 1/15/15 4:09 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> -- section 5.1.3:
> The first two paragraphs conflict with paragraph 4. I think paragraph 
> 4 is correct.
> <Ulrich> I agree that paragraph 4 is correct. I do not see how the 
> second paragraph conflicts with paragraph 4.
SRD> I also do not see the conflict.  Paragraph two is talking about 
taking on reacting node behavior and paragraph 4 is about taking on 
reporting node behavior.
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------050400040703080903040807
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 1/15/15 4:09 AM, Wiehe, Ulrich (NSN
      - DE/Munich) wrote:<br>
    </div>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Consolas" size="2"><span style="font-size:10.5pt;">
          <div>Ben wrote:</div>
          <div>-- section 5.1.3:</div>
          <div> </div>
          <div>The first two paragraphs conflict with paragraph 4. I
            think paragraph 4 is correct.</div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;">&lt;Ulrich&gt; I agree that
                paragraph 4 is correct. I do not see how the second
                paragraph conflicts with paragraph 4.  </span></font></div>
        </span></font></blockquote>
    <big><font size="2"><big><font face="Calibri">SRD&gt; I also do not
            see the conflict.  Paragraph two is talking about taking on
            reacting node behavior and paragraph 4 is about taking on
            reporting node behavior.</font></big></font></big><br>
    <blockquote
cite="mid:5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net"
      type="cite"><font face="Consolas" size="2"><span
          style="font-size:10.5pt;">
          <div><font face="Calibri" size="2"><span
                style="font-size:11pt;"> </span></font></div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050400040703080903040807--


From nobody Thu Jan 15 05:47:41 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 774BA1B2BF4 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:47:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 PJBN3aPp5aCa for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 05:47:31 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 21C271B2BF3 for <dime@ietf.org>; Thu, 15 Jan 2015 05:47:23 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:54656 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBkle-000Bhh-00 for dime@ietf.org; Thu, 15 Jan 2015 05:47:22 -0800
Message-ID: <54B7C4E9.3080400@usdonovans.com>
Date: Thu, 15 Jan 2015 07:47:21 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/xM9-0T0I26OW9D_2RgMRztgkV0E>
Subject: [Dime] Comments on DOIC-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 13:47:32 -0000

All,

Please separate separate issues into separate emails to make it possible 
to follow the discussion of each issue to conclusion.

Thanks,

Steve


From nobody Thu Jan 15 07:06:17 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EB8941B2BC5 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:06:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 OdbjC6db66Kb for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:06:12 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 0B7771B2C13 for <dime@ietf.org>; Thu, 15 Jan 2015 07:06:12 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0FF6Aqv020951 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Jan 2015 09:06:11 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B7C3CE.5070101@usdonovans.com>
Date: Thu, 15 Jan 2015 09:06:10 -0600
X-Mao-Original-Outgoing-Id: 443027170.300477-665cb6835e131ec568a837184d9afcac
Content-Transfer-Encoding: quoted-printable
Message-Id: <A24D71F3-E63B-4861-8EBC-7E60FA45C76F@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net> <54B7C3CE.5070101@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/KrQ8MnJX4xEMBNckzJvMXy0PrX4>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comment to section 5.1.3
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 15:06:14 -0000

Ah, I missed the reacting vs reporting node part. In that case, let me =
adjust my comment to say that I thought we had agreed to reduce the =
SHOULD in paragraph 2 to a MAY, or to make it non normative.

Also, paragraph 1 now seems unnecessary except to set the context for =
the following paragraphs. As such, it should probably not be normative.


> On Jan 15, 2015, at 7:42 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
>=20
> On 1/15/15 4:09 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben wrote:
>> -- section 5.1.3:
>> =20
>> The first two paragraphs conflict with paragraph 4. I think paragraph =
4 is correct.
>> =20
>> <Ulrich> I agree that paragraph 4 is correct. I do not see how the =
second paragraph conflicts with paragraph 4. =20
> SRD> I also do not see the conflict.  Paragraph two is talking about =
taking on reacting node behavior and paragraph 4 is about taking on =
reporting node behavior.
>> =20
>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>>=20
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 15 07:13:07 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 10D811B2BFB for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:13:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 hIgQLOU5vGKy for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:13:00 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 42F881B2BFD for <dime@ietf.org>; Thu, 15 Jan 2015 07:12:59 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0FFCwFC021552 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Jan 2015 09:12:58 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B7C350.4040906@usdonovans.com>
Date: Thu, 15 Jan 2015 09:12:58 -0600
X-Mao-Original-Outgoing-Id: 443027578.038222-becff4e5abc98d729e916193871c5559
Content-Transfer-Encoding: quoted-printable
Message-Id: <719B0FCB-A636-4A49-AA5E-51E7F5BC5A99@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0BD@DEMUMBX014.nsn-intra.net> <54B7C350.4040906@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/VVcvqAadiXY3ztlcCtMxzKZIoZ8>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's suggested change on 8, 1st paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 15:13:06 -0000

Here we have an example of the need for the term "transaction client" =
:-)

On a re-read, the text is technically correct, since it speaks of =
rejecting a Diameter request, vs rejecting some client protocol action. =
But I think puts too subtle a point on it for a reader who hasn't been =
involved in all our discussions. I think it would be helpful to point =
out that this does not apply if the throttling node is the originator of =
the request in the first place.

> On Jan 15, 2015, at 7:40 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> Clients can reject requests sent by servers.  I don't see the issue.
>=20
> On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben wrote:
>> -- 8, 1st paragraph:
>> =20
>> This is just for agents and servers, not clients, right? If so, "When =
a DOIC node..." is too broadly stated.
>> =20
>> <Ulrich> I agree
>> =20
>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>>=20
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 15 07:15:37 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 105E11B2C0F for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:15:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 mGQUILO5m5em for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:15:34 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 759C21B2BFB for <dime@ietf.org>; Thu, 15 Jan 2015 07:15:34 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0FFFXML021756 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Jan 2015 09:15:34 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B7C2DE.9000905@usdonovans.com>
Date: Thu, 15 Jan 2015 09:15:33 -0600
X-Mao-Original-Outgoing-Id: 443027733.263412-87f9ec5e9dc8c56e53a72362cc32166e
Content-Transfer-Encoding: quoted-printable
Message-Id: <D6A1AD03-7F53-400D-8DCF-FD7BECE16B73@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net> <54B7C2DE.9000905@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/OiG180cgK5QyobHTCiYw8-9IilM>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 5.2.2: 5th paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 15:15:36 -0000

> On Jan 15, 2015, at 7:38 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
>=20
> On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben wrote:
>> -- 5.2.2: 5th paragraph:
>> =20
>> This doesn't seem quite right, since it leaves the option of no =
abatement at all. Second, it doesn't seem to allow delegation of =
abatement downstream. When might one choose to ignore those SHOULDs? Is =
this here to allow delegation? If so, the use of SHOULD makes local =
throttling preferred over delegation.
>> =20
>> <Ulrich> My understanding is: If delegation of abatement is done by a =
node, then that node is no longer a reacting node.=20
>> The first SHOULD is ignored by reacting nodes that do not support =
diversion and hence always perform throttling. For the second SHOULD you =
MAY be right. We SHOULD replace it with MUST.
>> In addition the world =93otherwise=94 must not be read as =93 if =
diversion abatement treatment is not possible=94 but as =93 if diversion =
abatement treatment is not possible and if the first SHOULD is ignored=94.=

> SRD>  I mostly agree with Ulrich.  I propose the second sentence be =
changed to:
> The reacting node MUST apply throttling abatement treatment to =
requests
> identified for abatement treatment  when diversion treatment
> is not possible or was not applied.
>=20

I agree in general. But I suggest casting in the form of MUST apply an =
abatement treatment, which SHOULD be diversion if possible. That is, =
avoid baking the current fact that we have only two treatment =
possibilities into the normative language.  In the odd chance we come up =
with some new kind of treatment in the future, this form would require =
less modification.

>> =20
>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>>=20
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 15 07:17:29 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 00D0C1B2BFB for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:17:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 BIt4j8xj_QYf for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:17:24 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 45EB11B2C11 for <dime@ietf.org>; Thu, 15 Jan 2015 07:17:24 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0FFHNsh021964 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Jan 2015 09:17:23 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B7C059.8040806@usdonovans.com>
Date: Thu, 15 Jan 2015 09:17:23 -0600
X-Mao-Original-Outgoing-Id: 443027843.073585-5e22c8ed6dcb4086cc36bf62595b1b8b
Content-Transfer-Encoding: quoted-printable
Message-Id: <B580DF8A-4A81-44F3-8048-6A5E96D4154F@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F097@DEMUMBX014.nsn-intra.net> <54B7C059.8040806@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/eJNF4QAUyf_gAkVARPK642gA8A8>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's suggested change on 5.2.1
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 15:17:27 -0000

> On Jan 15, 2015, at 7:27 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
>=20
> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben wrote:
>> -- section 5.2.1, and subsections:
>> =20
>> We still have some awkward use of SHOULDs and MAYs that I think are =
there to indicate that nodes don't really have to structure their =
internal state any particular way. But as written, it can be interpreted =
to allow them to ignore critical pieces of info. We would be better =
either removing the normative language entirely, or preface the section =
to say that these represent logical information, and that we do not =
assume any particular physical structure. (I prefer the latter at this =
point.) Details:
> SRD> How about the following added to section 5.2.1:
>=20
> "The contents of the OCS in the reporting node and in the reacting =
node represent logical constructs.  The actual internal physical =
structure of the state included in the OCS is an implementation =
decision."

+1

>=20
> SRD> I'm also ok with removing the normative language.  I'll show =
examples below.
>=20
>=20
>> =20
>> -- 5.2.1.1: "A reacting node SHOULD maintain...", "The host-type and =
realm-type OCS entries MAY include..."
> SRD> Change:
> A reacting node SHOULD maintain the following OCS per supported
>    Diameter application:
>=20
> to:
>=20
> A reacting node maintains the following OCS per supported
>    Diameter application:
>=20
> Change:
>=20
>    The host-type and realm-type OCS entries MAY include the following
>    information (the actual information stored is an implementation
>    decision):
>=20
> to:
>=20
>    The host-type and realm-type OCS entries include the following
>    information (the actual information stored is an implementation
>    decision):
>=20
> SRD> And so on.  This looks better and I don't think we lose anything.

WFM

>=20
>> =20
>> What if it doesn't? I think things fail.=20
>> =20
>> Also, I'm still confused by the first part of this section. The =
reacting node keeps state for every reported and active overload =
condition. Each will be the result of a realm report or a host report. =
The text makes it sound like it needs to keep OCS for both report types, =
even if it had not received both.
>> =20
>> <Ulrich> At the reacting node, when there is no overload, e.g. a =
previous OLR expired or end of overload has been explicitly signalled, =
it is up to implementations whether to store an OCS containing =93no =
overload=94 or whether =93no overload=94 is internally indicated by =
absence of an OCS.=20
> SRD> How about changing the first paragraph to the following:
>    A reacting node SHOULD maintain the following OCS per supported
>    received overload report:

WFM

>=20
>> =20
>> -- 5.2.1.1: "A reporting node SHOULD maintain OCS entries..." and "An =
OCS entry is identified ... and MAY include ..."
>> =20
>> What if it doesn't?
> SRD> This concern is addressed if we remove the SHOULDs and MAYs.
>> =20
>> -- 5.2.1.4: "A reporting node MUST NOT update the abatement algorithm =
in an active OCS entry."
>> =20
>> I thought we agreed to remove that, and replace it with the note at =
the beginning of 5.1?
> SRD> You are correct, the paragraph was entered but some of the =
normative statements were missed.  There is also a statement in the =
overview that still says reporting nodes can't change the algorithm =
during an active overload condition.  This will need to be removed as =
well.

Agreed (and i had a separate comment on the statement in the overview.)

>> =20
>> =20
>> =20
>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>>=20
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 15 07:19:02 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B57E21B2C13 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:19:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 8JlHWv20N2yF for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:18:59 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 8A1401B2C08 for <dime@ietf.org>; Thu, 15 Jan 2015 07:18:59 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0FFIwRe022113 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Jan 2015 09:18:59 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54B7BD25.4040103@usdonovans.com>
Date: Thu, 15 Jan 2015 09:18:58 -0600
X-Mao-Original-Outgoing-Id: 443027938.364842-a52a8b11e3e91aec9cf729df938d64fb
Content-Transfer-Encoding: quoted-printable
Message-Id: <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/3cfRcgsWACIQVRKYOAs-PG5hmBU>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 15:19:00 -0000

Sorry, that was 4.2.=20

> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> I agree with Ulrich, I don't see the issue.
>=20
>=20
> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben wrote:
>> -- 4.3, third paragraph from end:
>> =20
>> This still assumes that reporting nodes cannot change algorithms =
during overload. I thought we agreed to remove that. (The normative text =
is also still there--see later comment.)
>> =20
>> <Ulrich> I don=92t understand. In my copy of -06 the third paragraph =
from end in 4.3 reads:
>>    Two types of overload abatement treatment are defined, diversion =
and
>>    throttling.  Reacting nodes are responsible for determining which
>>    treatment is appropriate for individual requests.
>> How does this text assume that reporting nodes cannot change =
algorithms during overload?
>> =20
>> =20
>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>>=20
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 15 07:23:22 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A8B001B2C18 for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:23:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 3UoP-Yz3oBop for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 07:23:19 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 47C821B2C15 for <dime@ietf.org>; Thu, 15 Jan 2015 07:23:19 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57164 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBmGR-0009fl-N1; Thu, 15 Jan 2015 07:23:18 -0800
Message-ID: <54B7DB63.6010809@usdonovans.com>
Date: Thu, 15 Jan 2015 09:23:15 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0D9@DEMUMBX014.nsn-intra.net> <54B7C3CE.5070101@usdonovans.com> <A24D71F3-E63B-4861-8EBC-7E60FA45C76F@nostrum.com>
In-Reply-To: <A24D71F3-E63B-4861-8EBC-7E60FA45C76F@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/ROGUQd0x0xLHOlsq9LqZIeSfjUM>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comment to section 5.1.3
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 15:23:20 -0000

On 1/15/15 9:06 AM, Ben Campbell wrote:
> Ah, I missed the reacting vs reporting node part. In that case, let me adjust my comment to say that I thought we had agreed to reduce the SHOULD in paragraph 2 to a MAY, or to make it non normative.
SRD> I'm ok with it being a MAY.  I don't recall agreeing to this 
already but I could have missed it.
>
> Also, paragraph 1 now seems unnecessary except to set the context for the following paragraphs. As such, it should probably not be normative.
SRD> I'm also ok with making this non normative.
>
>
>> On Jan 15, 2015, at 7:42 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>>
>> On 1/15/15 4:09 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben wrote:
>>> -- section 5.1.3:
>>>   
>>> The first two paragraphs conflict with paragraph 4. I think paragraph 4 is correct.
>>>   
>>> <Ulrich> I agree that paragraph 4 is correct. I do not see how the second paragraph conflicts with paragraph 4.
>> SRD> I also do not see the conflict.  Paragraph two is talking about taking on reacting node behavior and paragraph 4 is about taking on reporting node behavior.
>>>   
>>>
>>>
>>> _______________________________________________
>>> DiME mailing list
>>>
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Thu Jan 15 08:18:01 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5C31C1B2D2A for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 08:17:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 kFokIv6BynKZ for <dime@ietfa.amsl.com>; Thu, 15 Jan 2015 08:17:51 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 9B4521B2D33 for <dime@ietf.org>; Thu, 15 Jan 2015 08:17:50 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:64012 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YBn7B-0007rs-Dr; Thu, 15 Jan 2015 08:17:48 -0800
Message-ID: <54B7E829.8090307@usdonovans.com>
Date: Thu, 15 Jan 2015 10:17:45 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net> <54B7C2DE.9000905@usdonovans.com> <D6A1AD03-7F53-400D-8DCF-FD7BECE16B73@nostrum.com>
In-Reply-To: <D6A1AD03-7F53-400D-8DCF-FD7BECE16B73@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/wb_UFj6Eh7I2Qskux-0jAsSdWyU>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 5.2.2: 5th paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jan 2015 16:17:54 -0000

On 1/15/15 9:15 AM, Ben Campbell wrote:
>> On Jan 15, 2015, at 7:38 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>>
>> On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben wrote:
>>> -- 5.2.2: 5th paragraph:
>>>   
>>> This doesn't seem quite right, since it leaves the option of no abatement at all. Second, it doesn't seem to allow delegation of abatement downstream. When might one choose to ignore those SHOULDs? Is this here to allow delegation? If so, the use of SHOULD makes local throttling preferred over delegation.
>>>   
>>> <Ulrich> My understanding is: If delegation of abatement is done by a node, then that node is no longer a reacting node.
>>> The first SHOULD is ignored by reacting nodes that do not support diversion and hence always perform throttling. For the second SHOULD you MAY be right. We SHOULD replace it with MUST.
>>> In addition the world “otherwise” must not be read as “ if diversion abatement treatment is not possible” but as “ if diversion abatement treatment is not possible and if the first SHOULD is ignored”.
>> SRD>  I mostly agree with Ulrich.  I propose the second sentence be changed to:
>> The reacting node MUST apply throttling abatement treatment to requests
>> identified for abatement treatment  when diversion treatment
>> is not possible or was not applied.
>>
> I agree in general. But I suggest casting in the form of MUST apply an abatement treatment, which SHOULD be diversion if possible. That is, avoid baking the current fact that we have only two treatment possibilities into the normative language.  In the odd chance we come up with some new kind of treatment in the future, this form would require less modification.
SRD> Ok. I'll propose wording later.
>
>>>   
>>>
>>>
>>> _______________________________________________
>>> DiME mailing list
>>>
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Fri Jan 16 02:30:42 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0E2D31ACD03 for <dime@ietfa.amsl.com>; Fri, 16 Jan 2015 02:30:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 uUS7c9nVfD6U for <dime@ietfa.amsl.com>; Fri, 16 Jan 2015 02:30:37 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8FC941A8878 for <dime@ietf.org>; Fri, 16 Jan 2015 02:30:37 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0GAUY8A006091 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 16 Jan 2015 10:30:34 GMT
Received: from DEMUHTC001.nsn-intra.net ([10.159.42.32]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0GAUTVh022845 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 16 Jan 2015 11:30:32 +0100
Received: from DEMUHTC008.nsn-intra.net (10.159.42.39) by DEMUHTC001.nsn-intra.net (10.159.42.32) with Microsoft SMTP Server (TLS) id 14.3.195.1; Fri, 16 Jan 2015 11:30:29 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC008.nsn-intra.net ([10.159.42.39]) with mapi id 14.03.0195.001; Fri, 16 Jan 2015 11:30:29 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, Steve Donovan <srdonovan@usdonovans.com>
Thread-Topic: [Dime] Ben's comments on 4.3, third paragraph from end
Thread-Index: AdAwqcKKpO0LYTRKTfCB6qzRIWwNRQAEwOaAAARbWgAAJ7oO0A==
Date: Fri, 16 Jan 2015 10:30:28 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com>
In-Reply-To: <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.157]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 2249
X-purgate-ID: 151667::1421404235-00007286-620961F0/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/OYqXvkMiEkZeWvA7EaPvGUyz5w8>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Jan 2015 10:30:40 -0000

Ben

The Note at the beginning of 5.1 is about change of announced capabilities =
in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change of s=
elected algorithm by reporting nodes.
I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course, if=
 the reacting node changes the set of announced capabilities, the reporting=
 node may change (or even need to  change) the selected algorithm. What is =
not allowed to be changed by the reporting node during an overload conditio=
n is the deterministic function that assignes to every set of commonly supp=
orted algorithms a distinct selected algorithm.


Ulrich


-----Original Message-----
From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
Sent: Thursday, January 15, 2015 4:19 PM
To: Steve Donovan
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end

Sorry, that was 4.2.=20

> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> wro=
te:
>=20
> I agree with Ulrich, I don't see the issue.
>=20
>=20
> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben wrote:
>> -- 4.3, third paragraph from end:
>> =20
>> This still assumes that reporting nodes cannot change algorithms during =
overload. I thought we agreed to remove that. (The normative text is also s=
till there--see later comment.)
>> =20
>> <Ulrich> I don't understand. In my copy of -06 the third paragraph from =
end in 4.3 reads:
>>    Two types of overload abatement treatment are defined, diversion and
>>    throttling.  Reacting nodes are responsible for determining which
>>    treatment is appropriate for individual requests.
>> How does this text assume that reporting nodes cannot change algorithms =
during overload?
>> =20
>> =20
>>=20
>>=20
>> _______________________________________________
>> DiME mailing list
>>=20
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime


From nobody Fri Jan 16 10:22:26 2015
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2EC201AD213 for <dime@ietfa.amsl.com>; Fri, 16 Jan 2015 10:20:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.912
X-Spam-Level: 
X-Spam-Status: No, score=-101.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=ham
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 suMDMICTubvz for <dime@ietfa.amsl.com>; Fri, 16 Jan 2015 10:20:09 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [IPv6:2001:1900:3001:11::31]) by ietfa.amsl.com (Postfix) with ESMTP id 1254D1B29EC for <dime@ietf.org>; Fri, 16 Jan 2015 10:20:00 -0800 (PST)
Received: by rfc-editor.org (Postfix, from userid 30) id 1A1681832B6; Fri, 16 Jan 2015 10:19:54 -0800 (PST)
To: vf0213@gmail.com, jari.arkko@ericsson.com, john.loughney@nokia.com, glenzorn@gmail.com, bclaise@cisco.com, joelja@bogus.com, jouni.nospam@gmail.com, lionel.morand@orange.com
X-PHP-Originating-Script: 6000:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Message-Id: <20150116181954.1A1681832B6@rfc-editor.org>
Date: Fri, 16 Jan 2015 10:19:54 -0800 (PST)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/IWfnpgWWjd-5fno0AGv-r-wvML0>
X-Mailman-Approved-At: Fri, 16 Jan 2015 10:22:21 -0800
Cc: rfc-editor@rfc-editor.org, dime@ietf.org
Subject: [Dime] [Editorial Errata Reported] RFC6733 (4234)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Jan 2015 18:20:20 -0000

The following errata report has been submitted for RFC6733,
"Diameter Base Protocol".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4234

--------------------------------------
Type: Editorial
Reported by: Lionel Morand <lionel.morand@orange.com>

Section: 5.4

Original Text
-------------
In the last sentence of first paragraph odf the section 5.4, it is said:

   When a Diameter node disconnects one of its transport connections,
   its peer cannot know the reason for the disconnect and will most
   likely assume that a connectivity problem occurred or that the peer
   has rebooted.  In these cases, the peer may periodically attempt to
   reconnect, as stated in Section 2.1.  In the event that the
   disconnect was a result of either a shortage of internal resources or
   simply that the node in question has no intentions of forwarding any
   Diameter messages to the peer in the foreseeable future, a periodic
   connection request would not be welcomed.  The Disconnection-Reason
   AVP contains the reason the Diameter node issued the Disconnect-Peer-
   Request message.

Corrected Text
--------------
the sentence should be:


   When a Diameter node disconnects one of its transport connections,
   its peer cannot know the reason for the disconnect and will most
   likely assume that a connectivity problem occurred or that the peer
   has rebooted.  In these cases, the peer may periodically attempt to
   reconnect, as stated in Section 2.1.  In the event that the
   disconnect was a result of either a shortage of internal resources or
   simply that the node in question has no intentions of forwarding any
   Diameter messages to the peer in the foreseeable future, a periodic
   connection request would not be welcomed.  The Disconnect-Cause AVP
   contains the reason the Diameter node issued the Disconnect-Peer-
   Request message.

Notes
-----
The correct name of the AVP is "Disconnect-Cause AVP" and not "Disconnection-Reason AVP" that does not exist.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party (IESG)
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC6733 (draft-ietf-dime-rfc3588bis-33)
--------------------------------------
Title               : Diameter Base Protocol
Publication Date    : October 2012
Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
Category            : PROPOSED STANDARD
Source              : Diameter Maintenance and Extensions
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Fri Jan 16 11:55:35 2015
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD25F1B2AEE; Fri, 16 Jan 2015 11:55:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.912
X-Spam-Level: 
X-Spam-Status: No, score=-101.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=ham
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 e3Mrk24NgJrF; Fri, 16 Jan 2015 11:55:24 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [IPv6:2001:1900:3001:11::31]) by ietfa.amsl.com (Postfix) with ESMTP id 39D3E1ACEE4; Fri, 16 Jan 2015 11:55:24 -0800 (PST)
Received: by rfc-editor.org (Postfix, from userid 30) id 0DAA01832B6; Fri, 16 Jan 2015 11:55:19 -0800 (PST)
To: lionel.morand@orange.com, vf0213@gmail.com, jari.arkko@ericsson.com, john.loughney@nokia.com, glenzorn@gmail.com
X-PHP-Originating-Script: 1005:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Message-Id: <20150116195519.0DAA01832B6@rfc-editor.org>
Date: Fri, 16 Jan 2015 11:55:19 -0800 (PST)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/JF3YBvetQaMaRJ0FF6flEgkQaq4>
Cc: dime@ietf.org, Kathleen.Moriarty@emc.com, iesg@ietf.org, rfc-editor@rfc-editor.org
Subject: [Dime] [Errata Held for Document Update] RFC6733 (4234)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Jan 2015 19:55:29 -0000

The following errata report has been held for document update 
for RFC6733, "Diameter Base Protocol". 

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4234

--------------------------------------
Status: Held for Document Update
Type: Editorial

Reported by: Lionel Morand <lionel.morand@orange.com>
Date Reported: 2015-01-16
Held by: Kathleen Moriarty (IESG)

Section: 5.4

Original Text
-------------
In the last sentence of first paragraph odf the section 5.4, it is said:

   When a Diameter node disconnects one of its transport connections,
   its peer cannot know the reason for the disconnect and will most
   likely assume that a connectivity problem occurred or that the peer
   has rebooted.  In these cases, the peer may periodically attempt to
   reconnect, as stated in Section 2.1.  In the event that the
   disconnect was a result of either a shortage of internal resources or
   simply that the node in question has no intentions of forwarding any
   Diameter messages to the peer in the foreseeable future, a periodic
   connection request would not be welcomed.  The Disconnection-Reason
   AVP contains the reason the Diameter node issued the Disconnect-Peer-
   Request message.

Corrected Text
--------------
the sentence should be:


   When a Diameter node disconnects one of its transport connections,
   its peer cannot know the reason for the disconnect and will most
   likely assume that a connectivity problem occurred or that the peer
   has rebooted.  In these cases, the peer may periodically attempt to
   reconnect, as stated in Section 2.1.  In the event that the
   disconnect was a result of either a shortage of internal resources or
   simply that the node in question has no intentions of forwarding any
   Diameter messages to the peer in the foreseeable future, a periodic
   connection request would not be welcomed.  The Disconnect-Cause AVP
   contains the reason the Diameter node issued the Disconnect-Peer-
   Request message.

Notes
-----
The correct name of the AVP is "Disconnect-Cause AVP" and not "Disconnection-Reason AVP" that does not exist.

--------------------------------------
RFC6733 (draft-ietf-dime-rfc3588bis-33)
--------------------------------------
Title               : Diameter Base Protocol
Publication Date    : October 2012
Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
Category            : PROPOSED STANDARD
Source              : Diameter Maintenance and Extensions
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Tue Jan 20 10:02:45 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 062611B2AFD for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:02:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 RRvxLm7-CQWo for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:02:42 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 1B2031B2AF8 for <dime@ietf.org>; Tue, 20 Jan 2015 10:02:42 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:51358 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDd8L-0007PD-Ra; Tue, 20 Jan 2015 10:02:39 -0800
Message-ID: <54BE9839.9060607@usdonovans.com>
Date: Tue, 20 Jan 2015 12:02:33 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0BD@DEMUMBX014.nsn-intra.net> <54B7C350.4040906@usdonovans.com> <719B0FCB-A636-4A49-AA5E-51E7F5BC5A99@nostrum.com>
In-Reply-To: <719B0FCB-A636-4A49-AA5E-51E7F5BC5A99@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/nPBwQTikULk0RfbZMeG1SB0qlNo>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's suggested change on 8, 1st paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 18:02:43 -0000

I've added the following after the first paragraph in section 8:

Note: This only applies for DOIC nodes that are not the originator of 
the request.

Steve

On 1/15/15 9:12 AM, Ben Campbell wrote:
> Here we have an example of the need for the term "transaction client" :-)
>
> On a re-read, the text is technically correct, since it speaks of rejecting a Diameter request, vs rejecting some client protocol action. But I think puts too subtle a point on it for a reader who hasn't been involved in all our discussions. I think it would be helpful to point out that this does not apply if the throttling node is the originator of the request in the first place.
>
>> On Jan 15, 2015, at 7:40 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> Clients can reject requests sent by servers.  I don't see the issue.
>>
>> On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben wrote:
>>> -- 8, 1st paragraph:
>>>   
>>> This is just for agents and servers, not clients, right? If so, "When a DOIC node..." is too broadly stated.
>>>   
>>> <Ulrich> I agree
>>>   
>>>
>>>
>>> _______________________________________________
>>> DiME mailing list
>>>
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Tue Jan 20 10:17:29 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 008911B29F5 for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:17:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 numaor0FxBgk for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:17:25 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 E46AF1B2AF8 for <dime@ietf.org>; Tue, 20 Jan 2015 10:17:25 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:51370 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDdMe-0006hz-Qn for dime@ietf.org; Tue, 20 Jan 2015 10:17:24 -0800
Message-ID: <54BE9BB1.7040902@usdonovans.com>
Date: Tue, 20 Jan 2015 12:17:21 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net> <54B7C2DE.9000905@usdonovans.com> <D6A1AD03-7F53-400D-8DCF-FD7BECE16B73@nostrum.com> <54B7E829.8090307@usdonovans.com>
In-Reply-To: <54B7E829.8090307@usdonovans.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/GkqHaOwoHNQVSt8JXFUrh0NL7Xc>
Subject: Re: [Dime] Ben's comments on 5.2.2: 5th paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 18:17:27 -0000

On 1/15/15 10:17 AM, Steve Donovan wrote:
>
> On 1/15/15 9:15 AM, Ben Campbell wrote:
>>> On Jan 15, 2015, at 7:38 AM, Steve Donovan 
>>> <srdonovan@usdonovans.com> wrote:
>>>
>>>
>>> On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Ben wrote:
>>>> -- 5.2.2: 5th paragraph:
>>>>   This doesn't seem quite right, since it leaves the option of no 
>>>> abatement at all. Second, it doesn't seem to allow delegation of 
>>>> abatement downstream. When might one choose to ignore those 
>>>> SHOULDs? Is this here to allow delegation? If so, the use of SHOULD 
>>>> makes local throttling preferred over delegation.
>>>>   <Ulrich> My understanding is: If delegation of abatement is done 
>>>> by a node, then that node is no longer a reacting node.
>>>> The first SHOULD is ignored by reacting nodes that do not support 
>>>> diversion and hence always perform throttling. For the second 
>>>> SHOULD you MAY be right. We SHOULD replace it with MUST.
>>>> In addition the world “otherwise” must not be read as “ if 
>>>> diversion abatement treatment is not possible” but as “ if 
>>>> diversion abatement treatment is not possible and if the first 
>>>> SHOULD is ignored”.
>>> SRD>  I mostly agree with Ulrich.  I propose the second sentence be 
>>> changed to:
>>> The reacting node MUST apply throttling abatement treatment to requests
>>> identified for abatement treatment  when diversion treatment
>>> is not possible or was not applied.
>>>
>> I agree in general. But I suggest casting in the form of MUST apply 
>> an abatement treatment, which SHOULD be diversion if possible. That 
>> is, avoid baking the current fact that we have only two treatment 
>> possibilities into the normative language. In the odd chance we come 
>> up with some new kind of treatment in the future, this form would 
>> require less modification.
> SRD> Ok. I'll propose wording later.
SRD> Looking at this again, the previous paragraph handles the MUST 
apply abatement treatment.  The paragraph in question handles the SHOULD 
do diversion.  I've  added the sentence I suggested above and a note.  
The new text looks as follows:

    If the overload abatement algorithm selects the request for overload
    abatement treatment then the reacting node MUST apply overload
    abatement treatment on the request.  The abatement treatment applied
    depends on the context of the request.

    If diversion abatement treatment is possible (i.e. a different path
    for the request can be selected where the overloaded node is not part
    of the different path), then the reacting node SHOULD apply diversion
    abatement treatment to the request.  The reacting node MUST apply
    throttling abatement treatment to requests identified for abatement
    treatment when diversion treatment is not possible or was not
    applied.

       Note: This only addresses the case where there are two defined
       abatement treatments, diversion and throttling.  Any extension
       that defines a new abatement treatment must also defined the
       interaction of the new abatement treatment with existing
       treatments.

>>
>>>>
>>>>
>>>> _______________________________________________
>>>> DiME mailing list
>>>>
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Tue Jan 20 10:27:31 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1EA091B2AFD for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:27:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 dwCYoS5yEyik for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:27:26 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 B19421ACDA2 for <dime@ietf.org>; Tue, 20 Jan 2015 10:27:26 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:51392 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDdWM-0002GA-Ki; Tue, 20 Jan 2015 10:27:25 -0800
Message-ID: <54BE9E0A.7040307@usdonovans.com>
Date: Tue, 20 Jan 2015 12:27:22 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>,  ext Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/EpsznzcObJmVLepVD16hoMXtNVE>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 18:27:28 -0000

  I have removed the last sentence in the paragraph in question.  The 
before and after for the paragraph is as follows:

Before:

    Reporting nodes can change the overload abatement algorithm indicated
    in the OC-Feature-Vector AVP if the reporting node is not currently
    in an overload condition and sending overload reports.  The reporting
    node is not allowed to change the overload abatement algorithm while
    the reporting node is in an overload condition.

After:

    Reporting nodes can change the overload abatement algorithm indicated
    in the OC-Feature-Vector AVP if the reporting node is not currently
    in an overload condition and sending overload reports.

Ulrich,

I'm not sure I understand your point about the assignment of commonly 
supported algorithms.  Are you ok with this change?

Regards,

Steve
On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben
>
> The Note at the beginning of 5.1 is about change of announced capabilities in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change of selected algorithm by reporting nodes.
> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course, if the reacting node changes the set of announced capabilities, the reporting node may change (or even need to  change) the selected algorithm. What is not allowed to be changed by the reporting node during an overload condition is the deterministic function that assignes to every set of commonly supported algorithms a distinct selected algorithm.
>
>
> Ulrich
>
>
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
> Sent: Thursday, January 15, 2015 4:19 PM
> To: Steve Donovan
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
> Sorry, that was 4.2.
>
>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> I agree with Ulrich, I don't see the issue.
>>
>>
>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben wrote:
>>> -- 4.3, third paragraph from end:
>>>   
>>> This still assumes that reporting nodes cannot change algorithms during overload. I thought we agreed to remove that. (The normative text is also still there--see later comment.)
>>>   
>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph from end in 4.3 reads:
>>>     Two types of overload abatement treatment are defined, diversion and
>>>     throttling.  Reacting nodes are responsible for determining which
>>>     treatment is appropriate for individual requests.
>>> How does this text assume that reporting nodes cannot change algorithms during overload?
>>>   
>>>   
>>>
>>>
>>> _______________________________________________
>>> DiME mailing list
>>>
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Tue Jan 20 10:42:50 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EFED1B2B05 for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:42:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.18
X-Spam-Level: **
X-Spam-Status: No, score=2.18 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, J_CHICKENPOX_35=0.6, SPF_NEUTRAL=0.779] autolearn=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 EQ6NYVffNoeu for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:42:47 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 141CB1B2AD0 for <dime@ietf.org>; Tue, 20 Jan 2015 10:42:47 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:51406 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDdl8-0001v3-Ts; Tue, 20 Jan 2015 10:42:45 -0800
Message-ID: <54BEA19E.80309@usdonovans.com>
Date: Tue, 20 Jan 2015 12:42:38 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>, "dime@ietf.org" <dime@ietf.org>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com>
In-Reply-To: <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com>
Content-Type: multipart/alternative; boundary="------------020801000708070608020605"
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/3EsY0DLMvIbbw_D2QnfQw9j2iRY>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 18:42:49 -0000

This is a multi-part message in MIME format.
--------------020801000708070608020605
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit

The following is the resolution of Ben's issues that were not addressed 
directly in an email thread started by Ulrich.

Regards,

Steve

On 1/14/15 5:56 PM, Ben Campbell wrote:
>
> -- 5.2.1.4: "A reporting node MUST NOT update the abatement algorithm in an active OCS entry."
>
> I thought we agreed to remove that, and replace it with the note at the beginning of 5.1?
SRD> I have removed the paragraph.
>
> -- 5.3, 4th paragraph:
>
> As I mentioned in previous discussion, after re-reading the related text in 6733, it's no longer clear to me this works like we thought it did. That is, I think any attempt to make sub-AVPs mandatory risks causing errors in the enclosing Diameter transaction. I don't know how to solve this, other just disallowing mandatory sub-AVPs. (Jouni previously convinced me 6733 treatment of the m-bit in sub-avps worked like we wanted--perhaps he can re-convince me :-)
SRD>Given that Jouni successfully convinced Ben about the 6733 
treatment, I'm not planning to make any changes, as I'm assuming he can 
be just as successful the second time.
>
> -- 6.3, paragraph 2:
>
> This is stronger than the SHOULDs in the general behavior section (5.2.2)
SRD> Section 5.2.2 says:

    If the request matches an active OCS then the reacting node MUST use
    the overload abatement algorithm indicated in the OCS to determine if
    the request is to receive overload abatement treatment.

Section 6.3 says:

    When receiving an OC-OLR in an answer message where the algorithm
    indicated in the OC-Supported-Features AVP is the loss algorithm, the
    reacting node MUST apply abatement treatment to the requested
    percentage of request messages sent.

I don't see the issue.
>
> Paragraph 5:
>
> Is this redundant to the last paragraph of 5.2.2?
SRD> I don't see an issue.  One is general and the other specific to the 
loss algorithm.  They don't conflict.
>
> Editorial:
>
> -- section 2, "Diversion"
SRD> Changed
>
> repeated "for".
SRD> Changed
>
> -- section 3:
>
> I suggest adding a sentence that the same words that are not in all-caps are excepted from the 2119 interpretation.  (We have a few instances of lowercase "must", "should", etc. The uglier alternative would be to hunt down and kill all of them.)
SRD> Done. Section 3 now contains the following:

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    document are to be interpreted as described in RFC 2119 [RFC2119].

    RFC 2119 [RFC2119] interpretation does not apply for the above listed
    words when they are not used in all-caps format.

>
> -- 4.3, 4th paragraph from end
>
> s/ "... applying the overload abatement algorithm..." / "... apply the overload abatement algorithm..."
SRD> Done
>
> -- Figure 1:
>
> The boxes have caret characters in the top and bottom horizontal lines. Do those mean something?
SRD> I removed the carets.  I think they were just meant to be decorative.
>
> -- 6.3, 4th paragraph:
>
> This seems like a restatement of paragraph 2.
SRD> I removed the 4th paragraph.
>
>
>> On Jan 13, 2015, at 9:28 AM, Jouni Korhonen <jouni.nospam@gmail.com> wrote:
>>
>> Folks,
>>
>> Thanks for the hard work on the -06 revision. Since the changes
>> from -05 to -06 were many, chairs decided to run another short
>> WGLC for the WG to verify all changes and discussions are
>> implemented correctly.
>>
>> This email starts a one week WGLC #2 for draft-ietf-dime-ovli-06. The
>> WGLC ends 20th Jan 2015 EOB (PST). Post your review comments and
>> concerns to the mailinglist. Also make use of the issue tracker
>> (remember to select "severity" as "in WG last call").
>>
>> Lionel & Jouni
>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>


--------------020801000708070608020605
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    The following is the resolution of Ben's issues that were not
    addressed directly in an email thread started by Ulrich.<br>
    <br>
    Regards,<br>
    <br>
    Steve <br>
    <br>
    <div class="moz-cite-prefix">On 1/14/15 5:56 PM, Ben Campbell wrote:<br>
    </div>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- 5.2.1.4: "A reporting node MUST NOT update the abatement algorithm in an active OCS entry."

I thought we agreed to remove that, and replace it with the note at the beginning of 5.1?</pre>
    </blockquote>
    SRD&gt; I have removed the paragraph.<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- 5.3, 4th paragraph:

As I mentioned in previous discussion, after re-reading the related text in 6733, it's no longer clear to me this works like we thought it did. That is, I think any attempt to make sub-AVPs mandatory risks causing errors in the enclosing Diameter transaction. I don't know how to solve this, other just disallowing mandatory sub-AVPs. (Jouni previously convinced me 6733 treatment of the m-bit in sub-avps worked like we wanted--perhaps he can re-convince me :-)  </pre>
    </blockquote>
    SRD&gt;Given that Jouni successfully convinced Ben about the 6733
    treatment, I'm not planning to make any changes, as I'm assuming he
    can be just as successful the second time. <br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- 6.3, paragraph 2:

This is stronger than the SHOULDs in the general behavior section (5.2.2)</pre>
    </blockquote>
    SRD&gt; Section 5.2.2 says:<br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <pre>   If the request matches an active OCS then the reacting node MUST use
   the overload abatement algorithm indicated in the OCS to determine if
   the request is to receive overload abatement treatment.
</pre>
    Section 6.3 says:<br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <pre>   When receiving an OC-OLR in an answer message where the algorithm
   indicated in the OC-Supported-Features AVP is the loss algorithm, the
   reacting node MUST apply abatement treatment to the requested
   percentage of request messages sent.</pre>
    I don't see the issue.<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

Paragraph 5: 

Is this redundant to the last paragraph of 5.2.2?</pre>
    </blockquote>
    SRD&gt; I don't see an issue.  One is general and the other specific
    to the loss algorithm.  They don't conflict.<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

Editorial:

-- section 2, "Diversion"</pre>
    </blockquote>
    SRD&gt; Changed<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

repeated "for".</pre>
    </blockquote>
    SRD&gt; Changed<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- section 3:

I suggest adding a sentence that the same words that are not in all-caps are excepted from the 2119 interpretation.  (We have a few instances of lowercase "must", "should", etc. The uglier alternative would be to hunt down and kill all of them.)</pre>
    </blockquote>
    SRD&gt; Done. Section 3 now contains the following:<br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <pre>   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   RFC 2119 [RFC2119] interpretation does not apply for the above listed
   words when they are not used in all-caps format.</pre>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- 4.3, 4th paragraph from end

s/ "... applying the overload abatement algorithm..." / "... apply the overload abatement algorithm..."</pre>
    </blockquote>
    SRD&gt; Done<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- Figure 1:

The boxes have caret characters in the top and bottom horizontal lines. Do those mean something?</pre>
    </blockquote>
    SRD&gt; I removed the carets.  I think they were just meant to be
    decorative. <br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">

-- 6.3, 4th paragraph:

This seems like a restatement of paragraph 2.</pre>
    </blockquote>
    SRD&gt; I removed the 4th paragraph.<br>
    <blockquote
      cite="mid:AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com"
      type="cite">
      <pre wrap="">


</pre>
      <blockquote type="cite">
        <pre wrap="">On Jan 13, 2015, at 9:28 AM, Jouni Korhonen <a class="moz-txt-link-rfc2396E" href="mailto:jouni.nospam@gmail.com">&lt;jouni.nospam@gmail.com&gt;</a> wrote:

Folks,

Thanks for the hard work on the -06 revision. Since the changes
from -05 to -06 were many, chairs decided to run another short
WGLC for the WG to verify all changes and discussions are
implemented correctly.

This email starts a one week WGLC #2 for draft-ietf-dime-ovli-06. The
WGLC ends 20th Jan 2015 EOB (PST). Post your review comments and
concerns to the mailinglist. Also make use of the issue tracker
(remember to select "severity" as "in WG last call").

Lionel &amp; Jouni

_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
      </blockquote>
      <pre wrap="">

</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------020801000708070608020605--


From nobody Tue Jan 20 10:49:31 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 189321B2ADC for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:49:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.778
X-Spam-Level: 
X-Spam-Status: No, score=0.778 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, SPF_NEUTRAL=0.779] autolearn=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 pMW6C_aZ2rTG for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 10:49:27 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 2D6B41B2ABB for <dime@ietf.org>; Tue, 20 Jan 2015 10:49:27 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:51414 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDdre-0006op-98 for dime@ietf.org; Tue, 20 Jan 2015 10:49:25 -0800
Message-ID: <54BEA332.8030605@usdonovans.com>
Date: Tue, 20 Jan 2015 12:49:22 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com>
In-Reply-To: <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/-UX0kujmsqvR6SDqvUHx_8M_PAY>
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 18:49:29 -0000

I'm not currently planning to make any updates to the requirements 
analysis section as I haven't seen consensus on the need to change 
anything in the portion that will remain in the document.

If we want to continue to debate the sections that are slated to be 
removed then I suggest we do that in a separate email thread that is not 
tied to moving the document out of WGLC.

Regards,

Steve
On 1/7/15 2:54 PM, Ben Campbell wrote:
> (Catching up on older stuff)
>
> Comments inline. But keep in mind that the detailed requirements are to be removed from the RFC, so I'm not sure we need to spend too much time on them. (Only the first discussion point addresses text that is to remain in the RFC.)
>
> Thanks!
>
> Ben.
>
>> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:
>>
>> Hello Ben,
>>
>> See comments below
>> Thanks
>> /MCruz
>>
>>> C.2.  Detection of non-supporting Intermediaries
>>>
>>>    The DOIC mechanism as currently defined does not allow supporting
>>>    nodes to automatically determine whether OC-Supported-Features or OC-
>>>    OLR AVPs are originated by a peer node, or by a non-peer node and
>>>    sent across a non-supporting peer.  This makes it impossible to
>>>    detect the presence of non-supporting nodes between supporting nodes,
>>>    except by configuration.  The working group determined that such a
>>>    configuration requirement is acceptable.
>>>
>>>    This limits full compliance with certain requirements related to the
>>>    limitation of new configuration, deployment in environments with
>>>    mixed support, operating across non-supporting agents, and
>>>    authorization.
>>> [MCruz] I think this paragraph should state what are the limitations
>>> (generally, like you did for rest of them) Morever, since detailed descriptions will be deleted.
>>>
>> The limitations are discussed in the security consideration section. Basically if a node expects an agent to enforce any DOIC related policy (e.g. making sure DOIC avps do not leak to unauthorized nodes), it has to know that the agent itself supports DOIC. Right now it can only know that by having an administrator tell it that (violating the limitation on new configuration), by knowing that all agents in the network support DOIC (violating the mixed support and non-supporting agent requirements.)
>> [MCruz] Please, include text accordingly then. The text now "certain requirements related to" does not provide an information that anyone could trace easily.
> I was explicitly asked by other people (e.g. Lionel) to list the impacted requirements descriptively, rather than by reference, in this section. The "certain requirements related to" are described by the words immediately after that phrase. That is, the requirement to limit new configuration, the requirement to allow deployments with mixed support, and the requirements to authorize who can send and receive overload information.
>
>>>
>>>
>>>    REQ 6:  The solution designers SHOULD seek to minimize the amount of
>>>            new configuration required in order to work.  For example, it
>>>            is better to allow peers to advertise or negotiate support
>>>            for the solution, rather than to require that this knowledge
>>>            to be configured at each node.
>>>
>>>            *Partially Compliant*. Most DOIC parameters are advertised
>>>            using the DOIC capability announcement mechanism.  However,
>>>            there are some situations where configuration is required.
>>>            For example, a DOIC node detect the fact that a peer may not
>>>            support DOIC when nodes on the other side of the non-
>>>            supporting node do support DOIC without configuration.
>>>
>>> [MCruz] Could you clarify last example? â€œwithoug configurationâ€? I do not understand what you meant.
>> Here's an example:
>>
>> C ------ A ------ S
>>
>> If both C and S support DOIC, there is no way for them to tell whether A supports DOIC. Consider two cases:
>>
>> 1) A supports DOIC. But since C already inserts OC-S-F in all requests, and S inserts it in all answers, A passes them through unchanged.
>> 2) A does not support DOIC, but passes through unknown AVPs. Since OC-S-F will be unknown to it, it passes it through unchanged.
>>
>>  From the perspective of C and S, the requests and answers look identical for both cases. Even if A actually changes the content of an OC-S-F avp, neither endpoint can tell if the resulting AVP came from A or the opposite endpoint.
>>
>> Personally, I think this is a showstopper. But the working group consensus did not agree.
>>
>> [MCruz] Several comments:
>> a) Then you consider this requirement as "partly compliant" since you consider configuration is required in a node to identify whether or not its adjacent peers support DOIC, right? If so, could you explain why a node needs to know whether or not the peer support DOIC, a part from what is included in the advertisement mechanism we defined?
> If you do not know that a peer supports DOIC, you cannot assume that it will enforce DOIC related policies (I believe that is sufficiently described in the security configurations.)
>
>> b) What do you think is a "show stopper"? The need for configuration?
> Explicitly, the need to configure whether you can trust a peer to enforce DOIC related polices. I believe this is an important security issue, and that being unable to determine it automatically is a real problem. Requiring this sort of configuration doesn't scale well, and has the potential of creating real management and operations problems. (Note the IETF area that DIME is in.)
>
> But, as I said, the working group seems to have chosen to move forward without an automatic way to do this. Perhaps it can be improved in a future extension.
>
>>
>>
>>>    REQ 23: The solution MUST provide sufficient information to enable a
>>>            load-balancing node to divert messages that are rejected or
>>>            otherwise throttled by an overloaded upstream node to other
>>>            upstream nodes that are the most likely to have sufficient
>>>            capacity to process them.
>>>
>>>            *Not Compliant*. DOIC provides no built in mechanism to
>>>            determine the best place to divert messages that would
>>>            otherwise be throttled.  This can be accomplished with a
>>>            future "load" extension, or with proprietary load balancing
>>>            mechanisms.
>>>
>>> [MCruz] Partly Compliant. DOIC Overload information can be used already by proprietary load-balancing implementations.
>>>
>>> Load information will be a plus to this.
>>>
>> I disagree, or at least think that would be _very_ partial. You won't have any overload information unless the potential diversion targets are also overloaded.
>> [MCruz] In case servers in the pools are DOIC enabled the Overload information is provided by all of them, under overload occurrences, then this information is valid (maybe not sufficient in all cases, I agree, but valid in most of them) to divert.
>> In case we have mixed servers (DOIC-supporting and non-DOIC) we have some limitations as well.
> The purpose behind this requirement was to allow load balancing of requests that are diverted to (hopefully) non-overloaded servers, in a way that reduces the chance of causing those servers to also become overloaded. Those servers will not be providing OLRs.
>
> I still do not agree that the corner case of diverting request to _overloaded_ servers is big enough to consider this partially compliant.
>
>>
>>>
>>>    REQ 30: The solution MUST NOT interfere with any Diameter-compliant
>>>            method that a node may use to protect itself from overload
>>>            from non-supporting nodes or from denial-of-service attacks.
>>>
>>>            *Compliant*. The specification recommends that any such
>>>            protection mechanism needed without DOIC should continue to
>>>            be employed with DOIC.
>>> [MCruz] Could you point our where in the draft it is described?
>> 9.3
>> [MCruz] I do not think 9.3 says what you mentioned here.
>> It says "In the absence of an overload control mechanism...". It is not said the DOIC shall not interfere with any other Diameter method for protection, we may need to add this information to the draft in fact.
>> A part from that, I think 9.3. should say "for non-DOIC supporting nodes/networks..." not just "in the absence of _an_ overload control mechanism"...
> The "absence of an OC strategy" part is there to provide the context that these protection mechanisms existed, or needed to exist, prior to the availability of DOIC. The section goes on to say that, even with DOIC, these protections are still needed to deal with non-compliant nodes.
>
> Are you arguing that we don't comply with Req 30? (Keeping in mind that this text is to be removed from the RFC.)
>
>>
>>
>>
>>
>> /Ben.
>>
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Tue Jan 20 11:20:59 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CD80F1B2A50 for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 11:20:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.31
X-Spam-Level: 
X-Spam-Status: No, score=-1.31 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_35=0.6, T_RP_MATCHES_RCVD=-0.01] autolearn=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 kUH_dDNLhDys for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 11:20:48 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 B140C1ACDD1 for <dime@ietf.org>; Tue, 20 Jan 2015 11:20:48 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0KJKlcT031786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Jan 2015 13:20:48 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54BEA19E.80309@usdonovans.com>
Date: Tue, 20 Jan 2015 13:20:47 -0600
X-Mao-Original-Outgoing-Id: 443474447.186544-b93b0e75b96fbb12445b0012c434c8a3
Content-Transfer-Encoding: quoted-printable
Message-Id: <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/WdgqbdWnLhtc_-ffXfqQ0Dzd5k4>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 19:20:51 -0000

> On Jan 20, 2015, at 12:42 PM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> The following is the resolution of Ben's issues that were not =
addressed directly in an email thread started by Ulrich.
>=20
> Regards,
>=20
> Steve=20
>=20
>>=20
>> -- 5.3, 4th paragraph:
>>=20
>> As I mentioned in previous discussion, after re-reading the related =
text in 6733, it's no longer clear to me this works like we thought it =
did. That is, I think any attempt to make sub-AVPs mandatory risks =
causing errors in the enclosing Diameter transaction. I don't know how =
to solve this, other just disallowing mandatory sub-AVPs. (Jouni =
previously convinced me 6733 treatment of the m-bit in sub-avps worked =
like we wanted--perhaps he can re-convince me :-) =20
>>=20
> SRD>Given that Jouni successfully convinced Ben about the 6733 =
treatment, I'm not planning to make any changes, as I'm assuming he can =
be just as successful the second time.=20

I think that's a bad assumption.

We had previously assumed that if a node receives a grouped AVP (without =
the m-bit set) that includes an unrecognized sub-avp with the m-bit set, =
then the receiver could just ignore the entire grouped AVP, and =
otherwise process the transaction. But 6733 actually says the following:

"Receivers of a Grouped AVP that
   does not have the 'M' (mandatory) bit set and one or more of the
   encapsulated AVPs within the group has the 'M' (mandatory) bit set
   MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
   rule applies even if the encapsulated AVP with its 'M' (mandatory)
   bit set is further encapsulated within other sub-groups, i.e., other
   Grouped AVPs embedded within the Grouped AVP."

Note the "... if the Grouped AVP itself is unrecognized." clause.

The case we have in mind is when you receive a _recognized_ grouped AVP =
(that is, you implement DOIC), but it includes an unrecognized sub-avp =
with the M-bit set. This is not covered by the exception. This would =
seem to indicate that the entire request must fail. I don't think that's =
what we want.

At this point, I think we need to either say that sub-avps of DOIC =
grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT have =
the m-bit set unless the sub-avp is part of an extension explicitly =
negotiated in the feature vector.


>>=20
>> -- 6.3, paragraph 2:
>>=20
>> This is stronger than the SHOULDs in the general behavior section =
(5.2.2)
>>=20
> SRD> Section 5.2.2 says:
>=20
>    If the request matches an active OCS then the reacting node MUST =
use
>    the overload abatement algorithm indicated in the OCS to determine =
if
>    the request is to receive overload abatement treatment.
>=20
> Section 6.3 says:
>=20
>    When receiving an OC-OLR in an answer message where the algorithm
>    indicated in the OC-Supported-Features AVP is the loss algorithm, =
the
>    reacting node MUST apply abatement treatment to the requested
>    percentage of request messages sent.
>=20
> I don't see the issue.

I was referring to the "SHOULD apply diversion, else SHOULD apply =
throttling" language. But that's been fixed as part of a separate =
discussion.

>>=20
>> Paragraph 5:=20
>>=20
>> Is this redundant to the last paragraph of 5.2.2?
>>=20
> SRD> I don't see an issue.  One is general and the other specific to =
the loss algorithm.  They don't conflict.

The one in 5.2.2 is specific to situations where an OLR quenches all =
requests, and says MUST. So is this, and says RECOMMENDED (which means =
SHOULD in 2119).

If the idea is that the text in 6.3 is the recommended way to fulfill =
the MUST in 5.2.2, then that's okay I guess (although I would prefer one =
of the two to be non-normative.)

Another approach would to leave this to 6.3, and add something to the =
effect that any new algorithm that can cause total quenching of requests =
must address how the reacting node restarts from that state.=20

[...]=


From nobody Tue Jan 20 12:30:56 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72C351B2B6A for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 12:30:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 r0zQKEmmdiZu for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 12:30:51 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 B0B181B2B76 for <dime@ietf.org>; Tue, 20 Jan 2015 12:30:50 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0KKUn6b037514 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Jan 2015 14:30:50 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54BEA332.8030605@usdonovans.com>
Date: Tue, 20 Jan 2015 14:30:49 -0600
X-Mao-Original-Outgoing-Id: 443478649.096808-42e4458eb07cf5689074609b7da8ad84
Content-Transfer-Encoding: quoted-printable
Message-Id: <6F7AE7CD-3B39-4BC3-898E-3BCD2669B964@nostrum.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com> <54BEA332.8030605@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/3Lf9HaYlFB90xlNBXu8B_Sb7lGM>
Cc: dime@ietf.org
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 20:30:54 -0000

> On Jan 20, 2015, at 12:49 PM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> I'm not currently planning to make any updates to the requirements =
analysis section as I haven't seen consensus on the need to change =
anything in the portion that will remain in the document.
>=20
> If we want to continue to debate the sections that are slated to be =
removed then I suggest we do that in a separate email thread that is not =
tied to moving the document out of WGLC.

Isn't this that separate thread?

But in any case, I do not think we need changes to the reqs analysis =
sections, especially the detail section that we have been directed to =
remove.

>=20
> Regards,
>=20
> Steve
> On 1/7/15 2:54 PM, Ben Campbell wrote:
>> (Catching up on older stuff)
>>=20
>> Comments inline. But keep in mind that the detailed requirements are =
to be removed from the RFC, so I'm not sure we need to spend too much =
time on them. (Only the first discussion point addresses text that is to =
remain in the RFC.)
>>=20
>> Thanks!
>>=20
>> Ben.
>>=20
>>> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome =
<maria.cruz.bartolome@ericsson.com> wrote:
>>>=20
>>> Hello Ben,
>>>=20
>>> See comments below
>>> Thanks
>>> /MCruz
>>>=20
>>>> C.2.  Detection of non-supporting Intermediaries
>>>>=20
>>>>   The DOIC mechanism as currently defined does not allow supporting
>>>>   nodes to automatically determine whether OC-Supported-Features or =
OC-
>>>>   OLR AVPs are originated by a peer node, or by a non-peer node and
>>>>   sent across a non-supporting peer.  This makes it impossible to
>>>>   detect the presence of non-supporting nodes between supporting =
nodes,
>>>>   except by configuration.  The working group determined that such =
a
>>>>   configuration requirement is acceptable.
>>>>=20
>>>>   This limits full compliance with certain requirements related to =
the
>>>>   limitation of new configuration, deployment in environments with
>>>>   mixed support, operating across non-supporting agents, and
>>>>   authorization.
>>>> [MCruz] I think this paragraph should state what are the =
limitations
>>>> (generally, like you did for rest of them) Morever, since detailed =
descriptions will be deleted.
>>>>=20
>>> The limitations are discussed in the security consideration section. =
Basically if a node expects an agent to enforce any DOIC related policy =
(e.g. making sure DOIC avps do not leak to unauthorized nodes), it has =
to know that the agent itself supports DOIC. Right now it can only know =
that by having an administrator tell it that (violating the limitation =
on new configuration), by knowing that all agents in the network support =
DOIC (violating the mixed support and non-supporting agent =
requirements.)
>>> [MCruz] Please, include text accordingly then. The text now "certain =
requirements related to" does not provide an information that anyone =
could trace easily.
>> I was explicitly asked by other people (e.g. Lionel) to list the =
impacted requirements descriptively, rather than by reference, in this =
section. The "certain requirements related to" are described by the =
words immediately after that phrase. That is, the requirement to limit =
new configuration, the requirement to allow deployments with mixed =
support, and the requirements to authorize who can send and receive =
overload information.
>>=20
>>>>=20
>>>>=20
>>>>   REQ 6:  The solution designers SHOULD seek to minimize the amount =
of
>>>>           new configuration required in order to work.  For =
example, it
>>>>           is better to allow peers to advertise or negotiate =
support
>>>>           for the solution, rather than to require that this =
knowledge
>>>>           to be configured at each node.
>>>>=20
>>>>           *Partially Compliant*. Most DOIC parameters are =
advertised
>>>>           using the DOIC capability announcement mechanism.  =
However,
>>>>           there are some situations where configuration is =
required.
>>>>           For example, a DOIC node detect the fact that a peer may =
not
>>>>           support DOIC when nodes on the other side of the non-
>>>>           supporting node do support DOIC without configuration.
>>>>=20
>>>> [MCruz] Could you clarify last example? =E2=80=9Cwithoug =
configuration=E2=80=9D? I do not understand what you meant.
>>> Here's an example:
>>>=20
>>> C ------ A ------ S
>>>=20
>>> If both C and S support DOIC, there is no way for them to tell =
whether A supports DOIC. Consider two cases:
>>>=20
>>> 1) A supports DOIC. But since C already inserts OC-S-F in all =
requests, and S inserts it in all answers, A passes them through =
unchanged.
>>> 2) A does not support DOIC, but passes through unknown AVPs. Since =
OC-S-F will be unknown to it, it passes it through unchanged.
>>>=20
>>> =46rom the perspective of C and S, the requests and answers look =
identical for both cases. Even if A actually changes the content of an =
OC-S-F avp, neither endpoint can tell if the resulting AVP came from A =
or the opposite endpoint.
>>>=20
>>> Personally, I think this is a showstopper. But the working group =
consensus did not agree.
>>>=20
>>> [MCruz] Several comments:
>>> a) Then you consider this requirement as "partly compliant" since =
you consider configuration is required in a node to identify whether or =
not its adjacent peers support DOIC, right? If so, could you explain why =
a node needs to know whether or not the peer support DOIC, a part from =
what is included in the advertisement mechanism we defined?
>> If you do not know that a peer supports DOIC, you cannot assume that =
it will enforce DOIC related policies (I believe that is sufficiently =
described in the security configurations.)
>>=20
>>> b) What do you think is a "show stopper"? The need for =
configuration?
>> Explicitly, the need to configure whether you can trust a peer to =
enforce DOIC related polices. I believe this is an important security =
issue, and that being unable to determine it automatically is a real =
problem. Requiring this sort of configuration doesn't scale well, and =
has the potential of creating real management and operations problems. =
(Note the IETF area that DIME is in.)
>>=20
>> But, as I said, the working group seems to have chosen to move =
forward without an automatic way to do this. Perhaps it can be improved =
in a future extension.
>>=20
>>>=20
>>>=20
>>>>   REQ 23: The solution MUST provide sufficient information to =
enable a
>>>>           load-balancing node to divert messages that are rejected =
or
>>>>           otherwise throttled by an overloaded upstream node to =
other
>>>>           upstream nodes that are the most likely to have =
sufficient
>>>>           capacity to process them.
>>>>=20
>>>>           *Not Compliant*. DOIC provides no built in mechanism to
>>>>           determine the best place to divert messages that would
>>>>           otherwise be throttled.  This can be accomplished with a
>>>>           future "load" extension, or with proprietary load =
balancing
>>>>           mechanisms.
>>>>=20
>>>> [MCruz] Partly Compliant. DOIC Overload information can be used =
already by proprietary load-balancing implementations.
>>>>=20
>>>> Load information will be a plus to this.
>>>>=20
>>> I disagree, or at least think that would be _very_ partial. You =
won't have any overload information unless the potential diversion =
targets are also overloaded.
>>> [MCruz] In case servers in the pools are DOIC enabled the Overload =
information is provided by all of them, under overload occurrences, then =
this information is valid (maybe not sufficient in all cases, I agree, =
but valid in most of them) to divert.
>>> In case we have mixed servers (DOIC-supporting and non-DOIC) we have =
some limitations as well.
>> The purpose behind this requirement was to allow load balancing of =
requests that are diverted to (hopefully) non-overloaded servers, in a =
way that reduces the chance of causing those servers to also become =
overloaded. Those servers will not be providing OLRs.
>>=20
>> I still do not agree that the corner case of diverting request to =
_overloaded_ servers is big enough to consider this partially compliant.
>>=20
>>>=20
>>>>=20
>>>>   REQ 30: The solution MUST NOT interfere with any =
Diameter-compliant
>>>>           method that a node may use to protect itself from =
overload
>>>>           from non-supporting nodes or from denial-of-service =
attacks.
>>>>=20
>>>>           *Compliant*. The specification recommends that any such
>>>>           protection mechanism needed without DOIC should continue =
to
>>>>           be employed with DOIC.
>>>> [MCruz] Could you point our where in the draft it is described?
>>> 9.3
>>> [MCruz] I do not think 9.3 says what you mentioned here.
>>> It says "In the absence of an overload control mechanism...". It is =
not said the DOIC shall not interfere with any other Diameter method for =
protection, we may need to add this information to the draft in fact.
>>> A part from that, I think 9.3. should say "for non-DOIC supporting =
nodes/networks..." not just "in the absence of _an_ overload control =
mechanism"...
>> The "absence of an OC strategy" part is there to provide the context =
that these protection mechanisms existed, or needed to exist, prior to =
the availability of DOIC. The section goes on to say that, even with =
DOIC, these protections are still needed to deal with non-compliant =
nodes.
>>=20
>> Are you arguing that we don't comply with Req 30? (Keeping in mind =
that this text is to be removed from the RFC.)
>>=20
>>>=20
>>>=20
>>>=20
>>>=20
>>> /Ben.
>>>=20
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Tue Jan 20 12:36:17 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7E1211B2B04 for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 12:36:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 TfaxTaEuJ7nr for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 12:36:14 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 73EB01B2A0D for <dime@ietf.org>; Tue, 20 Jan 2015 12:36:14 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0KKaDZU037930 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Jan 2015 14:36:13 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=windows-1252
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54BE9BB1.7040902@usdonovans.com>
Date: Tue, 20 Jan 2015 14:36:13 -0600
X-Mao-Original-Outgoing-Id: 443478973.052389-205e72edaec8bb18ec238f5e153c77c1
Content-Transfer-Encoding: quoted-printable
Message-Id: <E46F243D-9BA5-4195-92F5-3D4F63EB9362@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F0AA@DEMUMBX014.nsn-intra.net> <54B7C2DE.9000905@usdonovans.com> <D6A1AD03-7F53-400D-8DCF-FD7BECE16B73@nostrum.com> <54B7E829.8090307@usdonovans.com> <54BE9BB1.7040902@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/GA4-1CPgllVqda_6Gvj9S2fNN1U>
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 5.2.2: 5th paragraph
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 20:36:15 -0000

> On Jan 20, 2015, at 12:17 PM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> SRD> Looking at this again, the previous paragraph handles the MUST =
apply abatement treatment.  The paragraph in question handles the SHOULD =
do diversion.  I've  added the sentence I suggested above and a note.  =
The new text looks as follows:
>=20
>   If the overload abatement algorithm selects the request for overload
>   abatement treatment then the reacting node MUST apply overload
>   abatement treatment on the request.  The abatement treatment applied
>   depends on the context of the request.
>=20
>   If diversion abatement treatment is possible (i.e. a different path
>   for the request can be selected where the overloaded node is not =
part
>   of the different path), then the reacting node SHOULD apply =
diversion
>   abatement treatment to the request.  The reacting node MUST apply
>   throttling abatement treatment to requests identified for abatement
>   treatment when diversion treatment is not possible or was not
>   applied.

I'm okay with the text, but the last sentence doesn't need to be =
normative, since it's entirely covered as a consequence of the previous =
MUST and SHOULD. And removing that last MUST makes the note less =
important.

>=20
>      Note: This only addresses the case where there are two defined
>      abatement treatments, diversion and throttling.  Any extension
>      that defines a new abatement treatment must also defined the
>      interaction of the new abatement treatment with existing
>      treatments.

If we need the note, shouldn't it go in the extensibility section?  =
(It's probably still worth having, in case someone defines a new Foo =
treatment that is even preferred over diversion.)


From nobody Tue Jan 20 12:56:22 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CB2191B2B6C for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 12:56:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 nSkiUxC4gDxo for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 12:56:17 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 D94C91B2B6B for <dime@ietf.org>; Tue, 20 Jan 2015 12:56:17 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:60939 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDfqO-0002y2-H2; Tue, 20 Jan 2015 12:56:15 -0800
Message-ID: <54BEC0EB.4090802@usdonovans.com>
Date: Tue, 20 Jan 2015 14:56:11 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com> <54BEA332.8030605@usdonovans.com> <6F7AE7CD-3B39-4BC3-898E-3BCD2669B964@nostrum.com>
In-Reply-To: <6F7AE7CD-3B39-4BC3-898E-3BCD2669B964@nostrum.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/HPrBAp2Pzf80egSOuKFY5OZ2X14>
Cc: dime@ietf.org
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 20:56:20 -0000

On 1/20/15 2:30 PM, Ben Campbell wrote:
>> On Jan 20, 2015, at 12:49 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> I'm not currently planning to make any updates to the requirements analysis section as I haven't seen consensus on the need to change anything in the portion that will remain in the document.
>>
>> If we want to continue to debate the sections that are slated to be removed then I suggest we do that in a separate email thread that is not tied to moving the document out of WGLC.
> Isn't this that separate thread?
SRD> Yes, I was thinking in terms of the set of items that needed 
addressing for WGLC.
>
> But in any case, I do not think we need changes to the reqs analysis sections, especially the detail section that we have been directed to remove.
SRD> Cool
>
>> Regards,
>>
>> Steve
>> On 1/7/15 2:54 PM, Ben Campbell wrote:
>>> (Catching up on older stuff)
>>>
>>> Comments inline. But keep in mind that the detailed requirements are to be removed from the RFC, so I'm not sure we need to spend too much time on them. (Only the first discussion point addresses text that is to remain in the RFC.)
>>>
>>> Thanks!
>>>
>>> Ben.
>>>
>>>> On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:
>>>>
>>>> Hello Ben,
>>>>
>>>> See comments below
>>>> Thanks
>>>> /MCruz
>>>>
>>>>> C.2.  Detection of non-supporting Intermediaries
>>>>>
>>>>>    The DOIC mechanism as currently defined does not allow supporting
>>>>>    nodes to automatically determine whether OC-Supported-Features or OC-
>>>>>    OLR AVPs are originated by a peer node, or by a non-peer node and
>>>>>    sent across a non-supporting peer.  This makes it impossible to
>>>>>    detect the presence of non-supporting nodes between supporting nodes,
>>>>>    except by configuration.  The working group determined that such a
>>>>>    configuration requirement is acceptable.
>>>>>
>>>>>    This limits full compliance with certain requirements related to the
>>>>>    limitation of new configuration, deployment in environments with
>>>>>    mixed support, operating across non-supporting agents, and
>>>>>    authorization.
>>>>> [MCruz] I think this paragraph should state what are the limitations
>>>>> (generally, like you did for rest of them) Morever, since detailed descriptions will be deleted.
>>>>>
>>>> The limitations are discussed in the security consideration section. Basically if a node expects an agent to enforce any DOIC related policy (e.g. making sure DOIC avps do not leak to unauthorized nodes), it has to know that the agent itself supports DOIC. Right now it can only know that by having an administrator tell it that (violating the limitation on new configuration), by knowing that all agents in the network support DOIC (violating the mixed support and non-supporting agent requirements.)
>>>> [MCruz] Please, include text accordingly then. The text now "certain requirements related to" does not provide an information that anyone could trace easily.
>>> I was explicitly asked by other people (e.g. Lionel) to list the impacted requirements descriptively, rather than by reference, in this section. The "certain requirements related to" are described by the words immediately after that phrase. That is, the requirement to limit new configuration, the requirement to allow deployments with mixed support, and the requirements to authorize who can send and receive overload information.
>>>
>>>>>
>>>>>    REQ 6:  The solution designers SHOULD seek to minimize the amount of
>>>>>            new configuration required in order to work.  For example, it
>>>>>            is better to allow peers to advertise or negotiate support
>>>>>            for the solution, rather than to require that this knowledge
>>>>>            to be configured at each node.
>>>>>
>>>>>            *Partially Compliant*. Most DOIC parameters are advertised
>>>>>            using the DOIC capability announcement mechanism.  However,
>>>>>            there are some situations where configuration is required.
>>>>>            For example, a DOIC node detect the fact that a peer may not
>>>>>            support DOIC when nodes on the other side of the non-
>>>>>            supporting node do support DOIC without configuration.
>>>>>
>>>>> [MCruz] Could you clarify last example? â€œwithoug configurationâ€? I do not understand what you meant.
>>>> Here's an example:
>>>>
>>>> C ------ A ------ S
>>>>
>>>> If both C and S support DOIC, there is no way for them to tell whether A supports DOIC. Consider two cases:
>>>>
>>>> 1) A supports DOIC. But since C already inserts OC-S-F in all requests, and S inserts it in all answers, A passes them through unchanged.
>>>> 2) A does not support DOIC, but passes through unknown AVPs. Since OC-S-F will be unknown to it, it passes it through unchanged.
>>>>
>>>>  From the perspective of C and S, the requests and answers look identical for both cases. Even if A actually changes the content of an OC-S-F avp, neither endpoint can tell if the resulting AVP came from A or the opposite endpoint.
>>>>
>>>> Personally, I think this is a showstopper. But the working group consensus did not agree.
>>>>
>>>> [MCruz] Several comments:
>>>> a) Then you consider this requirement as "partly compliant" since you consider configuration is required in a node to identify whether or not its adjacent peers support DOIC, right? If so, could you explain why a node needs to know whether or not the peer support DOIC, a part from what is included in the advertisement mechanism we defined?
>>> If you do not know that a peer supports DOIC, you cannot assume that it will enforce DOIC related policies (I believe that is sufficiently described in the security configurations.)
>>>
>>>> b) What do you think is a "show stopper"? The need for configuration?
>>> Explicitly, the need to configure whether you can trust a peer to enforce DOIC related polices. I believe this is an important security issue, and that being unable to determine it automatically is a real problem. Requiring this sort of configuration doesn't scale well, and has the potential of creating real management and operations problems. (Note the IETF area that DIME is in.)
>>>
>>> But, as I said, the working group seems to have chosen to move forward without an automatic way to do this. Perhaps it can be improved in a future extension.
>>>
>>>>
>>>>>    REQ 23: The solution MUST provide sufficient information to enable a
>>>>>            load-balancing node to divert messages that are rejected or
>>>>>            otherwise throttled by an overloaded upstream node to other
>>>>>            upstream nodes that are the most likely to have sufficient
>>>>>            capacity to process them.
>>>>>
>>>>>            *Not Compliant*. DOIC provides no built in mechanism to
>>>>>            determine the best place to divert messages that would
>>>>>            otherwise be throttled.  This can be accomplished with a
>>>>>            future "load" extension, or with proprietary load balancing
>>>>>            mechanisms.
>>>>>
>>>>> [MCruz] Partly Compliant. DOIC Overload information can be used already by proprietary load-balancing implementations.
>>>>>
>>>>> Load information will be a plus to this.
>>>>>
>>>> I disagree, or at least think that would be _very_ partial. You won't have any overload information unless the potential diversion targets are also overloaded.
>>>> [MCruz] In case servers in the pools are DOIC enabled the Overload information is provided by all of them, under overload occurrences, then this information is valid (maybe not sufficient in all cases, I agree, but valid in most of them) to divert.
>>>> In case we have mixed servers (DOIC-supporting and non-DOIC) we have some limitations as well.
>>> The purpose behind this requirement was to allow load balancing of requests that are diverted to (hopefully) non-overloaded servers, in a way that reduces the chance of causing those servers to also become overloaded. Those servers will not be providing OLRs.
>>>
>>> I still do not agree that the corner case of diverting request to _overloaded_ servers is big enough to consider this partially compliant.
>>>
>>>>>    REQ 30: The solution MUST NOT interfere with any Diameter-compliant
>>>>>            method that a node may use to protect itself from overload
>>>>>            from non-supporting nodes or from denial-of-service attacks.
>>>>>
>>>>>            *Compliant*. The specification recommends that any such
>>>>>            protection mechanism needed without DOIC should continue to
>>>>>            be employed with DOIC.
>>>>> [MCruz] Could you point our where in the draft it is described?
>>>> 9.3
>>>> [MCruz] I do not think 9.3 says what you mentioned here.
>>>> It says "In the absence of an overload control mechanism...". It is not said the DOIC shall not interfere with any other Diameter method for protection, we may need to add this information to the draft in fact.
>>>> A part from that, I think 9.3. should say "for non-DOIC supporting nodes/networks..." not just "in the absence of _an_ overload control mechanism"...
>>> The "absence of an OC strategy" part is there to provide the context that these protection mechanisms existed, or needed to exist, prior to the availability of DOIC. The section goes on to say that, even with DOIC, these protections are still needed to deal with non-compliant nodes.
>>>
>>> Are you arguing that we don't comply with Req 30? (Keeping in mind that this text is to be removed from the RFC.)
>>>
>>>>
>>>>
>>>>
>>>> /Ben.
>>>>
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Tue Jan 20 13:07:23 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 96E9B1B2AE8 for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 13:07:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 3rc-LejZBOBz for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 13:07:18 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 EB7B41B2ACC for <dime@ietf.org>; Tue, 20 Jan 2015 13:07:17 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0KL7Eox040617 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Jan 2015 15:07:15 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523EF2A@DEMUMBX014.nsn-intra.net>
Date: Tue, 20 Jan 2015 15:07:14 -0600
X-Mao-Original-Outgoing-Id: 443480834.398066-93b47e1c93e33f6ef4a1ca54aef3b55b
Content-Transfer-Encoding: quoted-printable
Message-Id: <38472D36-663B-4222-B613-900A6EB160F5@nostrum.com>
References: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com> <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com> <E194C2E18676714DACA9C3A2516265D2026F4F76@FR712WXCHMBA12.zeu.alcatel-lucent.com> <5BCBA1FC2B7F0B4C9D935572D90006681523EF2A@DEMUMBX014.nsn-intra.net>
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/ADYHb0QGiUbX0YhdnNwHeUQ23zc>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 21:07:20 -0000

> On Jan 14, 2015, at 4:38 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>=20
> Hi Jean-Jacques,
> =20
> I would like to limit Diameter load control to server  (host) load and =
realm load in a first step and leave agent load for a second step.
> We nearly have completed Diameter Overload control which is limited to =
server (host) overload and realm overload, while the agent overload =
draft  is not complete.
> =20
> Once Agent Overload control is stable we may consider extending it =
with agent load control.

I don't agree. The purpose of load information is very different than =
that of overload. My initial instinct (which may change as we delve =
deeper) is the simplest way to handle "load" is on a peer-to-peer basis, =
and that the load info sent by a node is only used by immediate peers of =
the node. This model does not require differentiation between agents and =
servers.

This does not fully handle all of JJacque's cases, where for example the =
client's choice of agent effects the available servers. But nothing =
prevents an agent from considering, and possibly aggregating, load info =
from upstream peers into the load value it sends downstream for itself. =
But I'm not sure that sort of behavior requires standardization on our =
part.


> =20
> Best regards
> Ulrich
>=20


From nobody Tue Jan 20 13:09:01 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D930B1B2ACC for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 13:08:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.079
X-Spam-Level: 
X-Spam-Status: No, score=0.079 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_35=0.6, J_CHICKENPOX_38=0.6, SPF_NEUTRAL=0.779] autolearn=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 mzMWkn9mCE_Z for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 13:08:57 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 B1E771B2A0D for <dime@ietf.org>; Tue, 20 Jan 2015 13:08:57 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:60958 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDg2h-0003vR-7K; Tue, 20 Jan 2015 13:08:56 -0800
Message-ID: <54BEC3E7.40703@usdonovans.com>
Date: Tue, 20 Jan 2015 15:08:55 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com>
In-Reply-To: <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/tY1HWk4FW-h7J4URXIFJsZ53-lE>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 21:08:59 -0000

On 1/20/15 1:20 PM, Ben Campbell wrote:
>> On Jan 20, 2015, at 12:42 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> The following is the resolution of Ben's issues that were not addressed directly in an email thread started by Ulrich.
>>
>> Regards,
>>
>> Steve
>>
>>> -- 5.3, 4th paragraph:
>>>
>>> As I mentioned in previous discussion, after re-reading the related text in 6733, it's no longer clear to me this works like we thought it did. That is, I think any attempt to make sub-AVPs mandatory risks causing errors in the enclosing Diameter transaction. I don't know how to solve this, other just disallowing mandatory sub-AVPs. (Jouni previously convinced me 6733 treatment of the m-bit in sub-avps worked like we wanted--perhaps he can re-convince me :-)
>>>
>> SRD>Given that Jouni successfully convinced Ben about the 6733 treatment, I'm not planning to make any changes, as I'm assuming he can be just as successful the second time.
> I think that's a bad assumption.
>
> We had previously assumed that if a node receives a grouped AVP (without the m-bit set) that includes an unrecognized sub-avp with the m-bit set, then the receiver could just ignore the entire grouped AVP, and otherwise process the transaction. But 6733 actually says the following:
>
> "Receivers of a Grouped AVP that
>     does not have the 'M' (mandatory) bit set and one or more of the
>     encapsulated AVPs within the group has the 'M' (mandatory) bit set
>     MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
>     rule applies even if the encapsulated AVP with its 'M' (mandatory)
>     bit set is further encapsulated within other sub-groups, i.e., other
>     Grouped AVPs embedded within the Grouped AVP."
>
> Note the "... if the Grouped AVP itself is unrecognized." clause.
>
> The case we have in mind is when you receive a _recognized_ grouped AVP (that is, you implement DOIC), but it includes an unrecognized sub-avp with the M-bit set. This is not covered by the exception. This would seem to indicate that the entire request must fail. I don't think that's what we want.
SRD> I see how it could be interpreted that way.
>
> At this point, I think we need to either say that sub-avps of DOIC grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT have the m-bit set unless the sub-avp is part of an extension explicitly negotiated in the feature vector.
SRD> I'm ok either way but prefer number 2).
>
>
>
[...]
>>> Paragraph 5:
>>>
>>> Is this redundant to the last paragraph of 5.2.2?
>>>
>> SRD> I don't see an issue.  One is general and the other specific to the loss algorithm.  They don't conflict.
> The one in 5.2.2 is specific to situations where an OLR quenches all requests, and says MUST. So is this, and says RECOMMENDED (which means SHOULD in 2119).
SRD>Actually 5.2.2 isn't only about quenching.  It's also about the 
reacting node having sent no traffic, because it had no traffic to send, 
and now needs to send traffic soon after the OCS expires. The reporting 
node might still be in an overload state but the reacting node doesn't 
know until the first request is sent.
>
> If the idea is that the text in 6.3 is the recommended way to fulfill the MUST in 5.2.2, then that's okay I guess (although I would prefer one of the two to be non-normative.)
SRD> 6.3 deals specifically with quenching, thus is a little different 
than 5.2.2, although there is overlap.
>
> Another approach would to leave this to 6.3, and add something to the effect that any new algorithm that can cause total quenching of requests must address how the reacting node restarts from that state.
SRD> I prefer to leave it as it currently is.
>
> [...]


From nobody Tue Jan 20 13:12:19 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89FCF1B2B7B for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 13:12:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.778
X-Spam-Level: 
X-Spam-Status: No, score=0.778 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, SPF_NEUTRAL=0.779] autolearn=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 W2pO6Mvzq9OU for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 13:12:16 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 720491B2B6C for <dime@ietf.org>; Tue, 20 Jan 2015 13:12:16 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:60961 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDg5t-0006Xd-Rf for dime@ietf.org; Tue, 20 Jan 2015 13:12:15 -0800
Message-ID: <54BEC4AD.5030405@usdonovans.com>
Date: Tue, 20 Jan 2015 15:12:13 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <E194C2E18676714DACA9C3A2516265D2026F4908@FR712WXCHMBA12.zeu.alcatel-lucent.com> <F1863D26-9049-4A38-9416-39C9E2DE0ECC@nostrum.com> <E194C2E18676714DACA9C3A2516265D2026F4F76@FR712WXCHMBA12.zeu.alcatel-lucent.com> <5BCBA1FC2B7F0B4C9D935572D90006681523EF2A@DEMUMBX014.nsn-intra.net> <38472D36-663B-4222-B613-900A6EB160F5@nostrum.com>
In-Reply-To: <38472D36-663B-4222-B613-900A6EB160F5@nostrum.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/SX0jYqqLvgtPR9pgICk-rJS-49k>
Subject: Re: [Dime] Diameter load control inputs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 21:12:17 -0000

I also disagree with the suggestion that load for agents be separated 
out.  The reason agent overload was separated was to optimize work to 
get it done in time for release 12.  We have no such schedule constraint 
for load.

Steve

On 1/20/15 3:07 PM, Ben Campbell wrote:
>> On Jan 14, 2015, at 4:38 AM, Wiehe, Ulrich (NSN - DE/Munich) <ulrich.wiehe@nsn.com> wrote:
>>
>> Hi Jean-Jacques,
>>   
>> I would like to limit Diameter load control to server  (host) load and realm load in a first step and leave agent load for a second step.
>> We nearly have completed Diameter Overload control which is limited to server (host) overload and realm overload, while the agent overload draft  is not complete.
>>   
>> Once Agent Overload control is stable we may consider extending it with agent load control.
> I don't agree. The purpose of load information is very different than that of overload. My initial instinct (which may change as we delve deeper) is the simplest way to handle "load" is on a peer-to-peer basis, and that the load info sent by a node is only used by immediate peers of the node. This model does not require differentiation between agents and servers.
>
> This does not fully handle all of JJacque's cases, where for example the client's choice of agent effects the available servers. But nothing prevents an agent from considering, and possibly aggregating, load info from upstream peers into the load value it sends downstream for itself. But I'm not sure that sort of behavior requires standardization on our part.
>
>
>>   
>> Best regards
>> Ulrich
>>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Wed Jan 21 02:06:49 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 819441A19F0 for <dime@ietfa.amsl.com>; Wed, 21 Jan 2015 02:06:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 M00Xpt5Nmn6j for <dime@ietfa.amsl.com>; Wed, 21 Jan 2015 02:06:42 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 49E5F1A19EF for <dime@ietf.org>; Wed, 21 Jan 2015 02:06:42 -0800 (PST)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0LA6eig014273 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 21 Jan 2015 10:06:40 GMT
Received: from DEMUHTC004.nsn-intra.net ([10.159.42.35]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0LA6bbZ010340 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 21 Jan 2015 11:06:39 +0100
Received: from DEMUHTC008.nsn-intra.net (10.159.42.39) by DEMUHTC004.nsn-intra.net (10.159.42.35) with Microsoft SMTP Server (TLS) id 14.3.195.1; Wed, 21 Jan 2015 11:06:37 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC008.nsn-intra.net ([10.159.42.39]) with mapi id 14.03.0195.001; Wed, 21 Jan 2015 11:06:36 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Steve Donovan <srdonovan@usdonovans.com>, ext Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Ben's comments on 4.3, third paragraph from end
Thread-Index: AdAwqcKKpO0LYTRKTfCB6qzRIWwNRQAEwOaAAARbWgAAJ7oO0ADaT2QAAB/pOMA=
Date: Wed, 21 Jan 2015 10:06:35 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com>
In-Reply-To: <54BE9E0A.7040307@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.121]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 4886
X-purgate-ID: 151667::1421834800-000067C4-E333FFD1/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/59F3ohnDTESXS3JXQOrw0yJX2tQ>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Jan 2015 10:06:46 -0000

Steve,
I'm not sure.
My understanding is:
1. Two answer messages (with same application id) sent by a reporting node =
while not in an overload condition can have different selected overload aba=
tement algorithms in the OC-Feature-Vector AVP.
2. Two answer messages (with same application id) sent by a reporting node =
while in an (the same) overload condition must have the same selected overl=
oad abatement algorithm in the OC-Feature-Vector AVP if the two sets A and =
B are identical, where A is the intersection of the set of advertized algor=
ithms received in the request that corresponds to the one answer message wi=
th the set of algorithms that are supported (at the time the one answer mes=
sage is sent) by the reporting node, and B is the intersection of the set o=
f advertized algorithms received in the request that corresponds to the oth=
er answer message with the set of algorithms that are supported (at the tim=
e the other answer message is sent) by the reporting node; And the set of a=
lgorithms supported by the reporting node must not change during an overloa=
d condition.

This ensures that reacting nodes, while not changing the set of advertized =
algorithms, will not receive a change of the selected algorithm during an o=
verload condition (without the need for the reporting node to keep history =
data).

Ulrich


-----Original Message-----
From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]=20
Sent: Tuesday, January 20, 2015 7:27 PM
To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end

  I have removed the last sentence in the paragraph in question.  The=20
before and after for the paragraph is as follows:

Before:

    Reporting nodes can change the overload abatement algorithm indicated
    in the OC-Feature-Vector AVP if the reporting node is not currently
    in an overload condition and sending overload reports.  The reporting
    node is not allowed to change the overload abatement algorithm while
    the reporting node is in an overload condition.

After:

    Reporting nodes can change the overload abatement algorithm indicated
    in the OC-Feature-Vector AVP if the reporting node is not currently
    in an overload condition and sending overload reports.

Ulrich,

I'm not sure I understand your point about the assignment of commonly=20
supported algorithms.  Are you ok with this change?

Regards,

Steve
On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben
>
> The Note at the beginning of 5.1 is about change of announced capabilitie=
s in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change of=
 selected algorithm by reporting nodes.
> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course, =
if the reacting node changes the set of announced capabilities, the reporti=
ng node may change (or even need to  change) the selected algorithm. What i=
s not allowed to be changed by the reporting node during an overload condit=
ion is the deterministic function that assignes to every set of commonly su=
pported algorithms a distinct selected algorithm.
>
>
> Ulrich
>
>
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
> Sent: Thursday, January 15, 2015 4:19 PM
> To: Steve Donovan
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
> Sorry, that was 4.2.
>
>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> wr=
ote:
>>
>> I agree with Ulrich, I don't see the issue.
>>
>>
>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben wrote:
>>> -- 4.3, third paragraph from end:
>>>  =20
>>> This still assumes that reporting nodes cannot change algorithms during=
 overload. I thought we agreed to remove that. (The normative text is also =
still there--see later comment.)
>>>  =20
>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph from=
 end in 4.3 reads:
>>>     Two types of overload abatement treatment are defined, diversion an=
d
>>>     throttling.  Reacting nodes are responsible for determining which
>>>     treatment is appropriate for individual requests.
>>> How does this text assume that reporting nodes cannot change algorithms=
 during overload?
>>>  =20
>>>  =20
>>>
>>>
>>> _______________________________________________
>>> DiME mailing list
>>>
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Wed Jan 21 08:45:55 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 80D581A1AF4 for <dime@ietfa.amsl.com>; Wed, 21 Jan 2015 08:45:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 hQ1-9YQmm3JD for <dime@ietfa.amsl.com>; Wed, 21 Jan 2015 08:45:50 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 4A0B11A1B0C for <dime@ietf.org>; Wed, 21 Jan 2015 08:45:50 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:63430 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDyPW-000465-BL; Wed, 21 Jan 2015 08:45:47 -0800
Message-ID: <54BFD7B5.30605@usdonovans.com>
Date: Wed, 21 Jan 2015 10:45:41 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>,  ext Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/TGfsjzxaWpGknfZCYe82GZ9Fbc4>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Jan 2015 16:45:52 -0000

On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
> I'm not sure.
> My understanding is:
> 1. Two answer messages (with same application id) sent by a reporting node while not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP.

SRD> Correct, one set of answer messages could indicate loss and the 
other rate (for instance).  This would happen if the reporting node 
policy prefers rate but there is a mix of reacting node capabilities.  
In this case where not all reacting nodes support the reporting nodes 
preferred algorithm, the reporting node could also decide to send loss 
to all reacting nodes.

> 2. Two answer messages (with same application id) sent by a reporting node while in an (the same) overload condition must have the same selected overload abatement algorithm in the OC-Feature-Vector AVP if the two sets A and B are identical, where A is the intersection of the set of advertized algorithms received in the request that corresponds to the one answer message with the set of algorithms that are supported (at the time the one answer message is sent) by the reporting node, and B is the intersection of the set of advertized algorithms received in the request that corresponds to the other answer message with the set of algorithms that are supported (at the time the other answer message is sent) by the reporting node; And the set of algorithms supported by the reporting node must not change during an overload condition.

SRD> I'm a little lost in your description here.  It is possible for the 
reporting node be in an overload state and be sending loss reports to 
one set of reacting nodes and rate to a second set of reacting nodes.  
Whether or not the reporting node does this is entirely up to the 
implementation at the reporting node.

>
> This ensures that reacting nodes, while not changing the set of advertized algorithms, will not receive a change of the selected algorithm during an overload condition (without the need for the reporting node to keep history data).

SRD> The algorithm sent by the reporting node will be decided based on a 
combination of the advertised algorithms and policy at the reporting 
node.  If there is some change in policy at the reporting node that 
changes the selection then the reacting node needs to be prepared to 
handle the change.  I think you are suggesting we say this cannot happen 
during an active overload at the reporting node.  Is this correct?

SRD> As things stand now, with the changes made in -06 and the coming 
-07, the reacting node will need to be able to handle a change in 
algorithm during an active overload condition.  What is the benefit of 
changing this?  If the algorithm changes during an overload condition 
the reacting node can just treat it as an end of one overload condition 
and the start of another.
>
> Ulrich
>
>
> -----Original Message-----
> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
> Sent: Tuesday, January 20, 2015 7:27 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
>    I have removed the last sentence in the paragraph in question.  The
> before and after for the paragraph is as follows:
>
> Before:
>
>      Reporting nodes can change the overload abatement algorithm indicated
>      in the OC-Feature-Vector AVP if the reporting node is not currently
>      in an overload condition and sending overload reports.  The reporting
>      node is not allowed to change the overload abatement algorithm while
>      the reporting node is in an overload condition.
>
> After:
>
>      Reporting nodes can change the overload abatement algorithm indicated
>      in the OC-Feature-Vector AVP if the reporting node is not currently
>      in an overload condition and sending overload reports.
>
> Ulrich,
>
> I'm not sure I understand your point about the assignment of commonly
> supported algorithms.  Are you ok with this change?
>
> Regards,
>
> Steve
> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben
>>
>> The Note at the beginning of 5.1 is about change of announced capabilities in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change of selected algorithm by reporting nodes.
>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course, if the reacting node changes the set of announced capabilities, the reporting node may change (or even need to  change) the selected algorithm. What is not allowed to be changed by the reporting node during an overload condition is the deterministic function that assignes to every set of commonly supported algorithms a distinct selected algorithm.
>>
>>
>> Ulrich
>>
>>
>> -----Original Message-----
>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
>> Sent: Thursday, January 15, 2015 4:19 PM
>> To: Steve Donovan
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>> Sorry, that was 4.2.
>>
>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>
>>> I agree with Ulrich, I don't see the issue.
>>>
>>>
>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Ben wrote:
>>>> -- 4.3, third paragraph from end:
>>>>    
>>>> This still assumes that reporting nodes cannot change algorithms during overload. I thought we agreed to remove that. (The normative text is also still there--see later comment.)
>>>>    
>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph from end in 4.3 reads:
>>>>      Two types of overload abatement treatment are defined, diversion and
>>>>      throttling.  Reacting nodes are responsible for determining which
>>>>      treatment is appropriate for individual requests.
>>>> How does this text assume that reporting nodes cannot change algorithms during overload?
>>>>    
>>>>    
>>>>
>>>>
>>>> _______________________________________________
>>>> DiME mailing list
>>>>
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
>


From nobody Wed Jan 21 08:49:59 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72F3B1A1B1F for <dime@ietfa.amsl.com>; Wed, 21 Jan 2015 08:49:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 XLuh-6b6mJtR for <dime@ietfa.amsl.com>; Wed, 21 Jan 2015 08:49:55 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 C21C91A1B1C for <dime@ietf.org>; Wed, 21 Jan 2015 08:49:55 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:63434 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YDyTa-0007jW-Ce for dime@ietf.org; Wed, 21 Jan 2015 08:49:55 -0800
Message-ID: <54BFD8B2.80307@usdonovans.com>
Date: Wed, 21 Jan 2015 10:49:54 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/KL1iQByOVFj3UamJjNZXS25KeNc>
Subject: [Dime] Status of DOIC WGLC #2
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Jan 2015 16:49:56 -0000

All,

I have made preliminary updates to what will become DOIC-07 based on the 
comments received during WGLG #2.

There are currently three open issues, two in the email thread titled 
"WLGC #2 for draft-ietf-dime-ovli-06" and one in the email thread titled 
"Ben's comments on 4.3, third paragraph from end".

Once we have resolution of these three issues I will publish DOIC -07 
and hopefully things will move into IESG review.

If you have opinions on these issues, please respond ASAP so we can move 
this document on.

Regards,

Steve


From nobody Thu Jan 22 01:37:41 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 38CEC1A064C for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 01:37:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 0ueUOSMwslZ7 for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 01:37:38 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B03841A0470 for <dime@ietf.org>; Thu, 22 Jan 2015 01:37:37 -0800 (PST)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0M9bZgA029869 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 22 Jan 2015 09:37:35 GMT
Received: from DEMUHTC003.nsn-intra.net ([10.159.42.34]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0M9bVQm001736 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 22 Jan 2015 10:37:31 +0100
Received: from DEMUHTC014.nsn-intra.net (10.159.42.45) by DEMUHTC003.nsn-intra.net (10.159.42.34) with Microsoft SMTP Server (TLS) id 14.3.195.1; Thu, 22 Jan 2015 10:37:30 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC014.nsn-intra.net ([10.159.42.45]) with mapi id 14.03.0195.001; Thu, 22 Jan 2015 10:37:30 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Steve Donovan <srdonovan@usdonovans.com>, ext Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Ben's comments on 4.3, third paragraph from end
Thread-Index: AdAwqcKKpO0LYTRKTfCB6qzRIWwNRQAEwOaAAARbWgAAJ7oO0ADaT2QAAB/pOMAADtREgAAik8fA
Date: Thu, 22 Jan 2015 09:37:29 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net> <54BFD7B5.30605@usdonovans.com>
In-Reply-To: <54BFD7B5.30605@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.121]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 9207
X-purgate-ID: 151667::1421919455-000067C4-7C729818/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/sVnFsA2CnIn64vRJUHCizmIy4vQ>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 09:37:41 -0000

Steve,
see inline.
Regards
Ulrich

-----Original Message-----
From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]=20
Sent: Wednesday, January 21, 2015 5:46 PM
To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end


On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
> I'm not sure.
> My understanding is:
> 1. Two answer messages (with same application id) sent by a reporting nod=
e while not in an overload condition can have different selected overload a=
batement algorithms in the OC-Feature-Vector AVP.

SRD> Correct, one set of answer messages could indicate loss and the=20
other rate (for instance).  This would happen if the reporting node=20
policy prefers rate but there is a mix of reacting node capabilities. =20
In this case where not all reacting nodes support the reporting nodes=20
preferred algorithm, the reporting node could also decide to send loss=20
to all reacting nodes.

Ulrich> Although this is right, it does not hit the nail. I should have sai=
d:
1a. Two answer messages (with same application id) sent by a reporting node=
 while in or not in an overload condition can have different selected overl=
oad abatement algorithms in the OC-Feature-Vector AVP when the correspondin=
g request messages advertize different sets of supported algorithms.
1b. Two answer messages (with same application id) sent by a reporting node=
 while not in an overload condition can have different selected overload ab=
atement algorithms in the OC-Feature-Vector AVP even when the corresponding=
 request messages advertize the same set of supported algorithms.
As you say , 1a would happen if there is a mix of reacting node capabilitie=
s. 1b would happen if the policy is changed in the reporting node.

> 2. Two answer messages (with same application id) sent by a reporting nod=
e while in an (the same) overload condition must have the same selected ove=
rload abatement algorithm in the OC-Feature-Vector AVP if the two sets A an=
d B are identical, where A is the intersection of the set of advertized alg=
orithms received in the request that corresponds to the one answer message =
with the set of algorithms that are supported (at the time the one answer m=
essage is sent) by the reporting node, and B is the intersection of the set=
 of advertized algorithms received in the request that corresponds to the o=
ther answer message with the set of algorithms that are supported (at the t=
ime the other answer message is sent) by the reporting node; And the set of=
 algorithms supported by the reporting node must not change during an overl=
oad condition.

SRD> I'm a little lost in your description here.  It is possible for the=20
reporting node be in an overload state and be sending loss reports to=20
one set of reacting nodes and rate to a second set of reacting nodes.

Ulrich> yes, loss to the reacting nodes that advertize loss only and rate t=
o the reacting nodes that advertize rate and loss. If we do not allow this,=
 then a reporting node cannot select rate (although supported by most react=
ing nodes) as long as one reacting node only supports loss.
 =20
Whether or not the reporting node does this is entirely up to the=20
implementation at the reporting node.

Ulrich> it is up to configuration: the reporting node may be configured to =
"select rate when loss and rate is advertized and to select loss when only =
loss is advertized". Alternatively the reporting node may be configured to =
"select loss when loss and rate is advertized and to select loss when only =
loss is advertized".

>
> This ensures that reacting nodes, while not changing the set of advertize=
d algorithms, will not receive a change of the selected algorithm during an=
 overload condition (without the need for the reporting node to keep histor=
y data).

SRD> The algorithm sent by the reporting node will be decided based on a=20
combination of the advertised algorithms and policy at the reporting=20
node.  If there is some change in policy at the reporting node that=20
changes the selection then the reacting node needs to be prepared to=20
handle the change.  I think you are suggesting we say this cannot happen=20
during an active overload at the reporting node.  Is this correct?
=20
Ulrich> yes.=20

SRD> As things stand now, with the changes made in -06 and the coming=20
-07, the reacting node will need to be able to handle a change in=20
algorithm during an active overload condition.  What is the benefit of=20
changing this?  If the algorithm changes during an overload condition=20
the reacting node can just treat it as an end of one overload condition=20
and the start of another.

Ulrich> yes that is possible but adds complexity to the reacting node espec=
ially when changing from a stateless to a stateful algorithm. There may als=
o be issues with the mechanism's stability. During an overload condition re=
porting nodes should not force reacting nodes to change algorithm.
On reflection, reacting nodes that support (and advertize) loss and rate co=
uld - when receiving OLR with loss - stopp advertizing rate as long as the =
overload condition is ongoing in order to prevent change from loss to rate =
during the overload condition. With this trick, the only way of change is t=
owards loss, and that may be acceptable (as it is a one time change and you=
 cannot change back and forth).
>
> Ulrich
>
>
> -----Original Message-----
> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
> Sent: Tuesday, January 20, 2015 7:27 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
>    I have removed the last sentence in the paragraph in question.  The
> before and after for the paragraph is as follows:
>
> Before:
>
>      Reporting nodes can change the overload abatement algorithm indicate=
d
>      in the OC-Feature-Vector AVP if the reporting node is not currently
>      in an overload condition and sending overload reports.  The reportin=
g
>      node is not allowed to change the overload abatement algorithm while
>      the reporting node is in an overload condition.
>
> After:
>
>      Reporting nodes can change the overload abatement algorithm indicate=
d
>      in the OC-Feature-Vector AVP if the reporting node is not currently
>      in an overload condition and sending overload reports.
>
> Ulrich,
>
> I'm not sure I understand your point about the assignment of commonly
> supported algorithms.  Are you ok with this change?
>
> Regards,
>
> Steve
> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Ben
>>
>> The Note at the beginning of 5.1 is about change of announced capabiliti=
es in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change o=
f selected algorithm by reporting nodes.
>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course,=
 if the reacting node changes the set of announced capabilities, the report=
ing node may change (or even need to  change) the selected algorithm. What =
is not allowed to be changed by the reporting node during an overload condi=
tion is the deterministic function that assignes to every set of commonly s=
upported algorithms a distinct selected algorithm.
>>
>>
>> Ulrich
>>
>>
>> -----Original Message-----
>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
>> Sent: Thursday, January 15, 2015 4:19 PM
>> To: Steve Donovan
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>> Sorry, that was 4.2.
>>
>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> w=
rote:
>>>
>>> I agree with Ulrich, I don't see the issue.
>>>
>>>
>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Ben wrote:
>>>> -- 4.3, third paragraph from end:
>>>>   =20
>>>> This still assumes that reporting nodes cannot change algorithms durin=
g overload. I thought we agreed to remove that. (The normative text is also=
 still there--see later comment.)
>>>>   =20
>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph fro=
m end in 4.3 reads:
>>>>      Two types of overload abatement treatment are defined, diversion =
and
>>>>      throttling.  Reacting nodes are responsible for determining which
>>>>      treatment is appropriate for individual requests.
>>>> How does this text assume that reporting nodes cannot change algorithm=
s during overload?
>>>>   =20
>>>>   =20
>>>>
>>>>
>>>> _______________________________________________
>>>> DiME mailing list
>>>>
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
>


From nobody Thu Jan 22 06:32:36 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D68D81A1ABF for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 06:32:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 CKa-1-xJyCuz for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 06:32:32 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 D3C7E1A1ABC for <dime@ietf.org>; Thu, 22 Jan 2015 06:32:32 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:60375 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YEIo4-0007yW-U6; Thu, 22 Jan 2015 06:32:29 -0800
Message-ID: <54C109F8.2070201@usdonovans.com>
Date: Thu, 22 Jan 2015 08:32:24 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>,  ext Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net> <54BFD7B5.30605@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/2h74Rvppv5l2cHRtFzv6dQnDeUw>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 14:32:35 -0000

Ulrich,

I agree that the reacting node can do as you say and change what it 
advertises after the start of an overload condition.  Do you agree that 
this does not require any changes to the DOIC spec?  If so, then do you 
agree we can close on this issue?

Regards,

Steve

On 1/22/15 3:37 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
> see inline.
> Regards
> Ulrich
>
> -----Original Message-----
> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
> Sent: Wednesday, January 21, 2015 5:46 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
>
> On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Steve,
>> I'm not sure.
>> My understanding is:
>> 1. Two answer messages (with same application id) sent by a reporting node while not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP.
> SRD> Correct, one set of answer messages could indicate loss and the
> other rate (for instance).  This would happen if the reporting node
> policy prefers rate but there is a mix of reacting node capabilities.
> In this case where not all reacting nodes support the reporting nodes
> preferred algorithm, the reporting node could also decide to send loss
> to all reacting nodes.
>
> Ulrich> Although this is right, it does not hit the nail. I should have said:
> 1a. Two answer messages (with same application id) sent by a reporting node while in or not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP when the corresponding request messages advertize different sets of supported algorithms.
> 1b. Two answer messages (with same application id) sent by a reporting node while not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP even when the corresponding request messages advertize the same set of supported algorithms.
> As you say , 1a would happen if there is a mix of reacting node capabilities. 1b would happen if the policy is changed in the reporting node.
>
>> 2. Two answer messages (with same application id) sent by a reporting node while in an (the same) overload condition must have the same selected overload abatement algorithm in the OC-Feature-Vector AVP if the two sets A and B are identical, where A is the intersection of the set of advertized algorithms received in the request that corresponds to the one answer message with the set of algorithms that are supported (at the time the one answer message is sent) by the reporting node, and B is the intersection of the set of advertized algorithms received in the request that corresponds to the other answer message with the set of algorithms that are supported (at the time the other answer message is sent) by the reporting node; And the set of algorithms supported by the reporting node must not change during an overload condition.
> SRD> I'm a little lost in your description here.  It is possible for the
> reporting node be in an overload state and be sending loss reports to
> one set of reacting nodes and rate to a second set of reacting nodes.
>
> Ulrich> yes, loss to the reacting nodes that advertize loss only and rate to the reacting nodes that advertize rate and loss. If we do not allow this, then a reporting node cannot select rate (although supported by most reacting nodes) as long as one reacting node only supports loss.
>    
> Whether or not the reporting node does this is entirely up to the
> implementation at the reporting node.
>
> Ulrich> it is up to configuration: the reporting node may be configured to "select rate when loss and rate is advertized and to select loss when only loss is advertized". Alternatively the reporting node may be configured to "select loss when loss and rate is advertized and to select loss when only loss is advertized".
>
>> This ensures that reacting nodes, while not changing the set of advertized algorithms, will not receive a change of the selected algorithm during an overload condition (without the need for the reporting node to keep history data).
> SRD> The algorithm sent by the reporting node will be decided based on a
> combination of the advertised algorithms and policy at the reporting
> node.  If there is some change in policy at the reporting node that
> changes the selection then the reacting node needs to be prepared to
> handle the change.  I think you are suggesting we say this cannot happen
> during an active overload at the reporting node.  Is this correct?
>   
> Ulrich> yes.
>
> SRD> As things stand now, with the changes made in -06 and the coming
> -07, the reacting node will need to be able to handle a change in
> algorithm during an active overload condition.  What is the benefit of
> changing this?  If the algorithm changes during an overload condition
> the reacting node can just treat it as an end of one overload condition
> and the start of another.
>
> Ulrich> yes that is possible but adds complexity to the reacting node especially when changing from a stateless to a stateful algorithm. There may also be issues with the mechanism's stability. During an overload condition reporting nodes should not force reacting nodes to change algorithm.
> On reflection, reacting nodes that support (and advertize) loss and rate could - when receiving OLR with loss - stopp advertizing rate as long as the overload condition is ongoing in order to prevent change from loss to rate during the overload condition. With this trick, the only way of change is towards loss, and that may be acceptable (as it is a one time change and you cannot change back and forth).
>> Ulrich
>>
>>
>> -----Original Message-----
>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>> Sent: Tuesday, January 20, 2015 7:27 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>>     I have removed the last sentence in the paragraph in question.  The
>> before and after for the paragraph is as follows:
>>
>> Before:
>>
>>       Reporting nodes can change the overload abatement algorithm indicated
>>       in the OC-Feature-Vector AVP if the reporting node is not currently
>>       in an overload condition and sending overload reports.  The reporting
>>       node is not allowed to change the overload abatement algorithm while
>>       the reporting node is in an overload condition.
>>
>> After:
>>
>>       Reporting nodes can change the overload abatement algorithm indicated
>>       in the OC-Feature-Vector AVP if the reporting node is not currently
>>       in an overload condition and sending overload reports.
>>
>> Ulrich,
>>
>> I'm not sure I understand your point about the assignment of commonly
>> supported algorithms.  Are you ok with this change?
>>
>> Regards,
>>
>> Steve
>> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben
>>>
>>> The Note at the beginning of 5.1 is about change of announced capabilities in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change of selected algorithm by reporting nodes.
>>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course, if the reacting node changes the set of announced capabilities, the reporting node may change (or even need to  change) the selected algorithm. What is not allowed to be changed by the reporting node during an overload condition is the deterministic function that assignes to every set of commonly supported algorithms a distinct selected algorithm.
>>>
>>>
>>> Ulrich
>>>
>>>
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
>>> Sent: Thursday, January 15, 2015 4:19 PM
>>> To: Steve Donovan
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>
>>> Sorry, that was 4.2.
>>>
>>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>
>>>> I agree with Ulrich, I don't see the issue.
>>>>
>>>>
>>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>>> Ben wrote:
>>>>> -- 4.3, third paragraph from end:
>>>>>     
>>>>> This still assumes that reporting nodes cannot change algorithms during overload. I thought we agreed to remove that. (The normative text is also still there--see later comment.)
>>>>>     
>>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph from end in 4.3 reads:
>>>>>       Two types of overload abatement treatment are defined, diversion and
>>>>>       throttling.  Reacting nodes are responsible for determining which
>>>>>       treatment is appropriate for individual requests.
>>>>> How does this text assume that reporting nodes cannot change algorithms during overload?
>>>>>     
>>>>>     
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>>
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>
>


From nobody Thu Jan 22 06:38:31 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3D1381ACCD9 for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 06:38:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.079
X-Spam-Level: 
X-Spam-Status: No, score=0.079 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_35=0.6, J_CHICKENPOX_38=0.6, SPF_NEUTRAL=0.779] autolearn=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 tTLIy7laX1-l for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 06:38:28 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 D22561ACCD8 for <dime@ietf.org>; Thu, 22 Jan 2015 06:38:27 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:60409 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YEIts-000C9F-SL for dime@ietf.org; Thu, 22 Jan 2015 06:38:27 -0800
Message-ID: <54C10B60.7010405@usdonovans.com>
Date: Thu, 22 Jan 2015 08:38:24 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com>
In-Reply-To: <54BEC3E7.40703@usdonovans.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/he0sRRIizydh--gfQCWXhyUTguo>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 14:38:30 -0000

All,

We need to close these two issues to finish WGLC #2.

Please review an let me know if the alternatives I have outlined below 
are acceptable.

Thanks,

Steve

On 1/20/15 3:08 PM, Steve Donovan wrote:
>
> On 1/20/15 1:20 PM, Ben Campbell wrote:
>>> On Jan 20, 2015, at 12:42 PM, Steve Donovan 
>>> <srdonovan@usdonovans.com> wrote:
>>>
>>> The following is the resolution of Ben's issues that were not 
>>> addressed directly in an email thread started by Ulrich.
>>>
>>> Regards,
>>>
>>> Steve
>>>
>>>> -- 5.3, 4th paragraph:
>>>>
>>>> As I mentioned in previous discussion, after re-reading the related 
>>>> text in 6733, it's no longer clear to me this works like we thought 
>>>> it did. That is, I think any attempt to make sub-AVPs mandatory 
>>>> risks causing errors in the enclosing Diameter transaction. I don't 
>>>> know how to solve this, other just disallowing mandatory sub-AVPs. 
>>>> (Jouni previously convinced me 6733 treatment of the m-bit in 
>>>> sub-avps worked like we wanted--perhaps he can re-convince me :-)
>>>>
>>> SRD>Given that Jouni successfully convinced Ben about the 6733 
>>> treatment, I'm not planning to make any changes, as I'm assuming he 
>>> can be just as successful the second time.
>> I think that's a bad assumption.
>>
>> We had previously assumed that if a node receives a grouped AVP 
>> (without the m-bit set) that includes an unrecognized sub-avp with 
>> the m-bit set, then the receiver could just ignore the entire grouped 
>> AVP, and otherwise process the transaction. But 6733 actually says 
>> the following:
>>
>> "Receivers of a Grouped AVP that
>>     does not have the 'M' (mandatory) bit set and one or more of the
>>     encapsulated AVPs within the group has the 'M' (mandatory) bit set
>>     MAY simply be ignored if the Grouped AVP itself is unrecognized.  
>> The
>>     rule applies even if the encapsulated AVP with its 'M' (mandatory)
>>     bit set is further encapsulated within other sub-groups, i.e., other
>>     Grouped AVPs embedded within the Grouped AVP."
>>
>> Note the "... if the Grouped AVP itself is unrecognized." clause.
>>
>> The case we have in mind is when you receive a _recognized_ grouped 
>> AVP (that is, you implement DOIC), but it includes an unrecognized 
>> sub-avp with the M-bit set. This is not covered by the exception. 
>> This would seem to indicate that the entire request must fail. I 
>> don't think that's what we want.
> SRD> I see how it could be interpreted that way.
>>
>> At this point, I think we need to either say that sub-avps of DOIC 
>> grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT 
>> have the m-bit set unless the sub-avp is part of an extension 
>> explicitly negotiated in the feature vector.
> SRD> I'm ok either way but prefer number 2).
>>
>>
>>
> [...]
>>>> Paragraph 5:
>>>>
>>>> Is this redundant to the last paragraph of 5.2.2?
>>>>
>>> SRD> I don't see an issue.  One is general and the other specific to 
>>> the loss algorithm.  They don't conflict.
>> The one in 5.2.2 is specific to situations where an OLR quenches all 
>> requests, and says MUST. So is this, and says RECOMMENDED (which 
>> means SHOULD in 2119).
> SRD>Actually 5.2.2 isn't only about quenching.  It's also about the 
> reacting node having sent no traffic, because it had no traffic to 
> send, and now needs to send traffic soon after the OCS expires. The 
> reporting node might still be in an overload state but the reacting 
> node doesn't know until the first request is sent.
>>
>> If the idea is that the text in 6.3 is the recommended way to fulfill 
>> the MUST in 5.2.2, then that's okay I guess (although I would prefer 
>> one of the two to be non-normative.)
> SRD> 6.3 deals specifically with quenching, thus is a little different 
> than 5.2.2, although there is overlap.
>>
>> Another approach would to leave this to 6.3, and add something to the 
>> effect that any new algorithm that can cause total quenching of 
>> requests must address how the reacting node restarts from that state.
> SRD> I prefer to leave it as it currently is.
>>
>> [...]
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Thu Jan 22 08:42:03 2015
Return-Path: <maria.cruz.bartolome@ericsson.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B486C1A1A11 for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 08:42:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.001
X-Spam-Level: 
X-Spam-Status: No, score=-3.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_35=0.6, J_CHICKENPOX_38=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 8UlK9PYu471X for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 08:41:52 -0800 (PST)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3968E1ACD25 for <dime@ietf.org>; Thu, 22 Jan 2015 08:41:52 -0800 (PST)
X-AuditID: c1b4fb2d-f79fc6d000001087-b4-54c1284edf19
Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id F4.A6.04231.E4821C45; Thu, 22 Jan 2015 17:41:50 +0100 (CET)
Received: from ESESSMB101.ericsson.se ([169.254.1.82]) by ESESSHC009.ericsson.se ([153.88.183.45]) with mapi id 14.03.0195.001; Thu, 22 Jan 2015 17:41:49 +0100
From: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
To: Steve Donovan <srdonovan@usdonovans.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
Thread-Index: AQHQNlEZTlYSoZcWBECTDxIlmAHYi5zMTqew
Date: Thu, 22 Jan 2015 16:41:48 +0000
Message-ID: <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com>
In-Reply-To: <54C10B60.7010405@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.149]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrALMWRmVeSWpSXmKPExsUyM+Jvja6fxsEQg5OLxS3m9q5gs9jQxOPA 5LFkyU8mj1Vv+1gDmKK4bFJSczLLUov07RK4Mu7e/M1e8N2mYtKdPWwNjE/1uxg5OSQETCQa n2xmhbDFJC7cW8/WxcjFISRwhFFi6+67YAkhgcWMEvenB4DYbAJ2EpdOv2ACsUUEfCWOd55m AbGFBcwlOr6eArI5gOIWEhOuMUKUGEncOnmPHcRmEVCV+HjtLZjNC9T6dF4/I8SuH4wSN/4/ BWvgFNCT+DStA2wvI9BB30+tAdvFLCAucevJfCaIQwUkluw5zwxhi0q8fPwP6gElibWHt7NA 1OtILNj9iQ3C1pZYtvA1M8RiQYmTM5+wTGAUnYVk7CwkLbOQtMxC0rKAkWUVo2hxanFxbrqR sV5qUWZycXF+nl5easkmRmCUHNzyW3cH4+rXjocYBTgYlXh4P8w/ECLEmlhWXJl7iFGag0VJ nDfPYUOIkEB6YklqdmpqQWpRfFFpTmrxIUYmDk6pBsaKZS+WM4rnhIpZT02cvew5m9OZc5dC Xk0K9Yuct3PepmB22+OzDCdJJYhMn8mlV3WB+5Dv16qfWa1Np68p5PDa7Zqa6LVc5BD7lQkt LVUL9f8fOX/37LkgNjYv26/7sj+kzRPR38L88dB/3/fFd88U7PxQ+O3eujN7jbhnzmGtTlu9 ePOlKLMLSizFGYmGWsxFxYkASivGcHMCAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/Nko6_vnP7KcaDMYfeNBvt-F8EaA>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 16:42:01 -0000

Dear all,

A) About 'M' bit:

My understanding of RFC6733:

      The 'M' bit, known as the Mandatory bit, indicates whether the
      receiver of the AVP MUST parse and understand the semantics of the
      AVP including its content.  The receiving entity MUST return an
      appropriate error message if it receives an AVP that has the M-bit
      set but does not understand it.  An exception applies when the AVP
      is embedded within a Grouped AVP.  See Section 4.4 for details.

       4.4:
   Receivers of a Grouped AVP that
   does not have the 'M' (mandatory) bit set and one or more of the
   encapsulated AVPs within the group has the 'M' (mandatory) bit set
   MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
   rule applies even if the encapsulated AVP with its 'M' (mandatory)
   bit set is further encapsulated within other sub-groups, i.e., other
   Grouped AVPs embedded within the Grouped AVP.


If the Grouped AVP does not have the 'M' bit set, but one (or more) of its =
sub-AVPs do have it, then the grouped AVP may be ignored (instead of sendin=
g an error) if the Grouped AVP itself is "unrecognized"
But what "unrecognized" mean in this context? In my opinion, the grouped AV=
P is not recognized as long as mandatory sub-AVPs are missed, this includes=
 conditionally mandatory (up to negotiation) sub AVPs.
Then I would proposed a variant to your proposal 2 below:

3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the su=
b-avp is mandatory or conditionally mandatory (i.e. part of an extension ex=
plicitly negotiated in the feature vector).


B) Going out of 100% reduction

I think we should keep 5.2.2 as it is.
But I think there is a bit of misalignment with 6.3. I will propose followi=
ng rephrasing:

Now: 5th paragraph:

   If reacting node comes out of the 100 percent traffic reduction as a
   result of the overload report timing out, the following procedures
   are RECOMMENDED to be applied.  The reacting node sending the traffic
   should be conservative and, for example, first send "probe" messages
   to learn the overload condition of the overloaded node before
   converging to any traffic amount/rate decided by the sender.  Similar
   concerns apply in all cases when the overload report times out unless
   the previous overload report stated 0 percent reduction.

Proposed: 5th paragraph:

   If reacting node comes out of the 100 percent traffic reduction as a
   result of the overload report timing out,					<--
                                                                the reactin=
g node sending the traffic	<--
   SHOULD be conservative and, for example, first send "probe" messages	<--
   to learn the overload condition of the overloaded node before
   converging to any traffic amount/rate decided by the sender.  Similar
   concerns apply in all cases when the overload report times out unless
   the previous overload report stated 0 percent reduction.


Best regards
/MCruz

-----Original Message-----
From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
Sent: jueves, 22 de enero de 2015 15:38
To: dime@ietf.org
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06

All,

We need to close these two issues to finish WGLC #2.

Please review an let me know if the alternatives I have outlined below are =
acceptable.

Thanks,

Steve

On 1/20/15 3:08 PM, Steve Donovan wrote:
>
> On 1/20/15 1:20 PM, Ben Campbell wrote:
>>> On Jan 20, 2015, at 12:42 PM, Steve Donovan=20
>>> <srdonovan@usdonovans.com> wrote:
>>>
>>> The following is the resolution of Ben's issues that were not=20
>>> addressed directly in an email thread started by Ulrich.
>>>
>>> Regards,
>>>
>>> Steve
>>>
>>>> -- 5.3, 4th paragraph:
>>>>
>>>> As I mentioned in previous discussion, after re-reading the related=20
>>>> text in 6733, it's no longer clear to me this works like we thought=20
>>>> it did. That is, I think any attempt to make sub-AVPs mandatory=20
>>>> risks causing errors in the enclosing Diameter transaction. I don't=20
>>>> know how to solve this, other just disallowing mandatory sub-AVPs.
>>>> (Jouni previously convinced me 6733 treatment of the m-bit in=20
>>>> sub-avps worked like we wanted--perhaps he can re-convince me :-)
>>>>
>>> SRD>Given that Jouni successfully convinced Ben about the 6733
>>> treatment, I'm not planning to make any changes, as I'm assuming he=20
>>> can be just as successful the second time.
>> I think that's a bad assumption.
>>
>> We had previously assumed that if a node receives a grouped AVP=20
>> (without the m-bit set) that includes an unrecognized sub-avp with=20
>> the m-bit set, then the receiver could just ignore the entire grouped=20
>> AVP, and otherwise process the transaction. But 6733 actually says=20
>> the following:
>>
>> "Receivers of a Grouped AVP that
>>     does not have the 'M' (mandatory) bit set and one or more of the
>>     encapsulated AVPs within the group has the 'M' (mandatory) bit set
>>     MAY simply be ignored if the Grouped AVP itself is unrecognized. =20
>> The
>>     rule applies even if the encapsulated AVP with its 'M' (mandatory)
>>     bit set is further encapsulated within other sub-groups, i.e., other
>>     Grouped AVPs embedded within the Grouped AVP."
>>
>> Note the "... if the Grouped AVP itself is unrecognized." clause.
>>
>> The case we have in mind is when you receive a _recognized_ grouped=20
>> AVP (that is, you implement DOIC), but it includes an unrecognized=20
>> sub-avp with the M-bit set. This is not covered by the exception.
>> This would seem to indicate that the entire request must fail. I=20
>> don't think that's what we want.
> SRD> I see how it could be interpreted that way.
>>
>> At this point, I think we need to either say that sub-avps of DOIC=20
>> grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT=20
>> have the m-bit set unless the sub-avp is part of an extension=20
>> explicitly negotiated in the feature vector.
> SRD> I'm ok either way but prefer number 2).
>>
>>
>>
> [...]
>>>> Paragraph 5:
>>>>
>>>> Is this redundant to the last paragraph of 5.2.2?
>>>>
>>> SRD> I don't see an issue.  One is general and the other specific to
>>> the loss algorithm.  They don't conflict.
>> The one in 5.2.2 is specific to situations where an OLR quenches all=20
>> requests, and says MUST. So is this, and says RECOMMENDED (which=20
>> means SHOULD in 2119).
> SRD>Actually 5.2.2 isn't only about quenching.  It's also about the
> reacting node having sent no traffic, because it had no traffic to=20
> send, and now needs to send traffic soon after the OCS expires. The=20
> reporting node might still be in an overload state but the reacting=20
> node doesn't know until the first request is sent.
>>
>> If the idea is that the text in 6.3 is the recommended way to fulfill=20
>> the MUST in 5.2.2, then that's okay I guess (although I would prefer=20
>> one of the two to be non-normative.)
> SRD> 6.3 deals specifically with quenching, thus is a little different
> than 5.2.2, although there is overlap.
>>
>> Another approach would to leave this to 6.3, and add something to the=20
>> effect that any new algorithm that can cause total quenching of=20
>> requests must address how the reacting node restarts from that state.
> SRD> I prefer to leave it as it currently is.
>>
>> [...]
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 22 09:15:33 2015
Return-Path: <maria.cruz.bartolome@ericsson.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66C2A1ACD7B for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 09:15:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 nr8sKFj1vq2m for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 09:15:15 -0800 (PST)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA0C61ACD9D for <dime@ietf.org>; Thu, 22 Jan 2015 09:12:45 -0800 (PST)
X-AuditID: c1b4fb25-f791c6d00000617b-4e-54c12f8b556b
Received: from ESESSHC022.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 14.11.24955.B8F21C45; Thu, 22 Jan 2015 18:12:43 +0100 (CET)
Received: from ESESSMB101.ericsson.se ([169.254.1.82]) by ESESSHC022.ericsson.se ([153.88.183.84]) with mapi id 14.03.0195.001; Thu, 22 Jan 2015 18:12:42 +0100
From: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
To: Steve Donovan <srdonovan@usdonovans.com>, "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>, ext Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Ben's comments on 4.3, third paragraph from end
Thread-Index: AQHQNlBGzOV7Uxc/eUSNU2ZKJeskz5zMX/yw
Date: Thu, 22 Jan 2015 17:12:42 +0000
Message-ID: <087A34937E64E74E848732CFF8354B92098ADD3E@ESESSMB101.ericsson.se>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net> <54BFD7B5.30605@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net> <54C109F8.2070201@usdonovans.com>
In-Reply-To: <54C109F8.2070201@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.149]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpkkeLIzCtJLcpLzFFi42KZGfG3Rrdb/2CIwd2dEhbzO0+zW8ztXcFm saGJx2Ld2xVMDiweS5b8ZPKYtfMJi8fP9VfZPVa97WMNYInisklJzcksSy3St0vgyuideJ2p 4GBIxbQ3yxgbGJ84dzFyckgImEis3HSHBcIWk7hwbz1bFyMXh5DAEUaJvqtdUM5iRol9L+Yx gVSxCdhJXDr9ggkkISLQwyjx4uURdpAEs4CyxOwdD8BsYQFnid49H8DGigi4SLT/vw0U5wCy jST+L+IDCbMIqEqsXPAYrIRXwFfi1N+3jBDLnjBLnOnZzgxSzymgJ7H7iTZIDSPQdd9PrWGC WCUucevJfCaIqwUkluw5zwxhi0q8fPyPFcJWklh7eDsLRL2OxILdn9ggbG2JZQtfM0PsFZQ4 OfMJywRGsVlIxs5C0jILScssJC0LGFlWMYoWpxYn5aYbGeulFmUmFxfn5+nlpZZsYgTG2cEt v1V3MF5+43iIUYCDUYmH98P8AyFCrIllxZW5hxilOViUxHnzHDaECAmkJ5akZqemFqQWxReV 5qQWH2Jk4uCUamBka+5a4Tr3ndAbN5Eq/8lH389WN/DcIfC3Q2RtwefQNS+287FY5n7x/FN7 nMu00lJdMcmFsWPp3cvKihorymd4zjGWZvNyuJ/4lWvRnetrvDoMc88EpDwpexEWFnW/Xu6A 5ETBa3IhrlWXz1hWzPjjFfE74LuLENe9m7tN7VRZ5pXVSlzM+KHEUpyRaKjFXFScCADihVsx lAIAAA==
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/_B5RvIUUHPrf7MP3r4vLcPyw56E>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 17:15:23 -0000

Ulrich, Steve,

Not sure closing the issue would mean some rephrasing or you have agreed it=
 is not needed.

Anyway, the last sentence in this paragraph, is saying the same as first pa=
rt:

4.2, 3rd paragraph from the end:

   Reporting nodes can change the overload abatement algorithm indicated
   in the OC-Feature-Vector AVP if the reporting node is not currently
   in an overload condition and sending overload reports.  The reporting
   node is not allowed to change the overload abatement algorithm while
   the reporting node is in an overload condition.


Best regards
/MCruz

-----Original Message-----
From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
Sent: jueves, 22 de enero de 2015 15:32
To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end

Ulrich,

I agree that the reacting node can do as you say and change what it adverti=
ses after the start of an overload condition.  Do you agree that this does =
not require any changes to the DOIC spec?  If so, then do you agree we can =
close on this issue?

Regards,

Steve

On 1/22/15 3:37 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
> see inline.
> Regards
> Ulrich
>
> -----Original Message-----
> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
> Sent: Wednesday, January 21, 2015 5:46 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
>
> On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Steve,
>> I'm not sure.
>> My understanding is:
>> 1. Two answer messages (with same application id) sent by a reporting no=
de while not in an overload condition can have different selected overload =
abatement algorithms in the OC-Feature-Vector AVP.
> SRD> Correct, one set of answer messages could indicate loss and the
> other rate (for instance).  This would happen if the reporting node=20
> policy prefers rate but there is a mix of reacting node capabilities.
> In this case where not all reacting nodes support the reporting nodes=20
> preferred algorithm, the reporting node could also decide to send loss=20
> to all reacting nodes.
>
> Ulrich> Although this is right, it does not hit the nail. I should have s=
aid:
> 1a. Two answer messages (with same application id) sent by a reporting no=
de while in or not in an overload condition can have different selected ove=
rload abatement algorithms in the OC-Feature-Vector AVP when the correspond=
ing request messages advertize different sets of supported algorithms.
> 1b. Two answer messages (with same application id) sent by a reporting no=
de while not in an overload condition can have different selected overload =
abatement algorithms in the OC-Feature-Vector AVP even when the correspondi=
ng request messages advertize the same set of supported algorithms.
> As you say , 1a would happen if there is a mix of reacting node capabilit=
ies. 1b would happen if the policy is changed in the reporting node.
>
>> 2. Two answer messages (with same application id) sent by a reporting no=
de while in an (the same) overload condition must have the same selected ov=
erload abatement algorithm in the OC-Feature-Vector AVP if the two sets A a=
nd B are identical, where A is the intersection of the set of advertized al=
gorithms received in the request that corresponds to the one answer message=
 with the set of algorithms that are supported (at the time the one answer =
message is sent) by the reporting node, and B is the intersection of the se=
t of advertized algorithms received in the request that corresponds to the =
other answer message with the set of algorithms that are supported (at the =
time the other answer message is sent) by the reporting node; And the set o=
f algorithms supported by the reporting node must not change during an over=
load condition.
> SRD> I'm a little lost in your description here.  It is possible for=20
> SRD> the
> reporting node be in an overload state and be sending loss reports to=20
> one set of reacting nodes and rate to a second set of reacting nodes.
>
> Ulrich> yes, loss to the reacting nodes that advertize loss only and rate=
 to the reacting nodes that advertize rate and loss. If we do not allow thi=
s, then a reporting node cannot select rate (although supported by most rea=
cting nodes) as long as one reacting node only supports loss.
>   =20
> Whether or not the reporting node does this is entirely up to the=20
> implementation at the reporting node.
>
> Ulrich> it is up to configuration: the reporting node may be configured t=
o "select rate when loss and rate is advertized and to select loss when onl=
y loss is advertized". Alternatively the reporting node may be configured t=
o "select loss when loss and rate is advertized and to select loss when onl=
y loss is advertized".
>
>> This ensures that reacting nodes, while not changing the set of advertiz=
ed algorithms, will not receive a change of the selected algorithm during a=
n overload condition (without the need for the reporting node to keep histo=
ry data).
> SRD> The algorithm sent by the reporting node will be decided based on=20
> SRD> a
> combination of the advertised algorithms and policy at the reporting=20
> node.  If there is some change in policy at the reporting node that=20
> changes the selection then the reacting node needs to be prepared to=20
> handle the change.  I think you are suggesting we say this cannot=20
> happen during an active overload at the reporting node.  Is this correct?
>  =20
> Ulrich> yes.
>
> SRD> As things stand now, with the changes made in -06 and the coming
> -07, the reacting node will need to be able to handle a change in=20
> algorithm during an active overload condition.  What is the benefit of=20
> changing this?  If the algorithm changes during an overload condition=20
> the reacting node can just treat it as an end of one overload=20
> condition and the start of another.
>
> Ulrich> yes that is possible but adds complexity to the reacting node esp=
ecially when changing from a stateless to a stateful algorithm. There may a=
lso be issues with the mechanism's stability. During an overload condition =
reporting nodes should not force reacting nodes to change algorithm.
> On reflection, reacting nodes that support (and advertize) loss and rate =
could - when receiving OLR with loss - stopp advertizing rate as long as th=
e overload condition is ongoing in order to prevent change from loss to rat=
e during the overload condition. With this trick, the only way of change is=
 towards loss, and that may be acceptable (as it is a one time change and y=
ou cannot change back and forth).
>> Ulrich
>>
>>
>> -----Original Message-----
>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>> Sent: Tuesday, January 20, 2015 7:27 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>>     I have removed the last sentence in the paragraph in question. =20
>> The before and after for the paragraph is as follows:
>>
>> Before:
>>
>>       Reporting nodes can change the overload abatement algorithm indica=
ted
>>       in the OC-Feature-Vector AVP if the reporting node is not currentl=
y
>>       in an overload condition and sending overload reports.  The report=
ing
>>       node is not allowed to change the overload abatement algorithm whi=
le
>>       the reporting node is in an overload condition.
>>
>> After:
>>
>>       Reporting nodes can change the overload abatement algorithm indica=
ted
>>       in the OC-Feature-Vector AVP if the reporting node is not currentl=
y
>>       in an overload condition and sending overload reports.
>>
>> Ulrich,
>>
>> I'm not sure I understand your point about the assignment of commonly=20
>> supported algorithms.  Are you ok with this change?
>>
>> Regards,
>>
>> Steve
>> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben
>>>
>>> The Note at the beginning of 5.1 is about change of announced capabilit=
ies in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change =
of selected algorithm by reporting nodes.
>>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course=
, if the reacting node changes the set of announced capabilities, the repor=
ting node may change (or even need to  change) the selected algorithm. What=
 is not allowed to be changed by the reporting node during an overload cond=
ition is the deterministic function that assignes to every set of commonly =
supported algorithms a distinct selected algorithm.
>>>
>>>
>>> Ulrich
>>>
>>>
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben=20
>>> Campbell
>>> Sent: Thursday, January 15, 2015 4:19 PM
>>> To: Steve Donovan
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>
>>> Sorry, that was 4.2.
>>>
>>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>>>>
>>>> I agree with Ulrich, I don't see the issue.
>>>>
>>>>
>>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>>> Ben wrote:
>>>>> -- 4.3, third paragraph from end:
>>>>>    =20
>>>>> This still assumes that reporting nodes cannot change algorithms=20
>>>>> during overload. I thought we agreed to remove that. (The=20
>>>>> normative text is also still there--see later comment.)
>>>>>    =20
>>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph fr=
om end in 4.3 reads:
>>>>>       Two types of overload abatement treatment are defined, diversio=
n and
>>>>>       throttling.  Reacting nodes are responsible for determining whi=
ch
>>>>>       treatment is appropriate for individual requests.
>>>>> How does this text assume that reporting nodes cannot change algorith=
ms during overload?
>>>>>    =20
>>>>>    =20
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>>
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>
>

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime


From nobody Thu Jan 22 09:25:36 2015
Return-Path: <maria.cruz.bartolome@ericsson.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 378F11ACDB3 for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 09:25:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 c6HNdNH-0Pfd for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 09:25:30 -0800 (PST)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 566441A1ACA for <dime@ietf.org>; Thu, 22 Jan 2015 09:24:16 -0800 (PST)
X-AuditID: c1b4fb2d-f79fc6d000001087-1d-54c1323e5bf5
Received: from ESESSHC021.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 9E.4C.04231.E3231C45; Thu, 22 Jan 2015 18:24:14 +0100 (CET)
Received: from ESESSMB101.ericsson.se ([169.254.1.82]) by ESESSHC021.ericsson.se ([153.88.183.81]) with mapi id 14.03.0195.001; Thu, 22 Jan 2015 18:24:13 +0100
From: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
To: Steve Donovan <srdonovan@usdonovans.com>, Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Updated DOIC Requirements Analysis
Thread-Index: AQHQCFYt6tScBxBsq0iC3L6bres0LpyIv54AgADMHwCAAihrkIA9/tiBgAALhICAAAcWgIAC+acQ
Date: Thu, 22 Jan 2015 17:24:13 +0000
Message-ID: <087A34937E64E74E848732CFF8354B92098ADD51@ESESSMB101.ericsson.se>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com> <54BEA332.8030605@usdonovans.com> <6F7AE7CD-3B39-4BC3-898E-3BCD2669B964@nostrum.com> <54BEC0EB.4090802@usdonovans.com>
In-Reply-To: <54BEC0EB.4090802@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.149]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRmVeSWpSXmKPExsUyM+Jvja6d0cEQgyt9KhbzO0+zW8ztXcFm saGJx4HZY8mSn0wes3Y+YfFY9baPNYA5issmJTUnsyy1SN8ugSuj98cL9oItxRWrZ/SxNzDu KOhi5OSQEDCRmHbmKAuELSZx4d56ti5GLg4hgSOMEhceHWOEcBYzSjSchKhiE7CTuHT6BROI LSLgI/H67B92EJtZQFli9o4HYLawgJlE16wdbBA15hJTF2xmhrCjJK5/ngo2h0VAVeLajSaw ObwCvhJTT19igVi2llni+7KzjCAJTgE9ic+L5oPZjEDnfT+1hglimbjErSfzmSDOFpBYsuc8 M4QtKvHy8T9WCFtJYu3h7UBDOYDqNSXW79KHaFWUmNL9kB1ir6DEyZlPWCYwis1CMnUWQscs JB2zkHQsYGRZxShanFpcnJtuZKyXWpSZXFycn6eXl1qyiREYUQe3/Nbdwbj6teMhRgEORiUe 3g/zD4QIsSaWFVfmHmKU5mBREufNc9gQIiSQnliSmp2aWpBaFF9UmpNafIiRiYNTqoHRtE3o 0+4/Fm0fDIOfyTnuPT2pQ6uvRznzwoRZd4IUGSS6ey8s5X0zsXbxncK+VWt0CmWC9lrYXv+9 d/q+JmlFk0zR9IjYgB9aCYu0t/f68r75EP5T4NvpuS/VnK9PD5y6xPLI1sbnz9I+rHHRnlSz 48b6mpeqhUIeNqs5VxoKfk26LzXxXaOREktxRqKhFnNRcSIAfy7WQokCAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/RC7U2k4M4BAT1RNzd96ImTgcKpQ>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 17:25:34 -0000

RGVhciBhbGwsDQoNClllcywgd2UgYWdyZWVkIHRvIHJlbW92ZSBkZXRhaWwgc3RhdGVtZW50IG9m
IGNvbXBsaWFuY2UgZnJvbSB0aGUgbWFpbiBkcmFmdCwgYnV0IHdlIGFncmVlZCBhcyB3ZWxsIHRo
YXQgaXQgd2FzIHdvcnRoeSB0byBrZWVwIHRoaXMgYW5hbHlzaXMgZm9yIGZ1cnRoZXIgcmVmZXJl
bmNlcywgZXZlbiBpZiBpdCB3YXMgb25seSBhbiBpbmZvcm1hdGlvbmFsIGRyYWZ0Lg0KV2hhdCBp
cyBub3cgdGhlIGludGVudGlvbj8NCg0KVGhhbmtzDQovTUNydXoNCg0KLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCkZyb206IERpTUUgW21haWx0bzpkaW1lLWJvdW5jZXNAaWV0Zi5vcmddIE9u
IEJlaGFsZiBPZiBTdGV2ZSBEb25vdmFuDQpTZW50OiBtYXJ0ZXMsIDIwIGRlIGVuZXJvIGRlIDIw
MTUgMjE6NTYNClRvOiBCZW4gQ2FtcGJlbGwNCkNjOiBkaW1lQGlldGYub3JnDQpTdWJqZWN0OiBS
ZTogW0RpbWVdIFVwZGF0ZWQgRE9JQyBSZXF1aXJlbWVudHMgQW5hbHlzaXMNCg0KDQpPbiAxLzIw
LzE1IDI6MzAgUE0sIEJlbiBDYW1wYmVsbCB3cm90ZToNCj4+IE9uIEphbiAyMCwgMjAxNSwgYXQg
MTI6NDkgUE0sIFN0ZXZlIERvbm92YW4gPHNyZG9ub3ZhbkB1c2Rvbm92YW5zLmNvbT4gd3JvdGU6
DQo+Pg0KPj4gSSdtIG5vdCBjdXJyZW50bHkgcGxhbm5pbmcgdG8gbWFrZSBhbnkgdXBkYXRlcyB0
byB0aGUgcmVxdWlyZW1lbnRzIGFuYWx5c2lzIHNlY3Rpb24gYXMgSSBoYXZlbid0IHNlZW4gY29u
c2Vuc3VzIG9uIHRoZSBuZWVkIHRvIGNoYW5nZSBhbnl0aGluZyBpbiB0aGUgcG9ydGlvbiB0aGF0
IHdpbGwgcmVtYWluIGluIHRoZSBkb2N1bWVudC4NCj4+DQo+PiBJZiB3ZSB3YW50IHRvIGNvbnRp
bnVlIHRvIGRlYmF0ZSB0aGUgc2VjdGlvbnMgdGhhdCBhcmUgc2xhdGVkIHRvIGJlIHJlbW92ZWQg
dGhlbiBJIHN1Z2dlc3Qgd2UgZG8gdGhhdCBpbiBhIHNlcGFyYXRlIGVtYWlsIHRocmVhZCB0aGF0
IGlzIG5vdCB0aWVkIHRvIG1vdmluZyB0aGUgZG9jdW1lbnQgb3V0IG9mIFdHTEMuDQo+IElzbid0
IHRoaXMgdGhhdCBzZXBhcmF0ZSB0aHJlYWQ/DQpTUkQ+IFllcywgSSB3YXMgdGhpbmtpbmcgaW4g
dGVybXMgb2YgdGhlIHNldCBvZiBpdGVtcyB0aGF0IG5lZWRlZCANCmFkZHJlc3NpbmcgZm9yIFdH
TEMuDQo+DQo+IEJ1dCBpbiBhbnkgY2FzZSwgSSBkbyBub3QgdGhpbmsgd2UgbmVlZCBjaGFuZ2Vz
IHRvIHRoZSByZXFzIGFuYWx5c2lzIHNlY3Rpb25zLCBlc3BlY2lhbGx5IHRoZSBkZXRhaWwgc2Vj
dGlvbiB0aGF0IHdlIGhhdmUgYmVlbiBkaXJlY3RlZCB0byByZW1vdmUuDQpTUkQ+IENvb2wNCj4N
Cj4+IFJlZ2FyZHMsDQo+Pg0KPj4gU3RldmUNCj4+IE9uIDEvNy8xNSAyOjU0IFBNLCBCZW4gQ2Ft
cGJlbGwgd3JvdGU6DQo+Pj4gKENhdGNoaW5nIHVwIG9uIG9sZGVyIHN0dWZmKQ0KPj4+DQo+Pj4g
Q29tbWVudHMgaW5saW5lLiBCdXQga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGRldGFpbGVkIHJlcXVp
cmVtZW50cyBhcmUgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBSRkMsIHNvIEknbSBub3Qgc3VyZSB3
ZSBuZWVkIHRvIHNwZW5kIHRvbyBtdWNoIHRpbWUgb24gdGhlbS4gKE9ubHkgdGhlIGZpcnN0IGRp
c2N1c3Npb24gcG9pbnQgYWRkcmVzc2VzIHRleHQgdGhhdCBpcyB0byByZW1haW4gaW4gdGhlIFJG
Qy4pDQo+Pj4NCj4+PiBUaGFua3MhDQo+Pj4NCj4+PiBCZW4uDQo+Pj4NCj4+Pj4gT24gRGVjIDEy
LCAyMDE0LCBhdCAyOjI0IEFNLCBNYXJpYSBDcnV6IEJhcnRvbG9tZSA8bWFyaWEuY3J1ei5iYXJ0
b2xvbWVAZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+Pj4NCj4+Pj4gSGVsbG8gQmVuLA0KPj4+Pg0K
Pj4+PiBTZWUgY29tbWVudHMgYmVsb3cNCj4+Pj4gVGhhbmtzDQo+Pj4+IC9NQ3J1eg0KPj4+Pg0K
Pj4+Pj4gQy4yLiAgRGV0ZWN0aW9uIG9mIG5vbi1zdXBwb3J0aW5nIEludGVybWVkaWFyaWVzDQo+
Pj4+Pg0KPj4+Pj4gICAgVGhlIERPSUMgbWVjaGFuaXNtIGFzIGN1cnJlbnRseSBkZWZpbmVkIGRv
ZXMgbm90IGFsbG93IHN1cHBvcnRpbmcNCj4+Pj4+ICAgIG5vZGVzIHRvIGF1dG9tYXRpY2FsbHkg
ZGV0ZXJtaW5lIHdoZXRoZXIgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIG9yIE9DLQ0KPj4+Pj4gICAg
T0xSIEFWUHMgYXJlIG9yaWdpbmF0ZWQgYnkgYSBwZWVyIG5vZGUsIG9yIGJ5IGEgbm9uLXBlZXIg
bm9kZSBhbmQNCj4+Pj4+ICAgIHNlbnQgYWNyb3NzIGEgbm9uLXN1cHBvcnRpbmcgcGVlci4gIFRo
aXMgbWFrZXMgaXQgaW1wb3NzaWJsZSB0bw0KPj4+Pj4gICAgZGV0ZWN0IHRoZSBwcmVzZW5jZSBv
ZiBub24tc3VwcG9ydGluZyBub2RlcyBiZXR3ZWVuIHN1cHBvcnRpbmcgbm9kZXMsDQo+Pj4+PiAg
ICBleGNlcHQgYnkgY29uZmlndXJhdGlvbi4gIFRoZSB3b3JraW5nIGdyb3VwIGRldGVybWluZWQg
dGhhdCBzdWNoIGENCj4+Pj4+ICAgIGNvbmZpZ3VyYXRpb24gcmVxdWlyZW1lbnQgaXMgYWNjZXB0
YWJsZS4NCj4+Pj4+DQo+Pj4+PiAgICBUaGlzIGxpbWl0cyBmdWxsIGNvbXBsaWFuY2Ugd2l0aCBj
ZXJ0YWluIHJlcXVpcmVtZW50cyByZWxhdGVkIHRvIHRoZQ0KPj4+Pj4gICAgbGltaXRhdGlvbiBv
ZiBuZXcgY29uZmlndXJhdGlvbiwgZGVwbG95bWVudCBpbiBlbnZpcm9ubWVudHMgd2l0aA0KPj4+
Pj4gICAgbWl4ZWQgc3VwcG9ydCwgb3BlcmF0aW5nIGFjcm9zcyBub24tc3VwcG9ydGluZyBhZ2Vu
dHMsIGFuZA0KPj4+Pj4gICAgYXV0aG9yaXphdGlvbi4NCj4+Pj4+IFtNQ3J1el0gSSB0aGluayB0
aGlzIHBhcmFncmFwaCBzaG91bGQgc3RhdGUgd2hhdCBhcmUgdGhlIGxpbWl0YXRpb25zDQo+Pj4+
PiAoZ2VuZXJhbGx5LCBsaWtlIHlvdSBkaWQgZm9yIHJlc3Qgb2YgdGhlbSkgTW9yZXZlciwgc2lu
Y2UgZGV0YWlsZWQgZGVzY3JpcHRpb25zIHdpbGwgYmUgZGVsZXRlZC4NCj4+Pj4+DQo+Pj4+IFRo
ZSBsaW1pdGF0aW9ucyBhcmUgZGlzY3Vzc2VkIGluIHRoZSBzZWN1cml0eSBjb25zaWRlcmF0aW9u
IHNlY3Rpb24uIEJhc2ljYWxseSBpZiBhIG5vZGUgZXhwZWN0cyBhbiBhZ2VudCB0byBlbmZvcmNl
IGFueSBET0lDIHJlbGF0ZWQgcG9saWN5IChlLmcuIG1ha2luZyBzdXJlIERPSUMgYXZwcyBkbyBu
b3QgbGVhayB0byB1bmF1dGhvcml6ZWQgbm9kZXMpLCBpdCBoYXMgdG8ga25vdyB0aGF0IHRoZSBh
Z2VudCBpdHNlbGYgc3VwcG9ydHMgRE9JQy4gUmlnaHQgbm93IGl0IGNhbiBvbmx5IGtub3cgdGhh
dCBieSBoYXZpbmcgYW4gYWRtaW5pc3RyYXRvciB0ZWxsIGl0IHRoYXQgKHZpb2xhdGluZyB0aGUg
bGltaXRhdGlvbiBvbiBuZXcgY29uZmlndXJhdGlvbiksIGJ5IGtub3dpbmcgdGhhdCBhbGwgYWdl
bnRzIGluIHRoZSBuZXR3b3JrIHN1cHBvcnQgRE9JQyAodmlvbGF0aW5nIHRoZSBtaXhlZCBzdXBw
b3J0IGFuZCBub24tc3VwcG9ydGluZyBhZ2VudCByZXF1aXJlbWVudHMuKQ0KPj4+PiBbTUNydXpd
IFBsZWFzZSwgaW5jbHVkZSB0ZXh0IGFjY29yZGluZ2x5IHRoZW4uIFRoZSB0ZXh0IG5vdyAiY2Vy
dGFpbiByZXF1aXJlbWVudHMgcmVsYXRlZCB0byIgZG9lcyBub3QgcHJvdmlkZSBhbiBpbmZvcm1h
dGlvbiB0aGF0IGFueW9uZSBjb3VsZCB0cmFjZSBlYXNpbHkuDQo+Pj4gSSB3YXMgZXhwbGljaXRs
eSBhc2tlZCBieSBvdGhlciBwZW9wbGUgKGUuZy4gTGlvbmVsKSB0byBsaXN0IHRoZSBpbXBhY3Rl
ZCByZXF1aXJlbWVudHMgZGVzY3JpcHRpdmVseSwgcmF0aGVyIHRoYW4gYnkgcmVmZXJlbmNlLCBp
biB0aGlzIHNlY3Rpb24uIFRoZSAiY2VydGFpbiByZXF1aXJlbWVudHMgcmVsYXRlZCB0byIgYXJl
IGRlc2NyaWJlZCBieSB0aGUgd29yZHMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhhdCBwaHJhc2UuIFRo
YXQgaXMsIHRoZSByZXF1aXJlbWVudCB0byBsaW1pdCBuZXcgY29uZmlndXJhdGlvbiwgdGhlIHJl
cXVpcmVtZW50IHRvIGFsbG93IGRlcGxveW1lbnRzIHdpdGggbWl4ZWQgc3VwcG9ydCwgYW5kIHRo
ZSByZXF1aXJlbWVudHMgdG8gYXV0aG9yaXplIHdobyBjYW4gc2VuZCBhbmQgcmVjZWl2ZSBvdmVy
bG9hZCBpbmZvcm1hdGlvbi4NCj4+Pg0KPj4+Pj4NCj4+Pj4+ICAgIFJFUSA2OiAgVGhlIHNvbHV0
aW9uIGRlc2lnbmVycyBTSE9VTEQgc2VlayB0byBtaW5pbWl6ZSB0aGUgYW1vdW50IG9mDQo+Pj4+
PiAgICAgICAgICAgIG5ldyBjb25maWd1cmF0aW9uIHJlcXVpcmVkIGluIG9yZGVyIHRvIHdvcmsu
ICBGb3IgZXhhbXBsZSwgaXQNCj4+Pj4+ICAgICAgICAgICAgaXMgYmV0dGVyIHRvIGFsbG93IHBl
ZXJzIHRvIGFkdmVydGlzZSBvciBuZWdvdGlhdGUgc3VwcG9ydA0KPj4+Pj4gICAgICAgICAgICBm
b3IgdGhlIHNvbHV0aW9uLCByYXRoZXIgdGhhbiB0byByZXF1aXJlIHRoYXQgdGhpcyBrbm93bGVk
Z2UNCj4+Pj4+ICAgICAgICAgICAgdG8gYmUgY29uZmlndXJlZCBhdCBlYWNoIG5vZGUuDQo+Pj4+
Pg0KPj4+Pj4gICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIE1vc3QgRE9JQyBwYXJh
bWV0ZXJzIGFyZSBhZHZlcnRpc2VkDQo+Pj4+PiAgICAgICAgICAgIHVzaW5nIHRoZSBET0lDIGNh
cGFiaWxpdHkgYW5ub3VuY2VtZW50IG1lY2hhbmlzbS4gIEhvd2V2ZXIsDQo+Pj4+PiAgICAgICAg
ICAgIHRoZXJlIGFyZSBzb21lIHNpdHVhdGlvbnMgd2hlcmUgY29uZmlndXJhdGlvbiBpcyByZXF1
aXJlZC4NCj4+Pj4+ICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGEgRE9JQyBub2RlIGRldGVjdCB0
aGUgZmFjdCB0aGF0IGEgcGVlciBtYXkgbm90DQo+Pj4+PiAgICAgICAgICAgIHN1cHBvcnQgRE9J
QyB3aGVuIG5vZGVzIG9uIHRoZSBvdGhlciBzaWRlIG9mIHRoZSBub24tDQo+Pj4+PiAgICAgICAg
ICAgIHN1cHBvcnRpbmcgbm9kZSBkbyBzdXBwb3J0IERPSUMgd2l0aG91dCBjb25maWd1cmF0aW9u
Lg0KPj4+Pj4NCj4+Pj4+IFtNQ3J1el0gQ291bGQgeW91IGNsYXJpZnkgbGFzdCBleGFtcGxlPyDi
gJx3aXRob3VnIGNvbmZpZ3VyYXRpb27igJ0/IEkgZG8gbm90IHVuZGVyc3RhbmQgd2hhdCB5b3Ug
bWVhbnQuDQo+Pj4+IEhlcmUncyBhbiBleGFtcGxlOg0KPj4+Pg0KPj4+PiBDIC0tLS0tLSBBIC0t
LS0tLSBTDQo+Pj4+DQo+Pj4+IElmIGJvdGggQyBhbmQgUyBzdXBwb3J0IERPSUMsIHRoZXJlIGlz
IG5vIHdheSBmb3IgdGhlbSB0byB0ZWxsIHdoZXRoZXIgQSBzdXBwb3J0cyBET0lDLiBDb25zaWRl
ciB0d28gY2FzZXM6DQo+Pj4+DQo+Pj4+IDEpIEEgc3VwcG9ydHMgRE9JQy4gQnV0IHNpbmNlIEMg
YWxyZWFkeSBpbnNlcnRzIE9DLVMtRiBpbiBhbGwgcmVxdWVzdHMsIGFuZCBTIGluc2VydHMgaXQg
aW4gYWxsIGFuc3dlcnMsIEEgcGFzc2VzIHRoZW0gdGhyb3VnaCB1bmNoYW5nZWQuDQo+Pj4+IDIp
IEEgZG9lcyBub3Qgc3VwcG9ydCBET0lDLCBidXQgcGFzc2VzIHRocm91Z2ggdW5rbm93biBBVlBz
LiBTaW5jZSBPQy1TLUYgd2lsbCBiZSB1bmtub3duIHRvIGl0LCBpdCBwYXNzZXMgaXQgdGhyb3Vn
aCB1bmNoYW5nZWQuDQo+Pj4+DQo+Pj4+ICBGcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBDIGFuZCBT
LCB0aGUgcmVxdWVzdHMgYW5kIGFuc3dlcnMgbG9vayBpZGVudGljYWwgZm9yIGJvdGggY2FzZXMu
IEV2ZW4gaWYgQSBhY3R1YWxseSBjaGFuZ2VzIHRoZSBjb250ZW50IG9mIGFuIE9DLVMtRiBhdnAs
IG5laXRoZXIgZW5kcG9pbnQgY2FuIHRlbGwgaWYgdGhlIHJlc3VsdGluZyBBVlAgY2FtZSBmcm9t
IEEgb3IgdGhlIG9wcG9zaXRlIGVuZHBvaW50Lg0KPj4+Pg0KPj4+PiBQZXJzb25hbGx5LCBJIHRo
aW5rIHRoaXMgaXMgYSBzaG93c3RvcHBlci4gQnV0IHRoZSB3b3JraW5nIGdyb3VwIGNvbnNlbnN1
cyBkaWQgbm90IGFncmVlLg0KPj4+Pg0KPj4+PiBbTUNydXpdIFNldmVyYWwgY29tbWVudHM6DQo+
Pj4+IGEpIFRoZW4geW91IGNvbnNpZGVyIHRoaXMgcmVxdWlyZW1lbnQgYXMgInBhcnRseSBjb21w
bGlhbnQiIHNpbmNlIHlvdSBjb25zaWRlciBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIGluIGEg
bm9kZSB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdCBpdHMgYWRqYWNlbnQgcGVlcnMgc3VwcG9y
dCBET0lDLCByaWdodD8gSWYgc28sIGNvdWxkIHlvdSBleHBsYWluIHdoeSBhIG5vZGUgbmVlZHMg
dG8ga25vdyB3aGV0aGVyIG9yIG5vdCB0aGUgcGVlciBzdXBwb3J0IERPSUMsIGEgcGFydCBmcm9t
IHdoYXQgaXMgaW5jbHVkZWQgaW4gdGhlIGFkdmVydGlzZW1lbnQgbWVjaGFuaXNtIHdlIGRlZmlu
ZWQ/DQo+Pj4gSWYgeW91IGRvIG5vdCBrbm93IHRoYXQgYSBwZWVyIHN1cHBvcnRzIERPSUMsIHlv
dSBjYW5ub3QgYXNzdW1lIHRoYXQgaXQgd2lsbCBlbmZvcmNlIERPSUMgcmVsYXRlZCBwb2xpY2ll
cyAoSSBiZWxpZXZlIHRoYXQgaXMgc3VmZmljaWVudGx5IGRlc2NyaWJlZCBpbiB0aGUgc2VjdXJp
dHkgY29uZmlndXJhdGlvbnMuKQ0KPj4+DQo+Pj4+IGIpIFdoYXQgZG8geW91IHRoaW5rIGlzIGEg
InNob3cgc3RvcHBlciI/IFRoZSBuZWVkIGZvciBjb25maWd1cmF0aW9uPw0KPj4+IEV4cGxpY2l0
bHksIHRoZSBuZWVkIHRvIGNvbmZpZ3VyZSB3aGV0aGVyIHlvdSBjYW4gdHJ1c3QgYSBwZWVyIHRv
IGVuZm9yY2UgRE9JQyByZWxhdGVkIHBvbGljZXMuIEkgYmVsaWV2ZSB0aGlzIGlzIGFuIGltcG9y
dGFudCBzZWN1cml0eSBpc3N1ZSwgYW5kIHRoYXQgYmVpbmcgdW5hYmxlIHRvIGRldGVybWluZSBp
dCBhdXRvbWF0aWNhbGx5IGlzIGEgcmVhbCBwcm9ibGVtLiBSZXF1aXJpbmcgdGhpcyBzb3J0IG9m
IGNvbmZpZ3VyYXRpb24gZG9lc24ndCBzY2FsZSB3ZWxsLCBhbmQgaGFzIHRoZSBwb3RlbnRpYWwg
b2YgY3JlYXRpbmcgcmVhbCBtYW5hZ2VtZW50IGFuZCBvcGVyYXRpb25zIHByb2JsZW1zLiAoTm90
ZSB0aGUgSUVURiBhcmVhIHRoYXQgRElNRSBpcyBpbi4pDQo+Pj4NCj4+PiBCdXQsIGFzIEkgc2Fp
ZCwgdGhlIHdvcmtpbmcgZ3JvdXAgc2VlbXMgdG8gaGF2ZSBjaG9zZW4gdG8gbW92ZSBmb3J3YXJk
IHdpdGhvdXQgYW4gYXV0b21hdGljIHdheSB0byBkbyB0aGlzLiBQZXJoYXBzIGl0IGNhbiBiZSBp
bXByb3ZlZCBpbiBhIGZ1dHVyZSBleHRlbnNpb24uDQo+Pj4NCj4+Pj4NCj4+Pj4+ICAgIFJFUSAy
MzogVGhlIHNvbHV0aW9uIE1VU1QgcHJvdmlkZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIGVu
YWJsZSBhDQo+Pj4+PiAgICAgICAgICAgIGxvYWQtYmFsYW5jaW5nIG5vZGUgdG8gZGl2ZXJ0IG1l
c3NhZ2VzIHRoYXQgYXJlIHJlamVjdGVkIG9yDQo+Pj4+PiAgICAgICAgICAgIG90aGVyd2lzZSB0
aHJvdHRsZWQgYnkgYW4gb3ZlcmxvYWRlZCB1cHN0cmVhbSBub2RlIHRvIG90aGVyDQo+Pj4+PiAg
ICAgICAgICAgIHVwc3RyZWFtIG5vZGVzIHRoYXQgYXJlIHRoZSBtb3N0IGxpa2VseSB0byBoYXZl
IHN1ZmZpY2llbnQNCj4+Pj4+ICAgICAgICAgICAgY2FwYWNpdHkgdG8gcHJvY2VzcyB0aGVtLg0K
Pj4+Pj4NCj4+Pj4+ICAgICAgICAgICAgKk5vdCBDb21wbGlhbnQqLiBET0lDIHByb3ZpZGVzIG5v
IGJ1aWx0IGluIG1lY2hhbmlzbSB0bw0KPj4+Pj4gICAgICAgICAgICBkZXRlcm1pbmUgdGhlIGJl
c3QgcGxhY2UgdG8gZGl2ZXJ0IG1lc3NhZ2VzIHRoYXQgd291bGQNCj4+Pj4+ICAgICAgICAgICAg
b3RoZXJ3aXNlIGJlIHRocm90dGxlZC4gIFRoaXMgY2FuIGJlIGFjY29tcGxpc2hlZCB3aXRoIGEN
Cj4+Pj4+ICAgICAgICAgICAgZnV0dXJlICJsb2FkIiBleHRlbnNpb24sIG9yIHdpdGggcHJvcHJp
ZXRhcnkgbG9hZCBiYWxhbmNpbmcNCj4+Pj4+ICAgICAgICAgICAgbWVjaGFuaXNtcy4NCj4+Pj4+
DQo+Pj4+PiBbTUNydXpdIFBhcnRseSBDb21wbGlhbnQuIERPSUMgT3ZlcmxvYWQgaW5mb3JtYXRp
b24gY2FuIGJlIHVzZWQgYWxyZWFkeSBieSBwcm9wcmlldGFyeSBsb2FkLWJhbGFuY2luZyBpbXBs
ZW1lbnRhdGlvbnMuDQo+Pj4+Pg0KPj4+Pj4gTG9hZCBpbmZvcm1hdGlvbiB3aWxsIGJlIGEgcGx1
cyB0byB0aGlzLg0KPj4+Pj4NCj4+Pj4gSSBkaXNhZ3JlZSwgb3IgYXQgbGVhc3QgdGhpbmsgdGhh
dCB3b3VsZCBiZSBfdmVyeV8gcGFydGlhbC4gWW91IHdvbid0IGhhdmUgYW55IG92ZXJsb2FkIGlu
Zm9ybWF0aW9uIHVubGVzcyB0aGUgcG90ZW50aWFsIGRpdmVyc2lvbiB0YXJnZXRzIGFyZSBhbHNv
IG92ZXJsb2FkZWQuDQo+Pj4+IFtNQ3J1el0gSW4gY2FzZSBzZXJ2ZXJzIGluIHRoZSBwb29scyBh
cmUgRE9JQyBlbmFibGVkIHRoZSBPdmVybG9hZCBpbmZvcm1hdGlvbiBpcyBwcm92aWRlZCBieSBh
bGwgb2YgdGhlbSwgdW5kZXIgb3ZlcmxvYWQgb2NjdXJyZW5jZXMsIHRoZW4gdGhpcyBpbmZvcm1h
dGlvbiBpcyB2YWxpZCAobWF5YmUgbm90IHN1ZmZpY2llbnQgaW4gYWxsIGNhc2VzLCBJIGFncmVl
LCBidXQgdmFsaWQgaW4gbW9zdCBvZiB0aGVtKSB0byBkaXZlcnQuDQo+Pj4+IEluIGNhc2Ugd2Ug
aGF2ZSBtaXhlZCBzZXJ2ZXJzIChET0lDLXN1cHBvcnRpbmcgYW5kIG5vbi1ET0lDKSB3ZSBoYXZl
IHNvbWUgbGltaXRhdGlvbnMgYXMgd2VsbC4NCj4+PiBUaGUgcHVycG9zZSBiZWhpbmQgdGhpcyBy
ZXF1aXJlbWVudCB3YXMgdG8gYWxsb3cgbG9hZCBiYWxhbmNpbmcgb2YgcmVxdWVzdHMgdGhhdCBh
cmUgZGl2ZXJ0ZWQgdG8gKGhvcGVmdWxseSkgbm9uLW92ZXJsb2FkZWQgc2VydmVycywgaW4gYSB3
YXkgdGhhdCByZWR1Y2VzIHRoZSBjaGFuY2Ugb2YgY2F1c2luZyB0aG9zZSBzZXJ2ZXJzIHRvIGFs
c28gYmVjb21lIG92ZXJsb2FkZWQuIFRob3NlIHNlcnZlcnMgd2lsbCBub3QgYmUgcHJvdmlkaW5n
IE9MUnMuDQo+Pj4NCj4+PiBJIHN0aWxsIGRvIG5vdCBhZ3JlZSB0aGF0IHRoZSBjb3JuZXIgY2Fz
ZSBvZiBkaXZlcnRpbmcgcmVxdWVzdCB0byBfb3ZlcmxvYWRlZF8gc2VydmVycyBpcyBiaWcgZW5v
dWdoIHRvIGNvbnNpZGVyIHRoaXMgcGFydGlhbGx5IGNvbXBsaWFudC4NCj4+Pg0KPj4+Pj4gICAg
UkVRIDMwOiBUaGUgc29sdXRpb24gTVVTVCBOT1QgaW50ZXJmZXJlIHdpdGggYW55IERpYW1ldGVy
LWNvbXBsaWFudA0KPj4+Pj4gICAgICAgICAgICBtZXRob2QgdGhhdCBhIG5vZGUgbWF5IHVzZSB0
byBwcm90ZWN0IGl0c2VsZiBmcm9tIG92ZXJsb2FkDQo+Pj4+PiAgICAgICAgICAgIGZyb20gbm9u
LXN1cHBvcnRpbmcgbm9kZXMgb3IgZnJvbSBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzLg0KPj4+
Pj4NCj4+Pj4+ICAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSBzcGVjaWZpY2F0aW9uIHJlY29t
bWVuZHMgdGhhdCBhbnkgc3VjaA0KPj4+Pj4gICAgICAgICAgICBwcm90ZWN0aW9uIG1lY2hhbmlz
bSBuZWVkZWQgd2l0aG91dCBET0lDIHNob3VsZCBjb250aW51ZSB0bw0KPj4+Pj4gICAgICAgICAg
ICBiZSBlbXBsb3llZCB3aXRoIERPSUMuDQo+Pj4+PiBbTUNydXpdIENvdWxkIHlvdSBwb2ludCBv
dXIgd2hlcmUgaW4gdGhlIGRyYWZ0IGl0IGlzIGRlc2NyaWJlZD8NCj4+Pj4gOS4zDQo+Pj4+IFtN
Q3J1el0gSSBkbyBub3QgdGhpbmsgOS4zIHNheXMgd2hhdCB5b3UgbWVudGlvbmVkIGhlcmUuDQo+
Pj4+IEl0IHNheXMgIkluIHRoZSBhYnNlbmNlIG9mIGFuIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFu
aXNtLi4uIi4gSXQgaXMgbm90IHNhaWQgdGhlIERPSUMgc2hhbGwgbm90IGludGVyZmVyZSB3aXRo
IGFueSBvdGhlciBEaWFtZXRlciBtZXRob2QgZm9yIHByb3RlY3Rpb24sIHdlIG1heSBuZWVkIHRv
IGFkZCB0aGlzIGluZm9ybWF0aW9uIHRvIHRoZSBkcmFmdCBpbiBmYWN0Lg0KPj4+PiBBIHBhcnQg
ZnJvbSB0aGF0LCBJIHRoaW5rIDkuMy4gc2hvdWxkIHNheSAiZm9yIG5vbi1ET0lDIHN1cHBvcnRp
bmcgbm9kZXMvbmV0d29ya3MuLi4iIG5vdCBqdXN0ICJpbiB0aGUgYWJzZW5jZSBvZiBfYW5fIG92
ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIi4uLg0KPj4+IFRoZSAiYWJzZW5jZSBvZiBhbiBPQyBz
dHJhdGVneSIgcGFydCBpcyB0aGVyZSB0byBwcm92aWRlIHRoZSBjb250ZXh0IHRoYXQgdGhlc2Ug
cHJvdGVjdGlvbiBtZWNoYW5pc21zIGV4aXN0ZWQsIG9yIG5lZWRlZCB0byBleGlzdCwgcHJpb3Ig
dG8gdGhlIGF2YWlsYWJpbGl0eSBvZiBET0lDLiBUaGUgc2VjdGlvbiBnb2VzIG9uIHRvIHNheSB0
aGF0LCBldmVuIHdpdGggRE9JQywgdGhlc2UgcHJvdGVjdGlvbnMgYXJlIHN0aWxsIG5lZWRlZCB0
byBkZWFsIHdpdGggbm9uLWNvbXBsaWFudCBub2Rlcy4NCj4+Pg0KPj4+IEFyZSB5b3UgYXJndWlu
ZyB0aGF0IHdlIGRvbid0IGNvbXBseSB3aXRoIFJlcSAzMD8gKEtlZXBpbmcgaW4gbWluZCB0aGF0
IHRoaXMgdGV4dCBpcyB0byBiZSByZW1vdmVkIGZyb20gdGhlIFJGQy4pDQo+Pj4NCj4+Pj4NCj4+
Pj4NCj4+Pj4NCj4+Pj4gL0Jlbi4NCj4+Pj4NCj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18NCj4+Pj4gRGlNRSBtYWlsaW5nIGxpc3QNCj4+Pj4gRGlN
RUBpZXRmLm9yZw0KPj4+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Rp
bWUNCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K
Pj4+IERpTUUgbWFpbGluZyBsaXN0DQo+Pj4gRGlNRUBpZXRmLm9yZw0KPj4+IGh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vZGltZQ0KPj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+IERpTUUgbWFpbGluZyBsaXN0DQo+PiBEaU1F
QGlldGYub3JnDQo+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RpbWUN
Cj4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkRp
TUUgbWFpbGluZyBsaXN0DQpEaU1FQGlldGYub3JnDQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL2RpbWUNCg==


From nobody Thu Jan 22 10:36:01 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1406D1AD0A1 for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 10:36:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 TjY_jU7GXVtU for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 10:35:57 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 76E191A1AFC for <dime@ietf.org>; Thu, 22 Jan 2015 10:35:57 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0MIZqAv099060 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 22 Jan 2015 12:35:52 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset="utf8";
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
X-Pgp-Agent: GPGMail 2.5b4
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098ADD51@ESESSMB101.ericsson.se>
Date: Thu, 22 Jan 2015 12:35:51 -0600
X-Mao-Original-Outgoing-Id: 443644551.20175-21740fe52babf4dbf36ea987d641f7c1
Content-Transfer-Encoding: 8bit
Message-Id: <3EE61182-717E-4ECA-92DE-F27962D0C3BE@nostrum.com>
References: <46C8B155-A8B0-41F6-A8A5-6F21D61ADE9E@nostrum.com> <087A34937E64E74E848732CFF8354B920987F783@ESESSMB101.ericsson.se> <767BF9E5-A72B-44B5-A324-A0CF74F70A69@nostrum.com> <087A34937E64E74E848732CFF8354B92098808EC@ESESSMB101.ericsson.se> <3E51B540-A69F-44EA-A35B-DC1A4AC3A9E5@nostrum.com> <54BEA332.8030605@usdonovans.com> <6F7AE7CD-3B39-4BC3-898E-3BCD2669B964@nostrum.com> <54BEC0EB.4090802@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD51@ESESSMB101.ericsson.se>
To: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/-WPuPZIluGM3sbJj4Mqj6OcbCNQ>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Updated DOIC Requirements Analysis
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 18:36:00 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

I may recall incorrectly, but I thought we decided the discussion on the mailing list was sufficient record. Does anyone remember something different?

Moving them to an informational draft only helps if we take that to RFC, since drafts expire over time.

On Jan 22, 2015, at 11:24 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:

Dear all,

Yes, we agreed to remove detail statement of compliance from the main draft, but we agreed as well that it was worthy to keep this analysis for further references, even if it was only an informational draft.
What is now the intention?

Thanks
/MCruz

- -----Original Message-----
From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
Sent: martes, 20 de enero de 2015 21:56
To: Ben Campbell
Cc: dime@ietf.org
Subject: Re: [Dime] Updated DOIC Requirements Analysis


On 1/20/15 2:30 PM, Ben Campbell wrote:
On Jan 20, 2015, at 12:49 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:

I'm not currently planning to make any updates to the requirements analysis section as I haven't seen consensus on the need to change anything in the portion that will remain in the document.

If we want to continue to debate the sections that are slated to be removed then I suggest we do that in a separate email thread that is not tied to moving the document out of WGLC.
Isn't this that separate thread?
SRD> Yes, I was thinking in terms of the set of items that needed 
addressing for WGLC.

But in any case, I do not think we need changes to the reqs analysis sections, especially the detail section that we have been directed to remove.
SRD> Cool

Regards,

Steve
On 1/7/15 2:54 PM, Ben Campbell wrote:
(Catching up on older stuff)

Comments inline. But keep in mind that the detailed requirements are to be removed from the RFC, so I'm not sure we need to spend too much time on them. (Only the first discussion point addresses text that is to remain in the RFC.)

Thanks!

Ben.

On Dec 12, 2014, at 2:24 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:

Hello Ben,

See comments below
Thanks
/MCruz

C.2.  Detection of non-supporting Intermediaries

  The DOIC mechanism as currently defined does not allow supporting
  nodes to automatically determine whether OC-Supported-Features or OC-
  OLR AVPs are originated by a peer node, or by a non-peer node and
  sent across a non-supporting peer.  This makes it impossible to
  detect the presence of non-supporting nodes between supporting nodes,
  except by configuration.  The working group determined that such a
  configuration requirement is acceptable.

  This limits full compliance with certain requirements related to the
  limitation of new configuration, deployment in environments with
  mixed support, operating across non-supporting agents, and
  authorization.
[MCruz] I think this paragraph should state what are the limitations
(generally, like you did for rest of them) Morever, since detailed descriptions will be deleted.

The limitations are discussed in the security consideration section. Basically if a node expects an agent to enforce any DOIC related policy (e.g. making sure DOIC avps do not leak to unauthorized nodes), it has to know that the agent itself supports DOIC. Right now it can only know that by having an administrator tell it that (violating the limitation on new configuration), by knowing that all agents in the network support DOIC (violating the mixed support and non-supporting agent requirements.)
[MCruz] Please, include text accordingly then. The text now "certain requirements related to" does not provide an information that anyone could trace easily.
I was explicitly asked by other people (e.g. Lionel) to list the impacted requirements descriptively, rather than by reference, in this section. The "certain requirements related to" are described by the words immediately after that phrase. That is, the requirement to limit new configuration, the requirement to allow deployments with mixed support, and the requirements to authorize who can send and receive overload information.


  REQ 6:  The solution designers SHOULD seek to minimize the amount of
          new configuration required in order to work.  For example, it
          is better to allow peers to advertise or negotiate support
          for the solution, rather than to require that this knowledge
          to be configured at each node.

          *Partially Compliant*. Most DOIC parameters are advertised
          using the DOIC capability announcement mechanism.  However,
          there are some situations where configuration is required.
          For example, a DOIC node detect the fact that a peer may not
          support DOIC when nodes on the other side of the non-
          supporting node do support DOIC without configuration.

[MCruz] Could you clarify last example? â€œwithoug configurationâ€? I do not understand what you meant.
Here's an example:

C ------ A ------ S

If both C and S support DOIC, there is no way for them to tell whether A supports DOIC. Consider two cases:

1) A supports DOIC. But since C already inserts OC-S-F in all requests, and S inserts it in all answers, A passes them through unchanged.
2) A does not support DOIC, but passes through unknown AVPs. Since OC-S-F will be unknown to it, it passes it through unchanged.

- From the perspective of C and S, the requests and answers look identical for both cases. Even if A actually changes the content of an OC-S-F avp, neither endpoint can tell if the resulting AVP came from A or the opposite endpoint.

Personally, I think this is a showstopper. But the working group consensus did not agree.

[MCruz] Several comments:
a) Then you consider this requirement as "partly compliant" since you consider configuration is required in a node to identify whether or not its adjacent peers support DOIC, right? If so, could you explain why a node needs to know whether or not the peer support DOIC, a part from what is included in the advertisement mechanism we defined?
If you do not know that a peer supports DOIC, you cannot assume that it will enforce DOIC related policies (I believe that is sufficiently described in the security configurations.)

b) What do you think is a "show stopper"? The need for configuration?
Explicitly, the need to configure whether you can trust a peer to enforce DOIC related polices. I believe this is an important security issue, and that being unable to determine it automatically is a real problem. Requiring this sort of configuration doesn't scale well, and has the potential of creating real management and operations problems. (Note the IETF area that DIME is in.)

But, as I said, the working group seems to have chosen to move forward without an automatic way to do this. Perhaps it can be improved in a future extension.


  REQ 23: The solution MUST provide sufficient information to enable a
          load-balancing node to divert messages that are rejected or
          otherwise throttled by an overloaded upstream node to other
          upstream nodes that are the most likely to have sufficient
          capacity to process them.

          *Not Compliant*. DOIC provides no built in mechanism to
          determine the best place to divert messages that would
          otherwise be throttled.  This can be accomplished with a
          future "load" extension, or with proprietary load balancing
          mechanisms.

[MCruz] Partly Compliant. DOIC Overload information can be used already by proprietary load-balancing implementations.

Load information will be a plus to this.

I disagree, or at least think that would be _very_ partial. You won't have any overload information unless the potential diversion targets are also overloaded.
[MCruz] In case servers in the pools are DOIC enabled the Overload information is provided by all of them, under overload occurrences, then this information is valid (maybe not sufficient in all cases, I agree, but valid in most of them) to divert.
In case we have mixed servers (DOIC-supporting and non-DOIC) we have some limitations as well.
The purpose behind this requirement was to allow load balancing of requests that are diverted to (hopefully) non-overloaded servers, in a way that reduces the chance of causing those servers to also become overloaded. Those servers will not be providing OLRs.

I still do not agree that the corner case of diverting request to _overloaded_ servers is big enough to consider this partially compliant.

  REQ 30: The solution MUST NOT interfere with any Diameter-compliant
          method that a node may use to protect itself from overload
          from non-supporting nodes or from denial-of-service attacks.

          *Compliant*. The specification recommends that any such
          protection mechanism needed without DOIC should continue to
          be employed with DOIC.
[MCruz] Could you point our where in the draft it is described?
9.3
[MCruz] I do not think 9.3 says what you mentioned here.
It says "In the absence of an overload control mechanism...". It is not said the DOIC shall not interfere with any other Diameter method for protection, we may need to add this information to the draft in fact.
A part from that, I think 9.3. should say "for non-DOIC supporting nodes/networks..." not just "in the absence of _an_ overload control mechanism"...
The "absence of an OC strategy" part is there to provide the context that these protection mechanisms existed, or needed to exist, prior to the availability of DOIC. The section goes on to say that, even with DOIC, these protections are still needed to deal with non-compliant nodes.

Are you arguing that we don't comply with Req 30? (Keeping in mind that this text is to be removed from the RFC.)




/Ben.

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime
_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime
_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime


_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwUMHAAoJEIBWSmyV89QNMFUQAMBEVBKVTalNOB5IP6SI8QIt
PmhP9nY+VneOMCt9l+c0dWt4U1MTeZI1jDErhoOBeN469K7AC5Lfx56WhfX4jRXX
7rU0qKfX5FGknzSA5ZkFsh9EuNgmopBOSi+vBzI8tf8tZTnPU4HHj0Q+1TuzgK6O
i+9XeJDQUU2GpdiK/jMuWrm4WemTHKhoLJC4AiNDQp9l9a4VWRwlnRmUuc+8Z19F
QmXouFronRjG64zl0Uw+QnAfDexNitb3u/p22tXP5n8Io+iwnhAMJJb1vur34wuz
3qb0CovN+7yPyXTx7lueH9V1PYKjJoqpycnuwwDomOGvE0YHHId8V5zaat6PpAuo
SgIqexxvbQ66/bCXzF7B2OhYeHswpHLpWGfwlmWBV20hTHh1BwAqwDt/Gk1hmopi
6nx+WYWfKTDo81E+U5QeSKnb131eF1Qw/z86A39/QutH75m3QqcjhqoCGcDr3xkG
EupKESMbKTP9D/DiK25suJSk6D6sPNuU2BouQaweCa50WbfsfwCKtivPdgtHWUda
LWY2BgDZiSzXRyJlyISbcnghZQM9IOvYsxa67Wu5LCwuT/e+zTC0n8xxeCSUH7A4
k1RO8OT+mPtGyqIVmDrdnYXOCdAojaUqNYjNajZRC+r6nIJo37rJHP5TuRT9P7eH
Qb6R/uR2gtqArBuTZ8C7
=CJGq
-----END PGP SIGNATURE-----


From nobody Thu Jan 22 13:33:54 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 205A01B2A43 for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 13:33:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 SrsmrOGFuPMy for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 13:33:50 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 4F8891B2A49 for <dime@ietf.org>; Thu, 22 Jan 2015 13:33:50 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0MLXiLP017299 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 22 Jan 2015 15:33:45 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset="utf8";
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
X-Pgp-Agent: GPGMail 2.5b4
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se>
Date: Thu, 22 Jan 2015 15:33:44 -0600
X-Mao-Original-Outgoing-Id: 443655224.059612-44c2d4acede8efacc9d11bd31d09113b
Content-Transfer-Encoding: 8bit
Message-Id: <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se>
To: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/q4zrcfyUy-e0kbdIIF3mikA8Z6Q>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 21:33:53 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On Jan 22, 2015, at 10:41 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:

A) About 'M' bit:

My understanding of RFC6733:

     The 'M' bit, known as the Mandatory bit, indicates whether the
     receiver of the AVP MUST parse and understand the semantics of the
     AVP including its content.  The receiving entity MUST return an
     appropriate error message if it receives an AVP that has the M-bit
     set but does not understand it.  An exception applies when the AVP
     is embedded within a Grouped AVP.  See Section 4.4 for details.

      4.4:
  Receivers of a Grouped AVP that
  does not have the 'M' (mandatory) bit set and one or more of the
  encapsulated AVPs within the group has the 'M' (mandatory) bit set
  MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
  rule applies even if the encapsulated AVP with its 'M' (mandatory)
  bit set is further encapsulated within other sub-groups, i.e., other
  Grouped AVPs embedded within the Grouped AVP.


If the Grouped AVP does not have the 'M' bit set, but one (or more) of its sub-AVPs do have it, then the grouped AVP may be ignored (instead of sending an error) if the Grouped AVP itself is "unrecognized"
But what "unrecognized" mean in this context? In my opinion, the grouped AVP is not recognized as long as mandatory sub-AVPs are missed, this includes conditionally mandatory (up to negotiation) sub AVPs.
Then I would proposed a variant to your proposal 2 below:

That's not what "unrecognized" typically means in IETF specs. The common usage is to mean that the recipient doesn't recognize it, or doesn't know what it means. This is  distinct from "malformed" meaning it wasn't constructed correctly.  Missing mandatory sub-AVPs would fall into the "malformed" category, not the "unrecognized" category. .
By definition, a DOIC cannot claim OC-Supported-Features or OC-OLR as unrecognized. 


3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the sub-avp is mandatory or conditionally mandatory (i.e. part of an extension explicitly negotiated in the feature vector).

Also, the M-bit doesn't mean the avp is mandatory to be present, just mandatory to be understood. By definition, you can't set the M-bit on an AVP that is not actually there.  (Other things may make it mandatory to be present, such as the feature or application definition, but that still doesn't necessarily mean it's mandatory to understand.) It's also possible that some new feature will involve an AVP that is not there all the time, but mandatory to understand when it is there..


-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwWy4AAoJEIBWSmyV89QNV70P/ji24iU2Wr93uGIjK79hSNIR
Bnab4rva2MHeGufWvTzYsvXwCYUaWOeb7y4Z5T1dRgPOPw4JNKQ5cnoEMjIMmWJu
J4ocoZlAR7ujKBOlTnvf1FlFEPDQ6emanxcRZD9+nTQPaC54gnMgf6CfWyQBgIia
oVGMEg2C/+yzx4NtuGAwqpJ4dVe/33VMpl4lG7KG4JQMzLYxyWIiiLDvA8SQXoxU
rLLVvkvKWp2hKdjO7zxpTY6Vd2DqYawU/Z25yWBAUmDFWziJwh6HD2P38F/KNszZ
kpRJD3WrjGdlmPKatooNwCHz60hjP2lFXlS7vocNAWuug4dAyPNZarl3G+ZSAhtB
Wud/vThdWwknGM9TbumDW5FM8kJoUPSjTICtaSG3jsnW2qPKAcikSubmepc5KXDg
Dap50sTL9XfM1WNIqiM1H/DdsQnEJfqgPJ7Nce+mzllMAFHVL7hOIyf2zpb8vPtt
Nq5FuCbDr4qK7IZxX+OzFuUJC+aT3ajWt6lZLjZmcHnObOfgTCDggWspWXzlNY+X
oYgH3DT6/j4jNkOZGcw7cOw1xHIQQWwxLEJkLIQwJiKeZHcOYbZ69LuEZ8k7mXZ3
cCDvnggXLujLZE5F4D/LtLq5MMrwGWtLiNN1DOBX3iH5EKE/YK0nsbFD+DKR9AiF
LdvuO+g1/k8sGzWJgxkr
=+wlK
-----END PGP SIGNATURE-----


From nobody Thu Jan 22 13:37:27 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 73CCA1A87CA for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 13:37:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 AaQjgB-2hBxu for <dime@ietfa.amsl.com>; Thu, 22 Jan 2015 13:37:25 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 0C85B1A8766 for <dime@ietf.org>; Thu, 22 Jan 2015 13:37:25 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0MLbOBf017613 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 22 Jan 2015 15:37:24 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset="utf8";
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
X-Pgp-Agent: GPGMail 2.5b4
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54BEC3E7.40703@usdonovans.com>
Date: Thu, 22 Jan 2015 15:37:23 -0600
X-Mao-Original-Outgoing-Id: 443655443.650339-b3b48f39432a16cb7c4988f1965f8886
Content-Transfer-Encoding: 8bit
Message-Id: <5D949CB1-5A5D-45A7-AB88-5B234BC89DF7@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/tS4G-RHwJqeOmrSw65TBdj5acOA>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jan 2015 21:37:26 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On Jan 20, 2015, at 3:08 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:


At this point, I think we need to either say that sub-avps of DOIC grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT have the m-bit set unless the sub-avp is part of an extension explicitly negotiated in the feature vector.
SRD> I'm ok either way but prefer number 2).

I'm okay with 2, but it's really a bit redundant. If the AVP is a required-to-understand part of an extension, then negotiating the extension should be sufficient. The M-bit adds no additional semantics.

Basically, we are trying to say "never set the M-bit in a way that could cause a transaction to fail." That means either never setting it, or only setting it if you already know the recipient understands the AVP. Or more to the point, "Never set the M-bit unless the M-bit would be irrelevant anyway".

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwW2TAAoJEIBWSmyV89QN9HYP/3pMzC7j+d8w/YLssPFjDEzc
BzCVzbzC9FO2AG6YvPs6qME12AaTWq0ow7LbWY2dGVtEFD8GeUzf6rd0d1rSDNoA
gt4U+DxUWVAFdbTsPq3sioElp+zzMpOosEiqMbRdXugTff3phmXtJKnMnG5n1dC6
Nlw2+6v+SFBlyiHQbU2LTZkPI2cQWRR+tN6HbLnqOWURgfbYGI+B+mEGxjRXK2Bj
Rdczd4te9GGg3Lonl/stiGWW+s58uykJR0mGyv96q7bOSQRrOoRcePUjBSE1/EwN
MjAICxREvi6RnoXdc1o9Rl7/wX6rD3Wl75tLMeISQmbKa+Rpsy+AtsV0bgaafXNB
NLfja+yhduCf85uZFYnoKCaHFJFp7i1dob1hFKX5qSTeCVsJJH+NQRtrTgJ0nHG9
pF98dYi/5NvjkzZ3uFRM7pIS438li5s7I76NUSJ4oCrdjdFwd6WEkgor/e1DCp1/
C6xeA5r0DiXKyJgJvgv19XNUP73e3dkF/noc/UAod7ax3M9TytF7ftRiNfv9jeW5
PdcsWh070D7Cjw0xFHRY/6L5+d1ltmsybd/5RFdmOaaJFd2m4TbhPeMvlQUje1Mq
Ra6foimCLxQR3cfkTqRGSBwPtXW9FfLy0obui4pVX3HTAi9ow6cBryhofAdvR89p
ewY/gaZFyth3Tf4yIxcF
=mSxA
-----END PGP SIGNATURE-----


From nobody Fri Jan 23 01:05:59 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8910D1A00B8 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 01:05:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 oalyMojKfDwX for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 01:05:51 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D20F1A040C for <dime@ietf.org>; Fri, 23 Jan 2015 01:05:51 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0N95mfB001272 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 23 Jan 2015 09:05:48 GMT
Received: from DEMUHTC002.nsn-intra.net ([10.159.42.33]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0N95kwN008114 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 23 Jan 2015 10:05:46 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC002.nsn-intra.net ([10.159.42.33]) with mapi id 14.03.0195.001; Fri, 23 Jan 2015 10:05:46 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>, "Steve Donovan" <srdonovan@usdonovans.com>, ext Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Ben's comments on 4.3, third paragraph from end
Thread-Index: AdAwqcKKpO0LYTRKTfCB6qzRIWwNRQAEwOaAAARbWgAAJ7oO0ADaT2QAAB/pOMAADtREgAAik8fAAAsPLgAABZkxAAAid17A
Date: Fri, 23 Jan 2015 09:05:45 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523FC22@DEMUMBX014.nsn-intra.net>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net> <54BFD7B5.30605@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net> <54C109F8.2070201@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD3E@ESESSMB101.ericsson.se>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098ADD3E@ESESSMB101.ericsson.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.106]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 12505
X-purgate-ID: 151667::1422003948-000067C4-FAD96CB7/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/KZSgS6ivdBmZux9aBtKxZqTIrZo>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 09:05:56 -0000

Steve,

I agree with Maria Cruz that the text in -06 is wrong as it says=20

   The reporting node is not allowed to change the overload abatement algor=
ithm while
   the reporting node is in an overload condition.

Also your previously suggested modification

>> Before:
>>
>>       Reporting nodes can change the overload abatement algorithm indica=
ted
>>       in the OC-Feature-Vector AVP if the reporting node is not currentl=
y
>>       in an overload condition and sending overload reports.  The report=
ing
>>       node is not allowed to change the overload abatement algorithm whi=
le
>>       the reporting node is in an overload condition.
>>
>> After:
>>
>>       Reporting nodes can change the overload abatement algorithm indica=
ted
>>       in the OC-Feature-Vector AVP if the reporting node is not currentl=
y
>>       in an overload condition and sending overload reports.

Does not clearly say that reporting nodes are allowed to change algorithm d=
uring an ongoing overload condition.

Also maybe we can add a note to say that during an ongoing overload conditi=
on reacting nodes may chose to stop advertizing support of all algorithms e=
xcept the one selected by the reporting node and loss in order to prevent c=
hange of algorithm (other than towards loss) during an ongoing overload con=
dition. =20

Ulrich

-----Original Message-----
From: ext Maria Cruz Bartolome [mailto:maria.cruz.bartolome@ericsson.com]=20
Sent: Thursday, January 22, 2015 6:13 PM
To: Steve Donovan; Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
Cc: dime@ietf.org
Subject: RE: [Dime] Ben's comments on 4.3, third paragraph from end

Ulrich, Steve,

Not sure closing the issue would mean some rephrasing or you have agreed it=
 is not needed.

Anyway, the last sentence in this paragraph, is saying the same as first pa=
rt:

4.2, 3rd paragraph from the end:

   Reporting nodes can change the overload abatement algorithm indicated
   in the OC-Feature-Vector AVP if the reporting node is not currently
   in an overload condition and sending overload reports.  The reporting
   node is not allowed to change the overload abatement algorithm while
   the reporting node is in an overload condition.


Best regards
/MCruz

-----Original Message-----
From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
Sent: jueves, 22 de enero de 2015 15:32
To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end

Ulrich,

I agree that the reacting node can do as you say and change what it adverti=
ses after the start of an overload condition.  Do you agree that this does =
not require any changes to the DOIC spec?  If so, then do you agree we can =
close on this issue?

Regards,

Steve

On 1/22/15 3:37 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
> see inline.
> Regards
> Ulrich
>
> -----Original Message-----
> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
> Sent: Wednesday, January 21, 2015 5:46 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
>
> On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Steve,
>> I'm not sure.
>> My understanding is:
>> 1. Two answer messages (with same application id) sent by a reporting no=
de while not in an overload condition can have different selected overload =
abatement algorithms in the OC-Feature-Vector AVP.
> SRD> Correct, one set of answer messages could indicate loss and the
> other rate (for instance).  This would happen if the reporting node=20
> policy prefers rate but there is a mix of reacting node capabilities.
> In this case where not all reacting nodes support the reporting nodes=20
> preferred algorithm, the reporting node could also decide to send loss=20
> to all reacting nodes.
>
> Ulrich> Although this is right, it does not hit the nail. I should have s=
aid:
> 1a. Two answer messages (with same application id) sent by a reporting no=
de while in or not in an overload condition can have different selected ove=
rload abatement algorithms in the OC-Feature-Vector AVP when the correspond=
ing request messages advertize different sets of supported algorithms.
> 1b. Two answer messages (with same application id) sent by a reporting no=
de while not in an overload condition can have different selected overload =
abatement algorithms in the OC-Feature-Vector AVP even when the correspondi=
ng request messages advertize the same set of supported algorithms.
> As you say , 1a would happen if there is a mix of reacting node capabilit=
ies. 1b would happen if the policy is changed in the reporting node.
>
>> 2. Two answer messages (with same application id) sent by a reporting no=
de while in an (the same) overload condition must have the same selected ov=
erload abatement algorithm in the OC-Feature-Vector AVP if the two sets A a=
nd B are identical, where A is the intersection of the set of advertized al=
gorithms received in the request that corresponds to the one answer message=
 with the set of algorithms that are supported (at the time the one answer =
message is sent) by the reporting node, and B is the intersection of the se=
t of advertized algorithms received in the request that corresponds to the =
other answer message with the set of algorithms that are supported (at the =
time the other answer message is sent) by the reporting node; And the set o=
f algorithms supported by the reporting node must not change during an over=
load condition.
> SRD> I'm a little lost in your description here.  It is possible for=20
> SRD> the
> reporting node be in an overload state and be sending loss reports to=20
> one set of reacting nodes and rate to a second set of reacting nodes.
>
> Ulrich> yes, loss to the reacting nodes that advertize loss only and rate=
 to the reacting nodes that advertize rate and loss. If we do not allow thi=
s, then a reporting node cannot select rate (although supported by most rea=
cting nodes) as long as one reacting node only supports loss.
>   =20
> Whether or not the reporting node does this is entirely up to the=20
> implementation at the reporting node.
>
> Ulrich> it is up to configuration: the reporting node may be configured t=
o "select rate when loss and rate is advertized and to select loss when onl=
y loss is advertized". Alternatively the reporting node may be configured t=
o "select loss when loss and rate is advertized and to select loss when onl=
y loss is advertized".
>
>> This ensures that reacting nodes, while not changing the set of advertiz=
ed algorithms, will not receive a change of the selected algorithm during a=
n overload condition (without the need for the reporting node to keep histo=
ry data).
> SRD> The algorithm sent by the reporting node will be decided based on=20
> SRD> a
> combination of the advertised algorithms and policy at the reporting=20
> node.  If there is some change in policy at the reporting node that=20
> changes the selection then the reacting node needs to be prepared to=20
> handle the change.  I think you are suggesting we say this cannot=20
> happen during an active overload at the reporting node.  Is this correct?
>  =20
> Ulrich> yes.
>
> SRD> As things stand now, with the changes made in -06 and the coming
> -07, the reacting node will need to be able to handle a change in=20
> algorithm during an active overload condition.  What is the benefit of=20
> changing this?  If the algorithm changes during an overload condition=20
> the reacting node can just treat it as an end of one overload=20
> condition and the start of another.
>
> Ulrich> yes that is possible but adds complexity to the reacting node esp=
ecially when changing from a stateless to a stateful algorithm. There may a=
lso be issues with the mechanism's stability. During an overload condition =
reporting nodes should not force reacting nodes to change algorithm.
> On reflection, reacting nodes that support (and advertize) loss and rate =
could - when receiving OLR with loss - stopp advertizing rate as long as th=
e overload condition is ongoing in order to prevent change from loss to rat=
e during the overload condition. With this trick, the only way of change is=
 towards loss, and that may be acceptable (as it is a one time change and y=
ou cannot change back and forth).
>> Ulrich
>>
>>
>> -----Original Message-----
>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>> Sent: Tuesday, January 20, 2015 7:27 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>>     I have removed the last sentence in the paragraph in question. =20
>> The before and after for the paragraph is as follows:
>>
>> Before:
>>
>>       Reporting nodes can change the overload abatement algorithm indica=
ted
>>       in the OC-Feature-Vector AVP if the reporting node is not currentl=
y
>>       in an overload condition and sending overload reports.  The report=
ing
>>       node is not allowed to change the overload abatement algorithm whi=
le
>>       the reporting node is in an overload condition.
>>
>> After:
>>
>>       Reporting nodes can change the overload abatement algorithm indica=
ted
>>       in the OC-Feature-Vector AVP if the reporting node is not currentl=
y
>>       in an overload condition and sending overload reports.
>>
>> Ulrich,
>>
>> I'm not sure I understand your point about the assignment of commonly=20
>> supported algorithms.  Are you ok with this change?
>>
>> Regards,
>>
>> Steve
>> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Ben
>>>
>>> The Note at the beginning of 5.1 is about change of announced capabilit=
ies in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change =
of selected algorithm by reporting nodes.
>>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course=
, if the reacting node changes the set of announced capabilities, the repor=
ting node may change (or even need to  change) the selected algorithm. What=
 is not allowed to be changed by the reporting node during an overload cond=
ition is the deterministic function that assignes to every set of commonly =
supported algorithms a distinct selected algorithm.
>>>
>>>
>>> Ulrich
>>>
>>>
>>> -----Original Message-----
>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben=20
>>> Campbell
>>> Sent: Thursday, January 15, 2015 4:19 PM
>>> To: Steve Donovan
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>
>>> Sorry, that was 4.2.
>>>
>>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>>>>
>>>> I agree with Ulrich, I don't see the issue.
>>>>
>>>>
>>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>>> Ben wrote:
>>>>> -- 4.3, third paragraph from end:
>>>>>    =20
>>>>> This still assumes that reporting nodes cannot change algorithms=20
>>>>> during overload. I thought we agreed to remove that. (The=20
>>>>> normative text is also still there--see later comment.)
>>>>>    =20
>>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph fr=
om end in 4.3 reads:
>>>>>       Two types of overload abatement treatment are defined, diversio=
n and
>>>>>       throttling.  Reacting nodes are responsible for determining whi=
ch
>>>>>       treatment is appropriate for individual requests.
>>>>> How does this text assume that reporting nodes cannot change algorith=
ms during overload?
>>>>>    =20
>>>>>    =20
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>>
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>>
>

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime


From nobody Fri Jan 23 01:29:00 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8AACE1A8A1E for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 01:28:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 nS4EUtETpuxT for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 01:28:54 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 836C31A1A91 for <dime@ietf.org>; Fri, 23 Jan 2015 01:28:54 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0N9Soxk005107 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 23 Jan 2015 09:28:50 GMT
Received: from DEMUHTC003.nsn-intra.net ([10.159.42.34]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0N9SnWE006587 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 23 Jan 2015 10:28:50 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC003.nsn-intra.net ([10.159.42.34]) with mapi id 14.03.0195.001; Fri, 23 Jan 2015 10:28:49 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Ben Campbell <ben@nostrum.com>, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
Thread-Topic: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
Thread-Index: AQHQNosifcF6Kllmq0mWMeibJyiNypzNbvcQ
Date: Fri, 23 Jan 2015 09:28:48 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523FC6A@DEMUMBX014.nsn-intra.net>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com>
In-Reply-To: <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.106]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 4262
X-purgate-ID: 151667::1422005331-00007286-D743DF23/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/o_U4eHBH7aA_FkA8JwbdaL-EG2Y>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 09:28:57 -0000

Ben,

for my clarification:
this issue seems to be a general thing and not related specifically to DOIC=
.=20

Any potential modification, addition, clarification,... would not impact DO=
IC but RFC6733.
Is this the correct understanding?

Ulrich

-----Original Message-----
From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
Sent: Thursday, January 22, 2015 10:34 PM
To: Maria Cruz Bartolome
Cc: dime@ietf.org
Subject: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-=
06)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On Jan 22, 2015, at 10:41 AM, Maria Cruz Bartolome <maria.cruz.bartolome@er=
icsson.com> wrote:

A) About 'M' bit:

My understanding of RFC6733:

     The 'M' bit, known as the Mandatory bit, indicates whether the
     receiver of the AVP MUST parse and understand the semantics of the
     AVP including its content.  The receiving entity MUST return an
     appropriate error message if it receives an AVP that has the M-bit
     set but does not understand it.  An exception applies when the AVP
     is embedded within a Grouped AVP.  See Section 4.4 for details.

      4.4:
  Receivers of a Grouped AVP that
  does not have the 'M' (mandatory) bit set and one or more of the
  encapsulated AVPs within the group has the 'M' (mandatory) bit set
  MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
  rule applies even if the encapsulated AVP with its 'M' (mandatory)
  bit set is further encapsulated within other sub-groups, i.e., other
  Grouped AVPs embedded within the Grouped AVP.


If the Grouped AVP does not have the 'M' bit set, but one (or more) of its =
sub-AVPs do have it, then the grouped AVP may be ignored (instead of sendin=
g an error) if the Grouped AVP itself is "unrecognized"
But what "unrecognized" mean in this context? In my opinion, the grouped AV=
P is not recognized as long as mandatory sub-AVPs are missed, this includes=
 conditionally mandatory (up to negotiation) sub AVPs.
Then I would proposed a variant to your proposal 2 below:

That's not what "unrecognized" typically means in IETF specs. The common us=
age is to mean that the recipient doesn't recognize it, or doesn't know wha=
t it means. This is  distinct from "malformed" meaning it wasn't constructe=
d correctly.  Missing mandatory sub-AVPs would fall into the "malformed" ca=
tegory, not the "unrecognized" category. .
By definition, a DOIC cannot claim OC-Supported-Features or OC-OLR as unrec=
ognized.=20


3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the su=
b-avp is mandatory or conditionally mandatory (i.e. part of an extension ex=
plicitly negotiated in the feature vector).

Also, the M-bit doesn't mean the avp is mandatory to be present, just manda=
tory to be understood. By definition, you can't set the M-bit on an AVP tha=
t is not actually there.  (Other things may make it mandatory to be present=
, such as the feature or application definition, but that still doesn't nec=
essarily mean it's mandatory to understand.) It's also possible that some n=
ew feature will involve an AVP that is not there all the time, but mandator=
y to understand when it is there..


-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwWy4AAoJEIBWSmyV89QNV70P/ji24iU2Wr93uGIjK79hSNIR
Bnab4rva2MHeGufWvTzYsvXwCYUaWOeb7y4Z5T1dRgPOPw4JNKQ5cnoEMjIMmWJu
J4ocoZlAR7ujKBOlTnvf1FlFEPDQ6emanxcRZD9+nTQPaC54gnMgf6CfWyQBgIia
oVGMEg2C/+yzx4NtuGAwqpJ4dVe/33VMpl4lG7KG4JQMzLYxyWIiiLDvA8SQXoxU
rLLVvkvKWp2hKdjO7zxpTY6Vd2DqYawU/Z25yWBAUmDFWziJwh6HD2P38F/KNszZ
kpRJD3WrjGdlmPKatooNwCHz60hjP2lFXlS7vocNAWuug4dAyPNZarl3G+ZSAhtB
Wud/vThdWwknGM9TbumDW5FM8kJoUPSjTICtaSG3jsnW2qPKAcikSubmepc5KXDg
Dap50sTL9XfM1WNIqiM1H/DdsQnEJfqgPJ7Nce+mzllMAFHVL7hOIyf2zpb8vPtt
Nq5FuCbDr4qK7IZxX+OzFuUJC+aT3ajWt6lZLjZmcHnObOfgTCDggWspWXzlNY+X
oYgH3DT6/j4jNkOZGcw7cOw1xHIQQWwxLEJkLIQwJiKeZHcOYbZ69LuEZ8k7mXZ3
cCDvnggXLujLZE5F4D/LtLq5MMrwGWtLiNN1DOBX3iH5EKE/YK0nsbFD+DKR9AiF
LdvuO+g1/k8sGzWJgxkr
=3D+wlK
-----END PGP SIGNATURE-----

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime


From nobody Fri Jan 23 01:46:33 2015
Return-Path: <maria.cruz.bartolome@ericsson.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3CBA1A01F2 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 01:46:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 JmQ2uptY9GV3 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 01:46:30 -0800 (PST)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C2F21A01D8 for <dime@ietf.org>; Fri, 23 Jan 2015 01:46:29 -0800 (PST)
X-AuditID: c1b4fb3a-f79116d000000fec-ee-54c218736bdc
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id B8.82.04076.37812C45; Fri, 23 Jan 2015 10:46:27 +0100 (CET)
Received: from ESESSMB101.ericsson.se ([169.254.1.82]) by ESESSHC005.ericsson.se ([153.88.183.33]) with mapi id 14.03.0195.001; Fri, 23 Jan 2015 10:46:26 +0100
From: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
To: Ben Campbell <ben@nostrum.com>
Thread-Topic: DOIC M-Bit usage (was Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06)
Thread-Index: AQHQNoscPEqlphTl5UKUSUA1B4xbRZzNdV8g
Date: Fri, 23 Jan 2015 09:46:26 +0000
Message-ID: <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com>
In-Reply-To: <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [153.88.183.148]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrMLMWRmVeSWpSXmKPExsUyM+JvjW6xxKEQg8k7JS3md55mt5jbu4LN YkMTjwOzx5IlP5k8Zu18wuKx6m0fawBzFJdNSmpOZllqkb5dAlfGyvfuBRO0KtZ3+jYwtmh2 MXJwSAiYSNyeI9bFyAlkiklcuLeerYuRi0NI4AijxLEFs1ghnMWMEh23NjGBVLEJ2ElcOv0C zBYRUJJ43ryVBcRmFvCV6Jt8EMwWFgiReLqtE6omVOLKsc9QtpHElp67rCA2i4CqxKrZpxlB bF6g3nV9b6CWfWSSmPr2NlgDp4C9xLLfy5hBbEag876fWsMEsUxc4taT+UwQZwtILNlznhnC FpV4+fgfK4StJNG45AkryJfMApoS63fpQ7QqSkzpfsgOsVdQ4uTMJywTGMVmIZk6C6FjFpKO WUg6FjCyrGIULU4tLs5NNzLSSy3KTC4uzs/Ty0st2cQIjKWDW35b7WA8+NzxEKMAB6MSD2/B x4MhQqyJZcWVuYcYpTlYlMR58xw2hAgJpCeWpGanphakFsUXleakFh9iZOLglGpgjJqw3m3F ATvteVk9tSvtEq7vcli0xeDavjVW+h4TY7ML7DdJv/3r+lBn0oIpyZv9fF5uFBN+7WQR9Dqk 4fQ1wbLXK6Mcy/Uvr45lPSmUY77j3FWr31dPzVFu5RbzcnvlHnw3LLIroLHhTAeP1aQbC5b6 M79aIRQdsddoQcfLOe0vHAWuX+dbqcRSnJFoqMVcVJwIAPzGzy+GAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/OdeqI2-Dc20Zm0MkBd7piCF_SBg>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 09:46:32 -0000

DQpTZWUgYmVsb3cNClRoYW5rcw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTog
QmVuIENhbXBiZWxsIFttYWlsdG86YmVuQG5vc3RydW0uY29tXSANClNlbnQ6IGp1ZXZlcywgMjIg
ZGUgZW5lcm8gZGUgMjAxNSAyMjozNA0KVG86IE1hcmlhIENydXogQmFydG9sb21lDQpDYzogU3Rl
dmUgRG9ub3ZhbjsgZGltZUBpZXRmLm9yZw0KU3ViamVjdDogRE9JQyBNLUJpdCB1c2FnZSAod2Fz
IFJlOiBbRGltZV0gV0xHQyAjMiBmb3IgZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYpDQoNCi0tLS0t
QkVHSU4gUEdQIFNJR05FRCBNRVNTQUdFLS0tLS0NCkhhc2g6IFNIQTUxMg0KDQoNCk9uIEphbiAy
MiwgMjAxNSwgYXQgMTA6NDEgQU0sIE1hcmlhIENydXogQmFydG9sb21lIDxtYXJpYS5jcnV6LmJh
cnRvbG9tZUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KDQpBKSBBYm91dCAnTScgYml0Og0KDQpNeSB1
bmRlcnN0YW5kaW5nIG9mIFJGQzY3MzM6DQoNCiAgICAgVGhlICdNJyBiaXQsIGtub3duIGFzIHRo
ZSBNYW5kYXRvcnkgYml0LCBpbmRpY2F0ZXMgd2hldGhlciB0aGUNCiAgICAgcmVjZWl2ZXIgb2Yg
dGhlIEFWUCBNVVNUIHBhcnNlIGFuZCB1bmRlcnN0YW5kIHRoZSBzZW1hbnRpY3Mgb2YgdGhlDQog
ICAgIEFWUCBpbmNsdWRpbmcgaXRzIGNvbnRlbnQuICBUaGUgcmVjZWl2aW5nIGVudGl0eSBNVVNU
IHJldHVybiBhbg0KICAgICBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlIGlmIGl0IHJlY2VpdmVz
IGFuIEFWUCB0aGF0IGhhcyB0aGUgTS1iaXQNCiAgICAgc2V0IGJ1dCBkb2VzIG5vdCB1bmRlcnN0
YW5kIGl0LiAgQW4gZXhjZXB0aW9uIGFwcGxpZXMgd2hlbiB0aGUgQVZQDQogICAgIGlzIGVtYmVk
ZGVkIHdpdGhpbiBhIEdyb3VwZWQgQVZQLiAgU2VlIFNlY3Rpb24gNC40IGZvciBkZXRhaWxzLg0K
DQogICAgICA0LjQ6DQogIFJlY2VpdmVycyBvZiBhIEdyb3VwZWQgQVZQIHRoYXQNCiAgZG9lcyBu
b3QgaGF2ZSB0aGUgJ00nIChtYW5kYXRvcnkpIGJpdCBzZXQgYW5kIG9uZSBvciBtb3JlIG9mIHRo
ZQ0KICBlbmNhcHN1bGF0ZWQgQVZQcyB3aXRoaW4gdGhlIGdyb3VwIGhhcyB0aGUgJ00nIChtYW5k
YXRvcnkpIGJpdCBzZXQNCiAgTUFZIHNpbXBseSBiZSBpZ25vcmVkIGlmIHRoZSBHcm91cGVkIEFW
UCBpdHNlbGYgaXMgdW5yZWNvZ25pemVkLiAgVGhlDQogIHJ1bGUgYXBwbGllcyBldmVuIGlmIHRo
ZSBlbmNhcHN1bGF0ZWQgQVZQIHdpdGggaXRzICdNJyAobWFuZGF0b3J5KQ0KICBiaXQgc2V0IGlz
IGZ1cnRoZXIgZW5jYXBzdWxhdGVkIHdpdGhpbiBvdGhlciBzdWItZ3JvdXBzLCBpLmUuLCBvdGhl
cg0KICBHcm91cGVkIEFWUHMgZW1iZWRkZWQgd2l0aGluIHRoZSBHcm91cGVkIEFWUC4NCg0KDQpJ
ZiB0aGUgR3JvdXBlZCBBVlAgZG9lcyBub3QgaGF2ZSB0aGUgJ00nIGJpdCBzZXQsIGJ1dCBvbmUg
KG9yIG1vcmUpIG9mIGl0cyBzdWItQVZQcyBkbyBoYXZlIGl0LCB0aGVuIHRoZSBncm91cGVkIEFW
UCBtYXkgYmUgaWdub3JlZCAoaW5zdGVhZCBvZiBzZW5kaW5nIGFuIGVycm9yKSBpZiB0aGUgR3Jv
dXBlZCBBVlAgaXRzZWxmIGlzICJ1bnJlY29nbml6ZWQiDQpCdXQgd2hhdCAidW5yZWNvZ25pemVk
IiBtZWFuIGluIHRoaXMgY29udGV4dD8gSW4gbXkgb3BpbmlvbiwgdGhlIGdyb3VwZWQgQVZQIGlz
IG5vdCByZWNvZ25pemVkIGFzIGxvbmcgYXMgbWFuZGF0b3J5IHN1Yi1BVlBzIGFyZSBtaXNzZWQs
IHRoaXMgaW5jbHVkZXMgY29uZGl0aW9uYWxseSBtYW5kYXRvcnkgKHVwIHRvIG5lZ290aWF0aW9u
KSBzdWIgQVZQcy4NClRoZW4gSSB3b3VsZCBwcm9wb3NlZCBhIHZhcmlhbnQgdG8geW91ciBwcm9w
b3NhbCAyIGJlbG93Og0KDQpUaGF0J3Mgbm90IHdoYXQgInVucmVjb2duaXplZCIgdHlwaWNhbGx5
IG1lYW5zIGluIElFVEYgc3BlY3MuIFRoZSBjb21tb24gdXNhZ2UgaXMgdG8gbWVhbiB0aGF0IHRo
ZSByZWNpcGllbnQgZG9lc24ndCByZWNvZ25pemUgaXQsIG9yIGRvZXNuJ3Qga25vdyB3aGF0IGl0
IG1lYW5zLiBUaGlzIGlzICBkaXN0aW5jdCBmcm9tICJtYWxmb3JtZWQiIG1lYW5pbmcgaXQgd2Fz
bid0IGNvbnN0cnVjdGVkIGNvcnJlY3RseS4gIE1pc3NpbmcgbWFuZGF0b3J5IHN1Yi1BVlBzIHdv
dWxkIGZhbGwgaW50byB0aGUgIm1hbGZvcm1lZCIgY2F0ZWdvcnksIG5vdCB0aGUgInVucmVjb2du
aXplZCIgY2F0ZWdvcnkuIC4NCkJ5IGRlZmluaXRpb24sIGEgRE9JQyBjYW5ub3QgY2xhaW0gT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzIG9yIE9DLU9MUiBhcyB1bnJlY29nbml6ZWQuIA0KDQoNCjMpIHN1
Yi1BVlBzIG9mIERPSUMgZ3JvdXBlZCBBVlBzIE1VU1QgTk9UICBoYXZlIHRoZSBtLWJpdCBzZXQg
dW5sZXNzIHRoZSBzdWItYXZwIGlzIG1hbmRhdG9yeSBvciBjb25kaXRpb25hbGx5IG1hbmRhdG9y
eSAoaS5lLiBwYXJ0IG9mIGFuIGV4dGVuc2lvbiBleHBsaWNpdGx5IG5lZ290aWF0ZWQgaW4gdGhl
IGZlYXR1cmUgdmVjdG9yKS4NCg0KQWxzbywgdGhlIE0tYml0IGRvZXNuJ3QgbWVhbiB0aGUgYXZw
IGlzIG1hbmRhdG9yeSB0byBiZSBwcmVzZW50LCBqdXN0IG1hbmRhdG9yeSB0byBiZSB1bmRlcnN0
b29kLiBCeSBkZWZpbml0aW9uLCB5b3UgY2FuJ3Qgc2V0IHRoZSBNLWJpdCBvbiBhbiBBVlAgdGhh
dCBpcyBub3QgYWN0dWFsbHkgdGhlcmUuICAoT3RoZXIgdGhpbmdzIG1heSBtYWtlIGl0IG1hbmRh
dG9yeSB0byBiZSBwcmVzZW50LCBzdWNoIGFzIHRoZSBmZWF0dXJlIG9yIGFwcGxpY2F0aW9uIGRl
ZmluaXRpb24sIGJ1dCB0aGF0IHN0aWxsIGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWVhbiBpdCdzIG1h
bmRhdG9yeSB0byB1bmRlcnN0YW5kLikgSXQncyBhbHNvIHBvc3NpYmxlIHRoYXQgc29tZSBuZXcg
ZmVhdHVyZSB3aWxsIGludm9sdmUgYW4gQVZQIHRoYXQgaXMgbm90IHRoZXJlIGFsbCB0aGUgdGlt
ZSwgYnV0IG1hbmRhdG9yeSB0byB1bmRlcnN0YW5kIHdoZW4gaXQgaXMgdGhlcmUuLg0KDQpbTUNy
dXpdIEFueSBtYW5kYXRvcnkgb3IgY29uZGl0aW9uYWxseSBtYW5kYXRvcnkgQVZQLCBpdCBpcyBh
cyB3ZWxsIG1hbmRhdG9yeSB0byBiZSB1bmRlcnN0b29kIGJ5IGFueSBET0lDLWVuYWJsZWQuDQoN
Ci0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tDQpDb21tZW50OiBHUEdUb29scyAtIGh0dHBz
Oi8vZ3BndG9vbHMub3JnDQoNCmlRSWNCQUVCQ2dBR0JRSlV3V3k0QUFvSkVJQldTbXlWODlRTlY3
MFAvamkyNGlVMldyOTN1R0lqSzc5aFNOSVINCkJuYWI0cnZhMk1IZUd1Zld2VHpZc3ZYd0NZVWFX
T2ViN3k0WjVUMWRSZ1BPUHc0Sk5LUTVjbm9FTWpJTW1XSnUNCko0b2NvWmxBUjd1aktCT2xUbnZm
MUZsRkVQRFE2ZW1hbnhjUlpEOStuVFFQYUM1NGduTWdmNkNmV3lRQmdJaWENCm9WR01FZzJDLyt5
eng0TnR1R0F3cXBKNGRWZS8zM1ZNcGw0bEc3S0c0SlFNekxZeHlXSWlpTER2QThTUVhveFUNCnJM
TFZ2a3ZLV3AyaEtkak83enhwVFk2VmQyRHFZYXdVL1oyNXlXQkFVbURGV3ppSndoNkhEMlAzOEYv
S05zeloNCmtwUkpEM1dyakdkbG1QS2F0b29Od0NIejYwaGpQMmxGWGxTN3ZvY05BV3V1ZzRkQXlQ
TlphcmwzRytaU0FodEINCld1ZC92VGhkV3drbkdNOVRidW1EVzVGTThrSm9VUFNqVElDdGFTRzNq
c25XMnFQS0FjaWtTdWJtZXBjNUtYRGcNCkRhcDUwc1RMOVhmTTFXTklxaU0xSC9EZHNRbkVKZnFn
UEo3TmNlK216bGxNQUZIVkw3aE9JeWYyenBiOHZQdHQNCk5xNUZ1Q2JEcjRxSzdJWnhYK096RnVV
SkMrYVQzYWpXdDZsWkxqWm1jSG5PYk9mZ1RDRGdnV3NwV1h6bE5ZK1gNCm9ZZ0gzRFQ2L2o0ak5r
T1pHY3c3Y093MXhISVFRV3d4TEVKa0xJUXdKaUtlWkhjT1liWjY5THVFWjhrN21YWjMNCmNDRHZu
Z2dYTHVqTFpFNUY0RC9MdExxNU1NcndHV3RMaU5OMURPQlgzaUg1RUtFL1lLMG5zYkZEK0RLUjlB
aUYNCkxkdnVPK2cxL2s4c0d6V0pneGtyDQo9K3dsSw0KLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0t
LS0tDQo=


From nobody Fri Jan 23 02:01:58 2015
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B0FF1A03A8; Fri, 23 Jan 2015 02:01:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.912
X-Spam-Level: 
X-Spam-Status: No, score=-101.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=ham
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 ALPwQoYhimQj; Fri, 23 Jan 2015 02:01:50 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [IPv6:2001:1900:3001:11::31]) by ietfa.amsl.com (Postfix) with ESMTP id 3E7111A0277; Fri, 23 Jan 2015 02:01:50 -0800 (PST)
Received: by rfc-editor.org (Postfix, from userid 30) id DD0C1187E26; Fri, 23 Jan 2015 02:01:24 -0800 (PST)
To: Hans.Liu@alcatel-lucent.com, vf0213@gmail.com, jari.arkko@ericsson.com, john.loughney@nokia.com, glenzorn@gmail.com
X-PHP-Originating-Script: 1005:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Message-Id: <20150123100124.DD0C1187E26@rfc-editor.org>
Date: Fri, 23 Jan 2015 02:01:24 -0800 (PST)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/SjThhx7QFq_06UCjgijcZ26Xee8>
Cc: dime@ietf.org, iesg@ietf.org, rfc-editor@rfc-editor.org
Subject: [Dime] [Errata Rejected] RFC6733 (4209)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 10:01:52 -0000

The following errata report has been rejected for RFC6733,
"Diameter Base Protocol".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=6733&eid=4209

--------------------------------------
Status: Rejected
Type: Technical

Reported by: Hans Liu <Hans.Liu@alcatel-lucent.com>
Date Reported: 2014-12-25
Rejected by: Benoit Claise (IESG)

Section: 5.4.3

Original Text
-------------
      BUSY                              1
         The peerâ€™s internal resources are constrained, and it has
         determined that the transport connection needs to be closed.
         A receiver of a DPR with above result code SHOULD NOT attempt
         reconnection.

Corrected Text
--------------
      BUSY                              1
         The peerâ€™s internal resources are constrained, and it has
         determined that the transport connection needs to be closed.
         A receiver of a DPR with above result code SHOULD either 
         connect to an alternate node, or attempt reconnection
         after a time period.

Notes
-----
In most implementations, the Diameter node will continue to serve its peer after the resources recover and expect reconnection. If the Diameter node won't like reconnection from peer, DO_NOT_WANT_TO_TALK_TO_YOU can be used instead of BUSY.
 --VERIFIER NOTES-- 
The text describing the "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" cases is consistent with the text found in the introduction of the section 5.4.

  "In the event that the
   disconnect was a result of either a shortage of internal resources or
   simply that the node in question has no intentions of forwarding any
   Diameter messages to the peer in the foreseeable future, a periodic
   connection request would not be welcomed.  The Disconnection-Reason
   AVP contains the reason the Diameter node issued the Disconnect-Peer-
   Request message.

   The Disconnect-Peer-Request message is used by a Diameter node to
   inform its peer of its intent to disconnect the transport layer and
   that the peer shouldn't reconnect unless it has a valid reason to do
   so (e.g., message to be forwarded). " 

So the main purpose for sending a DPR with the causes "BUSY" and "DO_NOT_WANT_TO_TALK_TO_YOU" is actually to avoid the periodic reconnection attempts governed by the Tc timer.
These exceptions are mentioned in the section 2.1:

  "When no transport connection exists with a peer, an attempt to
   connect SHOULD be made periodically.  This behavior is handled via
   the Tc timer (see Section 12 for details), whose recommended value is
   30 seconds.  There are certain exceptions to this rule, such as when
   a peer has terminated the transport connection stating that it does
   not wish to communicate."

Now, it is true that there is no clear guideline on how to behave when receiving the cause "BUSY" and this explains why some implementations in the field still attempt to re-open the connection, as after a normal transport failure detection. But it does not mean that the text in the RFC6733 is wrong.

Finally, if it is an attempt to clarify/modify the behavior of the peer receiving DPR with the "BUSY" cause, I don't think that using errata would be the most appropriate way. 

--------------------------------------
RFC6733 (draft-ietf-dime-rfc3588bis-33)
--------------------------------------
Title               : Diameter Base Protocol
Publication Date    : October 2012
Author(s)           : V. Fajardo, Ed., J. Arkko, J. Loughney, G. Zorn, Ed.
Category            : PROPOSED STANDARD
Source              : Diameter Maintenance and Extensions
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Fri Jan 23 05:17:34 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1E4D1A90AF for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:17:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 YBXz01URviZU for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:17:28 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 1586C1A90AE for <dime@ietf.org>; Fri, 23 Jan 2015 05:17:28 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:51517 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YEe70-000A2F-2L; Fri, 23 Jan 2015 05:17:27 -0800
Message-ID: <54C249E1.5050702@usdonovans.com>
Date: Fri, 23 Jan 2015 07:17:21 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>,  Ben Campbell <ben@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com> <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/xQAanq7bB07yMFrfGacLvSBr5YY>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 13:17:33 -0000

I would propose the following resolution to the M-bit issue:

1) We say that new extensions MUST NOT require the M-bit be set for new 
sub-AVPs of the OC-Supported-Features AVP or the OC-OLR AVP.

2) We indicate that if there a new extension includes behavior that 
requires 6733 defined M-bit behavior then the new extension can define a 
new AVP.  It just can't make that new AVP part of OC-Supported-Features 
or OC-OLR.

Does this address everyone's concerns?

Steve

On 1/23/15 3:46 AM, Maria Cruz Bartolome wrote:
> See below
> Thanks
>
> -----Original Message-----
> From: Ben Campbell [mailto:ben@nostrum.com]
> Sent: jueves, 22 de enero de 2015 22:34
> To: Maria Cruz Bartolome
> Cc: Steve Donovan; dime@ietf.org
> Subject: DOIC M-Bit usage (was Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06)
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
>
> On Jan 22, 2015, at 10:41 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:
>
> A) About 'M' bit:
>
> My understanding of RFC6733:
>
>       The 'M' bit, known as the Mandatory bit, indicates whether the
>       receiver of the AVP MUST parse and understand the semantics of the
>       AVP including its content.  The receiving entity MUST return an
>       appropriate error message if it receives an AVP that has the M-bit
>       set but does not understand it.  An exception applies when the AVP
>       is embedded within a Grouped AVP.  See Section 4.4 for details.
>
>        4.4:
>    Receivers of a Grouped AVP that
>    does not have the 'M' (mandatory) bit set and one or more of the
>    encapsulated AVPs within the group has the 'M' (mandatory) bit set
>    MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
>    rule applies even if the encapsulated AVP with its 'M' (mandatory)
>    bit set is further encapsulated within other sub-groups, i.e., other
>    Grouped AVPs embedded within the Grouped AVP.
>
>
> If the Grouped AVP does not have the 'M' bit set, but one (or more) of its sub-AVPs do have it, then the grouped AVP may be ignored (instead of sending an error) if the Grouped AVP itself is "unrecognized"
> But what "unrecognized" mean in this context? In my opinion, the grouped AVP is not recognized as long as mandatory sub-AVPs are missed, this includes conditionally mandatory (up to negotiation) sub AVPs.
> Then I would proposed a variant to your proposal 2 below:
>
> That's not what "unrecognized" typically means in IETF specs. The common usage is to mean that the recipient doesn't recognize it, or doesn't know what it means. This is  distinct from "malformed" meaning it wasn't constructed correctly.  Missing mandatory sub-AVPs would fall into the "malformed" category, not the "unrecognized" category. .
> By definition, a DOIC cannot claim OC-Supported-Features or OC-OLR as unrecognized.
>
>
> 3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the sub-avp is mandatory or conditionally mandatory (i.e. part of an extension explicitly negotiated in the feature vector).
>
> Also, the M-bit doesn't mean the avp is mandatory to be present, just mandatory to be understood. By definition, you can't set the M-bit on an AVP that is not actually there.  (Other things may make it mandatory to be present, such as the feature or application definition, but that still doesn't necessarily mean it's mandatory to understand.) It's also possible that some new feature will involve an AVP that is not there all the time, but mandatory to understand when it is there..
>
> [MCruz] Any mandatory or conditionally mandatory AVP, it is as well mandatory to be understood by any DOIC-enabled.
>
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - https://gpgtools.org
>
> iQIcBAEBCgAGBQJUwWy4AAoJEIBWSmyV89QNV70P/ji24iU2Wr93uGIjK79hSNIR
> Bnab4rva2MHeGufWvTzYsvXwCYUaWOeb7y4Z5T1dRgPOPw4JNKQ5cnoEMjIMmWJu
> J4ocoZlAR7ujKBOlTnvf1FlFEPDQ6emanxcRZD9+nTQPaC54gnMgf6CfWyQBgIia
> oVGMEg2C/+yzx4NtuGAwqpJ4dVe/33VMpl4lG7KG4JQMzLYxyWIiiLDvA8SQXoxU
> rLLVvkvKWp2hKdjO7zxpTY6Vd2DqYawU/Z25yWBAUmDFWziJwh6HD2P38F/KNszZ
> kpRJD3WrjGdlmPKatooNwCHz60hjP2lFXlS7vocNAWuug4dAyPNZarl3G+ZSAhtB
> Wud/vThdWwknGM9TbumDW5FM8kJoUPSjTICtaSG3jsnW2qPKAcikSubmepc5KXDg
> Dap50sTL9XfM1WNIqiM1H/DdsQnEJfqgPJ7Nce+mzllMAFHVL7hOIyf2zpb8vPtt
> Nq5FuCbDr4qK7IZxX+OzFuUJC+aT3ajWt6lZLjZmcHnObOfgTCDggWspWXzlNY+X
> oYgH3DT6/j4jNkOZGcw7cOw1xHIQQWwxLEJkLIQwJiKeZHcOYbZ69LuEZ8k7mXZ3
> cCDvnggXLujLZE5F4D/LtLq5MMrwGWtLiNN1DOBX3iH5EKE/YK0nsbFD+DKR9AiF
> LdvuO+g1/k8sGzWJgxkr
> =+wlK
> -----END PGP SIGNATURE-----


From nobody Fri Jan 23 05:35:22 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 206B31A90C0 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:35:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 HXWphx-9Aeta for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:35:16 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 A91241A90B6 for <dime@ietf.org>; Fri, 23 Jan 2015 05:35:16 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:52117 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YEeOE-000AVR-Uk; Fri, 23 Jan 2015 05:35:14 -0800
Message-ID: <54C24E0E.5040003@usdonovans.com>
Date: Fri, 23 Jan 2015 07:35:10 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>,  ext Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>, ext Ben Campbell <ben@nostrum.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net> <54BFD7B5.30605@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net> <54C109F8.2070201@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD3E@ESESSMB101.ericsson.se> <5BCBA1FC2B7F0B4C9D935572D90006681523FC22@DEMUMBX014.nsn-intra.net>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523FC22@DEMUMBX014.nsn-intra.net>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/wxv4cFo1nASf_eNi7HjS8cGdw3E>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 13:35:19 -0000

On 1/23/15 3:05 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
>
> I agree with Maria Cruz that the text in -06 is wrong as it says
>
>     The reporting node is not allowed to change the overload abatement algorithm while
>     the reporting node is in an overload condition.
>
> Also your previously suggested modification
>
>>> Before:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indicated
>>>        in the OC-Feature-Vector AVP if the reporting node is not currently
>>>        in an overload condition and sending overload reports.  The reporting
>>>        node is not allowed to change the overload abatement algorithm while
>>>        the reporting node is in an overload condition.
>>>
>>> After:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indicated
>>>        in the OC-Feature-Vector AVP if the reporting node is not currently
>>>        in an overload condition and sending overload reports.
> Does not clearly say that reporting nodes are allowed to change algorithm during an ongoing overload condition.
SRD> Agreed.  I think the paragraph can be removed entirely as it will 
just cause confusion.  There are no restrictions on a reporting nodes 
ability to change the selected algorithm.
>
> Also maybe we can add a note to say that during an ongoing overload condition reacting nodes may chose to stop advertizing support of all algorithms except the one selected by the reporting node and loss in order to prevent change of algorithm (other than towards loss) during an ongoing overload condition.
SRD> How about if we add the following to the end of 5.1.1: "Reacting 
nodes need to be prepared for the reporting node to change selected 
algorithms.  This can happen at any time, including when the reporting 
node has sent an active overload report.  The reacting node can minimize 
the potential changes by modifying the advertised abatement algorithms 
sent to an overloaded reporting node to the currently selected algorithm 
and loss (or just loss if it is the currently selected algorithm).  This 
has the effect of limiting the potential change in abatement algorithm 
from the currently selected algorithm to loss, avoiding changes to more 
complex abatement algorithms that require state to operate properly."

>
> Ulrich
>
> -----Original Message-----
> From: ext Maria Cruz Bartolome [mailto:maria.cruz.bartolome@ericsson.com]
> Sent: Thursday, January 22, 2015 6:13 PM
> To: Steve Donovan; Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: RE: [Dime] Ben's comments on 4.3, third paragraph from end
>
> Ulrich, Steve,
>
> Not sure closing the issue would mean some rephrasing or you have agreed it is not needed.
>
> Anyway, the last sentence in this paragraph, is saying the same as first part:
>
> 4.2, 3rd paragraph from the end:
>
>     Reporting nodes can change the overload abatement algorithm indicated
>     in the OC-Feature-Vector AVP if the reporting node is not currently
>     in an overload condition and sending overload reports.  The reporting
>     node is not allowed to change the overload abatement algorithm while
>     the reporting node is in an overload condition.
>
>
> Best regards
> /MCruz
>
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
> Sent: jueves, 22 de enero de 2015 15:32
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
> Ulrich,
>
> I agree that the reacting node can do as you say and change what it advertises after the start of an overload condition.  Do you agree that this does not require any changes to the DOIC spec?  If so, then do you agree we can close on this issue?
>
> Regards,
>
> Steve
>
> On 1/22/15 3:37 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Steve,
>> see inline.
>> Regards
>> Ulrich
>>
>> -----Original Message-----
>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>> Sent: Wednesday, January 21, 2015 5:46 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>>
>> On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Steve,
>>> I'm not sure.
>>> My understanding is:
>>> 1. Two answer messages (with same application id) sent by a reporting node while not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP.
>> SRD> Correct, one set of answer messages could indicate loss and the
>> other rate (for instance).  This would happen if the reporting node
>> policy prefers rate but there is a mix of reacting node capabilities.
>> In this case where not all reacting nodes support the reporting nodes
>> preferred algorithm, the reporting node could also decide to send loss
>> to all reacting nodes.
>>
>> Ulrich> Although this is right, it does not hit the nail. I should have said:
>> 1a. Two answer messages (with same application id) sent by a reporting node while in or not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP when the corresponding request messages advertize different sets of supported algorithms.
>> 1b. Two answer messages (with same application id) sent by a reporting node while not in an overload condition can have different selected overload abatement algorithms in the OC-Feature-Vector AVP even when the corresponding request messages advertize the same set of supported algorithms.
>> As you say , 1a would happen if there is a mix of reacting node capabilities. 1b would happen if the policy is changed in the reporting node.
>>
>>> 2. Two answer messages (with same application id) sent by a reporting node while in an (the same) overload condition must have the same selected overload abatement algorithm in the OC-Feature-Vector AVP if the two sets A and B are identical, where A is the intersection of the set of advertized algorithms received in the request that corresponds to the one answer message with the set of algorithms that are supported (at the time the one answer message is sent) by the reporting node, and B is the intersection of the set of advertized algorithms received in the request that corresponds to the other answer message with the set of algorithms that are supported (at the time the other answer message is sent) by the reporting node; And the set of algorithms supported by the reporting node must not change during an overload condition.
>> SRD> I'm a little lost in your description here.  It is possible for
>> SRD> the
>> reporting node be in an overload state and be sending loss reports to
>> one set of reacting nodes and rate to a second set of reacting nodes.
>>
>> Ulrich> yes, loss to the reacting nodes that advertize loss only and rate to the reacting nodes that advertize rate and loss. If we do not allow this, then a reporting node cannot select rate (although supported by most reacting nodes) as long as one reacting node only supports loss.
>>     
>> Whether or not the reporting node does this is entirely up to the
>> implementation at the reporting node.
>>
>> Ulrich> it is up to configuration: the reporting node may be configured to "select rate when loss and rate is advertized and to select loss when only loss is advertized". Alternatively the reporting node may be configured to "select loss when loss and rate is advertized and to select loss when only loss is advertized".
>>
>>> This ensures that reacting nodes, while not changing the set of advertized algorithms, will not receive a change of the selected algorithm during an overload condition (without the need for the reporting node to keep history data).
>> SRD> The algorithm sent by the reporting node will be decided based on
>> SRD> a
>> combination of the advertised algorithms and policy at the reporting
>> node.  If there is some change in policy at the reporting node that
>> changes the selection then the reacting node needs to be prepared to
>> handle the change.  I think you are suggesting we say this cannot
>> happen during an active overload at the reporting node.  Is this correct?
>>    
>> Ulrich> yes.
>>
>> SRD> As things stand now, with the changes made in -06 and the coming
>> -07, the reacting node will need to be able to handle a change in
>> algorithm during an active overload condition.  What is the benefit of
>> changing this?  If the algorithm changes during an overload condition
>> the reacting node can just treat it as an end of one overload
>> condition and the start of another.
>>
>> Ulrich> yes that is possible but adds complexity to the reacting node especially when changing from a stateless to a stateful algorithm. There may also be issues with the mechanism's stability. During an overload condition reporting nodes should not force reacting nodes to change algorithm.
>> On reflection, reacting nodes that support (and advertize) loss and rate could - when receiving OLR with loss - stopp advertizing rate as long as the overload condition is ongoing in order to prevent change from loss to rate during the overload condition. With this trick, the only way of change is towards loss, and that may be acceptable (as it is a one time change and you cannot change back and forth).
>>> Ulrich
>>>
>>>
>>> -----Original Message-----
>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>> Sent: Tuesday, January 20, 2015 7:27 PM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>
>>>      I have removed the last sentence in the paragraph in question.
>>> The before and after for the paragraph is as follows:
>>>
>>> Before:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indicated
>>>        in the OC-Feature-Vector AVP if the reporting node is not currently
>>>        in an overload condition and sending overload reports.  The reporting
>>>        node is not allowed to change the overload abatement algorithm while
>>>        the reporting node is in an overload condition.
>>>
>>> After:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indicated
>>>        in the OC-Feature-Vector AVP if the reporting node is not currently
>>>        in an overload condition and sending overload reports.
>>>
>>> Ulrich,
>>>
>>> I'm not sure I understand your point about the assignment of commonly
>>> supported algorithms.  Are you ok with this change?
>>>
>>> Regards,
>>>
>>> Steve
>>> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Ben
>>>>
>>>> The Note at the beginning of 5.1 is about change of announced capabilities in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change of selected algorithm by reporting nodes.
>>>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of course, if the reacting node changes the set of announced capabilities, the reporting node may change (or even need to  change) the selected algorithm. What is not allowed to be changed by the reporting node during an overload condition is the deterministic function that assignes to every set of commonly supported algorithms a distinct selected algorithm.
>>>>
>>>>
>>>> Ulrich
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben
>>>> Campbell
>>>> Sent: Thursday, January 15, 2015 4:19 PM
>>>> To: Steve Donovan
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>>
>>>> Sorry, that was 4.2.
>>>>
>>>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>>>>
>>>>> I agree with Ulrich, I don't see the issue.
>>>>>
>>>>>
>>>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>>>> Ben wrote:
>>>>>> -- 4.3, third paragraph from end:
>>>>>>      
>>>>>> This still assumes that reporting nodes cannot change algorithms
>>>>>> during overload. I thought we agreed to remove that. (The
>>>>>> normative text is also still there--see later comment.)
>>>>>>      
>>>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph from end in 4.3 reads:
>>>>>>        Two types of overload abatement treatment are defined, diversion and
>>>>>>        throttling.  Reacting nodes are responsible for determining which
>>>>>>        treatment is appropriate for individual requests.
>>>>>> How does this text assume that reporting nodes cannot change algorithms during overload?
>>>>>>      
>>>>>>      
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> DiME mailing list
>>>>>>
>>>>>> DiME@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Fri Jan 23 05:38:17 2015
Return-Path: <ulrich.wiehe@nsn.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 55B531A90B8 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:38:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level: 
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 cGHpxeK-eIbH for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:38:12 -0800 (PST)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 120C41A90C5 for <dime@ietf.org>; Fri, 23 Jan 2015 05:38:11 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd002.nsn-inter.net (8.14.3/8.14.3) with ESMTP id t0NDc8Os012172 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 23 Jan 2015 13:38:08 GMT
Received: from DEMUHTC004.nsn-intra.net ([10.159.42.35]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id t0NDc7pv017800 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 23 Jan 2015 14:38:07 +0100
Received: from DEMUHTC005.nsn-intra.net (10.159.42.36) by DEMUHTC004.nsn-intra.net (10.159.42.35) with Microsoft SMTP Server (TLS) id 14.3.195.1; Fri, 23 Jan 2015 14:38:07 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.60]) by DEMUHTC005.nsn-intra.net ([10.159.42.36]) with mapi id 14.03.0195.001; Fri, 23 Jan 2015 14:38:07 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Steve Donovan <srdonovan@usdonovans.com>, ext Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>, ext Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Ben's comments on 4.3, third paragraph from end
Thread-Index: AdAwqcKKpO0LYTRKTfCB6qzRIWwNRQAEwOaAAARbWgAAJ7oO0ADaT2QAAB/pOMAADtREgAAik8fAAAsPLgAABZkxAAAid17AAAg6VgAAAi/zkA==
Date: Fri, 23 Jan 2015 13:38:06 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681523FD79@DEMUMBX014.nsn-intra.net>
References: <5BCBA1FC2B7F0B4C9D935572D90006681523F07F@DEMUMBX014.nsn-intra.net> <54B7BD25.4040103@usdonovans.com> <5BC32AB7-6DA7-4B27-90E6-40203B3C35D2@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F249@DEMUMBX014.nsn-intra.net> <54BE9E0A.7040307@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523F884@DEMUMBX014.nsn-intra.net> <54BFD7B5.30605@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D90006681523FAB3@DEMUMBX014.nsn-intra.net> <54C109F8.2070201@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD3E@ESESSMB101.ericsson.se> <5BCBA1FC2B7F0B4C9D935572D90006681523FC22@DEMUMBX014.nsn-intra.net> <54C24E0E.5040003@usdonovans.com>
In-Reply-To: <54C24E0E.5040003@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.159.42.106]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 14069
X-purgate-ID: 151667::1422020289-000067C4-143D79F0/0/0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/Us_PAb_lhUNqsKysnhf_VVchLPw>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 13:38:16 -0000

Fine with me.
Ulrich

-----Original Message-----
From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]=20
Sent: Friday, January 23, 2015 2:35 PM
To: Wiehe, Ulrich (NSN - DE/Munich); ext Maria Cruz Bartolome; ext Ben Camp=
bell
Cc: dime@ietf.org
Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end


On 1/23/15 3:05 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Steve,
>
> I agree with Maria Cruz that the text in -06 is wrong as it says
>
>     The reporting node is not allowed to change the overload abatement al=
gorithm while
>     the reporting node is in an overload condition.
>
> Also your previously suggested modification
>
>>> Before:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indi=
cated
>>>        in the OC-Feature-Vector AVP if the reporting node is not curren=
tly
>>>        in an overload condition and sending overload reports.  The repo=
rting
>>>        node is not allowed to change the overload abatement algorithm w=
hile
>>>        the reporting node is in an overload condition.
>>>
>>> After:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indi=
cated
>>>        in the OC-Feature-Vector AVP if the reporting node is not curren=
tly
>>>        in an overload condition and sending overload reports.
> Does not clearly say that reporting nodes are allowed to change algorithm=
 during an ongoing overload condition.
SRD> Agreed.  I think the paragraph can be removed entirely as it will=20
just cause confusion.  There are no restrictions on a reporting nodes=20
ability to change the selected algorithm.
>
> Also maybe we can add a note to say that during an ongoing overload condi=
tion reacting nodes may chose to stop advertizing support of all algorithms=
 except the one selected by the reporting node and loss in order to prevent=
 change of algorithm (other than towards loss) during an ongoing overload c=
ondition.
SRD> How about if we add the following to the end of 5.1.1: "Reacting=20
nodes need to be prepared for the reporting node to change selected=20
algorithms.  This can happen at any time, including when the reporting=20
node has sent an active overload report.  The reacting node can minimize=20
the potential changes by modifying the advertised abatement algorithms=20
sent to an overloaded reporting node to the currently selected algorithm=20
and loss (or just loss if it is the currently selected algorithm).  This=20
has the effect of limiting the potential change in abatement algorithm=20
from the currently selected algorithm to loss, avoiding changes to more=20
complex abatement algorithms that require state to operate properly."

>
> Ulrich
>
> -----Original Message-----
> From: ext Maria Cruz Bartolome [mailto:maria.cruz.bartolome@ericsson.com]
> Sent: Thursday, January 22, 2015 6:13 PM
> To: Steve Donovan; Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: RE: [Dime] Ben's comments on 4.3, third paragraph from end
>
> Ulrich, Steve,
>
> Not sure closing the issue would mean some rephrasing or you have agreed =
it is not needed.
>
> Anyway, the last sentence in this paragraph, is saying the same as first =
part:
>
> 4.2, 3rd paragraph from the end:
>
>     Reporting nodes can change the overload abatement algorithm indicated
>     in the OC-Feature-Vector AVP if the reporting node is not currently
>     in an overload condition and sending overload reports.  The reporting
>     node is not allowed to change the overload abatement algorithm while
>     the reporting node is in an overload condition.
>
>
> Best regards
> /MCruz
>
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
> Sent: jueves, 22 de enero de 2015 15:32
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
> Cc: dime@ietf.org
> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>
> Ulrich,
>
> I agree that the reacting node can do as you say and change what it adver=
tises after the start of an overload condition.  Do you agree that this doe=
s not require any changes to the DOIC spec?  If so, then do you agree we ca=
n close on this issue?
>
> Regards,
>
> Steve
>
> On 1/22/15 3:37 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>> Steve,
>> see inline.
>> Regards
>> Ulrich
>>
>> -----Original Message-----
>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>> Sent: Wednesday, January 21, 2015 5:46 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>
>>
>> On 1/21/15 4:06 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Steve,
>>> I'm not sure.
>>> My understanding is:
>>> 1. Two answer messages (with same application id) sent by a reporting n=
ode while not in an overload condition can have different selected overload=
 abatement algorithms in the OC-Feature-Vector AVP.
>> SRD> Correct, one set of answer messages could indicate loss and the
>> other rate (for instance).  This would happen if the reporting node
>> policy prefers rate but there is a mix of reacting node capabilities.
>> In this case where not all reacting nodes support the reporting nodes
>> preferred algorithm, the reporting node could also decide to send loss
>> to all reacting nodes.
>>
>> Ulrich> Although this is right, it does not hit the nail. I should have =
said:
>> 1a. Two answer messages (with same application id) sent by a reporting n=
ode while in or not in an overload condition can have different selected ov=
erload abatement algorithms in the OC-Feature-Vector AVP when the correspon=
ding request messages advertize different sets of supported algorithms.
>> 1b. Two answer messages (with same application id) sent by a reporting n=
ode while not in an overload condition can have different selected overload=
 abatement algorithms in the OC-Feature-Vector AVP even when the correspond=
ing request messages advertize the same set of supported algorithms.
>> As you say , 1a would happen if there is a mix of reacting node capabili=
ties. 1b would happen if the policy is changed in the reporting node.
>>
>>> 2. Two answer messages (with same application id) sent by a reporting n=
ode while in an (the same) overload condition must have the same selected o=
verload abatement algorithm in the OC-Feature-Vector AVP if the two sets A =
and B are identical, where A is the intersection of the set of advertized a=
lgorithms received in the request that corresponds to the one answer messag=
e with the set of algorithms that are supported (at the time the one answer=
 message is sent) by the reporting node, and B is the intersection of the s=
et of advertized algorithms received in the request that corresponds to the=
 other answer message with the set of algorithms that are supported (at the=
 time the other answer message is sent) by the reporting node; And the set =
of algorithms supported by the reporting node must not change during an ove=
rload condition.
>> SRD> I'm a little lost in your description here.  It is possible for
>> SRD> the
>> reporting node be in an overload state and be sending loss reports to
>> one set of reacting nodes and rate to a second set of reacting nodes.
>>
>> Ulrich> yes, loss to the reacting nodes that advertize loss only and rat=
e to the reacting nodes that advertize rate and loss. If we do not allow th=
is, then a reporting node cannot select rate (although supported by most re=
acting nodes) as long as one reacting node only supports loss.
>>    =20
>> Whether or not the reporting node does this is entirely up to the
>> implementation at the reporting node.
>>
>> Ulrich> it is up to configuration: the reporting node may be configured =
to "select rate when loss and rate is advertized and to select loss when on=
ly loss is advertized". Alternatively the reporting node may be configured =
to "select loss when loss and rate is advertized and to select loss when on=
ly loss is advertized".
>>
>>> This ensures that reacting nodes, while not changing the set of adverti=
zed algorithms, will not receive a change of the selected algorithm during =
an overload condition (without the need for the reporting node to keep hist=
ory data).
>> SRD> The algorithm sent by the reporting node will be decided based on
>> SRD> a
>> combination of the advertised algorithms and policy at the reporting
>> node.  If there is some change in policy at the reporting node that
>> changes the selection then the reacting node needs to be prepared to
>> handle the change.  I think you are suggesting we say this cannot
>> happen during an active overload at the reporting node.  Is this correct=
?
>>   =20
>> Ulrich> yes.
>>
>> SRD> As things stand now, with the changes made in -06 and the coming
>> -07, the reacting node will need to be able to handle a change in
>> algorithm during an active overload condition.  What is the benefit of
>> changing this?  If the algorithm changes during an overload condition
>> the reacting node can just treat it as an end of one overload
>> condition and the start of another.
>>
>> Ulrich> yes that is possible but adds complexity to the reacting node es=
pecially when changing from a stateless to a stateful algorithm. There may =
also be issues with the mechanism's stability. During an overload condition=
 reporting nodes should not force reacting nodes to change algorithm.
>> On reflection, reacting nodes that support (and advertize) loss and rate=
 could - when receiving OLR with loss - stopp advertizing rate as long as t=
he overload condition is ongoing in order to prevent change from loss to ra=
te during the overload condition. With this trick, the only way of change i=
s towards loss, and that may be acceptable (as it is a one time change and =
you cannot change back and forth).
>>> Ulrich
>>>
>>>
>>> -----Original Message-----
>>> From: ext Steve Donovan [mailto:srdonovan@usdonovans.com]
>>> Sent: Tuesday, January 20, 2015 7:27 PM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Ben Campbell
>>> Cc: dime@ietf.org
>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>
>>>      I have removed the last sentence in the paragraph in question.
>>> The before and after for the paragraph is as follows:
>>>
>>> Before:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indi=
cated
>>>        in the OC-Feature-Vector AVP if the reporting node is not curren=
tly
>>>        in an overload condition and sending overload reports.  The repo=
rting
>>>        node is not allowed to change the overload abatement algorithm w=
hile
>>>        the reporting node is in an overload condition.
>>>
>>> After:
>>>
>>>        Reporting nodes can change the overload abatement algorithm indi=
cated
>>>        in the OC-Feature-Vector AVP if the reporting node is not curren=
tly
>>>        in an overload condition and sending overload reports.
>>>
>>> Ulrich,
>>>
>>> I'm not sure I understand your point about the assignment of commonly
>>> supported algorithms.  Are you ok with this change?
>>>
>>> Regards,
>>>
>>> Steve
>>> On 1/16/15 4:30 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>> Ben
>>>>
>>>> The Note at the beginning of 5.1 is about change of announced capabili=
ties in reacting nodes, while the text in 4.2 (and 5.2.1.4) is about change=
 of selected algorithm by reporting nodes.
>>>> I don't think the text in 4.2 (and 5.2.1.4) is totally wrong. Of cours=
e, if the reacting node changes the set of announced capabilities, the repo=
rting node may change (or even need to  change) the selected algorithm. Wha=
t is not allowed to be changed by the reporting node during an overload con=
dition is the deterministic function that assignes to every set of commonly=
 supported algorithms a distinct selected algorithm.
>>>>
>>>>
>>>> Ulrich
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben
>>>> Campbell
>>>> Sent: Thursday, January 15, 2015 4:19 PM
>>>> To: Steve Donovan
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] Ben's comments on 4.3, third paragraph from end
>>>>
>>>> Sorry, that was 4.2.
>>>>
>>>>> On Jan 15, 2015, at 7:14 AM, Steve Donovan <srdonovan@usdonovans.com>=
 wrote:
>>>>>
>>>>> I agree with Ulrich, I don't see the issue.
>>>>>
>>>>>
>>>>> On 1/15/15 3:58 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>>>>> Ben wrote:
>>>>>> -- 4.3, third paragraph from end:
>>>>>>     =20
>>>>>> This still assumes that reporting nodes cannot change algorithms
>>>>>> during overload. I thought we agreed to remove that. (The
>>>>>> normative text is also still there--see later comment.)
>>>>>>     =20
>>>>>> <Ulrich> I don't understand. In my copy of -06 the third paragraph f=
rom end in 4.3 reads:
>>>>>>        Two types of overload abatement treatment are defined, divers=
ion and
>>>>>>        throttling.  Reacting nodes are responsible for determining w=
hich
>>>>>>        treatment is appropriate for individual requests.
>>>>>> How does this text assume that reporting nodes cannot change algorit=
hms during overload?
>>>>>>     =20
>>>>>>     =20
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> DiME mailing list
>>>>>>
>>>>>> DiME@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Fri Jan 23 05:38:36 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0A3E1A90B8 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:38:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.079
X-Spam-Level: 
X-Spam-Status: No, score=0.079 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_35=0.6, J_CHICKENPOX_38=0.6, SPF_NEUTRAL=0.779] autolearn=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 vs2LHru__1Zb for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 05:38:34 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 E9D9F1A90BA for <dime@ietf.org>; Fri, 23 Jan 2015 05:38:33 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:52123 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YEeRS-00007e-8p; Fri, 23 Jan 2015 05:38:33 -0800
Message-ID: <54C24ED5.3050601@usdonovans.com>
Date: Fri, 23 Jan 2015 07:38:29 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>,  "dime@ietf.org" <dime@ietf.org>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se>
In-Reply-To: <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/wiVZdOAUqJg0gK52YyuvJUEhjUc>
Subject: [Dime] Coming out of 100% reduction (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 13:38:35 -0000

I'm ok with Maria Cruz's suggested change.

Steve

On 1/22/15 10:41 AM, Maria Cruz Bartolome wrote:
> Dear all,
>
> A) About 'M' bit:
>
> My understanding of RFC6733:
>
>        The 'M' bit, known as the Mandatory bit, indicates whether the
>        receiver of the AVP MUST parse and understand the semantics of the
>        AVP including its content.  The receiving entity MUST return an
>        appropriate error message if it receives an AVP that has the M-bit
>        set but does not understand it.  An exception applies when the AVP
>        is embedded within a Grouped AVP.  See Section 4.4 for details.
>
>         4.4:
>     Receivers of a Grouped AVP that
>     does not have the 'M' (mandatory) bit set and one or more of the
>     encapsulated AVPs within the group has the 'M' (mandatory) bit set
>     MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
>     rule applies even if the encapsulated AVP with its 'M' (mandatory)
>     bit set is further encapsulated within other sub-groups, i.e., other
>     Grouped AVPs embedded within the Grouped AVP.
>
>
> If the Grouped AVP does not have the 'M' bit set, but one (or more) of its sub-AVPs do have it, then the grouped AVP may be ignored (instead of sending an error) if the Grouped AVP itself is "unrecognized"
> But what "unrecognized" mean in this context? In my opinion, the grouped AVP is not recognized as long as mandatory sub-AVPs are missed, this includes conditionally mandatory (up to negotiation) sub AVPs.
> Then I would proposed a variant to your proposal 2 below:
>
> 3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the sub-avp is mandatory or conditionally mandatory (i.e. part of an extension explicitly negotiated in the feature vector).
>
>
> B) Going out of 100% reduction
>
> I think we should keep 5.2.2 as it is.
> But I think there is a bit of misalignment with 6.3. I will propose following rephrasing:
>
> Now: 5th paragraph:
>
>     If reacting node comes out of the 100 percent traffic reduction as a
>     result of the overload report timing out, the following procedures
>     are RECOMMENDED to be applied.  The reacting node sending the traffic
>     should be conservative and, for example, first send "probe" messages
>     to learn the overload condition of the overloaded node before
>     converging to any traffic amount/rate decided by the sender.  Similar
>     concerns apply in all cases when the overload report times out unless
>     the previous overload report stated 0 percent reduction.
>
> Proposed: 5th paragraph:
>
>     If reacting node comes out of the 100 percent traffic reduction as a
>     result of the overload report timing out,					<--
>                                                                  the reacting node sending the traffic	<--
>     SHOULD be conservative and, for example, first send "probe" messages	<--
>     to learn the overload condition of the overloaded node before
>     converging to any traffic amount/rate decided by the sender.  Similar
>     concerns apply in all cases when the overload report times out unless
>     the previous overload report stated 0 percent reduction.
>
>
> Best regards
> /MCruz
>
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Steve Donovan
> Sent: jueves, 22 de enero de 2015 15:38
> To: dime@ietf.org
> Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
>
> All,
>
> We need to close these two issues to finish WGLC #2.
>
> Please review an let me know if the alternatives I have outlined below are acceptable.
>
> Thanks,
>
> Steve
>
> On 1/20/15 3:08 PM, Steve Donovan wrote:
>> On 1/20/15 1:20 PM, Ben Campbell wrote:
>>>> On Jan 20, 2015, at 12:42 PM, Steve Donovan
>>>> <srdonovan@usdonovans.com> wrote:
>>>>
>>>> The following is the resolution of Ben's issues that were not
>>>> addressed directly in an email thread started by Ulrich.
>>>>
>>>> Regards,
>>>>
>>>> Steve
>>>>
>>>>> -- 5.3, 4th paragraph:
>>>>>
>>>>> As I mentioned in previous discussion, after re-reading the related
>>>>> text in 6733, it's no longer clear to me this works like we thought
>>>>> it did. That is, I think any attempt to make sub-AVPs mandatory
>>>>> risks causing errors in the enclosing Diameter transaction. I don't
>>>>> know how to solve this, other just disallowing mandatory sub-AVPs.
>>>>> (Jouni previously convinced me 6733 treatment of the m-bit in
>>>>> sub-avps worked like we wanted--perhaps he can re-convince me :-)
>>>>>
>>>> SRD>Given that Jouni successfully convinced Ben about the 6733
>>>> treatment, I'm not planning to make any changes, as I'm assuming he
>>>> can be just as successful the second time.
>>> I think that's a bad assumption.
>>>
>>> We had previously assumed that if a node receives a grouped AVP
>>> (without the m-bit set) that includes an unrecognized sub-avp with
>>> the m-bit set, then the receiver could just ignore the entire grouped
>>> AVP, and otherwise process the transaction. But 6733 actually says
>>> the following:
>>>
>>> "Receivers of a Grouped AVP that
>>>      does not have the 'M' (mandatory) bit set and one or more of the
>>>      encapsulated AVPs within the group has the 'M' (mandatory) bit set
>>>      MAY simply be ignored if the Grouped AVP itself is unrecognized.
>>> The
>>>      rule applies even if the encapsulated AVP with its 'M' (mandatory)
>>>      bit set is further encapsulated within other sub-groups, i.e., other
>>>      Grouped AVPs embedded within the Grouped AVP."
>>>
>>> Note the "... if the Grouped AVP itself is unrecognized." clause.
>>>
>>> The case we have in mind is when you receive a _recognized_ grouped
>>> AVP (that is, you implement DOIC), but it includes an unrecognized
>>> sub-avp with the M-bit set. This is not covered by the exception.
>>> This would seem to indicate that the entire request must fail. I
>>> don't think that's what we want.
>> SRD> I see how it could be interpreted that way.
>>> At this point, I think we need to either say that sub-avps of DOIC
>>> grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT
>>> have the m-bit set unless the sub-avp is part of an extension
>>> explicitly negotiated in the feature vector.
>> SRD> I'm ok either way but prefer number 2).
>>>
>>>
>> [...]
>>>>> Paragraph 5:
>>>>>
>>>>> Is this redundant to the last paragraph of 5.2.2?
>>>>>
>>>> SRD> I don't see an issue.  One is general and the other specific to
>>>> the loss algorithm.  They don't conflict.
>>> The one in 5.2.2 is specific to situations where an OLR quenches all
>>> requests, and says MUST. So is this, and says RECOMMENDED (which
>>> means SHOULD in 2119).
>> SRD>Actually 5.2.2 isn't only about quenching.  It's also about the
>> reacting node having sent no traffic, because it had no traffic to
>> send, and now needs to send traffic soon after the OCS expires. The
>> reporting node might still be in an overload state but the reacting
>> node doesn't know until the first request is sent.
>>> If the idea is that the text in 6.3 is the recommended way to fulfill
>>> the MUST in 5.2.2, then that's okay I guess (although I would prefer
>>> one of the two to be non-normative.)
>> SRD> 6.3 deals specifically with quenching, thus is a little different
>> than 5.2.2, although there is overlap.
>>> Another approach would to leave this to 6.3, and add something to the
>>> effect that any new algorithm that can cause total quenching of
>>> requests must address how the reacting node restarts from that state.
>> SRD> I prefer to leave it as it currently is.
>>> [...]
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>


From nobody Fri Jan 23 07:13:06 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48AB31A90F2 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:13:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 5-HbY-qr_PzI for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:13:03 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 3C5BA1A90EB for <dime@ietf.org>; Fri, 23 Jan 2015 07:13:02 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0NFCua5010460 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 23 Jan 2015 09:12:57 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <5BCBA1FC2B7F0B4C9D935572D90006681523FC6A@DEMUMBX014.nsn-intra.net>
Date: Fri, 23 Jan 2015 09:12:56 -0600
X-Mao-Original-Outgoing-Id: 443718776.246937-d4f87098103d09b03f45704b2bd399b9
Content-Transfer-Encoding: quoted-printable
Message-Id: <E72C1B92-4B57-4F2E-A910-23FE07013364@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681523FC6A@DEMUMBX014.nsn-intra.net>
To: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/8tAVHgT1APprq_Pmda7lZZuWNx0>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 15:13:05 -0000

> On Jan 23, 2015, at 3:28 AM, Wiehe, Ulrich (NSN - DE/Munich) =
<ulrich.wiehe@nsn.com> wrote:
>=20
> Ben,
>=20
> for my clarification:
> this issue seems to be a general thing and not related specifically to =
DOIC.=20
>=20
> Any potential modification, addition, clarification,... would not =
impact DOIC but RFC6733.
> Is this the correct understanding?

Not really. I think the way 6733 describes things was as intended for =
the general case. It's there so that the recipient doesn't have to =
recurse all the way through a bunch of nested group AVPs just to make =
sure there aren't any M-bits set. =20

DOIC is unusual here, in that we are piggybacking info onto an existing =
application. We don't want to induce a failure in that application =
because of an error in DOIC.


>=20
> Ulrich
>=20
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben =
Campbell
> Sent: Thursday, January 22, 2015 10:34 PM
> To: Maria Cruz Bartolome
> Cc: dime@ietf.org
> Subject: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for =
draft-ietf-dime-ovli-06)
>=20
> Signed PGP part
>=20
> On Jan 22, 2015, at 10:41 AM, Maria Cruz Bartolome =
<maria.cruz.bartolome@ericsson.com> wrote:
>=20
> A) About 'M' bit:
>=20
> My understanding of RFC6733:
>=20
>      The 'M' bit, known as the Mandatory bit, indicates whether the
>      receiver of the AVP MUST parse and understand the semantics of =
the
>      AVP including its content.  The receiving entity MUST return an
>      appropriate error message if it receives an AVP that has the =
M-bit
>      set but does not understand it.  An exception applies when the =
AVP
>      is embedded within a Grouped AVP.  See Section 4.4 for details.
>=20
>       4.4:
>   Receivers of a Grouped AVP that
>   does not have the 'M' (mandatory) bit set and one or more of the
>   encapsulated AVPs within the group has the 'M' (mandatory) bit set
>   MAY simply be ignored if the Grouped AVP itself is unrecognized.  =
The
>   rule applies even if the encapsulated AVP with its 'M' (mandatory)
>   bit set is further encapsulated within other sub-groups, i.e., other
>   Grouped AVPs embedded within the Grouped AVP.
>=20
>=20
> If the Grouped AVP does not have the 'M' bit set, but one (or more) of =
its sub-AVPs do have it, then the grouped AVP may be ignored (instead of =
sending an error) if the Grouped AVP itself is "unrecognized"
> But what "unrecognized" mean in this context? In my opinion, the =
grouped AVP is not recognized as long as mandatory sub-AVPs are missed, =
this includes conditionally mandatory (up to negotiation) sub AVPs.
> Then I would proposed a variant to your proposal 2 below:
>=20
> That's not what "unrecognized" typically means in IETF specs. The =
common usage is to mean that the recipient doesn't recognize it, or =
doesn't know what it means. This is  distinct from "malformed" meaning =
it wasn't constructed correctly.  Missing mandatory sub-AVPs would fall =
into the "malformed" category, not the "unrecognized" category. .
> By definition, a DOIC cannot claim OC-Supported-Features or OC-OLR as =
unrecognized.
>=20
>=20
> 3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless =
the sub-avp is mandatory or conditionally mandatory (i.e. part of an =
extension explicitly negotiated in the feature vector).
>=20
> Also, the M-bit doesn't mean the avp is mandatory to be present, just =
mandatory to be understood. By definition, you can't set the M-bit on an =
AVP that is not actually there.  (Other things may make it mandatory to =
be present, such as the feature or application definition, but that =
still doesn't necessarily mean it's mandatory to understand.) It's also =
possible that some new feature will involve an AVP that is not there all =
the time, but mandatory to understand when it is there..
>=20
>=20
>=20
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


From nobody Fri Jan 23 07:15:22 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 331001A9115 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:15:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 mMbq4SreiWOt for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:15:16 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 DF2A01A909F for <dime@ietf.org>; Fri, 23 Jan 2015 07:15:15 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0NFFBK6010615 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 23 Jan 2015 09:15:11 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset="utf8";
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
X-Pgp-Agent: GPGMail 2.5b4
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54C249E1.5050702@usdonovans.com>
Date: Fri, 23 Jan 2015 09:15:11 -0600
X-Mao-Original-Outgoing-Id: 443718910.423717-0d29bcc125ba8d98ee3cd914ab11782d
Content-Transfer-Encoding: 8bit
Message-Id: <AAADB66E-EFDF-4084-8D58-C98A6CD107A6@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com> <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se> <54C249E1.5050702@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/FPlkkRg-aXWk5Y6edmgNGfmsiYg>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 15:15:21 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

What's the point of 2)? It still introduces a way that a DOIC extension might cause the application transaction to fail. Do we want that?

On Jan 23, 2015, at 7:17 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:

I would propose the following resolution to the M-bit issue:

1) We say that new extensions MUST NOT require the M-bit be set for new sub-AVPs of the OC-Supported-Features AVP or the OC-OLR AVP.

2) We indicate that if there a new extension includes behavior that requires 6733 defined M-bit behavior then the new extension can define a new AVP.  It just can't make that new AVP part of OC-Supported-Features or OC-OLR.

Does this address everyone's concerns?

Steve

On 1/23/15 3:46 AM, Maria Cruz Bartolome wrote:
See below
Thanks

- -----Original Message-----
From: Ben Campbell [mailto:ben@nostrum.com]
Sent: jueves, 22 de enero de 2015 22:34
To: Maria Cruz Bartolome
Cc: Steve Donovan; dime@ietf.org
Subject: DOIC M-Bit usage (was Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06)

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On Jan 22, 2015, at 10:41 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:

A) About 'M' bit:

My understanding of RFC6733:

     The 'M' bit, known as the Mandatory bit, indicates whether the
     receiver of the AVP MUST parse and understand the semantics of the
     AVP including its content.  The receiving entity MUST return an
     appropriate error message if it receives an AVP that has the M-bit
     set but does not understand it.  An exception applies when the AVP
     is embedded within a Grouped AVP.  See Section 4.4 for details.

      4.4:
  Receivers of a Grouped AVP that
  does not have the 'M' (mandatory) bit set and one or more of the
  encapsulated AVPs within the group has the 'M' (mandatory) bit set
  MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
  rule applies even if the encapsulated AVP with its 'M' (mandatory)
  bit set is further encapsulated within other sub-groups, i.e., other
  Grouped AVPs embedded within the Grouped AVP.


If the Grouped AVP does not have the 'M' bit set, but one (or more) of its sub-AVPs do have it, then the grouped AVP may be ignored (instead of sending an error) if the Grouped AVP itself is "unrecognized"
But what "unrecognized" mean in this context? In my opinion, the grouped AVP is not recognized as long as mandatory sub-AVPs are missed, this includes conditionally mandatory (up to negotiation) sub AVPs.
Then I would proposed a variant to your proposal 2 below:

That's not what "unrecognized" typically means in IETF specs. The common usage is to mean that the recipient doesn't recognize it, or doesn't know what it means. This is  distinct from "malformed" meaning it wasn't constructed correctly.  Missing mandatory sub-AVPs would fall into the "malformed" category, not the "unrecognized" category. .
By definition, a DOIC cannot claim OC-Supported-Features or OC-OLR as unrecognized.


3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the sub-avp is mandatory or conditionally mandatory (i.e. part of an extension explicitly negotiated in the feature vector).

Also, the M-bit doesn't mean the avp is mandatory to be present, just mandatory to be understood. By definition, you can't set the M-bit on an AVP that is not actually there.  (Other things may make it mandatory to be present, such as the feature or application definition, but that still doesn't necessarily mean it's mandatory to understand.) It's also possible that some new feature will involve an AVP that is not there all the time, but mandatory to understand when it is there..

[MCruz] Any mandatory or conditionally mandatory AVP, it is as well mandatory to be understood by any DOIC-enabled.

- -----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwWy4AAoJEIBWSmyV89QNV70P/ji24iU2Wr93uGIjK79hSNIR
Bnab4rva2MHeGufWvTzYsvXwCYUaWOeb7y4Z5T1dRgPOPw4JNKQ5cnoEMjIMmWJu
J4ocoZlAR7ujKBOlTnvf1FlFEPDQ6emanxcRZD9+nTQPaC54gnMgf6CfWyQBgIia
oVGMEg2C/+yzx4NtuGAwqpJ4dVe/33VMpl4lG7KG4JQMzLYxyWIiiLDvA8SQXoxU
rLLVvkvKWp2hKdjO7zxpTY6Vd2DqYawU/Z25yWBAUmDFWziJwh6HD2P38F/KNszZ
kpRJD3WrjGdlmPKatooNwCHz60hjP2lFXlS7vocNAWuug4dAyPNZarl3G+ZSAhtB
Wud/vThdWwknGM9TbumDW5FM8kJoUPSjTICtaSG3jsnW2qPKAcikSubmepc5KXDg
Dap50sTL9XfM1WNIqiM1H/DdsQnEJfqgPJ7Nce+mzllMAFHVL7hOIyf2zpb8vPtt
Nq5FuCbDr4qK7IZxX+OzFuUJC+aT3ajWt6lZLjZmcHnObOfgTCDggWspWXzlNY+X
oYgH3DT6/j4jNkOZGcw7cOw1xHIQQWwxLEJkLIQwJiKeZHcOYbZ69LuEZ8k7mXZ3
cCDvnggXLujLZE5F4D/LtLq5MMrwGWtLiNN1DOBX3iH5EKE/YK0nsbFD+DKR9AiF
LdvuO+g1/k8sGzWJgxkr
=+wlK
- -----END PGP SIGNATURE-----


-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwmV/AAoJEIBWSmyV89QNk/gQAMTubMzk/y3Ia3thiWAH8K/2
j9VnwHFsza62G3uMLmYQ8tZNsXgidOF+F6WwC6hZRZK/QX3tNTLbnF4FjyFn2fhO
eE0D00mDbp/kngMITrxVHTGghocSBxGHyNntQKwrIxV7gVYIxEbMUL8ouKvO9Do8
NOi9K/he1iiK0pCNcQ9UstU8ZQm5kPyqMVGLhsHLEe779qTfE6fF5ppeJgATPyJl
1wNHgBoh9XcGPJdYO4MzcSn/hO9+tC9Ngp2lO0w4Q2SHgwh1W3kRODwLtNWq8pcg
JcSb6UtcQ/jVdOCF23/eZ3OhXgC8q01j2tp0YGVXGqPf4ePPU10uAW/8lioEwbRH
iiqOiSSEPbjjMb3yVDc/cu78Iq8NGr8n7iEiQwlPCs8Vlv7Nj7xv2Lmyk8LlDz4q
/HAozquUXgHwaYuKtzH7QBf+79rinPJAjomv10tzMSHk/Tu5aq0KFI41jqUra1i/
0xu9TnMDmEseL5rjMpkQ1Cw69H/etoh7+93jt3nGJUoLL7+eGoq0Z8pkl3Ukeihu
1DjigPWkbsfGtp0Iw0FKvtVMjSqFgFyH2y/k3u2Xiiz5k/e6mdqp3UnsHuc6MPUy
4fULg+SShkAMnk5BFjG4KKFWdTBhVn5X8O8lhgzfJ46SYkdAo2qw9YEd19CtJK5E
yvE5D9UmNsXqEjh+t/yp
=mnr3
-----END PGP SIGNATURE-----


From nobody Fri Jan 23 07:41:47 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 46E201A9232 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:41:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level: 
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=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 qoP-y8LrFoDa for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:41:44 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 D96E81A923B for <dime@ietf.org>; Fri, 23 Jan 2015 07:41:44 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:52757 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YEgMe-0003A1-7Y; Fri, 23 Jan 2015 07:41:43 -0800
Message-ID: <54C26BB3.1010401@usdonovans.com>
Date: Fri, 23 Jan 2015 09:41:39 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com> <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se> <54C249E1.5050702@usdonovans.com> <AAADB66E-EFDF-4084-8D58-C98A6CD107A6@nostrum.com>
In-Reply-To: <AAADB66E-EFDF-4084-8D58-C98A6CD107A6@nostrum.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/uX11K9Js0i46nwFgMulzlpKg_-Y>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 15:41:46 -0000

On 1/23/15 9:15 AM, Ben Campbell wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> What's the point of 2)? It still introduces a way that a DOIC extension might cause the application transaction to fail. Do we want that?
>
> On Jan 23, 2015, at 7:17 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>
> I would propose the following resolution to the M-bit issue:
>
> 1) We say that new extensions MUST NOT require the M-bit be set for new sub-AVPs of the OC-Supported-Features AVP or the OC-OLR AVP.
>
> 2) We indicate that if there a new extension includes behavior that requires 6733 defined M-bit behavior then the new extension can define a new AVP.  It just can't make that new AVP part of OC-Supported-Features or OC-OLR.
SRD> Well, there's nothing we can do to prevent it, which makes it 
redundant to even say it.  So, I plan to do 1).  I'll wait until Monday 
to publish -07 (assuming we have resolution to all the issues) to give 
our European friends a chance to comment.
>
> Does this address everyone's concerns?
>
> Steve
>
> On 1/23/15 3:46 AM, Maria Cruz Bartolome wrote:
> See below
> Thanks
>
> - -----Original Message-----
> From: Ben Campbell [mailto:ben@nostrum.com]
> Sent: jueves, 22 de enero de 2015 22:34
> To: Maria Cruz Bartolome
> Cc: Steve Donovan; dime@ietf.org
> Subject: DOIC M-Bit usage (was Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06)
>
> - -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
>
> On Jan 22, 2015, at 10:41 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:
>
> A) About 'M' bit:
>
> My understanding of RFC6733:
>
>       The 'M' bit, known as the Mandatory bit, indicates whether the
>       receiver of the AVP MUST parse and understand the semantics of the
>       AVP including its content.  The receiving entity MUST return an
>       appropriate error message if it receives an AVP that has the M-bit
>       set but does not understand it.  An exception applies when the AVP
>       is embedded within a Grouped AVP.  See Section 4.4 for details.
>
>        4.4:
>    Receivers of a Grouped AVP that
>    does not have the 'M' (mandatory) bit set and one or more of the
>    encapsulated AVPs within the group has the 'M' (mandatory) bit set
>    MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
>    rule applies even if the encapsulated AVP with its 'M' (mandatory)
>    bit set is further encapsulated within other sub-groups, i.e., other
>    Grouped AVPs embedded within the Grouped AVP.
>
>
> If the Grouped AVP does not have the 'M' bit set, but one (or more) of its sub-AVPs do have it, then the grouped AVP may be ignored (instead of sending an error) if the Grouped AVP itself is "unrecognized"
> But what "unrecognized" mean in this context? In my opinion, the grouped AVP is not recognized as long as mandatory sub-AVPs are missed, this includes conditionally mandatory (up to negotiation) sub AVPs.
> Then I would proposed a variant to your proposal 2 below:
>
> That's not what "unrecognized" typically means in IETF specs. The common usage is to mean that the recipient doesn't recognize it, or doesn't know what it means. This is  distinct from "malformed" meaning it wasn't constructed correctly.  Missing mandatory sub-AVPs would fall into the "malformed" category, not the "unrecognized" category. .
> By definition, a DOIC cannot claim OC-Supported-Features or OC-OLR as unrecognized.
>
>
> 3) sub-AVPs of DOIC grouped AVPs MUST NOT  have the m-bit set unless the sub-avp is mandatory or conditionally mandatory (i.e. part of an extension explicitly negotiated in the feature vector).
>
> Also, the M-bit doesn't mean the avp is mandatory to be present, just mandatory to be understood. By definition, you can't set the M-bit on an AVP that is not actually there.  (Other things may make it mandatory to be present, such as the feature or application definition, but that still doesn't necessarily mean it's mandatory to understand.) It's also possible that some new feature will involve an AVP that is not there all the time, but mandatory to understand when it is there..
>
> [MCruz] Any mandatory or conditionally mandatory AVP, it is as well mandatory to be understood by any DOIC-enabled.
>
> - -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - https://gpgtools.org
>
> iQIcBAEBCgAGBQJUwWy4AAoJEIBWSmyV89QNV70P/ji24iU2Wr93uGIjK79hSNIR
> Bnab4rva2MHeGufWvTzYsvXwCYUaWOeb7y4Z5T1dRgPOPw4JNKQ5cnoEMjIMmWJu
> J4ocoZlAR7ujKBOlTnvf1FlFEPDQ6emanxcRZD9+nTQPaC54gnMgf6CfWyQBgIia
> oVGMEg2C/+yzx4NtuGAwqpJ4dVe/33VMpl4lG7KG4JQMzLYxyWIiiLDvA8SQXoxU
> rLLVvkvKWp2hKdjO7zxpTY6Vd2DqYawU/Z25yWBAUmDFWziJwh6HD2P38F/KNszZ
> kpRJD3WrjGdlmPKatooNwCHz60hjP2lFXlS7vocNAWuug4dAyPNZarl3G+ZSAhtB
> Wud/vThdWwknGM9TbumDW5FM8kJoUPSjTICtaSG3jsnW2qPKAcikSubmepc5KXDg
> Dap50sTL9XfM1WNIqiM1H/DdsQnEJfqgPJ7Nce+mzllMAFHVL7hOIyf2zpb8vPtt
> Nq5FuCbDr4qK7IZxX+OzFuUJC+aT3ajWt6lZLjZmcHnObOfgTCDggWspWXzlNY+X
> oYgH3DT6/j4jNkOZGcw7cOw1xHIQQWwxLEJkLIQwJiKeZHcOYbZ69LuEZ8k7mXZ3
> cCDvnggXLujLZE5F4D/LtLq5MMrwGWtLiNN1DOBX3iH5EKE/YK0nsbFD+DKR9AiF
> LdvuO+g1/k8sGzWJgxkr
> =+wlK
> - -----END PGP SIGNATURE-----
>
>
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - https://gpgtools.org
>
> iQIcBAEBCgAGBQJUwmV/AAoJEIBWSmyV89QNk/gQAMTubMzk/y3Ia3thiWAH8K/2
> j9VnwHFsza62G3uMLmYQ8tZNsXgidOF+F6WwC6hZRZK/QX3tNTLbnF4FjyFn2fhO
> eE0D00mDbp/kngMITrxVHTGghocSBxGHyNntQKwrIxV7gVYIxEbMUL8ouKvO9Do8
> NOi9K/he1iiK0pCNcQ9UstU8ZQm5kPyqMVGLhsHLEe779qTfE6fF5ppeJgATPyJl
> 1wNHgBoh9XcGPJdYO4MzcSn/hO9+tC9Ngp2lO0w4Q2SHgwh1W3kRODwLtNWq8pcg
> JcSb6UtcQ/jVdOCF23/eZ3OhXgC8q01j2tp0YGVXGqPf4ePPU10uAW/8lioEwbRH
> iiqOiSSEPbjjMb3yVDc/cu78Iq8NGr8n7iEiQwlPCs8Vlv7Nj7xv2Lmyk8LlDz4q
> /HAozquUXgHwaYuKtzH7QBf+79rinPJAjomv10tzMSHk/Tu5aq0KFI41jqUra1i/
> 0xu9TnMDmEseL5rjMpkQ1Cw69H/etoh7+93jt3nGJUoLL7+eGoq0Z8pkl3Ukeihu
> 1DjigPWkbsfGtp0Iw0FKvtVMjSqFgFyH2y/k3u2Xiiz5k/e6mdqp3UnsHuc6MPUy
> 4fULg+SShkAMnk5BFjG4KKFWdTBhVn5X8O8lhgzfJ46SYkdAo2qw9YEd19CtJK5E
> yvE5D9UmNsXqEjh+t/yp
> =mnr3
> -----END PGP SIGNATURE-----
>


From nobody Fri Jan 23 07:43:33 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA24F1A9232 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:43:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 nvoW7tp2QsuG for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:43:30 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 2390C1A9177 for <dime@ietf.org>; Fri, 23 Jan 2015 07:43:30 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0NFhPHX013088 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 23 Jan 2015 09:43:26 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset="utf8";
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
X-Pgp-Agent: GPGMail 2.5b4
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54C26BB3.1010401@usdonovans.com>
Date: Fri, 23 Jan 2015 09:43:25 -0600
X-Mao-Original-Outgoing-Id: 443720605.102611-965eeff831ccf236942d70fb41d2efba
Content-Transfer-Encoding: 8bit
Message-Id: <726C8230-94C1-4DDB-8EB2-EB5820B3130D@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com> <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se> <54C249E1.5050702@usdonovans.com> <AAADB66E-EFDF-4084-8D58-C98A6CD107A6@nostrum.com> <54C26BB3.1010401@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/-e2Q5HX6xzrdga9uvqSewp4FtWo>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 15:43:32 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On Jan 23, 2015, at 9:41 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:

What's the point of 2)? It still introduces a way that a DOIC extension might cause the application transaction to fail. Do we want that?

On Jan 23, 2015, at 7:17 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:

I would propose the following resolution to the M-bit issue:

1) We say that new extensions MUST NOT require the M-bit be set for new sub-AVPs of the OC-Supported-Features AVP or the OC-OLR AVP.

2) We indicate that if there a new extension includes behavior that requires 6733 defined M-bit behavior then the new extension can define a new AVP. It just can't make that new AVP part of OC-Supported-Features or OC-OLR.
SRD> Well, there's nothing we can do to prevent it, which makes it redundant to even say it.  So, I plan to do 1).  I'll wait until Monday to publish -07 (assuming we have resolution to all the issues) to give our European friends a chance to comment.


Works for me.
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwmwdAAoJEIBWSmyV89QNFLIP/AkpABA54OlKpbhq4c7dFjqj
mNeZaoFZyirusCiJ43NxQv4DPTP+2aqqCAw6BNtkQgsIu3MH+oFwJn/eeZRql5La
wGRnnEZpt4qSLElk1yW/U2UupmwTWUm+/TKyLFhAlpN4TQc5AKoxryOEZ50E2/V4
RQktS338k+RB48IDx6TC/fDC+TTPsrLuqu3EbEP2kZiYlOcu1gcIOmpCbevpCkX9
D9o3laMQJQKAjPtLr6tSzpw7GWP1mdr8SlthSeL/E8RErpltVEnIeQf7+Xo8hkit
o+v1B/40FAbZnVN7OEz20pIBg7275Ma6b2E6Lu351n0uZ2do92fzc/3TsEfg90eg
hAJEq3q5e+S824nexTULxnsHdXh+OQRlzKCks4Pv8id3YKdyBQZ5dm5CEzo9xAFi
t3disG3xQqHbZ8U6eDShGqcXJmrlJ9er28Tduw1S08xiFLFJKYwQkgbBfD50ZwK1
U8ZZDw3/+EfvRd6n75eCLy5bnkESEeaPmCYYGthgx+amZ2cd1xUscbv1p9pxXudS
rV+JHEVLfYgDLYvcr8e5H1YQ9c5MMMNh8MtfSYkASsD14UNfDAz7i1vvHRKYmedT
LUF8NKxa3ySTaFR9WB+b4MQctY/wtUxeS9M96r+2EVJ03A/zsQhFAGicmWQM9cO2
fcI9AA5g612eaFuZaW8K
=yeS/
-----END PGP SIGNATURE-----


From nobody Fri Jan 23 07:50:12 2015
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 14FCD1A9111 for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:50:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 3y77UFM2e5nv for <dime@ietfa.amsl.com>; Fri, 23 Jan 2015 07:50:09 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 813D51A9103 for <dime@ietf.org>; Fri, 23 Jan 2015 07:50:09 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0NFo8JF013664 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 23 Jan 2015 09:50:09 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: multipart/signed; boundary="Apple-Mail=_A5E1385D-6B07-43E4-9243-117238EB569E"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
X-Pgp-Agent: GPGMail 2.5b4
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54C26BB3.1010401@usdonovans.com>
Date: Fri, 23 Jan 2015 09:50:08 -0600
X-Mao-Original-Outgoing-Id: 443721007.958973-9055a3608bb29a69cc3f29b5acaf2b1a
Message-Id: <76660474-3A76-4C20-A5D8-706AFBB4926A@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com> <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com> <54BEC3E7.40703@usdonovans.com> <54C10B60.7010405@usdonovans.com> <087A34937E64E74E848732CFF8354B92098ADD13@ESESSMB101.ericsson.se> <56CE9F81-1BE9-489A-9C80-52D0DBAD2609@nostrum.com> <087A34937E64E74E848732CFF8354B92098ADF6A@ESESSMB101.ericsson.se> <54C249E1.5050702@usdonovans.com> <AAADB66E-EFDF-4084-8D58-C98A6CD107A6@nostrum.com> <54C26BB3.1010401@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/nfPMN1DaVt4KM_hbdcvGBrvX3sI>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] DOIC M-Bit usage (was Re: WLGC #2 for draft-ietf-dime-ovli-06)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Jan 2015 15:50:11 -0000

--Apple-Mail=_A5E1385D-6B07-43E4-9243-117238EB569E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hmm, looks like inline GnuPG messed up my quoting. Trying again:

> On Jan 23, 2015, at 9:41 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> On 1/23/15 9:15 AM, Ben Campbell wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA512
>>=20
>> What's the point of 2)? It still introduces a way that a DOIC =
extension might cause the application transaction to fail. Do we want =
that?
>>=20
>> On Jan 23, 2015, at 7:17 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>>=20
>> I would propose the following resolution to the M-bit issue:
>>=20
>> 1) We say that new extensions MUST NOT require the M-bit be set for =
new sub-AVPs of the OC-Supported-Features AVP or the OC-OLR AVP.
>>=20
>> 2) We indicate that if there a new extension includes behavior that =
requires 6733 defined M-bit behavior then the new extension can define a =
new AVP.  It just can't make that new AVP part of OC-Supported-Features =
or OC-OLR.
> SRD> Well, there's nothing we can do to prevent it, which makes it =
redundant to even say it.  So, I plan to do 1).  I'll wait until Monday =
to publish -07 (assuming we have resolution to all the issues) to give =
our European friends a chance to comment.
>=20

Works for me.

--Apple-Mail=_A5E1385D-6B07-43E4-9243-117238EB569E
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUwm2wAAoJEIBWSmyV89QNqTUP/3qHH/KSpFXE531Kc3ecjus9
eElLlGylOyMLnTTFsKMh7K12zRazkKNgn/AUtKwkGWub0Mj+01E9n7CpQ4bBaFbD
mXfkfp8n4RVCRm+xvN7AkiVjFJ2H8Xa1D8hov5A30zh9LKXjVAwiQ192F7LsTEf+
9fGUnJ94WNu51E97Min3pX+367fgm0rCG5M+D8ifsTHTLBZ5OJ0cyFdeuimknUix
CqlmwSV2hohKrF6injyGz7H3+Pm7gtUTh+qiuBo8+MxxmViyGsMi2fDC2lo94nX+
04oKA/Yb44Me1bI+qD1GCHcPk2MaJOd0Y9P5VIFDCpjpTQntF7T2nP0pYLahKJus
Fm2kiIDb9LuyAAgdWqZllDi693QcW5Gz2a9GBTY9XkpiiOcBLEyUdBiRs1GTBglG
gI/aWY5h+E2/DgPDCr6AfLDPg5zMxwaBm/9dIIymDDiBvlq4LG1LV6dshIbJpK/R
RlHSSa7CdHQZ8FkFllCjmWd70mQZbEU8lv0/eX7x8iirzk4g+7/Md5GnyFwVmpuY
teNEQEdnaPwSSVMKcllpYnDPmC4lzTE+QUPDvth5lM04rLqkfQJf81NB7XfE463L
KyGkWg/S2mRGST8BqR49g+OZDg/i5jXv10ddLQBIxiJMspnWl9odagn8WnxAzrce
+2Do2hWNGn4af5GtSHS0
=j2fJ
-----END PGP SIGNATURE-----

--Apple-Mail=_A5E1385D-6B07-43E4-9243-117238EB569E--


From nobody Mon Jan 26 07:03:05 2015
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 216E11A9028; Mon, 26 Jan 2015 07:03:04 -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] autolearn=ham
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 UwUXR6mfJEeA; Mon, 26 Jan 2015 07:03:03 -0800 (PST)
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 154A41A901D; Mon, 26 Jan 2015 07:03:03 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: i-d-announce@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 5.10.1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20150126150303.15610.1562.idtracker@ietfa.amsl.com>
Date: Mon, 26 Jan 2015 07:03:03 -0800
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/_Sk3U-_a-b53lzcnralHzAMavjw>
Cc: dime@ietf.org
Subject: [Dime] I-D Action: draft-ietf-dime-e2e-sec-req-02.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jan 2015 15:03:04 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
 This draft is a work item of the Diameter Maintenance and Extensions Working Group of the IETF.

        Title           : Diameter AVP Level Security End-to-End Security: Scenarios and Requirements
        Authors         : Hannes Tschofenig
                          Jouni Korhonen
                          Glen Zorn
                          Kervin Pillay
	Filename        : draft-ietf-dime-e2e-sec-req-02.txt
	Pages           : 9
	Date            : 2015-01-26

Abstract:
   This specification discusses requirements for providing Diameter
   security at the level of individual Attribute Value Pairs.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-e2e-sec-req/

There's also a htmlized version available at:
http://tools.ietf.org/html/draft-ietf-dime-e2e-sec-req-02

A diff from the previous version is available at:
http://www.ietf.org/rfcdiff?url2=draft-ietf-dime-e2e-sec-req-02


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Mon Jan 26 13:10:42 2015
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CF5EA1A6F04; Mon, 26 Jan 2015 13:10:36 -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] autolearn=ham
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 Ky9oBk-YG5M3; Mon, 26 Jan 2015 13:10:35 -0800 (PST)
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 65E741A1ACA; Mon, 26 Jan 2015 13:10:35 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: i-d-announce@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 5.10.1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20150126211035.5671.56067.idtracker@ietfa.amsl.com>
Date: Mon, 26 Jan 2015 13:10:35 -0800
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/u00syWb6zykG0704sELJf4Qh2iA>
Cc: dime@ietf.org
Subject: [Dime] I-D Action: draft-ietf-dime-ovli-07.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jan 2015 21:10:37 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
 This draft is a work item of the Diameter Maintenance and Extensions Working Group of the IETF.

        Title           : Diameter Overload Indication Conveyance
        Authors         : Jouni Korhonen
                          Steve Donovan
                          Ben Campbell
                          Lionel Morand
	Filename        : draft-ietf-dime-ovli-07.txt
	Pages           : 51
	Date            : 2015-01-26

Abstract:
   This specification defines a base solution for Diameter overload
   control, referred to as Diameter Overload Indication Conveyance
   (DOIC).


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-ovli/

There's also a htmlized version available at:
http://tools.ietf.org/html/draft-ietf-dime-ovli-07

A diff from the previous version is available at:
http://www.ietf.org/rfcdiff?url2=draft-ietf-dime-ovli-07


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Mon Jan 26 13:10:45 2015
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 03DF11A6F04 for <dime@ietfa.amsl.com>; Mon, 26 Jan 2015 13:10:38 -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] autolearn=ham
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 ktV0B1DE3xQN; Mon, 26 Jan 2015 13:10:36 -0800 (PST)
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id D2A2B1A1B12; Mon, 26 Jan 2015 13:10:35 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: draft-ietf-dime-ovli.all@tools.ietf.org, dime@ietf.org, dime-chairs@tools.ietf.org, aland@deployingradius.com
X-Test-IDTracker: no
X-IETF-IDTracker: 5.10.1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20150126211035.5671.34012.idtracker@ietfa.amsl.com>
Date: Mon, 26 Jan 2015 13:10:35 -0800
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/IXXVX8cxpGl0msesZfmmYZqfXuY>
Subject: [Dime] New Version Notification - draft-ietf-dime-ovli-07.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jan 2015 21:10:38 -0000

A new version (-07) has been submitted for draft-ietf-dime-ovli:
http://www.ietf.org/internet-drafts/draft-ietf-dime-ovli-07.txt


The IETF datatracker page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-ovli/

Diff from previous version:
http://www.ietf.org/rfcdiff?url2=draft-ietf-dime-ovli-07

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

IETF Secretariat.


From nobody Mon Jan 26 13:12:49 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE3D31A6EF1 for <dime@ietfa.amsl.com>; Mon, 26 Jan 2015 13:12:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=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 LQzXggM5UE9U for <dime@ietfa.amsl.com>; Mon, 26 Jan 2015 13:12:47 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 11E2F1A1B12 for <dime@ietf.org>; Mon, 26 Jan 2015 13:12:47 -0800 (PST)
Received: from [209.64.6.114] (port=63124 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YFqxg-000AtK-FO for dime@ietf.org; Mon, 26 Jan 2015 13:12:45 -0800
Message-ID: <54C6ADCB.7020204@usdonovans.com>
Date: Mon, 26 Jan 2015 15:12:43 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/2WygN2q7_qtnlNq-0TES4IHK1eQ>
Subject: [Dime] DOIC-07
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jan 2015 21:12:47 -0000

All,

I have posted DOIC-07 with updates agreed to as part of WGLC.

I have also pushed the updates to github.

I will send a diff file in a separate email.

Thanks to everyone for the hard work getting the document ready for IESG 
review.

Regards,

Steve


From nobody Mon Jan 26 14:53:04 2015
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 968BE1B2A7B for <dime@ietfa.amsl.com>; Mon, 26 Jan 2015 13:16:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.59
X-Spam-Level: *
X-Spam-Status: No, score=1.59 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779, T_HTML_ATTACH=0.01] autolearn=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 gbWl0hbp9MhN for <dime@ietfa.amsl.com>; Mon, 26 Jan 2015 13:16:24 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 8379B1A9139 for <dime@ietf.org>; Mon, 26 Jan 2015 13:15:51 -0800 (PST)
Received: from [209.64.6.114] (port=63130 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (UNKNOWN:RC4-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1YFr0W-0000fr-3y for dime@ietf.org; Mon, 26 Jan 2015 13:15:49 -0800
Message-ID: <54C6AE7A.70607@usdonovans.com>
Date: Mon, 26 Jan 2015 15:15:38 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: multipart/mixed; boundary="------------090607070002010502030405"
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/UtmkI7UBRpnPg4aeyVbub3GCWAE>
X-Mailman-Approved-At: Mon, 26 Jan 2015 14:53:01 -0800
Subject: [Dime] DOIC-06 to DOIC-07 diff file
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jan 2015 21:16:32 -0000

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

All,

I have attached the diff file showing changes between DOIC-06 and DOIC-07.

Regards,

Steve

--------------090607070002010502030405
Content-Type: text/html; charset=ISO-8859-1;
 name="Diff_ draft-ietf-dime-ovli-06.txt - draft-ietf-dime-ovli-07.txt.html"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="Diff_ draft-ietf-dime-ovli-06.txt - draft-ietf-dime-ovli-07.";
 filename*1="txt.html"

CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRp
b25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFu
c2l0aW9uYWwuZHRkIj4gCjwhLS0gR2VuZXJhdGVkIGJ5IHJmY2RpZmYgMS40MTogcmZjZGlm
ZiB0bXAvMS9kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50eHQgdG1wLzIvZHJhZnQtaWV0Zi1k
aW1lLW92bGktMDcudHh0IC0tPiAKPCEtLSBTeXN0ZW06IExpbnV4IGdhbWF5IDIuNi4zOS0y
LTY4Ni1wYWUgIzEgU01QIFR1ZSBKdWwgNSAwMzo0ODo0OSBVVEMgMjAxMSBpNjg2IEdOVS9M
aW51eCAtLT4gCjwhLS0gVXNpbmcgYXdrOiAvdXNyL2Jpbi9nYXdrOiBHTlUgQXdrIDQuMC4x
IC0tPiAKPCEtLSBVc2luZyBkaWZmOiAvdXNyL2Jpbi9kaWZmOiBkaWZmIChHTlUgZGlmZnV0
aWxzKSAzLjMgLS0+IAo8IS0tIFVzaW5nIHdkaWZmOiAvdXNyL2Jpbi93ZGlmZjogd2RpZmYg
KEdOVSB3ZGlmZikgMS4yLjEgLS0+IAo8aHRtbD4gCjxoZWFkPiAKICA8bWV0YSBodHRwLWVx
dWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1
OS0xIiAvPiAKICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRl
bnQ9InRleHQvY3NzIiAvPiAKICA8dGl0bGU+RGlmZjogZHJhZnQtaWV0Zi1kaW1lLW92bGkt
MDYudHh0IC0gZHJhZnQtaWV0Zi1kaW1lLW92bGktMDcudHh0PC90aXRsZT4gCiAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4gCiAgICBib2R5ICAgIHsgbWFyZ2luOiAwLjRleDsgbWFyZ2lu
LXJpZ2h0OiBhdXRvOyB9IAogICAgdHIgICAgICB7IH0gCiAgICB0ZCAgICAgIHsgd2hpdGUt
c3BhY2U6IHByZTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgdmVydGljYWwtYWxpZ246IHRv
cDsgZm9udC1zaXplOiAwLjg2ZW07fSAKICAgIHRoICAgICAgeyBmb250LXNpemU6IDAuODZl
bTsgfSAKICAgIC5zbWFsbCAgeyBmb250LXNpemU6IDAuNmVtOyBmb250LXN0eWxlOiBpdGFs
aWM7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0gCiAg
ICAubGVmdCAgIHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgfSAKICAgIC5yaWdodCAgeyBi
YWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9IAogICAgLmRpZmYgICB7IGJhY2tncm91bmQtY29s
b3I6ICNDQ0Y7IH0gCiAgICAubGJsb2NrIHsgYmFja2dyb3VuZC1jb2xvcjogI0JGQjsgfSAK
ICAgIC5yYmxvY2sgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4OyB9IAogICAgLmluc2VydCB7
IGJhY2tncm91bmQtY29sb3I6ICM4RkY7IH0gCiAgICAuZGVsZXRlIHsgYmFja2dyb3VuZC1j
b2xvcjogI0FDRjsgfSAKICAgIC52b2lkICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCOyB9
IAogICAgLmNvbnQgICB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gCiAgICAubGluZWJy
IHsgYmFja2dyb3VuZC1jb2xvcjogI0FBQTsgfSAKICAgIC5saW5lbm8geyBjb2xvcjogcmVk
OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBmb250LXNpemU6IDAuN2VtOyB0ZXh0LWFsaWdu
OiByaWdodDsgcGFkZGluZzogMCAycHg7IH0gCiAgICAuZWxpcHNpc3sgYmFja2dyb3VuZC1j
b2xvcjogI0FBQTsgfSAKICAgIC5sZWZ0IC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogI0RE
RDsgfSAKICAgIC5yaWdodCAuY29udCB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gCiAg
ICAubGJsb2NrIC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogIzlEOTsgfSAKICAgIC5yYmxv
Y2sgLmNvbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjREQ2OyB9IAogICAgLmluc2VydCAuY29u
dCB7IGJhY2tncm91bmQtY29sb3I6ICMwREQ7IH0gCiAgICAuZGVsZXRlIC5jb250IHsgYmFj
a2dyb3VuZC1jb2xvcjogIzhBRDsgfSAKICAgIC5zdGF0cywgLnN0YXRzIHRkLCAuc3RhdHMg
dGggeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFOyBwYWRkaW5nOiAycHggMDsgfSAKICA8L3N0
eWxlPiAKPC9oZWFkPiAKPGJvZHkgPiAKICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjAiPiAKICA8dHIgYmdjb2xvcj0ib3JhbmdlIj48dGg+PC90
aD48dGg+PGEgaHJlZj0iL3JmY2RpZmY/dXJsMj1kcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNi50
eHQiIHN0eWxlPSJjb2xvcjojMDA4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPiZsdDs8L2E+
Jm5ic3A7PGEgaHJlZj0iL2h0bWwvZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYudHh0IiBzdHls
ZT0iY29sb3I6IzAwOCI+ZHJhZnQtaWV0Zi1kaW1lLW92bGktMDYudHh0PC9hPiZuYnNwOzwv
dGg+PHRoPiA8L3RoPjx0aD4mbmJzcDs8YSBocmVmPSIvaHRtbC9kcmFmdC1pZXRmLWRpbWUt
b3ZsaS0wNy50eHQiIHN0eWxlPSJjb2xvcjojMDA4Ij5kcmFmdC1pZXRmLWRpbWUtb3ZsaS0w
Ny50eHQ8L2E+Jm5ic3A7PGEgaHJlZj0iL3JmY2RpZmY/dXJsMT1kcmFmdC1pZXRmLWRpbWUt
b3ZsaS0wNy50eHQiIHN0eWxlPSJjb2xvcjojMDA4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsi
PiZndDs8L2E+PC90aD48dGg+PC90aD48L3RyPiAKICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5EaWFtZXRlciBNYWludGVuYW5jZSBhbmQgRXh0ZW5z
aW9ucyAoRElNRSkgICAgICAgICAgICAgIEouIEtvcmhvbmVuLCBFZC48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij5EaWFtZXRlciBNYWludGVuYW5jZSBhbmQgRXh0ZW5zaW9u
cyAoRElNRSkgICAgICAgICAgICAgIEouIEtvcmhvbmVuLCBFZC48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+SW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJy
b2FkY29tPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+SW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyb2Fk
Y29tPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPkludGVuZGVkIHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgIFMuIERvbm92YW4sIEVkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPkludGVuZGVkIHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgIFMuIERvbm92YW4sIEVkLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMDEiIC8+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj5FeHBpcmVzOiBKdWx5IDxzcGFuIGNsYXNzPSJkZWxldGUi
PjEyPC9zcGFuPiwgMjAxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEIuIENhbXBiZWxsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPkV4cGlyZXM6
IEp1bHkgPHNwYW4gY2xhc3M9Imluc2VydCI+MzA8L3NwYW4+LCAyMDE1ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQi4gQ2FtcGJlbGw8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
T3JhY2xlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Jh
Y2xlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEwuIE1vcmFuZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEwuIE1vcmFuZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JhbmdlIExhYnM8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JhbmdlIExhYnM8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5h
bWU9ImRpZmYwMDAyIiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i
ZGVsZXRlIj4gSmFudWFyeSA4PC9zcGFuPiwgMjAxNTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPkphbnVhcnkgMjY8L3NwYW4+LCAy
MDE1PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAg
ICAgICAgRGlhbWV0ZXIgT3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgIERpYW1ldGVyIE92ZXJs
b2FkIEluZGljYXRpb24gQ29udmV5YW5jZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMDMiIC8+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgZHJhZnQtaWV0
Zi1kaW1lLW92bGktMDxzcGFuIGNsYXNzPSJkZWxldGUiPjY8L3NwYW4+LnR4dDwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgZHJhZnQt
aWV0Zi1kaW1lLW92bGktMDxzcGFuIGNsYXNzPSJpbnNlcnQiPjc8L3NwYW4+LnR4dDwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+QWJzdHJhY3Q8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5BYnN0cmFjdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBiYXNl
IHNvbHV0aW9uIGZvciBEaWFtZXRlciBvdmVybG9hZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgYmFzZSBzb2x1dGlv
biBmb3IgRGlhbWV0ZXIgb3ZlcmxvYWQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29udHJvbCwgcmVmZXJyZWQgdG8gYXMg
RGlhbWV0ZXIgT3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgY29udHJvbCwgcmVmZXJyZWQgdG8gYXMgRGlhbWV0ZXIg
T3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252ZXlhbmNlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIChET0lDKS48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAoRE9JQykuPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij5TdGF0dXMgb2YgVGhpcyBNZW1vPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+U3RhdHVzIG9mIFRoaXMgTWVtbzwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBJbnRlcm5ldC1EcmFmdCBpcyBzdWJt
aXR0ZWQgaW4gZnVsbCBjb25mb3JtYW5jZSB3aXRoIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgaXMgc3VibWl0dGVkIGluIGZ1
bGwgY29uZm9ybWFuY2Ugd2l0aCB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBiZ2NvbG9yPSJncmF5IiA+
PHRkPjwvdGQ+PHRoPjxhIG5hbWU9InBhcnQtbDIiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNo
YW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDEsIGxpbmUgMzY8L2VtPjwvdGg+PHRoPiA8L3Ro
Pjx0aD48YSBuYW1lPSJwYXJ0LXIyIiAvPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8
L3NtYWxsPjxlbT4gcGFnZSAxLCBsaW5lIDM2PC9lbT48L3RoPjx0ZD48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBJbnRlcm5ldC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRo
ZSBJbnRlcm5ldCBFbmdpbmVlcmluZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVy
bmV0IEVuZ2luZWVyaW5nPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRhc2sgRm9yY2UgKElFVEYpLiAgTm90ZSB0aGF0IG90
aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0cmlidXRlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgVGFzayBGb3JjZSAoSUVURikuICBOb3RlIHRoYXQgb3RoZXIgZ3JvdXBz
IG1heSBhbHNvIGRpc3RyaWJ1dGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJu
ZXQtRHJhZnRzLiAgVGhlIGxpc3Qgb2YgY3VycmVudCBJbnRlcm5ldC08L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC1E
cmFmdHMuICBUaGUgbGlzdCBvZiBjdXJyZW50IEludGVybmV0LTwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBEcmFmdHMgaXMg
YXQgaHR0cDovL2RhdGF0cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBEcmFmdHMgaXMgYXQgaHR0cDovL2RhdGF0
cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1l
bnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1vbnRoczwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRz
IHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1vbnRoczwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhbmQgbWF5IGJlIHVw
ZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFu
eTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFuZCBtYXkgYmUgdXBkYXRl
ZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIHRpbWUuICBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1EcmFmdHMg
YXMgcmVmZXJlbmNlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdGltZS4g
IEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVu
Y2U8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgbWF0ZXJpYWwgb3IgdG8gY2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsg
aW4gcHJvZ3Jlc3MuIjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG1hdGVy
aWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dyZXNzLiI8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJk
aWZmMDAwNCIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIFRoaXMgSW50ZXJuZXQtRHJh
ZnQgd2lsbCBleHBpcmUgb24gSnVseSA8c3BhbiBjbGFzcz0iZGVsZXRlIj4xMjwvc3Bhbj4s
IDIwMTUuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRoaXMgSW50ZXJu
ZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gSnVseSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4zMDwv
c3Bhbj4sIDIwMTUuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5D
b3B5cmlnaHQgTm90aWNlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+Q29weXJp
Z2h0IE5vdGljZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
Q29weXJpZ2h0IChjKSAyMDE1IElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50aWZp
ZWQgYXMgdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQ29weXJpZ2h0
IChjKSAyMDE1IElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50aWZpZWQgYXMgdGhl
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIGRvY3VtZW50IGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGRvY3VtZW50IGF1dGhvcnMuICBBbGwgcmln
aHRzIHJlc2VydmVkLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIEJDUCA3OCBhbmQgdGhlIElFVEYgVHJ1
c3QncyBMZWdhbDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9j
dW1lbnQgaXMgc3ViamVjdCB0byBCQ1AgNzggYW5kIHRoZSBJRVRGIFRydXN0J3MgTGVnYWw8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50czwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFByb3Zpc2lvbnMgUmVsYXRpbmcgdG8gSUVURiBE
b2N1bWVudHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgKGh0dHA6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykg
aW4gZWZmZWN0IG9uIHRoZSBkYXRlIG9mPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgKGh0dHA6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0
IG9uIHRoZSBkYXRlIG9mPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9jdW1lbnQuICBQ
bGVhc2UgcmV2aWV3IHRoZXNlIGRvY3VtZW50czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9jdW1lbnQuICBQbGVhc2UgcmV2aWV3
IHRoZXNlIGRvY3VtZW50czwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90
ZD48dGg+PGEgbmFtZT0icGFydC1sMyIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0
PC9zbWFsbD48ZW0+IHBhZ2UgMiwgbGluZSAyNzwvZW0+PC90aD48dGg+IDwvdGg+PHRoPjxh
IG5hbWU9InBhcnQtcjMiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+
PGVtPiBwYWdlIDIsIGxpbmUgMjc8L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgICAgNC41LiAgU2ltcGxpZmllZCBFeGFtcGxlIEFyY2hpdGVjdHVyZSAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAxMTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
ICAgNC41LiAgU2ltcGxpZmllZCBFeGFtcGxlIEFyY2hpdGVjdHVyZSAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAxMTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICA1LiAgU29sdXRpb24gUHJvY2VkdXJlcyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTI8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICA1LiAgU29sdXRpb24gUHJvY2VkdXJlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTI8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA1LjEuICBDYXBh
YmlsaXR5IEFubm91bmNlbWVudCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDEyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA1LjEuICBDYXBhYmls
aXR5IEFubm91bmNlbWVudCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEy
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgICAgICA1LjEuMS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAxMzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgICAgICA1LjEuMS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAxMzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgNS4xLjIuICBSZXBvcnRpbmcgTm9kZSBC
ZWhhdmlvciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgNS4xLjIuICBSZXBvcnRpbmcgTm9kZSBCZWhh
dmlvciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTM8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgIDUuMS4z
LiAgQWdlbnQgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDE0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgIDUuMS4zLiAg
QWdlbnQgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDE0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgICAgNS4yLiAgT3ZlcmxvYWQgUmVwb3J0IFByb2Nlc3NpbmcgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgICAgNS4yLiAgT3ZlcmxvYWQgUmVwb3J0IFByb2Nlc3NpbmcgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAxNTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgNS4yLjEuICBPdmVybG9hZCBDb250
cm9sIFN0YXRlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTU8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgNS4yLjEuICBPdmVybG9hZCBDb250cm9s
IFN0YXRlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTU8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgIDUu
Mi4yLiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDE5PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgIDUuMi4y
LiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDE5PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgICAgICA1LjIuMy4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgICAgICA1LjIuMy4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMDUiIC8+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgIDUuMy4gIFByb3RvY29sIEV4dGVuc2liaWxp
dHkgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjxzcGFuIGNsYXNzPSJk
ZWxldGUiPjE8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAg
NS4zLiAgUHJvdG9jb2wgRXh0ZW5zaWJpbGl0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAyPHNwYW4gY2xhc3M9Imluc2VydCI+Mjwvc3Bhbj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgNi4gIExv
c3MgQWxnb3JpdGhtICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDIyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgNi4gIExvc3Mg
QWxnb3JpdGhtICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDIyPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAwNiIgLz48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgICAgNi4xLiAgT3ZlcnZpZXcgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAyPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Mjwvc3Bhbj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICA2LjEuICBPdmVydmlldyAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI8c3BhbiBj
bGFzcz0iaW5zZXJ0Ij4zPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDYuMi4gIFJlcG9ydGluZyBOb2RlIEJl
aGF2aW9yIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjM8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDYuMi4gIFJlcG9ydGluZyBOb2RlIEJlaGF2
aW9yIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjM8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA2LjMu
ICBSZWFjdGluZyBOb2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDI0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA2LjMuICBS
ZWFjdGluZyBOb2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDI0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgIDcuICBBdHRyaWJ1dGUgVmFsdWUgUGFpcnMgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIDcuICBBdHRyaWJ1dGUgVmFsdWUgUGFpcnMgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDcuMS4gIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcyBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjU8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDcuMS4gIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjU8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA3
LjIuICBPQy1GZWF0dXJlLVZlY3RvciBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDI1PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA3LjIu
ICBPQy1GZWF0dXJlLVZlY3RvciBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDI1PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgICAgNy4zLiAgT0MtT0xSIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgICAgNy4zLiAgT0MtT0xSIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDcuNC4gIE9DLVNlcXVlbmNl
LU51bWJlciBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjY8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDcuNC4gIE9DLVNlcXVlbmNlLU51
bWJlciBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjY8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
ICA3LjUuICBPQy1WYWxpZGl0eS1EdXJhdGlvbiBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDI2PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA3
LjUuICBPQy1WYWxpZGl0eS1EdXJhdGlvbiBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDI2PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgICAgNy42LiAgT0MtUmVwb3J0LVR5cGUgQVZQICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgICAgNy42LiAgT0MtUmVwb3J0LVR5cGUgQVZQICAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDcuNy4gIE9DLVJlZHVj
dGlvbi1QZXJjZW50YWdlIEFWUCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjc8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDcuNy4gIE9DLVJlZHVjdGlv
bi1QZXJjZW50YWdlIEFWUCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjc8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgICA3LjguICBBdHRyaWJ1dGUgVmFsdWUgUGFpciBmbGFnIHJ1bGVzIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDI3PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ICA3LjguICBBdHRyaWJ1dGUgVmFsdWUgUGFpciBmbGFnIHJ1bGVzIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDI3PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDguICBFcnJvciBSZXNwb25zZSBDb2RlcyAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyODwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIDguICBFcnJvciBSZXNwb25zZSBDb2RlcyAgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyODwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICA5LiAgSUFOQSBDb25z
aWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
Mjg8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICA5LiAgSUFOQSBDb25zaWRl
cmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjg8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgICA5LjEuICBBVlAgY29kZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDI4PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgICA5LjEuICBBVlAgY29kZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDI4PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAwNyIgLz48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPiAgICAgOS4yLiAgTmV3IHJlZ2lzdHJpZXMgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyPHNwYW4gY2xhc3M9ImRlbGV0ZSI+
ODwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICA5LjIuICBO
ZXcgcmVnaXN0cmllcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDI8c3BhbiBjbGFzcz0iaW5zZXJ0Ij45PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAxMC4gU2VjdXJpdHkg
Q29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
Mjk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAxMC4gU2VjdXJpdHkgQ29u
c2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjk8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA4IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg
ICAxMC4xLiAgUG90ZW50aWFsIFRocmVhdCBNb2RlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPjI5PC9zcGFuPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIDEwLjEuICBQb3RlbnRpYWwgVGhyZWF0IE1v
ZGVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9Imlu
c2VydCI+MzA8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgMTAuMi4gIERlbmlhbCBvZiBTZXJ2aWNlIEF0dGFj
a3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgICAgMTAuMi4gIERlbmlhbCBvZiBTZXJ2aWNlIEF0dGFja3Mg
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDEwLjMuICBOb24t
Q29tcGxpYW50IE5vZGVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MzE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDEwLjMuICBOb24tQ29t
cGxpYW50IE5vZGVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzE8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA5IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg
ICAxMC40LiAgRW5kLXRvIEVuZC1TZWN1cml0eSBJc3N1ZXMgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDM8c3BhbiBjbGFzcz0iZGVsZXRlIj4xPC9zcGFuPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIDEwLjQuICBFbmQtdG8gRW5kLVNlY3VyaXR5
IElzc3VlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzxzcGFuIGNsYXNzPSJp
bnNlcnQiPjI8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDExLiBDb250cmlidXRvcnMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMzwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIDExLiBDb250cmlidXRvcnMgIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMzwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAxMi4gUmVmZXJlbmNl
cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MzM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAxMi4gUmVmZXJlbmNlcyAg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzM8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgICAxMi4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDMzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgICAxMi4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gIDMzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgMTIuMi4gIEluZm9ybWF0aXZlIFJlZmVyZW5j
ZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMzwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgMTIuMi4gIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzMzwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBcHBlbmRpeCBB
LiAgSXNzdWVzIGxlZnQgZm9yIGZ1dHVyZSBzcGVjaWZpY2F0aW9ucyAgLiAuIC4gLiAuIC4g
LiAgMzQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBcHBlbmRpeCBBLiAg
SXNzdWVzIGxlZnQgZm9yIGZ1dHVyZSBzcGVjaWZpY2F0aW9ucyAgLiAuIC4gLiAuIC4gLiAg
MzQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgICBBLjEuICBBZGRpdGlvbmFsIHRyYWZmaWMgYWJhdGVtZW50IGFsZ29yaXRo
bXMgLiAuIC4gLiAuIC4gLiAuIC4gIDM0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgICBBLjEuICBBZGRpdGlvbmFsIHRyYWZmaWMgYWJhdGVtZW50IGFsZ29yaXRobXMg
LiAuIC4gLiAuIC4gLiAuIC4gIDM0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgQS4yLiAgQWdlbnQgT3ZlcmxvYWQgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNDwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgQS4yLiAgQWdlbnQgT3ZlcmxvYWQgIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIEEuMy4g
IE5ldyBFcnJvciBEaWFnbm9zdGljIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMzQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIEEuMy4gIE5l
dyBFcnJvciBEaWFnbm9zdGljIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMzQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgQXBwZW5kaXggQi4gIERlcGxveW1lbnQgQ29uc2lkZXJhdGlvbnMgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgQXBwZW5kaXggQi4gIERlcGxveW1lbnQgQ29uc2lkZXJhdGlvbnMgIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEFwcGVuZGl4IEMuICBSZXF1aXJlbWVu
dHMgQ29uZm9ybWFuY2UgQW5hbHlzaXMgIC4gLiAuIC4gLiAuIC4gLiAuICAzNTwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEFwcGVuZGl4IEMuICBSZXF1aXJlbWVudHMg
Q29uZm9ybWFuY2UgQW5hbHlzaXMgIC4gLiAuIC4gLiAuIC4gLiAuICAzNTwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sNCIgLz48
c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgNCwgbGluZSAy
MjwvZW0+PC90aD48dGg+IDwvdGg+PHRoPjxhIG5hbWU9InBhcnQtcjQiIC8+PHNtYWxsPnNr
aXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDQsIGxpbmUgMjI8L2VtPjwv
dGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjIuICBUZXJtaW5vbG9neSBhbmQgQWJicmV2
aWF0aW9uczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjIuICBUZXJtaW5vbG9n
eSBhbmQgQWJicmV2aWF0aW9uczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgQWJhdGVtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
QWJhdGVtZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
ICBSZWFjdGlvbiB0byByZWNlaXB0IG9mIGFuIG92ZXJsb2FkIHJlcG9ydCByZXN1bHRpbmcg
aW4gYSByZWR1Y3Rpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBS
ZWFjdGlvbiB0byByZWNlaXB0IG9mIGFuIG92ZXJsb2FkIHJlcG9ydCByZXN1bHRpbmcgaW4g
YSByZWR1Y3Rpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgaW4gdHJhZmZpYyBzZW50IHRvIHRoZSByZXBvcnRpbmcg
bm9kZS4gIEFiYXRlbWVudCBhY3Rpb25zIGluY2x1ZGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICAgICBpbiB0cmFmZmljIHNlbnQgdG8gdGhlIHJlcG9ydGluZyBub2Rl
LiAgQWJhdGVtZW50IGFjdGlvbnMgaW5jbHVkZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBkaXZlcnNpb24gYW5kIHRo
cm90dGxpbmcuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgZGl2ZXJz
aW9uIGFuZCB0aHJvdHRsaW5nLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgQWJhdGVtZW50IEFsZ29yaXRobTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIEFiYXRlbWVudCBBbGdvcml0aG08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxMCIgLz48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPiAgICAgIEFuIGV4dGVuc2libGUgbWU8c3BhbiBjbGFzcz0iZGVsZXRlIj5j
aGFuaXNtPC9zcGFuPiByZXF1ZXN0ZWQgYnkgcmVwb3J0aW5nIG5vZGVzIGFuZCB1c2VkIGJ5
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIEFuIGV4dGVuc2libGUg
bWU8c3BhbiBjbGFzcz0iaW5zZXJ0Ij50aG9kPC9zcGFuPiByZXF1ZXN0ZWQgYnkgcmVwb3J0
aW5nIG5vZGVzIGFuZCB1c2VkIGJ5PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHJlYWN0aW5nIG5vZGVzIHRvIHJlZHVj
ZSB0aGUgYW1vdW50IG9mIHRyYWZmaWMgc2VudCBkdXJpbmcgYW48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICAgICByZWFjdGluZyBub2RlcyB0byByZWR1Y2UgdGhlIGFt
b3VudCBvZiB0cmFmZmljIHNlbnQgZHVyaW5nIGFuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIG9jY3VycmVuY2Ugb2Yg
b3ZlcmxvYWQgY29udHJvbC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg
ICBvY2N1cnJlbmNlIG9mIG92ZXJsb2FkIGNvbnRyb2wuPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBEaXZlcnNpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICBEaXZlcnNpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxMSIgLz48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgICAgIEFuIG92ZXJsb2FkIGFiYXRlbWVudCA8c3BhbiBjbGFzcz0iZGVsZXRlIj5t
ZWNoYW5pc20sPC9zcGFuPiB3aGVyZSB0aGUgcmVhY3Rpbmcgbm9kZSBzZWxlY3RzPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIEFuIG92ZXJsb2FkIGFiYXRlbWVu
dCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij50cmVhdG1lbnQ8L3NwYW4+IHdoZXJlIHRoZSByZWFj
dGluZyBub2RlIHNlbGVjdHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICBhbHRlcm5hdGUgZGVzdGluYXRpb25zIG9y
IHBhdGhzIDxzcGFuIGNsYXNzPSJkZWxldGUiPmZvcjwvc3Bhbj4gZm9yIHJlcXVlc3RzLjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBhbHRlcm5hdGUgZGVzdGlu
YXRpb25zIG9yIHBhdGhzIGZvciByZXF1ZXN0cy48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIEhvc3QtUm91dGVkIFJlcXVlc3RzPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgSG9zdC1Sb3V0ZWQgUmVxdWVzdHM8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIFJlcXVlc3RzIHRoYXQgYSByZWFj
dGluZyBub2RlIGtub3dzIHdpbGwgYmUgc2VydmVkIGJ5IGEgcGFydGljdWxhcjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIFJlcXVlc3RzIHRoYXQgYSByZWFjdGlu
ZyBub2RlIGtub3dzIHdpbGwgYmUgc2VydmVkIGJ5IGEgcGFydGljdWxhcjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBo
b3N0LCBlaXRoZXIgZHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhIERlc3RpbmF0aW9uLUhvc3Qg
QVZQLCBvciBieTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGhvc3Qs
IGVpdGhlciBkdWUgdG8gdGhlIHByZXNlbmNlIG9mIGEgRGVzdGluYXRpb24tSG9zdCBBVlAs
IG9yIGJ5PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgICAgIHNvbWUgb3RoZXIgbG9jYWwga25vd2xlZGdlIG9uIHRoZSBwYXJ0
IG9mIHRoZSByZWFjdGluZyBub2RlLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgICAgIHNvbWUgb3RoZXIgbG9jYWwga25vd2xlZGdlIG9uIHRoZSBwYXJ0IG9mIHRoZSBy
ZWFjdGluZyBub2RlLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZSAoT0NTKTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIE92ZXJsb2FkIENvbnRyb2wgU3RhdGUgKE9DUyk8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIEludGVybmFsIHN0YXRlIG1haW50
YWluZWQgYnkgYSByZXBvcnRpbmcgb3IgcmVhY3Rpbmcgbm9kZTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgICAgIEludGVybmFsIHN0YXRlIG1haW50YWluZWQgYnkgYSBy
ZXBvcnRpbmcgb3IgcmVhY3Rpbmcgbm9kZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXki
ID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sNSIgLz48c21hbGw+c2tpcHBpbmcgdG8g
Y2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgNSwgbGluZSAxNDwvZW0+PC90aD48dGg+IDwv
dGg+PHRoPjxhIG5hbWU9InBhcnQtcjUiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBh
dDwvc21hbGw+PGVtPiBwYWdlIDUsIGxpbmUgMTQ8L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgICAgIFJlcXVlc3RzIHRoYXQgYSByZWFjdGluZyBub2RlIGRvZXMgbm90
IGtub3cgd2hpY2ggaG9zdCB3aWxsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgICAgUmVxdWVzdHMgdGhhdCBhIHJlYWN0aW5nIG5vZGUgZG9lcyBub3Qga25vdyB3aGlj
aCBob3N0IHdpbGw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgc2VydmljZSB0aGUgcmVxdWVzdC48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBzZXJ2aWNlIHRoZSByZXF1ZXN0LjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgUmVwb3J0aW5nIE5vZGU8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBSZXBvcnRpbmcgTm9kZTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgQSBEaWFtZXRlciBub2Rl
IHRoYXQgZ2VuZXJhdGVzIGFuIG92ZXJsb2FkIHJlcG9ydC4gIChUaGlzIG1heSBvcjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIEEgRGlhbWV0ZXIgbm9kZSB0aGF0
IGdlbmVyYXRlcyBhbiBvdmVybG9hZCByZXBvcnQuICAoVGhpcyBtYXkgb3I8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg
bWF5IG5vdCBiZSB0aGUgb3ZlcmxvYWRlZCBub2RlLik8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICAgICBtYXkgbm90IGJlIHRoZSBvdmVybG9hZGVkIG5vZGUuKTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhyb3R0bGluZzwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRocm90dGxpbmc8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxMiIgLz48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPkEgbWVj
aGFuaXNtIGZvciBvdmVybG9hZDwvc3Bhbj4gYWJhdGVtZW50IHRoYXQgbGltaXRzIHRoZSBu
dW1iZXIgb2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgPHNwYW4g
Y2xhc3M9Imluc2VydCI+QW48L3NwYW4+IGFiYXRlbWVudCA8c3BhbiBjbGFzcz0iaW5zZXJ0
Ij50cmVhdG1lbnQ8L3NwYW4+IHRoYXQgbGltaXRzIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMg
c2VudCBieTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPiAgICAgIHJlcXVlc3RzIHNlbnQgYnkgdGhlIERJT0MgcmVhY3Rpbmcg
bm9kZS4gIFRocm90dGxpbmcgY2FuIGluY2x1ZGUgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj4gICAgICB0aGUgRElPQyByZWFjdGluZyBub2RlLiAgVGhyb3R0bGluZyBj
YW4gaW5jbHVkZSBhIERpYW1ldGVyIENsaWVudDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIERpYW1ldGVyIENsaWVu
dCBjaG9vc2luZyB0byBub3Qgc2VuZCByZXF1ZXN0cywgb3IgYSBEaWFtZXRlciBBZ2VudDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBjaG9vc2luZyB0byBub3Qg
c2VuZCByZXF1ZXN0cywgb3IgYSBEaWFtZXRlciBBZ2VudCBvciBTZXJ2ZXI8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAg
ICBvciBTZXJ2ZXIgcmVqZWN0aW5nIHJlcXVlc3RzIHdpdGggYXBwcm9wcmlhdGUgZXJyb3Ig
cmVzcG9uc2VzLiAgSW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAg
cmVqZWN0aW5nIHJlcXVlc3RzIHdpdGggYXBwcm9wcmlhdGUgZXJyb3IgcmVzcG9uc2VzLiAg
SW4gYm90aDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPiAgICAgIGJvdGggY2FzZXMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyb3R0
bGluZyBpcyBhIHBlcm1hbmVudCByZWplY3Rpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+ICAgICAgY2FzZXMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyb3R0bGluZyBpcyBh
IHBlcm1hbmVudCByZWplY3Rpb24gb2YgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgb2YgdGhlIHRyYW5zYWN0
aW9uLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICB0cmFuc2FjdGlv
bi48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjMuICBDb252ZW50
aW9ucyBVc2VkIGluIFRoaXMgRG9jdW1lbnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4zLiAgQ29udmVudGlvbnMgVXNlZCBpbiBUaGlzIERvY3VtZW50PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGUga2V5IHdvcmRzICJNVVNUIiwg
Ik1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlIGtleSB3b3JkcyAiTVVTVCIsICJNVVNU
IE5PVCIsICJSRVFVSVJFRCIsICJTSEFMTCIsICJTSEFMTCBOT1QiLDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAiU0hPVUxE
IiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIg
aW4gdGhpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICJTSE9VTEQiLCAi
U0hPVUxEIE5PVCIsICJSRUNPTU1FTkRFRCIsICJNQVkiLCBhbmQgIk9QVElPTkFMIiBpbiB0
aGlzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNjcmliZWQg
aW4gUkZDIDIxMTkgW1JGQzIxMTldLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNjcmliZWQgaW4gUkZD
IDIxMTkgW1JGQzIxMTldLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDEzIiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PlJGQyAyMTE5IFtSRkMyMTE5XSBpbnRlcnByZXRhdGlvbiBkb2VzIG5vdCBhcHBseSBmb3Ig
dGhlIGFib3ZlIGxpc3RlZDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgd29yZHMgd2hlbiB0aGV5IGFyZSBu
b3QgdXNlZCBpbiBhbGwtY2FwcyBmb3JtYXQuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjQuICBTb2x1dGlv
biBPdmVydmlldzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjQuICBTb2x1dGlv
biBPdmVydmlldzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
VGhlIERpYW1ldGVyIE92ZXJsb2FkIEluZm9ybWF0aW9uIENvbnZleWFuY2UgKERPSUMpIHNv
bHV0aW9uIGFsbG93czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoZSBE
aWFtZXRlciBPdmVybG9hZCBJbmZvcm1hdGlvbiBDb252ZXlhbmNlIChET0lDKSBzb2x1dGlv
biBhbGxvd3M8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgRGlhbWV0ZXIgbm9kZXMgdG8gcmVxdWVzdCBvdGhlciBEaWFtZXRl
ciBub2RlcyB0byBwZXJmb3JtIG92ZXJsb2FkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgRGlhbWV0ZXIgbm9kZXMgdG8gcmVxdWVzdCBvdGhlciBEaWFtZXRlciBub2Rl
cyB0byBwZXJmb3JtIG92ZXJsb2FkPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFiYXRlbWVudCBhY3Rpb25zLCB0aGF0IGlz
LCBhY3Rpb25zIHRvIHJlZHVjZSB0aGUgbG9hZCBvZmZlcmVkIHRvIHRoZTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFiYXRlbWVudCBhY3Rpb25zLCB0aGF0IGlzLCBh
Y3Rpb25zIHRvIHJlZHVjZSB0aGUgbG9hZCBvZmZlcmVkIHRvIHRoZTwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvdmVybG9h
ZGVkIG5vZGUgb3IgcmVhbG0uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
b3ZlcmxvYWRlZCBub2RlIG9yIHJlYWxtLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgQSBEaWFtZXRlciBub2RlIHRoYXQgc3VwcG9ydHMgRE9JQyBpcyBr
bm93biBhcyBhICJET0lDIG5vZGUiLiAgQW55PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgQSBEaWFtZXRlciBub2RlIHRoYXQgc3VwcG9ydHMgRE9JQyBpcyBrbm93biBh
cyBhICJET0lDIG5vZGUiLiAgQW55PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERpYW1ldGVyIG5vZGUgY2FuIGFjdCBhcyBh
IERPSUMgbm9kZSwgaW5jbHVkaW5nIERpYW1ldGVyIENsaWVudHMsPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgRGlhbWV0ZXIgbm9kZSBjYW4gYWN0IGFzIGEgRE9JQyBu
b2RlLCBpbmNsdWRpbmcgRGlhbWV0ZXIgQ2xpZW50cyw8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgRGlhbWV0ZXIgU2VydmVy
cywgYW5kIERpYW1ldGVyIEFnZW50cy4gIERPSUMgbm9kZXMgYXJlIGZ1cnRoZXI8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBEaWFtZXRlciBTZXJ2ZXJzLCBhbmQgRGlh
bWV0ZXIgQWdlbnRzLiAgRE9JQyBub2RlcyBhcmUgZnVydGhlcjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJn
Y29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sNiIgLz48c21hbGw+
c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgOCwgbGluZSA0OTwvZW0+
PC90aD48dGg+IDwvdGg+PHRoPjxhIG5hbWU9InBhcnQtcjYiIC8+PHNtYWxsPnNraXBwaW5n
IHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDksIGxpbmUgNTwvZW0+PC90aD48dGQ+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcmVxdWVzdGVkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIHJlcXVlc3RlZC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgICAgIE5vdGUgdGhhdCB0aGUgbG9zcyBhbGdvcml0aG0gZGVmaW5l
ZCBpbiB0aGlzIGRvY3VtZW50IGlzIGE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICAgICBOb3RlIHRoYXQgdGhlIGxvc3MgYWxnb3JpdGhtIGRlZmluZWQgaW4gdGhpcyBk
b2N1bWVudCBpcyBhPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgICAgIHN0YXRlbGVzcyBhYmF0ZW1lbnQgYWxnb3JpdGhtLiAg
QXMgYSByZXN1bHQgaXQgZG9lcyBub3QgcmVxdWlyZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgICAgIHN0YXRlbGVzcyBhYmF0ZW1lbnQgYWxnb3JpdGhtLiAgQXMgYSBy
ZXN1bHQgaXQgZG9lcyBub3QgcmVxdWlyZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBhbnkgYWN0aW9ucyBieSByZWFj
dGluZyBub2RlcyBwcmlvciB0byB0aGUgcmVjZWlwdCBvZiBhbiBvdmVybG9hZDwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGFueSBhY3Rpb25zIGJ5IHJlYWN0aW5n
IG5vZGVzIHByaW9yIHRvIHRoZSByZWNlaXB0IG9mIGFuIG92ZXJsb2FkPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHJl
cG9ydC4gIFN0YXRlZnVsIGFiYXRlbWVudCBhbGdvcml0aG1zIHRoYXQgYmFzZSB0aGUgYWJh
dGVtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgcmVwb3J0LiAg
U3RhdGVmdWwgYWJhdGVtZW50IGFsZ29yaXRobXMgdGhhdCBiYXNlIHRoZSBhYmF0ZW1lbnQ8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgICAgbG9naWMgb24gYSBoaXN0b3J5IG9mIHJlcXVlc3QgbWVzc2FnZXMgc2VudCBt
aWdodCByZXF1aXJlIHJlYWN0aW5nPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgICAgbG9naWMgb24gYSBoaXN0b3J5IG9mIHJlcXVlc3QgbWVzc2FnZXMgc2VudCBtaWdo
dCByZXF1aXJlIHJlYWN0aW5nPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIG5vZGVzIHRvIG1haW50YWluIHN0YXRlIGlu
IGFkdmFuY2Ugb2YgcmVjZWl2aW5nIGFuIG92ZXJsb2FkIHJlcG9ydDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIG5vZGVzIHRvIG1haW50YWluIHN0YXRlIGluIGFk
dmFuY2Ugb2YgcmVjZWl2aW5nIGFuIG92ZXJsb2FkIHJlcG9ydDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICB0byBlbnN1
cmUgdGhhdCB0aGUgb3ZlcmxvYWQgcmVwb3J0cyBjYW4gYmUgcHJvcGVybHkgaGFuZGxlZC48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICB0byBlbnN1cmUgdGhhdCB0
aGUgb3ZlcmxvYWQgcmVwb3J0cyBjYW4gYmUgcHJvcGVybHkgaGFuZGxlZC48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxNCIg
Lz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPlJlcG9y
dGluZyBub2RlcyBjYW4gY2hhbmdlIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGht
IGluZGljYXRlZDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgaW4gdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFW
UCBpZiB0aGUgcmVwb3J0aW5nIG5vZGUgaXMgbm90IGN1cnJlbnRseTwvc3Bhbj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+
ICAgaW4gYW4gb3ZlcmxvYWQgY29uZGl0aW9uIGFuZCBzZW5kaW5nIG92ZXJsb2FkIHJlcG9y
dHMuICBUaGUgcmVwb3J0aW5nPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBub2RlIGlzIG5vdCBhbGxvd2Vk
IHRvIGNoYW5nZSB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSB3aGlsZTwvc3Bh
bj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9
ImRlbGV0ZSI+ICAgdGhlIHJlcG9ydGluZyBub2RlIGlzIGluIGFuIG92ZXJsb2FkIGNvbmRp
dGlvbi48L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIFRoZSBEQ0EgbWVjaGFuaXNtIG11c3QgYWxzbyBhbGxvdyB0aGUgc2NlbmFyaW8gd2hl
cmUgdGhlIHNldCBvZjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoZSBE
Q0EgbWVjaGFuaXNtIG11c3QgYWxzbyBhbGxvdyB0aGUgc2NlbmFyaW8gd2hlcmUgdGhlIHNl
dCBvZjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhlIHNlbmRlciBvZiBhIHJlcXVl
c3QgYW5kIGJ5IGFnZW50cyBpbiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhlIHNlbmRlciBvZiBhIHJlcXVlc3QgYW5k
IGJ5IGFnZW50cyBpbiB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcGF0aCBvZiBhIHJlcXVlc3QgZGlmZmVyLiAgSW4g
dGhpcyBjYXNlLCB0aGUgYWdlbnQgY2FuIHVwZGF0ZSB0aGUgT0MtPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgcGF0aCBvZiBhIHJlcXVlc3QgZGlmZmVyLiAgSW4gdGhp
cyBjYXNlLCB0aGUgYWdlbnQgY2FuIHVwZGF0ZSB0aGUgT0MtPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFN1cHBvcnRlZC1G
ZWF0dXJlcyBBVlAgdG8gcmVmbGVjdCB0aGUgbWl4dHVyZSBvZiB0aGUgdHdvIHNldHMgb2Y8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBTdXBwb3J0ZWQtRmVhdHVyZXMg
QVZQIHRvIHJlZmxlY3QgdGhlIG1peHR1cmUgb2YgdGhlIHR3byBzZXRzIG9mPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHN1
cHBvcnRlZCBmZWF0dXJlcy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBz
dXBwb3J0ZWQgZmVhdHVyZXMuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgICBOb3RlOiBUaGUgbG9naWMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBjb250ZW50
IG9mIHRoZSBPQy1TdXBwb3J0ZWQtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgICAgTm90ZTogVGhlIGxvZ2ljIHRvIGRldGVybWluZSBpZiB0aGUgY29udGVudCBvZiB0
aGUgT0MtU3VwcG9ydGVkLTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBGZWF0dXJlcyBBVlAgc2hvdWxkIGJlIGNoYW5n
ZWQgaXMgb3V0LW9mLXNjb3BlIGZvciB0aGlzIGRvY3VtZW50LDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgICAgIEZlYXR1cmVzIEFWUCBzaG91bGQgYmUgY2hhbmdlZCBp
cyBvdXQtb2Ytc2NvcGUgZm9yIHRoaXMgZG9jdW1lbnQsPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGFzIGlzIHRoZSBs
b2dpYyB0byBkZXRlcm1pbmUgdGhlIGNvbnRlbnQgb2YgYSBtb2RpZmllZCBPQy08L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBhcyBpcyB0aGUgbG9naWMgdG8gZGV0
ZXJtaW5lIHRoZSBjb250ZW50IG9mIGEgbW9kaWZpZWQgT0MtPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIFN1cHBvcnRl
ZC1GZWF0dXJlcyBBVlAuICBUaGVzZSBhcmUgbGVmdCB0byBpbXBsZW1lbnRhdGlvbjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIFN1cHBvcnRlZC1GZWF0dXJlcyBB
VlAuICBUaGVzZSBhcmUgbGVmdCB0byBpbXBsZW1lbnRhdGlvbjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJn
Y29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sNyIgLz48c21hbGw+
c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTAsIGxpbmUgMTc8L2Vt
PjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXI3IiAvPjxzbWFsbD5za2lwcGlu
ZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAxMCwgbGluZSAxNTwvZW0+PC90aD48
dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgTm90ZTogS25vd24gaXNzdWVzIGV4aXN0
IGlmIG11bHRpcGxlIHNvdXJjZXMgZm9yIG92ZXJsb2FkIHJlcG9ydHM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBOb3RlOiBLbm93biBpc3N1ZXMgZXhpc3QgaWYg
bXVsdGlwbGUgc291cmNlcyBmb3Igb3ZlcmxvYWQgcmVwb3J0czwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICB3aGljaCBh
cHBseSB0byB0aGUgc2FtZSBEaWFtZXRlciBlbnRpdHkgZXhpc3QuICBSZWFjdGluZyBub2Rl
czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIHdoaWNoIGFwcGx5IHRv
IHRoZSBzYW1lIERpYW1ldGVyIGVudGl0eSBleGlzdC4gIFJlYWN0aW5nIG5vZGVzPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
ICAgIGhhdmUgbm8gd2F5IG9mIGRldGVybWluaW5nIHRoZSBzb3VyY2UgYW5kLCBhcyBzdWNo
LCB3aWxsIHRyZWF0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgaGF2
ZSBubyB3YXkgb2YgZGV0ZXJtaW5pbmcgdGhlIHNvdXJjZSBhbmQsIGFzIHN1Y2gsIHdpbGwg
dHJlYXQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgICAgdGhlbSBhcyBjb21pbmcgZnJvbSBhIHNpbmdsZSBzb3VyY2UuICBW
YXJpYW5jZSBpbiBzZXF1ZW5jZSBudW1iZXJzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgICAgdGhlbSBhcyBjb21pbmcgZnJvbSBhIHNpbmdsZSBzb3VyY2UuICBWYXJp
YW5jZSBpbiBzZXF1ZW5jZSBudW1iZXJzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGJldHdlZW4gdGhlIHR3byBzb3Vy
Y2VzIGNhbiB0aGVuIGNhdXNlIGluY29ycmVjdCBvdmVybG9hZDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgICAgIGJldHdlZW4gdGhlIHR3byBzb3VyY2VzIGNhbiB0aGVu
IGNhdXNlIGluY29ycmVjdCBvdmVybG9hZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBhYmF0ZW1lbnQgdHJlYXRtZW50
IHRvIGJlIGFwcGxpZWQgZm9yIGluZGV0ZXJtaW5hdGUgcGVyaW9kcyBvZjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gYmUg
YXBwbGllZCBmb3IgaW5kZXRlcm1pbmF0ZSBwZXJpb2RzIG9mPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHRpbWUuPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgdGltZS48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFJlcG9ydGluZyBub2RlcyBhcmUgcmVz
cG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBuZWVkIGZvciBhPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgUmVwb3J0aW5nIG5vZGVzIGFyZSByZXNwb25zaWJsZSBm
b3IgZGV0ZXJtaW5pbmcgdGhlIG5lZWQgZm9yIGE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcmVkdWN0aW9uIG9mIHRyYWZm
aWMuICBUaGUgbWV0aG9kIGZvciBtYWtpbmcgdGhpcyBkZXRlcm1pbmF0aW9uIGlzPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVkdWN0aW9uIG9mIHRyYWZmaWMuICBU
aGUgbWV0aG9kIGZvciBtYWtpbmcgdGhpcyBkZXRlcm1pbmF0aW9uIGlzPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBu
YW1lPSJkaWZmMDAxNSIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIGltcGxlbWVudGF0
aW9uIHNwZWNpZmljIGFuZCBkZXBlbmQgb24gdGhlIHR5cGUgb2Ygb3ZlcmxvYWQgcmVwb3J0
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGltcGxlbWVudGF0aW9uIHNw
ZWNpZmljIGFuZCBkZXBlbmQ8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5zPC9zcGFuPiBvbiB0aGUg
dHlwZSBvZiBvdmVybG9hZCByZXBvcnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYmVpbmcgZ2VuZXJhdGVkLiAgQSBob3N0
LXJlcG9ydCBtaWdodCBiZSBnZW5lcmF0ZWQgYnkgdHJhY2tpbmcgdXNlIG9mPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYmVpbmcgZ2VuZXJhdGVkLiAgQSBob3N0LXJl
cG9ydCBtaWdodCBiZSBnZW5lcmF0ZWQgYnkgdHJhY2tpbmcgdXNlIG9mPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlc291
cmNlcyByZXF1aXJlZCBieSB0aGUgaG9zdCB0byBoYW5kbGUgdHJhbnNhY3Rpb25zIGZvciB0
aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXNvdXJjZXMgcmVxdWly
ZWQgYnkgdGhlIGhvc3QgdG8gaGFuZGxlIHRyYW5zYWN0aW9ucyBmb3IgdGhlPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERp
YW1ldGVyIGFwcGxpY2F0aW9uLiAgQSByZWFsbS1yZXBvcnQgZ2VuZXJhbGx5IGltcGFjdHMg
dGhlIHRyYWZmaWM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBEaWFtZXRl
ciBhcHBsaWNhdGlvbi4gIEEgcmVhbG0tcmVwb3J0IGdlbmVyYWxseSBpbXBhY3RzIHRoZSB0
cmFmZmljPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgIHNlbnQgdG8gbXVsdGlwbGUgaG9zdHMgYW5kLCBhcyBzdWNoLCByZXF1
aXJlcyB0cmFja2luZyB0aGUgY2FwYWNpdHk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBzZW50IHRvIG11bHRpcGxlIGhvc3RzIGFuZCwgYXMgc3VjaCwgcmVxdWlyZXMg
dHJhY2tpbmcgdGhlIGNhcGFjaXR5PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG9mIGFsbCBzZXJ2ZXJzIGFibGUgdG8gaGFu
ZGxlIHJlYWxtLSByb3V0ZWQgcmVxdWVzdHMgZm9yIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIG9mIGFsbCBzZXJ2ZXJzIGFibGUgdG8gaGFuZGxlIHJlYWxtLSBy
b3V0ZWQgcmVxdWVzdHMgZm9yIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhcHBsaWNhdGlvbiBhbmQgcmVhbG0uPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYXBwbGljYXRpb24gYW5kIHJlYWxt
LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgT25jZSBhIHJl
cG9ydGluZyBub2RlIGRldGVybWluZXMgdGhlIG5lZWQgZm9yIGEgcmVkdWN0aW9uIGluIHRy
YWZmaWMsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgT25jZSBhIHJlcG9y
dGluZyBub2RlIGRldGVybWluZXMgdGhlIG5lZWQgZm9yIGEgcmVkdWN0aW9uIGluIHRyYWZm
aWMsPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIGl0IHVzZXMgdGhlIERPSUMgZGVmaW5lZCBBVlBzIHRvIHJlcG9ydCBvbiB0
aGUgY29uZGl0aW9uLiAgVGhlc2UgQVZQczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIGl0IHVzZXMgdGhlIERPSUMgZGVmaW5lZCBBVlBzIHRvIHJlcG9ydCBvbiB0aGUg
Y29uZGl0aW9uLiAgVGhlc2UgQVZQczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhcmUgaW5jbHVkZWQgaW4gYW5zd2VyIG1l
c3NhZ2VzIHNlbnQgb3IgcmVsYXllZCBieSB0aGUgcmVwb3J0aW5nPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgYXJlIGluY2x1ZGVkIGluIGFuc3dlciBtZXNzYWdlcyBz
ZW50IG9yIHJlbGF5ZWQgYnkgdGhlIHJlcG9ydGluZzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBub2RlLiAgVGhlIHJlcG9y
dGluZyBub2RlIGluZGljYXRlcyB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobTwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG5vZGUuICBUaGUgcmVwb3J0aW5n
IG5vZGUgaW5kaWNhdGVzIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IHRoYXQgaXMgdG8gYmUgdXNlZCB0byBoYW5kbGUgdGhlIHRyYWZmaWMgcmVkdWN0aW9uIGlu
IHRoZSBPQy08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGF0IGlzIHRv
IGJlIHVzZWQgdG8gaGFuZGxlIHRoZSB0cmFmZmljIHJlZHVjdGlvbiBpbiB0aGUgT0MtPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuICBUaGUgT0MtT0xSIEFWUCBpcyB1c2VkIHRv
IGNvbW11bmljYXRlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgU3VwcG9y
dGVkLUZlYXR1cmVzIEFWUC4gIFRoZSBPQy1PTFIgQVZQIGlzIHVzZWQgdG8gY29tbXVuaWNh
dGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcXVlc3RlZCByZWR1Y3Rpb24uPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaW5mb3JtYXRpb24gYWJvdXQgdGhl
IHJlcXVlc3RlZCByZWR1Y3Rpb24uPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMTYiIC8+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij4gICBSZWFjdGluZyBub2RlcywgdXBvbiByZWNlaXB0IG9mIGFuIG92ZXJsb2FkIHJlcG9y
dCwgYXBwbHk8c3BhbiBjbGFzcz0iZGVsZXRlIj5pbmc8L3NwYW4+IHRoZTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBSZWFjdGluZyBub2RlcywgdXBvbiByZWNlaXB0
IG9mIGFuIG92ZXJsb2FkIHJlcG9ydCwgYXBwbHkgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG92ZXJsb2FkIGFiYXRl
bWVudCBhbGdvcml0aG0gdG8gdHJhZmZpYyBpbXBhY3RlZCBieSB0aGUgb3ZlcmxvYWQ8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxn
b3JpdGhtIHRvIHRyYWZmaWMgaW1wYWN0ZWQgYnkgdGhlIG92ZXJsb2FkPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcG9y
dC4gIFRoZSBtZXRob2QgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHJlcXVlc3RzIHRoYXQgYXJl
IHRvPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVwb3J0LiAgVGhlIG1l
dGhvZCB1c2VkIHRvIGRldGVybWluZSB0aGUgcmVxdWVzdHMgdGhhdCBhcmUgdG88L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
cmVjZWl2ZSBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50IGlzIGRlcGVuZGVudCBvbiB0
aGUgYWJhdGVtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVjZWl2
ZSBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50IGlzIGRlcGVuZGVudCBvbiB0aGUgYWJh
dGVtZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgIGFsZ29yaXRobS4gIFRoZSBsb3NzIGFiYXRlbWVudCBhbGdvcml0aG0g
aXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgYWxnb3JpdGhtLiAgVGhlIGxvc3MgYWJhdGVtZW50IGFsZ29yaXRobSBpcyBk
ZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgKFNlY3Rpb24gNikuICBPdGhlciBhYmF0
ZW1lbnQgYWxnb3JpdGhtcyBjYW4gYmUgZGVmaW5lZCBpbiBleHRlbnNpb25zPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgKFNlY3Rpb24gNikuICBPdGhlciBhYmF0ZW1l
bnQgYWxnb3JpdGhtcyBjYW4gYmUgZGVmaW5lZCBpbiBleHRlbnNpb25zPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBu
YW1lPSJkaWZmMDAxNyIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHRvIHRoZSBET0lD
IHNvbHV0aW9uPHNwYW4gY2xhc3M9ImRlbGV0ZSI+czwvc3Bhbj4uPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyYmxvY2siPiAgIHRvIHRoZSBET0lDIHNvbHV0aW9uLjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVHdvIHR5cGVzIG9mIG92ZXJsb2Fk
IGFiYXRlbWVudCB0cmVhdG1lbnQgYXJlIGRlZmluZWQsIGRpdmVyc2lvbiBhbmQ8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUd28gdHlwZXMgb2Ygb3ZlcmxvYWQgYWJh
dGVtZW50IHRyZWF0bWVudCBhcmUgZGVmaW5lZCwgZGl2ZXJzaW9uIGFuZDwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aHJv
dHRsaW5nLiAgUmVhY3Rpbmcgbm9kZXMgYXJlIHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmlu
ZyB3aGljaDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHRocm90dGxpbmcu
ICBSZWFjdGluZyBub2RlcyBhcmUgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHdoaWNo
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIHRyZWF0bWVudCBpcyBhcHByb3ByaWF0ZSBmb3IgaW5kaXZpZHVhbCByZXF1ZXN0
cy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0cmVhdG1lbnQgaXMgYXBw
cm9wcmlhdGUgZm9yIGluZGl2aWR1YWwgcmVxdWVzdHMuPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBcyB0aGUgY29uZGl0aW9ucyB0aGF0IGxlYWQgdG8g
dGhlIGdlbmVyYXRpb24gb2YgdGhlIG92ZXJsb2FkIHJlcG9ydDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIEFzIHRoZSBjb25kaXRpb25zIHRoYXQgbGVhZCB0byB0aGUg
Z2VuZXJhdGlvbiBvZiB0aGUgb3ZlcmxvYWQgcmVwb3J0PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGNoYW5nZSB0aGUgcmVw
b3J0aW5nIG5vZGUgY2FuIHNlbmQgbmV3IG92ZXJsb2FkIHJlcG9ydHMgcmVxdWVzdGluZzwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGNoYW5nZSB0aGUgcmVwb3J0aW5n
IG5vZGUgY2FuIHNlbmQgbmV3IG92ZXJsb2FkIHJlcG9ydHMgcmVxdWVzdGluZzwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBn
cmVhdGVyIHJlZHVjdGlvbiBpZiB0aGUgY29uZGl0aW9uIGdldHMgd29yc2Ugb3IgbGVzcyBy
ZWR1Y3Rpb24gaWY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBncmVhdGVy
IHJlZHVjdGlvbiBpZiB0aGUgY29uZGl0aW9uIGdldHMgd29yc2Ugb3IgbGVzcyByZWR1Y3Rp
b24gaWY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgdGhlIGNvbmRpdGlvbiBpbXByb3Zlcy4gIFRoZSByZXBvcnRpbmcgbm9k
ZSBzZW5kcyBhbiBvdmVybG9hZCByZXBvcnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICB0aGUgY29uZGl0aW9uIGltcHJvdmVzLiAgVGhlIHJlcG9ydGluZyBub2RlIHNl
bmRzIGFuIG92ZXJsb2FkIHJlcG9ydDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB3aXRoIGEgZHVyYXRpb24gb2YgemVybyB0
byBpbmRpY2F0ZSB0aGF0IHRoZSBvdmVybG9hZCBjb25kaXRpb24gaGFzPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgd2l0aCBhIGR1cmF0aW9uIG9mIHplcm8gdG8gaW5k
aWNhdGUgdGhhdCB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGhhczwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJn
Y29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sOCIgLz48c21hbGw+
c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTEsIGxpbmUgMjc8L2Vt
PjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXI4IiAvPjxzbWFsbD5za2lwcGlu
ZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAxMSwgbGluZSAyMzwvZW0+PC90aD48
dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZGVmaW5pdGlvbiBvZiBuZXcgcmVwb3J0IHR5
cGVzIGFuZCB0aGUgZGVmaW5pdGlvbiBvZiBuZXcgc2NvcGVzIG9mPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgZGVmaW5pdGlvbiBvZiBuZXcgcmVwb3J0IHR5cGVzIGFu
ZCB0aGUgZGVmaW5pdGlvbiBvZiBuZXcgc2NvcGVzIG9mPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG1lc3NhZ2VzIGltcGFj
dGVkIGJ5IGFuIG92ZXJsb2FkIHJlcG9ydC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBtZXNzYWdlcyBpbXBhY3RlZCBieSBhbiBvdmVybG9hZCByZXBvcnQuPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBIERPSUMgbm9kZSBjb21t
dW5pY2F0ZXMgc3VwcG9ydGVkIGZlYXR1cmVzIGJ5IGluY2x1ZGluZyB0aGVtIGluIHRoZTwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEEgRE9JQyBub2RlIGNvbW11bmlj
YXRlcyBzdXBwb3J0ZWQgZmVhdHVyZXMgYnkgaW5jbHVkaW5nIHRoZW0gaW4gdGhlPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IE9DLUZlYXR1cmUtVmVjdG9yIEFWUCwgYXMgYSBzdWItQVZQIG9mIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcy4gIEFueTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIE9DLUZl
YXR1cmUtVmVjdG9yIEFWUCwgYXMgYSBzdWItQVZQIG9mIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cy4gIEFueTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICBub24tYmFja3dhcmRzIGNvbXBhdGlibGUgRE9JQyBleHRlbnNpb25z
IGRlZmluZSBuZXcgdmFsdWVzIGZvciB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBub24tYmFja3dhcmRzIGNvbXBhdGlibGUgRE9JQyBleHRlbnNpb25zIGRlZmlu
ZSBuZXcgdmFsdWVzIGZvciB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLiAgRE9J
QyBleHRlbnNpb25zIGFsc28gaGF2ZSB0aGUgYWJpbGl0eSB0byBhZGQ8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBPQy1GZWF0dXJlLVZlY3RvciBBVlAuICBET0lDIGV4
dGVuc2lvbnMgYWxzbyBoYXZlIHRoZSBhYmlsaXR5IHRvIGFkZDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBuZXcgQVZQcyB0
byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCwgaWYgYWRkaXRpb25hbCBpbmZvcm1h
dGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG5ldyBBVlBzIHRvIHRo
ZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLCBpZiBhZGRpdGlvbmFsIGluZm9ybWF0aW9u
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIGFib3V0IHRoZSBuZXcgZmVhdHVyZSBpcyByZXF1aXJlZC48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhYm91dCB0aGUgbmV3IGZlYXR1cmUgaXMgcmVxdWly
ZWQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFt
ZT0iZGlmZjAwMTgiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBPdmVybG9hZCByZXBv
cnRzIGNhbiA8c3BhbiBjbGFzcz0iZGVsZXRlIj5iZSBhbHNvPC9zcGFuPiBleHRlbmRlZCBi
eSBhZGRpbmcgbmV3IHN1Yi1BVlBzIHRvIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj4gICBPdmVybG9hZCByZXBvcnRzIGNhbiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5h
bHNvIGJlPC9zcGFuPiBleHRlbmRlZCBieSBhZGRpbmcgbmV3IHN1Yi1BVlBzIHRvIHRoZTwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBPQy1PTFIgQVZQLCBhbGxvd2luZyByZXBvcnRpbmcgbm9kZXMgdG8gY29tbXVuaWNh
dGUgYWRkaXRpb25hbDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIE9DLU9M
UiBBVlAsIGFsbG93aW5nIHJlcG9ydGluZyBub2RlcyB0byBjb21tdW5pY2F0ZSBhZGRpdGlv
bmFsPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIGluZm9ybWF0aW9uIGFib3V0IGhhbmRsaW5nIGFuIG92ZXJsb2FkIGNvbmRp
dGlvbi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBpbmZvcm1hdGlvbiBh
Ym91dCBoYW5kbGluZyBhbiBvdmVybG9hZCBjb25kaXRpb24uPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJZiBuZWNlc3NhcnksIG5ldyBleHRlbnNpb25z
IGNhbiBhbHNvIGRlZmluZSBuZXcgQVZQcyB0aGF0IGFyZSBub3Q8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICBJZiBuZWNlc3NhcnksIG5ldyBleHRlbnNpb25zIGNhbiBh
bHNvIGRlZmluZSBuZXcgQVZQcyB0aGF0IGFyZSBub3Q8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcGFydCBvZiB0aGUgT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzIGFuZCBPQy1PTFIgZ3JvdXAgQVZQcy4gIEl0IGlzLDwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHBhcnQgb2YgdGhlIE9DLVN1cHBvcnRl
ZC1GZWF0dXJlcyBhbmQgT0MtT0xSIGdyb3VwIEFWUHMuICBJdCBpcyw8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaG93ZXZl
ciwgcmVjb21tZW5kZWQgdGhhdCBET0lDIGV4dGVuc2lvbnMgdXNlIHRoZSBPQy1TdXBwb3J0
ZWQtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaG93ZXZlciwgcmVjb21t
ZW5kZWQgdGhhdCBET0lDIGV4dGVuc2lvbnMgdXNlIHRoZSBPQy1TdXBwb3J0ZWQtPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IEZlYXR1cmVzIEFWUCBhbmQgT0MtT0xSIEFWUCB0byBjYXJyeSBhbGwgRE9JQyByZWxhdGVk
IEFWUHMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRmVhdHVyZXMgQVZQ
IGFuZCBPQy1PTFIgQVZQIHRvIGNhcnJ5IGFsbCBET0lDIHJlbGF0ZWQgQVZQcy48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjQuNS4gIFNpbXBsaWZpZWQgRXhh
bXBsZSBBcmNoaXRlY3R1cmU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij40LjUu
ICBTaW1wbGlmaWVkIEV4YW1wbGUgQXJjaGl0ZWN0dXJlPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBGaWd1cmUgMSBpbGx1c3RyYXRlcyB0aGUgc2ltcGxp
ZmllZCBhcmNoaXRlY3R1cmUgZm9yIERpYW1ldGVyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgRmlndXJlIDEgaWxsdXN0cmF0ZXMgdGhlIHNpbXBsaWZpZWQgYXJjaGl0
ZWN0dXJlIGZvciBEaWFtZXRlcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvdmVybG9hZCBpbmZvcm1hdGlvbiBjb252ZXlh
bmNlLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG92ZXJsb2FkIGluZm9y
bWF0aW9uIGNvbnZleWFuY2UuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgUmVhbG0gWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYW1l
IG9yIG90aGVyIFJlYWxtczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICBS
ZWFsbSBYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbWUgb3Igb3RoZXIg
UmVhbG1zPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgICZsdDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSZndDsgJmx0Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0mZ3Q7PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgJmx0Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tJmd0OyAmbHQ7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSZndDs8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxOSIgLz48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICstLTxzcGFuIGNsYXNzPSJkZWxldGUiPl48
L3NwYW4+LS0tLS0rICAgICAgICAgICAgICAgICA6IChvcHRpb25hbCkgOjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICArLS08c3BhbiBjbGFzcz0iaW5zZXJ0Ij4t
PC9zcGFuPi0tLS0tKyAgICAgICAgICAgICAgICAgOiAob3B0aW9uYWwpIDo8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg
fERpYW1ldGVyfCAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgIDo8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICB8RGlhbWV0ZXJ8ICAgICAgICAgICAgICAgICA6
ICAgICAgICAgICAgOjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjAiIC8+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj4gICAgICB8U2VydmVyIEF8LS0rICAgICAuLS0uICAgICA6IDxzcGFuIGNs
YXNzPSJkZWxldGUiPistLS1eLS0tLSs8L3NwYW4+IDogICAgIC4tLS48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgfFNlcnZlciBBfC0tKyAgICAgLi0tLiAgICAg
OiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4rLS0tLS0tLS0rPC9zcGFuPiA6ICAgICAuLS0uPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+ICAgICAgKy0tLS0tLS0tKyAgfCAgIF8oICAgIGAuICAgOiB8RGlhbWV0ZXJ8IDogICBf
KCAgICBgLiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPistLS1eLS0tLSs8L3NwYW4+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICstLS0tLS0tLSsgIHwgICBfKCAg
ICBgLiAgIDogfERpYW1ldGVyfCA6ICAgXyggICAgYC4gICA8c3BhbiBjbGFzcz0iaW5zZXJ0
Ij4rLS0tLS0tLS0rPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgICArLS0oICAgICAgICAp
LS06LXwgIEFnZW50IHwtOi0tKCAgICAgICAgKS0tfERpYW1ldGVyfDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgICAgICstLSggICAgICAgICktLTot
fCAgQWdlbnQgfC06LS0oICAgICAgICApLS18RGlhbWV0ZXJ8PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJk
aWZmMDAyMSIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICstLS0tLS0tLSsgIHwg
KCBgICAuICApICApIDogPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Ky0tLS0tXi0tKzwvc3Bhbj4g
OiAoIGAgIC4gICkgICkgfCBDbGllbnQgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj4gICAgICArLS0tLS0tLS0rICB8ICggYCAgLiAgKSAgKSA6IDxzcGFuIGNsYXNzPSJp
bnNlcnQiPistLS0tLS0tLSs8L3NwYW4+IDogKCBgICAuICApICApIHwgQ2xpZW50IHw8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij4gICAgICB8RGlhbWV0ZXJ8LS0rICBgLS0oX19fLi0nICA6ICAgICAgICAgICAgOiAgYC0t
KF9fXy4tJyAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Ky0tLS0tXi0tKzwvc3Bhbj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgfERpYW1ldGVyfC0tKyAgYC0tKF9f
Xy4tJyAgOiAgICAgICAgICAgIDogIGAtLShfX18uLScgIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PistLS0tLS0tLSs8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHxTZXJ2ZXIgQnwgICAgICAgICAgICAgICAg
IDogICAgICAgICAgICA6PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAg
fFNlcnZlciBCfCAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgIDo8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5h
bWU9ImRpZmYwMDIyIiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgKy0tLTxzcGFu
IGNsYXNzPSJkZWxldGUiPl48L3NwYW4+LS0tLSsgICAgICAgICAgICAgICAgIDogICAgICAg
ICAgICA6PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICstLS08c3Bh
biBjbGFzcz0iaW5zZXJ0Ij4tPC9zcGFuPi0tLS0rICAgICAgICAgICAgICAgICA6ICAgICAg
ICAgICAgOjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg
ICAgICAgICAgICAgICAgICAgICBFbmQtdG8tZW5kIE92ZXJsb2FkIEluZGljYXRpb248L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICAgICAgICAgICAg
IEVuZC10by1lbmQgT3ZlcmxvYWQgSW5kaWNhdGlvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgMSkgICZs
dDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSZndDs8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgMSkgICZsdDst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSZndDs8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWFtZXRlciBBcHBsaWNhdGlvbiBZPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBEaWFtZXRlciBBcHBsaWNhdGlvbiBZPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgICBPdmVybG9hZCBJbmRpY2F0aW9uIEEg
ICAgT3ZlcmxvYWQgSW5kaWNhdGlvbiBBJzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgICAgICAgICAgICAgICAgIE92ZXJsb2FkIEluZGljYXRpb24gQSAgICBPdmVybG9h
ZCBJbmRpY2F0aW9uIEEnPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAyKSAgJmx0Oy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0mZ3Q7ICZsdDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tJmd0OzwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAyKSAgJmx0Oy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0mZ3Q7ICZsdDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tJmd0OzwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
ICAgICAgICAgICAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFkgICBEaWFtZXRlciBBcHBsaWNh
dGlvbiBZPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAg
ICBEaWFtZXRlciBBcHBsaWNhdGlvbiBZICAgRGlhbWV0ZXIgQXBwbGljYXRpb24gWTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICBGaWd1cmUgMTogU2lt
cGxpZmllZCBhcmNoaXRlY3R1cmUgY2hvaWNlcyBmb3Igb3ZlcmxvYWQgaW5kaWNhdGlvbjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgRmlndXJlIDE6IFNpbXBsaWZp
ZWQgYXJjaGl0ZWN0dXJlIGNob2ljZXMgZm9yIG92ZXJsb2FkIGluZGljYXRpb248L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg
ICAgIDx0ciBiZ2NvbG9yPSJncmF5IiA+PHRkPjwvdGQ+PHRoPjxhIG5hbWU9InBhcnQtbDki
IC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDEzLCBs
aW5lIDI1PC9lbT48L3RoPjx0aD4gPC90aD48dGg+PGEgbmFtZT0icGFydC1yOSIgLz48c21h
bGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTMsIGxpbmUgMjU8
L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBBbiBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIGFu
c3dlciBtZXNzYWdlcyBpbmRpY2F0ZXMgdGhlcmUgaXMgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIEFuIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYW5zd2Vy
IG1lc3NhZ2VzIGluZGljYXRlcyB0aGVyZSBpcyBhPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcG9ydGluZyBub2RlIGZv
ciB0aGUgdHJhbnNhY3Rpb24uICBUaGUgcmVhY3Rpbmcgbm9kZSBNQVkgdGFrZTwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHJlcG9ydGluZyBub2RlIGZvciB0aGUgdHJh
bnNhY3Rpb24uICBUaGUgcmVhY3Rpbmcgbm9kZSBNQVkgdGFrZTwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhY3Rpb24sIGZv
ciBleGFtcGxlIGNyZWF0aW5nIHN0YXRlIGZvciBzb21lIHN0YXRlZnVsIGFiYXRlbWVudDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFjdGlvbiwgZm9yIGV4YW1wbGUg
Y3JlYXRpbmcgc3RhdGUgZm9yIHNvbWUgc3RhdGVmdWwgYWJhdGVtZW50PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFsZ29y
aXRobSwgYmFzZWQgb24gdGhlIGZlYXR1cmVzIGluZGljYXRlZCBpbiB0aGUgT0MtRmVhdHVy
ZS1WZWN0b3I8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhbGdvcml0aG0s
IGJhc2VkIG9uIHRoZSBmZWF0dXJlcyBpbmRpY2F0ZWQgaW4gdGhlIE9DLUZlYXR1cmUtVmVj
dG9yPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIEFWUC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBVlAu
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBOb3RlOiBU
aGUgbG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtIGRvZXMgbm90IHJlcXVpcmUgc3RhdGVmdWw8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBOb3RlOiBUaGUgbG9zcyBh
YmF0ZW1lbnQgYWxnb3JpdGhtIGRvZXMgbm90IHJlcXVpcmUgc3RhdGVmdWw8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg
YmVoYXZpb3Igd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgb3ZlcmxvYWQgcmVwb3J0LjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGJlaGF2aW9yIHdoZW4gdGhlcmUg
aXMgbm8gYWN0aXZlIG92ZXJsb2FkIHJlcG9ydC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyMyIgLz48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA8c3BhbiBj
bGFzcz0iaW5zZXJ0Ij5SZWFjdGluZyBub2RlcyBuZWVkIHRvIGJlIHByZXBhcmVkIGZvciB0
aGUgcmVwb3J0aW5nIG5vZGUgdG8gY2hhbmdlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBzZWxlY3RlZCBh
bGdvcml0aG1zLiAgVGhpcyBjYW4gaGFwcGVuIGF0IGFueSB0aW1lLCBpbmNsdWRpbmcgd2hl
biB0aGU8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz
cGFuIGNsYXNzPSJpbnNlcnQiPiAgIHJlcG9ydGluZyBub2RlIGhhcyBzZW50IGFuIGFjdGl2
ZSBvdmVybG9hZCByZXBvcnQuICBUaGUgcmVhY3Rpbmcgbm9kZTwvc3Bhbj48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAg
Y2FuIG1pbmltaXplIHRoZSBwb3RlbnRpYWwgZm9yIGNoYW5nZXMgYnkgbW9kaWZ5aW5nIHRo
ZSBhZHZlcnRpc2VkPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBhYmF0ZW1lbnQgYWxnb3JpdGhtcyBzZW50
IHRvIGFuIG92ZXJsb2FkZWQgcmVwb3J0aW5nIG5vZGUgdG8gdGhlPC9zcGFuPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4g
ICBjdXJyZW50bHkgc2VsZWN0ZWQgYWxnb3JpdGhtIGFuZCBsb3NzIChvciBqdXN0IGxvc3Mg
aWYgaXQgaXMgdGhlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBjdXJyZW50bHkgc2VsZWN0ZWQgYWxnb3Jp
dGhtKS4gIFRoaXMgaGFzIHRoZSBlZmZlY3Qgb2YgbGltaXRpbmcgdGhlPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0
Ij4gICBwb3RlbnRpYWwgY2hhbmdlIGluIGFiYXRlbWVudCBhbGdvcml0aG0gZnJvbSB0aGUg
Y3VycmVudGx5IHNlbGVjdGVkPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBhbGdvcml0aG0gdG8gbG9zcywg
YXZvaWRpbmcgY2hhbmdlcyB0byBtb3JlIGNvbXBsZXggYWJhdGVtZW50PC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0
Ij4gICBhbGdvcml0aG1zIHRoYXQgcmVxdWlyZSBzdGF0ZSB0byBvcGVyYXRlIHByb3Blcmx5
Ljwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij41LjEuMi4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+NS4xLjIuICBSZXBvcnRpbmcgTm9kZSBCZWhh
dmlvcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVXBvbiBy
ZWNlaXB0IG9mIGEgcmVxdWVzdCBtZXNzYWdlLCBhIHJlcG9ydGluZyBub2RlIGRldGVybWlu
ZXMgaWY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBVcG9uIHJlY2VpcHQg
b2YgYSByZXF1ZXN0IG1lc3NhZ2UsIGEgcmVwb3J0aW5nIG5vZGUgZGV0ZXJtaW5lcyBpZjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICB0aGVyZSBpcyBhIHJlYWN0aW5nIG5vZGUgZm9yIHRoZSB0cmFuc2FjdGlvbiBiYXNl
ZCBvbiB0aGUgcHJlc2VuY2Ugb2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICB0aGVyZSBpcyBhIHJlYWN0aW5nIG5vZGUgZm9yIHRoZSB0cmFuc2FjdGlvbiBiYXNlZCBv
biB0aGUgcHJlc2VuY2Ugb2Y8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAg
aW4gdGhlIHJlcXVlc3QgbWVzc2FnZS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGUgcmVxdWVzdCBtZXNz
YWdlLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgSWYgdGhl
IHJlcXVlc3QgbWVzc2FnZSBjb250YWlucyBhbiBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQ
IHRoZW4gYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIElmIHRoZSByZXF1
ZXN0IG1lc3NhZ2UgY29udGFpbnMgYW4gT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCB0aGVu
IGE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgcmVwb3J0aW5nIG5vZGUgTVVTVCBpbmNsdWRlIHRoZSBPQy1TdXBwb3J0ZWQt
RmVhdHVyZXMgQVZQIGluIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IHJlcG9ydGluZyBub2RlIE1VU1QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVz
IEFWUCBpbiB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgYW5zd2VyIG1lc3NhZ2UgZm9yIHRoYXQgdHJhbnNhY3Rpb24u
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYW5zd2VyIG1lc3NhZ2UgZm9y
IHRoYXQgdHJhbnNhY3Rpb24uPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+
PC90cj4KICAgICAgPHRyIGJnY29sb3I9ImdyYXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0i
cGFydC1sMTAiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBw
YWdlIDE0LCBsaW5lIDIwPC9lbT48L3RoPjx0aD4gPC90aD48dGg+PGEgbmFtZT0icGFydC1y
MTAiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDE0
LCBsaW5lIDI5PC9lbT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIGFiYXRlbWVudCBhbGdvcml0aG0g
c2VsZWN0ZWQgTVVTVCBiZSBmcm9tIHRoZSBzZXQgb2YgYWJhdGVtZW50PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlIGFiYXRlbWVudCBhbGdvcml0aG0gc2VsZWN0
ZWQgTVVTVCBiZSBmcm9tIHRoZSBzZXQgb2YgYWJhdGVtZW50PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFsZ29yaXRobXMg
Y29udGFpbmVkIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UncyBPQy1GZWF0dXJlLVZlY3RvciBB
VlAuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYWxnb3JpdGhtcyBjb250
YWluZWQgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSdzIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVwb3J0aW5n
IG5vZGUgdGhhdCBzZWxlY3RzIHRoZSBsb3NzIGFsZ29yaXRobSBtYXkgZG8gc28gYnk8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBIHJlcG9ydGluZyBub2RlIHRoYXQg
c2VsZWN0cyB0aGUgbG9zcyBhbGdvcml0aG0gbWF5IGRvIHNvIGJ5PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGluY2x1ZGlu
ZyB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGggYW4gZXhwbGljaXQgaW5kaWNhdGlv
biBvZjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGluY2x1ZGluZyB0aGUg
T0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGggYW4gZXhwbGljaXQgaW5kaWNhdGlvbiBvZjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICB0aGUgbG9zcyBhbGdvcml0aG0sIG9yIGl0IE1BWSBvbWl0IE9DLUZlYXR1cmUtVmVj
dG9yLiAgSWYgaXQgc2VsZWN0czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IHRoZSBsb3NzIGFsZ29yaXRobSwgb3IgaXQgTUFZIG9taXQgT0MtRmVhdHVyZS1WZWN0b3Iu
ICBJZiBpdCBzZWxlY3RzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGEgZGlmZmVyZW50IGFsZ29yaXRobSwgaXQgTVVTVCBp
bmNsdWRlIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgd2l0aDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIGEgZGlmZmVyZW50IGFsZ29yaXRobSwgaXQgTVVTVCBpbmNs
dWRlIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgd2l0aDwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhbiBleHBsaWNpdCBp
bmRpY2F0aW9uIG9mIHRoZSBzZWxlY3RlZCBhbGdvcml0aG0uPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgYW4gZXhwbGljaXQgaW5kaWNhdGlvbiBvZiB0aGUgc2VsZWN0
ZWQgYWxnb3JpdGhtLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkPjxhIG5hbWU9ImRpZmYwMDI0IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgPHNw
YW4gY2xhc3M9ImRlbGV0ZSI+QSByZXBvcnRpbmcgbm9kZSBNVVNUIE5PVCBjaGFuZ2UgdGhl
IHNlbGVjdGVkIGFsZ29yaXRobSBkdXJpbmcgdGhlPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBwZXJpb2Qg
b2YgdGltZSB0aGF0IHN0YXJ0cyB3aGVuIGVudGVyaW5nIGFuIG92ZXJsb2FkIGNvbmRpdGlv
biBhbmQ8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxz
cGFuIGNsYXNzPSJkZWxldGUiPiAgIGVuZHMgd2hlbiB0aGUgYXNzb2NpYXRlZCBPQ1MgYmVj
b21lcyBpbnZhbGlkIGluIGFsbCByZWFjdGluZyBub2Rlcy48L3NwYW4+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjwvc3Bh
bj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9
ImRlbGV0ZSI+ICAgVGhlIHJlcG9ydGluZyBub2RlIE1BWSBjaGFuZ2UgdGhlIG92ZXJsb2Fk
IGFiYXRlbWVudCBhbGdvcml0aG08L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIGluZGljYXRlZCBpbiB0aGUg
T0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBhdCBhbnkgdGltZSBhcyBsb25nIGFzIG5vPC9z
cGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFz
cz0iZGVsZXRlIj4gICBwcmV2aW91c2x5IHNlbnQgT0xScyBtYXkgYmUgYWN0aXZlLjwvc3Bh
bj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIHJl
cG9ydGluZyBub2RlIFNIT1VMRCBpbmRpY2F0ZSBzdXBwb3J0IGZvciBvdGhlciBET0lDIGZl
YXR1cmVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlIHJlcG9ydGlu
ZyBub2RlIFNIT1VMRCBpbmRpY2F0ZSBzdXBwb3J0IGZvciBvdGhlciBET0lDIGZlYXR1cmVz
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIGRlZmluZWQgaW4gZXh0ZW5zaW9uIGRyYWZ0cyB0aGF0IGl0IHN1cHBvcnRzIGFu
ZCB0aGF0IGFwcGx5IHRvIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IGRlZmluZWQgaW4gZXh0ZW5zaW9uIGRyYWZ0cyB0aGF0IGl0IHN1cHBvcnRzIGFuZCB0aGF0
IGFwcGx5IHRvIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICB0cmFuc2FjdGlvbi4gIEl0IGRvZXMgc28gdXNpbmcgdGhl
IE9DLUZlYXR1cmUtVmVjdG9yIEFWUC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICB0cmFuc2FjdGlvbi4gIEl0IGRvZXMgc28gdXNpbmcgdGhlIE9DLUZlYXR1cmUtVmVj
dG9yIEFWUC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAg
IE5vdGU6IE5vdCBhbGwgRE9JQyBmZWF0dXJlcyB3aWxsIGFwcGx5IHRvIGFsbCBEaWFtZXRl
cjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIE5vdGU6IE5vdCBhbGwg
RE9JQyBmZWF0dXJlcyB3aWxsIGFwcGx5IHRvIGFsbCBEaWFtZXRlcjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBhcHBs
aWNhdGlvbnMgb3IgZGVwbG95bWVudCBzY2VuYXJpb3MuICBUaGUgZmVhdHVyZXMgaW5jbHVk
ZWQgaW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBhcHBsaWNhdGlv
bnMgb3IgZGVwbG95bWVudCBzY2VuYXJpb3MuICBUaGUgZmVhdHVyZXMgaW5jbHVkZWQgaW48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgICAgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCBhcmUgYmFzZWQgb24gbG9jYWwg
cmVwb3J0aW5nIG5vZGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICB0
aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIGFyZSBiYXNlZCBvbiBsb2NhbCByZXBvcnRpbmcg
bm9kZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICAgICBwb2xpY3kuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgICAgcG9saWN5LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
NS4xLjMuICBBZ2VudCBCZWhhdmlvcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjUuMS4zLiAgQWdlbnQgQmVoYXZpb3I8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyNSIgLz48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgIERpYW1ldGVyIEFnZW50cyB0aGF0IHN1cHBvcnQgRE9JQyA8c3BhbiBjbGFzcz0i
ZGVsZXRlIj5NQVk8L3NwYW4+IGVuc3VyZSB0aGF0IGFsbCBtZXNzYWdlczwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBEaWFtZXRlciBBZ2VudHMgdGhhdCBzdXBwb3J0
IERPSUMgPHNwYW4gY2xhc3M9Imluc2VydCI+Y2FuPC9zcGFuPiBlbnN1cmUgdGhhdCBhbGwg
bWVzc2FnZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgcmVsYXllZCBieSB0aGUgYWdlbnQgY29udGFpbiB0aGUgT0MtU3Vw
cG9ydGVkLUZlYXR1cmVzIEFWUC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICByZWxheWVkIGJ5IHRoZSBhZ2VudCBjb250YWluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVy
ZXMgQVZQLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxh
IG5hbWU9ImRpZmYwMDI2IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgQSBEaWFtZXRl
ciBBZ2VudCA8c3BhbiBjbGFzcz0iZGVsZXRlIj5TSE9VTEQ8L3NwYW4+IHRha2Ugb24gcmVh
Y3Rpbmcgbm9kZSBiZWhhdmlvciBmb3IgRGlhbWV0ZXI8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgQSBEaWFtZXRlciBBZ2VudCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5N
QVk8L3NwYW4+IHRha2Ugb24gcmVhY3Rpbmcgbm9kZSBiZWhhdmlvciBmb3IgRGlhbWV0ZXI8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgZW5kcG9pbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24u
ICBBIERpYW1ldGVyIEFnZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ZW5kcG9pbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24uICBBIERp
YW1ldGVyIEFnZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIGRldGVjdHMgdGhhdCBhIERpYW1ldGVyIGVuZHBvaW50IGRv
ZXMgbm90IHN1cHBvcnQgRE9JQyByZWFjdGluZyBub2RlPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgZGV0ZWN0cyB0aGF0IGEgRGlhbWV0ZXIgZW5kcG9pbnQgZG9lcyBu
b3Qgc3VwcG9ydCBET0lDIHJlYWN0aW5nIG5vZGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYmVoYXZpb3Igd2hlbiB0aGVy
ZSBpcyBubyBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIGEgcmVxdWVzdDwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGJlaGF2aW9yIHdoZW4gdGhlcmUgaXMgbm8g
T0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhIHJlcXVlc3Q8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbWVzc2FnZS48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBtZXNzYWdlLjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgRm9yIGEgRGlhbWV0ZXIgQWdlbnQg
dG8gYmUgYSByZWFjdGluZyBub2RlIGZvciBhIG5vbiBzdXBwb3J0aW5nPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRm9yIGEgRGlhbWV0ZXIgQWdlbnQgdG8gYmUgYSBy
ZWFjdGluZyBub2RlIGZvciBhIG5vbiBzdXBwb3J0aW5nPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERpYW1ldGVyIGVuZHBv
aW50LCB0aGUgRGlhbWV0ZXIgQWdlbnQgTVVTVCBpbmNsdWRlIHRoZSBPQy1TdXBwb3J0ZWQt
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRGlhbWV0ZXIgZW5kcG9pbnQs
IHRoZSBEaWFtZXRlciBBZ2VudCBNVVNUIGluY2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC08L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgRmVhdHVyZXMgQVZQIGluIHJlcXVlc3QgbWVzc2FnZXMgaXQgcmVsYXlzIHRoYXQgZG8g
bm90IGNvbnRhaW4gdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRmVh
dHVyZXMgQVZQIGluIHJlcXVlc3QgbWVzc2FnZXMgaXQgcmVsYXlzIHRoYXQgZG8gbm90IGNv
bnRhaW4gdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgYmdjb2xv
cj0iZ3JheSIgPjx0ZD48L3RkPjx0aD48YSBuYW1lPSJwYXJ0LWwxMSIgLz48c21hbGw+c2tp
cHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTUsIGxpbmUgNDI8L2VtPjwv
dGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXIxMSIgLz48c21hbGw+c2tpcHBpbmcg
dG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTUsIGxpbmUgNDQ8L2VtPjwvdGg+PHRk
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIERPSUMg
bm9kZXMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdXBzdHJlYW0gYW5k
IGRvd25zdHJlYW0gRE9JQyBub2Rlcy48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPjUuMi4gIE92ZXJsb2FkIFJlcG9ydCBQcm9jZXNzaW5nPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+NS4yLiAgT3ZlcmxvYWQgUmVwb3J0IFByb2Nlc3Npbmc8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjUuMi4xLiAgT3Zlcmxv
YWQgQ29udHJvbCBTdGF0ZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjUuMi4x
LiAgT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgQm90aCByZWFjdGluZyBhbmQgcmVwb3J0aW5nIG5vZGVzIG1haW50
YWluIE92ZXJsb2FkIENvbnRyb2wgU3RhdGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBCb3RoIHJlYWN0aW5nIGFuZCByZXBvcnRpbmcgbm9kZXMgbWFpbnRhaW4gT3Zl
cmxvYWQgQ29udHJvbCBTdGF0ZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAoT0NTKSBmb3IgYWN0aXZlIG92ZXJsb2FkIGNv
bmRpdGlvbnMuICBUaGUgZm9sbG93aW5nIHNlY3Rpb25zIGRlZmluZTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIChPQ1MpIGZvciBhY3RpdmUgb3ZlcmxvYWQgY29uZGl0
aW9ucy4gIFRoZSBmb2xsb3dpbmcgc2VjdGlvbnMgZGVmaW5lPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGJlaGF2aW9yIGFz
c29jaWF0ZWQgd2l0aCB0aGF0IE9DUy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICBiZWhhdmlvciBhc3NvY2lhdGVkIHdpdGggdGhhdCBPQ1MuPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjciIC8+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+VGhlIGNvbnRlbnRzIG9mIHRoZSBPQ1MgaW4gdGhl
IHJlcG9ydGluZyBub2RlIGFuZCBpbiB0aGUgcmVhY3Rpbmc8L3NwYW4+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIG5v
ZGUgcmVwcmVzZW50IGxvZ2ljYWwgY29uc3RydWN0cy4gIFRoZSBhY3R1YWwgaW50ZXJuYWwg
cGh5c2ljYWw8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIHN0cnVjdHVyZSBvZiB0aGUgc3RhdGUgaW5jbHVk
ZWQgaW4gdGhlIE9DUyBpcyBhbiBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgZGVj
aXNpb24uPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjUuMi4xLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRl
IGZvciBSZWFjdGluZyBOb2RlczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjUu
Mi4xLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRlIGZvciBSZWFjdGluZyBOb2RlczwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYw
MDI4IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgQSByZWFjdGluZyBub2RlIDxzcGFu
IGNsYXNzPSJkZWxldGUiPlNIT1VMRCBtYWludGFpbjwvc3Bhbj4gdGhlIGZvbGxvd2luZyBP
Q1MgcGVyIHN1cHBvcnRlZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBB
IHJlYWN0aW5nIG5vZGUgPHNwYW4gY2xhc3M9Imluc2VydCI+bWFpbnRhaW5zPC9zcGFuPiB0
aGUgZm9sbG93aW5nIE9DUyBwZXIgc3VwcG9ydGVkIERpYW1ldGVyPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgRGlhbWV0
ZXIgYXBwbGljYXRpb246PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGFw
cGxpY2F0aW9uOjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
byAgQSBob3N0LXR5cGUgT0NTIGVudHJ5IGZvciBlYWNoIERlc3RpbmF0aW9uLUhvc3QgdG8g
d2hpY2ggaXQgc2VuZHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBB
IGhvc3QtdHlwZSBPQ1MgZW50cnkgZm9yIGVhY2ggRGVzdGluYXRpb24tSG9zdCB0byB3aGlj
aCBpdCBzZW5kczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICAgICBob3N0LXR5cGUgcmVxdWVzdHMgYW5kPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgaG9zdC10eXBlIHJlcXVlc3RzIGFuZDwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgQSByZWFsbS10eXBl
IE9DUyBlbnRyeSBmb3IgZWFjaCBEZXN0aW5hdGlvbi1SZWFsbSB0byB3aGljaCBpdDwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG8gIEEgcmVhbG0tdHlwZSBPQ1MgZW50
cnkgZm9yIGVhY2ggRGVzdGluYXRpb24tUmVhbG0gdG8gd2hpY2ggaXQ8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgc2Vu
ZHMgcmVhbG0tdHlwZSByZXF1ZXN0cy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICAgICBzZW5kcyByZWFsbS10eXBlIHJlcXVlc3RzLjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQSBob3N0LXR5cGUgT0NTIGVudHJ5IGlzIGlkZW50
aWZpZWQgYnkgdGhlIHBhaXIgb2YgYXBwbGljYXRpb24taWQgYW5kPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgQSBob3N0LXR5cGUgT0NTIGVudHJ5IGlzIGlkZW50aWZp
ZWQgYnkgdGhlIHBhaXIgb2YgYXBwbGljYXRpb24taWQgYW5kPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRoZSBub2RlJ3Mg
RGlhbWV0ZXJJZGVudGl0eS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0
aGUgbm9kZSdzIERpYW1ldGVySWRlbnRpdHkuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICBBIHJlYWxtLXR5cGUgT0NTIGVudHJ5IGlzIGlkZW50aWZpZWQg
YnkgdGhlIHBhaXIgb2YgYXBwbGljYXRpb24taWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBBIHJlYWxtLXR5cGUgT0NTIGVudHJ5IGlzIGlkZW50aWZpZWQgYnkgdGhl
IHBhaXIgb2YgYXBwbGljYXRpb24taWQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYW5kIHJlYWxtLjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFuZCByZWFsbS48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyOSIgLz48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPiAgIFRoZSBob3N0LXR5cGUgYW5kIHJlYWxtLXR5cGUgT0NTIGVudHJp
ZXMgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+TUFZIDwvc3Bhbj5pbmNsdWRlIHRoZSBmb2xsb3dp
bmc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgVGhlIGhvc3QtdHlwZSBh
bmQgcmVhbG0tdHlwZSBPQ1MgZW50cmllcyBpbmNsdWRlIHRoZSBmb2xsb3dpbmc8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
aW5mb3JtYXRpb24gKHRoZSBhY3R1YWwgaW5mb3JtYXRpb24gc3RvcmVkIGlzIGFuIGltcGxl
bWVudGF0aW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaW5mb3JtYXRp
b24gKHRoZSBhY3R1YWwgaW5mb3JtYXRpb24gc3RvcmVkIGlzIGFuIGltcGxlbWVudGF0aW9u
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIGRlY2lzaW9uKTo8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBk
ZWNpc2lvbik6PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBv
ICBTZXF1ZW5jZSBudW1iZXIgKGFzIHJlY2VpdmVkIGluIE9DLU9MUik8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBTZXF1ZW5jZSBudW1iZXIgKGFzIHJlY2VpdmVk
IGluIE9DLU9MUik8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IG8gIFRpbWUgb2YgZXhwaXJ5IChkZXJpdmVkIGZyb20gT0MtVmFsaWRpdHktRHVyYXRpb24g
QVZQIHJlY2VpdmVkIGluPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAg
VGltZSBvZiBleHBpcnkgKGRlcml2ZWQgZnJvbSBPQy1WYWxpZGl0eS1EdXJhdGlvbiBBVlAg
cmVjZWl2ZWQgaW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgdGhlIE9DLU9MUiBBVlAgYW5kIHRpbWUgb2YgcmVjZXB0
aW9uIG9mIHRoZSBtZXNzYWdlIGNhcnJ5aW5nIE9DLTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgICAgIHRoZSBPQy1PTFIgQVZQIGFuZCB0aW1lIG9mIHJlY2VwdGlvbiBv
ZiB0aGUgbWVzc2FnZSBjYXJyeWluZyBPQy08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgT0xSIEFWUCk8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBPTFIgQVZQKTwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgU2VsZWN0ZWQgQWJhdGVtZW50IEFsZ29y
aXRobSAoYXMgcmVjZWl2ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC08L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBTZWxlY3RlZCBBYmF0ZW1lbnQgQWxnb3JpdGhtIChh
cyByZWNlaXZlZCBpbiB0aGUgT0MtU3VwcG9ydGVkLTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBGZWF0dXJlcyBBVlAp
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgRmVhdHVyZXMgQVZQKTwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgQWJhdGVtZW50
IEFsZ29yaXRobSBzcGVjaWZpYyBpbnB1dCBkYXRhIChhcyByZWNlaXZlZCBpbiB0aGUgT0Mt
T0xSPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAgQWJhdGVtZW50IEFs
Z29yaXRobSBzcGVjaWZpYyBpbnB1dCBkYXRhIChhcyByZWNlaXZlZCBpbiB0aGUgT0MtT0xS
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgICAgIEFWUCwgZm9yIGV4YW1wbGUsIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIGZv
ciB0aGUgTG9zcyBhYmF0ZW1lbnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICAgICBBVlAsIGZvciBleGFtcGxlLCBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBmb3IgdGhl
IExvc3MgYWJhdGVtZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGFsZ29yaXRobSk8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICAgICBhbGdvcml0aG0pPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij41LjIuMS4yLiAgT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZSBmb3Ig
UmVwb3J0aW5nIE5vZGVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+NS4yLjEu
Mi4gIE92ZXJsb2FkIENvbnRyb2wgU3RhdGUgZm9yIFJlcG9ydGluZyBOb2RlczwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDMw
IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgQSByZXBvcnRpbmcgbm9kZSA8c3BhbiBj
bGFzcz0iZGVsZXRlIj5TSE9VTEQgbWFpbnRhaW48L3NwYW4+IE9DUyBlbnRyaWVzIHBlciBz
dXBwb3J0ZWQgRGlhbWV0ZXI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAg
QSByZXBvcnRpbmcgbm9kZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5tYWludGFpbnM8L3NwYW4+
IE9DUyBlbnRyaWVzIHBlciBzdXBwb3J0ZWQgRGlhbWV0ZXI8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXBwbGljYXRpb24s
IHBlciBzdXBwb3J0ZWQgKGFuZCBldmVudHVhbGx5IHNlbGVjdGVkKSBBYmF0ZW1lbnQ8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhcHBsaWNhdGlvbiwgcGVyIHN1cHBv
cnRlZCAoYW5kIGV2ZW50dWFsbHkgc2VsZWN0ZWQpIEFiYXRlbWVudDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBbGdvcml0
aG0gYW5kIHBlciByZXBvcnQtdHlwZS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICBBbGdvcml0aG0gYW5kIHBlciByZXBvcnQtdHlwZS48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEFuIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5
IHRoZSB0dXBsZSBvZiBBcHBsaWNhdGlvbi1JZCwgUmVwb3J0LTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIEFuIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5IHRoZSB0
dXBsZSBvZiBBcHBsaWNhdGlvbi1JZCwgUmVwb3J0LTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAw
MzEiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBUeXBlIGFuZCBBYmF0ZW1lbnQgQWxn
b3JpdGhtIGFuZCA8c3BhbiBjbGFzcz0iZGVsZXRlIj5NQVkgaW5jbHVkZTwvc3Bhbj4gdGhl
IGZvbGxvd2luZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBUeXBlIGFu
ZCBBYmF0ZW1lbnQgQWxnb3JpdGhtIGFuZCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5pbmNsdWRl
czwvc3Bhbj4gdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIGluZm9ybWF0aW9u
ICh0aGUgYWN0dWFsIGluZm9ybWF0aW9uIHN0b3JlZCBpcyBhbiBpbXBsZW1lbnRhdGlvbjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAodGhlIGFjdHVhbCBpbmZvcm1h
dGlvbiBzdG9yZWQgaXMgYW4gaW1wbGVtZW50YXRpb24gZGVjaXNpb24pOjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIGRl
Y2lzaW9uKTo8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBTZXF1ZW5jZSBudW1iZXI8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBTZXF1ZW5jZSBudW1iZXI8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG8gIFZhbGlkaXR5IER1
cmF0aW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAgVmFsaWRpdHkg
RHVyYXRpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDMyIiAvPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG8gIEV4cGlyYXRpb24g
VGltZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG8gIEV4cGlyYXRpb24g
VGltZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgQWxn
b3JpdGhtIHNwZWNpZmljIGlucHV0IGRhdGEgKGZvciBleGFtcGxlLCB0aGUgUmVkdWN0aW9u
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAgQWxnb3JpdGhtIHNwZWNp
ZmljIGlucHV0IGRhdGEgKGZvciBleGFtcGxlLCB0aGUgUmVkdWN0aW9uPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIFBl
cmNlbnRhZ2UgZm9yIHRoZSBMb3NzIEFiYXRlbWVudCBBbGdvcml0aG0pPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgUGVyY2VudGFnZSBmb3IgdGhlIExvc3MgQWJh
dGVtZW50IEFsZ29yaXRobSk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPjUuMi4xLjMuICBSZWFjdGluZyBOb2RlIE1haW50ZW5hbmNlIG9mIE92ZXJsb2FkIENv
bnRyb2wgU3RhdGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij41LjIuMS4zLiAg
UmVhY3RpbmcgTm9kZSBNYWludGVuYW5jZSBvZiBPdmVybG9hZCBDb250cm9sIFN0YXRlPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBXaGVuIGEgcmVhY3Rp
bmcgbm9kZSByZWNlaXZlcyBhbiBPQy1PTFIgQVZQLCBpdCBNVVNUIGRldGVybWluZSBpZiBp
dDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFdoZW4gYSByZWFjdGluZyBu
b2RlIHJlY2VpdmVzIGFuIE9DLU9MUiBBVlAsIGl0IE1VU1QgZGV0ZXJtaW5lIGlmIGl0PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIGlzIGZvciBhbiBleGlzdGluZyBvciBuZXcgb3ZlcmxvYWQgY29uZGl0aW9uLjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGlzIGZvciBhbiBleGlzdGluZyBvciBu
ZXcgb3ZlcmxvYWQgY29uZGl0aW9uLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjwvdHI+CiAgICAgIDx0ciBiZ2NvbG9yPSJncmF5IiA+PHRkPjwvdGQ+PHRoPjxhIG5h
bWU9InBhcnQtbDEyIiAvPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxl
bT4gcGFnZSAxNywgbGluZSAxNDwvZW0+PC90aD48dGg+IDwvdGg+PHRoPjxhIG5hbWU9InBh
cnQtcjEyIiAvPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFn
ZSAxNywgbGluZSAyMzwvZW0+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIE5vdGU6IEZvciB0aGUgcmVt
YWluZGVyIG9mIHRoaXMgc2VjdGlvbiB0aGUgdGVybSBPTFIgcmVmZXJzIHRvIHRoZTwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIE5vdGU6IEZvciB0aGUgcmVtYWlu
ZGVyIG9mIHRoaXMgc2VjdGlvbiB0aGUgdGVybSBPTFIgcmVmZXJzIHRvIHRoZTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
ICBjb21iaW5hdGlvbiBvZiB0aGUgY29udGVudHMgb2YgdGhlIHJlY2VpdmVkIE9DLU9MUiBB
VlAgYW5kIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGNvbWJp
bmF0aW9uIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgcmVjZWl2ZWQgT0MtT0xSIEFWUCBhbmQg
dGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgICAgIGFiYXRlbWVudCBhbGdvcml0aG0gaW5kaWNhdGVkIGluIHRoZSByZWNl
aXZlZCBPQy1TdXBwb3J0ZWQtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ICAgYWJhdGVtZW50IGFsZ29yaXRobSBpbmRpY2F0ZWQgaW4gdGhlIHJlY2VpdmVkIE9DLVN1
cHBvcnRlZC08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgICAgRmVhdHVyZXMgQVZQLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgICAgIEZlYXR1cmVzIEFWUC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIFdoZW4gcmVjZWl2aW5nIGFuIGFuc3dlciBtZXNzYWdlIHdp
dGggbXVsdGlwbGUgT0xScyBvZiBkaWZmZXJlbnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBXaGVuIHJlY2VpdmluZyBhbiBhbnN3ZXIgbWVzc2FnZSB3aXRoIG11bHRp
cGxlIE9MUnMgb2YgZGlmZmVyZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHN1cHBvcnRlZCByZXBvcnQgdHlwZXMsIGEg
cmVhY3Rpbmcgbm9kZSBNVVNUIHByb2Nlc3MgZWFjaCByZWNlaXZlZDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIHN1cHBvcnRlZCByZXBvcnQgdHlwZXMsIGEgcmVhY3Rp
bmcgbm9kZSBNVVNUIHByb2Nlc3MgZWFjaCByZWNlaXZlZDwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBPTFIuPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgT0xSLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDMzIiAvPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+V2hlbiByZWNlaXZpbmcgYW4g
YW5zd2VyIG1lc3NhZ2Ugd2l0aCBtdWx0aXBsZSBPTFJzIGFuZCBtdWx0aXBsZSBvZjwvc3Bh
bj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9
ImRlbGV0ZSI+ICAgdGhlIE9MUnMgYXJlIG9mIHRoZSBzYW1lIHN1cHBvcnRlZCByZXBvcnQg
dHlwZXMsIGEgcmVhY3Rpbmcgbm9kZTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgU0hPVUxEIGlnbm9yZSB0
aGUgZHVwbGljYXRlZCBPTFJzLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+PC9zcGFuPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBBIHJl
YWN0aW5nIG5vZGUgU0hPVUxEIGlnbm9yZSBhbiBPQy1PTFIgd2l0aCBhIE9DLVJlcG9ydC1U
eXBlIEFWUDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgdGhhdCBjb250YWlucyBhbiB1bnJlY29nbml6ZWQg
dmFsdWUuPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBUaGUgT0xSIGlzIGZvciBhbiBleGlzdGluZyBvdmVybG9hZCBjb25kaXRpb24gaWYg
YSByZWFjdGluZyBub2RlIGhhczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IFRoZSBPTFIgaXMgZm9yIGFuIGV4aXN0aW5nIG92ZXJsb2FkIGNvbmRpdGlvbiBpZiBhIHJl
YWN0aW5nIG5vZGUgaGFzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFuIE9DUyB0aGF0IG1hdGNoZXMgdGhlIHJlY2VpdmVk
IE9MUi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhbiBPQ1MgdGhhdCBt
YXRjaGVzIHRoZSByZWNlaXZlZCBPTFIuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICBGb3IgYSBob3N0LXJlcG9ydCB0aGlzIG1lYW5zIGl0IG1hdGNoZXMg
dGhlIGFwcGxpY2F0aW9uLWlkIGFuZCB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBGb3IgYSBob3N0LXJlcG9ydCB0aGlzIG1lYW5zIGl0IG1hdGNoZXMgdGhlIGFw
cGxpY2F0aW9uLWlkIGFuZCB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaG9zdCdzIERpYW1ldGVySWRlbnRpdHkgaW4g
YW4gZXhpc3RpbmcgaG9zdCBPQ1MgZW50cnkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgaG9zdCdzIERpYW1ldGVySWRlbnRpdHkgaW4gYW4gZXhpc3RpbmcgaG9zdCBP
Q1MgZW50cnkuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBG
b3IgYSByZWFsbS1yZXBvcnQgdGhpcyBtZWFucyBpdCBtYXRjaGVzIHRoZSBhcHBsaWNhdGlv
bi1pZCBhbmQgdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRm9yIGEg
cmVhbG0tcmVwb3J0IHRoaXMgbWVhbnMgaXQgbWF0Y2hlcyB0aGUgYXBwbGljYXRpb24taWQg
YW5kIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICByZWFsbSBpbiBhbiBleGlzdGluZyByZWFsbSBPQ1MgZW50cnkuPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVhbG0gaW4gYW4gZXhpc3Rpbmcg
cmVhbG0gT0NTIGVudHJ5LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgSWYgdGhlIE9MUiBpcyBmb3IgYW4gZXhpc3Rpbmcgb3ZlcmxvYWQgY29uZGl0aW9u
IHRoZW4gYSByZWFjdGluZyBub2RlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgSWYgdGhlIE9MUiBpcyBmb3IgYW4gZXhpc3Rpbmcgb3ZlcmxvYWQgY29uZGl0aW9uIHRo
ZW4gYSByZWFjdGluZyBub2RlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgYmdjb2xvcj0iZ3JheSIgPjx0ZD48
L3RkPjx0aD48YSBuYW1lPSJwYXJ0LWwxMyIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdl
IGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTgsIGxpbmUgNDE8L2VtPjwvdGg+PHRoPiA8L3RoPjx0
aD48YSBuYW1lPSJwYXJ0LXIxMyIgLz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9z
bWFsbD48ZW0+IHBhZ2UgMTgsIGxpbmUgNDU8L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIHplcm8gKCIwIikuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
ICAgemVybyAoIjAiKS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIFdoZW4gZ2VuZXJhdGluZyBzZXF1ZW5jZSBudW1iZXJzIGZvciBuZXcgb3ZlcmxvYWQg
Y29uZGl0aW9ucywgdGhlIG5ldzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IFdoZW4gZ2VuZXJhdGluZyBzZXF1ZW5jZSBudW1iZXJzIGZvciBuZXcgb3ZlcmxvYWQgY29u
ZGl0aW9ucywgdGhlIG5ldzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBzZXF1ZW5jZSBudW1iZXIgTVVTVCBiZSBncmVhdGVy
IHRoYW4gYW55IHNlcXVlbmNlIG51bWJlciBpbiBhbiBhY3RpdmU8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICBzZXF1ZW5jZSBudW1iZXIgTVVTVCBiZSBncmVhdGVyIHRo
YW4gYW55IHNlcXVlbmNlIG51bWJlciBpbiBhbiBhY3RpdmU8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgKHVuZXhwaXJlZCkg
b3ZlcmxvYWQgcmVwb3J0IGZvciB0aGUgc2FtZSBhcHBsaWNhdGlvbiBhbmQgcmVwb3J0LXR5
cGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAodW5leHBpcmVkKSBvdmVy
bG9hZCByZXBvcnQgZm9yIHRoZSBzYW1lIGFwcGxpY2F0aW9uIGFuZCByZXBvcnQtdHlwZTwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBwcmV2aW91c2x5IHNlbnQgYnkgdGhlIHJlcG9ydGluZyBub2RlLiAgVGhpcyBwcm9w
ZXJ0eSBNVVNUIGhvbGQgb3ZlcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IHByZXZpb3VzbHkgc2VudCBieSB0aGUgcmVwb3J0aW5nIG5vZGUuICBUaGlzIHByb3BlcnR5
IE1VU1QgaG9sZCBvdmVyPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGEgcmVib290IG9mIHRoZSByZXBvcnRpbmcgbm9kZS48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhIHJlYm9vdCBvZiB0aGUgcmVw
b3J0aW5nIG5vZGUuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICAgICBOb3RlOiBPbmUgd2F5IG9mIGFkZHJlc3NpbmcgdGhpcyBvdmVyIGEgcmVib290IG9m
IGEgcmVwb3J0aW5nIG5vZGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg
ICBOb3RlOiBPbmUgd2F5IG9mIGFkZHJlc3NpbmcgdGhpcyBvdmVyIGEgcmVib290IG9mIGEg
cmVwb3J0aW5nIG5vZGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgaXMgdG8gdXNlIGEgdGltZSBzdGFtcCBmb3IgdGhl
IGZpcnN0IG92ZXJsb2FkIGNvbmRpdGlvbiB0aGF0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgICAgaXMgdG8gdXNlIGEgdGltZSBzdGFtcCBmb3IgdGhlIGZpcnN0IG92
ZXJsb2FkIGNvbmRpdGlvbiB0aGF0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAzNCIgLz48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIG9jY3VycyBhZnRlciB0aGUgcmVwb3J0IGFuZCB0
byBzdGFydCB1c2luZyA8c3BhbiBjbGFzcz0iZGVsZXRlIj5zZXF1ZW5jZSBudW1iZXJzIG9m
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBvY2N1cnMg
YWZ0ZXIgdGhlIHJlcG9ydCBhbmQgdG8gc3RhcnQgdXNpbmcgPHNwYW4gY2xhc3M9Imluc2Vy
dCI+c2VxdWVuY2VzIGJlZ2lubmluZzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICB6ZXJvIGZvciBzdWJz
ZXF1ZW50IG92ZXJsb2FkIGNvbmRpdGlvbnMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIHdpdGg8L3NwYW4+IHplcm8gZm9y
IHN1YnNlcXVlbnQgb3ZlcmxvYWQgY29uZGl0aW9ucy48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4g
T0NTIGVudHJ5IHdoZW4gaXQgbmVlZHMgdG8gYWRqdXN0IHRoZTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NT
IGVudHJ5IHdoZW4gaXQgbmVlZHMgdG8gYWRqdXN0IHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB2YWxpZGl0eSBkdXJh
dGlvbiBvZiB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGF0IHJlYWN0aW5nIG5vZGVzLjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHZhbGlkaXR5IGR1cmF0aW9uIG9mIHRo
ZSBvdmVybG9hZCBjb25kaXRpb24gYXQgcmVhY3Rpbmcgbm9kZXMuPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBGb3IgaW5zdGFuY2UsIGlmIGEgcmVw
b3J0aW5nIG5vZGUgd2lzaGVzIHRvIGluc3RydWN0IHJlYWN0aW5nPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgRm9yIGluc3RhbmNlLCBpZiBhIHJlcG9ydGluZyBu
b2RlIHdpc2hlcyB0byBpbnN0cnVjdCByZWFjdGluZzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBub2RlcyB0byBjb250
aW51ZSBvdmVybG9hZCBhYmF0ZW1lbnQgZm9yIGEgbG9uZ2VyIHBlcmlvZCBvZiB0aW1lPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgbm9kZXMgdG8gY29udGludWUg
b3ZlcmxvYWQgYWJhdGVtZW50IGZvciBhIGxvbmdlciBwZXJpb2Qgb2YgdGltZTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAg
ICB0aGFuIG9yaWdpbmFsbHkgY29tbXVuaWNhdGVkLiAgVGhpcyBhbHNvIGFwcGxpZXMgaWYg
dGhlIHJlcG9ydGluZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIHRo
YW4gb3JpZ2luYWxseSBjb21tdW5pY2F0ZWQuICBUaGlzIGFsc28gYXBwbGllcyBpZiB0aGUg
cmVwb3J0aW5nPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgICAgIG5vZGUgd2lzaGVzIHRvIHNob3J0ZW4gdGhlIHBlcmlvZCBv
ZiB0aW1lIHRoYXQgb3ZlcmxvYWQgYWJhdGVtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgICAgbm9kZSB3aXNoZXMgdG8gc2hvcnRlbiB0aGUgcGVyaW9kIG9mIHRp
bWUgdGhhdCBvdmVybG9hZCBhYmF0ZW1lbnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgaXMgdG8gY29udGludWUuPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgaXMgdG8gY29udGludWUuPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlm
ZjAwMzUiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5BIHJlcG9ydGluZyBub2RlIE1VU1QgTk9UIHVwZGF0ZSB0aGUgYWJhdGVtZW50IGFsZ29y
aXRobSBpbiBhbiBhY3RpdmU8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv
Y2siPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIE9DUyBlbnRyeS48L3NwYW4+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVwb3J0aW5n
IG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdoZW4gaXQgd2lzaGVzIHRvIGFkanVz
dDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEEgcmVwb3J0aW5nIG5vZGUg
TVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdoZW4gaXQgd2lzaGVzIHRvIGFkanVzdDwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBhbnkgYWJhdGVtZW50IGFsZ29yaXRobSBzcGVjaWZpYyBwYXJhbWV0ZXJzLCBpbmNsdWRp
bmcsIGZvciBleGFtcGxlLDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFu
eSBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNwZWNpZmljIHBhcmFtZXRlcnMsIGluY2x1ZGluZywg
Zm9yIGV4YW1wbGUsPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIHRoZSByZWR1Y3Rpb24gcGVyY2VudGFnZSB1c2VkIGZvciB0
aGUgTG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIHRoZSByZWR1Y3Rpb24gcGVyY2VudGFnZSB1c2VkIGZvciB0aGUgTG9zcyBh
YmF0ZW1lbnQgYWxnb3JpdGhtLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgICAgRm9yIGluc3RhbmNlLCBpZiBhIHJlcG9ydGluZyBub2RlIHdpc2hlcyB0
byBjaGFuZ2UgdGhlIHJlZHVjdGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgICAgIEZvciBpbnN0YW5jZSwgaWYgYSByZXBvcnRpbmcgbm9kZSB3aXNoZXMgdG8gY2hh
bmdlIHRoZSByZWR1Y3Rpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgcGVyY2VudGFnZSBlaXRoZXIgaGlnaGVyLCBp
ZiB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGhhcyB3b3JzZW5lZCw8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBwZXJjZW50YWdlIGVpdGhlciBoaWdoZXIsIGlmIHRo
ZSBvdmVybG9hZCBjb25kaXRpb24gaGFzIHdvcnNlbmVkLDwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBvciBsb3dlciwg
aWYgdGhlIG92ZXJsb2FkIGNvbmRpdGlvbiBoYXMgaW1wcm92ZWQsIHRoZW4gdGhlPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgb3IgbG93ZXIsIGlmIHRoZSBvdmVy
bG9hZCBjb25kaXRpb24gaGFzIGltcHJvdmVkLCB0aGVuIHRoZTwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICByZXBvcnRp
bmcgbm9kZSB3b3VsZCB1cGRhdGUgdGhlIGFwcHJvcHJpYXRlIE9DUyBlbnRyeS48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICByZXBvcnRpbmcgbm9kZSB3b3VsZCB1
cGRhdGUgdGhlIGFwcHJvcHJpYXRlIE9DUyBlbnRyeS48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBpbmNyZW1lbnQg
dGhlIHNlcXVlbmNlIG51bWJlciBhc3NvY2lhdGVkIHdpdGg8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBBIHJlcG9ydGluZyBub2RlIE1VU1QgaW5jcmVtZW50IHRoZSBz
ZXF1ZW5jZSBudW1iZXIgYXNzb2NpYXRlZCB3aXRoPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgYmdjb2xvcj0i
Z3JheSIgPjx0ZD48L3RkPjx0aD48YSBuYW1lPSJwYXJ0LWwxNCIgLz48c21hbGw+c2tpcHBp
bmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMjAsIGxpbmUgNTwvZW0+PC90aD48
dGg+IDwvdGg+PHRoPjxhIG5hbWU9InBhcnQtcjE0IiAvPjxzbWFsbD5za2lwcGluZyB0byBj
aGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAyMCwgbGluZSA4PC9lbT48L3RoPjx0ZD48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBTZWN0aW9uIDYgZm9yIHRoZSBvdmVybG9hZCBhYmF0ZW1l
bnQgYWxnb3JpdGhtIGxvZ2ljIGFwcGxpZWQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgU2VjdGlvbiA2IGZvciB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRo
bSBsb2dpYyBhcHBsaWVkLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgSWYgdGhlIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gc2VsZWN0cyB0aGUg
cmVxdWVzdCBmb3Igb3ZlcmxvYWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICBJZiB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBzZWxlY3RzIHRoZSByZXF1
ZXN0IGZvciBvdmVybG9hZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhYmF0ZW1lbnQgdHJlYXRtZW50IHRoZW4gdGhlIHJl
YWN0aW5nIG5vZGUgTVVTVCBhcHBseSBvdmVybG9hZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIGFiYXRlbWVudCB0cmVhdG1lbnQgdGhlbiB0aGUgcmVhY3Rpbmcgbm9k
ZSBNVVNUIGFwcGx5IG92ZXJsb2FkPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFiYXRlbWVudCB0cmVhdG1lbnQgb24gdGhl
IHJlcXVlc3QuICBUaGUgYWJhdGVtZW50IHRyZWF0bWVudCBhcHBsaWVkPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYWJhdGVtZW50IHRyZWF0bWVudCBvbiB0aGUgcmVx
dWVzdC4gIFRoZSBhYmF0ZW1lbnQgdHJlYXRtZW50IGFwcGxpZWQ8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZGVwZW5kcyBv
biB0aGUgY29udGV4dCBvZiB0aGUgcmVxdWVzdC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBkZXBlbmRzIG9uIHRoZSBjb250ZXh0IG9mIHRoZSByZXF1ZXN0LjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgSWYgZGl2ZXJzaW9uIGFi
YXRlbWVudCB0cmVhdG1lbnQgaXMgcG9zc2libGUgKGkuZS4gYSBkaWZmZXJlbnQgcGF0aDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIElmIGRpdmVyc2lvbiBhYmF0ZW1l
bnQgdHJlYXRtZW50IGlzIHBvc3NpYmxlIChpLmUuIGEgZGlmZmVyZW50IHBhdGg8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
Zm9yIHRoZSByZXF1ZXN0IGNhbiBiZSBzZWxlY3RlZCB3aGVyZSB0aGUgb3ZlcmxvYWRlZCBu
b2RlIGlzIG5vdCBwYXJ0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZm9y
IHRoZSByZXF1ZXN0IGNhbiBiZSBzZWxlY3RlZCB3aGVyZSB0aGUgb3ZlcmxvYWRlZCBub2Rl
IGlzIG5vdCBwYXJ0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIG9mIHRoZSBkaWZmZXJlbnQgcGF0aCksIHRoZW4gdGhlIHJl
YWN0aW5nIG5vZGUgU0hPVUxEIGFwcGx5IGRpdmVyc2lvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIG9mIHRoZSBkaWZmZXJlbnQgcGF0aCksIHRoZW4gdGhlIHJlYWN0
aW5nIG5vZGUgU0hPVUxEIGFwcGx5IGRpdmVyc2lvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAw
MzYiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBhYmF0ZW1lbnQgdHJlYXRtZW50IHRv
IHRoZSByZXF1ZXN0LiAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+T3RoZXJ3aXNlIHRoZTwvc3Bh
bj4gcmVhY3Rpbmcgbm9kZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBh
YmF0ZW1lbnQgdHJlYXRtZW50IHRvIHRoZSByZXF1ZXN0LiAgPHNwYW4gY2xhc3M9Imluc2Vy
dCI+VGhlPC9zcGFuPiByZWFjdGluZyBub2RlIDxzcGFuIGNsYXNzPSJpbnNlcnQiPk1VU1Q8
L3NwYW4+IGFwcGx5PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+U0hPVUxEPC9zcGFu
PiBhcHBseSB0aHJvdHRsaW5nIGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gdGhlIDxzcGFuIGNs
YXNzPSJkZWxldGUiPnJlcXVlc3QuPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj4gICB0aHJvdHRsaW5nIGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gPHNwYW4gY2xh
c3M9Imluc2VydCI+cmVxdWVzdHMgaWRlbnRpZmllZCBmb3IgYWJhdGVtZW50PC9zcGFuPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5z
ZXJ0Ij4gICB0cmVhdG1lbnQgd2hlbiBkaXZlcnNpb24gdHJlYXRtZW50IGlzIG5vdCBwb3Nz
aWJsZSBvciB3YXMgbm90PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBhcHBsaWVkLjwvc3Bhbj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+
PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBj
bGFzcz0iaW5zZXJ0Ij4gICAgICBOb3RlOiBUaGlzIG9ubHkgYWRkcmVzc2VzPC9zcGFuPiB0
aGUgPHNwYW4gY2xhc3M9Imluc2VydCI+Y2FzZSB3aGVyZSB0aGVyZSBhcmUgdHdvIGRlZmlu
ZWQ8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFu
IGNsYXNzPSJpbnNlcnQiPiAgICAgIGFiYXRlbWVudCB0cmVhdG1lbnRzLCBkaXZlcnNpb24g
YW5kIHRocm90dGxpbmcuICBBbnkgZXh0ZW5zaW9uPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICB0aGF0
IGRlZmluZXMgYSBuZXcgYWJhdGVtZW50IHRyZWF0bWVudCBtdXN0IGFsc28gZGVmaW5lZCB0
aGU8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFu
IGNsYXNzPSJpbnNlcnQiPiAgICAgIGludGVyYWN0aW9uIG9mIHRoZSBuZXcgYWJhdGVtZW50
IHRyZWF0bWVudCB3aXRoIGV4aXN0aW5nPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICB0cmVhdG1lbnRz
Ljwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIElm
IHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50IHJlc3VsdHMgaW4gdGhyb3R0bGlu
ZyBvZiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBJZiB0aGUgb3Zl
cmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCByZXN1bHRzIGluIHRocm90dGxpbmcgb2YgdGhl
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIHJlcXVlc3QgYW5kIGlmIHRoZSByZWFjdGluZyBub2RlIGlzIGFuIGFnZW50IHRo
ZW4gdGhlIGFnZW50IE1VU1Qgc2VuZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIHJlcXVlc3QgYW5kIGlmIHRoZSByZWFjdGluZyBub2RlIGlzIGFuIGFnZW50IHRoZW4g
dGhlIGFnZW50IE1VU1Qgc2VuZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhbiBhcHByb3ByaWF0ZSBlcnJvciBhcyBkZWZp
bmVkIGluIFNlY3Rpb24gOC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBh
biBhcHByb3ByaWF0ZSBlcnJvciBhcyBkZWZpbmVkIGluIFNlY3Rpb24gOC48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERpYW1ldGVyIGVuZHBvaW50cyB0
aGF0IHRocm90dGxlIHJlcXVlc3RzIG5lZWQgdG8gZG8gc28gYWNjb3JkaW5nIHRvPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRGlhbWV0ZXIgZW5kcG9pbnRzIHRoYXQg
dGhyb3R0bGUgcmVxdWVzdHMgbmVlZCB0byBkbyBzbyBhY2NvcmRpbmcgdG88L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGhl
IHJ1bGVzIG9mIHRoZSBjbGllbnQgYXBwbGljYXRpb24uICBUaG9zZSBydWxlcyB3aWxsIHZh
cnkgYnk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgcnVsZXMgb2Yg
dGhlIGNsaWVudCBhcHBsaWNhdGlvbi4gIFRob3NlIHJ1bGVzIHdpbGwgdmFyeSBieTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBhcHBsaWNhdGlvbiwgYW5kIGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMgZG9jdW1l
bnQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYXBwbGljYXRpb24sIGFu
ZCBhcmUgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgSW4gdGhlIGNhc2UgdGhhdCB0aGUgT0NT
IGVudHJ5IGluZGljYXRlZCBubyB0cmFmZmljIHdhcyB0byBiZSBzZW50IHRvPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgSW4gdGhlIGNhc2UgdGhhdCB0aGUgT0NTIGVu
dHJ5IGluZGljYXRlZCBubyB0cmFmZmljIHdhcyB0byBiZSBzZW50IHRvPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHIgYmdjb2xvcj0iZ3JheSIgPjx0ZD48L3RkPjx0aD48YSBuYW1lPSJwYXJ0LWwxNSIgLz48
c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMjIsIGxpbmUg
MjM8L2VtPjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXIxNSIgLz48c21hbGw+
c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMjIsIGxpbmUgMzM8L2Vt
PjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE9DLU9MUiBBVlBzIGRlZmluZWQg
aW4gdGhpcyBkb2N1bWVudC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBP
Qy1PTFIgQVZQcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQuPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBbUkZDNjczM10gZGVmaW5lZCBHcm91cGVkIEFW
UCBleHRlbnNpb24gbWVjaGFuaXNtcyBhcHBseS4gIFRoaXM8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBbUkZDNjczM10gZGVmaW5lZCBHcm91cGVkIEFWUCBleHRlbnNp
b24gbWVjaGFuaXNtcyBhcHBseS4gIFRoaXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYWxsb3dzLCBmb3IgZXhhbXBsZSwg
ZGVmaW5pbmcgYSBuZXcgZmVhdHVyZSB0aGF0IGlzIG1hbmRhdG9yeSB0byBiZTwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFsbG93cywgZm9yIGV4YW1wbGUsIGRlZmlu
aW5nIGEgbmV3IGZlYXR1cmUgdGhhdCBpcyBtYW5kYXRvcnkgdG8gYmU8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdW5kZXJz
dG9vZCBldmVuIHdoZW4gcGlnZ3liYWNrZWQgb24gYW4gZXhpc3RpbmcgYXBwbGljYXRpb24u
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdW5kZXJzdG9vZCBldmVuIHdo
ZW4gcGlnZ3liYWNrZWQgb24gYW4gZXhpc3RpbmcgYXBwbGljYXRpb24uPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBXaGVuIGRlZmluaW5nIG5ldyByZXBv
cnQgdHlwZSB2YWx1ZXMsIHRoZSBjb3JyZXNwb25kaW5nIHNwZWNpZmljYXRpb248L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBXaGVuIGRlZmluaW5nIG5ldyByZXBvcnQg
dHlwZSB2YWx1ZXMsIHRoZSBjb3JyZXNwb25kaW5nIHNwZWNpZmljYXRpb248L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgTVVT
VCBkZWZpbmUgdGhlIHNlbWFudGljcyBvZiB0aGUgbmV3IHJlcG9ydCB0eXBlcyBhbmQgaG93
IHRoZXkgYWZmZWN0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgTVVTVCBk
ZWZpbmUgdGhlIHNlbWFudGljcyBvZiB0aGUgbmV3IHJlcG9ydCB0eXBlcyBhbmQgaG93IHRo
ZXkgYWZmZWN0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIHRoZSBPQy1PTFIgQVZQIGhhbmRsaW5nLjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIHRoZSBPQy1PTFIgQVZQIGhhbmRsaW5nLjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDM3
IiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgVGhlIE9DLU9MUiA8c3BhbiBjbGFzcz0i
ZGVsZXRlIj5BVlA8L3NwYW4+IGNhbiBiZSBleHBhbmRlZCB3aXRoIG9wdGlvbmFsIHN1Yi1B
VlBzIG9ubHkgaWYgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBUaGUg
PHNwYW4gY2xhc3M9Imluc2VydCI+T0MtU3VwcG9ydGVkLUZlYXR1cmUgYW5kPC9zcGFuPiBP
Qy1PTFIgPHNwYW4gY2xhc3M9Imluc2VydCI+QVZQczwvc3Bhbj4gY2FuIGJlIGV4cGFuZGVk
IHdpdGg8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj4gICBsZWdhY3kgRE9JQyBpbXBsZW1lbnRhdGlvbiBjYW4gc2FmZWx5IGln
bm9yZSB0aGVtIHdpdGhvdXQgYnJlYWtpbmc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+ICAgb3B0aW9uYWwgc3ViLUFWUHMgb25seSBpZiBhIGxlZ2FjeSBET0lDIGltcGxl
bWVudGF0aW9uIGNhbiBzYWZlbHk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZv
ciB0aGUgZ2l2ZW4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+T0MtUmVwb3J0LVR5cGU8L3NwYW4+
IEFWUCB2YWx1ZS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgaWdub3Jl
IHRoZW0gd2l0aG91dCBicmVha2luZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB0aGUg
Z2l2ZW4gPHNwYW4gY2xhc3M9Imluc2VydCI+T0MtPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBSZXBvcnQt
VHlwZTwvc3Bhbj4gQVZQIHZhbHVlLiAgPHNwYW4gY2xhc3M9Imluc2VydCI+QW55IG5ldyBz
dWItQVZQcyBNVVNUIE5PVCByZXF1aXJlIHRoYXQgdGhlPC9zcGFuPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBNLWJp
dCBiZSBzZXQuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgRG9jdW1lbnRzIHRoYXQgaW50cm9kdWNlIG5ldyByZXBvcnQgdHlwZXMgTVVTVCBk
ZXNjcmliZSBhbnk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBEb2N1bWVu
dHMgdGhhdCBpbnRyb2R1Y2UgbmV3IHJlcG9ydCB0eXBlcyBNVVNUIGRlc2NyaWJlIGFueTwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBsaW1pdGF0aW9ucyBvbiB0aGVpciB1c2UgYWNyb3NzIG5vbi1zdXBwb3J0aW5nIGFn
ZW50cy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBsaW1pdGF0aW9ucyBv
biB0aGVpciB1c2UgYWNyb3NzIG5vbi1zdXBwb3J0aW5nIGFnZW50cy48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEFzIHdpdGggYW55IERpYW1ldGVyIHNw
ZWNpZmljYXRpb24sIFJGQzY3MzMgcmVxdWlyZXMgYWxsIG5ldyBBVlBzIHRvPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQXMgd2l0aCBhbnkgRGlhbWV0ZXIgc3BlY2lm
aWNhdGlvbiwgUkZDNjczMyByZXF1aXJlcyBhbGwgbmV3IEFWUHMgdG88L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYmUgcmVn
aXN0ZXJlZCB3aXRoIElBTkEuICBTZWUgU2VjdGlvbiA5IGZvciB0aGUgcmVxdWlyZWQgcHJv
Y2VkdXJlcy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBiZSByZWdpc3Rl
cmVkIHdpdGggSUFOQS4gIFNlZSBTZWN0aW9uIDkgZm9yIHRoZSByZXF1aXJlZCBwcm9jZWR1
cmVzLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBOZXcgZmVhdHVyZXMgKGZlYXR1cmUgYml0cyBpbiB0aGUgT0MtRmVhdHVy
ZS1WZWN0b3IgQVZQKSBhbmQgcmVwb3J0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgTmV3IGZlYXR1cmVzIChmZWF0dXJlIGJpdHMgaW4gdGhlIE9DLUZlYXR1cmUtVmVj
dG9yIEFWUCkgYW5kIHJlcG9ydDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0eXBlcyAoaW4gdGhlIE9DLVJlcG9ydC1UeXBl
IEFWUCkgTVVTVCBiZSByZWdpc3RlcmVkIHdpdGggSUFOQS48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICB0eXBlcyAoaW4gdGhlIE9DLVJlcG9ydC1UeXBlIEFWUCkgTVVT
VCBiZSByZWdpc3RlcmVkIHdpdGggSUFOQS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPjYuICBMb3NzIEFsZ29yaXRobTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjYuICBMb3NzIEFsZ29yaXRobTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGJnY29sb3I9Imdy
YXkiID48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sMTYiIC8+PHNtYWxsPnNraXBwaW5n
IHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDI0LCBsaW5lIDIxPC9lbT48L3RoPjx0
aD4gPC90aD48dGg+PGEgbmFtZT0icGFydC1yMTYiIC8+PHNtYWxsPnNraXBwaW5nIHRvIGNo
YW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDI0LCBsaW5lIDMyPC9lbT48L3RoPjx0ZD48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBpbmRpY2F0ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlAgaXMgdGhlIGxvc3MgYWxnb3JpdGhtLCB0aGU8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBpbmRpY2F0ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgaXMgdGhlIGxvc3MgYWxnb3JpdGhtLCB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcmVhY3Rpbmcgbm9kZSBN
VVNUIGFwcGx5IGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gdGhlIHJlcXVlc3RlZDwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHJlYWN0aW5nIG5vZGUgTVVTVCBhcHBseSBh
YmF0ZW1lbnQgdHJlYXRtZW50IHRvIHRoZSByZXF1ZXN0ZWQ8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcGVyY2VudGFnZSBv
ZiByZXF1ZXN0IG1lc3NhZ2VzIHNlbnQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgcGVyY2VudGFnZSBvZiByZXF1ZXN0IG1lc3NhZ2VzIHNlbnQuPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBOb3RlOiBUaGUgbG9zcyBhbGdv
cml0aG0gaXMgYSBzdGF0ZWxlc3MgYWxnb3JpdGhtLiAgQXMgYSByZXN1bHQsPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgTm90ZTogVGhlIGxvc3MgYWxnb3JpdGht
IGlzIGEgc3RhdGVsZXNzIGFsZ29yaXRobS4gIEFzIGEgcmVzdWx0LDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICB0aGUg
cmVhY3Rpbmcgbm9kZSBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCB0aGVyZSB3aWxsIGJlIGFu
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgdGhlIHJlYWN0aW5nIG5v
ZGUgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgdGhlcmUgd2lsbCBiZSBhbjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBh
YnNvbHV0ZSByZWR1Y3Rpb24gaW4gdHJhZmZpYyBzZW50LiAgUmF0aGVyLCBpdCBndWFyYW50
ZWVzIHRoYXQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBhYnNvbHV0
ZSByZWR1Y3Rpb24gaW4gdHJhZmZpYyBzZW50LiAgUmF0aGVyLCBpdCBndWFyYW50ZWVzIHRo
YXQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgICAgdGhlIHJlcXVlc3RlZCBwZXJjZW50YWdlIG9mIG5ldyByZXF1ZXN0cyB3
aWxsIGJlIGdpdmVuIGFiYXRlbWVudDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgICAgIHRoZSByZXF1ZXN0ZWQgcGVyY2VudGFnZSBvZiBuZXcgcmVxdWVzdHMgd2lsbCBi
ZSBnaXZlbiBhYmF0ZW1lbnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgdHJlYXRtZW50LjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgICAgIHRyZWF0bWVudC48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAzOCIgLz48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPldoZW4gYXBwbHlpbmcgb3Zl
cmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCBmb3IgdGhlIGxvc3MgYWJhdGVtZW50PC9zcGFu
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0i
ZGVsZXRlIj4gICBhbGdvcml0aG0sIHRoZSByZWFjdGluZyBub2RlIE1VU1QgYWJhdGUgdGhl
IHJlcXVlc3RlZCBwZXJjZW50YWdlIG9mPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICByZXF1ZXN0cyB0aGF0
IHdvdWxkIGhhdmUgb3RoZXJ3aXNlIGJlZW4gc2VudCB0byB0aGUgcmVwb3J0aW5nIGhvc3Qg
b3I8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFu
IGNsYXNzPSJkZWxldGUiPiAgIHJlYWxtLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgSWYgcmVhY3Rpbmcgbm9kZSBjb21lcyBvdXQgb2Yg
dGhlIDEwMCBwZXJjZW50IHRyYWZmaWMgcmVkdWN0aW9uIGFzIGE8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICBJZiByZWFjdGluZyBub2RlIGNvbWVzIG91dCBvZiB0aGUg
MTAwIHBlcmNlbnQgdHJhZmZpYyByZWR1Y3Rpb24gYXMgYTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlm
ZjAwMzkiIC8+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICByZXN1bHQgb2YgdGhlIG92ZXJs
b2FkIHJlcG9ydCB0aW1pbmcgb3V0LCB0aGUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Zm9sbG93
aW5nIHByb2NlZHVyZXM8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PiAgIHJlc3VsdCBvZiB0aGUgb3ZlcmxvYWQgcmVwb3J0IHRpbWluZyBvdXQsIHRoZSByZWFj
dGluZyBub2RlIHNlbmRpbmc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBhcmUgUkVD
T01NRU5ERUQgdG8gYmUgYXBwbGllZC4gIFRoZTwvc3Bhbj4gcmVhY3Rpbmcgbm9kZSBzZW5k
aW5nIHRoZSB0cmFmZmljPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHRo
ZSB0cmFmZmljIDxzcGFuIGNsYXNzPSJpbnNlcnQiPlNIT1VMRDwvc3Bhbj4gYmUgY29uc2Vy
dmF0aXZlIGFuZCwgZm9yIGV4YW1wbGUsIGZpcnN0IHNlbmQ8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICA8c3BhbiBjbGFz
cz0iZGVsZXRlIj5zaG91bGQ8L3NwYW4+IGJlIGNvbnNlcnZhdGl2ZSBhbmQsIGZvciBleGFt
cGxlLCBmaXJzdCBzZW5kICJwcm9iZSIgbWVzc2FnZXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgInByb2JlIiBtZXNzYWdlcyB0byBsZWFybiB0aGUgb3ZlcmxvYWQg
Y29uZGl0aW9uIG9mIHRoZSBvdmVybG9hZGVkPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgdG8gbGVhcm4gdGhlIG92ZXJs
b2FkIGNvbmRpdGlvbiBvZiB0aGUgb3ZlcmxvYWRlZCBub2RlIGJlZm9yZTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBub2RlIGJlZm9yZSBjb252ZXJnaW5nIHRvIGFu
eSB0cmFmZmljIGFtb3VudC9yYXRlIGRlY2lkZWQgYnkgdGhlPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgY29udmVyZ2lu
ZyB0byBhbnkgdHJhZmZpYyBhbW91bnQvcmF0ZSBkZWNpZGVkIGJ5IHRoZSBzZW5kZXIuICBT
aW1pbGFyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHNlbmRlci4gIFNp
bWlsYXIgY29uY2VybnMgYXBwbHkgaW4gYWxsIGNhc2VzIHdoZW4gdGhlIG92ZXJsb2FkIHJl
cG9ydDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPiAgIGNvbmNlcm5zIGFwcGx5IGluIGFsbCBjYXNlcyB3aGVuIHRoZSBvdmVy
bG9hZCByZXBvcnQgdGltZXMgb3V0IHVubGVzczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj4gICB0aW1lcyBvdXQgdW5sZXNzIHRoZSBwcmV2aW91cyBvdmVybG9hZCByZXBv
cnQgc3RhdGVkIDAgcGVyY2VudDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHRoZSBwcmV2aW91cyBvdmVybG9hZCByZXBv
cnQgc3RhdGVkIDAgcGVyY2VudCByZWR1Y3Rpb24uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyYmxvY2siPiAgIHJlZHVjdGlvbi48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgICAgIFRoZSBnb2FsIG9mIHRoaXMgYmVoYXZpb3IgaXMgdG8gcmVkdWNl
IHRoZSBwcm9iYWJpbGl0eSBvZiBvdmVybG9hZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgICAgIFRoZSBnb2FsIG9mIHRoaXMgYmVoYXZpb3IgaXMgdG8gcmVkdWNlIHRo
ZSBwcm9iYWJpbGl0eSBvZiBvdmVybG9hZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBjb25kaXRpb24gdGhyYXNoaW5n
IHdoZXJlIGFuIGltbWVkaWF0ZSB0cmFuc2l0aW9uIGZyb20gMTAwJTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGNvbmRpdGlvbiB0aHJhc2hpbmcgd2hlcmUgYW4g
aW1tZWRpYXRlIHRyYW5zaXRpb24gZnJvbSAxMDAlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHJlZHVjdGlvbiB0byAw
JSByZWR1Y3Rpb24gcmVzdWx0cyBpbiB0aGUgcmVwb3J0aW5nIG5vZGUgbW92aW5nPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgcmVkdWN0aW9uIHRvIDAlIHJlZHVj
dGlvbiByZXN1bHRzIGluIHRoZSByZXBvcnRpbmcgbm9kZSBtb3Zpbmc8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgcXVp
Y2tseSBiYWNrIGludG8gYW4gb3ZlcmxvYWQgY29uZGl0aW9uLjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgICAgIHF1aWNrbHkgYmFjayBpbnRvIGFuIG92ZXJsb2FkIGNv
bmRpdGlvbi48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48
YSBuYW1lPSJkaWZmMDA0MCIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNs
YXNzPSJkZWxldGUiPklmIHRoZSByZWFjdGluZyBub2RlIGRvZXMgbm90IHJlY2VpdmUgYW4g
T0xSIGluIGFuc3dlcnMgcmVjZWl2ZWQgZnJvbTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgdGhlIGZvcm1l
cmx5IG92ZXJsb2FkZWQgbm9kZSB0aGVuIHRoZSByZWFjdGluZyBub2RlIFNIT1VMRCBzbG93
bHk8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFu
IGNsYXNzPSJkZWxldGUiPiAgIGluY3JlYXNlIHRoZSByYXRlIG9mIHRyYWZmaWMgc2VudCB0
byB0aGUgb3ZlcmxvYWRlZCBub2RlLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+Ny4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlyczwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjcuICBBdHRyaWJ1dGUgVmFsdWUgUGFpcnM8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoaXMgc2VjdGlvbiBkZXNj
cmliZXMgdGhlIGVuY29kaW5nIGFuZCBzZW1hbnRpY3Mgb2YgdGhlIERpYW1ldGVyPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0
aGUgZW5jb2RpbmcgYW5kIHNlbWFudGljcyBvZiB0aGUgRGlhbWV0ZXI8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgT3Zlcmxv
YWQgSW5kaWNhdGlvbiBBdHRyaWJ1dGUgVmFsdWUgUGFpcnMgKEFWUHMpIGRlZmluZWQgaW4g
dGhpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIE92ZXJsb2FkIEluZGlj
YXRpb24gQXR0cmlidXRlIFZhbHVlIFBhaXJzIChBVlBzKSBkZWZpbmVkIGluIHRoaXM8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgZG9jdW1lbnQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZG9jdW1l
bnQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij43LjEuICBPQy1T
dXBwb3J0ZWQtRmVhdHVyZXMgQVZQPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
Ny4xLiAgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgKEFW
UCBjb2RlIFRCRDEpIGlzIG9mIHR5cGUgR3JvdXBlZCBhbmQ8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBUaGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCAoQVZQIGNv
ZGUgVEJEMSkgaXMgb2YgdHlwZSBHcm91cGVkIGFuZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBzZXJ2ZXMgdHdvIHB1cnBv
c2VzLiAgRmlyc3QsIGl0IGFubm91bmNlcyBhIG5vZGUncyBzdXBwb3J0IGZvciB0aGU8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBzZXJ2ZXMgdHdvIHB1cnBvc2VzLiAg
Rmlyc3QsIGl0IGFubm91bmNlcyBhIG5vZGUncyBzdXBwb3J0IGZvciB0aGU8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg
IDx0ciBiZ2NvbG9yPSJncmF5IiA+PHRkPjwvdGQ+PHRoPjxhIG5hbWU9InBhcnQtbDE3IiAv
PjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAyNiwgbGlu
ZSAzMTwvZW0+PC90aD48dGg+IDwvdGg+PHRoPjxhIG5hbWU9InBhcnQtcjE3IiAvPjxzbWFs
bD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxlbT4gcGFnZSAyNiwgbGluZSAzMTwv
ZW0+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdXNlZCBhcyBhIG5vbi12b2xh
dGlsZSBpbmNyZWFzaW5nIGNvdW50ZXIgZm9yIGEgc2VxdWVuY2Ugb2Ygb3ZlcmxvYWQ8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB1c2VkIGFzIGEgbm9uLXZvbGF0aWxl
IGluY3JlYXNpbmcgY291bnRlciBmb3IgYSBzZXF1ZW5jZSBvZiBvdmVybG9hZDwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBy
ZXBvcnRzIGJldHdlZW4gdHdvIERPSUMgbm9kZXMgZm9yIHRoZSBzYW1lIG92ZXJsb2FkIG9j
Y3VycmVuY2UuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVwb3J0cyBi
ZXR3ZWVuIHR3byBET0lDIG5vZGVzIGZvciB0aGUgc2FtZSBvdmVybG9hZCBvY2N1cnJlbmNl
LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICBTZXF1ZW5jZSBudW1iZXJzIGFyZSB0cmVhdGVkIGluIGEgdW5pLWRpcmVjdGlv
bmFsIG1hbm5lciwgaS5lLiB0d288L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICBTZXF1ZW5jZSBudW1iZXJzIGFyZSB0cmVhdGVkIGluIGEgdW5pLWRpcmVjdGlvbmFsIG1h
bm5lciwgaS5lLiB0d288L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgc2VxdWVuY2UgbnVtYmVycyBvbiBlYWNoIGRpcmVjdGlv
biBiZXR3ZWVuIHR3byBET0lDIG5vZGVzIGFyZSBub3Q8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICBzZXF1ZW5jZSBudW1iZXJzIG9uIGVhY2ggZGlyZWN0aW9uIGJldHdl
ZW4gdHdvIERPSUMgbm9kZXMgYXJlIG5vdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZWxhdGVkIG9yIGNvcnJlbGF0ZWQu
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVsYXRlZCBvciBjb3JyZWxh
dGVkLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+Ny41LiAgT0Mt
VmFsaWRpdHktRHVyYXRpb24gQVZQPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
Ny41LiAgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIChBVlAg
Y29kZSBUQkQ1KSBpcyBvZiB0eXBlIFVuc2lnbmVkMzI8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICBUaGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIChBVlAgY29kZSBU
QkQ1KSBpcyBvZiB0eXBlIFVuc2lnbmVkMzI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYW5kIGluZGljYXRlcyBpbiBzZWNv
bmRzIHRoZSB2YWxpZGl0eSB0aW1lIG9mIHRoZSBvdmVybG9hZCByZXBvcnQuPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYW5kIGluZGljYXRlcyBpbiBzZWNvbmRzIHRo
ZSB2YWxpZGl0eSB0aW1lIG9mIHRoZSBvdmVybG9hZCByZXBvcnQuPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD48YSBuYW1l
PSJkaWZmMDA0MSIgLz48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIFRoZSBudW1iZXIgb2Yg
PHNwYW4gY2xhc3M9ImRlbGV0ZSI+bXNlY29uZHM8L3NwYW4+IGlzIG1lYXN1cmVkIGFmdGVy
IHJlY2VwdGlvbiBvZiB0aGUgZmlyc3QgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+T0MtPC9zcGFu
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBUaGUgbnVtYmVyIG9mIDxz
cGFuIGNsYXNzPSJpbnNlcnQiPnNlY29uZHM8L3NwYW4+IGlzIG1lYXN1cmVkIGFmdGVyIHJl
Y2VwdGlvbiBvZiB0aGUgZmlyc3QgPHNwYW4gY2xhc3M9Imluc2VydCI+T0MtT0xSPC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
YmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIE9MUjwvc3Bhbj4gQVZQIHdpdGggYSBn
aXZlbiB2YWx1ZSBvZiBPQy1TZXF1ZW5jZS1OdW1iZXIgQVZQLiAgVGhlIGRlZmF1bHQ8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgQVZQIHdpdGggYSBnaXZlbiB2YWx1
ZSBvZiBPQy1TZXF1ZW5jZS1OdW1iZXIgQVZQLiAgVGhlIGRlZmF1bHQgdmFsdWU8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4g
ICB2YWx1ZSBmb3IgdGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCBpcyAzMCBzZWNvbmRz
LiAgV2hlbiB0aGUgT0MtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGZv
ciB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzIDMwIHNlY29uZHMuICBXaGVuIHRo
ZSBPQy08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzIG5vdCBwcmVzZW50IGluIHRo
ZSBPQy1PTFIgQVZQLCB0aGUgZGVmYXVsdDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIFZhbGlkaXR5LUR1cmF0aW9uIEFWUCBpcyBub3QgcHJlc2VudCBpbiB0aGUgT0Mt
T0xSIEFWUCwgdGhlIGRlZmF1bHQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdmFsdWUgYXBwbGllcy4gIFRoZSBtYXhpbXVt
IHZhbHVlIGZvciB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdmFsdWUgYXBwbGllcy4gIFRoZSBtYXhpbXVtIHZh
bHVlIGZvciB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDg2LDQwMCBz
ZWNvbmRzICgyNCBob3VycykuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ODYsNDAwIHNlY29uZHMgKDI0IGhvdXJzKS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPjcuNi4gIE9DLVJlcG9ydC1UeXBlIEFWUDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjcuNi4gIE9DLVJlcG9ydC1UeXBlIEFWUDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIE9DLVJlcG9ydC1UeXBlIEFWUCAo
QVZQIGNvZGUgVEJENikgaXMgb2YgdHlwZSBFbnVtZXJhdGVkLiAgVGhlPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlIE9DLVJlcG9ydC1UeXBlIEFWUCAoQVZQIGNv
ZGUgVEJENikgaXMgb2YgdHlwZSBFbnVtZXJhdGVkLiAgVGhlPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHZhbHVlIG9mIHRo
ZSBBVlAgZGVzY3JpYmVzIHdoYXQgdGhlIG92ZXJsb2FkIHJlcG9ydCBjb25jZXJucy4gIFRo
ZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHZhbHVlIG9mIHRoZSBBVlAg
ZGVzY3JpYmVzIHdoYXQgdGhlIG92ZXJsb2FkIHJlcG9ydCBjb25jZXJucy4gIFRoZTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBmb2xsb3dpbmcgdmFsdWVzIGFyZSBpbml0aWFsbHkgZGVmaW5lZDo8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBmb2xsb3dpbmcgdmFsdWVzIGFyZSBpbml0aWFsbHkg
ZGVmaW5lZDo8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHIgYmdjb2xvcj0iZ3JheSIgPjx0ZD48L3RkPjx0aD48YSBuYW1lPSJwYXJ0LWwxOCIg
Lz48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMjgsIGxp
bmUgMTI8L2VtPjwvdGg+PHRoPiA8L3RoPjx0aD48YSBuYW1lPSJwYXJ0LXIxOCIgLz48c21h
bGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMjgsIGxpbmUgMTI8
L2VtPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEFzIGRlc2NyaWJlZCBpbiB0
aGUgRGlhbWV0ZXIgYmFzZSBwcm90b2NvbCBbUkZDNjczM10sIHRoZSBNLWJpdCB1c2FnZTwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEFzIGRlc2NyaWJlZCBpbiB0aGUg
RGlhbWV0ZXIgYmFzZSBwcm90b2NvbCBbUkZDNjczM10sIHRoZSBNLWJpdCB1c2FnZTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBmb3IgYSBnaXZlbiBBVlAgaW4gYSBnaXZlbiBjb21tYW5kIG1heSBiZSBkZWZpbmVkIGJ5
IHRoZSBhcHBsaWNhdGlvbi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBm
b3IgYSBnaXZlbiBBVlAgaW4gYSBnaXZlbiBjb21tYW5kIG1heSBiZSBkZWZpbmVkIGJ5IHRo
ZSBhcHBsaWNhdGlvbi48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjguICBFcnJvciBSZXNwb25zZSBDb2RlczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPjguICBFcnJvciBSZXNwb25zZSBDb2RlczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgV2hlbiBhIERPSUMgbm9kZSByZWplY3RzIGEgRGlhbWV0ZXIg
cmVxdWVzdCBkdWUgdG8gb3ZlcmxvYWQsIHRoZSBET0lDPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgV2hlbiBhIERPSUMgbm9kZSByZWplY3RzIGEgRGlhbWV0ZXIgcmVx
dWVzdCBkdWUgdG8gb3ZlcmxvYWQsIHRoZSBET0lDPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG5vZGUgTVVTVCBzZWxlY3Qg
YW4gYXBwcm9wcmlhdGUgZXJyb3IgcmVzcG9uc2UgY29kZS4gIFRoaXM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBub2RlIE1VU1Qgc2VsZWN0IGFuIGFwcHJvcHJpYXRl
IGVycm9yIHJlc3BvbnNlIGNvZGUuICBUaGlzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGRldGVybWluYXRpb24gaXMgbWFk
ZSBiYXNlZCBvbiB0aGUgcHJvYmFiaWxpdHkgb2YgdGhlIHJlcXVlc3Q8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBkZXRlcm1pbmF0aW9uIGlzIG1hZGUgYmFzZWQgb24g
dGhlIHByb2JhYmlsaXR5IG9mIHRoZSByZXF1ZXN0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHN1Y2NlZWRpbmcgaWYgcmV0
cmllZCBvbiBhIGRpZmZlcmVudCBwYXRoLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIHN1Y2NlZWRpbmcgaWYgcmV0cmllZCBvbiBhIGRpZmZlcmVudCBwYXRoLjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYw
MDQyIiAvPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyYmxvY2siPiAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPk5vdGU6IFRoaXMgb25seSBh
cHBsaWVzIGZvciBET0lDIG5vZGVzIHRoYXQgYXJlIG5vdCB0aGUgb3JpZ2luYXRvcjwvc3Bh
bj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9
Imluc2VydCI+ICAgICAgb2YgdGhlIHJlcXVlc3QuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmVw
b3J0aW5nIG5vZGUgcmVqZWN0aW5nIGEgRGlhbWV0ZXIgcmVxdWVzdCBkdWUgdG8gYW4gb3Zl
cmxvYWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBIHJlcG9ydGluZyBu
b2RlIHJlamVjdGluZyBhIERpYW1ldGVyIHJlcXVlc3QgZHVlIHRvIGFuIG92ZXJsb2FkPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIGNvbmRpdGlvbiBTSE9VTEQgc2VuZCBhIERJQU1FVEVSX1RPT19CVVNZIGVycm9yIHJl
c3BvbnNlLCBpZiBpdCBjYW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBj
b25kaXRpb24gU0hPVUxEIHNlbmQgYSBESUFNRVRFUl9UT09fQlVTWSBlcnJvciByZXNwb25z
ZSwgaWYgaXQgY2FuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIGFzc3VtZSB0aGF0IHRoZSBzYW1lIHJlcXVlc3QgbWF5IHN1
Y2NlZWQgb24gYSBkaWZmZXJlbnQgcGF0aC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBhc3N1bWUgdGhhdCB0aGUgc2FtZSByZXF1ZXN0IG1heSBzdWNjZWVkIG9uIGEg
ZGlmZmVyZW50IHBhdGguPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICBJZiBhIHJlcG9ydGluZyBub2RlIGtub3dzIG9yIGFzc3VtZXMgdGhhdCB0aGUgc2Ft
ZSByZXF1ZXN0IHdpbGwgbm90PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
SWYgYSByZXBvcnRpbmcgbm9kZSBrbm93cyBvciBhc3N1bWVzIHRoYXQgdGhlIHNhbWUgcmVx
dWVzdCB3aWxsIG5vdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBzdWNjZWVkIG9uIGEgZGlmZmVyZW50IHBhdGgsIERJQU1F
VEVSX1VOQUJMRV9UT19DT01QTFkgZXJyb3IgcmVzcG9uc2U8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBzdWNjZWVkIG9uIGEgZGlmZmVyZW50IHBhdGgsIERJQU1FVEVS
X1VOQUJMRV9UT19DT01QTFkgZXJyb3IgcmVzcG9uc2U8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgU0hPVUxEIGJlIHVzZWQu
ICBSZXRyeWluZyB3b3VsZCBjb25zdW1lIHZhbHVhYmxlIHJlc291cmNlcyBkdXJpbmcgYW48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBTSE9VTEQgYmUgdXNlZC4gIFJl
dHJ5aW5nIHdvdWxkIGNvbnN1bWUgdmFsdWFibGUgcmVzb3VyY2VzIGR1cmluZyBhbjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBvY2N1cnJlbmNlIG9mIG92ZXJsb2FkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIG9jY3VycmVuY2Ugb2Ygb3ZlcmxvYWQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBGb3IgaW5zdGFuY2UsIGlmIHRoZSByZXF1ZXN0IGFy
cml2ZWQgYXQgdGhlIHJlcG9ydGluZyBub2RlIHdpdGhvdXQ8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICAgICBGb3IgaW5zdGFuY2UsIGlmIHRoZSByZXF1ZXN0IGFycml2
ZWQgYXQgdGhlIHJlcG9ydGluZyBub2RlIHdpdGhvdXQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPgoKICAgICA8dHI+PHRkPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZD48L3Rk
PjwvdHI+CiAgICAgPHRyIGJnY29sb3I9ImdyYXkiPjx0aCBjb2xzcGFuPSI1IiBhbGlnbj0i
Y2VudGVyIj48YSBuYW1lPSJlbmQiPiZuYnNwO0VuZCBvZiBjaGFuZ2VzLiA0MiBjaGFuZ2Ug
YmxvY2tzLiZuYnNwOzwvYT48L3RoPjwvdHI+CiAgICAgPHRyIGNsYXNzPSJzdGF0cyI+PHRk
PjwvdGQ+PHRoPjxpPjg4IGxpbmVzIGNoYW5nZWQgb3IgZGVsZXRlZDwvaT48L3RoPjx0aD48
aT4gPC9pPjwvdGg+PHRoPjxpPjg1IGxpbmVzIGNoYW5nZWQgb3IgYWRkZWQ8L2k+PC90aD48
dGQ+PC90ZD48L3RyPgogICAgIDx0cj48dGQgY29sc3Bhbj0iNSIgYWxpZ249ImNlbnRlciIg
Y2xhc3M9InNtYWxsIj48YnIvPlRoaXMgaHRtbCBkaWZmIHdhcyBwcm9kdWNlZCBieSByZmNk
aWZmIDEuNDEuIFRoZSBsYXRlc3QgdmVyc2lvbiBpcyBhdmFpbGFibGUgZnJvbSA8YSBocmVm
PSJodHRwOi8vd3d3LnRvb2xzLmlldGYub3JnL3Rvb2xzL3JmY2RpZmYvIiA+aHR0cDovL3Rv
b2xzLmlldGYub3JnL3Rvb2xzL3JmY2RpZmYvPC9hPiA8L3RkPjwvdHI+CiAgIDwvdGFibGU+
CiAgIDwvYm9keT4KICAgPC9odG1sPgpYLUdlbmVyYXRvcjogcHlodCAwLjM1Cgo8IS0tIGFy
Z3M6IHsnLS1vbGRjb2xvdXInOiAncmVkJywgJy0td2lkdGgnOiAnJywgJ2RpZmZ0eXBlJzog
Jy0taHRtbCcsICdmaWxlbmFtZTInOiAnXG5cblxuXG5EaWFtZXRlciBNYWludGVuYW5jZSBh
bmQgRXh0ZW5zaW9ucyAoRElNRSkgICAgICAgICAgICAgIEouIEtvcmhvbmVuLCBFZC5cbklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBCcm9hZGNvbVxuSW50ZW5kZWQgc3RhdHVzOiBTdGFuZGFyZHMgVHJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgUy4gRG9ub3ZhbiwgRWQuXG5FeHBpcmVzOiBKdWx5IDMw
LCAyMDE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQi4gQ2FtcGJl
bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE9yYWNsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTC4gTW9yYW5kXG4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Jh
bmdlIExhYnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSmFudWFyeSAyNiwgMjAxNVxuXG5cbiAgICAgICAgICAgICAgICBEaWFt
ZXRlciBPdmVybG9hZCBJbmRpY2F0aW9uIENvbnZleWFuY2VcbiAgICAgICAgICAgICAgICAg
ICAgICBkcmFmdC1pZXRmLWRpbWUtb3ZsaS0wNy50eHRcblxuQWJzdHJhY3RcblxuICAgVGhp
cyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBiYXNlIHNvbHV0aW9uIGZvciBEaWFtZXRlciBv
dmVybG9hZFxuICAgY29udHJvbCwgcmVmZXJyZWQgdG8gYXMgRGlhbWV0ZXIgT3ZlcmxvYWQg
SW5kaWNhdGlvbiBDb252ZXlhbmNlXG4gICAoRE9JQykuXG5cblN0YXR1cyBvZiBUaGlzIE1l
bW9cblxuICAgVGhpcyBJbnRlcm5ldC1EcmFmdCBpcyBzdWJtaXR0ZWQgaW4gZnVsbCBjb25m
b3JtYW5jZSB3aXRoIHRoZVxuICAgcHJvdmlzaW9ucyBvZiBCQ1AgNzggYW5kIEJDUCA3OS5c
blxuICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50
ZXJuZXQgRW5naW5lZXJpbmdcbiAgIFRhc2sgRm9yY2UgKElFVEYpLiAgTm90ZSB0aGF0IG90
aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0cmlidXRlXG4gICB3b3JraW5nIGRvY3VtZW50cyBh
cyBJbnRlcm5ldC1EcmFmdHMuICBUaGUgbGlzdCBvZiBjdXJyZW50IEludGVybmV0LVxuICAg
RHJhZnRzIGlzIGF0IGh0dHA6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kcmFmdHMvY3VycmVu
dC8uXG5cbiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZv
ciBhIG1heGltdW0gb2Ygc2l4IG1vbnRoc1xuICAgYW5kIG1heSBiZSB1cGRhdGVkLCByZXBs
YWNlZCwgb3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnlcbiAgIHRpbWUu
ICBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1EcmFmdHMgYXMgcmVmZXJl
bmNlXG4gICBtYXRlcmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBp
biBwcm9ncmVzcy4iXG5cbiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24g
SnVseSAzMCwgMjAxNS5cblxuQ29weXJpZ2h0IE5vdGljZVxuXG4gICBDb3B5cmlnaHQgKGMp
IDIwMTUgSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcyB0aGVcbiAg
IGRvY3VtZW50IGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLlxuXG4gICBUaGlzIGRv
Y3VtZW50IGlzIHN1YmplY3QgdG8gQkNQIDc4IGFuZCB0aGUgSUVURiBUcnVzdFwncyBMZWdh
bFxuICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50c1xuICAgKGh0dHA6
Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0IG9uIHRoZSBkYXRl
IG9mXG4gICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3VtZW50LiAgUGxlYXNlIHJldmlldyB0
aGVzZSBkb2N1bWVudHNcbiAgIGNhcmVmdWxseSwgYXMgdGhleSBkZXNjcmliZSB5b3VyIHJp
Z2h0cyBhbmQgcmVzdHJpY3Rpb25zIHdpdGggcmVzcGVjdFxuICAgdG8gdGhpcyBkb2N1bWVu
dC4gIENvZGUgQ29tcG9uZW50cyBleHRyYWN0ZWQgZnJvbSB0aGlzIGRvY3VtZW50IG11c3Rc
biAgIGluY2x1ZGUgU2ltcGxpZmllZCBCU0QgTGljZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBp
biBTZWN0aW9uIDQuZSBvZlxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBp
cmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDFdXG5fXG5JbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBK
YW51YXJ5IDIwMTVcblxuXG4gICB0aGUgVHJ1c3QgTGVnYWwgUHJvdmlzaW9ucyBhbmQgYXJl
IHByb3ZpZGVkIHdpdGhvdXQgd2FycmFudHkgYXNcbiAgIGRlc2NyaWJlZCBpbiB0aGUgU2lt
cGxpZmllZCBCU0QgTGljZW5zZS5cblxuVGFibGUgb2YgQ29udGVudHNcblxuICAgMS4gIElu
dHJvZHVjdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gICAzXG4gICAyLiAgVGVybWlub2xvZ3kgYW5kIEFiYnJldmlhdGlvbnMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDRcbiAgIDMuICBDb252ZW50aW9ucyBVc2Vk
IGluIFRoaXMgRG9jdW1lbnQgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNVxuICAg
NC4gIFNvbHV0aW9uIE92ZXJ2aWV3IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gICA1XG4gICAgIDQuMS4gIFBpZ2d5YmFja2luZyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDdcbiAgICAgNC4yLiAgRE9JQyBD
YXBhYmlsaXR5IEFubm91bmNlbWVudCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAg
N1xuICAgICA0LjMuICBET0lDIE92ZXJsb2FkIENvbmRpdGlvbiBSZXBvcnRpbmcgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gICA5XG4gICAgIDQuNC4gIERPSUMgRXh0ZW5zaWJpbGl0eSAg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTFcbiAgICAgNC41LiAg
U2ltcGxpZmllZCBFeGFtcGxlIEFyY2hpdGVjdHVyZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAxMVxuICAgNS4gIFNvbHV0aW9uIFByb2NlZHVyZXMgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEyXG4gICAgIDUuMS4gIENhcGFiaWxpdHkgQW5u
b3VuY2VtZW50IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTJcbiAgICAg
ICA1LjEuMS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAxM1xuICAgICAgIDUuMS4yLiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3Ig
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEzXG4gICAgICAgNS4xLjMuICBBZ2Vu
dCBCZWhhdmlvciAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTRc
biAgICAgNS4yLiAgT3ZlcmxvYWQgUmVwb3J0IFByb2Nlc3NpbmcgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAxNVxuICAgICAgIDUuMi4xLiAgT3ZlcmxvYWQgQ29udHJvbCBT
dGF0ZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE1XG4gICAgICAgNS4yLjIu
ICBSZWFjdGluZyBOb2RlIEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMTlcbiAgICAgICA1LjIuMy4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMFxuICAgICA1LjMuICBQcm90b2NvbCBFeHRlbnNp
YmlsaXR5ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyXG4gICA2LiAg
TG9zcyBBbGdvcml0aG0gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMjJcbiAgICAgNi4xLiAgT3ZlcnZpZXcgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyM1xuICAgICA2LjIuICBSZXBvcnRpbmcg
Tm9kZSBCZWhhdmlvciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIzXG4g
ICAgIDYuMy4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMjRcbiAgIDcuICBBdHRyaWJ1dGUgVmFsdWUgUGFpcnMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNFxuICAgICA3LjEuICBPQy1T
dXBwb3J0ZWQtRmVhdHVyZXMgQVZQIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDI1XG4gICAgIDcuMi4gIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjVcbiAgICAgNy4zLiAgT0MtT0xSIEFWUCAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNVxuICAgICA3LjQu
ICBPQy1TZXF1ZW5jZS1OdW1iZXIgQVZQICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDI2XG4gICAgIDcuNS4gIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjZcbiAgICAgNy42LiAgT0MtUmVwb3J0LVR5
cGUgQVZQICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNlxuICAg
ICA3LjcuICBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBBVlAgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDI3XG4gICAgIDcuOC4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlyIGZsYWcg
cnVsZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjdcbiAgIDguICBFcnJvciBSZXNw
b25zZSBDb2RlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
OFxuICAgOS4gIElBTkEgQ29uc2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDI4XG4gICAgIDkuMS4gIEFWUCBjb2RlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjhcbiAgICAgOS4yLiAg
TmV3IHJlZ2lzdHJpZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAyOVxuICAgMTAuIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI5XG4gICAgIDEwLjEuICBQb3RlbnRpYWwgVGhy
ZWF0IE1vZGVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzBcbiAgICAg
MTAuMi4gIERlbmlhbCBvZiBTZXJ2aWNlIEF0dGFja3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAzMVxuICAgICAxMC4zLiAgTm9uLUNvbXBsaWFudCBOb2RlcyAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMxXG4gICAgIDEwLjQuICBFbmQtdG8g
RW5kLVNlY3VyaXR5IElzc3VlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzJc
biAgIDExLiBDb250cmlidXRvcnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAzM1xuICAgMTIuIFJlZmVyZW5jZXMgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMzXG5cblxuXG5Lb3Job25l
biwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAg
ICAgW1BhZ2UgMl1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lD
ICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAgMTIuMS4gIE5v
cm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAzM1xuICAgICAxMi4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMzXG4gICBBcHBlbmRpeCBBLiAgSXNzdWVzIGxlZnQg
Zm9yIGZ1dHVyZSBzcGVjaWZpY2F0aW9ucyAgLiAuIC4gLiAuIC4gLiAgMzRcbiAgICAgQS4x
LiAgQWRkaXRpb25hbCB0cmFmZmljIGFiYXRlbWVudCBhbGdvcml0aG1zIC4gLiAuIC4gLiAu
IC4gLiAuICAzNFxuICAgICBBLjIuICBBZ2VudCBPdmVybG9hZCAgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM0XG4gICAgIEEuMy4gIE5ldyBFcnJvciBE
aWFnbm9zdGljIEFWUCAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzRcbiAg
IEFwcGVuZGl4IEIuICBEZXBsb3ltZW50IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAzNFxuICAgQXBwZW5kaXggQy4gIFJlcXVpcmVtZW50cyBDb25mb3Jt
YW5jZSBBbmFseXNpcyAgLiAuIC4gLiAuIC4gLiAuIC4gIDM1XG4gICAgIEMuMS4gIERlZmVy
cmVkIFJlcXVpcmVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MzVcbiAgICAgQy4yLiAgRGV0ZWN0aW9uIG9mIG5vbi1zdXBwb3J0aW5nIEludGVybWVkaWFy
aWVzICAuIC4gLiAuIC4gLiAuICAzNVxuICAgICBDLjMuICBJbXBsaWNpdCBBcHBsaWNhdGlv
biBJbmRpY2F0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM2XG4gICAgIEMuNC4g
IFN0YXRlbGVzcyBPcGVyYXRpb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMzZcbiAgICAgQy41LiAgTm8gTmV3IFZ1bG5lcmFiaWxpdGllcyAgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzNlxuICAgICBDLjYuICBEZXRhaWxlZCBSZXF1
aXJlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM2XG4gICAg
ICAgQy42LjEuICBHZW5lcmFsIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMzZcbiAgICAgICBDLjYuMi4gIFBlcmZvcm1hbmNlIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzOFxuICAgICAgIEMuNi4zLiAgSGV0
ZXJvZ2VuZW91cyBTdXBwb3J0IGZvciBTb2x1dGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gIDQw
XG4gICAgICAgQy42LjQuICBHcmFudWxhciBDb250cm9sICAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgNDJcbiAgICAgICBDLjYuNS4gIFByaW9yaXR5IGFuZCBQb2xp
Y3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0M1xuICAgICAgIEMuNi42
LiAgU2VjdXJpdHkgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDQzXG4gICAgICAgQy42LjcuICBGbGV4aWJpbGl0eSBhbmQgRXh0ZW5zaWJpbGl0eSAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNDRcbiAgIEFwcGVuZGl4IEQuICBDb25zaWRlcmF0
aW9ucyBmb3IgQXBwbGljYXRpb25zIEludGVncmF0aW5nIHRoZSBET0lDXG4gICAgICAgICAg
ICAgICAgU29sdXRpb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNDZcbiAgICAgRC4xLiAgQXBwbGljYXRpb24gQ2xhc3NpZmljYXRpb24gIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0NlxuICAgICBELjIuICBBcHBsaWNhdGlvbiBU
eXBlIE92ZXJsb2FkIEltcGxpY2F0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gIDQ3XG4gICAg
IEQuMy4gIFJlcXVlc3QgVHJhbnNhY3Rpb24gQ2xhc3NpZmljYXRpb24gIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgNDhcbiAgICAgRC40LiAgUmVxdWVzdCBUeXBlIE92ZXJsb2FkIEltcGxp
Y2F0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0OVxuICAgQXV0aG9yc1wnIEFkZHJl
c3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA1
MFxuXG4xLiAgSW50cm9kdWN0aW9uXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVz
IGEgYmFzZSBzb2x1dGlvbiBmb3IgRGlhbWV0ZXIgb3ZlcmxvYWRcbiAgIGNvbnRyb2wsIHJl
ZmVycmVkIHRvIGFzIERpYW1ldGVyIE92ZXJsb2FkIEluZGljYXRpb24gQ29udmV5YW5jZVxu
ICAgKERPSUMpLCBiYXNlZCBvbiB0aGUgcmVxdWlyZW1lbnRzIGlkZW50aWZpZWQgaW4gW1JG
QzcwNjhdLlxuXG4gICBUaGlzIHNwZWNpZmljYXRpb24gYWRkcmVzc2VzIERpYW1ldGVyIG92
ZXJsb2FkIGNvbnRyb2wgYmV0d2VlblxuICAgRGlhbWV0ZXIgbm9kZXMgdGhhdCBzdXBwb3J0
IHRoZSBET0lDIHNvbHV0aW9uLiAgVGhlIHNvbHV0aW9uLCB3aGljaFxuICAgaXMgZGVzaWdu
ZWQgdG8gYXBwbHkgdG8gZXhpc3RpbmcgYW5kIGZ1dHVyZSBEaWFtZXRlciBhcHBsaWNhdGlv
bnMsXG4gICByZXF1aXJlcyBubyBjaGFuZ2VzIHRvIHRoZSBEaWFtZXRlciBiYXNlIHByb3Rv
Y29sIFtSRkM2NzMzXSBhbmQgaXNcbiAgIGRlcGxveWFibGUgaW4gZW52aXJvbm1lbnRzIHdo
ZXJlIHNvbWUgRGlhbWV0ZXIgbm9kZXMgZG8gbm90IGltcGxlbWVudFxuICAgdGhlIERpYW1l
dGVyIG92ZXJsb2FkIGNvbnRyb2wgc29sdXRpb24gZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmlj
YXRpb24uXG5cbiAgIEEgbmV3IGFwcGxpY2F0aW9uIHNwZWNpZmljYXRpb24gY2FuIGluY29y
cG9yYXRlIHRoZSBvdmVybG9hZCBjb250cm9sXG4gICBtZWNoYW5pc20gc3BlY2lmaWVkIGlu
IHRoaXMgZG9jdW1lbnQgYnkgbWFraW5nIGl0IG1hbmRhdG9yeSB0b1xuICAgaW1wbGVtZW50
IGZvciB0aGUgYXBwbGljYXRpb24gYW5kIHJlZmVyZW5jaW5nIHRoaXMgc3BlY2lmaWNhdGlv
blxuICAgbm9ybWF0aXZlbHkuICBJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIERp
YW1ldGVyIGFwcGxpY2F0aW9uXG4gICBkZXNpZ25lcnMgdG8gZGVmaW5lIGhvdyBvdmVybG9h
ZCBjb250cm9sIG1lY2hhbmlzbXMgd29ya3Mgb24gdGhhdFxuICAgYXBwbGljYXRpb24uXG5c
blxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAg
ICAgICAgICAgICAgICAgW1BhZ2UgM11cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAg
IE5vdGUgdGhhdCB0aGUgb3ZlcmxvYWQgY29udHJvbCBzb2x1dGlvbiBkZWZpbmVkIGluIHRo
aXMgc3BlY2lmaWNhdGlvblxuICAgZG9lcyBub3QgYWRkcmVzcyBhbGwgdGhlIHJlcXVpcmVt
ZW50cyBsaXN0ZWQgaW4gW1JGQzcwNjhdLiAgQSBudW1iZXJcbiAgIG9mIG92ZXJsb2FkIGNv
bnRyb2wgcmVsYXRlZCBmZWF0dXJlcyBhcmUgbGVmdCBmb3IgZnV0dXJlXG4gICBzcGVjaWZp
Y2F0aW9ucy4gIFNlZSBBcHBlbmRpeCBBIGZvciBhIGxpc3Qgb2YgZXh0ZW5zaW9ucyB0aGF0
IGFyZVxuICAgY3VycmVudGx5IGJlaW5nIGNvbnNpZGVyZWQuICBTZWUgQXBwZW5kaXggQyBm
b3IgYW4gYW5hbHlzaXMgb2ZcbiAgIGNvbmZvcm1hbmNlIHRvIHRoZSByZXF1aXJlbWVudHMg
c3BlY2lmaWVkIGluIFtSRkM3MDY4XS5cblxuMi4gIFRlcm1pbm9sb2d5IGFuZCBBYmJyZXZp
YXRpb25zXG5cbiAgIEFiYXRlbWVudFxuXG4gICAgICBSZWFjdGlvbiB0byByZWNlaXB0IG9m
IGFuIG92ZXJsb2FkIHJlcG9ydCByZXN1bHRpbmcgaW4gYSByZWR1Y3Rpb25cbiAgICAgIGlu
IHRyYWZmaWMgc2VudCB0byB0aGUgcmVwb3J0aW5nIG5vZGUuICBBYmF0ZW1lbnQgYWN0aW9u
cyBpbmNsdWRlXG4gICAgICBkaXZlcnNpb24gYW5kIHRocm90dGxpbmcuXG5cbiAgIEFiYXRl
bWVudCBBbGdvcml0aG1cblxuICAgICAgQW4gZXh0ZW5zaWJsZSBtZXRob2QgcmVxdWVzdGVk
IGJ5IHJlcG9ydGluZyBub2RlcyBhbmQgdXNlZCBieVxuICAgICAgcmVhY3Rpbmcgbm9kZXMg
dG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgdHJhZmZpYyBzZW50IGR1cmluZyBhblxuICAgICAg
b2NjdXJyZW5jZSBvZiBvdmVybG9hZCBjb250cm9sLlxuXG4gICBEaXZlcnNpb25cblxuICAg
ICAgQW4gb3ZlcmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCB3aGVyZSB0aGUgcmVhY3Rpbmcg
bm9kZSBzZWxlY3RzXG4gICAgICBhbHRlcm5hdGUgZGVzdGluYXRpb25zIG9yIHBhdGhzIGZv
ciByZXF1ZXN0cy5cblxuICAgSG9zdC1Sb3V0ZWQgUmVxdWVzdHNcblxuICAgICAgUmVxdWVz
dHMgdGhhdCBhIHJlYWN0aW5nIG5vZGUga25vd3Mgd2lsbCBiZSBzZXJ2ZWQgYnkgYSBwYXJ0
aWN1bGFyXG4gICAgICBob3N0LCBlaXRoZXIgZHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhIERl
c3RpbmF0aW9uLUhvc3QgQVZQLCBvciBieVxuICAgICAgc29tZSBvdGhlciBsb2NhbCBrbm93
bGVkZ2Ugb24gdGhlIHBhcnQgb2YgdGhlIHJlYWN0aW5nIG5vZGUuXG5cbiAgIE92ZXJsb2Fk
IENvbnRyb2wgU3RhdGUgKE9DUylcblxuICAgICAgSW50ZXJuYWwgc3RhdGUgbWFpbnRhaW5l
ZCBieSBhIHJlcG9ydGluZyBvciByZWFjdGluZyBub2RlXG4gICAgICBkZXNjcmliaW5nIG9j
Y3VycmVuY2VzIG9mIG92ZXJsb2FkIGNvbnRyb2wuXG5cbiAgIE92ZXJsb2FkIFJlcG9ydCAo
T0xSKVxuXG4gICAgICBPdmVybG9hZCBjb250cm9sIGluZm9ybWF0aW9uIGZvciBhIHBhcnRp
Y3VsYXIgb3ZlcmxvYWQgb2NjdXJyZW5jZVxuICAgICAgc2VudCBieSBhIHJlcG9ydGluZyBu
b2RlLlxuXG4gICBSZWFjdGluZyBOb2RlXG5cbiAgICAgIEEgRGlhbWV0ZXIgbm9kZSB0aGF0
IGFjdHMgdXBvbiBhbiBvdmVybG9hZCByZXBvcnQuXG5cbiAgIFJlYWxtLVJvdXRlZCBSZXF1
ZXN0c1xuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAz
MCwgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgNF1cbl9cbkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAx
NVxuXG5cbiAgICAgIFJlcXVlc3RzIHRoYXQgYSByZWFjdGluZyBub2RlIGRvZXMgbm90IGtu
b3cgd2hpY2ggaG9zdCB3aWxsXG4gICAgICBzZXJ2aWNlIHRoZSByZXF1ZXN0LlxuXG4gICBS
ZXBvcnRpbmcgTm9kZVxuXG4gICAgICBBIERpYW1ldGVyIG5vZGUgdGhhdCBnZW5lcmF0ZXMg
YW4gb3ZlcmxvYWQgcmVwb3J0LiAgKFRoaXMgbWF5IG9yXG4gICAgICBtYXkgbm90IGJlIHRo
ZSBvdmVybG9hZGVkIG5vZGUuKVxuXG4gICBUaHJvdHRsaW5nXG5cbiAgICAgIEFuIGFiYXRl
bWVudCB0cmVhdG1lbnQgdGhhdCBsaW1pdHMgdGhlIG51bWJlciBvZiByZXF1ZXN0cyBzZW50
IGJ5XG4gICAgICB0aGUgRElPQyByZWFjdGluZyBub2RlLiAgVGhyb3R0bGluZyBjYW4gaW5j
bHVkZSBhIERpYW1ldGVyIENsaWVudFxuICAgICAgY2hvb3NpbmcgdG8gbm90IHNlbmQgcmVx
dWVzdHMsIG9yIGEgRGlhbWV0ZXIgQWdlbnQgb3IgU2VydmVyXG4gICAgICByZWplY3Rpbmcg
cmVxdWVzdHMgd2l0aCBhcHByb3ByaWF0ZSBlcnJvciByZXNwb25zZXMuICBJbiBib3RoXG4g
ICAgICBjYXNlcyB0aGUgcmVzdWx0IG9mIHRoZSB0aHJvdHRsaW5nIGlzIGEgcGVybWFuZW50
IHJlamVjdGlvbiBvZiB0aGVcbiAgICAgIHRyYW5zYWN0aW9uLlxuXG5cblxuMy4gIENvbnZl
bnRpb25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudFxuXG4gICBUaGUga2V5IHdvcmRzICJNVVNU
IiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsXG4gICAi
U0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJ
T05BTCIgaW4gdGhpc1xuICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIGRl
c2NyaWJlZCBpbiBSRkMgMjExOSBbUkZDMjExOV0uXG5cbiAgIFJGQyAyMTE5IFtSRkMyMTE5
XSBpbnRlcnByZXRhdGlvbiBkb2VzIG5vdCBhcHBseSBmb3IgdGhlIGFib3ZlIGxpc3RlZFxu
ICAgd29yZHMgd2hlbiB0aGV5IGFyZSBub3QgdXNlZCBpbiBhbGwtY2FwcyBmb3JtYXQuXG5c
bjQuICBTb2x1dGlvbiBPdmVydmlld1xuXG4gICBUaGUgRGlhbWV0ZXIgT3ZlcmxvYWQgSW5m
b3JtYXRpb24gQ29udmV5YW5jZSAoRE9JQykgc29sdXRpb24gYWxsb3dzXG4gICBEaWFtZXRl
ciBub2RlcyB0byByZXF1ZXN0IG90aGVyIERpYW1ldGVyIG5vZGVzIHRvIHBlcmZvcm0gb3Zl
cmxvYWRcbiAgIGFiYXRlbWVudCBhY3Rpb25zLCB0aGF0IGlzLCBhY3Rpb25zIHRvIHJlZHVj
ZSB0aGUgbG9hZCBvZmZlcmVkIHRvIHRoZVxuICAgb3ZlcmxvYWRlZCBub2RlIG9yIHJlYWxt
LlxuXG4gICBBIERpYW1ldGVyIG5vZGUgdGhhdCBzdXBwb3J0cyBET0lDIGlzIGtub3duIGFz
IGEgIkRPSUMgbm9kZSIuICBBbnlcbiAgIERpYW1ldGVyIG5vZGUgY2FuIGFjdCBhcyBhIERP
SUMgbm9kZSwgaW5jbHVkaW5nIERpYW1ldGVyIENsaWVudHMsXG4gICBEaWFtZXRlciBTZXJ2
ZXJzLCBhbmQgRGlhbWV0ZXIgQWdlbnRzLiAgRE9JQyBub2RlcyBhcmUgZnVydGhlclxuICAg
ZGl2aWRlZCBpbnRvICJSZXBvcnRpbmcgTm9kZXMiIGFuZCAiUmVhY3RpbmcgTm9kZXMuIiAg
QSByZXBvcnRpbmdcbiAgIG5vZGUgcmVxdWVzdHMgb3ZlcmxvYWQgYWJhdGVtZW50IGJ5IHNl
bmRpbmcgT3ZlcmxvYWQgUmVwb3J0cyAoT0xSKS5cblxuICAgQSByZWFjdGluZyBub2RlIGFj
dHMgdXBvbiBPTFJzLCBhbmQgcGVyZm9ybXMgd2hhdGV2ZXIgYWN0aW9ucyBhcmVcbiAgIG5l
ZWRlZCB0byBmdWxmaWxsIHRoZSBhYmF0ZW1lbnQgcmVxdWVzdHMgaW5jbHVkZWQgaW4gdGhl
IE9MUnMuICBBXG4gICBSZXBvcnRpbmcgbm9kZSBtYXkgcmVwb3J0IG92ZXJsb2FkIG9uIGl0
cyBvd24gYmVoYWxmLCBvciBvbiBiZWhhbGYgb2ZcbiAgIG90aGVyIG5vZGVzLiAgTGlrZXdp
c2UsIGEgcmVhY3Rpbmcgbm9kZSBtYXkgcGVyZm9ybSBvdmVybG9hZFxuICAgYWJhdGVtZW50
IG9uIGl0cyBvd24gYmVoYWxmLCBvciBvbiBiZWhhbGYgb2Ygb3RoZXIgbm9kZXMuXG5cblxu
XG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMzAsIDIwMTUg
ICAgICAgICAgICAgICAgIFtQYWdlIDVdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4g
ICBBIERpYW1ldGVyIG5vZGVcJ3Mgcm9sZSBhcyBhIERPSUMgbm9kZSBpcyBpbmRlcGVuZGVu
dCBvZiBpdHMgRGlhbWV0ZXJcbiAgIHJvbGUuICBGb3IgZXhhbXBsZSwgRGlhbWV0ZXIgQWdl
bnRzIG1heSBhY3QgYXMgRE9JQyBub2RlcywgZXZlblxuICAgdGhvdWdoIHRoZXkgYXJlIG5v
dCBlbmRwb2ludHMgaW4gdGhlIERpYW1ldGVyIHNlbnNlLiAgU2luY2UgRGlhbWV0ZXJcbiAg
IGVuYWJsZXMgYmktZGlyZWN0aW9uYWwgYXBwbGljYXRpb25zLCB3aGVyZSBEaWFtZXRlciBT
ZXJ2ZXJzIGNhbiBzZW5kXG4gICByZXF1ZXN0cyB0b3dhcmRzIERpYW1ldGVyIENsaWVudHMs
IGEgZ2l2ZW4gRGlhbWV0ZXIgbm9kZSBjYW5cbiAgIHNpbXVsdGFuZW91c2x5IGFjdCBhcyBi
b3RoIGEgcmVwb3J0aW5nIG5vZGUgYW5kIGEgcmVhY3Rpbmcgbm9kZS5cblxuICAgTGlrZXdp
c2UsIGEgRGlhbWV0ZXIgQWdlbnQgbWF5IGFjdCBhcyBhIHJlYWN0aW5nIG5vZGUgZnJvbSB0
aGVcbiAgIHBlcnNwZWN0aXZlIG9mIHVwc3RyZWFtIG5vZGVzLCBhbmQgYSByZXBvcnRpbmcg
bm9kZSBmcm9tIHRoZVxuICAgcGVyc3BlY3RpdmUgb2YgZG93bnN0cmVhbSBub2Rlcy5cblxu
ICAgRE9JQyBub2RlcyBkbyBub3QgZ2VuZXJhdGUgbmV3IG1lc3NhZ2VzIHRvIGNhcnJ5IERP
SUMgcmVsYXRlZFxuICAgaW5mb3JtYXRpb24uICBSYXRoZXIsIHRoZXkgInBpZ2d5YmFjayIg
RE9JQyBpbmZvcm1hdGlvbiBvdmVyIGV4aXN0aW5nXG4gICBEaWFtZXRlciBtZXNzYWdlcyBi
eSBpbnNlcnRpbmcgbmV3IEFWUHMgaW50byBleGlzdGluZyBEaWFtZXRlclxuICAgcmVxdWVz
dHMgYW5kIHJlc3BvbnNlcy4gIE5vZGVzIGluZGljYXRlIHN1cHBvcnQgZm9yIERPSUMsIGFu
ZCBhbnlcbiAgIG5lZWRlZCBET0lDIHBhcmFtZXRlcnMsIGJ5IGluc2VydGluZyBhbiBPQy1T
dXBwb3J0ZWQtRmVhdHVyZXMgQVZQXG4gICAoU2VjdGlvbiA3LjIpIGludG8gZXhpc3Rpbmcg
cmVxdWVzdHMgYW5kIHJlc3BvbnNlcy4gIFJlcG9ydGluZyBub2Rlc1xuICAgc2VuZCBPTFJz
IGJ5IGluc2VydGluZyBPQy1PTFIgQVZQcyAoU2VjdGlvbiA3LjMpLlxuXG4gICBBIGdpdmVu
IE9MUiBhcHBsaWVzIHRvIHRoZSBEaWFtZXRlciByZWFsbSBhbmQgYXBwbGljYXRpb24gb2Yg
dGhlXG4gICBEaWFtZXRlciBtZXNzYWdlIHRoYXQgY2FycmllcyBpdC4gIElmIGEgcmVwb3J0
aW5nIG5vZGUgc3VwcG9ydHMgbW9yZVxuICAgdGhhbiBvbmUgcmVhbG0gYW5kL29yIGFwcGxp
Y2F0aW9uLCBpdCByZXBvcnRzIGluZGVwZW5kZW50bHkgZm9yIGVhY2hcbiAgIGNvbWJpbmF0
aW9uIG9mIHJlYWxtIGFuZCBhcHBsaWNhdGlvbi4gIFNpbWlsYXJseSwgdGhlIE9DLVN1cHBv
cnRlZC1cbiAgIEZlYXR1cmVzIEFWUCBhcHBsaWVzIHRvIHRoZSByZWFsbSBhbmQgYXBwbGlj
YXRpb24gb2YgdGhlIGVuY2xvc2luZ1xuICAgbWVzc2FnZS4gIFRoaXMgaW1wbGllcyB0aGF0
IGEgbm9kZSBtYXkgc3VwcG9ydCBET0lDIGZvciBvbmVcbiAgIGFwcGxpY2F0aW9uIGFuZC9v
ciByZWFsbSwgYnV0IG5vdCBhbm90aGVyLCBhbmQgbWF5IGluZGljYXRlIGRpZmZlcmVudFxu
ICAgRE9JQyBwYXJhbWV0ZXJzIGZvciBlYWNoIGFwcGxpY2F0aW9uIGFuZCByZWFsbSBmb3Ig
d2hpY2ggaXQgc3VwcG9ydHNcbiAgIERPSUMuXG5cbiAgIFJlYWN0aW5nIG5vZGVzIHBlcmZv
cm0gb3ZlcmxvYWQgYWJhdGVtZW50IGFjY29yZGluZyB0byBhbiBhZ3JlZWQtdXBvblxuICAg
YWJhdGVtZW50IGFsZ29yaXRobS4gIEFuIGFiYXRlbWVudCBhbGdvcml0aG0gZGVmaW5lcyB0
aGUgbWVhbmluZyBvZlxuICAgc29tZSBvZiB0aGUgcGFyYW1ldGVycyBvZiBhbiBPTFIgYW5k
IHRoZSBwcm9jZWR1cmVzIHJlcXVpcmVkIGZvclxuICAgb3ZlcmxvYWQgYWJhdGVtZW50LiAg
QW4gb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBzZXBhcmF0ZXNcbiAgIERpYW1ldGVy
IHJlcXVlc3RzIGludG8gdHdvIHNldHMuICBUaGUgZmlyc3Qgc2V0IGNvbnRhaW5zIHRoZSBy
ZXF1ZXN0c1xuICAgdGhhdCBhcmUgdG8gdW5kZXJnbyBvdmVybG9hZCBhYmF0ZW1lbnQgdHJl
YXRtZW50IG9mIGVpdGhlciB0aHJvdHRsaW5nXG4gICBvciBkaXZlcnNpb24uICBUaGUgc2Vj
b25kIHNldCBjb250YWlucyB0aGUgcmVxdWVzdHMgdGhhdCBhcmUgdG8gYmVcbiAgIGdpdmVu
IG5vcm1hbCByb3V0aW5nIHRyZWF0bWVudC4gIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEg
c2luZ2xlXG4gICBtdXN0LXN1cHBvcnQgYWxnb3JpdGhtLCBuYW1lbHkgdGhlICJsb3NzIiBh
bGdvcml0aG0gKFNlY3Rpb24gNikuXG4gICBGdXR1cmUgc3BlY2lmaWNhdGlvbnMgbWF5IGlu
dHJvZHVjZSBuZXcgYWxnb3JpdGhtcy5cblxuICAgT3ZlcmxvYWQgY29uZGl0aW9ucyBtYXkg
dmFyeSBpbiBzY29wZS4gIEZvciBleGFtcGxlLCBhIHNpbmdsZVxuICAgRGlhbWV0ZXIgbm9k
ZSBtYXkgYmUgb3ZlcmxvYWRlZCwgaW4gd2hpY2ggY2FzZSByZWFjdGluZyBub2RlcyBtYXlc
biAgIGF0dGVtcHQgdG8gc2VuZCByZXF1ZXN0cyB0byBvdGhlciBkZXN0aW5hdGlvbnMuICBP
biB0aGUgb3RoZXIgaGFuZCxcbiAgIGFuIGVudGlyZSBEaWFtZXRlciByZWFsbSBtYXkgYmUg
b3ZlcmxvYWRlZCwgaW4gd2hpY2ggY2FzZSBzdWNoXG4gICBhdHRlbXB0cyB3b3VsZCBkbyBo
YXJtLiAgRE9JQyBPTFJzIGhhdmUgYSBjb25jZXB0IG9mICJyZXBvcnQgdHlwZSJcbiAgIChT
ZWN0aW9uIDcuNiksIHdoZXJlIHRoZSB0eXBlIGRlZmluZXMgc3VjaCBiZWhhdmlvcnMuICBS
ZXBvcnQgdHlwZXNcbiAgIGFyZSBleHRlbnNpYmxlLiAgVGhpcyBkb2N1bWVudCBkZWZpbmVz
IHJlcG9ydCB0eXBlcyBmb3Igb3ZlcmxvYWQgb2YgYVxuICAgc3BlY2lmaWMgaG9zdCwgYW5k
IGZvciBvdmVybG9hZCBvZiBhbiBlbnRpcmUgcmVhbG0uXG5cblxuXG5Lb3Job25lbiwgZXQg
YWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICAgW1Bh
Z2UgNl1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAg
ICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIERPSUMgd29ya3MgdGhyb3Vn
aCBub24gc3VwcG9ydGluZyBEaWFtZXRlciBBZ2VudHMgdGhhdCBwcm9wZXJseSBwYXNzXG4g
ICB1bmtub3duIEFWUHMgdW5jaGFuZ2VkLlxuXG40LjEuICBQaWdneWJhY2tpbmdcblxuICAg
VGhlcmUgaXMgbm8gbmV3IERpYW1ldGVyIGFwcGxpY2F0aW9uIGRlZmluZWQgdG8gY2Fycnkg
b3ZlcmxvYWRcbiAgIHJlbGF0ZWQgQVZQcy4gIFRoZSBvdmVybG9hZCBjb250cm9sIEFWUHMg
ZGVmaW5lZCBpbiB0aGlzXG4gICBzcGVjaWZpY2F0aW9uIGhhdmUgYmVlbiBkZXNpZ25lZCB0
byBiZSBwaWdneWJhY2tlZCBvbiB0b3Agb2YgZXhpc3RpbmdcbiAgIGFwcGxpY2F0aW9uIG1l
c3NhZ2VzLiAgVGhpcyBpcyBtYWRlIHBvc3NpYmxlIGJ5IGFkZGluZyB0aGUgb3B0aW9uYWxc
biAgIG92ZXJsb2FkIGNvbnRyb2wgQVZQcyBPQy1PTFIgYW5kIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBpbnRvIGV4aXN0aW5nXG4gICBjb21tYW5kcy5cblxuICAgUmVhY3Rpbmcgbm9kZXMg
aW5kaWNhdGUgc3VwcG9ydCBmb3IgRE9JQyBieSBpbmNsdWRpbmcgdGhlIE9DLVxuICAgU3Vw
cG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhbGwgcmVxdWVzdCBtZXNzYWdlcyBvcmlnaW5hdGVk
IG9yIHJlbGF5ZWRcbiAgIGJ5IHRoZSByZWFjdGluZyBub2RlLlxuXG4gICBSZXBvcnRpbmcg
bm9kZXMgaW5kaWNhdGUgc3VwcG9ydCBmb3IgRE9JQyBieSBpbmNsdWRpbmcgdGhlIE9DLVxu
ICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhbGwgYW5zd2VyIG1lc3NhZ2VzIG9yaWdp
bmF0ZWQgb3IgcmVsYXllZFxuICAgYnkgdGhlIHJlcG9ydGluZyBub2RlIHRoYXQgYXJlIGlu
IHJlc3BvbnNlIHRvIGEgcmVxdWVzdCB0aGF0XG4gICBjb250YWluZWQgdGhlIE9DLVN1cHBv
cnRlZC1GZWF0dXJlcyBBVlAuICBSZXBvcnRpbmcgbm9kZXMgbWF5IGluY2x1ZGVcbiAgIG92
ZXJsb2FkIHJlcG9ydHMgdXNpbmcgdGhlIE9DLU9MUiBBVlAgaW4gYW5zd2VyIG1lc3NhZ2Vz
LlxuXG4gICBOb3RlIHRoYXQgdGhlIG92ZXJsb2FkIGNvbnRyb2wgc29sdXRpb24gZG9lcyBu
b3QgaGF2ZSBmaXhlZCBzZXJ2ZXJcbiAgIGFuZCBjbGllbnQgcm9sZXMuICBUaGUgRE9JQyBu
b2RlIHJvbGUgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGVcbiAgIG1lc3NhZ2UgdHlwZTog
d2hldGhlciB0aGUgbWVzc2FnZSBpcyBhIHJlcXVlc3QgKGkuZS4gc2VudCBieSBhXG4gICAi
cmVhY3Rpbmcgbm9kZSIpIG9yIGFuIGFuc3dlciAoaS5lLiBzZW50IGJ5IGEgInJlcG9ydGlu
ZyBub2RlIikuXG4gICBUaGVyZWZvcmUsIGluIGEgdHlwaWNhbCAiY2xpZW50LXNlcnZlciIg
ZGVwbG95bWVudCwgdGhlIERpYW1ldGVyXG4gICBDbGllbnQgbWF5IHJlcG9ydCBpdHMgb3Zl
cmxvYWQgY29uZGl0aW9uIHRvIHRoZSBEaWFtZXRlciBTZXJ2ZXIgZm9yXG4gICBhbnkgRGlh
bWV0ZXIgU2VydmVyIGluaXRpYXRlZCBtZXNzYWdlIGV4Y2hhbmdlLiAgQW4gZXhhbXBsZSBv
ZiBzdWNoXG4gICBpcyB0aGUgRGlhbWV0ZXIgU2VydmVyIHJlcXVlc3RpbmcgYSByZS1hdXRo
ZW50aWNhdGlvbiBmcm9tIGEgRGlhbWV0ZXJcbiAgIENsaWVudC5cblxuNC4yLiAgRE9JQyBD
YXBhYmlsaXR5IEFubm91bmNlbWVudFxuXG4gICBUaGUgRE9JQyBzb2x1dGlvbiBzdXBwb3J0
cyB0aGUgYWJpbGl0eSBmb3IgRGlhbWV0ZXIgbm9kZXMgdG9cbiAgIGRldGVybWluZSBpZiBv
dGhlciBub2RlcyBpbiB0aGUgcGF0aCBvZiBhIHJlcXVlc3Qgc3VwcG9ydCB0aGVcbiAgIHNv
bHV0aW9uLiAgVGhpcyBjYXBhYmlsaXR5IGlzIHJlZmVycmVkIHRvIGFzIERPSUMgQ2FwYWJp
bGl0eVxuICAgQW5ub3VuY2VtZW50IChEQ0EpIGFuZCBpcyBzZXBhcmF0ZSBmcm9tIERpYW1l
dGVyIENhcGFiaWxpdHkgRXhjaGFuZ2UuXG5cbiAgIFRoZSBEQ0EgbWVjaGFuaXNtIHVzZXMg
dGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlBzIHRvIGluZGljYXRlIHRoZVxuICAgRGlh
bWV0ZXIgb3ZlcmxvYWQgZmVhdHVyZXMgc3VwcG9ydGVkLlxuXG4gICBUaGUgZmlyc3Qgbm9k
ZSBpbiB0aGUgcGF0aCBvZiBhIERpYW1ldGVyIHJlcXVlc3QgdGhhdCBzdXBwb3J0cyB0aGVc
biAgIERPSUMgc29sdXRpb24gaW5zZXJ0cyB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFW
UCBpbiB0aGUgcmVxdWVzdFxuICAgbWVzc2FnZS5cblxuICAgVGhlIGluZGl2aWR1YWwgZmVh
dHVyZXMgc3VwcG9ydGVkIGJ5IHRoZSBET0lDIG5vZGVzIGFyZSBpbmRpY2F0ZWQgaW5cbiAg
IHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAuICBBbnkgc2VtYW50aWNzIGFzc29jaWF0ZWQg
d2l0aCB0aGVcblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5
IDMwLCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSA3XVxuX1xuSW50ZXJuZXQtRHJhZnQg
ICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAy
MDE1XG5cblxuICAgZmVhdHVyZXMgd2lsbCBiZSBkZWZpbmVkIGluIGV4dGVuc2lvbiBzcGVj
aWZpY2F0aW9ucyB0aGF0IGludHJvZHVjZVxuICAgdGhlIGZlYXR1cmVzLlxuXG4gICAgICBO
b3RlOiBBcyBkaXNjdXNzZWQgZWxzZXdoZXJlIGluIHRoZSBkb2N1bWVudCwgYWdlbnRzIGlu
IHRoZSBwYXRoXG4gICAgICBvZiB0aGUgcmVxdWVzdCBjYW4gbW9kaWZ5IHRoZSBPQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQLlxuXG4gICAgICBOb3RlOiBUaGUgRE9JQyBzb2x1dGlvbiBt
dXN0IHN1cHBvcnQgZGVwbG95bWVudHMgd2hlcmUgRGlhbWV0ZXJcbiAgICAgIENsaWVudHMg
YW5kL29yIERpYW1ldGVyIFNlcnZlcnMgZG8gbm90IHN1cHBvcnQgdGhlIERPSUMgc29sdXRp
b24uXG4gICAgICBJbiB0aGlzIHNjZW5hcmlvLCBEaWFtZXRlciBBZ2VudHMgdGhhdCBzdXBw
b3J0IHRoZSBET0lDIHNvbHV0aW9uXG4gICAgICBtYXkgaGFuZGxlIG92ZXJsb2FkIGFiYXRl
bWVudCBmb3IgdGhlIG5vbiBzdXBwb3J0aW5nIERpYW1ldGVyXG4gICAgICBub2Rlcy4gIElu
IHRoaXMgY2FzZSB0aGUgRE9JQyBhZ2VudCB3aWxsIGluc2VydCB0aGUgT0MtU3VwcG9ydGVk
LVxuICAgICAgRmVhdHVyZXMgQVZQIGluIHJlcXVlc3RzIHRoYXQgZG8gbm90IGFscmVhZHkg
Y29udGFpbiBvbmUsIHRlbGxpbmdcbiAgICAgIHRoZSByZXBvcnRpbmcgbm9kZSB0aGF0IHRo
ZXJlIGlzIGEgRE9JQyBub2RlIHRoYXQgd2lsbCBoYW5kbGVcbiAgICAgIG92ZXJsb2FkIGFi
YXRlbWVudC4gIEZvciB0cmFuc2FjdGlvbnMgd2hlcmUgdGhlcmUgd2FzIGFuIE9DLVxuICAg
ICAgU3VwcG9ydGluZy1GZWF0dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3QsIHRoZSBhZ2VudCB3
aWxsIGluc2VydCB0aGVcbiAgICAgIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYW5z
d2VycywgdGVsbGluZyB0aGUgcmVhY3Rpbmcgbm9kZVxuICAgICAgdGhhdCB0aGVyZSBpcyBh
IHJlcG9ydGluZyBub2RlLlxuXG4gICBUaGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpbGwg
YWx3YXlzIGNvbnRhaW4gYW4gaW5kaWNhdGlvbiBvZlxuICAgc3VwcG9ydCBmb3IgdGhlIGxv
c3Mgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBkZWZpbmVkIGluIHRoaXNcbiAgIHNw
ZWNpZmljYXRpb24gKHNlZSBTZWN0aW9uIDYpLiAgVGhpcyBlbnN1cmVzIHRoYXQgYSByZXBv
cnRpbmcgbm9kZVxuICAgYWx3YXlzIHN1cHBvcnRzIGF0IGxlYXN0IG9uZSBvZiB0aGUgYWR2
ZXJ0aXplZCBhYmF0ZW1lbnQgYWxnb3JpdGhtc1xuICAgcmVjZWl2ZWQgaW4gYSByZXF1ZXN0
IG1lc3NhZ2VzLlxuXG4gICBUaGUgcmVwb3J0aW5nIG5vZGUgaW5zZXJ0cyB0aGUgT0MtU3Vw
cG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhbGxcbiAgIGFuc3dlciBtZXNzYWdlcyB0byByZXF1
ZXN0cyB0aGF0IGNvbnRhaW5lZCB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzXG4gICBBVlAu
ICBUaGUgY29udGVudHMgb2YgdGhlIHJlcG9ydGluZyBub2RlXCdzIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcyBBVlBcbiAgIGluZGljYXRlIHRoZSBzZXQgb2YgRGlhbWV0ZXIgb3ZlcmxvYWQg
ZmVhdHVyZXMgc3VwcG9ydGVkIGJ5IHRoZVxuICAgcmVwb3J0aW5nIG5vZGUuICBUaGlzIHNw
ZWNpZmljYXRpb24gZGVmaW5lcyBvbmUgZXhjZXB0aW9uIC0gdGhlXG4gICByZXBvcnRpbmcg
bm9kZSBvbmx5IGluY2x1ZGVzIGFuIGluZGljYXRpb24gb2Ygc3VwcG9ydCBmb3Igb25lXG4g
ICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtLCBpbmRlcGVuZGVudCBvZiB0aGUgbnVt
YmVyIG9mIG92ZXJsb2FkXG4gICBhYmF0ZW1lbnQgYWxnb3JpdGhtcyBhY3R1YWxseSBzdXBw
b3J0ZWQgYnkgdGhlIHJlYWN0aW5nIG5vZGUuICBUaGVcbiAgIG92ZXJsb2FkIGFiYXRlbWVu
dCBhbGdvcml0aG0gaW5kaWNhdGVkIGlzIHRoZSBhbGdvcml0aG0gdGhhdCB0aGVcbiAgIHJl
cG9ydGluZyBub2RlIGludGVuZHMgdG8gdXNlIHNob3VsZCBpdCBlbnRlciBhbiBvdmVybG9h
ZCBjb25kaXRpb24uXG4gICBSZWFjdGluZyBub2RlcyBjYW4gdXNlIHRoZSBpbmRpY2F0ZWQg
b3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSB0b1xuICAgcHJlcGFyZSBmb3IgcG9zc2li
bGUgb3ZlcmxvYWQgcmVwb3J0cyBhbmQgbXVzdCB1c2UgdGhlIGluZGljYXRlZFxuICAgb3Zl
cmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBpZiB0cmFmZmljIHJlZHVjdGlvbiBpcyBhY3R1
YWxseVxuICAgcmVxdWVzdGVkLlxuXG4gICAgICBOb3RlIHRoYXQgdGhlIGxvc3MgYWxnb3Jp
dGhtIGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudCBpcyBhXG4gICAgICBzdGF0ZWxlc3MgYWJh
dGVtZW50IGFsZ29yaXRobS4gIEFzIGEgcmVzdWx0IGl0IGRvZXMgbm90IHJlcXVpcmVcbiAg
ICAgIGFueSBhY3Rpb25zIGJ5IHJlYWN0aW5nIG5vZGVzIHByaW9yIHRvIHRoZSByZWNlaXB0
IG9mIGFuIG92ZXJsb2FkXG4gICAgICByZXBvcnQuICBTdGF0ZWZ1bCBhYmF0ZW1lbnQgYWxn
b3JpdGhtcyB0aGF0IGJhc2UgdGhlIGFiYXRlbWVudFxuICAgICAgbG9naWMgb24gYSBoaXN0
b3J5IG9mIHJlcXVlc3QgbWVzc2FnZXMgc2VudCBtaWdodCByZXF1aXJlIHJlYWN0aW5nXG4g
ICAgICBub2RlcyB0byBtYWludGFpbiBzdGF0ZSBpbiBhZHZhbmNlIG9mIHJlY2VpdmluZyBh
biBvdmVybG9hZCByZXBvcnRcbiAgICAgIHRvIGVuc3VyZSB0aGF0IHRoZSBvdmVybG9hZCBy
ZXBvcnRzIGNhbiBiZSBwcm9wZXJseSBoYW5kbGVkLlxuXG5cblxuXG5cbktvcmhvbmVuLCBl
dCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgICBb
UGFnZSA4XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAg
ICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgVGhlIERDQSBtZWNoYW5p
c20gbXVzdCBhbHNvIGFsbG93IHRoZSBzY2VuYXJpbyB3aGVyZSB0aGUgc2V0IG9mXG4gICBm
ZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhlIHNlbmRlciBvZiBhIHJlcXVlc3QgYW5kIGJ5IGFn
ZW50cyBpbiB0aGVcbiAgIHBhdGggb2YgYSByZXF1ZXN0IGRpZmZlci4gIEluIHRoaXMgY2Fz
ZSwgdGhlIGFnZW50IGNhbiB1cGRhdGUgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVz
IEFWUCB0byByZWZsZWN0IHRoZSBtaXh0dXJlIG9mIHRoZSB0d28gc2V0cyBvZlxuICAgc3Vw
cG9ydGVkIGZlYXR1cmVzLlxuXG4gICAgICBOb3RlOiBUaGUgbG9naWMgdG8gZGV0ZXJtaW5l
IGlmIHRoZSBjb250ZW50IG9mIHRoZSBPQy1TdXBwb3J0ZWQtXG4gICAgICBGZWF0dXJlcyBB
VlAgc2hvdWxkIGJlIGNoYW5nZWQgaXMgb3V0LW9mLXNjb3BlIGZvciB0aGlzIGRvY3VtZW50
LFxuICAgICAgYXMgaXMgdGhlIGxvZ2ljIHRvIGRldGVybWluZSB0aGUgY29udGVudCBvZiBh
IG1vZGlmaWVkIE9DLVxuICAgICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC4gIFRoZXNlIGFy
ZSBsZWZ0IHRvIGltcGxlbWVudGF0aW9uXG4gICAgICBkZWNpc2lvbnMuICBDYXJlIG11c3Qg
YmUgdGFrZW4gbm90IHRvIGludHJvZHVjZSBpbnRlcm9wZXJhYmlsaXR5XG4gICAgICBpc3N1
ZXMgZm9yIGRvd25zdHJlYW0gb3IgdXBzdHJlYW0gRE9JQyBub2Rlcy5cblxuNC4zLiAgRE9J
QyBPdmVybG9hZCBDb25kaXRpb24gUmVwb3J0aW5nXG5cbiAgIEFzIHdpdGggRE9JQyBjYXBh
YmlsaXR5IGFubm91bmNlbWVudCwgb3ZlcmxvYWQgY29uZGl0aW9uIHJlcG9ydGluZ1xuICAg
dXNlcyBuZXcgQVZQcyAoU2VjdGlvbiA3LjMpIHRvIGluZGljYXRlIGFuIG92ZXJsb2FkIGNv
bmRpdGlvbi5cblxuICAgVGhlIE9DLU9MUiBBVlAgaXMgcmVmZXJyZWQgdG8gYXMgYW4gb3Zl
cmxvYWQgcmVwb3J0LiAgVGhlIE9DLU9MUiBBVlBcbiAgIGluY2x1ZGVzIHRoZSB0eXBlIG9m
IHJlcG9ydCwgYSBzZXF1ZW5jZSBudW1iZXIsIHRoZSBsZW5ndGggb2YgdGltZVxuICAgdGhh
dCB0aGUgcmVwb3J0IGlzIHZhbGlkIGFuZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNwZWNpZmlj
IEFWUHMuXG5cbiAgIFR3byB0eXBlcyBvZiBvdmVybG9hZCByZXBvcnRzIGFyZSBkZWZpbmVk
IGluIHRoaXMgZG9jdW1lbnQ6IGhvc3RcbiAgIHJlcG9ydHMgYW5kIHJlYWxtIHJlcG9ydHMu
XG5cbiAgIEEgcmVwb3J0IG9mIHR5cGUgIkhPU1RfUkVQT1JUIiBpcyBzZW50IHRvIGluZGlj
YXRlIHRoZSBvdmVybG9hZCBvZiBhXG4gICBzcGVjaWZpYyBob3N0LCBpZGVudGlmaWVkIGJ5
IHRoZSBPcmlnaW4tSG9zdCBBVlAgb2YgdGhlIG1lc3NhZ2VcbiAgIGNvbnRhaW5pbmcgdGhl
IE9MUiwgZm9yIHRoZSBhcHBsaWNhdGlvbi1pZCBpbmRpY2F0ZWQgaW4gdGhlXG4gICB0cmFu
c2FjdGlvbi4gIFdoZW4gcmVjZWl2aW5nIGFuIE9MUiBvZiB0eXBlICJIT1NUX1JFUE9SVCIs
IGEgcmVhY3RpbmdcbiAgIG5vZGUgYXBwbGllcyBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRt
ZW50IHRvIHRoZSBob3N0LXJvdXRlZCByZXF1ZXN0c1xuICAgaWRlbnRpZmllZCBieSB0aGUg
b3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSAoc2VlIGRlZmluaXRpb24gaW5cbiAgIFNl
Y3Rpb24gMikgc2VudCBmb3IgdGhpcyBhcHBsaWNhdGlvbiB0byB0aGUgb3ZlcmxvYWRlZCBo
b3N0LlxuXG4gICBBIHJlcG9ydCBvZiB0eXBlICJSRUFMTV9SRVBPUlQiIGlzIHNlbnQgdG8g
aW5kaWNhdGUgdGhlIG92ZXJsb2FkIG9mIGFcbiAgIHJlYWxtIGZvciB0aGUgYXBwbGljYXRp
b24taWQgaW5kaWNhdGVkIGluIHRoZSB0cmFuc2FjdGlvbi4gIFRoZVxuICAgb3ZlcmxvYWRl
ZCByZWFsbSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBEZXN0aW5hdGlvbi1SZWFsbSBBVlAgb2Yg
dGhlXG4gICBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIE9MUi4gIFdoZW4gcmVjZWl2aW5nIGFu
IE9MUiBvZiB0eXBlXG4gICAiUkVBTE1fUkVQT1JUIiwgYSByZWFjdGluZyBub2RlIGFwcGxp
ZXMgb3ZlcmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudFxuICAgdG8gcmVhbG0tcm91dGVkIHJl
cXVlc3RzIGlkZW50aWZpZWQgYnkgdGhlIG92ZXJsb2FkIGFiYXRlbWVudFxuICAgYWxnb3Jp
dGhtIChzZWUgZGVmaW5pdGlvbiBpbiBTZWN0aW9uIDIpIHNlbnQgZm9yIHRoaXMgYXBwbGlj
YXRpb24gdG9cbiAgIHRoZSBvdmVybG9hZGVkIHJlYWxtLlxuXG4gICBUaGlzIGRvY3VtZW50
IGFzc3VtZXMgdGhhdCB0aGVyZSBpcyBhIHNpbmdsZSBzb3VyY2UgZm9yIHJlYWxtLXJlcG9y
dHNcbiAgIGZvciBhIGdpdmVuIHJlYWxtLCBvciB0aGF0IGlmIG11bHRpcGxlIG5vZGVzIGNh
biBzZW5kIHJlYWxtIHJlcG9ydHMsXG4gICB0aGF0IGVhY2ggc3VjaCBub2RlIGhhcyBmdWxs
IGtub3dsZWRnZSBvZiB0aGUgb3ZlcmxvYWQgc3RhdGUgb2YgdGhlXG4gICBlbnRpcmUgcmVh
bG0uICBBIHJlYWN0aW5nIG5vZGUgY2Fubm90IGRpc3Rpbmd1aXNoIGJldHdlZW4gcmVjZWl2
aW5nXG4gICByZWFsbS1yZXBvcnRzIGZyb20gYSBzaW5nbGUgbm9kZSwgb3IgZnJvbSBtdWx0
aXBsZSBub2Rlcy5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVz
IEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDldXG5fXG5JbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51
YXJ5IDIwMTVcblxuXG4gICAgICBOb3RlOiBLbm93biBpc3N1ZXMgZXhpc3QgaWYgbXVsdGlw
bGUgc291cmNlcyBmb3Igb3ZlcmxvYWQgcmVwb3J0c1xuICAgICAgd2hpY2ggYXBwbHkgdG8g
dGhlIHNhbWUgRGlhbWV0ZXIgZW50aXR5IGV4aXN0LiAgUmVhY3Rpbmcgbm9kZXNcbiAgICAg
IGhhdmUgbm8gd2F5IG9mIGRldGVybWluaW5nIHRoZSBzb3VyY2UgYW5kLCBhcyBzdWNoLCB3
aWxsIHRyZWF0XG4gICAgICB0aGVtIGFzIGNvbWluZyBmcm9tIGEgc2luZ2xlIHNvdXJjZS4g
IFZhcmlhbmNlIGluIHNlcXVlbmNlIG51bWJlcnNcbiAgICAgIGJldHdlZW4gdGhlIHR3byBz
b3VyY2VzIGNhbiB0aGVuIGNhdXNlIGluY29ycmVjdCBvdmVybG9hZFxuICAgICAgYWJhdGVt
ZW50IHRyZWF0bWVudCB0byBiZSBhcHBsaWVkIGZvciBpbmRldGVybWluYXRlIHBlcmlvZHMg
b2ZcbiAgICAgIHRpbWUuXG5cbiAgIFJlcG9ydGluZyBub2RlcyBhcmUgcmVzcG9uc2libGUg
Zm9yIGRldGVybWluaW5nIHRoZSBuZWVkIGZvciBhXG4gICByZWR1Y3Rpb24gb2YgdHJhZmZp
Yy4gIFRoZSBtZXRob2QgZm9yIG1ha2luZyB0aGlzIGRldGVybWluYXRpb24gaXNcbiAgIGlt
cGxlbWVudGF0aW9uIHNwZWNpZmljIGFuZCBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mIG92ZXJs
b2FkIHJlcG9ydFxuICAgYmVpbmcgZ2VuZXJhdGVkLiAgQSBob3N0LXJlcG9ydCBtaWdodCBi
ZSBnZW5lcmF0ZWQgYnkgdHJhY2tpbmcgdXNlIG9mXG4gICByZXNvdXJjZXMgcmVxdWlyZWQg
YnkgdGhlIGhvc3QgdG8gaGFuZGxlIHRyYW5zYWN0aW9ucyBmb3IgdGhlXG4gICBEaWFtZXRl
ciBhcHBsaWNhdGlvbi4gIEEgcmVhbG0tcmVwb3J0IGdlbmVyYWxseSBpbXBhY3RzIHRoZSB0
cmFmZmljXG4gICBzZW50IHRvIG11bHRpcGxlIGhvc3RzIGFuZCwgYXMgc3VjaCwgcmVxdWly
ZXMgdHJhY2tpbmcgdGhlIGNhcGFjaXR5XG4gICBvZiBhbGwgc2VydmVycyBhYmxlIHRvIGhh
bmRsZSByZWFsbS1yb3V0ZWQgcmVxdWVzdHMgZm9yIHRoZVxuICAgYXBwbGljYXRpb24gYW5k
IHJlYWxtLlxuXG4gICBPbmNlIGEgcmVwb3J0aW5nIG5vZGUgZGV0ZXJtaW5lcyB0aGUgbmVl
ZCBmb3IgYSByZWR1Y3Rpb24gaW4gdHJhZmZpYyxcbiAgIGl0IHVzZXMgdGhlIERPSUMgZGVm
aW5lZCBBVlBzIHRvIHJlcG9ydCBvbiB0aGUgY29uZGl0aW9uLiAgVGhlc2UgQVZQc1xuICAg
YXJlIGluY2x1ZGVkIGluIGFuc3dlciBtZXNzYWdlcyBzZW50IG9yIHJlbGF5ZWQgYnkgdGhl
IHJlcG9ydGluZ1xuICAgbm9kZS4gIFRoZSByZXBvcnRpbmcgbm9kZSBpbmRpY2F0ZXMgdGhl
IG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG1cbiAgIHRoYXQgaXMgdG8gYmUgdXNlZCB0
byBoYW5kbGUgdGhlIHRyYWZmaWMgcmVkdWN0aW9uIGluIHRoZSBPQy1cbiAgIFN1cHBvcnRl
ZC1GZWF0dXJlcyBBVlAuICBUaGUgT0MtT0xSIEFWUCBpcyB1c2VkIHRvIGNvbW11bmljYXRl
XG4gICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVxdWVzdGVkIHJlZHVjdGlvbi5cblxuICAg
UmVhY3Rpbmcgbm9kZXMsIHVwb24gcmVjZWlwdCBvZiBhbiBvdmVybG9hZCByZXBvcnQsIGFw
cGx5IHRoZVxuICAgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSB0byB0cmFmZmljIGlt
cGFjdGVkIGJ5IHRoZSBvdmVybG9hZFxuICAgcmVwb3J0LiAgVGhlIG1ldGhvZCB1c2VkIHRv
IGRldGVybWluZSB0aGUgcmVxdWVzdHMgdGhhdCBhcmUgdG9cbiAgIHJlY2VpdmUgb3Zlcmxv
YWQgYWJhdGVtZW50IHRyZWF0bWVudCBpcyBkZXBlbmRlbnQgb24gdGhlIGFiYXRlbWVudFxu
ICAgYWxnb3JpdGhtLiAgVGhlIGxvc3MgYWJhdGVtZW50IGFsZ29yaXRobSBpcyBkZWZpbmVk
IGluIHRoaXMgZG9jdW1lbnRcbiAgIChTZWN0aW9uIDYpLiAgT3RoZXIgYWJhdGVtZW50IGFs
Z29yaXRobXMgY2FuIGJlIGRlZmluZWQgaW4gZXh0ZW5zaW9uc1xuICAgdG8gdGhlIERPSUMg
c29sdXRpb24uXG5cbiAgIFR3byB0eXBlcyBvZiBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRt
ZW50IGFyZSBkZWZpbmVkLCBkaXZlcnNpb24gYW5kXG4gICB0aHJvdHRsaW5nLiAgUmVhY3Rp
bmcgbm9kZXMgYXJlIHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB3aGljaFxuICAgdHJl
YXRtZW50IGlzIGFwcHJvcHJpYXRlIGZvciBpbmRpdmlkdWFsIHJlcXVlc3RzLlxuXG4gICBB
cyB0aGUgY29uZGl0aW9ucyB0aGF0IGxlYWQgdG8gdGhlIGdlbmVyYXRpb24gb2YgdGhlIG92
ZXJsb2FkIHJlcG9ydFxuICAgY2hhbmdlIHRoZSByZXBvcnRpbmcgbm9kZSBjYW4gc2VuZCBu
ZXcgb3ZlcmxvYWQgcmVwb3J0cyByZXF1ZXN0aW5nXG4gICBncmVhdGVyIHJlZHVjdGlvbiBp
ZiB0aGUgY29uZGl0aW9uIGdldHMgd29yc2Ugb3IgbGVzcyByZWR1Y3Rpb24gaWZcbiAgIHRo
ZSBjb25kaXRpb24gaW1wcm92ZXMuICBUaGUgcmVwb3J0aW5nIG5vZGUgc2VuZHMgYW4gb3Zl
cmxvYWQgcmVwb3J0XG4gICB3aXRoIGEgZHVyYXRpb24gb2YgemVybyB0byBpbmRpY2F0ZSB0
aGF0IHRoZSBvdmVybG9hZCBjb25kaXRpb24gaGFzXG4gICBlbmRlZCBhbmQgYWJhdGVtZW50
IGlzIG5vIGxvbmdlciBuZWVkZWQuXG5cbiAgIFRoZSByZWFjdGluZyBub2RlIGFsc28gZGV0
ZXJtaW5lcyB3aGVuIHRoZSBvdmVybG9hZCByZXBvcnQgZXhwaXJlc1xuICAgYmFzZWQgb24g
dGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCBpbiB0aGUgb3ZlcmxvYWQgcmVwb3J0IGFu
ZFxuICAgc3RvcHMgYXBwbHlpbmcgdGhlIGFiYXRlbWVudCBhbGdvcml0aG0gd2hlbiB0aGUg
cmVwb3J0IGV4cGlyZXMuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGly
ZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxMF1cbl9cbkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEph
bnVhcnkgMjAxNVxuXG5cbjQuNC4gIERPSUMgRXh0ZW5zaWJpbGl0eVxuXG4gICBUaGUgRE9J
QyBzb2x1dGlvbiBpcyBkZXNpZ25lZCB0byBiZSBleHRlbnNpYmxlLiAgVGhpcyBleHRlbnNp
YmlsaXR5XG4gICBpcyBiYXNlZCBvbiBleGlzdGluZyBEaWFtZXRlciBiYXNlZCBleHRlbnNp
YmlsaXR5IG1lY2hhbmlzbXMsIGFsb25nXG4gICB3aXRoIHRoZSBET0lDIGNhcGFiaWxpdHkg
YW5ub3VuY2VtZW50IG1lY2hhbmlzbS5cblxuICAgVGhlcmUgYXJlIG11bHRpcGxlIGNhdGVn
b3JpZXMgb2YgZXh0ZW5zaW9ucyB0aGF0IGFyZSBleHBlY3RlZC4gIFRoaXNcbiAgIGluY2x1
ZGVzIHRoZSBkZWZpbml0aW9uIG9mIG5ldyBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGht
cywgdGhlXG4gICBkZWZpbml0aW9uIG9mIG5ldyByZXBvcnQgdHlwZXMgYW5kIHRoZSBkZWZp
bml0aW9uIG9mIG5ldyBzY29wZXMgb2ZcbiAgIG1lc3NhZ2VzIGltcGFjdGVkIGJ5IGFuIG92
ZXJsb2FkIHJlcG9ydC5cblxuICAgQSBET0lDIG5vZGUgY29tbXVuaWNhdGVzIHN1cHBvcnRl
ZCBmZWF0dXJlcyBieSBpbmNsdWRpbmcgdGhlbSBpbiB0aGVcbiAgIE9DLUZlYXR1cmUtVmVj
dG9yIEFWUCwgYXMgYSBzdWItQVZQIG9mIE9DLVN1cHBvcnRlZC1GZWF0dXJlcy4gIEFueVxu
ICAgbm9uLWJhY2t3YXJkcyBjb21wYXRpYmxlIERPSUMgZXh0ZW5zaW9ucyBkZWZpbmUgbmV3
IHZhbHVlcyBmb3IgdGhlXG4gICBPQy1GZWF0dXJlLVZlY3RvciBBVlAuICBET0lDIGV4dGVu
c2lvbnMgYWxzbyBoYXZlIHRoZSBhYmlsaXR5IHRvIGFkZFxuICAgbmV3IEFWUHMgdG8gdGhl
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAsIGlmIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25c
biAgIGFib3V0IHRoZSBuZXcgZmVhdHVyZSBpcyByZXF1aXJlZC5cblxuICAgT3ZlcmxvYWQg
cmVwb3J0cyBjYW4gYWxzbyBiZSBleHRlbmRlZCBieSBhZGRpbmcgbmV3IHN1Yi1BVlBzIHRv
IHRoZVxuICAgT0MtT0xSIEFWUCwgYWxsb3dpbmcgcmVwb3J0aW5nIG5vZGVzIHRvIGNvbW11
bmljYXRlIGFkZGl0aW9uYWxcbiAgIGluZm9ybWF0aW9uIGFib3V0IGhhbmRsaW5nIGFuIG92
ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgSWYgbmVjZXNzYXJ5LCBuZXcgZXh0ZW5zaW9ucyBj
YW4gYWxzbyBkZWZpbmUgbmV3IEFWUHMgdGhhdCBhcmUgbm90XG4gICBwYXJ0IG9mIHRoZSBP
Qy1TdXBwb3J0ZWQtRmVhdHVyZXMgYW5kIE9DLU9MUiBncm91cCBBVlBzLiAgSXQgaXMsXG4g
ICBob3dldmVyLCByZWNvbW1lbmRlZCB0aGF0IERPSUMgZXh0ZW5zaW9ucyB1c2UgdGhlIE9D
LVN1cHBvcnRlZC1cbiAgIEZlYXR1cmVzIEFWUCBhbmQgT0MtT0xSIEFWUCB0byBjYXJyeSBh
bGwgRE9JQyByZWxhdGVkIEFWUHMuXG5cbjQuNS4gIFNpbXBsaWZpZWQgRXhhbXBsZSBBcmNo
aXRlY3R1cmVcblxuICAgRmlndXJlIDEgaWxsdXN0cmF0ZXMgdGhlIHNpbXBsaWZpZWQgYXJj
aGl0ZWN0dXJlIGZvciBEaWFtZXRlclxuICAgb3ZlcmxvYWQgaW5mb3JtYXRpb24gY29udmV5
YW5jZS5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5Lb3Job25l
biwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAg
ICBbUGFnZSAxMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lD
ICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICBSZWFsbSBYICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbWUgb3Igb3RoZXIgUmVhbG1zXG4g
ICBfLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fIF8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tX1xuXG5cbiAgICAgICstLS0tLS0tLSsgICAgICAgICAgICAgICAgIDog
KG9wdGlvbmFsKSA6XG4gICAgICBfRGlhbWV0ZXJfICAgICAgICAgICAgICAgICA6ICAgICAg
ICAgICAgOlxuICAgICAgX1NlcnZlciBBXy0tKyAgICAgLi0tLiAgICAgOiArLS0tLS0tLS0r
IDogICAgIC4tLS5cbiAgICAgICstLS0tLS0tLSsgIF8gICBfKCAgICBfLiAgIDogX0RpYW1l
dGVyXyA6ICAgXyggICAgXy4gICArLS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICArLS0o
ICAgICAgICApLS06LV8gIEFnZW50IF8tOi0tKCAgICAgICAgKS0tX0RpYW1ldGVyX1xuICAg
ICAgKy0tLS0tLS0tKyAgXyAoIF8gIC4gICkgICkgOiArLS0tLS0tLS0rIDogKCBfICAuICAp
ICApIF8gQ2xpZW50IF9cbiAgICAgIF9EaWFtZXRlcl8tLSsgIF8tLShfX18uLVwnICA6ICAg
ICAgICAgICAgOiAgXy0tKF9fXy4tXCcgICstLS0tLS0tLStcbiAgICAgIF9TZXJ2ZXIgQl8g
ICAgICAgICAgICAgICAgIDogICAgICAgICAgICA6XG4gICAgICArLS0tLS0tLS0rICAgICAg
ICAgICAgICAgICA6ICAgICAgICAgICAgOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAg
IEVuZC10by1lbmQgT3ZlcmxvYWQgSW5kaWNhdGlvblxuICAgICAgICAgICAgIDEpICBfLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fXG4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFlcblxuICAgICAg
ICAgICAgICAgICAgT3ZlcmxvYWQgSW5kaWNhdGlvbiBBICAgIE92ZXJsb2FkIEluZGljYXRp
b24gQVwnXG4gICAgICAgICAgICAgMikgIF8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXyBfLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLV9cbiAgICAgICAgICAgICAgICAgRGlhbWV0ZXIgQXBwbGlj
YXRpb24gWSAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFlcblxuXG5cbiAgICAgRmlndXJlIDE6
IFNpbXBsaWZpZWQgYXJjaGl0ZWN0dXJlIGNob2ljZXMgZm9yIG92ZXJsb2FkIGluZGljYXRp
b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5XG5cbiAgIElu
IEZpZ3VyZSAxLCB0aGUgRGlhbWV0ZXIgb3ZlcmxvYWQgaW5kaWNhdGlvbiBjYW4gYmUgY29u
dmV5ZWQgKDEpXG4gICBlbmQtdG8tZW5kIGJldHdlZW4gc2VydmVycyBhbmQgY2xpZW50cyBv
ciAoMikgYmV0d2VlbiBzZXJ2ZXJzIGFuZFxuICAgRGlhbWV0ZXIgYWdlbnQgaW5zaWRlIHRo
ZSByZWFsbSBhbmQgdGhlbiBiZXR3ZWVuIHRoZSBEaWFtZXRlciBhZ2VudFxuICAgYW5kIHRo
ZSBjbGllbnRzLlxuXG41LiAgU29sdXRpb24gUHJvY2VkdXJlc1xuXG4gICBUaGlzIHNlY3Rp
b24gb3V0bGluZXMgdGhlIG5vcm1hdGl2ZSBiZWhhdmlvciBmb3IgdGhlIERPSUMgc29sdXRp
b24uXG5cbjUuMS4gIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50XG5cbiAgIFRoaXMgc2VjdGlv
biBkZWZpbmVzIERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1lbnQgKERDQSkgYmVoYXZpb3Iu
XG5cbiAgICAgIE5vdGU6IFRoaXMgc3BlY2lmaWNhdGlvbiBhc3N1bWVzIHRoYXQgY2hhbmdl
cyBpbiBET0lDIG5vZGVcbiAgICAgIGNhcGFiaWxpdGllcyBhcmUgcmVsYXRpdmVseSByYXJl
IGV2ZW50cyB0aGF0IG9jY3VyIGFzIGEgcmVzdWx0IG9mXG4gICAgICBhZG1pbmlzdHJhdGl2
ZSBhY3Rpb24uICBSZWFjdGluZyBub2RlcyBvdWdodCB0byBtaW5pbWl6ZSBjaGFuZ2VzXG4g
ICAgICB0aGF0IGZvcmNlIHRoZSByZXBvcnRpbmcgbm9kZSB0byBjaGFuZ2UgdGhlIGZlYXR1
cmVzIGJlaW5nIHVzZWQsXG4gICAgICBlc3BlY2lhbGx5IGR1cmluZyBhY3RpdmUgb3Zlcmxv
YWQgY29uZGl0aW9ucy4gIEJ1dCBldmVuIGlmXG4gICAgICByZWFjdGluZyBub2RlcyBhdm9p
ZCBzdWNoIGNoYW5nZXMsIHJlcG9ydGluZyBub2RlcyBzdGlsbCBoYXZlIHRvXG4gICAgICBi
ZSBwcmVwYXJlZCBmb3IgdGhlbSB0byBvY2N1ci4gIEZvciBleGFtcGxlLCBkaWZmZXJpbmdc
biAgICAgIGNhcGFiaWxpdGllcyBiZXR3ZWVuIG11bHRpcGxlIHJlYWN0aW5nIG5vZGVzIG1h
eSBzdGlsbCBmb3JjZSBhXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGly
ZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxMl1cbl9cbkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEph
bnVhcnkgMjAxNVxuXG5cbiAgICAgIHJlcG9ydGluZyBub2RlIHRvIHNlbGVjdCBkaWZmZXJl
bnQgZmVhdHVyZXMgb24gYSBwZXItdHJhbnNhY3Rpb25cbiAgICAgIGJhc2lzLlxuXG41LjEu
MS4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3JcblxuICAgQSByZWFjdGluZyBub2RlIE1VU1Qg
aW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhbGxcbiAgIHJlcXVl
c3RzLiAgSXQgTUFZIGluY2x1ZGUgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCwgYXMgYSBz
dWItYXZwIG9mXG4gICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMuICBJZiBpdCBkb2VzIHNvLCBp
dCBNVVNUIGluZGljYXRlIHN1cHBvcnQgZm9yXG4gICB0aGUgImxvc3MiIGFsZ29yaXRobS4g
IElmIHRoZSByZWFjdGluZyBub2RlIGlzIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydFxuICAgZmVh
dHVyZXMgKGluY2x1ZGluZyBvdGhlciBhbGdvcml0aG1zKSBpbiBhZGRpdGlvbiB0byB0aGUg
bG9zc1xuICAgYWxnb3JpdGhtLCBpdCBNVVNUIGluZGljYXRlIHN1Y2ggc3VwcG9ydCBpbiBh
biBPQy1GZWF0dXJlLVZlY3RvciBBVlAuXG5cbiAgIEFuIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgaW4gYW5zd2VyIG1lc3NhZ2VzIGluZGljYXRlcyB0aGVyZSBpcyBhXG4gICByZXBv
cnRpbmcgbm9kZSBmb3IgdGhlIHRyYW5zYWN0aW9uLiAgVGhlIHJlYWN0aW5nIG5vZGUgTUFZ
IHRha2VcbiAgIGFjdGlvbiwgZm9yIGV4YW1wbGUgY3JlYXRpbmcgc3RhdGUgZm9yIHNvbWUg
c3RhdGVmdWwgYWJhdGVtZW50XG4gICBhbGdvcml0aG0sIGJhc2VkIG9uIHRoZSBmZWF0dXJl
cyBpbmRpY2F0ZWQgaW4gdGhlIE9DLUZlYXR1cmUtVmVjdG9yXG4gICBBVlAuXG5cbiAgICAg
IE5vdGU6IFRoZSBsb3NzIGFiYXRlbWVudCBhbGdvcml0aG0gZG9lcyBub3QgcmVxdWlyZSBz
dGF0ZWZ1bFxuICAgICAgYmVoYXZpb3Igd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgb3Zlcmxv
YWQgcmVwb3J0LlxuXG4gICBSZWFjdGluZyBub2RlcyBuZWVkIHRvIGJlIHByZXBhcmVkIGZv
ciB0aGUgcmVwb3J0aW5nIG5vZGUgdG8gY2hhbmdlXG4gICBzZWxlY3RlZCBhbGdvcml0aG1z
LiAgVGhpcyBjYW4gaGFwcGVuIGF0IGFueSB0aW1lLCBpbmNsdWRpbmcgd2hlbiB0aGVcbiAg
IHJlcG9ydGluZyBub2RlIGhhcyBzZW50IGFuIGFjdGl2ZSBvdmVybG9hZCByZXBvcnQuICBU
aGUgcmVhY3Rpbmcgbm9kZVxuICAgY2FuIG1pbmltaXplIHRoZSBwb3RlbnRpYWwgZm9yIGNo
YW5nZXMgYnkgbW9kaWZ5aW5nIHRoZSBhZHZlcnRpc2VkXG4gICBhYmF0ZW1lbnQgYWxnb3Jp
dGhtcyBzZW50IHRvIGFuIG92ZXJsb2FkZWQgcmVwb3J0aW5nIG5vZGUgdG8gdGhlXG4gICBj
dXJyZW50bHkgc2VsZWN0ZWQgYWxnb3JpdGhtIGFuZCBsb3NzIChvciBqdXN0IGxvc3MgaWYg
aXQgaXMgdGhlXG4gICBjdXJyZW50bHkgc2VsZWN0ZWQgYWxnb3JpdGhtKS4gIFRoaXMgaGFz
IHRoZSBlZmZlY3Qgb2YgbGltaXRpbmcgdGhlXG4gICBwb3RlbnRpYWwgY2hhbmdlIGluIGFi
YXRlbWVudCBhbGdvcml0aG0gZnJvbSB0aGUgY3VycmVudGx5IHNlbGVjdGVkXG4gICBhbGdv
cml0aG0gdG8gbG9zcywgYXZvaWRpbmcgY2hhbmdlcyB0byBtb3JlIGNvbXBsZXggYWJhdGVt
ZW50XG4gICBhbGdvcml0aG1zIHRoYXQgcmVxdWlyZSBzdGF0ZSB0byBvcGVyYXRlIHByb3Bl
cmx5LlxuXG41LjEuMi4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yXG5cbiAgIFVwb24gcmVj
ZWlwdCBvZiBhIHJlcXVlc3QgbWVzc2FnZSwgYSByZXBvcnRpbmcgbm9kZSBkZXRlcm1pbmVz
IGlmXG4gICB0aGVyZSBpcyBhIHJlYWN0aW5nIG5vZGUgZm9yIHRoZSB0cmFuc2FjdGlvbiBi
YXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2ZcbiAgIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMg
QVZQIGluIHRoZSByZXF1ZXN0IG1lc3NhZ2UuXG5cbiAgIElmIHRoZSByZXF1ZXN0IG1lc3Nh
Z2UgY29udGFpbnMgYW4gT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCB0aGVuIGFcbiAgIHJl
cG9ydGluZyBub2RlIE1VU1QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFW
UCBpbiB0aGVcbiAgIGFuc3dlciBtZXNzYWdlIGZvciB0aGF0IHRyYW5zYWN0aW9uLlxuXG4g
ICAgICBOb3RlOiBDYXBhYmlsaXR5IGFubm91bmNlbWVudCBpcyBkb25lIG9uIGEgcGVyIHRy
YW5zYWN0aW9uIGJhc2lzLlxuICAgICAgVGhlIHJlcG9ydGluZyBub2RlIGNhbm5vdCBhc3N1
bWUgdGhhdCB0aGUgY2FwYWJpbGl0aWVzIGFubm91bmNlZFxuICAgICAgYnkgYSByZWFjdGlu
ZyBub2RlIHdpbGwgYmUgdGhlIHNhbWUgYmV0d2VlbiB0cmFuc2FjdGlvbnMuXG5cbiAgIEEg
cmVwb3J0aW5nIG5vZGUgTVVTVCBOT1QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1
cmVzIEFWUCwgT0MtXG4gICBPTFIgQVZQIG9yIGFueSBvdGhlciBvdmVybG9hZCBjb250cm9s
IEFWUHMgZGVmaW5lZCBpbiBleHRlbnNpb25cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAg
ICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDEzXVxu
X1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAg
ICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgZHJhZnRzIGluIHJlc3BvbnNlIG1lc3Nh
Z2VzIGZvciB0cmFuc2FjdGlvbnMgd2hlcmUgdGhlIHJlcXVlc3RcbiAgIG1lc3NhZ2UgZG9l
cyBub3QgaW5jbHVkZSB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC4gIExhY2sgb2Yg
dGhlXG4gICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIHRoZSByZXF1ZXN0IG1lc3Nh
Z2UgaW5kaWNhdGVzIHRoYXQgdGhlcmVcbiAgIGlzIG5vIHJlYWN0aW5nIG5vZGUgZm9yIHRo
ZSB0cmFuc2FjdGlvbi5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBrbm93cyB3aGF0IG92ZXJs
b2FkIGNvbnRyb2wgZnVuY3Rpb25hbGl0eSBpc1xuICAgc3VwcG9ydGVkIGJ5IHRoZSByZWFj
dGluZyBub2RlIGJhc2VkIG9uIHRoZSBjb250ZW50IG9yIGFic2VuY2Ugb2YgdGhlXG4gICBP
Qy1GZWF0dXJlLVZlY3RvciBBVlAgd2l0aGluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMg
QVZQIGluIHRoZVxuICAgcmVxdWVzdCBtZXNzYWdlLlxuXG4gICBBIHJlcG9ydGluZyBub2Rl
IE1VU1QgaW5kaWNhdGUgc3VwcG9ydCBmb3Igb25lIGFuZCBvbmx5IG9uZSBhYmF0ZW1lbnRc
biAgIGFsZ29yaXRobSBpbiB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLiAgVGhlIGFiYXRl
bWVudCBhbGdvcml0aG1cbiAgIHNlbGVjdGVkIE1VU1QgaW5kaWNhdGUgdGhlIGFiYXRlbWVu
dCBhbGdvcml0aG0gdGhlIHJlcG9ydGluZyBub2RlXG4gICB3YW50cyB0aGUgcmVhY3Rpbmcg
bm9kZSB0byB1c2Ugd2hlbiB0aGUgcmVwb3J0aW5nIG5vZGUgZW50ZXJzIGFuXG4gICBvdmVy
bG9hZCBjb25kaXRpb24uXG5cbiAgIFRoZSBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNlbGVjdGVk
IE1VU1QgYmUgZnJvbSB0aGUgc2V0IG9mIGFiYXRlbWVudFxuICAgYWxnb3JpdGhtcyBjb250
YWluZWQgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZVwncyBPQy1GZWF0dXJlLVZlY3RvciBBVlAu
XG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgdGhhdCBzZWxlY3RzIHRoZSBsb3NzIGFsZ29yaXRo
bSBtYXkgZG8gc28gYnlcbiAgIGluY2x1ZGluZyB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQ
IHdpdGggYW4gZXhwbGljaXQgaW5kaWNhdGlvbiBvZlxuICAgdGhlIGxvc3MgYWxnb3JpdGht
LCBvciBpdCBNQVkgb21pdCBPQy1GZWF0dXJlLVZlY3Rvci4gIElmIGl0IHNlbGVjdHNcbiAg
IGEgZGlmZmVyZW50IGFsZ29yaXRobSwgaXQgTVVTVCBpbmNsdWRlIHRoZSBPQy1GZWF0dXJl
LVZlY3RvciBBVlAgd2l0aFxuICAgYW4gZXhwbGljaXQgaW5kaWNhdGlvbiBvZiB0aGUgc2Vs
ZWN0ZWQgYWxnb3JpdGhtLlxuXG4gICBUaGUgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGluZGlj
YXRlIHN1cHBvcnQgZm9yIG90aGVyIERPSUMgZmVhdHVyZXNcbiAgIGRlZmluZWQgaW4gZXh0
ZW5zaW9uIGRyYWZ0cyB0aGF0IGl0IHN1cHBvcnRzIGFuZCB0aGF0IGFwcGx5IHRvIHRoZVxu
ICAgdHJhbnNhY3Rpb24uICBJdCBkb2VzIHNvIHVzaW5nIHRoZSBPQy1GZWF0dXJlLVZlY3Rv
ciBBVlAuXG5cbiAgICAgIE5vdGU6IE5vdCBhbGwgRE9JQyBmZWF0dXJlcyB3aWxsIGFwcGx5
IHRvIGFsbCBEaWFtZXRlclxuICAgICAgYXBwbGljYXRpb25zIG9yIGRlcGxveW1lbnQgc2Nl
bmFyaW9zLiAgVGhlIGZlYXR1cmVzIGluY2x1ZGVkIGluXG4gICAgICB0aGUgT0MtRmVhdHVy
ZS1WZWN0b3IgQVZQIGFyZSBiYXNlZCBvbiBsb2NhbCByZXBvcnRpbmcgbm9kZVxuICAgICAg
cG9saWN5LlxuXG41LjEuMy4gIEFnZW50IEJlaGF2aW9yXG5cbiAgIERpYW1ldGVyIEFnZW50
cyB0aGF0IHN1cHBvcnQgRE9JQyBjYW4gZW5zdXJlIHRoYXQgYWxsIG1lc3NhZ2VzXG4gICBy
ZWxheWVkIGJ5IHRoZSBhZ2VudCBjb250YWluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMg
QVZQLlxuXG4gICBBIERpYW1ldGVyIEFnZW50IE1BWSB0YWtlIG9uIHJlYWN0aW5nIG5vZGUg
YmVoYXZpb3IgZm9yIERpYW1ldGVyXG4gICBlbmRwb2ludHMgdGhhdCBkbyBub3Qgc3VwcG9y
dCB0aGUgRE9JQyBzb2x1dGlvbi4gIEEgRGlhbWV0ZXIgQWdlbnRcbiAgIGRldGVjdHMgdGhh
dCBhIERpYW1ldGVyIGVuZHBvaW50IGRvZXMgbm90IHN1cHBvcnQgRE9JQyByZWFjdGluZyBu
b2RlXG4gICBiZWhhdmlvciB3aGVuIHRoZXJlIGlzIG5vIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgaW4gYSByZXF1ZXN0XG4gICBtZXNzYWdlLlxuXG4gICBGb3IgYSBEaWFtZXRlciBB
Z2VudCB0byBiZSBhIHJlYWN0aW5nIG5vZGUgZm9yIGEgbm9uIHN1cHBvcnRpbmdcbiAgIERp
YW1ldGVyIGVuZHBvaW50LCB0aGUgRGlhbWV0ZXIgQWdlbnQgTVVTVCBpbmNsdWRlIHRoZSBP
Qy1TdXBwb3J0ZWQtXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJl
cyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDE0XVxuX1xuSW50ZXJuZXQt
RHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFu
dWFyeSAyMDE1XG5cblxuICAgRmVhdHVyZXMgQVZQIGluIHJlcXVlc3QgbWVzc2FnZXMgaXQg
cmVsYXlzIHRoYXQgZG8gbm90IGNvbnRhaW4gdGhlXG4gICBPQy1TdXBwb3J0ZWQtRmVhdHVy
ZXMgQVZQLlxuXG4gICBBIERpYW1ldGVyIEFnZW50IE1BWSB0YWtlIG9uIHJlcG9ydGluZyBu
b2RlIGJlaGF2aW9yIGZvciBEaWFtZXRlclxuICAgZW5kcG9pbnRzIHRoYXQgZG8gbm90IHN1
cHBvcnQgdGhlIERPSUMgc29sdXRpb24uICBUaGUgRGlhbWV0ZXIgQWdlbnRcbiAgIE1VU1Qg
aGF2ZSB2aXNpYmlsaXR5IHRvIGFsbCB0cmFmZmljIGRlc3RpbmVkIGZvciB0aGUgbm9uIHN1
cHBvcnRpbmdcbiAgIGhvc3QgaW4gb3JkZXIgdG8gYmVjb21lIHRoZSByZXBvcnRpbmcgbm9k
ZSBmb3IgdGhlIERpYW1ldGVyIGVuZHBvaW50LlxuICAgQSBEaWFtZXRlciBBZ2VudCBkZXRl
Y3RzIHRoYXQgYSBEaWFtZXRlciBlbmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0XG4gICBET0lD
IHJlcG9ydGluZyBub2RlIGJlaGF2aW9yIHdoZW4gdGhlcmUgaXMgbm8gT0MtU3VwcG9ydGVk
LUZlYXR1cmVzXG4gICBBVlAgaW4gYW4gYW5zd2VyIG1lc3NhZ2UgZm9yIGEgdHJhbnNhY3Rp
b24gdGhhdCBjb250YWluZWQgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBp
biB0aGUgcmVxdWVzdCBtZXNzYWdlLlxuXG4gICBJZiBhIHJlcXVlc3QgYWxyZWFkeSBoYXMg
dGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAsIGEgRGlhbWV0ZXJcbiAgIGFnZW50IE1B
WSBtb2RpZnkgaXQgdG8gcmVmbGVjdCB0aGUgZmVhdHVyZXMgYXBwcm9wcmlhdGUgZm9yIHRo
ZVxuICAgdHJhbnNhY3Rpb24uICBPdGhlcndpc2UsIHRoZSBhZ2VudCByZWxheXMgdGhlIE9D
LVN1cHBvcnRlZC1GZWF0dXJlc1xuICAgQVZQIHdpdGhvdXQgY2hhbmdlLlxuXG4gICAgICBG
b3IgaW5zdGFuY2UsIGlmIHRoZSBhZ2VudCBzdXBwb3J0cyBhIHN1cGVyc2V0IG9mIHRoZSBm
ZWF0dXJlc1xuICAgICAgcmVwb3J0ZWQgYnkgdGhlIHJlYWN0aW5nIG5vZGUgdGhlbiB0aGUg
YWdlbnQgbWlnaHQgY2hvb3NlLCBiYXNlZFxuICAgICAgb24gbG9jYWwgcG9saWN5LCB0byBh
ZHZlcnRpc2UgdGhhdCBzdXBlcnNldCBvZiBmZWF0dXJlcyB0byB0aGVcbiAgICAgIHJlcG9y
dGluZyBub2RlLlxuXG4gICBJZiB0aGUgRGlhbWV0ZXIgQWdlbnQgY2hhbmdlcyB0aGUgT0Mt
U3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhXG4gICByZXF1ZXN0IG1lc3NhZ2UgdGhlbiBp
dCBpcyBsaWtlbHkgaXQgd2lsbCBhbHNvIG5lZWQgdG8gbW9kaWZ5IHRoZSBPQy1cbiAgIFN1
cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIGFuc3dlciBtZXNzYWdlIGZvciB0aGUgdHJh
bnNhY3Rpb24uICBBXG4gICBEaWFtZXRlciBBZ2VudCBNQVkgbW9kaWZ5IHRoZSBPQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQIGNhcnJpZWQgaW5cbiAgIGFuc3dlciBtZXNzYWdlcy5cblxu
ICAgV2hlbiBtYWtpbmcgY2hhbmdlcyB0byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIG9y
IE9DLU9MUiBBVlBzLCB0aGVcbiAgIERpYW1ldGVyIEFnZW50IG5lZWRzIHRvIGVuc3VyZSBj
b25zaXN0ZW5jeSBpbiBpdHMgYmVoYXZpb3Igd2l0aCBib3RoXG4gICB1cHN0cmVhbSBhbmQg
ZG93bnN0cmVhbSBET0lDIG5vZGVzLlxuXG41LjIuICBPdmVybG9hZCBSZXBvcnQgUHJvY2Vz
c2luZ1xuXG41LjIuMS4gIE92ZXJsb2FkIENvbnRyb2wgU3RhdGVcblxuICAgQm90aCByZWFj
dGluZyBhbmQgcmVwb3J0aW5nIG5vZGVzIG1haW50YWluIE92ZXJsb2FkIENvbnRyb2wgU3Rh
dGVcbiAgIChPQ1MpIGZvciBhY3RpdmUgb3ZlcmxvYWQgY29uZGl0aW9ucy4gIFRoZSBmb2xs
b3dpbmcgc2VjdGlvbnMgZGVmaW5lXG4gICBiZWhhdmlvciBhc3NvY2lhdGVkIHdpdGggdGhh
dCBPQ1MuXG5cbiAgIFRoZSBjb250ZW50cyBvZiB0aGUgT0NTIGluIHRoZSByZXBvcnRpbmcg
bm9kZSBhbmQgaW4gdGhlIHJlYWN0aW5nXG4gICBub2RlIHJlcHJlc2VudCBsb2dpY2FsIGNv
bnN0cnVjdHMuICBUaGUgYWN0dWFsIGludGVybmFsIHBoeXNpY2FsXG4gICBzdHJ1Y3R1cmUg
b2YgdGhlIHN0YXRlIGluY2x1ZGVkIGluIHRoZSBPQ1MgaXMgYW4gaW1wbGVtZW50YXRpb25c
biAgIGRlY2lzaW9uLlxuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAg
IEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxNV1cbl9cbklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAg
ICAgIEphbnVhcnkgMjAxNVxuXG5cbjUuMi4xLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRl
IGZvciBSZWFjdGluZyBOb2Rlc1xuXG4gICBBIHJlYWN0aW5nIG5vZGUgbWFpbnRhaW5zIHRo
ZSBmb2xsb3dpbmcgT0NTIHBlciBzdXBwb3J0ZWQgRGlhbWV0ZXJcbiAgIGFwcGxpY2F0aW9u
OlxuXG4gICBvICBBIGhvc3QtdHlwZSBPQ1MgZW50cnkgZm9yIGVhY2ggRGVzdGluYXRpb24t
SG9zdCB0byB3aGljaCBpdCBzZW5kc1xuICAgICAgaG9zdC10eXBlIHJlcXVlc3RzIGFuZFxu
XG4gICBvICBBIHJlYWxtLXR5cGUgT0NTIGVudHJ5IGZvciBlYWNoIERlc3RpbmF0aW9uLVJl
YWxtIHRvIHdoaWNoIGl0XG4gICAgICBzZW5kcyByZWFsbS10eXBlIHJlcXVlc3RzLlxuXG4g
ICBBIGhvc3QtdHlwZSBPQ1MgZW50cnkgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciBvZiBh
cHBsaWNhdGlvbi1pZCBhbmRcbiAgIHRoZSBub2RlXCdzIERpYW1ldGVySWRlbnRpdHkuXG5c
biAgIEEgcmVhbG0tdHlwZSBPQ1MgZW50cnkgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciBv
ZiBhcHBsaWNhdGlvbi1pZFxuICAgYW5kIHJlYWxtLlxuXG4gICBUaGUgaG9zdC10eXBlIGFu
ZCByZWFsbS10eXBlIE9DUyBlbnRyaWVzIGluY2x1ZGUgdGhlIGZvbGxvd2luZ1xuICAgaW5m
b3JtYXRpb24gKHRoZSBhY3R1YWwgaW5mb3JtYXRpb24gc3RvcmVkIGlzIGFuIGltcGxlbWVu
dGF0aW9uXG4gICBkZWNpc2lvbik6XG5cbiAgIG8gIFNlcXVlbmNlIG51bWJlciAoYXMgcmVj
ZWl2ZWQgaW4gT0MtT0xSKVxuXG4gICBvICBUaW1lIG9mIGV4cGlyeSAoZGVyaXZlZCBmcm9t
IE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCByZWNlaXZlZCBpblxuICAgICAgdGhlIE9DLU9M
UiBBVlAgYW5kIHRpbWUgb2YgcmVjZXB0aW9uIG9mIHRoZSBtZXNzYWdlIGNhcnJ5aW5nIE9D
LVxuICAgICAgT0xSIEFWUClcblxuICAgbyAgU2VsZWN0ZWQgQWJhdGVtZW50IEFsZ29yaXRo
bSAoYXMgcmVjZWl2ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1cbiAgICAgIEZlYXR1cmVzIEFW
UClcblxuICAgbyAgQWJhdGVtZW50IEFsZ29yaXRobSBzcGVjaWZpYyBpbnB1dCBkYXRhIChh
cyByZWNlaXZlZCBpbiB0aGUgT0MtT0xSXG4gICAgICBBVlAsIGZvciBleGFtcGxlLCBPQy1S
ZWR1Y3Rpb24tUGVyY2VudGFnZSBmb3IgdGhlIExvc3MgYWJhdGVtZW50XG4gICAgICBhbGdv
cml0aG0pXG5cbjUuMi4xLjIuICBPdmVybG9hZCBDb250cm9sIFN0YXRlIGZvciBSZXBvcnRp
bmcgTm9kZXNcblxuICAgQSByZXBvcnRpbmcgbm9kZSBtYWludGFpbnMgT0NTIGVudHJpZXMg
cGVyIHN1cHBvcnRlZCBEaWFtZXRlclxuICAgYXBwbGljYXRpb24sIHBlciBzdXBwb3J0ZWQg
KGFuZCBldmVudHVhbGx5IHNlbGVjdGVkKSBBYmF0ZW1lbnRcbiAgIEFsZ29yaXRobSBhbmQg
cGVyIHJlcG9ydC10eXBlLlxuXG4gICBBbiBPQ1MgZW50cnkgaXMgaWRlbnRpZmllZCBieSB0
aGUgdHVwbGUgb2YgQXBwbGljYXRpb24tSWQsIFJlcG9ydC1cbiAgIFR5cGUgYW5kIEFiYXRl
bWVudCBBbGdvcml0aG0gYW5kIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb25c
biAgICh0aGUgYWN0dWFsIGluZm9ybWF0aW9uIHN0b3JlZCBpcyBhbiBpbXBsZW1lbnRhdGlv
biBkZWNpc2lvbik6XG5cbiAgIG8gIFNlcXVlbmNlIG51bWJlclxuXG4gICBvICBWYWxpZGl0
eSBEdXJhdGlvblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMg
SnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxNl1cbl9cbkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVh
cnkgMjAxNVxuXG5cbiAgIG8gIEV4cGlyYXRpb24gVGltZVxuXG4gICBvICBBbGdvcml0aG0g
c3BlY2lmaWMgaW5wdXQgZGF0YSAoZm9yIGV4YW1wbGUsIHRoZSBSZWR1Y3Rpb25cbiAgICAg
IFBlcmNlbnRhZ2UgZm9yIHRoZSBMb3NzIEFiYXRlbWVudCBBbGdvcml0aG0pXG5cbjUuMi4x
LjMuICBSZWFjdGluZyBOb2RlIE1haW50ZW5hbmNlIG9mIE92ZXJsb2FkIENvbnRyb2wgU3Rh
dGVcblxuICAgV2hlbiBhIHJlYWN0aW5nIG5vZGUgcmVjZWl2ZXMgYW4gT0MtT0xSIEFWUCwg
aXQgTVVTVCBkZXRlcm1pbmUgaWYgaXRcbiAgIGlzIGZvciBhbiBleGlzdGluZyBvciBuZXcg
b3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICAgICBOb3RlOiBGb3IgdGhlIHJlbWFpbmRlciBv
ZiB0aGlzIHNlY3Rpb24gdGhlIHRlcm0gT0xSIHJlZmVycyB0byB0aGVcbiAgICAgIGNvbWJp
bmF0aW9uIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgcmVjZWl2ZWQgT0MtT0xSIEFWUCBhbmQg
dGhlXG4gICAgICBhYmF0ZW1lbnQgYWxnb3JpdGhtIGluZGljYXRlZCBpbiB0aGUgcmVjZWl2
ZWQgT0MtU3VwcG9ydGVkLVxuICAgICAgRmVhdHVyZXMgQVZQLlxuXG4gICBXaGVuIHJlY2Vp
dmluZyBhbiBhbnN3ZXIgbWVzc2FnZSB3aXRoIG11bHRpcGxlIE9MUnMgb2YgZGlmZmVyZW50
XG4gICBzdXBwb3J0ZWQgcmVwb3J0IHR5cGVzLCBhIHJlYWN0aW5nIG5vZGUgTVVTVCBwcm9j
ZXNzIGVhY2ggcmVjZWl2ZWRcbiAgIE9MUi5cblxuICAgVGhlIE9MUiBpcyBmb3IgYW4gZXhp
c3Rpbmcgb3ZlcmxvYWQgY29uZGl0aW9uIGlmIGEgcmVhY3Rpbmcgbm9kZSBoYXNcbiAgIGFu
IE9DUyB0aGF0IG1hdGNoZXMgdGhlIHJlY2VpdmVkIE9MUi5cblxuICAgRm9yIGEgaG9zdC1y
ZXBvcnQgdGhpcyBtZWFucyBpdCBtYXRjaGVzIHRoZSBhcHBsaWNhdGlvbi1pZCBhbmQgdGhl
XG4gICBob3N0XCdzIERpYW1ldGVySWRlbnRpdHkgaW4gYW4gZXhpc3RpbmcgaG9zdCBPQ1Mg
ZW50cnkuXG5cbiAgIEZvciBhIHJlYWxtLXJlcG9ydCB0aGlzIG1lYW5zIGl0IG1hdGNoZXMg
dGhlIGFwcGxpY2F0aW9uLWlkIGFuZCB0aGVcbiAgIHJlYWxtIGluIGFuIGV4aXN0aW5nIHJl
YWxtIE9DUyBlbnRyeS5cblxuICAgSWYgdGhlIE9MUiBpcyBmb3IgYW4gZXhpc3Rpbmcgb3Zl
cmxvYWQgY29uZGl0aW9uIHRoZW4gYSByZWFjdGluZyBub2RlXG4gICBNVVNUIGRldGVybWlu
ZSBpZiB0aGUgT0xSIGlzIGEgcmV0cmFuc21pc3Npb24gb3IgYW4gdXBkYXRlIHRvIHRoZVxu
ICAgZXhpc3RpbmcgT0xSLlxuXG4gICBJZiB0aGUgc2VxdWVuY2UgbnVtYmVyIGZvciB0aGUg
cmVjZWl2ZWQgT0xSIGlzIGdyZWF0ZXIgdGhhbiB0aGVcbiAgIHNlcXVlbmNlIG51bWJlciBz
dG9yZWQgaW4gdGhlIG1hdGNoaW5nIE9DUyBlbnRyeSB0aGVuIGEgcmVhY3Rpbmcgbm9kZVxu
ICAgTVVTVCB1cGRhdGUgdGhlIG1hdGNoaW5nIE9DUyBlbnRyeS5cblxuICAgSWYgdGhlIHNl
cXVlbmNlIG51bWJlciBmb3IgdGhlIHJlY2VpdmVkIE9MUiBpcyBsZXNzIHRoYW4gb3IgZXF1
YWwgdG9cbiAgIHRoZSBzZXF1ZW5jZSBudW1iZXIgaW4gdGhlIG1hdGNoaW5nIE9DUyBlbnRy
eSB0aGVuIGEgcmVhY3Rpbmcgbm9kZVxuICAgTVVTVCBzaWxlbnRseSBpZ25vcmUgdGhlIHJl
Y2VpdmVkIE9MUi4gIFRoZSBtYXRjaGluZyBPQ1MgTVVTVCBOT1QgYmVcbiAgIHVwZGF0ZWQg
aW4gdGhpcyBjYXNlLlxuXG4gICBJZiB0aGUgcmVjZWl2ZWQgT0xSIGlzIGZvciBhIG5ldyBv
dmVybG9hZCBjb25kaXRpb24gdGhlbiBhIHJlYWN0aW5nXG4gICBub2RlIE1VU1QgZ2VuZXJh
dGUgYSBuZXcgT0NTIGVudHJ5IGZvciB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uLlxuXG4gICBG
b3IgYSBob3N0LXJlcG9ydCB0aGlzIG1lYW5zIGEgcmVhY3Rpbmcgbm9kZSBjcmVhdGVzIG9u
IE9DUyBlbnRyeVxuICAgd2l0aCB0aGUgYXBwbGljYXRpb24taWQgaW4gdGhlIHJlY2VpdmVk
IG1lc3NhZ2UgYW5kIERpYW1ldGVySWRlbnRpdHlcbiAgIG9mIHRoZSBPcmlnaW4tSG9zdCBp
biB0aGUgcmVjZWl2ZWQgbWVzc2FnZS5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAg
ICAgICBFeHBpcmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTddXG5f
XG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAg
ICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICBOb3RlOiBUaGlzIHNvbHV0aW9uIGFz
c3VtZXMgdGhhdCB0aGUgT3JpZ2luLUhvc3QgQVZQIGluIHRoZSBhbnN3ZXJcbiAgICAgIG1l
c3NhZ2UgaW5jbHVkZWQgYnkgdGhlIHJlcG9ydGluZyBub2RlIGlzIG5vdCBjaGFuZ2VkIGFs
b25nIHRoZVxuICAgICAgcGF0aCB0byB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgRm9yIGEg
cmVhbG0tcmVwb3J0IHRoaXMgbWVhbnMgYSByZWFjdGluZyBub2RlIGNyZWF0ZXMgb24gT0NT
IGVudHJ5XG4gICB3aXRoIHRoZSBhcHBsaWNhdGlvbi1pZCBpbiB0aGUgcmVjZWl2ZWQgbWVz
c2FnZSBhbmQgcmVhbG0gb2YgdGhlXG4gICBPcmlnaW4tUmVhbG0gaW4gdGhlIHJlY2VpdmVk
IG1lc3NhZ2UuXG5cbiAgIElmIHRoZSByZWNlaXZlZCBPTFIgY29udGFpbnMgYSB2YWxpZGl0
eSBkdXJhdGlvbiBvZiB6ZXJvICgiMCIpIHRoZW4gYVxuICAgcmVhY3Rpbmcgbm9kZSBNVVNU
IHVwZGF0ZSB0aGUgT0NTIGVudHJ5IGFzIGJlaW5nIGV4cGlyZWQuXG5cbiAgICAgIE5vdGU6
IEl0IGlzIG5vdCBuZWNlc3NhcmlseSBhcHByb3ByaWF0ZSB0byBkZWxldGUgdGhlIE9DUyBl
bnRyeSxcbiAgICAgIGFzIHRoZXJlIGlzIHJlY29tbWVuZGVkIGJlaGF2aW9yIHRoYXQgdGhl
IHJlYWN0aW5nIG5vZGUgc2xvd2x5XG4gICAgICByZXR1cm5zIHRvIGZ1bGwgdHJhZmZpYyB3
aGVuIGVuZGluZyBhbiBvdmVybG9hZCBhYmF0ZW1lbnQgcGVyaW9kLlxuXG4gICBUaGUgcmVh
Y3Rpbmcgbm9kZSBkb2VzIG5vdCBkZWxldGUgYW4gT0NTIHdoZW4gcmVjZWl2aW5nIGFuIGFu
c3dlclxuICAgbWVzc2FnZSB0aGF0IGRvZXMgbm90IGNvbnRhaW4gYW4gT0MtT0xSIEFWUCAo
aS5lLiBhYnNlbmNlIG9mIE9MUlxuICAgbWVhbnMgIm5vIGNoYW5nZSIpLlxuXG41LjIuMS40
LiAgUmVwb3J0aW5nIE5vZGUgTWFpbnRlbmFuY2Ugb2YgT3ZlcmxvYWQgQ29udHJvbCBTdGF0
ZVxuXG4gICBBIHJlcG9ydGluZyBub2RlIFNIT1VMRCBjcmVhdGUgYSBuZXcgT0NTIGVudHJ5
IHdoZW4gZW50ZXJpbmcgYW5cbiAgIG92ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgICAgTm90
ZTogSWYgYSByZXBvcnRpbmcgbm9kZSBrbm93cyB0aHJvdWdoIGFic2VuY2Ugb2YgdGhlIE9D
LVxuICAgICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiByZWNlaXZlZCBtZXNzYWdlcyB0
aGF0IHRoZXJlIGFyZSBub1xuICAgICAgcmVhY3Rpbmcgbm9kZXMgc3VwcG9ydGluZyBET0lD
IHRoZW4gdGhlIHJlcG9ydGluZyBub2RlIGNhbiBjaG9vc2VcbiAgICAgIHRvIG5vdCBjcmVh
dGUgT0NTIGVudHJpZXMuXG5cbiAgIFdoZW4gZ2VuZXJhdGluZyBhIG5ldyBPQ1MgZW50cnkg
dGhlIHNlcXVlbmNlIG51bWJlciBTSE9VTEQgYmUgc2V0IHRvXG4gICB6ZXJvICgiMCIpLlxu
XG4gICBXaGVuIGdlbmVyYXRpbmcgc2VxdWVuY2UgbnVtYmVycyBmb3IgbmV3IG92ZXJsb2Fk
IGNvbmRpdGlvbnMsIHRoZSBuZXdcbiAgIHNlcXVlbmNlIG51bWJlciBNVVNUIGJlIGdyZWF0
ZXIgdGhhbiBhbnkgc2VxdWVuY2UgbnVtYmVyIGluIGFuIGFjdGl2ZVxuICAgKHVuZXhwaXJl
ZCkgb3ZlcmxvYWQgcmVwb3J0IGZvciB0aGUgc2FtZSBhcHBsaWNhdGlvbiBhbmQgcmVwb3J0
LXR5cGVcbiAgIHByZXZpb3VzbHkgc2VudCBieSB0aGUgcmVwb3J0aW5nIG5vZGUuICBUaGlz
IHByb3BlcnR5IE1VU1QgaG9sZCBvdmVyXG4gICBhIHJlYm9vdCBvZiB0aGUgcmVwb3J0aW5n
IG5vZGUuXG5cbiAgICAgIE5vdGU6IE9uZSB3YXkgb2YgYWRkcmVzc2luZyB0aGlzIG92ZXIg
YSByZWJvb3Qgb2YgYSByZXBvcnRpbmcgbm9kZVxuICAgICAgaXMgdG8gdXNlIGEgdGltZSBz
dGFtcCBmb3IgdGhlIGZpcnN0IG92ZXJsb2FkIGNvbmRpdGlvbiB0aGF0XG4gICAgICBvY2N1
cnMgYWZ0ZXIgdGhlIHJlcG9ydCBhbmQgdG8gc3RhcnQgdXNpbmcgc2VxdWVuY2VzIGJlZ2lu
bmluZ1xuICAgICAgd2l0aCB6ZXJvIGZvciBzdWJzZXF1ZW50IG92ZXJsb2FkIGNvbmRpdGlv
bnMuXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdo
ZW4gaXQgbmVlZHMgdG8gYWRqdXN0IHRoZVxuICAgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhl
IG92ZXJsb2FkIGNvbmRpdGlvbiBhdCByZWFjdGluZyBub2Rlcy5cblxuICAgICAgRm9yIGlu
c3RhbmNlLCBpZiBhIHJlcG9ydGluZyBub2RlIHdpc2hlcyB0byBpbnN0cnVjdCByZWFjdGlu
Z1xuICAgICAgbm9kZXMgdG8gY29udGludWUgb3ZlcmxvYWQgYWJhdGVtZW50IGZvciBhIGxv
bmdlciBwZXJpb2Qgb2YgdGltZVxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBF
eHBpcmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMThdXG5fXG5JbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAg
ICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICB0aGFuIG9yaWdpbmFsbHkgY29tbXVuaWNhdGVk
LiAgVGhpcyBhbHNvIGFwcGxpZXMgaWYgdGhlIHJlcG9ydGluZ1xuICAgICAgbm9kZSB3aXNo
ZXMgdG8gc2hvcnRlbiB0aGUgcGVyaW9kIG9mIHRpbWUgdGhhdCBvdmVybG9hZCBhYmF0ZW1l
bnRcbiAgICAgIGlzIHRvIGNvbnRpbnVlLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1VU1Qg
dXBkYXRlIGFuIE9DUyBlbnRyeSB3aGVuIGl0IHdpc2hlcyB0byBhZGp1c3RcbiAgIGFueSBh
YmF0ZW1lbnQgYWxnb3JpdGhtIHNwZWNpZmljIHBhcmFtZXRlcnMsIGluY2x1ZGluZywgZm9y
IGV4YW1wbGUsXG4gICB0aGUgcmVkdWN0aW9uIHBlcmNlbnRhZ2UgdXNlZCBmb3IgdGhlIExv
c3MgYWJhdGVtZW50IGFsZ29yaXRobS5cblxuICAgICAgRm9yIGluc3RhbmNlLCBpZiBhIHJl
cG9ydGluZyBub2RlIHdpc2hlcyB0byBjaGFuZ2UgdGhlIHJlZHVjdGlvblxuICAgICAgcGVy
Y2VudGFnZSBlaXRoZXIgaGlnaGVyLCBpZiB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGhhcyB3
b3JzZW5lZCxcbiAgICAgIG9yIGxvd2VyLCBpZiB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGhh
cyBpbXByb3ZlZCwgdGhlbiB0aGVcbiAgICAgIHJlcG9ydGluZyBub2RlIHdvdWxkIHVwZGF0
ZSB0aGUgYXBwcm9wcmlhdGUgT0NTIGVudHJ5LlxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1V
U1QgaW5jcmVtZW50IHRoZSBzZXF1ZW5jZSBudW1iZXIgYXNzb2NpYXRlZCB3aXRoXG4gICB0
aGUgT0NTIGVudHJ5IGFueXRpbWUgdGhlIGNvbnRlbnRzIG9mIHRoZSBPQ1MgZW50cnkgYXJl
IGNoYW5nZWQuXG4gICBUaGlzIHdpbGwgcmVzdWx0IGluIGEgbmV3IHNlcXVlbmNlIG51bWJl
ciBiZWluZyBzZW50IHRvIHJlYWN0aW5nXG4gICBub2RlcywgaW5zdHJ1Y3RpbmcgcmVhY3Rp
bmcgbm9kZXMgdG8gcHJvY2VzcyB0aGUgT0MtT0xSIEFWUC5cblxuICAgQSByZXBvcnRpbmcg
bm9kZSBTSE9VTEQgdXBkYXRlIGFuIE9DUyBlbnRyeSB3aXRoIGEgdmFsaWRpdHkgZHVyYXRp
b25cbiAgIG9mIHplcm8gKCIwIikgd2hlbiB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGVuZHMu
XG5cbiAgICAgIE5vdGU6IElmIGEgcmVwb3J0aW5nIG5vZGUga25vd3MgdGhhdCB0aGUgT0NT
IGVudHJpZXMgaW4gdGhlXG4gICAgICByZWFjdGluZyBub2RlcyBhcmUgbmVhciBleHBpcmF0
aW9uIHRoZW4gdGhlIHJlcG9ydGluZyBub2RlIG1pZ2h0XG4gICAgICBkZWNpZGUgbm90IHRv
IHNlbmQgYW4gT0xSIHdpdGggYSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB6ZXJvLlxuXG4gICBB
IHJlcG9ydGluZyBub2RlIE1VU1Qga2VlcCBhbiBPQ1MgZW50cnkgd2l0aCBhIHZhbGlkaXR5
IGR1cmF0aW9uIG9mXG4gICB6ZXJvICgiMCIpIGZvciBhIHBlcmlvZCBvZiB0aW1lIGxvbmcg
ZW5vdWdoIHRvIGVuc3VyZSB0aGF0IGFueSBub24tXG4gICBleHBpcmVkIHJlYWN0aW5nIG5v
ZGVcJ3MgT0NTIGVudHJ5IGNyZWF0ZWQgYXMgYSByZXN1bHQgb2YgdGhlIG92ZXJsb2FkXG4g
ICBjb25kaXRpb24gaW4gdGhlIHJlcG9ydGluZyBub2RlIGlzIGRlbGV0ZWQuXG5cbjUuMi4y
LiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvclxuXG4gICBXaGVuIGEgcmVhY3Rpbmcgbm9kZSBz
ZW5kcyBhIHJlcXVlc3QgaXQgTVVTVCBkZXRlcm1pbmUgaWYgdGhhdFxuICAgcmVxdWVzdCBt
YXRjaGVzIGFuIGFjdGl2ZSBPQ1MuXG5cbiAgIElmIHRoZSByZXF1ZXN0IG1hdGNoZXMgYW4g
YWN0aXZlIE9DUyB0aGVuIHRoZSByZWFjdGluZyBub2RlIE1VU1QgdXNlXG4gICB0aGUgb3Zl
cmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBpbmRpY2F0ZWQgaW4gdGhlIE9DUyB0byBkZXRl
cm1pbmUgaWZcbiAgIHRoZSByZXF1ZXN0IGlzIHRvIHJlY2VpdmUgb3ZlcmxvYWQgYWJhdGVt
ZW50IHRyZWF0bWVudC5cblxuICAgRm9yIHRoZSBMb3NzIGFiYXRlbWVudCBhbGdvcml0aG0g
ZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24sIHNlZVxuICAgU2VjdGlvbiA2IGZvciB0
aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBsb2dpYyBhcHBsaWVkLlxuXG4gICBJ
ZiB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSBzZWxlY3RzIHRoZSByZXF1ZXN0
IGZvciBvdmVybG9hZFxuICAgYWJhdGVtZW50IHRyZWF0bWVudCB0aGVuIHRoZSByZWFjdGlu
ZyBub2RlIE1VU1QgYXBwbHkgb3ZlcmxvYWRcbiAgIGFiYXRlbWVudCB0cmVhdG1lbnQgb24g
dGhlIHJlcXVlc3QuICBUaGUgYWJhdGVtZW50IHRyZWF0bWVudCBhcHBsaWVkXG4gICBkZXBl
bmRzIG9uIHRoZSBjb250ZXh0IG9mIHRoZSByZXF1ZXN0LlxuXG5cblxuXG5cbktvcmhvbmVu
LCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAg
IFtQYWdlIDE5XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMg
ICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgSWYgZGl2ZXJzaW9u
IGFiYXRlbWVudCB0cmVhdG1lbnQgaXMgcG9zc2libGUgKGkuZS4gYSBkaWZmZXJlbnQgcGF0
aFxuICAgZm9yIHRoZSByZXF1ZXN0IGNhbiBiZSBzZWxlY3RlZCB3aGVyZSB0aGUgb3Zlcmxv
YWRlZCBub2RlIGlzIG5vdCBwYXJ0XG4gICBvZiB0aGUgZGlmZmVyZW50IHBhdGgpLCB0aGVu
IHRoZSByZWFjdGluZyBub2RlIFNIT1VMRCBhcHBseSBkaXZlcnNpb25cbiAgIGFiYXRlbWVu
dCB0cmVhdG1lbnQgdG8gdGhlIHJlcXVlc3QuICBUaGUgcmVhY3Rpbmcgbm9kZSBNVVNUIGFw
cGx5XG4gICB0aHJvdHRsaW5nIGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gcmVxdWVzdHMgaWRl
bnRpZmllZCBmb3IgYWJhdGVtZW50XG4gICB0cmVhdG1lbnQgd2hlbiBkaXZlcnNpb24gdHJl
YXRtZW50IGlzIG5vdCBwb3NzaWJsZSBvciB3YXMgbm90XG4gICBhcHBsaWVkLlxuXG4gICAg
ICBOb3RlOiBUaGlzIG9ubHkgYWRkcmVzc2VzIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSB0
d28gZGVmaW5lZFxuICAgICAgYWJhdGVtZW50IHRyZWF0bWVudHMsIGRpdmVyc2lvbiBhbmQg
dGhyb3R0bGluZy4gIEFueSBleHRlbnNpb25cbiAgICAgIHRoYXQgZGVmaW5lcyBhIG5ldyBh
YmF0ZW1lbnQgdHJlYXRtZW50IG11c3QgYWxzbyBkZWZpbmVkIHRoZVxuICAgICAgaW50ZXJh
Y3Rpb24gb2YgdGhlIG5ldyBhYmF0ZW1lbnQgdHJlYXRtZW50IHdpdGggZXhpc3RpbmdcbiAg
ICAgIHRyZWF0bWVudHMuXG5cbiAgIElmIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRt
ZW50IHJlc3VsdHMgaW4gdGhyb3R0bGluZyBvZiB0aGVcbiAgIHJlcXVlc3QgYW5kIGlmIHRo
ZSByZWFjdGluZyBub2RlIGlzIGFuIGFnZW50IHRoZW4gdGhlIGFnZW50IE1VU1Qgc2VuZFxu
ICAgYW4gYXBwcm9wcmlhdGUgZXJyb3IgYXMgZGVmaW5lZCBpbiBTZWN0aW9uIDguXG5cbiAg
IERpYW1ldGVyIGVuZHBvaW50cyB0aGF0IHRocm90dGxlIHJlcXVlc3RzIG5lZWQgdG8gZG8g
c28gYWNjb3JkaW5nIHRvXG4gICB0aGUgcnVsZXMgb2YgdGhlIGNsaWVudCBhcHBsaWNhdGlv
bi4gIFRob3NlIHJ1bGVzIHdpbGwgdmFyeSBieVxuICAgYXBwbGljYXRpb24sIGFuZCBhcmUg
YmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LlxuXG4gICBJbiB0aGUgY2FzZSB0
aGF0IHRoZSBPQ1MgZW50cnkgaW5kaWNhdGVkIG5vIHRyYWZmaWMgd2FzIHRvIGJlIHNlbnQg
dG9cbiAgIHRoZSBvdmVybG9hZGVkIGVudGl0eSBhbmQgdGhlIHZhbGlkaXR5IGR1cmF0aW9u
IGV4cGlyZXMgdGhlbiBvdmVybG9hZFxuICAgYWJhdGVtZW50IGFzc29jaWF0ZWQgd2l0aCB0
aGUgb3ZlcmxvYWQgcmVwb3J0IE1VU1QgYmUgZW5kZWQgaW4gYVxuICAgY29udHJvbGxlZCBm
YXNoaW9uLlxuXG41LjIuMy4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yXG5cbiAgIElmIHRo
ZXJlIGlzIGFuIGFjdGl2ZSBPQ1MgZW50cnkgdGhlbiBhIHJlcG9ydGluZyBub2RlIFNIT1VM
RCBpbmNsdWRlXG4gICB0aGUgT0MtT0xSIEFWUCBpbiBhbGwgYW5zd2VycyB0byByZXF1ZXN0
cyB0aGF0IGNvbnRhaW4gdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBhbmQg
dGhhdCBtYXRjaCB0aGUgYWN0aXZlIE9DUyBlbnRyeS5cblxuICAgICAgTm90ZTogQSByZXF1
ZXN0IG1hdGNoZXMgaWYgdGhlIGFwcGxpY2F0aW9uLWlkIGluIHRoZSByZXF1ZXN0XG4gICAg
ICBtYXRjaGVzIHRoZSBhcHBsaWNhdGlvbi1pZCBpbiBhbnkgYWN0aXZlIE9DUyBlbnRyeSBh
bmQgaWYgdGhlXG4gICAgICByZXBvcnQtdHlwZSBpbiB0aGUgT0NTIGVudHJ5IG1hdGNoZXMg
YSByZXBvcnQtdHlwZSBzdXBwb3J0ZWQgYnlcbiAgICAgIHRoZSByZXBvcnRpbmcgbm9kZSBh
cyBpbmRpY2F0ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuXG5cbiAgIFRo
ZSBjb250ZW50cyBvZiB0aGUgT0MtT0xSIEFWUCBkZXBlbmQgb24gdGhlIHNlbGVjdGVkIGFs
Z29yaXRobS5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNQVkgY2hvb3NlIHRvIG5vdCByZXNl
bmQgYW4gb3ZlcmxvYWQgcmVwb3J0IHRvIGFcbiAgIHJlYWN0aW5nIG5vZGUgaWYgaXQgY2Fu
IGd1YXJhbnRlZSB0aGF0IHRoaXMgb3ZlcmxvYWQgcmVwb3J0IGlzXG4gICBhbHJlYWR5IGFj
dGl2ZSBpbiB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgICAgTm90ZTogSW4gc29tZSBjYXNl
cyAoZS5nLiB3aGVuIHRoZXJlIGFyZSBvbmUgb3IgbW9yZSBhZ2VudHMgaW4gdGhlXG4gICAg
ICBwYXRoIGJldHdlZW4gcmVwb3J0aW5nIGFuZCByZWFjdGluZyBub2Rlcywgb3Igd2hlbiBv
dmVybG9hZFxuICAgICAgcmVwb3J0cyBhcmUgZGlzY2FyZGVkIGJ5IHJlYWN0aW5nIG5vZGVz
KSBhIHJlcG9ydGluZyBub2RlIG1heSBub3RcblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAg
ICAgICAgICBFeHBpcmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjBd
XG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAg
ICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICBiZSBhYmxlIHRvIGd1YXJhbnRl
ZSB0aGF0IHRoZSByZWFjdGluZyBub2RlIGhhcyByZWNlaXZlZCB0aGVcbiAgICAgIHJlcG9y
dC5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIE5PVCBzZW5kIG92ZXJsb2FkIHJlcG9y
dHMgb2YgYSB0eXBlIHRoYXQgaGFzXG4gICBub3QgYmVlbiBhZHZlcnRpc2VkIGFzIHN1cHBv
cnRlZCBieSB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgICAgTm90ZTogQSByZWFjdGluZyBu
b2RlIGltcGxpY2l0bHkgYWR2ZXJ0aXNlcyBzdXBwb3J0IGZvciB0aGUgaG9zdFxuICAgICAg
YW5kIHJlYWxtIHJlcG9ydCB0eXBlcyBieSBpbmNsdWRpbmcgdGhlIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcyBBVlBcbiAgICAgIGluIHRoZSByZXF1ZXN0LiAgU3VwcG9ydCBmb3Igb3RoZXIg
cmVwb3J0IHR5cGVzIHdpbGwgYmUgZXhwbGljaXRseVxuICAgICAgaW5kaWNhdGVkIGJ5IG5l
dyBmZWF0dXJlIGJpdHMgaW4gdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC5cblxuICAgQSBy
ZXBvcnRpbmcgbm9kZSBTSE9VTEQgZXhwbGljaXRseSBpbmRpY2F0ZSB0aGUgZW5kIG9mIGFu
IG92ZXJsb2FkXG4gICBvY2N1cnJlbmNlIGJ5IHNlbmRpbmcgYSBuZXcgT0xSIHdpdGggT0Mt
VmFsaWRpdHktRHVyYXRpb24gc2V0IHRvIGFcbiAgIHZhbHVlIG9mIHplcm8gKCIwIikuICBU
aGUgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGVuc3VyZSB0aGF0IGFsbFxuICAgcmVhY3Rpbmcg
bm9kZXMgcmVjZWl2ZSB0aGUgdXBkYXRlZCBvdmVybG9hZCByZXBvcnQuXG5cbiAgIEEgcmVw
b3J0aW5nIG5vZGUgTUFZIHJlbHkgb24gdGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCB2
YWx1ZXMgZm9yXG4gICB0aGUgaW1wbGljaXQgb3ZlcmxvYWQgY29udHJvbCBzdGF0ZSBjbGVh
bnVwIG9uIHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAgICBOb3RlOiBBbGwgT0xScyBzZW50
IGhhdmUgYW4gZXhwaXJhdGlvbiB0aW1lIGNhbGN1bGF0ZWQgYnkgYWRkaW5nXG4gICAgICB0
aGUgdmFsaWRpdHktZHVyYXRpb24gY29udGFpbmVkIGluIHRoZSBPTFIgdG8gdGhlIHRpbWUg
dGhlIG1lc3NhZ2VcbiAgICAgIHdhcyBzZW50LiAgVHJhbnNpdCB0aW1lIGZvciB0aGUgT0xS
IGNhbiBiZSBzYWZlbHkgaWdub3JlZC4gIFRoZVxuICAgICAgcmVwb3J0aW5nIG5vZGUgY2Fu
IGVuc3VyZSB0aGF0IGFsbCByZWFjdGluZyBub2RlcyBoYXZlIHJlY2VpdmVkXG4gICAgICB0
aGUgT0xSIGJ5IGNvbnRpbnVpbmcgdG8gc2VuZCBpdCBpbiBhbnN3ZXIgbWVzc2FnZXMgdW50
aWwgdGhlXG4gICAgICBleHBpcmF0aW9uIHRpbWUgZm9yIGFsbCBPTFJzIHNlbnQgZm9yIHRo
YXQgb3ZlcmxvYWQgY29uZGl0aW9uIGhhdmVcbiAgICAgIGV4cGlyZWQuXG5cbiAgIFdoZW4g
YSByZXBvcnRpbmcgbm9kZSBzZW5kcyBhbiBPTFIsIGl0IGVmZmVjdGl2ZWx5IGRlbGVnYXRl
cyBhbnlcbiAgIG5lY2Vzc2FyeSB0aHJvdHRsaW5nIHRvIGRvd25zdHJlYW0gbm9kZXMuICBJ
ZiB0aGUgcmVwb3J0aW5nIG5vZGUgYWxzb1xuICAgbG9jYWxseSB0aHJvdHRsZXMgdGhlIHNh
bWUgc2V0IG9mIG1lc3NhZ2VzLCB0aGUgb3ZlcmFsbCBudW1iZXIgb2ZcbiAgIHRocm90dGxl
ZCByZXF1ZXN0cyBtYXkgYmUgaGlnaGVyIHRoYW4gaW50ZW5kZWQuICBUaGVyZWZvcmUsIGJl
Zm9yZVxuICAgYXBwbHlpbmcgbG9jYWwgbWVzc2FnZSB0aHJvdHRsaW5nLCBhIHJlcG9ydGlu
ZyBub2RlIG5lZWRzIHRvIGNoZWNrIGlmXG4gICB0aGVzZSBtZXNzYWdlcyBtYXRjaCBleGlz
dGluZyBPQ1MgZW50cmllcywgaW5kaWNhdGluZyB0aGF0IHRoZXNlXG4gICBtZXNzYWdlcyBo
YXZlIHN1cnZpdmVkIHRocm90dGxpbmcgYXBwbGllZCBieSBkb3duc3RyZWFtIG5vZGVzIHRo
YXRcbiAgIGhhdmUgcmVjZWl2ZWQgdGhlIHJlbGF0ZWQgT0xSLlxuXG4gICBIb3dldmVyLCBl
dmVuIGlmIHRoZSBzZXQgb2YgbWVzc2FnZXMgbWF0Y2ggZXhpc3RpbmcgT0NTIGVudHJpZXMs
IHRoZVxuICAgcmVwb3J0aW5nIG5vZGUgY2FuIHN0aWxsIGFwcGx5IG90aGVyIGFiYXRlbWVu
dCBtZXRob2RzIHN1Y2ggYXNcbiAgIGRpdmVyc2lvbi4gIFRoZSByZXBvcnRpbmcgbm9kZSBt
aWdodCBhbHNvIG5lZWQgdG8gdGhyb3R0bGUgcmVxdWVzdHNcbiAgIGZvciByZWFzb25zIG90
aGVyIHRoYW4gb3ZlcmxvYWQuICBGb3IgZXhhbXBsZSwgYW4gYWdlbnQgb3Igc2VydmVyXG4g
ICBtaWdodCBoYXZlIGEgY29uZmlndXJlZCByYXRlIGxpbWl0IGZvciBlYWNoIGNsaWVudCwg
YW5kIHRocm90dGxlXG4gICByZXF1ZXN0cyB0aGF0IGV4Y2VlZCB0aGF0IGxpbWl0LCBldmVu
IGlmIHN1Y2ggcmVxdWVzdHMgaGFkIGFscmVhZHlcbiAgIGJlZW4gY2FuZGlkYXRlcyBmb3Ig
dGhyb3R0bGluZyBieSBkb3duc3RyZWFtIG5vZGVzLiAgVGhlIHJlcG9ydGluZ1xuICAgbm9k
ZSBhbHNvIGhhcyB0aGUgb3B0aW9uIHRvIHNlbmQgbmV3IE9MUnMgcmVxdWVzdGluZyBncmVh
dGVyXG4gICByZWR1Y3Rpb25zIGluIHRyYWZmaWMsIHJlZHVjaW5nIHRoZSBuZWVkIGZvciBs
b2NhbCB0aHJvdHRsaW5nLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIFNIT1VMRCBkZWNyZWFz
ZSByZXF1ZXN0ZWQgb3ZlcmxvYWQgYWJhdGVtZW50XG4gICB0cmVhdG1lbnQgaW4gYSBjb250
cm9sbGVkIGZhc2hpb24gdG8gYXZvaWQgb3NjaWxsYXRpb25zIGluIHRyYWZmaWMuXG5cblxu
XG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAg
ICAgICAgICAgICBbUGFnZSAyMV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAg
ICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAg
IEZvciBleGFtcGxlLCBpdCBtaWdodCB3YWl0IHNvbWUgcGVyaW9kIG9mIHRpbWUgYWZ0ZXIg
b3ZlcmxvYWQgZW5kc1xuICAgICAgYmVmb3JlIHRlcm1pbmF0aW5nIHRoZSBPTFIsIG9yIGl0
IG1pZ2h0IHNlbmQgYSBzZXJpZXMgb2YgT0xSc1xuICAgICAgaW5kaWNhdGluZyBwcm9ncmVz
c2l2ZWx5IGxlc3Mgb3ZlcmxvYWQgc2V2ZXJpdHkuXG5cbjUuMy4gIFByb3RvY29sIEV4dGVu
c2liaWxpdHlcblxuICAgVGhlIERPSUMgc29sdXRpb24gY2FuIGJlIGV4dGVuZGVkLiAgVHlw
ZXMgb2YgcG90ZW50aWFsIGV4dGVuc2lvbnNcbiAgIGluY2x1ZGUgbmV3IHRyYWZmaWMgYWJh
dGVtZW50IGFsZ29yaXRobXMsIG5ldyByZXBvcnQgdHlwZXMgb3Igb3RoZXJcbiAgIG5ldyBm
dW5jdGlvbmFsaXR5LlxuXG4gICBXaGVuIGRlZmluaW5nIGEgbmV3IGV4dGVuc2lvbiB0aGF0
IHJlcXVpcmVzIG5ldyBub3JtYXRpdmUgYmVoYXZpb3IsXG4gICB0aGUgc3BlY2lmaWNhdGlv
biBNVVNUIGRlZmluZSBhIG5ldyBmZWF0dXJlIGZvciB0aGUgT0MtRmVhdHVyZS1cbiAgIFZl
Y3Rvci4gIFRoaXMgZmVhdHVyZSBiaXQgaXMgdXNlZCB0byBjb21tdW5pY2F0ZSBzdXBwb3J0
IGZvciB0aGUgbmV3XG4gICBmZWF0dXJlLlxuXG4gICBUaGUgZXh0ZW5zaW9uIE1BWSBkZWZp
bmUgbmV3IEFWUHMgZm9yIHVzZSBpbiBET0lDIENhcGFiaWxpdHlcbiAgIEFubm91bmNlbWVu
dCBhbmQgZm9yIHVzZSBpbiBET0lDIE92ZXJsb2FkIHJlcG9ydGluZy4gIFRoZXNlIG5ldyBB
VlBzXG4gICBTSE9VTEQgYmUgZGVmaW5lZCB0byBiZSBleHRlbnNpb25zIHRvIHRoZSBPQy1T
dXBwb3J0ZWQtRmVhdHVyZXMgb3JcbiAgIE9DLU9MUiBBVlBzIGRlZmluZWQgaW4gdGhpcyBk
b2N1bWVudC5cblxuICAgW1JGQzY3MzNdIGRlZmluZWQgR3JvdXBlZCBBVlAgZXh0ZW5zaW9u
IG1lY2hhbmlzbXMgYXBwbHkuICBUaGlzXG4gICBhbGxvd3MsIGZvciBleGFtcGxlLCBkZWZp
bmluZyBhIG5ldyBmZWF0dXJlIHRoYXQgaXMgbWFuZGF0b3J5IHRvIGJlXG4gICB1bmRlcnN0
b29kIGV2ZW4gd2hlbiBwaWdneWJhY2tlZCBvbiBhbiBleGlzdGluZyBhcHBsaWNhdGlvbi5c
blxuICAgV2hlbiBkZWZpbmluZyBuZXcgcmVwb3J0IHR5cGUgdmFsdWVzLCB0aGUgY29ycmVz
cG9uZGluZyBzcGVjaWZpY2F0aW9uXG4gICBNVVNUIGRlZmluZSB0aGUgc2VtYW50aWNzIG9m
IHRoZSBuZXcgcmVwb3J0IHR5cGVzIGFuZCBob3cgdGhleSBhZmZlY3RcbiAgIHRoZSBPQy1P
TFIgQVZQIGhhbmRsaW5nLlxuXG4gICBUaGUgT0MtU3VwcG9ydGVkLUZlYXR1cmUgYW5kIE9D
LU9MUiBBVlBzIGNhbiBiZSBleHBhbmRlZCB3aXRoXG4gICBvcHRpb25hbCBzdWItQVZQcyBv
bmx5IGlmIGEgbGVnYWN5IERPSUMgaW1wbGVtZW50YXRpb24gY2FuIHNhZmVseVxuICAgaWdu
b3JlIHRoZW0gd2l0aG91dCBicmVha2luZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB0
aGUgZ2l2ZW4gT0MtXG4gICBSZXBvcnQtVHlwZSBBVlAgdmFsdWUuICBBbnkgbmV3IHN1Yi1B
VlBzIE1VU1QgTk9UIHJlcXVpcmUgdGhhdCB0aGVcbiAgIE0tYml0IGJlIHNldC5cblxuICAg
RG9jdW1lbnRzIHRoYXQgaW50cm9kdWNlIG5ldyByZXBvcnQgdHlwZXMgTVVTVCBkZXNjcmli
ZSBhbnlcbiAgIGxpbWl0YXRpb25zIG9uIHRoZWlyIHVzZSBhY3Jvc3Mgbm9uLXN1cHBvcnRp
bmcgYWdlbnRzLlxuXG4gICBBcyB3aXRoIGFueSBEaWFtZXRlciBzcGVjaWZpY2F0aW9uLCBS
RkM2NzMzIHJlcXVpcmVzIGFsbCBuZXcgQVZQcyB0b1xuICAgYmUgcmVnaXN0ZXJlZCB3aXRo
IElBTkEuICBTZWUgU2VjdGlvbiA5IGZvciB0aGUgcmVxdWlyZWQgcHJvY2VkdXJlcy5cbiAg
IE5ldyBmZWF0dXJlcyAoZmVhdHVyZSBiaXRzIGluIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBB
VlApIGFuZCByZXBvcnRcbiAgIHR5cGVzIChpbiB0aGUgT0MtUmVwb3J0LVR5cGUgQVZQKSBN
VVNUIGJlIHJlZ2lzdGVyZWQgd2l0aCBJQU5BLlxuXG42LiAgTG9zcyBBbGdvcml0aG1cblxu
ICAgVGhpcyBzZWN0aW9uIGRvY3VtZW50cyB0aGUgRGlhbWV0ZXIgb3ZlcmxvYWQgbG9zcyBh
YmF0ZW1lbnRcbiAgIGFsZ29yaXRobS5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAg
ICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyMl1c
bl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAg
ICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbjYuMS4gIE92ZXJ2aWV3XG5cbiAgIFRoZSBE
T0lDIHNwZWNpZmljYXRpb24gc3VwcG9ydHMgdGhlIGFiaWxpdHkgZm9yIG11bHRpcGxlIG92
ZXJsb2FkXG4gICBhYmF0ZW1lbnQgYWxnb3JpdGhtcyB0byBiZSBzcGVjaWZpZWQuICBUaGUg
YWJhdGVtZW50IGFsZ29yaXRobSB1c2VkXG4gICBmb3IgYW55IGluc3RhbmNlIG9mIG92ZXJs
b2FkIGlzIGRldGVybWluZWQgYnkgdGhlIERpYW1ldGVyIE92ZXJsb2FkXG4gICBDYXBhYmls
aXR5IEFubm91bmNlbWVudCBwcm9jZXNzIGRvY3VtZW50ZWQgaW4gU2VjdGlvbiA1LjEuXG5c
biAgIFRoZSBsb3NzIGFsZ29yaXRobSBkZXNjcmliZWQgaW4gdGhpcyBzZWN0aW9uIGlzIHRo
ZSBkZWZhdWx0IGFsZ29yaXRobVxuICAgdGhhdCBtdXN0IGJlIHN1cHBvcnRlZCBieSBhbGwg
RGlhbWV0ZXIgbm9kZXMgdGhhdCBzdXBwb3J0IERPSUMuXG5cbiAgIFRoZSBsb3NzIGFsZ29y
aXRobSBpcyBkZXNpZ25lZCB0byBiZSBhIHN0cmFpZ2h0Zm9yd2FyZCBhbmQgc3RhdGVsZXNz
XG4gICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtLiAgSXQgaXMgdXNlZCBieSByZXBv
cnRpbmcgbm9kZXMgdG9cbiAgIHJlcXVlc3QgYSBwZXJjZW50YWdlIHJlZHVjdGlvbiBpbiB0
aGUgYW1vdW50IG9mIHRyYWZmaWMgc2VudC4gIFRoZVxuICAgdHJhZmZpYyBpbXBhY3RlZCBi
eSB0aGUgcmVxdWVzdGVkIHJlZHVjdGlvbiBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mXG4gICBv
dmVybG9hZCByZXBvcnQuXG5cbiAgIFJlcG9ydGluZyBub2RlcyByZXF1ZXN0IHRoZSBzdGF0
ZWxlc3MgcmVkdWN0aW9uIG9mIHRoZSBudW1iZXIgb2ZcbiAgIHJlcXVlc3RzIGJ5IGFuIGlu
ZGljYXRlZCBwZXJjZW50YWdlLiAgVGhpcyBwZXJjZW50YWdlIHJlZHVjdGlvbiBpcyBpblxu
ICAgY29tcGFyaXNvbiB0byB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoZSBub2RlIG90aGVy
d2lzZSB3b3VsZCBzZW5kLFxuICAgcmVnYXJkbGVzcyBvZiBob3cgbWFueSByZXF1ZXN0cyB0
aGUgbm9kZSBtaWdodCBoYXZlIHNlbnQgaW4gdGhlIHBhc3QuXG5cbiAgIEZyb20gYSBjb25j
ZXB0dWFsIGxldmVsLCB0aGUgbG9naWMgYXQgdGhlIHJlYWN0aW5nIG5vZGUgY291bGQgYmVc
biAgIG91dGxpbmVkIGFzIGZvbGxvd3MuXG5cbiAgIDEuICBBbiBvdmVybG9hZCByZXBvcnQg
aXMgcmVjZWl2ZWQgYW5kIHRoZSBhc3NvY2lhdGVkIE9DUyBpcyBlaXRoZXJcbiAgICAgICBz
YXZlZCBvciB1cGRhdGVkIChpZiByZXF1aXJlZCkgYnkgdGhlIHJlYWN0aW5nIG5vZGUuXG5c
biAgIDIuICBBIG5ldyBEaWFtZXRlciByZXF1ZXN0IGlzIGdlbmVyYXRlZCBieSB0aGUgYXBw
bGljYXRpb24gcnVubmluZyBvblxuICAgICAgIHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAz
LiAgVGhlIHJlYWN0aW5nIG5vZGUgZGV0ZXJtaW5lcyB0aGF0IGFuIGFjdGl2ZSBvdmVybG9h
ZCByZXBvcnRcbiAgICAgICBhcHBsaWVzIHRvIHRoZSByZXF1ZXN0LCBhcyBpbmRpY2F0ZWQg
YnkgdGhlIGNvcnJlc3BvbmRpbmcgT0NTXG4gICAgICAgZW50cnkuXG5cbiAgIDQuICBUaGUg
cmVhY3Rpbmcgbm9kZSBkZXRlcm1pbmVzIGlmIG92ZXJsb2FkIGFiYXRlbWVudCB0cmVhdG1l
bnRcbiAgICAgICBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgcmVxdWVzdC4gIE9uZSBhcHBy
b2FjaCB0aGF0IGNvdWxkIGJlXG4gICAgICAgdGFrZW4gZm9yIGVhY2ggcmVxdWVzdCBpcyB0
byBzZWxlY3QgYSByYW5kb20gbnVtYmVyIGJldHdlZW4gMSBhbmRcbiAgICAgICAxMDAuICBJ
ZiB0aGUgcmFuZG9tIG51bWJlciBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGluZGlj
YXRlZFxuICAgICAgIHJlZHVjdGlvbiBwZXJjZW50YWdlIHRoZW4gdGhlIHJlcXVlc3QgaXMg
Z2l2ZW4gYWJhdGVtZW50XG4gICAgICAgdHJlYXRtZW50LCBvdGhlcndpc2UgdGhlIHJlcXVl
c3QgaXMgZ2l2ZW4gbm9ybWFsIHJvdXRpbmdcbiAgICAgICB0cmVhdG1lbnQuXG5cbjYuMi4g
IFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yXG5cbiAgIFRoZSBtZXRob2QgYSByZXBvcnRpbmcg
bm9kZSB1c2VzIHRvIGRldGVybWluZSB0aGUgYW1vdW50IG9mIHRyYWZmaWNcbiAgIHJlZHVj
dGlvbiByZXF1aXJlZCB0byBhZGRyZXNzIGFuIG92ZXJsb2FkIGNvbmRpdGlvbiBpcyBhblxu
ICAgaW1wbGVtZW50YXRpb24gZGVjaXNpb24uXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4g
ICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDIz
XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAg
ICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgV2hlbiBhIHJlcG9ydGluZyBub2Rl
IHRoYXQgaGFzIHNlbGVjdGVkIHRoZSBsb3NzIGFiYXRlbWVudCBhbGdvcml0aG1cbiAgIGRl
dGVybWluZXMgdGhlIG5lZWQgdG8gcmVxdWVzdCBhIHJlZHVjdGlvbiBpbiB0cmFmZmljLCBp
dCBpbmNsdWRlcyBhblxuICAgT0MtT0xSIEFWUCBpbiBhbnN3ZXIgbWVzc2FnZXMgYXMgZGVz
Y3JpYmVkIGluIFNlY3Rpb24gNS4yLjMuXG5cbiAgIFdoZW4gc2VuZGluZyB0aGUgT0MtT0xS
IEFWUCwgdGhlIHJlcG9ydGluZyBub2RlIE1VU1QgaW5kaWNhdGUgYVxuICAgcGVyY2VudGFn
ZSByZWR1Y3Rpb24gaW4gdGhlIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIEFWUC5cblxuICAg
VGhlIHJlcG9ydGluZyBub2RlIE1BWSBjaGFuZ2UgdGhlIHJlZHVjdGlvbiBwZXJjZW50YWdl
IGluIHN1YnNlcXVlbnRcbiAgIG92ZXJsb2FkIHJlcG9ydHMuICBXaGVuIGRvaW5nIHNvIHRo
ZSByZXBvcnRpbmcgbm9kZSBtdXN0IGNvbmZvcm0gdG9cbiAgIG92ZXJsb2FkIHJlcG9ydCBo
YW5kaW5nIHNwZWNpZmllZCBpbiBTZWN0aW9uIDUuMi4zLlxuXG42LjMuICBSZWFjdGluZyBO
b2RlIEJlaGF2aW9yXG5cbiAgIFRoZSBtZXRob2QgYSByZWFjdGluZyBub2RlIHVzZXMgdG8g
ZGV0ZXJtaW5lIHdoaWNoIHJlcXVlc3QgbWVzc2FnZXNcbiAgIGFyZSBnaXZlbiBhYmF0ZW1l
bnQgdHJlYXRtZW50IGlzIGFuIGltcGxlbWVudGF0aW9uIGRlY2lzaW9uLlxuXG4gICBXaGVu
IHJlY2VpdmluZyBhbiBPQy1PTFIgaW4gYW4gYW5zd2VyIG1lc3NhZ2Ugd2hlcmUgdGhlIGFs
Z29yaXRobVxuICAgaW5kaWNhdGVkIGluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQ
IGlzIHRoZSBsb3NzIGFsZ29yaXRobSwgdGhlXG4gICByZWFjdGluZyBub2RlIE1VU1QgYXBw
bHkgYWJhdGVtZW50IHRyZWF0bWVudCB0byB0aGUgcmVxdWVzdGVkXG4gICBwZXJjZW50YWdl
IG9mIHJlcXVlc3QgbWVzc2FnZXMgc2VudC5cblxuICAgICAgTm90ZTogVGhlIGxvc3MgYWxn
b3JpdGhtIGlzIGEgc3RhdGVsZXNzIGFsZ29yaXRobS4gIEFzIGEgcmVzdWx0LFxuICAgICAg
dGhlIHJlYWN0aW5nIG5vZGUgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgdGhlcmUgd2lsbCBi
ZSBhblxuICAgICAgYWJzb2x1dGUgcmVkdWN0aW9uIGluIHRyYWZmaWMgc2VudC4gIFJhdGhl
ciwgaXQgZ3VhcmFudGVlcyB0aGF0XG4gICAgICB0aGUgcmVxdWVzdGVkIHBlcmNlbnRhZ2Ug
b2YgbmV3IHJlcXVlc3RzIHdpbGwgYmUgZ2l2ZW4gYWJhdGVtZW50XG4gICAgICB0cmVhdG1l
bnQuXG5cbiAgIElmIHJlYWN0aW5nIG5vZGUgY29tZXMgb3V0IG9mIHRoZSAxMDAgcGVyY2Vu
dCB0cmFmZmljIHJlZHVjdGlvbiBhcyBhXG4gICByZXN1bHQgb2YgdGhlIG92ZXJsb2FkIHJl
cG9ydCB0aW1pbmcgb3V0LCB0aGUgcmVhY3Rpbmcgbm9kZSBzZW5kaW5nXG4gICB0aGUgdHJh
ZmZpYyBTSE9VTEQgYmUgY29uc2VydmF0aXZlIGFuZCwgZm9yIGV4YW1wbGUsIGZpcnN0IHNl
bmRcbiAgICJwcm9iZSIgbWVzc2FnZXMgdG8gbGVhcm4gdGhlIG92ZXJsb2FkIGNvbmRpdGlv
biBvZiB0aGUgb3ZlcmxvYWRlZFxuICAgbm9kZSBiZWZvcmUgY29udmVyZ2luZyB0byBhbnkg
dHJhZmZpYyBhbW91bnQvcmF0ZSBkZWNpZGVkIGJ5IHRoZVxuICAgc2VuZGVyLiAgU2ltaWxh
ciBjb25jZXJucyBhcHBseSBpbiBhbGwgY2FzZXMgd2hlbiB0aGUgb3ZlcmxvYWQgcmVwb3J0
XG4gICB0aW1lcyBvdXQgdW5sZXNzIHRoZSBwcmV2aW91cyBvdmVybG9hZCByZXBvcnQgc3Rh
dGVkIDAgcGVyY2VudFxuICAgcmVkdWN0aW9uLlxuXG4gICAgICBUaGUgZ29hbCBvZiB0aGlz
IGJlaGF2aW9yIGlzIHRvIHJlZHVjZSB0aGUgcHJvYmFiaWxpdHkgb2Ygb3ZlcmxvYWRcbiAg
ICAgIGNvbmRpdGlvbiB0aHJhc2hpbmcgd2hlcmUgYW4gaW1tZWRpYXRlIHRyYW5zaXRpb24g
ZnJvbSAxMDBfXG4gICAgICByZWR1Y3Rpb24gdG8gMF8gcmVkdWN0aW9uIHJlc3VsdHMgaW4g
dGhlIHJlcG9ydGluZyBub2RlIG1vdmluZ1xuICAgICAgcXVpY2tseSBiYWNrIGludG8gYW4g
b3ZlcmxvYWQgY29uZGl0aW9uLlxuXG43LiAgQXR0cmlidXRlIFZhbHVlIFBhaXJzXG5cbiAg
IFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGVuY29kaW5nIGFuZCBzZW1hbnRpY3Mgb2Yg
dGhlIERpYW1ldGVyXG4gICBPdmVybG9hZCBJbmRpY2F0aW9uIEF0dHJpYnV0ZSBWYWx1ZSBQ
YWlycyAoQVZQcykgZGVmaW5lZCBpbiB0aGlzXG4gICBkb2N1bWVudC5cblxuXG5cblxuXG5L
b3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAg
ICAgICAgICBbUGFnZSAyNF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAg
ICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbjcuMS4gIE9D
LVN1cHBvcnRlZC1GZWF0dXJlcyBBVlBcblxuICAgVGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgKEFWUCBjb2RlIFRCRDEpIGlzIG9mIHR5cGUgR3JvdXBlZCBhbmRcbiAgIHNlcnZl
cyB0d28gcHVycG9zZXMuICBGaXJzdCwgaXQgYW5ub3VuY2VzIGEgbm9kZVwncyBzdXBwb3J0
IGZvciB0aGVcbiAgIERPSUMgc29sdXRpb24gaW4gZ2VuZXJhbC4gIFNlY29uZCwgaXQgY29u
dGFpbnMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZVxuICAgc3VwcG9ydGVkIERPSUMgZmVhdHVy
ZXMgb2YgdGhlIHNlbmRpbmcgbm9kZS4gIFRoZSBPQy1TdXBwb3J0ZWQtXG4gICBGZWF0dXJl
cyBBVlAgTVVTVCBiZSBpbmNsdWRlZCBpbiBldmVyeSBEaWFtZXRlciByZXF1ZXN0IG1lc3Nh
Z2UgYVxuICAgRE9JQyBzdXBwb3J0aW5nIG5vZGUgc2VuZHMuXG5cbiAgICAgIE9DLVN1cHBv
cnRlZC1GZWF0dXJlcyA6Oj0gXyBBVlAgSGVhZGVyOiBUQkQxIF9cbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWyBPQy1GZWF0dXJlLVZlY3RvciBdXG4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqIFsgQVZQIF1cblxuXG43LjIuICBPQy1GZWF0dXJlLVZlY3Rv
ciBBVlBcblxuICAgVGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCAoQVZQIGNvZGUgVEJEMikg
aXMgb2YgdHlwZSBVbnNpZ25lZDY0IGFuZFxuICAgY29udGFpbnMgYSA2NCBiaXQgZmxhZ3Mg
ZmllbGQgb2YgYW5ub3VuY2VkIGNhcGFiaWxpdGllcyBvZiBhIERPSUNcbiAgIG5vZGUuICBU
aGUgdmFsdWUgb2YgemVybyAoMCkgaXMgcmVzZXJ2ZWQuXG5cbiAgIFRoZSBPQy1GZWF0dXJl
LVZlY3RvciBzdWItQVZQIGlzIHVzZWQgdG8gYW5ub3VuY2UgdGhlIERPSUMgZmVhdHVyZXNc
biAgIHN1cHBvcnRlZCBieSB0aGUgRE9JQyBub2RlLCBpbiB0aGUgZm9ybSBvZiBhIGZsYWct
Yml0cyBmaWVsZCBpbiB3aGljaFxuICAgZWFjaCBiaXQgYW5ub3VuY2VzIG9uZSBmZWF0dXJl
IG9yIGNhcGFiaWxpdHkgc3VwcG9ydGVkIGJ5IHRoZSBub2RlLlxuICAgVGhlIGFic2VuY2Ug
b2YgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCBpbiByZXF1ZXN0IG1lc3NhZ2VzXG4gICBp
bmRpY2F0ZXMgdGhhdCBvbmx5IHRoZSBkZWZhdWx0IHRyYWZmaWMgYWJhdGVtZW50IGFsZ29y
aXRobSBkZXNjcmliZWRcbiAgIGluIHRoaXMgc3BlY2lmaWNhdGlvbiBpcyBzdXBwb3J0ZWQu
ICBUaGUgYWJzZW5jZSBvZiB0aGUgT0MtIEZlYXR1cmUtXG4gICBWZWN0b3IgQVZQIGluIGFu
c3dlciBtZXNzYWdlcyBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVmYXVsdCB0cmFmZmljXG4gICBh
YmF0ZW1lbnQgYWxnb3JpdGhtIGRlc2NyaWJlZCBpbiB0aGlzIHNwZWNpZmljYXRpb24gaXMg
c2VsZWN0ZWRcbiAgICh3aGlsZSBvdGhlciB0cmFmZmljIGFiYXRlbWVudCBhbGdvcml0aG1z
IG1heSBiZSBzdXBwb3J0ZWQpLCBhbmQgbm9cbiAgIGZlYXR1cmVzIG90aGVyIHRoYW4gYWJh
dGVtZW50IGFsZ29yaXRobXMgYXJlIHN1cHBvcnRlZC5cblxuICAgVGhlIGZvbGxvd2luZyBj
YXBhYmlsaXRpZXMgYXJlIGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudDpcblxuICAgT0xSX0RF
RkFVTFRfQUxHTyAoMHgwMDAwMDAwMDAwMDAwMDAxKVxuXG4gICAgICBXaGVuIHRoaXMgZmxh
ZyBpcyBzZXQgYnkgdGhlIGEgRE9JQyByZWFjdGluZyBub2RlIGl0IG1lYW5zIHRoYXRcbiAg
ICAgIHRoZSBkZWZhdWx0IHRyYWZmaWMgYWJhdGVtZW50IChsb3NzKSBhbGdvcml0aG0gaXMg
c3VwcG9ydGVkLiAgV2hlblxuICAgICAgdGhpcyBmbGFnIGlzIHNldCBieSBhIERPSUMgcmVw
b3J0aW5nIG5vZGUgaXQgbWVhbnMgdGhhdCB0aGUgbG9zc1xuICAgICAgYWxnb3JpdGhtIHdp
bGwgYmUgdXNlZCBmb3IgcmVxdWVzdGVkIG92ZXJsb2FkIGFiYXRlbWVudC5cblxuNy4zLiAg
T0MtT0xSIEFWUFxuXG4gICBUaGUgT0MtT0xSIEFWUCAoQVZQIGNvZGUgVEJEMykgaXMgb2Yg
dHlwZSBHcm91cGVkIGFuZCBjb250YWlucyB0aGVcbiAgIGluZm9ybWF0aW9uIG5lY2Vzc2Fy
eSB0byBjb252ZXkgYW4gb3ZlcmxvYWQgcmVwb3J0IG9uIGFuIG92ZXJsb2FkXG4gICBjb25k
aXRpb24gYXQgdGhlIHJlcG9ydGluZyBub2RlLiAgVGhlIGFwcGxpY2F0aW9uIHRoZSBPQy1P
TFIgQVZQXG4gICBhcHBsaWVzIHRvIGlzIHRoZSBzYW1lIGFzIHRoZSBBcHBsaWNhdGlvbi1J
ZCBmb3VuZCBpbiB0aGUgRGlhbWV0ZXJcbiAgIG1lc3NhZ2UgaGVhZGVyLiAgVGhlIGhvc3Qg
b3IgcmVhbG0gdGhlIE9DLU9MUiBBVlAgY29uY2VybnMgaXNcbiAgIGRldGVybWluZWQgZnJv
bSB0aGUgT3JpZ2luLUhvc3QgQVZQIGFuZC9vciBPcmlnaW4tUmVhbG0gQVZQIGZvdW5kIGlu
XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSAyNV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5c
biAgIHRoZSBlbmNhcHN1bGF0aW5nIERpYW1ldGVyIGNvbW1hbmQuICBUaGUgT0MtT0xSIEFW
UCBpcyBpbnRlbmRlZCB0byBiZVxuICAgc2VudCBvbmx5IGJ5IGEgcmVwb3J0aW5nIG5vZGUu
XG5cbiAgICAgIE9DLU9MUiA6Oj0gXyBBVlAgSGVhZGVyOiBUQkQyIF9cbiAgICAgICAgICAg
ICAgICAgXyBPQy1TZXF1ZW5jZS1OdW1iZXIgX1xuICAgICAgICAgICAgICAgICBfIE9DLVJl
cG9ydC1UeXBlIF9cbiAgICAgICAgICAgICAgICAgWyBPQy1SZWR1Y3Rpb24tUGVyY2VudGFn
ZSBdXG4gICAgICAgICAgICAgICAgIFsgT0MtVmFsaWRpdHktRHVyYXRpb24gXVxuICAgICAg
ICAgICAgICAgKiBbIEFWUCBdXG5cblxuNy40LiAgT0MtU2VxdWVuY2UtTnVtYmVyIEFWUFxu
XG4gICBUaGUgT0MtU2VxdWVuY2UtTnVtYmVyIEFWUCAoQVZQIGNvZGUgVEJENCkgaXMgb2Yg
dHlwZSBVbnNpZ25lZDY0LlxuICAgSXRzIHVzYWdlIGluIHRoZSBjb250ZXh0IG9mIG92ZXJs
b2FkIGNvbnRyb2wgaXMgZGVzY3JpYmVkIGluXG4gICBTZWN0aW9uIDUuMi5cblxuICAgRnJv
bSB0aGUgZnVuY3Rpb25hbGl0eSBwb2ludCBvZiB2aWV3LCB0aGUgT0MtU2VxdWVuY2UtTnVt
YmVyIEFWUCBpc1xuICAgdXNlZCBhcyBhIG5vbi12b2xhdGlsZSBpbmNyZWFzaW5nIGNvdW50
ZXIgZm9yIGEgc2VxdWVuY2Ugb2Ygb3ZlcmxvYWRcbiAgIHJlcG9ydHMgYmV0d2VlbiB0d28g
RE9JQyBub2RlcyBmb3IgdGhlIHNhbWUgb3ZlcmxvYWQgb2NjdXJyZW5jZS5cbiAgIFNlcXVl
bmNlIG51bWJlcnMgYXJlIHRyZWF0ZWQgaW4gYSB1bmktZGlyZWN0aW9uYWwgbWFubmVyLCBp
LmUuIHR3b1xuICAgc2VxdWVuY2UgbnVtYmVycyBvbiBlYWNoIGRpcmVjdGlvbiBiZXR3ZWVu
IHR3byBET0lDIG5vZGVzIGFyZSBub3RcbiAgIHJlbGF0ZWQgb3IgY29ycmVsYXRlZC5cblxu
Ny41LiAgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQXG5cbiAgIFRoZSBPQy1WYWxpZGl0eS1E
dXJhdGlvbiBBVlAgKEFWUCBjb2RlIFRCRDUpIGlzIG9mIHR5cGUgVW5zaWduZWQzMlxuICAg
YW5kIGluZGljYXRlcyBpbiBzZWNvbmRzIHRoZSB2YWxpZGl0eSB0aW1lIG9mIHRoZSBvdmVy
bG9hZCByZXBvcnQuXG4gICBUaGUgbnVtYmVyIG9mIHNlY29uZHMgaXMgbWVhc3VyZWQgYWZ0
ZXIgcmVjZXB0aW9uIG9mIHRoZSBmaXJzdCBPQy1PTFJcbiAgIEFWUCB3aXRoIGEgZ2l2ZW4g
dmFsdWUgb2YgT0MtU2VxdWVuY2UtTnVtYmVyIEFWUC4gIFRoZSBkZWZhdWx0IHZhbHVlXG4g
ICBmb3IgdGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCBpcyAzMCBzZWNvbmRzLiAgV2hl
biB0aGUgT0MtXG4gICBWYWxpZGl0eS1EdXJhdGlvbiBBVlAgaXMgbm90IHByZXNlbnQgaW4g
dGhlIE9DLU9MUiBBVlAsIHRoZSBkZWZhdWx0XG4gICB2YWx1ZSBhcHBsaWVzLiAgVGhlIG1h
eGltdW0gdmFsdWUgZm9yIHRoZSBPQy1WYWxpZGl0eS1EdXJhdGlvbiBBVlAgaXNcbiAgIDg2
LDQwMCBzZWNvbmRzICgyNCBob3VycykuXG5cbjcuNi4gIE9DLVJlcG9ydC1UeXBlIEFWUFxu
XG4gICBUaGUgT0MtUmVwb3J0LVR5cGUgQVZQIChBVlAgY29kZSBUQkQ2KSBpcyBvZiB0eXBl
IEVudW1lcmF0ZWQuICBUaGVcbiAgIHZhbHVlIG9mIHRoZSBBVlAgZGVzY3JpYmVzIHdoYXQg
dGhlIG92ZXJsb2FkIHJlcG9ydCBjb25jZXJucy4gIFRoZVxuICAgZm9sbG93aW5nIHZhbHVl
cyBhcmUgaW5pdGlhbGx5IGRlZmluZWQ6XG5cbiAgIEhPU1RfUkVQT1JUIDAgIFRoZSBvdmVy
bG9hZCByZXBvcnQgaXMgZm9yIGEgaG9zdC4gIE92ZXJsb2FkIGFiYXRlbWVudFxuICAgICAg
dHJlYXRtZW50IGFwcGxpZXMgdG8gaG9zdC1yb3V0ZWQgcmVxdWVzdHMuXG5cbiAgIFJFQUxN
X1JFUE9SVCAxICBUaGUgb3ZlcmxvYWQgcmVwb3J0IGlzIGZvciBhIHJlYWxtLiAgT3Zlcmxv
YWRcbiAgICAgIGFiYXRlbWVudCB0cmVhdG1lbnQgYXBwbGllcyB0byByZWFsbS1yb3V0ZWQg
cmVxdWVzdHMuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVz
IEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjZdXG5fXG5JbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51
YXJ5IDIwMTVcblxuXG43LjcuICBPQy1SZWR1Y3Rpb24tUGVyY2VudGFnZSBBVlBcblxuICAg
VGhlIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIEFWUCAoQVZQIGNvZGUgVEJENykgaXMgb2Yg
dHlwZSBVbnNpZ25lZDMyXG4gICBhbmQgZGVzY3JpYmVzIHRoZSBwZXJjZW50YWdlIG9mIHRo
ZSB0cmFmZmljIHRoYXQgdGhlIHNlbmRlciBpc1xuICAgcmVxdWVzdGVkIHRvIHJlZHVjZSwg
Y29tcGFyZWQgdG8gd2hhdCBpdCBvdGhlcndpc2Ugd291bGQgc2VuZC4gIFRoZVxuICAgT0Mt
UmVkdWN0aW9uLVBlcmNlbnRhZ2UgQVZQIGFwcGxpZXMgdG8gdGhlIGRlZmF1bHQgKGxvc3Mp
IGFsZ29yaXRobVxuICAgc3BlY2lmaWVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4gIEhvd2V2
ZXIsIHRoZSBBVlAgY2FuIGJlIHJldXNlZCBmb3JcbiAgIGZ1dHVyZSBhYmF0ZW1lbnQgYWxn
b3JpdGhtcywgaWYgaXRzIHNlbWFudGljcyBmaXQgaW50byB0aGUgbmV3XG4gICBhbGdvcml0
aG0uXG5cbiAgIFRoZSB2YWx1ZSBvZiB0aGUgUmVkdWN0aW9uLVBlcmNlbnRhZ2UgQVZQIGlz
IGJldHdlZW4gemVybyAoMCkgYW5kIG9uZVxuICAgaHVuZHJlZCAoMTAwKS4gIFZhbHVlcyBn
cmVhdGVyIHRoYW4gMTAwIGFyZSBpZ25vcmVkLiAgVGhlIHZhbHVlIG9mXG4gICAxMDAgbWVh
bnMgdGhhdCBhbGwgdHJhZmZpYyBpcyB0byBiZSB0aHJvdHRsZWQsIGkuZS4gdGhlIHJlcG9y
dGluZ1xuICAgbm9kZSBpcyB1bmRlciBhIHNldmVyZSBsb2FkIGFuZCBjZWFzZXMgdG8gcHJv
Y2VzcyBhbnkgbmV3IG1lc3NhZ2VzLlxuICAgVGhlIHZhbHVlIG9mIDAgbWVhbnMgdGhhdCB0
aGUgcmVwb3J0aW5nIG5vZGUgaXMgaW4gYSBzdGFibGUgc3RhdGUgYW5kXG4gICBoYXMgbm8g
bmVlZCBmb3IgdGhlIHJlYWN0aW5nIG5vZGUgdG8gYXBwbHkgYW55IHRyYWZmaWMgYWJhdGVt
ZW50LlxuXG43LjguICBBdHRyaWJ1dGUgVmFsdWUgUGFpciBmbGFnIHJ1bGVzXG5cbiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICst
LS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfQVZQIGZsYWcgX1xuICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3J1bGVzICAgIF9cbiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tKy0t
LS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVlAgICBTZWN0aW9uICAgICAg
ICAgICAgICBfICAgIF9NVVNUX1xuICAgICAgIEF0dHJpYnV0ZSBOYW1lICAgICAgICAgQ29k
ZSAgRGVmaW5lZCAgVmFsdWUgVHlwZSAgX01VU1RfIE5PVF9cbiAgICAgICstLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4g
ICAgICBfT0MtU3VwcG9ydGVkLUZlYXR1cmVzICBUQkQxICA2LjEgICAgICBHcm91cGVkICAg
ICBfICAgIF8gViAgX1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1GZWF0dXJlLVZlY3Rv
ciAgICAgIFRCRDIgIDYuMiAgICAgIFVuc2lnbmVkNjQgIF8gICAgXyBWICBfXG4gICAgICAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t
LSstLS0tK1xuICAgICAgX09DLU9MUiAgICAgICAgICAgICAgICAgVEJEMyAgNi4zICAgICAg
R3JvdXBlZCAgICAgXyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4gICAgICBfT0MtU2Vx
dWVuY2UtTnVtYmVyICAgICBUQkQ0ICA2LjQgICAgICBVbnNpZ25lZDY0ICBfICAgIF8gViAg
X1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1WYWxpZGl0eS1EdXJhdGlvbiAgIFRCRDUg
IDYuNSAgICAgIFVuc2lnbmVkMzIgIF8gICAgXyBWICBfXG4gICAgICArLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLSstLS0tK1xuICAg
ICAgX09DLVJlcG9ydC1UeXBlICAgICAgICAgVEJENiAgNi42ICAgICAgRW51bWVyYXRlZCAg
XyAgICBfIFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0rXG4gICAgICBfT0MtUmVkdWN0aW9uICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgIF8gICAgX1xuICAgICAgXyAg
LVBlcmNlbnRhZ2UgICAgICAgICAgVEJENyAgNi43ICAgICAgVW5zaWduZWQzMiAgXyAgICBf
IFYgIF9cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSstLS0tKy0tLS0rXG5cblxuICAgQXMgZGVzY3JpYmVkIGluIHRoZSBEaWFt
ZXRlciBiYXNlIHByb3RvY29sIFtSRkM2NzMzXSwgdGhlIE0tYml0IHVzYWdlXG4gICBmb3Ig
YSBnaXZlbiBBVlAgaW4gYSBnaXZlbiBjb21tYW5kIG1heSBiZSBkZWZpbmVkIGJ5IHRoZSBh
cHBsaWNhdGlvbi5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhw
aXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDI3XVxuX1xuSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAg
SmFudWFyeSAyMDE1XG5cblxuOC4gIEVycm9yIFJlc3BvbnNlIENvZGVzXG5cbiAgIFdoZW4g
YSBET0lDIG5vZGUgcmVqZWN0cyBhIERpYW1ldGVyIHJlcXVlc3QgZHVlIHRvIG92ZXJsb2Fk
LCB0aGUgRE9JQ1xuICAgbm9kZSBNVVNUIHNlbGVjdCBhbiBhcHByb3ByaWF0ZSBlcnJvciBy
ZXNwb25zZSBjb2RlLiAgVGhpc1xuICAgZGV0ZXJtaW5hdGlvbiBpcyBtYWRlIGJhc2VkIG9u
IHRoZSBwcm9iYWJpbGl0eSBvZiB0aGUgcmVxdWVzdFxuICAgc3VjY2VlZGluZyBpZiByZXRy
aWVkIG9uIGEgZGlmZmVyZW50IHBhdGguXG5cbiAgICAgIE5vdGU6IFRoaXMgb25seSBhcHBs
aWVzIGZvciBET0lDIG5vZGVzIHRoYXQgYXJlIG5vdCB0aGUgb3JpZ2luYXRvclxuICAgICAg
b2YgdGhlIHJlcXVlc3QuXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgcmVqZWN0aW5nIGEgRGlh
bWV0ZXIgcmVxdWVzdCBkdWUgdG8gYW4gb3ZlcmxvYWRcbiAgIGNvbmRpdGlvbiBTSE9VTEQg
c2VuZCBhIERJQU1FVEVSX1RPT19CVVNZIGVycm9yIHJlc3BvbnNlLCBpZiBpdCBjYW5cbiAg
IGFzc3VtZSB0aGF0IHRoZSBzYW1lIHJlcXVlc3QgbWF5IHN1Y2NlZWQgb24gYSBkaWZmZXJl
bnQgcGF0aC5cblxuICAgSWYgYSByZXBvcnRpbmcgbm9kZSBrbm93cyBvciBhc3N1bWVzIHRo
YXQgdGhlIHNhbWUgcmVxdWVzdCB3aWxsIG5vdFxuICAgc3VjY2VlZCBvbiBhIGRpZmZlcmVu
dCBwYXRoLCBESUFNRVRFUl9VTkFCTEVfVE9fQ09NUExZIGVycm9yIHJlc3BvbnNlXG4gICBT
SE9VTEQgYmUgdXNlZC4gIFJldHJ5aW5nIHdvdWxkIGNvbnN1bWUgdmFsdWFibGUgcmVzb3Vy
Y2VzIGR1cmluZyBhblxuICAgb2NjdXJyZW5jZSBvZiBvdmVybG9hZC5cblxuICAgICAgRm9y
IGluc3RhbmNlLCBpZiB0aGUgcmVxdWVzdCBhcnJpdmVkIGF0IHRoZSByZXBvcnRpbmcgbm9k
ZSB3aXRob3V0XG4gICAgICBhIERlc3RpbmF0aW9uLUhvc3QgQVZQIHRoZW4gdGhlIHJlcG9y
dGluZyBub2RlIG1pZ2h0IGRldGVybWluZVxuICAgICAgdGhhdCB0aGVyZSBpcyBhbiBhbHRl
cm5hdGl2ZSBEaWFtZXRlciBub2RlIHRoYXQgY291bGQgc3VjY2Vzc2Z1bGx5XG4gICAgICBw
cm9jZXNzIHRoZSByZXF1ZXN0IGFuZCB0aGF0IHJldHJ5aW5nIHRoZSB0cmFuc2FjdGlvbiB3
b3VsZCBub3RcbiAgICAgIG5lZ2F0aXZlbHkgaW1wYWN0IHRoZSByZXBvcnRpbmcgbm9kZS4g
IERJQU1FVEVSX1RPT19CVVNZIHdvdWxkIGJlXG4gICAgICBzZW50IGluIHRoaXMgY2FzZS5c
blxuICAgICAgSWYgdGhlIHJlcXVlc3QgYXJyaXZlZCBhdCB0aGUgcmVwb3J0aW5nIG5vZGUg
d2l0aCBhIERlc3RpbmF0aW9uLVxuICAgICAgSG9zdCBBVlAgcG9wdWxhdGVkIHdpdGggaXRz
IG93biBEaWFtZXRlciBpZGVudGl0eSB0aGVuIHRoZVxuICAgICAgcmVwb3J0aW5nIG5vZGUg
Y2FuIGFzc3VtZSB0aGF0IHJldHJ5aW5nIHRoZSByZXF1ZXN0IHdvdWxkIHJlc3VsdFxuICAg
ICAgaW4gaXQgY29taW5nIHRvIHRoZSBzYW1lIHJlcG9ydGluZyBub2RlLlxuICAgICAgRElB
TUVURVJfVU5BQkxFX1RPX0NPTVBMWSB3b3VsZCBiZSBzZW50IGluIHRoaXMgY2FzZS5cblxu
ICAgICAgQSBzZWNvbmQgZXhhbXBsZSBpcyB3aGVuIGFuIGFnZW50IHRoYXQgc3VwcG9ydHMg
dGhlIERPSUMgc29sdXRpb25cbiAgICAgIGlzIHBlcmZvcm1pbmcgdGhlIHJvbGUgb2YgYSBy
ZWFjdGluZyBub2RlIGZvciBhIG5vbiBzdXBwb3J0aW5nXG4gICAgICBjbGllbnQuICBSZXF1
ZXN0cyB0aGF0IGFyZSByZWplY3RlZCBhcyBhIHJlc3VsdCBvZiBET0lDIHRocm90dGxpbmdc
biAgICAgIGJ5IHRoZSBhZ2VudCBpbiB0aGlzIHNjZW5hcmlvIHdvdWxkIGdlbmVyYWxseSBi
ZSByZWplY3RlZCB3aXRoIGFcbiAgICAgIERJQU1FVEVSX1VOQUJMRV9UT19DT01QTFkgcmVz
cG9uc2UgY29kZS5cblxuOS4gIElBTkEgQ29uc2lkZXJhdGlvbnNcblxuOS4xLiAgQVZQIGNv
ZGVzXG5cbiAgIE5ldyBBVlBzIGRlZmluZWQgYnkgdGhpcyBzcGVjaWZpY2F0aW9uIGFyZSBs
aXN0ZWQgaW4gU2VjdGlvbiA3LiAgQWxsXG4gICBBVlAgY29kZXMgYXJlIGFsbG9jYXRlZCBm
cm9tIHRoZSBcJ0F1dGhlbnRpY2F0aW9uLCBBdXRob3JpemF0aW9uLCBhbmRcbiAgIEFjY291
bnRpbmcgKEFBQSkgUGFyYW1ldGVyc1wnIEFWUCBDb2RlcyByZWdpc3RyeS5cblxuXG5cblxu
XG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDI4XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
ICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuOS4y
LiAgTmV3IHJlZ2lzdHJpZXNcblxuICAgVHdvIG5ldyByZWdpc3RyaWVzIGFyZSBuZWVkZWQg
dW5kZXIgdGhlIFwnQXV0aGVudGljYXRpb24sXG4gICBBdXRob3JpemF0aW9uLCBhbmQgQWNj
b3VudGluZyAoQUFBKSBQYXJhbWV0ZXJzXCcgcmVnaXN0cnkuXG5cbiAgIEEgbmV3ICJPdmVy
bG9hZCBDb250cm9sIEZlYXR1cmUgVmVjdG9yIiByZWdpc3RyeSBpcyByZXF1aXJlZC4gIFRo
ZVxuICAgcmVnaXN0cnkgbXVzdCBjb250YWluIHRoZSBmb2xsb3dpbmc6XG5cbiAgICAgIEZl
YXR1cmUgVmVjdG9yIFZhbHVlXG5cbiAgICAgIFNwZWNpZmljYXRpb24gLSB0aGUgc3BlY2lm
aWNhdGlvbiB0aGF0IGRlZmluZXMgdGhlIG5ldyB2YWx1ZS5cblxuICAgU2VlIFNlY3Rpb24g
Ny4yIGZvciB0aGUgaW5pdGlhbCBGZWF0dXJlIFZlY3RvciBWYWx1ZSBpbiB0aGUgcmVnaXN0
cnkuXG4gICBUaGlzIHNwZWNpZmljYXRpb24gaXMgdGhlIHNwZWNpZmljYXRpb24gZGVmaW5p
bmcgdGhlIHZhbHVlLiAgTmV3XG4gICB2YWx1ZXMgY2FuIGJlIGFkZGVkIGludG8gdGhlIHJl
Z2lzdHJ5IHVzaW5nIHRoZSBTcGVjaWZpY2F0aW9uXG4gICBSZXF1aXJlZCBwb2xpY3kuICBb
UkZDNTIyNl0uXG5cbiAgIEEgbmV3ICJPdmVybG9hZCBSZXBvcnQgVHlwZSIgcmVnaXN0cnkg
aXMgcmVxdWlyZWQuICBUaGUgcmVnaXN0cnkgbXVzdFxuICAgY29udGFpbiB0aGUgZm9sbG93
aW5nOlxuXG4gICAgICBSZXBvcnQgVHlwZSBWYWx1ZVxuXG4gICAgICBTcGVjaWZpY2F0aW9u
IC0gdGhlIHNwZWNpZmljYXRpb24gdGhhdCBkZWZpbmVzIHRoZSBuZXcgdmFsdWUuXG5cbiAg
IFNlZSBTZWN0aW9uIDcuNiBmb3IgdGhlIGluaXRpYWwgYXNzaWdubWVudCBpbiB0aGUgcmVn
aXN0cnkuICBOZXdcbiAgIHR5cGVzIGNhbiBiZSBhZGRlZCB1c2luZyB0aGUgU3BlY2lmaWNh
dGlvbiBSZXF1aXJlZCBwb2xpY3kgW1JGQzUyMjZdLlxuXG4xMC4gIFNlY3VyaXR5IENvbnNp
ZGVyYXRpb25zXG5cbiAgIERPSUMgZ2l2ZXMgRGlhbWV0ZXIgbm9kZXMgdGhlIGFiaWxpdHkg
dG8gcmVxdWVzdCB0aGF0IGRvd25zdHJlYW1cbiAgIG5vZGVzIHNlbmQgZmV3ZXIgRGlhbWV0
ZXIgcmVxdWVzdHMuICBOb2RlcyBkbyB0aGlzIGJ5IGV4Y2hhbmdpbmdcbiAgIG92ZXJsb2Fk
IHJlcG9ydHMgdGhhdCBkaXJlY3RseSBlZmZlY3QgdGhpcyByZWR1Y3Rpb24uICBUaGlzIGV4
Y2hhbmdlXG4gICBpcyBwb3RlbnRpYWxseSBzdWJqZWN0IHRvIG11bHRpcGxlIG1ldGhvZHMg
b2YgYXR0YWNrLCBhbmQgaGFzIHRoZVxuICAgcG90ZW50aWFsIHRvIGJlIHVzZWQgYXMgYSBE
ZW5pYWwtb2YtU2VydmljZSAoRG9TKSBhdHRhY2sgdmVjdG9yLlxuXG4gICBPdmVybG9hZCBy
ZXBvcnRzIG1heSBjb250YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0b3BvbG9neSBhbmRc
biAgIGN1cnJlbnQgc3RhdHVzIG9mIGEgRGlhbWV0ZXIgbmV0d29yay4gIFRoaXMgaW5mb3Jt
YXRpb24gaXNcbiAgIHBvdGVudGlhbGx5IHNlbnNpdGl2ZS4gIE5ldHdvcmsgb3BlcmF0b3Jz
IG1heSB3aXNoIHRvIGNvbnRyb2xcbiAgIGRpc2Nsb3N1cmUgb2Ygb3ZlcmxvYWQgcmVwb3J0
cyB0byB1bmF1dGhvcml6ZWQgcGFydGllcyB0byBhdm9pZCBpdHNcbiAgIHVzZSBmb3IgY29t
cGV0aXRpdmUgaW50ZWxsaWdlbmNlIG9yIHRvIHRhcmdldCBhdHRhY2tzLlxuXG4gICBEaWFt
ZXRlciBkb2VzIG5vdCBpbmNsdWRlIGZlYXR1cmVzIHRvIHByb3ZpZGUgZW5kLXRvLWVuZFxu
ICAgYXV0aGVudGljYXRpb24sIGludGVncml0eSBwcm90ZWN0aW9uLCBvciBjb25maWRlbnRp
YWxpdHkuICBUaGlzIG1heVxuICAgY2F1c2UgY29tcGxpY2F0aW9ucyB3aGVuIHNlbmRpbmcg
b3ZlcmxvYWQgcmVwb3J0cyBiZXR3ZWVuIG5vbi1cbiAgIGFkamFjZW50IG5vZGVzLlxuXG5c
blxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMzAsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgMjldXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxu
XG4xMC4xLiAgUG90ZW50aWFsIFRocmVhdCBNb2Rlc1xuXG4gICBUaGUgRGlhbWV0ZXIgcHJv
dG9jb2wgaW52b2x2ZXMgdHJhbnNhY3Rpb25zIGluIHRoZSBmb3JtIG9mIHJlcXVlc3RzXG4g
ICBhbmQgYW5zd2VycyBleGNoYW5nZWQgYmV0d2VlbiBjbGllbnRzIGFuZCBzZXJ2ZXJzLiAg
VGhlc2UgY2xpZW50cyBhbmRcbiAgIHNlcnZlcnMgbWF5IGJlIHBlZXJzLCB0aGF0IGlzLCB0
aGV5IG1heSBzaGFyZSBhIGRpcmVjdCB0cmFuc3BvcnRcbiAgIChlLmcuICBUQ1Agb3IgU0NU
UCkgY29ubmVjdGlvbiwgb3IgdGhlIG1lc3NhZ2VzIG1heSB0cmF2ZXJzZSBvbmUgb3JcbiAg
IG1vcmUgaW50ZXJtZWRpYXJpZXMsIGtub3duIGFzIERpYW1ldGVyIEFnZW50cy4gIERpYW1l
dGVyIG5vZGVzIHVzZVxuICAgVExTLCBEVExTLCBvciBJUHNlYyB0byBhdXRoZW50aWNhdGUg
cGVlcnMsIGFuZCB0byBwcm92aWRlXG4gICBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0
eSBwcm90ZWN0aW9uIG9mIHRyYWZmaWMgYmV0d2VlbiBwZWVycy5cbiAgIE5vZGVzIGNhbiBt
YWtlIGF1dGhvcml6YXRpb24gZGVjaXNpb25zIGJhc2VkIG9uIHRoZSBwZWVyIGlkZW50aXRp
ZXNcbiAgIGF1dGhlbnRpY2F0ZWQgYXQgdGhlIHRyYW5zcG9ydCBsYXllci5cblxuICAgV2hl
biBhZ2VudHMgYXJlIGludm9sdmVkLCB0aGlzIHByZXNlbnRzIGFuIGVmZmVjdGl2ZWx5IHRy
YW5zaXRpdmVcbiAgIHRydXN0IG1vZGVsLiAgVGhhdCBpcywgYSBEaWFtZXRlciBjbGllbnQg
b3Igc2VydmVyIGNhbiBhdXRob3JpemUgYW5cbiAgIGFnZW50IGZvciBjZXJ0YWluIGFjdGlv
bnMsIGJ1dCBpdCBtdXN0IHRydXN0IHRoYXQgYWdlbnQgdG8gbWFrZVxuICAgYXBwcm9wcmlh
dGUgYXV0aG9yaXphdGlvbiBkZWNpc2lvbnMgYWJvdXQgaXRzIHBlZXJzLCBhbmQgc28gb24u
XG4gICBTaW5jZSBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSBwcm90ZWN0aW9uIG9j
Y3VycyBhdCB0aGVcbiAgIHRyYW5zcG9ydCBsYXllciwgYWdlbnRzIGNhbiByZWFkLCBhbmQg
cGVyaGFwcyBtb2RpZnksIGFueSBwYXJ0IG9mIGFcbiAgIERpYW1ldGVyIG1lc3NhZ2UsIGlu
Y2x1ZGluZyBhbiBvdmVybG9hZCByZXBvcnQuXG5cbiAgIFRoZXJlIGFyZSBzZXZlcmFsIHdh
eXMgYW4gYXR0YWNrZXIgbWlnaHQgYXR0ZW1wdCB0byBleHBsb2l0IHRoZVxuICAgb3Zlcmxv
YWQgY29udHJvbCBtZWNoYW5pc20uICBBbiB1bmF1dGhvcml6ZWQgdGhpcmQgcGFydHkgbWln
aHQgaW5qZWN0XG4gICBhbiBvdmVybG9hZCByZXBvcnQgaW50byB0aGUgbmV0d29yay4gIElm
IHRoaXMgdGhpcmQgcGFydHkgaXMgdXBzdHJlYW1cbiAgIG9mIGFuIGFnZW50LCBhbmQgdGhh
dCBhZ2VudCBmYWlscyB0byBhcHBseSBwcm9wZXIgYXV0aG9yaXphdGlvblxuICAgcG9saWNp
ZXMsIGRvd25zdHJlYW0gbm9kZXMgbWF5IG1pc3Rha2VubHkgdHJ1c3QgdGhlIHJlcG9ydC4g
IFRoaXNcbiAgIGF0dGFjayBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgbWl0aWdhdGVkIGJ5IHRo
ZSBhc3N1bXB0aW9uIHRoYXQgbm9kZXNcbiAgIGluY2x1ZGUgb3ZlcmxvYWQgcmVwb3J0cyBp
biBEaWFtZXRlciBhbnN3ZXJzIGJ1dCBub3QgaW4gcmVxdWVzdHMuXG4gICBUaGlzIHJlcXVp
cmVzIGFuIGF0dGFja2VyIHRvIGhhdmUga25vd2xlZGdlIG9mIHRoZSBvcmlnaW5hbCByZXF1
ZXN0XG4gICBpbiBvcmRlciB0byBjb25zdHJ1Y3QgYW4gYW5zd2VyLiAgU3VjaCBhbiBhbnN3
ZXIgd291bGQgYWxzbyBuZWVkIHRvXG4gICBhcnJpdmUgYXQgYSBEaWFtZXRlciBub2RlIHZp
YSBhIHByb3RlY3RlZCB0cmFuc3BvcnQgY29ubmVjdGlvbi5cbiAgIFRoZXJlZm9yZSwgaW1w
bGVtZW50YXRpb25zIE1VU1QgdmFsaWRhdGUgdGhhdCBhbiBhbnN3ZXIgY29udGFpbmluZyBh
blxuICAgb3ZlcmxvYWQgcmVwb3J0IGlzIGEgcHJvcGVybHkgY29uc3RydWN0ZWQgcmVzcG9u
c2UgdG8gYSBwZW5kaW5nXG4gICByZXF1ZXN0IHByaW9yIHRvIGFjdGluZyBvbiB0aGUgb3Zl
cmxvYWQgcmVwb3J0LCBhbmQgdGhhdCB0aGUgYW5zd2VyXG4gICB3YXMgcmVjZWl2ZWQgdmlh
IGFuIGFwcHJvcHJpYXRlIHRyYW5zcG9ydCBjb25uZWN0aW9uLlxuXG4gICBBIHNpbWlsYXIg
YXR0YWNrIGludm9sdmVzIGEgY29tcHJvbWlzZWQgYnV0IG90aGVyd2lzZSBhdXRob3JpemVk
IG5vZGVcbiAgIHRoYXQgc2VuZHMgYW4gaW5hcHByb3ByaWF0ZSBvdmVybG9hZCByZXBvcnQu
ICBGb3IgZXhhbXBsZSwgYSBzZXJ2ZXJcbiAgIGZvciB0aGUgcmVhbG0gImV4YW1wbGUuY29t
IiBtaWdodCBzZW5kIGFuIG92ZXJsb2FkIHJlcG9ydCBpbmRpY2F0aW5nXG4gICB0aGF0IGEg
Y29tcGV0aXRvclwncyByZWFsbSAiZXhhbXBsZS5uZXQiIGlzIG92ZXJsb2FkZWQuICBJZiBv
dGhlclxuICAgbm9kZXMgYWN0IG9uIHRoZSByZXBvcnQsIHRoZXkgbWF5IGZhbHNlbHkgYmVs
aWV2ZSB0aGF0ICJleGFtcGxlLm5ldCJcbiAgIGlzIG92ZXJsb2FkZWQsIGVmZmVjdGl2ZWx5
IHJlZHVjaW5nIHRoYXQgcmVhbG1cJ3MgY2FwYWNpdHkuXG4gICBUaGVyZWZvcmUsIGl0XCdz
IGNyaXRpY2FsIHRoYXQgbm9kZXMgdmFsaWRhdGUgdGhhdCBhbiBvdmVybG9hZCByZXBvcnRc
biAgIHJlY2VpdmVkIGZyb20gYSBwZWVyIGFjdHVhbGx5IGZhbGxzIHdpdGhpbiB0aGF0IHBl
ZXJcJ3MgcmVzcG9uc2liaWxpdHlcbiAgIGJlZm9yZSBhY3Rpbmcgb24gdGhlIHJlcG9ydCBv
ciBmb3J3YXJkaW5nIHRoZSByZXBvcnQgdG8gb3RoZXIgcGVlcnMuXG4gICBGb3IgZXhhbXBs
ZSwgYW4gb3ZlcmxvYWQgcmVwb3J0IGZyb20gYSBwZWVyIHRoYXQgYXBwbGllcyB0byBhIHJl
YWxtXG4gICBub3QgaGFuZGxlZCBieSB0aGF0IHBlZXIgaXMgc3VzcGVjdC5cblxuXG5cblxu
XG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAg
ICAgICAgICAgICBbUGFnZSAzMF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAg
ICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAg
IFRoaXMgYXR0YWNrIGlzIHBhcnRpYWxseSBtaXRpZ2F0ZWQgYnkgdGhlIGZhY3QgdGhhdCB0
aGVcbiAgICAgIGFwcGxpY2F0aW9uLCBhcyB3ZWxsIGFzIGhvc3QgYW5kIHJlYWxtLCBmb3Ig
YSBnaXZlbiBPTFIgaXNcbiAgICAgIGRldGVybWluZWQgaW1wbGljaXRseSBieSByZXNwZWN0
aXZlIEFWUHMgaW4gdGhlIGVuY2xvc2luZyBhbnN3ZXIuXG4gICAgICBJZiBhIHJlcG9ydGlu
ZyBub2RlIG1vZGlmaWVzIGFueSBvZiB0aG9zZSBBVlBzLCB0aGUgZW5jbG9zaW5nXG4gICAg
ICB0cmFuc2FjdGlvbiB3aWxsIGFsc28gYmUgYWZmZWN0ZWQuXG5cbjEwLjIuICBEZW5pYWwg
b2YgU2VydmljZSBBdHRhY2tzXG5cbiAgIERpYW1ldGVyIG92ZXJsb2FkIHJlcG9ydHMsIGVz
cGVjaWFsbHkgcmVhbG0tcmVwb3J0cywgY2FuIGNhdXNlIGEgbm9kZVxuICAgdG8gY2Vhc2Ug
c2VuZGluZyBzb21lIG9yIGFsbCBEaWFtZXRlciByZXF1ZXN0cyBmb3IgYW4gZXh0ZW5kZWRc
biAgIHBlcmlvZC4gIFRoaXMgbWFrZXMgdGhlbSBhIHRlbXB0aW5nIHZlY3RvciBmb3IgRG9T
IGF0dGFja3MuXG4gICBGdXJ0aGVybW9yZSwgc2luY2UgRGlhbWV0ZXIgaXMgYWxtb3N0IGFs
d2F5cyB1c2VkIGluIHN1cHBvcnQgb2Ygb3RoZXJcbiAgIHByb3RvY29scywgYSBEb1MgYXR0
YWNrIG9uIERpYW1ldGVyIGlzIGxpa2VseSB0byBpbXBhY3QgdGhvc2VcbiAgIHByb3RvY29s
cyBhcyB3ZWxsLiAgVGhlcmVmb3JlLCBEaWFtZXRlciBub2RlcyBNVVNUIE5PVCBob25vciBv
clxuICAgZm9yd2FyZCBPTFJzIHJlY2VpdmVkIGZyb20gcGVlcnMgdGhhdCBhcmUgbm90IHRy
dXN0ZWQgdG8gc2VuZCB0aGVtLlxuXG4gICBBbiBhdHRhY2tlciBtaWdodCB1c2UgdGhlIGlu
Zm9ybWF0aW9uIGluIGFuIE9MUiB0byBhc3Npc3QgaW4gRG9TXG4gICBhdHRhY2tzLiAgRm9y
IGV4YW1wbGUsIGFuIGF0dGFja2VyIGNvdWxkIHVzZSBpbmZvcm1hdGlvbiBhYm91dFxuICAg
Y3VycmVudCBvdmVybG9hZCBjb25kaXRpb25zIHRvIHRpbWUgYW4gYXR0YWNrIGZvciBtYXhp
bXVtIGVmZmVjdCwgb3JcbiAgIHVzZSBzdWJzZXF1ZW50IG92ZXJsb2FkIHJlcG9ydHMgYXMg
YSBmZWVkYmFjayBtZWNoYW5pc20gdG8gbGVhcm4gdGhlXG4gICByZXN1bHRzIG9mIGEgcHJl
dmlvdXMgb3Igb25nb2luZyBhdHRhY2suICBPcGVyYXRvcnMgbmVlZCB0aGUgYWJpbGl0eVxu
ICAgdG8gZW5zdXJlIHRoYXQgT0xScyBhcmUgbm90IGxlYWtlZCB0byB1bnRydXN0ZWQgcGFy
dGllcy5cblxuMTAuMy4gIE5vbi1Db21wbGlhbnQgTm9kZXNcblxuICAgSW4gdGhlIGFic2Vu
Y2Ugb2YgYW4gb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20sIERpYW1ldGVyIG5vZGVzIG5l
ZWRcbiAgIHRvIGltcGxlbWVudCBzdHJhdGVnaWVzIHRvIHByb3RlY3QgdGhlbXNlbHZlcyBm
cm9tIGZsb29kcyBvZlxuICAgcmVxdWVzdHMsIGFuZCB0byBtYWtlIHN1cmUgdGhhdCBhIGRp
c3Byb3BvcnRpb25hdGUgbG9hZCBmcm9tIG9uZVxuICAgc291cmNlIGRvZXMgbm90IHByZXZl
bnQgb3RoZXIgc291cmNlcyBmcm9tIHJlY2VpdmluZyBzZXJ2aWNlLiAgRm9yXG4gICBleGFt
cGxlLCBhIERpYW1ldGVyIHNlcnZlciBtaWdodCB0aHJvdHRsZSBhIGNlcnRhaW4gcGVyY2Vu
dGFnZSBvZlxuICAgcmVxdWVzdHMgZnJvbSBzb3VyY2VzIHRoYXQgZXhjZWVkIGNlcnRhaW4g
bGltaXRzLiAgT3ZlcmxvYWQgY29udHJvbFxuICAgY2FuIGJlIHRob3VnaHQgb2YgYXMgYW4g
b3B0aW1pemF0aW9uIGZvciBzdWNoIHN0cmF0ZWdpZXMsIHdoZXJlXG4gICBkb3duc3RyZWFt
IG5vZGVzIG5ldmVyIHNlbmQgdGhlIGV4Y2VzcyByZXF1ZXN0cyBpbiB0aGUgZmlyc3QgcGxh
Y2UuXG4gICBIb3dldmVyLCB0aGUgcHJlc2VuY2Ugb2YgYW4gb3ZlcmxvYWQgY29udHJvbCBt
ZWNoYW5pc20gZG9lcyBub3RcbiAgIHJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlc2Ugb3RoZXIg
cHJvdGVjdGlvbiBzdHJhdGVnaWVzLlxuXG4gICBXaGVuIGEgRGlhbWV0ZXIgbm9kZSBzZW5k
cyBhbiBvdmVybG9hZCByZXBvcnQsIGl0IGNhbm5vdCBhc3N1bWUgdGhhdFxuICAgYWxsIG5v
ZGVzIHdpbGwgY29tcGx5LCBldmVuIGlmIHRoZXkgaW5kaWNhdGUgc3VwcG9ydCBmb3IgRE9J
Qy4gIEFcbiAgIG5vbi1jb21wbGlhbnQgbm9kZSBtaWdodCBjb250aW51ZSB0byBzZW5kIHJl
cXVlc3RzIHdpdGggbm8gcmVkdWN0aW9uXG4gICBpbiBsb2FkLiAgU3VjaCBub24tY29tcGxp
YW5jZSBjb3VsZCBiZSBkb25lIGFjY2lkZW50YWxseSwgb3JcbiAgIG1hbGljaW91c2x5IHRv
IGdhaW4gYW4gdW5mYWlyIGFkdmFudGFnZSBvdmVyIGNvbXBsaWFudCBub2Rlcy5cbiAgIFJl
cXVpcmVtZW50IDI4IFtSRkM3MDY4XSBpbmRpY2F0ZXMgdGhhdCB0aGUgb3ZlcmxvYWQgY29u
dHJvbCBzb2x1dGlvblxuICAgY2Fubm90IGFzc3VtZSB0aGF0IGFsbCBEaWFtZXRlciBub2Rl
cyBpbiBhIG5ldHdvcmsgYXJlIHRydXN0ZWQsIGFuZFxuICAgdGhhdCBtYWxpY2lvdXMgbm9k
ZXMgbm90IGJlIGFsbG93ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG92ZXJsb2FkXG4g
ICBjb250cm9sIG1lY2hhbmlzbSB0byBnZXQgbW9yZSB0aGFuIHRoZWlyIGZhaXIgc2hhcmUg
b2Ygc2VydmljZS5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhw
aXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDMxXVxuX1xuSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAg
SmFudWFyeSAyMDE1XG5cblxuMTAuNC4gIEVuZC10byBFbmQtU2VjdXJpdHkgSXNzdWVzXG5c
biAgIFRoZSBsYWNrIG9mIGVuZC10by1lbmQgaW50ZWdyaXR5IGZlYXR1cmVzIG1ha2VzIGl0
IGRpZmZpY3VsdCB0b1xuICAgZXN0YWJsaXNoIHRydXN0IGluIG92ZXJsb2FkIHJlcG9ydHMg
cmVjZWl2ZWQgZnJvbSBub24tYWRqYWNlbnQgbm9kZXMuXG4gICBBbnkgYWdlbnRzIGluIHRo
ZSBtZXNzYWdlIHBhdGggbWF5IGluc2VydCBvciBtb2RpZnkgb3ZlcmxvYWQgcmVwb3J0cy5c
biAgIE5vZGVzIG11c3QgdHJ1c3QgdGhhdCB0aGVpciBhZGphY2VudCBwZWVycyBwZXJmb3Jt
IHByb3BlciBjaGVja3Mgb25cbiAgIG92ZXJsb2FkIHJlcG9ydHMgZnJvbSB0aGVpciBwZWVy
cywgYW5kIHNvIG9uLCBjcmVhdGluZyBhIHRyYW5zaXRpdmUtXG4gICB0cnVzdCByZXF1aXJl
bWVudCBleHRlbmRpbmcgZm9yIHBvdGVudGlhbGx5IGxvbmcgY2hhaW5zIG9mIG5vZGVzLlxu
ICAgTmV0d29yayBvcGVyYXRvcnMgbXVzdCBkZXRlcm1pbmUgaWYgdGhpcyB0cmFuc2l0aXZl
IHRydXN0IHJlcXVpcmVtZW50XG4gICBpcyBhY2NlcHRhYmxlIGZvciB0aGVpciBkZXBsb3lt
ZW50cy4gIE5vZGVzIHN1cHBvcnRpbmcgRGlhbWV0ZXJcbiAgIG92ZXJsb2FkIGNvbnRyb2wg
TVVTVCBnaXZlIG9wZXJhdG9ycyB0aGUgYWJpbGl0eSB0byBzZWxlY3Qgd2hpY2hcbiAgIHBl
ZXJzIGFyZSB0cnVzdGVkIHRvIGRlbGl2ZXIgb3ZlcmxvYWQgcmVwb3J0cywgYW5kIHdoZXRo
ZXIgdGhleSBhcmVcbiAgIHRydXN0ZWQgdG8gZm9yd2FyZCBvdmVybG9hZCByZXBvcnRzIGZy
b20gbm9uLWFkamFjZW50IG5vZGVzLiAgRE9JQ1xuICAgbm9kZXMgTVVTVCBzdHJpcCBET0lD
IEFWUHMgZnJvbSBtZXNzYWdlcyByZWNlaXZlZCBmcm9tIHBlZXJzIHRoYXQgYXJlXG4gICBu
b3QgdHJ1c3RlZCBmb3IgRE9JQyBwdXJwb3Nlcy5cblxuICAgVGhlIGxhY2sgb2YgZW5kLXRv
LWVuZCBjb25maWRlbnRpYWxpdHkgcHJvdGVjdGlvbiBtZWFucyB0aGF0IGFueVxuICAgRGlh
bWV0ZXIgYWdlbnQgaW4gdGhlIHBhdGggb2YgYW4gb3ZlcmxvYWQgcmVwb3J0IGNhbiB2aWV3
IHRoZVxuICAgY29udGVudHMgb2YgdGhhdCByZXBvcnQuICBJbiBhZGRpdGlvbiB0byB0aGUg
cmVxdWlyZW1lbnQgdG8gc2VsZWN0XG4gICB3aGljaCBwZWVycyBhcmUgdHJ1c3RlZCB0byBz
ZW5kIG92ZXJsb2FkIHJlcG9ydHMsIG9wZXJhdG9ycyBNVVNUIGJlXG4gICBhYmxlIHRvIHNl
bGVjdCB3aGljaCBwZWVycyBhcmUgYXV0aG9yaXplZCB0byByZWNlaXZlIHJlcG9ydHMuICBB
IG5vZGVcbiAgIE1VU1QgTk9UIHNlbmQgYW4gb3ZlcmxvYWQgcmVwb3J0IHRvIGEgcGVlciBu
b3QgYXV0aG9yaXplZCB0byByZWNlaXZlXG4gICBpdC4gIEZ1cnRoZXJtb3JlLCBhbiBhZ2Vu
dCBNVVNUIHJlbW92ZSBhbnkgb3ZlcmxvYWQgcmVwb3J0cyB0aGF0XG4gICBtaWdodCBoYXZl
IGJlZW4gaW5zZXJ0ZWQgYnkgb3RoZXIgbm9kZXMgYmVmb3JlIGZvcndhcmRpbmcgYSBEaWFt
ZXRlclxuICAgbWVzc2FnZSB0byBhIHBlZXIgdGhhdCBpcyBub3QgYXV0aG9yaXplZCB0byBy
ZWNlaXZlIG92ZXJsb2FkIHJlcG9ydHMuXG5cbiAgICAgIEEgRE9JQyBub2RlIGNhbm5vdCBh
bHdheXMgYXV0b21hdGljYWxseSBkZXRlY3QgdGhhdCBhIHBlZXIgYWxzb1xuICAgICAgc3Vw
cG9ydHMgRE9JQy4gIEZvciBleGFtcGxlLCBhIG5vZGUgbWlnaHQgaGF2ZSBhIHBlZXIgdGhh
dCBpcyBhXG4gICAgICBub24tc3VwcG9ydGluZyBhZ2VudC4gIElmIG5vZGVzIG9uIHRoZSBv
dGhlciBzaWRlIG9mIHRoYXQgYWdlbnRcbiAgICAgIHNlbmQgT0MtU3VwcG9ydGVkLUZlYXR1
cmVzIEFWUHMsIHRoZSBhZ2VudCBpcyBsaWtlbHkgdG8gZm9yd2FyZFxuICAgICAgdGhlbSBh
cyB1bmtub3duIEFWUHMuICBNZXNzYWdlcyByZWNlaXZlZCBhY3Jvc3MgdGhlIG5vbi1zdXBw
b3J0aW5nXG4gICAgICBhZ2VudCBtYXkgYmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBtZXNz
YWdlcyByZWNlaXZlZCBhY3Jvc3MgYVxuICAgICAgRE9JQyBzdXBwb3J0aW5nIGFnZW50LCBn
aXZpbmcgdGhlIGZhbHNlIGltcHJlc3Npb24gdGhhdCB0aGUgbm9uLVxuICAgICAgc3VwcG9y
dGluZyBhZ2VudCBhY3R1YWxseSBzdXBwb3J0cyBET0lDLiAgVGhpcyBjb21wbGljYXRlcyB0
aGVcbiAgICAgIHRyYW5zaXRpdmUtdHJ1c3QgbmF0dXJlIG9mIERPSUMuICBPcGVyYXRvcnMg
bmVlZCB0byBiZSBjYXJlZnVsIHRvXG4gICAgICBhdm9pZCBzaXR1YXRpb25zIHdoZXJlIGEg
bm9uLXN1cHBvcnRpbmcgYWdlbnQgaXMgbWlzdGFrZW5seVxuICAgICAgdHJ1c3RlZCB0byBl
bmZvcmNlIERPSUMgcmVsYXRlZCBhdXRob3JpemF0aW9uIHBvbGljaWVzLlxuXG4gICBBdCB0
aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcsIHRoZSBESU1FIHdvcmtpbmcgZ3JvdXAgaXMgc3R1
ZHlpbmdcbiAgIHJlcXVpcmVtZW50cyBmb3IgYWRkaW5nIGVuZC10by1lbmQgc2VjdXJpdHkg
ZmVhdHVyZXNcbiAgIFtJLUQuaWV0Zi1kaW1lLWUyZS1zZWMtcmVxXSB0byBEaWFtZXRlci4g
IFRoZXNlIGZlYXR1cmVzLCB3aGVuIHRoZXlcbiAgIGJlY29tZSBhdmFpbGFibGUsIG1pZ2h0
IG1ha2UgaXQgZWFzaWVyIHRvIGVzdGFibGlzaCB0cnVzdCBpbiBub24tXG4gICBhZGphY2Vu
dCBub2RlcyBmb3Igb3ZlcmxvYWQgY29udHJvbCBwdXJwb3Nlcy4gIFJlYWRlcnMgc2hvdWxk
IGJlXG4gICByZW1pbmRlZCwgaG93ZXZlciwgdGhhdCB0aGUgb3ZlcmxvYWQgY29udHJvbCBt
ZWNoYW5pc20gZW5jb3VyYWdlc1xuICAgRGlhbWV0ZXIgYWdlbnRzIHRvIG1vZGlmeSBBVlBz
IGluLCBvciBpbnNlcnQgYWRkaXRpb25hbCBBVlBzIGludG8sXG4gICBleGlzdGluZyBtZXNz
YWdlcyB0aGF0IGFyZSBvcmlnaW5hdGVkIGJ5IG90aGVyIG5vZGVzLiAgSWYgZW5kLXRvLWVu
ZFxuICAgc2VjdXJpdHkgaXMgZW5hYmxlZCwgdGhlcmUgaXMgYSByaXNrIHRoYXQgc3VjaCBt
b2RpZmljYXRpb24gY291bGRcbiAgIHZpb2xhdGUgaW50ZWdyaXR5IHByb3RlY3Rpb24uICBU
aGUgZGV0YWlscyBvZiB1c2luZyBhbnkgZnV0dXJlXG5cblxuXG5Lb3Job25lbiwgZXQgYWwu
ICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAz
Ml1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAg
ICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIERpYW1ldGVyIGVuZC10by1lbmQg
c2VjdXJpdHkgbWVjaGFuaXNtIHdpdGggb3ZlcmxvYWQgY29udHJvbCB3aWxsXG4gICByZXF1
aXJlIGNhcmVmdWwgY29uc2lkZXJhdGlvbiwgYW5kIGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9m
IHRoaXNcbiAgIGRvY3VtZW50LlxuXG4xMS4gIENvbnRyaWJ1dG9yc1xuXG4gICBUaGUgZm9s
bG93aW5nIHBlb3BsZSBjb250cmlidXRlZCBzdWJzdGFudGlhbCBpZGVhcywgZmVlZGJhY2ss
IGFuZFxuICAgZGlzY3Vzc2lvbiB0byB0aGlzIGRvY3VtZW50OlxuXG4gICBvICBFcmljIE1j
TXVycnlcblxuICAgbyAgSGFubmVzIFRzY2hvZmVuaWdcblxuICAgbyAgVWxyaWNoIFdpZWhl
XG5cbiAgIG8gIEplYW4tSmFjcXVlcyBUcm90dGluXG5cbiAgIG8gIE1hcmlhIENydXogQmFy
dG9sb21lXG5cbiAgIG8gIE1hcnRpbiBEb2xseVxuXG4gICBvICBOaXJhdiBTYWxvdFxuXG4g
ICBvICBTdXNhbiBTaGlzaHVmZW5nXG5cbjEyLiAgUmVmZXJlbmNlc1xuXG4xMi4xLiAgTm9y
bWF0aXZlIFJlZmVyZW5jZXNcblxuICAgW1JGQzIxMTldICBCcmFkbmVyLCBTLiwgIktleSB3
b3JkcyBmb3IgdXNlIGluIFJGQ3MgdG8gSW5kaWNhdGVcbiAgICAgICAgICAgICAgUmVxdWly
ZW1lbnQgTGV2ZWxzIiwgQkNQIDE0LCBSRkMgMjExOSwgTWFyY2ggMTk5Ny5cblxuICAgW1JG
QzUyMjZdICBOYXJ0ZW4sIFQuIGFuZCBILiBBbHZlc3RyYW5kLCAiR3VpZGVsaW5lcyBmb3Ig
V3JpdGluZyBhblxuICAgICAgICAgICAgICBJQU5BIENvbnNpZGVyYXRpb25zIFNlY3Rpb24g
aW4gUkZDcyIsIEJDUCAyNiwgUkZDIDUyMjYsXG4gICAgICAgICAgICAgIE1heSAyMDA4Llxu
XG4gICBbUkZDNjczM10gIEZhamFyZG8sIFYuLCBBcmtrbywgSi4sIExvdWdobmV5LCBKLiwg
YW5kIEcuIFpvcm4sXG4gICAgICAgICAgICAgICJEaWFtZXRlciBCYXNlIFByb3RvY29sIiwg
UkZDIDY3MzMsIE9jdG9iZXIgMjAxMi5cblxuMTIuMi4gIEluZm9ybWF0aXZlIFJlZmVyZW5j
ZXNcblxuICAgW0N4XSAgICAgICAzR1BQLCAsICJFVFNJIFRTIDEyOSAyMjkgVjExLjQuMCIs
IEF1Z3VzdCAyMDEzLlxuXG4gICBbSS1ELmlldGYtZGltZS1lMmUtc2VjLXJlcV1cbiAgICAg
ICAgICAgICAgVHNjaG9mZW5pZywgSC4sIEtvcmhvbmVuLCBKLiwgWm9ybiwgRy4sIGFuZCBL
LiBQaWxsYXksXG4gICAgICAgICAgICAgICJEaWFtZXRlciBBVlAgTGV2ZWwgU2VjdXJpdHk6
IFNjZW5hcmlvcyBhbmQgUmVxdWlyZW1lbnRzIixcbiAgICAgICAgICAgICAgZHJhZnQtaWV0
Zi1kaW1lLWUyZS1zZWMtcmVxLTAxICh3b3JrIGluIHByb2dyZXNzKSwgT2N0b2JlclxuICAg
ICAgICAgICAgICAyMDEzLlxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBp
cmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzNdXG5fXG5JbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBK
YW51YXJ5IDIwMTVcblxuXG4gICBbUENDXSAgICAgIDNHUFAsICwgIkVUU0kgVFMgMTIzIDIw
MyBWMTEuMTIuMCIsIERlY2VtYmVyIDIwMTMuXG5cbiAgIFtSRkM0MDA2XSAgSGFrYWxhLCBI
LiwgTWF0dGlsYSwgTC4sIEtvc2tpbmVuLCBKLVAuLCBTdHVyYSwgTS4sIGFuZCBKLlxuICAg
ICAgICAgICAgICBMb3VnaG5leSwgIkRpYW1ldGVyIENyZWRpdC1Db250cm9sIEFwcGxpY2F0
aW9uIiwgUkZDIDQwMDYsXG4gICAgICAgICAgICAgIEF1Z3VzdCAyMDA1LlxuXG4gICBbUkZD
NzA2OF0gIE1jTXVycnksIEUuIGFuZCBCLiBDYW1wYmVsbCwgIkRpYW1ldGVyIE92ZXJsb2Fk
IENvbnRyb2xcbiAgICAgICAgICAgICAgUmVxdWlyZW1lbnRzIiwgUkZDIDcwNjgsIE5vdmVt
YmVyIDIwMTMuXG5cbiAgIFtTMTNdICAgICAgM0dQUCwgLCAiRVRTSSBUUyAxMjkgMjcyIFYx
MS45LjAiLCBEZWNlbWJlciAyMDEyLlxuXG5BcHBlbmRpeCBBLiAgSXNzdWVzIGxlZnQgZm9y
IGZ1dHVyZSBzcGVjaWZpY2F0aW9uc1xuXG4gICBUaGUgYmFzZSBzb2x1dGlvbiBmb3IgdGhl
IG92ZXJsb2FkIGNvbnRyb2wgZG9lcyBub3QgY292ZXIgYWxsXG4gICBwb3NzaWJsZSB1c2Ug
Y2FzZXMuICBBIG51bWJlciBvZiBzb2x1dGlvbiBhc3BlY3RzIHdlcmUgaW50ZW50aW9uYWxs
eVxuICAgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmljYXRpb24gYW5kIHByb3RvY29sIHdvcmsu
ICBUaGUgZm9sbG93aW5nIHN1Yi1cbiAgIHNlY3Rpb25zIGRlZmluZSBzb21lIG9mIHRoZSBw
b3RlbnRpYWwgZXh0ZW5zaW9ucyB0byB0aGUgRE9JQ1xuICAgc29sdXRpb24uXG5cbkEuMS4g
IEFkZGl0aW9uYWwgdHJhZmZpYyBhYmF0ZW1lbnQgYWxnb3JpdGhtc1xuXG4gICBUaGlzIHNw
ZWNpZmljYXRpb24gZGVzY3JpYmVzIG9ubHkgbWVhbnMgZm9yIGEgc2ltcGxlIGxvc3MgYmFz
ZWRcbiAgIGFsZ29yaXRobS4gIEZ1dHVyZSBhbGdvcml0aG1zIGNhbiBiZSBhZGRlZCB1c2lu
ZyB0aGUgZGVzaWduZWRcbiAgIHNvbHV0aW9uIGV4dGVuc2lvbiBtZWNoYW5pc20uICBUaGUg
bmV3IGFsZ29yaXRobXMgbmVlZCB0byBiZVxuICAgcmVnaXN0ZXJlZCB3aXRoIElBTkEuICBT
ZWUgU2VjdGlvbnMgNy4xIGFuZCA5IGZvciB0aGUgcmVxdWlyZWQgSUFOQVxuICAgc3RlcHMu
XG5cbkEuMi4gIEFnZW50IE92ZXJsb2FkXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBmb2N1
c2VzIG9uIERpYW1ldGVyIGVuZHBvaW50IChzZXJ2ZXIgb3IgY2xpZW50KVxuICAgb3Zlcmxv
YWQuICBBIHNlcGFyYXRlIGV4dGVuc2lvbiB3aWxsIGJlIHJlcXVpcmVkIHRvIG91dGxpbmUg
dGhlXG4gICBoYW5kbGluZyBvZiB0aGUgY2FzZSBvZiBhZ2VudCBvdmVybG9hZC5cblxuQS4z
LiAgTmV3IEVycm9yIERpYWdub3N0aWMgQVZQXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBp
bmRpY2F0ZXMgdGhlIHVzZSBvZiBleGlzdGluZyBlcnJvciBtZXNzYWdlcyB3aGVuXG4gICBu
b2RlcyByZWplY3QgcmVxdWVzdHMgZHVlIHRvIG92ZXJsb2FkLiAgVGhlIERJTUUgd29ya2lu
ZyBncm91cCBpc1xuICAgY29uc2lkZXJpbmcgZGVmaW5pbmcgYWRkaXRpb25hbCBlcnJvciBj
b2RlcyBvciBBVlBzIHRvIGluZGljYXRlIHRoYXRcbiAgIG92ZXJsb2FkIHdhcyB0aGUgcmVh
c29uIGZvciB0aGUgcmVqZWN0aW9uIG9mIHRoZSBtZXNzYWdlLlxuXG5BcHBlbmRpeCBCLiAg
RGVwbG95bWVudCBDb25zaWRlcmF0aW9uc1xuXG4gICBOb24gU3VwcG9ydGluZyBBZ2VudHNc
blxuICAgICAgRHVlIHRvIHRoZSB3YXkgdGhhdCByZWFsbS1yb3V0ZWQgcmVxdWVzdHMgYXJl
IGhhbmRsZWQgaW4gRGlhbWV0ZXJcbiAgICAgIG5ldHdvcmtzIHdpdGggdGhlIHNlcnZlciBz
ZWxlY3Rpb24gZm9yIHRoZSByZXF1ZXN0IGRvbmUgYnkgYW5cbiAgICAgIGFnZW50LCBuZXR3
b3JrIG9wZXJhdG9ycyBzaG91bGQgZW5hYmxlIERPSUMgYXQgYWdlbnRzIHRoYXQgcGVyZm9y
bVxuICAgICAgc2VydmVyIHNlbGVjdGlvbiBmaXJzdC5cblxuXG5cbktvcmhvbmVuLCBldCBh
bC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdl
IDM0XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAg
ICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgVG9wb2xvZ3kgSGlkaW5nIElu
dGVyYWN0aW9uc1xuXG4gICAgICBUaGVyZSBleGlzdCBwcm94aWVzIHRoYXQgaW1wbGVtZW50
IHdoYXQgaXMgcmVmZXJyZWQgdG8gYXMgVG9wb2xvZ3lcbiAgICAgIEhpZGluZy4gIFRoaXMg
Y2FuIGluY2x1ZGUgY2FzZXMgd2hlcmUgdGhlIGFnZW50IG1vZGlmaWVzIHRoZVxuICAgICAg
T3JpZ2luLUhvc3QgaW4gYW5zd2VyIG1lc3NhZ2VzLiAgVGhlIGJlaGF2aW9yIG9mIHRoZSBE
T0lDIHNvbHV0aW9uXG4gICAgICBpcyBub3Qgd2VsbCB1bmRlcnN0b29kIHdoZW4gdGhpcyBo
YXBwZW5zLiAgQXMgc3VjaCwgdGhlIERPSUNcbiAgICAgIHNvbHV0aW9uIGRvZXMgbm90IGFk
ZHJlc3MgdGhpcyBzY2VuYXJpby5cblxuQXBwZW5kaXggQy4gIFJlcXVpcmVtZW50cyBDb25m
b3JtYW5jZSBBbmFseXNpc1xuXG4gICBUaGlzIHNlY3Rpb24gY29udGFpbnMgdGhlIHJlc3Vs
dCBvZiBhbiBhbmFseXNpcyBvZiB0aGUgRE9JQyBzb2x1dGlvbnNcbiAgIGNvbmZvcm1hbmNl
IHRvIHRoZSByZXF1aXJlbWVudHMgZGVmaW5lZCBpbiBbUkZDNzA2OF0uXG5cbkMuMS4gIERl
ZmVycmVkIFJlcXVpcmVtZW50c1xuXG4gICBUaGUgM0dQUCBoYXMgYWRvcHRlZCBhbiBlYXJs
eSB2ZXJzaW9uIG9mIHRoaXMgZG9jdW1lbnQgYXMgbm9ybWF0aXZlXG4gICByZWZlcmVuY2Vz
IGluIHZhcmlvdXMgRGlhbWV0ZXIgcmVsYXRlZCBzcGVjaWZpY2F0aW9ucyB0byBzdXBwb3J0
IHRoZVxuICAgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gaW4gdGhlaXIgcmVsZWFzZSAx
MiBmcmFtZXdvcmsuICBUaGUgRElNRVxuICAgd29ya2luZyBncm91cCBoYXMgdGhlcmVmb3Jl
IGRlY2lkZWQgdG8gZGVmZXIgY2VydGFpbiByZXF1aXJlbWVudHMgaW5cbiAgIG9yZGVyIHRv
IGNvbXBsZXRlIHRoZSBkZXNpZ24gb2YgYW4gZXh0ZW5zaWJsZSwgZ2VuZXJpYyBzb2x1dGlv
blxuICAgYmVmb3JlIHRoZSBkZWFkbGluZSBzY2hlZHVsZWQgYnkgdGhlIDNHUFAgZm9yIHRo
ZSBjb21wbGV0aW9uIG9mIHRoZVxuICAgcmVsZWFzZSAxMiBwcm90b2NvbCB3b3JrIGJ5IHRo
ZSBlbmQgb2YgMjAxNC4gIFRoZSBkZWZlcnJlZCB3b3JrXG4gICBpbmNsdWRlcyB0aGUgZm9s
bG93aW5nOlxuXG4gICBvICBBZ2VudCBPdmVybG9hZCAtIFRoZSBhYmlsaXR5IGZvciBhbiBh
Z2VudCB0byByZXBvcnQgYW4gb3ZlcmxvYWRcbiAgICAgIGNvbmRpdGlvbiBvZiB0aGUgYWdl
bnQgaXRzZWxmLlxuXG4gICBvICBMb2FkIEluZm9ybWF0aW9uIC0gVGhlIGFiaWxpdHkgZm9y
IGEgbm9kZSB0byByZXBvcnQgaXRzIGxvYWQgbGV2ZWxcbiAgICAgIHdoZW4gbm90IG92ZXJs
b2FkZWQuXG5cbiAgIEF0IHRoZSB0aW1lIG9mIHRoaXMgd3JpdGluZywgRElNRSBoYXMgYmVn
dW4gc2VwYXJhdGUgd29yayBlZmZvcnRzIGZvclxuICAgdGhlc2UgcmVxdWlyZW1lbnRzLlxu
XG5DLjIuICBEZXRlY3Rpb24gb2Ygbm9uLXN1cHBvcnRpbmcgSW50ZXJtZWRpYXJpZXNcblxu
ICAgVGhlIERPSUMgbWVjaGFuaXNtIGFzIGN1cnJlbnRseSBkZWZpbmVkIGRvZXMgbm90IGFs
bG93IHN1cHBvcnRpbmdcbiAgIG5vZGVzIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdo
ZXRoZXIgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIG9yIE9DLVxuICAgT0xSIEFWUHMgYXJlIG9y
aWdpbmF0ZWQgYnkgYSBwZWVyIG5vZGUsIG9yIGJ5IGEgbm9uLXBlZXIgbm9kZSBhbmRcbiAg
IHNlbnQgYWNyb3NzIGEgbm9uLXN1cHBvcnRpbmcgcGVlci4gIFRoaXMgbWFrZXMgaXQgaW1w
b3NzaWJsZSB0b1xuICAgZGV0ZWN0IHRoZSBwcmVzZW5jZSBvZiBub24tc3VwcG9ydGluZyBu
b2RlcyBiZXR3ZWVuIHN1cHBvcnRpbmcgbm9kZXMsXG4gICBleGNlcHQgYnkgY29uZmlndXJh
dGlvbi4gIFRoZSB3b3JraW5nIGdyb3VwIGRldGVybWluZWQgdGhhdCBzdWNoIGFcbiAgIGNv
bmZpZ3VyYXRpb24gcmVxdWlyZW1lbnQgaXMgYWNjZXB0YWJsZS5cblxuICAgVGhpcyBsaW1p
dHMgZnVsbCBjb21wbGlhbmNlIHdpdGggY2VydGFpbiByZXF1aXJlbWVudHMgcmVsYXRlZCB0
byB0aGVcbiAgIGxpbWl0YXRpb24gb2YgbmV3IGNvbmZpZ3VyYXRpb24sIGRlcGxveW1lbnQg
aW4gZW52aXJvbm1lbnRzIHdpdGhcbiAgIG1peGVkIHN1cHBvcnQsIG9wZXJhdGluZyBhY3Jv
c3Mgbm9uLXN1cHBvcnRpbmcgYWdlbnRzLCBhbmRcbiAgIGF1dGhvcml6YXRpb24uXG5cblxu
XG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDM1XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
ICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuQy4z
LiAgSW1wbGljaXQgQXBwbGljYXRpb24gSW5kaWNhdGlvblxuXG4gICBUaGUgd29ya2luZyBn
cm91cCBlbGVjdGVkIHRvIGRldGVybWluZSB0aGUgYXBwbGljYXRpb24gZm9yIGFuXG4gICBv
dmVybG9hZCByZXBvcnQgZnJvbSB0aGF0IG9mIHRoZSBlbmNsb3NpbmcgbWVzc2FnZS4gIFRo
aXMgcHJldmVudHNcbiAgIHNlbmRpbmcgYW4gT0xSIGZvciBhbiBhcHBsaWNhdGlvbiB3aGVu
IHRoZXJlIGFyZSBubyB0cmFuc2FjdGlvbnMgZm9yXG4gICB0aGF0IGFwcGxpY2F0aW9uLlxu
XG4gICBBcyBhIGNvbnNlcXVlbmNlLCBET0lDIGRvZXMgbm90IGNvbXBseSB3aXRoIHRoZSBy
ZXF1aXJlbWVudCB0byBiZVxuICAgYWJsZSB0byByZXBvcnQgb3ZlcmxvYWQgaW5mb3JtYXRp
b24gYWNyb3NzIHF1aWVzY2VudCBjb25uZWN0aW9ucy5cbiAgIERPSUMgZG9lcyBub3QgZnVs
bHkgY29tcGx5IHdpdGggcmVxdWlyZW1lbnRzIHRvIG9wZXJhdGUgb24gdXAtdG8tZGF0ZVxu
ICAgaW5mb3JtYXRpb24sIHNpbmNlIGlmIGFuIE9MUiBjYXVzZXMgYWxsIHRyYW5zYWN0aW9u
cyB0byBzdG9wIGZvciBhblxuICAgYXBwbGljYXRpb24sIHRoZSBvbmx5IHdheSB0cmFmZmlj
IHdpbGwgcmVzdW1lIGlzIGZvciB0aGUgT0xSIHRvXG4gICBleHBpcmUuXG5cbkMuNC4gIFN0
YXRlbGVzcyBPcGVyYXRpb25cblxuICAgUkZDNzA2OCBleHBsaWNpdGx5IGRpc2NvdXJhZ2Vz
IHRoZSBzZW5kaW5nIG9mIE9MUnMgaW4gZXZlcnkgYW5zd2VyXG4gICBtZXNzYWdlLCBhcyBw
YXJ0IG9mIHRoZSByZXF1aXJlbWVudCB0byBhdm9pZCBhZGRpdGlvbmFsIHdvcmsgZm9yXG4g
ICBvdmVybG9hZGVkIG5vZGVzLiAgRE9JQyByZWNvbW1lbmRzIGV4YWN0bHkgdGhhdCBiZWhh
dmlvciBkdXJpbmdcbiAgIGFjdGl2ZSBvdmVybG9hZCBjb25kaXRpb25zLiAgVGhlIHdvcmtp
bmcgZ3JvdXAgZGV0ZXJtaW5lZCB0aGF0IGRvaW5nXG4gICBvdGhlcndpc2Ugd291bGQgcmVk
dWNlIHJlbGlhYmlsaXR5IGFuZCBpbmNyZWFzZSBzdGF0ZWZ1bG5lc3MuICAoTm90ZVxuICAg
dGhhdCBET0lDIGRvZXMgYWxsb3cgbm9kZXMgdG8gYXZvaWQgc2VuZGluZyBPTFJzIGluIGV2
ZXJ5IGFuc3dlciBpZlxuICAgdGhleSBoYXZlIHNvbWUgb3RoZXIgbWV0aG9kIG9mIGVuc3Vy
aW5nIHRoYXQgT0xScyBnZXQgdG8gYWxsIHJlbGV2YW50XG4gICByZWFjdGluZyBub2Rlcy4p
XG5cbkMuNS4gIE5vIE5ldyBWdWxuZXJhYmlsaXRpZXNcblxuICAgVGhlIHdvcmtpbmcgZ3Jv
dXAgYmVsaWV2ZXMgdGhhdCBET0lDIGlzIGNvbXBsaWFudCB3aXRoIHRoZVxuICAgcmVxdWly
ZW1lbnQgdG8gYXZvaWQgaW50cm9kdWNpbmcgbmV3IHZ1bG5lcmFiaWxpdGllcy4gIEhvd2V2
ZXIsIHRoaXNcbiAgIHJlcXVpcmVtZW50IG1heSB3YXJyYW50IGFuIGVhcmx5IHNlY3VyaXR5
IGV4cGVydCByZXZpZXcuXG5cbkMuNi4gIERldGFpbGVkIFJlcXVpcmVtZW50c1xuXG4gICBb
UkZDIEVkaXRvcjogUGxlYXNlIHJlbW92ZSB0aGlzIHNlY3Rpb24gYW5kIHN1YnNlY3Rpb25z
IHByaW9yIHRvXG4gICBwdWJsaWNhdGlvbiBhcyBhbiBSRkMuXVxuXG5DLjYuMS4gIEdlbmVy
YWxcblxuICAgUkVRIDE6ICBUaGUgc29sdXRpb24gTVVTVCBwcm92aWRlIGEgY29tbXVuaWNh
dGlvbiBtZXRob2QgZm9yIERpYW1ldGVyXG4gICAgICAgICAgIG5vZGVzIHRvIGV4Y2hhbmdl
IGxvYWQgYW5kIG92ZXJsb2FkIGluZm9ybWF0aW9uLlxuXG4gICAgICAgICAgICpQYXJ0aWFs
bHkgQ29tcGxpYW50Ki4gVGhlIG1lY2hhbmlzbSB1c2VzIG5ldyBBVlBzXG4gICAgICAgICAg
IHBpZ2d5YmFja2VkIG9uIGV4aXN0aW5nIERpYW1ldGVyIG1lc3NhZ2VzIHRvIGV4Y2hhbmdl
XG4gICAgICAgICAgIG92ZXJsb2FkIGluZm9ybWF0aW9uLiAgSXQgZG9lcyBub3QgY3VycmVu
dGx5IHN1cHBvcnQgImxvYWQiXG4gICAgICAgICAgIGluZm9ybWF0aW9uIG9yIHRoZSBhYmls
aXR5IHRvIHJlcG9ydCBvdmVybG9hZCBvZiBhbiBhZ2VudC5cbiAgICAgICAgICAgVGhlc2Ug
aGF2ZSBiZWVuIGxlZnQgZm9yIGZ1dHVyZSBleHRlbnNpb25zLlxuXG5cblxuXG5cbktvcmhv
bmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDM2XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERP
SUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgUkVRIDI6ICBU
aGUgc29sdXRpb24gTVVTVCBhbGxvdyBEaWFtZXRlciBub2RlcyB0byBzdXBwb3J0IG92ZXJs
b2FkXG4gICAgICAgICAgIGNvbnRyb2wgcmVnYXJkbGVzcyBvZiB3aGljaCBEaWFtZXRlciBh
cHBsaWNhdGlvbnMgdGhleVxuICAgICAgICAgICBzdXBwb3J0LiAgRGlhbWV0ZXIgY2xpZW50
cyBhbmQgYWdlbnRzIG11c3QgYmUgYWJsZSB0byB1c2UgdGhlXG4gICAgICAgICAgIHJlY2Vp
dmVkIGxvYWQgYW5kIG92ZXJsb2FkIGluZm9ybWF0aW9uIHRvIHN1cHBvcnQgZ3JhY2VmdWxc
biAgICAgICAgICAgYmVoYXZpb3IgZHVyaW5nIGFuIG92ZXJsb2FkIGNvbmRpdGlvbi4gIEdy
YWNlZnVsIGJlaGF2aW9yXG4gICAgICAgICAgIHVuZGVyIG92ZXJsb2FkIGNvbmRpdGlvbnMg
aXMgYmVzdCBkZXNjcmliZWQgYnkgUkVRIDMuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBD
b21wbGlhbnQqLiBUaGUgRE9JQyBBVlBzIGNhbiBiZSB1c2VkIGluIGFueVxuICAgICAgICAg
ICBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyB0aGUgZXh0ZW5zaW9uIG9mIEFWUHMuICBIb3dl
dmVyLFxuICAgICAgICAgICAibG9hZCIgaW5mb3JtYXRpb24gaXMgbm90IGN1cnJlbnRseSBz
dXBwb3J0ZWQuXG5cblxuXG4gICBSRVEgMzogIFRoZSBzb2x1dGlvbiBNVVNUIGxpbWl0IHRo
ZSBpbXBhY3Qgb2Ygb3ZlcmxvYWQgb24gdGhlIG92ZXJhbGxcbiAgICAgICAgICAgdXNlZnVs
IHRocm91Z2hwdXQgb2YgYSBEaWFtZXRlciBzZXJ2ZXIsIGV2ZW4gd2hlbiB0aGVcbiAgICAg
ICAgICAgaW5jb21pbmcgbG9hZCBvbiB0aGUgbmV0d29yayBpcyBmYXIgaW4gZXhjZXNzIG9m
IGl0c1xuICAgICAgICAgICBjYXBhY2l0eS4gIFRoZSBvdmVyYWxsIHVzZWZ1bCB0aHJvdWdo
cHV0IHVuZGVyIGxvYWQgaXMgdGhlXG4gICAgICAgICAgIHVsdGltYXRlIG1lYXN1cmUgb2Yg
dGhlIHZhbHVlIG9mIGEgc29sdXRpb24uXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERP
SUMgcHJvdmlkZXMgaW5mb3JtYXRpb24gdGhhdCBub2RlcyBjYW4gdXNlIHRvXG4gICAgICAg
ICAgIHJlZHVjZSB0aGUgaW1wYWN0IG9mIG92ZXJsb2FkLlxuXG5cblxuICAgUkVRIDQ6ICBE
aWFtZXRlciBhbGxvd3MgcmVxdWVzdHMgdG8gYmUgc2VudCBmcm9tIGVpdGhlciBzaWRlIG9m
IGFcbiAgICAgICAgICAgY29ubmVjdGlvbiwgYW5kIGVpdGhlciBzaWRlIG9mIGEgY29ubmVj
dGlvbiBtYXkgaGF2ZSBuZWVkIHRvXG4gICAgICAgICAgIHByb3ZpZGUgaXRzIG92ZXJsb2Fk
IHN0YXR1cy4gIFRoZSBzb2x1dGlvbiBNVVNUIGFsbG93IGVhY2hcbiAgICAgICAgICAgc2lk
ZSBvZiBhIGNvbm5lY3Rpb24gdG8gaW5kZXBlbmRlbnRseSBpbmZvcm0gdGhlIG90aGVyIG9m
IGl0c1xuICAgICAgICAgICBvdmVybG9hZCBzdGF0dXMuXG5cbiAgICAgICAgICAgKkNvbXBs
aWFudCouIERPSUMgQVZQcyBjYW4gYmUgaW5jbHVkZWQgcmVnYXJkbGVzcyBvZlxuICAgICAg
ICAgICB0cmFuc2FjdGlvbiAiZGlyZWN0aW9uIlxuXG5cblxuICAgUkVRIDU6ICBEaWFtZXRl
ciBhbGxvd3Mgbm9kZXMgdG8gZGV0ZXJtaW5lIHRoZWlyIHBlZXJzIHZpYSBkeW5hbWljXG4g
ICAgICAgICAgIGRpc2NvdmVyeSBvciBtYW51YWwgY29uZmlndXJhdGlvbi4gIFRoZSBzb2x1
dGlvbiBNVVNUIHdvcmtcbiAgICAgICAgICAgY29uc2lzdGVudGx5IHdpdGhvdXQgcmVnYXJk
IHRvIGhvdyBwZWVycyBhcmUgZGV0ZXJtaW5lZC5cblxuICAgICAgICAgICAqQ29tcGxpYW50
Ki4gRE9JQyBjb250YWlucyBubyBhc3N1bXB0aW9ucyBhYm91dCBob3cgcGVlcnMgYXJlXG4g
ICAgICAgICAgIGRpc2NvdmVyZWQuXG5cblxuXG4gICBSRVEgNjogIFRoZSBzb2x1dGlvbiBk
ZXNpZ25lcnMgU0hPVUxEIHNlZWsgdG8gbWluaW1pemUgdGhlIGFtb3VudCBvZlxuICAgICAg
ICAgICBuZXcgY29uZmlndXJhdGlvbiByZXF1aXJlZCBpbiBvcmRlciB0byB3b3JrLiAgRm9y
IGV4YW1wbGUsIGl0XG4gICAgICAgICAgIGlzIGJldHRlciB0byBhbGxvdyBwZWVycyB0byBh
ZHZlcnRpc2Ugb3IgbmVnb3RpYXRlIHN1cHBvcnRcblxuXG5cblxuS29yaG9uZW4sIGV0IGFs
LiAgICAgICAgICBFeHBpcmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2Ug
MzddXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAg
ICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICAgICAgIGZvciB0aGUgc29s
dXRpb24sIHJhdGhlciB0aGFuIHRvIHJlcXVpcmUgdGhhdCB0aGlzIGtub3dsZWRnZVxuICAg
ICAgICAgICB0byBiZSBjb25maWd1cmVkIGF0IGVhY2ggbm9kZS5cblxuICAgICAgICAgICAq
UGFydGlhbGx5IENvbXBsaWFudCouIE1vc3QgRE9JQyBwYXJhbWV0ZXJzIGFyZSBhZHZlcnRp
c2VkXG4gICAgICAgICAgIHVzaW5nIHRoZSBET0lDIGNhcGFiaWxpdHkgYW5ub3VuY2VtZW50
IG1lY2hhbmlzbS4gIEhvd2V2ZXIsXG4gICAgICAgICAgIHRoZXJlIGFyZSBzb21lIHNpdHVh
dGlvbnMgd2hlcmUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZC5cbiAgICAgICAgICAgRm9y
IGV4YW1wbGUsIGEgRE9JQyBub2RlIGRldGVjdCB0aGUgZmFjdCB0aGF0IGEgcGVlciBtYXkg
bm90XG4gICAgICAgICAgIHN1cHBvcnQgRE9JQyB3aGVuIG5vZGVzIG9uIHRoZSBvdGhlciBz
aWRlIG9mIHRoZSBub24tXG4gICAgICAgICAgIHN1cHBvcnRpbmcgbm9kZSBkbyBzdXBwb3J0
IERPSUMgd2l0aG91dCBjb25maWd1cmF0aW9uLlxuXG5cblxuQy42LjIuICBQZXJmb3JtYW5j
ZVxuXG4gICBSRVEgNzogIFRoZSBzb2x1dGlvbiBhbmQgYW55IGFzc29jaWF0ZWQgZGVmYXVs
dCBhbGdvcml0aG0ocykgTVVTVFxuICAgICAgICAgICBlbnN1cmUgdGhhdCB0aGUgc3lzdGVt
IHJlbWFpbnMgc3RhYmxlLiAgQXQgc29tZSBwb2ludCBhZnRlclxuICAgICAgICAgICBhbiBv
dmVybG9hZCBjb25kaXRpb24gaGFzIGVuZGVkLCB0aGUgc29sdXRpb24gTVVTVCBlbmFibGVc
biAgICAgICAgICAgY2FwYWNpdHkgdG8gc3RhYmlsaXplIGFuZCBiZWNvbWUgZXF1YWwgdG8g
d2hhdCBpdCB3b3VsZCBiZSBpblxuICAgICAgICAgICB0aGUgYWJzZW5jZSBvZiBhbiBvdmVy
bG9hZCBjb25kaXRpb24uICBOb3RlIHRoYXQgdGhpcyBhbHNvXG4gICAgICAgICAgIHJlcXVp
cmVzIHRoYXQgdGhlIHNvbHV0aW9uIE1VU1QgYWxsb3cgbm9kZXMgdG8gc2hlZCBsb2FkXG4g
ICAgICAgICAgIHdpdGhvdXQgaW50cm9kdWNpbmcgbm9uLWNvbnZlcmdpbmcgb3NjaWxsYXRp
b25zIGR1cmluZyBvclxuICAgICAgICAgICBhZnRlciBhbiBvdmVybG9hZCBjb25kaXRpb24u
XG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSBzcGVjaWZpY2F0aW9uIG9mZmVycyBn
dWlkYW5jZSB0aGF0XG4gICAgICAgICAgIGltcGxlbWVudGF0aW9ucyBzaG91bGQgYXBwbHkg
aHlzdGVyZXNpcyB3aGVuIHJlY292ZXJpbmcgZnJvbVxuICAgICAgICAgICBvdmVybG9hZCwg
YW5kIGF2b2lkIHN1ZGRlbiByYW1wIHVwcyBpbiBvZmZlcmVkIGxvYWQgd2hlblxuICAgICAg
ICAgICByZWNvdmVyaW5nLlxuXG5cblxuICAgUkVRIDg6ICBTdXBwb3J0aW5nIG5vZGVzIE1V
U1QgYmUgYWJsZSB0byBkaXN0aW5ndWlzaCBjdXJyZW50IG92ZXJsb2FkXG4gICAgICAgICAg
IGluZm9ybWF0aW9uIGZyb20gc3RhbGUgaW5mb3JtYXRpb24uXG5cbiAgICAgICAgICAgKlBh
cnRpYWxseSBDb21wbGlhbnQqLiBET0lDIG92ZXJsb2FkIHJlcG9ydHMgYXJlICJzb2Z0XG4g
ICAgICAgICAgIHN0YXRlIiwgdGhhdCBpcyB0aGV5IGV4cGlyZSBhZnRlciBhbiBpbmRpY2F0
ZWQgcGVyaW9kLiAgRE9JQ1xuICAgICAgICAgICBub2RlcyBtYXkgYWxzbyBzZW5kIHJlcG9y
dHMgdGhhdCBlbmQgZXhpc3Rpbmcgb3ZlcmxvYWRcbiAgICAgICAgICAgY29uZGl0aW9ucy4g
IERPSUMgcmVxdWlyZXMgcmVwb3J0aW5nIG5vZGVzIHRvIGVuc3VyZSB0aGF0IGFsbFxuICAg
ICAgICAgICByZWxldmFudCByZWFjdGluZyBub2RlcyByZWNlaXZlIG92ZXJsb2FkIHJlcG9y
dHMuXG5cbiAgICAgICAgICAgSG93ZXZlciwgc2luY2UgRE9JQyBkb2VzIG5vdCBhbGxvdyBy
ZXBvcnRpbmcgbm9kZXMgdG8gc2VuZFxuICAgICAgICAgICBPTFJzIGluIHdhdGNoZG9nIG1l
c3NhZ2VzLCBpZiBhbiBvdmVybG9hZCBjb25kaXRpb24gcmVzdWx0c1xuICAgICAgICAgICBp
biB6ZXJvIG9mZmVyZWQgbG9hZCwgdGhlIHJlcG9ydGluZyBub2RlIGNhbm5vdCB1cGRhdGUg
dGhlXG4gICAgICAgICAgIGNvbmRpdGlvbiB1bnRpbCB0aGUgZXhwaXJhdGlvbiBvZiB0aGUg
b3JpZ2luYWwgT0xSLlxuXG5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAg
ICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDM4XVxuX1xu
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAg
ICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgUkVRIDk6ICBUaGUgc29sdXRpb24gTVVTVCBm
dW5jdGlvbiBhY3Jvc3MgZnVsbHkgbG9hZGVkIGFzIHdlbGwgYXNcbiAgICAgICAgICAgcXVp
ZXNjZW50IHRyYW5zcG9ydCBjb25uZWN0aW9ucy4gIFRoaXMgaXMgcGFydGlhbGx5IGRlcml2
ZWRcbiAgICAgICAgICAgZnJvbSB0aGUgcmVxdWlyZW1lbnQgZm9yIHN0YWJpbGl0eSBpbiBS
RVEgNy5cblxuICAgICAgICAgICAqTm90IENvbXBsaWFudCouIERPSUMgZG9lcyBub3QgYWxs
b3cgT0xScyB0byBiZSBzZW50IG92ZXJcbiAgICAgICAgICAgcXVpZXNjZW50IHRyYW5zcG9y
dCBjb25uZWN0aW9ucy4gIFRoaXMgaXMgZHVlIHRvIHRoZSBmYWN0XG4gICAgICAgICAgIHRo
YXQgT0xScyBjYW5ub3QgYmUgc2VudCBvdXRzaWRlIG9mIHRoZSBhcHBsaWNhdGlvbiB0byB3
aGljaFxuICAgICAgICAgICB0aGV5IGFwcGx5LlxuXG5cblxuICAgUkVRIDEwOiBDb25zdW1l
cnMgb2Ygb3ZlcmxvYWQgaW5mb3JtYXRpb24gTVVTVCBiZSBhYmxlIHRvIGRldGVybWluZVxu
ICAgICAgICAgICB3aGVuIHRoZSBvdmVybG9hZCBjb25kaXRpb24gaW1wcm92ZXMgb3IgZW5k
cy5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIChTZWUgcmVzcG9uc2Ug
dG8gcHJldmlvdXMgdHdvXG4gICAgICAgICAgIHJlcXVpcmVtZW50cy4pXG5cblxuXG4gICBS
RVEgMTE6IFRoZSBzb2x1dGlvbiBNVVNUIGJlIGFibGUgdG8gb3BlcmF0ZSBpbiBuZXR3b3Jr
cyBvZiBkaWZmZXJlbnRcbiAgICAgICAgICAgc2l6ZXMuXG5cbiAgICAgICAgICAgKkNvbXBs
aWFudCouIERPSUMgbWFrZXMgbm8gYXNzdW1wdGlvbnMgYWJvdXQgdGhlIHNpemUgb2YgdGhl
XG4gICAgICAgICAgIG5ldHdvcmsuICBET0lDIGNhbiBvcGVyYXRlIHB1cmVseSBiZXR3ZWVu
IGNsaWVudHMgYW5kXG4gICAgICAgICAgIHNlcnZlcnMsIG9yIGFjcm9zcyBhZ2VudHMuXG5c
blxuXG4gICBSRVEgMTI6IFdoZW4gYSBzaW5nbGUgbmV0d29yayBub2RlIGZhaWxzLCBnb2Vz
IGludG8gb3ZlcmxvYWQsIG9yXG4gICAgICAgICAgIHN1ZmZlcnMgZnJvbSByZWR1Y2VkIHBy
b2Nlc3NpbmcgY2FwYWNpdHksIHRoZSBzb2x1dGlvbiBNVVNUXG4gICAgICAgICAgIG1ha2Ug
aXQgcG9zc2libGUgdG8gbGltaXQgdGhlIGltcGFjdCBvZiB0aGUgYWZmZWN0ZWQgbm9kZSBv
blxuICAgICAgICAgICBvdGhlciBub2RlcyBpbiB0aGUgbmV0d29yay4gIFRoaXMgaGVscHMg
dG8gcHJldmVudCBhIHNtYWxsLVxuICAgICAgICAgICBzY2FsZSBmYWlsdXJlIGZyb20gYmVj
b21pbmcgYSB3aWRlc3ByZWFkIG91dGFnZS5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENv
bXBsaWFudCouIERPSUMgYWxsb3dzIG92ZXJsb2FkIHJlcG9ydHMgZm9yIGFuXG4gICAgICAg
ICAgIGVudGlyZSByZWFsbSwgd2hlcmUgYWJhdGVkIHRyYWZmaWMgd2lsbCBub3QgYmUgcmVk
aXJlY3RlZFxuICAgICAgICAgICB0b3dhcmRzIGFub3RoZXIgc2VydmVyLiAgQnV0IGluIHNp
dHVhdGlvbnMgd2hlcmUgbm9kZXMgY2hvb3NlXG4gICAgICAgICAgIHRvIGRpdmVydCB0cmFm
ZmljIHRvIG90aGVyIG5vZGVzLCBET0lDIG9mZmVycyBubyB3YXkgb2ZcbiAgICAgICAgICAg
a25vd2luZyB3aGV0aGVyIHRoZSBuZXcgcmVjaXBpZW50cyBjYW4gaGFuZGxlIHRoZSB0cmFm
ZmljIGlmXG4gICAgICAgICAgIHRoZXkgaGF2ZSBub3QgYWxyZWFkeSBpbmRpY2F0ZWQgb3Zl
cmxvYWQuICBUaGlzIG1heSBiZVxuICAgICAgICAgICBtaXRpZ2F0ZWQgd2l0aCB0aGUgdXNl
IG9mIGEgZnV0dXJlICJsb2FkIiBleHRlbnNpb24sIG9yIHdpdGhcbiAgICAgICAgICAgdGhl
IHVzZSBvZiBwcm9wcmlldGFyeSBkeW5hbWljIGxvYWQtYmFsYW5jaW5nIG1lY2hhbmlzbXMu
XG5cblxuXG4gICBSRVEgMTM6IFRoZSBzb2x1dGlvbiBNVVNUIE5PVCBpbnRyb2R1Y2Ugc3Vi
c3RhbnRpYWwgYWRkaXRpb25hbCB3b3JrXG4gICAgICAgICAgIGZvciBhIG5vZGUgaW4gYW4g
b3ZlcmxvYWRlZCBzdGF0ZS4gIEZvciBleGFtcGxlLCBhXG4gICAgICAgICAgIHJlcXVpcmVt
ZW50IGZvciBhbiBvdmVybG9hZGVkIG5vZGUgdG8gc2VuZCBvdmVybG9hZFxuXG5cblxuS29y
aG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMzAsIDIwMTUgICAgICAgICAg
ICAgICAgW1BhZ2UgMzldXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
RE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICAgICAg
IGluZm9ybWF0aW9uIGV2ZXJ5IHRpbWUgaXQgcmVjZWl2ZWQgYSBuZXcgcmVxdWVzdCB3b3Vs
ZFxuICAgICAgICAgICBpbnRyb2R1Y2Ugc3Vic3RhbnRpYWwgd29yay5cblxuICAgICAgICAg
ICAqTm90IENvbXBsaWFudCouIERPSUMgZG9lcyBpbiBmYWN0IGVuY291cmFnZSBhbiBvdmVy
bG9hZGVkXG4gICAgICAgICAgIG5vZGUgdG8gc2VuZCBhbiBPTFIgaW4gZXZlcnkgcmVzcG9u
c2UuICBUaGUgd29ya2luZyBncm91cFxuICAgICAgICAgICB0aGF0IG90aGVyIG1lY2hhbmlz
bXMgdG8gZW5zdXJlIHRoYXQgZXZlcnkgcmVsZXZhbnQgbm9kZVxuICAgICAgICAgICByZWNl
aXZlcyBhbiBPTFIgd291bGQgY3JlYXRlIGV2ZW4gbW9yZSB3b3JrLiAgW05vdGU6IFRoaXNc
biAgICAgICAgICAgbmVlZHMgZGlzY3Vzc2lvbi5dXG5cblxuXG4gICBSRVEgMTQ6IFNvbWUg
c2NlbmFyaW9zIHRoYXQgcmVzdWx0IGluIG92ZXJsb2FkIGludm9sdmUgYSByYXBpZFxuICAg
ICAgICAgICBpbmNyZWFzZSBvZiB0cmFmZmljIHdpdGggbGl0dGxlIHRpbWUgYmV0d2VlbiBu
b3JtYWwgbGV2ZWxzXG4gICAgICAgICAgIGFuZCBsZXZlbHMgdGhhdCBpbmR1Y2Ugb3Zlcmxv
YWQuICBUaGUgc29sdXRpb24gU0hPVUxEIHByb3ZpZGVcbiAgICAgICAgICAgZm9yIHJhcGlk
IGZlZWRiYWNrIHdoZW4gdHJhZmZpYyBsZXZlbHMgaW5jcmVhc2UuXG5cbiAgICAgICAgICAg
KkNvbXBsaWFudCouIFRoZSBwaWdneWJhY2sgbWVjaGFuaXNtIGFsbG93cyBPTFJzIHRvIGJl
IHNlbnRcbiAgICAgICAgICAgYXQgdGhlIHNhbWUgcmF0ZSBhcyBhcHBsaWNhdGlvbiB0cmFm
ZmljLlxuXG5cblxuICAgUkVRIDE1OiBUaGUgc29sdXRpb24gTVVTVCBOT1QgaW50ZXJmZXJl
IHdpdGggdGhlIGNvbmdlc3Rpb24gY29udHJvbFxuICAgICAgICAgICBtZWNoYW5pc21zIG9m
IHVuZGVybHlpbmcgdHJhbnNwb3J0IHByb3RvY29scy4gIEZvciBleGFtcGxlLCBhXG4gICAg
ICAgICAgIHNvbHV0aW9uIHRoYXQgb3BlbmVkIGFkZGl0aW9uYWwgVENQIGNvbm5lY3Rpb25z
IHdoZW4gdGhlXG4gICAgICAgICAgIG5ldHdvcmsgaXMgY29uZ2VzdGVkIHdvdWxkIHJlZHVj
ZSB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGVcbiAgICAgICAgICAgdW5kZXJseWluZyBjb25n
ZXN0aW9uIGNvbnRyb2wgbWVjaGFuaXNtcy5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4g
RE9JQyBkb2VzIG5vdCByZXF1aXJlIG9yIHJlY29tbWVuZCBjaGFuZ2VzIGluXG4gICAgICAg
ICAgIHRoZSBoYW5kbGluZyBvZiB0cmFuc3BvcnQgcHJvdG9jb2xzIG9yIGNvbm5lY3Rpb25z
LlxuXG5cblxuQy42LjMuICBIZXRlcm9nZW5lb3VzIFN1cHBvcnQgZm9yIFNvbHV0aW9uXG5c
biAgIFJFUSAxNjogVGhlIHNvbHV0aW9uIGlzIGxpa2VseSB0byBiZSBkZXBsb3llZCBpbmNy
ZW1lbnRhbGx5LiAgVGhlXG4gICAgICAgICAgIHNvbHV0aW9uIE1VU1Qgc3VwcG9ydCBhIG1p
eGVkIGVudmlyb25tZW50IHdoZXJlIHNvbWUsIGJ1dCBub3RcbiAgICAgICAgICAgYWxsLCBu
b2RlcyBpbXBsZW1lbnQgaXQuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQq
LiBET0lDIHdvcmtzIHdpdGggbW9zdCBtaXhlZC1kZXBsb3ltZW50XG4gICAgICAgICAgIHNj
ZW5hcmlvcy4gIEhvd2V2ZXIsIGl0IGNhbm5vdCB3b3JrIGFjcm9zcyBhIG5vbi1zdXBwb3J0
aW5nXG4gICAgICAgICAgIHByb3h5IHRoYXQgbW9kaWZpZXMgT3JpZ2luLUhvc3QgQVZQcyBp
biBhbnN3ZXIgbWVzc2FnZXMuXG4gICAgICAgICAgIERPSUMgd2lsbCBoYXZlIGxpbWl0ZWQg
aW1wYWN0IGluIG5ldHdvcmtzIHdoZXJlIHRoZSBub2Rlc1xuICAgICAgICAgICB0aGF0IHBl
cmZvcm0gc2VydmVyIHNlbGVjdGlvbnMgZG8gbm90IHN1cHBvcnQgdGhlIG1lY2hhbmlzbS5c
blxuXG5cbiAgIFJFUSAxNzogSW4gYSBtaXhlZCBlbnZpcm9ubWVudCB3aXRoIG5vZGVzIHRo
YXQgc3VwcG9ydCB0aGUgc29sdXRpb25cbiAgICAgICAgICAgYW5kIG5vZGVzIHRoYXQgZG8g
bm90LCB0aGUgc29sdXRpb24gTVVTVCBOT1QgcmVzdWx0IGluXG5cblxuXG5Lb3Job25lbiwg
ZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBb
UGFnZSA0MF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAg
ICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAgICAgICAgbWF0ZXJp
YWxseSBsZXNzIHVzZWZ1bCB0aHJvdWdocHV0IGR1cmluZyBvdmVybG9hZCBhcyB3b3VsZFxu
ICAgICAgICAgICBoYXZlIHJlc3VsdGVkIGlmIHRoZSBzb2x1dGlvbiB3ZXJlIG5vdCBwcmVz
ZW50LiAgSXQgU0hPVUxEXG4gICAgICAgICAgIHJlc3VsdCBpbiBsZXNzIHNldmVyZSBvdmVy
bG9hZCBpbiB0aGlzIGVudmlyb25tZW50LlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBJ
biBtb3N0IG1peGVkLXN1cHBvcnQgZGVwbG95bWVudCwgRE9JQyB3aWxsXG4gICAgICAgICAg
IG9mZmVyIGF0IGxlYXN0IHNvbWUgdmFsdWUsIGFuZCB3aWxsIG5vdCBtYWtlIHRoaW5ncyB3
b3JzZS5cblxuXG5cbiAgIFJFUSAxODogSW4gYSBtaXhlZCBlbnZpcm9ubWVudCBvZiBub2Rl
cyB0aGF0IHN1cHBvcnQgdGhlIHNvbHV0aW9uIGFuZFxuICAgICAgICAgICBub2RlcyB0aGF0
IGRvIG5vdCwgdGhlIHNvbHV0aW9uIE1VU1QgTk9UIHByZWNsdWRlIGVsZW1lbnRzXG4gICAg
ICAgICAgIHRoYXQgc3VwcG9ydCBvdmVybG9hZCBjb250cm9sIGZyb20gdHJlYXRpbmcgZWxl
bWVudHMgdGhhdCBkb1xuICAgICAgICAgICBub3Qgc3VwcG9ydCBvdmVybG9hZCBjb250cm9s
IGluIGFuIGVxdWl0YWJsZSBmYXNoaW9uIHJlbGF0aXZlXG4gICAgICAgICAgIHRvIHRob3Nl
IHRoYXQgZG8uICBVc2VycyBhbmQgb3BlcmF0b3JzIG9mIG5vZGVzIHRoYXQgZG8gbm90XG4g
ICAgICAgICAgIHN1cHBvcnQgdGhlIHNvbHV0aW9uIE1VU1QgTk9UIHVuZmFpcmx5IGJlbmVm
aXQgZnJvbSB0aGVcbiAgICAgICAgICAgc29sdXRpb24uICBUaGUgc29sdXRpb24gc3BlY2lm
aWNhdGlvbiBTSE9VTEQgcHJvdmlkZSBndWlkYW5jZVxuICAgICAgICAgICB0byBpbXBsZW1l
bnRlcnMgZm9yIGRlYWxpbmcgd2l0aCBlbGVtZW50cyBub3Qgc3VwcG9ydGluZ1xuICAgICAg
ICAgICBvdmVybG9hZCBjb250cm9sLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBET0lD
IHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gYWJhdGUgbG9hZCBmcm9tIG5vbi1cbiAgICAgICAg
ICAgc3VwcG9ydGluZyBzb3VyY2VzLiAgRnVydGhlcm1vcmUsIGl0IHJlY29tbWVuZHMgdGhh
dFxuICAgICAgICAgICByZXBvcnRpbmcgbm9kZXMgd2lsbCBzdGlsbCBuZWVkIHRvIGJlIGFi
bGUgdG8gYXBwbHkgd2hhdGV2ZXJcbiAgICAgICAgICAgcHJvdGVjdGlvbnMgdGhleSB3b3Vs
ZCBvcmRpbmFyaWx5IGFwcGx5IGlmIERPSUMgd2VyZSBub3QgaW5cbiAgICAgICAgICAgdXNl
LlxuXG5cblxuICAgUkVRIDE5OiBJdCBNVVNUIGJlIHBvc3NpYmxlIHRvIHVzZSB0aGUgc29s
dXRpb24gYmV0d2VlbiBub2RlcyBpblxuICAgICAgICAgICBkaWZmZXJlbnQgcmVhbG1zIGFu
ZCBpbiBkaWZmZXJlbnQgYWRtaW5pc3RyYXRpdmUgZG9tYWlucy5cblxuICAgICAgICAgICAq
UGFydGlhbGx5IENvbXBsaWFudCouIERPSUMgYWxsb3dzIHNlbmRpbmcgT0xScyBhY3Jvc3Nc
biAgICAgICAgICAgYWRtaW5pc3RyYXRpdmUgZG9tYWlucywgYW5kIHBvdGVudGlhbGx5IHRv
IG5vZGVzIGluIG90aGVyXG4gICAgICAgICAgIHJlYWxtcy4gIEhvd2V2ZXIsIGFuIE9MUiBj
YW5ub3QgaW5kaWNhdGUgb3ZlcmxvYWQgZm9yIHJlYWxtc1xuICAgICAgICAgICBvdGhlciB0
aGFuIHRoZSBvbmUgaW4gdGhlIE9yaWdpbi1SZWFsbSBBVlAgb2YgdGhlIGNvbnRhaW5pbmdc
biAgICAgICAgICAgYW5zd2VyLlxuXG5cblxuICAgUkVRIDIwOiBBbnkgZXhwbGljaXQgb3Zl
cmxvYWQgaW5kaWNhdGlvbiBNVVNUIGJlIGNsZWFybHlcbiAgICAgICAgICAgZGlzdGluZ3Vp
c2hhYmxlIGZyb20gb3RoZXIgZXJyb3JzIHJlcG9ydGVkIHZpYSBEaWFtZXRlci5cblxuICAg
ICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBzZW5kcyBleHBsaWNpdCBvdmVybG9hZCBpbmRp
Y2F0aW9uIGluXG4gICAgICAgICAgIG92ZXJsb2FkIHJlcG9ydHMuICBJdCBkb2VzIG5vdCBk
ZXBlbmQgb24gZXJyb3IgcmVzdWx0IGNvZGVzLlxuXG5cblxuICAgUkVRIDIxOiBJbiBjYXNl
cyB3aGVyZSBhIG5ldHdvcmsgbm9kZSBmYWlscywgaXMgc28gb3ZlcmxvYWRlZCB0aGF0IGl0
XG4gICAgICAgICAgIGNhbm5vdCBwcm9jZXNzIG1lc3NhZ2VzLCBvciBjYW5ub3QgY29tbXVu
aWNhdGUgZHVlIHRvIGFcblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJl
cyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQxXVxuX1xuSW50ZXJuZXQt
RHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFu
dWFyeSAyMDE1XG5cblxuICAgICAgICAgICBuZXR3b3JrIGZhaWx1cmUsIGl0IG1heSBub3Qg
YmUgYWJsZSB0byBwcm92aWRlIGV4cGxpY2l0XG4gICAgICAgICAgIGluZGljYXRpb25zIG9m
IHRoZSBuYXR1cmUgb2YgdGhlIGZhaWx1cmUgb3IgaXRzIGxldmVscyBvZlxuICAgICAgICAg
ICBvdmVybG9hZC4gIFRoZSBzb2x1dGlvbiBNVVNUIHJlc3VsdCBpbiBhdCBsZWFzdCBhcyBt
dWNoXG4gICAgICAgICAgIHVzZWZ1bCB0aHJvdWdocHV0IGFzIHdvdWxkIGhhdmUgcmVzdWx0
ZWQgaWYgdGhlIHNvbHV0aW9uIHdlcmVcbiAgICAgICAgICAgbm90IGluIHBsYWNlLlxuXG4g
ICAgICAgICAgICpDb21wbGlhbnQqLiBET0lDIG92ZXJsb2FkIHJlcG9ydHMgaGF2ZSB0aGUg
cHJpbWFyeSBlZmZlY3Qgb2ZcbiAgICAgICAgICAgc3VwcHJlc3NpbmcgbWVzc2FnZSByZXRy
aWVzIGluIG92ZXJsb2FkIGNvbmRpdGlvbnMuICBET0lDXG4gICAgICAgICAgIHJlY29tbWVu
ZHMgdGhhdCBtZXNzYWdlcyBuZXZlciBiZSBzaWxlbnRseSBkcm9wcGVkIGlmIGF0IGFsbFxu
ICAgICAgICAgICBwb3NzaWJsZS5cblxuXG5cbkMuNi40LiAgR3JhbnVsYXIgQ29udHJvbFxu
XG4gICBSRVEgMjI6IFRoZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUgYSB3YXkgZm9yIGEgbm9k
ZSB0byB0aHJvdHRsZSB0aGVcbiAgICAgICAgICAgYW1vdW50IG9mIHRyYWZmaWMgaXQgcmVj
ZWl2ZXMgZnJvbSBhIHBlZXIgbm9kZS4gIFRoaXNcbiAgICAgICAgICAgdGhyb3R0bGluZyBT
SE9VTEQgYmUgZ3JhZGVkIHNvIHRoYXQgaXQgY2FuIGJlIGFwcGxpZWRcbiAgICAgICAgICAg
Z3JhZHVhbGx5IGFzIG9mZmVyZWQgbG9hZCBpbmNyZWFzZXMuICBPdmVybG9hZCBpcyBub3Qg
YVxuICAgICAgICAgICBiaW5hcnkgc3RhdGU7IHRoZXJlIG1heSBiZSBkZWdyZWVzIG9mIG92
ZXJsb2FkLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBUaGUgImxvc3MiIGFsZ29yaXRo
bSBleHByZXNzZXMgYSBwZXJjZW50YWdlXG4gICAgICAgICAgIHJlZHVjdGlvbi5cblxuXG5c
biAgIFJFUSAyMzogVGhlIHNvbHV0aW9uIE1VU1QgcHJvdmlkZSBzdWZmaWNpZW50IGluZm9y
bWF0aW9uIHRvIGVuYWJsZSBhXG4gICAgICAgICAgIGxvYWQtYmFsYW5jaW5nIG5vZGUgdG8g
ZGl2ZXJ0IG1lc3NhZ2VzIHRoYXQgYXJlIHJlamVjdGVkIG9yXG4gICAgICAgICAgIG90aGVy
d2lzZSB0aHJvdHRsZWQgYnkgYW4gb3ZlcmxvYWRlZCB1cHN0cmVhbSBub2RlIHRvIG90aGVy
XG4gICAgICAgICAgIHVwc3RyZWFtIG5vZGVzIHRoYXQgYXJlIHRoZSBtb3N0IGxpa2VseSB0
byBoYXZlIHN1ZmZpY2llbnRcbiAgICAgICAgICAgY2FwYWNpdHkgdG8gcHJvY2VzcyB0aGVt
LlxuXG4gICAgICAgICAgICpOb3QgQ29tcGxpYW50Ki4gRE9JQyBwcm92aWRlcyBubyBidWls
dCBpbiBtZWNoYW5pc20gdG9cbiAgICAgICAgICAgZGV0ZXJtaW5lIHRoZSBiZXN0IHBsYWNl
IHRvIGRpdmVydCBtZXNzYWdlcyB0aGF0IHdvdWxkXG4gICAgICAgICAgIG90aGVyd2lzZSBi
ZSB0aHJvdHRsZWQuICBUaGlzIGNhbiBiZSBhY2NvbXBsaXNoZWQgd2l0aCBhXG4gICAgICAg
ICAgIGZ1dHVyZSAibG9hZCIgZXh0ZW5zaW9uLCBvciB3aXRoIHByb3ByaWV0YXJ5IGxvYWQg
YmFsYW5jaW5nXG4gICAgICAgICAgIG1lY2hhbmlzbXMuXG5cblxuXG4gICBSRVEgMjQ6IFRo
ZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUgYSBtZWNoYW5pc20gZm9yIGluZGljYXRpbmcgbG9h
ZFxuICAgICAgICAgICBsZXZlbHMsIGV2ZW4gd2hlbiBub3QgaW4gYW4gb3ZlcmxvYWQgY29u
ZGl0aW9uLCB0byBhc3Npc3RcbiAgICAgICAgICAgbm9kZXMgaW4gbWFraW5nIGRlY2lzaW9u
cyB0byBwcmV2ZW50IG92ZXJsb2FkIGNvbmRpdGlvbnMgZnJvbVxuICAgICAgICAgICBvY2N1
cnJpbmcuXG5cbiAgICAgICAgICAgKk5vdCBDb21wbGlhbnQqLiAiTG9hZCIgaW5mb3JtYXRp
b24gaGFzIGJlZW4gbGVmdCBmb3IgYVxuICAgICAgICAgICBmdXR1cmUgZXh0ZW5zaW9uLlxu
XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAzMCwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSA0Ml1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5c
bkMuNi41LiAgUHJpb3JpdHkgYW5kIFBvbGljeVxuXG4gICBSRVEgMjU6IFRoZSBiYXNlIHNw
ZWNpZmljYXRpb24gZm9yIHRoZSBzb2x1dGlvbiBTSE9VTEQgb2ZmZXIgZ2VuZXJhbFxuICAg
ICAgICAgICBndWlkYW5jZSBvbiB3aGljaCBtZXNzYWdlIHR5cGVzIG1pZ2h0IGJlIGRlc2ly
YWJsZSB0byBzZW5kIG9yXG4gICAgICAgICAgIHByb2Nlc3Mgb3ZlciBvdGhlcnMgZHVyaW5n
IHRpbWVzIG9mIG92ZXJsb2FkLCBiYXNlZCBvblxuICAgICAgICAgICBhcHBsaWNhdGlvbi1z
cGVjaWZpYyBjb25zaWRlcmF0aW9ucy4gIEZvciBleGFtcGxlLCBpdCBtYXkgYmVcbiAgICAg
ICAgICAgbW9yZSBiZW5lZmljaWFsIHRvIHByb2Nlc3MgbWVzc2FnZXMgZm9yIGV4aXN0aW5n
IHNlc3Npb25zXG4gICAgICAgICAgIGFoZWFkIG9mIG5ldyBzZXNzaW9ucy4gIFNvbWUgbmV0
d29ya3MgbWF5IGhhdmUgYSByZXF1aXJlbWVudFxuICAgICAgICAgICB0byBnaXZlIHByaW9y
aXR5IHRvIHJlcXVlc3RzIGFzc29jaWF0ZWQgd2l0aCBlbWVyZ2VuY3lcbiAgICAgICAgICAg
c2Vzc2lvbnMuICBBbnkgbm9ybWF0aXZlIG9yIG90aGVyd2lzZSBkZXRhaWxlZCBkZWZpbml0
aW9uIG9mXG4gICAgICAgICAgIHRoZSByZWxhdGl2ZSBwcmlvcml0aWVzIG9mIG1lc3NhZ2Ug
dHlwZXMgZHVyaW5nIGFuIG92ZXJsb2FkXG4gICAgICAgICAgIGNvbmRpdGlvbiB3aWxsIGJl
IHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgc3Bl
Y2lmaWNhdGlvbi5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gVGhlIHNwZWNpZmljYXRp
b24gb2ZmZXJzIGd1aWRhbmNlIG9uIGhvd1xuICAgICAgICAgICByZXF1ZXN0cyBtaWdodCBi
ZSBwcmlvcml0aXplZCBmb3IgZGlmZmVyZW50IHR5cGVzIG9mXG4gICAgICAgICAgIGFwcGxp
Y2F0aW9ucy5cblxuXG5cbiAgIFJFUSAyNjogVGhlIHNvbHV0aW9uIE1VU1QgTk9UIHByZXZl
bnQgYSBub2RlIGZyb20gcHJpb3JpdGl6aW5nXG4gICAgICAgICAgIHJlcXVlc3RzIGJhc2Vk
IG9uIGFueSBsb2NhbCBwb2xpY3ksIHNvIHRoYXQgY2VydGFpbiByZXF1ZXN0c1xuICAgICAg
ICAgICBhcmUgZ2l2ZW4gcHJlZmVyZW50aWFsIHRyZWF0bWVudCwgZ2l2ZW4gYWRkaXRpb25h
bFxuICAgICAgICAgICByZXRyYW5zbWlzc2lvbiwgbm90IHRocm90dGxlZCwgb3IgcHJvY2Vz
c2VkIGFoZWFkIG9mIG90aGVycy5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gTm90aGlu
ZyBpbiB0aGUgc3BlY2lmaWNhdGlvbiBwcmV2ZW50c1xuICAgICAgICAgICBhcHBsaWNhdGlv
bi1zcGVjaWZpYywgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMsIG9yIGxvY2FsXG4gICAgICAg
ICAgIHBvbGljaWVzLlxuXG5cblxuQy42LjYuICBTZWN1cml0eVxuXG4gICBSRVEgMjc6IFRo
ZSBzb2x1dGlvbiBNVVNUIE5PVCBwcm92aWRlIG5ldyB2dWxuZXJhYmlsaXRpZXMgdG9cbiAg
ICAgICAgICAgbWFsaWNpb3VzIGF0dGFjayBvciBpbmNyZWFzZSB0aGUgc2V2ZXJpdHkgb2Yg
YW55IGV4aXN0aW5nXG4gICAgICAgICAgIHZ1bG5lcmFiaWxpdGllcy4gIFRoaXMgaW5jbHVk
ZXMgdnVsbmVyYWJpbGl0aWVzIHRvIERvUyBhbmRcbiAgICAgICAgICAgRERvUyBhdHRhY2tz
IGFzIHdlbGwgYXMgcmVwbGF5IGFuZCBtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2tzLlxuICAg
ICAgICAgICBOb3RlIHRoYXQgdGhlIERpYW1ldGVyIGJhc2Ugc3BlY2lmaWNhdGlvbiBbUkZD
NjczM10gbGFja3NcbiAgICAgICAgICAgZW5kLXRvLWVuZCBzZWN1cml0eSBhbmQgdGhpcyBt
dXN0IGJlIGNvbnNpZGVyZWQgKHNlZSB0aGVcbiAgICAgICAgICAgU2VjdXJpdHkgQ29uc2lk
ZXJhdGlvbnMgaW4gW1JGQzcwNjhdKS4gIE5vdGUgdGhhdCB0aGlzXG4gICAgICAgICAgIHJl
cXVpcmVtZW50IHdhcyBleHByZXNzZWQgYXQgYSBoaWdoIGxldmVsIHNvIGFzIHRvIG5vdFxu
ICAgICAgICAgICBwcmVjbHVkZSBhbnkgcGFydGljdWxhciBzb2x1dGlvbi4gIEl0IGlzIGV4
cGVjdGVkIHRoYXQgdGhlXG4gICAgICAgICAgIHNvbHV0aW9uIHdpbGwgYWRkcmVzcyB0aGlz
IGluIG1vcmUgZGV0YWlsLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBUaGUgd29ya2lu
ZyBncm91cCBpcyBub3QgYXdhcmUgb2YgYW55IHN1Y2hcbiAgICAgICAgICAgdnVsbmVyYWJp
bGl0aWVzLiAgW1RoaXMgbWF5IG5lZWQgZnVydGhlciBhbmFseXNpcy5dXG5cblxuXG5cblxu
S29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMzAsIDIwMTUgICAgICAg
ICAgICAgICAgW1BhZ2UgNDNdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBSRVEg
Mjg6IFRoZSBzb2x1dGlvbiBNVVNUIE5PVCBkZXBlbmQgb24gYmVpbmcgZGVwbG95ZWQgaW5c
biAgICAgICAgICAgZW52aXJvbm1lbnRzIHdoZXJlIGFsbCBEaWFtZXRlciBub2RlcyBhcmUg
Y29tcGxldGVseSB0cnVzdGVkLlxuICAgICAgICAgICBJdCBTSE9VTEQgb3BlcmF0ZSBhcyBl
ZmZlY3RpdmVseSBhcyBwb3NzaWJsZSBpbiBlbnZpcm9ubWVudHNcbiAgICAgICAgICAgd2hl
cmUgb3RoZXIgbm9kZXMgYXJlIG1hbGljaW91czsgdGhpcyBpbmNsdWRlcyBwcmV2ZW50aW5n
XG4gICAgICAgICAgIG1hbGljaW91cyBub2RlcyBmcm9tIG9idGFpbmluZyBtb3JlIHRoYW4g
YSBmYWlyIHNoYXJlIG9mXG4gICAgICAgICAgIHNlcnZpY2UuICBOb3RlIHRoYXQgdGhpcyBk
b2VzIG5vdCBpbXBseSBhbnkgcmVzcG9uc2liaWxpdHkgb25cbiAgICAgICAgICAgdGhlIHNv
bHV0aW9uIHRvIGRldGVjdCwgb3IgdGFrZSBjb3VudGVybWVhc3VyZXMgYWdhaW5zdCxcbiAg
ICAgICAgICAgbWFsaWNpb3VzIG5vZGVzLlxuXG4gICAgICAgICAgICpQYXJ0aWFsbHkgQ29t
cGxpYW50Ki4gU2luY2UgYWxsIERpYW1ldGVyIHNlY3VyaXR5IGlzXG4gICAgICAgICAgIGN1
cnJlbnRseSBhdCB0aGUgdHJhbnNwb3J0IGxheWVyLCBub2RlcyBtdXN0IHRydXN0IGltbWVk
aWF0ZVxuICAgICAgICAgICBwZWVycyB0byBlbmZvcmNlIHRydXN0IHBvbGljaWVzLiAgSG93
ZXZlciwgdGhlcmUgYXJlXG4gICAgICAgICAgIHNpdHVhdGlvbnMgd2hlcmUgYSBET0lDIG5v
ZGUgY2Fubm90IGRldGVybWluZSBpZiBhbiBpbW1lZGlhdGVcbiAgICAgICAgICAgcGVlciBz
dXBwb3J0cyBET0lDLiAgVGhlIGF1dGhvcnMgcmVjb21tZW5kIGFuIGV4cGVydCBzZWN1cml0
eVxuICAgICAgICAgICByZXZpZXcuXG5cblxuXG4gICBSRVEgMjk6IEl0IE1VU1QgYmUgcG9z
c2libGUgZm9yIGEgc3VwcG9ydGluZyBub2RlIHRvIG1ha2VcbiAgICAgICAgICAgYXV0aG9y
aXphdGlvbiBkZWNpc2lvbnMgYWJvdXQgd2hhdCBpbmZvcm1hdGlvbiB3aWxsIGJlIHNlbnRc
biAgICAgICAgICAgdG8gcGVlciBub2RlcyBiYXNlZCBvbiB0aGUgaWRlbnRpdHkgb2YgdGhv
c2Ugbm9kZXMuICBUaGlzXG4gICAgICAgICAgIGFsbG93cyBhIGRvbWFpbiBhZG1pbmlzdHJh
dG9yIHdobyBjb25zaWRlcnMgdGhlIGxvYWQgb2YgdGhlaXJcbiAgICAgICAgICAgbm9kZXMg
dG8gYmUgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHRvIHJlc3RyaWN0IGFjY2VzcyB0byB0aGF0
XG4gICAgICAgICAgIGluZm9ybWF0aW9uLiAgT2YgY291cnNlLCBpbiBzdWNoIGNhc2VzLCB0
aGVyZSBpcyBub1xuICAgICAgICAgICBleHBlY3RhdGlvbiB0aGF0IHRoZSBzb2x1dGlvbiBp
dHNlbGYgd2lsbCBoZWxwIHByZXZlbnRcbiAgICAgICAgICAgb3ZlcmxvYWQgZnJvbSB0aGF0
IHBlZXIgbm9kZS5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIChTZWUg
cmVzcG9uc2UgdG8gcHJldmlvdXNcbiAgICAgICAgICAgcmVxdWlyZW1lbnQuKVxuXG5cblxu
ICAgUkVRIDMwOiBUaGUgc29sdXRpb24gTVVTVCBOT1QgaW50ZXJmZXJlIHdpdGggYW55IERp
YW1ldGVyLWNvbXBsaWFudFxuICAgICAgICAgICBtZXRob2QgdGhhdCBhIG5vZGUgbWF5IHVz
ZSB0byBwcm90ZWN0IGl0c2VsZiBmcm9tIG92ZXJsb2FkXG4gICAgICAgICAgIGZyb20gbm9u
LXN1cHBvcnRpbmcgbm9kZXMgb3IgZnJvbSBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzLlxu
XG4gICAgICAgICAgICpDb21wbGlhbnQqLiBUaGUgc3BlY2lmaWNhdGlvbiByZWNvbW1lbmRz
IHRoYXQgYW55IHN1Y2hcbiAgICAgICAgICAgcHJvdGVjdGlvbiBtZWNoYW5pc20gbmVlZGVk
IHdpdGhvdXQgRE9JQyBzaG91bGQgY29udGludWUgdG9cbiAgICAgICAgICAgYmUgZW1wbG95
ZWQgd2l0aCBET0lDLlxuXG5cblxuQy42LjcuICBGbGV4aWJpbGl0eSBhbmQgRXh0ZW5zaWJp
bGl0eVxuXG4gICBSRVEgMzE6IFRoZXJlIGFyZSBtdWx0aXBsZSBzaXR1YXRpb25zIHdoZXJl
IGEgRGlhbWV0ZXIgbm9kZSBtYXkgYmVcbiAgICAgICAgICAgb3ZlcmxvYWRlZCBmb3Igc29t
ZSBwdXJwb3NlcyBidXQgbm90IG90aGVycy4gIEZvciBleGFtcGxlLFxuICAgICAgICAgICB0
aGlzIGNhbiBoYXBwZW4gdG8gYW4gYWdlbnQgb3Igc2VydmVyIHRoYXQgc3VwcG9ydHMgbXVs
dGlwbGVcbiAgICAgICAgICAgYXBwbGljYXRpb25zLCBvciB3aGVuIGEgc2VydmVyIGRlcGVu
ZHMgb24gbXVsdGlwbGUgZXh0ZXJuYWxcblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAg
ICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQ0XVxuX1xu
SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAg
ICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAgICAgICByZXNvdXJjZXMsIHNvbWUgb2Yg
d2hpY2ggbWF5IGJlY29tZSBvdmVybG9hZGVkIHdoaWxlIG90aGVyc1xuICAgICAgICAgICBh
cmUgZnVsbHkgYXZhaWxhYmxlLiAgVGhlIHNvbHV0aW9uIE1VU1QgYWxsb3cgRGlhbWV0ZXIg
bm9kZXNcbiAgICAgICAgICAgdG8gaW5kaWNhdGUgb3ZlcmxvYWQgd2l0aCBzdWZmaWNpZW50
IGdyYW51bGFyaXR5IHRvIGFsbG93XG4gICAgICAgICAgIGNsaWVudHMgdG8gdGFrZSBhY3Rp
b24gYmFzZWQgb24gdGhlIG92ZXJsb2FkZWQgcmVzb3VyY2VzXG4gICAgICAgICAgIHdpdGhv
dXQgdW5yZWFzb25hYmx5IGZvcmNpbmcgYXZhaWxhYmxlIGNhcGFjaXR5IHRvIGdvIHVudXNl
ZC5cbiAgICAgICAgICAgVGhlIHNvbHV0aW9uIE1VU1Qgc3VwcG9ydCBzcGVjaWZpY2F0aW9u
IG9mIG92ZXJsb2FkXG4gICAgICAgICAgIGluZm9ybWF0aW9uIHdpdGggZ3JhbnVsYXJpdGll
cyBvZiBhdCBsZWFzdCAiRGlhbWV0ZXIgbm9kZSIsXG4gICAgICAgICAgICJyZWFsbSIsIGFu
ZCAiRGlhbWV0ZXIgYXBwbGljYXRpb24iIGFuZCBNVVNUIGFsbG93XG4gICAgICAgICAgIGV4
dGVuc2liaWxpdHkgZm9yIG90aGVycyB0byBiZSBhZGRlZCBpbiB0aGUgZnV0dXJlLlxuXG4g
ICAgICAgICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50Ki4gQWxsIERPSUMgb3ZlcmxvYWQgcmVw
b3J0cyBhcmUgc2NvcGVkXG4gICAgICAgICAgIHRvIHRoZSBzcGVjaWZpYyBhcHBsaWNhdGlv
biBhbmQgcmVhbG0uICBJbnNpZGUgdGhhdCBzY29wZSxcbiAgICAgICAgICAgb3ZlcmxvYWQg
Y2FuIGJlIHJlcG9ydGVkIGF0IHRoZSBzcGVjaWZpYyBzZXJ2ZXIgb3Igd2hvbGVcbiAgICAg
ICAgICAgcmVhbG0gc2NvcGUuICBBcyBjdXJyZW50bHkgc3BlY2lmaWVkLCBET0lDIGNhbm5v
dCBpbmRpY2F0ZVxuICAgICAgICAgICBsb2NhbCBvdmVybG9hZCBmb3IgYW4gYWdlbnQuICBB
dCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcsXG4gICAgICAgICAgIHRoZSBESU1FIHdvcmtp
bmcgZ3JvdXAgaGFzIHBsYW5zIHRvIHdvcmsgb24gYW4gYWdlbnQtb3ZlcmxvYWRcbiAgICAg
ICAgICAgZXh0ZW5zaW9uLlxuXG4gICAgICAgICAgIERPSUMgYWxsb3dzIG5ldyAic2NvcGVz
IiB0aHJvdWdoIHRoZSB1c2Ugb2YgZXh0ZW5kZWQgcmVwb3J0XG4gICAgICAgICAgIHR5cGVz
LlxuXG5cblxuICAgUkVRIDMyOiBUaGUgc29sdXRpb24gTVVTVCBwcm92aWRlIGEgbWV0aG9k
IGZvciBleHRlbmRpbmcgdGhlXG4gICAgICAgICAgIGluZm9ybWF0aW9uIGNvbW11bmljYXRl
ZCBhbmQgdGhlIGFsZ29yaXRobXMgdXNlZCBmb3Igb3ZlcmxvYWRcbiAgICAgICAgICAgY29u
dHJvbC5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBhbGxvd3MgbmV3IHJlcG9y
dCB0eXBlcyBhbmQgYWJhdGVtZW50XG4gICAgICAgICAgIGFsZ29yaXRobXMgdG8gYmUgY3Jl
YXRlZC4gIFRoZXNlIG1heSBiZSBpbmRpY2F0ZWQgdXNpbmcgdGhlXG4gICAgICAgICAgIE9D
LVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuXG5cblxuXG4gICBSRVEgMzM6IFRoZSBzb2x1dGlv
biBNVVNUIHByb3ZpZGUgYSBkZWZhdWx0IGFsZ29yaXRobSB0aGF0IGlzXG4gICAgICAgICAg
IG1hbmRhdG9yeSB0byBpbXBsZW1lbnQuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIFRo
ZSAibG9zcyIgYWxnb3JpdGhtIGlzIG1hbmRhdG9yeSB0byBpbXBsZW1lbnQuXG5cblxuXG4g
ICBSRVEgMzQ6IFRoZSBzb2x1dGlvbiBTSE9VTEQgcHJvdmlkZSBhIG1ldGhvZCBmb3IgZXhj
aGFuZ2luZyBvdmVybG9hZFxuICAgICAgICAgICBhbmQgbG9hZCBpbmZvcm1hdGlvbiBiZXR3
ZWVuIGVsZW1lbnRzIHRoYXQgYXJlIGNvbm5lY3RlZCBieVxuICAgICAgICAgICBpbnRlcm1l
ZGlhcmllcyB0aGF0IGRvIG5vdCBzdXBwb3J0IHRoZSBzb2x1dGlvbi5cblxuICAgICAgICAg
ICAqUGFydGlhbGx5IENvbXBsaWFudCouIERPSUMgaW5mb3JtYXRpb24gY2FuIHRyYXZlcnNl
IG5vbi1cbiAgICAgICAgICAgc3VwcG9ydGluZyBhZ2VudHMsIGFzIGxvbmcgYXMgdGhvc2Ug
YWdlbnRzIGRvIG5vdCBtb2RpZnlcbiAgICAgICAgICAgY2VydGFpbiBBVlBzLiAoZS5nLiwg
T3JpZ2luLUhvc3QpLiAgRE9JQyBkb2VzIG5vdCBwcm92aWRlIGFcbiAgICAgICAgICAgd2F5
IGZvciBzdXBwb3J0aW5nIG5vZGVzIHRvIGRldGVjdCBzdWNoIG1vZGlmaWNhdGlvbi5cblxu
XG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAg
ICAgICAgICAgICAgIFtQYWdlIDQ1XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
ICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuQXBw
ZW5kaXggRC4gIENvbnNpZGVyYXRpb25zIGZvciBBcHBsaWNhdGlvbnMgSW50ZWdyYXRpbmcg
dGhlIERPSUNcbiAgICAgICAgICAgICBTb2x1dGlvblxuXG4gICBUaGlzIHNlY3Rpb24gb3V0
bGluZXMgY29uc2lkZXJhdGlvbnMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHdoZW5cbiAg
IGludGVncmF0aW5nIHRoZSBET0lDIHNvbHV0aW9uIGludG8gRGlhbWV0ZXIgYXBwbGljYXRp
b25zLlxuXG5ELjEuICBBcHBsaWNhdGlvbiBDbGFzc2lmaWNhdGlvblxuXG4gICBUaGUgZm9s
bG93aW5nIGlzIGEgY2xhc3NpZmljYXRpb24gb2YgRGlhbWV0ZXIgYXBwbGljYXRpb25zIGFu
ZFxuICAgcmVxdWVzdCB0eXBlcy4gIFRoaXMgZGlzY3Vzc2lvbiBpcyBtZWFudCB0byBkb2N1
bWVudCBmYWN0b3JzIHRoYXRcbiAgIHBsYXkgaW50byBkZWNpc2lvbnMgbWFkZSBieSB0aGUg
RGlhbWV0ZXIgaWRlbnRpdHkgcmVzcG9uc2libGUgZm9yXG4gICBoYW5kbGluZyBvdmVybG9h
ZCByZXBvcnRzLlxuXG4gICBTZWN0aW9uIDguMSBvZiBbUkZDNjczM10gZGVmaW5lcyB0d28g
c3RhdGUgbWFjaGluZXMgdGhhdCBpbXBseSB0d29cbiAgIHR5cGVzIG9mIGFwcGxpY2F0aW9u
cywgc2Vzc2lvbi1sZXNzIGFuZCBzZXNzaW9uLWJhc2VkIGFwcGxpY2F0aW9ucy5cbiAgIFRo
ZSBwcmltYXJ5IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0eXBlcyBvZiBhcHBsaWNhdGlv
bnMgaXMgdGhlXG4gICBsaWZldGltZSBvZiBTZXNzaW9uLUlkcy5cblxuICAgRm9yIHNlc3Np
b24tYmFzZWQgYXBwbGljYXRpb25zLCB0aGUgU2Vzc2lvbi1JZCBpcyB1c2VkIHRvIHRpZVxu
ICAgbXVsdGlwbGUgcmVxdWVzdHMgaW50byBhIHNpbmdsZSBzZXNzaW9uLlxuXG4gICBUaGUg
Q3JlZGl0LUNvbnRyb2wgYXBwbGljYXRpb24gZGVmaW5lZCBpbiBbUkZDNDAwNl0gaXMgYW4g
ZXhhbXBsZSBvZlxuICAgYSBEaWFtZXRlciBzZXNzaW9uLWJhc2VkIGFwcGxpY2F0aW9uLlxu
XG4gICBJbiBzZXNzaW9uLWxlc3MgYXBwbGljYXRpb25zLCB0aGUgbGlmZXRpbWUgb2YgdGhl
IFNlc3Npb24tSWQgaXMgYVxuICAgc2luZ2xlIERpYW1ldGVyIHRyYW5zYWN0aW9uLCBpLmUu
IHRoZSBzZXNzaW9uIGlzIGltcGxpY2l0bHlcbiAgIHRlcm1pbmF0ZWQgYWZ0ZXIgYSBzaW5n
bGUgRGlhbWV0ZXIgdHJhbnNhY3Rpb24gYW5kIGEgbmV3IFNlc3Npb24tSWRcbiAgIGlzIGdl
bmVyYXRlZCBmb3IgZWFjaCBEaWFtZXRlciByZXF1ZXN0LlxuXG4gICBGb3IgdGhlIHB1cnBv
c2VzIG9mIHRoaXMgZGlzY3Vzc2lvbiwgc2Vzc2lvbi1sZXNzIGFwcGxpY2F0aW9ucyBhcmVc
biAgIGZ1cnRoZXIgZGl2aWRlZCBpbnRvIHR3byB0eXBlcyBvZiBhcHBsaWNhdGlvbnM6XG5c
biAgIFN0YXRlbGVzcyBBcHBsaWNhdGlvbnM6XG5cbiAgICAgIFJlcXVlc3RzIHdpdGhpbiBh
IHN0YXRlbGVzcyBhcHBsaWNhdGlvbiBoYXZlIG5vIHJlbGF0aW9uc2hpcCB0b1xuICAgICAg
ZWFjaCBvdGhlci4gIFRoZSAzR1BQIGRlZmluZWQgUzEzIGFwcGxpY2F0aW9uIGlzIGFuIGV4
YW1wbGUgb2YgYVxuICAgICAgc3RhdGVsZXNzIGFwcGxpY2F0aW9uIFtTMTNdLCB3aGVyZSBv
bmx5IGEgRGlhbWV0ZXIgY29tbWFuZCBpc1xuICAgICAgZGVmaW5lZCBiZXR3ZWVuIGEgY2xp
ZW50IGFuZCBhIHNlcnZlciBhbmQgbm8gc3RhdGUgaXMgbWFpbnRhaW5lZFxuICAgICAgYmV0
d2VlbiB0d28gY29uc2VjdXRpdmUgdHJhbnNhY3Rpb25zLlxuXG4gICBQc2V1ZG8tU2Vzc2lv
biBBcHBsaWNhdGlvbnM6XG5cbiAgICAgIEFwcGxpY2F0aW9ucyB0aGF0IGRvIG5vdCByZWx5
IG9uIHRoZSBTZXNzaW9uLUlkIEFWUCBmb3JcbiAgICAgIGNvcnJlbGF0aW9uIG9mIGFwcGxp
Y2F0aW9uIG1lc3NhZ2VzIHJlbGF0ZWQgdG8gdGhlIHNhbWUgc2Vzc2lvblxuICAgICAgYnV0
IHVzZSBvdGhlciBzZXNzaW9uLXJlbGF0ZWQgaW5mb3JtYXRpb24gaW4gdGhlIERpYW1ldGVy
IHJlcXVlc3RzXG4gICAgICBmb3IgdGhpcyBwdXJwb3NlLiAgVGhlIDNHUFAgZGVmaW5lZCBD
eCBhcHBsaWNhdGlvbiBbQ3hdIGlzIGFuXG4gICAgICBleGFtcGxlIG9mIGEgcHNldWRvLXNl
c3Npb24gYXBwbGljYXRpb24uXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAg
RXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQ2XVxuX1xuSW50
ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAg
ICAgSmFudWFyeSAyMDE1XG5cblxuICAgVGhlIGhhbmRsaW5nIG9mIG92ZXJsb2FkIHJlcG9y
dHMgbXVzdCB0YWtlIHRoZSB0eXBlIG9mIGFwcGxpY2F0aW9uXG4gICBpbnRvIGNvbnNpZGVy
YXRpb24sIGFzIGRpc2N1c3NlZCBpbiBBcHBlbmRpeCBELjIuXG5cbkQuMi4gIEFwcGxpY2F0
aW9uIFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRpb25zXG5cbiAgIFRoaXMgc2VjdGlvbiBkaXNj
dXNzZXMgY29uc2lkZXJhdGlvbnMgZm9yIG1pdGlnYXRpbmcgb3ZlcmxvYWRcbiAgIHJlcG9y
dGVkIGJ5IGEgRGlhbWV0ZXIgZW50aXR5LiAgVGhpcyBkaXNjdXNzaW9uIGZvY3VzZXMgb24g
dGhlIHR5cGVcbiAgIG9mIGFwcGxpY2F0aW9uLiAgQXBwZW5kaXggRC4zIGRpc2N1c3NlcyBj
b25zaWRlcmF0aW9ucyBmb3IgaGFuZGxpbmdcbiAgIHZhcmlvdXMgcmVxdWVzdCB0eXBlcyB3
aGVuIHRoZSB0YXJnZXQgc2VydmVyIGlzIGtub3duIHRvIGJlIGluIGFuXG4gICBvdmVybG9h
ZGVkIHN0YXRlLlxuXG4gICBUaGVzZSBkaXNjdXNzaW9ucyBhc3N1bWUgdGhhdCB0aGUgc3Ry
YXRlZ3kgZm9yIG1pdGlnYXRpbmcgdGhlXG4gICByZXBvcnRlZCBvdmVybG9hZCBpcyB0byBy
ZWR1Y2UgdGhlIG92ZXJhbGwgd29ya2xvYWQgc2VudCB0byB0aGVcbiAgIG92ZXJsb2FkZWQg
ZW50aXR5LiAgVGhlIGNvbmNlcHQgb2YgYXBwbHlpbmcgb3ZlcmxvYWQgdHJlYXRtZW50IHRv
XG4gICByZXF1ZXN0cyB0YXJnZXRlZCBmb3IgYW4gb3ZlcmxvYWRlZCBEaWFtZXRlciBlbnRp
dHkgaXMgaW5oZXJlbnQgdG9cbiAgIHRoaXMgZGlzY3Vzc2lvbi4gIFRoZSBtZXRob2QgdXNl
ZCB0byByZWR1Y2Ugb2ZmZXJlZCBsb2FkIGlzIG5vdFxuICAgc3BlY2lmaWVkIGhlcmUgYnV0
IGNvdWxkIGluY2x1ZGUgcm91dGluZyByZXF1ZXN0cyB0byBhbm90aGVyIERpYW1ldGVyXG4g
ICBlbnRpdHkga25vd24gdG8gYmUgYWJsZSB0byBoYW5kbGUgdGhlbSwgb3IgaXQgY291bGQg
bWVhbiByZWplY3RpbmdcbiAgIGNlcnRhaW4gcmVxdWVzdHMuICBGb3IgYSBEaWFtZXRlciBh
Z2VudCwgcmVqZWN0aW5nIHJlcXVlc3RzIHdpbGxcbiAgIHVzdWFsbHkgbWVhbiBnZW5lcmF0
aW5nIGFwcHJvcHJpYXRlIERpYW1ldGVyIGVycm9yIHJlc3BvbnNlcy4gIEZvciBhXG4gICBE
aWFtZXRlciBjbGllbnQsIHJlamVjdGluZyByZXF1ZXN0cyB3aWxsIGRlcGVuZCB1cG9uIHRo
ZSBhcHBsaWNhdGlvbi5cbiAgIEZvciBleGFtcGxlLCBpdCBjb3VsZCBtZWFuIGdpdmluZyBh
biBpbmRpY2F0aW9uIHRvIHRoZSBlbnRpdHlcbiAgIHJlcXVlc3RpbmcgdGhlIERpYW1ldGVy
IHNlcnZpY2UgdGhhdCB0aGUgbmV0d29yayBpcyBidXN5IGFuZCB0byB0cnlcbiAgIGFnYWlu
IGxhdGVyLlxuXG4gICBTdGF0ZWxlc3MgQXBwbGljYXRpb25zOlxuXG4gICAgICBCeSBkZWZp
bml0aW9uIHRoZXJlIGlzIG5vIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGluZGl2aWR1YWwgcmVx
dWVzdHNcbiAgICAgIGluIGEgc3RhdGVsZXNzIGFwcGxpY2F0aW9uLiAgQXMgYSByZXN1bHQs
IHdoZW4gYSByZXF1ZXN0IGlzIHNlbnRcbiAgICAgIG9yIHJlbGF5ZWQgdG8gYW4gb3Zlcmxv
YWRlZCBEaWFtZXRlciBlbnRpdHkgLSBlaXRoZXIgYSBEaWFtZXRlclxuICAgICAgU2VydmVy
IG9yIGEgRGlhbWV0ZXIgQWdlbnQgLSB0aGUgc2VuZGluZyBvciByZWxheWluZyBlbnRpdHkg
Y2FuXG4gICAgICBjaG9vc2UgdG8gYXBwbHkgdGhlIG92ZXJsb2FkIHRyZWF0bWVudCB0byBh
bnkgcmVxdWVzdCB0YXJnZXRlZCBmb3JcbiAgICAgIHRoZSBvdmVybG9hZGVkIGVudGl0eS5c
blxuICAgUHNldWRvLVNlc3Npb24gQXBwbGljYXRpb25zOlxuXG4gICAgICBGb3IgcHNldWRv
LXNlc3Npb24gYXBwbGljYXRpb25zLCB0aGVyZSBpcyBhbiBpbXBsaWVkIG9yZGVyaW5nIG9m
XG4gICAgICByZXF1ZXN0cy4gIEFzIGEgcmVzdWx0LCBkZWNpc2lvbnMgYWJvdXQgd2hpY2gg
cmVxdWVzdHMgdG93YXJkcyBhblxuICAgICAgb3ZlcmxvYWRlZCBlbnRpdHkgdG8gcmVqZWN0
IGNvdWxkIHRha2UgdGhlIGNvbW1hbmQgY29kZSBvZiB0aGVcbiAgICAgIHJlcXVlc3QgaW50
byBjb25zaWRlcmF0aW9uLiAgVGhpcyBnZW5lcmFsbHkgbWVhbnMgdGhhdFxuICAgICAgdHJh
bnNhY3Rpb25zIGxhdGVyIGluIHRoZSBzZXF1ZW5jZSBvZiB0cmFuc2FjdGlvbnMgc2hvdWxk
IGJlIGdpdmVuXG4gICAgICBtb3JlIGZhdm9yYWJsZSB0cmVhdG1lbnQgdGhhbiBtZXNzYWdl
cyBlYXJsaWVyIGluIHRoZSBzZXF1ZW5jZS5cbiAgICAgIFRoaXMgaXMgYmVjYXVzZSBtb3Jl
IHdvcmsgaGFzIGFscmVhZHkgYmVlbiBkb25lIGJ5IHRoZSBEaWFtZXRlclxuICAgICAgbmV0
d29yayBmb3IgdGhvc2UgdHJhbnNhY3Rpb25zIHRoYXQgb2NjdXIgbGF0ZXIgaW4gdGhlIHNl
cXVlbmNlLlxuICAgICAgUmVqZWN0aW5nIHRoZW0gY291bGQgcmVzdWx0IGluIGluY3JlYXNp
bmcgdGhlIGxvYWQgb24gdGhlIG5ldHdvcmtcbiAgICAgIGFzIHRoZSB0cmFuc2FjdGlvbnMg
ZWFybGllciBpbiB0aGUgc2VxdWVuY2UgbWlnaHQgYWxzbyBuZWVkIHRvIGJlXG4gICAgICBy
ZXBlYXRlZC5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1
bHkgMzAsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNDddXG5fXG5JbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5
IDIwMTVcblxuXG4gICBTZXNzaW9uLUJhc2VkIEFwcGxpY2F0aW9uczpcblxuICAgICAgT3Zl
cmxvYWQgaGFuZGxpbmcgZm9yIHNlc3Npb24tYmFzZWQgYXBwbGljYXRpb25zIG11c3QgdGFr
ZSBpbnRvXG4gICAgICBjb25zaWRlcmF0aW9uIHRoZSB3b3JrIGxvYWQgYXNzb2NpYXRlZCB3
aXRoIHNldHRpbmcgdXAgYW5kXG4gICAgICBtYWludGFpbmluZyBhIHNlc3Npb24uICBBcyBz
dWNoLCB0aGUgZW50aXR5IHNlbmRpbmcgcmVxdWVzdHNcbiAgICAgIHRvd2FyZHMgYW4gb3Zl
cmxvYWRlZCBEaWFtZXRlciBlbnRpdHkgZm9yIGEgc2Vzc2lvbi1iYXNlZFxuICAgICAgYXBw
bGljYXRpb24gbWlnaHQgdGVuZCB0byByZWplY3QgbmV3IHNlc3Npb24gcmVxdWVzdHMgcHJp
b3IgdG9cbiAgICAgIHJlamVjdGluZyBpbnRyYS1zZXNzaW9uIHJlcXVlc3RzLiAgSW4gYWRk
aXRpb24sIHNlc3Npb24gZW5kaW5nXG4gICAgICByZXF1ZXN0cyBtaWdodCBiZSBnaXZlbiBh
IGxvd2VyIHByb2JhYmlsaXR5IG9mIGJlaW5nIHJlamVjdGVkIGFzXG4gICAgICByZWplY3Rp
bmcgc2Vzc2lvbiBlbmRpbmcgcmVxdWVzdHMgY291bGQgcmVzdWx0IGluIHNlc3Npb24gc3Rh
dHVzXG4gICAgICBiZWluZyBvdXQgb2Ygc3luYyBiZXR3ZWVuIHRoZSBEaWFtZXRlciBjbGll
bnRzIGFuZCBzZXJ2ZXJzLlxuICAgICAgQXBwbGljYXRpb24gZGVzaWduZXJzIHRoYXQgd291
bGQgZGVjaWRlIHRvIHJlamVjdCBtaWQtc2Vzc2lvblxuICAgICAgcmVxdWVzdHMgd2lsbCBu
ZWVkIHRvIGNvbnNpZGVyIHdoZXRoZXIgdGhlIHJlamVjdGlvbiBpbnZhbGlkYXRlc1xuICAg
ICAgdGhlIHNlc3Npb24gYW5kIGFueSByZXN1bHRpbmcgc2Vzc2lvbiBjbGVhbnVwIHByb2Nl
ZHVyZXMuXG5cbkQuMy4gIFJlcXVlc3QgVHJhbnNhY3Rpb24gQ2xhc3NpZmljYXRpb25cblxu
ICAgSW5kZXBlbmRlbnQgUmVxdWVzdDpcblxuICAgICAgQW4gaW5kZXBlbmRlbnQgcmVxdWVz
dCBpcyBub3QgY29ycmVsYXRlZCB0byBhbnkgb3RoZXIgcmVxdWVzdHNcbiAgICAgIGFuZCwg
YXMgc3VjaCwgdGhlIGxpZmV0aW1lIG9mIHRoZSBzZXNzaW9uLWlkIGlzIGNvbnN0cmFpbmVk
IHRvIGFuXG4gICAgICBpbmRpdmlkdWFsIHRyYW5zYWN0aW9uLlxuXG4gICBTZXNzaW9uLUlu
aXRpYXRpbmcgUmVxdWVzdDpcblxuICAgICAgQSBzZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVz
dCBpcyB0aGUgaW5pdGlhbCBtZXNzYWdlIHRoYXRcbiAgICAgIGVzdGFibGlzaGVzIGEgRGlh
bWV0ZXIgc2Vzc2lvbi4gIFRoZSBBQ1IgbWVzc2FnZSBkZWZpbmVkIGluXG4gICAgICBbUkZD
NjczM10gaXMgYW4gZXhhbXBsZSBvZiBhIHNlc3Npb24taW5pdGlhdGluZyByZXF1ZXN0Llxu
XG4gICBDb3JyZWxhdGVkIFNlc3Npb24tSW5pdGlhdGluZyBSZXF1ZXN0OlxuXG4gICAgICBU
aGVyZSBhcmUgY2FzZXMgd2hlbiBtdWx0aXBsZSBzZXNzaW9uLWluaXRpYXRlZCByZXF1ZXN0
cyBtdXN0IGJlXG4gICAgICBjb3JyZWxhdGVkIGFuZCBtYW5hZ2VkIGJ5IHRoZSBzYW1lIERp
YW1ldGVyIHNlcnZlci4gIEl0IGlzIG5vdGFibHlcbiAgICAgIHRoZSBjYXNlIGluIHRoZSAz
R1BQIFBDQyBhcmNoaXRlY3R1cmUgW1BDQ10sIHdoZXJlIG11bHRpcGxlXG4gICAgICBhcHBh
cmVudGx5IGluZGVwZW5kZW50IERpYW1ldGVyIGFwcGxpY2F0aW9uIHNlc3Npb25zIGFyZSBh
Y3R1YWxseVxuICAgICAgY29ycmVsYXRlZCBhbmQgbXVzdCBiZSBoYW5kbGVkIGJ5IHRoZSBz
YW1lIERpYW1ldGVyIHNlcnZlci5cblxuICAgSW50cmEtU2Vzc2lvbiBSZXF1ZXN0OlxuXG4g
ICAgICBBbiBpbnRyYS1zZXNzaW9uIHJlcXVlc3QgaXMgYSByZXF1ZXN0IHRoYXQgdXNlcyB0
aGUgc2FtZSBTZXNzaW9uLVxuICAgICAgSWQgdGhhbiB0aGUgb25lIHVzZWQgaW4gYSBwcmV2
aW91cyByZXF1ZXN0LiAgQW4gaW50cmEtc2Vzc2lvblxuICAgICAgcmVxdWVzdCBnZW5lcmFs
bHkgbmVlZHMgdG8gYmUgZGVsaXZlcmVkIHRvIHRoZSBzZXJ2ZXIgdGhhdCBoYW5kbGVkXG4g
ICAgICB0aGUgc2Vzc2lvbiBjcmVhdGluZyByZXF1ZXN0IGZvciB0aGUgc2Vzc2lvbi4gIFRo
ZSBTVFIgbWVzc2FnZVxuICAgICAgZGVmaW5lZCBpbiBbUkZDNjczM10gaXMgYW4gZXhhbXBs
ZSBvZiBhbiBpbnRyYS1zZXNzaW9uIHJlcXVlc3QuXG5cbiAgIFBzZXVkby1TZXNzaW9uIFJl
cXVlc3RzOlxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBK
dWx5IDMwLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQ4XVxuX1xuSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFy
eSAyMDE1XG5cblxuICAgICAgUHNldWRvLXNlc3Npb24gcmVxdWVzdHMgYXJlIGluZGVwZW5k
ZW50IHJlcXVlc3RzIGFuZCBkbyBub3QgdXNlXG4gICAgICB0aGUgc2FtZSBTZXNzaW9uLUlk
IGJ1dCBhcmUgY29ycmVsYXRlZCBieSBvdGhlciBzZXNzaW9uLXJlbGF0ZWRcbiAgICAgIGlu
Zm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgcmVxdWVzdC4gIFRoZXJlIGV4aXN0cyBEaWFt
ZXRlclxuICAgICAgYXBwbGljYXRpb25zIHRoYXQgZGVmaW5lIGFuIGV4cGVjdGVkIG9yZGVy
aW5nIG9mIHRyYW5zYWN0aW9ucy5cbiAgICAgIFRoaXMgc2VxdWVuY2luZyBvZiBpbmRlcGVu
ZGVudCB0cmFuc2FjdGlvbnMgcmVzdWx0cyBpbiBhIHBzZXVkb1xuICAgICAgc2Vzc2lvbi4g
IFRoZSBBSVIsIE1BUiBhbmQgU0FSIHJlcXVlc3RzIGluIHRoZSAzR1BQIGRlZmluZWQgQ3hc
biAgICAgIFtDeF0gYXBwbGljYXRpb24gYXJlIGV4YW1wbGVzIG9mIHBzZXVkby1zZXNzaW9u
IHJlcXVlc3RzLlxuXG5ELjQuICBSZXF1ZXN0IFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRpb25z
XG5cbiAgIFRoZSByZXF1ZXN0IGNsYXNzZXMgaWRlbnRpZmllZCBpbiBBcHBlbmRpeCBELjMg
aGF2ZSBpbXBsaWNhdGlvbnMgb25cbiAgIGRlY2lzaW9ucyBhYm91dCB3aGljaCByZXF1ZXN0
cyBzaG91bGQgYmUgdGhyb3R0bGVkIGZpcnN0LiAgVGhlXG4gICBmb2xsb3dpbmcgbGlzdCBv
ZiByZXF1ZXN0IHRyZWF0bWVudCByZWdhcmRpbmcgdGhyb3R0bGluZyBpcyBwcm92aWRlZFxu
ICAgYXMgZ3VpZGVsaW5lcyBmb3IgYXBwbGljYXRpb24gZGVzaWduZXJzIHdoZW4gaW1wbGVt
ZW50aW5nIHRoZVxuICAgRGlhbWV0ZXIgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gZGVz
Y3JpYmVkIGluIHRoaXMgZG9jdW1lbnQuICBUaGVcbiAgIGV4YWN0IGJlaGF2aW9yIHJlZ2Fy
ZGluZyB0aHJvdHRsaW5nIGlzIGEgbWF0dGVyIG9mIGxvY2FsIHBvbGljeSxcbiAgIHVubGVz
cyBzcGVjaWZpY2FsbHkgZGVmaW5lZCBmb3IgdGhlIGFwcGxpY2F0aW9uLlxuXG4gICBJbmRl
cGVuZGVudCBSZXF1ZXN0czpcblxuICAgICAgSW5kZXBlbmRlbnQgcmVxdWVzdHMgY2FuIGdl
bmVyYWxseSBiZSBnaXZlbiBlcXVhbCB0cmVhdG1lbnQgd2hlblxuICAgICAgbWFraW5nIHRo
cm90dGxpbmcgZGVjaXNpb25zLCB1bmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCBieVxuICAg
ICAgYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzIG9yIGxvY2FsIHBvbGljeS5cblxuICAgU2Vz
c2lvbi1Jbml0aWF0aW5nIFJlcXVlc3RzOlxuXG4gICAgICBTZXNzaW9uLWluaXRpYXRpbmcg
cmVxdWVzdHMgb2Z0ZW4gcmVwcmVzZW50IG1vcmUgd29yayB0aGFuXG4gICAgICBpbmRlcGVu
ZGVudCBvciBpbnRyYS1zZXNzaW9uIHJlcXVlc3RzLiAgTW9yZW92ZXIsIHNlc3Npb24tXG4g
ICAgICBpbml0aWF0aW5nIHJlcXVlc3RzIGFyZSB0eXBpY2FsbHkgZm9sbG93ZWQgYnkgb3Ro
ZXIgc2Vzc2lvbi1cbiAgICAgIHJlbGF0ZWQgcmVxdWVzdHMuICBTaW5jZSB0aGUgbWFpbiBv
YmplY3RpdmUgb2YgdGhlIG92ZXJsb2FkXG4gICAgICBjb250cm9sIGlzIHRvIHJlZHVjZSB0
aGUgdG90YWwgbnVtYmVyIG9mIHJlcXVlc3RzIHNlbnQgdG8gdGhlXG4gICAgICBvdmVybG9h
ZGVkIGVudGl0eSwgdGhyb3R0bGluZyBkZWNpc2lvbnMgbWlnaHQgZmF2b3IgYWxsb3dpbmdc
biAgICAgIGludHJhLXNlc3Npb24gcmVxdWVzdHMgb3ZlciBzZXNzaW9uLWluaXRpYXRpbmcg
cmVxdWVzdHMuICBJbiB0aGVcbiAgICAgIGFic2VuY2Ugb2YgbG9jYWwgcG9saWNpZXMgb3Ig
YXBwbGljYXRpb24gc3BlY2lmaWMgcmVxdWlyZW1lbnRzIHRvXG4gICAgICB0aGUgY29udHJh
cnksIEluZGl2aWR1YWwgc2Vzc2lvbi1pbml0aWF0aW5nIHJlcXVlc3RzIGNhbiBiZSBnaXZl
blxuICAgICAgZXF1YWwgdHJlYXRtZW50IHdoZW4gbWFraW5nIHRocm90dGxpbmcgZGVjaXNp
b25zLlxuXG4gICBDb3JyZWxhdGVkIFNlc3Npb24tSW5pdGlhdGluZyBSZXF1ZXN0czpcblxu
ICAgICAgQSBSZXF1ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIG5ldyBiaW5kaW5nLCB3aGVyZSB0
aGUgYmluZGluZyBpcyB1c2VkXG4gICAgICBmb3Igcm91dGluZyBvZiBzdWJzZXF1ZW50IHNl
c3Npb24taW5pdGlhdGluZyByZXF1ZXN0cyB0byB0aGUgc2FtZVxuICAgICAgc2VydmVyLCBy
ZXByZXNlbnRzIG1vcmUgd29yayBsb2FkIHRoYW4gb3RoZXIgcmVxdWVzdHMuICBBcyBzdWNo
LFxuICAgICAgdGhlc2UgcmVxdWVzdHMgbWlnaHQgYmUgdGhyb3R0bGVkIG1vcmUgZnJlcXVl
bnRseSB0aGFuIG90aGVyXG4gICAgICByZXF1ZXN0IHR5cGVzLlxuXG4gICBQc2V1ZG8tU2Vz
c2lvbiBSZXF1ZXN0czpcblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4
cGlyZXMgSnVseSAzMCwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0OV1cbl9cbkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAg
IEphbnVhcnkgMjAxNVxuXG5cbiAgICAgIFRocm90dGxpbmcgZGVjaXNpb25zIGZvciBwc2V1
ZG8tc2Vzc2lvbiByZXF1ZXN0cyBjYW4gdGFrZSBpbnRvXG4gICAgICBjb25zaWRlcmF0aW9u
IHdoZXJlIGluZGl2aWR1YWwgcmVxdWVzdHMgZml0IGludG8gdGhlIG92ZXJhbGxcbiAgICAg
IHNlcXVlbmNlIG9mIHJlcXVlc3RzIHdpdGhpbiB0aGUgcHNldWRvIHNlc3Npb24uICBSZXF1
ZXN0cyB0aGF0IGFyZVxuICAgICAgZWFybGllciBpbiB0aGUgc2VxdWVuY2UgbWlnaHQgYmUg
dGhyb3R0bGVkIG1vcmUgYWdncmVzc2l2ZWx5IHRoYW5cbiAgICAgIHJlcXVlc3RzIHRoYXQg
b2NjdXIgbGF0ZXIgaW4gdGhlIHNlcXVlbmNlLlxuXG4gICBJbnRyYS1TZXNzaW9uIFJlcXVl
c3RzOlxuXG4gICAgICBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGludHJhLXNlc3Npb25zIHJl
cXVlc3RzLCByZXF1ZXN0cyB0aGF0XG4gICAgICB0ZXJtaW5hdGUgYSBzZXNzaW9uIGFuZCB0
aGUgcmVtYWluZGVyIG9mIGludHJhLXNlc3Npb24gcmVxdWVzdHMuXG4gICAgICBJbXBsZW1l
bnRlcnMgYW5kIG9wZXJhdG9ycyBtYXkgY2hvb3NlIHRvIHRocm90dGxlIHNlc3Npb24tXG4g
ICAgICB0ZXJtaW5hdGluZyByZXF1ZXN0cyBsZXNzIGFnZ3Jlc3NpdmVseSBpbiBvcmRlciB0
byBncmFjZWZ1bGx5XG4gICAgICB0ZXJtaW5hdGUgc2Vzc2lvbnMsIGFsbG93IGNsZWFudXAg
b2YgdGhlIHJlbGF0ZWQgcmVzb3VyY2VzIChlLmcuXG4gICAgICBzZXNzaW9uIHN0YXRlKSBh
bmQgYXZvaWQgdGhlIG5lZWQgZm9yIGFkZGl0aW9uYWwgaW50cmEtc2Vzc2lvblxuICAgICAg
cmVxdWVzdHMuICBGYXZvcmluZyBzZXNzaW9uLXRlcm1pbmF0aW9uIHJlcXVlc3RzIG1heSBy
ZWR1Y2UgdGhlXG4gICAgICBzZXNzaW9uIG1hbmFnZW1lbnQgaW1wYWN0IG9uIHRoZSBvdmVy
bG9hZGVkIGVudGl0eS4gIFRoZSBkZWZhdWx0XG4gICAgICBoYW5kbGluZyBvZiBvdGhlciBp
bnRyYS1zZXNzaW9uIHJlcXVlc3RzIG1pZ2h0IGJlIHRvIHRyZWF0IHRoZW1cbiAgICAgIGVx
dWFsbHkgd2hlbiBtYWtpbmcgdGhyb3R0bGluZyBkZWNpc2lvbnMuICBUaGVyZSBtaWdodCBh
bHNvIGJlXG4gICAgICBhcHBsaWNhdGlvbiBsZXZlbCBjb25zaWRlcmF0aW9ucyB3aGV0aGVy
IHNvbWUgcmVxdWVzdCB0eXBlcyBhcmVcbiAgICAgIGZhdm9yZWQgb3ZlciBvdGhlcnMuXG5c
bkF1dGhvcnNcJyBBZGRyZXNzZXNcblxuICAgSm91bmkgS29yaG9uZW4gKGVkaXRvcilcbiAg
IEJyb2FkY29tXG4gICBQb3Jra2FsYW5rYXR1IDI0XG4gICBIZWxzaW5raSAgRklOLTAwMTgw
XG4gICBGaW5sYW5kXG5cbiAgIEVtYWlsOiBqb3VuaS5ub3NwYW1AZ21haWwuY29tXG5cblxu
ICAgU3RldmUgRG9ub3ZhbiAoZWRpdG9yKVxuICAgT3JhY2xlXG4gICA3NDYwIFdhcnJlbiBQ
YXJrd2F5XG4gICBGcmlzY28sIFRleGFzICA3NTAzNFxuICAgVW5pdGVkIFN0YXRlc1xuXG4g
ICBFbWFpbDogc3Jkb25vdmFuQHVzZG9ub3ZhbnMuY29tXG5cblxuICAgQmVuIENhbXBiZWxs
XG4gICBPcmFjbGVcbiAgIDc0NjAgV2FycmVuIFBhcmt3YXlcbiAgIEZyaXNjbywgVGV4YXMg
IDc1MDM0XG4gICBVbml0ZWQgU3RhdGVzXG5cbiAgIEVtYWlsOiBiZW5Abm9zdHJ1bS5jb21c
blxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1
ICAgICAgICAgICAgICAgIFtQYWdlIDUwXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxu
ICAgTGlvbmVsIE1vcmFuZFxuICAgT3JhbmdlIExhYnNcbiAgIDM4LzQwIHJ1ZSBkdSBHZW5l
cmFsIExlY2xlcmNcbiAgIElzc3ktTGVzLU1vdWxpbmVhdXggQ2VkZXggOSAgOTI3OTRcbiAg
IEZyYW5jZVxuXG4gICBQaG9uZTogKzMzMTQ1Mjk2MjU3XG4gICBFbWFpbDogbGlvbmVsLm1v
cmFuZEBvcmFuZ2UuY29tXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5c
blxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbktvcmhv
bmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDMwLCAyMDE1ICAgICAgICAgICAg
ICAgIFtQYWdlIDUxXVxuJywgJ2ZpbGVuYW1lMSc6ICdcblxuXG5cbkRpYW1ldGVyIE1haW50
ZW5hbmNlIGFuZCBFeHRlbnNpb25zIChESU1FKSAgICAgICAgICAgICAgSi4gS29yaG9uZW4s
IEVkLlxuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEJyb2FkY29tXG5JbnRlbmRlZCBzdGF0dXM6IFN0YW5kYXJkcyBU
cmFjayAgICAgICAgICAgICAgICAgICAgICAgICBTLiBEb25vdmFuLCBFZC5cbkV4cGlyZXM6
IEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC
LiBDYW1wYmVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgT3JhY2xlXG4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMLiBNb3JhbmRcbiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBPcmFuZ2UgTGFic1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSA4LCAyMDE1XG5cblxuICAgICAgICAgICAg
ICAgIERpYW1ldGVyIE92ZXJsb2FkIEluZGljYXRpb24gQ29udmV5YW5jZVxuICAgICAgICAg
ICAgICAgICAgICAgIGRyYWZ0LWlldGYtZGltZS1vdmxpLTA2LnR4dFxuXG5BYnN0cmFjdFxu
XG4gICBUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIGJhc2Ugc29sdXRpb24gZm9yIERp
YW1ldGVyIG92ZXJsb2FkXG4gICBjb250cm9sLCByZWZlcnJlZCB0byBhcyBEaWFtZXRlciBP
dmVybG9hZCBJbmRpY2F0aW9uIENvbnZleWFuY2VcbiAgIChET0lDKS5cblxuU3RhdHVzIG9m
IFRoaXMgTWVtb1xuXG4gICBUaGlzIEludGVybmV0LURyYWZ0IGlzIHN1Ym1pdHRlZCBpbiBm
dWxsIGNvbmZvcm1hbmNlIHdpdGggdGhlXG4gICBwcm92aXNpb25zIG9mIEJDUCA3OCBhbmQg
QkNQIDc5LlxuXG4gICBJbnRlcm5ldC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9m
IHRoZSBJbnRlcm5ldCBFbmdpbmVlcmluZ1xuICAgVGFzayBGb3JjZSAoSUVURikuICBOb3Rl
IHRoYXQgb3RoZXIgZ3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGVcbiAgIHdvcmtpbmcgZG9j
dW1lbnRzIGFzIEludGVybmV0LURyYWZ0cy4gIFRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJu
ZXQtXG4gICBEcmFmdHMgaXMgYXQgaHR0cDovL2RhdGF0cmFja2VyLmlldGYub3JnL2RyYWZ0
cy9jdXJyZW50Ly5cblxuICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMg
dmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzXG4gICBhbmQgbWF5IGJlIHVwZGF0
ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueVxu
ICAgdGltZS4gIEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBh
cyByZWZlcmVuY2VcbiAgIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFz
ICJ3b3JrIGluIHByb2dyZXNzLiJcblxuICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4
cGlyZSBvbiBKdWx5IDEyLCAyMDE1LlxuXG5Db3B5cmlnaHQgTm90aWNlXG5cbiAgIENvcHly
aWdodCAoYykgMjAxNSBJRVRGIFRydXN0IGFuZCB0aGUgcGVyc29ucyBpZGVudGlmaWVkIGFz
IHRoZVxuICAgZG9jdW1lbnQgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5cbiAg
IFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byBCQ1AgNzggYW5kIHRoZSBJRVRGIFRydXN0
XCdzIExlZ2FsXG4gICBQcm92aXNpb25zIFJlbGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzXG4g
ICAoaHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKSBpbiBlZmZlY3Qgb24g
dGhlIGRhdGUgb2ZcbiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9jdW1lbnQuICBQbGVhc2Ug
cmV2aWV3IHRoZXNlIGRvY3VtZW50c1xuICAgY2FyZWZ1bGx5LCBhcyB0aGV5IGRlc2NyaWJl
IHlvdXIgcmlnaHRzIGFuZCByZXN0cmljdGlvbnMgd2l0aCByZXNwZWN0XG4gICB0byB0aGlz
IGRvY3VtZW50LiAgQ29kZSBDb21wb25lbnRzIGV4dHJhY3RlZCBmcm9tIHRoaXMgZG9jdW1l
bnQgbXVzdFxuICAgaW5jbHVkZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNlIHRleHQgYXMgZGVz
Y3JpYmVkIGluIFNlY3Rpb24gNC5lIG9mXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAg
ICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgMV1cbl9c
bkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAg
ICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIHRoZSBUcnVzdCBMZWdhbCBQcm92aXNpb25z
IGFuZCBhcmUgcHJvdmlkZWQgd2l0aG91dCB3YXJyYW50eSBhc1xuICAgZGVzY3JpYmVkIGlu
IHRoZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNlLlxuXG5UYWJsZSBvZiBDb250ZW50c1xuXG4g
ICAxLiAgSW50cm9kdWN0aW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgIDNcbiAgIDIuICBUZXJtaW5vbG9neSBhbmQgQWJicmV2aWF0aW9u
cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNFxuICAgMy4gIENvbnZlbnRp
b25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
ICA1XG4gICA0LiAgU29sdXRpb24gT3ZlcnZpZXcgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgIDVcbiAgICAgNC4xLiAgUGlnZ3liYWNraW5nICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgN1xuICAgICA0LjIu
ICBET0lDIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gICA3XG4gICAgIDQuMy4gIERPSUMgT3ZlcmxvYWQgQ29uZGl0aW9uIFJlcG9ydGlu
ZyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDlcbiAgICAgNC40LiAgRE9JQyBFeHRlbnNp
YmlsaXR5ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMVxuICAg
ICA0LjUuICBTaW1wbGlmaWVkIEV4YW1wbGUgQXJjaGl0ZWN0dXJlIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDExXG4gICA1LiAgU29sdXRpb24gUHJvY2VkdXJlcyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTJcbiAgICAgNS4xLiAgQ2FwYWJp
bGl0eSBBbm5vdW5jZW1lbnQgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAx
MlxuICAgICAgIDUuMS4xLiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvciAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDEzXG4gICAgICAgNS4xLjIuICBSZXBvcnRpbmcgTm9kZSBC
ZWhhdmlvciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTNcbiAgICAgICA1LjEu
My4gIEFnZW50IEJlaGF2aW9yICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAxNFxuICAgICA1LjIuICBPdmVybG9hZCBSZXBvcnQgUHJvY2Vzc2luZyAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE1XG4gICAgICAgNS4yLjEuICBPdmVybG9hZCBD
b250cm9sIFN0YXRlICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTVcbiAgICAg
ICA1LjIuMi4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAxOVxuICAgICAgIDUuMi4zLiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3Ig
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIwXG4gICAgIDUuMy4gIFByb3RvY29s
IEV4dGVuc2liaWxpdHkgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjFc
biAgIDYuICBMb3NzIEFsZ29yaXRobSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICAyMlxuICAgICA2LjEuICBPdmVydmlldyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIyXG4gICAgIDYuMi4gIFJl
cG9ydGluZyBOb2RlIEJlaGF2aW9yIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgMjNcbiAgICAgNi4zLiAgUmVhY3RpbmcgTm9kZSBCZWhhdmlvciAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNFxuICAgNy4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWly
cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI0XG4gICAgIDcu
MS4gIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgMjVcbiAgICAgNy4yLiAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNVxuICAgICA3LjMuICBPQy1PTFIgQVZQ
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDI1XG4g
ICAgIDcuNC4gIE9DLVNlcXVlbmNlLU51bWJlciBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgMjZcbiAgICAgNy41LiAgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQ
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyNlxuICAgICA3LjYuICBPQy1S
ZXBvcnQtVHlwZSBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDI2XG4gICAgIDcuNy4gIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIEFWUCAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMjdcbiAgICAgNy44LiAgQXR0cmlidXRlIFZhbHVlIFBh
aXIgZmxhZyBydWxlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyN1xuICAgOC4gIEVy
cm9yIFJlc3BvbnNlIENvZGVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDI4XG4gICA5LiAgSUFOQSBDb25zaWRlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjhcbiAgICAgOS4xLiAgQVZQIGNvZGVzIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyOFxuICAg
ICA5LjIuICBOZXcgcmVnaXN0cmllcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDI4XG4gICAxMC4gU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjlcbiAgICAgMTAuMS4gIFBvdGVu
dGlhbCBUaHJlYXQgTW9kZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAy
OVxuICAgICAxMC4yLiAgRGVuaWFsIG9mIFNlcnZpY2UgQXR0YWNrcyAgLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDMxXG4gICAgIDEwLjMuICBOb24tQ29tcGxpYW50IE5vZGVz
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzFcbiAgICAgMTAuNC4g
IEVuZC10byBFbmQtU2VjdXJpdHkgSXNzdWVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAzMVxuICAgMTEuIENvbnRyaWJ1dG9ycyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDMzXG4gICAxMi4gUmVmZXJlbmNlcyAgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzNcblxuXG5c
bktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAg
ICAgICAgICAgICBbUGFnZSAyXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAg
ICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAx
Mi4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDMzXG4gICAgIDEyLjIuICBJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzNcbiAgIEFwcGVuZGl4IEEuICBJc3N1
ZXMgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmljYXRpb25zICAuIC4gLiAuIC4gLiAuICAzNFxu
ICAgICBBLjEuICBBZGRpdGlvbmFsIHRyYWZmaWMgYWJhdGVtZW50IGFsZ29yaXRobXMgLiAu
IC4gLiAuIC4gLiAuIC4gIDM0XG4gICAgIEEuMi4gIEFnZW50IE92ZXJsb2FkICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzRcbiAgICAgQS4zLiAgTmV3
IEVycm9yIERpYWdub3N0aWMgQVZQICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
ICAzNFxuICAgQXBwZW5kaXggQi4gIERlcGxveW1lbnQgQ29uc2lkZXJhdGlvbnMgIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM0XG4gICBBcHBlbmRpeCBDLiAgUmVxdWlyZW1lbnRz
IENvbmZvcm1hbmNlIEFuYWx5c2lzICAuIC4gLiAuIC4gLiAuIC4gLiAgMzVcbiAgICAgQy4x
LiAgRGVmZXJyZWQgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAzNVxuICAgICBDLjIuICBEZXRlY3Rpb24gb2Ygbm9uLXN1cHBvcnRpbmcgSW50
ZXJtZWRpYXJpZXMgIC4gLiAuIC4gLiAuIC4gIDM1XG4gICAgIEMuMy4gIEltcGxpY2l0IEFw
cGxpY2F0aW9uIEluZGljYXRpb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMzZcbiAg
ICAgQy40LiAgU3RhdGVsZXNzIE9wZXJhdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAzNlxuICAgICBDLjUuICBObyBOZXcgVnVsbmVyYWJpbGl0aWVzICAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM2XG4gICAgIEMuNi4gIERldGFp
bGVkIFJlcXVpcmVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MzZcbiAgICAgICBDLjYuMS4gIEdlbmVyYWwgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICAzNlxuICAgICAgIEMuNi4yLiAgUGVyZm9ybWFuY2UgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM4XG4gICAgICAgQy42
LjMuICBIZXRlcm9nZW5lb3VzIFN1cHBvcnQgZm9yIFNvbHV0aW9uICAuIC4gLiAuIC4gLiAu
IC4gLiAgNDBcbiAgICAgICBDLjYuNC4gIEdyYW51bGFyIENvbnRyb2wgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0MlxuICAgICAgIEMuNi41LiAgUHJpb3JpdHkg
YW5kIFBvbGljeSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQzXG4gICAg
ICAgQy42LjYuICBTZWN1cml0eSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgNDNcbiAgICAgICBDLjYuNy4gIEZsZXhpYmlsaXR5IGFuZCBFeHRlbnNp
YmlsaXR5IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0NFxuICAgQXBwZW5kaXggRC4gIENv
bnNpZGVyYXRpb25zIGZvciBBcHBsaWNhdGlvbnMgSW50ZWdyYXRpbmcgdGhlIERPSUNcbiAg
ICAgICAgICAgICAgICBTb2x1dGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICA0NlxuICAgICBELjEuICBBcHBsaWNhdGlvbiBDbGFzc2lmaWNhdGlv
biAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ2XG4gICAgIEQuMi4gIEFwcGxp
Y2F0aW9uIFR5cGUgT3ZlcmxvYWQgSW1wbGljYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAg
NDdcbiAgICAgRC4zLiAgUmVxdWVzdCBUcmFuc2FjdGlvbiBDbGFzc2lmaWNhdGlvbiAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICA0OFxuICAgICBELjQuICBSZXF1ZXN0IFR5cGUgT3Zlcmxv
YWQgSW1wbGljYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQ5XG4gICBBdXRob3Jz
XCcgQWRkcmVzc2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDUwXG5cbjEuICBJbnRyb2R1Y3Rpb25cblxuICAgVGhpcyBzcGVjaWZpY2F0aW9u
IGRlZmluZXMgYSBiYXNlIHNvbHV0aW9uIGZvciBEaWFtZXRlciBvdmVybG9hZFxuICAgY29u
dHJvbCwgcmVmZXJyZWQgdG8gYXMgRGlhbWV0ZXIgT3ZlcmxvYWQgSW5kaWNhdGlvbiBDb252
ZXlhbmNlXG4gICAoRE9JQyksIGJhc2VkIG9uIHRoZSByZXF1aXJlbWVudHMgaWRlbnRpZmll
ZCBpbiBbUkZDNzA2OF0uXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBhZGRyZXNzZXMgRGlh
bWV0ZXIgb3ZlcmxvYWQgY29udHJvbCBiZXR3ZWVuXG4gICBEaWFtZXRlciBub2RlcyB0aGF0
IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24uICBUaGUgc29sdXRpb24sIHdoaWNoXG4gICBp
cyBkZXNpZ25lZCB0byBhcHBseSB0byBleGlzdGluZyBhbmQgZnV0dXJlIERpYW1ldGVyIGFw
cGxpY2F0aW9ucyxcbiAgIHJlcXVpcmVzIG5vIGNoYW5nZXMgdG8gdGhlIERpYW1ldGVyIGJh
c2UgcHJvdG9jb2wgW1JGQzY3MzNdIGFuZCBpc1xuICAgZGVwbG95YWJsZSBpbiBlbnZpcm9u
bWVudHMgd2hlcmUgc29tZSBEaWFtZXRlciBub2RlcyBkbyBub3QgaW1wbGVtZW50XG4gICB0
aGUgRGlhbWV0ZXIgb3ZlcmxvYWQgY29udHJvbCBzb2x1dGlvbiBkZWZpbmVkIGluIHRoaXMg
c3BlY2lmaWNhdGlvbi5cblxuICAgQSBuZXcgYXBwbGljYXRpb24gc3BlY2lmaWNhdGlvbiBj
YW4gaW5jb3Jwb3JhdGUgdGhlIG92ZXJsb2FkIGNvbnRyb2xcbiAgIG1lY2hhbmlzbSBzcGVj
aWZpZWQgaW4gdGhpcyBkb2N1bWVudCBieSBtYWtpbmcgaXQgbWFuZGF0b3J5IHRvXG4gICBp
bXBsZW1lbnQgZm9yIHRoZSBhcHBsaWNhdGlvbiBhbmQgcmVmZXJlbmNpbmcgdGhpcyBzcGVj
aWZpY2F0aW9uXG4gICBub3JtYXRpdmVseS4gIEl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBv
ZiB0aGUgRGlhbWV0ZXIgYXBwbGljYXRpb25cbiAgIGRlc2lnbmVycyB0byBkZWZpbmUgaG93
IG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtcyB3b3JrcyBvbiB0aGF0XG4gICBhcHBsaWNh
dGlvbi5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEy
LCAyMDE1ICAgICAgICAgICAgICAgICBbUGFnZSAzXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAg
ICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1
XG5cblxuICAgTm90ZSB0aGF0IHRoZSBvdmVybG9hZCBjb250cm9sIHNvbHV0aW9uIGRlZmlu
ZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uXG4gICBkb2VzIG5vdCBhZGRyZXNzIGFsbCB0aGUg
cmVxdWlyZW1lbnRzIGxpc3RlZCBpbiBbUkZDNzA2OF0uICBBIG51bWJlclxuICAgb2Ygb3Zl
cmxvYWQgY29udHJvbCByZWxhdGVkIGZlYXR1cmVzIGFyZSBsZWZ0IGZvciBmdXR1cmVcbiAg
IHNwZWNpZmljYXRpb25zLiAgU2VlIEFwcGVuZGl4IEEgZm9yIGEgbGlzdCBvZiBleHRlbnNp
b25zIHRoYXQgYXJlXG4gICBjdXJyZW50bHkgYmVpbmcgY29uc2lkZXJlZC4gIFNlZSBBcHBl
bmRpeCBDIGZvciBhbiBhbmFseXNpcyBvZlxuICAgY29uZm9ybWFuY2UgdG8gdGhlIHJlcXVp
cmVtZW50cyBzcGVjaWZpZWQgaW4gW1JGQzcwNjhdLlxuXG4yLiAgVGVybWlub2xvZ3kgYW5k
IEFiYnJldmlhdGlvbnNcblxuICAgQWJhdGVtZW50XG5cbiAgICAgIFJlYWN0aW9uIHRvIHJl
Y2VpcHQgb2YgYW4gb3ZlcmxvYWQgcmVwb3J0IHJlc3VsdGluZyBpbiBhIHJlZHVjdGlvblxu
ICAgICAgaW4gdHJhZmZpYyBzZW50IHRvIHRoZSByZXBvcnRpbmcgbm9kZS4gIEFiYXRlbWVu
dCBhY3Rpb25zIGluY2x1ZGVcbiAgICAgIGRpdmVyc2lvbiBhbmQgdGhyb3R0bGluZy5cblxu
ICAgQWJhdGVtZW50IEFsZ29yaXRobVxuXG4gICAgICBBbiBleHRlbnNpYmxlIG1lY2hhbmlz
bSByZXF1ZXN0ZWQgYnkgcmVwb3J0aW5nIG5vZGVzIGFuZCB1c2VkIGJ5XG4gICAgICByZWFj
dGluZyBub2RlcyB0byByZWR1Y2UgdGhlIGFtb3VudCBvZiB0cmFmZmljIHNlbnQgZHVyaW5n
IGFuXG4gICAgICBvY2N1cnJlbmNlIG9mIG92ZXJsb2FkIGNvbnRyb2wuXG5cbiAgIERpdmVy
c2lvblxuXG4gICAgICBBbiBvdmVybG9hZCBhYmF0ZW1lbnQgbWVjaGFuaXNtLCB3aGVyZSB0
aGUgcmVhY3Rpbmcgbm9kZSBzZWxlY3RzXG4gICAgICBhbHRlcm5hdGUgZGVzdGluYXRpb25z
IG9yIHBhdGhzIGZvciBmb3IgcmVxdWVzdHMuXG5cbiAgIEhvc3QtUm91dGVkIFJlcXVlc3Rz
XG5cbiAgICAgIFJlcXVlc3RzIHRoYXQgYSByZWFjdGluZyBub2RlIGtub3dzIHdpbGwgYmUg
c2VydmVkIGJ5IGEgcGFydGljdWxhclxuICAgICAgaG9zdCwgZWl0aGVyIGR1ZSB0byB0aGUg
cHJlc2VuY2Ugb2YgYSBEZXN0aW5hdGlvbi1Ib3N0IEFWUCwgb3IgYnlcbiAgICAgIHNvbWUg
b3RoZXIgbG9jYWwga25vd2xlZGdlIG9uIHRoZSBwYXJ0IG9mIHRoZSByZWFjdGluZyBub2Rl
LlxuXG4gICBPdmVybG9hZCBDb250cm9sIFN0YXRlIChPQ1MpXG5cbiAgICAgIEludGVybmFs
IHN0YXRlIG1haW50YWluZWQgYnkgYSByZXBvcnRpbmcgb3IgcmVhY3Rpbmcgbm9kZVxuICAg
ICAgZGVzY3JpYmluZyBvY2N1cnJlbmNlcyBvZiBvdmVybG9hZCBjb250cm9sLlxuXG4gICBP
dmVybG9hZCBSZXBvcnQgKE9MUilcblxuICAgICAgT3ZlcmxvYWQgY29udHJvbCBpbmZvcm1h
dGlvbiBmb3IgYSBwYXJ0aWN1bGFyIG92ZXJsb2FkIG9jY3VycmVuY2VcbiAgICAgIHNlbnQg
YnkgYSByZXBvcnRpbmcgbm9kZS5cblxuICAgUmVhY3RpbmcgTm9kZVxuXG4gICAgICBBIERp
YW1ldGVyIG5vZGUgdGhhdCBhY3RzIHVwb24gYW4gb3ZlcmxvYWQgcmVwb3J0LlxuXG4gICBS
ZWFsbS1Sb3V0ZWQgUmVxdWVzdHNcblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAg
ICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgIFtQYWdlIDRdXG5fXG5J
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAg
ICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICBSZXF1ZXN0cyB0aGF0IGEgcmVhY3Rpbmcg
bm9kZSBkb2VzIG5vdCBrbm93IHdoaWNoIGhvc3Qgd2lsbFxuICAgICAgc2VydmljZSB0aGUg
cmVxdWVzdC5cblxuICAgUmVwb3J0aW5nIE5vZGVcblxuICAgICAgQSBEaWFtZXRlciBub2Rl
IHRoYXQgZ2VuZXJhdGVzIGFuIG92ZXJsb2FkIHJlcG9ydC4gIChUaGlzIG1heSBvclxuICAg
ICAgbWF5IG5vdCBiZSB0aGUgb3ZlcmxvYWRlZCBub2RlLilcblxuICAgVGhyb3R0bGluZ1xu
XG4gICAgICBBIG1lY2hhbmlzbSBmb3Igb3ZlcmxvYWQgYWJhdGVtZW50IHRoYXQgbGltaXRz
IHRoZSBudW1iZXIgb2ZcbiAgICAgIHJlcXVlc3RzIHNlbnQgYnkgdGhlIERJT0MgcmVhY3Rp
bmcgbm9kZS4gIFRocm90dGxpbmcgY2FuIGluY2x1ZGUgYVxuICAgICAgRGlhbWV0ZXIgQ2xp
ZW50IGNob29zaW5nIHRvIG5vdCBzZW5kIHJlcXVlc3RzLCBvciBhIERpYW1ldGVyIEFnZW50
XG4gICAgICBvciBTZXJ2ZXIgcmVqZWN0aW5nIHJlcXVlc3RzIHdpdGggYXBwcm9wcmlhdGUg
ZXJyb3IgcmVzcG9uc2VzLiAgSW5cbiAgICAgIGJvdGggY2FzZXMgdGhlIHJlc3VsdCBvZiB0
aGUgdGhyb3R0bGluZyBpcyBhIHBlcm1hbmVudCByZWplY3Rpb25cbiAgICAgIG9mIHRoZSB0
cmFuc2FjdGlvbi5cblxuXG5cbjMuICBDb252ZW50aW9ucyBVc2VkIGluIFRoaXMgRG9jdW1l
bnRcblxuICAgVGhlIGtleSB3b3JkcyAiTVVTVCIsICJNVVNUIE5PVCIsICJSRVFVSVJFRCIs
ICJTSEFMTCIsICJTSEFMTCBOT1QiLFxuICAgIlNIT1VMRCIsICJTSE9VTEQgTk9UIiwgIlJF
Q09NTUVOREVEIiwgIk1BWSIsIGFuZCAiT1BUSU9OQUwiIGluIHRoaXNcbiAgIGRvY3VtZW50
IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNjcmliZWQgaW4gUkZDIDIxMTkgW1JGQzIx
MTldLlxuXG40LiAgU29sdXRpb24gT3ZlcnZpZXdcblxuICAgVGhlIERpYW1ldGVyIE92ZXJs
b2FkIEluZm9ybWF0aW9uIENvbnZleWFuY2UgKERPSUMpIHNvbHV0aW9uIGFsbG93c1xuICAg
RGlhbWV0ZXIgbm9kZXMgdG8gcmVxdWVzdCBvdGhlciBEaWFtZXRlciBub2RlcyB0byBwZXJm
b3JtIG92ZXJsb2FkXG4gICBhYmF0ZW1lbnQgYWN0aW9ucywgdGhhdCBpcywgYWN0aW9ucyB0
byByZWR1Y2UgdGhlIGxvYWQgb2ZmZXJlZCB0byB0aGVcbiAgIG92ZXJsb2FkZWQgbm9kZSBv
ciByZWFsbS5cblxuICAgQSBEaWFtZXRlciBub2RlIHRoYXQgc3VwcG9ydHMgRE9JQyBpcyBr
bm93biBhcyBhICJET0lDIG5vZGUiLiAgQW55XG4gICBEaWFtZXRlciBub2RlIGNhbiBhY3Qg
YXMgYSBET0lDIG5vZGUsIGluY2x1ZGluZyBEaWFtZXRlciBDbGllbnRzLFxuICAgRGlhbWV0
ZXIgU2VydmVycywgYW5kIERpYW1ldGVyIEFnZW50cy4gIERPSUMgbm9kZXMgYXJlIGZ1cnRo
ZXJcbiAgIGRpdmlkZWQgaW50byAiUmVwb3J0aW5nIE5vZGVzIiBhbmQgIlJlYWN0aW5nIE5v
ZGVzLiIgIEEgcmVwb3J0aW5nXG4gICBub2RlIHJlcXVlc3RzIG92ZXJsb2FkIGFiYXRlbWVu
dCBieSBzZW5kaW5nIE92ZXJsb2FkIFJlcG9ydHMgKE9MUikuXG5cbiAgIEEgcmVhY3Rpbmcg
bm9kZSBhY3RzIHVwb24gT0xScywgYW5kIHBlcmZvcm1zIHdoYXRldmVyIGFjdGlvbnMgYXJl
XG4gICBuZWVkZWQgdG8gZnVsZmlsbCB0aGUgYWJhdGVtZW50IHJlcXVlc3RzIGluY2x1ZGVk
IGluIHRoZSBPTFJzLiAgQVxuICAgUmVwb3J0aW5nIG5vZGUgbWF5IHJlcG9ydCBvdmVybG9h
ZCBvbiBpdHMgb3duIGJlaGFsZiwgb3Igb24gYmVoYWxmIG9mXG4gICBvdGhlciBub2Rlcy4g
IExpa2V3aXNlLCBhIHJlYWN0aW5nIG5vZGUgbWF5IHBlcmZvcm0gb3ZlcmxvYWRcbiAgIGFi
YXRlbWVudCBvbiBpdHMgb3duIGJlaGFsZiwgb3Igb24gYmVoYWxmIG9mIG90aGVyIG5vZGVz
LlxuXG4gICBBIERpYW1ldGVyIG5vZGVcJ3Mgcm9sZSBhcyBhIERPSUMgbm9kZSBpcyBpbmRl
cGVuZGVudCBvZiBpdHMgRGlhbWV0ZXJcbiAgIHJvbGUuICBGb3IgZXhhbXBsZSwgRGlhbWV0
ZXIgQWdlbnRzIG1heSBhY3QgYXMgRE9JQyBub2RlcywgZXZlblxuICAgdGhvdWdoIHRoZXkg
YXJlIG5vdCBlbmRwb2ludHMgaW4gdGhlIERpYW1ldGVyIHNlbnNlLiAgU2luY2UgRGlhbWV0
ZXJcbiAgIGVuYWJsZXMgYmktZGlyZWN0aW9uYWwgYXBwbGljYXRpb25zLCB3aGVyZSBEaWFt
ZXRlciBTZXJ2ZXJzIGNhbiBzZW5kXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAg
IEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgNV1cbl9cbklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAg
ICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIHJlcXVlc3RzIHRvd2FyZHMgRGlhbWV0ZXIgQ2xp
ZW50cywgYSBnaXZlbiBEaWFtZXRlciBub2RlIGNhblxuICAgc2ltdWx0YW5lb3VzbHkgYWN0
IGFzIGJvdGggYSByZXBvcnRpbmcgbm9kZSBhbmQgYSByZWFjdGluZyBub2RlLlxuXG4gICBM
aWtld2lzZSwgYSBEaWFtZXRlciBBZ2VudCBtYXkgYWN0IGFzIGEgcmVhY3Rpbmcgbm9kZSBm
cm9tIHRoZVxuICAgcGVyc3BlY3RpdmUgb2YgdXBzdHJlYW0gbm9kZXMsIGFuZCBhIHJlcG9y
dGluZyBub2RlIGZyb20gdGhlXG4gICBwZXJzcGVjdGl2ZSBvZiBkb3duc3RyZWFtIG5vZGVz
LlxuXG4gICBET0lDIG5vZGVzIGRvIG5vdCBnZW5lcmF0ZSBuZXcgbWVzc2FnZXMgdG8gY2Fy
cnkgRE9JQyByZWxhdGVkXG4gICBpbmZvcm1hdGlvbi4gIFJhdGhlciwgdGhleSAicGlnZ3li
YWNrIiBET0lDIGluZm9ybWF0aW9uIG92ZXIgZXhpc3RpbmdcbiAgIERpYW1ldGVyIG1lc3Nh
Z2VzIGJ5IGluc2VydGluZyBuZXcgQVZQcyBpbnRvIGV4aXN0aW5nIERpYW1ldGVyXG4gICBy
ZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLiAgTm9kZXMgaW5kaWNhdGUgc3VwcG9ydCBmb3IgRE9J
QywgYW5kIGFueVxuICAgbmVlZGVkIERPSUMgcGFyYW1ldGVycywgYnkgaW5zZXJ0aW5nIGFu
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlBcbiAgIChTZWN0aW9uIDcuMikgaW50byBleGlz
dGluZyByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLiAgUmVwb3J0aW5nIG5vZGVzXG4gICBzZW5k
IE9MUnMgYnkgaW5zZXJ0aW5nIE9DLU9MUiBBVlBzIChTZWN0aW9uIDcuMykuXG5cbiAgIEEg
Z2l2ZW4gT0xSIGFwcGxpZXMgdG8gdGhlIERpYW1ldGVyIHJlYWxtIGFuZCBhcHBsaWNhdGlv
biBvZiB0aGVcbiAgIERpYW1ldGVyIG1lc3NhZ2UgdGhhdCBjYXJyaWVzIGl0LiAgSWYgYSBy
ZXBvcnRpbmcgbm9kZSBzdXBwb3J0cyBtb3JlXG4gICB0aGFuIG9uZSByZWFsbSBhbmQvb3Ig
YXBwbGljYXRpb24sIGl0IHJlcG9ydHMgaW5kZXBlbmRlbnRseSBmb3IgZWFjaFxuICAgY29t
YmluYXRpb24gb2YgcmVhbG0gYW5kIGFwcGxpY2F0aW9uLiAgU2ltaWxhcmx5LCB0aGUgT0Mt
U3VwcG9ydGVkLVxuICAgRmVhdHVyZXMgQVZQIGFwcGxpZXMgdG8gdGhlIHJlYWxtIGFuZCBh
cHBsaWNhdGlvbiBvZiB0aGUgZW5jbG9zaW5nXG4gICBtZXNzYWdlLiAgVGhpcyBpbXBsaWVz
IHRoYXQgYSBub2RlIG1heSBzdXBwb3J0IERPSUMgZm9yIG9uZVxuICAgYXBwbGljYXRpb24g
YW5kL29yIHJlYWxtLCBidXQgbm90IGFub3RoZXIsIGFuZCBtYXkgaW5kaWNhdGUgZGlmZmVy
ZW50XG4gICBET0lDIHBhcmFtZXRlcnMgZm9yIGVhY2ggYXBwbGljYXRpb24gYW5kIHJlYWxt
IGZvciB3aGljaCBpdCBzdXBwb3J0c1xuICAgRE9JQy5cblxuICAgUmVhY3Rpbmcgbm9kZXMg
cGVyZm9ybSBvdmVybG9hZCBhYmF0ZW1lbnQgYWNjb3JkaW5nIHRvIGFuIGFncmVlZC11cG9u
XG4gICBhYmF0ZW1lbnQgYWxnb3JpdGhtLiAgQW4gYWJhdGVtZW50IGFsZ29yaXRobSBkZWZp
bmVzIHRoZSBtZWFuaW5nIG9mXG4gICBzb21lIG9mIHRoZSBwYXJhbWV0ZXJzIG9mIGFuIE9M
UiBhbmQgdGhlIHByb2NlZHVyZXMgcmVxdWlyZWQgZm9yXG4gICBvdmVybG9hZCBhYmF0ZW1l
bnQuICBBbiBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNlcGFyYXRlc1xuICAgRGlh
bWV0ZXIgcmVxdWVzdHMgaW50byB0d28gc2V0cy4gIFRoZSBmaXJzdCBzZXQgY29udGFpbnMg
dGhlIHJlcXVlc3RzXG4gICB0aGF0IGFyZSB0byB1bmRlcmdvIG92ZXJsb2FkIGFiYXRlbWVu
dCB0cmVhdG1lbnQgb2YgZWl0aGVyIHRocm90dGxpbmdcbiAgIG9yIGRpdmVyc2lvbi4gIFRo
ZSBzZWNvbmQgc2V0IGNvbnRhaW5zIHRoZSByZXF1ZXN0cyB0aGF0IGFyZSB0byBiZVxuICAg
Z2l2ZW4gbm9ybWFsIHJvdXRpbmcgdHJlYXRtZW50LiAgVGhpcyBkb2N1bWVudCBzcGVjaWZp
ZXMgYSBzaW5nbGVcbiAgIG11c3Qtc3VwcG9ydCBhbGdvcml0aG0sIG5hbWVseSB0aGUgImxv
c3MiIGFsZ29yaXRobSAoU2VjdGlvbiA2KS5cbiAgIEZ1dHVyZSBzcGVjaWZpY2F0aW9ucyBt
YXkgaW50cm9kdWNlIG5ldyBhbGdvcml0aG1zLlxuXG4gICBPdmVybG9hZCBjb25kaXRpb25z
IG1heSB2YXJ5IGluIHNjb3BlLiAgRm9yIGV4YW1wbGUsIGEgc2luZ2xlXG4gICBEaWFtZXRl
ciBub2RlIG1heSBiZSBvdmVybG9hZGVkLCBpbiB3aGljaCBjYXNlIHJlYWN0aW5nIG5vZGVz
IG1heVxuICAgYXR0ZW1wdCB0byBzZW5kIHJlcXVlc3RzIHRvIG90aGVyIGRlc3RpbmF0aW9u
cy4gIE9uIHRoZSBvdGhlciBoYW5kLFxuICAgYW4gZW50aXJlIERpYW1ldGVyIHJlYWxtIG1h
eSBiZSBvdmVybG9hZGVkLCBpbiB3aGljaCBjYXNlIHN1Y2hcbiAgIGF0dGVtcHRzIHdvdWxk
IGRvIGhhcm0uICBET0lDIE9MUnMgaGF2ZSBhIGNvbmNlcHQgb2YgInJlcG9ydCB0eXBlIlxu
ICAgKFNlY3Rpb24gNy42KSwgd2hlcmUgdGhlIHR5cGUgZGVmaW5lcyBzdWNoIGJlaGF2aW9y
cy4gIFJlcG9ydCB0eXBlc1xuICAgYXJlIGV4dGVuc2libGUuICBUaGlzIGRvY3VtZW50IGRl
ZmluZXMgcmVwb3J0IHR5cGVzIGZvciBvdmVybG9hZCBvZiBhXG4gICBzcGVjaWZpYyBob3N0
LCBhbmQgZm9yIG92ZXJsb2FkIG9mIGFuIGVudGlyZSByZWFsbS5cblxuICAgRE9JQyB3b3Jr
cyB0aHJvdWdoIG5vbiBzdXBwb3J0aW5nIERpYW1ldGVyIEFnZW50cyB0aGF0IHByb3Blcmx5
IHBhc3NcbiAgIHVua25vd24gQVZQcyB1bmNoYW5nZWQuXG5cblxuXG5cbktvcmhvbmVuLCBl
dCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgICBb
UGFnZSA2XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAg
ICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuNC4xLiAgUGlnZ3liYWNraW5n
XG5cbiAgIFRoZXJlIGlzIG5vIG5ldyBEaWFtZXRlciBhcHBsaWNhdGlvbiBkZWZpbmVkIHRv
IGNhcnJ5IG92ZXJsb2FkXG4gICByZWxhdGVkIEFWUHMuICBUaGUgb3ZlcmxvYWQgY29udHJv
bCBBVlBzIGRlZmluZWQgaW4gdGhpc1xuICAgc3BlY2lmaWNhdGlvbiBoYXZlIGJlZW4gZGVz
aWduZWQgdG8gYmUgcGlnZ3liYWNrZWQgb24gdG9wIG9mIGV4aXN0aW5nXG4gICBhcHBsaWNh
dGlvbiBtZXNzYWdlcy4gIFRoaXMgaXMgbWFkZSBwb3NzaWJsZSBieSBhZGRpbmcgdGhlIG9w
dGlvbmFsXG4gICBvdmVybG9hZCBjb250cm9sIEFWUHMgT0MtT0xSIGFuZCBPQy1TdXBwb3J0
ZWQtRmVhdHVyZXMgaW50byBleGlzdGluZ1xuICAgY29tbWFuZHMuXG5cbiAgIFJlYWN0aW5n
IG5vZGVzIGluZGljYXRlIHN1cHBvcnQgZm9yIERPSUMgYnkgaW5jbHVkaW5nIHRoZSBPQy1c
biAgIFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYWxsIHJlcXVlc3QgbWVzc2FnZXMgb3Jp
Z2luYXRlZCBvciByZWxheWVkXG4gICBieSB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgUmVw
b3J0aW5nIG5vZGVzIGluZGljYXRlIHN1cHBvcnQgZm9yIERPSUMgYnkgaW5jbHVkaW5nIHRo
ZSBPQy1cbiAgIFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYWxsIGFuc3dlciBtZXNzYWdl
cyBvcmlnaW5hdGVkIG9yIHJlbGF5ZWRcbiAgIGJ5IHRoZSByZXBvcnRpbmcgbm9kZSB0aGF0
IGFyZSBpbiByZXNwb25zZSB0byBhIHJlcXVlc3QgdGhhdFxuICAgY29udGFpbmVkIHRoZSBP
Qy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLiAgUmVwb3J0aW5nIG5vZGVzIG1heSBpbmNsdWRl
XG4gICBvdmVybG9hZCByZXBvcnRzIHVzaW5nIHRoZSBPQy1PTFIgQVZQIGluIGFuc3dlciBt
ZXNzYWdlcy5cblxuICAgTm90ZSB0aGF0IHRoZSBvdmVybG9hZCBjb250cm9sIHNvbHV0aW9u
IGRvZXMgbm90IGhhdmUgZml4ZWQgc2VydmVyXG4gICBhbmQgY2xpZW50IHJvbGVzLiAgVGhl
IERPSUMgbm9kZSByb2xlIGlzIGRldGVybWluZWQgYmFzZWQgb24gdGhlXG4gICBtZXNzYWdl
IHR5cGU6IHdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgYSByZXF1ZXN0IChpLmUuIHNlbnQgYnkg
YVxuICAgInJlYWN0aW5nIG5vZGUiKSBvciBhbiBhbnN3ZXIgKGkuZS4gc2VudCBieSBhICJy
ZXBvcnRpbmcgbm9kZSIpLlxuICAgVGhlcmVmb3JlLCBpbiBhIHR5cGljYWwgImNsaWVudC1z
ZXJ2ZXIiIGRlcGxveW1lbnQsIHRoZSBEaWFtZXRlclxuICAgQ2xpZW50IG1heSByZXBvcnQg
aXRzIG92ZXJsb2FkIGNvbmRpdGlvbiB0byB0aGUgRGlhbWV0ZXIgU2VydmVyIGZvclxuICAg
YW55IERpYW1ldGVyIFNlcnZlciBpbml0aWF0ZWQgbWVzc2FnZSBleGNoYW5nZS4gIEFuIGV4
YW1wbGUgb2Ygc3VjaFxuICAgaXMgdGhlIERpYW1ldGVyIFNlcnZlciByZXF1ZXN0aW5nIGEg
cmUtYXV0aGVudGljYXRpb24gZnJvbSBhIERpYW1ldGVyXG4gICBDbGllbnQuXG5cbjQuMi4g
IERPSUMgQ2FwYWJpbGl0eSBBbm5vdW5jZW1lbnRcblxuICAgVGhlIERPSUMgc29sdXRpb24g
c3VwcG9ydHMgdGhlIGFiaWxpdHkgZm9yIERpYW1ldGVyIG5vZGVzIHRvXG4gICBkZXRlcm1p
bmUgaWYgb3RoZXIgbm9kZXMgaW4gdGhlIHBhdGggb2YgYSByZXF1ZXN0IHN1cHBvcnQgdGhl
XG4gICBzb2x1dGlvbi4gIFRoaXMgY2FwYWJpbGl0eSBpcyByZWZlcnJlZCB0byBhcyBET0lD
IENhcGFiaWxpdHlcbiAgIEFubm91bmNlbWVudCAoRENBKSBhbmQgaXMgc2VwYXJhdGUgZnJv
bSBEaWFtZXRlciBDYXBhYmlsaXR5IEV4Y2hhbmdlLlxuXG4gICBUaGUgRENBIG1lY2hhbmlz
bSB1c2VzIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQcyB0byBpbmRpY2F0ZSB0aGVc
biAgIERpYW1ldGVyIG92ZXJsb2FkIGZlYXR1cmVzIHN1cHBvcnRlZC5cblxuICAgVGhlIGZp
cnN0IG5vZGUgaW4gdGhlIHBhdGggb2YgYSBEaWFtZXRlciByZXF1ZXN0IHRoYXQgc3VwcG9y
dHMgdGhlXG4gICBET0lDIHNvbHV0aW9uIGluc2VydHMgdGhlIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3RcbiAgIG1lc3NhZ2UuXG5cbiAgIFRoZSBpbmRpdmlk
dWFsIGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGUgRE9JQyBub2RlcyBhcmUgaW5kaWNhdGVk
IGluXG4gICB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLiAgQW55IHNlbWFudGljcyBhc3Nv
Y2lhdGVkIHdpdGggdGhlXG4gICBmZWF0dXJlcyB3aWxsIGJlIGRlZmluZWQgaW4gZXh0ZW5z
aW9uIHNwZWNpZmljYXRpb25zIHRoYXQgaW50cm9kdWNlXG4gICB0aGUgZmVhdHVyZXMuXG5c
blxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1
ICAgICAgICAgICAgICAgICBbUGFnZSA3XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxu
ICAgICAgTm90ZTogQXMgZGlzY3Vzc2VkIGVsc2V3aGVyZSBpbiB0aGUgZG9jdW1lbnQsIGFn
ZW50cyBpbiB0aGUgcGF0aFxuICAgICAgb2YgdGhlIHJlcXVlc3QgY2FuIG1vZGlmeSB0aGUg
T0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUC5cblxuICAgICAgTm90ZTogVGhlIERPSUMgc29s
dXRpb24gbXVzdCBzdXBwb3J0IGRlcGxveW1lbnRzIHdoZXJlIERpYW1ldGVyXG4gICAgICBD
bGllbnRzIGFuZC9vciBEaWFtZXRlciBTZXJ2ZXJzIGRvIG5vdCBzdXBwb3J0IHRoZSBET0lD
IHNvbHV0aW9uLlxuICAgICAgSW4gdGhpcyBzY2VuYXJpbywgRGlhbWV0ZXIgQWdlbnRzIHRo
YXQgc3VwcG9ydCB0aGUgRE9JQyBzb2x1dGlvblxuICAgICAgbWF5IGhhbmRsZSBvdmVybG9h
ZCBhYmF0ZW1lbnQgZm9yIHRoZSBub24gc3VwcG9ydGluZyBEaWFtZXRlclxuICAgICAgbm9k
ZXMuICBJbiB0aGlzIGNhc2UgdGhlIERPSUMgYWdlbnQgd2lsbCBpbnNlcnQgdGhlIE9DLVN1
cHBvcnRlZC1cbiAgICAgIEZlYXR1cmVzIEFWUCBpbiByZXF1ZXN0cyB0aGF0IGRvIG5vdCBh
bHJlYWR5IGNvbnRhaW4gb25lLCB0ZWxsaW5nXG4gICAgICB0aGUgcmVwb3J0aW5nIG5vZGUg
dGhhdCB0aGVyZSBpcyBhIERPSUMgbm9kZSB0aGF0IHdpbGwgaGFuZGxlXG4gICAgICBvdmVy
bG9hZCBhYmF0ZW1lbnQuICBGb3IgdHJhbnNhY3Rpb25zIHdoZXJlIHRoZXJlIHdhcyBhbiBP
Qy1cbiAgICAgIFN1cHBvcnRpbmctRmVhdHVyZXMgQVZQIGluIHRoZSByZXF1ZXN0LCB0aGUg
YWdlbnQgd2lsbCBpbnNlcnQgdGhlXG4gICAgICBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQ
IGluIGFuc3dlcnMsIHRlbGxpbmcgdGhlIHJlYWN0aW5nIG5vZGVcbiAgICAgIHRoYXQgdGhl
cmUgaXMgYSByZXBvcnRpbmcgbm9kZS5cblxuICAgVGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFW
UCB3aWxsIGFsd2F5cyBjb250YWluIGFuIGluZGljYXRpb24gb2ZcbiAgIHN1cHBvcnQgZm9y
IHRoZSBsb3NzIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gZGVmaW5lZCBpbiB0aGlz
XG4gICBzcGVjaWZpY2F0aW9uIChzZWUgU2VjdGlvbiA2KS4gIFRoaXMgZW5zdXJlcyB0aGF0
IGEgcmVwb3J0aW5nIG5vZGVcbiAgIGFsd2F5cyBzdXBwb3J0cyBhdCBsZWFzdCBvbmUgb2Yg
dGhlIGFkdmVydGl6ZWQgYWJhdGVtZW50IGFsZ29yaXRobXNcbiAgIHJlY2VpdmVkIGluIGEg
cmVxdWVzdCBtZXNzYWdlcy5cblxuICAgVGhlIHJlcG9ydGluZyBub2RlIGluc2VydHMgdGhl
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gYWxsXG4gICBhbnN3ZXIgbWVzc2FnZXMg
dG8gcmVxdWVzdHMgdGhhdCBjb250YWluZWQgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlc1xu
ICAgQVZQLiAgVGhlIGNvbnRlbnRzIG9mIHRoZSByZXBvcnRpbmcgbm9kZVwncyBPQy1TdXBw
b3J0ZWQtRmVhdHVyZXMgQVZQXG4gICBpbmRpY2F0ZSB0aGUgc2V0IG9mIERpYW1ldGVyIG92
ZXJsb2FkIGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGVcbiAgIHJlcG9ydGluZyBub2RlLiAg
VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgb25lIGV4Y2VwdGlvbiAtIHRoZVxuICAgcmVw
b3J0aW5nIG5vZGUgb25seSBpbmNsdWRlcyBhbiBpbmRpY2F0aW9uIG9mIHN1cHBvcnQgZm9y
IG9uZVxuICAgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobSwgaW5kZXBlbmRlbnQgb2Yg
dGhlIG51bWJlciBvZiBvdmVybG9hZFxuICAgYWJhdGVtZW50IGFsZ29yaXRobXMgYWN0dWFs
bHkgc3VwcG9ydGVkIGJ5IHRoZSByZWFjdGluZyBub2RlLiAgVGhlXG4gICBvdmVybG9hZCBh
YmF0ZW1lbnQgYWxnb3JpdGhtIGluZGljYXRlZCBpcyB0aGUgYWxnb3JpdGhtIHRoYXQgdGhl
XG4gICByZXBvcnRpbmcgbm9kZSBpbnRlbmRzIHRvIHVzZSBzaG91bGQgaXQgZW50ZXIgYW4g
b3ZlcmxvYWQgY29uZGl0aW9uLlxuICAgUmVhY3Rpbmcgbm9kZXMgY2FuIHVzZSB0aGUgaW5k
aWNhdGVkIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gdG9cbiAgIHByZXBhcmUgZm9y
IHBvc3NpYmxlIG92ZXJsb2FkIHJlcG9ydHMgYW5kIG11c3QgdXNlIHRoZSBpbmRpY2F0ZWRc
biAgIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gaWYgdHJhZmZpYyByZWR1Y3Rpb24g
aXMgYWN0dWFsbHlcbiAgIHJlcXVlc3RlZC5cblxuICAgICAgTm90ZSB0aGF0IHRoZSBsb3Nz
IGFsZ29yaXRobSBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgaXMgYVxuICAgICAgc3RhdGVs
ZXNzIGFiYXRlbWVudCBhbGdvcml0aG0uICBBcyBhIHJlc3VsdCBpdCBkb2VzIG5vdCByZXF1
aXJlXG4gICAgICBhbnkgYWN0aW9ucyBieSByZWFjdGluZyBub2RlcyBwcmlvciB0byB0aGUg
cmVjZWlwdCBvZiBhbiBvdmVybG9hZFxuICAgICAgcmVwb3J0LiAgU3RhdGVmdWwgYWJhdGVt
ZW50IGFsZ29yaXRobXMgdGhhdCBiYXNlIHRoZSBhYmF0ZW1lbnRcbiAgICAgIGxvZ2ljIG9u
IGEgaGlzdG9yeSBvZiByZXF1ZXN0IG1lc3NhZ2VzIHNlbnQgbWlnaHQgcmVxdWlyZSByZWFj
dGluZ1xuICAgICAgbm9kZXMgdG8gbWFpbnRhaW4gc3RhdGUgaW4gYWR2YW5jZSBvZiByZWNl
aXZpbmcgYW4gb3ZlcmxvYWQgcmVwb3J0XG4gICAgICB0byBlbnN1cmUgdGhhdCB0aGUgb3Zl
cmxvYWQgcmVwb3J0cyBjYW4gYmUgcHJvcGVybHkgaGFuZGxlZC5cblxuICAgUmVwb3J0aW5n
IG5vZGVzIGNhbiBjaGFuZ2UgdGhlIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0gaW5k
aWNhdGVkXG4gICBpbiB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIGlmIHRoZSByZXBvcnRp
bmcgbm9kZSBpcyBub3QgY3VycmVudGx5XG4gICBpbiBhbiBvdmVybG9hZCBjb25kaXRpb24g
YW5kIHNlbmRpbmcgb3ZlcmxvYWQgcmVwb3J0cy4gIFRoZSByZXBvcnRpbmdcblxuXG5cblxu
S29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAg
ICAgICAgICAgIFtQYWdlIDhdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBub2Rl
IGlzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29y
aXRobSB3aGlsZVxuICAgdGhlIHJlcG9ydGluZyBub2RlIGlzIGluIGFuIG92ZXJsb2FkIGNv
bmRpdGlvbi5cblxuICAgVGhlIERDQSBtZWNoYW5pc20gbXVzdCBhbHNvIGFsbG93IHRoZSBz
Y2VuYXJpbyB3aGVyZSB0aGUgc2V0IG9mXG4gICBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhl
IHNlbmRlciBvZiBhIHJlcXVlc3QgYW5kIGJ5IGFnZW50cyBpbiB0aGVcbiAgIHBhdGggb2Yg
YSByZXF1ZXN0IGRpZmZlci4gIEluIHRoaXMgY2FzZSwgdGhlIGFnZW50IGNhbiB1cGRhdGUg
dGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCB0byByZWZsZWN0IHRoZSBtaXh0
dXJlIG9mIHRoZSB0d28gc2V0cyBvZlxuICAgc3VwcG9ydGVkIGZlYXR1cmVzLlxuXG4gICAg
ICBOb3RlOiBUaGUgbG9naWMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBjb250ZW50IG9mIHRoZSBP
Qy1TdXBwb3J0ZWQtXG4gICAgICBGZWF0dXJlcyBBVlAgc2hvdWxkIGJlIGNoYW5nZWQgaXMg
b3V0LW9mLXNjb3BlIGZvciB0aGlzIGRvY3VtZW50LFxuICAgICAgYXMgaXMgdGhlIGxvZ2lj
IHRvIGRldGVybWluZSB0aGUgY29udGVudCBvZiBhIG1vZGlmaWVkIE9DLVxuICAgICAgU3Vw
cG9ydGVkLUZlYXR1cmVzIEFWUC4gIFRoZXNlIGFyZSBsZWZ0IHRvIGltcGxlbWVudGF0aW9u
XG4gICAgICBkZWNpc2lvbnMuICBDYXJlIG11c3QgYmUgdGFrZW4gbm90IHRvIGludHJvZHVj
ZSBpbnRlcm9wZXJhYmlsaXR5XG4gICAgICBpc3N1ZXMgZm9yIGRvd25zdHJlYW0gb3IgdXBz
dHJlYW0gRE9JQyBub2Rlcy5cblxuNC4zLiAgRE9JQyBPdmVybG9hZCBDb25kaXRpb24gUmVw
b3J0aW5nXG5cbiAgIEFzIHdpdGggRE9JQyBjYXBhYmlsaXR5IGFubm91bmNlbWVudCwgb3Zl
cmxvYWQgY29uZGl0aW9uIHJlcG9ydGluZ1xuICAgdXNlcyBuZXcgQVZQcyAoU2VjdGlvbiA3
LjMpIHRvIGluZGljYXRlIGFuIG92ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgVGhlIE9DLU9M
UiBBVlAgaXMgcmVmZXJyZWQgdG8gYXMgYW4gb3ZlcmxvYWQgcmVwb3J0LiAgVGhlIE9DLU9M
UiBBVlBcbiAgIGluY2x1ZGVzIHRoZSB0eXBlIG9mIHJlcG9ydCwgYSBzZXF1ZW5jZSBudW1i
ZXIsIHRoZSBsZW5ndGggb2YgdGltZVxuICAgdGhhdCB0aGUgcmVwb3J0IGlzIHZhbGlkIGFu
ZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNwZWNpZmljIEFWUHMuXG5cbiAgIFR3byB0eXBlcyBv
ZiBvdmVybG9hZCByZXBvcnRzIGFyZSBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQ6IGhvc3Rc
biAgIHJlcG9ydHMgYW5kIHJlYWxtIHJlcG9ydHMuXG5cbiAgIEEgcmVwb3J0IG9mIHR5cGUg
IkhPU1RfUkVQT1JUIiBpcyBzZW50IHRvIGluZGljYXRlIHRoZSBvdmVybG9hZCBvZiBhXG4g
ICBzcGVjaWZpYyBob3N0LCBpZGVudGlmaWVkIGJ5IHRoZSBPcmlnaW4tSG9zdCBBVlAgb2Yg
dGhlIG1lc3NhZ2VcbiAgIGNvbnRhaW5pbmcgdGhlIE9MUiwgZm9yIHRoZSBhcHBsaWNhdGlv
bi1pZCBpbmRpY2F0ZWQgaW4gdGhlXG4gICB0cmFuc2FjdGlvbi4gIFdoZW4gcmVjZWl2aW5n
IGFuIE9MUiBvZiB0eXBlICJIT1NUX1JFUE9SVCIsIGEgcmVhY3RpbmdcbiAgIG5vZGUgYXBw
bGllcyBvdmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50IHRvIHRoZSBob3N0LXJvdXRlZCBy
ZXF1ZXN0c1xuICAgaWRlbnRpZmllZCBieSB0aGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29y
aXRobSAoc2VlIGRlZmluaXRpb24gaW5cbiAgIFNlY3Rpb24gMikgc2VudCBmb3IgdGhpcyBh
cHBsaWNhdGlvbiB0byB0aGUgb3ZlcmxvYWRlZCBob3N0LlxuXG4gICBBIHJlcG9ydCBvZiB0
eXBlICJSRUFMTV9SRVBPUlQiIGlzIHNlbnQgdG8gaW5kaWNhdGUgdGhlIG92ZXJsb2FkIG9m
IGFcbiAgIHJlYWxtIGZvciB0aGUgYXBwbGljYXRpb24taWQgaW5kaWNhdGVkIGluIHRoZSB0
cmFuc2FjdGlvbi4gIFRoZVxuICAgb3ZlcmxvYWRlZCByZWFsbSBpcyBpZGVudGlmaWVkIGJ5
IHRoZSBEZXN0aW5hdGlvbi1SZWFsbSBBVlAgb2YgdGhlXG4gICBtZXNzYWdlIGNvbnRhaW5p
bmcgdGhlIE9MUi4gIFdoZW4gcmVjZWl2aW5nIGFuIE9MUiBvZiB0eXBlXG4gICAiUkVBTE1f
UkVQT1JUIiwgYSByZWFjdGluZyBub2RlIGFwcGxpZXMgb3ZlcmxvYWQgYWJhdGVtZW50IHRy
ZWF0bWVudFxuICAgdG8gcmVhbG0tcm91dGVkIHJlcXVlc3RzIGlkZW50aWZpZWQgYnkgdGhl
IG92ZXJsb2FkIGFiYXRlbWVudFxuICAgYWxnb3JpdGhtIChzZWUgZGVmaW5pdGlvbiBpbiBT
ZWN0aW9uIDIpIHNlbnQgZm9yIHRoaXMgYXBwbGljYXRpb24gdG9cbiAgIHRoZSBvdmVybG9h
ZGVkIHJlYWxtLlxuXG4gICBUaGlzIGRvY3VtZW50IGFzc3VtZXMgdGhhdCB0aGVyZSBpcyBh
IHNpbmdsZSBzb3VyY2UgZm9yIHJlYWxtLXJlcG9ydHNcbiAgIGZvciBhIGdpdmVuIHJlYWxt
LCBvciB0aGF0IGlmIG11bHRpcGxlIG5vZGVzIGNhbiBzZW5kIHJlYWxtIHJlcG9ydHMsXG4g
ICB0aGF0IGVhY2ggc3VjaCBub2RlIGhhcyBmdWxsIGtub3dsZWRnZSBvZiB0aGUgb3Zlcmxv
YWQgc3RhdGUgb2YgdGhlXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGly
ZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICAgW1BhZ2UgOV1cbl9cbkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEph
bnVhcnkgMjAxNVxuXG5cbiAgIGVudGlyZSByZWFsbS4gIEEgcmVhY3Rpbmcgbm9kZSBjYW5u
b3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiByZWNlaXZpbmdcbiAgIHJlYWxtLXJlcG9ydHMgZnJv
bSBhIHNpbmdsZSBub2RlLCBvciBmcm9tIG11bHRpcGxlIG5vZGVzLlxuXG4gICAgICBOb3Rl
OiBLbm93biBpc3N1ZXMgZXhpc3QgaWYgbXVsdGlwbGUgc291cmNlcyBmb3Igb3ZlcmxvYWQg
cmVwb3J0c1xuICAgICAgd2hpY2ggYXBwbHkgdG8gdGhlIHNhbWUgRGlhbWV0ZXIgZW50aXR5
IGV4aXN0LiAgUmVhY3Rpbmcgbm9kZXNcbiAgICAgIGhhdmUgbm8gd2F5IG9mIGRldGVybWlu
aW5nIHRoZSBzb3VyY2UgYW5kLCBhcyBzdWNoLCB3aWxsIHRyZWF0XG4gICAgICB0aGVtIGFz
IGNvbWluZyBmcm9tIGEgc2luZ2xlIHNvdXJjZS4gIFZhcmlhbmNlIGluIHNlcXVlbmNlIG51
bWJlcnNcbiAgICAgIGJldHdlZW4gdGhlIHR3byBzb3VyY2VzIGNhbiB0aGVuIGNhdXNlIGlu
Y29ycmVjdCBvdmVybG9hZFxuICAgICAgYWJhdGVtZW50IHRyZWF0bWVudCB0byBiZSBhcHBs
aWVkIGZvciBpbmRldGVybWluYXRlIHBlcmlvZHMgb2ZcbiAgICAgIHRpbWUuXG5cbiAgIFJl
cG9ydGluZyBub2RlcyBhcmUgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBuZWVk
IGZvciBhXG4gICByZWR1Y3Rpb24gb2YgdHJhZmZpYy4gIFRoZSBtZXRob2QgZm9yIG1ha2lu
ZyB0aGlzIGRldGVybWluYXRpb24gaXNcbiAgIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIGFu
ZCBkZXBlbmQgb24gdGhlIHR5cGUgb2Ygb3ZlcmxvYWQgcmVwb3J0XG4gICBiZWluZyBnZW5l
cmF0ZWQuICBBIGhvc3QtcmVwb3J0IG1pZ2h0IGJlIGdlbmVyYXRlZCBieSB0cmFja2luZyB1
c2Ugb2ZcbiAgIHJlc291cmNlcyByZXF1aXJlZCBieSB0aGUgaG9zdCB0byBoYW5kbGUgdHJh
bnNhY3Rpb25zIGZvciB0aGVcbiAgIERpYW1ldGVyIGFwcGxpY2F0aW9uLiAgQSByZWFsbS1y
ZXBvcnQgZ2VuZXJhbGx5IGltcGFjdHMgdGhlIHRyYWZmaWNcbiAgIHNlbnQgdG8gbXVsdGlw
bGUgaG9zdHMgYW5kLCBhcyBzdWNoLCByZXF1aXJlcyB0cmFja2luZyB0aGUgY2FwYWNpdHlc
biAgIG9mIGFsbCBzZXJ2ZXJzIGFibGUgdG8gaGFuZGxlIHJlYWxtLSByb3V0ZWQgcmVxdWVz
dHMgZm9yIHRoZVxuICAgYXBwbGljYXRpb24gYW5kIHJlYWxtLlxuXG4gICBPbmNlIGEgcmVw
b3J0aW5nIG5vZGUgZGV0ZXJtaW5lcyB0aGUgbmVlZCBmb3IgYSByZWR1Y3Rpb24gaW4gdHJh
ZmZpYyxcbiAgIGl0IHVzZXMgdGhlIERPSUMgZGVmaW5lZCBBVlBzIHRvIHJlcG9ydCBvbiB0
aGUgY29uZGl0aW9uLiAgVGhlc2UgQVZQc1xuICAgYXJlIGluY2x1ZGVkIGluIGFuc3dlciBt
ZXNzYWdlcyBzZW50IG9yIHJlbGF5ZWQgYnkgdGhlIHJlcG9ydGluZ1xuICAgbm9kZS4gIFRo
ZSByZXBvcnRpbmcgbm9kZSBpbmRpY2F0ZXMgdGhlIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdv
cml0aG1cbiAgIHRoYXQgaXMgdG8gYmUgdXNlZCB0byBoYW5kbGUgdGhlIHRyYWZmaWMgcmVk
dWN0aW9uIGluIHRoZSBPQy1cbiAgIFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAuICBUaGUgT0Mt
T0xSIEFWUCBpcyB1c2VkIHRvIGNvbW11bmljYXRlXG4gICBpbmZvcm1hdGlvbiBhYm91dCB0
aGUgcmVxdWVzdGVkIHJlZHVjdGlvbi5cblxuICAgUmVhY3Rpbmcgbm9kZXMsIHVwb24gcmVj
ZWlwdCBvZiBhbiBvdmVybG9hZCByZXBvcnQsIGFwcGx5aW5nIHRoZVxuICAgb3ZlcmxvYWQg
YWJhdGVtZW50IGFsZ29yaXRobSB0byB0cmFmZmljIGltcGFjdGVkIGJ5IHRoZSBvdmVybG9h
ZFxuICAgcmVwb3J0LiAgVGhlIG1ldGhvZCB1c2VkIHRvIGRldGVybWluZSB0aGUgcmVxdWVz
dHMgdGhhdCBhcmUgdG9cbiAgIHJlY2VpdmUgb3ZlcmxvYWQgYWJhdGVtZW50IHRyZWF0bWVu
dCBpcyBkZXBlbmRlbnQgb24gdGhlIGFiYXRlbWVudFxuICAgYWxnb3JpdGhtLiAgVGhlIGxv
c3MgYWJhdGVtZW50IGFsZ29yaXRobSBpcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnRcbiAg
IChTZWN0aW9uIDYpLiAgT3RoZXIgYWJhdGVtZW50IGFsZ29yaXRobXMgY2FuIGJlIGRlZmlu
ZWQgaW4gZXh0ZW5zaW9uc1xuICAgdG8gdGhlIERPSUMgc29sdXRpb25zLlxuXG4gICBUd28g
dHlwZXMgb2Ygb3ZlcmxvYWQgYWJhdGVtZW50IHRyZWF0bWVudCBhcmUgZGVmaW5lZCwgZGl2
ZXJzaW9uIGFuZFxuICAgdGhyb3R0bGluZy4gIFJlYWN0aW5nIG5vZGVzIGFyZSByZXNwb25z
aWJsZSBmb3IgZGV0ZXJtaW5pbmcgd2hpY2hcbiAgIHRyZWF0bWVudCBpcyBhcHByb3ByaWF0
ZSBmb3IgaW5kaXZpZHVhbCByZXF1ZXN0cy5cblxuICAgQXMgdGhlIGNvbmRpdGlvbnMgdGhh
dCBsZWFkIHRvIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBvdmVybG9hZCByZXBvcnRcbiAgIGNo
YW5nZSB0aGUgcmVwb3J0aW5nIG5vZGUgY2FuIHNlbmQgbmV3IG92ZXJsb2FkIHJlcG9ydHMg
cmVxdWVzdGluZ1xuICAgZ3JlYXRlciByZWR1Y3Rpb24gaWYgdGhlIGNvbmRpdGlvbiBnZXRz
IHdvcnNlIG9yIGxlc3MgcmVkdWN0aW9uIGlmXG4gICB0aGUgY29uZGl0aW9uIGltcHJvdmVz
LiAgVGhlIHJlcG9ydGluZyBub2RlIHNlbmRzIGFuIG92ZXJsb2FkIHJlcG9ydFxuICAgd2l0
aCBhIGR1cmF0aW9uIG9mIHplcm8gdG8gaW5kaWNhdGUgdGhhdCB0aGUgb3ZlcmxvYWQgY29u
ZGl0aW9uIGhhc1xuICAgZW5kZWQgYW5kIGFiYXRlbWVudCBpcyBubyBsb25nZXIgbmVlZGVk
LlxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwg
MjAxNSAgICAgICAgICAgICAgICBbUGFnZSAxMF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxu
XG5cbiAgIFRoZSByZWFjdGluZyBub2RlIGFsc28gZGV0ZXJtaW5lcyB3aGVuIHRoZSBvdmVy
bG9hZCByZXBvcnQgZXhwaXJlc1xuICAgYmFzZWQgb24gdGhlIE9DLVZhbGlkaXR5LUR1cmF0
aW9uIEFWUCBpbiB0aGUgb3ZlcmxvYWQgcmVwb3J0IGFuZFxuICAgc3RvcHMgYXBwbHlpbmcg
dGhlIGFiYXRlbWVudCBhbGdvcml0aG0gd2hlbiB0aGUgcmVwb3J0IGV4cGlyZXMuXG5cbjQu
NC4gIERPSUMgRXh0ZW5zaWJpbGl0eVxuXG4gICBUaGUgRE9JQyBzb2x1dGlvbiBpcyBkZXNp
Z25lZCB0byBiZSBleHRlbnNpYmxlLiAgVGhpcyBleHRlbnNpYmlsaXR5XG4gICBpcyBiYXNl
ZCBvbiBleGlzdGluZyBEaWFtZXRlciBiYXNlZCBleHRlbnNpYmlsaXR5IG1lY2hhbmlzbXMs
IGFsb25nXG4gICB3aXRoIHRoZSBET0lDIGNhcGFiaWxpdHkgYW5ub3VuY2VtZW50IG1lY2hh
bmlzbS5cblxuICAgVGhlcmUgYXJlIG11bHRpcGxlIGNhdGVnb3JpZXMgb2YgZXh0ZW5zaW9u
cyB0aGF0IGFyZSBleHBlY3RlZC4gIFRoaXNcbiAgIGluY2x1ZGVzIHRoZSBkZWZpbml0aW9u
IG9mIG5ldyBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtcywgdGhlXG4gICBkZWZpbml0
aW9uIG9mIG5ldyByZXBvcnQgdHlwZXMgYW5kIHRoZSBkZWZpbml0aW9uIG9mIG5ldyBzY29w
ZXMgb2ZcbiAgIG1lc3NhZ2VzIGltcGFjdGVkIGJ5IGFuIG92ZXJsb2FkIHJlcG9ydC5cblxu
ICAgQSBET0lDIG5vZGUgY29tbXVuaWNhdGVzIHN1cHBvcnRlZCBmZWF0dXJlcyBieSBpbmNs
dWRpbmcgdGhlbSBpbiB0aGVcbiAgIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCwgYXMgYSBzdWIt
QVZQIG9mIE9DLVN1cHBvcnRlZC1GZWF0dXJlcy4gIEFueVxuICAgbm9uLWJhY2t3YXJkcyBj
b21wYXRpYmxlIERPSUMgZXh0ZW5zaW9ucyBkZWZpbmUgbmV3IHZhbHVlcyBmb3IgdGhlXG4g
ICBPQy1GZWF0dXJlLVZlY3RvciBBVlAuICBET0lDIGV4dGVuc2lvbnMgYWxzbyBoYXZlIHRo
ZSBhYmlsaXR5IHRvIGFkZFxuICAgbmV3IEFWUHMgdG8gdGhlIE9DLVN1cHBvcnRlZC1GZWF0
dXJlcyBBVlAsIGlmIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbiAgIGFib3V0IHRoZSBuZXcg
ZmVhdHVyZSBpcyByZXF1aXJlZC5cblxuICAgT3ZlcmxvYWQgcmVwb3J0cyBjYW4gYmUgYWxz
byBleHRlbmRlZCBieSBhZGRpbmcgbmV3IHN1Yi1BVlBzIHRvIHRoZVxuICAgT0MtT0xSIEFW
UCwgYWxsb3dpbmcgcmVwb3J0aW5nIG5vZGVzIHRvIGNvbW11bmljYXRlIGFkZGl0aW9uYWxc
biAgIGluZm9ybWF0aW9uIGFib3V0IGhhbmRsaW5nIGFuIG92ZXJsb2FkIGNvbmRpdGlvbi5c
blxuICAgSWYgbmVjZXNzYXJ5LCBuZXcgZXh0ZW5zaW9ucyBjYW4gYWxzbyBkZWZpbmUgbmV3
IEFWUHMgdGhhdCBhcmUgbm90XG4gICBwYXJ0IG9mIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVy
ZXMgYW5kIE9DLU9MUiBncm91cCBBVlBzLiAgSXQgaXMsXG4gICBob3dldmVyLCByZWNvbW1l
bmRlZCB0aGF0IERPSUMgZXh0ZW5zaW9ucyB1c2UgdGhlIE9DLVN1cHBvcnRlZC1cbiAgIEZl
YXR1cmVzIEFWUCBhbmQgT0MtT0xSIEFWUCB0byBjYXJyeSBhbGwgRE9JQyByZWxhdGVkIEFW
UHMuXG5cbjQuNS4gIFNpbXBsaWZpZWQgRXhhbXBsZSBBcmNoaXRlY3R1cmVcblxuICAgRmln
dXJlIDEgaWxsdXN0cmF0ZXMgdGhlIHNpbXBsaWZpZWQgYXJjaGl0ZWN0dXJlIGZvciBEaWFt
ZXRlclxuICAgb3ZlcmxvYWQgaW5mb3JtYXRpb24gY29udmV5YW5jZS5cblxuXG5cblxuXG5c
blxuXG5cblxuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVz
IEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTFdXG5fXG5JbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51
YXJ5IDIwMTVcblxuXG4gICAgUmVhbG0gWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTYW1lIG9yIG90aGVyIFJlYWxtc1xuICAgXy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tXyBfLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV9cblxuXG4gICAgICAr
LS1eLS0tLS0rICAgICAgICAgICAgICAgICA6IChvcHRpb25hbCkgOlxuICAgICAgX0RpYW1l
dGVyXyAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgIDpcbiAgICAgIF9TZXJ2ZXIgQV8t
LSsgICAgIC4tLS4gICAgIDogKy0tLV4tLS0tKyA6ICAgICAuLS0uXG4gICAgICArLS0tLS0t
LS0rICBfICAgXyggICAgXy4gICA6IF9EaWFtZXRlcl8gOiAgIF8oICAgIF8uICAgKy0tLV4t
LS0tK1xuICAgICAgICAgICAgICAgICAgKy0tKCAgICAgICAgKS0tOi1fICBBZ2VudCBfLTot
LSggICAgICAgICktLV9EaWFtZXRlcl9cbiAgICAgICstLS0tLS0tLSsgIF8gKCBfICAuICAp
ICApIDogKy0tLS0tXi0tKyA6ICggXyAgLiAgKSAgKSBfIENsaWVudCBfXG4gICAgICBfRGlh
bWV0ZXJfLS0rICBfLS0oX19fLi1cJyAgOiAgICAgICAgICAgIDogIF8tLShfX18uLVwnICAr
LS0tLS1eLS0rXG4gICAgICBfU2VydmVyIEJfICAgICAgICAgICAgICAgICA6ICAgICAgICAg
ICAgOlxuICAgICAgKy0tLV4tLS0tKyAgICAgICAgICAgICAgICAgOiAgICAgICAgICAgIDpc
blxuICAgICAgICAgICAgICAgICAgICAgICAgICBFbmQtdG8tZW5kIE92ZXJsb2FkIEluZGlj
YXRpb25cbiAgICAgICAgICAgICAxKSAgXy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tX1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWFt
ZXRlciBBcHBsaWNhdGlvbiBZXG5cbiAgICAgICAgICAgICAgICAgIE92ZXJsb2FkIEluZGlj
YXRpb24gQSAgICBPdmVybG9hZCBJbmRpY2F0aW9uIEFcJ1xuICAgICAgICAgICAgIDIpICBf
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLV8gXy0tLS0tLS0tLS0tLS0tLS0tLS0tLS1fXG4gICAg
ICAgICAgICAgICAgIERpYW1ldGVyIEFwcGxpY2F0aW9uIFkgICBEaWFtZXRlciBBcHBsaWNh
dGlvbiBZXG5cblxuXG4gICAgIEZpZ3VyZSAxOiBTaW1wbGlmaWVkIGFyY2hpdGVjdHVyZSBj
aG9pY2VzIGZvciBvdmVybG9hZCBpbmRpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZWxpdmVyeVxuXG4gICBJbiBGaWd1cmUgMSwgdGhlIERpYW1ldGVyIG92
ZXJsb2FkIGluZGljYXRpb24gY2FuIGJlIGNvbnZleWVkICgxKVxuICAgZW5kLXRvLWVuZCBi
ZXR3ZWVuIHNlcnZlcnMgYW5kIGNsaWVudHMgb3IgKDIpIGJldHdlZW4gc2VydmVycyBhbmRc
biAgIERpYW1ldGVyIGFnZW50IGluc2lkZSB0aGUgcmVhbG0gYW5kIHRoZW4gYmV0d2VlbiB0
aGUgRGlhbWV0ZXIgYWdlbnRcbiAgIGFuZCB0aGUgY2xpZW50cy5cblxuNS4gIFNvbHV0aW9u
IFByb2NlZHVyZXNcblxuICAgVGhpcyBzZWN0aW9uIG91dGxpbmVzIHRoZSBub3JtYXRpdmUg
YmVoYXZpb3IgZm9yIHRoZSBET0lDIHNvbHV0aW9uLlxuXG41LjEuICBDYXBhYmlsaXR5IEFu
bm91bmNlbWVudFxuXG4gICBUaGlzIHNlY3Rpb24gZGVmaW5lcyBET0lDIENhcGFiaWxpdHkg
QW5ub3VuY2VtZW50IChEQ0EpIGJlaGF2aW9yLlxuXG4gICAgICBOb3RlOiBUaGlzIHNwZWNp
ZmljYXRpb24gYXNzdW1lcyB0aGF0IGNoYW5nZXMgaW4gRE9JQyBub2RlXG4gICAgICBjYXBh
YmlsaXRpZXMgYXJlIHJlbGF0aXZlbHkgcmFyZSBldmVudHMgdGhhdCBvY2N1ciBhcyBhIHJl
c3VsdCBvZlxuICAgICAgYWRtaW5pc3RyYXRpdmUgYWN0aW9uLiAgUmVhY3Rpbmcgbm9kZXMg
b3VnaHQgdG8gbWluaW1pemUgY2hhbmdlc1xuICAgICAgdGhhdCBmb3JjZSB0aGUgcmVwb3J0
aW5nIG5vZGUgdG8gY2hhbmdlIHRoZSBmZWF0dXJlcyBiZWluZyB1c2VkLFxuICAgICAgZXNw
ZWNpYWxseSBkdXJpbmcgYWN0aXZlIG92ZXJsb2FkIGNvbmRpdGlvbnMuICBCdXQgZXZlbiBp
ZlxuICAgICAgcmVhY3Rpbmcgbm9kZXMgYXZvaWQgc3VjaCBjaGFuZ2VzLCByZXBvcnRpbmcg
bm9kZXMgc3RpbGwgaGF2ZSB0b1xuICAgICAgYmUgcHJlcGFyZWQgZm9yIHRoZW0gdG8gb2Nj
dXIuICBGb3IgZXhhbXBsZSwgZGlmZmVyaW5nXG4gICAgICBjYXBhYmlsaXRpZXMgYmV0d2Vl
biBtdWx0aXBsZSByZWFjdGluZyBub2RlcyBtYXkgc3RpbGwgZm9yY2UgYVxuXG5cblxuS29y
aG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAg
ICAgICAgW1BhZ2UgMTJdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
RE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICByZXBv
cnRpbmcgbm9kZSB0byBzZWxlY3QgZGlmZmVyZW50IGZlYXR1cmVzIG9uIGEgcGVyLXRyYW5z
YWN0aW9uXG4gICAgICBiYXNpcy5cblxuNS4xLjEuICBSZWFjdGluZyBOb2RlIEJlaGF2aW9y
XG5cbiAgIEEgcmVhY3Rpbmcgbm9kZSBNVVNUIGluY2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1G
ZWF0dXJlcyBBVlAgaW4gYWxsXG4gICByZXF1ZXN0cy4gIEl0IE1BWSBpbmNsdWRlIHRoZSBP
Qy1GZWF0dXJlLVZlY3RvciBBVlAsIGFzIGEgc3ViLWF2cCBvZlxuICAgT0MtU3VwcG9ydGVk
LUZlYXR1cmVzLiAgSWYgaXQgZG9lcyBzbywgaXQgTVVTVCBpbmRpY2F0ZSBzdXBwb3J0IGZv
clxuICAgdGhlICJsb3NzIiBhbGdvcml0aG0uICBJZiB0aGUgcmVhY3Rpbmcgbm9kZSBpcyBj
b25maWd1cmVkIHRvIHN1cHBvcnRcbiAgIGZlYXR1cmVzIChpbmNsdWRpbmcgb3RoZXIgYWxn
b3JpdGhtcykgaW4gYWRkaXRpb24gdG8gdGhlIGxvc3NcbiAgIGFsZ29yaXRobSwgaXQgTVVT
VCBpbmRpY2F0ZSBzdWNoIHN1cHBvcnQgaW4gYW4gT0MtRmVhdHVyZS1WZWN0b3IgQVZQLlxu
XG4gICBBbiBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGluIGFuc3dlciBtZXNzYWdlcyBp
bmRpY2F0ZXMgdGhlcmUgaXMgYVxuICAgcmVwb3J0aW5nIG5vZGUgZm9yIHRoZSB0cmFuc2Fj
dGlvbi4gIFRoZSByZWFjdGluZyBub2RlIE1BWSB0YWtlXG4gICBhY3Rpb24sIGZvciBleGFt
cGxlIGNyZWF0aW5nIHN0YXRlIGZvciBzb21lIHN0YXRlZnVsIGFiYXRlbWVudFxuICAgYWxn
b3JpdGhtLCBiYXNlZCBvbiB0aGUgZmVhdHVyZXMgaW5kaWNhdGVkIGluIHRoZSBPQy1GZWF0
dXJlLVZlY3RvclxuICAgQVZQLlxuXG4gICAgICBOb3RlOiBUaGUgbG9zcyBhYmF0ZW1lbnQg
YWxnb3JpdGhtIGRvZXMgbm90IHJlcXVpcmUgc3RhdGVmdWxcbiAgICAgIGJlaGF2aW9yIHdo
ZW4gdGhlcmUgaXMgbm8gYWN0aXZlIG92ZXJsb2FkIHJlcG9ydC5cblxuNS4xLjIuICBSZXBv
cnRpbmcgTm9kZSBCZWhhdmlvclxuXG4gICBVcG9uIHJlY2VpcHQgb2YgYSByZXF1ZXN0IG1l
c3NhZ2UsIGEgcmVwb3J0aW5nIG5vZGUgZGV0ZXJtaW5lcyBpZlxuICAgdGhlcmUgaXMgYSBy
ZWFjdGluZyBub2RlIGZvciB0aGUgdHJhbnNhY3Rpb24gYmFzZWQgb24gdGhlIHByZXNlbmNl
IG9mXG4gICB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiB0aGUgcmVxdWVzdCBt
ZXNzYWdlLlxuXG4gICBJZiB0aGUgcmVxdWVzdCBtZXNzYWdlIGNvbnRhaW5zIGFuIE9DLVN1
cHBvcnRlZC1GZWF0dXJlcyBBVlAgdGhlbiBhXG4gICByZXBvcnRpbmcgbm9kZSBNVVNUIGlu
Y2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlXG4gICBhbnN3ZXIg
bWVzc2FnZSBmb3IgdGhhdCB0cmFuc2FjdGlvbi5cblxuICAgICAgTm90ZTogQ2FwYWJpbGl0
eSBhbm5vdW5jZW1lbnQgaXMgZG9uZSBvbiBhIHBlciB0cmFuc2FjdGlvbiBiYXNpcy5cbiAg
ICAgIFRoZSByZXBvcnRpbmcgbm9kZSBjYW5ub3QgYXNzdW1lIHRoYXQgdGhlIGNhcGFiaWxp
dGllcyBhbm5vdW5jZWRcbiAgICAgIGJ5IGEgcmVhY3Rpbmcgbm9kZSB3aWxsIGJlIHRoZSBz
YW1lIGJldHdlZW4gdHJhbnNhY3Rpb25zLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1VU1Qg
Tk9UIGluY2x1ZGUgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAsIE9DLVxuICAgT0xS
IEFWUCBvciBhbnkgb3RoZXIgb3ZlcmxvYWQgY29udHJvbCBBVlBzIGRlZmluZWQgaW4gZXh0
ZW5zaW9uXG4gICBkcmFmdHMgaW4gcmVzcG9uc2UgbWVzc2FnZXMgZm9yIHRyYW5zYWN0aW9u
cyB3aGVyZSB0aGUgcmVxdWVzdFxuICAgbWVzc2FnZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBP
Qy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLiAgTGFjayBvZiB0aGVcbiAgIE9DLVN1cHBvcnRl
ZC1GZWF0dXJlcyBBVlAgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSBpbmRpY2F0ZXMgdGhhdCB0
aGVyZVxuICAgaXMgbm8gcmVhY3Rpbmcgbm9kZSBmb3IgdGhlIHRyYW5zYWN0aW9uLlxuXG4g
ICBBIHJlcG9ydGluZyBub2RlIGtub3dzIHdoYXQgb3ZlcmxvYWQgY29udHJvbCBmdW5jdGlv
bmFsaXR5IGlzXG4gICBzdXBwb3J0ZWQgYnkgdGhlIHJlYWN0aW5nIG5vZGUgYmFzZWQgb24g
dGhlIGNvbnRlbnQgb3IgYWJzZW5jZSBvZiB0aGVcbiAgIE9DLUZlYXR1cmUtVmVjdG9yIEFW
UCB3aXRoaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlXG4gICByZXF1
ZXN0IG1lc3NhZ2UuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBp
cmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTNdXG5fXG5JbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBK
YW51YXJ5IDIwMTVcblxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1VU1QgaW5kaWNhdGUgc3Vw
cG9ydCBmb3Igb25lIGFuZCBvbmx5IG9uZSBhYmF0ZW1lbnRcbiAgIGFsZ29yaXRobSBpbiB0
aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLiAgVGhlIGFiYXRlbWVudCBhbGdvcml0aG1cbiAg
IHNlbGVjdGVkIE1VU1QgaW5kaWNhdGUgdGhlIGFiYXRlbWVudCBhbGdvcml0aG0gdGhlIHJl
cG9ydGluZyBub2RlXG4gICB3YW50cyB0aGUgcmVhY3Rpbmcgbm9kZSB0byB1c2Ugd2hlbiB0
aGUgcmVwb3J0aW5nIG5vZGUgZW50ZXJzIGFuXG4gICBvdmVybG9hZCBjb25kaXRpb24uXG5c
biAgIFRoZSBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNlbGVjdGVkIE1VU1QgYmUgZnJvbSB0aGUg
c2V0IG9mIGFiYXRlbWVudFxuICAgYWxnb3JpdGhtcyBjb250YWluZWQgaW4gdGhlIHJlcXVl
c3QgbWVzc2FnZVwncyBPQy1GZWF0dXJlLVZlY3RvciBBVlAuXG5cbiAgIEEgcmVwb3J0aW5n
IG5vZGUgdGhhdCBzZWxlY3RzIHRoZSBsb3NzIGFsZ29yaXRobSBtYXkgZG8gc28gYnlcbiAg
IGluY2x1ZGluZyB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIHdpdGggYW4gZXhwbGljaXQg
aW5kaWNhdGlvbiBvZlxuICAgdGhlIGxvc3MgYWxnb3JpdGhtLCBvciBpdCBNQVkgb21pdCBP
Qy1GZWF0dXJlLVZlY3Rvci4gIElmIGl0IHNlbGVjdHNcbiAgIGEgZGlmZmVyZW50IGFsZ29y
aXRobSwgaXQgTVVTVCBpbmNsdWRlIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAgd2l0aFxu
ICAgYW4gZXhwbGljaXQgaW5kaWNhdGlvbiBvZiB0aGUgc2VsZWN0ZWQgYWxnb3JpdGhtLlxu
XG4gICBBIHJlcG9ydGluZyBub2RlIE1VU1QgTk9UIGNoYW5nZSB0aGUgc2VsZWN0ZWQgYWxn
b3JpdGhtIGR1cmluZyB0aGVcbiAgIHBlcmlvZCBvZiB0aW1lIHRoYXQgc3RhcnRzIHdoZW4g
ZW50ZXJpbmcgYW4gb3ZlcmxvYWQgY29uZGl0aW9uIGFuZFxuICAgZW5kcyB3aGVuIHRoZSBh
c3NvY2lhdGVkIE9DUyBiZWNvbWVzIGludmFsaWQgaW4gYWxsIHJlYWN0aW5nIG5vZGVzLlxu
XG4gICBUaGUgcmVwb3J0aW5nIG5vZGUgTUFZIGNoYW5nZSB0aGUgb3ZlcmxvYWQgYWJhdGVt
ZW50IGFsZ29yaXRobVxuICAgaW5kaWNhdGVkIGluIHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVy
ZXMgQVZQIGF0IGFueSB0aW1lIGFzIGxvbmcgYXMgbm9cbiAgIHByZXZpb3VzbHkgc2VudCBP
TFJzIG1heSBiZSBhY3RpdmUuXG5cbiAgIFRoZSByZXBvcnRpbmcgbm9kZSBTSE9VTEQgaW5k
aWNhdGUgc3VwcG9ydCBmb3Igb3RoZXIgRE9JQyBmZWF0dXJlc1xuICAgZGVmaW5lZCBpbiBl
eHRlbnNpb24gZHJhZnRzIHRoYXQgaXQgc3VwcG9ydHMgYW5kIHRoYXQgYXBwbHkgdG8gdGhl
XG4gICB0cmFuc2FjdGlvbi4gIEl0IGRvZXMgc28gdXNpbmcgdGhlIE9DLUZlYXR1cmUtVmVj
dG9yIEFWUC5cblxuICAgICAgTm90ZTogTm90IGFsbCBET0lDIGZlYXR1cmVzIHdpbGwgYXBw
bHkgdG8gYWxsIERpYW1ldGVyXG4gICAgICBhcHBsaWNhdGlvbnMgb3IgZGVwbG95bWVudCBz
Y2VuYXJpb3MuICBUaGUgZmVhdHVyZXMgaW5jbHVkZWQgaW5cbiAgICAgIHRoZSBPQy1GZWF0
dXJlLVZlY3RvciBBVlAgYXJlIGJhc2VkIG9uIGxvY2FsIHJlcG9ydGluZyBub2RlXG4gICAg
ICBwb2xpY3kuXG5cbjUuMS4zLiAgQWdlbnQgQmVoYXZpb3JcblxuICAgRGlhbWV0ZXIgQWdl
bnRzIHRoYXQgc3VwcG9ydCBET0lDIE1BWSBlbnN1cmUgdGhhdCBhbGwgbWVzc2FnZXNcbiAg
IHJlbGF5ZWQgYnkgdGhlIGFnZW50IGNvbnRhaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAuXG5cbiAgIEEgRGlhbWV0ZXIgQWdlbnQgU0hPVUxEIHRha2Ugb24gcmVhY3Rpbmcg
bm9kZSBiZWhhdmlvciBmb3IgRGlhbWV0ZXJcbiAgIGVuZHBvaW50cyB0aGF0IGRvIG5vdCBz
dXBwb3J0IHRoZSBET0lDIHNvbHV0aW9uLiAgQSBEaWFtZXRlciBBZ2VudFxuICAgZGV0ZWN0
cyB0aGF0IGEgRGlhbWV0ZXIgZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBET0lDIHJlYWN0
aW5nIG5vZGVcbiAgIGJlaGF2aW9yIHdoZW4gdGhlcmUgaXMgbm8gT0MtU3VwcG9ydGVkLUZl
YXR1cmVzIEFWUCBpbiBhIHJlcXVlc3RcbiAgIG1lc3NhZ2UuXG5cbiAgIEZvciBhIERpYW1l
dGVyIEFnZW50IHRvIGJlIGEgcmVhY3Rpbmcgbm9kZSBmb3IgYSBub24gc3VwcG9ydGluZ1xu
ICAgRGlhbWV0ZXIgZW5kcG9pbnQsIHRoZSBEaWFtZXRlciBBZ2VudCBNVVNUIGluY2x1ZGUg
dGhlIE9DLVN1cHBvcnRlZC1cbiAgIEZlYXR1cmVzIEFWUCBpbiByZXF1ZXN0IG1lc3NhZ2Vz
IGl0IHJlbGF5cyB0aGF0IGRvIG5vdCBjb250YWluIHRoZVxuICAgT0MtU3VwcG9ydGVkLUZl
YXR1cmVzIEFWUC5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVz
IEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMTRdXG5fXG5JbnRlcm5ldC1E
cmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51
YXJ5IDIwMTVcblxuXG4gICBBIERpYW1ldGVyIEFnZW50IE1BWSB0YWtlIG9uIHJlcG9ydGlu
ZyBub2RlIGJlaGF2aW9yIGZvciBEaWFtZXRlclxuICAgZW5kcG9pbnRzIHRoYXQgZG8gbm90
IHN1cHBvcnQgdGhlIERPSUMgc29sdXRpb24uICBUaGUgRGlhbWV0ZXIgQWdlbnRcbiAgIE1V
U1QgaGF2ZSB2aXNpYmlsaXR5IHRvIGFsbCB0cmFmZmljIGRlc3RpbmVkIGZvciB0aGUgbm9u
IHN1cHBvcnRpbmdcbiAgIGhvc3QgaW4gb3JkZXIgdG8gYmVjb21lIHRoZSByZXBvcnRpbmcg
bm9kZSBmb3IgdGhlIERpYW1ldGVyIGVuZHBvaW50LlxuICAgQSBEaWFtZXRlciBBZ2VudCBk
ZXRlY3RzIHRoYXQgYSBEaWFtZXRlciBlbmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0XG4gICBE
T0lDIHJlcG9ydGluZyBub2RlIGJlaGF2aW9yIHdoZW4gdGhlcmUgaXMgbm8gT0MtU3VwcG9y
dGVkLUZlYXR1cmVzXG4gICBBVlAgaW4gYW4gYW5zd2VyIG1lc3NhZ2UgZm9yIGEgdHJhbnNh
Y3Rpb24gdGhhdCBjb250YWluZWQgdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFW
UCBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlLlxuXG4gICBJZiBhIHJlcXVlc3QgYWxyZWFkeSBo
YXMgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAsIGEgRGlhbWV0ZXJcbiAgIGFnZW50
IE1BWSBtb2RpZnkgaXQgdG8gcmVmbGVjdCB0aGUgZmVhdHVyZXMgYXBwcm9wcmlhdGUgZm9y
IHRoZVxuICAgdHJhbnNhY3Rpb24uICBPdGhlcndpc2UsIHRoZSBhZ2VudCByZWxheXMgdGhl
IE9DLVN1cHBvcnRlZC1GZWF0dXJlc1xuICAgQVZQIHdpdGhvdXQgY2hhbmdlLlxuXG4gICAg
ICBGb3IgaW5zdGFuY2UsIGlmIHRoZSBhZ2VudCBzdXBwb3J0cyBhIHN1cGVyc2V0IG9mIHRo
ZSBmZWF0dXJlc1xuICAgICAgcmVwb3J0ZWQgYnkgdGhlIHJlYWN0aW5nIG5vZGUgdGhlbiB0
aGUgYWdlbnQgbWlnaHQgY2hvb3NlLCBiYXNlZFxuICAgICAgb24gbG9jYWwgcG9saWN5LCB0
byBhZHZlcnRpc2UgdGhhdCBzdXBlcnNldCBvZiBmZWF0dXJlcyB0byB0aGVcbiAgICAgIHJl
cG9ydGluZyBub2RlLlxuXG4gICBJZiB0aGUgRGlhbWV0ZXIgQWdlbnQgY2hhbmdlcyB0aGUg
T0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCBpbiBhXG4gICByZXF1ZXN0IG1lc3NhZ2UgdGhl
biBpdCBpcyBsaWtlbHkgaXQgd2lsbCBhbHNvIG5lZWQgdG8gbW9kaWZ5IHRoZSBPQy1cbiAg
IFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaW4gdGhlIGFuc3dlciBtZXNzYWdlIGZvciB0aGUg
dHJhbnNhY3Rpb24uICBBXG4gICBEaWFtZXRlciBBZ2VudCBNQVkgbW9kaWZ5IHRoZSBPQy1T
dXBwb3J0ZWQtRmVhdHVyZXMgQVZQIGNhcnJpZWQgaW5cbiAgIGFuc3dlciBtZXNzYWdlcy5c
blxuICAgV2hlbiBtYWtpbmcgY2hhbmdlcyB0byB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVz
IG9yIE9DLU9MUiBBVlBzLCB0aGVcbiAgIERpYW1ldGVyIEFnZW50IG5lZWRzIHRvIGVuc3Vy
ZSBjb25zaXN0ZW5jeSBpbiBpdHMgYmVoYXZpb3Igd2l0aCBib3RoXG4gICB1cHN0cmVhbSBh
bmQgZG93bnN0cmVhbSBET0lDIG5vZGVzLlxuXG41LjIuICBPdmVybG9hZCBSZXBvcnQgUHJv
Y2Vzc2luZ1xuXG41LjIuMS4gIE92ZXJsb2FkIENvbnRyb2wgU3RhdGVcblxuICAgQm90aCBy
ZWFjdGluZyBhbmQgcmVwb3J0aW5nIG5vZGVzIG1haW50YWluIE92ZXJsb2FkIENvbnRyb2wg
U3RhdGVcbiAgIChPQ1MpIGZvciBhY3RpdmUgb3ZlcmxvYWQgY29uZGl0aW9ucy4gIFRoZSBm
b2xsb3dpbmcgc2VjdGlvbnMgZGVmaW5lXG4gICBiZWhhdmlvciBhc3NvY2lhdGVkIHdpdGgg
dGhhdCBPQ1MuXG5cbjUuMi4xLjEuICBPdmVybG9hZCBDb250cm9sIFN0YXRlIGZvciBSZWFj
dGluZyBOb2Rlc1xuXG4gICBBIHJlYWN0aW5nIG5vZGUgU0hPVUxEIG1haW50YWluIHRoZSBm
b2xsb3dpbmcgT0NTIHBlciBzdXBwb3J0ZWRcbiAgIERpYW1ldGVyIGFwcGxpY2F0aW9uOlxu
XG4gICBvICBBIGhvc3QtdHlwZSBPQ1MgZW50cnkgZm9yIGVhY2ggRGVzdGluYXRpb24tSG9z
dCB0byB3aGljaCBpdCBzZW5kc1xuICAgICAgaG9zdC10eXBlIHJlcXVlc3RzIGFuZFxuXG4g
ICBvICBBIHJlYWxtLXR5cGUgT0NTIGVudHJ5IGZvciBlYWNoIERlc3RpbmF0aW9uLVJlYWxt
IHRvIHdoaWNoIGl0XG4gICAgICBzZW5kcyByZWFsbS10eXBlIHJlcXVlc3RzLlxuXG5cblxu
XG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAg
ICAgICAgICAgICBbUGFnZSAxNV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAg
ICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIEEg
aG9zdC10eXBlIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIG9mIGFwcGxp
Y2F0aW9uLWlkIGFuZFxuICAgdGhlIG5vZGVcJ3MgRGlhbWV0ZXJJZGVudGl0eS5cblxuICAg
QSByZWFsbS10eXBlIE9DUyBlbnRyeSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIG9mIGFw
cGxpY2F0aW9uLWlkXG4gICBhbmQgcmVhbG0uXG5cbiAgIFRoZSBob3N0LXR5cGUgYW5kIHJl
YWxtLXR5cGUgT0NTIGVudHJpZXMgTUFZIGluY2x1ZGUgdGhlIGZvbGxvd2luZ1xuICAgaW5m
b3JtYXRpb24gKHRoZSBhY3R1YWwgaW5mb3JtYXRpb24gc3RvcmVkIGlzIGFuIGltcGxlbWVu
dGF0aW9uXG4gICBkZWNpc2lvbik6XG5cbiAgIG8gIFNlcXVlbmNlIG51bWJlciAoYXMgcmVj
ZWl2ZWQgaW4gT0MtT0xSKVxuXG4gICBvICBUaW1lIG9mIGV4cGlyeSAoZGVyaXZlZCBmcm9t
IE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCByZWNlaXZlZCBpblxuICAgICAgdGhlIE9DLU9M
UiBBVlAgYW5kIHRpbWUgb2YgcmVjZXB0aW9uIG9mIHRoZSBtZXNzYWdlIGNhcnJ5aW5nIE9D
LVxuICAgICAgT0xSIEFWUClcblxuICAgbyAgU2VsZWN0ZWQgQWJhdGVtZW50IEFsZ29yaXRo
bSAoYXMgcmVjZWl2ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1cbiAgICAgIEZlYXR1cmVzIEFW
UClcblxuICAgbyAgQWJhdGVtZW50IEFsZ29yaXRobSBzcGVjaWZpYyBpbnB1dCBkYXRhIChh
cyByZWNlaXZlZCBpbiB0aGUgT0MtT0xSXG4gICAgICBBVlAsIGZvciBleGFtcGxlLCBPQy1S
ZWR1Y3Rpb24tUGVyY2VudGFnZSBmb3IgdGhlIExvc3MgYWJhdGVtZW50XG4gICAgICBhbGdv
cml0aG0pXG5cbjUuMi4xLjIuICBPdmVybG9hZCBDb250cm9sIFN0YXRlIGZvciBSZXBvcnRp
bmcgTm9kZXNcblxuICAgQSByZXBvcnRpbmcgbm9kZSBTSE9VTEQgbWFpbnRhaW4gT0NTIGVu
dHJpZXMgcGVyIHN1cHBvcnRlZCBEaWFtZXRlclxuICAgYXBwbGljYXRpb24sIHBlciBzdXBw
b3J0ZWQgKGFuZCBldmVudHVhbGx5IHNlbGVjdGVkKSBBYmF0ZW1lbnRcbiAgIEFsZ29yaXRo
bSBhbmQgcGVyIHJlcG9ydC10eXBlLlxuXG4gICBBbiBPQ1MgZW50cnkgaXMgaWRlbnRpZmll
ZCBieSB0aGUgdHVwbGUgb2YgQXBwbGljYXRpb24tSWQsIFJlcG9ydC1cbiAgIFR5cGUgYW5k
IEFiYXRlbWVudCBBbGdvcml0aG0gYW5kIE1BWSBpbmNsdWRlIHRoZSBmb2xsb3dpbmdcbiAg
IGluZm9ybWF0aW9uICh0aGUgYWN0dWFsIGluZm9ybWF0aW9uIHN0b3JlZCBpcyBhbiBpbXBs
ZW1lbnRhdGlvblxuICAgZGVjaXNpb24pOlxuXG4gICBvICBTZXF1ZW5jZSBudW1iZXJcblxu
ICAgbyAgVmFsaWRpdHkgRHVyYXRpb25cblxuICAgbyAgRXhwaXJhdGlvbiBUaW1lXG5cbiAg
IG8gIEFsZ29yaXRobSBzcGVjaWZpYyBpbnB1dCBkYXRhIChmb3IgZXhhbXBsZSwgdGhlIFJl
ZHVjdGlvblxuICAgICAgUGVyY2VudGFnZSBmb3IgdGhlIExvc3MgQWJhdGVtZW50IEFsZ29y
aXRobSlcblxuNS4yLjEuMy4gIFJlYWN0aW5nIE5vZGUgTWFpbnRlbmFuY2Ugb2YgT3Zlcmxv
YWQgQ29udHJvbCBTdGF0ZVxuXG4gICBXaGVuIGEgcmVhY3Rpbmcgbm9kZSByZWNlaXZlcyBh
biBPQy1PTFIgQVZQLCBpdCBNVVNUIGRldGVybWluZSBpZiBpdFxuICAgaXMgZm9yIGFuIGV4
aXN0aW5nIG9yIG5ldyBvdmVybG9hZCBjb25kaXRpb24uXG5cblxuXG5cbktvcmhvbmVuLCBl
dCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQ
YWdlIDE2XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAg
ICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAgTm90ZTogRm9yIHRo
ZSByZW1haW5kZXIgb2YgdGhpcyBzZWN0aW9uIHRoZSB0ZXJtIE9MUiByZWZlcnMgdG8gdGhl
XG4gICAgICBjb21iaW5hdGlvbiBvZiB0aGUgY29udGVudHMgb2YgdGhlIHJlY2VpdmVkIE9D
LU9MUiBBVlAgYW5kIHRoZVxuICAgICAgYWJhdGVtZW50IGFsZ29yaXRobSBpbmRpY2F0ZWQg
aW4gdGhlIHJlY2VpdmVkIE9DLVN1cHBvcnRlZC1cbiAgICAgIEZlYXR1cmVzIEFWUC5cblxu
ICAgV2hlbiByZWNlaXZpbmcgYW4gYW5zd2VyIG1lc3NhZ2Ugd2l0aCBtdWx0aXBsZSBPTFJz
IG9mIGRpZmZlcmVudFxuICAgc3VwcG9ydGVkIHJlcG9ydCB0eXBlcywgYSByZWFjdGluZyBu
b2RlIE1VU1QgcHJvY2VzcyBlYWNoIHJlY2VpdmVkXG4gICBPTFIuXG5cbiAgIFdoZW4gcmVj
ZWl2aW5nIGFuIGFuc3dlciBtZXNzYWdlIHdpdGggbXVsdGlwbGUgT0xScyBhbmQgbXVsdGlw
bGUgb2ZcbiAgIHRoZSBPTFJzIGFyZSBvZiB0aGUgc2FtZSBzdXBwb3J0ZWQgcmVwb3J0IHR5
cGVzLCBhIHJlYWN0aW5nIG5vZGVcbiAgIFNIT1VMRCBpZ25vcmUgdGhlIGR1cGxpY2F0ZWQg
T0xScy5cblxuICAgQSByZWFjdGluZyBub2RlIFNIT1VMRCBpZ25vcmUgYW4gT0MtT0xSIHdp
dGggYSBPQy1SZXBvcnQtVHlwZSBBVlBcbiAgIHRoYXQgY29udGFpbnMgYW4gdW5yZWNvZ25p
emVkIHZhbHVlLlxuXG4gICBUaGUgT0xSIGlzIGZvciBhbiBleGlzdGluZyBvdmVybG9hZCBj
b25kaXRpb24gaWYgYSByZWFjdGluZyBub2RlIGhhc1xuICAgYW4gT0NTIHRoYXQgbWF0Y2hl
cyB0aGUgcmVjZWl2ZWQgT0xSLlxuXG4gICBGb3IgYSBob3N0LXJlcG9ydCB0aGlzIG1lYW5z
IGl0IG1hdGNoZXMgdGhlIGFwcGxpY2F0aW9uLWlkIGFuZCB0aGVcbiAgIGhvc3RcJ3MgRGlh
bWV0ZXJJZGVudGl0eSBpbiBhbiBleGlzdGluZyBob3N0IE9DUyBlbnRyeS5cblxuICAgRm9y
IGEgcmVhbG0tcmVwb3J0IHRoaXMgbWVhbnMgaXQgbWF0Y2hlcyB0aGUgYXBwbGljYXRpb24t
aWQgYW5kIHRoZVxuICAgcmVhbG0gaW4gYW4gZXhpc3RpbmcgcmVhbG0gT0NTIGVudHJ5Llxu
XG4gICBJZiB0aGUgT0xSIGlzIGZvciBhbiBleGlzdGluZyBvdmVybG9hZCBjb25kaXRpb24g
dGhlbiBhIHJlYWN0aW5nIG5vZGVcbiAgIE1VU1QgZGV0ZXJtaW5lIGlmIHRoZSBPTFIgaXMg
YSByZXRyYW5zbWlzc2lvbiBvciBhbiB1cGRhdGUgdG8gdGhlXG4gICBleGlzdGluZyBPTFIu
XG5cbiAgIElmIHRoZSBzZXF1ZW5jZSBudW1iZXIgZm9yIHRoZSByZWNlaXZlZCBPTFIgaXMg
Z3JlYXRlciB0aGFuIHRoZVxuICAgc2VxdWVuY2UgbnVtYmVyIHN0b3JlZCBpbiB0aGUgbWF0
Y2hpbmcgT0NTIGVudHJ5IHRoZW4gYSByZWFjdGluZyBub2RlXG4gICBNVVNUIHVwZGF0ZSB0
aGUgbWF0Y2hpbmcgT0NTIGVudHJ5LlxuXG4gICBJZiB0aGUgc2VxdWVuY2UgbnVtYmVyIGZv
ciB0aGUgcmVjZWl2ZWQgT0xSIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0b1xuICAgdGhlIHNl
cXVlbmNlIG51bWJlciBpbiB0aGUgbWF0Y2hpbmcgT0NTIGVudHJ5IHRoZW4gYSByZWFjdGlu
ZyBub2RlXG4gICBNVVNUIHNpbGVudGx5IGlnbm9yZSB0aGUgcmVjZWl2ZWQgT0xSLiAgVGhl
IG1hdGNoaW5nIE9DUyBNVVNUIE5PVCBiZVxuICAgdXBkYXRlZCBpbiB0aGlzIGNhc2UuXG5c
biAgIElmIHRoZSByZWNlaXZlZCBPTFIgaXMgZm9yIGEgbmV3IG92ZXJsb2FkIGNvbmRpdGlv
biB0aGVuIGEgcmVhY3RpbmdcbiAgIG5vZGUgTVVTVCBnZW5lcmF0ZSBhIG5ldyBPQ1MgZW50
cnkgZm9yIHRoZSBvdmVybG9hZCBjb25kaXRpb24uXG5cbiAgIEZvciBhIGhvc3QtcmVwb3J0
IHRoaXMgbWVhbnMgYSByZWFjdGluZyBub2RlIGNyZWF0ZXMgb24gT0NTIGVudHJ5XG4gICB3
aXRoIHRoZSBhcHBsaWNhdGlvbi1pZCBpbiB0aGUgcmVjZWl2ZWQgbWVzc2FnZSBhbmQgRGlh
bWV0ZXJJZGVudGl0eVxuICAgb2YgdGhlIE9yaWdpbi1Ib3N0IGluIHRoZSByZWNlaXZlZCBt
ZXNzYWdlLlxuXG4gICAgICBOb3RlOiBUaGlzIHNvbHV0aW9uIGFzc3VtZXMgdGhhdCB0aGUg
T3JpZ2luLUhvc3QgQVZQIGluIHRoZSBhbnN3ZXJcbiAgICAgIG1lc3NhZ2UgaW5jbHVkZWQg
YnkgdGhlIHJlcG9ydGluZyBub2RlIGlzIG5vdCBjaGFuZ2VkIGFsb25nIHRoZVxuICAgICAg
cGF0aCB0byB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAg
ICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDE3XVxu
X1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAg
ICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgRm9yIGEgcmVhbG0tcmVwb3J0IHRoaXMg
bWVhbnMgYSByZWFjdGluZyBub2RlIGNyZWF0ZXMgb24gT0NTIGVudHJ5XG4gICB3aXRoIHRo
ZSBhcHBsaWNhdGlvbi1pZCBpbiB0aGUgcmVjZWl2ZWQgbWVzc2FnZSBhbmQgcmVhbG0gb2Yg
dGhlXG4gICBPcmlnaW4tUmVhbG0gaW4gdGhlIHJlY2VpdmVkIG1lc3NhZ2UuXG5cbiAgIElm
IHRoZSByZWNlaXZlZCBPTFIgY29udGFpbnMgYSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB6ZXJv
ICgiMCIpIHRoZW4gYVxuICAgcmVhY3Rpbmcgbm9kZSBNVVNUIHVwZGF0ZSB0aGUgT0NTIGVu
dHJ5IGFzIGJlaW5nIGV4cGlyZWQuXG5cbiAgICAgIE5vdGU6IEl0IGlzIG5vdCBuZWNlc3Nh
cmlseSBhcHByb3ByaWF0ZSB0byBkZWxldGUgdGhlIE9DUyBlbnRyeSxcbiAgICAgIGFzIHRo
ZXJlIGlzIHJlY29tbWVuZGVkIGJlaGF2aW9yIHRoYXQgdGhlIHJlYWN0aW5nIG5vZGUgc2xv
d2x5XG4gICAgICByZXR1cm5zIHRvIGZ1bGwgdHJhZmZpYyB3aGVuIGVuZGluZyBhbiBvdmVy
bG9hZCBhYmF0ZW1lbnQgcGVyaW9kLlxuXG4gICBUaGUgcmVhY3Rpbmcgbm9kZSBkb2VzIG5v
dCBkZWxldGUgYW4gT0NTIHdoZW4gcmVjZWl2aW5nIGFuIGFuc3dlclxuICAgbWVzc2FnZSB0
aGF0IGRvZXMgbm90IGNvbnRhaW4gYW4gT0MtT0xSIEFWUCAoaS5lLiBhYnNlbmNlIG9mIE9M
UlxuICAgbWVhbnMgIm5vIGNoYW5nZSIpLlxuXG41LjIuMS40LiAgUmVwb3J0aW5nIE5vZGUg
TWFpbnRlbmFuY2Ugb2YgT3ZlcmxvYWQgQ29udHJvbCBTdGF0ZVxuXG4gICBBIHJlcG9ydGlu
ZyBub2RlIFNIT1VMRCBjcmVhdGUgYSBuZXcgT0NTIGVudHJ5IHdoZW4gZW50ZXJpbmcgYW5c
biAgIG92ZXJsb2FkIGNvbmRpdGlvbi5cblxuICAgICAgTm90ZTogSWYgYSByZXBvcnRpbmcg
bm9kZSBrbm93cyB0aHJvdWdoIGFic2VuY2Ugb2YgdGhlIE9DLVxuICAgICAgU3VwcG9ydGVk
LUZlYXR1cmVzIEFWUCBpbiByZWNlaXZlZCBtZXNzYWdlcyB0aGF0IHRoZXJlIGFyZSBub1xu
ICAgICAgcmVhY3Rpbmcgbm9kZXMgc3VwcG9ydGluZyBET0lDIHRoZW4gdGhlIHJlcG9ydGlu
ZyBub2RlIGNhbiBjaG9vc2VcbiAgICAgIHRvIG5vdCBjcmVhdGUgT0NTIGVudHJpZXMuXG5c
biAgIFdoZW4gZ2VuZXJhdGluZyBhIG5ldyBPQ1MgZW50cnkgdGhlIHNlcXVlbmNlIG51bWJl
ciBTSE9VTEQgYmUgc2V0IHRvXG4gICB6ZXJvICgiMCIpLlxuXG4gICBXaGVuIGdlbmVyYXRp
bmcgc2VxdWVuY2UgbnVtYmVycyBmb3IgbmV3IG92ZXJsb2FkIGNvbmRpdGlvbnMsIHRoZSBu
ZXdcbiAgIHNlcXVlbmNlIG51bWJlciBNVVNUIGJlIGdyZWF0ZXIgdGhhbiBhbnkgc2VxdWVu
Y2UgbnVtYmVyIGluIGFuIGFjdGl2ZVxuICAgKHVuZXhwaXJlZCkgb3ZlcmxvYWQgcmVwb3J0
IGZvciB0aGUgc2FtZSBhcHBsaWNhdGlvbiBhbmQgcmVwb3J0LXR5cGVcbiAgIHByZXZpb3Vz
bHkgc2VudCBieSB0aGUgcmVwb3J0aW5nIG5vZGUuICBUaGlzIHByb3BlcnR5IE1VU1QgaG9s
ZCBvdmVyXG4gICBhIHJlYm9vdCBvZiB0aGUgcmVwb3J0aW5nIG5vZGUuXG5cbiAgICAgIE5v
dGU6IE9uZSB3YXkgb2YgYWRkcmVzc2luZyB0aGlzIG92ZXIgYSByZWJvb3Qgb2YgYSByZXBv
cnRpbmcgbm9kZVxuICAgICAgaXMgdG8gdXNlIGEgdGltZSBzdGFtcCBmb3IgdGhlIGZpcnN0
IG92ZXJsb2FkIGNvbmRpdGlvbiB0aGF0XG4gICAgICBvY2N1cnMgYWZ0ZXIgdGhlIHJlcG9y
dCBhbmQgdG8gc3RhcnQgdXNpbmcgc2VxdWVuY2UgbnVtYmVycyBvZlxuICAgICAgemVybyBm
b3Igc3Vic2VxdWVudCBvdmVybG9hZCBjb25kaXRpb25zLlxuXG4gICBBIHJlcG9ydGluZyBu
b2RlIE1VU1QgdXBkYXRlIGFuIE9DUyBlbnRyeSB3aGVuIGl0IG5lZWRzIHRvIGFkanVzdCB0
aGVcbiAgIHZhbGlkaXR5IGR1cmF0aW9uIG9mIHRoZSBvdmVybG9hZCBjb25kaXRpb24gYXQg
cmVhY3Rpbmcgbm9kZXMuXG5cbiAgICAgIEZvciBpbnN0YW5jZSwgaWYgYSByZXBvcnRpbmcg
bm9kZSB3aXNoZXMgdG8gaW5zdHJ1Y3QgcmVhY3RpbmdcbiAgICAgIG5vZGVzIHRvIGNvbnRp
bnVlIG92ZXJsb2FkIGFiYXRlbWVudCBmb3IgYSBsb25nZXIgcGVyaW9kIG9mIHRpbWVcbiAg
ICAgIHRoYW4gb3JpZ2luYWxseSBjb21tdW5pY2F0ZWQuICBUaGlzIGFsc28gYXBwbGllcyBp
ZiB0aGUgcmVwb3J0aW5nXG4gICAgICBub2RlIHdpc2hlcyB0byBzaG9ydGVuIHRoZSBwZXJp
b2Qgb2YgdGltZSB0aGF0IG92ZXJsb2FkIGFiYXRlbWVudFxuICAgICAgaXMgdG8gY29udGlu
dWUuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEy
LCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDE4XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAg
ICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1
XG5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNVVNUIE5PVCB1cGRhdGUgdGhlIGFiYXRlbWVu
dCBhbGdvcml0aG0gaW4gYW4gYWN0aXZlXG4gICBPQ1MgZW50cnkuXG5cbiAgIEEgcmVwb3J0
aW5nIG5vZGUgTVVTVCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdoZW4gaXQgd2lzaGVzIHRvIGFk
anVzdFxuICAgYW55IGFiYXRlbWVudCBhbGdvcml0aG0gc3BlY2lmaWMgcGFyYW1ldGVycywg
aW5jbHVkaW5nLCBmb3IgZXhhbXBsZSxcbiAgIHRoZSByZWR1Y3Rpb24gcGVyY2VudGFnZSB1
c2VkIGZvciB0aGUgTG9zcyBhYmF0ZW1lbnQgYWxnb3JpdGhtLlxuXG4gICAgICBGb3IgaW5z
dGFuY2UsIGlmIGEgcmVwb3J0aW5nIG5vZGUgd2lzaGVzIHRvIGNoYW5nZSB0aGUgcmVkdWN0
aW9uXG4gICAgICBwZXJjZW50YWdlIGVpdGhlciBoaWdoZXIsIGlmIHRoZSBvdmVybG9hZCBj
b25kaXRpb24gaGFzIHdvcnNlbmVkLFxuICAgICAgb3IgbG93ZXIsIGlmIHRoZSBvdmVybG9h
ZCBjb25kaXRpb24gaGFzIGltcHJvdmVkLCB0aGVuIHRoZVxuICAgICAgcmVwb3J0aW5nIG5v
ZGUgd291bGQgdXBkYXRlIHRoZSBhcHByb3ByaWF0ZSBPQ1MgZW50cnkuXG5cbiAgIEEgcmVw
b3J0aW5nIG5vZGUgTVVTVCBpbmNyZW1lbnQgdGhlIHNlcXVlbmNlIG51bWJlciBhc3NvY2lh
dGVkIHdpdGhcbiAgIHRoZSBPQ1MgZW50cnkgYW55dGltZSB0aGUgY29udGVudHMgb2YgdGhl
IE9DUyBlbnRyeSBhcmUgY2hhbmdlZC5cbiAgIFRoaXMgd2lsbCByZXN1bHQgaW4gYSBuZXcg
c2VxdWVuY2UgbnVtYmVyIGJlaW5nIHNlbnQgdG8gcmVhY3RpbmdcbiAgIG5vZGVzLCBpbnN0
cnVjdGluZyByZWFjdGluZyBub2RlcyB0byBwcm9jZXNzIHRoZSBPQy1PTFIgQVZQLlxuXG4g
ICBBIHJlcG9ydGluZyBub2RlIFNIT1VMRCB1cGRhdGUgYW4gT0NTIGVudHJ5IHdpdGggYSB2
YWxpZGl0eSBkdXJhdGlvblxuICAgb2YgemVybyAoIjAiKSB3aGVuIHRoZSBvdmVybG9hZCBj
b25kaXRpb24gZW5kcy5cblxuICAgICAgTm90ZTogSWYgYSByZXBvcnRpbmcgbm9kZSBrbm93
cyB0aGF0IHRoZSBPQ1MgZW50cmllcyBpbiB0aGVcbiAgICAgIHJlYWN0aW5nIG5vZGVzIGFy
ZSBuZWFyIGV4cGlyYXRpb24gdGhlbiB0aGUgcmVwb3J0aW5nIG5vZGUgbWlnaHRcbiAgICAg
IGRlY2lkZSBub3QgdG8gc2VuZCBhbiBPTFIgd2l0aCBhIHZhbGlkaXR5IGR1cmF0aW9uIG9m
IHplcm8uXG5cbiAgIEEgcmVwb3J0aW5nIG5vZGUgTVVTVCBrZWVwIGFuIE9DUyBlbnRyeSB3
aXRoIGEgdmFsaWRpdHkgZHVyYXRpb24gb2ZcbiAgIHplcm8gKCIwIikgZm9yIGEgcGVyaW9k
IG9mIHRpbWUgbG9uZyBlbm91Z2ggdG8gZW5zdXJlIHRoYXQgYW55IG5vbi1cbiAgIGV4cGly
ZWQgcmVhY3Rpbmcgbm9kZVwncyBPQ1MgZW50cnkgY3JlYXRlZCBhcyBhIHJlc3VsdCBvZiB0
aGUgb3ZlcmxvYWRcbiAgIGNvbmRpdGlvbiBpbiB0aGUgcmVwb3J0aW5nIG5vZGUgaXMgZGVs
ZXRlZC5cblxuNS4yLjIuICBSZWFjdGluZyBOb2RlIEJlaGF2aW9yXG5cbiAgIFdoZW4gYSBy
ZWFjdGluZyBub2RlIHNlbmRzIGEgcmVxdWVzdCBpdCBNVVNUIGRldGVybWluZSBpZiB0aGF0
XG4gICByZXF1ZXN0IG1hdGNoZXMgYW4gYWN0aXZlIE9DUy5cblxuICAgSWYgdGhlIHJlcXVl
c3QgbWF0Y2hlcyBhbiBhY3RpdmUgT0NTIHRoZW4gdGhlIHJlYWN0aW5nIG5vZGUgTVVTVCB1
c2VcbiAgIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIGluZGljYXRlZCBpbiB0
aGUgT0NTIHRvIGRldGVybWluZSBpZlxuICAgdGhlIHJlcXVlc3QgaXMgdG8gcmVjZWl2ZSBv
dmVybG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50LlxuXG4gICBGb3IgdGhlIExvc3MgYWJhdGVt
ZW50IGFsZ29yaXRobSBkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiwgc2VlXG4gICBT
ZWN0aW9uIDYgZm9yIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIGxvZ2ljIGFw
cGxpZWQuXG5cbiAgIElmIHRoZSBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtIHNlbGVj
dHMgdGhlIHJlcXVlc3QgZm9yIG92ZXJsb2FkXG4gICBhYmF0ZW1lbnQgdHJlYXRtZW50IHRo
ZW4gdGhlIHJlYWN0aW5nIG5vZGUgTVVTVCBhcHBseSBvdmVybG9hZFxuICAgYWJhdGVtZW50
IHRyZWF0bWVudCBvbiB0aGUgcmVxdWVzdC4gIFRoZSBhYmF0ZW1lbnQgdHJlYXRtZW50IGFw
cGxpZWRcbiAgIGRlcGVuZHMgb24gdGhlIGNvbnRleHQgb2YgdGhlIHJlcXVlc3QuXG5cbiAg
IElmIGRpdmVyc2lvbiBhYmF0ZW1lbnQgdHJlYXRtZW50IGlzIHBvc3NpYmxlIChpLmUuIGEg
ZGlmZmVyZW50IHBhdGhcbiAgIGZvciB0aGUgcmVxdWVzdCBjYW4gYmUgc2VsZWN0ZWQgd2hl
cmUgdGhlIG92ZXJsb2FkZWQgbm9kZSBpcyBub3QgcGFydFxuXG5cblxuS29yaG9uZW4sIGV0
IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1Bh
Z2UgMTldXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAg
ICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBvZiB0aGUgZGlmZmVyZW50
IHBhdGgpLCB0aGVuIHRoZSByZWFjdGluZyBub2RlIFNIT1VMRCBhcHBseSBkaXZlcnNpb25c
biAgIGFiYXRlbWVudCB0cmVhdG1lbnQgdG8gdGhlIHJlcXVlc3QuICBPdGhlcndpc2UgdGhl
IHJlYWN0aW5nIG5vZGVcbiAgIFNIT1VMRCBhcHBseSB0aHJvdHRsaW5nIGFiYXRlbWVudCB0
cmVhdG1lbnQgdG8gdGhlIHJlcXVlc3QuXG5cbiAgIElmIHRoZSBvdmVybG9hZCBhYmF0ZW1l
bnQgdHJlYXRtZW50IHJlc3VsdHMgaW4gdGhyb3R0bGluZyBvZiB0aGVcbiAgIHJlcXVlc3Qg
YW5kIGlmIHRoZSByZWFjdGluZyBub2RlIGlzIGFuIGFnZW50IHRoZW4gdGhlIGFnZW50IE1V
U1Qgc2VuZFxuICAgYW4gYXBwcm9wcmlhdGUgZXJyb3IgYXMgZGVmaW5lZCBpbiBTZWN0aW9u
IDguXG5cbiAgIERpYW1ldGVyIGVuZHBvaW50cyB0aGF0IHRocm90dGxlIHJlcXVlc3RzIG5l
ZWQgdG8gZG8gc28gYWNjb3JkaW5nIHRvXG4gICB0aGUgcnVsZXMgb2YgdGhlIGNsaWVudCBh
cHBsaWNhdGlvbi4gIFRob3NlIHJ1bGVzIHdpbGwgdmFyeSBieVxuICAgYXBwbGljYXRpb24s
IGFuZCBhcmUgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGRvY3VtZW50LlxuXG4gICBJbiB0
aGUgY2FzZSB0aGF0IHRoZSBPQ1MgZW50cnkgaW5kaWNhdGVkIG5vIHRyYWZmaWMgd2FzIHRv
IGJlIHNlbnQgdG9cbiAgIHRoZSBvdmVybG9hZGVkIGVudGl0eSBhbmQgdGhlIHZhbGlkaXR5
IGR1cmF0aW9uIGV4cGlyZXMgdGhlbiBvdmVybG9hZFxuICAgYWJhdGVtZW50IGFzc29jaWF0
ZWQgd2l0aCB0aGUgb3ZlcmxvYWQgcmVwb3J0IE1VU1QgYmUgZW5kZWQgaW4gYVxuICAgY29u
dHJvbGxlZCBmYXNoaW9uLlxuXG41LjIuMy4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yXG5c
biAgIElmIHRoZXJlIGlzIGFuIGFjdGl2ZSBPQ1MgZW50cnkgdGhlbiBhIHJlcG9ydGluZyBu
b2RlIFNIT1VMRCBpbmNsdWRlXG4gICB0aGUgT0MtT0xSIEFWUCBpbiBhbGwgYW5zd2VycyB0
byByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gdGhlIE9DLVxuICAgU3VwcG9ydGVkLUZlYXR1cmVz
IEFWUCBhbmQgdGhhdCBtYXRjaCB0aGUgYWN0aXZlIE9DUyBlbnRyeS5cblxuICAgICAgTm90
ZTogQSByZXF1ZXN0IG1hdGNoZXMgaWYgdGhlIGFwcGxpY2F0aW9uLWlkIGluIHRoZSByZXF1
ZXN0XG4gICAgICBtYXRjaGVzIHRoZSBhcHBsaWNhdGlvbi1pZCBpbiBhbnkgYWN0aXZlIE9D
UyBlbnRyeSBhbmQgaWYgdGhlXG4gICAgICByZXBvcnQtdHlwZSBpbiB0aGUgT0NTIGVudHJ5
IG1hdGNoZXMgYSByZXBvcnQtdHlwZSBzdXBwb3J0ZWQgYnlcbiAgICAgIHRoZSByZXBvcnRp
bmcgbm9kZSBhcyBpbmRpY2F0ZWQgaW4gdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAu
XG5cbiAgIFRoZSBjb250ZW50cyBvZiB0aGUgT0MtT0xSIEFWUCBkZXBlbmQgb24gdGhlIHNl
bGVjdGVkIGFsZ29yaXRobS5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBNQVkgY2hvb3NlIHRv
IG5vdCByZXNlbmQgYW4gb3ZlcmxvYWQgcmVwb3J0IHRvIGFcbiAgIHJlYWN0aW5nIG5vZGUg
aWYgaXQgY2FuIGd1YXJhbnRlZSB0aGF0IHRoaXMgb3ZlcmxvYWQgcmVwb3J0IGlzXG4gICBh
bHJlYWR5IGFjdGl2ZSBpbiB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgICAgTm90ZTogSW4g
c29tZSBjYXNlcyAoZS5nLiB3aGVuIHRoZXJlIGFyZSBvbmUgb3IgbW9yZSBhZ2VudHMgaW4g
dGhlXG4gICAgICBwYXRoIGJldHdlZW4gcmVwb3J0aW5nIGFuZCByZWFjdGluZyBub2Rlcywg
b3Igd2hlbiBvdmVybG9hZFxuICAgICAgcmVwb3J0cyBhcmUgZGlzY2FyZGVkIGJ5IHJlYWN0
aW5nIG5vZGVzKSBhIHJlcG9ydGluZyBub2RlIG1heSBub3RcbiAgICAgIGJlIGFibGUgdG8g
Z3VhcmFudGVlIHRoYXQgdGhlIHJlYWN0aW5nIG5vZGUgaGFzIHJlY2VpdmVkIHRoZVxuICAg
ICAgcmVwb3J0LlxuXG4gICBBIHJlcG9ydGluZyBub2RlIE1VU1QgTk9UIHNlbmQgb3Zlcmxv
YWQgcmVwb3J0cyBvZiBhIHR5cGUgdGhhdCBoYXNcbiAgIG5vdCBiZWVuIGFkdmVydGlzZWQg
YXMgc3VwcG9ydGVkIGJ5IHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAgICBOb3RlOiBBIHJl
YWN0aW5nIG5vZGUgaW1wbGljaXRseSBhZHZlcnRpc2VzIHN1cHBvcnQgZm9yIHRoZSBob3N0
XG4gICAgICBhbmQgcmVhbG0gcmVwb3J0IHR5cGVzIGJ5IGluY2x1ZGluZyB0aGUgT0MtU3Vw
cG9ydGVkLUZlYXR1cmVzIEFWUFxuICAgICAgaW4gdGhlIHJlcXVlc3QuICBTdXBwb3J0IGZv
ciBvdGhlciByZXBvcnQgdHlwZXMgd2lsbCBiZSBleHBsaWNpdGx5XG4gICAgICBpbmRpY2F0
ZWQgYnkgbmV3IGZlYXR1cmUgYml0cyBpbiB0aGUgT0MtRmVhdHVyZS1WZWN0b3IgQVZQLlxu
XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSAyMF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5c
biAgIEEgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIGV4cGxpY2l0bHkgaW5kaWNhdGUgdGhlIGVu
ZCBvZiBhbiBvdmVybG9hZFxuICAgb2NjdXJyZW5jZSBieSBzZW5kaW5nIGEgbmV3IE9MUiB3
aXRoIE9DLVZhbGlkaXR5LUR1cmF0aW9uIHNldCB0byBhXG4gICB2YWx1ZSBvZiB6ZXJvICgi
MCIpLiAgVGhlIHJlcG9ydGluZyBub2RlIFNIT1VMRCBlbnN1cmUgdGhhdCBhbGxcbiAgIHJl
YWN0aW5nIG5vZGVzIHJlY2VpdmUgdGhlIHVwZGF0ZWQgb3ZlcmxvYWQgcmVwb3J0LlxuXG4g
ICBBIHJlcG9ydGluZyBub2RlIE1BWSByZWx5IG9uIHRoZSBPQy1WYWxpZGl0eS1EdXJhdGlv
biBBVlAgdmFsdWVzIGZvclxuICAgdGhlIGltcGxpY2l0IG92ZXJsb2FkIGNvbnRyb2wgc3Rh
dGUgY2xlYW51cCBvbiB0aGUgcmVhY3Rpbmcgbm9kZS5cblxuICAgICAgTm90ZTogQWxsIE9M
UnMgc2VudCBoYXZlIGFuIGV4cGlyYXRpb24gdGltZSBjYWxjdWxhdGVkIGJ5IGFkZGluZ1xu
ICAgICAgdGhlIHZhbGlkaXR5LWR1cmF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgT0xSIHRvIHRo
ZSB0aW1lIHRoZSBtZXNzYWdlXG4gICAgICB3YXMgc2VudC4gIFRyYW5zaXQgdGltZSBmb3Ig
dGhlIE9MUiBjYW4gYmUgc2FmZWx5IGlnbm9yZWQuICBUaGVcbiAgICAgIHJlcG9ydGluZyBu
b2RlIGNhbiBlbnN1cmUgdGhhdCBhbGwgcmVhY3Rpbmcgbm9kZXMgaGF2ZSByZWNlaXZlZFxu
ICAgICAgdGhlIE9MUiBieSBjb250aW51aW5nIHRvIHNlbmQgaXQgaW4gYW5zd2VyIG1lc3Nh
Z2VzIHVudGlsIHRoZVxuICAgICAgZXhwaXJhdGlvbiB0aW1lIGZvciBhbGwgT0xScyBzZW50
IGZvciB0aGF0IG92ZXJsb2FkIGNvbmRpdGlvbiBoYXZlXG4gICAgICBleHBpcmVkLlxuXG4g
ICBXaGVuIGEgcmVwb3J0aW5nIG5vZGUgc2VuZHMgYW4gT0xSLCBpdCBlZmZlY3RpdmVseSBk
ZWxlZ2F0ZXMgYW55XG4gICBuZWNlc3NhcnkgdGhyb3R0bGluZyB0byBkb3duc3RyZWFtIG5v
ZGVzLiAgSWYgdGhlIHJlcG9ydGluZyBub2RlIGFsc29cbiAgIGxvY2FsbHkgdGhyb3R0bGVz
IHRoZSBzYW1lIHNldCBvZiBtZXNzYWdlcywgdGhlIG92ZXJhbGwgbnVtYmVyIG9mXG4gICB0
aHJvdHRsZWQgcmVxdWVzdHMgbWF5IGJlIGhpZ2hlciB0aGFuIGludGVuZGVkLiAgVGhlcmVm
b3JlLCBiZWZvcmVcbiAgIGFwcGx5aW5nIGxvY2FsIG1lc3NhZ2UgdGhyb3R0bGluZywgYSBy
ZXBvcnRpbmcgbm9kZSBuZWVkcyB0byBjaGVjayBpZlxuICAgdGhlc2UgbWVzc2FnZXMgbWF0
Y2ggZXhpc3RpbmcgT0NTIGVudHJpZXMsIGluZGljYXRpbmcgdGhhdCB0aGVzZVxuICAgbWVz
c2FnZXMgaGF2ZSBzdXJ2aXZlZCB0aHJvdHRsaW5nIGFwcGxpZWQgYnkgZG93bnN0cmVhbSBu
b2RlcyB0aGF0XG4gICBoYXZlIHJlY2VpdmVkIHRoZSByZWxhdGVkIE9MUi5cblxuICAgSG93
ZXZlciwgZXZlbiBpZiB0aGUgc2V0IG9mIG1lc3NhZ2VzIG1hdGNoIGV4aXN0aW5nIE9DUyBl
bnRyaWVzLCB0aGVcbiAgIHJlcG9ydGluZyBub2RlIGNhbiBzdGlsbCBhcHBseSBvdGhlciBh
YmF0ZW1lbnQgbWV0aG9kcyBzdWNoIGFzXG4gICBkaXZlcnNpb24uICBUaGUgcmVwb3J0aW5n
IG5vZGUgbWlnaHQgYWxzbyBuZWVkIHRvIHRocm90dGxlIHJlcXVlc3RzXG4gICBmb3IgcmVh
c29ucyBvdGhlciB0aGFuIG92ZXJsb2FkLiAgRm9yIGV4YW1wbGUsIGFuIGFnZW50IG9yIHNl
cnZlclxuICAgbWlnaHQgaGF2ZSBhIGNvbmZpZ3VyZWQgcmF0ZSBsaW1pdCBmb3IgZWFjaCBj
bGllbnQsIGFuZCB0aHJvdHRsZVxuICAgcmVxdWVzdHMgdGhhdCBleGNlZWQgdGhhdCBsaW1p
dCwgZXZlbiBpZiBzdWNoIHJlcXVlc3RzIGhhZCBhbHJlYWR5XG4gICBiZWVuIGNhbmRpZGF0
ZXMgZm9yIHRocm90dGxpbmcgYnkgZG93bnN0cmVhbSBub2Rlcy4gIFRoZSByZXBvcnRpbmdc
biAgIG5vZGUgYWxzbyBoYXMgdGhlIG9wdGlvbiB0byBzZW5kIG5ldyBPTFJzIHJlcXVlc3Rp
bmcgZ3JlYXRlclxuICAgcmVkdWN0aW9ucyBpbiB0cmFmZmljLCByZWR1Y2luZyB0aGUgbmVl
ZCBmb3IgbG9jYWwgdGhyb3R0bGluZy5cblxuICAgQSByZXBvcnRpbmcgbm9kZSBTSE9VTEQg
ZGVjcmVhc2UgcmVxdWVzdGVkIG92ZXJsb2FkIGFiYXRlbWVudFxuICAgdHJlYXRtZW50IGlu
IGEgY29udHJvbGxlZCBmYXNoaW9uIHRvIGF2b2lkIG9zY2lsbGF0aW9ucyBpbiB0cmFmZmlj
LlxuXG4gICAgICBGb3IgZXhhbXBsZSwgaXQgbWlnaHQgd2FpdCBzb21lIHBlcmlvZCBvZiB0
aW1lIGFmdGVyIG92ZXJsb2FkIGVuZHNcbiAgICAgIGJlZm9yZSB0ZXJtaW5hdGluZyB0aGUg
T0xSLCBvciBpdCBtaWdodCBzZW5kIGEgc2VyaWVzIG9mIE9MUnNcbiAgICAgIGluZGljYXRp
bmcgcHJvZ3Jlc3NpdmVseSBsZXNzIG92ZXJsb2FkIHNldmVyaXR5LlxuXG41LjMuICBQcm90
b2NvbCBFeHRlbnNpYmlsaXR5XG5cbiAgIFRoZSBET0lDIHNvbHV0aW9uIGNhbiBiZSBleHRl
bmRlZC4gIFR5cGVzIG9mIHBvdGVudGlhbCBleHRlbnNpb25zXG4gICBpbmNsdWRlIG5ldyB0
cmFmZmljIGFiYXRlbWVudCBhbGdvcml0aG1zLCBuZXcgcmVwb3J0IHR5cGVzIG9yIG90aGVy
XG4gICBuZXcgZnVuY3Rpb25hbGl0eS5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAg
ICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMjFdXG5f
XG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAg
ICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICBXaGVuIGRlZmluaW5nIGEgbmV3IGV4dGVu
c2lvbiB0aGF0IHJlcXVpcmVzIG5ldyBub3JtYXRpdmUgYmVoYXZpb3IsXG4gICB0aGUgc3Bl
Y2lmaWNhdGlvbiBNVVNUIGRlZmluZSBhIG5ldyBmZWF0dXJlIGZvciB0aGUgT0MtRmVhdHVy
ZS1cbiAgIFZlY3Rvci4gIFRoaXMgZmVhdHVyZSBiaXQgaXMgdXNlZCB0byBjb21tdW5pY2F0
ZSBzdXBwb3J0IGZvciB0aGUgbmV3XG4gICBmZWF0dXJlLlxuXG4gICBUaGUgZXh0ZW5zaW9u
IE1BWSBkZWZpbmUgbmV3IEFWUHMgZm9yIHVzZSBpbiBET0lDIENhcGFiaWxpdHlcbiAgIEFu
bm91bmNlbWVudCBhbmQgZm9yIHVzZSBpbiBET0lDIE92ZXJsb2FkIHJlcG9ydGluZy4gIFRo
ZXNlIG5ldyBBVlBzXG4gICBTSE9VTEQgYmUgZGVmaW5lZCB0byBiZSBleHRlbnNpb25zIHRv
IHRoZSBPQy1TdXBwb3J0ZWQtRmVhdHVyZXMgb3JcbiAgIE9DLU9MUiBBVlBzIGRlZmluZWQg
aW4gdGhpcyBkb2N1bWVudC5cblxuICAgW1JGQzY3MzNdIGRlZmluZWQgR3JvdXBlZCBBVlAg
ZXh0ZW5zaW9uIG1lY2hhbmlzbXMgYXBwbHkuICBUaGlzXG4gICBhbGxvd3MsIGZvciBleGFt
cGxlLCBkZWZpbmluZyBhIG5ldyBmZWF0dXJlIHRoYXQgaXMgbWFuZGF0b3J5IHRvIGJlXG4g
ICB1bmRlcnN0b29kIGV2ZW4gd2hlbiBwaWdneWJhY2tlZCBvbiBhbiBleGlzdGluZyBhcHBs
aWNhdGlvbi5cblxuICAgV2hlbiBkZWZpbmluZyBuZXcgcmVwb3J0IHR5cGUgdmFsdWVzLCB0
aGUgY29ycmVzcG9uZGluZyBzcGVjaWZpY2F0aW9uXG4gICBNVVNUIGRlZmluZSB0aGUgc2Vt
YW50aWNzIG9mIHRoZSBuZXcgcmVwb3J0IHR5cGVzIGFuZCBob3cgdGhleSBhZmZlY3RcbiAg
IHRoZSBPQy1PTFIgQVZQIGhhbmRsaW5nLlxuXG4gICBUaGUgT0MtT0xSIEFWUCBjYW4gYmUg
ZXhwYW5kZWQgd2l0aCBvcHRpb25hbCBzdWItQVZQcyBvbmx5IGlmIGFcbiAgIGxlZ2FjeSBE
T0lDIGltcGxlbWVudGF0aW9uIGNhbiBzYWZlbHkgaWdub3JlIHRoZW0gd2l0aG91dCBicmVh
a2luZ1xuICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdGhlIGdpdmVuIE9DLVJlcG9y
dC1UeXBlIEFWUCB2YWx1ZS5cblxuICAgRG9jdW1lbnRzIHRoYXQgaW50cm9kdWNlIG5ldyBy
ZXBvcnQgdHlwZXMgTVVTVCBkZXNjcmliZSBhbnlcbiAgIGxpbWl0YXRpb25zIG9uIHRoZWly
IHVzZSBhY3Jvc3Mgbm9uLXN1cHBvcnRpbmcgYWdlbnRzLlxuXG4gICBBcyB3aXRoIGFueSBE
aWFtZXRlciBzcGVjaWZpY2F0aW9uLCBSRkM2NzMzIHJlcXVpcmVzIGFsbCBuZXcgQVZQcyB0
b1xuICAgYmUgcmVnaXN0ZXJlZCB3aXRoIElBTkEuICBTZWUgU2VjdGlvbiA5IGZvciB0aGUg
cmVxdWlyZWQgcHJvY2VkdXJlcy5cbiAgIE5ldyBmZWF0dXJlcyAoZmVhdHVyZSBiaXRzIGlu
IHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlApIGFuZCByZXBvcnRcbiAgIHR5cGVzIChpbiB0
aGUgT0MtUmVwb3J0LVR5cGUgQVZQKSBNVVNUIGJlIHJlZ2lzdGVyZWQgd2l0aCBJQU5BLlxu
XG42LiAgTG9zcyBBbGdvcml0aG1cblxuICAgVGhpcyBzZWN0aW9uIGRvY3VtZW50cyB0aGUg
RGlhbWV0ZXIgb3ZlcmxvYWQgbG9zcyBhYmF0ZW1lbnRcbiAgIGFsZ29yaXRobS5cblxuNi4x
LiAgT3ZlcnZpZXdcblxuICAgVGhlIERPSUMgc3BlY2lmaWNhdGlvbiBzdXBwb3J0cyB0aGUg
YWJpbGl0eSBmb3IgbXVsdGlwbGUgb3ZlcmxvYWRcbiAgIGFiYXRlbWVudCBhbGdvcml0aG1z
IHRvIGJlIHNwZWNpZmllZC4gIFRoZSBhYmF0ZW1lbnQgYWxnb3JpdGhtIHVzZWRcbiAgIGZv
ciBhbnkgaW5zdGFuY2Ugb2Ygb3ZlcmxvYWQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgRGlhbWV0
ZXIgT3ZlcmxvYWRcbiAgIENhcGFiaWxpdHkgQW5ub3VuY2VtZW50IHByb2Nlc3MgZG9jdW1l
bnRlZCBpbiBTZWN0aW9uIDUuMS5cblxuICAgVGhlIGxvc3MgYWxnb3JpdGhtIGRlc2NyaWJl
ZCBpbiB0aGlzIHNlY3Rpb24gaXMgdGhlIGRlZmF1bHQgYWxnb3JpdGhtXG4gICB0aGF0IG11
c3QgYmUgc3VwcG9ydGVkIGJ5IGFsbCBEaWFtZXRlciBub2RlcyB0aGF0IHN1cHBvcnQgRE9J
Qy5cblxuICAgVGhlIGxvc3MgYWxnb3JpdGhtIGlzIGRlc2lnbmVkIHRvIGJlIGEgc3RyYWln
aHRmb3J3YXJkIGFuZCBzdGF0ZWxlc3NcbiAgIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0
aG0uICBJdCBpcyB1c2VkIGJ5IHJlcG9ydGluZyBub2RlcyB0b1xuICAgcmVxdWVzdCBhIHBl
cmNlbnRhZ2UgcmVkdWN0aW9uIGluIHRoZSBhbW91bnQgb2YgdHJhZmZpYyBzZW50LiAgVGhl
XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSAyMl1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5c
biAgIHRyYWZmaWMgaW1wYWN0ZWQgYnkgdGhlIHJlcXVlc3RlZCByZWR1Y3Rpb24gZGVwZW5k
cyBvbiB0aGUgdHlwZSBvZlxuICAgb3ZlcmxvYWQgcmVwb3J0LlxuXG4gICBSZXBvcnRpbmcg
bm9kZXMgcmVxdWVzdCB0aGUgc3RhdGVsZXNzIHJlZHVjdGlvbiBvZiB0aGUgbnVtYmVyIG9m
XG4gICByZXF1ZXN0cyBieSBhbiBpbmRpY2F0ZWQgcGVyY2VudGFnZS4gIFRoaXMgcGVyY2Vu
dGFnZSByZWR1Y3Rpb24gaXMgaW5cbiAgIGNvbXBhcmlzb24gdG8gdGhlIG51bWJlciBvZiBt
ZXNzYWdlcyB0aGUgbm9kZSBvdGhlcndpc2Ugd291bGQgc2VuZCxcbiAgIHJlZ2FyZGxlc3Mg
b2YgaG93IG1hbnkgcmVxdWVzdHMgdGhlIG5vZGUgbWlnaHQgaGF2ZSBzZW50IGluIHRoZSBw
YXN0LlxuXG4gICBGcm9tIGEgY29uY2VwdHVhbCBsZXZlbCwgdGhlIGxvZ2ljIGF0IHRoZSBy
ZWFjdGluZyBub2RlIGNvdWxkIGJlXG4gICBvdXRsaW5lZCBhcyBmb2xsb3dzLlxuXG4gICAx
LiAgQW4gb3ZlcmxvYWQgcmVwb3J0IGlzIHJlY2VpdmVkIGFuZCB0aGUgYXNzb2NpYXRlZCBP
Q1MgaXMgZWl0aGVyXG4gICAgICAgc2F2ZWQgb3IgdXBkYXRlZCAoaWYgcmVxdWlyZWQpIGJ5
IHRoZSByZWFjdGluZyBub2RlLlxuXG4gICAyLiAgQSBuZXcgRGlhbWV0ZXIgcmVxdWVzdCBp
cyBnZW5lcmF0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHJ1bm5pbmcgb25cbiAgICAgICB0aGUg
cmVhY3Rpbmcgbm9kZS5cblxuICAgMy4gIFRoZSByZWFjdGluZyBub2RlIGRldGVybWluZXMg
dGhhdCBhbiBhY3RpdmUgb3ZlcmxvYWQgcmVwb3J0XG4gICAgICAgYXBwbGllcyB0byB0aGUg
cmVxdWVzdCwgYXMgaW5kaWNhdGVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIE9DU1xuICAgICAg
IGVudHJ5LlxuXG4gICA0LiAgVGhlIHJlYWN0aW5nIG5vZGUgZGV0ZXJtaW5lcyBpZiBvdmVy
bG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50XG4gICAgICAgc2hvdWxkIGJlIGFwcGxpZWQgdG8g
dGhlIHJlcXVlc3QuICBPbmUgYXBwcm9hY2ggdGhhdCBjb3VsZCBiZVxuICAgICAgIHRha2Vu
IGZvciBlYWNoIHJlcXVlc3QgaXMgdG8gc2VsZWN0IGEgcmFuZG9tIG51bWJlciBiZXR3ZWVu
IDEgYW5kXG4gICAgICAgMTAwLiAgSWYgdGhlIHJhbmRvbSBudW1iZXIgaXMgbGVzcyB0aGFu
IG9yIGVxdWFsIHRvIHRoZSBpbmRpY2F0ZWRcbiAgICAgICByZWR1Y3Rpb24gcGVyY2VudGFn
ZSB0aGVuIHRoZSByZXF1ZXN0IGlzIGdpdmVuIGFiYXRlbWVudFxuICAgICAgIHRyZWF0bWVu
dCwgb3RoZXJ3aXNlIHRoZSByZXF1ZXN0IGlzIGdpdmVuIG5vcm1hbCByb3V0aW5nXG4gICAg
ICAgdHJlYXRtZW50LlxuXG42LjIuICBSZXBvcnRpbmcgTm9kZSBCZWhhdmlvclxuXG4gICBU
aGUgbWV0aG9kIGEgcmVwb3J0aW5nIG5vZGUgdXNlcyB0byBkZXRlcm1pbmUgdGhlIGFtb3Vu
dCBvZiB0cmFmZmljXG4gICByZWR1Y3Rpb24gcmVxdWlyZWQgdG8gYWRkcmVzcyBhbiBvdmVy
bG9hZCBjb25kaXRpb24gaXMgYW5cbiAgIGltcGxlbWVudGF0aW9uIGRlY2lzaW9uLlxuXG4g
ICBXaGVuIGEgcmVwb3J0aW5nIG5vZGUgdGhhdCBoYXMgc2VsZWN0ZWQgdGhlIGxvc3MgYWJh
dGVtZW50IGFsZ29yaXRobVxuICAgZGV0ZXJtaW5lcyB0aGUgbmVlZCB0byByZXF1ZXN0IGEg
cmVkdWN0aW9uIGluIHRyYWZmaWMsIGl0IGluY2x1ZGVzIGFuXG4gICBPQy1PTFIgQVZQIGlu
IGFuc3dlciBtZXNzYWdlcyBhcyBkZXNjcmliZWQgaW4gU2VjdGlvbiA1LjIuMy5cblxuICAg
V2hlbiBzZW5kaW5nIHRoZSBPQy1PTFIgQVZQLCB0aGUgcmVwb3J0aW5nIG5vZGUgTVVTVCBp
bmRpY2F0ZSBhXG4gICBwZXJjZW50YWdlIHJlZHVjdGlvbiBpbiB0aGUgT0MtUmVkdWN0aW9u
LVBlcmNlbnRhZ2UgQVZQLlxuXG4gICBUaGUgcmVwb3J0aW5nIG5vZGUgTUFZIGNoYW5nZSB0
aGUgcmVkdWN0aW9uIHBlcmNlbnRhZ2UgaW4gc3Vic2VxdWVudFxuICAgb3ZlcmxvYWQgcmVw
b3J0cy4gIFdoZW4gZG9pbmcgc28gdGhlIHJlcG9ydGluZyBub2RlIG11c3QgY29uZm9ybSB0
b1xuICAgb3ZlcmxvYWQgcmVwb3J0IGhhbmRpbmcgc3BlY2lmaWVkIGluIFNlY3Rpb24gNS4y
LjMuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVs
eSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyM11cbl9cbkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkg
MjAxNVxuXG5cbjYuMy4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3JcblxuICAgVGhlIG1ldGhv
ZCBhIHJlYWN0aW5nIG5vZGUgdXNlcyB0byBkZXRlcm1pbmUgd2hpY2ggcmVxdWVzdCBtZXNz
YWdlc1xuICAgYXJlIGdpdmVuIGFiYXRlbWVudCB0cmVhdG1lbnQgaXMgYW4gaW1wbGVtZW50
YXRpb24gZGVjaXNpb24uXG5cbiAgIFdoZW4gcmVjZWl2aW5nIGFuIE9DLU9MUiBpbiBhbiBh
bnN3ZXIgbWVzc2FnZSB3aGVyZSB0aGUgYWxnb3JpdGhtXG4gICBpbmRpY2F0ZWQgaW4gdGhl
IE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlAgaXMgdGhlIGxvc3MgYWxnb3JpdGhtLCB0aGVc
biAgIHJlYWN0aW5nIG5vZGUgTVVTVCBhcHBseSBhYmF0ZW1lbnQgdHJlYXRtZW50IHRvIHRo
ZSByZXF1ZXN0ZWRcbiAgIHBlcmNlbnRhZ2Ugb2YgcmVxdWVzdCBtZXNzYWdlcyBzZW50Llxu
XG4gICAgICBOb3RlOiBUaGUgbG9zcyBhbGdvcml0aG0gaXMgYSBzdGF0ZWxlc3MgYWxnb3Jp
dGhtLiAgQXMgYSByZXN1bHQsXG4gICAgICB0aGUgcmVhY3Rpbmcgbm9kZSBkb2VzIG5vdCBn
dWFyYW50ZWUgdGhhdCB0aGVyZSB3aWxsIGJlIGFuXG4gICAgICBhYnNvbHV0ZSByZWR1Y3Rp
b24gaW4gdHJhZmZpYyBzZW50LiAgUmF0aGVyLCBpdCBndWFyYW50ZWVzIHRoYXRcbiAgICAg
IHRoZSByZXF1ZXN0ZWQgcGVyY2VudGFnZSBvZiBuZXcgcmVxdWVzdHMgd2lsbCBiZSBnaXZl
biBhYmF0ZW1lbnRcbiAgICAgIHRyZWF0bWVudC5cblxuICAgV2hlbiBhcHBseWluZyBvdmVy
bG9hZCBhYmF0ZW1lbnQgdHJlYXRtZW50IGZvciB0aGUgbG9zcyBhYmF0ZW1lbnRcbiAgIGFs
Z29yaXRobSwgdGhlIHJlYWN0aW5nIG5vZGUgTVVTVCBhYmF0ZSB0aGUgcmVxdWVzdGVkIHBl
cmNlbnRhZ2Ugb2ZcbiAgIHJlcXVlc3RzIHRoYXQgd291bGQgaGF2ZSBvdGhlcndpc2UgYmVl
biBzZW50IHRvIHRoZSByZXBvcnRpbmcgaG9zdCBvclxuICAgcmVhbG0uXG5cbiAgIElmIHJl
YWN0aW5nIG5vZGUgY29tZXMgb3V0IG9mIHRoZSAxMDAgcGVyY2VudCB0cmFmZmljIHJlZHVj
dGlvbiBhcyBhXG4gICByZXN1bHQgb2YgdGhlIG92ZXJsb2FkIHJlcG9ydCB0aW1pbmcgb3V0
LCB0aGUgZm9sbG93aW5nIHByb2NlZHVyZXNcbiAgIGFyZSBSRUNPTU1FTkRFRCB0byBiZSBh
cHBsaWVkLiAgVGhlIHJlYWN0aW5nIG5vZGUgc2VuZGluZyB0aGUgdHJhZmZpY1xuICAgc2hv
dWxkIGJlIGNvbnNlcnZhdGl2ZSBhbmQsIGZvciBleGFtcGxlLCBmaXJzdCBzZW5kICJwcm9i
ZSIgbWVzc2FnZXNcbiAgIHRvIGxlYXJuIHRoZSBvdmVybG9hZCBjb25kaXRpb24gb2YgdGhl
IG92ZXJsb2FkZWQgbm9kZSBiZWZvcmVcbiAgIGNvbnZlcmdpbmcgdG8gYW55IHRyYWZmaWMg
YW1vdW50L3JhdGUgZGVjaWRlZCBieSB0aGUgc2VuZGVyLiAgU2ltaWxhclxuICAgY29uY2Vy
bnMgYXBwbHkgaW4gYWxsIGNhc2VzIHdoZW4gdGhlIG92ZXJsb2FkIHJlcG9ydCB0aW1lcyBv
dXQgdW5sZXNzXG4gICB0aGUgcHJldmlvdXMgb3ZlcmxvYWQgcmVwb3J0IHN0YXRlZCAwIHBl
cmNlbnQgcmVkdWN0aW9uLlxuXG4gICAgICBUaGUgZ29hbCBvZiB0aGlzIGJlaGF2aW9yIGlz
IHRvIHJlZHVjZSB0aGUgcHJvYmFiaWxpdHkgb2Ygb3ZlcmxvYWRcbiAgICAgIGNvbmRpdGlv
biB0aHJhc2hpbmcgd2hlcmUgYW4gaW1tZWRpYXRlIHRyYW5zaXRpb24gZnJvbSAxMDBfXG4g
ICAgICByZWR1Y3Rpb24gdG8gMF8gcmVkdWN0aW9uIHJlc3VsdHMgaW4gdGhlIHJlcG9ydGlu
ZyBub2RlIG1vdmluZ1xuICAgICAgcXVpY2tseSBiYWNrIGludG8gYW4gb3ZlcmxvYWQgY29u
ZGl0aW9uLlxuXG4gICBJZiB0aGUgcmVhY3Rpbmcgbm9kZSBkb2VzIG5vdCByZWNlaXZlIGFu
IE9MUiBpbiBhbnN3ZXJzIHJlY2VpdmVkIGZyb21cbiAgIHRoZSBmb3JtZXJseSBvdmVybG9h
ZGVkIG5vZGUgdGhlbiB0aGUgcmVhY3Rpbmcgbm9kZSBTSE9VTEQgc2xvd2x5XG4gICBpbmNy
ZWFzZSB0aGUgcmF0ZSBvZiB0cmFmZmljIHNlbnQgdG8gdGhlIG92ZXJsb2FkZWQgbm9kZS5c
blxuNy4gIEF0dHJpYnV0ZSBWYWx1ZSBQYWlyc1xuXG4gICBUaGlzIHNlY3Rpb24gZGVzY3Jp
YmVzIHRoZSBlbmNvZGluZyBhbmQgc2VtYW50aWNzIG9mIHRoZSBEaWFtZXRlclxuICAgT3Zl
cmxvYWQgSW5kaWNhdGlvbiBBdHRyaWJ1dGUgVmFsdWUgUGFpcnMgKEFWUHMpIGRlZmluZWQg
aW4gdGhpc1xuICAgZG9jdW1lbnQuXG5cblxuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4g
ICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDI0
XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAg
ICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuNy4xLiAgT0MtU3VwcG9ydGVkLUZlYXR1
cmVzIEFWUFxuXG4gICBUaGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCAoQVZQIGNvZGUg
VEJEMSkgaXMgb2YgdHlwZSBHcm91cGVkIGFuZFxuICAgc2VydmVzIHR3byBwdXJwb3Nlcy4g
IEZpcnN0LCBpdCBhbm5vdW5jZXMgYSBub2RlXCdzIHN1cHBvcnQgZm9yIHRoZVxuICAgRE9J
QyBzb2x1dGlvbiBpbiBnZW5lcmFsLiAgU2Vjb25kLCBpdCBjb250YWlucyB0aGUgZGVzY3Jp
cHRpb24gb2YgdGhlXG4gICBzdXBwb3J0ZWQgRE9JQyBmZWF0dXJlcyBvZiB0aGUgc2VuZGlu
ZyBub2RlLiAgVGhlIE9DLVN1cHBvcnRlZC1cbiAgIEZlYXR1cmVzIEFWUCBNVVNUIGJlIGlu
Y2x1ZGVkIGluIGV2ZXJ5IERpYW1ldGVyIHJlcXVlc3QgbWVzc2FnZSBhXG4gICBET0lDIHN1
cHBvcnRpbmcgbm9kZSBzZW5kcy5cblxuICAgICAgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIDo6
PSBfIEFWUCBIZWFkZXI6IFRCRDEgX1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbIE9DLUZlYXR1cmUtVmVjdG9yIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICogWyBBVlAgXVxuXG5cbjcuMi4gIE9DLUZlYXR1cmUtVmVjdG9yIEFWUFxuXG4gICBUaGUg
T0MtRmVhdHVyZS1WZWN0b3IgQVZQIChBVlAgY29kZSBUQkQyKSBpcyBvZiB0eXBlIFVuc2ln
bmVkNjQgYW5kXG4gICBjb250YWlucyBhIDY0IGJpdCBmbGFncyBmaWVsZCBvZiBhbm5vdW5j
ZWQgY2FwYWJpbGl0aWVzIG9mIGEgRE9JQ1xuICAgbm9kZS4gIFRoZSB2YWx1ZSBvZiB6ZXJv
ICgwKSBpcyByZXNlcnZlZC5cblxuICAgVGhlIE9DLUZlYXR1cmUtVmVjdG9yIHN1Yi1BVlAg
aXMgdXNlZCB0byBhbm5vdW5jZSB0aGUgRE9JQyBmZWF0dXJlc1xuICAgc3VwcG9ydGVkIGJ5
IHRoZSBET0lDIG5vZGUsIGluIHRoZSBmb3JtIG9mIGEgZmxhZy1iaXRzIGZpZWxkIGluIHdo
aWNoXG4gICBlYWNoIGJpdCBhbm5vdW5jZXMgb25lIGZlYXR1cmUgb3IgY2FwYWJpbGl0eSBz
dXBwb3J0ZWQgYnkgdGhlIG5vZGUuXG4gICBUaGUgYWJzZW5jZSBvZiB0aGUgT0MtRmVhdHVy
ZS1WZWN0b3IgQVZQIGluIHJlcXVlc3QgbWVzc2FnZXNcbiAgIGluZGljYXRlcyB0aGF0IG9u
bHkgdGhlIGRlZmF1bHQgdHJhZmZpYyBhYmF0ZW1lbnQgYWxnb3JpdGhtIGRlc2NyaWJlZFxu
ICAgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIGlzIHN1cHBvcnRlZC4gIFRoZSBhYnNlbmNlIG9m
IHRoZSBPQy0gRmVhdHVyZS1cbiAgIFZlY3RvciBBVlAgaW4gYW5zd2VyIG1lc3NhZ2VzIGlu
ZGljYXRlcyB0aGF0IHRoZSBkZWZhdWx0IHRyYWZmaWNcbiAgIGFiYXRlbWVudCBhbGdvcml0
aG0gZGVzY3JpYmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiBpcyBzZWxlY3RlZFxuICAgKHdo
aWxlIG90aGVyIHRyYWZmaWMgYWJhdGVtZW50IGFsZ29yaXRobXMgbWF5IGJlIHN1cHBvcnRl
ZCksIGFuZCBub1xuICAgZmVhdHVyZXMgb3RoZXIgdGhhbiBhYmF0ZW1lbnQgYWxnb3JpdGht
cyBhcmUgc3VwcG9ydGVkLlxuXG4gICBUaGUgZm9sbG93aW5nIGNhcGFiaWxpdGllcyBhcmUg
ZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50OlxuXG4gICBPTFJfREVGQVVMVF9BTEdPICgweDAw
MDAwMDAwMDAwMDAwMDEpXG5cbiAgICAgIFdoZW4gdGhpcyBmbGFnIGlzIHNldCBieSB0aGUg
YSBET0lDIHJlYWN0aW5nIG5vZGUgaXQgbWVhbnMgdGhhdFxuICAgICAgdGhlIGRlZmF1bHQg
dHJhZmZpYyBhYmF0ZW1lbnQgKGxvc3MpIGFsZ29yaXRobSBpcyBzdXBwb3J0ZWQuICBXaGVu
XG4gICAgICB0aGlzIGZsYWcgaXMgc2V0IGJ5IGEgRE9JQyByZXBvcnRpbmcgbm9kZSBpdCBt
ZWFucyB0aGF0IHRoZSBsb3NzXG4gICAgICBhbGdvcml0aG0gd2lsbCBiZSB1c2VkIGZvciBy
ZXF1ZXN0ZWQgb3ZlcmxvYWQgYWJhdGVtZW50LlxuXG43LjMuICBPQy1PTFIgQVZQXG5cbiAg
IFRoZSBPQy1PTFIgQVZQIChBVlAgY29kZSBUQkQzKSBpcyBvZiB0eXBlIEdyb3VwZWQgYW5k
IGNvbnRhaW5zIHRoZVxuICAgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IHRvIGNvbnZleSBhbiBv
dmVybG9hZCByZXBvcnQgb24gYW4gb3ZlcmxvYWRcbiAgIGNvbmRpdGlvbiBhdCB0aGUgcmVw
b3J0aW5nIG5vZGUuICBUaGUgYXBwbGljYXRpb24gdGhlIE9DLU9MUiBBVlBcbiAgIGFwcGxp
ZXMgdG8gaXMgdGhlIHNhbWUgYXMgdGhlIEFwcGxpY2F0aW9uLUlkIGZvdW5kIGluIHRoZSBE
aWFtZXRlclxuICAgbWVzc2FnZSBoZWFkZXIuICBUaGUgaG9zdCBvciByZWFsbSB0aGUgT0Mt
T0xSIEFWUCBjb25jZXJucyBpc1xuICAgZGV0ZXJtaW5lZCBmcm9tIHRoZSBPcmlnaW4tSG9z
dCBBVlAgYW5kL29yIE9yaWdpbi1SZWFsbSBBVlAgZm91bmQgaW5cblxuXG5cbktvcmhvbmVu
LCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAg
IFtQYWdlIDI1XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMg
ICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgdGhlIGVuY2Fwc3Vs
YXRpbmcgRGlhbWV0ZXIgY29tbWFuZC4gIFRoZSBPQy1PTFIgQVZQIGlzIGludGVuZGVkIHRv
IGJlXG4gICBzZW50IG9ubHkgYnkgYSByZXBvcnRpbmcgbm9kZS5cblxuICAgICAgT0MtT0xS
IDo6PSBfIEFWUCBIZWFkZXI6IFRCRDIgX1xuICAgICAgICAgICAgICAgICBfIE9DLVNlcXVl
bmNlLU51bWJlciBfXG4gICAgICAgICAgICAgICAgIF8gT0MtUmVwb3J0LVR5cGUgX1xuICAg
ICAgICAgICAgICAgICBbIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIF1cbiAgICAgICAgICAg
ICAgICAgWyBPQy1WYWxpZGl0eS1EdXJhdGlvbiBdXG4gICAgICAgICAgICAgICAqIFsgQVZQ
IF1cblxuXG43LjQuICBPQy1TZXF1ZW5jZS1OdW1iZXIgQVZQXG5cbiAgIFRoZSBPQy1TZXF1
ZW5jZS1OdW1iZXIgQVZQIChBVlAgY29kZSBUQkQ0KSBpcyBvZiB0eXBlIFVuc2lnbmVkNjQu
XG4gICBJdHMgdXNhZ2UgaW4gdGhlIGNvbnRleHQgb2Ygb3ZlcmxvYWQgY29udHJvbCBpcyBk
ZXNjcmliZWQgaW5cbiAgIFNlY3Rpb24gNS4yLlxuXG4gICBGcm9tIHRoZSBmdW5jdGlvbmFs
aXR5IHBvaW50IG9mIHZpZXcsIHRoZSBPQy1TZXF1ZW5jZS1OdW1iZXIgQVZQIGlzXG4gICB1
c2VkIGFzIGEgbm9uLXZvbGF0aWxlIGluY3JlYXNpbmcgY291bnRlciBmb3IgYSBzZXF1ZW5j
ZSBvZiBvdmVybG9hZFxuICAgcmVwb3J0cyBiZXR3ZWVuIHR3byBET0lDIG5vZGVzIGZvciB0
aGUgc2FtZSBvdmVybG9hZCBvY2N1cnJlbmNlLlxuICAgU2VxdWVuY2UgbnVtYmVycyBhcmUg
dHJlYXRlZCBpbiBhIHVuaS1kaXJlY3Rpb25hbCBtYW5uZXIsIGkuZS4gdHdvXG4gICBzZXF1
ZW5jZSBudW1iZXJzIG9uIGVhY2ggZGlyZWN0aW9uIGJldHdlZW4gdHdvIERPSUMgbm9kZXMg
YXJlIG5vdFxuICAgcmVsYXRlZCBvciBjb3JyZWxhdGVkLlxuXG43LjUuICBPQy1WYWxpZGl0
eS1EdXJhdGlvbiBBVlBcblxuICAgVGhlIE9DLVZhbGlkaXR5LUR1cmF0aW9uIEFWUCAoQVZQ
IGNvZGUgVEJENSkgaXMgb2YgdHlwZSBVbnNpZ25lZDMyXG4gICBhbmQgaW5kaWNhdGVzIGlu
IHNlY29uZHMgdGhlIHZhbGlkaXR5IHRpbWUgb2YgdGhlIG92ZXJsb2FkIHJlcG9ydC5cbiAg
IFRoZSBudW1iZXIgb2YgbXNlY29uZHMgaXMgbWVhc3VyZWQgYWZ0ZXIgcmVjZXB0aW9uIG9m
IHRoZSBmaXJzdCBPQy1cbiAgIE9MUiBBVlAgd2l0aCBhIGdpdmVuIHZhbHVlIG9mIE9DLVNl
cXVlbmNlLU51bWJlciBBVlAuICBUaGUgZGVmYXVsdFxuICAgdmFsdWUgZm9yIHRoZSBPQy1W
YWxpZGl0eS1EdXJhdGlvbiBBVlAgaXMgMzAgc2Vjb25kcy4gIFdoZW4gdGhlIE9DLVxuICAg
VmFsaWRpdHktRHVyYXRpb24gQVZQIGlzIG5vdCBwcmVzZW50IGluIHRoZSBPQy1PTFIgQVZQ
LCB0aGUgZGVmYXVsdFxuICAgdmFsdWUgYXBwbGllcy4gIFRoZSBtYXhpbXVtIHZhbHVlIGZv
ciB0aGUgT0MtVmFsaWRpdHktRHVyYXRpb24gQVZQIGlzXG4gICA4Niw0MDAgc2Vjb25kcyAo
MjQgaG91cnMpLlxuXG43LjYuICBPQy1SZXBvcnQtVHlwZSBBVlBcblxuICAgVGhlIE9DLVJl
cG9ydC1UeXBlIEFWUCAoQVZQIGNvZGUgVEJENikgaXMgb2YgdHlwZSBFbnVtZXJhdGVkLiAg
VGhlXG4gICB2YWx1ZSBvZiB0aGUgQVZQIGRlc2NyaWJlcyB3aGF0IHRoZSBvdmVybG9hZCBy
ZXBvcnQgY29uY2VybnMuICBUaGVcbiAgIGZvbGxvd2luZyB2YWx1ZXMgYXJlIGluaXRpYWxs
eSBkZWZpbmVkOlxuXG4gICBIT1NUX1JFUE9SVCAwICBUaGUgb3ZlcmxvYWQgcmVwb3J0IGlz
IGZvciBhIGhvc3QuICBPdmVybG9hZCBhYmF0ZW1lbnRcbiAgICAgIHRyZWF0bWVudCBhcHBs
aWVzIHRvIGhvc3Qtcm91dGVkIHJlcXVlc3RzLlxuXG4gICBSRUFMTV9SRVBPUlQgMSAgVGhl
IG92ZXJsb2FkIHJlcG9ydCBpcyBmb3IgYSByZWFsbS4gIE92ZXJsb2FkXG4gICAgICBhYmF0
ZW1lbnQgdHJlYXRtZW50IGFwcGxpZXMgdG8gcmVhbG0tcm91dGVkIHJlcXVlc3RzLlxuXG5c
blxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1
ICAgICAgICAgICAgICAgIFtQYWdlIDI2XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxu
Ny43LiAgT0MtUmVkdWN0aW9uLVBlcmNlbnRhZ2UgQVZQXG5cbiAgIFRoZSBPQy1SZWR1Y3Rp
b24tUGVyY2VudGFnZSBBVlAgKEFWUCBjb2RlIFRCRDcpIGlzIG9mIHR5cGUgVW5zaWduZWQz
MlxuICAgYW5kIGRlc2NyaWJlcyB0aGUgcGVyY2VudGFnZSBvZiB0aGUgdHJhZmZpYyB0aGF0
IHRoZSBzZW5kZXIgaXNcbiAgIHJlcXVlc3RlZCB0byByZWR1Y2UsIGNvbXBhcmVkIHRvIHdo
YXQgaXQgb3RoZXJ3aXNlIHdvdWxkIHNlbmQuICBUaGVcbiAgIE9DLVJlZHVjdGlvbi1QZXJj
ZW50YWdlIEFWUCBhcHBsaWVzIHRvIHRoZSBkZWZhdWx0IChsb3NzKSBhbGdvcml0aG1cbiAg
IHNwZWNpZmllZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uICBIb3dldmVyLCB0aGUgQVZQIGNh
biBiZSByZXVzZWQgZm9yXG4gICBmdXR1cmUgYWJhdGVtZW50IGFsZ29yaXRobXMsIGlmIGl0
cyBzZW1hbnRpY3MgZml0IGludG8gdGhlIG5ld1xuICAgYWxnb3JpdGhtLlxuXG4gICBUaGUg
dmFsdWUgb2YgdGhlIFJlZHVjdGlvbi1QZXJjZW50YWdlIEFWUCBpcyBiZXR3ZWVuIHplcm8g
KDApIGFuZCBvbmVcbiAgIGh1bmRyZWQgKDEwMCkuICBWYWx1ZXMgZ3JlYXRlciB0aGFuIDEw
MCBhcmUgaWdub3JlZC4gIFRoZSB2YWx1ZSBvZlxuICAgMTAwIG1lYW5zIHRoYXQgYWxsIHRy
YWZmaWMgaXMgdG8gYmUgdGhyb3R0bGVkLCBpLmUuIHRoZSByZXBvcnRpbmdcbiAgIG5vZGUg
aXMgdW5kZXIgYSBzZXZlcmUgbG9hZCBhbmQgY2Vhc2VzIHRvIHByb2Nlc3MgYW55IG5ldyBt
ZXNzYWdlcy5cbiAgIFRoZSB2YWx1ZSBvZiAwIG1lYW5zIHRoYXQgdGhlIHJlcG9ydGluZyBu
b2RlIGlzIGluIGEgc3RhYmxlIHN0YXRlIGFuZFxuICAgaGFzIG5vIG5lZWQgZm9yIHRoZSBy
ZWFjdGluZyBub2RlIHRvIGFwcGx5IGFueSB0cmFmZmljIGFiYXRlbWVudC5cblxuNy44LiAg
QXR0cmlidXRlIFZhbHVlIFBhaXIgZmxhZyBydWxlc1xuXG4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tK1xuICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
X0FWUCBmbGFnIF9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF9ydWxlcyAgICBfXG4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLSstLS0tK1xuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQVZQICAgU2VjdGlvbiAgICAgICAgICAgICAgXyAgICBf
TVVTVF9cbiAgICAgICBBdHRyaWJ1dGUgTmFtZSAgICAgICAgIENvZGUgIERlZmluZWQgIFZh
bHVlIFR5cGUgIF9NVVNUXyBOT1RfXG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLSstLS0tK1xuICAgICAgX09DLVN1cHBv
cnRlZC1GZWF0dXJlcyAgVEJEMSAgNi4xICAgICAgR3JvdXBlZCAgICAgXyAgICBfIFYgIF9c
biAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSstLS0tKy0tLS0rXG4gICAgICBfT0MtRmVhdHVyZS1WZWN0b3IgICAgICBUQkQyICA2
LjIgICAgICBVbnNpZ25lZDY0ICBfICAgIF8gViAgX1xuICAgICAgKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAg
IF9PQy1PTFIgICAgICAgICAgICAgICAgIFRCRDMgIDYuMyAgICAgIEdyb3VwZWQgICAgIF8g
ICAgXyBWICBfXG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rLS0tLSstLS0tK1xuICAgICAgX09DLVNlcXVlbmNlLU51bWJlciAg
ICAgVEJENCAgNi40ICAgICAgVW5zaWduZWQ2NCAgXyAgICBfIFYgIF9cbiAgICAgICstLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tKy0t
LS0rXG4gICAgICBfT0MtVmFsaWRpdHktRHVyYXRpb24gICBUQkQ1ICA2LjUgICAgICBVbnNp
Z25lZDMyICBfICAgIF8gViAgX1xuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rLS0tLStcbiAgICAgIF9PQy1SZXBvcnQt
VHlwZSAgICAgICAgIFRCRDYgIDYuNiAgICAgIEVudW1lcmF0ZWQgIF8gICAgXyBWICBfXG4g
ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rLS0tLSstLS0tK1xuICAgICAgX09DLVJlZHVjdGlvbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXyAgICBfICAgIF9cbiAgICAgIF8gIC1QZXJjZW50YWdlICAg
ICAgICAgIFRCRDcgIDYuNyAgICAgIFVuc2lnbmVkMzIgIF8gICAgXyBWICBfXG4gICAgICAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t
LSstLS0tK1xuXG5cbiAgIEFzIGRlc2NyaWJlZCBpbiB0aGUgRGlhbWV0ZXIgYmFzZSBwcm90
b2NvbCBbUkZDNjczM10sIHRoZSBNLWJpdCB1c2FnZVxuICAgZm9yIGEgZ2l2ZW4gQVZQIGlu
IGEgZ2l2ZW4gY29tbWFuZCBtYXkgYmUgZGVmaW5lZCBieSB0aGUgYXBwbGljYXRpb24uXG5c
blxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwg
MjAxNSAgICAgICAgICAgICAgICBbUGFnZSAyN11cbl9cbkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxu
XG5cbjguICBFcnJvciBSZXNwb25zZSBDb2Rlc1xuXG4gICBXaGVuIGEgRE9JQyBub2RlIHJl
amVjdHMgYSBEaWFtZXRlciByZXF1ZXN0IGR1ZSB0byBvdmVybG9hZCwgdGhlIERPSUNcbiAg
IG5vZGUgTVVTVCBzZWxlY3QgYW4gYXBwcm9wcmlhdGUgZXJyb3IgcmVzcG9uc2UgY29kZS4g
IFRoaXNcbiAgIGRldGVybWluYXRpb24gaXMgbWFkZSBiYXNlZCBvbiB0aGUgcHJvYmFiaWxp
dHkgb2YgdGhlIHJlcXVlc3RcbiAgIHN1Y2NlZWRpbmcgaWYgcmV0cmllZCBvbiBhIGRpZmZl
cmVudCBwYXRoLlxuXG4gICBBIHJlcG9ydGluZyBub2RlIHJlamVjdGluZyBhIERpYW1ldGVy
IHJlcXVlc3QgZHVlIHRvIGFuIG92ZXJsb2FkXG4gICBjb25kaXRpb24gU0hPVUxEIHNlbmQg
YSBESUFNRVRFUl9UT09fQlVTWSBlcnJvciByZXNwb25zZSwgaWYgaXQgY2FuXG4gICBhc3N1
bWUgdGhhdCB0aGUgc2FtZSByZXF1ZXN0IG1heSBzdWNjZWVkIG9uIGEgZGlmZmVyZW50IHBh
dGguXG5cbiAgIElmIGEgcmVwb3J0aW5nIG5vZGUga25vd3Mgb3IgYXNzdW1lcyB0aGF0IHRo
ZSBzYW1lIHJlcXVlc3Qgd2lsbCBub3RcbiAgIHN1Y2NlZWQgb24gYSBkaWZmZXJlbnQgcGF0
aCwgRElBTUVURVJfVU5BQkxFX1RPX0NPTVBMWSBlcnJvciByZXNwb25zZVxuICAgU0hPVUxE
IGJlIHVzZWQuICBSZXRyeWluZyB3b3VsZCBjb25zdW1lIHZhbHVhYmxlIHJlc291cmNlcyBk
dXJpbmcgYW5cbiAgIG9jY3VycmVuY2Ugb2Ygb3ZlcmxvYWQuXG5cbiAgICAgIEZvciBpbnN0
YW5jZSwgaWYgdGhlIHJlcXVlc3QgYXJyaXZlZCBhdCB0aGUgcmVwb3J0aW5nIG5vZGUgd2l0
aG91dFxuICAgICAgYSBEZXN0aW5hdGlvbi1Ib3N0IEFWUCB0aGVuIHRoZSByZXBvcnRpbmcg
bm9kZSBtaWdodCBkZXRlcm1pbmVcbiAgICAgIHRoYXQgdGhlcmUgaXMgYW4gYWx0ZXJuYXRp
dmUgRGlhbWV0ZXIgbm9kZSB0aGF0IGNvdWxkIHN1Y2Nlc3NmdWxseVxuICAgICAgcHJvY2Vz
cyB0aGUgcmVxdWVzdCBhbmQgdGhhdCByZXRyeWluZyB0aGUgdHJhbnNhY3Rpb24gd291bGQg
bm90XG4gICAgICBuZWdhdGl2ZWx5IGltcGFjdCB0aGUgcmVwb3J0aW5nIG5vZGUuICBESUFN
RVRFUl9UT09fQlVTWSB3b3VsZCBiZVxuICAgICAgc2VudCBpbiB0aGlzIGNhc2UuXG5cbiAg
ICAgIElmIHRoZSByZXF1ZXN0IGFycml2ZWQgYXQgdGhlIHJlcG9ydGluZyBub2RlIHdpdGgg
YSBEZXN0aW5hdGlvbi1cbiAgICAgIEhvc3QgQVZQIHBvcHVsYXRlZCB3aXRoIGl0cyBvd24g
RGlhbWV0ZXIgaWRlbnRpdHkgdGhlbiB0aGVcbiAgICAgIHJlcG9ydGluZyBub2RlIGNhbiBh
c3N1bWUgdGhhdCByZXRyeWluZyB0aGUgcmVxdWVzdCB3b3VsZCByZXN1bHRcbiAgICAgIGlu
IGl0IGNvbWluZyB0byB0aGUgc2FtZSByZXBvcnRpbmcgbm9kZS5cbiAgICAgIERJQU1FVEVS
X1VOQUJMRV9UT19DT01QTFkgd291bGQgYmUgc2VudCBpbiB0aGlzIGNhc2UuXG5cbiAgICAg
IEEgc2Vjb25kIGV4YW1wbGUgaXMgd2hlbiBhbiBhZ2VudCB0aGF0IHN1cHBvcnRzIHRoZSBE
T0lDIHNvbHV0aW9uXG4gICAgICBpcyBwZXJmb3JtaW5nIHRoZSByb2xlIG9mIGEgcmVhY3Rp
bmcgbm9kZSBmb3IgYSBub24gc3VwcG9ydGluZ1xuICAgICAgY2xpZW50LiAgUmVxdWVzdHMg
dGhhdCBhcmUgcmVqZWN0ZWQgYXMgYSByZXN1bHQgb2YgRE9JQyB0aHJvdHRsaW5nXG4gICAg
ICBieSB0aGUgYWdlbnQgaW4gdGhpcyBzY2VuYXJpbyB3b3VsZCBnZW5lcmFsbHkgYmUgcmVq
ZWN0ZWQgd2l0aCBhXG4gICAgICBESUFNRVRFUl9VTkFCTEVfVE9fQ09NUExZIHJlc3BvbnNl
IGNvZGUuXG5cbjkuICBJQU5BIENvbnNpZGVyYXRpb25zXG5cbjkuMS4gIEFWUCBjb2Rlc1xu
XG4gICBOZXcgQVZQcyBkZWZpbmVkIGJ5IHRoaXMgc3BlY2lmaWNhdGlvbiBhcmUgbGlzdGVk
IGluIFNlY3Rpb24gNy4gIEFsbFxuICAgQVZQIGNvZGVzIGFyZSBhbGxvY2F0ZWQgZnJvbSB0
aGUgXCdBdXRoZW50aWNhdGlvbiwgQXV0aG9yaXphdGlvbiwgYW5kXG4gICBBY2NvdW50aW5n
IChBQUEpIFBhcmFtZXRlcnNcJyBBVlAgQ29kZXMgcmVnaXN0cnkuXG5cbjkuMi4gIE5ldyBy
ZWdpc3RyaWVzXG5cbiAgIFR3byBuZXcgcmVnaXN0cmllcyBhcmUgbmVlZGVkIHVuZGVyIHRo
ZSBcJ0F1dGhlbnRpY2F0aW9uLFxuICAgQXV0aG9yaXphdGlvbiwgYW5kIEFjY291bnRpbmcg
KEFBQSkgUGFyYW1ldGVyc1wnIHJlZ2lzdHJ5LlxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwu
ICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAy
OF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAg
ICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIEEgbmV3ICJPdmVybG9hZCBDb250
cm9sIEZlYXR1cmUgVmVjdG9yIiByZWdpc3RyeSBpcyByZXF1aXJlZC4gIFRoZVxuICAgcmVn
aXN0cnkgbXVzdCBjb250YWluIHRoZSBmb2xsb3dpbmc6XG5cbiAgICAgIEZlYXR1cmUgVmVj
dG9yIFZhbHVlXG5cbiAgICAgIFNwZWNpZmljYXRpb24gLSB0aGUgc3BlY2lmaWNhdGlvbiB0
aGF0IGRlZmluZXMgdGhlIG5ldyB2YWx1ZS5cblxuICAgU2VlIFNlY3Rpb24gNy4yIGZvciB0
aGUgaW5pdGlhbCBGZWF0dXJlIFZlY3RvciBWYWx1ZSBpbiB0aGUgcmVnaXN0cnkuXG4gICBU
aGlzIHNwZWNpZmljYXRpb24gaXMgdGhlIHNwZWNpZmljYXRpb24gZGVmaW5pbmcgdGhlIHZh
bHVlLiAgTmV3XG4gICB2YWx1ZXMgY2FuIGJlIGFkZGVkIGludG8gdGhlIHJlZ2lzdHJ5IHVz
aW5nIHRoZSBTcGVjaWZpY2F0aW9uXG4gICBSZXF1aXJlZCBwb2xpY3kuICBbUkZDNTIyNl0u
XG5cbiAgIEEgbmV3ICJPdmVybG9hZCBSZXBvcnQgVHlwZSIgcmVnaXN0cnkgaXMgcmVxdWly
ZWQuICBUaGUgcmVnaXN0cnkgbXVzdFxuICAgY29udGFpbiB0aGUgZm9sbG93aW5nOlxuXG4g
ICAgICBSZXBvcnQgVHlwZSBWYWx1ZVxuXG4gICAgICBTcGVjaWZpY2F0aW9uIC0gdGhlIHNw
ZWNpZmljYXRpb24gdGhhdCBkZWZpbmVzIHRoZSBuZXcgdmFsdWUuXG5cbiAgIFNlZSBTZWN0
aW9uIDcuNiBmb3IgdGhlIGluaXRpYWwgYXNzaWdubWVudCBpbiB0aGUgcmVnaXN0cnkuICBO
ZXdcbiAgIHR5cGVzIGNhbiBiZSBhZGRlZCB1c2luZyB0aGUgU3BlY2lmaWNhdGlvbiBSZXF1
aXJlZCBwb2xpY3kgW1JGQzUyMjZdLlxuXG4xMC4gIFNlY3VyaXR5IENvbnNpZGVyYXRpb25z
XG5cbiAgIERPSUMgZ2l2ZXMgRGlhbWV0ZXIgbm9kZXMgdGhlIGFiaWxpdHkgdG8gcmVxdWVz
dCB0aGF0IGRvd25zdHJlYW1cbiAgIG5vZGVzIHNlbmQgZmV3ZXIgRGlhbWV0ZXIgcmVxdWVz
dHMuICBOb2RlcyBkbyB0aGlzIGJ5IGV4Y2hhbmdpbmdcbiAgIG92ZXJsb2FkIHJlcG9ydHMg
dGhhdCBkaXJlY3RseSBlZmZlY3QgdGhpcyByZWR1Y3Rpb24uICBUaGlzIGV4Y2hhbmdlXG4g
ICBpcyBwb3RlbnRpYWxseSBzdWJqZWN0IHRvIG11bHRpcGxlIG1ldGhvZHMgb2YgYXR0YWNr
LCBhbmQgaGFzIHRoZVxuICAgcG90ZW50aWFsIHRvIGJlIHVzZWQgYXMgYSBEZW5pYWwtb2Yt
U2VydmljZSAoRG9TKSBhdHRhY2sgdmVjdG9yLlxuXG4gICBPdmVybG9hZCByZXBvcnRzIG1h
eSBjb250YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0b3BvbG9neSBhbmRcbiAgIGN1cnJl
bnQgc3RhdHVzIG9mIGEgRGlhbWV0ZXIgbmV0d29yay4gIFRoaXMgaW5mb3JtYXRpb24gaXNc
biAgIHBvdGVudGlhbGx5IHNlbnNpdGl2ZS4gIE5ldHdvcmsgb3BlcmF0b3JzIG1heSB3aXNo
IHRvIGNvbnRyb2xcbiAgIGRpc2Nsb3N1cmUgb2Ygb3ZlcmxvYWQgcmVwb3J0cyB0byB1bmF1
dGhvcml6ZWQgcGFydGllcyB0byBhdm9pZCBpdHNcbiAgIHVzZSBmb3IgY29tcGV0aXRpdmUg
aW50ZWxsaWdlbmNlIG9yIHRvIHRhcmdldCBhdHRhY2tzLlxuXG4gICBEaWFtZXRlciBkb2Vz
IG5vdCBpbmNsdWRlIGZlYXR1cmVzIHRvIHByb3ZpZGUgZW5kLXRvLWVuZFxuICAgYXV0aGVu
dGljYXRpb24sIGludGVncml0eSBwcm90ZWN0aW9uLCBvciBjb25maWRlbnRpYWxpdHkuICBU
aGlzIG1heVxuICAgY2F1c2UgY29tcGxpY2F0aW9ucyB3aGVuIHNlbmRpbmcgb3ZlcmxvYWQg
cmVwb3J0cyBiZXR3ZWVuIG5vbi1cbiAgIGFkamFjZW50IG5vZGVzLlxuXG4xMC4xLiAgUG90
ZW50aWFsIFRocmVhdCBNb2Rlc1xuXG4gICBUaGUgRGlhbWV0ZXIgcHJvdG9jb2wgaW52b2x2
ZXMgdHJhbnNhY3Rpb25zIGluIHRoZSBmb3JtIG9mIHJlcXVlc3RzXG4gICBhbmQgYW5zd2Vy
cyBleGNoYW5nZWQgYmV0d2VlbiBjbGllbnRzIGFuZCBzZXJ2ZXJzLiAgVGhlc2UgY2xpZW50
cyBhbmRcbiAgIHNlcnZlcnMgbWF5IGJlIHBlZXJzLCB0aGF0IGlzLCB0aGV5IG1heSBzaGFy
ZSBhIGRpcmVjdCB0cmFuc3BvcnRcbiAgIChlLmcuICBUQ1Agb3IgU0NUUCkgY29ubmVjdGlv
biwgb3IgdGhlIG1lc3NhZ2VzIG1heSB0cmF2ZXJzZSBvbmUgb3JcbiAgIG1vcmUgaW50ZXJt
ZWRpYXJpZXMsIGtub3duIGFzIERpYW1ldGVyIEFnZW50cy4gIERpYW1ldGVyIG5vZGVzIHVz
ZVxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgMjldXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxu
XG4gICBUTFMsIERUTFMsIG9yIElQc2VjIHRvIGF1dGhlbnRpY2F0ZSBwZWVycywgYW5kIHRv
IHByb3ZpZGVcbiAgIGNvbmZpZGVudGlhbGl0eSBhbmQgaW50ZWdyaXR5IHByb3RlY3Rpb24g
b2YgdHJhZmZpYyBiZXR3ZWVuIHBlZXJzLlxuICAgTm9kZXMgY2FuIG1ha2UgYXV0aG9yaXph
dGlvbiBkZWNpc2lvbnMgYmFzZWQgb24gdGhlIHBlZXIgaWRlbnRpdGllc1xuICAgYXV0aGVu
dGljYXRlZCBhdCB0aGUgdHJhbnNwb3J0IGxheWVyLlxuXG4gICBXaGVuIGFnZW50cyBhcmUg
aW52b2x2ZWQsIHRoaXMgcHJlc2VudHMgYW4gZWZmZWN0aXZlbHkgdHJhbnNpdGl2ZVxuICAg
dHJ1c3QgbW9kZWwuICBUaGF0IGlzLCBhIERpYW1ldGVyIGNsaWVudCBvciBzZXJ2ZXIgY2Fu
IGF1dGhvcml6ZSBhblxuICAgYWdlbnQgZm9yIGNlcnRhaW4gYWN0aW9ucywgYnV0IGl0IG11
c3QgdHJ1c3QgdGhhdCBhZ2VudCB0byBtYWtlXG4gICBhcHByb3ByaWF0ZSBhdXRob3JpemF0
aW9uIGRlY2lzaW9ucyBhYm91dCBpdHMgcGVlcnMsIGFuZCBzbyBvbi5cbiAgIFNpbmNlIGNv
bmZpZGVudGlhbGl0eSBhbmQgaW50ZWdyaXR5IHByb3RlY3Rpb24gb2NjdXJzIGF0IHRoZVxu
ICAgdHJhbnNwb3J0IGxheWVyLCBhZ2VudHMgY2FuIHJlYWQsIGFuZCBwZXJoYXBzIG1vZGlm
eSwgYW55IHBhcnQgb2YgYVxuICAgRGlhbWV0ZXIgbWVzc2FnZSwgaW5jbHVkaW5nIGFuIG92
ZXJsb2FkIHJlcG9ydC5cblxuICAgVGhlcmUgYXJlIHNldmVyYWwgd2F5cyBhbiBhdHRhY2tl
ciBtaWdodCBhdHRlbXB0IHRvIGV4cGxvaXQgdGhlXG4gICBvdmVybG9hZCBjb250cm9sIG1l
Y2hhbmlzbS4gIEFuIHVuYXV0aG9yaXplZCB0aGlyZCBwYXJ0eSBtaWdodCBpbmplY3RcbiAg
IGFuIG92ZXJsb2FkIHJlcG9ydCBpbnRvIHRoZSBuZXR3b3JrLiAgSWYgdGhpcyB0aGlyZCBw
YXJ0eSBpcyB1cHN0cmVhbVxuICAgb2YgYW4gYWdlbnQsIGFuZCB0aGF0IGFnZW50IGZhaWxz
IHRvIGFwcGx5IHByb3BlciBhdXRob3JpemF0aW9uXG4gICBwb2xpY2llcywgZG93bnN0cmVh
bSBub2RlcyBtYXkgbWlzdGFrZW5seSB0cnVzdCB0aGUgcmVwb3J0LiAgVGhpc1xuICAgYXR0
YWNrIGlzIGF0IGxlYXN0IHBhcnRpYWxseSBtaXRpZ2F0ZWQgYnkgdGhlIGFzc3VtcHRpb24g
dGhhdCBub2Rlc1xuICAgaW5jbHVkZSBvdmVybG9hZCByZXBvcnRzIGluIERpYW1ldGVyIGFu
c3dlcnMgYnV0IG5vdCBpbiByZXF1ZXN0cy5cbiAgIFRoaXMgcmVxdWlyZXMgYW4gYXR0YWNr
ZXIgdG8gaGF2ZSBrbm93bGVkZ2Ugb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3RcbiAgIGluIG9y
ZGVyIHRvIGNvbnN0cnVjdCBhbiBhbnN3ZXIuICBTdWNoIGFuIGFuc3dlciB3b3VsZCBhbHNv
IG5lZWQgdG9cbiAgIGFycml2ZSBhdCBhIERpYW1ldGVyIG5vZGUgdmlhIGEgcHJvdGVjdGVk
IHRyYW5zcG9ydCBjb25uZWN0aW9uLlxuICAgVGhlcmVmb3JlLCBpbXBsZW1lbnRhdGlvbnMg
TVVTVCB2YWxpZGF0ZSB0aGF0IGFuIGFuc3dlciBjb250YWluaW5nIGFuXG4gICBvdmVybG9h
ZCByZXBvcnQgaXMgYSBwcm9wZXJseSBjb25zdHJ1Y3RlZCByZXNwb25zZSB0byBhIHBlbmRp
bmdcbiAgIHJlcXVlc3QgcHJpb3IgdG8gYWN0aW5nIG9uIHRoZSBvdmVybG9hZCByZXBvcnQs
IGFuZCB0aGF0IHRoZSBhbnN3ZXJcbiAgIHdhcyByZWNlaXZlZCB2aWEgYW4gYXBwcm9wcmlh
dGUgdHJhbnNwb3J0IGNvbm5lY3Rpb24uXG5cbiAgIEEgc2ltaWxhciBhdHRhY2sgaW52b2x2
ZXMgYSBjb21wcm9taXNlZCBidXQgb3RoZXJ3aXNlIGF1dGhvcml6ZWQgbm9kZVxuICAgdGhh
dCBzZW5kcyBhbiBpbmFwcHJvcHJpYXRlIG92ZXJsb2FkIHJlcG9ydC4gIEZvciBleGFtcGxl
LCBhIHNlcnZlclxuICAgZm9yIHRoZSByZWFsbSAiZXhhbXBsZS5jb20iIG1pZ2h0IHNlbmQg
YW4gb3ZlcmxvYWQgcmVwb3J0IGluZGljYXRpbmdcbiAgIHRoYXQgYSBjb21wZXRpdG9yXCdz
IHJlYWxtICJleGFtcGxlLm5ldCIgaXMgb3ZlcmxvYWRlZC4gIElmIG90aGVyXG4gICBub2Rl
cyBhY3Qgb24gdGhlIHJlcG9ydCwgdGhleSBtYXkgZmFsc2VseSBiZWxpZXZlIHRoYXQgImV4
YW1wbGUubmV0IlxuICAgaXMgb3ZlcmxvYWRlZCwgZWZmZWN0aXZlbHkgcmVkdWNpbmcgdGhh
dCByZWFsbVwncyBjYXBhY2l0eS5cbiAgIFRoZXJlZm9yZSwgaXRcJ3MgY3JpdGljYWwgdGhh
dCBub2RlcyB2YWxpZGF0ZSB0aGF0IGFuIG92ZXJsb2FkIHJlcG9ydFxuICAgcmVjZWl2ZWQg
ZnJvbSBhIHBlZXIgYWN0dWFsbHkgZmFsbHMgd2l0aGluIHRoYXQgcGVlclwncyByZXNwb25z
aWJpbGl0eVxuICAgYmVmb3JlIGFjdGluZyBvbiB0aGUgcmVwb3J0IG9yIGZvcndhcmRpbmcg
dGhlIHJlcG9ydCB0byBvdGhlciBwZWVycy5cbiAgIEZvciBleGFtcGxlLCBhbiBvdmVybG9h
ZCByZXBvcnQgZnJvbSBhIHBlZXIgdGhhdCBhcHBsaWVzIHRvIGEgcmVhbG1cbiAgIG5vdCBo
YW5kbGVkIGJ5IHRoYXQgcGVlciBpcyBzdXNwZWN0LlxuXG4gICAgICBUaGlzIGF0dGFjayBp
cyBwYXJ0aWFsbHkgbWl0aWdhdGVkIGJ5IHRoZSBmYWN0IHRoYXQgdGhlXG4gICAgICBhcHBs
aWNhdGlvbiwgYXMgd2VsbCBhcyBob3N0IGFuZCByZWFsbSwgZm9yIGEgZ2l2ZW4gT0xSIGlz
XG4gICAgICBkZXRlcm1pbmVkIGltcGxpY2l0bHkgYnkgcmVzcGVjdGl2ZSBBVlBzIGluIHRo
ZSBlbmNsb3NpbmcgYW5zd2VyLlxuICAgICAgSWYgYSByZXBvcnRpbmcgbm9kZSBtb2RpZmll
cyBhbnkgb2YgdGhvc2UgQVZQcywgdGhlIGVuY2xvc2luZ1xuICAgICAgdHJhbnNhY3Rpb24g
d2lsbCBhbHNvIGJlIGFmZmVjdGVkLlxuXG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAg
ICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzBd
XG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAg
ICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4xMC4yLiAgRGVuaWFsIG9mIFNlcnZpY2Ug
QXR0YWNrc1xuXG4gICBEaWFtZXRlciBvdmVybG9hZCByZXBvcnRzLCBlc3BlY2lhbGx5IHJl
YWxtLXJlcG9ydHMsIGNhbiBjYXVzZSBhIG5vZGVcbiAgIHRvIGNlYXNlIHNlbmRpbmcgc29t
ZSBvciBhbGwgRGlhbWV0ZXIgcmVxdWVzdHMgZm9yIGFuIGV4dGVuZGVkXG4gICBwZXJpb2Qu
ICBUaGlzIG1ha2VzIHRoZW0gYSB0ZW1wdGluZyB2ZWN0b3IgZm9yIERvUyBhdHRhY2tzLlxu
ICAgRnVydGhlcm1vcmUsIHNpbmNlIERpYW1ldGVyIGlzIGFsbW9zdCBhbHdheXMgdXNlZCBp
biBzdXBwb3J0IG9mIG90aGVyXG4gICBwcm90b2NvbHMsIGEgRG9TIGF0dGFjayBvbiBEaWFt
ZXRlciBpcyBsaWtlbHkgdG8gaW1wYWN0IHRob3NlXG4gICBwcm90b2NvbHMgYXMgd2VsbC4g
IFRoZXJlZm9yZSwgRGlhbWV0ZXIgbm9kZXMgTVVTVCBOT1QgaG9ub3Igb3JcbiAgIGZvcndh
cmQgT0xScyByZWNlaXZlZCBmcm9tIHBlZXJzIHRoYXQgYXJlIG5vdCB0cnVzdGVkIHRvIHNl
bmQgdGhlbS5cblxuICAgQW4gYXR0YWNrZXIgbWlnaHQgdXNlIHRoZSBpbmZvcm1hdGlvbiBp
biBhbiBPTFIgdG8gYXNzaXN0IGluIERvU1xuICAgYXR0YWNrcy4gIEZvciBleGFtcGxlLCBh
biBhdHRhY2tlciBjb3VsZCB1c2UgaW5mb3JtYXRpb24gYWJvdXRcbiAgIGN1cnJlbnQgb3Zl
cmxvYWQgY29uZGl0aW9ucyB0byB0aW1lIGFuIGF0dGFjayBmb3IgbWF4aW11bSBlZmZlY3Qs
IG9yXG4gICB1c2Ugc3Vic2VxdWVudCBvdmVybG9hZCByZXBvcnRzIGFzIGEgZmVlZGJhY2sg
bWVjaGFuaXNtIHRvIGxlYXJuIHRoZVxuICAgcmVzdWx0cyBvZiBhIHByZXZpb3VzIG9yIG9u
Z29pbmcgYXR0YWNrLiAgT3BlcmF0b3JzIG5lZWQgdGhlIGFiaWxpdHlcbiAgIHRvIGVuc3Vy
ZSB0aGF0IE9MUnMgYXJlIG5vdCBsZWFrZWQgdG8gdW50cnVzdGVkIHBhcnRpZXMuXG5cbjEw
LjMuICBOb24tQ29tcGxpYW50IE5vZGVzXG5cbiAgIEluIHRoZSBhYnNlbmNlIG9mIGFuIG92
ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtLCBEaWFtZXRlciBub2RlcyBuZWVkXG4gICB0byBp
bXBsZW1lbnQgc3RyYXRlZ2llcyB0byBwcm90ZWN0IHRoZW1zZWx2ZXMgZnJvbSBmbG9vZHMg
b2ZcbiAgIHJlcXVlc3RzLCBhbmQgdG8gbWFrZSBzdXJlIHRoYXQgYSBkaXNwcm9wb3J0aW9u
YXRlIGxvYWQgZnJvbSBvbmVcbiAgIHNvdXJjZSBkb2VzIG5vdCBwcmV2ZW50IG90aGVyIHNv
dXJjZXMgZnJvbSByZWNlaXZpbmcgc2VydmljZS4gIEZvclxuICAgZXhhbXBsZSwgYSBEaWFt
ZXRlciBzZXJ2ZXIgbWlnaHQgdGhyb3R0bGUgYSBjZXJ0YWluIHBlcmNlbnRhZ2Ugb2ZcbiAg
IHJlcXVlc3RzIGZyb20gc291cmNlcyB0aGF0IGV4Y2VlZCBjZXJ0YWluIGxpbWl0cy4gIE92
ZXJsb2FkIGNvbnRyb2xcbiAgIGNhbiBiZSB0aG91Z2h0IG9mIGFzIGFuIG9wdGltaXphdGlv
biBmb3Igc3VjaCBzdHJhdGVnaWVzLCB3aGVyZVxuICAgZG93bnN0cmVhbSBub2RlcyBuZXZl
ciBzZW5kIHRoZSBleGNlc3MgcmVxdWVzdHMgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgSG93
ZXZlciwgdGhlIHByZXNlbmNlIG9mIGFuIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIGRv
ZXMgbm90XG4gICByZW1vdmUgdGhlIG5lZWQgZm9yIHRoZXNlIG90aGVyIHByb3RlY3Rpb24g
c3RyYXRlZ2llcy5cblxuICAgV2hlbiBhIERpYW1ldGVyIG5vZGUgc2VuZHMgYW4gb3Zlcmxv
YWQgcmVwb3J0LCBpdCBjYW5ub3QgYXNzdW1lIHRoYXRcbiAgIGFsbCBub2RlcyB3aWxsIGNv
bXBseSwgZXZlbiBpZiB0aGV5IGluZGljYXRlIHN1cHBvcnQgZm9yIERPSUMuICBBXG4gICBu
b24tY29tcGxpYW50IG5vZGUgbWlnaHQgY29udGludWUgdG8gc2VuZCByZXF1ZXN0cyB3aXRo
IG5vIHJlZHVjdGlvblxuICAgaW4gbG9hZC4gIFN1Y2ggbm9uLWNvbXBsaWFuY2UgY291bGQg
YmUgZG9uZSBhY2NpZGVudGFsbHksIG9yXG4gICBtYWxpY2lvdXNseSB0byBnYWluIGFuIHVu
ZmFpciBhZHZhbnRhZ2Ugb3ZlciBjb21wbGlhbnQgbm9kZXMuXG4gICBSZXF1aXJlbWVudCAy
OCBbUkZDNzA2OF0gaW5kaWNhdGVzIHRoYXQgdGhlIG92ZXJsb2FkIGNvbnRyb2wgc29sdXRp
b25cbiAgIGNhbm5vdCBhc3N1bWUgdGhhdCBhbGwgRGlhbWV0ZXIgbm9kZXMgaW4gYSBuZXR3
b3JrIGFyZSB0cnVzdGVkLCBhbmRcbiAgIHRoYXQgbWFsaWNpb3VzIG5vZGVzIG5vdCBiZSBh
bGxvd2VkIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoZSBvdmVybG9hZFxuICAgY29udHJvbCBt
ZWNoYW5pc20gdG8gZ2V0IG1vcmUgdGhhbiB0aGVpciBmYWlyIHNoYXJlIG9mIHNlcnZpY2Uu
XG5cbjEwLjQuICBFbmQtdG8gRW5kLVNlY3VyaXR5IElzc3Vlc1xuXG4gICBUaGUgbGFjayBv
ZiBlbmQtdG8tZW5kIGludGVncml0eSBmZWF0dXJlcyBtYWtlcyBpdCBkaWZmaWN1bHQgdG9c
biAgIGVzdGFibGlzaCB0cnVzdCBpbiBvdmVybG9hZCByZXBvcnRzIHJlY2VpdmVkIGZyb20g
bm9uLWFkamFjZW50IG5vZGVzLlxuICAgQW55IGFnZW50cyBpbiB0aGUgbWVzc2FnZSBwYXRo
IG1heSBpbnNlcnQgb3IgbW9kaWZ5IG92ZXJsb2FkIHJlcG9ydHMuXG4gICBOb2RlcyBtdXN0
IHRydXN0IHRoYXQgdGhlaXIgYWRqYWNlbnQgcGVlcnMgcGVyZm9ybSBwcm9wZXIgY2hlY2tz
IG9uXG4gICBvdmVybG9hZCByZXBvcnRzIGZyb20gdGhlaXIgcGVlcnMsIGFuZCBzbyBvbiwg
Y3JlYXRpbmcgYSB0cmFuc2l0aXZlLVxuICAgdHJ1c3QgcmVxdWlyZW1lbnQgZXh0ZW5kaW5n
IGZvciBwb3RlbnRpYWxseSBsb25nIGNoYWlucyBvZiBub2Rlcy5cblxuXG5cbktvcmhvbmVu
LCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAg
IFtQYWdlIDMxXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMg
ICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgTmV0d29yayBvcGVy
YXRvcnMgbXVzdCBkZXRlcm1pbmUgaWYgdGhpcyB0cmFuc2l0aXZlIHRydXN0IHJlcXVpcmVt
ZW50XG4gICBpcyBhY2NlcHRhYmxlIGZvciB0aGVpciBkZXBsb3ltZW50cy4gIE5vZGVzIHN1
cHBvcnRpbmcgRGlhbWV0ZXJcbiAgIG92ZXJsb2FkIGNvbnRyb2wgTVVTVCBnaXZlIG9wZXJh
dG9ycyB0aGUgYWJpbGl0eSB0byBzZWxlY3Qgd2hpY2hcbiAgIHBlZXJzIGFyZSB0cnVzdGVk
IHRvIGRlbGl2ZXIgb3ZlcmxvYWQgcmVwb3J0cywgYW5kIHdoZXRoZXIgdGhleSBhcmVcbiAg
IHRydXN0ZWQgdG8gZm9yd2FyZCBvdmVybG9hZCByZXBvcnRzIGZyb20gbm9uLWFkamFjZW50
IG5vZGVzLiAgRE9JQ1xuICAgbm9kZXMgTVVTVCBzdHJpcCBET0lDIEFWUHMgZnJvbSBtZXNz
YWdlcyByZWNlaXZlZCBmcm9tIHBlZXJzIHRoYXQgYXJlXG4gICBub3QgdHJ1c3RlZCBmb3Ig
RE9JQyBwdXJwb3Nlcy5cblxuICAgVGhlIGxhY2sgb2YgZW5kLXRvLWVuZCBjb25maWRlbnRp
YWxpdHkgcHJvdGVjdGlvbiBtZWFucyB0aGF0IGFueVxuICAgRGlhbWV0ZXIgYWdlbnQgaW4g
dGhlIHBhdGggb2YgYW4gb3ZlcmxvYWQgcmVwb3J0IGNhbiB2aWV3IHRoZVxuICAgY29udGVu
dHMgb2YgdGhhdCByZXBvcnQuICBJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZW1lbnQgdG8g
c2VsZWN0XG4gICB3aGljaCBwZWVycyBhcmUgdHJ1c3RlZCB0byBzZW5kIG92ZXJsb2FkIHJl
cG9ydHMsIG9wZXJhdG9ycyBNVVNUIGJlXG4gICBhYmxlIHRvIHNlbGVjdCB3aGljaCBwZWVy
cyBhcmUgYXV0aG9yaXplZCB0byByZWNlaXZlIHJlcG9ydHMuICBBIG5vZGVcbiAgIE1VU1Qg
Tk9UIHNlbmQgYW4gb3ZlcmxvYWQgcmVwb3J0IHRvIGEgcGVlciBub3QgYXV0aG9yaXplZCB0
byByZWNlaXZlXG4gICBpdC4gIEZ1cnRoZXJtb3JlLCBhbiBhZ2VudCBNVVNUIHJlbW92ZSBh
bnkgb3ZlcmxvYWQgcmVwb3J0cyB0aGF0XG4gICBtaWdodCBoYXZlIGJlZW4gaW5zZXJ0ZWQg
Ynkgb3RoZXIgbm9kZXMgYmVmb3JlIGZvcndhcmRpbmcgYSBEaWFtZXRlclxuICAgbWVzc2Fn
ZSB0byBhIHBlZXIgdGhhdCBpcyBub3QgYXV0aG9yaXplZCB0byByZWNlaXZlIG92ZXJsb2Fk
IHJlcG9ydHMuXG5cbiAgICAgIEEgRE9JQyBub2RlIGNhbm5vdCBhbHdheXMgYXV0b21hdGlj
YWxseSBkZXRlY3QgdGhhdCBhIHBlZXIgYWxzb1xuICAgICAgc3VwcG9ydHMgRE9JQy4gIEZv
ciBleGFtcGxlLCBhIG5vZGUgbWlnaHQgaGF2ZSBhIHBlZXIgdGhhdCBpcyBhXG4gICAgICBu
b24tc3VwcG9ydGluZyBhZ2VudC4gIElmIG5vZGVzIG9uIHRoZSBvdGhlciBzaWRlIG9mIHRo
YXQgYWdlbnRcbiAgICAgIHNlbmQgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUHMsIHRoZSBh
Z2VudCBpcyBsaWtlbHkgdG8gZm9yd2FyZFxuICAgICAgdGhlbSBhcyB1bmtub3duIEFWUHMu
ICBNZXNzYWdlcyByZWNlaXZlZCBhY3Jvc3MgdGhlIG5vbi1zdXBwb3J0aW5nXG4gICAgICBh
Z2VudCBtYXkgYmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBtZXNzYWdlcyByZWNlaXZlZCBh
Y3Jvc3MgYVxuICAgICAgRE9JQyBzdXBwb3J0aW5nIGFnZW50LCBnaXZpbmcgdGhlIGZhbHNl
IGltcHJlc3Npb24gdGhhdCB0aGUgbm9uLVxuICAgICAgc3VwcG9ydGluZyBhZ2VudCBhY3R1
YWxseSBzdXBwb3J0cyBET0lDLiAgVGhpcyBjb21wbGljYXRlcyB0aGVcbiAgICAgIHRyYW5z
aXRpdmUtdHJ1c3QgbmF0dXJlIG9mIERPSUMuICBPcGVyYXRvcnMgbmVlZCB0byBiZSBjYXJl
ZnVsIHRvXG4gICAgICBhdm9pZCBzaXR1YXRpb25zIHdoZXJlIGEgbm9uLXN1cHBvcnRpbmcg
YWdlbnQgaXMgbWlzdGFrZW5seVxuICAgICAgdHJ1c3RlZCB0byBlbmZvcmNlIERPSUMgcmVs
YXRlZCBhdXRob3JpemF0aW9uIHBvbGljaWVzLlxuXG4gICBBdCB0aGUgdGltZSBvZiB0aGlz
IHdyaXRpbmcsIHRoZSBESU1FIHdvcmtpbmcgZ3JvdXAgaXMgc3R1ZHlpbmdcbiAgIHJlcXVp
cmVtZW50cyBmb3IgYWRkaW5nIGVuZC10by1lbmQgc2VjdXJpdHkgZmVhdHVyZXNcbiAgIFtJ
LUQuaWV0Zi1kaW1lLWUyZS1zZWMtcmVxXSB0byBEaWFtZXRlci4gIFRoZXNlIGZlYXR1cmVz
LCB3aGVuIHRoZXlcbiAgIGJlY29tZSBhdmFpbGFibGUsIG1pZ2h0IG1ha2UgaXQgZWFzaWVy
IHRvIGVzdGFibGlzaCB0cnVzdCBpbiBub24tXG4gICBhZGphY2VudCBub2RlcyBmb3Igb3Zl
cmxvYWQgY29udHJvbCBwdXJwb3Nlcy4gIFJlYWRlcnMgc2hvdWxkIGJlXG4gICByZW1pbmRl
ZCwgaG93ZXZlciwgdGhhdCB0aGUgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gZW5jb3Vy
YWdlc1xuICAgRGlhbWV0ZXIgYWdlbnRzIHRvIG1vZGlmeSBBVlBzIGluLCBvciBpbnNlcnQg
YWRkaXRpb25hbCBBVlBzIGludG8sXG4gICBleGlzdGluZyBtZXNzYWdlcyB0aGF0IGFyZSBv
cmlnaW5hdGVkIGJ5IG90aGVyIG5vZGVzLiAgSWYgZW5kLXRvLWVuZFxuICAgc2VjdXJpdHkg
aXMgZW5hYmxlZCwgdGhlcmUgaXMgYSByaXNrIHRoYXQgc3VjaCBtb2RpZmljYXRpb24gY291
bGRcbiAgIHZpb2xhdGUgaW50ZWdyaXR5IHByb3RlY3Rpb24uICBUaGUgZGV0YWlscyBvZiB1
c2luZyBhbnkgZnV0dXJlXG4gICBEaWFtZXRlciBlbmQtdG8tZW5kIHNlY3VyaXR5IG1lY2hh
bmlzbSB3aXRoIG92ZXJsb2FkIGNvbnRyb2wgd2lsbFxuICAgcmVxdWlyZSBjYXJlZnVsIGNv
bnNpZGVyYXRpb24sIGFuZCBhcmUgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzXG4gICBkb2N1
bWVudC5cblxuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGly
ZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzMl1cbl9cbkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEph
bnVhcnkgMjAxNVxuXG5cbjExLiAgQ29udHJpYnV0b3JzXG5cbiAgIFRoZSBmb2xsb3dpbmcg
cGVvcGxlIGNvbnRyaWJ1dGVkIHN1YnN0YW50aWFsIGlkZWFzLCBmZWVkYmFjaywgYW5kXG4g
ICBkaXNjdXNzaW9uIHRvIHRoaXMgZG9jdW1lbnQ6XG5cbiAgIG8gIEVyaWMgTWNNdXJyeVxu
XG4gICBvICBIYW5uZXMgVHNjaG9mZW5pZ1xuXG4gICBvICBVbHJpY2ggV2llaGVcblxuICAg
byAgSmVhbi1KYWNxdWVzIFRyb3R0aW5cblxuICAgbyAgTWFyaWEgQ3J1eiBCYXJ0b2xvbWVc
blxuICAgbyAgTWFydGluIERvbGx5XG5cbiAgIG8gIE5pcmF2IFNhbG90XG5cbiAgIG8gIFN1
c2FuIFNoaXNodWZlbmdcblxuMTIuICBSZWZlcmVuY2VzXG5cbjEyLjEuICBOb3JtYXRpdmUg
UmVmZXJlbmNlc1xuXG4gICBbUkZDMjExOV0gIEJyYWRuZXIsIFMuLCAiS2V5IHdvcmRzIGZv
ciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZVxuICAgICAgICAgICAgICBSZXF1aXJlbWVudCBM
ZXZlbHMiLCBCQ1AgMTQsIFJGQyAyMTE5LCBNYXJjaCAxOTk3LlxuXG4gICBbUkZDNTIyNl0g
IE5hcnRlbiwgVC4gYW5kIEguIEFsdmVzdHJhbmQsICJHdWlkZWxpbmVzIGZvciBXcml0aW5n
IGFuXG4gICAgICAgICAgICAgIElBTkEgQ29uc2lkZXJhdGlvbnMgU2VjdGlvbiBpbiBSRkNz
IiwgQkNQIDI2LCBSRkMgNTIyNixcbiAgICAgICAgICAgICAgTWF5IDIwMDguXG5cbiAgIFtS
RkM2NzMzXSAgRmFqYXJkbywgVi4sIEFya2tvLCBKLiwgTG91Z2huZXksIEouLCBhbmQgRy4g
Wm9ybixcbiAgICAgICAgICAgICAgIkRpYW1ldGVyIEJhc2UgUHJvdG9jb2wiLCBSRkMgNjcz
MywgT2N0b2JlciAyMDEyLlxuXG4xMi4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlc1xuXG4g
ICBbQ3hdICAgICAgIDNHUFAsICwgIkVUU0kgVFMgMTI5IDIyOSBWMTEuNC4wIiwgQXVndXN0
IDIwMTMuXG5cbiAgIFtJLUQuaWV0Zi1kaW1lLWUyZS1zZWMtcmVxXVxuICAgICAgICAgICAg
ICBUc2Nob2ZlbmlnLCBILiwgS29yaG9uZW4sIEouLCBab3JuLCBHLiwgYW5kIEsuIFBpbGxh
eSxcbiAgICAgICAgICAgICAgIkRpYW1ldGVyIEFWUCBMZXZlbCBTZWN1cml0eTogU2NlbmFy
aW9zIGFuZCBSZXF1aXJlbWVudHMiLFxuICAgICAgICAgICAgICBkcmFmdC1pZXRmLWRpbWUt
ZTJlLXNlYy1yZXEtMDEgKHdvcmsgaW4gcHJvZ3Jlc3MpLCBPY3RvYmVyXG4gICAgICAgICAg
ICAgIDIwMTMuXG5cbiAgIFtQQ0NdICAgICAgM0dQUCwgLCAiRVRTSSBUUyAxMjMgMjAzIFYx
MS4xMi4wIiwgRGVjZW1iZXIgMjAxMy5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAg
ICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzM11c
bl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAg
ICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIFtSRkM0MDA2XSAgSGFrYWxhLCBILiwg
TWF0dGlsYSwgTC4sIEtvc2tpbmVuLCBKLVAuLCBTdHVyYSwgTS4sIGFuZCBKLlxuICAgICAg
ICAgICAgICBMb3VnaG5leSwgIkRpYW1ldGVyIENyZWRpdC1Db250cm9sIEFwcGxpY2F0aW9u
IiwgUkZDIDQwMDYsXG4gICAgICAgICAgICAgIEF1Z3VzdCAyMDA1LlxuXG4gICBbUkZDNzA2
OF0gIE1jTXVycnksIEUuIGFuZCBCLiBDYW1wYmVsbCwgIkRpYW1ldGVyIE92ZXJsb2FkIENv
bnRyb2xcbiAgICAgICAgICAgICAgUmVxdWlyZW1lbnRzIiwgUkZDIDcwNjgsIE5vdmVtYmVy
IDIwMTMuXG5cbiAgIFtTMTNdICAgICAgM0dQUCwgLCAiRVRTSSBUUyAxMjkgMjcyIFYxMS45
LjAiLCBEZWNlbWJlciAyMDEyLlxuXG5BcHBlbmRpeCBBLiAgSXNzdWVzIGxlZnQgZm9yIGZ1
dHVyZSBzcGVjaWZpY2F0aW9uc1xuXG4gICBUaGUgYmFzZSBzb2x1dGlvbiBmb3IgdGhlIG92
ZXJsb2FkIGNvbnRyb2wgZG9lcyBub3QgY292ZXIgYWxsXG4gICBwb3NzaWJsZSB1c2UgY2Fz
ZXMuICBBIG51bWJlciBvZiBzb2x1dGlvbiBhc3BlY3RzIHdlcmUgaW50ZW50aW9uYWxseVxu
ICAgbGVmdCBmb3IgZnV0dXJlIHNwZWNpZmljYXRpb24gYW5kIHByb3RvY29sIHdvcmsuICBU
aGUgZm9sbG93aW5nIHN1Yi1cbiAgIHNlY3Rpb25zIGRlZmluZSBzb21lIG9mIHRoZSBwb3Rl
bnRpYWwgZXh0ZW5zaW9ucyB0byB0aGUgRE9JQ1xuICAgc29sdXRpb24uXG5cbkEuMS4gIEFk
ZGl0aW9uYWwgdHJhZmZpYyBhYmF0ZW1lbnQgYWxnb3JpdGhtc1xuXG4gICBUaGlzIHNwZWNp
ZmljYXRpb24gZGVzY3JpYmVzIG9ubHkgbWVhbnMgZm9yIGEgc2ltcGxlIGxvc3MgYmFzZWRc
biAgIGFsZ29yaXRobS4gIEZ1dHVyZSBhbGdvcml0aG1zIGNhbiBiZSBhZGRlZCB1c2luZyB0
aGUgZGVzaWduZWRcbiAgIHNvbHV0aW9uIGV4dGVuc2lvbiBtZWNoYW5pc20uICBUaGUgbmV3
IGFsZ29yaXRobXMgbmVlZCB0byBiZVxuICAgcmVnaXN0ZXJlZCB3aXRoIElBTkEuICBTZWUg
U2VjdGlvbnMgNy4xIGFuZCA5IGZvciB0aGUgcmVxdWlyZWQgSUFOQVxuICAgc3RlcHMuXG5c
bkEuMi4gIEFnZW50IE92ZXJsb2FkXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBmb2N1c2Vz
IG9uIERpYW1ldGVyIGVuZHBvaW50IChzZXJ2ZXIgb3IgY2xpZW50KVxuICAgb3ZlcmxvYWQu
ICBBIHNlcGFyYXRlIGV4dGVuc2lvbiB3aWxsIGJlIHJlcXVpcmVkIHRvIG91dGxpbmUgdGhl
XG4gICBoYW5kbGluZyBvZiB0aGUgY2FzZSBvZiBhZ2VudCBvdmVybG9hZC5cblxuQS4zLiAg
TmV3IEVycm9yIERpYWdub3N0aWMgQVZQXG5cbiAgIFRoaXMgc3BlY2lmaWNhdGlvbiBpbmRp
Y2F0ZXMgdGhlIHVzZSBvZiBleGlzdGluZyBlcnJvciBtZXNzYWdlcyB3aGVuXG4gICBub2Rl
cyByZWplY3QgcmVxdWVzdHMgZHVlIHRvIG92ZXJsb2FkLiAgVGhlIERJTUUgd29ya2luZyBn
cm91cCBpc1xuICAgY29uc2lkZXJpbmcgZGVmaW5pbmcgYWRkaXRpb25hbCBlcnJvciBjb2Rl
cyBvciBBVlBzIHRvIGluZGljYXRlIHRoYXRcbiAgIG92ZXJsb2FkIHdhcyB0aGUgcmVhc29u
IGZvciB0aGUgcmVqZWN0aW9uIG9mIHRoZSBtZXNzYWdlLlxuXG5BcHBlbmRpeCBCLiAgRGVw
bG95bWVudCBDb25zaWRlcmF0aW9uc1xuXG4gICBOb24gU3VwcG9ydGluZyBBZ2VudHNcblxu
ICAgICAgRHVlIHRvIHRoZSB3YXkgdGhhdCByZWFsbS1yb3V0ZWQgcmVxdWVzdHMgYXJlIGhh
bmRsZWQgaW4gRGlhbWV0ZXJcbiAgICAgIG5ldHdvcmtzIHdpdGggdGhlIHNlcnZlciBzZWxl
Y3Rpb24gZm9yIHRoZSByZXF1ZXN0IGRvbmUgYnkgYW5cbiAgICAgIGFnZW50LCBuZXR3b3Jr
IG9wZXJhdG9ycyBzaG91bGQgZW5hYmxlIERPSUMgYXQgYWdlbnRzIHRoYXQgcGVyZm9ybVxu
ICAgICAgc2VydmVyIHNlbGVjdGlvbiBmaXJzdC5cblxuICAgVG9wb2xvZ3kgSGlkaW5nIElu
dGVyYWN0aW9uc1xuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1
bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgMzRdXG5fXG5JbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5
IDIwMTVcblxuXG4gICAgICBUaGVyZSBleGlzdCBwcm94aWVzIHRoYXQgaW1wbGVtZW50IHdo
YXQgaXMgcmVmZXJyZWQgdG8gYXMgVG9wb2xvZ3lcbiAgICAgIEhpZGluZy4gIFRoaXMgY2Fu
IGluY2x1ZGUgY2FzZXMgd2hlcmUgdGhlIGFnZW50IG1vZGlmaWVzIHRoZVxuICAgICAgT3Jp
Z2luLUhvc3QgaW4gYW5zd2VyIG1lc3NhZ2VzLiAgVGhlIGJlaGF2aW9yIG9mIHRoZSBET0lD
IHNvbHV0aW9uXG4gICAgICBpcyBub3Qgd2VsbCB1bmRlcnN0b29kIHdoZW4gdGhpcyBoYXBw
ZW5zLiAgQXMgc3VjaCwgdGhlIERPSUNcbiAgICAgIHNvbHV0aW9uIGRvZXMgbm90IGFkZHJl
c3MgdGhpcyBzY2VuYXJpby5cblxuQXBwZW5kaXggQy4gIFJlcXVpcmVtZW50cyBDb25mb3Jt
YW5jZSBBbmFseXNpc1xuXG4gICBUaGlzIHNlY3Rpb24gY29udGFpbnMgdGhlIHJlc3VsdCBv
ZiBhbiBhbmFseXNpcyBvZiB0aGUgRE9JQyBzb2x1dGlvbnNcbiAgIGNvbmZvcm1hbmNlIHRv
IHRoZSByZXF1aXJlbWVudHMgZGVmaW5lZCBpbiBbUkZDNzA2OF0uXG5cbkMuMS4gIERlZmVy
cmVkIFJlcXVpcmVtZW50c1xuXG4gICBUaGUgM0dQUCBoYXMgYWRvcHRlZCBhbiBlYXJseSB2
ZXJzaW9uIG9mIHRoaXMgZG9jdW1lbnQgYXMgbm9ybWF0aXZlXG4gICByZWZlcmVuY2VzIGlu
IHZhcmlvdXMgRGlhbWV0ZXIgcmVsYXRlZCBzcGVjaWZpY2F0aW9ucyB0byBzdXBwb3J0IHRo
ZVxuICAgb3ZlcmxvYWQgY29udHJvbCBtZWNoYW5pc20gaW4gdGhlaXIgcmVsZWFzZSAxMiBm
cmFtZXdvcmsuICBUaGUgRElNRVxuICAgd29ya2luZyBncm91cCBoYXMgdGhlcmVmb3JlIGRl
Y2lkZWQgdG8gZGVmZXIgY2VydGFpbiByZXF1aXJlbWVudHMgaW5cbiAgIG9yZGVyIHRvIGNv
bXBsZXRlIHRoZSBkZXNpZ24gb2YgYW4gZXh0ZW5zaWJsZSwgZ2VuZXJpYyBzb2x1dGlvblxu
ICAgYmVmb3JlIHRoZSBkZWFkbGluZSBzY2hlZHVsZWQgYnkgdGhlIDNHUFAgZm9yIHRoZSBj
b21wbGV0aW9uIG9mIHRoZVxuICAgcmVsZWFzZSAxMiBwcm90b2NvbCB3b3JrIGJ5IHRoZSBl
bmQgb2YgMjAxNC4gIFRoZSBkZWZlcnJlZCB3b3JrXG4gICBpbmNsdWRlcyB0aGUgZm9sbG93
aW5nOlxuXG4gICBvICBBZ2VudCBPdmVybG9hZCAtIFRoZSBhYmlsaXR5IGZvciBhbiBhZ2Vu
dCB0byByZXBvcnQgYW4gb3ZlcmxvYWRcbiAgICAgIGNvbmRpdGlvbiBvZiB0aGUgYWdlbnQg
aXRzZWxmLlxuXG4gICBvICBMb2FkIEluZm9ybWF0aW9uIC0gVGhlIGFiaWxpdHkgZm9yIGEg
bm9kZSB0byByZXBvcnQgaXRzIGxvYWQgbGV2ZWxcbiAgICAgIHdoZW4gbm90IG92ZXJsb2Fk
ZWQuXG5cbiAgIEF0IHRoZSB0aW1lIG9mIHRoaXMgd3JpdGluZywgRElNRSBoYXMgYmVndW4g
c2VwYXJhdGUgd29yayBlZmZvcnRzIGZvclxuICAgdGhlc2UgcmVxdWlyZW1lbnRzLlxuXG5D
LjIuICBEZXRlY3Rpb24gb2Ygbm9uLXN1cHBvcnRpbmcgSW50ZXJtZWRpYXJpZXNcblxuICAg
VGhlIERPSUMgbWVjaGFuaXNtIGFzIGN1cnJlbnRseSBkZWZpbmVkIGRvZXMgbm90IGFsbG93
IHN1cHBvcnRpbmdcbiAgIG5vZGVzIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdoZXRo
ZXIgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIG9yIE9DLVxuICAgT0xSIEFWUHMgYXJlIG9yaWdp
bmF0ZWQgYnkgYSBwZWVyIG5vZGUsIG9yIGJ5IGEgbm9uLXBlZXIgbm9kZSBhbmRcbiAgIHNl
bnQgYWNyb3NzIGEgbm9uLXN1cHBvcnRpbmcgcGVlci4gIFRoaXMgbWFrZXMgaXQgaW1wb3Nz
aWJsZSB0b1xuICAgZGV0ZWN0IHRoZSBwcmVzZW5jZSBvZiBub24tc3VwcG9ydGluZyBub2Rl
cyBiZXR3ZWVuIHN1cHBvcnRpbmcgbm9kZXMsXG4gICBleGNlcHQgYnkgY29uZmlndXJhdGlv
bi4gIFRoZSB3b3JraW5nIGdyb3VwIGRldGVybWluZWQgdGhhdCBzdWNoIGFcbiAgIGNvbmZp
Z3VyYXRpb24gcmVxdWlyZW1lbnQgaXMgYWNjZXB0YWJsZS5cblxuICAgVGhpcyBsaW1pdHMg
ZnVsbCBjb21wbGlhbmNlIHdpdGggY2VydGFpbiByZXF1aXJlbWVudHMgcmVsYXRlZCB0byB0
aGVcbiAgIGxpbWl0YXRpb24gb2YgbmV3IGNvbmZpZ3VyYXRpb24sIGRlcGxveW1lbnQgaW4g
ZW52aXJvbm1lbnRzIHdpdGhcbiAgIG1peGVkIHN1cHBvcnQsIG9wZXJhdGluZyBhY3Jvc3Mg
bm9uLXN1cHBvcnRpbmcgYWdlbnRzLCBhbmRcbiAgIGF1dGhvcml6YXRpb24uXG5cblxuXG5c
blxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAg
ICAgICAgICAgICAgICBbUGFnZSAzNV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbkMu
My4gIEltcGxpY2l0IEFwcGxpY2F0aW9uIEluZGljYXRpb25cblxuICAgVGhlIHdvcmtpbmcg
Z3JvdXAgZWxlY3RlZCB0byBkZXRlcm1pbmUgdGhlIGFwcGxpY2F0aW9uIGZvciBhblxuICAg
b3ZlcmxvYWQgcmVwb3J0IGZyb20gdGhhdCBvZiB0aGUgZW5jbG9zaW5nIG1lc3NhZ2UuICBU
aGlzIHByZXZlbnRzXG4gICBzZW5kaW5nIGFuIE9MUiBmb3IgYW4gYXBwbGljYXRpb24gd2hl
biB0aGVyZSBhcmUgbm8gdHJhbnNhY3Rpb25zIGZvclxuICAgdGhhdCBhcHBsaWNhdGlvbi5c
blxuICAgQXMgYSBjb25zZXF1ZW5jZSwgRE9JQyBkb2VzIG5vdCBjb21wbHkgd2l0aCB0aGUg
cmVxdWlyZW1lbnQgdG8gYmVcbiAgIGFibGUgdG8gcmVwb3J0IG92ZXJsb2FkIGluZm9ybWF0
aW9uIGFjcm9zcyBxdWllc2NlbnQgY29ubmVjdGlvbnMuXG4gICBET0lDIGRvZXMgbm90IGZ1
bGx5IGNvbXBseSB3aXRoIHJlcXVpcmVtZW50cyB0byBvcGVyYXRlIG9uIHVwLXRvLWRhdGVc
biAgIGluZm9ybWF0aW9uLCBzaW5jZSBpZiBhbiBPTFIgY2F1c2VzIGFsbCB0cmFuc2FjdGlv
bnMgdG8gc3RvcCBmb3IgYW5cbiAgIGFwcGxpY2F0aW9uLCB0aGUgb25seSB3YXkgdHJhZmZp
YyB3aWxsIHJlc3VtZSBpcyBmb3IgdGhlIE9MUiB0b1xuICAgZXhwaXJlLlxuXG5DLjQuICBT
dGF0ZWxlc3MgT3BlcmF0aW9uXG5cbiAgIFJGQzcwNjggZXhwbGljaXRseSBkaXNjb3VyYWdl
cyB0aGUgc2VuZGluZyBvZiBPTFJzIGluIGV2ZXJ5IGFuc3dlclxuICAgbWVzc2FnZSwgYXMg
cGFydCBvZiB0aGUgcmVxdWlyZW1lbnQgdG8gYXZvaWQgYWRkaXRpb25hbCB3b3JrIGZvclxu
ICAgb3ZlcmxvYWRlZCBub2Rlcy4gIERPSUMgcmVjb21tZW5kcyBleGFjdGx5IHRoYXQgYmVo
YXZpb3IgZHVyaW5nXG4gICBhY3RpdmUgb3ZlcmxvYWQgY29uZGl0aW9ucy4gIFRoZSB3b3Jr
aW5nIGdyb3VwIGRldGVybWluZWQgdGhhdCBkb2luZ1xuICAgb3RoZXJ3aXNlIHdvdWxkIHJl
ZHVjZSByZWxpYWJpbGl0eSBhbmQgaW5jcmVhc2Ugc3RhdGVmdWxuZXNzLiAgKE5vdGVcbiAg
IHRoYXQgRE9JQyBkb2VzIGFsbG93IG5vZGVzIHRvIGF2b2lkIHNlbmRpbmcgT0xScyBpbiBl
dmVyeSBhbnN3ZXIgaWZcbiAgIHRoZXkgaGF2ZSBzb21lIG90aGVyIG1ldGhvZCBvZiBlbnN1
cmluZyB0aGF0IE9MUnMgZ2V0IHRvIGFsbCByZWxldmFudFxuICAgcmVhY3Rpbmcgbm9kZXMu
KVxuXG5DLjUuICBObyBOZXcgVnVsbmVyYWJpbGl0aWVzXG5cbiAgIFRoZSB3b3JraW5nIGdy
b3VwIGJlbGlldmVzIHRoYXQgRE9JQyBpcyBjb21wbGlhbnQgd2l0aCB0aGVcbiAgIHJlcXVp
cmVtZW50IHRvIGF2b2lkIGludHJvZHVjaW5nIG5ldyB2dWxuZXJhYmlsaXRpZXMuICBIb3dl
dmVyLCB0aGlzXG4gICByZXF1aXJlbWVudCBtYXkgd2FycmFudCBhbiBlYXJseSBzZWN1cml0
eSBleHBlcnQgcmV2aWV3LlxuXG5DLjYuICBEZXRhaWxlZCBSZXF1aXJlbWVudHNcblxuICAg
W1JGQyBFZGl0b3I6IFBsZWFzZSByZW1vdmUgdGhpcyBzZWN0aW9uIGFuZCBzdWJzZWN0aW9u
cyBwcmlvciB0b1xuICAgcHVibGljYXRpb24gYXMgYW4gUkZDLl1cblxuQy42LjEuICBHZW5l
cmFsXG5cbiAgIFJFUSAxOiAgVGhlIHNvbHV0aW9uIE1VU1QgcHJvdmlkZSBhIGNvbW11bmlj
YXRpb24gbWV0aG9kIGZvciBEaWFtZXRlclxuICAgICAgICAgICBub2RlcyB0byBleGNoYW5n
ZSBsb2FkIGFuZCBvdmVybG9hZCBpbmZvcm1hdGlvbi5cblxuICAgICAgICAgICAqUGFydGlh
bGx5IENvbXBsaWFudCouIFRoZSBtZWNoYW5pc20gdXNlcyBuZXcgQVZQc1xuICAgICAgICAg
ICBwaWdneWJhY2tlZCBvbiBleGlzdGluZyBEaWFtZXRlciBtZXNzYWdlcyB0byBleGNoYW5n
ZVxuICAgICAgICAgICBvdmVybG9hZCBpbmZvcm1hdGlvbi4gIEl0IGRvZXMgbm90IGN1cnJl
bnRseSBzdXBwb3J0ICJsb2FkIlxuICAgICAgICAgICBpbmZvcm1hdGlvbiBvciB0aGUgYWJp
bGl0eSB0byByZXBvcnQgb3ZlcmxvYWQgb2YgYW4gYWdlbnQuXG4gICAgICAgICAgIFRoZXNl
IGhhdmUgYmVlbiBsZWZ0IGZvciBmdXR1cmUgZXh0ZW5zaW9ucy5cblxuXG5cblxuXG5Lb3Jo
b25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAg
ICAgICBbUGFnZSAzNl1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBE
T0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIFJFUSAyOiAg
VGhlIHNvbHV0aW9uIE1VU1QgYWxsb3cgRGlhbWV0ZXIgbm9kZXMgdG8gc3VwcG9ydCBvdmVy
bG9hZFxuICAgICAgICAgICBjb250cm9sIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggRGlhbWV0ZXIg
YXBwbGljYXRpb25zIHRoZXlcbiAgICAgICAgICAgc3VwcG9ydC4gIERpYW1ldGVyIGNsaWVu
dHMgYW5kIGFnZW50cyBtdXN0IGJlIGFibGUgdG8gdXNlIHRoZVxuICAgICAgICAgICByZWNl
aXZlZCBsb2FkIGFuZCBvdmVybG9hZCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGdyYWNlZnVs
XG4gICAgICAgICAgIGJlaGF2aW9yIGR1cmluZyBhbiBvdmVybG9hZCBjb25kaXRpb24uICBH
cmFjZWZ1bCBiZWhhdmlvclxuICAgICAgICAgICB1bmRlciBvdmVybG9hZCBjb25kaXRpb25z
IGlzIGJlc3QgZGVzY3JpYmVkIGJ5IFJFUSAzLlxuXG4gICAgICAgICAgICpQYXJ0aWFsbHkg
Q29tcGxpYW50Ki4gVGhlIERPSUMgQVZQcyBjYW4gYmUgdXNlZCBpbiBhbnlcbiAgICAgICAg
ICAgYXBwbGljYXRpb24gdGhhdCBhbGxvd3MgdGhlIGV4dGVuc2lvbiBvZiBBVlBzLiAgSG93
ZXZlcixcbiAgICAgICAgICAgImxvYWQiIGluZm9ybWF0aW9uIGlzIG5vdCBjdXJyZW50bHkg
c3VwcG9ydGVkLlxuXG5cblxuICAgUkVRIDM6ICBUaGUgc29sdXRpb24gTVVTVCBsaW1pdCB0
aGUgaW1wYWN0IG9mIG92ZXJsb2FkIG9uIHRoZSBvdmVyYWxsXG4gICAgICAgICAgIHVzZWZ1
bCB0aHJvdWdocHV0IG9mIGEgRGlhbWV0ZXIgc2VydmVyLCBldmVuIHdoZW4gdGhlXG4gICAg
ICAgICAgIGluY29taW5nIGxvYWQgb24gdGhlIG5ldHdvcmsgaXMgZmFyIGluIGV4Y2VzcyBv
ZiBpdHNcbiAgICAgICAgICAgY2FwYWNpdHkuICBUaGUgb3ZlcmFsbCB1c2VmdWwgdGhyb3Vn
aHB1dCB1bmRlciBsb2FkIGlzIHRoZVxuICAgICAgICAgICB1bHRpbWF0ZSBtZWFzdXJlIG9m
IHRoZSB2YWx1ZSBvZiBhIHNvbHV0aW9uLlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBE
T0lDIHByb3ZpZGVzIGluZm9ybWF0aW9uIHRoYXQgbm9kZXMgY2FuIHVzZSB0b1xuICAgICAg
ICAgICByZWR1Y2UgdGhlIGltcGFjdCBvZiBvdmVybG9hZC5cblxuXG5cbiAgIFJFUSA0OiAg
RGlhbWV0ZXIgYWxsb3dzIHJlcXVlc3RzIHRvIGJlIHNlbnQgZnJvbSBlaXRoZXIgc2lkZSBv
ZiBhXG4gICAgICAgICAgIGNvbm5lY3Rpb24sIGFuZCBlaXRoZXIgc2lkZSBvZiBhIGNvbm5l
Y3Rpb24gbWF5IGhhdmUgbmVlZCB0b1xuICAgICAgICAgICBwcm92aWRlIGl0cyBvdmVybG9h
ZCBzdGF0dXMuICBUaGUgc29sdXRpb24gTVVTVCBhbGxvdyBlYWNoXG4gICAgICAgICAgIHNp
ZGUgb2YgYSBjb25uZWN0aW9uIHRvIGluZGVwZW5kZW50bHkgaW5mb3JtIHRoZSBvdGhlciBv
ZiBpdHNcbiAgICAgICAgICAgb3ZlcmxvYWQgc3RhdHVzLlxuXG4gICAgICAgICAgICpDb21w
bGlhbnQqLiBET0lDIEFWUHMgY2FuIGJlIGluY2x1ZGVkIHJlZ2FyZGxlc3Mgb2ZcbiAgICAg
ICAgICAgdHJhbnNhY3Rpb24gImRpcmVjdGlvbiJcblxuXG5cbiAgIFJFUSA1OiAgRGlhbWV0
ZXIgYWxsb3dzIG5vZGVzIHRvIGRldGVybWluZSB0aGVpciBwZWVycyB2aWEgZHluYW1pY1xu
ICAgICAgICAgICBkaXNjb3Zlcnkgb3IgbWFudWFsIGNvbmZpZ3VyYXRpb24uICBUaGUgc29s
dXRpb24gTVVTVCB3b3JrXG4gICAgICAgICAgIGNvbnNpc3RlbnRseSB3aXRob3V0IHJlZ2Fy
ZCB0byBob3cgcGVlcnMgYXJlIGRldGVybWluZWQuXG5cbiAgICAgICAgICAgKkNvbXBsaWFu
dCouIERPSUMgY29udGFpbnMgbm8gYXNzdW1wdGlvbnMgYWJvdXQgaG93IHBlZXJzIGFyZVxu
ICAgICAgICAgICBkaXNjb3ZlcmVkLlxuXG5cblxuICAgUkVRIDY6ICBUaGUgc29sdXRpb24g
ZGVzaWduZXJzIFNIT1VMRCBzZWVrIHRvIG1pbmltaXplIHRoZSBhbW91bnQgb2ZcbiAgICAg
ICAgICAgbmV3IGNvbmZpZ3VyYXRpb24gcmVxdWlyZWQgaW4gb3JkZXIgdG8gd29yay4gIEZv
ciBleGFtcGxlLCBpdFxuICAgICAgICAgICBpcyBiZXR0ZXIgdG8gYWxsb3cgcGVlcnMgdG8g
YWR2ZXJ0aXNlIG9yIG5lZ290aWF0ZSBzdXBwb3J0XG5cblxuXG5cbktvcmhvbmVuLCBldCBh
bC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdl
IDM3XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAg
ICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAgICAgICBmb3IgdGhlIHNv
bHV0aW9uLCByYXRoZXIgdGhhbiB0byByZXF1aXJlIHRoYXQgdGhpcyBrbm93bGVkZ2VcbiAg
ICAgICAgICAgdG8gYmUgY29uZmlndXJlZCBhdCBlYWNoIG5vZGUuXG5cbiAgICAgICAgICAg
KlBhcnRpYWxseSBDb21wbGlhbnQqLiBNb3N0IERPSUMgcGFyYW1ldGVycyBhcmUgYWR2ZXJ0
aXNlZFxuICAgICAgICAgICB1c2luZyB0aGUgRE9JQyBjYXBhYmlsaXR5IGFubm91bmNlbWVu
dCBtZWNoYW5pc20uICBIb3dldmVyLFxuICAgICAgICAgICB0aGVyZSBhcmUgc29tZSBzaXR1
YXRpb25zIHdoZXJlIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQuXG4gICAgICAgICAgIEZv
ciBleGFtcGxlLCBhIERPSUMgbm9kZSBkZXRlY3QgdGhlIGZhY3QgdGhhdCBhIHBlZXIgbWF5
IG5vdFxuICAgICAgICAgICBzdXBwb3J0IERPSUMgd2hlbiBub2RlcyBvbiB0aGUgb3RoZXIg
c2lkZSBvZiB0aGUgbm9uLVxuICAgICAgICAgICBzdXBwb3J0aW5nIG5vZGUgZG8gc3VwcG9y
dCBET0lDIHdpdGhvdXQgY29uZmlndXJhdGlvbi5cblxuXG5cbkMuNi4yLiAgUGVyZm9ybWFu
Y2VcblxuICAgUkVRIDc6ICBUaGUgc29sdXRpb24gYW5kIGFueSBhc3NvY2lhdGVkIGRlZmF1
bHQgYWxnb3JpdGhtKHMpIE1VU1RcbiAgICAgICAgICAgZW5zdXJlIHRoYXQgdGhlIHN5c3Rl
bSByZW1haW5zIHN0YWJsZS4gIEF0IHNvbWUgcG9pbnQgYWZ0ZXJcbiAgICAgICAgICAgYW4g
b3ZlcmxvYWQgY29uZGl0aW9uIGhhcyBlbmRlZCwgdGhlIHNvbHV0aW9uIE1VU1QgZW5hYmxl
XG4gICAgICAgICAgIGNhcGFjaXR5IHRvIHN0YWJpbGl6ZSBhbmQgYmVjb21lIGVxdWFsIHRv
IHdoYXQgaXQgd291bGQgYmUgaW5cbiAgICAgICAgICAgdGhlIGFic2VuY2Ugb2YgYW4gb3Zl
cmxvYWQgY29uZGl0aW9uLiAgTm90ZSB0aGF0IHRoaXMgYWxzb1xuICAgICAgICAgICByZXF1
aXJlcyB0aGF0IHRoZSBzb2x1dGlvbiBNVVNUIGFsbG93IG5vZGVzIHRvIHNoZWQgbG9hZFxu
ICAgICAgICAgICB3aXRob3V0IGludHJvZHVjaW5nIG5vbi1jb252ZXJnaW5nIG9zY2lsbGF0
aW9ucyBkdXJpbmcgb3JcbiAgICAgICAgICAgYWZ0ZXIgYW4gb3ZlcmxvYWQgY29uZGl0aW9u
LlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBUaGUgc3BlY2lmaWNhdGlvbiBvZmZlcnMg
Z3VpZGFuY2UgdGhhdFxuICAgICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGFwcGx5
IGh5c3RlcmVzaXMgd2hlbiByZWNvdmVyaW5nIGZyb21cbiAgICAgICAgICAgb3ZlcmxvYWQs
IGFuZCBhdm9pZCBzdWRkZW4gcmFtcCB1cHMgaW4gb2ZmZXJlZCBsb2FkIHdoZW5cbiAgICAg
ICAgICAgcmVjb3ZlcmluZy5cblxuXG5cbiAgIFJFUSA4OiAgU3VwcG9ydGluZyBub2RlcyBN
VVNUIGJlIGFibGUgdG8gZGlzdGluZ3Vpc2ggY3VycmVudCBvdmVybG9hZFxuICAgICAgICAg
ICBpbmZvcm1hdGlvbiBmcm9tIHN0YWxlIGluZm9ybWF0aW9uLlxuXG4gICAgICAgICAgICpQ
YXJ0aWFsbHkgQ29tcGxpYW50Ki4gRE9JQyBvdmVybG9hZCByZXBvcnRzIGFyZSAic29mdFxu
ICAgICAgICAgICBzdGF0ZSIsIHRoYXQgaXMgdGhleSBleHBpcmUgYWZ0ZXIgYW4gaW5kaWNh
dGVkIHBlcmlvZC4gIERPSUNcbiAgICAgICAgICAgbm9kZXMgbWF5IGFsc28gc2VuZCByZXBv
cnRzIHRoYXQgZW5kIGV4aXN0aW5nIG92ZXJsb2FkXG4gICAgICAgICAgIGNvbmRpdGlvbnMu
ICBET0lDIHJlcXVpcmVzIHJlcG9ydGluZyBub2RlcyB0byBlbnN1cmUgdGhhdCBhbGxcbiAg
ICAgICAgICAgcmVsZXZhbnQgcmVhY3Rpbmcgbm9kZXMgcmVjZWl2ZSBvdmVybG9hZCByZXBv
cnRzLlxuXG4gICAgICAgICAgIEhvd2V2ZXIsIHNpbmNlIERPSUMgZG9lcyBub3QgYWxsb3cg
cmVwb3J0aW5nIG5vZGVzIHRvIHNlbmRcbiAgICAgICAgICAgT0xScyBpbiB3YXRjaGRvZyBt
ZXNzYWdlcywgaWYgYW4gb3ZlcmxvYWQgY29uZGl0aW9uIHJlc3VsdHNcbiAgICAgICAgICAg
aW4gemVybyBvZmZlcmVkIGxvYWQsIHRoZSByZXBvcnRpbmcgbm9kZSBjYW5ub3QgdXBkYXRl
IHRoZVxuICAgICAgICAgICBjb25kaXRpb24gdW50aWwgdGhlIGV4cGlyYXRpb24gb2YgdGhl
IG9yaWdpbmFsIE9MUi5cblxuXG5cblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAg
ICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSAzOF1cbl9c
bkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAg
ICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIFJFUSA5OiAgVGhlIHNvbHV0aW9uIE1VU1Qg
ZnVuY3Rpb24gYWNyb3NzIGZ1bGx5IGxvYWRlZCBhcyB3ZWxsIGFzXG4gICAgICAgICAgIHF1
aWVzY2VudCB0cmFuc3BvcnQgY29ubmVjdGlvbnMuICBUaGlzIGlzIHBhcnRpYWxseSBkZXJp
dmVkXG4gICAgICAgICAgIGZyb20gdGhlIHJlcXVpcmVtZW50IGZvciBzdGFiaWxpdHkgaW4g
UkVRIDcuXG5cbiAgICAgICAgICAgKk5vdCBDb21wbGlhbnQqLiBET0lDIGRvZXMgbm90IGFs
bG93IE9MUnMgdG8gYmUgc2VudCBvdmVyXG4gICAgICAgICAgIHF1aWVzY2VudCB0cmFuc3Bv
cnQgY29ubmVjdGlvbnMuICBUaGlzIGlzIGR1ZSB0byB0aGUgZmFjdFxuICAgICAgICAgICB0
aGF0IE9MUnMgY2Fubm90IGJlIHNlbnQgb3V0c2lkZSBvZiB0aGUgYXBwbGljYXRpb24gdG8g
d2hpY2hcbiAgICAgICAgICAgdGhleSBhcHBseS5cblxuXG5cbiAgIFJFUSAxMDogQ29uc3Vt
ZXJzIG9mIG92ZXJsb2FkIGluZm9ybWF0aW9uIE1VU1QgYmUgYWJsZSB0byBkZXRlcm1pbmVc
biAgICAgICAgICAgd2hlbiB0aGUgb3ZlcmxvYWQgY29uZGl0aW9uIGltcHJvdmVzIG9yIGVu
ZHMuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiAoU2VlIHJlc3BvbnNl
IHRvIHByZXZpb3VzIHR3b1xuICAgICAgICAgICByZXF1aXJlbWVudHMuKVxuXG5cblxuICAg
UkVRIDExOiBUaGUgc29sdXRpb24gTVVTVCBiZSBhYmxlIHRvIG9wZXJhdGUgaW4gbmV0d29y
a3Mgb2YgZGlmZmVyZW50XG4gICAgICAgICAgIHNpemVzLlxuXG4gICAgICAgICAgICpDb21w
bGlhbnQqLiBET0lDIG1ha2VzIG5vIGFzc3VtcHRpb25zIGFib3V0IHRoZSBzaXplIG9mIHRo
ZVxuICAgICAgICAgICBuZXR3b3JrLiAgRE9JQyBjYW4gb3BlcmF0ZSBwdXJlbHkgYmV0d2Vl
biBjbGllbnRzIGFuZFxuICAgICAgICAgICBzZXJ2ZXJzLCBvciBhY3Jvc3MgYWdlbnRzLlxu
XG5cblxuICAgUkVRIDEyOiBXaGVuIGEgc2luZ2xlIG5ldHdvcmsgbm9kZSBmYWlscywgZ29l
cyBpbnRvIG92ZXJsb2FkLCBvclxuICAgICAgICAgICBzdWZmZXJzIGZyb20gcmVkdWNlZCBw
cm9jZXNzaW5nIGNhcGFjaXR5LCB0aGUgc29sdXRpb24gTVVTVFxuICAgICAgICAgICBtYWtl
IGl0IHBvc3NpYmxlIHRvIGxpbWl0IHRoZSBpbXBhY3Qgb2YgdGhlIGFmZmVjdGVkIG5vZGUg
b25cbiAgICAgICAgICAgb3RoZXIgbm9kZXMgaW4gdGhlIG5ldHdvcmsuICBUaGlzIGhlbHBz
IHRvIHByZXZlbnQgYSBzbWFsbC1cbiAgICAgICAgICAgc2NhbGUgZmFpbHVyZSBmcm9tIGJl
Y29taW5nIGEgd2lkZXNwcmVhZCBvdXRhZ2UuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBD
b21wbGlhbnQqLiBET0lDIGFsbG93cyBvdmVybG9hZCByZXBvcnRzIGZvciBhblxuICAgICAg
ICAgICBlbnRpcmUgcmVhbG0sIHdoZXJlIGFiYXRlZCB0cmFmZmljIHdpbGwgbm90IGJlIHJl
ZGlyZWN0ZWRcbiAgICAgICAgICAgdG93YXJkcyBhbm90aGVyIHNlcnZlci4gIEJ1dCBpbiBz
aXR1YXRpb25zIHdoZXJlIG5vZGVzIGNob29zZVxuICAgICAgICAgICB0byBkaXZlcnQgdHJh
ZmZpYyB0byBvdGhlciBub2RlcywgRE9JQyBvZmZlcnMgbm8gd2F5IG9mXG4gICAgICAgICAg
IGtub3dpbmcgd2hldGhlciB0aGUgbmV3IHJlY2lwaWVudHMgY2FuIGhhbmRsZSB0aGUgdHJh
ZmZpYyBpZlxuICAgICAgICAgICB0aGV5IGhhdmUgbm90IGFscmVhZHkgaW5kaWNhdGVkIG92
ZXJsb2FkLiAgVGhpcyBtYXkgYmVcbiAgICAgICAgICAgbWl0aWdhdGVkIHdpdGggdGhlIHVz
ZSBvZiBhIGZ1dHVyZSAibG9hZCIgZXh0ZW5zaW9uLCBvciB3aXRoXG4gICAgICAgICAgIHRo
ZSB1c2Ugb2YgcHJvcHJpZXRhcnkgZHluYW1pYyBsb2FkLWJhbGFuY2luZyBtZWNoYW5pc21z
LlxuXG5cblxuICAgUkVRIDEzOiBUaGUgc29sdXRpb24gTVVTVCBOT1QgaW50cm9kdWNlIHN1
YnN0YW50aWFsIGFkZGl0aW9uYWwgd29ya1xuICAgICAgICAgICBmb3IgYSBub2RlIGluIGFu
IG92ZXJsb2FkZWQgc3RhdGUuICBGb3IgZXhhbXBsZSwgYVxuICAgICAgICAgICByZXF1aXJl
bWVudCBmb3IgYW4gb3ZlcmxvYWRlZCBub2RlIHRvIHNlbmQgb3ZlcmxvYWRcblxuXG5cbktv
cmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAgICAg
ICAgICAgIFtQYWdlIDM5XVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAg
IERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgICAgICAg
ICBpbmZvcm1hdGlvbiBldmVyeSB0aW1lIGl0IHJlY2VpdmVkIGEgbmV3IHJlcXVlc3Qgd291
bGRcbiAgICAgICAgICAgaW50cm9kdWNlIHN1YnN0YW50aWFsIHdvcmsuXG5cbiAgICAgICAg
ICAgKk5vdCBDb21wbGlhbnQqLiBET0lDIGRvZXMgaW4gZmFjdCBlbmNvdXJhZ2UgYW4gb3Zl
cmxvYWRlZFxuICAgICAgICAgICBub2RlIHRvIHNlbmQgYW4gT0xSIGluIGV2ZXJ5IHJlc3Bv
bnNlLiAgVGhlIHdvcmtpbmcgZ3JvdXBcbiAgICAgICAgICAgdGhhdCBvdGhlciBtZWNoYW5p
c21zIHRvIGVuc3VyZSB0aGF0IGV2ZXJ5IHJlbGV2YW50IG5vZGVcbiAgICAgICAgICAgcmVj
ZWl2ZXMgYW4gT0xSIHdvdWxkIGNyZWF0ZSBldmVuIG1vcmUgd29yay4gIFtOb3RlOiBUaGlz
XG4gICAgICAgICAgIG5lZWRzIGRpc2N1c3Npb24uXVxuXG5cblxuICAgUkVRIDE0OiBTb21l
IHNjZW5hcmlvcyB0aGF0IHJlc3VsdCBpbiBvdmVybG9hZCBpbnZvbHZlIGEgcmFwaWRcbiAg
ICAgICAgICAgaW5jcmVhc2Ugb2YgdHJhZmZpYyB3aXRoIGxpdHRsZSB0aW1lIGJldHdlZW4g
bm9ybWFsIGxldmVsc1xuICAgICAgICAgICBhbmQgbGV2ZWxzIHRoYXQgaW5kdWNlIG92ZXJs
b2FkLiAgVGhlIHNvbHV0aW9uIFNIT1VMRCBwcm92aWRlXG4gICAgICAgICAgIGZvciByYXBp
ZCBmZWVkYmFjayB3aGVuIHRyYWZmaWMgbGV2ZWxzIGluY3JlYXNlLlxuXG4gICAgICAgICAg
ICpDb21wbGlhbnQqLiBUaGUgcGlnZ3liYWNrIG1lY2hhbmlzbSBhbGxvd3MgT0xScyB0byBi
ZSBzZW50XG4gICAgICAgICAgIGF0IHRoZSBzYW1lIHJhdGUgYXMgYXBwbGljYXRpb24gdHJh
ZmZpYy5cblxuXG5cbiAgIFJFUSAxNTogVGhlIHNvbHV0aW9uIE1VU1QgTk9UIGludGVyZmVy
ZSB3aXRoIHRoZSBjb25nZXN0aW9uIGNvbnRyb2xcbiAgICAgICAgICAgbWVjaGFuaXNtcyBv
ZiB1bmRlcmx5aW5nIHRyYW5zcG9ydCBwcm90b2NvbHMuICBGb3IgZXhhbXBsZSwgYVxuICAg
ICAgICAgICBzb2x1dGlvbiB0aGF0IG9wZW5lZCBhZGRpdGlvbmFsIFRDUCBjb25uZWN0aW9u
cyB3aGVuIHRoZVxuICAgICAgICAgICBuZXR3b3JrIGlzIGNvbmdlc3RlZCB3b3VsZCByZWR1
Y2UgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgdGhlXG4gICAgICAgICAgIHVuZGVybHlpbmcgY29u
Z2VzdGlvbiBjb250cm9sIG1lY2hhbmlzbXMuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCou
IERPSUMgZG9lcyBub3QgcmVxdWlyZSBvciByZWNvbW1lbmQgY2hhbmdlcyBpblxuICAgICAg
ICAgICB0aGUgaGFuZGxpbmcgb2YgdHJhbnNwb3J0IHByb3RvY29scyBvciBjb25uZWN0aW9u
cy5cblxuXG5cbkMuNi4zLiAgSGV0ZXJvZ2VuZW91cyBTdXBwb3J0IGZvciBTb2x1dGlvblxu
XG4gICBSRVEgMTY6IFRoZSBzb2x1dGlvbiBpcyBsaWtlbHkgdG8gYmUgZGVwbG95ZWQgaW5j
cmVtZW50YWxseS4gIFRoZVxuICAgICAgICAgICBzb2x1dGlvbiBNVVNUIHN1cHBvcnQgYSBt
aXhlZCBlbnZpcm9ubWVudCB3aGVyZSBzb21lLCBidXQgbm90XG4gICAgICAgICAgIGFsbCwg
bm9kZXMgaW1wbGVtZW50IGl0LlxuXG4gICAgICAgICAgICpQYXJ0aWFsbHkgQ29tcGxpYW50
Ki4gRE9JQyB3b3JrcyB3aXRoIG1vc3QgbWl4ZWQtZGVwbG95bWVudFxuICAgICAgICAgICBz
Y2VuYXJpb3MuICBIb3dldmVyLCBpdCBjYW5ub3Qgd29yayBhY3Jvc3MgYSBub24tc3VwcG9y
dGluZ1xuICAgICAgICAgICBwcm94eSB0aGF0IG1vZGlmaWVzIE9yaWdpbi1Ib3N0IEFWUHMg
aW4gYW5zd2VyIG1lc3NhZ2VzLlxuICAgICAgICAgICBET0lDIHdpbGwgaGF2ZSBsaW1pdGVk
IGltcGFjdCBpbiBuZXR3b3JrcyB3aGVyZSB0aGUgbm9kZXNcbiAgICAgICAgICAgdGhhdCBw
ZXJmb3JtIHNlcnZlciBzZWxlY3Rpb25zIGRvIG5vdCBzdXBwb3J0IHRoZSBtZWNoYW5pc20u
XG5cblxuXG4gICBSRVEgMTc6IEluIGEgbWl4ZWQgZW52aXJvbm1lbnQgd2l0aCBub2RlcyB0
aGF0IHN1cHBvcnQgdGhlIHNvbHV0aW9uXG4gICAgICAgICAgIGFuZCBub2RlcyB0aGF0IGRv
IG5vdCwgdGhlIHNvbHV0aW9uIE1VU1QgTk9UIHJlc3VsdCBpblxuXG5cblxuS29yaG9uZW4s
IGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAg
W1BhZ2UgNDBdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAg
ICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICAgICAgIG1hdGVy
aWFsbHkgbGVzcyB1c2VmdWwgdGhyb3VnaHB1dCBkdXJpbmcgb3ZlcmxvYWQgYXMgd291bGRc
biAgICAgICAgICAgaGF2ZSByZXN1bHRlZCBpZiB0aGUgc29sdXRpb24gd2VyZSBub3QgcHJl
c2VudC4gIEl0IFNIT1VMRFxuICAgICAgICAgICByZXN1bHQgaW4gbGVzcyBzZXZlcmUgb3Zl
cmxvYWQgaW4gdGhpcyBlbnZpcm9ubWVudC5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4g
SW4gbW9zdCBtaXhlZC1zdXBwb3J0IGRlcGxveW1lbnQsIERPSUMgd2lsbFxuICAgICAgICAg
ICBvZmZlciBhdCBsZWFzdCBzb21lIHZhbHVlLCBhbmQgd2lsbCBub3QgbWFrZSB0aGluZ3Mg
d29yc2UuXG5cblxuXG4gICBSRVEgMTg6IEluIGEgbWl4ZWQgZW52aXJvbm1lbnQgb2Ygbm9k
ZXMgdGhhdCBzdXBwb3J0IHRoZSBzb2x1dGlvbiBhbmRcbiAgICAgICAgICAgbm9kZXMgdGhh
dCBkbyBub3QsIHRoZSBzb2x1dGlvbiBNVVNUIE5PVCBwcmVjbHVkZSBlbGVtZW50c1xuICAg
ICAgICAgICB0aGF0IHN1cHBvcnQgb3ZlcmxvYWQgY29udHJvbCBmcm9tIHRyZWF0aW5nIGVs
ZW1lbnRzIHRoYXQgZG9cbiAgICAgICAgICAgbm90IHN1cHBvcnQgb3ZlcmxvYWQgY29udHJv
bCBpbiBhbiBlcXVpdGFibGUgZmFzaGlvbiByZWxhdGl2ZVxuICAgICAgICAgICB0byB0aG9z
ZSB0aGF0IGRvLiAgVXNlcnMgYW5kIG9wZXJhdG9ycyBvZiBub2RlcyB0aGF0IGRvIG5vdFxu
ICAgICAgICAgICBzdXBwb3J0IHRoZSBzb2x1dGlvbiBNVVNUIE5PVCB1bmZhaXJseSBiZW5l
Zml0IGZyb20gdGhlXG4gICAgICAgICAgIHNvbHV0aW9uLiAgVGhlIHNvbHV0aW9uIHNwZWNp
ZmljYXRpb24gU0hPVUxEIHByb3ZpZGUgZ3VpZGFuY2VcbiAgICAgICAgICAgdG8gaW1wbGVt
ZW50ZXJzIGZvciBkZWFsaW5nIHdpdGggZWxlbWVudHMgbm90IHN1cHBvcnRpbmdcbiAgICAg
ICAgICAgb3ZlcmxvYWQgY29udHJvbC5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9J
QyBwcm92aWRlcyBtZWNoYW5pc21zIHRvIGFiYXRlIGxvYWQgZnJvbSBub24tXG4gICAgICAg
ICAgIHN1cHBvcnRpbmcgc291cmNlcy4gIEZ1cnRoZXJtb3JlLCBpdCByZWNvbW1lbmRzIHRo
YXRcbiAgICAgICAgICAgcmVwb3J0aW5nIG5vZGVzIHdpbGwgc3RpbGwgbmVlZCB0byBiZSBh
YmxlIHRvIGFwcGx5IHdoYXRldmVyXG4gICAgICAgICAgIHByb3RlY3Rpb25zIHRoZXkgd291
bGQgb3JkaW5hcmlseSBhcHBseSBpZiBET0lDIHdlcmUgbm90IGluXG4gICAgICAgICAgIHVz
ZS5cblxuXG5cbiAgIFJFUSAxOTogSXQgTVVTVCBiZSBwb3NzaWJsZSB0byB1c2UgdGhlIHNv
bHV0aW9uIGJldHdlZW4gbm9kZXMgaW5cbiAgICAgICAgICAgZGlmZmVyZW50IHJlYWxtcyBh
bmQgaW4gZGlmZmVyZW50IGFkbWluaXN0cmF0aXZlIGRvbWFpbnMuXG5cbiAgICAgICAgICAg
KlBhcnRpYWxseSBDb21wbGlhbnQqLiBET0lDIGFsbG93cyBzZW5kaW5nIE9MUnMgYWNyb3Nz
XG4gICAgICAgICAgIGFkbWluaXN0cmF0aXZlIGRvbWFpbnMsIGFuZCBwb3RlbnRpYWxseSB0
byBub2RlcyBpbiBvdGhlclxuICAgICAgICAgICByZWFsbXMuICBIb3dldmVyLCBhbiBPTFIg
Y2Fubm90IGluZGljYXRlIG92ZXJsb2FkIGZvciByZWFsbXNcbiAgICAgICAgICAgb3RoZXIg
dGhhbiB0aGUgb25lIGluIHRoZSBPcmlnaW4tUmVhbG0gQVZQIG9mIHRoZSBjb250YWluaW5n
XG4gICAgICAgICAgIGFuc3dlci5cblxuXG5cbiAgIFJFUSAyMDogQW55IGV4cGxpY2l0IG92
ZXJsb2FkIGluZGljYXRpb24gTVVTVCBiZSBjbGVhcmx5XG4gICAgICAgICAgIGRpc3Rpbmd1
aXNoYWJsZSBmcm9tIG90aGVyIGVycm9ycyByZXBvcnRlZCB2aWEgRGlhbWV0ZXIuXG5cbiAg
ICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgc2VuZHMgZXhwbGljaXQgb3ZlcmxvYWQgaW5k
aWNhdGlvbiBpblxuICAgICAgICAgICBvdmVybG9hZCByZXBvcnRzLiAgSXQgZG9lcyBub3Qg
ZGVwZW5kIG9uIGVycm9yIHJlc3VsdCBjb2Rlcy5cblxuXG5cbiAgIFJFUSAyMTogSW4gY2Fz
ZXMgd2hlcmUgYSBuZXR3b3JrIG5vZGUgZmFpbHMsIGlzIHNvIG92ZXJsb2FkZWQgdGhhdCBp
dFxuICAgICAgICAgICBjYW5ub3QgcHJvY2VzcyBtZXNzYWdlcywgb3IgY2Fubm90IGNvbW11
bmljYXRlIGR1ZSB0byBhXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGly
ZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0MV1cbl9cbkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEph
bnVhcnkgMjAxNVxuXG5cbiAgICAgICAgICAgbmV0d29yayBmYWlsdXJlLCBpdCBtYXkgbm90
IGJlIGFibGUgdG8gcHJvdmlkZSBleHBsaWNpdFxuICAgICAgICAgICBpbmRpY2F0aW9ucyBv
ZiB0aGUgbmF0dXJlIG9mIHRoZSBmYWlsdXJlIG9yIGl0cyBsZXZlbHMgb2ZcbiAgICAgICAg
ICAgb3ZlcmxvYWQuICBUaGUgc29sdXRpb24gTVVTVCByZXN1bHQgaW4gYXQgbGVhc3QgYXMg
bXVjaFxuICAgICAgICAgICB1c2VmdWwgdGhyb3VnaHB1dCBhcyB3b3VsZCBoYXZlIHJlc3Vs
dGVkIGlmIHRoZSBzb2x1dGlvbiB3ZXJlXG4gICAgICAgICAgIG5vdCBpbiBwbGFjZS5cblxu
ICAgICAgICAgICAqQ29tcGxpYW50Ki4gRE9JQyBvdmVybG9hZCByZXBvcnRzIGhhdmUgdGhl
IHByaW1hcnkgZWZmZWN0IG9mXG4gICAgICAgICAgIHN1cHByZXNzaW5nIG1lc3NhZ2UgcmV0
cmllcyBpbiBvdmVybG9hZCBjb25kaXRpb25zLiAgRE9JQ1xuICAgICAgICAgICByZWNvbW1l
bmRzIHRoYXQgbWVzc2FnZXMgbmV2ZXIgYmUgc2lsZW50bHkgZHJvcHBlZCBpZiBhdCBhbGxc
biAgICAgICAgICAgcG9zc2libGUuXG5cblxuXG5DLjYuNC4gIEdyYW51bGFyIENvbnRyb2xc
blxuICAgUkVRIDIyOiBUaGUgc29sdXRpb24gTVVTVCBwcm92aWRlIGEgd2F5IGZvciBhIG5v
ZGUgdG8gdGhyb3R0bGUgdGhlXG4gICAgICAgICAgIGFtb3VudCBvZiB0cmFmZmljIGl0IHJl
Y2VpdmVzIGZyb20gYSBwZWVyIG5vZGUuICBUaGlzXG4gICAgICAgICAgIHRocm90dGxpbmcg
U0hPVUxEIGJlIGdyYWRlZCBzbyB0aGF0IGl0IGNhbiBiZSBhcHBsaWVkXG4gICAgICAgICAg
IGdyYWR1YWxseSBhcyBvZmZlcmVkIGxvYWQgaW5jcmVhc2VzLiAgT3ZlcmxvYWQgaXMgbm90
IGFcbiAgICAgICAgICAgYmluYXJ5IHN0YXRlOyB0aGVyZSBtYXkgYmUgZGVncmVlcyBvZiBv
dmVybG9hZC5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gVGhlICJsb3NzIiBhbGdvcml0
aG0gZXhwcmVzc2VzIGEgcGVyY2VudGFnZVxuICAgICAgICAgICByZWR1Y3Rpb24uXG5cblxu
XG4gICBSRVEgMjM6IFRoZSBzb2x1dGlvbiBNVVNUIHByb3ZpZGUgc3VmZmljaWVudCBpbmZv
cm1hdGlvbiB0byBlbmFibGUgYVxuICAgICAgICAgICBsb2FkLWJhbGFuY2luZyBub2RlIHRv
IGRpdmVydCBtZXNzYWdlcyB0aGF0IGFyZSByZWplY3RlZCBvclxuICAgICAgICAgICBvdGhl
cndpc2UgdGhyb3R0bGVkIGJ5IGFuIG92ZXJsb2FkZWQgdXBzdHJlYW0gbm9kZSB0byBvdGhl
clxuICAgICAgICAgICB1cHN0cmVhbSBub2RlcyB0aGF0IGFyZSB0aGUgbW9zdCBsaWtlbHkg
dG8gaGF2ZSBzdWZmaWNpZW50XG4gICAgICAgICAgIGNhcGFjaXR5IHRvIHByb2Nlc3MgdGhl
bS5cblxuICAgICAgICAgICAqTm90IENvbXBsaWFudCouIERPSUMgcHJvdmlkZXMgbm8gYnVp
bHQgaW4gbWVjaGFuaXNtIHRvXG4gICAgICAgICAgIGRldGVybWluZSB0aGUgYmVzdCBwbGFj
ZSB0byBkaXZlcnQgbWVzc2FnZXMgdGhhdCB3b3VsZFxuICAgICAgICAgICBvdGhlcndpc2Ug
YmUgdGhyb3R0bGVkLiAgVGhpcyBjYW4gYmUgYWNjb21wbGlzaGVkIHdpdGggYVxuICAgICAg
ICAgICBmdXR1cmUgImxvYWQiIGV4dGVuc2lvbiwgb3Igd2l0aCBwcm9wcmlldGFyeSBsb2Fk
IGJhbGFuY2luZ1xuICAgICAgICAgICBtZWNoYW5pc21zLlxuXG5cblxuICAgUkVRIDI0OiBU
aGUgc29sdXRpb24gTVVTVCBwcm92aWRlIGEgbWVjaGFuaXNtIGZvciBpbmRpY2F0aW5nIGxv
YWRcbiAgICAgICAgICAgbGV2ZWxzLCBldmVuIHdoZW4gbm90IGluIGFuIG92ZXJsb2FkIGNv
bmRpdGlvbiwgdG8gYXNzaXN0XG4gICAgICAgICAgIG5vZGVzIGluIG1ha2luZyBkZWNpc2lv
bnMgdG8gcHJldmVudCBvdmVybG9hZCBjb25kaXRpb25zIGZyb21cbiAgICAgICAgICAgb2Nj
dXJyaW5nLlxuXG4gICAgICAgICAgICpOb3QgQ29tcGxpYW50Ki4gIkxvYWQiIGluZm9ybWF0
aW9uIGhhcyBiZWVuIGxlZnQgZm9yIGFcbiAgICAgICAgICAgZnV0dXJlIGV4dGVuc2lvbi5c
blxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBFeHBpcmVzIEp1bHkgMTIsIDIw
MTUgICAgICAgICAgICAgICAgW1BhZ2UgNDJdXG5fXG5JbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTVcblxu
XG5DLjYuNS4gIFByaW9yaXR5IGFuZCBQb2xpY3lcblxuICAgUkVRIDI1OiBUaGUgYmFzZSBz
cGVjaWZpY2F0aW9uIGZvciB0aGUgc29sdXRpb24gU0hPVUxEIG9mZmVyIGdlbmVyYWxcbiAg
ICAgICAgICAgZ3VpZGFuY2Ugb24gd2hpY2ggbWVzc2FnZSB0eXBlcyBtaWdodCBiZSBkZXNp
cmFibGUgdG8gc2VuZCBvclxuICAgICAgICAgICBwcm9jZXNzIG92ZXIgb3RoZXJzIGR1cmlu
ZyB0aW1lcyBvZiBvdmVybG9hZCwgYmFzZWQgb25cbiAgICAgICAgICAgYXBwbGljYXRpb24t
c3BlY2lmaWMgY29uc2lkZXJhdGlvbnMuICBGb3IgZXhhbXBsZSwgaXQgbWF5IGJlXG4gICAg
ICAgICAgIG1vcmUgYmVuZWZpY2lhbCB0byBwcm9jZXNzIG1lc3NhZ2VzIGZvciBleGlzdGlu
ZyBzZXNzaW9uc1xuICAgICAgICAgICBhaGVhZCBvZiBuZXcgc2Vzc2lvbnMuICBTb21lIG5l
dHdvcmtzIG1heSBoYXZlIGEgcmVxdWlyZW1lbnRcbiAgICAgICAgICAgdG8gZ2l2ZSBwcmlv
cml0eSB0byByZXF1ZXN0cyBhc3NvY2lhdGVkIHdpdGggZW1lcmdlbmN5XG4gICAgICAgICAg
IHNlc3Npb25zLiAgQW55IG5vcm1hdGl2ZSBvciBvdGhlcndpc2UgZGV0YWlsZWQgZGVmaW5p
dGlvbiBvZlxuICAgICAgICAgICB0aGUgcmVsYXRpdmUgcHJpb3JpdGllcyBvZiBtZXNzYWdl
IHR5cGVzIGR1cmluZyBhbiBvdmVybG9hZFxuICAgICAgICAgICBjb25kaXRpb24gd2lsbCBi
ZSB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgIHNw
ZWNpZmljYXRpb24uXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIFRoZSBzcGVjaWZpY2F0
aW9uIG9mZmVycyBndWlkYW5jZSBvbiBob3dcbiAgICAgICAgICAgcmVxdWVzdHMgbWlnaHQg
YmUgcHJpb3JpdGl6ZWQgZm9yIGRpZmZlcmVudCB0eXBlcyBvZlxuICAgICAgICAgICBhcHBs
aWNhdGlvbnMuXG5cblxuXG4gICBSRVEgMjY6IFRoZSBzb2x1dGlvbiBNVVNUIE5PVCBwcmV2
ZW50IGEgbm9kZSBmcm9tIHByaW9yaXRpemluZ1xuICAgICAgICAgICByZXF1ZXN0cyBiYXNl
ZCBvbiBhbnkgbG9jYWwgcG9saWN5LCBzbyB0aGF0IGNlcnRhaW4gcmVxdWVzdHNcbiAgICAg
ICAgICAgYXJlIGdpdmVuIHByZWZlcmVudGlhbCB0cmVhdG1lbnQsIGdpdmVuIGFkZGl0aW9u
YWxcbiAgICAgICAgICAgcmV0cmFuc21pc3Npb24sIG5vdCB0aHJvdHRsZWQsIG9yIHByb2Nl
c3NlZCBhaGVhZCBvZiBvdGhlcnMuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIE5vdGhp
bmcgaW4gdGhlIHNwZWNpZmljYXRpb24gcHJldmVudHNcbiAgICAgICAgICAgYXBwbGljYXRp
b24tc3BlY2lmaWMsIGltcGxlbWVudGF0aW9uLXNwZWNpZmljLCBvciBsb2NhbFxuICAgICAg
ICAgICBwb2xpY2llcy5cblxuXG5cbkMuNi42LiAgU2VjdXJpdHlcblxuICAgUkVRIDI3OiBU
aGUgc29sdXRpb24gTVVTVCBOT1QgcHJvdmlkZSBuZXcgdnVsbmVyYWJpbGl0aWVzIHRvXG4g
ICAgICAgICAgIG1hbGljaW91cyBhdHRhY2sgb3IgaW5jcmVhc2UgdGhlIHNldmVyaXR5IG9m
IGFueSBleGlzdGluZ1xuICAgICAgICAgICB2dWxuZXJhYmlsaXRpZXMuICBUaGlzIGluY2x1
ZGVzIHZ1bG5lcmFiaWxpdGllcyB0byBEb1MgYW5kXG4gICAgICAgICAgIEREb1MgYXR0YWNr
cyBhcyB3ZWxsIGFzIHJlcGxheSBhbmQgbWFuLWluLXRoZS1taWRkbGUgYXR0YWNrcy5cbiAg
ICAgICAgICAgTm90ZSB0aGF0IHRoZSBEaWFtZXRlciBiYXNlIHNwZWNpZmljYXRpb24gW1JG
QzY3MzNdIGxhY2tzXG4gICAgICAgICAgIGVuZC10by1lbmQgc2VjdXJpdHkgYW5kIHRoaXMg
bXVzdCBiZSBjb25zaWRlcmVkIChzZWUgdGhlXG4gICAgICAgICAgIFNlY3VyaXR5IENvbnNp
ZGVyYXRpb25zIGluIFtSRkM3MDY4XSkuICBOb3RlIHRoYXQgdGhpc1xuICAgICAgICAgICBy
ZXF1aXJlbWVudCB3YXMgZXhwcmVzc2VkIGF0IGEgaGlnaCBsZXZlbCBzbyBhcyB0byBub3Rc
biAgICAgICAgICAgcHJlY2x1ZGUgYW55IHBhcnRpY3VsYXIgc29sdXRpb24uICBJdCBpcyBl
eHBlY3RlZCB0aGF0IHRoZVxuICAgICAgICAgICBzb2x1dGlvbiB3aWxsIGFkZHJlc3MgdGhp
cyBpbiBtb3JlIGRldGFpbC5cblxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gVGhlIHdvcmtp
bmcgZ3JvdXAgaXMgbm90IGF3YXJlIG9mIGFueSBzdWNoXG4gICAgICAgICAgIHZ1bG5lcmFi
aWxpdGllcy4gIFtUaGlzIG1heSBuZWVkIGZ1cnRoZXIgYW5hbHlzaXMuXVxuXG5cblxuXG5c
bktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBKdWx5IDEyLCAyMDE1ICAgICAg
ICAgICAgICAgIFtQYWdlIDQzXVxuX1xuSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAg
ICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDE1XG5cblxuICAgUkVR
IDI4OiBUaGUgc29sdXRpb24gTVVTVCBOT1QgZGVwZW5kIG9uIGJlaW5nIGRlcGxveWVkIGlu
XG4gICAgICAgICAgIGVudmlyb25tZW50cyB3aGVyZSBhbGwgRGlhbWV0ZXIgbm9kZXMgYXJl
IGNvbXBsZXRlbHkgdHJ1c3RlZC5cbiAgICAgICAgICAgSXQgU0hPVUxEIG9wZXJhdGUgYXMg
ZWZmZWN0aXZlbHkgYXMgcG9zc2libGUgaW4gZW52aXJvbm1lbnRzXG4gICAgICAgICAgIHdo
ZXJlIG90aGVyIG5vZGVzIGFyZSBtYWxpY2lvdXM7IHRoaXMgaW5jbHVkZXMgcHJldmVudGlu
Z1xuICAgICAgICAgICBtYWxpY2lvdXMgbm9kZXMgZnJvbSBvYnRhaW5pbmcgbW9yZSB0aGFu
IGEgZmFpciBzaGFyZSBvZlxuICAgICAgICAgICBzZXJ2aWNlLiAgTm90ZSB0aGF0IHRoaXMg
ZG9lcyBub3QgaW1wbHkgYW55IHJlc3BvbnNpYmlsaXR5IG9uXG4gICAgICAgICAgIHRoZSBz
b2x1dGlvbiB0byBkZXRlY3QsIG9yIHRha2UgY291bnRlcm1lYXN1cmVzIGFnYWluc3QsXG4g
ICAgICAgICAgIG1hbGljaW91cyBub2Rlcy5cblxuICAgICAgICAgICAqUGFydGlhbGx5IENv
bXBsaWFudCouIFNpbmNlIGFsbCBEaWFtZXRlciBzZWN1cml0eSBpc1xuICAgICAgICAgICBj
dXJyZW50bHkgYXQgdGhlIHRyYW5zcG9ydCBsYXllciwgbm9kZXMgbXVzdCB0cnVzdCBpbW1l
ZGlhdGVcbiAgICAgICAgICAgcGVlcnMgdG8gZW5mb3JjZSB0cnVzdCBwb2xpY2llcy4gIEhv
d2V2ZXIsIHRoZXJlIGFyZVxuICAgICAgICAgICBzaXR1YXRpb25zIHdoZXJlIGEgRE9JQyBu
b2RlIGNhbm5vdCBkZXRlcm1pbmUgaWYgYW4gaW1tZWRpYXRlXG4gICAgICAgICAgIHBlZXIg
c3VwcG9ydHMgRE9JQy4gIFRoZSBhdXRob3JzIHJlY29tbWVuZCBhbiBleHBlcnQgc2VjdXJp
dHlcbiAgICAgICAgICAgcmV2aWV3LlxuXG5cblxuICAgUkVRIDI5OiBJdCBNVVNUIGJlIHBv
c3NpYmxlIGZvciBhIHN1cHBvcnRpbmcgbm9kZSB0byBtYWtlXG4gICAgICAgICAgIGF1dGhv
cml6YXRpb24gZGVjaXNpb25zIGFib3V0IHdoYXQgaW5mb3JtYXRpb24gd2lsbCBiZSBzZW50
XG4gICAgICAgICAgIHRvIHBlZXIgbm9kZXMgYmFzZWQgb24gdGhlIGlkZW50aXR5IG9mIHRo
b3NlIG5vZGVzLiAgVGhpc1xuICAgICAgICAgICBhbGxvd3MgYSBkb21haW4gYWRtaW5pc3Ry
YXRvciB3aG8gY29uc2lkZXJzIHRoZSBsb2FkIG9mIHRoZWlyXG4gICAgICAgICAgIG5vZGVz
IHRvIGJlIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiB0byByZXN0cmljdCBhY2Nlc3MgdG8gdGhh
dFxuICAgICAgICAgICBpbmZvcm1hdGlvbi4gIE9mIGNvdXJzZSwgaW4gc3VjaCBjYXNlcywg
dGhlcmUgaXMgbm9cbiAgICAgICAgICAgZXhwZWN0YXRpb24gdGhhdCB0aGUgc29sdXRpb24g
aXRzZWxmIHdpbGwgaGVscCBwcmV2ZW50XG4gICAgICAgICAgIG92ZXJsb2FkIGZyb20gdGhh
dCBwZWVyIG5vZGUuXG5cbiAgICAgICAgICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiAoU2Vl
IHJlc3BvbnNlIHRvIHByZXZpb3VzXG4gICAgICAgICAgIHJlcXVpcmVtZW50LilcblxuXG5c
biAgIFJFUSAzMDogVGhlIHNvbHV0aW9uIE1VU1QgTk9UIGludGVyZmVyZSB3aXRoIGFueSBE
aWFtZXRlci1jb21wbGlhbnRcbiAgICAgICAgICAgbWV0aG9kIHRoYXQgYSBub2RlIG1heSB1
c2UgdG8gcHJvdGVjdCBpdHNlbGYgZnJvbSBvdmVybG9hZFxuICAgICAgICAgICBmcm9tIG5v
bi1zdXBwb3J0aW5nIG5vZGVzIG9yIGZyb20gZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcy5c
blxuICAgICAgICAgICAqQ29tcGxpYW50Ki4gVGhlIHNwZWNpZmljYXRpb24gcmVjb21tZW5k
cyB0aGF0IGFueSBzdWNoXG4gICAgICAgICAgIHByb3RlY3Rpb24gbWVjaGFuaXNtIG5lZWRl
ZCB3aXRob3V0IERPSUMgc2hvdWxkIGNvbnRpbnVlIHRvXG4gICAgICAgICAgIGJlIGVtcGxv
eWVkIHdpdGggRE9JQy5cblxuXG5cbkMuNi43LiAgRmxleGliaWxpdHkgYW5kIEV4dGVuc2li
aWxpdHlcblxuICAgUkVRIDMxOiBUaGVyZSBhcmUgbXVsdGlwbGUgc2l0dWF0aW9ucyB3aGVy
ZSBhIERpYW1ldGVyIG5vZGUgbWF5IGJlXG4gICAgICAgICAgIG92ZXJsb2FkZWQgZm9yIHNv
bWUgcHVycG9zZXMgYnV0IG5vdCBvdGhlcnMuICBGb3IgZXhhbXBsZSxcbiAgICAgICAgICAg
dGhpcyBjYW4gaGFwcGVuIHRvIGFuIGFnZW50IG9yIHNlcnZlciB0aGF0IHN1cHBvcnRzIG11
bHRpcGxlXG4gICAgICAgICAgIGFwcGxpY2F0aW9ucywgb3Igd2hlbiBhIHNlcnZlciBkZXBl
bmRzIG9uIG11bHRpcGxlIGV4dGVybmFsXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAg
ICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0NF1cbl9c
bkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAg
ICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgICAgICAgICAgcmVzb3VyY2VzLCBzb21lIG9m
IHdoaWNoIG1heSBiZWNvbWUgb3ZlcmxvYWRlZCB3aGlsZSBvdGhlcnNcbiAgICAgICAgICAg
YXJlIGZ1bGx5IGF2YWlsYWJsZS4gIFRoZSBzb2x1dGlvbiBNVVNUIGFsbG93IERpYW1ldGVy
IG5vZGVzXG4gICAgICAgICAgIHRvIGluZGljYXRlIG92ZXJsb2FkIHdpdGggc3VmZmljaWVu
dCBncmFudWxhcml0eSB0byBhbGxvd1xuICAgICAgICAgICBjbGllbnRzIHRvIHRha2UgYWN0
aW9uIGJhc2VkIG9uIHRoZSBvdmVybG9hZGVkIHJlc291cmNlc1xuICAgICAgICAgICB3aXRo
b3V0IHVucmVhc29uYWJseSBmb3JjaW5nIGF2YWlsYWJsZSBjYXBhY2l0eSB0byBnbyB1bnVz
ZWQuXG4gICAgICAgICAgIFRoZSBzb2x1dGlvbiBNVVNUIHN1cHBvcnQgc3BlY2lmaWNhdGlv
biBvZiBvdmVybG9hZFxuICAgICAgICAgICBpbmZvcm1hdGlvbiB3aXRoIGdyYW51bGFyaXRp
ZXMgb2YgYXQgbGVhc3QgIkRpYW1ldGVyIG5vZGUiLFxuICAgICAgICAgICAicmVhbG0iLCBh
bmQgIkRpYW1ldGVyIGFwcGxpY2F0aW9uIiBhbmQgTVVTVCBhbGxvd1xuICAgICAgICAgICBl
eHRlbnNpYmlsaXR5IGZvciBvdGhlcnMgdG8gYmUgYWRkZWQgaW4gdGhlIGZ1dHVyZS5cblxu
ICAgICAgICAgICAqUGFydGlhbGx5IENvbXBsaWFudCouIEFsbCBET0lDIG92ZXJsb2FkIHJl
cG9ydHMgYXJlIHNjb3BlZFxuICAgICAgICAgICB0byB0aGUgc3BlY2lmaWMgYXBwbGljYXRp
b24gYW5kIHJlYWxtLiAgSW5zaWRlIHRoYXQgc2NvcGUsXG4gICAgICAgICAgIG92ZXJsb2Fk
IGNhbiBiZSByZXBvcnRlZCBhdCB0aGUgc3BlY2lmaWMgc2VydmVyIG9yIHdob2xlXG4gICAg
ICAgICAgIHJlYWxtIHNjb3BlLiAgQXMgY3VycmVudGx5IHNwZWNpZmllZCwgRE9JQyBjYW5u
b3QgaW5kaWNhdGVcbiAgICAgICAgICAgbG9jYWwgb3ZlcmxvYWQgZm9yIGFuIGFnZW50LiAg
QXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLFxuICAgICAgICAgICB0aGUgRElNRSB3b3Jr
aW5nIGdyb3VwIGhhcyBwbGFucyB0byB3b3JrIG9uIGFuIGFnZW50LW92ZXJsb2FkXG4gICAg
ICAgICAgIGV4dGVuc2lvbi5cblxuICAgICAgICAgICBET0lDIGFsbG93cyBuZXcgInNjb3Bl
cyIgdGhyb3VnaCB0aGUgdXNlIG9mIGV4dGVuZGVkIHJlcG9ydFxuICAgICAgICAgICB0eXBl
cy5cblxuXG5cbiAgIFJFUSAzMjogVGhlIHNvbHV0aW9uIE1VU1QgcHJvdmlkZSBhIG1ldGhv
ZCBmb3IgZXh0ZW5kaW5nIHRoZVxuICAgICAgICAgICBpbmZvcm1hdGlvbiBjb21tdW5pY2F0
ZWQgYW5kIHRoZSBhbGdvcml0aG1zIHVzZWQgZm9yIG92ZXJsb2FkXG4gICAgICAgICAgIGNv
bnRyb2wuXG5cbiAgICAgICAgICAgKkNvbXBsaWFudCouIERPSUMgYWxsb3dzIG5ldyByZXBv
cnQgdHlwZXMgYW5kIGFiYXRlbWVudFxuICAgICAgICAgICBhbGdvcml0aG1zIHRvIGJlIGNy
ZWF0ZWQuICBUaGVzZSBtYXkgYmUgaW5kaWNhdGVkIHVzaW5nIHRoZVxuICAgICAgICAgICBP
Qy1TdXBwb3J0ZWQtRmVhdHVyZXMgQVZQLlxuXG5cblxuICAgUkVRIDMzOiBUaGUgc29sdXRp
b24gTVVTVCBwcm92aWRlIGEgZGVmYXVsdCBhbGdvcml0aG0gdGhhdCBpc1xuICAgICAgICAg
ICBtYW5kYXRvcnkgdG8gaW1wbGVtZW50LlxuXG4gICAgICAgICAgICpDb21wbGlhbnQqLiBU
aGUgImxvc3MiIGFsZ29yaXRobSBpcyBtYW5kYXRvcnkgdG8gaW1wbGVtZW50LlxuXG5cblxu
ICAgUkVRIDM0OiBUaGUgc29sdXRpb24gU0hPVUxEIHByb3ZpZGUgYSBtZXRob2QgZm9yIGV4
Y2hhbmdpbmcgb3ZlcmxvYWRcbiAgICAgICAgICAgYW5kIGxvYWQgaW5mb3JtYXRpb24gYmV0
d2VlbiBlbGVtZW50cyB0aGF0IGFyZSBjb25uZWN0ZWQgYnlcbiAgICAgICAgICAgaW50ZXJt
ZWRpYXJpZXMgdGhhdCBkbyBub3Qgc3VwcG9ydCB0aGUgc29sdXRpb24uXG5cbiAgICAgICAg
ICAgKlBhcnRpYWxseSBDb21wbGlhbnQqLiBET0lDIGluZm9ybWF0aW9uIGNhbiB0cmF2ZXJz
ZSBub24tXG4gICAgICAgICAgIHN1cHBvcnRpbmcgYWdlbnRzLCBhcyBsb25nIGFzIHRob3Nl
IGFnZW50cyBkbyBub3QgbW9kaWZ5XG4gICAgICAgICAgIGNlcnRhaW4gQVZQcy4gKGUuZy4s
IE9yaWdpbi1Ib3N0KS4gIERPSUMgZG9lcyBub3QgcHJvdmlkZSBhXG4gICAgICAgICAgIHdh
eSBmb3Igc3VwcG9ydGluZyBub2RlcyB0byBkZXRlY3Qgc3VjaCBtb2RpZmljYXRpb24uXG5c
blxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAg
ICAgICAgICAgICAgICBbUGFnZSA0NV1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
ICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5cbkFw
cGVuZGl4IEQuICBDb25zaWRlcmF0aW9ucyBmb3IgQXBwbGljYXRpb25zIEludGVncmF0aW5n
IHRoZSBET0lDXG4gICAgICAgICAgICAgU29sdXRpb25cblxuICAgVGhpcyBzZWN0aW9uIG91
dGxpbmVzIGNvbnNpZGVyYXRpb25zIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB3aGVuXG4g
ICBpbnRlZ3JhdGluZyB0aGUgRE9JQyBzb2x1dGlvbiBpbnRvIERpYW1ldGVyIGFwcGxpY2F0
aW9ucy5cblxuRC4xLiAgQXBwbGljYXRpb24gQ2xhc3NpZmljYXRpb25cblxuICAgVGhlIGZv
bGxvd2luZyBpcyBhIGNsYXNzaWZpY2F0aW9uIG9mIERpYW1ldGVyIGFwcGxpY2F0aW9ucyBh
bmRcbiAgIHJlcXVlc3QgdHlwZXMuICBUaGlzIGRpc2N1c3Npb24gaXMgbWVhbnQgdG8gZG9j
dW1lbnQgZmFjdG9ycyB0aGF0XG4gICBwbGF5IGludG8gZGVjaXNpb25zIG1hZGUgYnkgdGhl
IERpYW1ldGVyIGlkZW50aXR5IHJlc3BvbnNpYmxlIGZvclxuICAgaGFuZGxpbmcgb3Zlcmxv
YWQgcmVwb3J0cy5cblxuICAgU2VjdGlvbiA4LjEgb2YgW1JGQzY3MzNdIGRlZmluZXMgdHdv
IHN0YXRlIG1hY2hpbmVzIHRoYXQgaW1wbHkgdHdvXG4gICB0eXBlcyBvZiBhcHBsaWNhdGlv
bnMsIHNlc3Npb24tbGVzcyBhbmQgc2Vzc2lvbi1iYXNlZCBhcHBsaWNhdGlvbnMuXG4gICBU
aGUgcHJpbWFyeSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHlwZXMgb2YgYXBwbGljYXRp
b25zIGlzIHRoZVxuICAgbGlmZXRpbWUgb2YgU2Vzc2lvbi1JZHMuXG5cbiAgIEZvciBzZXNz
aW9uLWJhc2VkIGFwcGxpY2F0aW9ucywgdGhlIFNlc3Npb24tSWQgaXMgdXNlZCB0byB0aWVc
biAgIG11bHRpcGxlIHJlcXVlc3RzIGludG8gYSBzaW5nbGUgc2Vzc2lvbi5cblxuICAgVGhl
IENyZWRpdC1Db250cm9sIGFwcGxpY2F0aW9uIGRlZmluZWQgaW4gW1JGQzQwMDZdIGlzIGFu
IGV4YW1wbGUgb2ZcbiAgIGEgRGlhbWV0ZXIgc2Vzc2lvbi1iYXNlZCBhcHBsaWNhdGlvbi5c
blxuICAgSW4gc2Vzc2lvbi1sZXNzIGFwcGxpY2F0aW9ucywgdGhlIGxpZmV0aW1lIG9mIHRo
ZSBTZXNzaW9uLUlkIGlzIGFcbiAgIHNpbmdsZSBEaWFtZXRlciB0cmFuc2FjdGlvbiwgaS5l
LiB0aGUgc2Vzc2lvbiBpcyBpbXBsaWNpdGx5XG4gICB0ZXJtaW5hdGVkIGFmdGVyIGEgc2lu
Z2xlIERpYW1ldGVyIHRyYW5zYWN0aW9uIGFuZCBhIG5ldyBTZXNzaW9uLUlkXG4gICBpcyBn
ZW5lcmF0ZWQgZm9yIGVhY2ggRGlhbWV0ZXIgcmVxdWVzdC5cblxuICAgRm9yIHRoZSBwdXJw
b3NlcyBvZiB0aGlzIGRpc2N1c3Npb24sIHNlc3Npb24tbGVzcyBhcHBsaWNhdGlvbnMgYXJl
XG4gICBmdXJ0aGVyIGRpdmlkZWQgaW50byB0d28gdHlwZXMgb2YgYXBwbGljYXRpb25zOlxu
XG4gICBTdGF0ZWxlc3MgQXBwbGljYXRpb25zOlxuXG4gICAgICBSZXF1ZXN0cyB3aXRoaW4g
YSBzdGF0ZWxlc3MgYXBwbGljYXRpb24gaGF2ZSBubyByZWxhdGlvbnNoaXAgdG9cbiAgICAg
IGVhY2ggb3RoZXIuICBUaGUgM0dQUCBkZWZpbmVkIFMxMyBhcHBsaWNhdGlvbiBpcyBhbiBl
eGFtcGxlIG9mIGFcbiAgICAgIHN0YXRlbGVzcyBhcHBsaWNhdGlvbiBbUzEzXSwgd2hlcmUg
b25seSBhIERpYW1ldGVyIGNvbW1hbmQgaXNcbiAgICAgIGRlZmluZWQgYmV0d2VlbiBhIGNs
aWVudCBhbmQgYSBzZXJ2ZXIgYW5kIG5vIHN0YXRlIGlzIG1haW50YWluZWRcbiAgICAgIGJl
dHdlZW4gdHdvIGNvbnNlY3V0aXZlIHRyYW5zYWN0aW9ucy5cblxuICAgUHNldWRvLVNlc3Np
b24gQXBwbGljYXRpb25zOlxuXG4gICAgICBBcHBsaWNhdGlvbnMgdGhhdCBkbyBub3QgcmVs
eSBvbiB0aGUgU2Vzc2lvbi1JZCBBVlAgZm9yXG4gICAgICBjb3JyZWxhdGlvbiBvZiBhcHBs
aWNhdGlvbiBtZXNzYWdlcyByZWxhdGVkIHRvIHRoZSBzYW1lIHNlc3Npb25cbiAgICAgIGJ1
dCB1c2Ugb3RoZXIgc2Vzc2lvbi1yZWxhdGVkIGluZm9ybWF0aW9uIGluIHRoZSBEaWFtZXRl
ciByZXF1ZXN0c1xuICAgICAgZm9yIHRoaXMgcHVycG9zZS4gIFRoZSAzR1BQIGRlZmluZWQg
Q3ggYXBwbGljYXRpb24gW0N4XSBpcyBhblxuICAgICAgZXhhbXBsZSBvZiBhIHBzZXVkby1z
ZXNzaW9uIGFwcGxpY2F0aW9uLlxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAg
IEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0Nl1cbl9cbklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAg
ICAgIEphbnVhcnkgMjAxNVxuXG5cbiAgIFRoZSBoYW5kbGluZyBvZiBvdmVybG9hZCByZXBv
cnRzIG11c3QgdGFrZSB0aGUgdHlwZSBvZiBhcHBsaWNhdGlvblxuICAgaW50byBjb25zaWRl
cmF0aW9uLCBhcyBkaXNjdXNzZWQgaW4gQXBwZW5kaXggRC4yLlxuXG5ELjIuICBBcHBsaWNh
dGlvbiBUeXBlIE92ZXJsb2FkIEltcGxpY2F0aW9uc1xuXG4gICBUaGlzIHNlY3Rpb24gZGlz
Y3Vzc2VzIGNvbnNpZGVyYXRpb25zIGZvciBtaXRpZ2F0aW5nIG92ZXJsb2FkXG4gICByZXBv
cnRlZCBieSBhIERpYW1ldGVyIGVudGl0eS4gIFRoaXMgZGlzY3Vzc2lvbiBmb2N1c2VzIG9u
IHRoZSB0eXBlXG4gICBvZiBhcHBsaWNhdGlvbi4gIEFwcGVuZGl4IEQuMyBkaXNjdXNzZXMg
Y29uc2lkZXJhdGlvbnMgZm9yIGhhbmRsaW5nXG4gICB2YXJpb3VzIHJlcXVlc3QgdHlwZXMg
d2hlbiB0aGUgdGFyZ2V0IHNlcnZlciBpcyBrbm93biB0byBiZSBpbiBhblxuICAgb3Zlcmxv
YWRlZCBzdGF0ZS5cblxuICAgVGhlc2UgZGlzY3Vzc2lvbnMgYXNzdW1lIHRoYXQgdGhlIHN0
cmF0ZWd5IGZvciBtaXRpZ2F0aW5nIHRoZVxuICAgcmVwb3J0ZWQgb3ZlcmxvYWQgaXMgdG8g
cmVkdWNlIHRoZSBvdmVyYWxsIHdvcmtsb2FkIHNlbnQgdG8gdGhlXG4gICBvdmVybG9hZGVk
IGVudGl0eS4gIFRoZSBjb25jZXB0IG9mIGFwcGx5aW5nIG92ZXJsb2FkIHRyZWF0bWVudCB0
b1xuICAgcmVxdWVzdHMgdGFyZ2V0ZWQgZm9yIGFuIG92ZXJsb2FkZWQgRGlhbWV0ZXIgZW50
aXR5IGlzIGluaGVyZW50IHRvXG4gICB0aGlzIGRpc2N1c3Npb24uICBUaGUgbWV0aG9kIHVz
ZWQgdG8gcmVkdWNlIG9mZmVyZWQgbG9hZCBpcyBub3RcbiAgIHNwZWNpZmllZCBoZXJlIGJ1
dCBjb3VsZCBpbmNsdWRlIHJvdXRpbmcgcmVxdWVzdHMgdG8gYW5vdGhlciBEaWFtZXRlclxu
ICAgZW50aXR5IGtub3duIHRvIGJlIGFibGUgdG8gaGFuZGxlIHRoZW0sIG9yIGl0IGNvdWxk
IG1lYW4gcmVqZWN0aW5nXG4gICBjZXJ0YWluIHJlcXVlc3RzLiAgRm9yIGEgRGlhbWV0ZXIg
YWdlbnQsIHJlamVjdGluZyByZXF1ZXN0cyB3aWxsXG4gICB1c3VhbGx5IG1lYW4gZ2VuZXJh
dGluZyBhcHByb3ByaWF0ZSBEaWFtZXRlciBlcnJvciByZXNwb25zZXMuICBGb3IgYVxuICAg
RGlhbWV0ZXIgY2xpZW50LCByZWplY3RpbmcgcmVxdWVzdHMgd2lsbCBkZXBlbmQgdXBvbiB0
aGUgYXBwbGljYXRpb24uXG4gICBGb3IgZXhhbXBsZSwgaXQgY291bGQgbWVhbiBnaXZpbmcg
YW4gaW5kaWNhdGlvbiB0byB0aGUgZW50aXR5XG4gICByZXF1ZXN0aW5nIHRoZSBEaWFtZXRl
ciBzZXJ2aWNlIHRoYXQgdGhlIG5ldHdvcmsgaXMgYnVzeSBhbmQgdG8gdHJ5XG4gICBhZ2Fp
biBsYXRlci5cblxuICAgU3RhdGVsZXNzIEFwcGxpY2F0aW9uczpcblxuICAgICAgQnkgZGVm
aW5pdGlvbiB0aGVyZSBpcyBubyByZWxhdGlvbnNoaXAgYmV0d2VlbiBpbmRpdmlkdWFsIHJl
cXVlc3RzXG4gICAgICBpbiBhIHN0YXRlbGVzcyBhcHBsaWNhdGlvbi4gIEFzIGEgcmVzdWx0
LCB3aGVuIGEgcmVxdWVzdCBpcyBzZW50XG4gICAgICBvciByZWxheWVkIHRvIGFuIG92ZXJs
b2FkZWQgRGlhbWV0ZXIgZW50aXR5IC0gZWl0aGVyIGEgRGlhbWV0ZXJcbiAgICAgIFNlcnZl
ciBvciBhIERpYW1ldGVyIEFnZW50IC0gdGhlIHNlbmRpbmcgb3IgcmVsYXlpbmcgZW50aXR5
IGNhblxuICAgICAgY2hvb3NlIHRvIGFwcGx5IHRoZSBvdmVybG9hZCB0cmVhdG1lbnQgdG8g
YW55IHJlcXVlc3QgdGFyZ2V0ZWQgZm9yXG4gICAgICB0aGUgb3ZlcmxvYWRlZCBlbnRpdHku
XG5cbiAgIFBzZXVkby1TZXNzaW9uIEFwcGxpY2F0aW9uczpcblxuICAgICAgRm9yIHBzZXVk
by1zZXNzaW9uIGFwcGxpY2F0aW9ucywgdGhlcmUgaXMgYW4gaW1wbGllZCBvcmRlcmluZyBv
ZlxuICAgICAgcmVxdWVzdHMuICBBcyBhIHJlc3VsdCwgZGVjaXNpb25zIGFib3V0IHdoaWNo
IHJlcXVlc3RzIHRvd2FyZHMgYW5cbiAgICAgIG92ZXJsb2FkZWQgZW50aXR5IHRvIHJlamVj
dCBjb3VsZCB0YWtlIHRoZSBjb21tYW5kIGNvZGUgb2YgdGhlXG4gICAgICByZXF1ZXN0IGlu
dG8gY29uc2lkZXJhdGlvbi4gIFRoaXMgZ2VuZXJhbGx5IG1lYW5zIHRoYXRcbiAgICAgIHRy
YW5zYWN0aW9ucyBsYXRlciBpbiB0aGUgc2VxdWVuY2Ugb2YgdHJhbnNhY3Rpb25zIHNob3Vs
ZCBiZSBnaXZlblxuICAgICAgbW9yZSBmYXZvcmFibGUgdHJlYXRtZW50IHRoYW4gbWVzc2Fn
ZXMgZWFybGllciBpbiB0aGUgc2VxdWVuY2UuXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgbW9y
ZSB3b3JrIGhhcyBhbHJlYWR5IGJlZW4gZG9uZSBieSB0aGUgRGlhbWV0ZXJcbiAgICAgIG5l
dHdvcmsgZm9yIHRob3NlIHRyYW5zYWN0aW9ucyB0aGF0IG9jY3VyIGxhdGVyIGluIHRoZSBz
ZXF1ZW5jZS5cbiAgICAgIFJlamVjdGluZyB0aGVtIGNvdWxkIHJlc3VsdCBpbiBpbmNyZWFz
aW5nIHRoZSBsb2FkIG9uIHRoZSBuZXR3b3JrXG4gICAgICBhcyB0aGUgdHJhbnNhY3Rpb25z
IGVhcmxpZXIgaW4gdGhlIHNlcXVlbmNlIG1pZ2h0IGFsc28gbmVlZCB0byBiZVxuICAgICAg
cmVwZWF0ZWQuXG5cblxuXG5cbktvcmhvbmVuLCBldCBhbC4gICAgICAgICAgRXhwaXJlcyBK
dWx5IDEyLCAyMDE1ICAgICAgICAgICAgICAgIFtQYWdlIDQ3XVxuX1xuSW50ZXJuZXQtRHJh
ZnQgICAgICAgICAgICAgICAgICAgIERPSUMgICAgICAgICAgICAgICAgICAgICAgSmFudWFy
eSAyMDE1XG5cblxuICAgU2Vzc2lvbi1CYXNlZCBBcHBsaWNhdGlvbnM6XG5cbiAgICAgIE92
ZXJsb2FkIGhhbmRsaW5nIGZvciBzZXNzaW9uLWJhc2VkIGFwcGxpY2F0aW9ucyBtdXN0IHRh
a2UgaW50b1xuICAgICAgY29uc2lkZXJhdGlvbiB0aGUgd29yayBsb2FkIGFzc29jaWF0ZWQg
d2l0aCBzZXR0aW5nIHVwIGFuZFxuICAgICAgbWFpbnRhaW5pbmcgYSBzZXNzaW9uLiAgQXMg
c3VjaCwgdGhlIGVudGl0eSBzZW5kaW5nIHJlcXVlc3RzXG4gICAgICB0b3dhcmRzIGFuIG92
ZXJsb2FkZWQgRGlhbWV0ZXIgZW50aXR5IGZvciBhIHNlc3Npb24tYmFzZWRcbiAgICAgIGFw
cGxpY2F0aW9uIG1pZ2h0IHRlbmQgdG8gcmVqZWN0IG5ldyBzZXNzaW9uIHJlcXVlc3RzIHBy
aW9yIHRvXG4gICAgICByZWplY3RpbmcgaW50cmEtc2Vzc2lvbiByZXF1ZXN0cy4gIEluIGFk
ZGl0aW9uLCBzZXNzaW9uIGVuZGluZ1xuICAgICAgcmVxdWVzdHMgbWlnaHQgYmUgZ2l2ZW4g
YSBsb3dlciBwcm9iYWJpbGl0eSBvZiBiZWluZyByZWplY3RlZCBhc1xuICAgICAgcmVqZWN0
aW5nIHNlc3Npb24gZW5kaW5nIHJlcXVlc3RzIGNvdWxkIHJlc3VsdCBpbiBzZXNzaW9uIHN0
YXR1c1xuICAgICAgYmVpbmcgb3V0IG9mIHN5bmMgYmV0d2VlbiB0aGUgRGlhbWV0ZXIgY2xp
ZW50cyBhbmQgc2VydmVycy5cbiAgICAgIEFwcGxpY2F0aW9uIGRlc2lnbmVycyB0aGF0IHdv
dWxkIGRlY2lkZSB0byByZWplY3QgbWlkLXNlc3Npb25cbiAgICAgIHJlcXVlc3RzIHdpbGwg
bmVlZCB0byBjb25zaWRlciB3aGV0aGVyIHRoZSByZWplY3Rpb24gaW52YWxpZGF0ZXNcbiAg
ICAgIHRoZSBzZXNzaW9uIGFuZCBhbnkgcmVzdWx0aW5nIHNlc3Npb24gY2xlYW51cCBwcm9j
ZWR1cmVzLlxuXG5ELjMuICBSZXF1ZXN0IFRyYW5zYWN0aW9uIENsYXNzaWZpY2F0aW9uXG5c
biAgIEluZGVwZW5kZW50IFJlcXVlc3Q6XG5cbiAgICAgIEFuIGluZGVwZW5kZW50IHJlcXVl
c3QgaXMgbm90IGNvcnJlbGF0ZWQgdG8gYW55IG90aGVyIHJlcXVlc3RzXG4gICAgICBhbmQs
IGFzIHN1Y2gsIHRoZSBsaWZldGltZSBvZiB0aGUgc2Vzc2lvbi1pZCBpcyBjb25zdHJhaW5l
ZCB0byBhblxuICAgICAgaW5kaXZpZHVhbCB0cmFuc2FjdGlvbi5cblxuICAgU2Vzc2lvbi1J
bml0aWF0aW5nIFJlcXVlc3Q6XG5cbiAgICAgIEEgc2Vzc2lvbi1pbml0aWF0aW5nIHJlcXVl
c3QgaXMgdGhlIGluaXRpYWwgbWVzc2FnZSB0aGF0XG4gICAgICBlc3RhYmxpc2hlcyBhIERp
YW1ldGVyIHNlc3Npb24uICBUaGUgQUNSIG1lc3NhZ2UgZGVmaW5lZCBpblxuICAgICAgW1JG
QzY3MzNdIGlzIGFuIGV4YW1wbGUgb2YgYSBzZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdC5c
blxuICAgQ29ycmVsYXRlZCBTZXNzaW9uLUluaXRpYXRpbmcgUmVxdWVzdDpcblxuICAgICAg
VGhlcmUgYXJlIGNhc2VzIHdoZW4gbXVsdGlwbGUgc2Vzc2lvbi1pbml0aWF0ZWQgcmVxdWVz
dHMgbXVzdCBiZVxuICAgICAgY29ycmVsYXRlZCBhbmQgbWFuYWdlZCBieSB0aGUgc2FtZSBE
aWFtZXRlciBzZXJ2ZXIuICBJdCBpcyBub3RhYmx5XG4gICAgICB0aGUgY2FzZSBpbiB0aGUg
M0dQUCBQQ0MgYXJjaGl0ZWN0dXJlIFtQQ0NdLCB3aGVyZSBtdWx0aXBsZVxuICAgICAgYXBw
YXJlbnRseSBpbmRlcGVuZGVudCBEaWFtZXRlciBhcHBsaWNhdGlvbiBzZXNzaW9ucyBhcmUg
YWN0dWFsbHlcbiAgICAgIGNvcnJlbGF0ZWQgYW5kIG11c3QgYmUgaGFuZGxlZCBieSB0aGUg
c2FtZSBEaWFtZXRlciBzZXJ2ZXIuXG5cbiAgIEludHJhLVNlc3Npb24gUmVxdWVzdDpcblxu
ICAgICAgQW4gaW50cmEtc2Vzc2lvbiByZXF1ZXN0IGlzIGEgcmVxdWVzdCB0aGF0IHVzZXMg
dGhlIHNhbWUgU2Vzc2lvbi1cbiAgICAgIElkIHRoYW4gdGhlIG9uZSB1c2VkIGluIGEgcHJl
dmlvdXMgcmVxdWVzdC4gIEFuIGludHJhLXNlc3Npb25cbiAgICAgIHJlcXVlc3QgZ2VuZXJh
bGx5IG5lZWRzIHRvIGJlIGRlbGl2ZXJlZCB0byB0aGUgc2VydmVyIHRoYXQgaGFuZGxlZFxu
ICAgICAgdGhlIHNlc3Npb24gY3JlYXRpbmcgcmVxdWVzdCBmb3IgdGhlIHNlc3Npb24uICBU
aGUgU1RSIG1lc3NhZ2VcbiAgICAgIGRlZmluZWQgaW4gW1JGQzY3MzNdIGlzIGFuIGV4YW1w
bGUgb2YgYW4gaW50cmEtc2Vzc2lvbiByZXF1ZXN0LlxuXG4gICBQc2V1ZG8tU2Vzc2lvbiBS
ZXF1ZXN0czpcblxuXG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMg
SnVseSAxMiwgMjAxNSAgICAgICAgICAgICAgICBbUGFnZSA0OF1cbl9cbkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVh
cnkgMjAxNVxuXG5cbiAgICAgIFBzZXVkby1zZXNzaW9uIHJlcXVlc3RzIGFyZSBpbmRlcGVu
ZGVudCByZXF1ZXN0cyBhbmQgZG8gbm90IHVzZVxuICAgICAgdGhlIHNhbWUgU2Vzc2lvbi1J
ZCBidXQgYXJlIGNvcnJlbGF0ZWQgYnkgb3RoZXIgc2Vzc2lvbi1yZWxhdGVkXG4gICAgICBp
bmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhlIHJlcXVlc3QuICBUaGVyZSBleGlzdHMgRGlh
bWV0ZXJcbiAgICAgIGFwcGxpY2F0aW9ucyB0aGF0IGRlZmluZSBhbiBleHBlY3RlZCBvcmRl
cmluZyBvZiB0cmFuc2FjdGlvbnMuXG4gICAgICBUaGlzIHNlcXVlbmNpbmcgb2YgaW5kZXBl
bmRlbnQgdHJhbnNhY3Rpb25zIHJlc3VsdHMgaW4gYSBwc2V1ZG9cbiAgICAgIHNlc3Npb24u
ICBUaGUgQUlSLCBNQVIgYW5kIFNBUiByZXF1ZXN0cyBpbiB0aGUgM0dQUCBkZWZpbmVkIEN4
XG4gICAgICBbQ3hdIGFwcGxpY2F0aW9uIGFyZSBleGFtcGxlcyBvZiBwc2V1ZG8tc2Vzc2lv
biByZXF1ZXN0cy5cblxuRC40LiAgUmVxdWVzdCBUeXBlIE92ZXJsb2FkIEltcGxpY2F0aW9u
c1xuXG4gICBUaGUgcmVxdWVzdCBjbGFzc2VzIGlkZW50aWZpZWQgaW4gQXBwZW5kaXggRC4z
IGhhdmUgaW1wbGljYXRpb25zIG9uXG4gICBkZWNpc2lvbnMgYWJvdXQgd2hpY2ggcmVxdWVz
dHMgc2hvdWxkIGJlIHRocm90dGxlZCBmaXJzdC4gIFRoZVxuICAgZm9sbG93aW5nIGxpc3Qg
b2YgcmVxdWVzdCB0cmVhdG1lbnQgcmVnYXJkaW5nIHRocm90dGxpbmcgaXMgcHJvdmlkZWRc
biAgIGFzIGd1aWRlbGluZXMgZm9yIGFwcGxpY2F0aW9uIGRlc2lnbmVycyB3aGVuIGltcGxl
bWVudGluZyB0aGVcbiAgIERpYW1ldGVyIG92ZXJsb2FkIGNvbnRyb2wgbWVjaGFuaXNtIGRl
c2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50LiAgVGhlXG4gICBleGFjdCBiZWhhdmlvciByZWdh
cmRpbmcgdGhyb3R0bGluZyBpcyBhIG1hdHRlciBvZiBsb2NhbCBwb2xpY3ksXG4gICB1bmxl
c3Mgc3BlY2lmaWNhbGx5IGRlZmluZWQgZm9yIHRoZSBhcHBsaWNhdGlvbi5cblxuICAgSW5k
ZXBlbmRlbnQgUmVxdWVzdHM6XG5cbiAgICAgIEluZGVwZW5kZW50IHJlcXVlc3RzIGNhbiBn
ZW5lcmFsbHkgYmUgZ2l2ZW4gZXF1YWwgdHJlYXRtZW50IHdoZW5cbiAgICAgIG1ha2luZyB0
aHJvdHRsaW5nIGRlY2lzaW9ucywgdW5sZXNzIG90aGVyd2lzZSBpbmRpY2F0ZWQgYnlcbiAg
ICAgIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cyBvciBsb2NhbCBwb2xpY3kuXG5cbiAgIFNl
c3Npb24tSW5pdGlhdGluZyBSZXF1ZXN0czpcblxuICAgICAgU2Vzc2lvbi1pbml0aWF0aW5n
IHJlcXVlc3RzIG9mdGVuIHJlcHJlc2VudCBtb3JlIHdvcmsgdGhhblxuICAgICAgaW5kZXBl
bmRlbnQgb3IgaW50cmEtc2Vzc2lvbiByZXF1ZXN0cy4gIE1vcmVvdmVyLCBzZXNzaW9uLVxu
ICAgICAgaW5pdGlhdGluZyByZXF1ZXN0cyBhcmUgdHlwaWNhbGx5IGZvbGxvd2VkIGJ5IG90
aGVyIHNlc3Npb24tXG4gICAgICByZWxhdGVkIHJlcXVlc3RzLiAgU2luY2UgdGhlIG1haW4g
b2JqZWN0aXZlIG9mIHRoZSBvdmVybG9hZFxuICAgICAgY29udHJvbCBpcyB0byByZWR1Y2Ug
dGhlIHRvdGFsIG51bWJlciBvZiByZXF1ZXN0cyBzZW50IHRvIHRoZVxuICAgICAgb3Zlcmxv
YWRlZCBlbnRpdHksIHRocm90dGxpbmcgZGVjaXNpb25zIG1pZ2h0IGZhdm9yIGFsbG93aW5n
XG4gICAgICBpbnRyYS1zZXNzaW9uIHJlcXVlc3RzIG92ZXIgc2Vzc2lvbi1pbml0aWF0aW5n
IHJlcXVlc3RzLiAgSW4gdGhlXG4gICAgICBhYnNlbmNlIG9mIGxvY2FsIHBvbGljaWVzIG9y
IGFwcGxpY2F0aW9uIHNwZWNpZmljIHJlcXVpcmVtZW50cyB0b1xuICAgICAgdGhlIGNvbnRy
YXJ5LCBJbmRpdmlkdWFsIHNlc3Npb24taW5pdGlhdGluZyByZXF1ZXN0cyBjYW4gYmUgZ2l2
ZW5cbiAgICAgIGVxdWFsIHRyZWF0bWVudCB3aGVuIG1ha2luZyB0aHJvdHRsaW5nIGRlY2lz
aW9ucy5cblxuICAgQ29ycmVsYXRlZCBTZXNzaW9uLUluaXRpYXRpbmcgUmVxdWVzdHM6XG5c
biAgICAgIEEgUmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBuZXcgYmluZGluZywgd2hlcmUg
dGhlIGJpbmRpbmcgaXMgdXNlZFxuICAgICAgZm9yIHJvdXRpbmcgb2Ygc3Vic2VxdWVudCBz
ZXNzaW9uLWluaXRpYXRpbmcgcmVxdWVzdHMgdG8gdGhlIHNhbWVcbiAgICAgIHNlcnZlciwg
cmVwcmVzZW50cyBtb3JlIHdvcmsgbG9hZCB0aGFuIG90aGVyIHJlcXVlc3RzLiAgQXMgc3Vj
aCxcbiAgICAgIHRoZXNlIHJlcXVlc3RzIG1pZ2h0IGJlIHRocm90dGxlZCBtb3JlIGZyZXF1
ZW50bHkgdGhhbiBvdGhlclxuICAgICAgcmVxdWVzdCB0eXBlcy5cblxuICAgUHNldWRvLVNl
c3Npb24gUmVxdWVzdHM6XG5cblxuXG5cblxuS29yaG9uZW4sIGV0IGFsLiAgICAgICAgICBF
eHBpcmVzIEp1bHkgMTIsIDIwMTUgICAgICAgICAgICAgICAgW1BhZ2UgNDldXG5fXG5JbnRl
cm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgRE9JQyAgICAgICAgICAgICAgICAgICAg
ICBKYW51YXJ5IDIwMTVcblxuXG4gICAgICBUaHJvdHRsaW5nIGRlY2lzaW9ucyBmb3IgcHNl
dWRvLXNlc3Npb24gcmVxdWVzdHMgY2FuIHRha2UgaW50b1xuICAgICAgY29uc2lkZXJhdGlv
biB3aGVyZSBpbmRpdmlkdWFsIHJlcXVlc3RzIGZpdCBpbnRvIHRoZSBvdmVyYWxsXG4gICAg
ICBzZXF1ZW5jZSBvZiByZXF1ZXN0cyB3aXRoaW4gdGhlIHBzZXVkbyBzZXNzaW9uLiAgUmVx
dWVzdHMgdGhhdCBhcmVcbiAgICAgIGVhcmxpZXIgaW4gdGhlIHNlcXVlbmNlIG1pZ2h0IGJl
IHRocm90dGxlZCBtb3JlIGFnZ3Jlc3NpdmVseSB0aGFuXG4gICAgICByZXF1ZXN0cyB0aGF0
IG9jY3VyIGxhdGVyIGluIHRoZSBzZXF1ZW5jZS5cblxuICAgSW50cmEtU2Vzc2lvbiBSZXF1
ZXN0czpcblxuICAgICAgVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBpbnRyYS1zZXNzaW9ucyBy
ZXF1ZXN0cywgcmVxdWVzdHMgdGhhdFxuICAgICAgdGVybWluYXRlIGEgc2Vzc2lvbiBhbmQg
dGhlIHJlbWFpbmRlciBvZiBpbnRyYS1zZXNzaW9uIHJlcXVlc3RzLlxuICAgICAgSW1wbGVt
ZW50ZXJzIGFuZCBvcGVyYXRvcnMgbWF5IGNob29zZSB0byB0aHJvdHRsZSBzZXNzaW9uLVxu
ICAgICAgdGVybWluYXRpbmcgcmVxdWVzdHMgbGVzcyBhZ2dyZXNzaXZlbHkgaW4gb3JkZXIg
dG8gZ3JhY2VmdWxseVxuICAgICAgdGVybWluYXRlIHNlc3Npb25zLCBhbGxvdyBjbGVhbnVw
IG9mIHRoZSByZWxhdGVkIHJlc291cmNlcyAoZS5nLlxuICAgICAgc2Vzc2lvbiBzdGF0ZSkg
YW5kIGF2b2lkIHRoZSBuZWVkIGZvciBhZGRpdGlvbmFsIGludHJhLXNlc3Npb25cbiAgICAg
IHJlcXVlc3RzLiAgRmF2b3Jpbmcgc2Vzc2lvbi10ZXJtaW5hdGlvbiByZXF1ZXN0cyBtYXkg
cmVkdWNlIHRoZVxuICAgICAgc2Vzc2lvbiBtYW5hZ2VtZW50IGltcGFjdCBvbiB0aGUgb3Zl
cmxvYWRlZCBlbnRpdHkuICBUaGUgZGVmYXVsdFxuICAgICAgaGFuZGxpbmcgb2Ygb3RoZXIg
aW50cmEtc2Vzc2lvbiByZXF1ZXN0cyBtaWdodCBiZSB0byB0cmVhdCB0aGVtXG4gICAgICBl
cXVhbGx5IHdoZW4gbWFraW5nIHRocm90dGxpbmcgZGVjaXNpb25zLiAgVGhlcmUgbWlnaHQg
YWxzbyBiZVxuICAgICAgYXBwbGljYXRpb24gbGV2ZWwgY29uc2lkZXJhdGlvbnMgd2hldGhl
ciBzb21lIHJlcXVlc3QgdHlwZXMgYXJlXG4gICAgICBmYXZvcmVkIG92ZXIgb3RoZXJzLlxu
XG5BdXRob3JzXCcgQWRkcmVzc2VzXG5cbiAgIEpvdW5pIEtvcmhvbmVuIChlZGl0b3IpXG4g
ICBCcm9hZGNvbVxuICAgUG9ya2thbGFua2F0dSAyNFxuICAgSGVsc2lua2kgIEZJTi0wMDE4
MFxuICAgRmlubGFuZFxuXG4gICBFbWFpbDogam91bmkubm9zcGFtQGdtYWlsLmNvbVxuXG5c
biAgIFN0ZXZlIERvbm92YW4gKGVkaXRvcilcbiAgIE9yYWNsZVxuICAgNzQ2MCBXYXJyZW4g
UGFya3dheVxuICAgRnJpc2NvLCBUZXhhcyAgNzUwMzRcbiAgIFVuaXRlZCBTdGF0ZXNcblxu
ICAgRW1haWw6IHNyZG9ub3ZhbkB1c2Rvbm92YW5zLmNvbVxuXG5cbiAgIEJlbiBDYW1wYmVs
bFxuICAgT3JhY2xlXG4gICA3NDYwIFdhcnJlbiBQYXJrd2F5XG4gICBGcmlzY28sIFRleGFz
ICA3NTAzNFxuICAgVW5pdGVkIFN0YXRlc1xuXG4gICBFbWFpbDogYmVuQG5vc3RydW0uY29t
XG5cblxuXG5Lb3Job25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAx
NSAgICAgICAgICAgICAgICBbUGFnZSA1MF1cbl9cbkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgICAgICAgICBET0lDICAgICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxNVxuXG5c
biAgIExpb25lbCBNb3JhbmRcbiAgIE9yYW5nZSBMYWJzXG4gICAzOC80MCBydWUgZHUgR2Vu
ZXJhbCBMZWNsZXJjXG4gICBJc3N5LUxlcy1Nb3VsaW5lYXV4IENlZGV4IDkgIDkyNzk0XG4g
ICBGcmFuY2VcblxuICAgUGhvbmU6ICszMzE0NTI5NjI1N1xuICAgRW1haWw6IGxpb25lbC5t
b3JhbmRAb3JhbmdlLmNvbVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxu
XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5Lb3Jo
b25lbiwgZXQgYWwuICAgICAgICAgIEV4cGlyZXMgSnVseSAxMiwgMjAxNSAgICAgICAgICAg
ICAgICBbUGFnZSA1MV1cbicsICd1cmwxJzogJycsICdzdWJtaXQnOiAnR2VuZXJhdGUgZGlm
ZicsICd1cmwyJzogJycsICctLW5ld2NvbG91cic6ICdncmVlbid9IC0tPg==
--------------090607070002010502030405--


From nobody Wed Jan 28 12:33:02 2015
Return-Path: <jouni.nospam@gmail.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0AEBB1A0302 for <dime@ietfa.amsl.com>; Wed, 28 Jan 2015 12:33:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level: 
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9,  DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
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 OaJSq3RdmALo for <dime@ietfa.amsl.com>; Wed, 28 Jan 2015 12:32:59 -0800 (PST)
Received: from mail-pa0-x229.google.com (mail-pa0-x229.google.com [IPv6:2607:f8b0:400e:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5EE731A023E for <dime@ietf.org>; Wed, 28 Jan 2015 12:32:59 -0800 (PST)
Received: by mail-pa0-f41.google.com with SMTP id kq14so29421996pab.0 for <dime@ietf.org>; Wed, 28 Jan 2015 12:32:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=82ehsozHRAQXA+QgNAx74Wlw4iQcXgNRmPgj66lttmk=; b=senXcofrazpBQuJi9vOis/sjG4thyJKTB/JwHcqLNJO2jG3BSMFhN/y+o0B7LsB/5r /X42kByoECRZHjejuUmLYpGbDypJN/CPtW25W7ZNjbTZY73fioomxaTyPXrj19UCCS30 s50kH58CAm+0QJFt5fEfTk3lkvIG+/w7Be9Mo/uhbqyVVWQkckUxmAvJ2MaMGYHbuB62 q646m+B4POfHslgwghsxKRRB+BM3hvJMMetk4f2S6cDszbCiajWyy+ERN6oJAP+QFvku UkgDREhOEyoWM8RxZUO8gpNSMHJXpvNyZzROdxmv4odm9txEMOgh7P/jl4dRHj+73r4g 6vMg==
X-Received: by 10.66.253.168 with SMTP id ab8mr7654369pad.153.1422477177734; Wed, 28 Jan 2015 12:32:57 -0800 (PST)
Received: from [10.16.10.146] ([216.31.219.19]) by mx.google.com with ESMTPSA id u5sm5580646pdh.54.2015.01.28.12.32.55 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Jan 2015 12:32:56 -0800 (PST)
Message-ID: <54C94776.1040407@gmail.com>
Date: Wed, 28 Jan 2015 12:32:54 -0800
From: Jouni Korhonen <jouni.nospam@gmail.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Steve Donovan <srdonovan@usdonovans.com>, "dime@ietf.org" <dime@ietf.org>
References: <54C6AE7A.70607@usdonovans.com>
In-Reply-To: <54C6AE7A.70607@usdonovans.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/8F7VQ91gXGfVZsfPO0EgjA-p0VA>
Subject: Re: [Dime] DOIC-06 to DOIC-07 diff file
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Jan 2015 20:33:01 -0000

Thanks Steve. I reviewed the changes and they look good to me.

- Jouni

1/26/2015, 1:15 PM, Steve Donovan kirjoitti:
> All,
>
> I have attached the diff file showing changes between DOIC-06 and DOIC-07.
>
> Regards,
>
> Steve
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>

