From hubmib-bounces@ietf.org Tue Oct 03 00:13:05 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GUbeT-0002w7-1K; Tue, 03 Oct 2006 00:13:05 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GUbeS-0002vz-7I for hubmib@ietf.org; Tue, 03 Oct 2006 00:13:04 -0400 Received: from nj300815-ier2.net.avaya.com ([198.152.12.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GUbeQ-0006hK-VV for hubmib@ietf.org; Tue, 03 Oct 2006 00:13:04 -0400 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by nj300815-ier2.net.avaya.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id k93423xr017184 for ; Tue, 3 Oct 2006 00:02:04 -0400 content-class: urn:content-classes:message MIME-Version: 1.0 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Date: Tue, 3 Oct 2006 06:12:59 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Sexy Thread-Index: AcbmojY4xgfSsp1LRzuZGPZM9+ip5gAAAACG From: "Romascanu, Dan \(Dan\)" To: "hubmib" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.1 (/) X-Scan-Signature: 769a46790fb42fbb0b0cc700c82f7081 Subject: [Hubmib] Out of Office AutoReply: Sexy X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0662527868==" Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============0662527868== content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6E6A2.363A8520" This is a multi-part message in MIME format. ------_=_NextPart_001_01C6E6A2.363A8520 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable I am out of office on a business trip followed by vacation. I will be = back on October 12, 2006. I may not read and respond to e-mails during = this period. If you need to contact me urgently, please leave a voice = mail message at my office number. Regards, Dan ------_=_NextPart_001_01C6E6A2.363A8520 Content-Type: text/html; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Out of Office AutoReply: Sexy

I am out of office on a business trip followed by = vacation. I will be back on October 12, 2006.  I may not read and = respond to e-mails during this period.  If you need to contact me = urgently, please leave a voice mail message at my office number.

Regards,

Dan

------_=_NextPart_001_01C6E6A2.363A8520-- --===============0662527868== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0662527868==-- From hubmib-bounces@ietf.org Thu Oct 12 18:50:40 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GY9Ns-00010w-K6; Thu, 12 Oct 2006 18:50:36 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GY9Np-0000wa-4O; Thu, 12 Oct 2006 18:50:33 -0400 Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129] helo=chiedprmail1.ietf.org) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GY9Np-0004fs-22; Thu, 12 Oct 2006 18:50:33 -0400 Received: from ns4.neustar.com ([156.154.24.139]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1GY9Nn-0003ao-Oe; Thu, 12 Oct 2006 18:50:32 -0400 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by ns4.neustar.com (Postfix) with ESMTP id AB1262AC89; Thu, 12 Oct 2006 22:50:01 +0000 (GMT) Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1GY9NJ-0004jI-Ej; Thu, 12 Oct 2006 18:50:01 -0400 Content-Type: Multipart/Mixed; Boundary="NextPart" Mime-Version: 1.0 To: i-d-announce@ietf.org From: Internet-Drafts@ietf.org Message-Id: Date: Thu, 12 Oct 2006 18:50:01 -0400 X-Spam-Score: -2.5 (--) X-Scan-Signature: f66b12316365a3fe519e75911daf28a8 Cc: hubmib@ietf.org Subject: [Hubmib] I-D ACTION:draft-ietf-hubmib-efm-cu-mib-06.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Ethernet Interfaces and Hub MIB Working Group of the IETF. Title : Ethernet in the First Mile Copper (EFMCu) Interfaces MIB Author(s) : E. Beili Filename : draft-ietf-hubmib-efm-cu-mib-06.txt Pages : 88 Date : 2006-10-12 This document defines Management Information Base (MIB) modules for use with network management protocols in TCP/IP based internets. This document proposes an extension to the Ethernet-like Interfaces MIB and MAU MIB modules with a set of objects for managing Ethernet in the First Mile Copper (EFMCu) interfaces 10PASS-TS and 2BASE-TL, defined in IEEE Std 802.3ah-2004. In addition a set of objects is defined, describing cross-connect capability of a managed device with multi-layer (stacked) interfaces, extending the stack management objects in the Interfaces Group MIB and the Inverted Stack Table MIB modules. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt To remove yourself from the I-D Announcement list, send a message to i-d-announce-request@ietf.org with the word unsubscribe in the body of the message. You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce to change your subscription settings. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-hubmib-efm-cu-mib-06.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <2006-10-12151645.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-hubmib-efm-cu-mib-06.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <2006-10-12151645.I-D@ietf.org> --OtherAccess-- --NextPart Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --NextPart-- From hubmib-bounces@ietf.org Fri Oct 13 14:58:54 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GYSF7-0001zo-VF; Fri, 13 Oct 2006 14:58:50 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GYQV9-0000L8-GD; Fri, 13 Oct 2006 13:07:15 -0400 Received: from [62.90.13.193] (helo=il-mail.actelis.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GYQUt-0006Bl-Kx; Fri, 13 Oct 2006 13:07:15 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C6EEE9.F9811D78" Date: Fri, 13 Oct 2006 19:06:50 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3EC18C23@il-mail.actelis.net> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work Thread-Index: AcbJ4mWpRLzFPaQwTFimKpzL+bx65gABzcgQAAXvc3AAAWoFgAk4LiPQ From: "Edward Beili" To: "Romascanu, Dan \(Dan\)" , X-Spam-Score: 0.5 (/) X-Scan-Signature: 506c7bd9eac79e86fbc117a38fb48eac X-Mailman-Approved-At: Fri, 13 Oct 2006 14:58:47 -0400 Cc: adslmib@ietf.org, "David Kessens \(E-mail\)" , hubmib@ietf.org, sneedmike@hotmail.com Subject: [Hubmib] RE: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C6EEE9.F9811D78 Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01C6EEE9.F9811D78" ------_=_NextPart_002_01C6EEE9.F9811D78 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Dan, Menachem, I've submitted the next version of the EFM Copper MIB draft, putting the = ifAvailableStackTable (renamed to ifCapStackTable) into a separate MIB = module, together with a new inverse ifInvCapStackTable. =20 I've also modified the text to describe the new IF-CAP-STACK-MIB module, = changed the conformance and compliance objects and added counter = discontinuity handling paragraph (use of ifCounterDiscontinuityTime) to = all counters. =20 The .txt version is available at http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt = = =20 I've attached the .html version together with two extracted MIB modules = for your convenience. Regards, -E. _____ =20 From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Sunday, August 27, 2006 21:35 To: Edward Beili; Menachem.Dodge@ecitele.com Cc: adslmib@ietf.org; David Kessens (E-mail); sneedmike@hotmail.com; = hubmib@ietf.org Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the = hubmib-efm-cu-mib work =09 =09 Ed, =20 Please issue a revised I-D, including the two tables in a distinct MIB = module, revised DESCRIPTION clause and smilint fixes. =20 My suggestion is to do a one week fast track Last Call to make sure = that everybody in the WG has an opportunity to see and react to the = changes before we submit the draft to the IESG.=20 =20 Regards, =20 Dan =20 =20 =20 =20 _____ =20 From: Edward Beili [mailto:EdwardB@actelis.com]=20 Sent: Sunday, August 27, 2006 9:04 PM To: Romascanu, Dan (Dan); Menachem.Dodge@ecitele.com Cc: adslmib@ietf.org; David Kessens (E-mail); sneedmike@hotmail.com; = hubmib@ietf.org Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the = hubmib-efm-cu-mib work =09 =09 Dan, I don't have any problem with the suggested change, and, personally, = see this as an editorial change. =20 While moving the ifAvailableStackTable to a distinct MIB module (say = IF-AVAILABLE-STACK-MIB, seating directly under MIB-2), I would also add = an inverse table ifInvAvailableStackTable. =20 Please advise how do you want me to proceed. =20 Regards, -Edward =20 -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] Sent: Sunday, August 27, 2006 6:09 PM To: Menachem.Dodge@ecitele.com Cc: adslmib@ietf.org; David Kessens (E-mail); Edward Beili; = sneedmike@hotmail.com; hubmib@ietf.org Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the = hubmib-efm-cu-mib work =09 =09 =20 So this will be a distinct MIB module.=20 =20 I am copying the hubmib WG list, because I am not convinced that such = a change can be treated as editorial and that we can or should avoid = another WGLC for draft-hubmib-efm-cu-mib.=20 =20 Dan =20 =20 =20 =20 _____ =20 From: Menachem.Dodge@ecitele.com [mailto:Menachem.Dodge@ecitele.com] = Sent: Sunday, August 27, 2006 4:28 PM To: Romascanu, Dan (Dan) Cc: adslmib@ietf.org; David Kessens (E-mail); = edward.beili@actelis.com; sneedmike@hotmail.com Subject: Re: [Adslmib] RE: xDSL Bonding - Reuse of the = hubmib-efm-cu-mib work =09 =09 Hello Dan,=20 =09 What you suggest is fine, but I would rather that the table = be placed under the ifMIB - ifMIBObjects branch together with=20 the ifStack Table or perhaps directly under MIB-2 as the = ifInvertedStack MIB is situated. Being placed inside the efmCuMIB branch = seems to suggest that it is for the sole use of the efmCuMIB and = this is no longer the case if the xDSL MIB modules import it.=20 =20 =09 Best Regards,=20 Menachem Dodge =09 =09 =09 =09 "Romascanu, Dan \(Dan\)" =20 27/08/2006 12:47=20 To , =20 cc adslmib@ietf.org, "David Kessens \(E-mail\)" , = sneedmike@hotmail.com=20 Subject [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work=09 =09 Menachem,=20 =20 I am adding David Kessens who is the shepherding AD for hubmib (I, = being the chair, cannot play both roles).=20 =20 Why should ifAvailableStack be defined in a separate MIB module, = rather than changing the text in DESCRIPTION clauses and having it = imported by ADSL MIB modules from EFM-CU-MIB?=20 =20 Speaking as WG chair, I feel that in case a major change is = introduced in the document the WGLC needs to be redone. At this moment = we agreed for a technical iteration to fix some smilint problems without = redoing the LC.=20 =20 Dan=20 =20 =20 =20 =09 =09 _____ =20 From: Menachem.Dodge@ecitele.com [mailto:Menachem.Dodge@ecitele.com] = Sent: Thursday, August 24, 2006 8:08 PM To: Romascanu, Dan (Dan); edward.beili@actelis.com Cc: sneedmike@hotmail.com; adslmib@ietf.org Subject: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work =09 =09 Hello Dan,=20 =09 =09 Recently the issue of xDSL bonding has been raised on the = ADSL MIB WG mailing list.=20 =09 I have spoken briefly with Edward and we think that it should = be possible for us to re-use the ifAvailableStack table defined in=20 draft-ietf-hubmib-efm-cu-mib-05.=20 =09 I would like to ask Edward to separate out this table into a = separate MIB (possibly in the same document) generalizing the comments,=20 that would allow the ADSL MIB WG to make use of these tables, if = this work becomes chartered.=20 =09 I would appreciate your advice on this issue.=20 =09 Best Regards,=20 Menachem Dodge_______________________________________________ Adslmib mailing list Adslmib@ietf.org https://www1.ietf.org/mailman/listinfo/adslmib =09 =09 ------_=_NextPart_002_01C6EEE9.F9811D78 Content-Type: text/html; charset="windows-1255" Content-Transfer-Encoding: quoted-printable
Dan, Menachem,
I've submitted the next version of the EFM = Copper MIB=20 draft, putting the ifAvailableStackTable (renamed to=20 ifCapStackTable) into a separate MIB module, together with a new inverse = ifInvCapStackTable.
 
I've also modified the text to describe the new = IF-CAP-STACK-MIB module, changed the conformance and compliance objects = and=20 added counter discontinuity handling paragraph (use of=20 ifCounterDiscontinuityTime) to all counters.
 
The .txt version is available = at

http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib= -06.txt

I've=20 attached the .html version together with two extracted MIB modules = for your=20 convenience.

Regards,

-E.



From: Romascanu, Dan (Dan)=20 [mailto:dromasca@avaya.com]
Sent: Sunday, August 27, 2006=20 21:35
To: Edward Beili; = Menachem.Dodge@ecitele.com
Cc:=20 adslmib@ietf.org; David Kessens (E-mail); sneedmike@hotmail.com;=20 hubmib@ietf.org
Subject: RE: [Adslmib] RE: xDSL Bonding - = Reuse of=20 the hubmib-efm-cu-mib work

Ed,
 
Please issue a revised I-D, including the two tables in = a distinct=20 MIB module, revised DESCRIPTION clause and smilint=20 fixes.
 
My suggestion is to do a one week fast track Last Call to = make sure=20 that everybody in the WG has an opportunity to see and react to the = changes=20 before we submit the draft to the IESG. =
 
Regards,
 
Dan
 
 
 
 


From: Edward Beili=20 [mailto:EdwardB@actelis.com]
Sent: Sunday, August 27, = 2006 9:04=20 PM
To: Romascanu, Dan (Dan);=20 Menachem.Dodge@ecitele.com
Cc: adslmib@ietf.org; David = Kessens=20 (E-mail); sneedmike@hotmail.com; hubmib@ietf.org
Subject: = RE:=20 [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib=20 work

Dan,
I=20 don't have any problem with the suggested change, and, personally, = see this=20 as an editorial change.
 
While moving the ifAvailableStackTable to a = distinct MIB=20 module (say IF-AVAILABLE-STACK-MIB, seating directly under MIB-2), I = would=20 also add an inverse = table ifInvAvailableStackTable.
 
Please advise how do you want me to = proceed.
 
Regards,
-Edward
 
-----Original Message-----
From: Romascanu, Dan = (Dan)=20 [mailto:dromasca@avaya.com]
Sent: Sunday, August 27, = 2006 6:09=20 PM
To: Menachem.Dodge@ecitele.com
Cc:=20 adslmib@ietf.org; David Kessens (E-mail); Edward Beili;=20 sneedmike@hotmail.com; hubmib@ietf.org
Subject: RE: = [Adslmib]=20 RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib=20 work

 
So this will be a distinct MIB module.=20
 
I am copying the hubmib WG list, because = I am not=20 convinced that such a change can be treated as editorial and that = we can=20 or should avoid another WGLC for draft-hubmib-efm-cu-mib.=20
 
Dan
 
 
 
 


From: = Menachem.Dodge@ecitele.com=20 [mailto:Menachem.Dodge@ecitele.com]
Sent: Sunday, = August 27,=20 2006 4:28 PM
To: Romascanu, Dan (Dan)
Cc:=20 adslmib@ietf.org; David Kessens (E-mail); = edward.beili@actelis.com;=20 sneedmike@hotmail.com
Subject: Re: [Adslmib] RE: xDSL = Bonding=20 - Reuse of the hubmib-efm-cu-mib work


Hello = Dan,=20

      =   What=20 you suggest is fine, but I would rather that the table be placed = under=20 the ifMIB - ifMIBObjects branch together with
the ifStack Table or perhaps directly = under MIB-2=20 as the ifInvertedStack MIB is situated. Being placed inside the = efmCuMIB=20 branch
seems to = suggest=20  that it is  for the sole use of the efmCuMIB and this = is no=20 longer the case if the xDSL MIB modules import it. =
        =

Best Regards,
Menachem Dodge



"Romascanu, Dan=20 \(Dan\)" <dromasca@avaya.com>

27/08/2006 = 12:47

To
<Menachem.Dodge@ecitele.com>,=20 <edward.beili@actelis.com>=20
cc
adslmib@ietf.org, = "David=20 Kessens \(E-mail\)" <david.kessens@nokia.com>, = sneedmike@hotmail.com=20
Subject
[Adslmib] RE: = xDSL Bonding=20 - Reuse of the hubmib-efm-cu-mib=20 work

=




<= FONT=20 face=3DArial color=3Dblue = size=3D2>Menachem,
 
I am=20 adding David Kessens who is the shepherding AD for hubmib (I, = being the=20 chair, cannot play both roles).
 
Why=20 should ifAvailableStack be defined in a separate MIB module, = rather than=20 changing the text in DESCRIPTION clauses and having it imported = by ADSL=20 MIB modules from EFM-CU-MIB?
 
Speaking as WG chair, I feel that in case a major = change is=20 introduced in the document the WGLC needs to be redone. At this = moment=20 we agreed for a technical iteration to fix some smilint problems = without=20 redoing the LC.
  =
Dan =
 
  =
 


From: = Menachem.Dodge@ecitele.com=20 [mailto:Menachem.Dodge@ecitele.com]
Sent:
Thursday, = August=20 24, 2006 8:08 PM
To:
Romascanu, Dan (Dan);=20 edward.beili@actelis.com
Cc:
sneedmike@hotmail.com;=20 adslmib@ietf.org
Subject:
xDSL Bonding - Reuse of the=20 hubmib-efm-cu-mib work



Hello Dan,
=20


  =    =20  Recently the issue of xDSL bonding has been raised on the = ADSL MIB=20 WG mailing list.


       I have spoken briefly = with Edward=20 and we think that it should be possible for us to re-use the=20 ifAvailableStack table defined in
=
draft-ietf-hubmib-efm-cu-mib-05.

  =    =20  I would like to ask Edward to separate out this table into = a=20 separate MIB (possibly in the same document) generalizing the=20 comments,

that would allow the ADSL MIB WG  to make use = of these=20 tables, if this work becomes chartered.


  =    =20  I would appreciate your advice on this issue.
=20

Best = Regards,

Menachem=20 Dodge
_______________________________________________
Adslmib=20 mailing=20 = list
Adslmib@ietf.org
https://www1.ietf.org/mailman/listinfo/adslmi= b

= ------_=_NextPart_002_01C6EEE9.F9811D78-- ------_=_NextPart_001_01C6EEE9.F9811D78 Content-Type: text/html; name="draft-ietf-hubmib-efm-cu-mib-06.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-06.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-06.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sIGxhbmc9 ImVuIj48aGVhZD48dGl0bGU+RXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgQ29wcGVyIChFRk1D dSkgSW50ZXJmYWNlcyBNSUI8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CjxtZXRhIG5hbWU9ImRlc2NyaXB0 aW9uIiBjb250ZW50PSJFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBJ bnRlcmZhY2VzIE1JQiI+CjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJOZXR3b3JrIE1h bmFnZW1lbnQsIFNpbXBsZSBOZXR3b3JrIE1hbmFnZW1lbnQgUHJvdG9jb2wsIFNOTVAsIE1hbmFn ZW1lbnQgSW5mb3JtYXRpb24gQmFzZSwgTUlCLCBUZXh0dWFsIENvbnZlbnRpb25zIj4KPG1ldGEg bmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJ4bWwycmZjIHYxLjMwIChodHRwOi8veG1sLnJlc291 cmNlLm9yZy8pIj4KPHN0eWxlIHR5cGU9J3RleHQvY3NzJz4KPCEtLQogICAgYm9keSB7CiAgICAg ICAgZm9udC1mYW1pbHk6IHZlcmRhbmEsIGNoYXJjb2FsLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5z LXNlcmlmOwogICAgICAgIG1hcmdpbjogMmVtOwogICAgICAgIGZvbnQtc2l6ZTogc21hbGwgOyBj b2xvcjogIzAwMDAwMCA7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgOyB9CiAgICAudGl0bGUg eyBjb2xvcjogIzk5MDAwMDsgZm9udC1zaXplOiB4LWxhcmdlIDsKICAgICAgICBmb250LXdlaWdo dDogYm9sZDsgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgZm9udC1mYW1pbHk6IGhlbHZldGlj YSwgbW9uYWNvLCAiTVMgU2FucyBTZXJpZiIsIGFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgIGJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgICAuZmlsZW5hbWUgeyBjb2xvcjogIzY2 NjY2NjsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICBmb250LXdl aWdodDogYm9sZDsgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgZm9udC1mYW1pbHk6IGhlbHZl dGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IH0KICAgIHRkLnJmY2J1ZyB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgOyB3aWR0 aDogMzBweCA7IGhlaWdodDogMzBweCA7CiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgdmVy dGljYWwtYWxpZ246IG1pZGRsZSA7IHBhZGRpbmctdG9wOiAycHggOyB9CiAgICB0ZC5yZmNidWcg c3Bhbi5SRkMgeyBjb2xvcjogIzY2NjY2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtZGVjb3Jh dGlvbjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwIDsKICAgICAgICBm b250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAiTVMgU2FucyBTZXJpZiIsIGhl bHZldGljYSwgdmVyZGFuYSwgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IHgtc21hbGwg OyB9CiAgICB0ZC5yZmNidWcgc3Bhbi5ob3RUZXh0IHsgY29sb3I6ICNmZmZmZmY7IGZvbnQtd2Vp Z2h0OiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICB0ZXh0LWFsaWduOiBj ZW50ZXIgOwogICAgICAgIGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJN UyBTYW5zIFNlcmlmIiwgaGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOwogICAgICAgIGZv bnQtc2l6ZTogeC1zbWFsbCA7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH0KICAgIC8qIGlu Zm8gY29kZSBmcm9tIFNhbnRhS2xhdXNzIGF0IGh0dHA6Ly93d3cubWFkYWJvdXRzdHlsZS5jb20v dG9vbHRpcDIuaHRtbCAqLwogICAgZGl2I2NvdW50ZXJ7bWFyZ2luLXRvcDogMTAwcHh9CgogICAg YS5pbmZvewogICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOyAvKnRoaXMgaXMgdGhlIGtleSovCiAg ICAgICAgei1pbmRleDoyNDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZX0KCiAgICBhLmlu Zm86aG92ZXJ7ei1pbmRleDoyNTsgYmFja2dyb3VuZC1jb2xvcjojOTkwMDAwIDsgY29sb3I6ICNm ZmZmZmYgO30KCiAgICBhLmluZm8gc3BhbntkaXNwbGF5OiBub25lfQoKICAgIGEuaW5mbzpob3Zl ciBzcGFuLmluZm97IC8qdGhlIHNwYW4gd2lsbCBkaXNwbGF5IGp1c3Qgb24gOmhvdmVyIHN0YXRl Ki8KICAgICAgICBkaXNwbGF5OmJsb2NrOwogICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAg ICAgIGZvbnQtc2l6ZTogc21hbGxlciA7CiAgICAgICAgdG9wOjJlbTsgbGVmdDoyZW07IHdpZHRo OjE1ZW07CiAgICAgICAgcGFkZGluZzogMnB4IDsKICAgICAgICBib3JkZXI6MXB4IHNvbGlkICMz MzMzMzM7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZWVlZWVlOyBjb2xvcjojOTkwMDAwOwog ICAgICAgIHRleHQtYWxpZ246IGxlZnQgO30KCiAgICAgQSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9 CiAgICAgQTpsaW5rIHsgY29sb3I6ICM5OTAwMDA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50IDsgfQogICAgIEE6dmlzaXRlZCB7IGNvbG9yOiAjMzMzMzMzOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudCA7IH0KICAgICBBOmFjdGl2ZSB7IGNvbG9yOiAjMzMzMzMzOyBiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudCA7IH0KCiAgICBwIHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFy Z2luLXJpZ2h0OiAyZW07IH0KICAgIHAuY29weXJpZ2h0IHsgZm9udC1zaXplOiB4LXNtYWxsIDsg fQogICAgcC50b2MgeyBmb250LXNpemU6IHNtYWxsIDsgZm9udC13ZWlnaHQ6IGJvbGQgOyBtYXJn aW4tbGVmdDogM2VtIDt9CiAgICB0YWJsZS50b2MgeyBtYXJnaW46IDAgMCAwIDNlbTsgcGFkZGlu ZzogMDsgYm9yZGVyOiAwOyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH0KICAgIHRkLnRvYyB7 IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0OiBib2xkOyB2ZXJ0aWNhbC1hbGlnbjogdGV4 dC10b3A7IH0KCiAgICBzcGFuLmVtcGggeyBmb250LXN0eWxlOiBpdGFsaWM7IH0KICAgIHNwYW4u c3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAgIHNwYW4udmVyYiwgc3Bhbi52YmFyZSB7 IGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2UgOyB9CgogICAg c3Bhbi52ZW1waCB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5l dyIsIENvdXJpZXIsIG1vbm9zcGFjZSA7IH0KICAgIHNwYW4udnN0cm9uZyB7IGZvbnQtd2VpZ2h0 OiBib2xkOyBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsg fQogICAgc3Bhbi52ZGVsdXhlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxp YzsgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZSA7IH0KCiAg ICBvbC50ZXh0IHsgbWFyZ2luLWxlZnQ6IDJlbTsgbWFyZ2luLXJpZ2h0OiAyZW07IH0KICAgIHVs LnRleHQgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQogICAgbGkgeyBt YXJnaW4tbGVmdDogM2VtOyAgfQoKICAgIHByZSB7IG1hcmdpbi1sZWZ0OiAzZW07IGNvbG9yOiAj MzMzMzMzOyAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgZm9udC1mYW1p bHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZSA7IGZvbnQtc2l6ZTogc21hbGwg OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgfQoKICAgIGgzIHsgY29sb3I6ICMz MzMzMzM7IGZvbnQtc2l6ZTogbWVkaXVtIDsKICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNh LCBhcmlhbCwgc2Fucy1zZXJpZiA7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7IH0KICAgIGg0IHsgZm9udC1zaXplOiBzbWFsbDsgZm9udC1mYW1pbHk6IGhlbHZldGljYSwg YXJpYWwsIHNhbnMtc2VyaWYgOyB9CgogICAgdGFibGUuYnVnIHsgd2lkdGg6IDMwcHggOyBoZWln aHQ6IDE1cHggOyB9CiAgICB0ZC5idWcgeyBjb2xvcjogI2ZmZmZmZiA7IGJhY2tncm91bmQtY29s b3I6ICM5OTAwMDAgOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlciA7IHdpZHRoOiAzMHB4IDsg aGVpZ2h0OiAxNXB4IDsKICAgICAgICAgfQogICAgdGQuYnVnIEEubGluazIgeyBjb2xvcjogI2Zm ZmZmZiA7IGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsK ICAgICAgICBmb250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAiTVMgU2FucyBT ZXJpZiIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IHgtc21hbGwg OyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCB9CgogICAgdGQuaGVhZGVyIHsgY29sb3I6 ICNmZmZmZmY7IGZvbnQtc2l6ZTogeC1zbWFsbCA7CiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFs LCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgICAgYmFj a2dyb3VuZC1jb2xvcjogIzY2NjY2NiA7IHdpZHRoOiAzMyUgOyB9CiAgICB0ZC5hdXRob3IgeyBm b250LXdlaWdodDogYm9sZDsgbWFyZ2luLWxlZnQ6IDRlbTsgZm9udC1zaXplOiB4LXNtYWxsIDsg fQogICAgdGQuYXV0aG9yLXRleHQgeyBmb250LXNpemU6IHgtc21hbGw7IH0KICAgIHRhYmxlLmZ1 bGwgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wIDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSA7CiAg ICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCBzb2xpZCBzb2xpZCBzb2xpZCA7CiAgICAgICAgYm9y ZGVyLWNvbG9yOiBibGFjayBibGFjayBibGFjayBibGFjayA7CiAgICAgICAgZm9udC1zaXplOiBz bWFsbCA7IHRleHQtYWxpZ246IGNlbnRlciA7IH0KICAgIHRhYmxlLmhlYWRlcnMsIHRhYmxlLm5v bmUgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wIDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSA7CiAg ICAgICAgYm9yZGVyLXN0eWxlOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogc21hbGwgOyB0ZXh0 LWFsaWduOiBjZW50ZXIgOyB9CiAgICB0YWJsZS5mdWxsIHRoIHsgZm9udC13ZWlnaHQ6IGJvbGQg OwogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQgOwogICAgICAgIGJvcmRlci1jb2xvcjogYmxh Y2sgYmxhY2sgYmxhY2sgYmxhY2sgOyB9CiAgICB0YWJsZS5oZWFkZXJzIHRoIHsgZm9udC13ZWln aHQ6IGJvbGQgOwogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZSBub25lIHNvbGlkIG5vbmU7CiAg ICAgICAgYm9yZGVyLWNvbG9yOiBibGFjayBibGFjayBibGFjayBibGFjayA7IH0KICAgIHRhYmxl Lm5vbmUgdGggeyBmb250LXdlaWdodDogYm9sZCA7CiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25l OyB9CiAgICB0YWJsZS5mdWxsIHRkIHsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkIHNvbGlk IHNvbGlkIHNvbGlkIDsKICAgICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIzMzMzMzMyAjMzMz MzMzICMzMzMzMzMgOyB9CiAgICB0YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5ub25lIHRkIHsgYm9y ZGVyLXN0eWxlOiBub25lOyB9CgogICAgaHIgeyBoZWlnaHQ6IDFweCB9Ci0tPgo8L3N0eWxlPgo8 L2hlYWQ+Cjxib2R5Pgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVn Ij48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv dHI+PC90YWJsZT4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgd2lkdGg9IjY2JSIgYm9yZGVyPSIw IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQ+PHRhYmxlIHN1bW1hcnk9 ImxheW91dCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFj aW5nPSIxIj4KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5OZXR3b3JrIFdvcmtpbmcgR3JvdXA8L3Rk Pjx0ZCBjbGFzcz0iaGVhZGVyIj5FLiBCZWlsaTwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iaGVh ZGVyIj5JbnRlcm5ldC1EcmFmdDwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkFjdGVsaXMgTmV0d29y a3M8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImhlYWRlciI+RXhwaXJlczogQXByaWwgMTUsIDIw MDc8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5PY3RvYmVyIDEyLCAyMDA2PC90ZD48L3RyPgo8L3Rh YmxlPjwvdGQ+PC90cj48L3RhYmxlPgo8ZGl2IGFsaWduPSJyaWdodCI+PHNwYW4gY2xhc3M9InRp dGxlIj48YnIgLz5FdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBJbnRl cmZhY2VzIE1JQjwvc3Bhbj48L2Rpdj4KPGRpdiBhbGlnbj0icmlnaHQiPjxzcGFuIGNsYXNzPSJ0 aXRsZSI+PGJyIC8+ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNi50eHQ8L3NwYW4+PC9k aXY+Cgo8aDM+U3RhdHVzIG9mIHRoaXMgTWVtbzwvaDM+CjxwPgpCeSBzdWJtaXR0aW5nIHRoaXMg SW50ZXJuZXQtRHJhZnQsCmVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkgYXBwbGljYWJs ZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaApoZSBvciBzaGUgaXMgYXdhcmUg aGF2ZSBiZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2VkLAphbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNo ZSBiZWNvbWVzIGF3YXJlIHdpbGwgYmUgZGlzY2xvc2VkLAppbiBhY2NvcmRhbmNlIHdpdGggU2Vj dGlvbiZuYnNwOzYgb2YgQkNQJm5ic3A7NzkuPC9wPgo8cD4KSW50ZXJuZXQtRHJhZnRzIGFyZSB3 b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcKVGFzayBGb3JjZSAo SUVURiksIGl0cyBhcmVhcywgYW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4KTm90ZSB0aGF0IG90aGVy IGdyb3VwcyBtYXkgYWxzbyBkaXN0cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzCkludGVybmV0 LURyYWZ0cy48L3A+CjxwPgpJbnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxp ZCBmb3IgYSBtYXhpbXVtIG9mIHNpeCBtb250aHMKYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNl ZCwgb3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnkgdGltZS4KSXQgaXMgaW5h cHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZSBtYXRlcmlhbCBv ciB0byBjaXRlCnRoZW0gb3RoZXIgdGhhbiBhcyAmbGRxdW87d29yayBpbiBwcm9ncmVzcy4mcmRx dW87PC9wPgo8cD4KVGhlIGxpc3Qgb2YgY3VycmVudCBJbnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFj Y2Vzc2VkIGF0CjxhIGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3Rz LnR4dCc+aHR0cDovL3d3dy5pZXRmLm9yZy9pZXRmLzFpZC1hYnN0cmFjdHMudHh0PC9hPi48L3A+ CjxwPgpUaGUgbGlzdCBvZiBJbnRlcm5ldC1EcmFmdCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJl IGFjY2Vzc2VkIGF0CjxhIGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc2hhZG93Lmh0bWwnPmh0 dHA6Ly93d3cuaWV0Zi5vcmcvc2hhZG93Lmh0bWw8L2E+LjwvcD4KPHA+ClRoaXMgSW50ZXJuZXQt RHJhZnQgd2lsbCBleHBpcmUgb24gQXByaWwgMTUsIDIwMDcuPC9wPgoKPGgzPkNvcHlyaWdodCBO b3RpY2U8L2gzPgo8cD4KQ29weXJpZ2h0ICZjb3B5OyBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAw NikuPC9wPgoKPGgzPkFic3RyYWN0PC9oMz4KCjxwPgogICBUaGlzIGRvY3VtZW50IGRlZmluZXMg TWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZXMgZm9yCiAgIHVzZSB3aXRo IG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gVENQL0lQIGJhc2VkIGludGVybmV0cy4K ICAgVGhpcyBkb2N1bWVudCBwcm9wb3NlcyBhbiBleHRlbnNpb24gdG8gdGhlIEV0aGVybmV0LWxp a2UgSW50ZXJmYWNlcwogICBNSUIgYW5kIE1BVSBNSUIgbW9kdWxlcyB3aXRoIGEgc2V0IG9mIG9i amVjdHMgZm9yIG1hbmFnaW5nCiAgIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAo RUZNQ3UpIGludGVyZmFjZXMKICAgMTBQQVNTLVRTIGFuZCAyQkFTRS1UTCwgZGVmaW5lZCBpbiBJ RUVFIFN0ZCA4MDIuM2FoLTIwMDQuCiAgIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9iamVjdHMgaXMg ZGVmaW5lZCwgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0CiAgIGNhcGFiaWxpdHkgb2YgYSBtYW5h Z2VkIGRldmljZSB3aXRoIG11bHRpLWxheWVyIChzdGFja2VkKSBpbnRlcmZhY2VzLAogICBleHRl bmRpbmcgdGhlIHN0YWNrIG1hbmFnZW1lbnQgb2JqZWN0cyBpbiB0aGUgSW50ZXJmYWNlcyBHcm91 cCBNSUIKICAgYW5kIHRoZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIgbW9kdWxlcy4gCiAgCjwv cD48YSBuYW1lPSJ0b2MiPjwvYT48YnIgLz48aHIgLz4KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9o Mz4KPHAgY2xhc3M9InRvYyI+CjxhIGhyZWY9IiNhbmNob3IxIj4xLjwvYT4mbmJzcDsKSW50cm9k dWN0aW9uPGJyIC8+CjxhIGhyZWY9IiNhbmNob3IyIj4yLjwvYT4mbmJzcDsKVGhlIEludGVybmV0 LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrPGJyIC8+CjxhIGhyZWY9IiNhbmNob3IzIj4z LjwvYT4mbmJzcDsKUmVsYXRpb24gdG8gb3RoZXIgTUlCIG1vZHVsZXM8YnIgLz4KJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjQiPjMuMS48L2E+Jm5ic3A7ClJlbGF0aW9u IHRvIEludGVyZmFjZXMgR3JvdXAgTUlCIG1vZHVsZTxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNSI+My4xLjEuPC9h PiZuYnNwOwpMYXllcmluZyBNb2RlbDxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNiI+My4xLjIuPC9hPiZuYnNwOwpQ TUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRik8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjciPjMuMS4zLjwvYT4m bmJzcDsKRGlzY292ZXJ5IE9wZXJhdGlvbjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOCI+My4xLjQuPC9hPiZuYnNw OwpFRk1DdSBwb3J0cyBpbml0aWFsaXphdGlvbjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOSI+My4xLjUuPC9hPiZu YnNwOwpVc2FnZSBvZiBpZlRhYmxlPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhy ZWY9IiNhbmNob3IxMCI+My4yLjwvYT4mbmJzcDsKUmVsYXRpb24gdG8gU0hEU0wgTUlCIG1vZHVs ZTxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTEiPjMuMy48 L2E+Jm5ic3A7ClJlbGF0aW9uIHRvIFZEU0wgTUlCIG1vZHVsZTxiciAvPgombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTIiPjMuNC48L2E+Jm5ic3A7ClJlbGF0aW9uIHRv IEV0aGVybmV0LUxpa2UgYW5kIE1BVSBNSUIgbW9kdWxlczxiciAvPgo8YSBocmVmPSIjYW5jaG9y MTMiPjQuPC9hPiZuYnNwOwpNSUIgU3RydWN0dXJlPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOzxhIGhyZWY9IiNhbmNob3IxNCI+NC4xLjwvYT4mbmJzcDsKRUZNIENvcHBlciBNSUIgT3Zl cnZpZXc8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjE1Ij40 LjIuPC9hPiZuYnNwOwpJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0eSBNSUIgT3ZlcnZpZXc8YnIg Lz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjE2Ij40LjMuPC9hPiZu YnNwOwpQTUUgUHJvZmlsZXM8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0i I2FuY2hvcjE3Ij40LjQuPC9hPiZuYnNwOwpNYXBwaW5nIG9mIElFRUUgODAyLjNhaCBNYW5hZ2Vk IE9iamVjdHM8YnIgLz4KPGEgaHJlZj0iI2FuY2hvcjE4Ij41LjwvYT4mbmJzcDsKSW50ZXJmYWNl IFN0YWNrIENhcGFiaWxpdHkgTUlCIERlZmluaXRpb25zPGJyIC8+CjxhIGhyZWY9IiNhbmNob3Ix OSI+Ni48L2E+Jm5ic3A7CkVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25zPGJyIC8+CjxhIGhyZWY9 IiNhbmNob3IyMCI+Ny48L2E+Jm5ic3A7ClNlY3VyaXR5IENvbnNpZGVyYXRpb25zPGJyIC8+Cjxh IGhyZWY9IiNhbmNob3IyMSI+OC48L2E+Jm5ic3A7CklBTkEgQ29uc2lkZXJhdGlvbnM8YnIgLz4K PGEgaHJlZj0iI2FuY2hvcjIyIj45LjwvYT4mbmJzcDsKQWNrbm93bGVkZ21lbnRzPGJyIC8+Cjxh IGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjEwLjwvYT4mbmJzcDsKUmVmZXJlbmNlczxiciAvPgom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjcmZjLnJlZmVyZW5jZXMxIj4xMC4xLjwv YT4mbmJzcDsKTm9ybWF0aXZlIFJlZmVyZW5jZXM8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGEgaHJlZj0iI3JmYy5yZWZlcmVuY2VzMiI+MTAuMi48L2E+Jm5ic3A7CkluZm9ybWF0aXZl IFJlZmVyZW5jZXM8YnIgLz4KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7 CkF1dGhvcidzIEFkZHJlc3M8YnIgLz4KPGEgaHJlZj0iI3JmYy5jb3B5cmlnaHQiPiYjMTY3Ozwv YT4mbmJzcDsKSW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50czxi ciAvPgo8L3A+CjxiciBjbGVhcj0iYWxsIiAvPgoKPGEgbmFtZT0iYW5jaG9yMSI+PC9hPjxiciAv PjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBo cmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMSI+PC9hPjxoMz4xLiZuYnNwO0ludHJvZHVjdGlv bjwvaDM+Cgo8cD4KICAgTmV3IEV0aGVybmV0LWxpa2UgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZGVm aW5lZCBpbiB0aGUKICAgSW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgYW5kIEVsZWN0cm9uaWNzIEVu Z2luZWVycyAoSUVFRSkgU3RhbmRhcmQKICAgODAyLjNhaC0yMDA0IDxhIGNsYXNzPSJpbmZvIiBo cmVmPSIjODAyLjNhaCI+WzgwMi4zYWhdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8i PklFRUUsICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0g ICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdl ZW4gc3lzdGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtz IC0gICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2Fycmll ciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24gRGV0ZWN0aW9uICAgICAgICAg KENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyIFNwZWNpZmljYXRpb25z IC0gICAgICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBo eXNpY2FsICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNj cmliZXIgQWNjZXNzIE5ldHdvcmtzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwNC48L3NwYW4+ PHNwYW4+KTwvc3Bhbj48L2E+LAogICBhLmsuYS4gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUg KEVGTSksIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgdGhlCiAgIGJhc2UgSUVFRSBTdGFuZGFyZCA4 MDIuMy0yMDA1IDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjODAyLjMiPls4MDIuM108c3Bhbj4gKDwv c3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIElu Zm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5m b3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0 cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAt ICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxp c2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2lj YWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMsJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDUuPC9zcGFu PjxzcGFuPik8L3NwYW4+PC9hPi4KICAgSW4gcGFydGljdWxhciAyQkFTRS1UTCBhbmQgMTBQQVNT LVRTIHBoeXNpY2FsIGludGVyZmFjZXMgKFBIWXMpLAogICBkZWZpbmVkIG92ZXIgdm9pY2UtZ3Jh ZGUgY29wcGVyIHBhaXJzLCBoYXZlCiAgIGJlZW4gc3BlY2lmaWVkIGZvciB0aGUgbG9uZyBhbmQg c2hvcnQgcmVhY2ggcmVzcGVjdGl2ZWx5LgogICBUaGVzZSBpbnRlcmZhY2VzLCBjb2xsZWN0aXZl bHkgY2FsbGVkIEVGTUN1LCBhcmUgYmFzZWQgb24KICAgSVRVLVQgRy5TSERTTCA8YSBjbGFzcz0i aW5mbyIgaHJlZj0iI0cuOTkxLjIiPltHLjk5MS4yXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNz PSJpbmZvIj5JVFUtVCwgJmxkcXVvO1NpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJz Y3JpYmVyIExpbmUgKFNIRFNMKSB0cmFuc2NlaXZlcnMsJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIw MDMuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgVkRTTCA8YSBjbGFzcz0iaW5mbyIgaHJl Zj0iI0cuOTkzLjEiPltHLjk5My4xXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5J VFUtVCwgJmxkcXVvO1ZlcnkgSGlnaCBzcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSB0cmFu c2NlaXZlcnMsJnJkcXVvOyBKdW5lJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+ CiAgIHNwZWNpZmljYXRpb25zIGFuZCBzdXBwb3J0IHZhcmlhYmxlIHJhdGVzIGFuZCBvcHRpb25h bAogICBQaHlzaWNhbCBNZWRpdW0gRW50aXR5IChQTUUpIGFnZ3JlZ2F0aW9uIChhLmsuYS4gbXVs dGktcGFpciBib25kaW5nKS4KICAKPC9wPgo8cD4KICAgMkJBU0UtVEwgUEhZIGlzIGNhcGFibGUg b2YgcHJvdmlkaW5nIGF0IGxlYXN0IDJNYnBzCiAgIG92ZXIgMjcwMCBtIGxvbmcgc2luZ2xlIGNv cHBlciBwYWlyIHdpdGggYSBtZWFuIEJpdCBFcnJvciBSYXRlIChCRVIpCiAgIG9mIDEwXi03ICh1 c2luZyA1ZEIgdGFyZ2V0IG5vaXNlIG1hcmdpbikuCiAgCjwvcD4KPHA+CiAgIDEwUEFTUy1UUyBQ SFkgaXMgY2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXIKICAgNzUwIG0g bG9uZyBzaW5nbGUgY29wcGVyIHBhaXIgd2l0aCBhIG1lYW4gQkVSIG9mIDEwXi03ICh1c2luZyA2 ZEIKICAgdGFyZ2V0IG5vaXNlIG1hcmdpbikuCiAgCjwvcD4KPHA+CiAgIFRoaXMgbWVtbyBkZWZp bmVzIGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBmb3IKICAgdXNl IHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHByb3RvY29scyBpbiB0aGUgSW50ZXJuZXQgCiAgIGNv bW11bml0eSB0byBtYW5hZ2UgRUZNQ3UgaW50ZXJmYWNlcy4KICAgSW4gYWRkaXRpb24gYSBNSUIg bW9kdWxlIGlzIGRlZmluZWQgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0CiAgIGNhcGFiaWxpdHkg b2YgYSBzdGFja2VkIGludGVyZmFjZS4KICAKPC9wPgo8cD4KICAgTm90ZSB0aGF0IG1hbmFnZWQg b2JqZWN0cyBmb3IgT3BlcmF0aW9uLCBBZG1pbmlzdHJhdGlvbiBhbmQKICAgTWFuYWdlbWVudCAo T0FNKSBhbmQgRXRoZXJuZXQgb3ZlciBQYXNzaXZlIE9wdGljYWwgTmV0d29ya3MgKEVQT04pCiAg IGNsYXVzZXMgb2YgSUVFRSA4MDIuM2FoIGFyZSBkZWZpbmVkIGluIEVGTS1DT01NT04tTUlCCiAg IDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtaHVibWliLWVmbS1taWIiPltJLUQuaWV0 Zi1odWJtaWItZWZtLW1pYl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+U3F1aXJl LCBNLiwgJmxkcXVvO0RlZmluaXRpb25zIGFuZCBNYW5hZ2VkIE9iamVjdHMgZm9yIE9BTSBGdW5j dGlvbnMgICAgICAgICAgICAgIG9uIEV0aGVybmV0IExpa2UgSW50ZXJmYWNlcywmcmRxdW87IE1h cmNoJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IGFuZCBFRk0tRVBPTi1NSUIK ICAgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNJLUQuaWV0Zi1odWJtaWItZWZtLWVwb24tbWliIj5b SS1ELmlldGYtaHVibWliLWVmbS1lcG9uLW1pYl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0i aW5mbyI+S2hlcm1vc2gsIEwuLCAmbGRxdW87TWFuYWdlZCBPYmplY3RzIG9mIEVQT04sJnJkcXVv OyBKdWx5Jm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IHJlc3BlY3RpdmVseS4K ICAKPC9wPgo8YSBuYW1lPSJhbmNob3IyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5 PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxp Z249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5r MiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2Vj dGlvbi4yIj48L2E+PGgzPjIuJm5ic3A7VGhlIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQg RnJhbWV3b3JrPC9oMz4KCjxwPgogICBGb3IgYSBkZXRhaWxlZCBvdmVydmlldyBvZiB0aGUgZG9j dW1lbnRzIHRoYXQgZGVzY3JpYmUgdGhlIGN1cnJlbnQKICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFu YWdlbWVudCBGcmFtZXdvcmssIHBsZWFzZSByZWZlciB0bwogICBzZWN0aW9uIDcgb2YgUkZDIDM0 MTAgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMzNDEwIj5bUkZDMzQxMF08c3Bhbj4gKDwvc3Bh bj48c3BhbiBjbGFzcz0iaW5mbyI+Q2FzZSwgSi4sIE11bmR5LCBSLiwgUGFydGFpbiwgRC4sIGFu ZCBCLiBTdGV3YXJ0LCAmbGRxdW87SW50cm9kdWN0aW9uIGFuZCBBcHBsaWNhYmlsaXR5IFN0YXRl bWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrLCZyZHF1bzsg RGVjZW1iZXImbmJzcDsyMDAyLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uCiAgCjwvcD4KPHA+ CiAgIE1hbmFnZWQgb2JqZWN0cyBhcmUgYWNjZXNzZWQgdmlhIGEgdmlydHVhbCBpbmZvcm1hdGlv biBzdG9yZSwKICAgdGVybWVkIHRoZSBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ugb3IgTUlC LiAgTUlCIG9iamVjdHMgYXJlCiAgIGdlbmVyYWxseSBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBTaW1w bGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sCiAgIChTTk1QKS4gIE9iamVjdHMgaW4gdGhl IE1JQiBhcmUgZGVmaW5lZCB1c2luZyB0aGUgbWVjaGFuaXNtcwogICBkZWZpbmVkIGluIHRoZSBT dHJ1Y3R1cmUgb2YgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMKICAgbWVtbyBz cGVjaWZpZXMgYSBNSUIgbW9kdWxlIHRoYXQgaXMgY29tcGxpYW50IHRvIHRoZSBTTUl2Miwgd2hp Y2gKICAgaXMgZGVzY3JpYmVkIGluIFNURCA1OCwgUkZDIDI1NzggPGEgY2xhc3M9ImluZm8iIGhy ZWY9IiNSRkMyNTc4Ij5bUkZDMjU3OF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+ TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBTY2hvZW53YWVsZGVyLCBKLiwgQ2FzZSwgSi4s IE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICZsZHF1bztTdHJ1 Y3R1cmUgb2YgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBWZXJzaW9uIDIgKFNNSXYyKSwmcmRxdW87 IEFwcmlsJm5ic3A7MTk5OS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LAogICBTVEQgNTgsIFJG QyAyNTc5IDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMjU3OSI+W1JGQzI1NzldPHNwYW4+ICg8 L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPk1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2No b2Vud2FlbGRlciwgSi4sIENhc2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBT LiBXYWxkYnVzc2VyLCAmbGRxdW87VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjIsJnJkcXVv OyBBcHJpbCZuYnNwOzE5OTkuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgU1REIDU4LCBS RkMKICAgMjU4MCA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI1JGQzI1ODAiPltSRkMyNTgwXTxzcGFu PiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5NY0Nsb2docmllLCBLLiwgUGVya2lucywgRC4s IGFuZCBKLiBTY2hvZW53YWVsZGVyLCAmbGRxdW87Q29uZm9ybWFuY2UgU3RhdGVtZW50cyBmb3Ig U01JdjIsJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTkuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4K ICAKPC9wPgo8cD4KICAgVGhlIGtleSB3b3JkcyAiTVVTVCIsICJNVVNUIE5PVCIsICJSRVFVSVJF RCIsICJTSEFMTCIsICJTSEFMTCBOT1QiLAogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVD T01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcwogICBkb2N1bWVudCBhcmUg dG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVzY3JpYmVkIGluIFJGQyAyMTE5CiAgIDxhIGNsYXNzPSJp bmZvIiBocmVmPSIjUkZDMjExOSI+W1JGQzIxMTldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9 ImluZm8iPkJyYWRuZXIsIFMuLCAmbGRxdW87S2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0byBJ bmRpY2F0ZSBSZXF1aXJlbWVudCBMZXZlbHMsJnJkcXVvOyBNYXJjaCZuYnNwOzE5OTcuPC9zcGFu PjxzcGFuPik8L3NwYW4+PC9hPi4KICAKPC9wPgo8YSBuYW1lPSJhbmNob3IzIj48L2E+PGJyIC8+ PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhy ZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh YmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zIj48L2E+PGgzPjMuJm5ic3A7UmVsYXRpb24gdG8g b3RoZXIgTUlCIG1vZHVsZXM8L2gzPgoKPHA+CiAgVGhpcyBzZWN0aW9uIG91dGxpbmVzIHRoZSBy ZWxhdGlvbnNoaXAgb2YgdGhlIE1JQiBtb2R1bGVzIGRlZmluZWQgaW4KICB0aGlzIGRvY3VtZW50 IHdpdGggb3RoZXIgTUlCIG1vZHVsZXMKICBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3Mu IFNwZWNpZmljYWxseSwgSW50ZXJmYWNlcyBHcm91cCBNSUIKICAoSUYtTUlCKSwgRXRoZXJuZXQt TGlrZSAoRXRoZXJMaWtlLU1JQiksIE1BVSAoTUFVLU1JQiksIFNIRFNMCiAgKEhEU0wyLVNIRFNM LUxJTkUtTUlCKSBhbmQgVkRTTCAoVkRTTC1MSU5FLUVYVC1NQ00tTUlCKSBhcmUgZGlzY3Vzc2Vk LgogCjwvcD4KPGEgbmFtZT0iYW5jaG9yNCI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFs aWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGlu azIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNl Y3Rpb24uMy4xIj48L2E+PGgzPjMuMS4mbmJzcDtSZWxhdGlvbiB0byBJbnRlcmZhY2VzIEdyb3Vw IE1JQiBtb2R1bGU8L2gzPgoKPHA+CiAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMgUEhZJ3Mgc3Bl Y2lmaWVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUgc3RhY2tlZAogICAoYS5rLmEuIGFn Z3JlZ2F0ZWQgb3IgYm9uZGVkKSBFdGhlcm5ldCBpbnRlcmZhY2VzIGFuZCBhcyBzdWNoIGFyZSBt YW5hZ2VkCiAgIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZQogICBJRi1NSUIgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMyODYzIj5bUkZD Mjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+TWNDbG9naHJpZSwgSy4gYW5k IEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJmYWNlcyBHcm91cCBNSUIsJnJkcXVvOyBK dW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LgogIAo8L3A+CjxwPgogICBU aGUgc3RhY2sgbWFuYWdlbWVudCwgaS5lLiBhY3R1YWwgY29ubmVjdGlvbiBvZiB0aGUgc3ViLWxh eWVycyB0bwogICB0aGUgdG9wIGxheWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhlIGlmU3Rh Y2tUYWJsZSwgYXMgZGVmaW5lZCBpbiAKICAgdGhlIElGLU1JQiA8YSBjbGFzcz0iaW5mbyIgaHJl Zj0iI1JGQzI4NjMiPltSRkMyODYzXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5N Y0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9seiwgJmxkcXVvO1RoZSBJbnRlcmZhY2VzIEdy b3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAwLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4g YW5kIGl0cyBpbnZlcnNlCiAgIGlmSW52U3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiB0aGUgSUYt SU5WRVJURUQtU1RBQ0stTUlCCiAgIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMjg2NCI+W1JG QzI4NjRdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPk1jQ2xvZ2hyaWUsIEsuIGFu ZCBHLiBIYW5zb24sICZsZHF1bztUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUgRXh0ZW5zaW9uIHRv IHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAwLjwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uCiAgCjwvcD4KPHA+CiAgIFRoZSBuZXcgdGFibGVzIGlmQ2FwU3Rh Y2tUYWJsZSBhbmQgaXRzIGludmVyc2UKICAgaWZJbnZDYXBTdGFja1RhYmxlIGRlZmluZWQgaW4g dGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlCiAgIGJlbG93LCBleHRlbmQgdGhlIHN0YWNrIG1h bmFnZW1lbnQgd2l0aCBhbiBhYmlsaXR5IHRvIGRlc2NyaWJlCiAgIHBvc3NpYmxlIGNvbm5lY3Rp b25zIG9yIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSwgd2hlbiBhIGZsZXhpYmxlCiAgIGNyb3Nz LWNvbm5lY3QgbWF0cml4IGlzIHByZXNlbnQgYmV0d2VlbiB0aGUgaW50ZXJmYWNlIGxheWVycy4K ICAKPC9wPgo8YSBuYW1lPSJhbmNob3I1Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5 PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxp Z249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5r MiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2Vj dGlvbi4zLjEuMSI+PC9hPjxoMz4zLjEuMS4mbmJzcDtMYXllcmluZyBNb2RlbDwvaDM+Cgo8cD4K ICAgICBBbiBFRk1DdSBpbnRlcmZhY2UgY2FuIGFnZ3JlZ2F0ZSB1cCB0byAzMiBQaHlzaWNhbCBN ZWRpdW0KICAgICBFbnRpdHkgKFBNRSkgc3ViLWxheWVyIGRldmljZXMgKG1vZGVtcyksIHVzaW5n IHNvCiAgICAgY2FsbGVkIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKS4KICAgIAo8L3A+ CjxwPgogICAgIEEgZ2VuZXJpYyBFRk1DdSBkZXZpY2UgY2FuIGhhdmUgYSBudW1iZXIgb2YgUGh5 c2ljYWwgQ29kaW5nCiAgICAgU3VibGF5ZXIgKFBDUykgcG9ydHMsIGVhY2ggY29ubmVjdGVkIHRv IGEgTUFDIHZpYSBNZWRpdW0gSW5kZXBlbmRlbnQKICAgICBJbnRlcmZhY2UgKE1JSSkgYXQgdGhl IHVwcGVyIGxheWVyLCBhbmQgY3Jvc3MtY29ubmVjdGVkIHRvIGEKICAgICBudW1iZXIgb2YgdW5k ZXJseWluZyBQTUVzLCB3aXRoIGEgc2luZ2xlIFBDUyBwZXIgUE1FIHJlbGF0aW9uc2hpcCwKICAg ICBzZWUgY2xhdXNlIDYxLjEgb2YgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAy LjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0lFRUUg U3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAgICAgIFRlbGVjb21tdW5p Y2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gICAgICAg ICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAgICAgICAgIFNwZWNpZmlj IHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFj Y2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1l dGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLSAgICAgICAgIEFtZW5kbWVu dDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwgICAgICAgICBMYXll cnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MgTmV0d29y a3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4g Zm9yIG1vcmUgZGV0YWlscy4KICAgIAo8L3A+CjxwPgogICAgIEVhY2ggUE1FIGluIHRoZSBhZ2dy ZWdhdGVkIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQgaW4gdGhlCiAgICAgSW50ZXJmYWNlIHRh YmxlIChpZlRhYmxlKSBhcyBhIHNlcGFyYXRlIHBvcnQgd2l0aCBpZlR5cGUgb2Ygc2hkc2woMTY5 KSBmb3IKICAgICAyQkFTRS1UTCBvciB2ZHNsKDk3KSBmb3IgMTBQQVNTLVRTLiBUaGUgaWZUeXBl IHZhbHVlcyBhcmUgZGVmaW5lZCBpbgogICAgIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSUFOQWlm VHlwZS1NSUIiPltJQU5BaWZUeXBlLU1JQl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5m byI+SW50ZXJuZXQgQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkgKElBTkEpLCAmbGRxdW87SUFO QWlmVHlwZSBUZXh0dWFsIENvbnZlbnRpb24gZGVmaW5pdGlvbiwmcmRxdW87IC48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+LgogICAgCjwvcD4KPHA+CiAgICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUg U0hBTEwgcmV0dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlCiAgICAgb2YgdGhlIGFjdGl2ZSBQ TUUgKGUuZy4gZm9yIDJCYXNlVEwgUE1FcyBpdCBpcyBhIG11bHRpcGxlIG9mCiAgICAgNjRLYnBz KS4gWmVybyB2YWx1ZSBTSEFMTCBiZSByZXR1cm5lZCB3aGVuIFBNRSBpcyBpbml0aWFsaXppbmcg b3IgZG93bi4KICAgIAo8L3A+CjxwPgogICAgIFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhl IHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgZGF0YQogICAgIHJhdGVzIG9mIGFsbCBQTUVz IGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cCwgd2l0aG91dCB0aGUgNjQvNjVCCiAgICAgZW5jYXBz dWxhdGlvbiBvdmVyaGVhZCBhbmQgUEFGIG92ZXJoZWFkLCBidXQgYWNjb3VudGluZyBmb3IgdGhl CiAgICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4KICAgIDxiciAvPjxociAvPgo8YSBuYW1lPSJG aWd1cmUgMSI+PC9hPgoKPHA+V2hlbiB1c2luZyB0aGUgc3RhdGVkIGRlZmluaXRpb24gb2YgaWZT cGVlZCBmb3IgdGhlCiAgICAgICAgICAgICAgICBQQ1MsIHRoZXJlIHdvdWxkIGJlIG5vIGZyYW1l IGxvc3MgaW4gdGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uCiAgICAgICAgICAgICAgICAodGhl IHRlc3Qtc2V0cyBhcmUgY29uZmlndXJlZCB0byBnZW5lcmF0ZSAxMDAlIG9mIGJhY2sKICAgICAg ICAgICAgICAgIHRvIGJhY2sgdHJhZmZpYywgaS5lLiBtaW5pbWFsIElGRywgYXQgMTAgb3IgMTAw TWJwcywKICAgICAgICAgICAgICAgIHdpdGggbWluIGFuZCBtYXggZnJhbWUgc2l6ZXM7CiAgICAg ICAgICAgICAgICB0aGUgRUZNIGludGVyZmFjZXMgYXJlIGFnZ3JlZ2F0ZWQsIHRvIGFjaGlldmUg dGhlIHNob3duIHNwZWVkKToKICAgICAgCjwvcD48cHJlPgpbdGVzdHNldF0tLTEwQmFzZVQtLVtD T10tLTJCYXNlVEwtLVtDUEVdLS0xMEJhc2VULS1bdGVzdHNldF0KICBpZlNwZWVkPSAgMTBNYnBz ICAgICAgICAgMTBNYnBzICAgICAgICAgMTBNYnBzCgpbdGVzdHNldF0tLTEwMEJhc2VULS1bQ09d LS0xMFBhc3NUUy0tW0NQRV0tLTEwMEJhc2VULS1bdGVzdHNldF0KICBpZlNwZWVkPSAgMTAwTWJw cyAgICAgICAgIDEwME1icHMgICAgICAgICAxMDBNYnBzCjwvcHJlPjx0YWJsZSBib3JkZXI9IjAi IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48 Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO0ZpZ3Vy ZSZuYnNwOzE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MmbmJzcDs8 L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+ CgogICAgCjxiciAvPjxociAvPgo8YSBuYW1lPSJGaWd1cmUgMiI+PC9hPgoKPHA+VGhlIGZvbGxv d2luZyBmaWd1cmUgc2hvd3MgdGhlIGxheWVyaW5nIGRpYWdyYW0gYW5kCiAgICAgICAgICAgICAg ICBjb3JyZXNwb25kaW5nIHVzZSBvZiBpZlRhYmxlIGFuZCBpZk1hdVRhYmxlOgo8L3A+PHByZT4K IF9fX19fX19fX19fX19fX19fX19fX19fX18gICBfCnwgICAgICAgIExMQyAgICAgICAgICAgICAg fCAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgMSBpZkVudHJ5CnwgICAgICAgIE1B QyAgICAgICAgICAgICAgfCAgfCAgICAgaWZUeXBlOiBldGhlcm5ldENzbWFjZCg2KQorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsgID4gICBpZk1hdUVudHJ5CnwgICAgICAgIFJlY29uc2lsaWF0 aW9uICAgfCAgfCAgICAgaWZNYXVUeXBlOiBkb3QzTWF1VHlwZTJCYXNlVEwgb3IKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rICB8ICAgICAgICAgICAgICAgIGRvdDNNYXVUeXBlMTBQYXNzVFMK fCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB8CistLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0t KyAgKwp8IFRDIFwgICAgICAgIHwgICB8ICAgICAgIHwgIHwKKy0tLS0tXCAgICAgICB8ICAgfCAg ICAgICB8ICB8CnwgUE1BID4gUE1FIDEgfC4uLnwgUE1FIE4gfCAgPiBOIGlmRW50cnkgIChOPTEu LjMyKQorLS0tLS0vICAgICAgIHwgICB8ICAgICAgIHwgIHwgICAgIGlmVHlwZTogc2hkc2woMTY5 KSBvciB2ZHNsKDk3KQp8IFBNRC8gICAgICAgIHwgICB8ICAgICAgIHwgIHwKIC0tLS0tLS0tLS0t LS0rLS0tKy0tLS0tLS0gICAtCjwvcHJlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIw IiBjZWxsc3BhY2luZz0iMiI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25h Y28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzI6IFVzZSBv ZiBpZlRhYmxlIGFuZCBpZk1hdVRhYmxlIGZvciBFRk1DdSBwb3J0cyZuYnNwOzwvYj48L2ZvbnQ+ PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIHNpemU9IjEiIHNoYWRlPSIwIj4KCjxwPgogICAg IFRoZSBpZlN0YWNrVGFibGUgaXMgaW5kZXhlZCBieSB0aGUgaWZJbmRleCB2YWx1ZXMgb2YgdGhl IGFnZ3JlZ2F0ZWQKICAgICBFRk1DdSBwb3J0IChQQ1MpIGFuZCB0aGUgUE1FcyBjb25uZWN0ZWQg dG8gaXQuIGlmU3RhY2tUYWJsZSBhbGxvd3MgYQogICAgIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBs aWNhdGlvbiB0byBkZXRlcm1pbmUgd2hpY2ggUE1FcyBhcmUgY29ubmVjdGVkCiAgICAgdG8gYSBw YXJ0aWN1bGFyIFBDUyBhbmQgY2hhbmdlIGNvbm5lY3Rpb25zIChpZiBzdXBwb3J0ZWQgYnkgdGhl IAogICAgIGFwcGxpY2F0aW9uKS4gVGhlIGlmSW52U3RhY2tUYWJsZSwgYmVpbmcgYW4gaW52ZXJ0 ZWQgdmVyc2lvbiBvZgogICAgIHRoZSBpZlN0YWNrVGFibGUsIHByb3ZpZGVzIGFuIGVmZmljaWVu dCBtZWFucyBmb3IgYSBOZXR3b3JrCiAgICAgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byByZWFk IGEgc3Vic2V0IG9mIHRoZSBpZlN0YWNrVGFibGUgYW5kCiAgICAgdGhlcmVieSBkZXRlcm1pbmUg d2hpY2ggUENTIHJ1bnMgb24gdG9wIG9mIGEgcGFydGljdWxhciBQTUUuCiAgICAKPC9wPgo8cD4K ICAgICBBIG5ldyB0YWJsZSBpZkNhcFN0YWNrVGFibGUgZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNU QUNLLU1JQgogICAgIG1vZHVsZSwgc3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hlci1sYXllciBpbnRl cmZhY2UgKGUuZy4gUENTIHBvcnQpCiAgICAgYSBsaXN0IG9mIGxvd2VyLWxheWVyIGludGVyZmFj ZXMgKGUuZy4gUE1FcyksIHdoaWNoIGNhbiBwb3NzaWJseQogICAgIGJlIGNyb3NzLWNvbm5lY3Rl ZCB0byB0aGF0IGhpZ2hlci1sYXllciBpbnRlcmZhY2UsCiAgICAgZGV0ZXJtaW5lZCBieSB0aGUg Y3Jvc3MtY29ubmVjdAogICAgIGNhcGFiaWxpdHkgb2YgdGhlIGRldmljZS4gVGhpcyB0YWJsZSwg bW9kZWxlZCBhZnRlciBpZlN0YWNrVGFibGUsIGlzCiAgICAgcmVhZCBvbmx5LCByZWZsZWN0aW5n IGN1cnJlbnQgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIGEKICAgICBzdGFja2VkIGludGVy ZmFjZSwgd2hpY2gKICAgICBjYW4gYmUgZHluYW1pYyBpbiBzb21lIGltcGxlbWVudGF0aW9ucyAo ZS5nLiBpZiBQTUVzIGFyZSBsb2NhdGVkCiAgICAgb24gYSBwbHVnZ2FibGUgbW9kdWxlIGFuZCB0 aGUgbW9kdWxlIGlzIHB1bGxlZCBvdXQpLgogICAgIE5vdGUgdGhhdCBQTUUgYXZhaWxhYmlsaXR5 IHBlciBQQ1MsIGRlc2NyaWJlZCBieQogICAgIGlmQ2FwU3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0 cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsCiAgICAgZm9yIGV4YW1wbGUgYnkgYWdncmVnYXRp b24gY2FwYWNpdHkgb2YgYSBQQ1Mgb3IgYnkgdGhlIFBNRSBpbgogICAgIHF1ZXN0aW9uIGJlaW5n IGFscmVhZHkgY29ubmVjdGVkIHRvIGFub3RoZXIgUENTLiBTbywgaW4KICAgICBvcmRlciB0byBl bnN1cmUgdGhhdCBhIHBhcnRpY3VsYXIgUE1FIGNhbiBiZSBjb25uZWN0ZWQgdG8gdGhlIFBDUywK ICAgICBhbGwgcmVzcGVjdGl2ZSBwYXJhbWV0ZXJzIChlLmcuIGlmQ2FwU3RhY2tUYWJsZSwKICAg ICBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2FwYWNpdHkpIFNIQUxMIGJlIGluc3BlY3RlZC4K ICAgIAo8L3A+CjxwPgogICAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28gZGVmaW5lZCBp biB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsCiAgICAgZGVzY3JpYmVzIHdoaWNoIGhpZ2hl ci1sYXllciBpbnRlcmZhY2VzIChlLmcuIFBDUyBwb3J0cykgY2FuIHBvc3NpYmx5CiAgICAgYmUg Y29ubmVjdGVkIHRvIGEgcGFydGljdWxhciBsb3dlci1sYXllciBpbnRlcmZhY2UgKGUuZy4gUE1F KSwKICAgICBwcm92aWRpbmcgaW52ZXJ0ZWQgbWFwcGluZyBvZiBpZkNhcFN0YWNrVGFibGUuCiAg ICAgV2hpbGUgaXQgY29udGFpbnMgbm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBiZXlvbmQgdGhh dCBhbHJlYWR5CiAgICAgY29udGFpbmVkIGluIHRoZSBpZkNhcFN0YWNrVGFibGUsIHRoZSBpZklu dkNhcFN0YWNrVGFibGUgaGFzIHRoZQogICAgIGlmSW5kZXggdmFsdWVzIGluIGl0cyBJTkRFWCBj bGF1c2UgaW4gdGhlIHJldmVyc2Ugb3JkZXIsIGkuZS4sIHRoZQogICAgIGxvd2VyLWxheWVyIGlu dGVyZmFjZSBmaXJzdCwgYW5kIHRoZSBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlCiAgICAgc2Vjb25k LCBwcm92aWRpbmcgYW4gZWZmaWNpZW50IG1lYW5zIGZvciBhIE5ldHdvcmsgTWFuYWdlbWVudAog ICAgIGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhlIGlmQ2FwU3RhY2tUYWJsZSBh bmQgdGhlcmVieQogICAgIGRldGVybWluZSB3aGljaCBpbnRlcmZhY2VzIGNhbiBiZSBjb25uZWN0 ZWQgdG8gcnVuIG9uIHRvcCBvZiBhCiAgICAgcGFydGljdWxhciBpbnRlcmZhY2UuCiAgICAKPC9w Pgo8YSBuYW1lPSJhbmNob3I2Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJp Z2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5i c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjEuMiI+PC9hPjxoMz4zLjEuMi4mbmJzcDtQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRik8 L2gzPgoKPHA+CiAgICAgVGhlIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBhbGxvd3Mg YSBudW1iZXIgb2YgUE1FcyB0byBiZQogICAgIGFnZ3JlZ2F0ZWQgb250byBhIFBDUyBwb3J0LCBi eSBmcmFnbWVudGluZyB0aGUgRXRoZXJuZXQgZnJhbWVzLAogICAgIHRyYW5zbWl0dGluZyB0aGUg ZnJhZ21lbnRzIG92ZXIgbXVsdGlwbGUgUE1FcyBhbmQgYXNzZW1ibGluZyB0aGUKICAgICBvcmln aW5hbCBmcmFtZXMgYXQgdGhlIHJlbW90ZSBwb3J0LiBQQUYgaXMgT1BUSU9OQUwsIG1lYW5pbmcg dGhhdCBhCiAgICAgZGV2aWNlIHdpdGggYSBzaW5nbGUgUE1FIE1BWSBwZXJmb3JtIGZyYWdtZW50 YXRpb24gYW5kCiAgICAgcmUtYXNzZW1ibHkgaWYgdGhpcyBmdW5jdGlvbiBpcyBzdXBwb3J0ZWQg YnkgdGhlIGRldmljZS4KICAgICBOb3RlIGhvd2V2ZXIgdGhhdCB0aGUgYWdlbnQgaXMgUkVRVUlS RUQgdG8gcmVwb3J0IG9uIHRoZQogICAgIFBBRiBjYXBhYmlsaXR5IGZvciBhbGwgRUZNQ3UgcG9y dHMgKDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMpLgogICAgCjwvcD4KPHA+CiAgICAgVGhlIEVGTS1D VS1NSUIgbW9kdWxlIGFsbG93cyBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byBx dWVyeQogICAgIFBBRiBjYXBhYmlsaXR5IGFuZCBlbmFibGUvZGlzYWJsZSBpdCBpZiBzdXBwb3J0 ZWQuIE5vdGUgdGhhdAogICAgIGVuYWJsaW5nIFBBRiBlZmZlY3RpdmVseSB0dXJucyBvbiBmcmFn bWVudGF0aW9uIGFuZCByZS1hc3NlbWJseSwKICAgICBldmVuIG9uIGEgc2luZ2xlLVBNRSBwb3J0 LgogICAgCjwvcD4KPGEgbmFtZT0iYW5jaG9yNyI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3Vt bWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0i bGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj LnNlY3Rpb24uMy4xLjMiPjwvYT48aDM+My4xLjMuJm5ic3A7RGlzY292ZXJ5IE9wZXJhdGlvbjwv aDM+Cgo8cD4KICAgICBUaGUgRUZNQ3UgcG9ydHMgbWF5IG9wdGlvbmFsbHkgc3VwcG9ydCBkaXNj b3Zlcnkgb3BlcmF0aW9uLAogICAgIHdoZXJlYnkgUE1FcywgZHVyaW5nIGluaXRpYWxpemF0aW9u LCBleGNoYW5nZSBpbmZvcm1hdGlvbiBhYm91dAogICAgIHRoZWlyIHJlc3BlY3RpdmUgYWdncmVn YXRpb24gZ3JvdXBzIChQQ1MpLiBUaGlzIGluZm9ybWF0aW9uIGNhbgogICAgIHRoZW4gYmUgdXNl ZCB0byBkZXRlY3QgY29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBhdXRvbWF0aWMKICAg ICBhc3NpZ25tZW50IG9mIHRoZSBsb2NhbCBQTUVzIGludG8gYWdncmVnYXRpb24gZ3JvdXBzIGlu c3RlYWQgb2YKICAgICBhIGZpeGVkIHByZS1jb25maWd1cmF0aW9uLgogICAgCjwvcD4KPHA+CiAg ICAgVGhlIE1JQiBtb2R1bGVzIGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudCBhbGxvdyBhIE5ldHdv cmsKICAgICBNYW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBt ZWNoYW5pc20gYW5kIHF1ZXJ5CiAgICAgaXRzIHJlc3VsdHMuIE5vdGUgdGhhdCB0aGUgRGlzY292 ZXJ5IG1lY2hhbmlzbSBjYW4gd29yayBvbmx5IGlmCiAgICAgUEFGIGlzIHN1cHBvcnRlZCBhbmQg ZW5hYmxlZC4KICAgIAo8L3A+CjxwPgogICAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVG TSBEaXNjb3ZlcnkgbWVjaGFuaXNtOiBpZlN0YWNrVGFibGUgYW5kCiAgICAgaWZDYXBTdGFja1Rh YmxlLiBUaGUgZm9sbG93aW5nIHBzZXVkby1jb2RlIGdpdmVzCiAgICAgYW4gZXhhbXBsZSBvZiB0 aGUgRGlzY292ZXJ5IGFuZCBhdXRvbWF0aWMgUE1FIGFzc2lnbm1lbnQgZm9yIGEgZ2VuZXJpYwog ICAgIFBBRiBlbmFibGVkIG11bHRpLVBDUyBFRk1DdSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJh bCBPZmZpY2UKICAgICAoQ08pLCB1c2luZyBvYmplY3RzIGRlZmluZWQgaW4gdGhlc2UgTUlCIG1v ZHVsZXMgYW5kIGluIElGLU1JQgogICAgIFtOb3RlIHRoYXQgYXV0b21hdGljIFBNRSBhc3NpZ25t ZW50IGlzIG9ubHkgc2hvd24gaGVyZSBmb3IKICAgICB0aGUgcHVycG9zZXMgb2YgdGhlIGV4YW1w bGUuIEZpeGVkIFBNRSBwcmUtYXNzaWdubWVudCwgbWFudWFsCiAgICAgYXNzaWdubWVudCBvciBh dXRvLWFzc2lnbm1lbnQgdXNpbmcgYW4gYWx0ZXJuYXRpdmUgaW50ZXJuYWwKICAgICBhbGdvcml0 aG0gbWF5IGJlIGNob3NlbiBieSBhIHBhcnRpY3VsYXIgaW1wbGVtZW50YXRpb25dOgogICAgCjwv cD48cHJlPgovLyBHbyBvdmVyIGFsbCBQQ1MgcG9ydHMgaW4gdGhlIENPIGRldmljZQpGT1JFQUNI IHBjc1tpXSBJTiBDT19kZXZpY2UKeyAvLyBQZXJmb3JtIGRpc2NvdmVyeSBhbmQgYXV0by1hc3Np Z25tZW50IG9ubHkgb24gUEFGIGVuYWJsZWQgcG9ydHMKICAvLyB3aXRoIHJvb20gZm9yIG1vcmUg UE1FcwogIElGICggcGNzW2ldLlBBRlN1cHBvcnRlZCBBTkQgcGNzW2ldLk51bVBNRXMgJmx0OyBw Y3NbaV0uUEFGQ2FwYWNpdHkgKQogICAgeyBkYyA9IHBjc1tpXS5EaXNjb3ZlcnlDb2RlID0gTUFD W2ldOyAvLyB1bmlxdWUgNiBCeXRlIHBlciBQQ1MKICAgICAgLy8gR28gb3ZlciBhbGwgZGlzY29u bmVjdGVkIFBNRXMsIHdoaWNoIGNhbgogICAgICAvLyBwb3R0ZW50aWFsbHkgYmUgY29ubmVjdGVk IHRvIHRoZSBQQ1MKICAgICAgRk9SRUFDSCBwbWVbal0gSU4gaWZDYXBTdGFja1RhYmxlW3Bjc1tp XV0gQU5ECiAgICAgICAgICAgICAgICAgICAgIE5PVCBpZkludlN0YWNrVGFibGVbcG1lW2pdXSAg Ly8gbm90IGNvbm5lY3RlZAogICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9k ZXZpY2UsIGJ5IHdyaXRpbmcgdGhlIHZhbHVlCiAgICAgICAgICAvLyBvZiB0aGUgbG9jYWwgNiBC eXRlIGRpc2NvdmVyeSBjb2RlIHRvIHRoZSByZW1vdGUKICAgICAgICAgIC8vIGRpc2NvdmVyeSBj b2RlIHJlZ2lzdGVyICh2aWEgaGFuZHNoYWtlIG1lY2hhbmlzbSkuCiAgICAgICAgICAvLyBUaGlz IG9wZXJhdGlvbiBpcyBhdG9taWMgU2V0LWlmLUNsZWFyIGFjdGlvbiwgaS5lLiBpdAogICAgICAg ICAgLy8gd291bGQgc3VjY2VlZCBvbmx5IGlmIHRoZSByZW1vdGUgZGlzY292ZXJ5IHJlZ2lzdGVy IHdhcwogICAgICAgICAgLy8gemVyby4gUmVhZCB0aGUgcmVtb3RlIGRpc2NvdmVyeSBjb2RlIHJl Z2lzdGVyIHZpYSBHZXQKICAgICAgICAgIC8vIG9wZXJhdGlvbiB0byBzZWUgaWYgdGhlIFJUX2Rl dmljZSwgYXR0YWNoZWQgdmlhIHRoZSBQTUUKICAgICAgICAgIC8vIGlzIGluZGVlZCBtYXJrZWQg YXMgYmVpbmcgdGhlIENPX2RldmljZSBwZWVyLgogICAgICAgICAgcG1lW2pdLlJlbW90ZURpc2Nv dmVyeUNvZGUgPSBkYzsgICAgICAgIC8vIFNldC1pZi1DbGVhcgogICAgICAgICAgciA9IHBtZVtq XS5SZW1vdGVEaXNjb3ZlcnlDb2RlOyAgICAgICAgIC8vIEdldAogICAgICAgICAgSUYgKCByID09 IGRjIEFORCBwY3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkKICAgICAgICAg ICAgeyAvLyBSZW1vdGUgUlRfZGV2aWNlIGNvbm5lY3RlZCB2aWEgUE1FW2pdIGlzL3dhcyBhIHBl ZXIKICAgICAgICAgICAgICAvLyBmb3IgUENTW2ldIGFuZCB0aGVyZSByb29tIGZvciBhbm90aGVy IFBNRSBpbiB0aGUKICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3JvdXAgKG1h eC4gUEFGIGNhcGFjaXR5IGlzIG5vdAogICAgICAgICAgICAgIC8vIHJlYWNoZWQgeWV0KS4KICAg ICAgICAgICAgICAvLyBDb25uZWN0IHRoaXMgUE1FIHRvIHRoZSBQQ1MgKHZpYSBpZlN0YWNrVGFi bGUsCiAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGludmVyc2Ugb2YgaWZT dGFja1RhYmxlIGlzCiAgICAgICAgICAgICAgLy8gdXBkYXRlZCBhdXRvbWF0aWNhbGx5KQogICAg ICAgICAgICAgIEFERCBwbWVbal0gVE8gaWZTdGFja1RhYmxlW3Bjc1tpXV07CiAgICAgICAgICAg ICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0YWNrVGFibGVbcG1lW2pdXQog ICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51bVBNRXMgKyAxOwogICAgICAg ICAgICAgIC8vIERpc2NvdmVyIGFsbCBvdGhlciBkaXNjb25uZWN0ZWQgUE1FcywKICAgICAgICAg ICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9kZXZpY2UgYW5kIGNvbm5lY3QgdGhlbSB0 bwogICAgICAgICAgICAgIC8vIHRoZSBQQ1MgcHJvdmlkZWQgdGhlcmUgaXMgZW5vdWdoIHJvb20g Zm9yIG1vcmUgUE1Fcy4KICAgICAgICAgICAgICBGT1JFQUNIIHBtZVtrXSBJTiBpZkNhcFN0YWNr VGFibGVbcGNzW2ldXSBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1QgaWZJbnZT dGFja1RhYmxlW3BtZVtrXV0KICAgICAgICAgICAgICAgIHsgciA9IHBtZVtrXS5SZW1vdGVEaXNj b3ZlcnlDb2RlOyAvLyBHZXQKICAgICAgICAgICAgICAgICAgSUYgKCByID09IGRjIEFORAogICAg ICAgICAgICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzICZsdDsgcGNzW2ldLlBBRkNhcGFjaXR5 KQogICAgICAgICAgICAgICAgICAgIHsgQUREIHBtZVtrXSBUTyBpZlN0YWNrVGFibGVbcGNzW2ld XTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGNzW2ldIGlzIGFkZGVkIFRPIGlmSW52U3Rh Y2tUYWJsZVtwbWVba11dCiAgICAgICAgICAgICAgICAgICAgICBwY3NbaV0uTnVtUE1FcyA9IHBj c1tpXS5OdW1QTUVzICsgMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KICAgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBkaXNjb3Zl cmVkIGFsbCBsb2NhbCBQTUVzIHdoaWNoCiAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25u ZWN0ZWQgdG8gdGhlIHNhbWUgcmVtb3RlIFJUX2RldmljZQogICAgICAgICAgLy8gYW5kIGNvbm5l Y3RlZCB0aGVtIHRvIFBDU1tpXS4gR28gdG8gdGhlIG5leHQgUENTLgogICAgICAgICAgQlJFQUs7 CiAgICAgICAgfQogICAgfQp9CjwvcHJlPgo8cD4KICAgICBBbiBTTk1QIEFnZW50IGZvciBhIEVG TUN1IGRldmljZSBidWlsZHMgaWZDYXBTdGFja1RhYmxlCiAgICAgYW5kIGl0cyBpbnZlcnNlIGlm SW52Q2FwU3RhY2tUYWJsZSBhY2NvcmRpbmcgdG8gdGhlIGluZm9ybWF0aW9uCiAgICAgY29udGFp bmVkIGluIHRoZSBDbGF1c2UgNDUgUE1FX0F2YWlsYWJsZV9yZWdpc3RlciAoc2VlCiAgICAgPGEg Y2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3Bh biBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9u IHRlY2hub2xvZ3kgLSAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24g ZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFu IGFyZWEgbmV0d29ya3MgLSAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAg UGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRl Y3Rpb24gICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIg U3BlY2lmaWNhdGlvbnMgLSAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wg UGFyYW1ldGVycywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1l dGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJz cDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gNjEuMS41LjMgYW5kIDQ1LjIuMy4yMCku CiAgICAKPC9wPgo8cD4KICAgICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cg Zm9yIGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcwogICAgIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRo ZSBQTUUgdG8gdGhlIFBDUywgd2hpY2ggY2FuIGJlIGRvbmUgYnkgbW9kaWZ5aW5nCiAgICAgQ2xh dXNlIDQ1IFBNRV9BZ2dyZWdhdGVfcmVnaXN0ZXIgKHNlZSA8YSBjbGFzcz0iaW5mbyIgaHJlZj0i IzgwMi4zYWgiPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5JRUVF LCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAg ICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5 c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAg ICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vu c2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01B L0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAg ICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNh bCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVy IEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFu Pik8L3NwYW4+PC9hPgogICAgIDYxLjEuNS4zIGFuZCA0NS4yLjMuMjEpLgogICAgCjwvcD4KPHA+ CiAgICAgTm90ZSB0aGF0IFBDUyBwb3J0IGRvZXMgbm90IGhhdmUgdG8gYmUgb3BlcmF0aW9uYWxs eSAnZG93bicgZm9yCiAgICAgdGhlIGNvbm5lY3Rpb24gdG8gc3VjY2VlZC4gSW4gZmFjdCwgYSBk eW5hbWljIFBNRQogICAgIGFkZGl0aW9uIChhbmQgcmVtb3ZhbCkgTUFZIGJlIGltcGxlbWVudGVk IHdpdGggYW4gYXZhaWxhYmxlIFBNRSBiZWluZwogICAgIGluaXRpYWxpemVkIGZpcnN0IChieSBz ZXR0aW5nIGl0cyBpZkFkbWluU3RhdHVzIHRvICd1cCcpIGFuZCB0aGVuCiAgICAgYWRkZWQgdG8g YW4gb3BlcmF0aW9uYWxseSAndXAnIFBDUyBwb3J0LCBieSBtb2RpZnlpbmcgYSByZXNwZWN0aXZl CiAgICAgaWZTdGFja1RhYmxlIChhbmQgcmVzcGVjdGl2ZSBpZkludlN0YWNrVGFibGUpIGVudHJ5 LgogICAgCjwvcD4KPHA+CiAgICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHJlbW92YWwgb2Yg dGhlIGxhc3Qgb3BlcmF0aW9uYWxseSAndXAnIFBNRQogICAgIGZyb20gYW4gb3BlcmF0aW9uYWxs eSAndXAnIFBDUyB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUKICAgICBpbXBsZW1lbnRhdGlvbiwg YXMgdGhpcyBhY3Rpb24gd291bGQgY29tcGxldGVseSBkcm9wIHRoZSBsaW5rLgogICAgCjwvcD4K PGEgbmFtZT0iYW5jaG9yOCI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0 IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdo dCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNw O1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4x LjQiPjwvYT48aDM+My4xLjQuJm5ic3A7RUZNQ3UgcG9ydHMgaW5pdGlhbGl6YXRpb248L2gzPgoK PHA+CiAgICBFRk1DdSBwb3J0cyBiZWluZyBidWlsdCBvbiB0b3Agb2YgeERTTCB0ZWNobm9sb2d5 LCByZXF1aXJlIGEKICAgIGxlbmd0aHkgaW5pdGlhbGl6YXRpb24gb3IgJ3RyYWluaW5nJyBwcm9j ZXNzLCBiZWZvcmUgYW55IGRhdGEgY2FuCiAgICBwYXNzLiBEdXJpbmcgdGhpcyBpbml0aWFsaXph dGlvbiBib3RoIGVuZHMgb2YgYSBsaW5rIChwZWVycykgd29yawogICAgY29vcGVyYXRpdmVseSB0 byBhY2hpZXZlIHJlcXVpcmVkIGRhdGEgcmF0ZSBvbiBhIHBhcnRpY3VsYXIgY29wcGVyCiAgICBw YWlyLiBTb21ldGltZXMsIHdoZW4gdGhlIGNvcHBlciBsaW5lIGlzIHRvbyBsb25nIG9yIHRoZSBu b2lzZQogICAgb24gdGhlIGxpbmUgaXMgdG9vIGhpZ2gsIHRoYXQgJ3RyYWluaW5nJyBwcm9jZXNz IG1heSBmYWlsCiAgICB0byBhY2hpZXZlIGEgc3BlY2lmaWMgdGFyZ2V0IHJhdGUgd2l0aCByZXF1 aXJlZCBjaGFyYWN0ZXJpc3RpY3MuCiAgIAo8L3A+CjxwPgogICAgVGhlIGlmQWRtaW5TdGF0dXMg b2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJvbHMKICAgIHRoZSBkZXNpcmVkIHN0YXRlIG9m IGEgUENTIHdpdGggYWxsIHRoZSBQTUVzIGNvbm5lY3RlZCB0byBpdCBvciBvZgogICAgYW4gaW5k aXZpZHVhbCBQTUUgcG9ydC4gU2V0dGluZyB0aGlzIG9iamVjdCB0byAndXAnCiAgICBpbnN0cnVj dHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUgdG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2Vz cywKICAgIHdoaWNoIG1heSB0YWtlIHRlbnMgb2Ygc2Vjb25kcyBmb3IgRUZNQ3UgcG9ydHMsIGVz cGVjaWFsbHkgaWYgUEFGIGlzCiAgICBpbnZvbHZlZC4gVGhlIGlmT3BlclN0YXR1cyBvYmplY3Qg c2hvd3MgdGhlIG9wZXJhdGlvbmFsIHN0YXRlIG9mIGFuCiAgICBpbnRlcmZhY2UgKGV4dGVuZGVk IGJ5IGlmTWF1TWVkaWFBdmFpbGFibGUgb2JqZWN0IGZyb20gTUFVLU1JQiBmb3IKICAgIFBDUyBh bmQgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIKICAgIG1vZHVs ZSBmb3IgUE1FIGludGVyZmFjZXMpLgogICAKPC9wPgo8cD4KICAgIEEgZGlzY29ubmVjdGVkIFBN RSBtYXkgYmUgaW5pdGlhbGl6ZWQgYnkgY2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZQogICAgZnJv bSAnZG93bicgdG8gJ3VwJy4gQ2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZSB0byAndXAnIG9uIHRo ZQogICAgUENTIGluaXRpYWxpemVzIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGF0IHBhcnRpY3Vs YXIgUENTLgogICAgTm90ZSB0aGF0IGluIGNhc2Ugb2YgUEFGIHNvbWUgaW50ZXJmYWNlcyBtYXkg ZmFpbCB0byBpbml0aWFsaXplCiAgICB3aGlsZSBvdGhlcnMgc3VjY2VlZC4gVGhlIFBDUyBpcyBj b25zaWRlcmVkIG9wZXJhdGlvbmFsbHkgJ3VwJyBpZiBhdAogICAgbGVhc3Qgb25lIFBNRSBhZ2dy ZWdhdGVkIGJ5IGl0cyBQQUYgaXMgb3BlcmF0aW9uYWxseSAndXAnLiBXaGVuIGFsbAogICAgUE1F cyBjb25uZWN0ZWQgdG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lk ZXJlZAogICAgb3BlcmF0aW9uYWxseSAnbG93ZXJMYXllckRvd24nLiBUaGUgUENTIFNIQUxMIGJl IGNvbnNpZGVyZWQKICAgIG9wZXJhdGlvbmFsbHkgJ25vdFByZXNlbnQnIGlmIGl0IGlzIG5vdCBj b25uZWN0ZWQgdG8gYW55IFBNRS4KICAgIFRoZSBQQ1MvUE1FIGludGVyZmFjZSBTSEFMTCByZW1h aW4gb3BlcmF0aW9uYWxseSAnZG93bicgZHVyaW5nCiAgICBpbml0aWFsaXphdGlvbi4KICAgCjwv cD4KPHA+CiAgICBUaGUgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1N SUIgbW9kdWxlCiAgICBleHBhbmRzIFBNRSdzIGlmT3BlclN0YXR1cwogICAgdmFsdWUgb2YgJ2Rv d24nIHRvICdkb3duUmVhZHknLCAnZG93bk5vdFJlYWR5JyBhbmQgJ2luaXQnIHZhbHVlcywKICAg IGluZGljYXRpbmcgdmFyaW91cyBFRk1DdSBQTUUgc3BlY2lmaWMgc3RhdGVzLgogICAKPC9wPgo8 YSBuYW1lPSJhbmNob3I5Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQi IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0 Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7 VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zLjEu NSI+PC9hPjxoMz4zLjEuNS4mbmJzcDtVc2FnZSBvZiBpZlRhYmxlPC9oMz4KCjxwPgogICAgQm90 aCBQTUUgYW5kIFBDUyBpbnRlcmZhY2VzIG9mIHRoZSBFRk1DdSBQSFkgYXJlIG1hbmFnZWQgdXNp bmcKICAgIGludGVyZmFjZSBzcGVjaWZpYyBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBpbiB0 aGUgRUZNLUNVLU1JQiBtb2R1bGUgYW5kCiAgICBnZW5lcmljIGludGVyZmFjZSBvYmplY3RzIGZy b20gdGhlIGlmVGFibGUgb2YgSUYtTUlCLCB3aXRoIGFsbAogICAgbWFuYWdlbWVudCB0YWJsZSBl bnRyaWVzIHJlZmVyZW5jZWQgYnkgdGhlIGludGVyZmFjZSBpbmRleCBpZkluZGV4LgogICAKPC9w Pgo8cD4KICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgc3VtbWFyaXplcyBFRk1DdSBzcGVjaWZpYyBp bnRlcnByZXRhdGlvbnMgZm9yCiAgICBzb21lIG9mIHRoZSBpZlRhYmxlIG9iamVjdHMgc3BlY2lm aWVkIGJ5IHRoZSBtYW5kYXRvcnkKICAgIGlmR2VuZXJhbEluZm9ybWF0aW9uR3JvdXA6CiAgIAo8 L3A+PGEgbmFtZT0idGFibGUxIj48L2E+Cjx0YWJsZSBjbGFzcz0iZnVsbCIgYWxpZ249ImNlbnRl ciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgo8Y29sIGFsaWdu PSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4KPHRyPjx0aCBhbGlnbj0ibGVmdCI+SUYtTUlCIG9i amVjdDwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5FRk1DdSBpbnRlcnByZXRhdGlvbjwvdGg+PC90cj4K PHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5kZXg8L3RkPgo8dGQgYWxpZ249ImxlZnQiPkludGVy ZmFjZSBpbmRleC4gTm90ZSB0aGF0IGVhY2ggUE1FIGFuZCBlYWNoIFBDUwogICAgICAgICAgICAg ICAgICAgICBpbiB0aGUgRUZNQ3UgUEhZIE1VU1QgaGF2ZSBhIHVuaXF1ZSBpbmRleCwgYXMKICAg ICAgICAgICAgICAgICAgICAgdGhlcmUgc29tZSBQQ1MgYW5kIFBNRSBzcGVjaWZpYyBhdHRyaWJ1 dGVzCiAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2libGUgb25seSBvbiB0aGUgUENTIG9yIFBN RSBsZXZlbC48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZUeXBlPC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij5ldGhlcm5ldENzbWFjZCg2KSBmb3IgUENTLCBzaGRzbCgxNjkpIGZvcgog ICAgICAgICAgICAgICAgICAgIDJCQVNFLVRMIFBNRSwgdmRzbCg5NykgZm9yIDEwUEFTUy1UUyBQ TUU8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZTcGVlZDwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+T3BlcmF0aW5nIGRhdGEgcmF0ZSBmb3IgdGhlIFBNRS4gRm9yIHRoZSBQQ1MgaXQK ICAgICBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVzIG9mIGFs bCBQTUVzIGluIHRoZQogICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCB3aXRob3V0IHRoZSA2NC82NUIg ZW5jYXBzdWxhdGlvbiBvdmVyaGVhZCBhbmQKICAgICBQQUYgb3ZlcmhlYWQsIGJ1dCBhY2NvdW50 aW5nIGZvciB0aGUgSW50ZXItRnJhbWUgR2FwcyAoSUZHKTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFs aWduPSJsZWZ0Ij5pZkFkbWluU3RhdHVzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5TZXR0aW5nIHRo aXMgb2JqZWN0IHRvICd1cCcgaW5zdHJ1Y3RzIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFydGljdWxhciBQQ1MgKHdpdGggYWxsIFBNRXMgY29ubmVjdGVkIHRvCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIGl0KSBvciBQTUUgdG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2Vzczwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk9wZXJTdGF0dXM8L3RkPgo8dGQgYWxp Z249ImxlZnQiPmVmbUN1UG1lT3BlclN0YXR1cyBzdXBwbGVtZW50cyB0aGUgJ2Rvd24nIHZhbHVl CiAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgaWZPcGVyU3RhdHVzIGZvciBQTUVzLjwvdGQ+ CjwvdHI+CjwvdGFibGU+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNl PSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO1RhYmxlIDEmbmJzcDs8 L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+ Cgo8YSBuYW1lPSJhbmNob3IxMCI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJy aWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZu YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24u My4yIj48L2E+PGgzPjMuMi4mbmJzcDtSZWxhdGlvbiB0byBTSERTTCBNSUIgbW9kdWxlPC9oMz4K CjxwPgogICAgRy5TSERTTC5iaXMgbW9kZW1zLCBzaW1pbGFyIHRvIFBNRShzKSBjb21wcmlzaW5n IGEgMkJBU0UtVEwgcG9ydCwgYXJlCiAgICBkZXNjcmliZWQgaW4gSERTTDItU0hEU0wtTElORS1N SUIKICAgIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDNDMxOSI+W1JGQzQzMTldPHNwYW4+ICg8 L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPlNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIuIEFiYmks ICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEhpZ2ggQml0LVJhdGUg RFNMIC0gMm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBE aWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIExpbmVzLCZyZHF1bzsgRGVjZW1iZXImbmJz cDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uCiAgICBOb3RlIHRoYXQgbm90IGFsbCBh dHRyaWJ1dGVzIG9mIEcuU0hEU0wgbW9kZW1zIHJlZmxlY3RlZCBpbgogICAgSERTTDItU0hEU0wt TElORS1NSUIgaGF2ZSBhZGVxdWF0ZSBtYW5hZ2VtZW50IG9iamVjdHMKICAgIChDbGF1c2UgMzAg YXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4K ICAgCjwvcD4KPHA+CiAgICBCZWNhdXNlIG9mIHRoZXNlIGRpZmZlcmVuY2VzIGFuZCBmb3IgdGhl IHB1cnBvc2VzIG9mIHNpbXBsaWNpdHksCiAgICB1bmlmaWNhdGlvbiBvZiBhdHRyaWJ1dGVzIGNv bW1vbiB0byBib3RoIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMgUE1FcwogICAgYW5kIG5hbWUgY29u c2lzdGVuY3kgKGUuZy4gcHJlZml4aW5nIHRoZSAyQkFTRS1UTCBQTUUgcmVsYXRlZCBvYmplY3Rz CiAgICB3aXRoICdlZm1DdVBtZTJCJyBpbnN0ZWFkIG9mICdoZHNsMnNoZHNsJyksIGl0IHdhcyBk ZWNpZGVkIG5vdCB0byByZWZlcmVuY2UKICAgIEhEU0wyLVNIRFNMLUxJTkUtTUlCIG9iamVjdHMs IGJ1dCBkZWZpbmUgYWxsIHRoZSByZWxldmFudCBvYmplY3RzCiAgICBpbiB0aGUgRUZNLUNVLU1J QiBtb2R1bGUuCiAgIAo8L3A+CjxwPgogICAgSG93ZXZlciwgaWYgc29tZSBmdW5jdGlvbmFsaXR5 LCBub3QgYXZhaWxhYmxlIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSwgaXMKICAgIHJlcXVpcmVk IGFuZCBzdXBwb3J0ZWQgYnkgdGhlIFBNRSwgZS5nLiBwZXJmb3JtYW5jZSBtb25pdG9yaW5nLAog ICAgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1NSUIgZ3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBh bmQgYXBwbGllZAogICAgZm9yIFBNRXMgb2YgMkJBU0UtVEwgc3VidHlwZS4KICAgCjwvcD4KPGEg bmFtZT0iYW5jaG9yMTEiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQi Pjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtU T0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjMuMyI+ PC9hPjxoMz4zLjMuJm5ic3A7UmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlPC9oMz4KCjxwPgog ICAgVkRTTCAoRE1UKSBtb2RlbXMsIHNpbWlsYXIgdG8gdGhlIFBNRShzKSBjb21wcmlzaW5nIGEg MTBQQVNTLVRTIHBvcnQsCiAgICBhcmUgZGVzY3JpYmVkIGluIFZEU0wtTElORS1FWFQtTUNNLU1J QgogICAgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkM0MDcwIj5bUkZDNDA3MF08c3Bhbj4gKDwv c3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+RG9kZ2UsIE0uIGFuZCBCLiBSYXksICZsZHF1bztEZWZp bml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdCBFeHRlbnNpb25zIGZvciBWZXJ5IEhpZ2ggU3BlZWQg RGlnaXRhbCBTdWJzY3JpYmVyIExpbmVzIChWRFNMKSBVc2luZyBNdWx0aXBsZSBDYXJyaWVyIE1v ZHVsYXRpb24gKE1DTSkgTGluZSBDb2RpbmcsJnJkcXVvOyBNYXkmbmJzcDsyMDA1Ljwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uCiAgICBOb3RlIHRoYXQgbm90IGFsbCBhdHRyaWJ1dGVzIG9mIFZE U0wgbW9kZW1zIHJlZmxlY3RlZCBpbgogICAgVkRTTC1MSU5FLUVYVC1NQ00tTUlCIGhhdmUgYWRl cXVhdGUgbWFuYWdlbWVudCBvYmplY3RzCiAgICAoQ2xhdXNlIDMwIGF0dHJpYnV0ZXMgYW5kIENs YXVzZSA0NSByZWdpc3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuCiAgIAo8L3A+CjxwPgogICAg QmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNlcyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1w bGljaXR5LAogICAgdW5pZmljYXRpb24gb2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFT RS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMKICAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5LCBpdCB3YXMg ZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNlCiAgICBWRFNMLUxJTkUtRVhULU1DTS1NSUIgb2JqZWN0 cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9iamVjdHMKICAgIGluIHRoZSBFRk0tQ1Ut TUlCIG1vZHVsZS4KICAgCjwvcD4KPHA+CiAgICBIb3dldmVyLCBpZiBzb21lIGZ1bmN0aW9uYWxp dHksIG5vdCBhdmFpbGFibGUgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLCBpcwogICAgcmVxdWly ZWQgYW5kIHN1cHBvcnRlZCBieSB0aGUgUE1FLAogICAgcmVsZXZhbnQgVkRTTC1MSU5FLUVYVC1N Q00tTUlCIGdyb3VwcyBNQVkgYmUgaW5jbHVkZWQgYW5kIGFwcGxpZWQKICAgIGZvciBQTUVzIG9m IDEwUEFTUy1UUyBzdWJ0eXBlLgogICAKPC9wPgo8YSBuYW1lPSJhbmNob3IxMiI+PC9hPjxiciAv PjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBo cmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy40Ij48L2E+PGgzPjMuNC4mbmJzcDtSZWxhdGlv biB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXM8L2gzPgoKPHA+CiAgICBUaGUg aW1wbGVtZW50YXRpb24gb2YgRXRoZXJMaWtlLU1JQiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI1JG QzM2MzUiPltSRkMzNjM1XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5GbGljaywg Si4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIHRoZSBFdGhlcm5l dC1saWtlIEludGVyZmFjZSBUeXBlcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDMuPC9zcGFu PjxzcGFuPik8L3NwYW4+PC9hPgogICAgYW5kIE1BVS1NSUIgPGEgY2xhc3M9ImluZm8iIGhyZWY9 IiNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyI+W0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2Ymlz XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5CZWlsaSwgRS4sICZsZHF1bztEZWZp bml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAg ICAgICBBdHRhY2htZW50IFVuaXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bh bj48c3Bhbj4pPC9zcGFuPjwvYT4gaXMKICAgIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3UgaW50ZXJm YWNlcy4KICAgCjwvcD4KPHA+CiAgICBUd28gbmV3IHZhbHVlcyBvZiBpZk1hdVR5cGUgKE9CSkVD VC1JREVOVElUSUVTIG9mIGRvdDNNYXVUeXBlKQogICAgYW5kIGNvcnJlc3BvbmRpbmcgYml0IGRl ZmluaXRpb25zIG9mIGlmTWF1VHlwZUxpc3RCaXRzCiAgICAoSUFOQWlmTWF1VHlwZUxpc3RCaXRz KSBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0aGUgSUFOQS1NQVUtTUlCCiAgICA8YSBjbGFzcz0iaW5m byIgaHJlZj0iI0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzIj5bSS1ELmlldGYtaHVibWliLXJm YzM2MzZiaXNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkJlaWxpLCBFLiwgJmxk cXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0g ICAgICAgICAgICAgIEF0dGFjaG1lbnQgVW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIw MDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBmb3IgdGhlIEVGTUN1IE1BVXM6CgogICAgIDwv cD4KPHVsIGNsYXNzPSJ0ZXh0Ij4KPGxpPmRvdDNNYXVUeXBlMkJhc2VUTCBhbmQgYjJCYXNlVEwg LSBmb3IgMkJBU0UtVEwgTUFVCjwvbGk+CjxsaT5kb3QzTWF1VHlwZTEwUGFzc1RTIGFuZCBiMTBQ YXNzVFMgLSBmb3IgMTBQQVNTLVRTIE1BVQo8L2xpPgo8L3VsPjxwPgogICAKPC9wPgo8cD4KICAg IEFkZGl0aW9uYWxseSBJQU5BLU1BVS1NSUIgZGVmaW5lcyB0d28gbmV3IHZhbHVlcyBvZgogICAg aWZNYXVNZWRpYUF2YWlsYWJsZSwgYXMgYSB0ZXh0dWFsIGNvbnZlbnRpb24KICAgIElBTkFpZk1h dU1lZGlhQXZhaWxhYmxlIC0gYXZhaWxhYmxlUmVkdWNlZCBhbmQgcmVhZHksCiAgICBzcGVjaWZp Y2FsbHkgZm9yIHRoZSBFRk1DdSBwb3J0cy4KICAgIER1ZSB0byB0aGUgUE1FIGFnZ3JlZ2F0aW9u LCB0aGUgRUZNQ3UgaW50ZXJwcmV0YXRpb24gb2Ygc29tZQogICAgcG9zc2libGUgaWZNYXVNZWRp YUF2YWlsYWJsZSB2YWx1ZXMgZGlmZmVycyBmcm9tIG90aGVyIE1BVXMgYXMgZm9sbG93czoKCiAg ICAgPC9wPgo8dWwgY2xhc3M9InRleHQiPgo8bGk+dW5rbm93biAtIHRoZSBFRk1DdSBpbnRlcmZh Y2UgKFBDUyB3aXRoIGNvbm5lY3RlZCBQTUVzKSBpcyBpbml0aWFsaXppbmcKPC9saT4KPGxpPnJl YWR5IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGluIHRoZQogICAg ICAgICBhZ2dyZWdhdGlvbiBncm91cCAoYWxsIFBNRXMgY29ubmVjdGVkIHRvCiAgICAgICAgIHRo ZSBQQ1MpIGlzIHJlYWR5IGZvciBoYW5kc2hha2UKPC9saT4KPGxpPmF2YWlsYWJsZSAtIHRoZSBp bnRlcmZhY2UgaXMgdXAsIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbgogICAgICAgICBncm91 cCBhcmUgdXAKPC9saT4KPGxpPm5vdEF2YWlsYWJsZSAtIHRoZSBpbnRlcmZhY2UgaXMgZG93biwg YWxsIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uCiAgICAgICAgIGdyb3VwIGFyZSBkb3duLCBubyBo YW5kc2hha2UgdG9uZXMgYXJlIGRldGVjdGVkIGJ5IGFueSBQTUUKPC9saT4KPGxpPmF2YWlsYWJs ZVJlZHVjZWQgLSB0aGUgaW50ZXJmYWNlIGlzIHVwLCBhIGxpbmsgZmF1bHQgaXMKICAgICAgICAg ZGV0ZWN0ZWQgYXQgdGhlIHJlY2VpdmUgZGlyZWN0aW9uIGJ5IG9uZSBvciBtb3JlIFBNRXMgaW4g dGhlCiAgICAgICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCBidXQgYXQgbGVhc3Qgb25lIFBNRSBpcyB1 cAo8L2xpPgo8bGk+cG1kTGlua0ZhdWx0IC0gYSBsaW5rIGZhdWx0IGlzIGRldGVjdGVkIGF0IHRo ZSByZWNlaXZlCiAgICAgICAgIGRpcmVjdGlvbiBieSBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRp b24gZ3JvdXAKPC9saT4KPC91bD48cD4KICAgCjwvcD4KPHA+CiAgICBBcyBhbiBFdGhlckxpa2Ug aW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkKICAgIHJlcHJlc2VudGluZyBh IGNvbnNvbGlkYXRpb24gb2YgTExDLCBNQUMgYW5kIFBDUyAoc3ViKWxheWVycykKICAgIFNIQUxM IHJldHVybiBhbiBpZlR5cGUgb2YgZXRoZXJuZXRDc21hY2QoNikuCiAgICBXaGlsZSBtb3N0IG9m IHRoZSBNQVUgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3QgYXBwbGljYWJsZSB0byB0aGUgRUZNQ3UK ICAgIHBvcnRzIChubyBhdXRvLW5lZ290aWF0aW9uLCBmYWxzZSBjYXJyaWVycyBvciBqYWJiZXIp LAogICAgdGhleSBTSEFMTCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgaWZNYXVUeXBlIChkb3QzTWF1 VHlwZTJCYXNlVEwgb3IKICAgIGRvdDNtYXVUeXBlMTBQYXNzVFMpIGluIG9yZGVyIHRvIGRpcmVj dCB0aGUgbWFuYWdlbWVudCBzb2Z0d2FyZQogICAgdG8gbG9vayBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUgZm9yIHRoZSBkZXNpcmVkIGluZm9ybWF0aW9uLiBGb3IgZXhhbXBsZQogICAgdGhlIGlu Zm9ybWF0aW9uIG9uIHRoZSBwYXJ0aWN1bGFyIEVGTUN1IGZsYXZvciB0aGF0IGFuIEVGTUN1IHBv cnQKICAgIGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxlIGZyb20gZWZtQ3VPcGVyU3ViVHlwZSwgZGVm aW5lZCBpbiB0aGUKICAgIEVGTS1DVS1NSUIgbW9kdWxlLgogICAKPC9wPgo8cD4KICAgIFNpbmNl IEVGTUN1IFBNRXMgYXJlIG5vdCBFdGhlckxpa2UgaW50ZXJmYWNlcywgdGhleSBjYW5ub3QgYmUK ICAgIGluc3RhbnRpYXRlZCBhcyBNQVUgaW50ZXJmYWNlIG9iamVjdHMuCiAgIAo8L3A+CjxhIG5h bWU9ImFuY2hvcjEzIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48 dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9D Jm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi40Ij48L2E+ PGgzPjQuJm5ic3A7TUlCIFN0cnVjdHVyZTwvaDM+Cgo8YSBuYW1lPSJhbmNob3IxNCI+PC9hPjxi ciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48 YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+ PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNC4xIj48L2E+PGgzPjQuMS4mbmJzcDtFRk0g Q29wcGVyIE1JQiBPdmVydmlldzwvaDM+Cgo8cD4KICAgVGhlIG1haW4gbWFuYWdlbWVudCBvYmpl Y3RzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFyZSBzcGxpdCBpbnRvIDIKICAg Z3JvdXBzOgogICA8L3A+Cjx1bCBjbGFzcz0idGV4dCI+CjxsaT5lZm1DdVBvcnQgLSBjb250YWlu aW5nIG9iamVjdHMgZm9yIGNvbmZpZ3VyYXRpb24sIGNhcGFiaWxpdGllcywKICAgIHN0YXR1cyBh bmQgbm90aWZpY2F0aW9ucywgY29tbW9uIHRvIGFsbCBFRk1DdSBQSFlzLgo8L2xpPgo8bGk+ZWZt Q3VQbWUgLSBjb250YWluaW5nIG9iamVjdHMgZm9yIGNvbmZpZ3VyYXRpb24sIGNhcGFiaWxpdGll cywKICAgIHN0YXR1cyBhbmQgbm90aWZpY2F0aW9ucyBvZiBFRk1DdSBQTUVzLgo8L2xpPgo8L3Vs PjxwPgogIAo8L3A+CjxwPgogICBUaGUgZWZtQ3VQbWUgZ3JvdXAgaW4gdHVybiBjb250YWlucyBl Zm1DdVBtZTJCIGFuZCBlZm1DdVBtZTEwUAogICBncm91cHMsIHdoaWNoIGRlZmluZSBQTUUgUHJv ZmlsZXMgc3BlY2lmaWMgdG8gMkJBU0UtVEwgYW5kCiAgIDEwUEFTUy1UUyBQTUVzIHJlc3BlY3Rp dmVseSwgYXMgd2VsbCBhcyBQTUUgc3BlY2lmaWMgc3RhdHVzIGluZm9ybWF0aW9uLgogIAo8L3A+ CjxhIG5hbWU9ImFuY2hvcjE1Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJp Z2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5i c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi40 LjIiPjwvYT48aDM+NC4yLiZuYnNwO0ludGVyZmFjZSBzdGFjayBjYXBhYmlsaXR5IE1JQiBPdmVy dmlldzwvaDM+Cgo8cD4KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIg dGFibGVzOgogICA8L3A+Cjx1bCBjbGFzcz0idGV4dCI+CjxsaT5pZkNhcFN0YWNrVGFibGUgLSBj b250YWluaW5nIG9iamVjdHMgdGhhdCBkZWZpbmUgcG9zc2libGUKICAgICAgIHJlbGF0aW9uc2hp cHMgYW1vbmcgdGhlIHN1Yi1sYXllcnMgb2YgYW4gaW50ZXJmYWNlIHdpdGgKICAgICAgIGZsZXhp YmxlIGNyb3NzLWNvbm5lY3QgKGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSkuCjwvbGk+CjxsaT5p ZkludkNhcFN0YWNrVGFibGUgLSBhbiBpbnZlcnNlIG9mIHRoZSBpZkNhcHN0YWNrVGFibGUuCjwv bGk+CjwvdWw+PHA+CiAgCjwvcD4KPGEgbmFtZT0iYW5jaG9yMTYiPjwvYT48YnIgLz48aHIgLz4K PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj bGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3Rv YyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxh IG5hbWU9InJmYy5zZWN0aW9uLjQuMyI+PC9hPjxoMz40LjMuJm5ic3A7UE1FIFByb2ZpbGVzPC9o Mz4KCjxwPgogICBTaW5jZSBhIG1hbmFnZWQgbm9kZSBjYW4gaGF2ZSBhIGxhcmdlIG51bWJlciBv ZiBFRk1DdSBQSFlzLAogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2ZXJ5IEVG TUN1IFBIWSBtYXkgYmVjb21lCiAgIGJ1cmRlbnNvbWUuIE1vcmVvdmVyLCBtb3N0IFBNRXMgYXJl IHByb3Zpc2lvbmVkIGlkZW50aWNhbGx5CiAgIHdpdGggdGhlIHNhbWUgc2V0IG9mIHBhcmFtZXRl cnMuICBUbyBzaW1wbGlmeSB0aGUgcHJvdmlzaW9uaW5nCiAgIHByb2Nlc3MsIHRoZSBFRk0tQ1Ut TUlCIG1vZHVsZSBtYWtlcyB1c2Ugb2YgY29uZmlndXJhdGlvbiBwcm9maWxlcywgc2ltaWxhcgog ICB0byBIRFNMMi1TSERTTC1MSU5FLU1JQiBhbmQgVkRTTC1MSU5FLUVYVC1NQ00tTUlCLiBBIHBy b2ZpbGUgaXMgYQogICBzZXQgb2YgcGFyYW1ldGVycywgdXNlZCBlaXRoZXIgZm9yIGNvbmZpZ3Vy YXRpb24gb3IgcmVwcmVzZW50YXRpb24KICAgb2YgYSBQTUUuIFRoZSBzYW1lIHByb2ZpbGUgY2Fu IGJlIHNoYXJlZCBieSBtdWx0aXBsZSBQTUUgcG9ydHMsCiAgIHVzaW5nIHRoZSBzYW1lIGNvbmZp Z3VyYXRpb24uCiAgCjwvcD4KPHA+CiAgIFRoZSBQTUUgcHJvZmlsZXMgYXJlIGRlZmluZWQgaW4K ICAgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBhbmQgZWZtQ3UxMFBQcm9maWxlVGFibGUgZm9yCiAg IDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMgUE1FcyByZXNwZWN0aXZlbHkuIFRoZXJlIGFyZSAxMiBw cmVkZWZpbmVkCiAgIHN0YW5kYXJkIHByb2ZpbGVzIGZvciAyQkFTRS1UTCBhbmQgMjIgc3RhbmRh cmQgcHJvZmlsZXMgZm9yCiAgIDEwUEFTUy1UUywgZGVmaW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRp Y2F0ZWQgZm9yIHJhcGlkIHByb3Zpc2lvbmluZwogICBvZiBFRk1DdSBQSFlzIGluIG1vc3Qgc2Nl bmFyaW9zLiBJbiBhZGRpdGlvbiB0aGUgRUZNLUNVLU1JQiBkZWZpbmVzIHR3bwogICBhZGRpdGlv bmFsIHByZWRlZmluZWQgcHJvZmlsZXMgZm9yICJiZXN0LWVmZm9ydCIgcHJvdmlzaW9uaW5nIG9m CiAgIDJCQVNFLVRMIFBNRXMuCiAgIEFuIGFiaWxpdHkgdG8gZGVmaW5lIG5ldyBjb25maWd1cmF0 aW9uIHByb2ZpbGVzIGlzIGFsc28gcHJvdmlkZWQgdG8gCiAgIGFsbG93IGZvciBFRk1DdSBkZXBs b3ltZW50IHRhaWxvcmVkIHRvIHNwZWNpZmljIGNvcHBlciBlbnZpcm9ubWVudCBhbmQgCiAgIHNw ZWN0cmFsIHJlZ3VsYXRpb25zLgogIAo8L3A+CjxwPgogICBBIHNwZWNpZmljIGNvbmZpZ3VyYXRp b24gb3IgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBpcyBhc3NpZ25lZCB0byBhCiAgIHNwZWNpZmlj IFBNRSB2aWEgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0LiBJZiBlZm1DdVBtZUFkbWluUHJv ZmlsZQogICBpcyB6ZXJvLCB0aGVuIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUgUENT IHBvcnQsIGNvbm5lY3RlZCB0byB0aGUKICAgUE1FLCBkZXRlcm1pbmVzIHRoZSBjb25maWd1cmF0 aW9uIHByb2ZpbGUgKG9yIGEgbGlzdCBvZiBwb3NzaWJsZQogICBwcm9maWxlcykgZm9yIHRoYXQg UE1FLiBUaGlzIG1lY2hhbmlzbSBhbGxvd3MgdG8gc3BlY2lmeSBhIGNvbW1vbgogICBwcm9maWxl KHMpIGZvciBhbGwgUE1FcyBjb25uZWN0ZWQgdG8gdGhlIFBDUyBwb3J0LCB3aXRoIGFuIGFiaWxp dHkKICAgdG8gY2hhbmdlIGluZGl2aWR1YWwgUE1FIHByb2ZpbGVzIGJ5IHNldHRpbmcgZWZtQ3VQ bWVBZG1pblByb2ZpbGUKICAgb2JqZWN0LCB3aGljaCBvdmVyd3JpdGVzIHByb2ZpbGUgc2V0IGJ5 IGVmbUN1QWRtaW5Qcm9maWxlLgogIAo8L3A+CjxwPgogICBBIGN1cnJlbnQgb3BlcmF0aW5nIFBN RSBwcm9maWxlIGlzIHBvaW50ZWQgdG8gYnkgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QuCiAg IE5vdGUgdGhhdCB0aGlzIHByb2ZpbGUgZW50cnksIGNhbiBiZSBjcmVhdGVkIGF1dG9tYXRpY2Fs bHksIHRvIHJlZmxlY3QKICAgYWNoaWV2ZWQgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZp eGVkKSBpbml0aWFsaXphdGlvbi4KICAKPC9wPgo8YSBuYW1lPSJhbmNob3IxNyI+PC9hPjxiciAv PjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBo cmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNC40Ij48L2E+PGgzPjQuNC4mbmJzcDtNYXBwaW5n IG9mIElFRUUgODAyLjNhaCBNYW5hZ2VkIE9iamVjdHM8L2gzPgoKPHA+CiAgIFRoaXMgc2VjdGlv biBjb250YWlucyB0aGUgbWFwcGluZyBiZXR3ZWVuIHJlbGV2YW50IG1hbmFnZWQgb2JqZWN0cwog ICAoYXR0cmlidXRlcykgZGVmaW5lZCBpbiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iIzgwMi4zYWgi Pls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5JRUVFLCAmbGRxdW87 SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAgICAgVGVsZWNv bW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAg ICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAgICAgICAgU3Bl Y2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlw bGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01BL0NEKSBBY2Nl c3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAgICAgICAgQW1l bmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAg IExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2VzcyBO ZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+ PC9hPiBDbGF1c2UgMzAsIGFuZCBtYW5hZ2VkCiAgIG9iamVjdHMgZGVmaW5lZCBpbiB0aGlzIGRv Y3VtZW50IGFuZCBpbiBhc3NvY2lhdGVkIE1JQiBtb2R1bGVzLAogICBpLmUuLCB0aGUgSUYtTUlC IDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMjg2MyI+W1JGQzI4NjNdPHNwYW4+ICg8L3NwYW4+ PHNwYW4gY2xhc3M9ImluZm8iPk1jQ2xvZ2hyaWUsIEsuIGFuZCBGLiBLYXN0ZW5ob2x6LCAmbGRx dW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsgSnVuZSZuYnNwOzIwMDAuPC9zcGFu PjxzcGFuPik8L3NwYW4+PC9hPi4KICAKPC9wPgo8cD4KICAgTm90ZSB0aGF0IG1ham9yaXR5IG9m IHRoZSBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlCiAgIGRvIG5vdCBo YXZlIGRpcmVjdCBjb3VudGVycGFydHMgaW4gQ2xhdXNlIDMwIGFuZCBpbnN0ZWFkIHJlZmVyIHRv IENsYXVzZSA0NQogICByZWdpc3RlcnMuCiAgCjwvcD48YSBuYW1lPSJ0YWJsZTIiPjwvYT4KPHRh YmxlIGNsYXNzPSJmdWxsIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIy IiBjZWxsc3BhY2luZz0iMiI+Cjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPgo8 dHI+PHRoIGFsaWduPSJsZWZ0Ij5JRUVFIDgwMi4zIE1hbmFnZWQgT2JqZWN0PC90aD48dGggYWxp Z249ImxlZnQiPkNvcnJlc3BvbmRpbmcgU05NUCBPYmplY3Q8L3RoPjwvdHI+Cjx0cj4KPHRkIGFs aWduPSJsZWZ0Ij5vTUFVIC0gQmFzaWMgUGFja2FnZSAoTWFuZGF0b3J5KTwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+Jm5ic3A7PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFNQVVUeXBl PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5pZk1hdVR5cGUgKE1BVS1NSUIpPC90ZD4KPC90cj4KPHRy Pgo8dGQgYWxpZ249ImxlZnQiPmFNQVVUeXBlTGlzdDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZN YXVUeXBlTGlzdEJpdHMgKE1BVS1NSUIpPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQi PmFNZWRpYUF2YWlsYWJsZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZNZWRpYUF2YWlsYWJsZSAo TUFVLU1JQik8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+b1BBRiAtIEJhc2ljIFBh Y2thZ2UgKE1hbmRhdG9yeSk8L3RkPgo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+CjwvdHI+ Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGSUQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5k ZXggKElGLU1JQik8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+YVBoeUVuZDwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQaHlTaWRlPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249 ImxlZnQiPmFQSFlDdXJyZW50U3RhdHVzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVN0YXR1 czwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGU3VwcG9ydGVkPC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij5lZm1DdVBBRlN1cHBvcnRlZDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWdu PSJsZWZ0Ij5vUEFGIC0gUE1FIEFnZ3JlZ2F0aW9uIFBhY2thZ2UgKE9wdGlvbmFsKTwvdGQ+Cjx0 ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFQ QUZBZG1pblN0YXRlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBBRkFkbWluU3RhdGU8L3Rk Pgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+YUxvY2FsUEFGQ2FwYWNpdHk8L3RkPgo8dGQg YWxpZ249ImxlZnQiPmVmbUN1UEFGQ2FwYWNpdHk8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0i bGVmdCI+YUxvY2FsUE1FQXZhaWxhYmxlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5pZkNhcFN0YWNr VGFibGU8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+YUxvY2FsUE1FQWdncmVnYXRl PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5pZlN0YWNrVGFibGUgKElGLU1JQik8L3RkPgo8L3RyPgo8 dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+YVJlbW90ZVBBRlN1cHBvcnRlZDwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+ZWZtQ3VSZW1vdGVQQUZTdXBwb3J0ZWQ8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0i bGVmdCI+YVJlbW90ZVBBRkNhcGFjaXR5PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVJlbW90 ZVBBRkNhcGFjaXR5PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFSZW1vdGVQTUVB Z2dyZWdhdGU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+CjwvdHI+Cjx0cj4KPHRk IGFsaWduPSJsZWZ0Ij5vUE1FIC0gMTBQLzJCIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPgo8dGQg YWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5hUE1F SUQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5kZXggKElGLU1JQik8L3RkPgo8L3RyPgo8dHI+ Cjx0ZCBhbGlnbj0ibGVmdCI+YVBNRUFkbWluU3RhdGU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmlm QWRtaW5TdGF0ZSAoSUYtTUlCKTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5hUE1F U3RhdHVzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZVN0YXR1czwvdGQ+CjwvdHI+Cjx0 cj4KPHRkIGFsaWduPSJsZWZ0Ij5hUE1FU05STWduPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1D dVBtZVNuck1nbjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5hVENDb2RpbmdWaW9s YXRpb25zPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZVRDQ29kaW5nRXJyb3JzPC90ZD4K PC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFUQ0NSQ0Vycm9yczwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+ZWZtQ3VQbWVUQ0NyY0Vycm9yczwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0 Ij5hUHJvZmlsZVNlbGVjdDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VBZG1pblByb2ZpbGUs IGVmbUN1UG1lQWRtaW5Qcm9maWxlPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFP cGVyYXRpbmdQcm9maWxlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZU9wZXJQcm9maWxl PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFQTUVGRUNDb3JyZWN0ZWRCbG9ja3M8 L3RkPgo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzPC90ZD4K PC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmFQTUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzPC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzPC90ZD4K PC90cj4KPC90YWJsZT4KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj aW5nPSIyIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9 Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7VGFibGUgMiZuYnNwOzwv Yj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIHNpemU9IjEiIHNoYWRlPSIwIj4K CjxhIG5hbWU9ImFuY2hvcjE4Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJp Z2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5i c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi41 Ij48L2E+PGgzPjUuJm5ic3A7SW50ZXJmYWNlIFN0YWNrIENhcGFiaWxpdHkgTUlCIERlZmluaXRp b25zPC9oMz4KPHByZT4KPC9wcmU+PHByZT5JRi1DQVAtU1RBQ0stTUlCIERFRklOSVRJT05TIDo6 PSBCRUdJTgoKICBJTVBPUlRTCiAgICBNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCBtaWIt MgogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OAogICAgUm93U3RhdHVz CiAgICAgIEZST00gU05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAyNTc5CiAgICBNT0RVTEUtQ09N UExJQU5DRSwgT0JKRUNULUdST1VQCiAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJG QyAyNTgwCiAgICBpZlN0YWNrR3JvdXAyLCBpZlN0YWNrSGlnaGVyTGF5ZXIsIGlmU3RhY2tMb3dl ckxheWVyCiAgICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0tIFJGQyAyODYzCiAgICA7Cgog IGlmQ2FwU3RhY2tNSUIgTU9EVUxFLUlERU5USVRZCiAgICBMQVNULVVQREFURUQgIjIwMDYxMDEy MDAwMFoiICAtLSBPY3RvYmVyIDEyLCAyMDA2CiAgICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJu ZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIgogICAgQ09OVEFDVC1JTkZP CiAgICAgICJXRyBjaGFydGVyOgogICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFy dGVycy9odWJtaWItY2hhcnRlci5odG1sCgogICAgICBNYWlsaW5nIExpc3RzOgogICAgICAgIEdl bmVyYWwgRGlzY3Vzc2lvbjogaHVibWliQGlldGYub3JnCiAgICAgICAgVG8gU3Vic2NyaWJlOiBo dWJtaWItcmVxdWVzdEBpZXRmLm9yZwogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2Vt YWlsX2FkZHJlc3MKCiAgICAgIENoYWlyOiAgRGFuIFJvbWFzY2FudQogICAgICBQb3N0YWw6IEF2 YXlhCiAgICAgICAgICAgICAgQXRpZGltIFRlY2hub2xvZ3kgUGFyaywgQmxkZy4gMwogICAgICAg ICAgICAgIFRlbCBBdml2IDYxMTMxCiAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgIFRlbDog Kzk3MiAzIDY0NSA4NDE0CiAgICAgIEUtbWFpbDogZHJvbWFzY2FAYXZheWEuY29tCgogICAgICBF ZGl0b3I6IEVkd2FyZCBCZWlsaQogICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLgog ICAgICAgICAgICAgIDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczCiAgICAgICAgICAgICAgUGV0 YWNoLVRpa3ZhIDEwMTczCiAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgICAgICAgVGVsOiAr OTcyLTMtOTI0LTM0OTEKICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iCgog ICAgREVTQ1JJUFRJT04KICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUg dXNlZCB0byBkZXNjcmliZQogICAgICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFj a2VkIChsYXllcmVkKSBpbnRlcmZhY2VzLAogICAgICBjb21wbGVtZW50aW5nIGlmU3RhY2tUYWJs ZSBhbmQgaWZJbnZTdGFja1RhYmxlIGRlZmluZWQgaW4KICAgICAgSUYtTUlCIGFuZCBJRi1JTlZF UlRFRC1TVEFDSy1NSUIgcmVzcGVjdGl2ZWx5LgoKICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSW50 ZXJuZXQgU29jaWV0eSAoMjAwNikuICBUaGlzIHZlcnNpb24KICAgICAgb2YgdGhpcyBNSUIgbW9k dWxlIGlzIHBhcnQgb2YgUkZDIFhYWFg7ICBzZWUgdGhlIFJGQwogICAgICBpdHNlbGYgZm9yIGZ1 bGwgbGVnYWwgbm90aWNlcy4iCgogICAgUkVWSVNJT04gICAgIjIwMDYxMDEyMDAwMFoiICAtLSBP Y3RvYmVyIDEyLCAyMDA2CiAgICBERVNDUklQVElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNo ZWQgYXMgUkZDIFhYWFguIgoKICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUg YWN0dWFsIFJGQyBudW1iZXIgJgogICAgICAtLSByZW1vdmUgdGhpcyBub3RlCgogICAgOjo9IHsg bWliLTIgWlpaIH0KCiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBaWlogd2l0aCBhIHJlYWwgT0lE IG9uY2UgaXQgaXMKICAgICAgLS0gYWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4KCiAgIC0t IFNlY3Rpb25zIG9mIHRoZSBtb2R1bGUKCiAgIGlmQ2FwU3RhY2tPYmplY3RzICBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQoKICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1 bGUKCiAgIC0tCiAgIC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91cAogICAtLQoKICAgaWZDYXBTdGFj a1RhYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIElmQ2FwU3Rh Y2tFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSwgbW9kZWxlZCBhZnRl ciBpZlN0YWNrVGFibGUgZnJvbSBJRi1NSUIsCiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBv biB0aGUgcG9zc2libGUgJ29uLXRvcC1vZicKICAgICAgIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB0 aGUgbXVsdGlwbGUgc3ViLWxheWVycyBvZiBuZXR3b3JrCiAgICAgICBpbnRlcmZhY2VzIChhcyBv cHBvc2VkIHRvIGFjdHVhbCByZWxhdGlvbnNoaXBzIGRlc2NyaWJlZCBpbgogICAgICAgaWZTdGFj a1RhYmxlKS4gSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24KICAgICAg IHdoaWNoIHN1Yi1sYXllcnMgTUFZIHBvc3NpYmx5IHJ1biAnb24gdG9wIG9mJyB3aGljaCBvdGhl cgogICAgICAgc3ViLWxheWVycywgYXMgZGV0ZXJtaW5lZCBieSBjcm9zcy1jb25uZWN0IGNhcGFi aWxpdHkgb2YgdGhlCiAgICAgICBkZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNvcnJlc3Bv bmRzIHRvIGEgY29uY2VwdHVhbCByb3cKICAgICAgIGluIHRoZSBpZlRhYmxlLiBGb3IgZXhhbXBs ZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleAogICAgICAgdmFsdWUgeCBjYW4gYmUg Y29ubmVjdGVkIHRvIHJ1biBvbiB0b3Agb2YgdGhlIHN1Yi1sYXllciB3aXRoCiAgICAgICBpZklu ZGV4IHZhbHVlIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoKCiAgICAgICAgIGlmQ2FwU3Rh Y2tTdGF0dXMueC55PWFjdGl2ZQoKICAgICAgIE5vdGUgdGhhdCBmb3IgbW9zdCBzdGFja2VkIGlu dGVyZmFjZXMgKGUuZy4gMkJBU0UtVEwpCiAgICAgICB0aGVyZSdzIGFsd2F5cyBhdCBsZWFzdCBv bmUgaGlnaGVyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQQ1MKICAgICAgIHBvcnQpIGZvciBlYWNo IGxvd2VyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQTUUpIGFuZCBhdAogICAgICAgbGVhc3Qgb25l IGxvd2VyLWxldmVsIGludGVyZmFjZSBmb3IgZWFjaCBoaWdoZXItbGV2ZWwKICAgICAgIGludGVy ZmFjZSwgdGhhdCBpcywgdGhlcmUgaXMgYXQgbGVhc3QgYSBzaW5nbGUgJ2FjdGl2ZScgcm93CiAg ICAgICBmb3IgYW55IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4KCiAgICAgICBUaGlzIHRhYmxl IGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgZGV2aWNlIGNhcGFiaWxpdHkiCiAgICAgUkVG RVJFTkNFCiAgICAgICAiSUYtTUlCLCBpZlN0YWNrVGFibGUiCiAgICAgOjo9IHsgaWZDYXBTdGFj a09iamVjdHMgMSB9CgogICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJJbmZvcm1hdGlv biBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvCiAgICAgICBzdWItbGF5 ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBydW5zIG9uICd0b3AnIG9mIHRoZQog ICAgICAgb3RoZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNv bmNlcHR1YWwKICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNlIGluZGV4IGZvciBs b3dlci0gYW5kCiAgICAgICBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4iCiAgICAgSU5ERVgg ewogICAgICAgaWZTdGFja0hpZ2hlckxheWVyLAogICAgICAgaWZTdGFja0xvd2VyTGF5ZXIKICAg ICB9CiAgICAgOjo9IHsgaWZDYXBTdGFja1RhYmxlIDEgfQoKICAgSWZDYXBTdGFja0VudHJ5IDo6 PSBTRVFVRU5DRSB7CiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyAgICAgICBSb3dTdGF0dXMKICAg ICAgfQoKICAgaWZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBS b3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29u bmVjdCBjYXBhYmlsaXR5JyByZWxhdGlvbnNoaXAKICAgICAgIGJldHdlZW4gdHdvIHN1Yi1sYXll cnMuIFRoZSBmb2xsb3dpbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZDoKICAgICAgICAgYWN0aXZl KDEpICAgICAgIC0gaW5kaWNhdGVzIHRoYXQgdGhlIHN1Yi1sYXllciBpbnRlcmZhY2UsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZWQgYnkgdGhlIGlmU3RhY2tMb3dlckxheWVy IE1BWQogICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBjb25uZWN0ZWQgdG8gcnVuICdiZWxv dycgdGhlIHN1Yi1sYXllcgogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2UsIGlk ZW50aWZpZWQgYnkgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmU3RhY2tIaWdoZXJM YXllciBpbmRleC4KICAgICAgICAgbm90SW5TZXJ2aWNlKDIpIC0gdGhlIHN1Yi1sYXllciBpbnRl cmZhY2VzIGNhbm5vdCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgdGVt cG9yYXJpbHkgZHVlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5 IG9mIHRoZSBpbnRlcmZhY2UocyksIGUuZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgb25l IG9mIHRoZSBpbnRlcmZhY2VzIGlzIGxvY2F0ZWQgb24gYQogICAgICAgICAgICAgICAgICAgICAg ICAgICBwbHVnZ2FibGUgbW9kdWxlIHdoaWNoIGlzIGFic2VudC4KCiAgICAgICBOb3RlIHRoYXQg bG93ZXItbGF5ZXIgaW50ZXJmYWNlIGF2YWlsYWJpbGl0eSBwZXIgaGlnaGVyLWxheWVyLAogICAg ICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiAnYWN0aXZlJywgY2FuIGJlIGNvbnN0cmFpbmVk IGJ5CiAgICAgICBvdGhlciBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSBieSB0aGUgYWdncmVnYXRp b24gY2FwYWNpdHkgb2YKICAgICAgIGEgaGlnaGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUg bG93ZXItbGF5ZXIgaW50ZXJmYWNlIGluCiAgICAgICBxdWVzdGlvbiBiZWluZyBhbHJlYWR5IGNv bm5lY3RlZCB0byBhbm90aGVyIGhpZ2hlci1sYXllcgogICAgICAgaW50ZXJmYWNlLiBJbiBvcmRl ciB0byBlbnN1cmUgdGhhdCBhIHBhcnRpY3VsYXIgc3ViLWxheWVyIGNhbgogICAgICAgYmUgY29u bmVjdGVkIHRvIGFub3RoZXIgc3ViLWxheWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzCiAgICAg ICAoZS5nLiBpZkNhcFN0YWNrVGFibGUsIGlmU3RhY2tUYWJsZSBhbmQgZWZtQ3VQQUZDYXBhY2l0 eSBmb3IKICAgICAgIGZvciBFRk1DdSBpbnRlcmZhY2VzKSBTSEFMTCBiZSBpbnNwZWN0ZWQuCgog ICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZCBvbmx5LCB1bmxpa2UgaWZTdGFja1N0YXR1cywgYXMg aXQKICAgICAgIGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iCiAgICAgOjo9 IHsgaWZDYXBTdGFja0VudHJ5IDEgfQoKICAgaWZJbnZDYXBTdGFja1RhYmxlICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgICAgICAgU0VRVUVOQ0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5CiAgICAg TUFYLUFDQ0VTUyAgICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSB0YWJsZSBjb250YWluaW5nIGluZm9ybWF0aW9uIG9u IHRoZSBwb3NzaWJsZSByZWxhdGlvbnNoaXBzCiAgICAgICBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBz dWItbGF5ZXJzIG9mIG5ldHdvcmsgaW50ZXJmYWNlcy4gVGhpcwogICAgICAgdGFibGUsIG1vZGVs ZWQgYWZ0ZXIgaWZJbnZTdGFja1RhYmxlIGZyb20KICAgICAgIElGLUlOVkVSVEVELVNUQUNLLU1J QiwgaXMgYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBTdGFja1RhYmxlCiAgICAgICBkZWZpbmVkIGlu IHRoaXMgTUlCIG1vZHVsZS4KICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFp bnMgaW5mb3JtYXRpb24gb24gd2hpY2gKICAgICAgIHN1Yi1sYXllcnMgTUFZIHJ1biAndW5kZXJu ZWF0aCcgd2hpY2ggb3RoZXIgc3ViLWxheWVycywgd2hlcmUKICAgICAgIGVhY2ggc3ViLWxheWVy IGNvcnJlc3BvbmRzIHRvIGEgY29uY2VwdHVhbCByb3cgaW4gdGhlIGlmVGFibGUuCiAgICAgICBG b3IgZXhhbXBsZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBi ZQogICAgICAgY29ubmVjdGVkIHRvIHJ1biB1bmRlcm5lYXRoIHRoZSBzdWItbGF5ZXIgd2l0aCBp ZkluZGV4IHZhbHVlCiAgICAgICB5LCB0aGVuIHRoaXMgdGFibGUgY29udGFpbnM6CgogICAgICAg ICAgaWZJbnZDYXBTdGFja1N0YXR1cy54Lnk9YWN0aXZlCgogICAgICAgVGhpcyB0YWJsZSBjb250 YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRoZQogICAgICAgaWZDYXBT dGFja1RhYmxlLCBidXQgdGhlIHJvd3MgYXBwZWFyIGluIGEgZGlmZmVyZW50IG9yZGVyLgoKICAg ICAgIFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5l Y3QKICAgICAgIGNhcGFiaWxpdHkuIgogICAgIFJFRkVSRU5DRQogICAgICAgICJJRi1JTlZFUlRF RC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSIKICAgICA6Oj0geyBpZkNhcFN0YWNrT2JqZWN0 cyAyIH0KCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAg ICAgIElmSW52Q2FwU3RhY2tFbnRyeQogICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUK ICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgICJJbmZv cm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0KICAg ICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5kZXJu ZWF0aCB0aGUKICAgICAgICBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJlc3Bv bmRzIHRvIGEgY29uY2VwdHVhbAogICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iCiAgICAgSU5E RVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0KICAgICA6Oj0geyBp ZkludkNhcFN0YWNrVGFibGUgMSB9CgogICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFVRU5D RSB7CiAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMgICAgICAgUm93U3RhdHVzCiAgICB9CgogICBp ZkludkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgICAgIFJvd1N0 YXR1cwogICAgIE1BWC1BQ0NFU1MgICAgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSBwb3NzaWJs ZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28KICAgICAgICBzdWItbGF5ZXJzLgoKICAgICAgICBB biBpbnN0YW5jZSBvZiB0aGlzIG9iamVjdCBleGlzdHMgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgdGhl CiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyBvYmplY3QsIGFuZCB2aWNlIHZlcnNhLiBGb3IgZXhh bXBsZSwgaWYgdGhlCiAgICAgICAgdmFyaWFibGUgaWZDYXBTdGFja1N0YXR1cy5ILkwgZXhpc3Rz LCB0aGVuIHRoZSB2YXJpYWJsZQogICAgICAgIGlmSW52U3RhY2tTdGF0dXMuTC5IIG11c3QgYWxz byBleGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJbgogICAgICAgIGFkZGl0aW9uLCB0aGUgdHdvIHZh cmlhYmxlcyBhbHdheXMgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCiAgICAgICAgVGhlIGlmSW52U3Rh Y2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQtb25seSwgYXMgaXQgZGVzY3JpYmVzCiAgICAgICAgYSBj cm9zcy1jb25uZWN0IGNhcGFiaWxpdHkuIgogICAgIDo6PSB7IGlmSW52Q2FwU3RhY2tFbnRyeSAx IH0KCiAgIC0tCiAgIC0tIGlmQ2FwU3RhY2tDb25mb3JtYW5jZSBncm91cAogICAtLQoKICAgaWZD YXBTdGFja0NvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSCiAgIDo6PSB7IGlmQ2FwU3RhY2tP YmplY3RzIDMgfQoKICAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cwoKICAgaWZDYXBTdGFja0dy b3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZv cm1hbmNlIDEgfQoKICAgaWZDYXBTdGFja0NvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6 PQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQoKICAgLS0gVW5pdHMgb2YgQ29u Zm9ybWFuY2UKCiAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsK ICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsCiAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzCiAgICAg fQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0 aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIG9uIHRoZQogICAgICAgY3Jvc3Mt Y29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFja2VkKSBuZXR3b3JrCiAgICAg ICBpbnRlcmZhY2VzLiIKICAgICA6Oj0geyBpZkNhcFN0YWNrR3JvdXBzIDEgfQoKCiAgLS0gQ29t cGxpYW5jZSBTdGF0ZW1lbnRzCgogICBpZkNhcFN0YWNrQ29tcGxpYW5jZSBNT0RVTEUtQ09NUExJ QU5DRQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRo ZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGllcywgd2hpY2ggcHJvdmlkZQog ICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBtdWx0 aS1sYXllcgogICAgICAgKHN0YWNrZWQpIG5ldHdvcmsgaW50ZXJmYWNlcywgd2l0aCBmbGV4aWJs ZSBjcm9zcy1jb25uZWN0CiAgICAgICBiZXR3ZWVuIHRoZSBzdWItbGF5ZXJzLgogICAgICAgQ29t cGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dpbmcgZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRz CiAgICAgICBpcyBSRVFVSVJFRDoKCiAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBs aWFuY2UgU3RhdGVtZW50CiAgICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgICAgICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMKICAg ICAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlIgoKCiAgICAgTU9EVUxF ICAtLSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7CiAgICAgICAgIGlmQ2Fw U3RhY2tHcm91cAogICAgICAgfQoKICAgICAgIE9CSkVDVCAgICAgICBpZkNhcFN0YWNrU3RhdHVz CiAgICAgICBTWU5UQVggICAgICAgSU5URUdFUiB7IGFjdGl2ZSgxKSB9CiAgICAgICBERVNDUklQ VElPTgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhlIG5vdEluU2VydmljZSgyKSB2YWx1ZSBpcyBP UFRJT05BTCBmb3IKICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgcGx1Z2dhYmxl IGludGVyZmFjZXMuIgoKICAgICAgIE9CSkVDVCAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzCiAg ICAgICBTWU5UQVggICAgICAgSU5URUdFUiB7IGFjdGl2ZSgxKSB9CiAgICAgICBERVNDUklQVElP TgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhlIG5vdEluU2VydmljZSgyKSB2YWx1ZSBpcyBPUFRJ T05BTCBmb3IKICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgcGx1Z2dhYmxlIGlu dGVyZmFjZXMuIgoKICAgICBNT0RVTEUgIElGLU1JQgogICAgICAgTUFOREFUT1JZLUdST1VQUyB7 CiAgICAgICAgIGlmU3RhY2tHcm91cDIKICAgICAgIH0KCiAgICAgTU9EVUxFICBJRi1JTlZFUlRF RC1TVEFDSy1NSUIKICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgewogICAgICAgICBpZkludlN0YWNr R3JvdXAKICAgICAgIH0KCiAgICAgOjo9IHsgaWZDYXBTdGFja0NvbXBsaWFuY2VzIDEgfQpFTkQK CjwvcHJlPjxwcmU+CjwvcHJlPgo8YSBuYW1lPSJhbmNob3IxOSI+PC9hPjxiciAvPjxociAvPgo8 dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNs YXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9j IiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEg bmFtZT0icmZjLnNlY3Rpb24uNiI+PC9hPjxoMz42LiZuYnNwO0VGTSBDb3BwZXIgTUlCIERlZmlu aXRpb25zPC9oMz4KPHByZT4KPC9wcmU+PHByZT5FRk0tQ1UtTUlCIERFRklOSVRJT05TIDo6PSBC RUdJTgoKICBJTVBPUlRTCiAgICBNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCBOT1RJRklD QVRJT04tVFlQRSwgSW50ZWdlcjMyLAogICAgVW5zaWduZWQzMiwgQ291bnRlcjMyLCBtaWItMgog ICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OAogICAgVEVYVFVBTC1DT05W RU5USU9OLCBUcnV0aFZhbHVlLCBSb3dTdGF0dXMsIFBoeXNBZGRyZXNzCiAgICAgIEZST00gU05N UHYyLVRDICAgICAgICAgIC0tIFJGQyAyNTc5CiAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNU LUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVAKICAgICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAg LS0gUkZDIDI1ODAKICAgIFNubXBBZG1pblN0cmluZwogICAgICBGUk9NIFNOTVAtRlJBTUVXT1JL LU1JQiAtLSBSRkMgMzQxMQogICAgaWZJbmRleCwgaWZTcGVlZAogICAgICBGUk9NIElGLU1JQiAg ICAgICAgICAgICAtLSBSRkMgMjg2MwogICAgOwoKICBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkK ICAgIExBU1QtVVBEQVRFRCAiMjAwNjEwMTIwMDAwWiIgIC0tIE9jdG9iZXIgMTIsIDIwMDYKICAg IE9SR0FOSVpBVElPTiAiSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtp bmcgR3JvdXAiCiAgICBDT05UQUNULUlORk8KICAgICAgIldHIGNoYXJ0ZXI6CiAgICAgICAgaHR0 cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwKCiAgICAg IE1haWxpbmcgTGlzdHM6CiAgICAgICAgR2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5v cmcKICAgICAgICBUbyBTdWJzY3JpYmU6IGh1Ym1pYi1yZXF1ZXN0QGlldGYub3JnCiAgICAgICAg SW4gQm9keTogc3Vic2NyaWJlIHlvdXJfZW1haWxfYWRkcmVzcwoKICAgICAgQ2hhaXI6ICBEYW4g Um9tYXNjYW51CiAgICAgIFBvc3RhbDogQXZheWEKICAgICAgICAgICAgICBBdGlkaW0gVGVjaG5v bG9neSBQYXJrLCBCbGRnLiAzCiAgICAgICAgICAgICAgVGVsIEF2aXYgNjExMzEKICAgICAgICAg ICAgICBJc3JhZWwKICAgICAgICAgVGVsOiArOTcyIDMgNjQ1IDg0MTQKICAgICAgRS1tYWlsOiBk cm9tYXNjYUBhdmF5YS5jb20KCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpCiAgICAgIFBvc3Rh bDogQWN0ZWxpcyBOZXR3b3JrcyBJbmMuCiAgICAgICAgICAgICAgMjUgQmF6ZWwgU3QuLCBQLk8u Qi4gMTAxNzMKICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMKICAgICAgICAgICAgICBJ c3JhZWwKICAgICAgICAgICAgICBUZWw6ICs5NzItMy05MjQtMzQ5MQogICAgICBFLW1haWw6IGVk d2FyZC5iZWlsaUBhY3RlbGlzLmNvbSIKCiAgICBERVNDUklQVElPTgogICAgICAiVGhlIG9iamVj dHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIG1hbmFnZQogICAgICB0aGUgRXRoZXJu ZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29wcGVyIChFRk1DdSkgSW50ZXJmYWNlcwogICAg ICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTLCBkZWZpbmVkIGluIElFRUUgU3RkLiA4MDIuM2FoLTIw MDQsCiAgICAgIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgSUVFRSBTdGQuIDgwMi4zLTIwMDUuCgog ICAgICBUaGUgZm9sbG93aW5nIHJlZmVyZW5jZXMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGlzIE1J QiBtb2R1bGU6CgogICAgICBbODAyLjNhaF0gcmVmZXJzIHRvOgogICAgICAgIElFRUUgU3RkIDgw Mi4zYWgtMjAwNDogJ0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uCiAgICAgICAgdGVjaG5v bG9neSAtIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UKICAgICAg ICBiZXR3ZWVuIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3Mg LQogICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtCiAgICAgICAgUGFydCAzOiBDYXJyaWVy IFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbgogICAgICAgIERldGVjdGlvbiAo Q1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIKICAgICAgICBTcGVjaWZp Y2F0aW9ucyAtCiAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0 ZXJzLCBQaHlzaWNhbAogICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZv ciBTdWJzY3JpYmVyIEFjY2VzcwogICAgICAgIE5ldHdvcmtzJywgMDcgU2VwdGVtYmVyIDIwMDQu CgogICAgICBPZiBwYXJ0aWN1bGFyIGludGVyZXN0IGFyZSBDbGF1c2UgNjEsICdQaHlzaWNhbCBD b2RpbmcKICAgICAgU3VibGF5ZXIgKFBDUykgYW5kIGNvbW1vbiBzcGVjaWZpY2F0aW9ucywgdHlw ZSAxMFBBU1MtVFMgYW5kCiAgICAgIHR5cGUgMkJBU0UtVEwnLCBDbGF1c2UgMzAsICdNYW5hZ2Vt ZW50JywgQ2xhdXNlIDQ1LAogICAgICAnTWFuYWdlbWVudCBEYXRhIElucHV0L091dHB1dCAoTURJ TykgSW50ZXJmYWNlJywgQW5uZXggNjJBLAogICAgICAnUE1EIHByb2ZpbGVzIGZvciAxMFBBU1Mt VFMnIGFuZCBBbm5leCA2M0EsICdQTUQgcHJvZmlsZXMgZm9yCiAgICAgIDJCQVNFLVRMJy4KCiAg ICAgIFtHLjk5MS4yXSByZWZlcnMgdG86CiAgICAgICAgSVRVLVQgUmVjb21tZW5kYXRpb24gRy45 OTEuMjogJ1NpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbAogICAgICAgIFN1YnNjcmliZXIg TGluZSAoU0hEU0wpIHRyYW5zY2VpdmVycycsIERlY2VtYmVyIDIwMDMuCgogICAgICBbQU5GUF0g cmVmZXJzIHRvOgogICAgICAgIE5JQ0MgRG9jdW1lbnQgTkQxNjAyOjIwMDUvMDg6ICdTcGVjaWZp Y2F0aW9uIG9mIHRoZSBBY2Nlc3MKICAgICAgICBOZXR3b3JrIEZyZXF1ZW5jeSBQbGFuIChBTkZQ KSBhcHBsaWNhYmxlIHRvIHRyYW5zbWlzc2lvbgogICAgICAgIHN5c3RlbXMgdXNlZCBvbiB0aGUg QlQgQWNjZXNzIE5ldHdvcmssJyBBdWd1c3QgMjAwNS4KCiAgICAgIE5hbWluZyBDb252ZW50aW9u czoKICAgICAgICBBdG4gICAtIEF0dGVudWF0aW9uCiAgICAgICAgQ08gICAgLSBDZW50cmFsIE9m ZmljZQogICAgICAgIENQRSAgIC0gQ3VzdG9tZXIgUHJlbWlzZXMgRXF1aXBtZW50CiAgICAgICAg RUZNICAgLSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZQogICAgICAgIEVGTUN1IC0gRUZNIENv cHBlcgogICAgICAgIE1ESU8gIC0gTWFuYWdlbWVudCBEYXRhIElucHV0L091dHB1dAogICAgICAg IE1nbiAgIC0gTWFyZ2luCiAgICAgICAgUEFGICAgLSBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24K ICAgICAgICBQQk8gICAtIFBvd2VyIEJhY2stT2ZmCiAgICAgICAgUENTICAgLSBQaHlzaWNhbCBD b2RpbmcgU3VibGF5ZXIKICAgICAgICBQTUQgICAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQK ICAgICAgICBQTUUgICAtIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkKICAgICAgICBQU0QgICAtIFBv d2VyIFNwZWN0cmFsIERlbnNpdHkKICAgICAgICBTTlIgICAtIFNpZ25hbCB0byBOb2lzZSBSYXRp bwogICAgICAgIFRDUEFNIC0gVHJlbGxpcyBDb2RlZCBQdWxzZSBBbXBsaXR1ZGUgTW9kdWxhdGlv bgoKICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAwNikuICBUaGlz IHZlcnNpb24KICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2YgUkZDIFhYWFg7ICBz ZWUgdGhlIFJGQwogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iCgogICAgUkVW SVNJT04gICAgIjIwMDYxMDEyMDAwMFoiICAtLSBPY3RvYmVyIDEyLCAyMDA2CiAgICBERVNDUklQ VElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhYWFguIgoKICAgICAgLS0g RWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIgJgogICAgICAt LSByZW1vdmUgdGhpcyBub3RlCgogICAgOjo9IHsgbWliLTIgWVlZIH0KCiAgICAgIC0tIEVkTm90 ZTogUmVwbGFjZSBZWVkgd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMKICAgICAgLS0gYWxsb2Nh dGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4KCiAgIC0tIFNlY3Rpb25zIG9mIHRoZSBtb2R1bGUKCiAg IGVmbUN1T2JqZWN0cyAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VNSUIgMSB9Cgog ICBlZm1DdUNvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1TUlCIDIgfQoK ICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUKCiAgIGVmbUN1UG9ydCAgICAgICAgT0JKRUNUIElE RU5USUZJRVIgOjo9IHsgZWZtQ3VPYmplY3RzIDEgfQoKICAgZWZtQ3VQbWUgICAgICAgICBPQkpF Q1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVjdHMgMiB9CgogICAtLSBUZXh0dWFsIENvbnZl bnRpb25zCgogICBQcm9maWxlSW5kZXggOjo9IFRFWFRVQUwtQ09OVkVOVElPTgogICAgIERJU1BM QVktSElOVCAiZCIKICAgICBTVEFUVVMgICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiQSB1bmlxdWUgdmFsdWUsIGdyZWF0ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29u ZmlndXJhdGlvbgogICAgICAgcHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBJdCBp cyBSRUNPTU1FTkRFRCB0aGF0CiAgICAgICB2YWx1ZXMgYXJlIGFzc2lnbmVkIGNvbnRpZ3VvdXNs eSBzdGFydGluZyBmcm9tIDEuIFRoZSB2YWx1ZQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNU IHJlbWFpbiBjb25zdGFudCBhdCBsZWFzdCBmcm9tIG9uZQogICAgICAgcmUtaW5pdGlhbGl6YXRp b24gb2YgdGhlIGVudGl0eSdzIG5ldHdvcmsgbWFuYWdlbWVudCBzeXN0ZW0KICAgICAgIHRvIHRo ZSBuZXh0IHJlLWluaXRpYWxpemF0aW9uLiIKICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAo MS4uMjU1KQoKICAgUHJvZmlsZUluZGV4T3JaZXJvIDo6PSBURVhUVUFMLUNPTlZFTlRJT04KICAg ICBESVNQTEFZLUhJTlQgImQiCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQ VElPTgogICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0 aGUgUHJvZmlsZUluZGV4CiAgICAgICBjb252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBn cmVhdGVyIHRoYW4gemVybyB2YWx1ZSB1c2VkCiAgICAgICB0byBpZGVudGlmeSBhIFBNRSBwcm9m aWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1IHBvcnQuIFRoaXMKICAgICAgIGV4dGVuc2lvbiBwZXJt aXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVlIG9mIHplcm8uIFRoZSB2YWx1ZSBvZgogICAgICAgemVy byBpcyBvYmplY3Qtc3BlY2lmaWMgYW5kIE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFy dAogICAgICAgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3Qgd2hpY2ggdXNlcyB0aGlz IHN5bnRheC4KICAgICAgIEV4YW1wbGVzIG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0 IGluY2x1ZGUgc2l0dWF0aW9ucwogICAgICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9m aWxlIGlzIHVua25vd24uIgogICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMyICgwLi4yNTUpCgog ICBQcm9maWxlSW5kZXhMaXN0IDo6PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJ TlQgIjFkOiIKICAgICBTVEFUVVMgICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiUmVwcmVzZW50cyBhIGxpc3Qgb2YgdXAgdG8gNiBQcm9maWxlSW5kZXgncy4KICAgICAgIFRo ZSBQcm9maWxlSW5kZXggdGV4dHVhbCBjb252ZW50aW9uIGRlZmluZXMgYSBncmVhdGVyIHRoYW4K ICAgICAgIHplcm8gdmFsdWUgdXNlZCB0byBpZGVudGlmeSBhIFBNRSBwcm9maWxlIGluIHRoZSBt YW5hZ2VkIEVGTUN1CiAgICAgICBwb3J0LiBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgYSBj b25jYXRlbmF0aW9uIG9mIG9uZSBvcgogICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRzLCB3aGVy ZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0CiAgICAgICBQcm9maWxlSW5kZXggdmFsdWUu CiAgICAgICBUaGUgUHJvZmlsZUluZGV4TGlzdCBzcGVjaWZpZXMgYSBsaXN0IG9mIGFsdGVybmF0 aXZlCiAgICAgICBwcm9maWxlcywgYW55IG9mIHdoaWNoIGNhbiBiZSBjaG9zZW4gZm9yIGNvbmZp Z3VyYXRpb24gb2YgYW4KICAgICAgIFBNRS4iCiAgICAgU1lOVEFYICAgICAgIE9DVEVUIFNUUklO RyAoU0laRSgxLi42KSkKCiAgIFRydXRoVmFsdWVPclVua25vd24gOjo9IFRFWFRVQUwtQ09OVkVO VElPTgogICAgIFNUQVRVUyAgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJU aGlzIHRleHR1YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUK ICAgICAgIGNvbnZlbnRpb24uIFRoZSBsYXR0ZXIgZGVmaW5lcyBhIGJvb2xlYW4gdmFsdWUgd2l0 aAogICAgICAgcG9zc2libGUgdmFsdWVzIG9mIHRydWUoMSkgYW5kIGZhbHNlKDIpLiBUaGlzCiAg ICAgICBleHRlbnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDAp LCB3aGljaAogICAgICAgY2FuIGJlIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIEdFVCBvcGVyYXRp b24sIHdoZW4gYW4gZXhhY3QKICAgICAgIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgdGhlIG9iamVj dCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC4iCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1bmtu b3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9CgogIC0tIFBvcnQgTm90aWZpY2F0aW9ucyBHcm91 cAoKICAgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1D dVBvcnQgMCB9CgogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgLS0gaWZJbmRleCBpcyBub3QgbmVlZGVkIGhlcmUgc2luY2Ugd2Ug YXJlIHVuZGVyIHNwZWNpZmljIFBDUwogICAgICAgaWZTcGVlZCwKICAgICAgIGVmbUN1VGhyZXNo TG93UmF0ZQogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgRUZNQ3UgcG9ydCcg ZGF0YSByYXRlCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2VlZGVkIHRo ZSBsb3cgcmF0ZSB0aHJlc2hvbGQsCiAgICAgICBzcGVjaWZpZWQgYnkgZWZtQ3VUaHJlc2hMb3dS YXRlLgoKICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUgLU8gc3Vi dHlwZSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSB3aGlsZSB0aGUgcG9ydCBp cyB1cCwgb24gdGhlIGNyb3NzaW5nCiAgICAgICBldmVudCBpbiBib3RoIGRpcmVjdGlvbnM6IGZy b20gbm9ybWFsIChyYXRlIGlzIGFib3ZlIHRoZQogICAgICAgdGhyZXNob2xkKSB0byBsb3cgKHJh dGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZAogICAgICAgZnJvbSBsb3cg dG8gbm9ybWFsLiBUaGlzIG5vdGlmaWNhdGlvbiBpcyBub3QgYXBwbGljYWJsZSB0bwogICAgICAg dGhlIC1SIHN1YnR5cGVzLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBk ZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9u IG9mIHRoZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxlbWVudGVk IHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQKICAgICAgIGVmbUN1 TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgdG8gYmUgc2VudC4KCiAgICAgICBUaGUgYWRh cHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9ydCB0bwog ICAgICAgYWRhcHQgaXRzZWxmIHRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjb3BwZXIgZW52aXJvbm1l bnQsIGUuZy4KICAgICAgIGFuIGltcHVsc2Ugbm9pc2UsIGFsaWVuIGNyb3NzdGFsayBvciBhIG1p Y3JvLWludGVycnVwdGlvbiBtYXkKICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUg UE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsCiAgICAgICBjYXVzaW5nIGEgcmF0ZSBkZWdy YWRhdGlvbiBvZiB0aGUgYWdncmVnYXRlZCBFRk1DdSBsaW5rLgogICAgICAgVGhlIGRyb3BwZWQg UE1FcyB3b3VsZCB0aGVuIHRyeSB0byByZS1pbml0aWFsaXplLCBwb3NzaWJseSBhdAogICAgICAg YSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlkZQog ICAgICAgcmVxdWlyZWQgdGFyZ2V0IFNOUiBtYXJnaW4uCgogICAgICAgR2VuZXJhdGlvbiBvZiB0 aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQogICAgICAgZWZtQ3VMb3dSYXRl Q3Jvc3NpbmdFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0geyBlZm1DdVBvcnROb3RpZmljYXRpb25z IDEgfQoKICAgLS0gUENTIFBvcnQgZ3JvdXAKCiAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1Qt VFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydENvbmZFbnRyeQogICAg IE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg IERFU0NSSVBUSU9OCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgRUZNQ3UgMkJB U0UtVEwvMTBQQVNTLVRTIChQQ1MpCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxl IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhCiAgICAgICBwZXJzaXN0ZW50IG1hbm5lciIKICAgICA6 Oj0geyBlZm1DdVBvcnQgMSB9CgogICBlZm1DdVBvcnRDb25mRW50cnkgT0JKRUNULVRZUEUKICAg ICBTWU5UQVggICAgICBFZm1DdVBvcnRDb25mRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNj ZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg IkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENvbmZpZ3VyYXRpb24gdGFibGUuCiAgICAgICBF YWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4 LgogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2lu Z2xlCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhl ZCBieSBpZkluZGV4LiIKICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBv cnRDb25mVGFibGUgMSB9CgogICBFZm1DdVBvcnRDb25mRW50cnkgOjo9CiAgICAgU0VRVUVOQ0Ug ewogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwKICAgICAg IGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAgICAgICAgICAgIFBoeXNBZGRyZXNzLAogICAgICAgZWZt Q3VBZG1pblByb2ZpbGUgICAgICAgICAgICAgICAgUHJvZmlsZUluZGV4TGlzdCwKICAgICAgIGVm bUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVRh cmdldFNuck1nbiAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VBZGFwdGl2 ZVNwZWN0cmEgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwKICAgICAgIGVmbUN1VGhyZXNoTG93UmF0 ZSAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZ0Vu YWJsZSAgICAgICBUcnV0aFZhbHVlCiAgICAgfQoKICAgZWZtQ3VQQUZBZG1pblN0YXRlICBPQkpF Q1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAgICAgZW5hYmxlZCgxKSwKICAg ICAgIGRpc2FibGVkKDIpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBT VEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBZG1pbmlzdHJhdGl2 ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgKFBD UykuCiAgICAgICBXaGVuICdkaXNhYmxlZCcsIFBNRSBBZ2dyZWdhdGlvbiB3aWxsIG5vdCBiZSBw ZXJmb3JtZWQgYnkgdGhlCiAgICAgICBQQ1MuIE5vIG1vcmUgdGhhbiBhIHNpbmdsZSBQTUUgY2Fu IGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGluCiAgICAgICB0aGlzIGNhc2UuCiAgICAgICBXaGVu ICdlbmFibGVkJywgUEFGIHdpbGwgYmUgcGVyZm9ybWVkIGJ5IHRoZSBQQ1Mgd2hlbiB0aGUgbGlu awogICAgICAgaXMgVXAsIGV2ZW4gb24gYSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMg c3VwcG9ydGVkLgoKICAgICAgIFBDUyBwb3J0cyBpbmNhcGFibGUgb2Ygc3VwcG9ydGluZyBQQUYg U0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YKICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdl bmFibGUnIHN1Y2ggcG9ydHMgU0hBTEwgYmUgaWdub3JlZC4KCiAgICAgICBQQUYgJ2VuYWJsZWQn IHBvcnQgd2l0aCBtdWx0aXBsZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQogICAgICAgJ2Rpc2Fi bGVkJy4gQXR0ZW1wdHMgdG8gJ2Rpc2FibGUnIHN1Y2ggcG9ydCBTSEFMTCBiZSByZWplY3RlZCwK ICAgICAgIHVudGlsIGF0IG1vc3Qgb25lIFBNRSBpcyBsZWZ0IGFzc2lnbmVkLgoKICAgICAgIENo YW5naW5nIFBBRkFkbWluU3RhdGUgaXMgYSB0cmFmZmljIGRpc3J1cHRpdmUgb3BlcmF0aW9uIGFu ZAogICAgICAgYXMgc3VjaCBTSEFMTCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4gQXR0 ZW1wdHMgdG8KICAgICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSBpZ25vcmVkIGlmIHRo ZSBsaW5rIGlzIFVwIG9yCiAgICAgICBJbml0aWFsaXppbmcuCgogICAgICAgVGhpcyBvYmplY3Qg bWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGQWRtaW5TdGF0ZS4KCiAgICAgICBJ ZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4g dGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFBBRiBlbmFibGUgYml0IGluIHRoZSAxMFAv MkIgUENTIGNvbnRyb2wKICAgICAgIHJlZ2lzdGVyLgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1Qg YmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAg ICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyIKICAgICA6Oj0geyBlZm1DdVBvcnRD b25mRW50cnkgMSB9CgogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgUGh5c0FkZHJlc3MKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUEFGIERpc2NvdmVy eSBDb2RlIG9mIHRoZSBFRk1DdSBwb3J0IChQQ1MpLgogICAgICAgQSB1bmlxdWUgNiBCeXRlIGxv bmcgY29kZSB1c2VkIGJ5IHRoZSBEaXNjb3ZlcnkgZnVuY3Rpb24sIHdoZW4KICAgICAgIFBBRiBp cyBzdXBwb3J0ZWQuCiAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFG IFNIQUxMIHJldHVybiBhIHZhbHVlIG9mCiAgICAgICBhbGwgemVyb2VzLiBBdHRlbXB0cyB0byBj aGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgaWdub3JlZCBpbgogICAgICAgdGhpcyBjYXNlLgog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBl IFBDUyBiZWZvcmUKICAgICAgIHdyaXRpbmcgb3BlcmF0aW9ucyBvbiB0aGUgZWZtQ3VQQUZSZW1v dGVEaXNjb3ZlcnlDb2RlCiAgICAgICAoU2V0X2lmX0NsZWFyIGFuZCBDbGVhcl9pZl9TYW1lKSBh cmUgcGVyZm9ybWVkIGJ5IFBNRXMKICAgICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgUENTLgogICAg ICAgVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHJlYWQtb25seSBmb3IgLVIgcG9ydCBzdWJ0 eXBlcy4KICAgICAgIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGZvciAtUiBwb3J0 cyBhZnRlciByZXNldAogICAgICAgaXMgMC4gVGhpcyB2YWx1ZSBtYXkgYmUgY2hhbmdlZCBhcyBh IHJlc3VsdCBvZiB3cml0aW5nCiAgICAgICBvcGVyYXRpb24gb24gZWZtQ3VQQUZSZW1vdGVEaXNj b3ZlcnlDb2RlIHZhcmlhYmxlIG9mIHJlbW90ZQogICAgICAgUE1FIG9mIC1PIHN1YnR5cGUsIGNv bm5lY3RlZCB0byBvbmUgb2YgdGhlIGxvY2FsIFBNRXMKICAgICAgIGFzc29jaWF0ZWQgd2l0aCB0 aGUgUENTLgoKICAgICAgIERpc2NvdmVyeSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5r IGlzIERvd24uCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSBy ZWplY3RlZCB3aXRoIHRoZSBlcnJvcgogICAgICAgaW5jb25zaXN0ZW50VmFsdWUgaWYgdGhlIGxp bmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5IGNvZGUg bWFwcyB0byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUKICAgICAgIHZhcmlhYmxlIGluIFBBRiAo bm90ZSB0aGF0IGl0IGRvZXMgbm90IGhhdmUgYSBjb3JyZXNwb25kaW5nCiAgICAgICBDbGF1c2Ug NDUgcmVnaXN0ZXIpIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC4z LCA2MS4yLjIuOC40LCA0NS4yLjYuNi4xIgogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAy IH0KCiAgIGVmbUN1QWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFBy b2ZpbGVJbmRleExpc3QKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRGVzaXJlZCBjb25maWd1cmF0aW9u IFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMgaW4gdGhlCiAgICAgICBFRk1DdSBwb3J0 LiBUaGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgcG9pbnRlcnMgdG8gZW50cmllcyBpbgogICAgICAg ZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IKICAgICAgIGVmbUN1UG1lMTBQUHJvZmls ZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQKICAgICAgIG9wZXJhdGluZyBTdWJUeXBl IG9mIHRoZSBFRk1DdSBwb3J0IGFzIGluZGljYXRlZCBieQogICAgICAgZWZtQ3VQb3J0U2lkZS4K ICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRp Y2VzIG9mCiAgICAgICBQcm9maWxlcy4gSWYgdGhpcyBsaXN0IGNvbnNpc3RzIG9mIGEgc2luZ2xl IFByb2ZpbGUgaW5kZXgsCiAgICAgICB0aGVuIGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZN Q3UgcG9ydCBTSEFMTCBiZSBjb25maWd1cmVkCiAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFByb2Zp bGUgcmVmZXJlbmNlZCBieSB0aGF0IGluZGV4LCB1bmxlc3MgaXQKICAgICAgIGlzIG92ZXJ3cml0 dGVuIGJ5IGNvcnJlc3BvbmRpbmcgbm9uLXplcm8gZWZtQ3VQbWVBZG1pblByb2ZpbGUsCiAgICAg ICB3aGljaCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgZWZtQ3VBZG1pblByb2ZpbGUuCiAgICAgICBU aGUgbGlzdCwgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIGluZGV4LCBhbGxvd3MgZWFjaCBQ TUUKICAgICAgIGluIHRoZSBwb3J0IHRvIGJlIGNvbmZpZ3VyZWQgYWNjb3JkaW5nIHRvIGFueSBQ cm9maWxlCiAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGxpc3QuCiAgICAgICBCeSBkZWZhdWx0IHRo aXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIDB4MDEsIHJlZmVyZW5jaW5nIDFzdAogICAgICAgZW50 cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvciBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZS4K CiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSAtTyBz dWJ0eXBlCiAgICAgICAoMkJhc2VUTC1PIG9yIDEwUGFzc1RTLU8pIEVGTUN1IHBvcnRzLiBJdCBp cyB1bmF2YWlsYWJsZSBmb3IKICAgICAgIHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEw UGFzc1RTLVIpIHBvcnRzLgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFBy b2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBv YmplY3QuCgogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9y bWVkIHdoZW4gdGhlIGxpbmsgaXMKICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlz IG9iamVjdCBNVVNUIGJlIHJlamVjdGVkLCBpZiB0aGUKICAgICAgIGxpbmsgaXMgVXAgb3IgSW5p dGlhbGl6aW5nLgogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgbGlzdCB3 aXRoIGEgbWVtYmVyCiAgICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9mIHRoZSBp bmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5CiAgICAgICBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9m aWxlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUg bWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAg ICJbODAyLjNhaF0gMzAuMTEuMi4xLjYiCiAgICAgREVGVkFMIHsgJzAxJ0ggfQogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSAzIH0KCiAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgIE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDB8OTk5OTk5KQogICAgIFVO SVRTICAgICAgICJLYnBzIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJEZXNpcmVkIEVGTUN1IHBvcnQg J25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRlIGluCiAgICAgICBLYnBzLCB0byBi ZSBhY2hpZXZlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIHVuZGVyIHNwZWN0cmFsCiAgICAgICBy ZXN0cmljdGlvbnMgcGxhY2VkIG9uIGVhY2ggUE1FIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcgog ICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGggdGhlIGRlc2lyZWQgU05SIE1hcmdpbiBz cGVjaWZpZWQgYnkKICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLgogICAgICAgSW4gY2FzZSBvZiBQ QUYsIHRoaXMgb2JqZWN0IHJlcHJlc2VudHMgYSBzdW0gb2YgaW5kaXZpZHVhbCBQTUUKICAgICAg IGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBlbnNhdGUgZm9yIGZyYWdtZW50YXRpb24gYW5k CiAgICAgICA2NC82NUIgZnJhbWluZyBvdmVyaGVhZCAoZS5nLiB0YXJnZXQgZGF0YSByYXRlIG9m IDEwTWJwcwogICAgICAgU0hBTEwgYWxsb3cgbG9zc2xlc3MgdHJhbnNtaXNzaW9uIG9mIGZ1bGwt ZHVwbGV4IDEwTWJwcwogICAgICAgRXRoZXJuZXQgZnJhbWUgc3RyZWFtIHdpdGggbWluaW1hbCBp bnRlci1mcmFtZSBnYXApLgoKICAgICAgIFRoZSB2YWx1ZSBpcyBsaW1pdGVkIGFib3ZlIGJ5IDEw ME1icHMgYXMgdGhpcyBpcyB0aGUgbWF4CiAgICAgICBidXJzdCByYXRlIGFjcm9zcyBNSUkgZm9y IEVGTUN1IHBvcnRzLgoKICAgICAgIFRoZSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDEwMDAwMCBpbmRp Y2F0ZXMgdGhhdCB0aGUgdG90YWwgZGF0YQogICAgICAgcmF0ZSAoaWZTcGVlZCkgb2YgdGhlIEVG TUN1IHBvcnQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gU0hBTEwKICAgICAgIGJlIGVxdWFsIHRvIHRo ZSB0YXJnZXQgZGF0YSByYXRlIG9yIGxlc3MsIGlmIHRoZSB0YXJnZXQgZGF0YQogICAgICAgcmF0 ZSBjYW5ub3QgYmUgYWNoaWV2ZWQgdW5kZXIgc3BlY3RyYWwgcmVzdHJpY3Rpb25zIHNwZWNpZmll ZAogICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblByb2ZpbGUgYW5kIHdp dGggZGVzaXJlZCBTTlIKICAgICAgIG1hcmdpbi4gSW4gY2FzZSB0aGUgY29wcGVyIGVudmlyb25t ZW50IGFsbG93cyB0byBhY2hpZXZlCiAgICAgICBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRoYW4g dGhhdCBzcGVjaWZpZWQgYnkgdGhlIHRhcmdldCwgdGhlCiAgICAgICBleGNlc3MgY2FwYWJpbGl0 eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SCiAgICAgICBtYXJn aW4gb3IgcmVjbGFpbWVkIGJ5IG1pbmltaXppbmcgdHJhbnNtaXQgcG93ZXIgYXMgY29udHJvbGxl ZAogICAgICAgYnkgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEuCgogICAgICAgVGhlIHZhbHVlIG9mIDk5 OTk5OSBtZWFucyB0aGF0IHRoZSB0YXJnZXQgZGF0YSByYXRlIGlzIG5vdAogICAgICAgZml4ZWQg YW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUgZHVyaW5nCiAg ICAgICBpbml0aWFsaXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3Ry YWwKICAgICAgIHJlc3RyaWN0aW9ucyBhbmQgd2l0aCBkZXNpcmVkIFNOUiBNYXJnaW4uCgogICAg ICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9y dHMKICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRo ZSAtUiBzdWJ0eXBlcy4KCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQogICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0 byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZAogICAgICAgd2l0aCB0aGUgZXJy b3IgaW5jb25zaXN0ZW50VmFsdWUsIGlmIHRoZSBsaW5rIGlzIFVwIG9yCiAgICAgICBJbml0aWFs aXppbmcuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgRGF0YSBSYXRlIG9mIHRoZSBFRk1DdSBw b3J0IGlzIHJlcHJlc2VudGVkCiAgICAgICBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuCgog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIgogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0KCiAgIGVmbUN1VGFyZ2V0U25y TWduICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uMjEpCiAgICAg VU5JVFMgICAgICAgImRCIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJEZXNpcmVkIEVGTUN1IHBvcnQg U05SIE1hcmdpbiB0byBiZSBhY2hpZXZlZCBvbiBhbGwgUE1FcwogICAgICAgYXNzaWduZWQgdG8g dGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXppYXRpb24uIChUaGUgU05SIG1hcmdpbgogICAgICAg aXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZGVzaXJlZCBTTlIgYW5kIHRoZSBhY3R1YWwg U05SKS4KCiAgICAgICBOb3RlIHRoYXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQg VGFyZ2V0IFNOUiBNYXJnaW4KICAgICAgIG9mIDVkQiBmb3IgMkJBU0UtVEwgcG9ydHMgYW5kIDZk QiBmb3IgMTBQQVNTLVRTIHBvcnRzIGluIG9yZGVyCiAgICAgICB0byBhY2hpZXZlIG1lYW4gQml0 IEVycm9yIFJhdGUgKEJFUikgb2YgMTBeLTcgYXQgdGhlIFBNQQogICAgICAgc2VydmljZSBpbnRl cmZhY2UuCgogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5 cGUgRUZNQ3UgcG9ydHMKICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFp bGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4KCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0 IFNOUiBNYXJnaW4gTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUKICAgICAgIGxpbmsgaXMgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQKICAgICAg IHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlLCBpZiB0aGUgbGluayBpcyBVcCBvcgog ICAgICAgSW5pdGlhbGl6aW5nLgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4g b2YgdGhlIFBNRXMgY29tcHJpc2luZyB0aGUgRUZNQ3UKICAgICAgIHBvcnQgaXMgcmVwcmVzZW50 ZWQgYnkgZWZtQ3VQbWVTbnJNZ24uCgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFp bmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIu M2FoXSA2MS4xLjIiCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQoKICAgZWZtQ3VB ZGFwdGl2ZVNwZWN0cmEgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg REVTQ1JJUFRJT04KICAgICAgICJJbmRpY2F0ZXMgaG93IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFj aXR5IHdoZW4gdGhlIGNvcHBlcgogICAgICAgZW52aXJvbm1lbnQgYWxsb3dzIHRvIGFjaGlldmUg aGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQKICAgICAgIHNwZWNpZmllZCBieSB0aGUg ZWZtQ3VUYXJnZXREYXRhUmF0ZS4KCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0 aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZQogICAgICAgcmVjbGFpbWVkIGJ5IG1p bmltaXppbmcgdHJhbnNtaXQgcG93ZXIsIGUuZy4gdXNpbmcgaGlnaGVyCiAgICAgICBjb25zdGVs bGF0aW9ucyBhbmQgUG93ZXIgQmFjay1PZmYsIGluIG9yZGVyIHRvIHJlZHVjZQogICAgICAgaW50 ZXJmZXJlbmNlIHRvIG90aGVyIGNvcHBlciBwYWlycyBpbiB0aGUgYmluZGVyIGFuZCB0aGUKICAg ICAgIGFkdmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLgoKICAgICAgIFZh bHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFM TAogICAgICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SIG1hcmdpbiBhbmQgc3ByZWFk IGV2ZW5seSBhY3Jvc3MKICAgICAgIGFsbCBhY3RpdmUgUE1FcyBhc3NpZ25lZCB0byB0aGUgKFBD UykgcG9ydCwgdG8gaW5jcmVhc2UgbGluawogICAgICAgcm9idXN0bmVzcy4KCiAgICAgICBUaGlz IG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cwogICAg ICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1 YnR5cGVzLgoKICAgICAgIENoYW5naW5nIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9ybWVk IHdoZW4gdGhlIGxpbmsgaXMKICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9i amVjdCBNVVNUIGJlIHJlamVjdGVkIHdpdGggdGhlCiAgICAgICBlcnJvciBpbmNvbnNpc3RlbnRW YWx1ZSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIFRoaXMgb2Jq ZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICA6Oj0g eyBlZm1DdVBvcnRDb25mRW50cnkgNiB9CgogICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDApCiAgICAgVU5JVFMgICAg ICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhl IEVGTUN1IHBvcnQgbG93IHJhdGUgY3Jvc3NpbmcgYWxhcm0KICAgICAgIHRocmVzaG9sZC4gV2hl biB0aGUgY3VycmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZvciB0aGlzIHBvcnQKICAgICAgIHJlYWNo ZXMvZHJvcHMgYmVsb3cgb3IgZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYW4KICAgICAgIGVmbUN1 TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQK ICAgICAgIGJ5IGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlLgoKICAgICAgIFRoaXMgb2JqZWN0 IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzCiAgICAgICAoMkJh c2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMu CgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBt YW5uZXIuIgogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0KCiAgIGVmbUN1TG93UmF0 ZUNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUK ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg IERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VMb3dSYXRlQ3Jvc3Np bmcgbm90aWZpY2F0aW9ucyBzaG91bGQKICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRl cmZhY2UuCgogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdUxvd1Jh dGVDcm9zc2luZwogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNl KDIpIGluZGljYXRlcyB0aGF0CiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLgoK ICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1 IHBvcnRzCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZv ciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVk IGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA4 IH0KCgogICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkKICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElP TgogICAgICAgIlRhYmxlIGZvciBDYXBhYmlsaXRpZXMgb2YgRUZNQ3UgMkJBU0UtVEwvMTBQQVNT LVRTIChQQ1MpCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFp bnRhaW5lZCBpbiBhCiAgICAgICBwZXJzaXN0ZW50IG1hbm5lciIKICAgICA6Oj0geyBlZm1DdVBv cnQgMiB9CgogICBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5U QVggICAgICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNj ZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg IkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUuCiAgICAgICBFYWNo IGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4Lgog ICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xl CiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBi eSBpZkluZGV4LiIKICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBvcnRD YXBhYmlsaXR5VGFibGUgMSB9CgogICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgOjo9CiAgICAg U0VRVUVOQ0UgewogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICAgVHJ1dGhW YWx1ZSwKICAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCAgICAgICAgICAgIFRydXRoVmFsdWVP clVua25vd24sCiAgICAgICBlZm1DdVBBRkNhcGFjaXR5ICAgICAgICAgICAgICAgICBVbnNpZ25l ZDMyLAogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMgog ICAgIH0KCiAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAg IFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24g KFBBRikgQ2FwYWJpbGl0eSBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgKFBDUykuCiAgICAgICBU aGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiB0cnVlKDEpIHdoZW4gdGhlIFBDUyBjYW4gcGVyZm9y bQogICAgICAgUE1FIGFnZ3JlZ2F0aW9uIG9uIHRoZSBhdmFpbGFibGUgUE1Fcy4KICAgICAgIFBv cnRzIGluY2FwYWJsZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuCgog ICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGU3Vw cG9ydGVkLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwKICAgICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGF2YWls YWJsZSBiaXQgaW4gdGhlCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iCiAgICAg UkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjQsIDQ1LjIuMy4x Ny4xIgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAxIH0KCiAgIGVmbUN1UGVl clBBRlN1cHBvcnRlZCAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlT3JV bmtub3duCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYp IENhcGFiaWxpdHkgb2YgdGhlIEVGTUN1IHBvcnQKICAgICAgIChQQ1MpIGxpbmsgcGFydG5lci4K ICAgICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3Rl IFBDUyBjYW4KICAgICAgIHBlcmZvcm0gUE1FIGFnZ3JlZ2F0aW9uIG9uIGl0cyBhdmFpbGFibGUg UE1Fcy4KICAgICAgIFBvcnRzIHdob3NlIHBlZXJzIGFyZSBpbmNhcGFibGUgb2YgUEFGLCBTSEFM TCByZXR1cm4gYSB2YWx1ZQogICAgICAgb2YgZmFsc2UoMikuCiAgICAgICBQb3J0cyB3aG9zZSBw ZWVycyBjYW5ub3QgYmUgcmVhY2hlZCBiZWNhdXNlIG9mIHRoZSBsaW5rCiAgICAgICBzdGF0ZSwg U0hBTEwgcmV0dXJuIGEgdmFsdWUgaWYgdW5rbm93bigwKS4KCiAgICAgICBUaGlzIG9iamVjdCBt YXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICBhUmVtb3RlUEFGU3VwcG9ydGVk LgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJl c2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgUmVtb3RlIFBBRiBzdXBw b3J0ZWQgYml0IGluIHRoZQogICAgICAgMTBQLzJCIGNhcGFiaWxpdHkgcmVnaXN0ZXIuIgogICAg IFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS45LCA0NS4yLjMu MTcuMiIKICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMiB9CgogICBlZm1DdVBB RkNhcGFjaXR5ICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDEuLjMy KQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0 ZWQgYnkgdGhlIGxvY2FsIFBBRi4KICAgICAgIFRoZSBudW1iZXIgb2YgUE1FcyBjdXJyZW50bHkg YXNzaWduZWQgdG8gYSBwYXJ0aWN1bGFyCiAgICAgICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMp IGlzIG5ldmVyIGdyZWF0ZXIgdGhhbgogICAgICAgZWZtQ3VQQUZDYXBhY2l0eS4KCiAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICBhTG9jYWxQ QUZDYXBhY2l0eS4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAu MTEuMS4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMgfQoKICAgZWZt Q3VQZWVyUEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQz MiAoMHwxLi4zMikKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGNhbiBi ZSBhZ2dyZWdhdGVkIGJ5IHRoZSBQQUYgb2YgdGhlIHBlZXIKICAgICAgIFBoeSAoUENTIHBvcnQp LgogICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBlZXIgUEFGIENhcGFjaXR5IGlz IHVua25vd24KICAgICAgIChwZWVyIGNhbm5vdCBiZSByZWFjaGVkKS4KCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICBhUmVtb3RlUEFGQ2Fw YWNpdHkuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEu MS4xMCIKICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgNCB9CgoKICAgZWZtQ3VQ b3J0U3RhdHVzVGFibGUgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBF Zm1DdVBvcnRTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBw cm92aWRlcyBvdmVyYWxsIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdQogICAgICAgMkJBU0Ut VEwvMTBQQVNTLVRTIHBvcnRzLCBjb21wbGVtZW50aW5nIHRoZSBnZW5lcmljIHN0YXR1cwogICAg ICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFibGUg b2YKICAgICAgIE1BVS1NSUIuIEFkZGl0aW9uYWwgc3RhdHVzIGluZm9ybWF0aW9uIGFib3V0IGNv bm5lY3RlZCBQTUVzCiAgICAgICBpcyBhdmFpbGFibGUgZnJvbSBlZm1DdVBtZVN0YXR1c1RhYmxl LgoKICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhlIGVxdWlwbWVu dC4gQXMgc3VjaCwKICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiIKICAgICA6Oj0geyBlZm1D dVBvcnQgMyB9CgogICBlZm1DdVBvcnRTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRB WCAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBbiBl bnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBTdGF0dXMgdGFibGUuCiAgICAgICBFYWNoIGVudHJ5IHJl cHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LgogICAgICAgTm90 ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xlCiAgICAgICBv ciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4 LiIKICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNUYWJs ZSAxIH0KCiAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsKICAgICAg IGVmbUN1Rmx0U3RhdHVzICAgICAgICAgICAgICAgICAgIEJJVFMsCiAgICAgICBlZm1DdVBvcnRT aWRlICAgICAgICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VOdW1QTUVzICAgICAg ICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1UEFGSW5FcnJvcnMgICAgICAg ICAgICAgICAgIENvdW50ZXIzMiwKICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyAgICAg ICAgIENvdW50ZXIzMiwKICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENv dW50ZXIzMiwKICAgICAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgICAgICAgICAgIENvdW50ZXIz MiwKICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzICAgICAgICAgIENvdW50ZXIzMiwKICAg ICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzICAgICAgICAgICAgIENvdW50ZXIzMiwKICAgICAgIGVm bUN1UEFGSW5Mb3N0RW5kcyAgICAgICAgICAgICAgIENvdW50ZXIzMiwKICAgICAgIGVmbUN1UEFG SW5PdmVyZmxvd3MgICAgICAgICAgICAgIENvdW50ZXIzMgogICAgIH0KCiAgIGVmbUN1Rmx0U3Rh dHVzICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEJJVFMgewogICAgICAgbm9QZWVyKDAp LAogICAgICAgcGVlclBvd2VyTG9zcygxKSwKICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCgyKSwK ICAgICAgIGxvd1JhdGUoMykKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRUZNQ3UgKFBDUykg cG9ydCBGYXVsdCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUKICAgICAgIGNv bmRpdGlvbnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgogICAgICAgICBub1BlZXIg ICAgICAgICAgICAgIC0gcGVlciBQSFkgY2Fubm90IGJlIHJlYWNoZWQgKGUuZy4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3du CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldGMuKSBNb3JlIGluZm8gaXMgYXZhaWxh YmxlIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZm1DdVBtZUZsdFN0YXR1cy4K ICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIgUEhZIGhhcyBpbmRpY2F0ZWQgaW1w ZW5kaW5nIHVuaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWx1cmUgZHVlIHRv IGxvc3Mgb2YgbG9jYWwgcG93ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnRHlp bmcgR2FzcCcpLgogICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBu b3Qgb2YgdGhlIHNhbWUgc3ViLXR5cGUsIGUuZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNvbWUgUE1FcyBpbiB0aGUgbG9jYWwgZGV2aWNlIGFyZSAtTwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLgogICAgICAgICBsb3dS YXRlICAgICAgICAgICAgIC0gaWZTcGVlZCBvZiB0aGUgcG9ydCByZWFjaGVkIG9yIGRyb3BwZWQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbG93IGVmbUN1VGhyZXNoTG93UmF0ZQoK ICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVz IG9iamVjdAogICAgICAgaW4gSUYtTUlCIGFuZCBpZk1hdU1lZGlhQXZhaWxhYmxlIGluIE1BVS1N SUIuCgogICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgdmlhIGVmbUN1 UG1lRmx0U3RhdHVzCiAgICAgICBvYmplY3QgZm9yIGVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGlv biBncm91cCAoc2luZ2xlIFBNRSBpZgogICAgICAgUEFGIGlzIGRpc2FibGVkKS4iCiAgICAgUkVG RVJFTkNFCiAgICAgICAiSUYtTUlCLCBpZk9wZXJTdGF0dXM7IE1BVS1NSUIsIGlmTWF1TWVkaWFB dmFpbGFibGU7CiAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMiCiAgICAgOjo9IHsgZWZtQ3VQb3J0 U3RhdHVzRW50cnkgMSB9CgogICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRB WCAgICAgIElOVEVHRVIgewogICAgICAgc3Vic2NyaWJlcigxKSwKICAgICAgIG9mZmljZSgyKSwK ICAgICAgIHVua25vd24oMykKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRUZNIHBvcnQgbW9k ZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLgogICAgICAgVGhlIHZhbHVlIG9mICdzdWJzY3JpYmVy JyBpbmRpY2F0ZXMgdGhlIHBvcnQgaXMgZGVzaWduYXRlZCBhcwogICAgICAgJy1SJyBzdWJ0eXBl IChhbGwgUE1FcyBhc3NpZ25lZCB0byB0aGlzIHBvcnQgYXJlIG9mIHN1YnR5cGUKICAgICAgICct UicpLgogICAgICAgVGhlIHZhbHVlIG9mIHRoZSAnb2ZmaWNlJyBpbmRpY2F0ZXMgdGhhdCB0aGUg cG9ydCBpcwogICAgICAgZGVzaWduYXRlZCBhcyAnLU8nIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2ln bmVkIHRvIHRoaXMgcG9ydCBhcmUKICAgICAgIG9mIHN1YnR5cGUgJy1PJykuCiAgICAgICBUaGUg dmFsdWUgb2YgJ3Vua25vd24nIGluZGljYXRlcyB0aGF0IHRoZSBwb3J0IGhhcyBubyBhc3NpZ25l ZAogICAgICAgUE1FcyB5ZXQgb3IgdGhhdCB0aGUgYXNzaWduZWQgUE1FcyBhcmUgbm90IG9mIHRo ZSBzYW1lIHNpZGUKICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLgoKICAgICAgIFRoaXMgb2Jq ZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICBhUGh5 RW5kIgogICAgIFJFRkVSRU5DRQogICAgICAgICJbODAyLjNhaF0gNjEuMSwgMzAuMTEuMS4xLjIi CiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMiB9CgogICBlZm1DdU51bVBNRXMgIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIpCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBpcyBjdXJyZW50bHkgYWdncmVnYXRlZCBieSB0 aGUgbG9jYWwgUEFGCiAgICAgICAoYXNzaWduZWQgdG8gdGhlIEVGTUN1IHBvcnQgdXNpbmcgaWZT dGFja1RhYmxlKS4KICAgICAgIFRoaXMgbnVtYmVyIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1D dVBBRkNhcGFjaXR5LgoKICAgICAgIFRoaXMgb2JqZWN0IFNIQUxMIGJlIGF1dG9tYXRpY2FsbHkg aW5jcmVtZW50ZWQgb3IgZGVjcmVtZW50ZWQKICAgICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3Ig ZGVsZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0IHVzaW5nCiAgICAgICBpZlN0YWNrVGFibGUu IgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42Igog ICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDMgfQoKICAgZWZtQ3VQQUZJbkVycm9ycyBP QkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1MgIHJl YWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg IkEgbnVtYmVyIG9mIGZyYWdtZW50cyB0aGF0IGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhl CiAgICAgICBnYW1tYSBpbnRlcmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQgZGlzY2FyZGVk LgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVu dGVkKSB3aGVuIHRoZQogICAgICAgUEFGIGlzIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9u IGRpc2FibGluZyB0aGUgUEFGLCB0aGUKICAgICAgIGNvdW50ZXIgcmV0YWlucyBpdHMgcHJldmlv dXMgdmFsdWUuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIg UEFGIFJYIGVycm9yIHJlZ2lzdGVyLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1 LjIuMy4yMSIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0KCiAgIGVmbUN1UEFG SW5TbWFsbEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4gbWlu RnJhZ21lbnRTaXplCiAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2ZWQg YWNyb3NzIHRoZSBnYW1tYQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuCiAgICAgICBU aGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAg dW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3Vu dGVyCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICBJZiBhIENsYXVz ZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRo aXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgc21hbGwgZnJhZ21lbnRzCiAgICAgICBy ZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291 bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2Vt ZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhl IHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJ Ri1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjIiCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNSB9CgogICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVu dHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMgbGFyZ2VyIHRoYW4gbWF4RnJhZ21lbnRTaXplCiAg ICAgICAoNTEyIEJ5dGVzKSwgd2hpY2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2Ft bWEKICAgICAgIGludGVyZmFjZSBhbmQgZGlzY2FyZGVkLgogICAgICAgVGhpcyByZWFkLW9ubHkg Y291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9y IGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0 YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAvMkIgUEFGIGxhcmdlIGZyYWdtZW50cwogICAgICAgcmVnaXN0ZXIuCgogICAg ICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3Vy IGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFu ZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNv dW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBS RUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIzIgogICAgIDo6PSB7IGVmbUN1UG9y dFN0YXR1c0VudHJ5IDYgfQoKICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyBPQkpFQ1QtVFlQRQog ICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9m IGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhlIHNlcXVlbmNlCiAgICAgICBleHBl Y3RlZCBieSB0aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24sIHRoYXQgaGF2ZSBiZWVuCiAgICAg ICByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSBhbmQgZGlzY2FyZGVkICh0aGUK ICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0 YXJ0KS4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUg UEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoKICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21l bnRzCiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9m IHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRp Y2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAg ZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4y LjMuMjUiCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9CgogICBlZm1DdVBBRklu TG9zdEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGdhcHMgaW4gdGhlIHNlcXVlbmNlIG9mIGZyYWdt ZW50cywgd2hpY2ggaGF2ZQogICAgICAgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGlu dGVyZmFjZSAodGhlIGZyYW1lIGJ1ZmZlciBpcwogICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2 YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9mcmFnbWVudHMKICAgICAgIGV4cGVjdGVk IGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiBpcy9hcmUgbm90IHJlY2VpdmVkKS4KICAg ICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAg ICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhl IGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAg ICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IGZyYWdtZW50CiAgICAg ICByZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5h Z2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkg dGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBp biBJRi1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjYiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgOCB9CgogICBlZm1DdVBBRkluTG9zdFN0YXJ0 cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIkEgbnVtYmVyIG9mIG1pc3NpbmcgU3RhcnRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVk IGJ5IHRoZQogICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uCiAgICAgICBUaGlzIHJlYWQt b25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAgdW5zdXBwb3J0 ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyCiAgICAg ICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgcmVn aXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50 ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVu dCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2 YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI3IgogICAgIDo6 PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDkgfQoKICAgZWZtQ3VQQUZJbkxvc3RFbmRzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQog ICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlz YWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyCiAgICAgICByZXRhaW5z IGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBp ZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4IgogICAgIDo6PSB7IGVmbUN1 UG9ydFN0YXR1c0VudHJ5IDEwIH0KCiAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBv ZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlCiAgICAgICBh bmQgZGlzY2FyZGVkLCB3aGljaCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkK ICAgICAgIGJ1ZmZlciB0byBvdmVyZmxvdy4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIg aXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxl ZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRz IHByZXZpb3VzIHZhbHVlLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUg MTBQLzJCIFBBRiBvdmVyZmxvdyByZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4g dGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxp emF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAg ICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1l LAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIu M2FoXSA0NS4yLjMuMjQiCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMTEgfQoKICAt LSBQTUUgTm90aWZpY2F0aW9ucyBHcm91cAoKICAgZWZtQ3VQbWVOb3RpZmljYXRpb25zIE9CSkVD VCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDAgfQoKICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmcgTk9USUZJQ0FUSU9OLVRZUEUKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1UG1lTGluZUF0 biwKICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0bgogICAgIH0KICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0 ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbgogICAgICAgdGhyZXNob2xkIChhcyBwZXIgdGhl IGVmbUN1UG1lVGhyZXNoTGluZUF0bgogICAgICAgdmFsdWUpIGhhcyBiZWVuIHJlYWNoZWQvZXhj ZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMKICAgICAgIFBNRS4gVGhpcyBub3RpZmlj YXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2ZW50IGluCiAgICAgICBib3RoIGRp cmVjdGlvbnM6IGZyb20gbm9ybWFsIHRvIGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkCiAgICAg ICB0byBub3JtYWwuCgogICAgICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91 bmNpbmcgcGVyaW9kIG9mIDIuNSBzZWMsCiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2Yg dGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLAogICAgICAgaXMgaW1wbGVtZW50ZWQgdG8g cHJldmVudCBpbnRlcm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQogICAgICAgc2VudC4KCiAg ICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhl CiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmplY3QuIgogICAgIDo6PSB7 IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAxIH0KCiAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcgTk9U SUZJQ0FUSU9OLVRZUEUKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1UG1lU25yTWduLAogICAg ICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24KICAgICB9CiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQg dGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkCiAgICAgICAoYXMgcGVyIHRoZSBlZm1DdVBtZVRocmVz aFNuck1nbiB2YWx1ZSkgaGFzIGJlZW4KICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAy QkFTRS1UTC8xMFBBU1MtVFMgUE1FLgogICAgICAgVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNl bmQgb24gdGhlIGNyb3NzaW5nIGV2ZW50IGluCiAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20g bm9ybWFsIHRvIGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkCiAgICAgICB0byBub3JtYWwuCgog ICAgICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9m IDIuNSBzZWMsCiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBh bmQgbm90aWZpY2F0aW9uLAogICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1p dHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQogICAgICAgc2VudC4KCiAgICAgICBHZW5lcmF0aW9u IG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAgICBlZm1DdVBt ZVNuck1nbkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmlj YXRpb25zIDIgfQoKICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5k aWNhdGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuCiAgICAgICBkZXRlY3RlZCBi eSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0LgoKICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUKICAgICAg IGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0geyBlZm1DdVBtZU5v dGlmaWNhdGlvbnMgMyB9CgogICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlIE5PVElGSUNBVElP Ti1UWVBFCiAgICAgT0JKRUNUUyB7CiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cywKICAgICAgIGVm bUN1QWRtaW5Qcm9maWxlLAogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUKICAgICB9CiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmlj YXRpb24gaW5kaWNhdGVzIHRoYXQgUE1FIGluaXRpYWxpemF0aW9uIGhhcwogICAgICAgZmFpbGVk LCBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZAog ICAgICAgY29uZmlndXJhdGlvbiBwcm9maWxlLgoKICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBu b3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5p dEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgNCB9 CgogICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUgTk9USUZJQ0FUSU9OLVRZUEUKICAgICBP QkpFQ1RTIHsKICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLAogICAgICAgZWZtQ3VQbWVPcGVyU3Vi VHlwZQogICAgIH0KICAgICBTVEFUVVMgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHBlZXIgUE1FIHdhcyB1c2luZwog ICAgICAgaW5jb21wYXRpYmxlIHByb3RvY29sIGR1cmluZyBpbml0aWFsaXphdGlvbi4KCiAgICAg ICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAg ICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0geyBl Zm1DdVBtZU5vdGlmaWNhdGlvbnMgNSB9CgogICAtLSBUaGUgUE1FIGdyb3VwCgogICBlZm1DdVBt ZUNvbmZUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lQ29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJh dGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UKICAgICAgIDJCQVNFLVRMLzEwUEFTUy1U UyBQTUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YKICAgICAgIGFzcGVjdHMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgcmVwcmVz ZW50ZWQgaW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUKICAg ICAgIHJlc3BlY3RpdmVseS4KCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudAogICAgICAgbWFubmVyLiIKICAgICA6Oj0geyBlZm1D dVBtZSAxIH0KCiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQbWVDb25mRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5IGlu IHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVw cmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydAogICAgICAgaW5kZXhl ZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQogICAg ICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5k ZXgsCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYg aXMgZW5hYmxlZC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mVGFibGUgMSB9CgogICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAg ICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgIGVmbUN1 UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICBQcm9maWxlSW5kZXhPclplcm8sCiAgICAgICBlZm1D dVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsCiAgICAgICBlZm1DdVBtZVRo cmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLAogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJN Z24gICAgICAgICAgIEludGVnZXIzMiwKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5h YmxlICBUcnV0aFZhbHVlLAogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSAgIFRy dXRoVmFsdWUsCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1dGhWYWx1 ZSwKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgICBUcnV0aFZhbHVlLAogICAg ICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlIFRydXRoVmFsdWUKICAgICB9CgogICBl Zm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsKICAgICAgIGllZWUyQmFzZVRMTygxKSwKICAgICAgIGllZWUyQmFzZVRMUigyKSwKICAgICAg IGllZWUxMFBhc3NUU08oMyksCiAgICAgICBpZWVlMTBQYXNzVFNSKDQpLAogICAgICAgaWVlZTJC YXNlVExvcjEwUGFzc1RTUig1KSwKICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksCiAg ICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPKDcpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAg ICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4KICAgICAgIFBv c3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUg U0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8KICAgICAgICAgaWVlZTJCYXNlVExSICAgICAgICAg ICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUgogICAgICAgICBpZWVlMTBQYXNzVFNP ICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTwogICAgICAgICBpZWVl MTBQYXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUgogICAg ICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMkJhc2VU TC1SIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NUUy1SLiBBY3R1 YWwgdmFsdWUgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IGJ5 IC1PIGxpbmsgcGFydG5lciBkdXJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGluaXRpYWxpemF0aW9uIChoYW5kc2hha2UpLgogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNz VFNPIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMkJhc2VUTC1PCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAxMFBhc3NUUy1PLiBBY3R1YWwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1S CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0 eSAoaS5lLiBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBh YmxlIG9mIHRoZSBwcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJC YXNlVEwgbW9kZSwgMTBQYXNzVFMgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdXNlZCkuCiAgICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8gLSBQTUUgU0hBTEwg b3BlcmF0ZSBhcyAxMFBhc3NUUy1PCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo cHJlZmVycmVkKSBvciAyQmFzZVRMLU8uIEFjdHVhbAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24gLVIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpbmsgcGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUgb2YgdGhlIHByZWZl cnJlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNzVFMgbW9kZSwgMkJh c2VUTCB3aWxsIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkKS4KCiAg ICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWluU3ViVHlwZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2 ZQogICAgICAgb3BlcmF0aW9uIGFuZCBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGlu ayBpcyBEb3duLgogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJl IGlnbm9yZWQgaWYgdGhlIGxpbmsKICAgICAgIGlzIFVwIG9yIEluaXRpYWxpemluZy4KICAgICAg IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCB0byBhbiB1bnN1cHBvcnRlZCBzdWJ0eXBl CiAgICAgICAoc2VlIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQpIFNIQUxMIGJlIHJlamVjdGVk LgoKICAgICAgIFRoZSBjdXJyZW50IG9wZXJhdGlvbmFsIHN1YiB0eXBlIGlzIGluZGljYXRlZCBi eQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSB2YXJpYWJsZS4KCiAgICAgICBJZiBhIENsYXVz ZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LCB0aGVuCiAgICAg ICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3ViLXR5cGUgc2VsZWN0 IGJpdHMKICAgICAgIGFuZCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVjdGlvbiBiaXRzIGluIHRoZSAx MFAvMkIgUE1BL1BNRAogICAgICAgY29udHJvbCByZWdpc3RlciIKICAgICBSRUZFUkVOQ0UKICAg ICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43IgogICAgIDo6PSB7 IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQoKICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgIE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgUHJvZmlsZUluZGV4T3JaZXJvCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBw b2ludGVyCiAgICAgICB0byBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJs ZSBvcgogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3Vy cmVudCBvcGVyYXRpbmcKICAgICAgIFN1YlR5cGUgb2YgdGhlIFBNRS4gVGhlIHZhbHVlIG9mIHRo aXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZgogICAgICAgdGhlIHJlZmVyZW5jZWQgcHJvZmlsZS4K ICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCB0aGUgUE1F IGlzCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3QgZm9yIHRo ZSBQQ1MgcG9ydCwKICAgICAgIHRvIHdoaWNoIHRoaXMgUE1FIGlzIGFzc2lnbmVkLiBUaGF0IGlz LCB0aGUgcHJvZmlsZSByZWZlcmVuY2VkCiAgICAgICBieSBlZm1DdVBtZUFkbWluUHJvZmlsZSB0 YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykKICAgICAgIHJlZmVyZW5jZWQgYnkg ZWZtQ3VBZG1pblByb2ZpbGUuCgogICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJl YWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVzCiAgICAgICAoMkJhc2VUTC1PIG9yIDEwUGFz c1RTLU8pLiBJdCBpcyB1bmF2YWlsYWJsZSBmb3IgdGhlIENQRQogICAgICAgc3VidHlwZSAoMkJh c2VUTC1SIG9yIDEwUGFzc1RTLVIpLgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlv bmFsIFByb2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQogICAgICAgZWZtQ3VQbWVPcGVyUHJv ZmlsZSBvYmplY3QuCgogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUg cGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMKICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5n ZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkLCBpZiB0aGUKICAgICAgIGxpbmsgaXMgVXAg b3IgSW5pdGlhbGl6aW5nLgogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEg dmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlCiAgICAgICBvZiB0aGUgaW5kZXggZm9yIGFuIGFj dGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9maWxlCiAgICAgICB0YWJsZSwgTVVT VCBiZSByZWplY3RlZC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIu MS42IgogICAgIERFRlZBTCB7IDAgfQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDIgfQoK ICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIFBoeXNBZGRyZXNzCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlBBRiBSZW1vdGUgRGlzY292ZXJ5 IENvZGUgb2YgdGhlIFBNRSBwb3J0IGF0IENPLgogICAgICAgQSA2IEJ5dGUgbG9uZyBEaXNjb3Zl cnkgQ29kZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQogICAgICAgdGhlIFBNRS4KICAg ICAgIFJlYWRpbmcgdGhpcyBvYmplY3QgcmVzdWx0cyBpbiBhIERpc2NvdmVyeSBHZXQgb3BlcmF0 aW9uLgogICAgICAgV3JpdGluZyBhIHplcm8gdG8gdGhpcyBvYmplY3QgcmVzdWx0cyBpbiBhIERp c2NvdmVyeQogICAgICAgQ2xlYXJfaWZfU2FtZSBvcGVyYXRpb24gKHRoZSB2YWx1ZSBvZiBlZm1D dVBBRkRpc2NvdmVyeUNvZGUKICAgICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFMTCBiZSB0aGUgc2Ft ZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YKICAgICAgIHRoZSBsb2NhbCBQQ1MgYXNzb2Np YXRlZCB3aXRoIHRoZSBQTUUgZm9yIHRoZSBvcGVyYXRpb24gdG8KICAgICAgIHN1Y2NlZWQpLgog ICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRvIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4g YQogICAgICAgRGlzY292ZXJ5IFNldF9pZl9DbGVhciBvcGVyYXRpb24uCiAgICAgICBUaGlzIG9i amVjdCBkb2VzIG5vdCBleGlzdCBpbiBDUEUgcG9ydCBzdWJ0eXBlcy4gQSB6ZXJvIGxlbmd0aAog ICAgICAgb2N0ZXQgc3RyaW5nIFNIQUxMIGJlIHJldHVybmVkIGZvciBDUEUgcG9ydCBzdWJ0eXBl cyBhbmQgYWxzbwogICAgICAgd2hlbiBQQUYgYWdncmVnYXRpb24gaXMgbm90IGVuYWJsZWQuCgog ICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4K ICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIHdp dGggdGhlIGVycm9yCiAgICAgICBpbmNvbnNpc3RlbnRWYWx1ZSwgaWYgdGhlIGxpbmsgaXMgVXAg b3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IGlzIGEgZnVu Y3Rpb24gb2YgMTBQLzJCIGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeQogICAgICAgY29udHJvbCByZWdp c3RlciwgRGlzY292ZXJ5IG9wZXJhdGlvbiByZXN1bHQgYml0cyBpbiAxMFAvMkIKICAgICAgIGFn Z3JlZ2F0aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZAogICAgICAgMTBQLzJC IGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIgogICAgIFJFRkVSRU5DRQogICAg ICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4yLjYuOCIKICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZFbnRyeSAzIH0KCiAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgT0JKRUNULVRZ UEUKICAgICBTWU5UQVggIEludGVnZXIzMigtMTI3Li4xMjgpCiAgICAgVU5JVFMgICAgICAgImRC IgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJEZXNpcmVkIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xk IGZvciB0aGUgMkIvMTBQIFBNRS4KICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxp bmUgYXR0ZW51YXRpb24gYWxhcm0gdGhyZXNob2xkLgogICAgICAgV2hlbiB0aGUgY3VycmVudCB2 YWx1ZSBvZiBMaW5lIEF0dGVudWF0aW9uIHJlYWNoZXMgb3IKICAgICAgIGV4Y2VlZHMgdGhpcyB0 aHJlc2hvbGQsIGEgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcKICAgICAgIG5vdGlmaWNhdGlvbiBN QVkgYmUgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5CiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZ0VuYWJsZS4KCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1 YnR5cGUgUE1FcyAoLU8pLgogICAgICAgSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUgKC1SKS4KCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hv bGQgTVVTVCBiZSBwZXJmb3JtZWQKICAgICAgIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4gQXR0ZW1w dHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUKICAgICAgIHJlamVjdGVkIHdpdGggdGhl IGVycm9yIGluY29uc2lzdGVudFZhbHVlLCBpZiB0aGUgbGluayBpcyBVcAogICAgICAgb3IgSW5p dGlhbGl6aW5nLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ TUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBh dHRlbnVhdGlvbiB0aHJlc2hvbGQgYml0cyBpbgogICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxp dHkgdGhyZXNob2xkcyByZWdpc3RlciIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0g NDUuMi4xLjM2IgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDQgfQoKICAgZWZtQ3VQbWVU aHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcu LjEyOCkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQg U05SIE1hcmdpbiBUaHJlc2hvbGQgZm9yIHRoZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmpl Y3QgY29uZmlndXJlcyB0aGUgU05SIG1hcmdpbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVu IHRoZSBjdXJyZW50IHZhbHVlIG9mIFNOUiBNYXJnaW4gcmVhY2hlcyBvciBleGNlZWRzIHRoaXMK ICAgICAgIHRocmVzaG9sZCwgYSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBN QVkgYmUKICAgICAgIGdlbmVyYXRlZCwgaWYgZW5hYmxlZCBieSBlZm1DdVBtZVNuck1nbkNyb3Nz aW5nRW5hYmxlLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGZvciB0aGUgQ08gc3Vi dHlwZSBQTUVzCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLVIpLiBJdCBpcyByZWFkLW9ubHkg Zm9yIHRoZSBDUEUgc3VidHlwZQogICAgICAgKDJCYXNlVEwtUi8xMFBhc3NUUy1SKS4KCiAgICAg ICBDaGFuZ2luZyBvZiB0aGUgU05SIE1hcmdpbiBUaHJlc2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQg d2hlbgogICAgICAgdGhlIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2Jq ZWN0IE1VU1QgYmUKICAgICAgIHJlamVjdGVkIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZh bHVlLCBpZiB0aGUgbGluayBpcyBVcAogICAgICAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0 aGlzCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgU05SIG1hcmdpbiB0aHJlc2hvbGQgYml0cyBp biB0aGUgMkIgUE1ECiAgICAgICBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2IgogICAgIDo6PSB7IGVmbUN1 UG1lQ29uZkVudHJ5IDUgfQoKICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJJ bmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZyBub3RpZmljYXRpb25zCiAg ICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4KCiAgICAgICBWYWx1 ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nCiAgICAg ICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRo YXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1 UG1lQ29uZkVudHJ5IDYgfQoKICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13 cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIklu ZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZpY2F0aW9ucwogICAg ICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuCgogICAgICAgVmFsdWUg b2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVNuck1nbkNyb3NzaW5nCiAgICAgICBu b3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQK ICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDcgfQoKICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSAgT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkluZGljYXRl cyB3aGV0aGVyIGVmbUN1UG1lRGV2aWNlRmF1bHQgbm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxk IGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuCgogICAgICAgVmFsdWUgb2YgdHJ1ZSgx KSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZURldmljZUZhdWx0CiAgICAgICBub3RpZmljYXRpb24g aXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBu b3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDgg fQoKICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJsZSAgT0JKRUNULVRZUEUKICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkluZGljYXRlcyB3aGV0aGVy IGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJl IGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuCgogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBp bmRpY2F0ZXMgdGhhdCBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlCiAgICAgICBub3RpZmljYXRp b24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRo ZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5 IDkgfQoKICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdo ZXRoZXIgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNo b3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgoKICAgICAgIFZhbHVlIG9mIHRy dWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlCiAgICAgICBu b3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQK ICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDEwIH0KCgogICBlZm1DdVBtZUNhcGFiaWxpdHlUYWJsZSBPQkpFQ1QtVFlQRQog ICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5CiAgICAg TUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg REVTQ1JJUFRJT04KICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBjb21tb24gYXNw ZWN0cyBmb3IgRUZNQ3UKICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUgcG9ydHMgKG1vZGVt cykuIENvbmZpZ3VyYXRpb24gb2YKICAgICAgIGFzcGVjdHMgc3BlY2lmaWMgdG8gMkJBU0UtVEwg b3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgcmVwcmVzZW50ZWQgaW4gZWZtQ3VQbWUy QkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUKICAgICAgIHJlc3BlY3RpdmVseS4K CiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVy c2lzdGVudAogICAgICAgbWFubmVyLiIKICAgICA6Oj0geyBlZm1DdVBtZSAyIH0KCiAgIGVmbUN1 UG1lQ2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVD YXBhYmlsaXR5RW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5IGluIHRoZSBF Rk1DdSBQTUUgQ2FwYWJpbGl0eSB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBj b21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydAogICAgICAgaW5kZXhlZCBieSB0aGUg aWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQogICAgICAgc3RhY2tl ZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsCiAgICAg ICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxl ZC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5 VGFibGUgMSB9CgogICBFZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkICAgICBCSVRTCiAgICAgfQoKICAgZWZt Q3VQbWVTdWJUeXBlc1N1cHBvcnRlZCAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBCSVRT IHsKICAgICAgIGllZWUyQmFzZVRMTygwKSwKICAgICAgIGllZWUyQmFzZVRMUigxKSwKICAgICAg IGllZWUxMFBhc3NUU08oMiksCiAgICAgICBpZWVlMTBQYXNzVFNSKDMpCiAgICAgfQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQ VElPTgogICAgICAgIlBNRSBzdXBwb3J0ZWQgc3ViLXR5cGVzLiBUaGlzIGlzIGEgYml0bWFwIG9m IHBvc3NpYmxlCiAgICAgICBzdWItdHlwZXMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJl OgogICAgICAgICBpZWVlMkJhc2VUTE8gICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcg YXMgMkJhc2VUTC1PCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxlIG9m IG9wZXJhdGluZyBhcyAyQmFzZVRMLVIKICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1FIGlz IGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8KICAgICAgICAgaWVlZTEwUGFzc1RT UiAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLVIKCiAgICAgICBB biBkZXNpcmVkIG1vZGUgb2Ygb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkKICAgICAgIGVmbUN1 UG1lQWRtaW5TdWJUeXBlLCB3aGlsZSBlZm1DdVBtZU9wZXJTdWJUeXBlIHJlZmxlY3RzIHRoZQog ICAgICAgY3VycmVudCBvcGVyYXRpbmcgbW9kZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0 IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJBU0UtVEwgY2FwYWJsZQogICAg ICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJpbGl0eSByZWdpc3RlciBhbmQg dGhlCiAgICAgICBDTyBzdXBwb3J0ZWQgYW5kIENQRSBzdXBwb3J0ZWQgYml0cyBpbiB0aGUgMTBQ LzJCIFBNQS9QTUQKICAgICAgIHN0YXR1cyByZWdpc3RlciIKICAgICBSRUZFUkVOQ0UKICAgICAg ICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjQuMSwgNDUuMi4xLjQuMiwgNDUuMi4xLjEyLjIsCiAg ICAgICA0NS4yLjEuMTIuMyIKICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSAxIH0K CgogICBlZm1DdVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU0VR VUVOQ0UgT0YgRWZtQ3VQbWVTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3Np YmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhp cyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1CiAgICAg ICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMgaW5mb3JtYXRpb24gc3BlY2lm aWMKICAgICAgIHRvIDEwUEFTUy1UUyBQTUUgaXMgcmVwcmVzZW50ZWQgaW4gZWZtQ3VQbWUxMFBT dGF0dXNUYWJsZS4KCiAgICAgICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRo ZSBlcXVpcG1lbnQuIEFzIHN1Y2gsCiAgICAgICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iCiAgICAg Ojo9IHsgZWZtQ3VQbWUgMyB9CgogICBlZm1DdVBtZVN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgRWZtQ3VQbWVTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBNRSBTdGF0dXMgdGFibGUuCiAgICAgICBFYWNoIGVu dHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1FIHBvcnQKICAgICAg IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4g YmUKICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5kZXhlZCBi eSBpZkluZGV4LAogICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBvdGhlciBQTUUgcG9ydHMg aWYgUEFGIGlzIGVuYWJsZWQuIgogICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVm bUN1UG1lU3RhdHVzVGFibGUgMSB9CgogICBFZm1DdVBtZVN0YXR1c0VudHJ5IDo6PQogICAgIFNF UVVFTkNFIHsKICAgICAgIGVmbUN1UG1lT3BlclN0YXR1cyAgICAgICAgICAgIElOVEVHRVIsCiAg ICAgICBlZm1DdVBtZUZsdFN0YXR1cyAgICAgICAgICAgICBCSVRTLAogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUg ICAgICAgICAgIFByb2ZpbGVJbmRleE9yWmVybywKICAgICAgIGVmbUN1UG1lU25yTWduICAgICAg ICAgICAgICAgIEludGVnZXIzMiwKICAgICAgIGVmbUN1UG1lUGVlclNuck1nbiAgICAgICAgICAg IEludGVnZXIzMiwKICAgICAgIGVmbUN1UG1lTGluZUF0biAgICAgICAgICAgICAgIEludGVnZXIz MiwKICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gICAgICAgICAgIEludGVnZXIzMiwKICAgICAg IGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCAgICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVBt ZVRDQ29kaW5nRXJyb3JzICAgICAgICBDb3VudGVyMzIsCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJy b3JzICAgICAgICAgICBDb3VudGVyMzIKICAgICB9CgogICBlZm1DdVBtZU9wZXJTdGF0dXMgIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICB1cCgxKSwKICAgICAg IGRvd25Ob3RSZWFkeSgyKSwKICAgICAgIGRvd25SZWFkeSgzKSwKICAgICAgIGluaXQoNCkKICAg ICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiQ3VycmVudCBQTUUgbGluayBPcGVyYXRpb25hbCBTdGF0 dXMuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIHVwKDEpICAgICAgICAgICAtIGxpbmsg aXMgVXAgYW5kIHJlYWR5IHRvIHBhc3MgNjQvNjVCCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGVuY29kZWQgZnJhbWVzIG9yIGZyYWdtZW50cy4KICAgICAgICAgZG93bk5vdFJlYWR5KDIpIC0g bGluayBpcyBEb3duIGFuZCB0aGUgUE1FIGRvZXMgbm90IGRldGVjdAogICAgICAgICAgICAgICAg ICAgICAgICAgICBIYW5kc2hha2UgdG9uZXMgZnJvbSBpdHMgcGVlci4gVGhpcyB2YWx1ZQogICAg ICAgICAgICAgICAgICAgICAgICAgICBtYXkgaW5kaWNhdGUgYSBwb3NzaWJsZSBwcm9ibGVtIHdp dGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHBlZXIgUE1FLgogICAgICAgICBkb3du UmVhZHkoMykgICAgLSBsaW5rIGlzIERvd24gYW5kIHRoZSBQTUUgZGV0ZWN0cyBIYW5kc2hha2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9uZXMgZnJvbSBpdHMgcGVlci4KICAgICAgICAg aW5pdCg0KSAgICAgICAgIC0gbGluayBpcyBpbml0aWFsaXppbmcsIGFzIGEgcmVzdWx0IG9mCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmQWRtaW5TdGF0dXMgYmVpbmcgc2V0IHRvICd1cCcg Zm9yIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1Mg dGhlIFBNRSBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgdG8uCgogICAg ICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mCiAg ICAgICBpZk9wZXJTdGF0dXMuCgogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQTUVTdGF0dXMuCgogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMK ICAgICAgIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMg aW4gMTBQLzJCCiAgICAgICBQTUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNF CiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS4zLCA0NS4yLjEuMTIuNCIKICAgICA6Oj0geyBl Zm1DdVBtZVN0YXR1c0VudHJ5IDEgfQoKICAgZWZtQ3VQbWVGbHRTdGF0dXMgIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgQklUUyB7CiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLAogICAgICAg c25yTWduRGVmZWN0KDEpLAogICAgICAgbGluZUF0bkRlZmVjdCgyKSwKICAgICAgIGRldmljZUZh dWx0KDMpLAogICAgICAgY29uZmlnSW5pdEZhaWx1cmUoNCksCiAgICAgICBwcm90b2NvbEluaXRG YWlsdXJlKDUpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJlbnQvTGFzdCBQTUUgbGlu ayBGYXVsdCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YKICAgICAgIHBvc3NpYmxlIGNvbmRp dGlvbnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgoKICAgICAgICAgbG9zc09mRnJh bWluZyAgICAgICAtIExvc3Mgb2YgRnJhbWluZyBmb3IgMTBQIG9yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb3NzIG9mIFN5bmMgd29yZCBmb3IgMkIgUE1EIG9yCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nCiAgICAgICAgIHNuck1n bkRlZmVjdCAgICAgICAgLSBTTlIgTWFyZ2luIGRyb3BwZWQgYmVsb3cgdGhlIFRocmVzaG9sZAog ICAgICAgICBsaW5lQXRuRGVmZWN0ICAgICAgIC0gTGluZSBBdHRlbnVhdGlvbiBleGNlZWRzIHRo ZSBUaHJlc2hvbGQKICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZl bmRvci1kZXBlbmRlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMg b3Igc2VsZi10ZXN0IGZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYmVl biBkZXRlY3RlZC4KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZpZ3VyYXRpb24g aW5pdGlhbGl6YXRpb24gZmFpbHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1 ZSB0byBpbmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdXBwb3J0IGNvbmZpZ3VyYXRpb24gcHJvZmlsZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCiAgICAgICAgIHBy b3RvY29sSW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVlIHRvIGluY29tcGF0aWJsZSBwcm90b2NvbCB1 c2VkIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUGVlciBQTUUgZHVyaW5n IGluaXQgKHRoYXQgY291bGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiBp ZiBhIHBlZXIgUE1EIGlzIGEgcmVndWxhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ry5TREhTTC9WRFNMIG1vZGVtIGluc3RlYWQgb2YgYQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSkuCgogICAgICAgVGhpcyBvYmplY3QgaXMgaW50 ZW5kZWQgdG8gc3VwcGxlbWVudCBpZk9wZXJTdGF0dXMgaW4gSUYtTUlCLgoKICAgICAgIFRoaXMg b2JqZWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0LgogICAgICAgZWZt Q3VQbWVGbHRTdGF0dXMgaXMgY2xlYXJlZCBieSB0aGUgZGV2aWNlIHJlc3RhcnQuCiAgICAgICBJ biBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJbml0RmFpbHVyZSBhbmQKICAgICAgIHBy b3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuCiAgICAgICBkZXZpY2VG YXVsdCBpcyBjbGVhcmVkIGJ5IHN1Y2Nlc3NmdWwgZGlhZ25vc3RpY3MvdGVzdC4KICAgICAgIHNu ck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBhcmUgY2xlYXJlZCBieSBTTlIgTWFyZ2luCiAg ICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJuaW5nIHRvIG5vcm0g YW5kIGJ5CiAgICAgICBQTUUgaW5pdC4KCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFw cyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQogICAgICAgYVBNRVN0YXR1cy4KCiAgICAgICBJ ZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4g dGhpcwogICAgICAgb2JqZWN0IGNvbnNvbGlkYXRlcyBpbmZvcm1hdGlvbiBmcm9tIHZhcmlvdXMg UE1BL1BNRAogICAgICAgcmVnaXN0ZXJzLCBuYW1lbHk6IEZhdWx0IGJpdCBpbiBQTUEvUE1EIHN0 YXR1cyAxIHJlZ2lzdGVyLAogICAgICAgMTBQLzJCIFBNQS9QTUQgbGluayBsb3NzIHJlZ2lzdGVy LAogICAgICAgMTBQIG91dGdvaW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwKICAg ICAgIDEwUCBpbmNvbWluZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsCiAgICAgICAy QiBzdGF0ZSBkZWZlY3RzIHJlZ2lzdGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gMzAuMTEuMi4xLjMsIDQ1LjIuMS4yLjEsIDQ1LjIuMS4zOCwKICAgICAgIDQ1LjIuMS4zOSwg NDUuMi4xLjU0IgogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMiB9CgogICBlZm1DdVBt ZU9wZXJTdWJUeXBlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAg ICAgaWVlZTJCYXNlVExPKDEpLAogICAgICAgaWVlZTJCYXNlVExSKDIpLAogICAgICAgaWVlZTEw UGFzc1RTTygzKSwKICAgICAgIGllZWUxMFBhc3NUU1IoNCkKICAgICB9CiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiQ3VycmVudCBvcGVyYXRpb25hbCBzdWItdHlwZSBvZiB0aGUgUE1FLgogICAgICAgUG9z c2libGUgdmFsdWVzIGFyZToKICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAgICAtIFBNRSBv cGVyYXRlcyBhcyAyQmFzZVRMLU8KICAgICAgICAgaWVlZTJCYXNlVExSICAgICAgICAgICAtIFBN RSBvcGVyYXRlcyBhcyAyQmFzZVRMLVIKICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAgICAt IFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1PCiAgICAgICAgIGllZWUxMFBhc3NUU1IgICAgICAg ICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtUgoKICAgICAgIFRoZSBvcGVyYXRpb25hbCBz dWIgdHlwZSBvZiB0aGUgUE1FIGNhbiBiZSBjb25maWd1cmVkIHZpYQogICAgICAgZWZtQ3VQbWVB ZG1pblN1YlR5cGUgdmFyaWFibGUuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgY29t YmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdAogICAgICAgYml0cywgdGhl IFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCCiAgICAgICBQTUEvUE1E IGNvbnRyb2wgcmVnaXN0ZXIgYW5kIHRoZSBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4KICAg ICAgIHRoZSAxMFAvMkIgUE1BL1BNRCBzdGF0dXMgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5DRQog ICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4xLjExLjcsIDQ1LjIuMS4x Mi40IgogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMyB9CgogICBlZm1DdVBtZU9wZXJQ cm9maWxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFByb2ZpbGVJbmRleE9yWmVybwog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIlBNRSBjdXJyZW50IG9wZXJhdGluZyBQcm9maWxlLiBUaGlzIG9i amVjdCBpcyBhIHBvaW50ZXIgdG8KICAgICAgIGFuIGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJC UHJvZmlsZVRhYmxlIG9yCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5n IG9uIHRoZSBjdXJyZW50CiAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgUE1FIGFzIGlu ZGljYXRlZCBieQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZS4KICAgICAgIE5vdGUgdGhhdCBh IHByb2ZpbGUgZW50cnksIHRvIHdoaWNoIGVmbUN1UG1lT3BlclByb2ZpbGUgaXMKICAgICAgIHBv aW50aW5nIHRvLCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LCB0byByZWZsZWN0IGFjaGll dmVkCiAgICAgICBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChub3QgZml4ZWQpIGluaXRpYWxpemF0 aW9uLAogICAgICAgaS5lLiB2YWx1ZXMgb2YgZWZtQ3VQbWVPcGVyUHJvZmlsZSBhbmQgZWZtQ3VB ZG1pblByb2ZpbGUgb3IKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIE1BWSBkaWZmZXIuCiAg ICAgICBUaGUgdmFsdWUgb2YgemVybyBpbmRpY2F0ZXMgdGhhdCBQTUUgaXMgZG93biBvciBpbml0 aWFsaXppbmcuCgogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIGFPcGVy YXRpbmdQcm9maWxlCiAgICAgICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0 dXNFbnRyeSA0IH0KCiAgIGVmbUN1UG1lU25yTWduIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiVGhlIGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1h cmdpbiB3aXRoIHJlc3BlY3QKICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2Vp dmVkIGJ5IHRoZSBsb2NhbCBQTUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJu ZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgoKICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIGFQTUVTTlJNZ24gYXR0cmlidXRlIGluIENsYXVzZSAzMC4KCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMK ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUlggU05SIG1hcmdpbiByZWdpc3Rlci4i CiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS40LCA0NS4yLjEuMTYi CiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA1IH0KCiAgIGVmbUN1UG1lUGVlclNuck1n biBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUp CiAgICAgVU5JVFMgICAgICAgImRCIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoZSBjdXJyZW50IFNO UiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZAogICAgICAgc2lnbmFs LCBhcyBwZXJjZWl2ZWQgYnkgdGhlIHJlbW90ZSAobGluayBwYXJ0bmVyKSBQTUUuCiAgICAgICBU aGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAg aW5pdGlhbGl6aW5nLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgLVIg UE1FIHN1YnR5cGVzLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHBy ZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBh cnRuZXIgUlggU05SIG1hcmdpbgogICAgICAgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5DRQogICAg ICAgIls4MDIuM2FoXSA0NS4yLjEuMTciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA2 fQoKICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdl cjMyKC0xMjcuLjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2ZWQgYnkg dGhlIGxvY2FsCiAgICAgICBQTUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJu ZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgoKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNF CiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4xOCIKICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0Vu dHJ5IDcgfQoKICAgZWZtQ3VQbWVQZWVyTGluZUF0biBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpCiAgICAgVU5JVFMgICAgICAgImRCIgogICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIlRoZSBjdXJyZW50IExpbmUgQXR0ZW51YXRpb24gaW4gZEIgYXMgcGVy Y2VpdmVkIGJ5IHRoZSByZW1vdGUKICAgICAgIChsaW5rIHBhcnRuZXIpIFBNRS4KICAgICAgIFRo ZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yCiAgICAgICBp bml0aWFsaXppbmcuCgogICAgICAgVGhpcyBvYmplY3QgaXMgbm90IHN1cHBvcnRlZCBieSBDUEUg cG9ydCBzdWJ0eXBlcy4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBw cmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAyMFAvMkIgbGluayBw YXJ0bmVyIExpbmUgQXR0ZW51YXRpb24KICAgICAgIHJlZ2lzdGVyLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5IgogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgOCB9CgogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQogICAgIFVOSVRTICAgICAgICJtIgog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIkFuIGVzdGltYXRlIG9mIHRoZSBlcXVpdmFsZW50IGxvb3AncyBQ aHlzaWNhbCBMZW5ndGggaW4KICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUg YWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJsaXNoZWQuCiAgICAgICBBbiBlcXVpdmFsZW50IGxvb3Ag aXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29wIHdpdGggYQogICAgICAgcGVyZmVj dCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkKICAg ICAgIGJyaWRnZWQgdGFwcy4KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCBp ZiB0aGUgbGluayBpcyBEb3duIG9yCiAgICAgICBJbml0aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1 bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQKICAgICAgIExlbmd0aC4KCiAgICAgICBG b3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcwogICAgICAgcHJlc2VudCwgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRWxl Y3RyaWNhbCBMZW5ndGgKICAgICAgIHJlZ2lzdGVyIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4 MDIuM2FoXSA0NS4yLjEuMjEiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA5IH0KCiAg IGVmbUN1UG1lVENDb2RpbmdFcnJvcnMgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBDb3Vu dGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiA2NC82NS1vY3RldCBlbmNhcHN1 bGF0aW9uIGVycm9ycy4gVGhpcyBjb3VudGVyIGlzCiAgICAgICBpbmNyZW1lbnRlZCBmb3IgZWFj aCA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9yIGRldGVjdGVkCiAgICAgICBieSB0aGUg NjQvNjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4KCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRv IGFUQ0NvZGluZ1Zpb2xhdGlvbnMgYXR0cmlidXRlIGluCiAgICAgICBjbGF1c2UgMzAuCgogICAg ICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBUQyBpcyBwcmVzZW50 LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBjb2RpbmcgdmlvbGF0aW9u cyByZWdpc3RlcgogICAgICAgKHNlZSA0NS4yLjYuMTIpLgoKICAgICAgIERpc2NvbnRpbnVpdGll cyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5p dGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMK ICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0 eVRpbWUsCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAi WzgwMi4zYWhdIDYxLjMuMy4xLCAzMC4xMS4yLjEuNSwgNDUuMi42LjEyIgogICAgIDo6PSB7IGVm bUN1UG1lU3RhdHVzRW50cnkgMTAgfQoKICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVy IG9mIFRDLUNSQyBlcnJvcnMuIFRoaXMgY291bnRlciBpcyBpbmNyZW1lbnRlZCBmb3IKICAgICAg IGVhY2ggVEMtQ1JDIGVycm9yIGRldGVjdGVkIGJ5IHRoZSA2NC82NS1vY3RldCByZWNlaXZlIGZ1 bmN0aW9uCiAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBGaWd1cmUgNjEtMTkpLgoKICAgICAgIFRo aXMgb2JqZWN0IG1hcHMgdG8gYVRDQ1JDRXJyb3JzIGF0dHJpYnV0ZSBpbgogICAgICAgY2xhdXNl IDMwLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ01FIFRD IGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBl cnJvciByZWdpc3RlcgogICAgICAgKHNlZSA0NS4yLjYuMTEpLgoKICAgICAgIERpc2NvbnRpbnVp dGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUt aW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGlt ZXMKICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGlu dWl0eVRpbWUsCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAg ICAiWzgwMi4zYWhdIDYxLjMuMy4zLCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIKICAgICA6Oj0g eyBlZm1DdVBtZVN0YXR1c0VudHJ5IDExIH0KCiAgLS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdy b3VwCgogICBlZm1DdVBtZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUg NSB9CgogICBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJhdGl2ZSBh bmQKICAgICAgIG9wZXJhdGluZyBQcm9maWxlcyBmb3IgMkJBU0UtVEwgUE1Fcy4KICAgICAgIEZp cnN0IDE0IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwog ICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5uZXggNjNBKToKICAgICAgIC0tLS0tLS0rLS0t LS0tLSstLS0tLS0tKy0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgIFByb2Zp bGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uCiAgICAgICAgaW5k ZXggIChLYnBzKSAgKEticHMpICAoZEJtKQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r LS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgMSAgICAgNTY5NiAgICA1 Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNIChkZWZhdWx0KQogICAgICAgICAgMiAgICAgMzA3 MiAgICAzMDcyICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNCiAgICAgICAgICAzICAgICAyMDQ4ICAg IDIwNDggICAgMTMuNSAgICAxICAgMTYtVENQQU0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAy NCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAg IDEzLjUgICAgMSAgIDE2LVRDUEFNCiAgICAgICAgICA2ICAgICAgNTEyICAgICA1MTIgICAgMTMu NSAgICAxICAgMTYtVENQQU0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAg IDIgICAzMi1UQ1BBTQogICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAg IDMyLVRDUEFNCiAgICAgICAgICA5ICAgICAyMDQ4ICAgIDIwNDggICAgMTQuNSAgICAyICAgMTYt VENQQU0KICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BB TQogICAgICAgICAxMSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNCiAg ICAgICAgIDEyICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAyICAgMTYtVENQQU0KICAgICAg ICAgMTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZv cnQpCiAgICAgICAgIDE0ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAg KGJlc3QgZWZmb3J0KQoKICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVh dGVkIGR1cmluZyBhZ2VudAogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRl bGV0ZWQuCgogICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHlu YW1pY2FsbHkgY3JlYXRlZCBhbmQKICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFk bWluaXN0cmF0aXZlIChjb25maWd1cmF0aW9uKQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRp YyBvcGVyYXRpbmcgcHJvZmlsZXMuCgogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4z YWhdIEFubmV4IDYzQSwgMzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMiB9Cgog ICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZt Q3VQbWUyQlByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRWFjaCBlbnRyeSBj b3JyZXNwb25kcyB0byBhIHNpbmdsZSAyQkFTRS1UTCBQTUUgcHJvZmlsZS4KICAgICAgIEVhY2gg cHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IKICAg ICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAyQkFTRS1UTCBQTUUuCiAg ICAgICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhCiAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmCiAg ICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50IHRoZSBkZXNp cmVkCiAgICAgICBwYXJhbWV0ZXJzIHRoZSAyQmFzZVRMLU8gUE1FIGluaXRpYWxpemF0aW9uLgog ICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lT3BlclByb2ZpbGUg b2JqZWN0LAogICAgICAgaXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGluZyBwYXJhbWV0ZXJz IG9mIHRoZQogICAgICAgb3BlcmF0aW9uYWwgUE1FLgoKICAgICAgIFByb2ZpbGVzIG1heSBiZSBj cmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8KICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMuIElmIGFuCiAgICAgICBhY3Rp dmUgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnCiAg ICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4KICAgICAgIERlZmF1bHQgZW50 cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiIKICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxl SW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlVGFibGUgMSB9CgogICBFZm1DdVBt ZTJCUHJvZmlsZUVudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsKICAgICAgIGVmbUN1UG1lMkJQcm9m aWxlSW5kZXggICAgICAgICAgIFByb2ZpbGVJbmRleCwKICAgICAgIGVmbUN1UG1lMkJQcm9maWxl RGVzY3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywKICAgICAgIGVmbUN1UG1lMkJSZWdpb24g ICAgICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgICBlZm1DdVBtZTJCc01vZGUgICAgICAgICAg ICAgICAgICBQcm9maWxlSW5kZXhPclplcm8sCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUg ICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlICAgICAg ICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1UG1lMkJQb3dlciAgICAgICAgICAgICAgICAg IFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRF R0VSLAogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgICAgICAgUm93U3RhdHVzCiAg ICAgfQoKICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIFByb2ZpbGVJbmRleAogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiMkJBU0UtVEwgUE1FIFBy b2ZpbGUgaW5kZXguCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29j aWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgYXJl IHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlCiAgICAgICBvciBlZm1DdVBtZUFkbWlu UHJvZmlsZSBvYmplY3RzLiIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDEgfQoK ICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNu bXBBZG1pblN0cmluZwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250 YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQogICAgICAgUHJvZmlsZS4gVGhl IHN0cmluZyBNQVkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBkYXRhIHJhdGUKICAgICAgIGFu ZCBzcGVjdHJhbCBsaW1pdGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iCiAgICAg Ojo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAyIH0KCiAgIGVmbUN1UG1lMkJSZWdpb24gIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICByZWdpb24xKDEpLAog ICAgICAgcmVnaW9uMigyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlJlZ2lvbmFsIHNl dHRpbmdzIGZvciAyQkFTRS1UTCBQTUUsIGFzIHNwZWNpZmllZCBpbiB0aGUKICAgICAgIHJlbGV2 YW50IFJlZ2lvbmFsIEFubmV4IG9mIFtHLjk5MS4yXS4KICAgICAgIFJlZ2lvbmFsIHNldHRpbmdz IHNwZWNpZnkgUG93ZXIgU3BlY3RyYWwgRGVuc2l0eSAoUFNEKSBtYXNrLAogICAgICAgUG93ZXIg QmFjay1PZmYgKFBCTykgdmFsdWVzIGFuZCBwbGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4CiAg ICAgICBhbGxvd2VkIGRhdGEgcmF0ZSwgcG93ZXIgYW5kIGNvbnN0ZWxsYXRpb24uCgogICAgICAg UG9zc2libGUgdmFsdWVzIGZvciB0aGlzIG9iamVjdCBhcmU6CiAgICAgICAgIHJlZ2lvbjEgICAg ICAtIEFubmV4ZXMgQSBhbmQgRiAoZS5nLiBOb3J0aCBBbWVyaWNhKQogICAgICAgICByZWdpb24y ICAgICAgLSBBbm5leGVzIEIgYW5kIEcgKGUuZy4gRXVyb3BlKQoKICAgICAgIEFubmV4IEEvQiBz cGVjaWZ5IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVzIDE5Mi0yMzA0CiAgICAgICBL YnBzIHVzaW5nIDE2LVRDUEFNIGVuY29kaW5nLgogICAgICAgQW5uZXggRi9HIHNwZWNpZnkgcmVn aW9uYWwgc2V0dGluZ3MgZm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBzCiAgICAgICB1c2luZyAxNi1U Q1BBTSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAzMi1UQ1BBTQogICAgICAgZW5j b2RpbmcuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBp cyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUg UmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwKICAgICAgIHBhcmFtZXRlciByZWdpc3Rlci4i CiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MjsgW0cuOTkxLjJdIEFu bmV4ZXMgQSwgQiwgRiBhbmQgRyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDMg fQoKICAgZWZtQ3VQbWUyQnNNb2RlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFByb2Zp bGVJbmRleE9yWmVybwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRGVzaXJlZCBjdXN0b20gU3BlY3Ry YWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVjdAogICAgICAgaXMgYSBwb2ludGVy IHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIGFuZCBhIGJsb2NrCiAgICAgICBv ZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSwgd2hpY2ggdG9nZXRoZXIgZGVm aW5lCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2ggZGVwZW5kZW50IHJhdGUgbGltaXRh dGlvbnMgaW4KICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRlZmluZWQgYnkgZWZtQ3VQbWUyQlJl Z2lvbi4KCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgdGhlIGluZGV4IG9mIHRo ZSByZWZlcmVuY2VkCiAgICAgICBzcGVjdHJhbCBtb2RlLgogICAgICAgVGhlIHZhbHVlIG9mIHpl cm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNpZmljCiAgICAgICBzcGVjdHJhbCBt b2RlIGlzIGFwcGxpY2FibGUuCgogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRv IGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlCiAgICAgICBvZiB0aGUgaW5kZXggZm9yIGFu IGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9uZGluZyBzcGVjdHJhbAogICAgICAgbW9kZSB0 YWJsZSwgTVVTVCBiZSByZWplY3RlZC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiZWZtQ3VQbWUy QnNNb2RlVGFibGUsIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSIKICAgICBERUZWQUwgeyAwIH0K ICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQgfQoKICAgZWZtQ3VQbWUyQk1pbkRh dGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYpCiAg ICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBT VEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNaW5pbXVtIERhdGEg UmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZh bHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBh bmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgoKICAgICAgIFRoZSBkYXRhIHJhdGUg b2YgdGhlIDJCQVNFLVRMIFBNRSBpcyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbgogICAgICAgdGhl IHZhbHVlIG9mIHRoaXMgb2JqZWN0IGVxdWFscyB0aGF0IG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0 ZS4KICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4gZWZtQ3VQbWUy Qk1heERhdGFSYXRlIGluCiAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRh dGEgcmF0ZSBpcyBjb25zaWRlcmVkCiAgICAgICAnYWRhcHRpdmUnLCBhbmQgU0hBTEwgYmUgc2V0 IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZQogICAgICAgbm90IGV4Y2VlZGluZyBlZm1D dVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbAogICAgICAgbGltaXRhdGlvbnMg cGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZAogICAgICAgZWZtQ3VQbWUyQnNNb2Rl LgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEgcmF0ZSBvZiB0aGUg UE1FIGlzCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuCgog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNaW4gRGF0YSBSYXRlMSBiaXRz IGluIHRoZSAyQiBQTUQKICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuCgogICAgICAgVGhpcyBv YmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIFJF RkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlByb2ZpbGVFbnRyeSA1IH0KCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUK ICAgICBTWU5UQVggIFVuc2lnbmVkMzIoMTkyLi41Njk2KQogICAgIFVOSVRTICAgICAgICJLYnBz IgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiTWF4aW11bSBEYXRhIFJhdGUgZm9yIHRoZSAyQkFTRS1U TCBQTUUuCiAgICAgICBUaGlzIG9iamVjdCBjYW4gdGFrZSB2YWx1ZXMgb2YgKG4geCA2NClLYnBz LAogICAgICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1U Q1BBTSBlbmNvZGluZy4KCiAgICAgICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUg aXMgY29uc2lkZXJlZCAnZml4ZWQnIHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVj dCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBt ZTJCTWluRGF0YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAg ICAgdGhlIGFkbWluaXN0cmF0aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJl ZAogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRh aW5hYmxlIHJhdGUKICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1 bmRlciB0aGUgc3BlY3RyYWwKICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQ bWUyQlJlZ2lvbiBhbmQKICAgICAgIGVmbUN1UG1lMkJzTW9kZS4KCiAgICAgICBOb3RlIHRoYXQg Y3VycmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcwogICAgICAgcmVwcmVz ZW50ZWQgYnkgaWZTcGVlZCBvYmplY3Qgb2YgSUYtTUlCLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1 IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBv YmplY3QgbWFwcyB0byB0aGUgTWF4IERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1ECiAgICAg ICBwYXJhbWV0ZXJzIHJlZ2lzdGVyLgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAy LjNhaF0gNDUuMi4xLjQzIgogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNiB9Cgog ICBlZm1DdVBtZTJCUG93ZXIgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQz MigwfDEwLi40MikKICAgICBVTklUUyAgICAgICAiMC41IGRCbSIKICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLgogICAgICAgVGhl IHZhbHVlIG9mIDAgaW4gdGhlIGFkbWluaXN0cmF0aXZlIHByb2ZpbGUgbWVhbnMgdGhhdCB0aGUK ICAgICAgIHNpZ25hbCB0cmFuc21pdCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNl dCB0bwogICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0 cmFsIGxpbWl0YXRpb25zCiAgICAgICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5k IGVmbUN1UG1lMkJzTW9kZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IFBvd2VyMSBiaXRzIGluIHRoZSAyQiBQTUQgcGFyYW1ldGVycwogICAgICAgcmVnaXN0ZXIiCiAg ICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyIKICAgICA6Oj0geyBlZm1D dVBtZTJCUHJvZmlsZUVudHJ5IDcgfQoKICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24gIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICBhZGFwdGl2ZSgwKSwKICAg ICAgIHRjcGFtMTYoMSksCiAgICAgICB0Y3BhbTMyKDIpCiAgICAgfQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVENQQU0gQ29uc3RlbGxhdGlvbiBvZiB0aGUgMkJBU0UtVEwgUE1FLgogICAgICAgVGhl IHBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIGFkYXB0aXZlKDApICAgIC0gZWl0aGVyIDE2 LSBvciAzMi1UQ1BBTQogICAgICAgICB0Y3BhbTE2KDEpICAgICAtIDE2LVRDUEFNCiAgICAgICAg IHRjcGFtMzIoMikgICAgIC0gMzItVENQQU0KCiAgICAgICBUaGUgdmFsdWUgb2YgYWRhcHRpdmUo MCkgaW4gdGhlIGFkbWluaXN0cmF0aXZlIHByb2ZpbGUgbWVhbnMKICAgICAgIHRoYXQgdGhlIGNv bnN0ZWxsYXRpb24gaXMgbm90IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8KICAgICAgIG1heGlt aXplIHRoZSBhdHRhaW5hYmxlIHJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbCBsaW1pdGF0aW9ucwog ICAgICAgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUu CgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVz ZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBDb25zdGVsbGF0aW9uMSBi aXRzIGluIHRoZSAyQiBnZW5lcmFsCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0ZXIuIgogICAgIFJF RkVSRU5DRQogICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIgogICAgIDo6PSB7IGVmbUN1UG1l MkJQcm9maWxlRW50cnkgOCB9CgogICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1Qt VFlQRQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhp cyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29jaWF0ZWQKICAg ICAgIGVudHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YK ICAgICAgIFJvd1N0YXR1cy4KICAgICAgIElmIGFuICdhY3RpdmUnIGVudHJ5IGlzIHJlZmVyZW5j ZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwg dGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbAogICAgICAgcmVmZXJlbmNl cyBhcmUgcmVtb3ZlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA5IH0KCgog ICBlZm1DdVBtZTJCc01vZGVUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lMkJzTW9kZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlz IHRhYmxlLCB0b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJsZSwgc3VwcG9ydHMKICAg ICAgIGRlZmluaXRpb24gb2YgYWRtaW5pc3RyYXRpdmUgY3VzdG9tIHNwZWN0cmFsIG1vZGVzIGZv cgogICAgICAgMkJBU0UtVEwgUE1FcywgZGVzY3JpYmluZyBzcGVjdHJhbCBsaW1pdGF0aW9ucyBp biBhZGRpdGlvbiB0bwogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5IGVmbUN1UG1lMkJSZWdpb24u CgogICAgICAgU29tZSBjb3VudHJpZXMgc3BlY3RyYWwgcmVndWxhdGlvbnMgKGUuZy4gVUsgQU5G UCkgbGltaXQgdGhlCiAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEg cmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzCiAgICAgICB0aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxp bWl0YXRpb25zIHRvIGJlIHNwZWNpZmllZC4KCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUg cmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICBNVVNUIE5PVCBiZSBkZWxl dGVkIHVudGlsIGFsbCB0aGUgYWN0aXZlIHJlZmVyZW5jZXMgYXJlCiAgICAgICByZW1vdmVkLgoK ICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSIKICAgICA6 Oj0geyBlZm1DdVBtZTJCICAzIH0KCiAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkKICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgog ICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIHNwZWN0cmFsIG1vZGUgZGVzY3JpcHRpb24gYW5k IGl0cyBpbmRleCwKICAgICAgIHdoaWNoIGlzIHVzZWQgdG8gcmVmZXJlbmNlIGNvcnJlc3BvbmRp bmcgZW50cmllcyBpbiB0aGUKICAgICAgIGVmbUN1MkJSZWFjaFJhdGVUYWJsZS4KCiAgICAgICBF bnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8KICAg ICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzLiIKICAg ICBJTkRFWCB7IGVmbUN1UG1lMkJzTW9kZUluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01v ZGVUYWJsZSAxIH0KCiAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsK ICAgICAgIGVmbUN1UG1lMkJzTW9kZUluZGV4ICAgICAgICAgICAgIFByb2ZpbGVJbmRleCwKICAg ICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyICAgICAgICAgICAgIFNubXBBZG1pblN0cmluZywKICAg ICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyAgICAgICAgIFJvd1N0YXR1cwogICAgIH0KCiAg IGVmbUN1UG1lMkJzTW9kZUluZGV4IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgUHJvZmls ZUluZGV4CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICIyQkFTRS1UTCBQTUUgU3BlY3RyYWwgTW9k ZSBpbmRleC4KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRl ZCB3aXRoIHRoaXMgc3BlY3RyYWwKICAgICAgIG1vZGUuCiAgICAgICBFbnRyaWVzIGluIHRoaXMg dGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZQogICAgICAgb2JqZWN0LiIK ICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAxIH0KCiAgIGVmbUN1UG1lMkJzTW9kZURl c2NyIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJ UFRJT04KICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJv dXQgMkJBU0UtVEwgUE1FCiAgICAgICBzcGVjdHJhbCBtb2RlLiBUaGUgc3RyaW5nIE1BWSBpbmNs dWRlIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICBjb3JyZXNwb25kaW5nIChjb3VudHJ5LXNwZWNp ZmljKSBzcGVjdHJhbCByZWd1bGF0aW9ucwogICAgICAgYW5kIHJhdGUvcmVhY2ggbGltaXRhdGlv bnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHNwZWN0cmFsIG1vZGUuIgogICAgIDo6PSB7IGVmbUN1UG1l MkJzTW9kZUVudHJ5IDIgfQoKICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUK ICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG9i amVjdCBjb250cm9scyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZAogICAgICAg ZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YKICAgICAg IFJvd1N0YXR1cy4KICAgICAgIElmIGFuICdhY3RpdmUnIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlh IGVmbUN1UG1lMkJzTW9kZSwgdGhlCiAgICAgICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1 bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNN b2RlRW50cnkgMyB9CgoKICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVRhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5CiAgICAg TUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg REVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb24gb2YgYWRt aW5pc3RyYXRpdmUgY3VzdG9tCiAgICAgICBzcGVjdHJhbCBtb2RlcyBmb3IgMkJBU0UtVEwgUE1F cywgcHJvdmlkaW5nIHNwZWN0cmFsCiAgICAgICBsaW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0byB0 aG9zZSBzcGVjaWZpZWQgYnkKICAgICAgIGVmbUN1UG1lMkJSZWdpb24uCgogICAgICAgVGhlIHNw ZWN0cmFsIHJlZ3VsYXRpb25zIGluIHNvbWUgY291bnRyaWVzIChlLmcuIFVLIEFORlApCiAgICAg ICBsaW1pdCB0aGUgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLgog ICAgICAgVGhpcyB0YWJsZSBhbGxvd3MgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9u cyB0byBiZQogICAgICAgc3BlY2lmaWVkLgoKICAgICAgIEJlbG93IGlzIGFuIGV4YW1wbGUgb2Yg dGhpcyB0YWJsZSBmb3IgW0FORlBdOgogICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r CiAgICAgICBFcXVpdmFsZW50IE1heFJhdGUgTWF4UmF0ZQogICAgICAgICBMZW5ndGggICAgUEFN MTYgICBQQU0zMgogICAgICAgICAgIChtKSAgICAgKEticHMpICAoS2JwcykKICAgICAgIC0tLS0t LS0tLS0rLS0tLS0tLSstLS0tLS0tKwogICAgICAgICAgIDk3NSAgICAgIDIzMDQgICAgNTY5Ngog ICAgICAgICAgMTEyNSAgICAgIDIzMDQgICAgNTUwNAogICAgICAgICAgMTI3NSAgICAgIDIzMDQg ICAgNTEyMAogICAgICAgICAgMTM1MCAgICAgIDIzMDQgICAgNDg2NAogICAgICAgICAgMTQyNSAg ICAgIDIzMDQgICAgNDU0NAogICAgICAgICAgMTUwMCAgICAgIDIzMDQgICAgNDI4OAogICAgICAg ICAgMTU3NSAgICAgIDIzMDQgICAgMzk2OAogICAgICAgICAgMTY1MCAgICAgIDIzMDQgICAgMzc3 NgogICAgICAgICAgMTcyNSAgICAgIDIzMDQgICAgMzUyMAogICAgICAgICAgMTgwMCAgICAgIDIz MDQgICAgMzI2NAogICAgICAgICAgMTg3NSAgICAgIDIzMDQgICAgMzA3MgogICAgICAgICAgMTk1 MCAgICAgIDIwNDggICAgMjY4OAogICAgICAgICAgMjEwMCAgICAgIDE3OTIgICAgMjM2OAogICAg ICAgICAgMjI1MCAgICAgIDE1MzYgICAgICAgMAogICAgICAgICAgMjQwMCAgICAgIDE0MDggICAg ICAgMAogICAgICAgICAgMjU1MCAgICAgIDEyODAgICAgICAgMAogICAgICAgICAgMjc3NSAgICAg IDExNTIgICAgICAgMAogICAgICAgICAgMjkyNSAgICAgIDExNTIgICAgICAgMAogICAgICAgICAg MzE1MCAgICAgIDEwODggICAgICAgMAogICAgICAgICAgMzM3NSAgICAgIDEwMjQgICAgICAgMAog ICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rCgogICAgICAgRW50cmllcyBpbiB0aGlz IHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9kZQogICAgICAgTVVTVCBOT1Qg YmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQogICAgICAgcmVt b3ZlZC4KCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3Rl bnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbQU5GUF0iCiAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgNCB9CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgT0JKRUNULVRZUEUKICAg ICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkKICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgog ICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1heGltdW0gMkJBU0UtVEwgUE1FIGRhdGEgcmF0 ZXMKICAgICAgIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFsZW50IGxvb3AgbGVuZ3RoLCB3 aGVuIHVzaW5nCiAgICAgICAxNi1UQ1BBTSBvciAzMi1UQ1BBTSBlbmNvZGluZy4KCiAgICAgICBX aGVuIDJCQVNFLVRMIFBNRSBpcyBpbml0aWFsaXplZCwgaXRzIGRhdGEgcmF0ZSBNVVNUIE5PVAog ICAgICAgZXhjZWVkIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOgogICAgICAgLSB0 aGUgdmFsdWUgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlCiAgICAgICAtIG1heGltdW0gZGF0YSBy YXRlIGFsbG93ZWQgYnkgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQKICAgICAgICAgZWZtQ3VQbWUyQlBv d2VyCiAgICAgICAtIG1heGltdW0gZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNwZWNp ZmllZCBpbiB0aGUKICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlRW50cnksIGNvcnJlc3BvbmRpbmcg dG8gdGhlIGVxdWl2YWxlbnQgbG9vcAogICAgICAgICBsZW5ndGgsIGVzdGltYXRlZCBieSB0aGUg UE1FLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgdGhlIGVmbUN1UG1lMkJFcXVpdmFs ZW50TGVuZ3RoIHZhbHVlcwogICAgICAgYXJlIGFzc2lnbmVkIGluIHRoZSBpbmNyZWFzaW5nIG9y ZGVyLCBzdGFydGluZyBmcm9tIHRoZQogICAgICAgbWluaW11bSB2YWx1ZS4KCiAgICAgICBFbnRy aWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8KICAgICAg IGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUyUmVhY2hSYXRlUm93U3RhdHVzLiIKICAg ICBJTkRFWCB7IGVmbUN1UG1lMkJzTW9kZUluZGV4LCBlZm1DdVBtZTJCUmVhY2hSYXRlSW5kZXgg fQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSAxIH0KCiAgIEVmbUN1UG1lMkJS ZWFjaFJhdGVFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZTJCUmVhY2hS YXRlSW5kZXggICAgICAgICBQcm9maWxlSW5kZXgsCiAgICAgICBlZm1DdVBtZTJCRXF1aXZhbGVu dExlbmd0aCAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFt MTYgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICAg ICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzICAgICBS b3dTdGF0dXMKICAgICB9CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5kZXggT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBQcm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNz aWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJC QVNFLVRMIGN1c3RvbSBzcGVjdHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUgaW5kZXguCiAgICAg ICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCBlYWNoIGVu cnkuIgogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAxIH0KCiAgIGVmbUN1UG1l MkJFcXVpdmFsZW50TGVuZ3RoICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVk MzIoMC4uODE5MikKICAgICBVTklUUyAgICAgICAibSIKICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIk1h eGltdW0gYWxsb3dlZCBFcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4gbWV0ZXJz CiAgICAgICBmb3IgdGhlIHNwZWNpZmllZCBkYXRhIHJhdGVzLgogICAgICAgQW4gZXF1aXZhbGVu dCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGEKICAgICAg IHBlcmZlY3Qgc3F1YXJlIHJvb3QgYXR0ZW51YXRpb24gY2hhcmFjdGVyaXN0aWMsIHdpdGhvdXQg YW55CiAgICAgICBicmlkZ2VkIHRhcHMuIgogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVF bnRyeSAyIH0KCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkti cHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwg UE1FIGF0IHRoZSBzcGVjaWZpZWQKICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2lu ZyBUQy1QQU0xNiBlbmNvZGluZy4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1lYW5zIHRoYXQg VEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQogICAgICAgdXNlZCBhdCB0aGlzIGRpc3Rh bmNlLiIKICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMyB9CgogICBlZm1DdVBt ZTJCTWF4RGF0YVJhdGVQYW0zMiAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25l ZDMyKDB8MTkyLi41Njk2KQogICAgIFVOSVRTICAgICAgICJLYnBzIgogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRMIFBNRSBhdCB0aGUgc3BlY2lmaWVk CiAgICAgICBFcXVpdmFsZW50IGxvb3AncyBMZW5ndGggdXNpbmcgVEMtUEFNMzIgZW5jb2Rpbmcu CiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTMyIGVuY29kaW5nIHNo b3VsZCBub3QgYmUKICAgICAgIHVzZWQgYXQgdGhpcyBkaXN0YW5jZS4iCiAgICAgOjo9IHsgZWZt Q3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDQgfQoKICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1 cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cwogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29j aWF0ZWQKICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhlIHNl bWFudGljcyBvZgogICAgICAgUm93U3RhdHVzLgogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkg aXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgIGVudHJ5IE1VU1Qg cmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLiIKICAgICA6 Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNSB9CgoKICAtLSAxMFBBU1MtVFMgc3BlY2lm aWMgUE1FIGdyb3VwCgogICBlZm1DdVBtZTEwUCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7 IGVmbUN1UG1lIDYgfQoKICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgT0JKRUNULVRZUEUKICAg ICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERF U0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBjb25m aWd1cmF0aW9uIHByb2ZpbGVzIGZvcgogICAgICAgMTBQYXNzVEwgUE1Fcy4KICAgICAgIEZpcnN0 IDIyIGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAg ICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5uZXggNjJCLjMpOgogICAgICAgLS0tLS0tLSstLS0t LS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0KICAgICAgIFByb2ZpbGUgQmFu ZHBsYW4gVVBCTyBCYW5kTm90Y2ggRFJhdGUgVVJhdGUKICAgICAgICBJbmRleCAgUFNETWFzayMg IHAjICAgIHAjICAgICAgICBwIyAgICBwIwogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0t LS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAy LDYsMTAsMTEgICAgMjAgICAgMjAoZGVmYXVsdCkKICAgICAgICAgIDIgICAgIDEzICAgICAgNSAg ICAwICAgICAgICAgICAgMjAgICAgMjAKICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAg ICAgICAgICAgMjAgICAgMjAKICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAg ICAxMDAgICAxMDAKICAgICAgICAgIDUgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAgNzAg ICAgNTAKICAgICAgICAgIDYgICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAgMTAK ICAgICAgICAgIDcgICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAKICAgICAg ICAgIDggICAgICA4ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgIDUKICAgICAgICAgIDkg ICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUKICAgICAgICAgMTAgICAgICA0 ICAgICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUKICAgICAgICAgMTEgICAgIDIzICAgICAg MCAgICAwICAgICAgICAgICAgMTAgICAgMTAKICAgICAgICAgMTIgICAgIDIzICAgICAgMCAgICAw ICAgICAgICAgICAgIDUgICAgIDUKICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAgICAyLDUsOSwx MSAgICAxMDAgICAxMDAKICAgICAgICAgMTQgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAg NzAgICAgNTAKICAgICAgICAgMTUgICAgICA2ICAgICAgMCAgICAyLDYsMTAsMTEgICAgNTAgICAg MTAKICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzAKICAg ICAgICAgMTcgICAgICA4ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMzAgICAgIDUKICAgICAgICAg MTggICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMjUgICAgMjUKICAgICAgICAgMTkgICAg ICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMTUgICAgMTUKICAgICAgICAgMjAgICAgIDIzICAg ICAgMCAgICAyLDUsOSwxMSAgICAgMTAgICAgMTAKICAgICAgICAgMjEgICAgIDIzICAgICAgMCAg ICAyLDUsOSwxMSAgICAgIDUgICAgIDUKICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAwICAg ICAgICAgICAyMDAgICAgNTAKCiAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUg Y3JlYXRlZCBieSBkdXJpbmcgYWdlbnQKICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5P VCBiZSBkZWxldGVkLgoKICAgICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwgY2Fu IGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1 c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikKICAgICAgIHByb2ZpbGVzIGFuZCBh dXRvbWF0aWMgb3BlcmF0aW5nIHByb2ZpbGVzLgoKICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAg Ils4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUx MFAgIDEgfQoKICAgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5U QVggICAgICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi RWFjaCBlbnRyeSBjb3JyZXNwb25kcyB0byBhIHNpbmdsZSAxMFBBU1MtVFMgUE1FCiAgICAgICBw cm9maWxlLgogICAgICAgRWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMs IHVzZWQgZWl0aGVyIGZvcgogICAgICAgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBv ZiBhIDEwUEFTUy1UUyBQTUUuCiAgICAgICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxlIGlz IHJlZmVyZW5jZWQgdmlhCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVm bUN1QWRtaW5Qcm9maWxlIGlmCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwg aXQgcmVwcmVzZW50IHRoZSBkZXNpcmVkCiAgICAgICBwYXJhbWV0ZXJzIHRoZSAxMFBhc3NUUy1P IFBNRSBpbml0aWFsaXphdGlvbi4KICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZp YSBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdCwKICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVu dCBvcGVyYXRpbmcgcGFyYW1ldGVycyBvZiB0aGUgUE1FLgoKICAgICAgIFByb2ZpbGVzIG1heSBi ZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8KICAgICAgIGRlbGV0aW9u IG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbgogICAgICAg J2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3Rp dmUnCiAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4KICAgICAgIERlZmF1 bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiIKICAgICBJTkRFWCB7IGVmbUN1UG1lMTBQ UHJvZmlsZUluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0KCiAg IEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsKICAgICAgIGVmbUN1 UG1lMTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBQcm9maWxlSW5kZXgsCiAgICAgICBlZm1DdVBt ZTEwUFByb2ZpbGVEZXNjciAgICAgICAgICAgU25tcEFkbWluU3RyaW5nLAogICAgICAgZWZtQ3VQ bWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsCiAgICAgICBlZm1DdVBtZTEwUFVQ Qk9SZWZlcmVuY2VQcm9maWxlICAgSU5URUdFUiwKICAgICAgIGVmbUN1UG1lMTBQQmFuZE5vdGNo UHJvZmlsZXMgICAgICBCSVRTLAogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxl ICAgIElOVEVHRVIsCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgICAgSU5U RUdFUiwKICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cyAgICAgICBSb3dTdGF0dXMK ICAgICB9CgogICBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCBPQkpFQ1QtVFlQRQogICAgIFNZTlRB WCAgICAgIFByb2ZpbGVJbmRleAogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiMTBQQVNTLVRTIFBN RSBQcm9maWxlIEluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBh c3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxl IGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZtQ3VQbWVB ZG1pblByb2ZpbGUuIgogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDEgfQoKICAg ZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTbm1w QWRtaW5TdHJpbmcKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFp bmluZyBpbmZvcm1hdGlvbiBhYm91dCAxMFBBU1MtVFMgUE1FCiAgICAgICBQcm9maWxlLiBUaGUg c3RyaW5nIE1BWSBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQogICAgICAgYW5k IHNwZWN0cmFsIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBwcm9maWxlLiIKICAgICA6 Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAyIH0KCiAgIGVmbUN1UG1lMTBQQmFuZHBsYW5Q U0RNc2tQcm9maWxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICBw cm9maWxlMSgxKSwKICAgICAgIHByb2ZpbGUyKDIpLAogICAgICAgcHJvZmlsZTMoMyksCiAgICAg ICBwcm9maWxlNCg0KSwKICAgICAgIHByb2ZpbGU1KDUpLAogICAgICAgcHJvZmlsZTYoNiksCiAg ICAgICBwcm9maWxlNyg3KSwKICAgICAgIHByb2ZpbGU4KDgpLAogICAgICAgcHJvZmlsZTkoOSks CiAgICAgICBwcm9maWxlMTAoMTApLAogICAgICAgcHJvZmlsZTExKDExKSwKICAgICAgIHByb2Zp bGUxMigxMiksCiAgICAgICBwcm9maWxlMTMoMTMpLAogICAgICAgcHJvZmlsZTE0KDE0KSwKICAg ICAgIHByb2ZpbGUxNSgxNSksCiAgICAgICBwcm9maWxlMTYoMTYpLAogICAgICAgcHJvZmlsZTE3 KDE3KSwKICAgICAgIHByb2ZpbGUxOCgxOCksCiAgICAgICBwcm9maWxlMTkoMTkpLAogICAgICAg cHJvZmlsZTIwKDIwKSwKICAgICAgIHByb2ZpbGUyMSgyMSksCiAgICAgICBwcm9maWxlMjIoMjIp LAogICAgICAgcHJvZmlsZTIzKDIzKSwKICAgICAgIHByb2ZpbGUyNCgyNCksCiAgICAgICBwcm9m aWxlMjUoMjUpLAogICAgICAgcHJvZmlsZTI2KDI2KSwKICAgICAgIHByb2ZpbGUyNygyNyksCiAg ICAgICBwcm9maWxlMjgoMjgpLAogICAgICAgcHJvZmlsZTI5KDI5KQogICAgIH0KICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQ VElPTgogICAgICAgIjEwUEFTUy1UUyBQTUUgQmFuZHBsYW4gYW5kIFBTRCBNYXNrIHByb2ZpbGUs CiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVl cyBhcmU6CiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tCiAgICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1hc2sgICAgICAg ICAgICAgICAgICBCYW5kcyAgICAgQmFuZHBsYW4KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0KICAgICAgIHByb2ZpbGUx KDEpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgeC9EL1UvRC9VICBBCiAgICAgICBwcm9m aWxlMigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQogICAgICAgcHJvZmlsZTMoMykgICAt IFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0yCiAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1Qt VSBQMSBGVFRFeC5NMgogICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2Fi Lk0xICBEL0QvVS9EL1UKICAgICAgIHByb2ZpbGU2KDYpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4 Lk0xCiAgICAgICBwcm9maWxlNyg3KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTIKICAgICAg IHByb2ZpbGU4KDgpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yCiAgICAgICBwcm9maWxlOSg5 KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTEgIFUvRC9VL0QveAogICAgICAgcHJvZmlsZTEw KDEwKSAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTEKICAgICAgIHByb2ZpbGUxMSgxMSkgLSBUMS40 MjQvVC1VIFAxIEZUVENhYi5NMgogICAgICAgcHJvZmlsZTEyKDEyKSAtIFQxLjQyNC9ULVUgUDEg RlRURXguTTIKICAgICAgIHByb2ZpbGUxMygxMykgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAg eC9EL1UvRC9VICBCCiAgICAgICBwcm9maWxlMTQoMTQpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0x LkIKICAgICAgIHByb2ZpbGUxNSgxNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMQogICAgICAg cHJvZmlsZTE2KDE2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xCiAgICAgICBwcm9maWxlMTco MTcpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0yCiAgICAgICBwcm9maWxlMTgoMTgpIC0gVFMxIDEw MSAyNzAtMSBQZXguUDEuTTIKICAgICAgIHByb2ZpbGUxOSgxOSkgLSBUUzEgMTAxIDI3MC0xIFBl eC5QMi5NMgogICAgICAgcHJvZmlsZTIwKDIwKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICBV L0QvVS9EL3gKICAgICAgIHByb2ZpbGUyMSgyMSkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQgog ICAgICAgcHJvZmlsZTIyKDIyKSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xCiAgICAgICBwcm9m aWxlMjMoMjMpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTEKICAgICAgIHByb2ZpbGUyNCgyNCkg LSBUUzEgMTAxIDI3MC0xIFBjYWIuTTIKICAgICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3 MC0xIFBleC5QMS5NMgogICAgICAgcHJvZmlsZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAy Lk0yCiAgICAgICBwcm9maWxlMjcoMjcpIC0gRy45OTMuMSBGLjEuMi4xIChWRFNMb1BPVFMpIHgv RC9VL0QvVSAgRgogICAgICAgcHJvZmlsZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9U Q00tSVNETikKICAgICAgIHByb2ZpbGUyOSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1 Y3Rpb24pCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1By b2ZpbGUgYXR0cmlidXRlCiAgICAgICBpbiBDbGF1c2UgMzAuIgogICAgIFJFRkVSRU5DRQogICAg ICAgIls4MDIuM2FoXSBBbm5leCA2MkEsIDMwLjUuMS4xLjIyIgogICAgIDo6PSB7IGVmbUN1UG1l MTBQUHJvZmlsZUVudHJ5IDMgfQoKICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAg T0JKRUNULVRZUEUKICAgICBTWU5UQVggIElOVEVHRVIgewogICAgICAgcHJvZmlsZTEoMSksCiAg ICAgICBwcm9maWxlMigyKSwKICAgICAgIHByb2ZpbGUzKDMpLAogICAgICAgcHJvZmlsZTQoNCks CiAgICAgICBwcm9maWxlNSg1KSwKICAgICAgIHByb2ZpbGU2KDYpLAogICAgICAgcHJvZmlsZTco NyksCiAgICAgICBwcm9maWxlOCg4KSwKICAgICAgIHByb2ZpbGU5KDkpCiAgICAgfQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQb3dlciBCYWNrLU9mZiAoVVBC TykgUmVmZXJlbmNlIFBTRAogICAgICAgUHJvZmlsZSwgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWgg QW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMKICAgICAgIGFyZToKICAgICAgICAgcHJvZmlsZTEo MSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xCiAgICAgICAgIHByb2ZpbGUyKDIp ICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMgogICAgICAgICBwcm9maWxlMygzKSAg IC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTEKICAgICAgICAgcHJvZmlsZTQoNCkgICAt IFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yCiAgICAgICAgIHByb2ZpbGU1KDUpICAgLSBF VFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCCiAgICAgICAgIHByb2ZpbGU2KDYpICAgLSBFVFNJ IFRTIDEwMSAyNzAtMSAgTm9pc2UgQwogICAgICAgICBwcm9maWxlNyg3KSAgIC0gRVRTSSBUUyAx MDEgMjcwLTEgIE5vaXNlIEQKICAgICAgICAgcHJvZmlsZTgoOCkgICAtIEVUU0kgVFMgMTAxIDI3 MC0xICBOb2lzZSBFCiAgICAgICAgIHByb2ZpbGU5KDkpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAg Tm9pc2UgRgoKICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFVUEJPUmVmZXJlbmNlUHJv ZmlsZSBhdHRyaWJ1dGUKICAgICAgIGluIENsYXVzZSAzMC4iCiAgICAgUkVGRVJFTkNFCiAgICAg ICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjQsIDMwLjUuMS4xLjIzIgogICAgIDo6PSB7IGVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5IDQgfQoKICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAg T0JKRUNULVRZUEUKICAgICBTWU5UQVggIEJJVFMgewogICAgICAgcHJvZmlsZTAoMCksCiAgICAg ICBwcm9maWxlMSgxKSwKICAgICAgIHByb2ZpbGUyKDIpLAogICAgICAgcHJvZmlsZTMoMyksCiAg ICAgICBwcm9maWxlNCg0KSwKICAgICAgIHByb2ZpbGU1KDUpLAogICAgICAgcHJvZmlsZTYoNiks CiAgICAgICBwcm9maWxlNyg3KSwKICAgICAgIHByb2ZpbGU4KDgpLAogICAgICAgcHJvZmlsZTko OSksCiAgICAgICBwcm9maWxlMTAoMTApLAogICAgICAgcHJvZmlsZTExKDExKQogICAgIH0KICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIjEwUEFTUy1UUyBQTUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3Rj aCBQcm9maWxlIGJpdG1hcCwKICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYy QS4gUG9zc2libGUgdmFsdWVzIGFyZToKICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLQogICAgICAgUHJvZmlsZSBOYW1lICAg IEcuOTkxLjMgIFQxLjQyNC9ULVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYKICAgICAgICAgICAg ICAgICAgICAgICBUYWJsZSAgICBUYWJsZSAgICAgIFRhYmxlICAgICAgIChNSHopICAoTUh6KQog ICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tKy0tLS0tCiAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQogICAgICAgcHJvZmls ZTEoMSkgICAtIEYtNSAjMDEgIC0gICAgICAgICAgLSAgICAgICAgICAgMS44MTAgIDEuODI1CiAg ICAgICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAgICAxLjgx MCAgMi4wMDAKICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAgICAgIC0gICAg ICAgICAgIDEuOTA3ICAxLjkxMgogICAgICAgcHJvZmlsZTQoNCkgICAtIEYtNSAjMDMgIC0gICAg ICAgICAgLSAgICAgICAgICAgMy41MDAgIDMuNTc1CiAgICAgICBwcm9maWxlNSg1KSAgIC0gNi0y ICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDAKICAgICAgIHByb2ZpbGU2 KDYpICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAgIDMuNTAwICA0LjAwMAogICAg ICAgcHJvZmlsZTcoNykgICAtIEYtNSAjMDQgIC0gICAgICAgICAgLSAgICAgICAgICAgMy43NDcg IDMuNzU0CiAgICAgICBwcm9maWxlOCg4KSAgIC0gRi01ICMwNSAgLSAgICAgICAgICAtICAgICAg ICAgICAzLjc5MSAgMy44MDUKICAgICAgIHByb2ZpbGU5KDkpICAgLSA2LTIgICAgICAtICAgICAg ICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMAogICAgICAgcHJvZmlsZTEwKDEwKSAtIEYtNSAj MDYgIDE1LTEgICAgICAgLSAgICAgICAgICAgNy4wMDAgIDcuMzAwCiAgICAgICBwcm9maWxlMTEo MTEpIC0gNi0yICAgICAgMTUtMSAgICAgICAxICAgICAgICAgICAxMC4xMDAgMTAuMTUwCgogICAg ICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgT1JpbmcK ICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVlIG9mIDB4MDYyMiBz ZWxlY3RzCiAgICAgICBwcm9maWxlcyAyLDYsMTAgYW5kIDExLgoKICAgICAgIFRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIGFCYW5kTm90Y2hQcm9maWxlIGF0dHJpYnV0ZQogICAgICAgaW4gQ2xhdXNl IDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNSwgMzAu NS4xLjEuMTkiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNSB9CgogICBlZm1D dVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg SU5URUdFUiB7CiAgICAgICBwcm9maWxlNSg1KSwKICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAg ICBwcm9maWxlMTUoMTUpLAogICAgICAgcHJvZmlsZTIwKDIwKSwKICAgICAgIHByb2ZpbGUyNSgy NSksCiAgICAgICBwcm9maWxlMzAoMzApLAogICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgIHBy b2ZpbGU3MCg3MCksCiAgICAgICBwcm9maWxlMTAwKDEwMCkKICAgICB9CiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBheWxvYWQgUmF0ZSBQcm9maWxlLAogICAg ICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJl OgogICAgICAgICBwcm9maWxlNSg1KSAgICAgICAtIDIuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUx MCgxMCkgICAgIC0gNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1icHMK ICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAgLSAxMCBNYnBzCiAgICAgICAgIHByb2ZpbGUyNSgy NSkgICAgIC0gMTIuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUgTWJwcwog ICAgICAgICBwcm9maWxlNTAoNTApICAgICAtIDI1IE1icHMKICAgICAgICAgcHJvZmlsZTcwKDcw KSAgICAgLSAzNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAgTWJwcwoKICAg ICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIFVwc3RyZWFt IFBheWxvYWQKICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJZiB0aGUgcGF5bG9h ZCByYXRlIG9mIHRoZQogICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQg YmFzZWQgb24gdGhlIGxvb3AKICAgICAgIGVudmlyb25tZW50LCBiYW5kcGxhbiBhbmQgUFNEIG1h c2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24KICAgICAgIFNIQUxMIGZhaWwuCgogICAgICAgVGhp cyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3RyZWFtCiAgICAgICBh dHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0g QW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxl RW50cnkgNiB9CgogICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICBwcm9maWxlNSg1KSwKICAgICAgIHBy b2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTUoMTUpLAogICAgICAgcHJvZmlsZTIwKDIwKSwK ICAgICAgIHByb2ZpbGUyNSgyNSksCiAgICAgICBwcm9maWxlMzAoMzApLAogICAgICAgcHJvZmls ZTUwKDUwKSwKICAgICAgIHByb2ZpbGU3MCg3MCksCiAgICAgICBwcm9maWxlMTAwKDEwMCksCiAg ICAgICBwcm9maWxlMTQwKDE0MCksCiAgICAgICBwcm9maWxlMjAwKDIwMCkKICAgICB9CiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVT Q1JJUFRJT04KICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRlIFBy b2ZpbGUsCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxl IHZhbHVlcyBhcmU6CiAgICAgICAgIHByb2ZpbGU1KDUpICAgICAgLSAyLjUgTWJwcwogICAgICAg ICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgLSA3 LjUgTWJwcwogICAgICAgICBwcm9maWxlMjAoMjApICAgIC0gMTAgTWJwcwogICAgICAgICBwcm9m aWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgLSAxNSBN YnBzCiAgICAgICAgIHByb2ZpbGU1MCg1MCkgICAgLSAyNSBNYnBzCiAgICAgICAgIHByb2ZpbGU3 MCg3MCkgICAgLSAzNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBzCiAg ICAgICAgIHByb2ZpbGUxNDAoMTQwKSAgLSA3MCBNYnBzCiAgICAgICAgIHByb2ZpbGUyMDAoMjAw KSAgLSAxMDAgTWJwcwoKICAgICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3Ig dGhlIFBNRSdzIERvd25zdHJlYW0KICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRo ZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YKICAgICAgIHRoZSBzZWxlY3RlZCBwcm9maWxl IGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcAogICAgICAgZW52aXJvbm1lbnQs IGJhbmRwbGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbgogICAgICAgU0hB TEwgZmFpbC4KCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUGF5bG9hZFJhdGVQcm9m aWxlRG93bnN0cmVhbQogICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iCiAgICAgUkVGRVJF TkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIxIgogICAgIDo6 PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQoKICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93 U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9scyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUg YXNzb2NpYXRlZAogICAgICAgZW50cnkgaW4gZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVyIHRo ZSBzZW1hbnRpY3Mgb2YKICAgICAgIFJvd1N0YXR1cy4KICAgICAgIElmIGFuIGFjdGl2ZSBlbnRy eSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZtQ3VQbWVB ZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbAogICAgICAg YWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmls ZUVudHJ5IDggfQoKCiAgIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUgT0JKRUNULVRZUEUKICAgICBT WU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5CiAgICAgTUFYLUFD Q0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJ UFRJT04KICAgICAgICJUYWJsZSByZWZsZWN0aW5nIHN0YXR1cyBvZiBFRk1DdSAxMFBBU1MtVFMg UE1FcyAobW9kZW1zKS4iCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgMiB9CgogICBlZm1DdVBtZTEw UFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0 dXNFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEw UEFTUy1UUyBQTUUgU3RhdHVzIHRhYmxlLiIKICAgICBBVUdNRU5UUyB7IGVmbUN1UG1lU3RhdHVz RW50cnkgfQogICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzVGFibGUgMSB9CgogICBFZm1DdVBt ZTEwUFN0YXR1c0VudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsKICAgICAgIGVmbUN1UG1lMTBQRkVD Q29ycmVjdGVkQmxvY2tzICAgICBDb3VudGVyMzIsCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29y cmVjdGVkQmxvY2tzICAgQ291bnRlcjMyCiAgICAgfQoKICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0 ZWRCbG9ja3MgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiQSBjb3VudCBvZiByZWNlaXZlZCBhbmQgY29ycmVjdGVkIEZFQyBjb2Rld29y ZHMgaW4gMTBQQVNTLVRTCiAgICAgICBQTUUuCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBh UE1FRkVDQ29ycmVjdGVkQmxvY2tzIGF0dHJpYnV0ZSBpbgogICAgICAgY2xhdXNlIDMwLgoKICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNl bnQsCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgY29ycmVjdGFi bGUgZXJyb3JzCiAgICAgICByZWdpc3RlcgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUg dmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRp b24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFz IGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS4yMiwgMzAuMTEuMi4xLjgiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNFbnRy eSAxIH0KCiAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb3VudCBvZiBy ZWNlaXZlZCBGRUMgY29kZXdvcmRzIGluIDEwUEFTUy1UUyBQTUUsIHdoaWNoIGFyZQogICAgICAg dW5jb3JyZWN0YWJsZS4KCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQTUVGRUNVbmNvcnJl Y3RhYmxlQmxvY2tzIGF0dHJpYnV0ZSBpbgogICAgICAgY2xhdXNlIDMwLgoKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsCiAgICAg ICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgdW5jb3JyZWN0YWJsZSBlcnJv cnMKICAgICAgIHJlZ2lzdGVyCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBv ZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0 aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNh dGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRl ZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4x LjIzLCAzMC4xMS4yLjEuOSIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQoK ICAtLQogIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMKICAtLQoKICAgZWZtQ3VHcm91cHMgICAg ICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQoKICAgZWZtQ3VD b21wbGlhbmNlcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDIgfQoK ICAgLS0gT2JqZWN0IEdyb3VwcwoKICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVDVC1HUk9VUAogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQsCiAgICAgICBlZm1DdUFkbWluUHJv ZmlsZSwKICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUsCiAgICAgICBlZm1DdVRhcmdldFNuck1n biwKICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhLAogICAgICAgZWZtQ3VQb3J0U2lkZSwKICAg ICAgIGVmbUN1Rmx0U3RhdHVzCiAgICAgfQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcXVpcmVkIGZvciBh bGwgb2YgRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDEgfQoKICAgZWZtQ3VQ QUZHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1UGVlclBBRlN1 cHBvcnRlZCwKICAgICAgIGVmbUN1UEFGQ2FwYWNpdHksCiAgICAgICBlZm1DdVBlZXJQQUZDYXBh Y2l0eSwKICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSwKICAgICAgIGVmbUN1UEFGRGlzY292ZXJ5 Q29kZSwKICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSwKICAgICAgIGVmbUN1TnVt UE1FcwogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyByZXF1aXJlZCBmb3IgT1BUSU9OQUwgUE1FCiAg ICAgICBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBhbmQgUEFGIGRpc2NvdmVyeSBpbiBFRk1D dSBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMiB9CgogICBlZm1DdVBBRkVycm9yc0dy b3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQQUZJbkVycm9ycywK ICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5MYXJnZUZy YWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMsCiAgICAgICBlZm1DdVBBRklu TG9zdEZyYWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzLAogICAgICAgZWZtQ3VQ QUZJbkxvc3RFbmRzLAogICAgICAgZWZtQ3VQQUZJbk92ZXJmbG93cwogICAgIH0KICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rpb24gb2Yg b2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIGVycm9yIGNvdW50ZXJzCiAgICAgICBvZiBQQUYg b24gRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDMgfQoKICAgZWZtQ3VQbWVH cm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9m aWxlLAogICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzLAogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMs CiAgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkLAogICAgICAgZWZtQ3VQbWVBZG1pblN1 YlR5cGUsCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlLAogICAgICAgZWZtQ3VQQUZSZW1vdGVE aXNjb3ZlcnlDb2RlLAogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSwKICAgICAgIGVmbUN1UG1l U25yTWduLAogICAgICAgZWZtQ3VQbWVQZWVyU25yTWduLAogICAgICAgZWZtQ3VQbWVMaW5lQXRu LAogICAgICAgZWZtQ3VQbWVQZWVyTGluZUF0biwKICAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExl bmd0aCwKICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMsCiAgICAgICBlZm1DdVBtZVRDQ3Jj RXJyb3JzLAogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLAogICAgICAgZWZtQ3VQbWVUaHJl c2hTbnJNZ24KICAgICB9CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIGFi b3V0CiAgICAgICBhIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUuIgogICAgIDo6PSB7IGVmbUN1R3Jv dXBzIDQgfQoKICAgZWZtQ3VBbGFybUNvbmZHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RT IHsKICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSwKICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5n RW5hYmxlLAogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLAogICAgICAgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmdFbmFibGUsCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbiwKICAgICAgIGVm bUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5h YmxlLAogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJsZSwKICAgICAgIGVmbUN1UG1l UHJvdG9jb2xJbml0RmFpbEVuYWJsZQogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyByZXF1aXJlZCBm b3IgY29uZmlndXJhdGlvbiBvZiBhbGFybQogICAgICAgdGhyZXNob2xkcyBhbmQgbm90aWZpY2F0 aW9ucyBpbiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNSB9CgogICBlZm1D dU5vdGlmaWNhdGlvbkdyb3VwIE5PVElGSUNBVElPTi1HUk9VUAogICAgIE5PVElGSUNBVElPTlMg ewogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcsCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZywKICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcsCiAgICAgICBlZm1DdVBtZURldmlj ZUZhdWx0LAogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSwKICAgICAgIGVmbUN1UG1l UHJvdG9jb2xJbml0RmFpbHVyZQotLSAgICAgICBlZm1DdVBtZURldmljZUZhdWx0LAotLSAgICAg ICBlZm1DdVBtZUxvY2FsUG93ZXJMb3NzCiAgICAgfQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9ydHMgbm90aWZpY2F0aW9u cyBvZiBzaWduaWZpY2FudCBjb25kaXRpb25zCiAgICAgICBhc3NvY2lhdGVkIHdpdGggRUZNQ3Ug cG9ydHMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDYgfQoKICAgZWZtQ3VQbWUyQlByb2ZpbGVH cm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1UG1lMkJQcm9maWxl RGVzY3IsCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uLAogICAgICAgZWZtQ3VQbWUyQnNNb2RlLAog ICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLAogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRl LAogICAgICAgZWZtQ3VQbWUyQlBvd2VyLAogICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24s CiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cywKICAgICAgIGVmbUN1UG1lMkJzTW9k ZURlc2NyLAogICAgICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzLAogICAgICAgZWZtQ3VQbWUy QkVxdWl2YWxlbnRMZW5ndGgsCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiwKICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyLAogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0 ZVJvd1N0YXR1cwogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25m aWd1cmF0aW9uCiAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBv cnRzLiIKICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3fQoKICAgZWZtQ3VQbWUxMFBQcm9maWxlR3Jv dXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNUUyB7CiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVE ZXNjciwKICAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlLAogICAgICAgZWZt Q3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSwKICAgICAgIGVmbUN1UG1lMTBQQmFuZE5vdGNo UHJvZmlsZXMsCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUsCiAgICAgICBl Zm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVS b3dTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0 aW9uCiAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDEwUEFTUy1UUyBwb3J0cy4i CiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9CgogICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9C SkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRC bG9ja3MsCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzCiAgICAgfQogICAg IFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9m IG9iamVjdHMgcHJvdmlkaW5nIHN0YXR1cyBpbmZvcm1hdGlvbgogICAgICAgc3BlY2lmaWMgdG8g MTBQQVNTLVRTIFBNRXMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDkgfQoKICAtLSBDb21wbGlh bmNlIFN0YXRlbWVudHMKCiAgIGVmbUN1Q29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5DRQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoZSBjb21wbGlh bmNlIHN0YXRlbWVudCBmb3IgMkJBU0UtVEwvMTBQQVNTLVRTIGludGVyZmFjZXMuCiAgICAgICBD b21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBjb21wbGlhbmNlIHN0YXRlbWVu dHMKICAgICAgIGlzIFJFUVVJUkVEOgoKICAgICAgIE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29t cGxpYW5jZSBTdGF0ZW1lbnQKICAgICAgIC0tLS0tLS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAgICAgIElGLU1JQiAgICAgICAgICAgICAgICAgaWZDb21wbGlhbmNlMwog ICAgICAgRXRoZXJMaWtlLU1JQiAgICAgICAgICBkb3QzQ29tcGxpYW5jZTIKICAgICAgIE1BVS1N SUIgICAgICAgICAgICAgICAgbWF1TW9kSWZDb21wbDMKCiAgICAgICBDb21wbGlhbmNlIHdpdGgg dGhlIGZvbGxvd2luZyBleHRlcm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMKICAgICAgIGlzIE9Q VElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24KICAg ICAgIEZ1bmN0aW9uIChQQUYpIHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVjdCBiZXR3ZWVuIHRo ZSBQQ1MKICAgICAgIGFuZCBQTUUgcG9ydHM6CgogICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAg ICBDb21wbGlhbmNlIFN0YXRlbWVudAogICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0t LS0tLS0tLS0tLS0tLS0tLQogICAgICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBs aWFuY2UKICAgICAgIElGLUNBUC1TVEFDSy1NSUIgICAgICAgaWZDYXBTdGFja0NvbXBsaWFuY2Ui CgogICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUKICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgewog ICAgICAgICBlZm1DdUJhc2ljR3JvdXAsCiAgICAgICAgIGVmbUN1UG1lR3JvdXAsCiAgICAgICAg IGVmbUN1QWxhcm1Db25mR3JvdXAsCiAgICAgICAgIGVmbUN1Tm90aWZpY2F0aW9uR3JvdXAKICAg ICAgIH0KCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwCiAgICAgICBE RVNDUklQVElPTgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVp cmVkIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHku IgoKICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUdyb3VwCiAgICAgICBERVND UklQVElPTgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVk IGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiIK CiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkdyb3VwCiAgICAgICBERVNDUklQVElPTgogICAg ICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcgogICAgICAg ICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBB RikuIgoKICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAKICAgICAgIERFU0NS SVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZvciBp bXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rp b24gKFBBRikuIgoKICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQU3RhdHVzR3JvdXAKICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElP TkFMIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5 LiIKCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkCiAgICAgICBT WU5UQVggICAgICBCSVRTIHsKICAgICAgICAgaWVlZTJCYXNlVExPKDApLAogICAgICAgICBpZWVl MkJhc2VUTFIoMSksCiAgICAgICAgIGllZWUxMFBhc3NUU08oMiksCiAgICAgICAgIGllZWUxMFBh c3NUU1IoMykKICAgICAgIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZv ciBhbGwgc3VidHlwZXMgaXMgbm90IHJlcXVpcmVkLiBIb3dldmVyIGF0IGxlYXN0CiAgICAgICAg IG9uZSB2YWx1ZSBTSEFMTCBiZSBzdXBwb3J0ZWQiCgogICAgICAgT0JKRUNUICAgICAgZWZtQ3VQ bWVBZG1pblN1YlR5cGUKICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5 IGZvciBQTUVzCiAgICAgICAgIHN1cHBvcnRpbmcgbW9yZSB0aGFuIGEgc2luZ2xlIHN1YnR5cGUs IGUuZy4KICAgICAgICAgaWVlZTJCYXNlVExPIGFuZCBpZWVlMkJhc2VUU1Igb3IgaWVlZTJCYXNl VExSIGFuZAogICAgICAgICBpZWVlMTBQYXNzVFNSKSIKCiAgICAgICBPQkpFQ1QgICAgICBlZm1D dVRhcmdldFNuck1nbgogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBERVNDUklQ VElPTgogICAgICAgICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0 IHdyaXRlIGFjY2VzcwogICAgICAgICB0aGUgdGFyZ2V0IFNOUiBtYXJnaW4gU0hBTEwgYmUgZml4 ZWQgYXQgNWRCIGZvciAyQkFTRS1UTAogICAgICAgICBhbmQgNmRCIGZvciAxMFBBU1MtVFMuIgoK ICAgICAgIE9CSkVDVCAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhCiAgICAgICBNSU4tQUNDRVNT ICByZWFkLW9ubHkKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMg T1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAgICAgICAgIHRoZSBkZWZh dWx0IHZhbHVlIFNIT1VMRCBiZSBmYWxzZS4iCgogICAgIDo6PSB7IGVmbUN1Q29tcGxpYW5jZXMg MSB9CkVORAo8L3ByZT48cHJlPgo8L3ByZT4KPGEgbmFtZT0iYW5jaG9yMjAiPjwvYT48YnIgLz48 aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJl Zj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjciPjwvYT48aDM+Ny4mbmJzcDtTZWN1cml0eSBDb25z aWRlcmF0aW9uczwvaDM+Cgo8cD4KICBUaGVyZSBpcyBhIG51bWJlciBvZiBtYW5hZ2VkIG9iamVj dHMgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUKICB0aGF0IGhhdmUgYSBNQVgtQUND RVNTIGNsYXVzZSBvZiByZWFkLXdyaXRlIG9yIHJlYWQtY3JlYXRlLgogIE1vc3Qgb2JqZWN0cyBh cmUgd3JpdGVhYmxlIG9ubHkgd2hlbiB0aGUgbGluayBpcyBEb3duLgogIFdyaXRpbmcgdG8gdGhl c2Ugb2JqZWN0cyBjYW4gaGF2ZSBwb3RlbnRpYWxseQogIGRpc3J1cHRpdmUgZWZmZWN0cyBvbiBu ZXR3b3JrIG9wZXJhdGlvbiwgZm9yIGV4YW1wbGU6CiAKPC9wPgo8cD4KICA8L3A+Cjx1bCBjbGFz cz0idGV4dCI+CjxsaT5DaGFuZ2luZyBvZiBlZm1DdVBtZUFkbWluU3ViVHlwZSBNQVkgbGVhZCB0 byBhIHBvdGVudGlhbCBsb2NraW5nCiAgICAgIG9mIHRoZSBsaW5rLCBhcyBwZWVyIFBNRXMgb2Yg dGhlIHNhbWUgc3ViLXR5cGUgY2Fubm90IGV4Y2hhbmdlCiAgICAgIGhhbmRzaGFrZSBtZXNzYWdl cy4KPC9saT4KPGxpPkNoYW5naW5nIG9mIGVmbUN1UEFGQWRtaW5TdGF0ZSB0byBlbmFibGVkIE1B WSBsZWFkIHRvIGEKICAgICAgcG90ZW50aWFsIGxvY2tpbmcgb2YgdGhlIGxpbmssIGlmIHRoZSBw ZWVyIFBoeSBkb2VzIG5vdCBzdXBwb3J0IFBBRi4KPC9saT4KPGxpPkNoYW5naW5nIG9mIGVmbUN1 UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRoZSBkaXNjb3Zlcnkgb3BlcmF0aW9uLAogICAgICBN QVkgbGVhZCB0byBhIHdyb25nZnVsIGRpc2NvdmVyeSwgZm9yIGV4YW1wbGUgd2hlbiB0d28gLU8g cG9ydHMKICAgICAgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBtdWx0aS1QTUUgLVIgcG9ydCBh bmQgYm90aCAtTyBwb3J0cwogICAgICBoYXZlIHRoZSBzYW1lIERpc2NvdmVyeSByZWdpc3RlciB2 YWx1ZS4KPC9saT4KPGxpPkNoYW5naW5nIFBDUyBvciBQTUUgY29uZmlndXJhdGlvbiBwYXJhbWV0 ZXJzIChlLmcuIHByb2ZpbGUgb2YgYQogICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1DdUFkbWluUHJv ZmlsZSBvciBlZm1DdVBtZUFkbWluUHJvZmlsZSkKICAgICAgTUFZIGxlYWQgdG8gYW55dGhpbmcg ZnJvbSBsaW5rIHF1YWxpdHkgYW5kIHJhdGUgZGVncmFkYXRpb24KICAgICAgdG8gYSBjb21wbGV0 ZSBsaW5rIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsIGFzIGFiaWxpdHkgb2YgYW4KICAgICAgRUZN Q3UgcG9ydCB0byBzdXBwb3J0IGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGRlcGVuZHMgb24g dGhlIGNvcHBlcgogICAgICBlbnZpcm9ubWVudC4KPC9saT4KPGxpPkFjdGl2YXRpb24gb2YgYSBQ TUUgY2FuIGNhdXNlIGEgc2V2ZXJlIGRlZ3JhZGF0aW9uIG9mCiAgICAgIHNlcnZpY2UgZm9yIGFu b3RoZXIgRUZNQ3UgUGh5LCB3aG9zZSBQTUUocykgTUFZIGJlIGFmZmVjdGVkIGJ5CiAgICAgIHRo ZSBjcm9zcy10YWxrIGZyb20gdGhlIG5ld2x5IGFjdGl2YXRlZCBQTUUuCjwvbGk+CjxsaT5SZW1v dmFsIG9mIGEgUE1FIGZyb20gYW4gb3BlcmF0aW9uYWxseSAndXAnIEVGTUN1IHBvcnQsCiAgICAg IGFnZ3JlZ2F0aW5nIHNldmVyYWwgUE1FcywgTUFZIGNhdXNlIHBvcnQncyByYXRlIGRlZ3JhZGF0 aW9uCjwvbGk+CjwvdWw+PHA+CiAKPC9wPgo8cD4KICBUaGUgdXNlciBvZiB0aGUgRUZNLUNVLU1J QiBtb2R1bGUgbXVzdCB0aGVyZWZvcmUgYmUgYXdhcmUgdGhhdCBzdXBwb3J0IGZvcgogIFNFVCBv cGVyYXRpb25zIGluIGEgbm9uLXNlY3VyZSBlbnZpcm9ubWVudCB3aXRob3V0IHByb3BlciBwcm90 ZWN0aW9uCiAgY2FuIGhhdmUgYSBuZWdhdGl2ZSBlZmZlY3Qgb24gbmV0d29yayBvcGVyYXRpb25z LgogCjwvcD4KPHA+CiAgVGhlIHJlYWRhYmxlIG9iamVjdHMgaW4gdGhlIEVGTS1DVS1NSUIgbW9k dWxlIChpLmUuLCB0aG9zZSB3aXRoIE1BWC1BQ0NFU1MKICBvdGhlciB0aGFuIG5vdC1hY2Nlc3Np YmxlKSBtYXkgYmUgY29uc2lkZXJlZCBzZW5zaXRpdmUgaW4gc29tZQogIGVudmlyb25tZW50cyBz aW5jZSwgY29sbGVjdGl2ZWx5LCB0aGV5IHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCiAg cGVyZm9ybWFuY2Ugb2YgbmV0d29yayBpbnRlcmZhY2VzIGFuZCBjYW4gcmV2ZWFsIHNvbWUgYXNw ZWN0cyBvZgogIHRoZWlyIGNvbmZpZ3VyYXRpb24uICBJbiBwYXJ0aWN1bGFyIHNpbmNlIEVGTUN1 IGNhbiBiZSBjYXJyaWVkIG92ZXIKICBVbnNoaWVsZGVkIFR3aXN0ZWQgUGFpciAoVVRQKSB2b2lj ZSBncmFkZSBjb3BwZXIgaW4gYSBidW5kbGUgd2l0aAogIG90aGVyIHBhaXJzIGJlbG9uZ2luZyB0 byBhbm90aGVyIG9wZXJhdG9yL2N1c3RvbWVyLCBpdCBpcwogIHRoZW9yZXRpY2FsbHkgcG9zc2li bGUgdG8gZXZhc2Ryb3AgdG8gYW4gRUZNQ3UgdHJhbnNtaXNzaW9uIHNpbXBseSBieQogICJsaXN0 ZW5pbmciIHRvIGEgY3Jvc3MtdGFsayBmcm9tIGFuIEVGTUN1IHBhaXIsIGVzcGVjaWFsbHkgaWYg dGhlCiAgcGFyYW1ldGVycyBvZiB0aGUgRUZNQ3UgbGluayBpbiBxdWVzdGlvbiBhcmUga25vd24u CiAgSW4gc3VjaCBlbnZpcm9ubWVudHMgaXQgaXMgaW1wb3J0YW50IHRvIGNvbnRyb2wKICBldmVu IEdFVCBhbmQgTk9USUZZIGFjY2VzcyB0byB0aGVzZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVu IHRvCiAgZW5jcnlwdCB0aGVpciB2YWx1ZXMgd2hlbiBzZW5kaW5nIHRoZW0gb3ZlciB0aGUgbmV0 d29yayB2aWEgU05NUC4KIAo8L3A+CjxwPgogIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8gU05NUHYz IGRpZCBub3QgaW5jbHVkZSBhZGVxdWF0ZSBzZWN1cml0eS4KICBFdmVuIGlmIHRoZSBuZXR3b3Jr IGl0c2VsZiBpcyBzZWN1cmUgKGZvciBleGFtcGxlIGJ5IHVzaW5nIElQU2VjKSwKICBldmVuIHRo ZW4sIHRoZXJlIGlzIG5vIGNvbnRyb2wgYXMgdG8gd2hvIG9uIHRoZSBzZWN1cmUgbmV0d29yayBp cwogIGFsbG93ZWQgdG8gYWNjZXNzIGFuZCBHRVQvU0VUIChyZWFkL2NoYW5nZS9jcmVhdGUvZGVs ZXRlKSB0aGUgb2JqZWN0cwogIGluIHRoZXNlIE1JQiBtb2R1bGVzLgogCjwvcD4KPHA+CiAgSXQg aXMgUkVDT01NRU5ERUQgdGhhdCBpbXBsZW1lbnRlcnMgY29uc2lkZXIgdGhlIHNlY3VyaXR5IGZl YXR1cmVzIGFzCiAgcHJvdmlkZWQgYnkgdGhlIFNOTVB2MyBmcmFtZXdvcmsgKHNlZSA8YSBjbGFz cz0iaW5mbyIgaHJlZj0iI1JGQzM0MTAiPltSRkMzNDEwXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs YXNzPSJpbmZvIj5DYXNlLCBKLiwgTXVuZHksIFIuLCBQYXJ0YWluLCBELiwgYW5kIEIuIFN0ZXdh cnQsICZsZHF1bztJbnRyb2R1Y3Rpb24gYW5kIEFwcGxpY2FiaWxpdHkgU3RhdGVtZW50cyBmb3Ig SW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssJnJkcXVvOyBEZWNlbWJlciZu YnNwOzIwMDIuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiwgc2VjdGlvbiA4KSwKICBpbmNsdWRp bmcgZnVsbCBzdXBwb3J0IGZvciB0aGUgU05NUHYzIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyAo Zm9yCiAgYXV0aGVudGljYXRpb24gYW5kIHByaXZhY3kpLgogCjwvcD4KPHA+CiAgRnVydGhlciwg ZGVwbG95bWVudCBvZiBTTk1QIHZlcnNpb25zIHByaW9yIHRvIFNOTVB2MyBpcyBOT1QKICBSRUNP TU1FTkRFRC4gIEluc3RlYWQsIGl0IGlzIFJFQ09NTUVOREVEIHRvIGRlcGxveSBTTk1QdjMgYW5k IHRvCiAgZW5hYmxlIGNyeXB0b2dyYXBoaWMgc2VjdXJpdHkuICBJdCBpcyB0aGVuIGEgY3VzdG9t ZXIvb3BlcmF0b3IKICByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGUgU05NUCBlbnRp dHkgZ2l2aW5nIGFjY2VzcyB0byBhbgogIGluc3RhbmNlIG9mIHRoZXNlIE1JQiBtb2R1bGVzIGlz IHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8gZ2l2ZSBhY2Nlc3MgdG8KICB0aGUgb2JqZWN0cyBvbmx5 IHRvIHRob3NlIHByaW5jaXBhbHMgKHVzZXJzKSB0aGF0IGhhdmUgbGVnaXRpbWF0ZQogIHJpZ2h0 cyB0byBpbmRlZWQgR0VUIG9yIFNFVCAoY2hhbmdlL2NyZWF0ZS9kZWxldGUpIHRoZW0uCiAKPC9w Pgo8YSBuYW1lPSJhbmNob3IyMSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJy aWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZu YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24u OCI+PC9hPjxoMz44LiZuYnNwO0lBTkEgQ29uc2lkZXJhdGlvbnM8L2gzPgoKPHA+CiAgVGhlIHR3 byBuZXcgdmFsdWVzIG9mIGRvdDNNYXVUeXBlIChkb3QzTWF1VHlwZTJCYXNlVEwgYW5kCiAgZG90 M01hdVR5cGUxMFBhc3NUUykgYW5kIGNvcnJlc3BvbmRpbmcgSUFOQWlmTWF1VHlwZUxpc3RCaXRz IGJpdAogIGRlZmluaXRpb25zIChiMkJhc2VUTCBhbmQgYjEwUGFzc1RTKSwgYXMgd2VsbCBhcyB0 aGUgbmV3IHZhbHVlcyBmb3IKICBJQU5BaWZNYXVNZWRpYUF2YWlsYWJsZSAoYXZhaWxhYmxlUmVk dWNlZCBhbmQgcmVhZHkpIFNIQUxMIGJlCiAgZGVmaW5lZCBieSB0aGUgSUFOQSBpbiB0aGUgSUFO QS1NQVUtTUlCIG1vZHVsZSAoc2VlCiAgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNJLUQuaWV0Zi1o dWJtaWItcmZjMzYzNmJpcyI+W0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXTxzcGFuPiAoPC9z cGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBN YW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2ht ZW50IFVuaXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9z cGFuPjwvYT4pIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzCiAgcHVibGlzaGVkIGFzIGFuIFJGQy4K IAo8L3A+CjxhIG5hbWU9ImFuY2hvcjIyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5 PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxp Z249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5r MiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2Vj dGlvbi45Ij48L2E+PGgzPjkuJm5ic3A7QWNrbm93bGVkZ21lbnRzPC9oMz4KCjxwPgogICBUaGlz IGRvY3VtZW50IHdhcyBwcm9kdWNlZCBieSB0aGUgSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFu ZCBIdWIKICAgTUlCIFdvcmtpbmcgR3JvdXAsIHdob3NlIGVmZm9ydHMgd2VyZSBncmVhdGx5IGFk dmFuY2VkIGJ5IHRoZQogICBjb250cmlidXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgcGVvcGxlIChp biBhbHBoYWJldGljYWwgb3JkZXIpOgogIDwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPgo8 cD5EYW4gUm9tYXNjYW51CjwvcD4KPHA+TWFyaW5hIFBvcGlsb3YKPC9wPgo8cD5NYXRoaWFzIFJp ZXNzCjwvcD4KPHA+TWF0dCBTcXVpcmUKPC9wPgo8cD5NaWtlIEhlYXJkCjwvcD4KPHA+VWRpIEFz aGtlbmF6aQo8L3A+CjwvYmxvY2txdW90ZT48cD4KIAo8L3A+CjxhIG5hbWU9InJmYy5yZWZlcmVu Y2VzIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNs YXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9h PjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMCI+PC9hPjxoMz4xMC4m bmJzcDtSZWZlcmVuY2VzPC9oMz4KCjxhIG5hbWU9InJmYy5yZWZlcmVuY2VzMSI+PC9hPjxiciAv PjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBo cmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4KPGgzPjEwLjEuJm5ic3A7Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L2gzPgo8dGFibGUgd2lk dGg9Ijk5JSIgYm9yZGVyPSIwIj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0i dG9wIj48YSBuYW1lPSI4MDIuMyI+WzgwMi4zXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij5JRUVFLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3N0YW5kYXJkcy5pZWVlLm9yZy9nZXRp ZWVlODAyLzgwMi4zLmh0bWwiPklFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xv Z3kgLQogICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2Ug YmV0d2VlbiBzeXN0ZW1zIC0KICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0 d29ya3MgLQogICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtCiAgICAgICAgUGFydCAzOiBD YXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24KICAg ICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNh dGlvbnM8L2E+LCZyZHF1bzsgSUVFRSBTdGQmbmJzcDs4MDIuMy0yMDA1LCBEZWNlbWJlciZuYnNw OzIwMDUuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3Ai PjxhIG5hbWU9IjgwMi4zYWgiPls4MDIuM2FoXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij5JRUVFLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3N0YW5kYXJkcy5pZWVlLm9yZy9nZXRp ZWVlODAyL2Rvd25sb2FkLzgwMi4zYWgtMjAwNC5wZGYiPklFRUUgU3RhbmRhcmQgZm9yIEluZm9y bWF0aW9uIHRlY2hub2xvZ3kgLQogICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3Jt YXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0KICAgICAgICBMb2NhbCBhbmQgbWV0cm9w b2xpdGFuIGFyZWEgbmV0d29ya3MgLQogICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtCiAg ICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lv biBEZXRlY3Rpb24KICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwg TGF5ZXIgU3BlY2lmaWNhdGlvbnMgLQogICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENv bnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwKICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQg UGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MgTmV0d29ya3M8L2E+LCZyZHF1bzsgSUVF RSBTdGQmbmJzcDs4MDIuM2FoLTIwMDQsIFNlcHRlbWJlciZuYnNwOzIwMDQuPC90ZD48L3RyPgo8 dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzIxMTki PltSRkMyMTE5XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWls dG86c29iQGhhcnZhcmQuZWR1Ij5CcmFkbmVyLCBTLjwvYT4sICZsZHF1bzs8YSBocmVmPSJmdHA6 Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyMTE5LnR4dCI+S2V5IHdvcmRzIGZvciB1c2UgaW4g UkZDcyB0byBJbmRpY2F0ZSBSZXF1aXJlbWVudCBMZXZlbHM8L2E+LCZyZHF1bzsgQkNQJm5ic3A7 MTQsIFJGQyZuYnNwOzIxMTksIE1hcmNoJm5ic3A7MTk5NyAoPGEgaHJlZj0iaHR0cDovL3htbC5y ZXNvdXJjZS5vcmcvcHVibGljL3JmYy9odG1sL3JmYzIxMTkuaHRtbCI+SFRNTDwvYT4sIDxhIGhy ZWY9Imh0dHA6Ly94bWwucmVzb3VyY2Uub3JnL3B1YmxpYy9yZmMveG1sL3JmYzIxMTkueG1sIj5Y TUw8L2E+KS48L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRv cCI+PGEgbmFtZT0iUkZDMjU3OCI+W1JGQzI1NzhdPC9hPjwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiPjxhIGhyZWY9Im1haWx0bzprem1AY2lzY28uY29tIj5NY0Nsb2docmllLCBLLjwvYT4s IDxhIGhyZWY9Im1haWx0bzpkcGVya2luc0Bzbm1waW5mby5jb20iPlBlcmtpbnMsIEQuPC9hPiwg PGEgaHJlZj0ibWFpbHRvOnNjaG9lbndAaWJyLmNzLnR1LWJzLmRlIj5TY2hvZW53YWVsZGVyLCBK LjwvYT4sIENhc2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVz c2VyLCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjU3OC50 eHQiPlN0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIp PC9hPiwmcmRxdW87IFNURCZuYnNwOzU4LCBSRkMmbmJzcDsyNTc4LCBBcHJpbCZuYnNwOzE5OTku PC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5h bWU9IlJGQzI1NzkiPltSRkMyNTc5XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48 YSBocmVmPSJtYWlsdG86a3ptQGNpc2NvLmNvbSI+TWNDbG9naHJpZSwgSy48L2E+LCA8YSBocmVm PSJtYWlsdG86ZHBlcmtpbnNAc25tcGluZm8uY29tIj5QZXJraW5zLCBELjwvYT4sIDxhIGhyZWY9 Im1haWx0bzpzY2hvZW53QGlici5jcy50dS1icy5kZSI+U2Nob2Vud2FlbGRlciwgSi48L2E+LCBD YXNlLCBKLiwgTWNDbG9naHJpZSwgSy4sIFJvc2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgJmxk cXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI1NzkudHh0Ij5UZXh0 dWFsIENvbnZlbnRpb25zIGZvciBTTUl2MjwvYT4sJnJkcXVvOyBTVEQmbmJzcDs1OCwgUkZDJm5i c3A7MjU3OSwgQXByaWwmbmJzcDsxOTk5LjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMyNTgwIj5bUkZDMjU4MF08L2E+PC90ZD4K PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1j Q2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+ UGVya2lucywgRC48L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOnNjaG9lbndAaWJyLmNzLnR1LWJz LmRlIj5KLiBTY2hvZW53YWVsZGVyPC9hPiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2ku ZWR1L2luLW5vdGVzL3JmYzI1ODAudHh0Ij5Db25mb3JtYW5jZSBTdGF0ZW1lbnRzIGZvciBTTUl2 MjwvYT4sJnJkcXVvOyBTVEQmbmJzcDs1OCwgUkZDJm5ic3A7MjU4MCwgQXByaWwmbmJzcDsxOTk5 LjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBu YW1lPSJSRkMzNDEwIj5bUkZDMzQxMF08L2E+PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+ Q2FzZSwgSi4sIE11bmR5LCBSLiwgUGFydGFpbiwgRC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87 PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMzQxMC50eHQiPkludHJvZHVj dGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBN YW5hZ2VtZW50IEZyYW1ld29yazwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNDEwLCBEZWNlbWJlciZu YnNwOzIwMDIuPC90ZD48L3RyPgo8L3RhYmxlPgoKPGEgbmFtZT0icmZjLnJlZmVyZW5jZXMyIj48 L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj ZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJi dWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+ PC90cj48L3RhYmxlPgo8aDM+MTAuMi4mbmJzcDtJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMz4K PHRhYmxlIHdpZHRoPSI5OSUiIGJvcmRlcj0iMCI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0 IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iQU5GUCI+W0FORlBdPC9hPjwvdGQ+Cjx0ZCBjbGFzcz0i YXV0aG9yLXRleHQiPk5ldHdvcmsgSW50ZXJvcGVyYWJpbGl0eSBDb25zdWx0YXRpdmUgQ29tbWl0 dGVlIChOSUNDKSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cubmljYy5vcmcudWsvbmljYy1w dWJsaWMvUHVibGljL2ludGVyY29ubmVjdHN0YW5kYXJkcy9kc2x0Z19zcGVjL25kMTYwMl8yMDA1 XzA4LnBkZiI+U3BlY2lmaWNhdGlvbiBvZiB0aGUgQWNjZXNzIE5ldHdvcmsgRnJlcXVlbmN5IFBs YW4gKEFORlApCiAgICAgICAgYXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24gc3lzdGVtcyB1c2Vk IG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yazwvYT4sJnJkcXVvOyBOSUNDIERvY3VtZW50Jm5ic3A7 TkQxNjAyOjIwMDUvMDgsIEF1Z3VzdCZuYnNwOzIwMDUuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNz PSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkcuOTkxLjIiPltHLjk5MS4yXTwv YT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5JVFUtVCwgJmxkcXVvOzxhIGhyZWY9Imh0 dHA6Ly93d3cuaXR1LmludC9yZWMvcmVjb21tZW5kYXRpb24uYXNwP3R5cGU9Zm9sZGVycyZhbXA7 bGFuZz1lJmFtcDtwYXJlbnQ9VC1SRUMtRy45OTEuMiI+U2luZ2xlLXBhaXIgSGlnaC1zcGVlZCBE aWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIHRyYW5zY2VpdmVyczwvYT4sJnJkcXVvOyBJ VFUtVCBSZWNvbW1lbmRhdGlvbiZuYnNwO0cuOTkxLjIsIERlY2VtYmVyJm5ic3A7MjAwMy48L3Rk PjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0i Ry45OTMuMSI+W0cuOTkzLjFdPC9hPjwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklUVS1U LCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5pdHUuaW50L3JlYy9yZWNvbW1lbmRhdGlvbi5h c3A/dHlwZT1mb2xkZXJzJmFtcDtsYW5nPWUmYW1wO3BhcmVudD1ULVJFQy1HLjk5My4xIj5WZXJ5 IEhpZ2ggc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgdHJhbnNjZWl2ZXJzPC9hPiwmcmRx dW87IElUVS1UIFJlY29tbWVuZGF0aW9uJm5ic3A7Ry45OTMuMSwgSnVuZSZuYnNwOzIwMDQuPC90 ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9 IkktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWIiPltJLUQuaWV0Zi1odWJtaWItZWZtLWVwb24t bWliXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86bGlv cl9raGVybW9zaEBwbWMtc2llcnJhLmNvbSI+S2hlcm1vc2gsIEwuPC9hPiwgJmxkcXVvOzxhIGhy ZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaHVibWli LWVmbS1lcG9uLW1pYi0wNS50eHQiPk1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OPC9hPiwmcmRxdW87 IGRyYWZ0LWlldGYtaHVibWliLWVmbS1lcG9uLW1pYi0wNSAod29yayBpbiBwcm9ncmVzcyksIEp1 bHkmbmJzcDsyMDA2LjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGln bj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJtaWItZWZtLW1pYiI+W0ktRC5pZXRmLWh1Ym1p Yi1lZm0tbWliXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWls dG86bXNxdWlyZUBoYXR0ZXJhc25ldHdvcmtzLmNvbSI+U3F1aXJlLCBNLjwvYT4sICZsZHF1bzs8 YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLWh1 Ym1pYi1lZm0tbWliLTA0LnR4dCI+RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBmb3Ig T0FNIEZ1bmN0aW9ucwogICAgICAgICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzPC9h PiwmcmRxdW87IGRyYWZ0LWlldGYtaHVibWliLWVmbS1taWItMDQgKHdvcmsgaW4gcHJvZ3Jlc3Mp LCBNYXJjaCZuYnNwOzIwMDYuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIg dmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzIj5bSS1ELmll dGYtaHVibWliLXJmYzM2MzZiaXNdPC9hPjwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxh IGhyZWY9Im1haWx0bzplZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iPkJlaWxpLCBFLjwvYT4sICZs ZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1p ZXRmLWh1Ym1pYi1yZmMzNjM2YmlzLTA1LnR4dCI+RGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmpl Y3RzIGZvciBJRUVFIDgwMi4zIE1lZGl1bQogICAgICAgICAgICAgQXR0YWNobWVudCBVbml0cyAo TUFVcyk8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJtaWItcmZjMzYzNmJpcy0wNSAod29yayBp biBwcm9ncmVzcyksIEp1bHkmbmJzcDsyMDA2LjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0 aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJQU5BaWZUeXBlLU1JQiI+W0lBTkFpZlR5 cGUtTUlCXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5JbnRlcm5ldCBBc3NpZ25l ZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lmlh bmEub3JnL2Fzc2lnbm1lbnRzL2lhbmFpZnR5cGUtbWliIj5JQU5BaWZUeXBlIFRleHR1YWwgQ29u dmVudGlvbiBkZWZpbml0aW9uPC9hPiwmcmRxdW87ICZuYnNwO2h0dHA6Ly93d3cuaWFuYS5vcmcv YXNzaWdubWVudHMvaWFuYWlmdHlwZS1taWIuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRo b3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI4NjMiPltSRkMyODYzXTwvYT48L3Rk Pgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9s eiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI4NjMudHh0 Ij5UaGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mjg2MywgSnVu ZSZuYnNwOzIwMDAuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWdu PSJ0b3AiPjxhIG5hbWU9IlJGQzI4NjQiPltSRkMyODY0XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1 dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRy4gSGFuc29uLCAmbGRxdW87PGEgaHJlZj0i ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjg2NC50eHQiPlRoZSBJbnZlcnRlZCBTdGFj ayBUYWJsZSBFeHRlbnNpb24gdG8gdGhlIEludGVyZmFjZXMgR3JvdXAgTUlCPC9hPiwmcmRxdW87 IFJGQyZuYnNwOzI4NjQsIEp1bmUmbmJzcDsyMDAwLjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0i YXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNjM1Ij5bUkZDMzYzNV08L2E+ PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+RmxpY2ssIEouLCAmbGRxdW87PGEgaHJlZj0i ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMzYzNS50eHQiPkRlZmluaXRpb25zIG9mIE1h bmFnZWQgT2JqZWN0cyBmb3IgdGhlIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzPC9hPiwm cmRxdW87IFJGQyZuYnNwOzM2MzUsIFNlcHRlbWJlciZuYnNwOzIwMDMuPC90ZD48L3RyPgo8dHI+ PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzQwNzAiPltS RkM0MDcwXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Eb2RnZSwgTS4gYW5kIEIu IFJheSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzQwNzAu dHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdCBFeHRlbnNpb25zIGZvciBWZXJ5IEhp Z2ggU3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmVzIChWRFNMKSBVc2luZyBNdWx0aXBsZSBD YXJyaWVyIE1vZHVsYXRpb24gKE1DTSkgTGluZSBDb2Rpbmc8L2E+LCZyZHF1bzsgUkZDJm5ic3A7 NDA3MCwgTWF5Jm5ic3A7MjAwNS48L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0 IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDNDMxOSI+W1JGQzQzMTldPC9hPjwvdGQ+Cjx0ZCBj bGFzcz0iYXV0aG9yLXRleHQiPlNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIuIEFiYmksICZsZHF1 bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmM0MzE5LnR4dCI+RGVmaW5p dGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBIaWdoIEJpdC1SYXRlIERTTCAtIDJuZCBnZW5l cmF0aW9uIChIRFNMMikgYW5kIFNpbmdsZS1QYWlyIEhpZ2gtU3BlZWQgRGlnaXRhbCBTdWJzY3Jp YmVyIExpbmUgKFNIRFNMKSBMaW5lczwvYT4sJnJkcXVvOyBSRkMmbmJzcDs0MzE5LCBEZWNlbWJl ciZuYnNwOzIwMDUuPC90ZD48L3RyPgo8L3RhYmxlPgoKPGEgbmFtZT0icmZjLmF1dGhvcnMiPjwv YT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl bGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1 ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48 L3RyPjwvdGFibGU+CjxoMz5BdXRob3IncyBBZGRyZXNzPC9oMz4KPHRhYmxlIHdpZHRoPSI5OSUi IGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0ZCBjbGFz cz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkVkd2Fy ZCBCZWlsaTwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+ Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkFjdGVsaXMgTmV0d29ya3M8L3RkPjwvdHI+Cjx0cj48 dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0 Ij5CYXplbCAyNTwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwv dGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlBldGFjaC1UaWt2YTwvdGQ+PC90cj4KPHRyPjx0 ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi PklzcmFlbDwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPlBo b25lOiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPis5NzItMy05MjQtMzQ5MTwv dGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPkVtYWlsOiZuYnNw OzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0bzplZHdhcmQuYmVp bGlAYWN0ZWxpcy5jb20iPmVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbTwvYT48L3RkPjwvdHI+Cjwv dGFibGU+CjxhIG5hbWU9InJmYy5jb3B5cmlnaHQiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1 bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVn IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9 ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxoMz5JbnRlbGxl Y3R1YWwgUHJvcGVydHkgU3RhdGVtZW50PC9oMz4KPHAgY2xhc3M9J2NvcHlyaWdodCc+ClRoZSBJ RVRGIHRha2VzIG5vIHBvc2l0aW9uIHJlZ2FyZGluZyB0aGUgdmFsaWRpdHkgb3Igc2NvcGUgb2Yg YW55CkludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgb3Igb3RoZXIgcmlnaHRzIHRoYXQgbWln aHQgYmUgY2xhaW1lZAp0byBwZXJ0YWluIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvciB1c2Ugb2Yg dGhlIHRlY2hub2xvZ3kKZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgb3IgdGhlIGV4dGVudCB0 byB3aGljaCBhbnkgbGljZW5zZQp1bmRlciBzdWNoIHJpZ2h0cyBtaWdodCBvciBtaWdodCBub3Qg YmUgYXZhaWxhYmxlOyBub3IgZG9lcyBpdApyZXByZXNlbnQgdGhhdCBpdCBoYXMgbWFkZSBhbnkg aW5kZXBlbmRlbnQgZWZmb3J0IHRvIGlkZW50aWZ5IGFueQpzdWNoIHJpZ2h0cy4KSW5mb3JtYXRp b24gb24gdGhlIHByb2NlZHVyZXMgd2l0aCByZXNwZWN0IHRvCnJpZ2h0cyBpbiBSRkMgZG9jdW1l bnRzIGNhbiBiZSBmb3VuZCBpbiBCQ1AmbmJzcDs3OCBhbmQgQkNQJm5ic3A7NzkuPC9wPgo8cCBj bGFzcz0nY29weXJpZ2h0Jz4KQ29waWVzIG9mIElQUiBkaXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJ RVRGIFNlY3JldGFyaWF0IGFuZCBhbnkKYXNzdXJhbmNlcyBvZiBsaWNlbnNlcyB0byBiZSBtYWRl IGF2YWlsYWJsZSwKb3IgdGhlIHJlc3VsdCBvZiBhbiBhdHRlbXB0IG1hZGUgdG8gb2J0YWluIGEg Z2VuZXJhbCBsaWNlbnNlIG9yCnBlcm1pc3Npb24gZm9yIHRoZSB1c2Ugb2Ygc3VjaCBwcm9wcmll dGFyeSByaWdodHMgYnkgaW1wbGVtZW50ZXJzIG9yCnVzZXJzIG9mIHRoaXMgc3BlY2lmaWNhdGlv biBjYW4gYmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBvbi1saW5lIElQUgpyZXBvc2l0b3J5IGF0 IDxhIGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaXByJz5odHRwOi8vd3d3LmlldGYub3JnL2lw cjwvYT4uPC9wPgo8cCBjbGFzcz0nY29weXJpZ2h0Jz4KVGhlIElFVEYgaW52aXRlcyBhbnkgaW50 ZXJlc3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uCmFueSBjb3B5cmlnaHRzLApw YXRlbnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsCm9yIG90aGVyCnByb3ByaWV0YXJ5IHJpZ2h0 cyB0aGF0IG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQgbWF5IGJlIHJlcXVpcmVkCnRvIGltcGxl bWVudCB0aGlzIHN0YW5kYXJkLgpQbGVhc2UgYWRkcmVzcyB0aGUgaW5mb3JtYXRpb24gdG8gdGhl IElFVEYgYXQgPGEgaHJlZj0nbWFpbHRvOmlldGYtaXByQGlldGYub3JnJz5pZXRmLWlwckBpZXRm Lm9yZzwvYT4uPC9wPgo8aDM+RGlzY2xhaW1lciBvZiBWYWxpZGl0eTwvaDM+CjxwIGNsYXNzPSdj b3B5cmlnaHQnPgpUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhl cmVpbiBhcmUgcHJvdmlkZWQKb24gYW4gJmxkcXVvO0FTIElTJnJkcXVvOyBiYXNpcyBhbmQgVEhF IENPTlRSSUJVVE9SLApUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRTIE9SIElTIFNQ T05TT1JFRCBCWSAoSUYgQU5ZKSwKVEhFIElOVEVSTkVUIFNPQ0lFVFkgQU5EIFRIRSBJTlRFUk5F VCBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNCkFMTCBXQVJSQU5USUVTLApFWFBSRVNT IE9SIElNUExJRUQsCklOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRI QVQgVEhFIFVTRSBPRiBUSEUKSU5GT1JNQVRJT04gSEVSRUlOIFdJTEwgTk9UIElORlJJTkdFIEFO WSBSSUdIVFMgT1IgQU5ZIElNUExJRUQKV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgT1Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuPC9wPgo8aDM+Q29weXJpZ2h0IFN0YXRl bWVudDwvaDM+CjxwIGNsYXNzPSdjb3B5cmlnaHQnPgpDb3B5cmlnaHQgJmNvcHk7IFRoZSBJbnRl cm5ldCBTb2NpZXR5ICgyMDA2KS4KVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIHRoZSByaWdo dHMsCmxpY2Vuc2VzIGFuZCByZXN0cmljdGlvbnMgY29udGFpbmVkIGluIEJDUCZuYnNwOzc4LAph bmQgZXhjZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLAp0aGUgYXV0aG9ycyByZXRhaW4gYWxsIHRo ZWlyIHJpZ2h0cy48L3A+CjxoMz5BY2tub3dsZWRnbWVudDwvaDM+CjxwIGNsYXNzPSdjb3B5cmln aHQnPgpGdW5kaW5nIGZvciB0aGUgUkZDIEVkaXRvciBmdW5jdGlvbiBpcyBjdXJyZW50bHkgcHJv dmlkZWQgYnkgdGhlCkludGVybmV0IFNvY2lldHkuPC9wPgo8L2JvZHk+PC9odG1sPgo= ------_=_NextPart_001_01C6EEE9.F9811D78 Content-Type: application/octet-stream; name="efm-cu-mib.mib" Content-Transfer-Encoding: base64 Content-Description: efm-cu-mib.mib Content-Disposition: attachment; filename="efm-cu-mib.mib" RUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAgTU9EVUxF LUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAg ICBVbnNpZ25lZDMyLCBDb3VudGVyMzIsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAg ICAgICAtLSBSRkMgMjU3OA0KICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93 U3RhdHVzLCBQaHlzQWRkcmVzcw0KICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZD IDI1NzkNCiAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04t R1JPVVANCiAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgU25t cEFkbWluU3RyaW5nDQogICAgICBGUk9NIFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQ0K ICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAgICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0tIFJG QyAyODYzDQogICAgOw0KDQogIGVmbUN1TUlCIE1PRFVMRS1JREVOVElUWQ0KICAgIExBU1QtVVBE QVRFRCAiMjAwNjEwMTIwMDAwWiIgIC0tIE9jdG9iZXIgMTIsIDIwMDYNCiAgICBPUkdBTklaQVRJ T04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIg0K ICAgIENPTlRBQ1QtSU5GTw0KICAgICAgIldHIGNoYXJ0ZXI6DQogICAgICAgIGh0dHA6Ly93d3cu aWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5odG1sDQoNCiAgICAgIE1haWxp bmcgTGlzdHM6DQogICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lvbjogaHVibWliQGlldGYub3JnDQog ICAgICAgIFRvIFN1YnNjcmliZTogaHVibWliLXJlcXVlc3RAaWV0Zi5vcmcNCiAgICAgICAgSW4g Qm9keTogc3Vic2NyaWJlIHlvdXJfZW1haWxfYWRkcmVzcw0KDQogICAgICBDaGFpcjogIERhbiBS b21hc2NhbnUNCiAgICAgIFBvc3RhbDogQXZheWENCiAgICAgICAgICAgICAgQXRpZGltIFRlY2hu b2xvZ3kgUGFyaywgQmxkZy4gMw0KICAgICAgICAgICAgICBUZWwgQXZpdiA2MTEzMQ0KICAgICAg ICAgICAgICBJc3JhZWwNCiAgICAgICAgIFRlbDogKzk3MiAzIDY0NSA4NDE0DQogICAgICBFLW1h aWw6IGRyb21hc2NhQGF2YXlhLmNvbQ0KDQogICAgICBFZGl0b3I6IEVkd2FyZCBCZWlsaQ0KICAg ICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAgICAgICAgICAgICAgMjUgQmF6ZWwg U3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAgUGV0YWNoLVRpa3ZhIDEwMTczDQogICAg ICAgICAgICAgIElzcmFlbA0KICAgICAgICAgICAgICBUZWw6ICs5NzItMy05MjQtMzQ5MQ0KICAg ICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iDQoNCiAgICBERVNDUklQVElPTg0K ICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBtYW5hZ2UN CiAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSAoRUZNKSBDb3BwZXIgKEVGTUN1 KSBJbnRlcmZhY2VzDQogICAgICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTLCBkZWZpbmVkIGluIElF RUUgU3RkLiA4MDIuM2FoLTIwMDQsDQogICAgICB3aGljaCBpcyBub3cgYSBwYXJ0IG9mIElFRUUg U3RkLiA4MDIuMy0yMDA1Lg0KDQogICAgICBUaGUgZm9sbG93aW5nIHJlZmVyZW5jZXMgYXJlIHVz ZWQgdGhyb3VnaG91dCB0aGlzIE1JQiBtb2R1bGU6DQoNCiAgICAgIFs4MDIuM2FoXSByZWZlcnMg dG86DQogICAgICAgIElFRUUgU3RkIDgwMi4zYWgtMjAwNDogJ0lFRUUgU3RhbmRhcmQgZm9yIElu Zm9ybWF0aW9uDQogICAgICAgIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGlu Zm9ybWF0aW9uIGV4Y2hhbmdlDQogICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCBt ZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50 cyAtDQogICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBD b2xsaXNpb24NCiAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQ aHlzaWNhbCBMYXllcg0KICAgICAgICBTcGVjaWZpY2F0aW9ucyAtDQogICAgICAgIEFtZW5kbWVu dDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwNCiAgICAgICAgTGF5 ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIgQWNjZXNzDQogICAg ICAgIE5ldHdvcmtzJywgMDcgU2VwdGVtYmVyIDIwMDQuDQoNCiAgICAgIE9mIHBhcnRpY3VsYXIg aW50ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGluZw0KICAgICAgU3VibGF5ZXIg KFBDUykgYW5kIGNvbW1vbiBzcGVjaWZpY2F0aW9ucywgdHlwZSAxMFBBU1MtVFMgYW5kDQogICAg ICB0eXBlIDJCQVNFLVRMJywgQ2xhdXNlIDMwLCAnTWFuYWdlbWVudCcsIENsYXVzZSA0NSwNCiAg ICAgICdNYW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0IChNRElPKSBJbnRlcmZhY2UnLCBBbm5l eCA2MkEsDQogICAgICAnUE1EIHByb2ZpbGVzIGZvciAxMFBBU1MtVFMnIGFuZCBBbm5leCA2M0Es ICdQTUQgcHJvZmlsZXMgZm9yDQogICAgICAyQkFTRS1UTCcuDQoNCiAgICAgIFtHLjk5MS4yXSBy ZWZlcnMgdG86DQogICAgICAgIElUVS1UIFJlY29tbWVuZGF0aW9uIEcuOTkxLjI6ICdTaW5nbGUt cGFpciBIaWdoLXNwZWVkIERpZ2l0YWwNCiAgICAgICAgU3Vic2NyaWJlciBMaW5lIChTSERTTCkg dHJhbnNjZWl2ZXJzJywgRGVjZW1iZXIgMjAwMy4NCg0KICAgICAgW0FORlBdIHJlZmVycyB0bzoN CiAgICAgICAgTklDQyBEb2N1bWVudCBORDE2MDI6MjAwNS8wODogJ1NwZWNpZmljYXRpb24gb2Yg dGhlIEFjY2Vzcw0KICAgICAgICBOZXR3b3JrIEZyZXF1ZW5jeSBQbGFuIChBTkZQKSBhcHBsaWNh YmxlIHRvIHRyYW5zbWlzc2lvbg0KICAgICAgICBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2Vz cyBOZXR3b3JrLCcgQXVndXN0IDIwMDUuDQoNCiAgICAgIE5hbWluZyBDb252ZW50aW9uczoNCiAg ICAgICAgQXRuICAgLSBBdHRlbnVhdGlvbg0KICAgICAgICBDTyAgICAtIENlbnRyYWwgT2ZmaWNl DQogICAgICAgIENQRSAgIC0gQ3VzdG9tZXIgUHJlbWlzZXMgRXF1aXBtZW50DQogICAgICAgIEVG TSAgIC0gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUNCiAgICAgICAgRUZNQ3UgLSBFRk0gQ29w cGVyDQogICAgICAgIE1ESU8gIC0gTWFuYWdlbWVudCBEYXRhIElucHV0L091dHB1dA0KICAgICAg ICBNZ24gICAtIE1hcmdpbg0KICAgICAgICBQQUYgICAtIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlv bg0KICAgICAgICBQQk8gICAtIFBvd2VyIEJhY2stT2ZmDQogICAgICAgIFBDUyAgIC0gUGh5c2lj YWwgQ29kaW5nIFN1YmxheWVyDQogICAgICAgIFBNRCAgIC0gUGh5c2ljYWwgTWVkaXVtIERlcGVu ZGVudA0KICAgICAgICBQTUUgICAtIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkNCiAgICAgICAgUFNE ICAgLSBQb3dlciBTcGVjdHJhbCBEZW5zaXR5DQogICAgICAgIFNOUiAgIC0gU2lnbmFsIHRvIE5v aXNlIFJhdGlvDQogICAgICAgIFRDUEFNIC0gVHJlbGxpcyBDb2RlZCBQdWxzZSBBbXBsaXR1ZGUg TW9kdWxhdGlvbg0KDQogICAgICBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgy MDA2KS4gIFRoaXMgdmVyc2lvbg0KICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2Yg UkZDIFhYWFg7ICBzZWUgdGhlIFJGQw0KICAgICAgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGlj ZXMuIg0KDQogICAgUkVWSVNJT04gICAgIjIwMDYxMDEyMDAwMFoiICAtLSBPY3RvYmVyIDEyLCAy MDA2DQogICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBY WFhYLiINCg0KICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJG QyBudW1iZXIgJg0KICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KIA0KICAgIDo6PSB7IG1pYi0y IFlZWSB9DQoNCiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBZWVkgd2l0aCBhIHJlYWwgT0lEIG9u Y2UgaXQgaXMNCiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0t IFNlY3Rpb25zIG9mIHRoZSBtb2R1bGUNCg0KICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdU1JQiAxIH0NCg0KICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1Qg SURFTlRJRklFUiA6Oj0geyBlZm1DdU1JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1 bGUNCg0KICAgZWZtQ3VQb3J0ICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9i amVjdHMgMSB9DQoNCiAgIGVmbUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VPYmplY3RzIDIgfQ0KDQogICAtLSBUZXh0dWFsIENvbnZlbnRpb25zDQoNCiAgIFByb2Zp bGVJbmRleCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAgIERJU1BMQVktSElOVCAiZCINCiAg ICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB1bmlx dWUgdmFsdWUsIGdyZWF0ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29uZmlndXJhdGlvbg0K ICAgICAgIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5E RUQgdGhhdA0KICAgICAgIHZhbHVlcyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5n IGZyb20gMS4gVGhlIHZhbHVlDQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNUIHJlbWFpbiBj b25zdGFudCBhdCBsZWFzdCBmcm9tIG9uZQ0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBlbnRpdHkncyBuZXR3b3JrIG1hbmFnZW1lbnQgc3lzdGVtDQogICAgICAgdG8gdGhlIG5leHQg cmUtaW5pdGlhbGl6YXRpb24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMS4uMjU1 KQ0KDQogICBQcm9maWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBE SVNQTEFZLUhJTlQgImQiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0 aGUgUHJvZmlsZUluZGV4DQogICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRlciBkZWZpbmVzIGEg Z3JlYXRlciB0aGFuIHplcm8gdmFsdWUgdXNlZA0KICAgICAgIHRvIGlkZW50aWZ5IGEgUE1FIHBy b2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gVGhpcw0KICAgICAgIGV4dGVuc2lvbiBw ZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVlIG9mIHplcm8uIFRoZSB2YWx1ZSBvZg0KICAgICAg IHplcm8gaXMgb2JqZWN0LXNwZWNpZmljIGFuZCBNVVNUIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFz IHBhcnQNCiAgICAgICBvZiB0aGUgZGVzY3JpcHRpb24gb2YgYW55IG9iamVjdCB3aGljaCB1c2Vz IHRoaXMgc3ludGF4Lg0KICAgICAgIEV4YW1wbGVzIG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVl IG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucw0KICAgICAgIHdoZXJlIGN1cnJlbnQgb3BlcmF0aW9u YWwgcHJvZmlsZSBpcyB1bmtub3duLiINCiAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDAu LjI1NSkNCg0KICAgUHJvZmlsZUluZGV4TGlzdCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAg IERJU1BMQVktSElOVCAiMWQ6Ig0KICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICJSZXByZXNlbnRzIGEgbGlzdCBvZiB1cCB0byA2IFByb2ZpbGVJbmRl eCdzLg0KICAgICAgIFRoZSBQcm9maWxlSW5kZXggdGV4dHVhbCBjb252ZW50aW9uIGRlZmluZXMg YSBncmVhdGVyIHRoYW4NCiAgICAgICB6ZXJvIHZhbHVlIHVzZWQgdG8gaWRlbnRpZnkgYSBQTUUg cHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdQ0KICAgICAgIHBvcnQuIFRoZSB2YWx1ZSBvZiB0 aGlzIG9iamVjdCBpcyBhIGNvbmNhdGVuYXRpb24gb2Ygb25lIG9yDQogICAgICAgbW9yZSAodXAg dG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAg UHJvZmlsZUluZGV4IHZhbHVlLg0KICAgICAgIFRoZSBQcm9maWxlSW5kZXhMaXN0IHNwZWNpZmll cyBhIGxpc3Qgb2YgYWx0ZXJuYXRpdmUNCiAgICAgICBwcm9maWxlcywgYW55IG9mIHdoaWNoIGNh biBiZSBjaG9zZW4gZm9yIGNvbmZpZ3VyYXRpb24gb2YgYW4NCiAgICAgICBQTUUuIg0KICAgICBT WU5UQVggICAgICAgT0NURVQgU1RSSU5HIChTSVpFKDEuLjYpKQ0KDQogICBUcnV0aFZhbHVlT3JV bmtub3duIDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgYW4g ZXh0ZW5zaW9uIG9mIHRoZSBUcnV0aFZhbHVlDQogICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRl ciBkZWZpbmVzIGEgYm9vbGVhbiB2YWx1ZSB3aXRoIA0KICAgICAgIHBvc3NpYmxlIHZhbHVlcyBv ZiB0cnVlKDEpIGFuZCBmYWxzZSgyKS4gVGhpcw0KICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRo ZSBhZGRpdGlvbmFsIHZhbHVlIG9mIHVua25vd24oMCksIHdoaWNoDQogICAgICAgY2FuIGJlIHJl dHVybmVkIGFzIGEgcmVzdWx0IG9mIEdFVCBvcGVyYXRpb24sIHdoZW4gYW4gZXhhY3QNCiAgICAg ICB0cnVlIG9yIGZhbHNlIHZhbHVlIG9mIHRoZSBvYmplY3QgY2Fubm90IGJlIGRldGVybWluZWQu Ig0KICAgICBTWU5UQVggICAgICAgSU5URUdFUiB7IHVua25vd24oMCksIHRydWUoMSksIGZhbHNl KDIpIH0NCg0KICAtLSBQb3J0IE5vdGlmaWNhdGlvbnMgR3JvdXANCg0KICAgZWZtQ3VQb3J0Tm90 aWZpY2F0aW9ucyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBvcnQgMCB9DQogICANCiAg IGVmbUN1TG93UmF0ZUNyb3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0K ICAgICAgIC0tIGlmSW5kZXggaXMgbm90IG5lZWRlZCBoZXJlIHNpbmNlIHdlIGFyZSB1bmRlciBz cGVjaWZpYyBQQ1MNCiAgICAgICBpZlNwZWVkLA0KICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZQ0K ICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIEVGTUN1IHBvcnQnIGRhdGEg cmF0ZQ0KICAgICAgIGhhcyByZWFjaGVkL2Ryb3BwZWQgYmVsb3cgb3IgZXhjZWVkZWQgdGhlIGxv dyByYXRlIHRocmVzaG9sZCwNCiAgICAgICBzcGVjaWZpZWQgYnkgZWZtQ3VUaHJlc2hMb3dSYXRl Lg0KDQogICAgICAgVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgZm9yIHRoZSAtTyBzdWJ0 eXBlIHBvcnRzDQogICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSB3aGlsZSB0aGUgcG9ydCBp cyB1cCwgb24gdGhlIGNyb3NzaW5nDQogICAgICAgZXZlbnQgaW4gYm90aCBkaXJlY3Rpb25zOiBm cm9tIG5vcm1hbCAocmF0ZSBpcyBhYm92ZSB0aGUNCiAgICAgICB0aHJlc2hvbGQpIHRvIGxvdyAo cmF0ZSBlcXVhbHMgdGhlIHRocmVzaG9sZCBvciBiZWxvdyBpdCkgYW5kDQogICAgICAgZnJvbSBs b3cgdG8gbm9ybWFsLiBUaGlzIG5vdGlmaWNhdGlvbiBpcyBub3QgYXBwbGljYWJsZSB0bw0KICAg ICAgIHRoZSAtUiBzdWJ0eXBlcy4NCg0KICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBz bWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLA0KICAgICAgIGJldHdlZW4gdGhlIGRl dGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFuZCBub3RpZmljYXRpb24sDQogICAgICAgaXMgaW1w bGVtZW50ZWQgdG8gcHJldmVudCBzaW11bHRhbmVvdXMgTGlua1VwL0xpbmtEb3duIGFuZA0KICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgdG8gYmUgc2VudC4NCg0KICAg ICAgIFRoZSBhZGFwdGl2ZSBuYXR1cmUgb2YgdGhlIEVGTUN1IHRlY2hub2xvZ3kgYWxsb3dzIHRo ZSBwb3J0IHRvDQogICAgICAgYWRhcHQgaXRzZWxmIHRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjb3Bw ZXIgZW52aXJvbm1lbnQsIGUuZy4NCiAgICAgICBhbiBpbXB1bHNlIG5vaXNlLCBhbGllbiBjcm9z c3RhbGsgb3IgYSBtaWNyby1pbnRlcnJ1cHRpb24gbWF5DQogICAgICAgdGVtcG9yYXJpbHkgZHJv cCBvbmUgb3IgbW9yZSBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cCwNCiAgICAgICBjYXVz aW5nIGEgcmF0ZSBkZWdyYWRhdGlvbiBvZiB0aGUgYWdncmVnYXRlZCBFRk1DdSBsaW5rLg0KICAg ICAgIFRoZSBkcm9wcGVkIFBNRXMgd291bGQgdGhlbiB0cnkgdG8gcmUtaW5pdGlhbGl6ZSwgcG9z c2libHkgYXQNCiAgICAgICBhIGxvd2VyIHJhdGUgdGhhbiBiZWZvcmUsIGFkanVzdGluZyB0aGUg cmF0ZSB0byBwcm92aWRlDQogICAgICAgcmVxdWlyZWQgdGFyZ2V0IFNOUiBtYXJnaW4uDQoNCiAg ICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhl IA0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7 IGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIC0tIFBDUyBQb3J0IGdyb3VwDQoNCiAg IGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5D RSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUYWJs ZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1MtVFMgKFBDUykNCiAg ICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBh DQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVmbUN1UG9ydCAxIH0NCg0K ICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1 UG9ydENvbmZFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRo ZSBFRk1DdSBQb3J0IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXBy ZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICBOb3Rl IHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICBv ciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4 LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZUYWJs ZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAg ICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1D dVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywNCiAgICAgICBlZm1DdUFk bWluUHJvZmlsZSAgICAgICAgICAgICAgICBQcm9maWxlSW5kZXhMaXN0LA0KICAgICAgIGVmbUN1 VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VUYXJn ZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdUFkYXB0aXZl U3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZhbHVlLA0KICAgICAgIGVmbUN1VGhyZXNoTG93UmF0 ZSAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdF bmFibGUgICAgICAgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAg T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgZW5hYmxlZCgx KSwNCiAgICAgICBkaXNhYmxlZCgyKQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3Jp dGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJB ZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBvZiB0aGUgRUZNQ3UgcG9y dA0KICAgICAgIChQQ1MpLg0KICAgICAgIFdoZW4gJ2Rpc2FibGVkJywgUE1FIEFnZ3JlZ2F0aW9u IHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICBQQ1MuIE5vIG1vcmUgdGhhbiBh IHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGluDQogICAgICAgdGhpcyBj YXNlLg0KICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBwZXJmb3JtZWQgYnkgdGhl IFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgaXMgVXAsIGV2ZW4gb24gYSBzaW5nbGUgYXR0YWNo ZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgUENTIHBvcnRzIGluY2FwYWJs ZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBvZg0KICAgICAgICdkaXNh YmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9ydHMgU0hBTEwgYmUgaWdub3JlZC4N Cg0KICAgICAgIFBBRiAnZW5hYmxlZCcgcG9ydCB3aXRoIG11bHRpcGxlIFBNRXMgYXNzaWduZWQg Y2Fubm90IGJlDQogICAgICAgJ2Rpc2FibGVkJy4gQXR0ZW1wdHMgdG8gJ2Rpc2FibGUnIHN1Y2gg cG9ydCBTSEFMTCBiZSByZWplY3RlZCwNCiAgICAgICB1bnRpbCBhdCBtb3N0IG9uZSBQTUUgaXMg bGVmdCBhc3NpZ25lZC4NCg0KICAgICAgIENoYW5naW5nIFBBRkFkbWluU3RhdGUgaXMgYSB0cmFm ZmljIGRpc3J1cHRpdmUgb3BlcmF0aW9uIGFuZA0KICAgICAgIGFzIHN1Y2ggU0hBTEwgYmUgZG9u ZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvDQogICAgICAgY2hhbmdlIHRoaXMg b2JqZWN0IFNIQUxMIGJlIGlnbm9yZWQgaWYgdGhlIGxpbmsgaXMgVXAgb3INCiAgICAgICBJbml0 aWFsaXppbmcuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlIGFQQUZBZG1pblN0YXRlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFw cyB0byB0aGUgUEFGIGVuYWJsZSBiaXQgaW4gdGhlIDEwUC8yQiBQQ1MgY29udHJvbA0KICAgICAg IHJlZ2lzdGVyLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYx LjIuMiwgNDUuMi4zLjE4LjMiDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAxIH0NCg0K ICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQ aHlzQWRkcmVzcw0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUEFGIERpc2NvdmVyeSBDb2RlIG9m IHRoZSBFRk1DdSBwb3J0IChQQ1MpLg0KICAgICAgIEEgdW5pcXVlIDYgQnl0ZSBsb25nIGNvZGUg dXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1bmN0aW9uLCB3aGVuDQogICAgICAgUEFGIGlzIHN1cHBv cnRlZC4NCiAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxM IHJldHVybiBhIHZhbHVlIG9mDQogICAgICAgYWxsIHplcm9lcy4gQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IFNIQUxMIGJlIGlnbm9yZWQgaW4NCiAgICAgICB0aGlzIGNhc2UuDQogICAg ICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBD UyBiZWZvcmUNCiAgICAgICB3cml0aW5nIG9wZXJhdGlvbnMgb24gdGhlIGVmbUN1UEFGUmVtb3Rl RGlzY292ZXJ5Q29kZQ0KICAgICAgIChTZXRfaWZfQ2xlYXIgYW5kIENsZWFyX2lmX1NhbWUpIGFy ZSBwZXJmb3JtZWQgYnkgUE1Fcw0KICAgICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgUENTLg0KICAg ICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyByZWFkLW9ubHkgZm9yIC1SIHBvcnQgc3Vi dHlwZXMuDQogICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3QgZm9yIC1SIHBv cnRzIGFmdGVyIHJlc2V0DQogICAgICAgaXMgMC4gVGhpcyB2YWx1ZSBtYXkgYmUgY2hhbmdlZCBh cyBhIHJlc3VsdCBvZiB3cml0aW5nDQogICAgICAgb3BlcmF0aW9uIG9uIGVmbUN1UEFGUmVtb3Rl RGlzY292ZXJ5Q29kZSB2YXJpYWJsZSBvZiByZW1vdGUNCiAgICAgICBQTUUgb2YgLU8gc3VidHlw ZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1Fcw0KICAgICAgIGFzc29jaWF0ZWQg d2l0aCB0aGUgUENTLg0KDQogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4g dGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3Qg TVVTVCBiZSByZWplY3RlZCB3aXRoIHRoZSBlcnJvcg0KICAgICAgIGluY29uc2lzdGVudFZhbHVl IGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoZSBQQUYgRGlz Y292ZXJ5IGNvZGUgbWFwcyB0byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUNCiAgICAgICB2YXJp YWJsZSBpbiBQQUYgKG5vdGUgdGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgY29ycmVzcG9uZGluZw0K ICAgICAgIENsYXVzZSA0NSByZWdpc3RlcikiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNjEuMi4yLjguMywgNjEuMi4yLjguNCwgNDUuMi42LjYuMSINCiAgICAgOjo9IHsgZWZt Q3VQb3J0Q29uZkVudHJ5IDIgfQ0KDQogICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgUHJvZmlsZUluZGV4TGlzdA0KICAgICBNQVgtQUNDRVNTICByZWFk LXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiRGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMg aW4gdGhlDQogICAgICAgRUZNQ3UgcG9ydC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBvaW50 ZXJzIHRvIGVudHJpZXMgaW4NCiAgICAgICBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBv cg0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJl bnQNCiAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgRUZNQ3UgcG9ydCBhcyBpbmRpY2F0 ZWQgYnkNCiAgICAgICBlZm1DdVBvcnRTaWRlLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9i amVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mDQogICAgICAgUHJvZmlsZXMuIElm IHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBQcm9maWxlIGluZGV4LA0KICAgICAgIHRo ZW4gYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBFRk1DdSBwb3J0IFNIQUxMIGJlIGNvbmZpZ3Vy ZWQNCiAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFByb2ZpbGUgcmVmZXJlbmNlZCBieSB0aGF0IGlu ZGV4LCB1bmxlc3MgaXQNCiAgICAgICBpcyBvdmVyd3JpdHRlbiBieSBjb3JyZXNwb25kaW5nIG5v bi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxlLA0KICAgICAgIHdoaWNoIHRha2VzIHByZWNlZGVu Y2Ugb3ZlciBlZm1DdUFkbWluUHJvZmlsZS4NCiAgICAgICBUaGUgbGlzdCwgY29uc2lzdGluZyBv ZiBtb3JlIHRoYW4gb25lIGluZGV4LCBhbGxvd3MgZWFjaCBQTUUNCiAgICAgICBpbiB0aGUgcG9y dCB0byBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBhbnkgUHJvZmlsZQ0KICAgICAgIHNwZWNp ZmllZCBpbiB0aGUgbGlzdC4NCiAgICAgICBCeSBkZWZhdWx0IHRoaXMgb2JqZWN0IGhhcyBhIHZh bHVlIG9mIDB4MDEsIHJlZmVyZW5jaW5nIDFzdA0KICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJQ cm9maWxlVGFibGUgb3IgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUuDQoNCiAgICAgICBUaGlzIG9i amVjdCBpcyB3cml0YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSAtTyBzdWJ0eXBlDQogICAgICAg KDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKSBFRk1DdSBwb3J0cy4gSXQgaXMgdW5hdmFpbGFibGUg Zm9yDQogICAgICAgdGhlIC1SICBzdWJ0eXBlICgyQmFzZVRMLVIgb3IgMTBQYXNzVFMtUikgcG9y dHMuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZhbHVl IGlzIGF2YWlsYWJsZSB2aWENCiAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdC4NCg0K ICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVu IHRoZSBsaW5rIGlzDQogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0 IE1VU1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6 aW5nLg0KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIGxpc3Qgd2l0aCBh IG1lbWJlcg0KICAgICAgIHZhbHVlLCB0aGF0IGlzIG5vdCB0aGUgdmFsdWUgb2YgdGhlIGluZGV4 IGZvciBhbiBhY3RpdmUgZW50cnkNCiAgICAgICBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9maWxl IHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAg ICAiWzgwMi4zYWhdIDMwLjExLjIuMS42Ig0KICAgICBERUZWQUwgeyAnMDEnSCB9DQogICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAzIH0NCg0KICAgZWZtQ3VUYXJnZXREYXRhUmF0ZSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDB8OTk5OTk5KQ0K ICAgICBVTklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQg RUZNQ3UgcG9ydCAnbmV0JyAoYXMgc2VlbiBhY3Jvc3MgTUlJKSBEYXRhIFJhdGUgaW4NCiAgICAg ICBLYnBzLCB0byBiZSBhY2hpZXZlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIHVuZGVyIHNwZWN0 cmFsDQogICAgICAgcmVzdHJpY3Rpb25zIHBsYWNlZCBvbiBlYWNoIFBNRSB2aWEgZWZtQ3VBZG1p blByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgd2l0aCB0aGUgZGVzaXJl ZCBTTlIgTWFyZ2luIHNwZWNpZmllZCBieQ0KICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLg0KICAg ICAgIEluIGNhc2Ugb2YgUEFGLCB0aGlzIG9iamVjdCByZXByZXNlbnRzIGEgc3VtIG9mIGluZGl2 aWR1YWwgUE1FDQogICAgICAgZGF0YSByYXRlcywgbW9kaWZpZWQgdG8gY29tcGVuc2F0ZSBmb3Ig ZnJhZ21lbnRhdGlvbiBhbmQNCiAgICAgICA2NC82NUIgZnJhbWluZyBvdmVyaGVhZCAoZS5nLiB0 YXJnZXQgZGF0YSByYXRlIG9mIDEwTWJwcw0KICAgICAgIFNIQUxMIGFsbG93IGxvc3NsZXNzIHRy YW5zbWlzc2lvbiBvZiBmdWxsLWR1cGxleCAxME1icHMNCiAgICAgICBFdGhlcm5ldCBmcmFtZSBz dHJlYW0gd2l0aCBtaW5pbWFsIGludGVyLWZyYW1lIGdhcCkuDQoNCiAgICAgICBUaGUgdmFsdWUg aXMgbGltaXRlZCBhYm92ZSBieSAxMDBNYnBzIGFzIHRoaXMgaXMgdGhlIG1heA0KICAgICAgIGJ1 cnN0IHJhdGUgYWNyb3NzIE1JSSBmb3IgRUZNQ3UgcG9ydHMuDQoNCiAgICAgICBUaGUgdmFsdWUg YmV0d2VlbiAxIGFuZCAxMDAwMDAgaW5kaWNhdGVzIHRoYXQgdGhlIHRvdGFsIGRhdGENCiAgICAg ICByYXRlIChpZlNwZWVkKSBvZiB0aGUgRUZNQ3UgcG9ydCBhZnRlciBpbml0aWFsaXphdGlvbiBT SEFMTA0KICAgICAgIGJlIGVxdWFsIHRvIHRoZSB0YXJnZXQgZGF0YSByYXRlIG9yIGxlc3MsIGlm IHRoZSB0YXJnZXQgZGF0YQ0KICAgICAgIHJhdGUgY2Fubm90IGJlIGFjaGlldmVkIHVuZGVyIHNw ZWN0cmFsIHJlc3RyaWN0aW9ucyBzcGVjaWZpZWQNCiAgICAgICBieSBlZm1DdUFkbWluUHJvZmls ZS9lZm1DdVBtZUFkbWluUHJvZmlsZSBhbmQgd2l0aCBkZXNpcmVkIFNOUg0KICAgICAgIG1hcmdp bi4gSW4gY2FzZSB0aGUgY29wcGVyIGVudmlyb25tZW50IGFsbG93cyB0byBhY2hpZXZlDQogICAg ICAgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQgc3BlY2lmaWVkIGJ5IHRoZSB0YXJn ZXQsIHRoZQ0KICAgICAgIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlIGVpdGhlciBjb252ZXJ0 ZWQgdG8gYWRkaXRpb25hbCBTTlINCiAgICAgICBtYXJnaW4gb3IgcmVjbGFpbWVkIGJ5IG1pbmlt aXppbmcgdHJhbnNtaXQgcG93ZXIgYXMgY29udHJvbGxlZA0KICAgICAgIGJ5IGVmbUN1QWRhcHRp dmVTcGVjdHJhLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIDk5OTk5OSBtZWFucyB0aGF0IHRoZSB0 YXJnZXQgZGF0YSByYXRlIGlzIG5vdA0KICAgICAgIGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8g dGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlIGR1cmluZw0KICAgICAgIGluaXRpYWxpemF0aW9u IChCZXN0IEVmZm9ydCksIHVuZGVyIHNwZWNpZmllZCBzcGVjdHJhbA0KICAgICAgIHJlc3RyaWN0 aW9ucyBhbmQgd2l0aCBkZXNpcmVkIFNOUiBNYXJnaW4uDQoNCiAgICAgICBUaGlzIG9iamVjdCBp cyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAgICgyQmFz ZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4N CiAgICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNUIGJl IHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hh bmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICB3aXRoIHRoZSBlcnJvciBp bmNvbnNpc3RlbnRWYWx1ZSwgaWYgdGhlIGxpbmsgaXMgVXAgb3INCiAgICAgICBJbml0aWFsaXpp bmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBv cnQgaXMgcmVwcmVzZW50ZWQNCiAgICAgICBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoN CiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1h bm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0NCg0KICAgZWZtQ3VUYXJn ZXRTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uMjEp DQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQg RUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFsbCBQTUVzDQogICAgICAg YXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXppYXRpb24uIChUaGUgU05SIG1h cmdpbg0KICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGRlc2lyZWQgU05SIGFu ZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICBOb3RlIHRoYXQgODAyLjNhaCByZWNvbW1lbmRz IHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4NCiAgICAgICBvZiA1ZEIgZm9yIDJCQVNF LVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUyBwb3J0cyBpbiBvcmRlcg0KICAgICAgIHRv IGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUgUE1BDQog ICAgICAgc2VydmljZSBpbnRlcmZhY2UuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkLXdy aXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCiAgICAgICAN CiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IFNOUiBNYXJnaW4gTVVTVCBiZSBwZXJmb3Jt ZWQgd2hlbiB0aGUNCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlz IG9iamVjdCBNVVNUIGJlIHJlamVjdGVkDQogICAgICAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0 ZW50VmFsdWUsIGlmIHRoZSBsaW5rIGlzIFVwIG9yDQogICAgICAgSW5pdGlhbGl6aW5nLg0KDQog ICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgU05SIE1hcmdpbiBvZiB0aGUgUE1FcyBjb21wcmlzaW5n IHRoZSBFRk1DdQ0KICAgICAgIHBvcnQgaXMgcmVwcmVzZW50ZWQgYnkgZWZtQ3VQbWVTbnJNZ24u DQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50 IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMS4yIg0KICAg ICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNSB9DQoNCiAgIGVmbUN1QWRhcHRpdmVTcGVjdHJh ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJJbmRpY2F0ZXMgaG93IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFjaXR5IHdoZW4g dGhlIGNvcHBlcg0KICAgICAgIGVudmlyb25tZW50IGFsbG93cyB0byBhY2hpZXZlIGhpZ2hlciB0 b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0DQogICAgICAgc3BlY2lmaWVkIGJ5IHRoZSBlZm1DdVRh cmdldERhdGFSYXRlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRl cyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZQ0KICAgICAgIHJlY2xhaW1lZCBi eSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyLCBlLmcuIHVzaW5nIGhpZ2hlcg0KICAgICAgIGNv bnN0ZWxsYXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlDQogICAg ICAgaW50ZXJmZXJlbmNlIHRvIG90aGVyIGNvcHBlciBwYWlycyBpbiB0aGUgYmluZGVyIGFuZCB0 aGUgDQogICAgICAgYWR2ZXJzZSBpbXBhY3QgdG8gbGluay9zeXN0ZW0gcGVyZm9ybWFuY2UuDQog ICAgICAgDQogICAgICAgVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2Vz cyBjYXBhYmlsaXR5IFNIQUxMDQogICAgICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05S IG1hcmdpbiBhbmQgc3ByZWFkIGV2ZW5seSBhY3Jvc3MNCiAgICAgICBhbGwgYWN0aXZlIFBNRXMg YXNzaWduZWQgdG8gdGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsNCiAgICAgICByb2J1 c3RuZXNzLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1 YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3Qg YXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcg b2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcw0KICAgICAg IERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIHdp dGggdGhlDQogICAgICAgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUsIGlmIHRoZSBsaW5rIGlzIFVw IG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDYgfQ0KDQogICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwKQ0KICAgICBVTklUUyAgICAgICAiS2JwcyINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQg bG93IHJhdGUgY3Jvc3NpbmcgYWxhcm0NCiAgICAgICB0aHJlc2hvbGQuIFdoZW4gdGhlIGN1cnJl bnQgdmFsdWUgb2YgaWZTcGVlZCBmb3IgdGhpcyBwb3J0DQogICAgICAgcmVhY2hlcy9kcm9wcyBi ZWxvdyBvciBleGNlZWRzIHRoaXMgdGhyZXNob2xkLCBhbg0KICAgICAgIGVmbUN1TG93UmF0ZUNy b3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQNCiAgICAgICBi eSBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHJl YWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgKDJCYXNlVEwt Ty8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNyB9DQoNCiAgIGVmbUN1TG93UmF0 ZUNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVl DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdUxvd1JhdGVD cm9zc2luZyBub3RpZmljYXRpb25zIHNob3VsZA0KICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhp cyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0 aW9uIGlzIGRpc2FibGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3Ig dGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9i amVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA4IH0NCg0KDQogICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFi bGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q2Fw YWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENhcGFi aWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1MtVFMgKFBDUykNCiAgICAgICBQb3J0cy4g RW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhDQogICAgICAgcGVy c2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVmbUN1UG9ydCAyIH0NCg0KICAgZWZtQ3VQb3J0 Q2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENh cGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRo ZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXByZXNl bnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRo YXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBt dWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIN CiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5D RSB7DQogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgICAgICAgICAgICBUcnV0aFZhbHVlT3JVbmtu b3duLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIs DQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMg0KICAg ICB9DQoNCiAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5j dGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykuDQog ICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2Fu IHBlcmZvcm0NCiAgICAgICBQTUUgYWdncmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0K ICAgICAgIFBvcnRzIGluY2FwYWJsZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFs c2UoMikuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmli dXRlIGFQQUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUENTIGlzIHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRv IHRoZSBQQUYgYXZhaWxhYmxlIGJpdCBpbiB0aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSBy ZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4x MS4xLjEuNCwgNDUuMi4zLjE3LjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRy eSAxIH0NCg0KICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlT3JVbmtub3duDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBB Z2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQog ICAgICAgKFBDUykgbGluayBwYXJ0bmVyLg0KICAgICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVl IG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBDUyBjYW4NCiAgICAgICBwZXJmb3JtIFBNRSBh Z2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxhYmxlIFBNRXMuDQogICAgICAgUG9ydHMgd2hvc2UgcGVl cnMgYXJlIGluY2FwYWJsZSBvZiBQQUYsIFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgb2Yg ZmFsc2UoMikuDQogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVj YXVzZSBvZiB0aGUgbGluaw0KICAgICAgIHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1 bmtub3duKDApLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0 dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQQUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVz ZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0 aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBSZW1vdGUgUEFGIHN1cHBvcnRlZCBiaXQgaW4gdGhlDQog ICAgICAgMTBQLzJCIGNhcGFiaWxpdHkgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAg ICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjksIDQ1LjIuMy4xNy4yIg0KICAgICA6Oj0g eyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMiB9DQoNCiAgIGVmbUN1UEFGQ2FwYWNpdHkgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDEuLjMyKQ0KICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGNhbiBiZSBhZ2dyZWdhdGVkIGJ5IHRo ZSBsb2NhbCBQQUYuDQogICAgICAgVGhlIG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3NpZ25l ZCB0byBhIHBhcnRpY3VsYXINCiAgICAgICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMpIGlzIG5l dmVyIGdyZWF0ZXIgdGhhbg0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAgICBUaGlz IG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlDQogICAgICAgYUxvY2FsUEFG Q2FwYWNpdHkuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAu MTEuMS4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAzIH0NCg0KICAg ZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2ln bmVkMzIgKDB8MS4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRo YXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkgdGhlIFBBRiBvZiB0aGUgcGVlcg0KICAgICAgIFBoeSAo UENTIHBvcnQpLg0KICAgICAgIFZhbHVlIG9mIDAgaXMgcmV0dXJuZWQgd2hlbiBwZWVyIFBBRiBD YXBhY2l0eSBpcyB1bmtub3duDQogICAgICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLg0KDQog ICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAg IGFSZW1vdGVQQUZDYXBhY2l0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NjEuMi4yLCAzMC4xMS4xLjEuMTAiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRy eSA0IH0NCg0KDQogICBlZm1DdVBvcnRTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgb3ZlcmFsbCBzdGF0dXMgaW5mb3JtYXRp b24gb2YgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRp bmcgdGhlIGdlbmVyaWMgc3RhdHVzDQogICAgICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJs ZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFibGUgb2YNCiAgICAgICBNQVUtTUlCLiBBZGRpdGlvbmFs IHN0YXR1cyBpbmZvcm1hdGlvbiBhYm91dCBjb25uZWN0ZWQgUE1Fcw0KICAgICAgIGlzIGF2YWls YWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVzVGFibGUuDQoNCiAgICAgICBUaGlzIHRhYmxlIGNvbnRh aW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBlcXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAgaXQgaXMg Tk9UIHBlcnNpc3RlbnQuIg0KICAgICA6Oj0geyBlZm1DdVBvcnQgMyB9DQoNCiAgIGVmbUN1UG9y dFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydFN0YXR1 c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1 IFBvcnQgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1D dSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1 IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlwbGUgUE1F IHBvcnQocyksIHdoaWNoIGFyZSBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAgIElOREVY ICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0NCg0KICAg RWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdUZs dFN0YXR1cyAgICAgICAgICAgICAgICAgICBCSVRTLA0KICAgICAgIGVmbUN1UG9ydFNpZGUgICAg ICAgICAgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VOdW1QTUVzICAgICAgICAgICAg ICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBBRkluRXJyb3JzICAgICAgICAgICAg ICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAg Q291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENvdW50 ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluQmFkRnJhZ21lbnRzICAgICAgICAgICBDb3VudGVyMzIs DQogICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLA0KICAg ICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBl Zm1DdVBBRkluTG9zdEVuZHMgICAgICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQ QUZJbk92ZXJmbG93cyAgICAgICAgICAgICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VG bHRTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgIG5v UGVlcigwKSwNCiAgICAgICBwZWVyUG93ZXJMb3NzKDEpLA0KICAgICAgIHBtZVN1YlR5cGVNaXNt YXRjaCgyKSwNCiAgICAgICBsb3dSYXRlKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVsdCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9z c2libGUNCiAgICAgICBjb25kaXRpb25zLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToN CiAgICAgICAgIG5vUGVlciAgICAgICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hl ZCAoZS5nLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQs IGFsbCBQTUVzIGFyZSBEb3duDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikg TW9yZSBpbmZvIGlzIGF2YWlsYWJsZSBpbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVmbUN1UG1lRmx0U3RhdHVzLg0KICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIg UEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5kaW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmYWlsdXJlIGR1ZSB0byBsb3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCdEeWluZyBHYXNwJykuDQogICAgICAgICBwbWVTdWJUeXBlTWlz bWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXANCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhcmUgbm90IG9mIHRoZSBzYW1lIHN1Yi10eXBlLCBlLmcuDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZp Y2UgYXJlIC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFy ZSAtUiBzdWJ0eXBlLg0KICAgICAgICAgbG93UmF0ZSAgICAgICAgICAgICAtIGlmU3BlZWQgb2Yg dGhlIHBvcnQgcmVhY2hlZCBvciBkcm9wcGVkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRl bmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBvYmplY3QNCiAgICAgICBpbiBJRi1NSUIg YW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4gTUFVLU1JQi4NCg0KICAgICAgIEFkZGl0aW9uYWwg aW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgIG9i amVjdCBmb3IgZWFjaCBQTUUgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlm DQogICAgICAgUEFGIGlzIGRpc2FibGVkKS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJJRi1N SUIsIGlmT3BlclN0YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAg ZWZtQ3VQbWVGbHRTdGF0dXMiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0K DQogICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICBzdWJzY3JpYmVyKDEpLA0KICAgICAgIG9mZmljZSgyKSwNCiAgICAgICB1bmtu b3duKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRUZNIHBvcnQgbW9kZSBvZiBv cGVyYXRpb24gKHN1YnR5cGUpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5k aWNhdGVzIHRoZSBwb3J0IGlzIGRlc2lnbmF0ZWQgYXMNCiAgICAgICAnLVInIHN1YnR5cGUgKGFs bCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICctUicp Lg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBv cnQgaXMNCiAgICAgICBkZXNpZ25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWdu ZWQgdG8gdGhpcyBwb3J0IGFyZQ0KICAgICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgVGhl IHZhbHVlIG9mICd1bmtub3duJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWdu ZWQNCiAgICAgICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2Yg dGhlIHNhbWUgc2lkZQ0KICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgVGhp cyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAg ICBhUGh5RW5kIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4x MS4xLjEuMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMiB9DQoNCiAgIGVmbUN1 TnVtUE1FcyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIp DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgaXMgY3VycmVudGx5 IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2FsIFBBRg0KICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZN Q3UgcG9ydCB1c2luZyBpZlN0YWNrVGFibGUpLg0KICAgICAgIFRoaXMgbnVtYmVyIGlzIG5ldmVy IGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNhcGFjaXR5Lg0KDQogICAgICAgVGhpcyBvYmplY3QgU0hB TEwgYmUgYXV0b21hdGljYWxseSBpbmNyZW1lbnRlZCBvciBkZWNyZW1lbnRlZA0KICAgICAgIHdo ZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVsZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0IHVzaW5n DQogICAgICAgaWZTdGFja1RhYmxlLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSA2MS4yLjIsIDMwLjExLjEuMS42Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAz IH0NCg0KICAgZWZtQ3VQQUZJbkVycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBD b3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHRo YXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUNCiAgICAgICBnYW1tYSBpbnRlcmZhY2Ug d2l0aCBSeEVyciBhc3NlcnRlZCBhbmQgZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5 IGNvdW50ZXIgaXMgaW5hY3RpdmUgKG5vdCBpbmNyZW1lbnRlZCkgd2hlbiB0aGUNCiAgICAgICBQ QUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRo ZQ0KICAgICAgIGNvdW50ZXIgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50 LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBSWCBlcnJv ciByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhp cyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBt YW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVk IGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZp bmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4z LjIxIg0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0NCg0KICAgZWZtQ3VQQUZJ blNtYWxsRnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0K ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMgc21hbGxlciB0aGFu IG1pbkZyYWdtZW50U2l6ZQ0KICAgICAgICg2NCBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNl aXZlZCBhY3Jvc3MgdGhlIGdhbW1hDQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQog ICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMN CiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwg dGhlIGNvdW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAgICAgICAN CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNl bnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIHNtYWxs IGZyYWdtZW50cw0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGlu IHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlh bGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAg ICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlU aW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjIiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDUg fQ0KDQogICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdt ZW50cyBsYXJnZXIgdGhhbiBtYXhGcmFnbWVudFNpemUNCiAgICAgICAoNTEyIEJ5dGVzKSwgd2hp Y2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBpbnRlcmZhY2Ug YW5kIGRpc2NhcmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZl IHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRp c2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3Vz IHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBE aXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQN CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3Vu dGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMyINCiAgICAgOjo9IHsgZWZtQ3VQ b3J0U3RhdHVzRW50cnkgNiB9DQoNCiAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEg bnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhlIHNlcXVlbmNlDQog ICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLCB0aGF0IGhhdmUg YmVlbg0KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFuZCBkaXNj YXJkZWQgKHRoZQ0KICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZh bGlkIGZyYW1lIHN0YXJ0KS4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0 aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9u IGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZp b3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIDEwUC8yQiBQQUYgYmFkIGZyYWdtZW50cw0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAg RGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0 DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQg YXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291 bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAg UkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiDQogICAgIDo6PSB7IGVmbUN1 UG9ydFN0YXR1c0VudHJ5IDcgfQ0KDQogICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi QSBudW1iZXIgb2YgZ2FwcyBpbiB0aGUgc2VxdWVuY2Ugb2YgZnJhZ21lbnRzLCB3aGljaCBoYXZl DQogICAgICAgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAodGhlIGZy YW1lIGJ1ZmZlciBpcw0KICAgICAgIGZsdXNoZWQgdG8gdGhlIG5leHQgdmFsaWQgZnJhbWUgc3Rh cnQsIHdoZW4gZnJhZ21lbnQvZnJhZ21lbnRzDQogICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1l IGFzc2VtYmx5IGZ1bmN0aW9uIGlzL2FyZSBub3QgcmVjZWl2ZWQpLg0KICAgICAgIFRoaXMgcmVh ZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBw b3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQog ICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAg ICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IGZyYWdtZW50DQogICAg ICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRo aXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUg bWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRl ZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVm aW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIu My4yNiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgOCB9DQoNCiAgIGVmbUN1UEFG SW5Mb3N0U3RhcnRzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIFN0YXJ0T2ZQYWNrZXQgaW5k aWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbi4N CiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBp cw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFG LCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KICAgICAg IA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJl c2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9z dCBzdGFydCBvZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGlu dWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAg cmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIg dGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2Nv bnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjciDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1 c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIG1p c3NpbmcgRW5kT2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFt ZSBhc3NlbWJseSBmdW5jdGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGlu YWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBV cG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHBy ZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVy Lg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIg Y2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZh bHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjgiDQogICAg IDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEwIH0NCg0KICAgZWZtQ3VQQUZJbk92ZXJmbG93 cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzLCByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1h IGludGVyZmFjZQ0KICAgICAgIGFuZCBkaXNjYXJkZWQsIHdoaWNoIHdvdWxkIGhhdmUgY2F1c2Vk IHRoZSBmcmFtZSBhc3NlbWJseQ0KICAgICAgIGJ1ZmZlciB0byBvdmVyZmxvdy4NCiAgICAgICBU aGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAg IHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291 bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhl bg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgb3ZlcmZsb3cgcmVn aXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291 bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdl bWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0 aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBp biBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNCIN CiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMTEgfQ0KDQogIC0tIFBNRSBOb3RpZmlj YXRpb25zIEdyb3VwDQoNCiAgIGVmbUN1UG1lTm90aWZpY2F0aW9ucyBPQkpFQ1QgSURFTlRJRklF UiA6Oj0geyBlZm1DdVBtZSAwIH0NCiAgIA0KICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcgTk9U SUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVMaW5lQXRuLA0K ICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0bg0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgdGhlIGxvb3AgYXR0ZW51YXRpb24NCiAgICAgICB0aHJlc2hvbGQgKGFzIHBlciB0 aGUgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgICAgdmFsdWUpIGhhcyBiZWVuIHJlYWNoZWQv ZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMNCiAgICAgICBQTUUuIFRoaXMgbm90 aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0KICAgICAgIGJv dGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQN CiAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21h bGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVuIHRoZSBkZXRl Y3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAgIGlzIGltcGxl bWVudGVkIHRvIHByZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAg ICBzZW50Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250 cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmpl Y3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIGVmbUN1UG1l U25yTWduQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAg ZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24NCiAgICAgfQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgbm90 aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAgICAg IChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoU25yTWduIHZhbHVlKSBoYXMgYmVlbg0KICAgICAg IHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FLg0KICAgICAg IFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0K ICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20g ZXhjZWVkZWQNCiAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0 aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVu IHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAg IGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8g YmUNCiAgICAgICBzZW50Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlv biBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5h YmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAyIH0NCg0KICAg ZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAg ICAgICBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRo YXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuDQogICAgICAgZGV0ZWN0ZWQgYnkgYSB2ZW5k b3Igc3BlY2lmaWMgZGlhZ25vc3RpYyBvciBhIHNlbGYtdGVzdC4NCg0KICAgICAgIEdlbmVyYXRp b24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgDQogICAgICAgZWZt Q3VQbWVEZXZpY2VGYXVsdEVuYWJsZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5vdGlm aWNhdGlvbnMgMyB9DQoNCiAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUgTk9USUZJQ0FUSU9O LVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAg ZWZtQ3VBZG1pblByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUNCiAgICAgfQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMg bm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IFBNRSBpbml0aWFsaXphdGlvbiBoYXMNCiAgICAg ICBmYWlsZWQsIGR1ZSB0byBpbmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvIGFjaGlldmUgcmVx dWVzdGVkDQogICAgICAgY29uZmlndXJhdGlvbiBwcm9maWxlLg0KDQogICAgICAgR2VuZXJhdGlv biBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90 aWZpY2F0aW9ucyA0IH0NCg0KICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNB VElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAg ICAgIGVmbUN1UG1lT3BlclN1YlR5cGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRo YXQgcGVlciBQTUUgd2FzIHVzaW5nDQogICAgICAgaW5jb21wYXRpYmxlIHByb3RvY29sIGR1cmlu ZyBpbml0aWFsaXphdGlvbi4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRp b24gaXMgY29udHJvbGxlZCBieSB0aGUgDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWls RW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA1IH0NCg0K ICAgLS0gVGhlIFBNRSBncm91cA0KDQogICBlZm1DdVBtZUNvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNvbmZFbnRyeQ0KICAgICBNQVgt QUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIGNvbW1vbiBhc3Bl Y3RzIGZvciBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUgcG9ydHMgKG1vZGVt cykuIENvbmZpZ3VyYXRpb24gb2YNCiAgICAgICBhc3BlY3RzIHNwZWNpZmljIHRvIDJCQVNFLVRM IG9yIDEwUEFTUy1UUyBQTUUgdHlwZXMgaXMNCiAgICAgICByZXByZXNlbnRlZCBpbiBlZm1DdVBt ZTJCQ29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQ0KICAgICAgIHJlc3BlY3RpdmVs eS4NCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50DQogICAgICAgbWFubmVyLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUgMSB9DQoN CiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1 UG1lQ29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhl IEVGTUN1IFBNRSBDb25maWd1cmF0aW9uIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVz ZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0KICAgICAgIGluZGV4ZWQg YnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4gYmUNCiAgICAg ICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRl eCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYg aXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBt ZUNvbmZUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWVDb25mRW50cnkgOjo9DQogICAgIFNFUVVFTkNF IHsNCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwNCiAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSAgICAgICAgICAgUHJvZmlsZUluZGV4T3JaZXJvLA0KICAg ICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSAgICBQaHlzQWRkcmVzcywNCiAgICAgICBl Zm1DdVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1l VGhyZXNoU25yTWduICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRu Q3Jvc3NpbmdFbmFibGUgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu Z0VuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSAg ICAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJsZSAgIFRy dXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlIFRydXRoVmFs dWUNCiAgICAgfQ0KDQogICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJCYXNlVExPKDEpLA0KICAgICAgIGll ZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLA0KICAgICAgIGllZWUxMFBh c3NUU1IoNCksDQogICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwNCiAgICAgICBpZWVl MkJhc2VUTG9yMTBQYXNzVFNPKDYpLA0KICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8oNykN CiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2lyZWQp IHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAg ICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRM LU8gDQogICAgICAgICBpZWVlMkJhc2VUTFIgICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMkJhc2VUTC1SIA0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAgICAtIFBNRSBTSEFM TCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8gDQogICAgICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAg IC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUiANCiAgICAgICAgIGllZWUyQmFzZVRM b3IxMFBhc3NUU1IgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgb3INCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NUUy1SLiBBY3R1YWwgdmFsdWUgd2lsbCBi ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCBieSAtTyBsaW5rIHBhcnRu ZXIgZHVyaW5nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRp b24gKGhhbmRzaGFrZSkuDQogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNPIC0gUE1FIFNI QUxMIG9wZXJhdGUgYXMgMkJhc2VUTC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHByZWZlcnJlZCkgb3IgMTBQYXNzVFMtTy4gQWN0dWFsDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxpdHkgKGkuZS4g aWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUgb2Yg dGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJCYXNlVEwg bW9kZSwgMTBQYXNzVFMgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVzZWQpLg0KICAgICAgICAgaWVlZTEwUGFzc1RTb3IyQmFzZVRMTyAtIFBNRSBTSEFMTCBvcGVy YXRlIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJl ZmVycmVkKSBvciAyQmFzZVRMLU8uIEFjdHVhbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGluaXRpYWxpemF0aW9uIGRlcGVuZGluZyBvbiAtUg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpbmsgcGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9mIHRoZSBwcmVm ZXJyZWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NUUyBtb2RlLCAy QmFzZVRMIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkKS4N CiAgICAgICANCiAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWluU3ViVHlwZSBpcyBhIHRyYWZm aWMgZGlzcnVwdGl2ZQ0KICAgICAgIG9wZXJhdGlvbiBhbmQgYXMgc3VjaCBTSEFMTCBiZSBkb25l IHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBv YmplY3QgU0hBTEwgYmUgaWdub3JlZCBpZiB0aGUgbGluaw0KICAgICAgIGlzIFVwIG9yIEluaXRp YWxpemluZy4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgdG8gYW4gdW5z dXBwb3J0ZWQgc3VidHlwZQ0KICAgICAgIChzZWUgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZCkg U0hBTEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICBUaGUgY3VycmVudCBvcGVyYXRpb25hbCBzdWIg dHlwZSBpcyBpbmRpY2F0ZWQgYnkNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlIHZhcmlhYmxl Lg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0 aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QgYml0cw0KICAgICAgIGFuZCB0aGUgUE1BL1BNRCB0eXBl IHNlbGVjdGlvbiBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAgIGNvbnRyb2wgcmVn aXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjEx LjQsIDQ1LjIuMS4xMS43Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSAxIH0NCg0KICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFByb2Zp bGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVzaXJlZCBQTUUgY29uZmln dXJhdGlvbiBQcm9maWxlLiBUaGlzIG9iamVjdCBpcyBhIHBvaW50ZXINCiAgICAgICB0byBhbiBl bnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0KICAgICAgIGVmbUN1UG1l MTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgb3BlcmF0aW5nDQogICAg ICAgU3ViVHlwZSBvZiB0aGUgUE1FLiBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgdGhlIGlu ZGV4IG9mDQogICAgICAgdGhlIHJlZmVyZW5jZWQgcHJvZmlsZS4NCiAgICAgICBUaGUgdmFsdWUg b2YgemVybyAoZGVmYXVsdCkgaW5kaWNhdGVzIHRoYXQgdGhlIFBNRSBpcw0KICAgICAgIGNvbmZp Z3VyZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBmb3IgdGhlIFBDUyBwb3J0LA0KICAg ICAgIHRvIHdoaWNoIHRoaXMgUE1FIGlzIGFzc2lnbmVkLiBUaGF0IGlzLCB0aGUgcHJvZmlsZSBy ZWZlcmVuY2VkDQogICAgICAgYnkgZWZtQ3VQbWVBZG1pblByb2ZpbGUgdGFrZXMgcHJlY2VkZW5j ZSBvdmVyIHRoZSBwcm9maWxlKHMpDQogICAgICAgcmVmZXJlbmNlZCBieSBlZm1DdUFkbWluUHJv ZmlsZS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGFuZCByZWFkYWJsZSBmb3Ig dGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8gb3IgMTBQYXNzVFMtTykuIEl0 IGlzIHVuYXZhaWxhYmxlIGZvciB0aGUgQ1BFIA0KICAgICAgIHN1YnR5cGUgKDJCYXNlVEwtUiBv ciAxMFBhc3NUUy1SKS4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFBy b2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUg b2JqZWN0Lg0KDQogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEg dmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2YgdGhlIGluZGV4IGZvciBhbiBh Y3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQ0KICAgICAgIHRhYmxlLCBN VVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4x MS4yLjEuNiINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5 IDIgfQ0KDQogICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJQQUYgUmVt b3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUgcG9ydCBhdCBDTy4gDQogICAgICAgQSA2IEJ5 dGUgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQ0KICAg ICAgIHRoZSBQTUUuDQogICAgICAgUmVhZGluZyB0aGlzIG9iamVjdCByZXN1bHRzIGluIGEgRGlz Y292ZXJ5IEdldCBvcGVyYXRpb24uIA0KICAgICAgIFdyaXRpbmcgYSB6ZXJvIHRvIHRoaXMgb2Jq ZWN0IHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkNCiAgICAgICBDbGVhcl9pZl9TYW1lIG9wZXJhdGlv biAodGhlIHZhbHVlIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAgICAgIGF0IHRoZSBwZWVy IFBDUyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YNCiAgICAg ICB0aGUgbG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9u IHRvDQogICAgICAgc3VjY2VlZCkuDQogICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRv IHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xlYXIg b3BlcmF0aW9uLg0KICAgICAgIFRoaXMgb2JqZWN0IGRvZXMgbm90IGV4aXN0IGluIENQRSBwb3J0 IHN1YnR5cGVzLiBBIHplcm8gbGVuZ3RoDQogICAgICAgb2N0ZXQgc3RyaW5nIFNIQUxMIGJlIHJl dHVybmVkIGZvciBDUEUgcG9ydCBzdWJ0eXBlcyBhbmQgYWxzbw0KICAgICAgIHdoZW4gUEFGIGFn Z3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KICAgICAgIA0KICAgICAgIERpc2NvdmVyeSBNVVNU IGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogICAgICAgQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgd2l0aCB0aGUgZXJyb3INCiAgICAg ICBpbmNvbnNpc3RlbnRWYWx1ZSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0K ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEv UE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9m IDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBE aXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQg0KICAgICAgIGFnZ3JlZ2F0 aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZA0KICAgICAgIDEwUC8yQiBhZ2dy ZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4yLjYuOCINCiAgICAgOjo9IHsgZWZt Q3VQbWVDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAgICBVTklUUyAgICAgICAi ZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJEZXNpcmVkIExpbmUgQXR0ZW51YXRpb24gVGhy ZXNob2xkIGZvciB0aGUgMkIvMTBQIFBNRS4NCiAgICAgICBUaGlzIG9iamVjdCBjb25maWd1cmVz IHRoZSBsaW5lIGF0dGVudWF0aW9uIGFsYXJtIHRocmVzaG9sZC4NCiAgICAgICBXaGVuIHRoZSBj dXJyZW50IHZhbHVlIG9mIExpbmUgQXR0ZW51YXRpb24gcmVhY2hlcyBvcg0KICAgICAgIGV4Y2Vl ZHMgdGhpcyB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcNCiAgICAgICBub3Rp ZmljYXRpb24gTUFZIGJlIGdlbmVyYXRlZCwgaWYgZW5hYmxlZCBieQ0KICAgICAgIGVmbUN1UG1l TGluZUF0bkNyb3NzaW5nRW5hYmxlLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHdy aXRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVzICgtTykuDQogICAgICAgSXQgaXMgcmVhZC1v bmx5IGZvciB0aGUgQ1BFIHN1YnR5cGUgKC1SKS4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBv ZiB0aGUgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQNCiAgICAg ICB3aGVuIHRoZSBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBN VVNUIGJlDQogICAgICAgcmVqZWN0ZWQgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUs IGlmIHRoZSBsaW5rIGlzIFVwDQogICAgICAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgICANCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQs IHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBMb29wIGF0dGVudWF0aW9uIHRo cmVzaG9sZCBiaXRzIGluDQogICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxpdHkgdGhyZXNob2xk cyByZWdpc3RlciINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYi DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDQgfQ0KDQogICBlZm1DdVBtZVRocmVzaFNu ck1nbiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOCkN CiAgICAgVU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVzaXJlZCBT TlIgTWFyZ2luIFRocmVzaG9sZCBmb3IgdGhlIDJCLzEwUCBQTUUuDQogICAgICAgVGhpcyBvYmpl Y3QgY29uZmlndXJlcyB0aGUgU05SIG1hcmdpbiBhbGFybSB0aHJlc2hvbGQuDQogICAgICAgV2hl biB0aGUgY3VycmVudCB2YWx1ZSBvZiBTTlIgTWFyZ2luIHJlYWNoZXMgb3IgZXhjZWVkcyB0aGlz DQogICAgICAgdGhyZXNob2xkLCBhIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZpY2F0aW9u IE1BWSBiZQ0KICAgICAgIGdlbmVyYXRlZCwgaWYgZW5hYmxlZCBieSBlZm1DdVBtZVNuck1nbkNy b3NzaW5nRW5hYmxlLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGZv ciB0aGUgQ08gc3VidHlwZSBQTUVzDQogICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQg aXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5cGUNCiAgICAgICAoMkJhc2VUTC1SLzEwUGFz c1RTLVIpLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIG9mIHRoZSBTTlIgTWFyZ2luIFRocmVz aG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuDQogICAgICAgdGhlIGxpbmsgaXMgRG93bi4gQXR0 ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUNCiAgICAgICByZWplY3RlZCB3aXRo IHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSwgaWYgdGhlIGxpbmsgaXMgVXANCiAgICAgICBv ciBJbml0aWFsaXppbmcuDQogICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50 ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAg IGxpbmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAg ICAiWzgwMi4zYWhdIDQ1LjIuMS4zNiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNSB9 DQoNCiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZyBub3RpZmljYXRpb25zDQogICAgICAgc2hv dWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZh bHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgOjo9IHsg ZWZtQ3VQbWVDb25mRW50cnkgNiB9DQoNCiAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZp Y2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0K ICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1l U25yTWduQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2Yg ZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2Fi bGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9DQoNCiAgIGVmbUN1UG1lRGV2 aWNlRmF1bHRFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lRGV2aWNl RmF1bHQgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMg aW50ZXJmYWNlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0 aGF0IGVmbUN1UG1lRGV2aWNlRmF1bHQNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4g VmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9u IGlzIGRpc2FibGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgOCB9DQoNCiAgIGVm bUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVm bUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0 cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUNCiAgICAgICBu b3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQN CiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQ bWVDb25mRW50cnkgOSB9DQoNCiAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIG5vdGlm aWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4N CiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBt ZVByb3RvY29sSW5pdEZhaWx1cmUNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFs dWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlz IGRpc2FibGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMTAgfQ0KDQoNCiAgIGVm bUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQog ICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlv biBvZg0KICAgICAgIGFzcGVjdHMgc3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBN RSB0eXBlcyBpcw0KICAgICAgIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5k IGVmbUN1UG1lMTBQQ29uZlRhYmxlDQogICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAg ICAgICBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBtZSAyIH0NCg0KICAgZWZtQ3VQbWVDYXBh YmlsaXR5RW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmls aXR5RW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZN Q3UgUE1FIENhcGFiaWxpdHkgdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNv bW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUg aWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNr ZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAg ICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFi bGVkLiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJp bGl0eVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSA6Oj0NCiAgICAgU0VR VUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMNCiAgICAg fQ0KDQogICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBCSVRTIHsNCiAgICAgICBpZWVlMkJhc2VUTE8oMCksDQogICAgICAgaWVlZTJCYXNl VExSKDEpLA0KICAgICAgIGllZWUxMFBhc3NUU08oMiksDQogICAgICAgaWVlZTEwUGFzc1RTUigz KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBzdXBwb3J0ZWQgc3ViLXR5cGVz LiBUaGlzIGlzIGEgYml0bWFwIG9mIHBvc3NpYmxlDQogICAgICAgc3ViLXR5cGVzLiBUaGUgdmFy aW91cyBiaXQgcG9zaXRpb25zIGFyZTogICAgDQogICAgICAgICBpZWVlMkJhc2VUTE8gICAgLSBQ TUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMkJhc2VUTC1PDQogICAgICAgICBpZWVlMkJh c2VUTFIgICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMkJhc2VUTC1SDQogICAg ICAgICBpZWVlMTBQYXNzVFNPICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMTBQ YXNzVFMtTw0KICAgICAgICAgaWVlZTEwUGFzc1RTUiAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3Bl cmF0aW5nIGFzIDEwUGFzc1RTLVINCiAgICAgICANCiAgICAgICBBbiBkZXNpcmVkIG1vZGUgb2Yg b3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkNCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwg d2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZsZWN0cyB0aGUNCiAgICAgICBjdXJyZW50IG9w ZXJhdGluZyBtb2RlLg0KICAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBjb21i aW5lcyB0aGUgMTBQQVNTLVRTIGNhcGFibGUgYW5kIDJCQVNFLVRMIGNhcGFibGUNCiAgICAgICBi aXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRCBzcGVlZCBhYmlsaXR5IHJlZ2lzdGVyIGFuZCB0aGUN CiAgICAgICBDTyBzdXBwb3J0ZWQgYW5kIENQRSBzdXBwb3J0ZWQgYml0cyBpbiB0aGUgMTBQLzJC IFBNQS9QTUQNCiAgICAgICBzdGF0dXMgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjQuMSwgNDUuMi4xLjQuMiwgNDUuMi4xLjEyLjIsDQog ICAgICAgNDUuMi4xLjEyLjMiDQogICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5IDEg fQ0KDQoNCiAgIGVmbUN1UG1lU3RhdHVzVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgY29tbW9uIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBF Rk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUgcG9ydHMuIFN0YXR1cyBpbmZvcm1h dGlvbiBzcGVjaWZpYw0KICAgICAgIHRvIDEwUEFTUy1UUyBQTUUgaXMgcmVwcmVzZW50ZWQgaW4g ZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZS4NCiAgICAgICANCiAgICAgICBUaGlzIHRhYmxlIGNvbnRh aW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBlcXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAgaXQgaXMg Tk9UIHBlcnNpc3RlbnQuIg0KICAgICA6Oj0geyBlZm1DdVBtZSAzIH0NCg0KICAgZWZtQ3VQbWVT dGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZVN0YXR1c0Vu dHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBN RSBTdGF0dXMgdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3Bl Y3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4g Tm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cg YSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3Np Ymx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAg ICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzVGFibGUgMSB9 DQoNCiAgIEVmbUN1UG1lU3RhdHVzRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBl Zm1DdVBtZU9wZXJTdGF0dXMgICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lRmx0 U3RhdHVzICAgICAgICAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSAgICAg ICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlICAgICAgICAgICBQcm9m aWxlSW5kZXhPclplcm8sDQogICAgICAgZWZtQ3VQbWVTbnJNZ24gICAgICAgICAgICAgICAgSW50 ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1lUGVlclNuck1nbiAgICAgICAgICAgIEludGVnZXIzMiwN CiAgICAgICBlZm1DdVBtZUxpbmVBdG4gICAgICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAg ZWZtQ3VQbWVQZWVyTGluZUF0biAgICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1l RXF1aXZhbGVudExlbmd0aCAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWVUQ0NvZGlu Z0Vycm9ycyAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UG1lVENDcmNFcnJvcnMgICAg ICAgICAgIENvdW50ZXIzMg0KICAgICB9DQoNCiAgIGVmbUN1UG1lT3BlclN0YXR1cyAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgdXAoMSksDQogICAgICAg ZG93bk5vdFJlYWR5KDIpLA0KICAgICAgIGRvd25SZWFkeSgzKSwNCiAgICAgICBpbml0KDQpDQog ICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQ3VycmVudCBQTUUgbGluayBPcGVyYXRpb25h bCBTdGF0dXMuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICB1cCgxKSAgICAgICAgICAg LSBsaW5rIGlzIFVwIGFuZCByZWFkeSB0byBwYXNzIDY0LzY1Qg0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgZW5jb2RlZCBmcmFtZXMgb3IgZnJhZ21lbnRzLg0KICAgICAgICAgZG93bk5vdFJl YWR5KDIpIC0gbGluayBpcyBEb3duIGFuZCB0aGUgUE1FIGRvZXMgbm90IGRldGVjdA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgSGFuZHNoYWtlIHRvbmVzIGZyb20gaXRzIHBlZXIuIFRoaXMg dmFsdWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heSBpbmRpY2F0ZSBhIHBvc3NpYmxl IHByb2JsZW0gd2l0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHBlZXIgUE1FLg0K ICAgICAgICAgZG93blJlYWR5KDMpICAgIC0gbGluayBpcyBEb3duIGFuZCB0aGUgUE1FIGRldGVj dHMgSGFuZHNoYWtlDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0b25lcyBmcm9tIGl0cyBw ZWVyLg0KICAgICAgICAgaW5pdCg0KSAgICAgICAgIC0gbGluayBpcyBpbml0aWFsaXppbmcsIGFz IGEgcmVzdWx0IG9mDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZkFkbWluU3RhdHVzIGJl aW5nIHNldCB0byAndXAnIGZvciBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWN1 bGFyIFBNRSBvciBhIFBDUyB0aGUgUE1FIGlzDQogICAgICAgICAgICAgICAgICAgICAgICAgICBj b25uZWN0ZWQgdG8uDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8g c3VwcGxlbWVudCBEb3duIHN0YXRlIG9mIA0KICAgICAgIGlmT3BlclN0YXR1cy4NCiAgICAgICAg DQogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRy aWJ1dGUNCiAgICAgICBhUE1FU3RhdHVzLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1 IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAg b2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIFBNQS9QTUQgbGluayBzdGF0dXMgYml0cyBpbiAxMFAv MkINCiAgICAgICBQTUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAg ICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjMsIDQ1LjIuMS4xMi40Ig0KICAgICA6Oj0geyBlZm1D dVBtZVN0YXR1c0VudHJ5IDEgfQ0KDQogICBlZm1DdVBtZUZsdFN0YXR1cyAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgQklUUyB7DQogICAgICAgbG9zc09mRnJhbWluZygwKSwNCiAgICAg ICBzbnJNZ25EZWZlY3QoMSksDQogICAgICAgbGluZUF0bkRlZmVjdCgyKSwNCiAgICAgICBkZXZp Y2VGYXVsdCgzKSwNCiAgICAgICBjb25maWdJbml0RmFpbHVyZSg0KSwNCiAgICAgICBwcm90b2Nv bEluaXRGYWlsdXJlKDUpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQ3VycmVudC9M YXN0IFBNRSBsaW5rIEZhdWx0IFN0YXR1cy4gVGhpcyBpcyBhIGJpdG1hcCBvZg0KICAgICAgIHBv c3NpYmxlIGNvbmRpdGlvbnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOg0KDQogICAg ICAgICBsb3NzT2ZGcmFtaW5nICAgICAgIC0gTG9zcyBvZiBGcmFtaW5nIGZvciAxMFAgb3INCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb3NzIG9mIFN5bmMgd29yZCBmb3IgMkIgUE1E IG9yDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9zcyBvZiA2NC82NUIgRnJhbWlu Zw0KICAgICAgICAgc25yTWduRGVmZWN0ICAgICAgICAtIFNOUiBNYXJnaW4gZHJvcHBlZCBiZWxv dyB0aGUgVGhyZXNob2xkDQogICAgICAgICBsaW5lQXRuRGVmZWN0ICAgICAgIC0gTGluZSBBdHRl bnVhdGlvbiBleGNlZWRzIHRoZSBUaHJlc2hvbGQNCiAgICAgICAgIGRldmljZUZhdWx0ICAgICAg ICAgLSBJbmRpY2F0ZXMgYSB2ZW5kb3ItZGVwZW5kZW50DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGlhZ25vc3RpYyBvciBzZWxmLXRlc3QgZmF1bHQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBoYXMgYmVlbiBkZXRlY3RlZC4NCiAgICAgICAgIGNvbmZpZ0luaXRGYWls dXJlICAgLSBDb25maWd1cmF0aW9uIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgUE1FIGxpbmsgdG8N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IGNvbmZpZ3VyYXRpb24gcHJv ZmlsZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgZHVyaW5nIGlu aXRpYWxpemF0aW9uLg0KICAgICAgICAgcHJvdG9jb2xJbml0RmFpbHVyZSAtIFByb3RvY29sIGlu aXRpYWxpemF0aW9uIGZhaWx1cmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVl IHRvIGluY29tcGF0aWJsZSBwcm90b2NvbCB1c2VkIGJ5DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGhlIFBlZXIgUE1FIGR1cmluZyBpbml0ICh0aGF0IGNvdWxkDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaGFwcGVuIGlmIGEgcGVlciBQTUQgaXMgYSByZWd1bGFyIA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RIU0wvVkRTTCBtb2RlbSBpbnN0ZWFk IG9mIGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMg UE1FKS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVt ZW50IGlmT3BlclN0YXR1cyBpbiBJRi1NSUIuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3Qg aG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxhc3QgZmF1bHQuDQogICAgICAgZWZtQ3VQbWVG bHRTdGF0dXMgaXMgY2xlYXJlZCBieSB0aGUgZGV2aWNlIHJlc3RhcnQuDQogICAgICAgSW4gYWRk aXRpb24gbG9zc09mRnJhbWluZywgY29uZmlnSW5pdEZhaWx1cmUgYW5kDQogICAgICAgcHJvdG9j b2xJbml0RmFpbHVyZSBhcmUgY2xlYXJlZCBieSBQTUUgaW5pdC4NCiAgICAgICBkZXZpY2VGYXVs dCBpcyBjbGVhcmVkIGJ5IHN1Y2Nlc3NmdWwgZGlhZ25vc3RpY3MvdGVzdC4NCiAgICAgICBzbnJN Z25EZWZlY3QgYW5kIGxpbmVBdG5EZWZlY3QgYXJlIGNsZWFyZWQgYnkgU05SIE1hcmdpbg0KICAg ICAgIGFuZCBsaW5lIEF0dGVudWF0aW9uIHJlc3BlY3RpdmVseSByZXR1cm5pbmcgdG8gbm9ybSBh bmQgYnkNCiAgICAgICBQTUUgaW5pdC4NCiANCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkg bWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFQTUVTdGF0dXMuDQogICAg ICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBw cmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgY29uc29saWRhdGVzIGluZm9ybWF0aW9u IGZyb20gdmFyaW91cyBQTUEvUE1EDQogICAgICAgcmVnaXN0ZXJzLCBuYW1lbHk6IEZhdWx0IGJp dCBpbiBQTUEvUE1EIHN0YXR1cyAxIHJlZ2lzdGVyLA0KICAgICAgIDEwUC8yQiBQTUEvUE1EIGxp bmsgbG9zcyByZWdpc3RlciwNCiAgICAgICAxMFAgb3V0Z29pbmcgaW5kaWNhdG9yIGJpdHMgc3Rh dHVzIHJlZ2lzdGVyLA0KICAgICAgIDEwUCBpbmNvbWluZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMg cmVnaXN0ZXIsDQogICAgICAgMkIgc3RhdGUgZGVmZWN0cyByZWdpc3Rlci4iDQogICAgIFJFRkVS RU5DRQ0KICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjMsIDQ1LjIuMS4yLjEsIDQ1LjIuMS4z OCwNCiAgICAgICA0NS4yLjEuMzksIDQ1LjIuMS41NCINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0 dXNFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJCYXNlVExPKDEpLA0KICAgICAgIGll ZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLA0KICAgICAgIGllZWUxMFBh c3NUU1IoNCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJDdXJyZW50IG9wZXJhdGlv bmFsIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToNCiAg ICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1P IA0KICAgICAgICAgaWVlZTJCYXNlVExSICAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFz ZVRMLVIgDQogICAgICAgICBpZWVlMTBQYXNzVFNPICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFz IDEwUGFzc1RTLU8gDQogICAgICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIG9wZXJh dGVzIGFzIDEwUGFzc1RTLVIgDQogICAgICAgDQogICAgICAgVGhlIG9wZXJhdGlvbmFsIHN1YiB0 eXBlIG9mIHRoZSBQTUUgY2FuIGJlIGNvbmZpZ3VyZWQgdmlhDQogICAgICAgZWZtQ3VQbWVBZG1p blN1YlR5cGUgdmFyaWFibGUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgY29t YmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdA0KICAgICAgIGJpdHMsIHRo ZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMgaW4gdGhlIDEwUC8yQiANCiAgICAgICBQTUEv UE1EIGNvbnRyb2wgcmVnaXN0ZXIgYW5kIHRoZSBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4N CiAgICAgICB0aGUgMTBQLzJCIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4xLjExLjcsIDQ1 LjIuMS4xMi40Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDMgfQ0KDQogICBlZm1D dVBtZU9wZXJQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQcm9maWxlSW5k ZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUE1FIGN1cnJlbnQgb3BlcmF0aW5nIFBy b2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bw0KICAgICAgIGFuIGVudHJ5IGluIGVp dGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxl VGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudA0KICAgICAgIG9wZXJhdGluZyBTdWJUeXBl IG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZS4N CiAgICAgICBOb3RlIHRoYXQgYSBwcm9maWxlIGVudHJ5LCB0byB3aGljaCBlZm1DdVBtZU9wZXJQ cm9maWxlIGlzDQogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVkIGF1dG9tYXRpY2Fs bHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQNCiAgICAgICBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChu b3QgZml4ZWQpIGluaXRpYWxpemF0aW9uLA0KICAgICAgIGkuZS4gdmFsdWVzIG9mIGVmbUN1UG1l T3BlclByb2ZpbGUgYW5kIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgTUFZIGRpZmZlci4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBpbmRpY2F0ZXMg dGhhdCBQTUUgaXMgZG93biBvciBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBv YmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlDQogICAgICAgYXR0 cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g MzAuMTEuMi4xLjciDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNCB9DQoNCiAgIGVm bUN1UG1lU25yTWduIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3 Li4xMjh8NjU1MzUpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiVGhlIGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1hcmdpbiB3aXRoIHJl c3BlY3QNCiAgICAgICB0byB0aGUgcmVjZWl2ZWQgc2lnbmFsIGFzIHBlcmNlaXZlZCBieSB0aGUg bG9jYWwgUE1FLg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBN RSBpcyBkb3duIG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIGFQTUVTTlJNZ24gYXR0cmlidXRlIGluIENsYXVzZSAzMC4NCiAg ICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0 aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBtYXJnaW4g cmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS40 LCA0NS4yLjEuMTYiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNSB9DQoNCiAgIGVm bUN1UG1lUGVlclNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIo LTEyNy4uMTI4fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoZSBjdXJyZW50IFNOUiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSBy ZWNlaXZlZA0KICAgICAgIHNpZ25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsg cGFydG5lcikgUE1FLg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVu IFBNRSBpcyBkb3duIG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIFRo aXMgb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgLVIgUE1FIHN1YnR5cGVzLg0KICAgICAgIA0K ICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhp cw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgbGluayBwYXJ0bmVyIFJYIFNOUiBt YXJnaW4NCiAgICAgICByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNDUuMi4xLjE3Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDZ9DQoNCiAgIGVm bUN1UG1lTGluZUF0biBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEy Ny4uMTI4fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIlRoZSBjdXJyZW50IExpbmUgQXR0ZW51YXRpb24gaW4gZEIgYXMgcGVyY2VpdmVkIGJ5IHRo ZSBsb2NhbA0KICAgICAgIFBNRS4NCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJu ZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAgICAgIGluaXRpYWxpemluZy4NCiAgICAgICANCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTGluZSBBdHRlbnVhdGlvbiByZWdpc3RlciINCiAg ICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTgiDQogICAgIDo6PSB7IGVm bUN1UG1lU3RhdHVzRW50cnkgNyB9DQoNCiAgIGVmbUN1UG1lUGVlckxpbmVBdG4gT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAgICAgVU5J VFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0 dGVudWF0aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlDQogICAgICAgKGxpbmsg cGFydG5lcikgUE1FLg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVu IFBNRSBpcyBkb3duIG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIFRo aXMgb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgQ1BFIHBvcnQgc3VidHlwZXMuDQogICAgICAg DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0 aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDIwUC8yQiBsaW5rIHBhcnRuZXIgTGluZSBB dHRlbnVhdGlvbg0KICAgICAgIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA0NS4yLjEuMTkiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOCB9DQoN CiAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAibSINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQW4gZXN0aW1hdGUgb2YgdGhlIGVxdWl2YWxlbnQgbG9vcCdzIFBo eXNpY2FsIExlbmd0aCBpbg0KICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUg YWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJsaXNoZWQuDQogICAgICAgQW4gZXF1aXZhbGVudCBsb29w IGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICBwZXJm ZWN0IHNxdWFyZSByb290IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0K ICAgICAgIGJyaWRnZWQgdGFwcy4NCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJu ZWQgaWYgdGhlIGxpbmsgaXMgRG93biBvcg0KICAgICAgIEluaXRpYWxpemluZyBvciB0aGUgUE1F IGlzIHVuYWJsZSB0byBlc3RpbWF0ZSB0aGUgRXF1aXZhbGVudA0KICAgICAgIExlbmd0aC4NCiAg ICAgICANCiAgICAgICBGb3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcw0KICAgICAgIHByZXNlbnQsIHRoZW4gdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoDQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIg0KICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzIE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51 bWJlciBvZiA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhpcyBjb3VudGVyIGlz DQogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBl cnJvciBkZXRlY3RlZA0KICAgICAgIGJ5IHRoZSA2NC82NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9u Lg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9sYXRpb25zIGF0dHJp YnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIFRDIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0 aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBjb2RpbmcgdmlvbGF0aW9ucyByZWdpc3Rlcg0KICAg ICAgIChzZWUgNDUuMi42LjEyKS4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMg aW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNjEuMy4zLjEsIDMwLjExLjIuMS41LCA0NS4yLjYuMTIiDQogICAgIDo6PSB7IGVmbUN1UG1l U3RhdHVzRW50cnkgMTAgfQ0KDQogICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJl ciBvZiBUQy1DUkMgZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVtZW50ZWQgZm9yDQogICAg ICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0ZWN0ZWQgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUg ZnVuY3Rpb24NCiAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBGaWd1cmUgNjEtMTkpLg0KDQogICAg ICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDUkNFcnJvcnMgYXR0cmlidXRlIGluDQogICAgICAg Y2xhdXNlIDMwLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IHRvIHRoZSBQQ01FIFRDIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSBUQyBDUkMgZXJyb3IgcmVnaXN0ZXINCiAgICAgICAoc2VlIDQ1LjIuNi4xMSkuDQoN CiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4g b2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0 ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUg b2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4zLCAzMC4xMS4yLjEu MTAsIDQ1LjIuNi4xMSINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxMSB9DQoNCiAg LS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lMkIgICAgICBPQkpF Q1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBtZSA1IH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVU YWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJC UHJvZmlsZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBzdXBw b3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJhdGl2ZSBhbmQNCiAgICAgICBvcGVyYXRpbmcg UHJvZmlsZXMgZm9yIDJCQVNFLVRMIFBNRXMuDQogICAgICAgRmlyc3QgMTQgZW50cmllcyBpbiB0 aGlzIHRhYmxlIFNIQUxMIGFsd2F5cyBiZSBkZWZpbmVkIGFzDQogICAgICAgZm9sbG93cyAoc2Vl IDgwMi4zYWggQW5uZXggNjNBKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0t LSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBNaW5SYXRlIE1heFJh dGUgUG93ZXIgUmVnaW9uIENvbnN0ZWxsYXRpb24NCiAgICAgICAgaW5kZXggIChLYnBzKSAgKEti cHMpICAoZEJtKQ0KICAgICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tKy0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICAxICAgICA1Njk2ICAgIDU2OTYgICAgMTMuNSAg ICAxICAgMzItVENQQU0gKGRlZmF1bHQpDQogICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAg IDEzLjUgICAgMSAgIDMyLVRDUEFNDQogICAgICAgICAgMyAgICAgMjA0OCAgICAyMDQ4ICAgIDEz LjUgICAgMSAgIDE2LVRDUEFNDQogICAgICAgICAgNCAgICAgMTAyNCAgICAxMDI0ICAgIDEzLjUg ICAgMSAgIDE2LVRDUEFNDQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAg MSAgIDE2LVRDUEFNDQogICAgICAgICAgNiAgICAgIDUxMiAgICAgNTEyICAgIDEzLjUgICAgMSAg IDE2LVRDUEFNDQogICAgICAgICAgNyAgICAgNTY5NiAgICA1Njk2ICAgIDE0LjUgICAgMiAgIDMy LVRDUEFNDQogICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRD UEFNDQogICAgICAgICAgOSAgICAgMjA0OCAgICAyMDQ4ICAgIDE0LjUgICAgMiAgIDE2LVRDUEFN DQogICAgICAgICAxMCAgICAgMTAyNCAgICAxMDI0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQog ICAgICAgICAxMSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAg ICAgICAxMiAgICAgIDUxMiAgICAgNTEyICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAg ICAxMyAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAgMSAgIDAgICAgICAgIChiZXN0IGVmZm9y dCkNCiAgICAgICAgIDE0ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAg KGJlc3QgZWZmb3J0KQ0KDQogICAgICAgVGhlc2UgZGVmYXVsdCBlbnRyaWVzIFNIQUxMIGJlIGNy ZWF0ZWQgZHVyaW5nIGFnZW50DQogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJl IGRlbGV0ZWQuDQoNCiAgICAgICBFbnRyaWVzIGZvbGxvd2luZyB0aGUgZmlyc3QgMTQsIGNhbiBi ZSBkeW5hbWljYWxseSBjcmVhdGVkIGFuZA0KICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3Vz dG9tIGFkbWluaXN0cmF0aXZlIChjb25maWd1cmF0aW9uKQ0KICAgICAgIHByb2ZpbGVzIGFuZCBh dXRvbWF0aWMgb3BlcmF0aW5nIHByb2ZpbGVzLg0KDQogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJl IG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAg ICAgICJbODAyLjNhaF0gQW5uZXggNjNBLCAzMC4xMS4yLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQ bWUyQiAgMiB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkVhY2ggZW50cnkgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUgMkJBU0UtVEwgUE1FIHBy b2ZpbGUuDQogICAgICAgRWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMs IHVzZWQgZWl0aGVyIGZvcg0KICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24g b2YgYSAyQkFTRS1UTCBQTUUuICANCiAgICAgICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxl IGlzIHJlZmVyZW5jZWQgdmlhDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0IChv ciBlZm1DdUFkbWluUHJvZmlsZSBpZg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHpl cm8pLCBpdCByZXByZXNlbnQgdGhlIGRlc2lyZWQNCiAgICAgICBwYXJhbWV0ZXJzIHRoZSAyQmFz ZVRMLU8gUE1FIGluaXRpYWxpemF0aW9uLg0KICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVu Y2VkIHZpYSBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICBpdCByZXByZXNlbnRz IGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2YgdGhlIA0KICAgICAgIG9wZXJhdGlvbmFs IFBNRS4NCiAgICAgICANCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVz aW5nIHRoZSByb3cgY3JlYXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1D dVBtZTJCUHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICBhY3RpdmUgZW50cnkgaXMgcmVm ZXJlbmNlZCwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnDQogICAgICAgdW50aWwgYWxs IHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuDQogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9U IGJlIHJlbW92ZWQuIg0KICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxlSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUHJvZmls ZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRl eCAgICAgICAgICAgUHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3Ig ICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAgICAg ICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAg ICAgIFByb2ZpbGVJbmRleE9yWmVybywNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgICAg ICAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAgICAg ICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAgICAgICAg VW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRF R0VSLA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0K ICAgICB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0Ut VEwgUE1FIFByb2ZpbGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBp bmRleCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLg0KICAgICAgIEVudHJpZXMgaW4gdGhp cyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUNCiAgICAgICBvciBl Zm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3RzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2Zp bGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJB IHRleHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1F DQogICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBNQVkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91 dCBkYXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0 aWN1bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQ0K DQogICBlZm1DdVBtZTJCUmVnaW9uICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRF R0VSIHsNCiAgICAgICByZWdpb24xKDEpLA0KICAgICAgIHJlZ2lvbjIoMikNCiAgICAgfQ0KICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIlJlZ2lvbmFsIHNldHRpbmdzIGZvciAyQkFTRS1UTCBQTUUs IGFzIHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICByZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBb Ry45OTEuMl0uDQogICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJh bCBEZW5zaXR5IChQU0QpIG1hc2ssDQogICAgICAgUG93ZXIgQmFjay1PZmYgKFBCTykgdmFsdWVz IGFuZCBwbGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4DQogICAgICAgYWxsb3dlZCBkYXRhIHJh dGUsIHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLg0KICAgICAgIA0KICAgICAgIFBvc3NpYmxlIHZh bHVlcyBmb3IgdGhpcyBvYmplY3QgYXJlOg0KICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhl cyBBIGFuZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpDQogICAgICAgICByZWdpb24yICAgICAgLSBB bm5leGVzIEIgYW5kIEcgKGUuZy4gRXVyb3BlKQ0KICAgICAgIA0KICAgICAgIEFubmV4IEEvQiBz cGVjaWZ5IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVzIDE5Mi0yMzA0DQogICAgICAg S2JwcyB1c2luZyAxNi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICBBbm5leCBGL0cgc3BlY2lmeSBy ZWdpb25hbCBzZXR0aW5ncyBmb3IgcmF0ZXMgMjMyMC0zODQwIEticHMNCiAgICAgICB1c2luZyAx Ni1UQ1BBTSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAzMi1UQ1BBTQ0KICAgICAg IGVuY29kaW5nLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIFJlZ2lvbiBiaXRzIGluIHRoZSAyQiBnZW5lcmFsDQogICAgICAgcGFyYW1ldGVyIHJl Z2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDI7IFtH Ljk5MS4yXSBBbm5leGVzIEEsIEIsIEYgYW5kIEciDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZSAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgUHJvZmlsZUluZGV4T3JaZXJvDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVz aXJlZCBjdXN0b20gU3BlY3RyYWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVjdA0K ICAgICAgIGlzIGEgcG9pbnRlciB0byBhbiBlbnRyeSBpbiBlZm1DdVBtZTJCc01vZGVUYWJsZSBh bmQgYSBibG9jaw0KICAgICAgIG9mIGVudHJpZXMgaW4gZWZtQ3VQbWUyQlJhdGVSZWFjaFRhYmxl LCB3aGljaCB0b2dldGhlciBkZWZpbmUNCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2gg ZGVwZW5kZW50IHJhdGUgbGltaXRhdGlvbnMgaW4NCiAgICAgICBhZGRpdGlvbiB0byB0aG9zZSBk ZWZpbmVkIGJ5IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBv YmplY3QgaXMgdGhlIGluZGV4IG9mIHRoZSByZWZlcmVuY2VkDQogICAgICAgc3BlY3RyYWwgbW9k ZS4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5kaWNhdGVzIHRoYXQgbm8g c3BlY2lmaWMNCiAgICAgICBzcGVjdHJhbCBtb2RlIGlzIGFwcGxpY2FibGUuDQoNCiAgICAgICBB dHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFs dWUNCiAgICAgICBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVz cG9uZGluZyBzcGVjdHJhbA0KICAgICAgIG1vZGUgdGFibGUsIE1VU1QgYmUgcmVqZWN0ZWQuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiZWZtQ3VQbWUyQnNNb2RlVGFibGUsIGVmbUN1UG1lMkJS YXRlUmVhY2hUYWJsZSINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJQ cm9maWxlRW50cnkgNCB9DQoNCiAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkti cHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWluaW11bSBEYXRhIFJhdGUgZm9yIHRoZSAy QkFTRS1UTCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHgg NjQpS2JwcywNCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkg Zm9yIDMyLVRDUEFNIGVuY29kaW5nLg0KICAgICAgIA0KICAgICAgIFRoZSBkYXRhIHJhdGUgb2Yg dGhlIDJCQVNFLVRMIFBNRSBpcyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgIHRoZSB2 YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUu DQogICAgICAgSWYgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJC TWF4RGF0YVJhdGUgaW4NCiAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRh dGEgcmF0ZSBpcyBjb25zaWRlcmVkDQogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNl dCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUNCiAgICAgICBub3QgZXhjZWVkaW5nIGVm bUN1UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIA0KICAgICAgIGxpbWl0YXRp b25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQNCiAgICAgICBlZm1DdVBtZTJC c01vZGUuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUg b2YgdGhlIFBNRSBpcw0KICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElG LU1JQi4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1pbiBEYXRh IFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuDQoN CiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1h bm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAg ICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYpDQog ICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0g RGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0 YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAgICAgd2hlcmUgbj0zLi42MCBmb3IgMTYt VENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICANCiAgICAg ICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQn IHdoZW4NCiAgICAgICB0aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZt Q3VQbWUyQk1pbkRhdGFSYXRlLg0KICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBs ZXNzIHRoYW4gZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluDQogICAgICAgdGhlIGFkbWluaXN0cmF0 aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZA0KICAgICAgICdhZGFwdGl2 ZScsIGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAg ICAgbm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJh bA0KICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQN CiAgICAgICBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVy YXRpb25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcw0KICAgICAgIHJlcHJlc2VudGVkIGJ5IGlm U3BlZWQgb2JqZWN0IG9mIElGLU1JQi4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50 ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIE1heCBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAgIHBhcmFt ZXRlcnMgcmVnaXN0ZXIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQg aW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDYgfQ0KDQog ICBlZm1DdVBtZTJCUG93ZXIgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVk MzIoMHwxMC4uNDIpDQogICAgIFVOSVRTICAgICAgICIwLjUgZEJtIg0KICAgICBNQVgtQUNDRVNT ICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLg0KICAg ICAgIFRoZSB2YWx1ZSBvZiAwIGluIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zIHRo YXQgdGhlDQogICAgICAgc2lnbmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQgU0hB TEwgYmUgc2V0IHRvDQogICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIg dGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJC UmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAg ICBvYmplY3QgbWFwcyB0byB0aGUgUG93ZXIxIGJpdHMgaW4gdGhlIDJCIFBNRCBwYXJhbWV0ZXJz DQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUu Mi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDcgfQ0KDQogICBlZm1D dVBtZTJCQ29uc3RlbGxhdGlvbiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdF UiB7DQogICAgICAgYWRhcHRpdmUoMCksDQogICAgICAgdGNwYW0xNigxKSwNCiAgICAgICB0Y3Bh bTMyKDIpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUQ1BBTSBDb25zdGVsbGF0 aW9uIG9mIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgVGhlIHBvc3NpYmxlIHZhbHVlcyBhcmU6 DQogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAxNi0gb3IgMzItVENQQU0NCiAgICAg ICAgIHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0NCiAgICAgICAgIHRjcGFtMzIoMikgICAgIC0g MzItVENQQU0NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFwdGl2ZSgwKSBpbiB0aGUgYWRtaW5p c3RyYXRpdmUgcHJvZmlsZSBtZWFucw0KICAgICAgIHRoYXQgdGhlIGNvbnN0ZWxsYXRpb24gaXMg bm90IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8NCiAgICAgICBtYXhpbWl6ZSB0aGUgYXR0YWlu YWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRhdGlvbnMNCiAgICAgICBwbGFjZWQg YnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1lMkJzTW9kZS4NCg0KICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0 aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIENvbnN0ZWxsYXRpb24xIGJpdHMgaW4gdGhl IDJCIGdlbmVyYWwNCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRo aXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQog ICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBv Zg0KICAgICAgIFJvd1N0YXR1cy4NCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9m aWxlLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsDQogICAgICAgcmVm ZXJlbmNlcyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkg OSB9DQoNCg0KICAgZWZtQ3VQbWUyQnNNb2RlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQnNNb2RlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJUaGlzIHRhYmxlLCB0b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJs ZSwgc3VwcG9ydHMNCiAgICAgICBkZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBz cGVjdHJhbCBtb2RlcyBmb3INCiAgICAgICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0 cmFsIGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvDQogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5 IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1 bGF0aW9ucyAoZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUNCiAgICAgICBsZW5ndGggb2YgdGhlIGxv b3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgdGhl c2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAg ICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2Rl DQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVu Y2VzIGFyZQ0KICAgICAgIHJlbW92ZWQuDQoNCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFp bnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg ImVmbUN1MkJSZWFjaFJhdGVUYWJsZSINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMyB9DQoNCiAg IGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1 UG1lMkJzTW9kZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBz cGVjaWZpZXMgc3BlY3RyYWwgbW9kZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAg IHdoaWNoIGlzIHVzZWQgdG8gcmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUN CiAgICAgICBlZm1DdTJCUmVhY2hSYXRlVGFibGUuDQogICAgICAgDQogICAgICAgRW50cmllcyBt YXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24vDQogICAgICAgZGVs ZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMuIg0KICAgICBJTkRF WCB7IGVmbUN1UG1lMkJzTW9kZUluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlVGFi bGUgMSB9DQoNCiAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQog ICAgICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggICAgICAgICAgICAgUHJvZmlsZUluZGV4LA0KICAg ICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyICAgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAg ICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgICAgICAgICBSb3dTdGF0dXMNCiAgICAgfQ0K DQogICBlZm1DdVBtZTJCc01vZGVJbmRleCBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQ cm9maWxlSW5kZXgNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIyQkFTRS1UTCBQTUUgU3Bl Y3RyYWwgTW9kZSBpbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4 IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNwZWN0cmFsDQogICAgICAgbW9kZS4NCiAgICAgICBFbnRy aWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZQ0KICAg ICAgIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQ0KDQogICBl Zm1DdVBtZTJCc01vZGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTbm1wQWRt aW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNvbnRh aW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQogICAgICAgc3BlY3RyYWwgbW9k ZS4gVGhlIHN0cmluZyBNQVkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dA0KICAgICAgIGNvcnJl c3BvbmRpbmcgKGNvdW50cnktc3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25zDQogICAgICAg YW5kIHJhdGUvcmVhY2ggbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHNwZWN0cmFsIG1v ZGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWUy QnNNb2RlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0K ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2Rl bGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2Rl VGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dTdGF0dXMuDQogICAgICAgSWYg YW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUN CiAgICAgICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwgcmVmZXJlbmNlcyBh cmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDMgfQ0KDQoNCiAg IGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBT RVFVRU5DRSBPRiBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb24gb2YgYWRtaW5pc3RyYXRpdmUg Y3VzdG9tDQogICAgICAgc3BlY3RyYWwgbW9kZXMgZm9yIDJCQVNFLVRMIFBNRXMsIHByb3ZpZGlu ZyBzcGVjdHJhbA0KICAgICAgIGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvIHRob3NlIHNwZWNp ZmllZCBieQ0KICAgICAgIGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBUaGUgc3BlY3RyYWwg cmVndWxhdGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsgQU5GUCkNCiAgICAgICBsaW1p dCB0aGUgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLg0KICAgICAg IFRoaXMgdGFibGUgYWxsb3dzIHRoZXNlIGNvdW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMgdG8g YmUNCiAgICAgICBzcGVjaWZpZWQuDQoNCiAgICAgICBCZWxvdyBpcyBhbiBleGFtcGxlIG9mIHRo aXMgdGFibGUgZm9yIFtBTkZQXToNCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsN CiAgICAgICBFcXVpdmFsZW50IE1heFJhdGUgTWF4UmF0ZQ0KICAgICAgICAgTGVuZ3RoICAgIFBB TTE2ICAgUEFNMzINCiAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQ0KICAgICAgIC0t LS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgICAgICA5NzUgICAgICAyMzA0ICAgIDU2 OTYNCiAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0DQogICAgICAgICAgMTI3NSAgICAg IDIzMDQgICAgNTEyMA0KICAgICAgICAgIDEzNTAgICAgICAyMzA0ICAgIDQ4NjQNCiAgICAgICAg ICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0DQogICAgICAgICAgMTUwMCAgICAgIDIzMDQgICAgNDI4 OA0KICAgICAgICAgIDE1NzUgICAgICAyMzA0ICAgIDM5NjgNCiAgICAgICAgICAxNjUwICAgICAg MjMwNCAgICAzNzc2DQogICAgICAgICAgMTcyNSAgICAgIDIzMDQgICAgMzUyMA0KICAgICAgICAg IDE4MDAgICAgICAyMzA0ICAgIDMyNjQNCiAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcy DQogICAgICAgICAgMTk1MCAgICAgIDIwNDggICAgMjY4OA0KICAgICAgICAgIDIxMDAgICAgICAx NzkyICAgIDIzNjgNCiAgICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwDQogICAgICAgICAg MjQwMCAgICAgIDE0MDggICAgICAgMA0KICAgICAgICAgIDI1NTAgICAgICAxMjgwICAgICAgIDAN CiAgICAgICAgICAyNzc1ICAgICAgMTE1MiAgICAgICAwDQogICAgICAgICAgMjkyNSAgICAgIDEx NTIgICAgICAgMA0KICAgICAgICAgIDMxNTAgICAgICAxMDg4ICAgICAgIDANCiAgICAgICAgICAz Mzc1ICAgICAgMTAyNCAgICAgICAwDQogICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r ICAgICAgIA0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhl IGVmbUN1UG1lMkJzTW9kZQ0KICAgICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxsIHRo ZSBhY3RpdmUgcmVmZXJlbmNlcyBhcmUNCiAgICAgICByZW1vdmVkLg0KDQogICAgICAgVGhpcyB0 YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbQU5GUF0iDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDQgfQ0KDQog ICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg RWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRWFj aCBlbnRyeSBzcGVjaWZpZXMgbWF4aW11bSAyQkFTRS1UTCBQTUUgZGF0YSByYXRlcw0KICAgICAg IGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFsZW50IGxvb3AgbGVuZ3RoLCB3aGVuIHVzaW5n IA0KICAgICAgIDE2LVRDUEFNIG9yIDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgV2hlbiAy QkFTRS1UTCBQTUUgaXMgaW5pdGlhbGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QNCiAgICAg ICBleGNlZWQgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGltaXRhdGlvbnM6DQogICAgICAgLSB0aGUg dmFsdWUgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlDQogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0 ZSBhbGxvd2VkIGJ5IGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgICBlZm1DdVBtZTJCUG93 ZXINCiAgICAgICAtIG1heGltdW0gZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNwZWNp ZmllZCBpbiB0aGUNCiAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25kaW5n IHRvIHRoZSBlcXVpdmFsZW50IGxvb3ANCiAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRo ZSBQTUUuDQogICAgICAgDQogICAgICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCB0aGUgZWZtQ3VQ bWUyQkVxdWl2YWxlbnRMZW5ndGggdmFsdWVzDQogICAgICAgYXJlIGFzc2lnbmVkIGluIHRoZSBp bmNyZWFzaW5nIG9yZGVyLCBzdGFydGluZyBmcm9tIHRoZQ0KICAgICAgIG1pbmltdW0gdmFsdWUu DQoNCiAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBj cmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMlJlYWNoUmF0 ZVJvd1N0YXR1cy4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXgsIGVmbUN1UG1l MkJSZWFjaFJhdGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSAx IH0NCg0KICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQog ICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4ICAgICAgICAgUHJvZmlsZUluZGV4LA0KICAg ICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1D dVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1l MkJSZWFjaFJhdGVSb3dTdGF0dXMgICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVmbUN1UG1l MkJSZWFjaFJhdGVJbmRleCBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQcm9maWxlSW5k ZXgNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIyQkFTRS1UTCBjdXN0b20gc3BlY3RyYWwg bW9kZSBSZWFjaC1SYXRlIHRhYmxlIGluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1 bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGVhY2ggZW5yeS4iDQogICAgIDo6PSB7IGVmbUN1 UG1lMkJSZWFjaFJhdGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGgg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uODE5MikNCiAgICAg VU5JVFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBhbGxvd2Vk IEVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbiBtZXRlcnMNCiAgICAgICBmb3Ig dGhlIHNwZWNpZmllZCBkYXRhIHJhdGVzLg0KICAgICAgIEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBh IGh5cG90aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhDQogICAgICAgcGVyZmVjdCBz cXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkNCiAgICAg ICBicmlkZ2VkIHRhcHMuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMiB9 DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2KQ0KICAgICBVTklUUyAgICAgICAiS2JwcyIN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwg UE1FIGF0IHRoZSBzcGVjaWZpZWQNCiAgICAgICBFcXVpdmFsZW50IGxvb3AncyBMZW5ndGggdXNp bmcgVEMtUEFNMTYgZW5jb2RpbmcuDQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhh dCBUQy1QQU0xNiBlbmNvZGluZyBzaG91bGQgbm90IGJlDQogICAgICAgdXNlZCBhdCB0aGlzIGRp c3RhbmNlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDMgfQ0KDQogICBl Zm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg VW5zaWduZWQzMigwfDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRMIFBNRSBhdCB0 aGUgc3BlY2lmaWVkDQogICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3RoIHVzaW5nIFRDLVBB TTMyIGVuY29kaW5nLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1lYW5zIHRoYXQgVEMtUEFN MzIgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgIHVzZWQgYXQgdGhpcyBkaXN0YW5jZS4i DQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA0IH0NCg0KICAgZWZtQ3VQbWUy QlJlYWNoUmF0ZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBSb3dTdGF0 dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9scyBjcmVhdGlv bi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJS ZWFjaFJhdGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0KICAgICAgIFJvd1N0YXR1cy4NCiAg ICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01v ZGUsIHRoZQ0KICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZl cmVuY2VzIGFyZSByZW1vdmVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5 IDUgfQ0KDQoNCiAgLS0gMTBQQVNTLVRTIHNwZWNpZmljIFBNRSBncm91cA0KDQogICBlZm1DdVBt ZTEwUCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDYgfQ0KDQogICBlZm1D dVBtZTEwUFByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5D RSBPRiBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNz aWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMgb2YgY29uZmlndXJhdGlvbiBwcm9maWxl cyBmb3INCiAgICAgICAxMFBhc3NUTCBQTUVzLg0KICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4g dGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNl ZSA4MDIuM2FoIEFubmV4IDYyQi4zKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0t LS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBC YW5kTm90Y2ggRFJhdGUgVVJhdGUNCiAgICAgICAgSW5kZXggIFBTRE1hc2sjICBwIyAgICBwIyAg ICAgICAgcCMgICAgcCMNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0t LS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEg ICAgMjAgICAgMjAoZGVmYXVsdCkNCiAgICAgICAgICAyICAgICAxMyAgICAgIDUgICAgMCAgICAg ICAgICAgIDIwICAgIDIwDQogICAgICAgICAgMyAgICAgIDEgICAgICAxICAgIDAgICAgICAgICAg ICAyMCAgICAyMA0KICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAxMDAg ICAxMDANCiAgICAgICAgICA1ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAgIDcwICAgIDUw DQogICAgICAgICAgNiAgICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAgICAxMA0KICAg ICAgICAgIDcgICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzANCiAgICAgICAg ICA4ICAgICAgOCAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgICA1DQogICAgICAgICAgOSAg ICAgIDQgICAgICAwICAgIDAgICAgICAgICAgICAyNSAgICAyNQ0KICAgICAgICAgMTAgICAgICA0 ICAgICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUNCiAgICAgICAgIDExICAgICAyMyAgICAg IDAgICAgMCAgICAgICAgICAgIDEwICAgIDEwDQogICAgICAgICAxMiAgICAgMjMgICAgICAwICAg IDAgICAgICAgICAgICAgNSAgICAgNQ0KICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAgICAyLDUs OSwxMSAgICAxMDAgICAxMDANCiAgICAgICAgIDE0ICAgICAxNiAgICAgIDAgICAgMiw1LDksMTEg ICAgIDcwICAgIDUwDQogICAgICAgICAxNSAgICAgIDYgICAgICAwICAgIDIsNiwxMCwxMSAgICA1 MCAgICAxMA0KICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAg MzANCiAgICAgICAgIDE3ICAgICAgOCAgICAgIDAgICAgMiw2LDEwLDExICAgIDMwICAgICA1DQog ICAgICAgICAxOCAgICAgIDQgICAgICAwICAgIDIsNiwxMCwxMSAgICAyNSAgICAyNQ0KICAgICAg ICAgMTkgICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMTUgICAgMTUNCiAgICAgICAgIDIw ICAgICAyMyAgICAgIDAgICAgMiw1LDksMTEgICAgIDEwICAgIDEwDQogICAgICAgICAyMSAgICAg MjMgICAgICAwICAgIDIsNSw5LDExICAgICAgNSAgICAgNQ0KICAgICAgICAgMjIgICAgIDMwICAg ICAgMCAgICAwICAgICAgICAgICAyMDAgICAgNTANCg0KICAgICAgIFRoZXNlIGRlZmF1bHQgZW50 cmllcyBTSEFMTCBiZSBjcmVhdGVkIGJ5IGR1cmluZyBhZ2VudA0KICAgICAgIGluaXRpYWxpemF0 aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgRW50cmllcyBmb2xsb3dpbmcg dGhlIGZpcnN0IDIyLCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICBkZWxl dGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAg ICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAg IFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQi4zLCAzMC4xMS4yLjEu NiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQ0KDQogICBlZm1DdVBtZTEwUFByb2ZpbGVF bnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRy eQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgY29ycmVzcG9uZHMgdG8g YSBzaW5nbGUgMTBQQVNTLVRTIFBNRQ0KICAgICAgIHByb2ZpbGUuDQogICAgICAgRWFjaCBwcm9m aWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcg0KICAgICAg IGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAxMFBBU1MtVFMgUE1FLiAgDQog ICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYQ0KICAg ICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYN CiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50IHRoZSBk ZXNpcmVkDQogICAgICAgcGFyYW1ldGVycyB0aGUgMTBQYXNzVFMtTyBQTUUgaW5pdGlhbGl6YXRp b24uDQogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lT3BlclBy b2ZpbGUgb2JqZWN0LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVyYXRpbmcgcGFy YW1ldGVycyBvZiB0aGUgUE1FLg0KDQogICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVs ZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2 aWEgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICdhY3RpdmUnIGVu dHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJw0KICAgICAg IHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KICAgICAgIERlZmF1bHQgZW50cmll cyBNVVNUIE5PVCBiZSByZW1vdmVkLiINCiAgICAgSU5ERVggeyBlZm1DdVBtZTEwUFByb2ZpbGVJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1D dVBtZTEwUFByb2ZpbGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1l MTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBQcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUx MFBQcm9maWxlRGVzY3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBt ZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFVQ Qk9SZWZlcmVuY2VQcm9maWxlICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUEJhbmROb3Rj aFByb2ZpbGVzICAgICAgQklUUywNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2Zp bGUgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgICAg SU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgICAgICAgUm93U3Rh dHVzDQogICAgIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3Np YmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi MTBQQVNTLVRTIFBNRSBQcm9maWxlIEluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1 bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4NCiAgICAgICBFbnRyaWVz IGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQog ICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2Zp bGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi QSB0ZXh0dWFsIHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDEwUEFTUy1UUyBQ TUUNCiAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIE1BWSBpbmNsdWRlIGluZm9ybWF0aW9uIGFi b3V0IGRhdGEgcmF0ZQ0KICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0aW9ucyBvZiB0aGlzIHBh cnRpY3VsYXIgcHJvZmlsZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDIg fQ0KDQogICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICBwcm9maWxl MigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICBw cm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBwcm9maWxlNyg3KSwNCiAg ICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAgICAgICBwcm9maWxlMTAo MTApLA0KICAgICAgIHByb2ZpbGUxMSgxMSksDQogICAgICAgcHJvZmlsZTEyKDEyKSwNCiAgICAg ICBwcm9maWxlMTMoMTMpLA0KICAgICAgIHByb2ZpbGUxNCgxNCksDQogICAgICAgcHJvZmlsZTE1 KDE1KSwNCiAgICAgICBwcm9maWxlMTYoMTYpLA0KICAgICAgIHByb2ZpbGUxNygxNyksDQogICAg ICAgcHJvZmlsZTE4KDE4KSwNCiAgICAgICBwcm9maWxlMTkoMTkpLA0KICAgICAgIHByb2ZpbGUy MCgyMCksDQogICAgICAgcHJvZmlsZTIxKDIxKSwNCiAgICAgICBwcm9maWxlMjIoMjIpLA0KICAg ICAgIHByb2ZpbGUyMygyMyksDQogICAgICAgcHJvZmlsZTI0KDI0KSwNCiAgICAgICBwcm9maWxl MjUoMjUpLA0KICAgICAgIHByb2ZpbGUyNigyNiksDQogICAgICAgcHJvZmlsZTI3KDI3KSwNCiAg ICAgICBwcm9maWxlMjgoMjgpLA0KICAgICAgIHByb2ZpbGUyOSgyOSkNCiAgICAgfQ0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgQmFuZHBsYW4gYW5kIFBTRCBNYXNrIHBy b2ZpbGUsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJs ZSB2YWx1ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0NCiAgICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1h c2sgICAgICAgICAgICAgICAgICBCYW5kcyAgICAgQmFuZHBsYW4NCiAgICAgICAtLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAg ICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICB4L0QvVS9EL1UgIEEN CiAgICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgIHBy b2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGU0KDQp ICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQy NC9ULVUgUDEgRlRUQ2FiLk0xICBEL0QvVS9EL1UNCiAgICAgICBwcm9maWxlNig2KSAgIC0gVDEu NDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgIHByb2ZpbGU3KDcpICAgLSBUMS40MjQvVC1VIFAx IEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0y DQogICAgICAgcHJvZmlsZTkoOSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICBVL0QvVS9E L3gNCiAgICAgICBwcm9maWxlMTAoMTApIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAg IHByb2ZpbGUxMSgxMSkgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGUx MigxMikgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmlsZTEzKDEzKSAtIFRT MSAxMDEgMjcwLTEgUGNhYi5NMS5BICB4L0QvVS9EL1UgIEINCiAgICAgICBwcm9maWxlMTQoMTQp IC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9maWxlMTUoMTUpIC0gVFMxIDEw MSAyNzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMTYoMTYpIC0gVFMxIDEwMSAyNzAtMSBQ ZXguUDIuTTENCiAgICAgICBwcm9maWxlMTcoMTcpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0yDQog ICAgICAgcHJvZmlsZTE4KDE4KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0yDQogICAgICAgcHJv ZmlsZTE5KDE5KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQogICAgICAgcHJvZmlsZTIwKDIw KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICBVL0QvVS9EL3gNCiAgICAgICBwcm9maWxlMjEo MjEpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9maWxlMjIoMjIpIC0gVFMx IDEwMSAyNzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMjMoMjMpIC0gVFMxIDEwMSAyNzAt MSBQZXguUDIuTTENCiAgICAgICBwcm9maWxlMjQoMjQpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0y DQogICAgICAgcHJvZmlsZTI1KDI1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0yDQogICAgICAg cHJvZmlsZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQogICAgICAgcHJvZmlsZTI3 KDI3KSAtIEcuOTkzLjEgRi4xLjIuMSAoVkRTTG9QT1RTKSB4L0QvVS9EL1UgIEYNCiAgICAgICBw cm9maWxlMjgoMjgpIC0gRy45OTMuMSBGLjEuMi4yIChWRFNMb1RDTS1JU0ROKQ0KICAgICAgIHBy b2ZpbGUyOSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1Y3Rpb24pDQoNCiAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZHBsYW5QU0RNYXNrUHJvZmlsZSBhdHRyaWJ1dGUN CiAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IEFubmV4IDYyQSwgMzAuNS4xLjEuMjIiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVu dHJ5IDMgfQ0KDQogICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggIElOVEVHRVIgew0KICAgICAgIHByb2ZpbGUxKDEpLA0KICAgICAgIHBy b2ZpbGUyKDIpLA0KICAgICAgIHByb2ZpbGUzKDMpLA0KICAgICAgIHByb2ZpbGU0KDQpLA0KICAg ICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGU2KDYpLA0KICAgICAgIHByb2ZpbGU3KDcp LA0KICAgICAgIHByb2ZpbGU4KDgpLA0KICAgICAgIHByb2ZpbGU5KDkpDQogICAgIH0NCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBvd2VyIEJhY2stT2Zm IChVUEJPKSBSZWZlcmVuY2UgUFNEDQogICAgICAgUHJvZmlsZSwgYXMgc3BlY2lmaWVkIGluIDgw Mi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMNCiAgICAgICBhcmU6DQogICAgICAgICBw cm9maWxlMSgxKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTENCiAgICAgICAgIHBy b2ZpbGUyKDIpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMg0KICAgICAgICAgcHJv ZmlsZTMoMykgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0xDQogICAgICAgICBwcm9m aWxlNCg0KSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTINCiAgICAgICAgIHByb2Zp bGU1KDUpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCDQogICAgICAgICBwcm9maWxl Nig2KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEMNCiAgICAgICAgIHByb2ZpbGU3KDcp ICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRA0KICAgICAgICAgcHJvZmlsZTgoOCkgICAt IEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBFDQogICAgICAgICBwcm9maWxlOSg5KSAgIC0gRVRT SSBUUyAxMDEgMjcwLTEgIE5vaXNlIEYNCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IGFVUEJPUmVmZXJlbmNlUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBpbiBDbGF1c2UgMzAuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjQsIDMwLjUuMS4x LjIzIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA0IH0NCg0KICAgZWZtQ3VQ bWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBCSVRTIHsN CiAgICAgICBwcm9maWxlMCgwKSwNCiAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICBwcm9maWxl MigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICBw cm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBwcm9maWxlNyg3KSwNCiAg ICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAgICAgICBwcm9maWxlMTAo MTApLA0KICAgICAgIHByb2ZpbGUxMSgxMSkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIjEwUEFTUy1UUyBQTUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3RjaCBQcm9maWxlIGJpdG1h cCwNCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZh bHVlcyBhcmU6DQogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tKy0tLS0tDQogICAgICAgUHJvZmlsZSBOYW1lICAgIEcuOTkxLjMgIFQx LjQyNC9ULVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYNCiAgICAgICAgICAgICAgICAgICAgICAg VGFibGUgICAgVGFibGUgICAgICBUYWJsZSAgICAgICAoTUh6KSAgKE1IeikNCiAgICAgICAtLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0N CiAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQ0KICAgICAgIHByb2ZpbGUxKDEpICAg LSBGLTUgIzAxICAtICAgICAgICAgIC0gICAgICAgICAgIDEuODEwICAxLjgyNQ0KICAgICAgIHBy b2ZpbGUyKDIpICAgLSA2LTIgICAgICAxNS0xICAgICAgIDE3ICAgICAgICAgIDEuODEwICAyLjAw MA0KICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAgICAgIC0gICAgICAgICAg IDEuOTA3ICAxLjkxMg0KICAgICAgIHByb2ZpbGU0KDQpICAgLSBGLTUgIzAzICAtICAgICAgICAg IC0gICAgICAgICAgIDMuNTAwICAzLjU3NQ0KICAgICAgIHByb2ZpbGU1KDUpICAgLSA2LTIgICAg ICAtICAgICAgICAgIDE3ICAgICAgICAgIDMuNTAwICAzLjgwMA0KICAgICAgIHByb2ZpbGU2KDYp ICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAgIDMuNTAwICA0LjAwMA0KICAgICAg IHByb2ZpbGU3KDcpICAgLSBGLTUgIzA0ICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNzQ3ICAz Ljc1NA0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAtICAgICAgICAgIC0gICAgICAg ICAgIDMuNzkxICAzLjgwNQ0KICAgICAgIHByb2ZpbGU5KDkpICAgLSA2LTIgICAgICAtICAgICAg ICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMA0KICAgICAgIHByb2ZpbGUxMCgxMCkgLSBGLTUg IzA2ICAxNS0xICAgICAgIC0gICAgICAgICAgIDcuMDAwICA3LjMwMA0KICAgICAgIHByb2ZpbGUx MSgxMSkgLSA2LTIgICAgICAxNS0xICAgICAgIDEgICAgICAgICAgIDEwLjEwMCAxMC4xNTANCiAg ICAgICANCiAgICAgICBBbnkgY29tYmluYXRpb24gb2YgcHJvZmlsZXMgY2FuIGJlIHNwZWNpZmll ZCBieSBPUmluZw0KICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVl IG9mIDB4MDYyMiBzZWxlY3RzDQogICAgICAgcHJvZmlsZXMgMiw2LDEwIGFuZCAxMS4NCiAgICAg ICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZE5vdGNoUHJvZmlsZSBhdHRy aWJ1dGUNCiAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgw Mi4zYWhdIEFubmV4IDYyQS4zLjUsIDMwLjUuMS4xLjE5Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEw UFByb2ZpbGVFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICBP QkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlNSg1 KSwNCiAgICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAg cHJvZmlsZTIwKDIwKSwNCiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUzMCgz MCksDQogICAgICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAg IHByb2ZpbGUxMDAoMTAwKQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMTBQQVNT LVRTIFBNRSBVcHN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAgICAgICBhcyBzcGVjaWZp ZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBw cm9maWxlNSg1KSAgICAgICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9maWxlMTAoMTApICAgICAt IDUgTWJwcw0KICAgICAgICAgcHJvZmlsZTE1KDE1KSAgICAgLSA3LjUgTWJwcw0KICAgICAgICAg cHJvZmlsZTIwKDIwKSAgICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9maWxlMjUoMjUpICAgICAt IDEyLjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTMwKDMwKSAgICAgLSAxNSBNYnBzDQogICAgICAg ICBwcm9maWxlNTAoNTApICAgICAtIDI1IE1icHMNCiAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAg IC0gMzUgTWJwcw0KICAgICAgICAgcHJvZmlsZTEwMCgxMDApICAgLSA1MCBNYnBzDQoNCiAgICAg ICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBVcHN0cmVhbSBQ YXlsb2FkDQogICAgICAgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2Fk IHJhdGUgb2YgdGhlDQogICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQg YmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBt YXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwgZmFpbC4NCiAgICAgICAg DQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3Ry ZWFtDQogICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAg ICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiDQogICAgIDo6PSB7IGVm bUN1UG1lMTBQUHJvZmlsZUVudHJ5IDYgfQ0KDQogICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVBy b2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0KICAgICAgIHBy b2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGUxMCgxMCksDQogICAgICAgcHJvZmlsZTE1KDE1KSwN CiAgICAgICBwcm9maWxlMjAoMjApLA0KICAgICAgIHByb2ZpbGUyNSgyNSksDQogICAgICAgcHJv ZmlsZTMwKDMwKSwNCiAgICAgICBwcm9maWxlNTAoNTApLA0KICAgICAgIHByb2ZpbGU3MCg3MCks DQogICAgICAgcHJvZmlsZTEwMCgxMDApLA0KICAgICAgIHByb2ZpbGUxNDAoMTQwKSwNCiAgICAg ICBwcm9maWxlMjAwKDIwMCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjEwUEFT Uy1UUyBQTUUgRG93bnN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAgICAgICBhcyBzcGVj aWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAg ICBwcm9maWxlNSg1KSAgICAgIC0gMi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMCgxMCkgICAg LSA1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgLSA3LjUgTWJwcw0KICAgICAgICAg cHJvZmlsZTIwKDIwKSAgICAtIDEwIE1icHMNCiAgICAgICAgIHByb2ZpbGUyNSgyNSkgICAgLSAx Mi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgLSAxNSBNYnBzDQogICAgICAgICBw cm9maWxlNTAoNTApICAgIC0gMjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTcwKDcwKSAgICAtIDM1 IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBzDQogICAgICAgICBwcm9m aWxlMTQwKDE0MCkgIC0gNzAgTWJwcw0KICAgICAgICAgcHJvZmlsZTIwMCgyMDApICAtIDEwMCBN YnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUn cyBEb3duc3RyZWFtDQogICAgICAgUGF5bG9hZCBCaXRyYXRlIGFzIHNlZW4gYXQgdGhlIE1JSS4g SWYgdGhlIHBheWxvYWQgcmF0ZSBvZg0KICAgICAgIHRoZSBzZWxlY3RlZCBwcm9maWxlIGNhbm5v dCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcA0KICAgICAgIGVudmlyb25tZW50LCBiYW5k cGxhbiBhbmQgUFNEIG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24NCiAgICAgICBTSEFMTCBm YWlsLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0 ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjEi DQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZTEw UFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVz DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24v ZGVsZXRpb24gb2YgdGhlIGFzc29jaWF0ZWQNCiAgICAgICBlbnRyeSBpbiBlZm1DdVBtZTEwUFBy b2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0KICAgICAgIFJvd1N0YXR1cy4NCiAgICAg ICBJZiBhbiBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUg b3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdh Y3RpdmUnIHVudGlsDQogICAgICAgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuIg0KICAgICA6 Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0NCg0KDQogICBlZm1DdVBtZTEwUFN0YXR1 c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1l MTBQU3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUYWJsZSByZWZsZWN0 aW5nIHN0YXR1cyBvZiBFRk1DdSAxMFBBU1MtVFMgUE1FcyAobW9kZW1zKS4iDQogICAgIDo6PSB7 IGVmbUN1UG1lMTBQIDIgfQ0KDQogICBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VT UyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgMTBQQVNTLVRTIFBNRSBTdGF0dXMg dGFibGUuIg0KICAgICBBVUdNRU5UUyB7IGVmbUN1UG1lU3RhdHVzRW50cnkgfQ0KICAgICA6Oj0g eyBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5 IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9j a3MgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tz ICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3Mg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIGFuZCBjb3JyZWN0ZWQgRkVDIGNvZGV3b3JkcyBp biAxMFBBU1MtVFMNCiAgICAgICBQTUUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQ TUVGRUNDb3JyZWN0ZWRCbG9ja3MgYXR0cmlidXRlIGluDQogICAgICAgY2xhdXNlIDMwLg0KDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJl c2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgY29ycmVj dGFibGUgZXJyb3JzDQogICAgICAgcmVnaXN0ZXINCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRp YWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQog ICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5 VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEuOCINCiAgICAgOjo9IHsgZWZtQ3VQbWUx MFBTdGF0dXNFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2NrcyAg T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkEgY291bnQgb2YgcmVjZWl2ZWQgRkVDIGNvZGV3b3JkcyBpbiAxMFBBU1MtVFMgUE1F LCB3aGljaCBhcmUNCiAgICAgICB1bmNvcnJlY3RhYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3Qg bWFwcyB0byBhUE1FRkVDVW5jb3JyZWN0YWJsZUJsb2NrcyBhdHRyaWJ1dGUgaW4NCiAgICAgICBj bGF1c2UgMzAuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UE1BL1BNRCBpcyBwcmVzZW50LA0KICAgICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUg MTBQIEZFQyB1bmNvcnJlY3RhYmxlIGVycm9ycw0KICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICBE aXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQN CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3Vu dGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMywgMzAuMTEuMi4xLjkiDQogICAg IDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMiB9DQoNCiAgLS0NCiAgLS0gQ29uZm9ybWFu Y2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBlZm1DdUdyb3VwcyAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMSB9DQoNCiAgIGVmbUN1Q29tcGxpYW5jZXMgT0JK RUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VDb25mb3JtYW5jZSAyIH0NCg0KICAgLS0gT2JqZWN0 IEdyb3Vwcw0KDQogICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMg ew0KICAgICAgIGVmbUN1UEFGU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0K ICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUsDQogICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24sDQog ICAgICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEsDQogICAgICAgZWZtQ3VQb3J0U2lkZSwNCiAgICAg ICBlZm1DdUZsdFN0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcmVxdWlyZWQgZm9y IGFsbCBvZiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDEgfQ0KDQogICBl Zm1DdVBBRkdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBl ZXJQQUZTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eSwNCiAgICAgICBlZm1DdVBl ZXJQQUZDYXBhY2l0eSwNCiAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUsDQogICAgICAgZWZtQ3VQ QUZEaXNjb3ZlcnlDb2RlLA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSwNCiAg ICAgICBlZm1DdU51bVBNRXMNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcXVpcmVkIGZv ciBPUFRJT05BTCBQTUUNCiAgICAgICBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBhbmQgUEFG IGRpc2NvdmVyeSBpbiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDIgfQ0K DQogICBlZm1DdVBBRkVycm9yc0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAg ICAgICBlZm1DdVBBRkluRXJyb3JzLA0KICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cywN CiAgICAgICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMsDQogICAgICAgZWZtQ3VQQUZJbkJhZEZy YWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cywNCiAgICAgICBlZm1DdVBB RkluTG9zdFN0YXJ0cywNCiAgICAgICBlZm1DdVBBRkluTG9zdEVuZHMsDQogICAgICAgZWZtQ3VQ QUZJbk92ZXJmbG93cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBPUFRJ T05BTCBlcnJvciBjb3VudGVycw0KICAgICAgIG9mIFBBRiBvbiBFRk1DdSBwb3J0cy4iDQogICAg IDo6PSB7IGVmbUN1R3JvdXBzIDMgfQ0KDQogICBlZm1DdVBtZUdyb3VwIE9CSkVDVC1HUk9VUA0K ICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICBlZm1D dVBtZU9wZXJTdGF0dXMsDQogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAgZWZtQ3VQ bWVTdWJUeXBlc1N1cHBvcnRlZCwNCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwNCiAgICAg ICBlZm1DdVBtZU9wZXJTdWJUeXBlLA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29k ZSwNCiAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lU25yTWduLA0K ICAgICAgIGVmbUN1UG1lUGVlclNuck1nbiwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQogICAg ICAgZWZtQ3VQbWVQZWVyTGluZUF0biwNCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGgs DQogICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycywNCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJy b3JzLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVRocmVz aFNuck1nbg0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9u IGFib3V0DQogICAgICAgYSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FLiINCiAgICAgOjo9IHsgZWZt Q3VHcm91cHMgNCB9DQoNCiAgIGVmbUN1QWxhcm1Db25mR3JvdXAgT0JKRUNULUdST1VQDQogICAg IE9CSkVDVFMgew0KICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSwNCiAgICAgICBlZm1DdUxvd1Jh dGVDcm9zc2luZ0VuYWJsZSwNCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQogICAgICAg ZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJN Z24sDQogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSwNCiAgICAgICBlZm1DdVBt ZURldmljZUZhdWx0RW5hYmxlLA0KICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUs DQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlDQogICAgIH0NCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24g b2Ygb2JqZWN0cyByZXF1aXJlZCBmb3IgY29uZmlndXJhdGlvbiBvZiBhbGFybQ0KICAgICAgIHRo cmVzaG9sZHMgYW5kIG5vdGlmaWNhdGlvbnMgaW4gRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBl Zm1DdUdyb3VwcyA1IH0NCg0KICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cCBOT1RJRklDQVRJT04t R1JPVVANCiAgICAgTk9USUZJQ0FUSU9OUyB7DQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcs DQogICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcsDQogICAgICAgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZywNCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0LA0KICAgICAgIGVmbUN1UG1lQ29u ZmlnSW5pdEZhaWx1cmUsDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlDQotLSAg ICAgICBlZm1DdVBtZURldmljZUZhdWx0LA0KLS0gICAgICAgZWZtQ3VQbWVMb2NhbFBvd2VyTG9z cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiVGhpcyBncm91cCBzdXBwb3J0cyBub3RpZmljYXRpb25zIG9mIHNpZ25pZmljYW50IGNv bmRpdGlvbnMNCiAgICAgICBhc3NvY2lhdGVkIHdpdGggRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0g eyBlZm1DdUdyb3VwcyA2IH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cCBPQkpFQ1QtR1JP VVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciwNCiAgICAg ICBlZm1DdVBtZTJCUmVnaW9uLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSwNCiAgICAgICBlZm1D dVBtZTJCTWluRGF0YVJhdGUsDQogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlLA0KICAgICAg IGVmbUN1UG1lMkJQb3dlciwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiwNCiAgICAg ICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cywNCiAgICAgICBlZm1DdVBtZTJCc01vZGVEZXNj ciwNCiAgICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMsDQogICAgICAgZWZtQ3VQbWUyQkVx dWl2YWxlbnRMZW5ndGgsDQogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYsDQogICAg ICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIsDQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0 ZVJvd1N0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBjb25zdGl0dXRlIGEg Y29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUgZm9yIGNvbmZpZ3VyYXRpb24gb2YgMkJBU0Ut VEwgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3fQ0KDQogICBlZm1DdVBtZTEwUFBy b2ZpbGVHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUx MFBQcm9maWxlRGVzY3IsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUs DQogICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSwNCiAgICAgICBlZm1DdVBt ZTEwUEJhbmROb3RjaFByb2ZpbGVzLA0KICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJv ZmlsZSwNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsDQogICAgICAgZWZt Q3VQbWUxMFBQcm9maWxlUm93U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRoYXQgY29u c3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9u IG9mIDEwUEFTUy1UUyBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQ0KDQogICBl Zm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAg ICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcywNCiAgICAgICBlZm1DdVBtZTEwUEZFQ1Vu Y29ycmVjdGVkQmxvY2tzDQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBzdGF0dXMg aW5mb3JtYXRpb24NCiAgICAgICBzcGVjaWZpYyB0byAxMFBBU1MtVFMgUE1Fcy4iDQogICAgIDo6 PSB7IGVmbUN1R3JvdXBzIDkgfQ0KDQogIC0tIENvbXBsaWFuY2UgU3RhdGVtZW50cw0KDQogICBl Zm1DdUNvbXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9y IDJCQVNFLVRMLzEwUEFTUy1UUyBpbnRlcmZhY2VzLg0KICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0 aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgIGlzIFJF UVVJUkVEOg0KICAgICAgIA0KICAgICAgIE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5j ZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0t LS0tLS0tDQogICAgICAgSUYtTUlCICAgICAgICAgICAgICAgICBpZkNvbXBsaWFuY2UzDQogICAg ICAgRXRoZXJMaWtlLU1JQiAgICAgICAgICBkb3QzQ29tcGxpYW5jZTINCiAgICAgICBNQVUtTUlC ICAgICAgICAgICAgICAgIG1hdU1vZElmQ29tcGwzDQoNCiAgICAgICBDb21wbGlhbmNlIHdpdGgg dGhlIGZvbGxvd2luZyBleHRlcm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBP UFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uDQog ICAgICAgRnVuY3Rpb24gKFBBRikgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IGJldHdlZW4g dGhlIFBDUw0KICAgICAgIGFuZCBQTUUgcG9ydHM6DQogICAgICAgDQogICAgICAgTUlCIE1vZHVs ZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVudA0KICAgICAgIC0tLS0tLS0tLS0gICAg ICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1N SUIgIGlmSW52Q29tcGxpYW5jZQ0KICAgICAgIElGLUNBUC1TVEFDSy1NSUIgICAgICAgaWZDYXBT dGFja0NvbXBsaWFuY2UiDQogICAgIA0KICAgICBNT0RVTEUgIC0tIHRoaXMgbW9kdWxlDQogICAg ICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBlZm1DdUJhc2ljR3JvdXAsDQogICAgICAg ICBlZm1DdVBtZUdyb3VwLA0KICAgICAgICAgZWZtQ3VBbGFybUNvbmZHcm91cCwNCiAgICAgICAg IGVmbUN1Tm90aWZpY2F0aW9uR3JvdXANCiAgICAgICB9DQogICAgICAgDQogICAgICAgR1JPVVAg ICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cA0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAg ICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRh dGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgMkJBU0UtVEwgUGh5LiINCiAgICAgICANCiAgICAg ICBHUk9VUCAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cA0KICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBp bXBsZW1lbnRhdGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iDQogICAg ICAgDQogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZHcm91cA0KICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcg0K ICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0 aW9uIChQQUYpLiINCiAgICAgICANCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkVycm9yc0dy b3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3Vw IGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgUE1F IEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpLiINCiAgICAgICANCiAgICAgICBHUk9VUCAgICAg ICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJT dXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAg ICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iDQogICAgICAgDQogICAgICAgT0JKRUNU ICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZA0KICAgICAgIFNZTlRBWCAgICAgIEJJVFMg ew0KICAgICAgICAgaWVlZTJCYXNlVExPKDApLA0KICAgICAgICAgaWVlZTJCYXNlVExSKDEpLA0K ICAgICAgICAgaWVlZTEwUGFzc1RTTygyKSwNCiAgICAgICAgIGllZWUxMFBhc3NUU1IoMykNCiAg ICAgICB9DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciBhbGwgc3Vi dHlwZXMgaXMgbm90IHJlcXVpcmVkLiBIb3dldmVyIGF0IGxlYXN0DQogICAgICAgICBvbmUgdmFs dWUgU0hBTEwgYmUgc3VwcG9ydGVkIg0KICAgICAgIA0KICAgICAgIE9CSkVDVCAgICAgIGVmbUN1 UG1lQWRtaW5TdWJUeXBlDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgREVT Q1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgbm90IHJlcXVpcmVkIChuZWVkZWQg b25seSBmb3IgUE1Fcw0KICAgICAgICAgc3VwcG9ydGluZyBtb3JlIHRoYW4gYSBzaW5nbGUgc3Vi dHlwZSwgZS5nLg0KICAgICAgICAgaWVlZTJCYXNlVExPIGFuZCBpZWVlMkJhc2VUU1Igb3IgaWVl ZTJCYXNlVExSIGFuZA0KICAgICAgICAgaWVlZTEwUGFzc1RTUikiDQogICAgICAgDQogICAgICAg T0JKRUNUICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24NCiAgICAgICBNSU4tQUNDRVNTICByZWFkLW9u bHkNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBPUFRJT05B TC4gRm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MNCiAgICAgICAgIHRoZSB0YXJnZXQgU05S IG1hcmdpbiBTSEFMTCBiZSBmaXhlZCBhdCA1ZEIgZm9yIDJCQVNFLVRMDQogICAgICAgICBhbmQg NmRCIGZvciAxMFBBU1MtVFMuIg0KICAgICAgIA0KICAgICAgIE9CSkVDVCAgICAgIGVmbUN1QWRh cHRpdmVTcGVjdHJhDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhv dXQgd3JpdGUgYWNjZXNzDQogICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgYmUgZmFs c2UuIg0KICAgICAgIA0KICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KRU5EDQo= ------_=_NextPart_001_01C6EEE9.F9811D78 Content-Type: application/octet-stream; name="if-cap-stack-mib.mib" Content-Transfer-Encoding: base64 Content-Description: if-cap-stack-mib.mib Content-Disposition: attachment; filename="if-cap-stack-mib.mib" SUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAg TU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTINCiAgICAgIEZST00gU05NUHYyLVNN SSAgICAgICAgIC0tIFJGQyAyNTc4DQogICAgUm93U3RhdHVzDQogICAgICBGUk9NIFNOTVB2Mi1U QyAgICAgICAgICAtLSBSRkMgMjU3OQ0KICAgIE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JP VVANCiAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgaWZTdGFj a0dyb3VwMiwgaWZTdGFja0hpZ2hlckxheWVyLCBpZlN0YWNrTG93ZXJMYXllciANCiAgICAgIEZS T00gSUYtTUlCICAgICAgICAgICAgIC0tIFJGQyAyODYzDQogICAgOw0KDQogIGlmQ2FwU3RhY2tN SUIgTU9EVUxFLUlERU5USVRZDQogICAgTEFTVC1VUERBVEVEICIyMDA2MTAxMjAwMDBaIiAgLS0g T2N0b2JlciAxMiwgMjAwNg0KICAgIE9SR0FOSVpBVElPTiAiSUVURiBFdGhlcm5ldCBJbnRlcmZh Y2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQogICAgQ09OVEFDVC1JTkZPDQogICAgICAi V0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1 Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGluZyBMaXN0czoNCiAgICAgICAgR2VuZXJh bCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAgICAgICAgVG8gU3Vic2NyaWJlOiBodWJt aWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91cl9lbWFp bF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgRGFuIFJvbWFzY2FudQ0KICAgICAgUG9zdGFsOiBB dmF5YQ0KICAgICAgICAgICAgICBBdGlkaW0gVGVjaG5vbG9neSBQYXJrLCBCbGRnLiAzDQogICAg ICAgICAgICAgIFRlbCBBdml2IDYxMTMxDQogICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAg VGVsOiArOTcyIDMgNjQ1IDg0MTQNCiAgICAgIEUtbWFpbDogZHJvbWFzY2FAYXZheWEuY29tDQoN CiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQogICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29y a3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3Mw0KICAgICAg ICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAgICAgICAgICAgICAgSXNyYWVsDQogICAgICAg ICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQogICAgICBFLW1haWw6IGVkd2FyZC5iZWlsaUBh Y3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9ODQogICAgICAiVGhlIG9iamVjdHMgaW4gdGhp cyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIGRlc2NyaWJlDQogICAgICBjcm9zcy1jb25uZWN0IGNh cGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVkKSBpbnRlcmZhY2VzLA0KICAgICAgY29tcGxl bWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBkZWZpbmVkIGluDQogICAg ICBJRi1NSUIgYW5kIElGLUlOVkVSVEVELVNUQUNLLU1JQiByZXNwZWN0aXZlbHkuDQoNCiAgICAg IENvcHlyaWdodCAoQykgVGhlIEludGVybmV0IFNvY2lldHkgKDIwMDYpLiAgVGhpcyB2ZXJzaW9u DQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUg UkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICBSRVZJU0lP TiAgICAiMjAwNjEwMTIwMDAwWiIgIC0tIE9jdG9iZXIgMTIsIDIwMDYNCiAgICBERVNDUklQVElP TiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhYWFguIg0KDQogICAgICAtLSBF ZE5vdGU6IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmDQogICAgICAt LSByZW1vdmUgdGhpcyBub3RlDQogDQogICAgOjo9IHsgbWliLTIgWlpaIH0NCg0KICAgICAgLS0g RWROb3RlOiBSZXBsYWNlIFpaWiB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcw0KICAgICAgLS0g YWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4NCg0KICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1v ZHVsZQ0KDQogICBpZkNhcFN0YWNrT2JqZWN0cyAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWZD YXBTdGFja01JQiAxIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgLS0NCiAg IC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91cA0KICAgLS0NCg0KICAgaWZDYXBTdGFja1RhYmxlICBP QkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBJZkNhcFN0YWNrRW50cnkN CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVyIGlm U3RhY2tUYWJsZSBmcm9tIElGLU1JQiwNCiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB0 aGUgcG9zc2libGUgJ29uLXRvcC1vZicNCiAgICAgICByZWxhdGlvbnNoaXBzIGJldHdlZW4gdGhl IG11bHRpcGxlIHN1Yi1sYXllcnMgb2YgbmV0d29yaw0KICAgICAgIGludGVyZmFjZXMgKGFzIG9w cG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hpcHMgZGVzY3JpYmVkIGluDQogICAgICAgaWZTdGFj a1RhYmxlKS4gSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24NCiAgICAg ICB3aGljaCBzdWItbGF5ZXJzIE1BWSBwb3NzaWJseSBydW4gJ29uIHRvcCBvZicgd2hpY2ggb3Ro ZXINCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRlcm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2Fw YWJpbGl0eSBvZiB0aGUNCiAgICAgICBkZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNvcnJl c3BvbmRzIHRvIGEgY29uY2VwdHVhbCByb3cNCiAgICAgICBpbiB0aGUgaWZUYWJsZS4gRm9yIGV4 YW1wbGUsIHdoZW4gdGhlIHN1Yi1sYXllciB3aXRoIGlmSW5kZXgNCiAgICAgICB2YWx1ZSB4IGNh biBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgNCiAgICAg ICBpZkluZGV4IHZhbHVlIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCiAgICAgICANCiAg ICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55PWFjdGl2ZQ0KICAgICAgIA0KICAgICAgIE5vdGUg dGhhdCBmb3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUuZy4gMkJBU0UtVEwpDQogICAgICAg dGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGhpZ2hlci1sZXZlbCBpbnRlcmZhY2UgKGUuZy4g UENTDQogICAgICAgcG9ydCkgZm9yIGVhY2ggbG93ZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBN RSkgYW5kIGF0DQogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVsIGludGVyZmFjZSBmb3IgZWFj aCBoaWdoZXItbGV2ZWwNCiAgICAgICBpbnRlcmZhY2UsIHRoYXQgaXMsIHRoZXJlIGlzIGF0IGxl YXN0IGEgc2luZ2xlICdhY3RpdmUnIHJvdw0KICAgICAgIGZvciBhbnkgZXhpc3RpbmcgdmFsdWUg b2YgeCBvciB5Lg0KDQogICAgICAgVGhpcyB0YWJsZSBpcyByZWFkIG9ubHkgYXMgaXQgZGVzY3Jp YmVzIGRldmljZSBjYXBhYmlsaXR5Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiSUYtTUlCLCBp ZlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDEgfQ0KDQogICBpZkNh cFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElmQ2FwU3RhY2tFbnRy eQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxh ciByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28NCiAgICAgICBzdWItbGF5ZXJzLCBzcGVjaWZ5aW5n IHRoYXQgb25lIHN1Yi1sYXllciBydW5zIG9uICd0b3AnIG9mIHRoZQ0KICAgICAgIG90aGVyIHN1 Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsDQogICAg ICAgcm93IGluIHRoZSBpZlRhYmxlIChpbnRlcmZhY2UgaW5kZXggZm9yIGxvd2VyLSBhbmQNCiAg ICAgICBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4iDQogICAgIElOREVYIHsNCiAgICAgICBp ZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgaWZTdGFja0xvd2VyTGF5ZXINCiAgICAgfQ0KICAg ICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgIElmQ2FwU3RhY2tFbnRyeSA6Oj0gU0VR VUVOQ0Ugew0KICAgICAgICBpZkNhcFN0YWNrU3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICAg fQ0KDQogICBpZkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBS b3dTdGF0dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIHN0YXR1cyBvZiB0aGUgJ2Nyb3Nz LWNvbm5lY3QgY2FwYWJpbGl0eScgcmVsYXRpb25zaGlwDQogICAgICAgYmV0d2VlbiB0d28gc3Vi LWxheWVycy4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgY2FuIGJlIHJldHVybmVkOg0KICAgICAgICAg YWN0aXZlKDEpICAgICAgIC0gaW5kaWNhdGVzIHRoYXQgdGhlIHN1Yi1sYXllciBpbnRlcmZhY2Us DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVkIGJ5IHRoZSBpZlN0YWNrTG93 ZXJMYXllciBNQVkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGNvbm5lY3RlZCB0byBy dW4gJ2JlbG93JyB0aGUgc3ViLWxheWVyDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRl cmZhY2UsIGlkZW50aWZpZWQgYnkgdGhlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZlN0 YWNrSGlnaGVyTGF5ZXIgaW5kZXguDQogICAgICAgICBub3RJblNlcnZpY2UoMikgLSB0aGUgc3Vi LWxheWVyIGludGVyZmFjZXMgY2Fubm90IGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBj b25uZWN0ZWQgdGVtcG9yYXJpbHkgZHVlIHRvDQogICAgICAgICAgICAgICAgICAgICAgICAgICB1 bmF2YWlsYWJpbGl0eSBvZiB0aGUgaW50ZXJmYWNlKHMpLCBlLmcuDQogICAgICAgICAgICAgICAg ICAgICAgICAgICBvbmUgb2YgdGhlIGludGVyZmFjZXMgaXMgbG9jYXRlZCBvbiBhDQogICAgICAg ICAgICAgICAgICAgICAgICAgICBwbHVnZ2FibGUgbW9kdWxlIHdoaWNoIGlzIGFic2VudC4NCg0K ICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2UgYXZhaWxhYmlsaXR5IHBlciBo aWdoZXItbGF5ZXIsDQogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiAnYWN0aXZlJywg Y2FuIGJlIGNvbnN0cmFpbmVkIGJ5DQogICAgICAgb3RoZXIgcGFyYW1ldGVycywgZm9yIGV4YW1w bGUgYnkgdGhlIGFnZ3JlZ2F0aW9uIGNhcGFjaXR5IG9mDQogICAgICAgYSBoaWdoZXItbGF5ZXIg aW50ZXJmYWNlIG9yIGJ5IHRoZSBsb3dlci1sYXllciBpbnRlcmZhY2UgaW4NCiAgICAgICBxdWVz dGlvbiBiZWluZyBhbHJlYWR5IGNvbm5lY3RlZCB0byBhbm90aGVyIGhpZ2hlci1sYXllcg0KICAg ICAgIGludGVyZmFjZS4gSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIHN1Yi1s YXllciBjYW4NCiAgICAgICBiZSBjb25uZWN0ZWQgdG8gYW5vdGhlciBzdWItbGF5ZXIsIGFsbCBy ZXNwZWN0aXZlIG9iamVjdHMNCiAgICAgICAoZS5nLiBpZkNhcFN0YWNrVGFibGUsIGlmU3RhY2tU YWJsZSBhbmQgZWZtQ3VQQUZDYXBhY2l0eSBmb3INCiAgICAgICBmb3IgRUZNQ3UgaW50ZXJmYWNl cykgU0hBTEwgYmUgaW5zcGVjdGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZCBvbmx5 LCB1bmxpa2UgaWZTdGFja1N0YXR1cywgYXMgaXQNCiAgICAgICBkZXNjcmliZXMgYSBjcm9zcy1j b25uZWN0IGNhcGFiaWxpdHkuIg0KICAgICA6Oj0geyBpZkNhcFN0YWNrRW50cnkgMSB9DQoNCiAg IGlmSW52Q2FwU3RhY2tUYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgICBTRVFV RU5DRSBPRiBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNjZXNz aWJsZQ0KICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiQSB0YWJsZSBjb250YWluaW5nIGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSByZWxhdGlv bnNoaXBzDQogICAgICAgYmV0d2VlbiB0aGUgbXVsdGlwbGUgc3ViLWxheWVycyBvZiBuZXR3b3Jr IGludGVyZmFjZXMuIFRoaXMgDQogICAgICAgdGFibGUsIG1vZGVsZWQgYWZ0ZXIgaWZJbnZTdGFj a1RhYmxlIGZyb20NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlzIGFuIGludmVyc2Ug b2YgdGhlIGlmQ2FwU3RhY2tUYWJsZQ0KICAgICAgIGRlZmluZWQgaW4gdGhpcyBNSUIgbW9kdWxl Lg0KICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFpbnMgaW5mb3JtYXRpb24g b24gd2hpY2gNCiAgICAgICBzdWItbGF5ZXJzIE1BWSBydW4gJ3VuZGVybmVhdGgnIHdoaWNoIG90 aGVyIHN1Yi1sYXllcnMsIHdoZXJlDQogICAgICAgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMg dG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4NCiAgICAgICBGb3IgZXhhbXBsZSwg d2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBiZQ0KICAgICAgIGNv bm5lY3RlZCB0byBydW4gdW5kZXJuZWF0aCB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1 ZQ0KICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAgICAgIGlmSW52 Q2FwU3RhY2tTdGF0dXMueC55PWFjdGl2ZQ0KDQogICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBl eGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRoZQ0KICAgICAgIGlmQ2FwU3RhY2tU YWJsZSwgYnV0IHRoZSByb3dzIGFwcGVhciBpbiBhIGRpZmZlcmVudCBvcmRlci4NCg0KICAgICAg IFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QN CiAgICAgICBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgICJJRi1JTlZFUlRF RC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSINCiAgICAgOjo9IHsgaWZDYXBTdGFja09iamVj dHMgMiB9DQoNCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgICBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNjZXNz aWJsZQ0KICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxhciByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28g c3ViLQ0KICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBy dW4gdW5kZXJuZWF0aCB0aGUNCiAgICAgICAgb3RoZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXll ciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwNCiAgICAgICAgcm93IGluIHRoZSBpZlRhYmxl LiINCiAgICAgSU5ERVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0N CiAgICAgOjo9IHsgaWZJbnZDYXBTdGFja1RhYmxlIDEgfQ0KDQogICAgSWZJbnZDYXBTdGFja0Vu dHJ5IDo6PSBTRVFVRU5DRSB7DQogICAgICBpZkludkNhcFN0YWNrU3RhdHVzICAgICAgIFJvd1N0 YXR1cw0KICAgIH0NCg0KICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgICAgIHJlYWQtb25seQ0K ICAgICBTVEFUVVMgICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgICJU aGUgc3RhdHVzIG9mIHRoZSBwb3NzaWJsZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28NCiAgICAg ICAgc3ViLWxheWVycy4NCg0KICAgICAgICBBbiBpbnN0YW5jZSBvZiB0aGlzIG9iamVjdCBleGlz dHMgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgdGhlDQogICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMgb2Jq ZWN0LCBhbmQgdmljZSB2ZXJzYS4gRm9yIGV4YW1wbGUsIGlmIHRoZQ0KICAgICAgICB2YXJpYWJs ZSBpZkNhcFN0YWNrU3RhdHVzLkguTCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlDQogICAgICAg IGlmSW52U3RhY2tTdGF0dXMuTC5IIG11c3QgYWxzbyBleGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJ bg0KICAgICAgICBhZGRpdGlvbiwgdGhlIHR3byB2YXJpYWJsZXMgYWx3YXlzIGhhdmUgdGhlIHNh bWUgdmFsdWUuDQoNCiAgICAgICAgVGhlIGlmSW52U3RhY2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQt b25seSwgYXMgaXQgZGVzY3JpYmVzDQogICAgICAgIGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5 LiINCiAgICAgOjo9IHsgaWZJbnZDYXBTdGFja0VudHJ5IDEgfQ0KDQogICAtLQ0KICAgLS0gaWZD YXBTdGFja0NvbmZvcm1hbmNlIGdyb3VwDQogICAtLQ0KDQogICBpZkNhcFN0YWNrQ29uZm9ybWFu Y2UgT0JKRUNUIElERU5USUZJRVINCiAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDMgfQ0KDQog ICAtLSBDb25mb3JtYW5jZSBTdGF0ZW1lbnRzDQoNCiAgIGlmQ2FwU3RhY2tHcm91cHMgICAgICBP QkpFQ1QgSURFTlRJRklFUiA6Oj0NCiAgICAgICAgeyBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgMSB9 DQoNCiAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0NCiAgICAg ICAgeyBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgMiB9DQoNCiAgIC0tIFVuaXRzIG9mIENvbmZvcm1h bmNlDQoNCiAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQog ICAgICAgaWZDYXBTdGFja1N0YXR1cywNCiAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzDQogICAg IH0NCiAgICAgU1RBVFVTICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29s bGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBpbmZvcm1hdGlvbiBvbiB0aGUNCiAgICAgICBj cm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgbXVsdGktbGF5ZXIgKHN0YWNrZWQpIG5ldHdvcmsN CiAgICAgICBpbnRlcmZhY2VzLiINCiAgICAgOjo9IHsgaWZDYXBTdGFja0dyb3VwcyAxIH0NCg0K DQogIC0tIENvbXBsaWFuY2UgU3RhdGVtZW50cw0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZSBN T0RVTEUtQ09NUExJQU5DRQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGllcywg d2hpY2ggcHJvdmlkZQ0KICAgICAgIGluZm9ybWF0aW9uIG9uIHRoZSBjcm9zcy1jb25uZWN0IGNh cGFiaWxpdHkgb2YgbXVsdGktbGF5ZXINCiAgICAgICAoc3RhY2tlZCkgbmV0d29yayBpbnRlcmZh Y2VzLCB3aXRoIGZsZXhpYmxlIGNyb3NzLWNvbm5lY3QNCiAgICAgICBiZXR3ZWVuIHRoZSBzdWIt bGF5ZXJzLg0KICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNv bXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgIGlzIFJFUVVJUkVEOg0KICAgICAgIA0KICAgICAg IE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0t LS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgSUYtTUlCICAg ICAgICAgICAgICAgICBpZkNvbXBsaWFuY2UzDQogICAgICAgSUYtSU5WRVJURUQtU1RBQ0stTUlC ICBpZkludkNvbXBsaWFuY2UiDQoNCiAgICAgDQogICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUN CiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGlmQ2FwU3RhY2tHcm91cA0KICAg ICAgIH0NCiAgICAgICANCiAgICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAg ICAgIFNZTlRBWCAgICAgICBJTlRFR0VSIHsgYWN0aXZlKDEpIH0NCiAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoZSBub3RJblNlcnZpY2UoMikgdmFsdWUgaXMgT1BU SU9OQUwgZm9yDQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUg aW50ZXJmYWNlcy4iDQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0K ICAgICAgIFNZTlRBWCAgICAgICBJTlRFR0VSIHsgYWN0aXZlKDEpIH0NCiAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoZSBub3RJblNlcnZpY2UoMikgdmFsdWUgaXMg T1BUSU9OQUwgZm9yDQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2Fi bGUgaW50ZXJmYWNlcy4iDQogICAgICAgDQogICAgIE1PRFVMRSAgSUYtTUlCDQogICAgICAgTUFO REFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZlN0YWNrR3JvdXAyDQogICAgICAgfQ0KDQogICAg IE1PRFVMRSAgSUYtSU5WRVJURUQtU1RBQ0stTUlCDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7 DQogICAgICAgICBpZkludlN0YWNrR3JvdXANCiAgICAgICB9DQogICAgICAgDQogICAgIDo6PSB7 IGlmQ2FwU3RhY2tDb21wbGlhbmNlcyAxIH0NCkVORA0KDQo= ------_=_NextPart_001_01C6EEE9.F9811D78 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C6EEE9.F9811D78-- From hubmib-bounces@ietf.org Sun Oct 15 09:38:46 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZ6CI-0007ts-4W; Sun, 15 Oct 2006 09:38:34 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZ6CF-0007s2-D5; Sun, 15 Oct 2006 09:38:31 -0400 Received: from eci-iron.ecitele.com ([147.234.242.112] helo=iron.ecitele.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZ61C-00035E-JO; Sun, 15 Oct 2006 09:27:10 -0400 Received: from ilptexfe.ecitele.com (HELO ILPTEXFE01.ecitele.com) ([172.31.244.40]) by iron.ecitele.com with ESMTP; 15 Oct 2006 15:28:49 +0200 Received: from ILPTMAIL01.ecitele.com ([147.234.245.211]) by ILPTEXFE01.ecitele.com with Microsoft SMTPSVC(6.0.3790.2499); Sun, 15 Oct 2006 15:27:03 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Date: Sun, 15 Oct 2006 15:27:05 +0200 Message-ID: <2F7C502D2CC5EF4CBA93F7F47896E19717CAAD@ILPTEX02.ecitele.com> In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3EC18C23@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work Thread-Index: AcbJ4mWpRLzFPaQwTFimKpzL+bx65gABzcgQAAXvc3AAAWoFgAk4LiPQAF0Nw9A= From: "Menachem Dodge" To: "Edward Beili" , "Romascanu, Dan \(Dan\)" X-OriginalArrivalTime: 15 Oct 2006 13:27:03.0450 (UTC) FILETIME=[9A1797A0:01C6F05D] X-Spam-Score: 0.3 (/) X-Scan-Signature: ea10c7a57c6f5d0512401188e6188235 Cc: adslmib@ietf.org, hubmib@ietf.org, "David Kessens \(E-mail\)" , sneedmike@hotmail.com Subject: [Hubmib] RE: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0357241202==" Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============0357241202== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6F05D.99B869F1" This is a multi-part message in MIME format. ------_=_NextPart_001_01C6F05D.99B869F1 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Edward, =20 Thank you for good work in separating out the Capability Stack tables into a separate module and providing the HTML and MIB modules. =20 The xDSL Bonding MIBs will be able to make use of these tables and reference the efm-cu-mib document. =20 Best Regards, Menachem=20 =20 ________________________________ From: Edward Beili [mailto:EdwardB@actelis.com]=20 Sent: Friday, October 13, 2006 7:07 PM To: Romascanu, Dan (Dan); Menachem Dodge Cc: adslmib@ietf.org; David Kessens (E-mail); hubmib@ietf.org; sneedmike@hotmail.com Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work Dan, Menachem, I've submitted the next version of the EFM Copper MIB draft, putting the ifAvailableStackTable (renamed to ifCapStackTable) into a separate MIB module, together with a new inverse ifInvCapStackTable. =20 I've also modified the text to describe the new IF-CAP-STACK-MIB module, changed the conformance and compliance objects and added counter discontinuity handling paragraph (use of ifCounterDiscontinuityTime) to all counters. =20 The .txt version is available at http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt =20 I've attached the .html version together with two extracted MIB modules for your convenience. Regards, -E. ________________________________ From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Sunday, August 27, 2006 21:35 To: Edward Beili; Menachem.Dodge@ecitele.com Cc: adslmib@ietf.org; David Kessens (E-mail); sneedmike@hotmail.com; hubmib@ietf.org Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work =09 =09 Ed, =20 Please issue a revised I-D, including the two tables in a distinct MIB module, revised DESCRIPTION clause and smilint fixes. =20 My suggestion is to do a one week fast track Last Call to make sure that everybody in the WG has an opportunity to see and react to the changes before we submit the draft to the IESG.=20 =20 Regards, =20 Dan =20 =20 =20 =20 ________________________________ From: Edward Beili [mailto:EdwardB@actelis.com]=20 Sent: Sunday, August 27, 2006 9:04 PM To: Romascanu, Dan (Dan); Menachem.Dodge@ecitele.com Cc: adslmib@ietf.org; David Kessens (E-mail); sneedmike@hotmail.com; hubmib@ietf.org Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work =09 =09 Dan, I don't have any problem with the suggested change, and, personally, see this as an editorial change. =20 While moving the ifAvailableStackTable to a distinct MIB module (say IF-AVAILABLE-STACK-MIB, seating directly under MIB-2), I would also add an inverse table ifInvAvailableStackTable. =20 Please advise how do you want me to proceed. =20 Regards, -Edward =20 -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] Sent: Sunday, August 27, 2006 6:09 PM To: Menachem.Dodge@ecitele.com Cc: adslmib@ietf.org; David Kessens (E-mail); Edward Beili; sneedmike@hotmail.com; hubmib@ietf.org Subject: RE: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work =09 =09 =20 So this will be a distinct MIB module.=20 =20 I am copying the hubmib WG list, because I am not convinced that such a change can be treated as editorial and that we can or should avoid another WGLC for draft-hubmib-efm-cu-mib.=20 =20 Dan =20 =20 =20 =20 ________________________________ From: Menachem.Dodge@ecitele.com [mailto:Menachem.Dodge@ecitele.com]=20 Sent: Sunday, August 27, 2006 4:28 PM To: Romascanu, Dan (Dan) Cc: adslmib@ietf.org; David Kessens (E-mail); edward.beili@actelis.com; sneedmike@hotmail.com Subject: Re: [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work =09 =09 Hello Dan,=20 =09 What you suggest is fine, but I would rather that the table be placed under the ifMIB - ifMIBObjects branch together with=20 the ifStack Table or perhaps directly under MIB-2 as the ifInvertedStack MIB is situated. Being placed inside the efmCuMIB branch=20 seems to suggest that it is for the sole use of the efmCuMIB and this is no longer the case if the xDSL MIB modules import it.=20 =20 =09 Best Regards,=20 Menachem Dodge =09 =09 =09 =09 "Romascanu, Dan \(Dan\)" =20 27/08/2006 12:47=20 To , =20 cc adslmib@ietf.org, "David Kessens \(E-mail\)" , sneedmike@hotmail.com=20 Subject [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work=09 =09 Menachem,=20 =20 I am adding David Kessens who is the shepherding AD for hubmib (I, being the chair, cannot play both roles).=20 =20 Why should ifAvailableStack be defined in a separate MIB module, rather than changing the text in DESCRIPTION clauses and having it imported by ADSL MIB modules from EFM-CU-MIB?=20 =20 Speaking as WG chair, I feel that in case a major change is introduced in the document the WGLC needs to be redone. At this moment we agreed for a technical iteration to fix some smilint problems without redoing the LC.=20 =20 Dan=20 =20 =20 =20 =09 =09 ________________________________ From: Menachem.Dodge@ecitele.com [mailto:Menachem.Dodge@ecitele.com]=20 Sent: Thursday, August 24, 2006 8:08 PM To: Romascanu, Dan (Dan); edward.beili@actelis.com Cc: sneedmike@hotmail.com; adslmib@ietf.org Subject: xDSL Bonding - Reuse of the hubmib-efm-cu-mib work =09 =09 Hello Dan,=20 =09 =09 Recently the issue of xDSL bonding has been raised on the ADSL MIB WG mailing list.=20 =09 I have spoken briefly with Edward and we think that it should be possible for us to re-use the ifAvailableStack table defined in=20 draft-ietf-hubmib-efm-cu-mib-05.=20 =09 I would like to ask Edward to separate out this table into a separate MIB (possibly in the same document) generalizing the comments,=20 that would allow the ADSL MIB WG to make use of these tables, if this work becomes chartered.=20 =09 I would appreciate your advice on this issue.=20 =09 Best Regards,=20 Menachem Dodge_______________________________________________ Adslmib mailing list Adslmib@ietf.org =09 https://www1.ietf.org/mailman/listinfo/adslmib =09 =09 ------_=_NextPart_001_01C6F05D.99B869F1 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Edward,
 
    Thank you for good work in separating out the Capability Stack = tables=20 into a separate module and providing
the = HTML and MIB=20 modules.
 
    The xDSL Bonding MIBs will be able to make use = of these tables=20 and reference the efm-cu-mib document.
 
Best = Regards,
Menachem =

 

From: Edward Beili = [mailto:EdwardB@actelis.com]=20
Sent: Friday, October 13, 2006 7:07 PM
To: = Romascanu, Dan=20 (Dan); Menachem Dodge
Cc: adslmib@ietf.org; David Kessens = (E-mail);=20 hubmib@ietf.org; sneedmike@hotmail.com
Subject: RE: [Adslmib] = RE: xDSL=20 Bonding - Reuse of the hubmib-efm-cu-mib work

Dan, Menachem,
I've submitted the next version of the EFM = Copper MIB=20 draft, putting the ifAvailableStackTable (renamed to=20 ifCapStackTable) into a separate MIB module, together with a new inverse = ifInvCapStackTable.
 
I've also modified the text to describe the new = IF-CAP-STACK-MIB module, changed the conformance and compliance objects = and=20 added counter discontinuity handling paragraph (use of=20 ifCounterDiscontinuityTime) to all counters.
 
The .txt version is available = at

http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib= -06.txt

I've=20 attached the .html version together with two extracted MIB modules = for your=20 convenience.

Regards,

-E.



From: Romascanu, Dan (Dan)=20 [mailto:dromasca@avaya.com]
Sent: Sunday, August 27, 2006=20 21:35
To: Edward Beili; = Menachem.Dodge@ecitele.com
Cc:=20 adslmib@ietf.org; David Kessens (E-mail); sneedmike@hotmail.com;=20 hubmib@ietf.org
Subject: RE: [Adslmib] RE: xDSL Bonding - = Reuse of=20 the hubmib-efm-cu-mib work

Ed,
 
Please issue a revised I-D, including the two tables in = a distinct=20 MIB module, revised DESCRIPTION clause and smilint=20 fixes.
 
My suggestion is to do a one week fast track Last Call to = make sure=20 that everybody in the WG has an opportunity to see and react to the = changes=20 before we submit the draft to the IESG. =
 
Regards,
 
Dan
 
 
 
 


From: Edward Beili=20 [mailto:EdwardB@actelis.com]
Sent: Sunday, August 27, = 2006 9:04=20 PM
To: Romascanu, Dan (Dan);=20 Menachem.Dodge@ecitele.com
Cc: adslmib@ietf.org; David = Kessens=20 (E-mail); sneedmike@hotmail.com; hubmib@ietf.org
Subject: = RE:=20 [Adslmib] RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib=20 work

Dan,
I=20 don't have any problem with the suggested change, and, personally, = see this=20 as an editorial change.
 
While moving the ifAvailableStackTable to a = distinct MIB=20 module (say IF-AVAILABLE-STACK-MIB, seating directly under MIB-2), I = would=20 also add an inverse = table ifInvAvailableStackTable.
 
Please advise how do you want me to = proceed.
 
Regards,
-Edward
 
-----Original Message-----
From: Romascanu, Dan = (Dan)=20 [mailto:dromasca@avaya.com]
Sent: Sunday, August 27, = 2006 6:09=20 PM
To: Menachem.Dodge@ecitele.com
Cc:=20 adslmib@ietf.org; David Kessens (E-mail); Edward Beili;=20 sneedmike@hotmail.com; hubmib@ietf.org
Subject: RE: = [Adslmib]=20 RE: xDSL Bonding - Reuse of the hubmib-efm-cu-mib=20 work

 
So this will be a distinct MIB module.=20
 
I am copying the hubmib WG list, because = I am not=20 convinced that such a change can be treated as editorial and that = we can=20 or should avoid another WGLC for draft-hubmib-efm-cu-mib.=20
 
Dan
 
 
 
 


From: = Menachem.Dodge@ecitele.com=20 [mailto:Menachem.Dodge@ecitele.com]
Sent: Sunday, = August 27,=20 2006 4:28 PM
To: Romascanu, Dan (Dan)
Cc:=20 adslmib@ietf.org; David Kessens (E-mail); = edward.beili@actelis.com;=20 sneedmike@hotmail.com
Subject: Re: [Adslmib] RE: xDSL = Bonding=20 - Reuse of the hubmib-efm-cu-mib work


Hello = Dan,=20

      =   What=20 you suggest is fine, but I would rather that the table be placed = under=20 the ifMIB - ifMIBObjects branch together with
the ifStack Table or perhaps directly = under MIB-2=20 as the ifInvertedStack MIB is situated. Being placed inside the = efmCuMIB=20 branch
seems to = suggest=20  that it is  for the sole use of the efmCuMIB and this = is no=20 longer the case if the xDSL MIB modules import it. =
        =

Best Regards,
Menachem Dodge



"Romascanu, Dan=20 \(Dan\)" <dromasca@avaya.com>

27/08/2006 = 12:47

To
<Menachem.Dodge@ecitele.com>,=20 <edward.beili@actelis.com>=20
cc
adslmib@ietf.org, = "David=20 Kessens \(E-mail\)" <david.kessens@nokia.com>, = sneedmike@hotmail.com=20
Subject
[Adslmib] RE: = xDSL Bonding=20 - Reuse of the hubmib-efm-cu-mib=20 work

=




<= FONT=20 face=3DArial color=3Dblue = size=3D2>Menachem,
 
I am=20 adding David Kessens who is the shepherding AD for hubmib (I, = being the=20 chair, cannot play both roles).
 
Why=20 should ifAvailableStack be defined in a separate MIB module, = rather than=20 changing the text in DESCRIPTION clauses and having it imported = by ADSL=20 MIB modules from EFM-CU-MIB?
 
Speaking as WG chair, I feel that in case a major = change is=20 introduced in the document the WGLC needs to be redone. At this = moment=20 we agreed for a technical iteration to fix some smilint problems = without=20 redoing the LC.
  =
Dan =
 
  =
 


From: = Menachem.Dodge@ecitele.com=20 [mailto:Menachem.Dodge@ecitele.com]
Sent:
Thursday, = August=20 24, 2006 8:08 PM
To:
Romascanu, Dan (Dan);=20 edward.beili@actelis.com
Cc:
sneedmike@hotmail.com;=20 adslmib@ietf.org
Subject:
xDSL Bonding - Reuse of the=20 hubmib-efm-cu-mib work



Hello Dan,
=20


  =    =20  Recently the issue of xDSL bonding has been raised on the = ADSL MIB=20 WG mailing list.


       I have spoken briefly = with Edward=20 and we think that it should be possible for us to re-use the=20 ifAvailableStack table defined in
=
draft-ietf-hubmib-efm-cu-mib-05.

  =    =20  I would like to ask Edward to separate out this table into = a=20 separate MIB (possibly in the same document) generalizing the=20 comments,

that would allow the ADSL MIB WG  to make use = of these=20 tables, if this work becomes chartered.


  =    =20  I would appreciate your advice on this issue.
=20

Best = Regards,

Menachem=20 Dodge
_______________________________________________
Adslmib=20 mailing=20 = list
Adslmib@ietf.org
https://www1.ietf.org/mailman/listinfo/adslmi= b

= ------_=_NextPart_001_01C6F05D.99B869F1-- --===============0357241202== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0357241202==-- From hubmib-bounces@ietf.org Mon Oct 16 05:41:49 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZOyf-0001LH-03; Mon, 16 Oct 2006 05:41:45 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZOyc-00011L-AQ for hubmib@ietf.org; Mon, 16 Oct 2006 05:41:42 -0400 Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZOyV-0004Fr-Tm for hubmib@ietf.org; Mon, 16 Oct 2006 05:41:38 -0400 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by co300216-ier2.net.avaya.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id k9G9WH0c017181 for ; Mon, 16 Oct 2006 05:32:31 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Mon, 16 Oct 2006 11:41:19 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: wg chair change Thread-Index: AcbusUS3tYw06gAkRY+zgdp3S6bMpA== From: "Romascanu, Dan \(Dan\)" To: "IETF Hub MIB Working Group" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: 7655788c23eb79e336f5f8ba8bce7906 Cc: "Wijnen, Bert \(Bert\)" , David Kessens Subject: [Hubmib] wg chair change X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Hubmib-ers, I would like to announce the Operations and Management Area Directors decision effective immediately to appoint a new chair for the Ethernet Interfaces and Hub MIB WG. The new chair of the WG is Bert Wijnen, who all of you know very well.=20 Frankly speaking I was hoping that we would be done by now. It became clear however during the last few months that despite recent progress everybody's busy schedules are preventing us from completing the work. My own budget of time since I became an Area Director became a problem by itself, and it's time for a change. I am confident that Bert will guide us all towards fast completion. It should not be too long before we drink the champagne of the victory.=20 Last but most important, it was a pleasure to work with you all during this long period together, and I will continue to participate in the work as a contributor and support it as co-AD.=20 Dan =20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Oct 16 06:01:44 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZPI0-0001dl-CZ; Mon, 16 Oct 2006 06:01:44 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZPHy-0001Zv-Cv for hubmib@ietf.org; Mon, 16 Oct 2006 06:01:42 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZP7X-0006Jp-Ih for hubmib@ietf.org; Mon, 16 Oct 2006 05:50:56 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9G9oXAF028316; Mon, 16 Oct 2006 04:50:38 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Mon, 16 Oct 2006 11:50:33 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550AD32368@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: "Romascanu, Dan (Dan)" , IETF Hub MIB Working Group Subject: RE: [Hubmib] wg chair change Date: Mon, 16 Oct 2006 11:49:47 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Scan-Signature: 3e15cc4fdc61d7bce84032741d11c8e5 Cc: David Kessens X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Dan and David, Thanks for trusting me in this new "job". I will try to guide the WG "closer to the end" instead of "just farther from the beginning" (Mike O'Dell). Let me start with thanking Dan for steering/guiding the WG over those many years he was WG chair. Agreed that it would have been better if we would have been able to close the WG upon completing the current set of documents. But over the years, the WG has delivered quite a set of documents, and we owe Dan for leading us to those results. We will try to follow in his footsteps and get the work completed "soon". More later, Bert > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Monday, October 16, 2006 11:41 > To: IETF Hub MIB Working Group > Cc: Wijnen, Bert (Bert); David Kessens > Subject: [Hubmib] wg chair change > > > > Hubmib-ers, > > I would like to announce the Operations and Management Area Directors > decision effective immediately to appoint a new chair for the Ethernet > Interfaces and Hub MIB WG. The new chair of the WG is Bert Wijnen, who > all of you know very well. > > Frankly speaking I was hoping that we would be done by now. It became > clear however during the last few months that despite recent progress > everybody's busy schedules are preventing us from completing the work. > My own budget of time since I became an Area Director became a problem > by itself, and it's time for a change. I am confident that Bert will > guide us all towards fast completion. It should not be too long before > we drink the champagne of the victory. > > Last but most important, it was a pleasure to work with you all during > this long period together, and I will continue to participate in the > work as a contributor and support it as co-AD. > > Dan > > > > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib > _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Oct 16 12:55:55 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZVko-0004hl-W4; Mon, 16 Oct 2006 12:55:55 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZV7j-0006XF-SN for hubmib@ietf.org; Mon, 16 Oct 2006 12:15:31 -0400 Received: from shell4.bayarea.net ([209.128.82.1]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZV7f-0000Il-1a for hubmib@ietf.org; Mon, 16 Oct 2006 12:15:31 -0400 Received: from shell4.bayarea.net (localhost [127.0.0.1]) by shell4.bayarea.net (8.13.6/8.13.6) with ESMTP id k9GGFNQM023330 for ; Mon, 16 Oct 2006 09:15:23 -0700 Received: from localhost (heard@localhost) by shell4.bayarea.net (8.13.6/8.12.11/Submit) with ESMTP id k9GGFJu3023313 for ; Mon, 16 Oct 2006 09:15:23 -0700 X-Authentication-Warning: shell4.bayarea.net: heard owned process doing -bs X-Received: from shell4.bayarea.net (localhost [127.0.0.1]) by shell4.bayarea.net (8.13.6/8.13.6) with ESMTP id k9F4LuoD026545; Sat, 14 Oct 2006 21:21:56 -0700 X-Received: from localhost (heard@localhost) by shell4.bayarea.net (8.13.6/8.12.11/Submit) with ESMTP id k9F4Lt2A026540; Sat, 14 Oct 2006 21:21:55 -0700 X-Authentication-Warning: shell4.bayarea.net: heard owned process doing -bs Date: Sat, 14 Oct 2006 21:21:55 -0700 (PDT) From: "C. M. Heard" X-Sender: heard@shell4.bayarea.net To: Hub Mib Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-2133786286-899614893-1114316686=:28275" Content-ID: ReSent-Date: Mon, 16 Oct 2006 09:15:02 -0700 (PDT) ReSent-From: "C. M. Heard" ReSent-To: Hub Mib ReSent-Subject: MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05.txt ReSent-Message-ID: X-Spam-Score: 0.0 (/) X-Scan-Signature: 935fcc3d6c448ae30077dce3cfc94471 X-Mailman-Approved-At: Mon, 16 Oct 2006 12:55:53 -0400 Cc: "Romascanu, Dan \(Dan\)" , David Kessens Subject: [Hubmib] MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---2133786286-899614893-1114316686=:28275 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Greetings, Since I have reviewed previous versions of this document (see, e.g., http://www1.ietf.org/mail-archive/web/hubmib/current/msg00759.html and subsequent correspondence), Dan Romascanu and David Kessens have requested that I perform the official MIB Doctor review for draft-ietf-hubmib-rfc3636bis-05.txt before it is passed to the IESG. After re-reading this version of the document, here is my bottom line: apart from minor editorial issues that can easily be fixed by the RFC Editor, I think that it is ready for publication as a proposed standard, and I recommend that it be approved by the IESG. Detailed review comments follow below. As is my custom, I use the checklist from Appendix A of the MIB review guidelines to organize my comments. 1.) I-D Boilerplate -- OK 2.) Abstract -- OK 3.) MIB Boilerplate -- OK 4.) Security Considerations Section -- I would recommend the following editorial change to 2nd paragraph: s/There is a number of/There are a number of/ The section is otherwise OK (its content is basically unchanged from RFC 3636). 5.) IANA Considerations Section -- OK 6.) References -- OK 7.) Copyright Notices -- OK 8.) IPR Notice -- OK 9.) Other issues -- I would recommend that the heading for Section 3.4 be changed from: 3.4. Management of IEEE 802.3 Managed Objects to: 3.4. Mapping of IEEE 802.3 Managed Objects as it was in RFC 3636. The automated ID nits checker raises no issues with the document. Based on that and on the statements in the submission note (http://www1.ietf.org/mail-archive/web/hubmib/current/msg00951.html) I think it's fair to assume that issues mentioned in http://www.ietf.org/ID-Checklist.html have been taken care of. 10.) Technical content -- the changes in functionality relative to RFC 3636 are relatively modest. First, support has been added for the following new standard MAU types: 10GBASE-CX4 2BASE-TL 10PASS-TS 100BASE-BX10D 100BASE-BX10U 100BASE-LX10 1000BASE-BX10D 1000BASE-BX10U 1000BASE-LX10 1000BASE-PX10D 1000BASE-PX10U 1000BASE-PX20D 1000BASE-PX20U For each of these there is a new OBJECT-IDENTITY definition that provides a new standard value for ifMauType, and there is also a corresponding named bit added to ifMauTypeListBits. Second, a new enumerated value cx4 has been added to the type used for ifJackType, in order to allow the connector used with 10GBASE-CX4 MAUs to be represented. Third, new enumerated values availableReduced and ready have been added to the type used for ifMauMediaAvailable in order to report certain states associated with 2BASE-TL and 10PASS-TS MAUs to be properly reported. Beside these modest functional changes there has been a significant reorganization, wherein the OBJECT-IDENTITY constructs that define MAU type values and the TEXTUAL-CONVENTION constructs that define jack type values, ifMauMediaAvailable values, and capability values used in autonegotiation advertisements have been migrated to a separate IANA-maintained MIB module in order to allow new values to be added with only an Expert Review instead of the previously required Standards Action. The reorgnization is not entirely compliant with the MIB module revision rules in STD 58 and BCP 111, but this fact is clearly explained in the draft, and in the eyes of this reviewer the improved ability to track changes to IEEE Std 802.3 in a timely manner justifies bending the rules in this case. The attachments contain the smilint and reports for the IANA-MAU-MIB and MAU-MIB and the smidiff report for MAU-MIB. I review these in detail below, in order to explain why I am OK with the MIB modules despite the presence of diagnostic messages from the tools (note that the modules compile cleanly when I use SMICng), I won't comment on the text portions of the draft since I'm satisfied with their quality, both technically and editorially. (a) From the smilint report for IANA-MAU-MIB: IANA-MAU-MIB:10: [4] {module-identity-registration} warning: uncontrolled MODULE-IDENTITY registration This warning has been issued because the MODULE-IDENTITY value is registered below snmpDot3MauMgt, which is defined in MAU MIB as { mib-2 26 }, instead of being registered under a node that is directly controlled in an IANA-maintained registry. The hazard is that future maintenance activities on the MIB modules might lead to duplicate OID assignments if the maintainers are not careful. At my request, the WG has put ASN.1 comments into the MAU-MIB to indicate that { snmpDot3MauMgt 7 } is the MODULE-IDENTITY value for the IANA-MAU-MIB, and also that OIDs under { snmpDot3MauMgt 4 } are reserved for the IANA-MAU-MIB to assign as MAU type values. I believe that these measures are adequate to mitigate the hazard. (b) From the smilint report for MAU-MIB: rfc3636bis.mi2:110: [5] {identifier-external-redefined} warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' IANA-MAU-MIB:65: [6] {previous-definition} info: previous definition of `snmpDot3MauMgt' rfc3636bis.mi2:110: [5] {identifier-external-redefined} warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' IANA-MAU-MIB:412: [6] {previous-definition} info: previous definition of `snmpDot3MauMgt' Note that the revised MAU-MIB (rfc3636bis.mi2) IMPORTs several definitions from the IANA-MAU-MIB, and as a consequence the IANA-MAU-MIB is parsed first so that its symbols are visible when the MAU-MIB definitions are processed. These warnings were issued because the following definitions appear in the IANA-MAU-MIB ianaMauMIB MODULE-IDENTITY [ ... ] ::= { mib-2 snmpDot3MauMgt(26) 7 } -- mauMod+1 dot3MauType OBJECT IDENTIFIER ::= { mib-2 snmpDot3MauMgt(26) 4 } while the MAU-MIB contains the following definition: snmpDot3MauMgt OBJECT IDENTIFIER ::= { mib-2 26 } In point of fact, only the last of these constructs constitutes a definition for the descriptor 'snmpDot3MauMgt'. In the first two constructs 'snmpDot3MauMgt(26)' has exactly the same meaning as would '26' ... in other words, the label snmpDot3MauMgt has the status of a comment in those contexts. So these warnings are spurious and should be ignored. rfc3636bis.mi2:20: [4] {module-identity-registration} warning: uncontrolled MODULE-IDENTITY registration This warning has been issued because the MODULE-IDENTITY value is registered below snmpDot3MauMgt OBJECT IDENTIFIER ::= { mib-2 26 } instead of being registered under a node that is directly controlled by the IANA. The hazard is that future maintenance activities on the MIB modules might lead to duplicate OID assignments if the maintainers are not careful. At my request, the WG has put an ASN.1 comment into the MAU-MIB to remind maintainers that { snmpDot3MauMgt 6 } is the MODULE-IDENTITY value for that MIB module, and I believe that this measure is adequate to mitigate the hazard. rfc3636bis.mi2:173: [5] {index-element-accessible} warning: index element `rpMauGroupIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:173: [5] {index-element-accessible} warning: index element `rpMauPortIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:173: [5] {index-element-accessible} warning: index element `rpMauIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:482: [5] {index-element-accessible} warning: index element `ifMauIfIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:482: [5] {index-element-accessible} warning: index element `ifMauIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:1253: [5] {index-element-accessible} warning: index element `broadMauIfIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:1253: [5] {index-element-accessible} warning: index element `broadMauIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB The above warnings are issued because the indicated INDEX elements have a MAX-ACCESS value of read-only instead of not-accessible. In each case the reason why the access value is read-only is because the object was originally defined in an SMIv1 MIB module (see RFC 1515), and SMIv1 rules did not require (or even allow) such objects to have an access value of not-accessible. SInce SMI revision rules do not allow downgrading from read-only to not-accessible, these access values remain read-only. There are ASN.1 comments for all these objects that note this fact. So these warnings are all OK. (c) From the smidiff report for MAU-MIB: rfc3636bis.mi2:20 [5] {contact-changed} warning: contact of `MAU-MIB' changed rfc3636bis.mi2:20 [5] {description-changed} warning: description of module identity definition `MAU-MIB' changed rfc3636bis.mi2:67 [5] {revision-added} warning: revision `2006-07-25 00:00' added /usr/local/share/mibs/ietf/MAU-MIB:15 [6] {previous-definition} info: previous definition of `MAU-MIB' These are routine changes that are normally made when updating a MIB module. rfc3636bis.mi2:114 [5] {status-change} warning: legal status change from `current' to `deprecated' for `JackType' rfc3636bis.mi2:114 [5] {description-changed} warning: description of textual convention definition `JackType' changed /usr/local/share/mibs/ietf/MAU-MIB:107 [6] {previous-definition} info: previous definition of `JackType' As noted in Section 3.5.5 of the draft and in the DESCRIPTION clause, the JackType TC has been deprecated in favor of the IANAifJackType TC. The old definition remains in place, as required by STD 58 and BCP 111, in order to maintain backward compatibility with MIB modules that might reference it in an IMPORTS clause. rfc3636bis.mi2:199 [5] {ref-changed} warning: reference of `rpMauGroupIndex' changed /usr/local/share/mibs/ietf/MAU-MIB:466 [6] {previous-definition} info: previous definition of `rpMauGroupIndex' rfc3636bis.mi2:220 [5] {ref-changed} warning: reference of `rpMauPortIndex' changed /usr/local/share/mibs/ietf/MAU-MIB:487 [6] {previous-definition} info: previous definition of `rpMauPortIndex' These are routine changes that are often made when updating a MIB module. rfc3636bis.mi2:243 [5] {description-changed} warning: description of object definition `rpMauType' changed /usr/local/share/mibs/ietf/MAU-MIB:513 [6] {previous-definition} info: previous definition of `rpMauType' The DESCRIPTION clause of this object was changed to reflect the fact that the OBJECT-IDENTITY definitions for standard MAU types now reside in the IANA-MAU-MIB instead of the MAU-MIB. rfc3636bis.mi2:318 [5] {from-implicit} warning: type `IANAifMauMediaAvailable' replaces implicit type for `rpMauMediaAvailable' /usr/local/share/mibs/ietf/MAU-MIB:599 [6] {previous-definition} info: previous definition of `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `pmdLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `wisFrameLoss' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `wisSignalLoss' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `pcsLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `excessiveBER' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `dxsLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `pxsLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `availableReduced' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `ready' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {description-changed} warning: description of object definition `rpMauMediaAvailable' changed /usr/local/share/mibs/ietf/MAU-MIB:599 [6] {previous-definition} info: previous definition of `rpMauMediaAvailable' These diagnostics result from changing the SYNTAX value of rpMauMediaAvailable from enumerated INTEGER to IANAifMauMediaAvailable. The extra values come in because the TC contains all the values needed for ifMauMediaAvailable, and the definition of rpMauMediaAvailable in RFC 3636 left out some values that did not apply to repeaters. I think that this change is OK, since it does not change semantics (the object is read-only) and makes maintenance much easier. rfc3636bis.mi2:462 [5] {named-number-added} warning: named number `cx4' added to type used in `rpJackType' This diagnostic results from changing the SYNTAX value of rpJackType from JackType to IANAifJackType, which has the new value cx4 added, as required to support 10GBASE-CX4. Although the cx4 jack type does not apply to repeaters, I think that this change is OK, since it does not change semantics (the object is read-only) and makes maintenance much easier. rfc3636bis.mi2:533 [5] {description-changed} warning: description of object definition `ifMauType' changed /usr/local/share/mibs/ietf/MAU-MIB:908 [6] {previous-definition} info: previous definition of `ifMauType' The DESCRIPTION clause of this object was changed to reflect the fact that the OBJECT-IDENTITY definitions for standard MAU types now reside in the IANA-MAU-MIB instead of the MAU-MIB. rfc3636bis.mi2:617 [5] {from-implicit} warning: type `IANAifMauMediaAvailable' replaces implicit type for `ifMauMediaAvailable' /usr/local/share/mibs/ietf/MAU-MIB:1003 [6] {previous-definition} info: previous definition of `ifMauMediaAvailable' rfc3636bis.mi2:617 [5] {named-number-added} warning: named number `availableReduced' added to type used in `ifMauMediaAvailable' rfc3636bis.mi2:617 [5] {named-number-added} warning: named number `ready' added to type used in `ifMauMediaAvailable' rfc3636bis.mi2:617 [5] {description-changed} warning: description of object definition `ifMauMediaAvailable' changed /usr/local/share/mibs/ietf/MAU-MIB:1003 [6] {previous-definition} info: previous definition of `ifMauMediaAvailable' These diagnostics result from changing the SYNTAX value of ifMauMediaAvailable from enumerated INTEGER to IANAifMauMediaAvailable. The additional values come in because the new TC contains values needed to support Ethernet in the First Mile. rfc3636bis.mi2:822 [5] {from-implicit} warning: type `IANAifMauTypeListBits' replaces implicit type for `ifMauTypeListBits' /usr/local/share/mibs/ietf/MAU-MIB:1337 [6] {previous-definition} info: previous definition of `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b10GbaseCX4' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b2BaseTL' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b10PassTS' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b100BaseBX10D' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b100BaseBX10U' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b100BaseLX10' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b1000BaseBX10D' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BaseBX10U' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BaseLX10' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX10D' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX10U' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX20D' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX20U' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {description-changed} warning: description of object definition `ifMauTypeListBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1337 [6] {previous-definition} info: previous definition of `ifMauTypeListBits' These diagnostics result from changing the SYNTAX value of ifMauTypeListBits from the explicit BITS type used in RFC 3636 to IANAifMauTypeListBits, which contains enumerated bits to represent the thirteen MAU types added since RFC 3636 was published. Although smilint seems to insist that it is an error for bit positions to be added without starting a new byte, there is no reason to do so in this case. If a management application retrieves ifMauTypeListBits from an implementation based on the RFC 3636 version of the MAU-MIB, then the bit positions that correspond to b10GbaseCX4, b2BaseTL, b10PassTS, b100BaseBX10D, b100BaseBX10U, b100BaseLX10, and b1000BaseBX10D will be set to zero, which indicates that the agent does not support those MAU types. Since this is in fact semantically correct, starting a new byte for the new values is unnecessary. rfc3636bis.mi2:903 [5] {named-number-added} warning: named number `cx4' added to type used in `ifJackType' This diagnostic results from changing the SYNTAX value of ifJackType from JackType to IANAifJackType, which has the new value cx4 added, as required to support 10GBASE-CX4. rfc3636bis.mi2:1275 [5] {ref-changed} warning: reference of `broadMauIfIndex' changed /usr/local/share/mibs/ietf/MAU-MIB:1934 [6] {previous-definition} info: previous definition of `broadMauIfIndex' This is a routine change that is often made when updating a MIB module. /usr/local/share/mibs/ietf/MAU-MIB:145 [1] {node-removed} node `dot3MauType' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:147 [1] {node-removed} node `dot3MauTypeAUI' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:153 [1] {node-removed} node `dot3MauType10Base5' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:159 [1] {node-removed} node `dot3MauTypeFoirl' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:165 [1] {node-removed} node `dot3MauType10Base2' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:171 [1] {node-removed} node `dot3MauType10BaseT' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:185 [1] {node-removed} node `dot3MauType10BaseFP' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:191 [1] {node-removed} node `dot3MauType10BaseFB' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:197 [1] {node-removed} node `dot3MauType10BaseFL' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:209 [1] {node-removed} node `dot3MauType10Broad36' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:218 [1] {node-removed} node `dot3MauType10BaseTHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:224 [1] {node-removed} node `dot3MauType10BaseTFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:230 [1] {node-removed} node `dot3MauType10BaseFLHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:239 [1] {node-removed} node `dot3MauType10BaseFLFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:245 [1] {node-removed} node `dot3MauType100BaseT4' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:251 [1] {node-removed} node `dot3MauType100BaseTXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:257 [1] {node-removed} node `dot3MauType100BaseTXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:263 [1] {node-removed} node `dot3MauType100BaseFXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:269 [1] {node-removed} node `dot3MauType100BaseFXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:275 [1] {node-removed} node `dot3MauType100BaseT2HD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:281 [1] {node-removed} node `dot3MauType100BaseT2FD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:292 [1] {node-removed} node `dot3MauType1000BaseXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:298 [1] {node-removed} node `dot3MauType1000BaseXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:304 [1] {node-removed} node `dot3MauType1000BaseLXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:311 [1] {node-removed} node `dot3MauType1000BaseLXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:318 [1] {node-removed} node `dot3MauType1000BaseSXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:325 [1] {node-removed} node `dot3MauType1000BaseSXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:332 [1] {node-removed} node `dot3MauType1000BaseCXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:342 [1] {node-removed} node `dot3MauType1000BaseCXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:349 [1] {node-removed} node `dot3MauType1000BaseTHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:355 [1] {node-removed} node `dot3MauType1000BaseTFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:363 [1] {node-removed} node `dot3MauType10GigBaseX' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:369 [1] {node-removed} node `dot3MauType10GigBaseLX4' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:375 [1] {node-removed} node `dot3MauType10GigBaseR' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:381 [1] {node-removed} node `dot3MauType10GigBaseER' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:389 [1] {node-removed} node `dot3MauType10GigBaseLR' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:395 [1] {node-removed} node `dot3MauType10GigBaseSR' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:401 [1] {node-removed} node `dot3MauType10GigBaseW' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:407 [1] {node-removed} node `dot3MauType10GigBaseEW' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:413 [1] {node-removed} node `dot3MauType10GigBaseLW' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:419 [1] {node-removed} node `dot3MauType10GigBaseSW' has been deleted The above diagnostics result from moving the MAU type OBJECT-IDENTITY definitions out of the MAU-MIB and into the IANA-MAU-MIB. Both the motivation for and the ramifications of these changes are clearly explained in the last paragraph of Section 3.1 of the draft (pp. 4 and 5). In my opinion the WG's judgment call on this matter is a reasonable one, and I think that it should be respected. This was also the rough consensus from a discussion of this point on the MIB Doctors mailing list. rfc3636bis.mi2:1136 [5] {from-implicit} warning: type `IANAifMauAutoNegCapBits' replaces implicit type for `ifMauAutoNegCapabilityBits' /usr/local/share/mibs/ietf/MAU-MIB:1721 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxPause' changed to `bFdxPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxAPause' changed to `bFdxAPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxSPause' changed to `bFdxSPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxBPause' changed to `bFdxBPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {description-changed} warning: description of object definition `ifMauAutoNegCapabilityBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1721 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapabilityBits' These diagnostics result from changing the SYNTAX value for ifMauAutoNegCapabilityBits from the explicit BITS type used in RFC 3636 to IANAifMauAutoNegCapBits. The change of spelling in the labels results from the fact that in RFC 3636 the SYNTAX clause for fMauAutoNegCapabilityBits used the spellings bfdxPause, bfdxAPause, bfdxSPause, and bfdxBPause, while the SYNTAX clauses for ifMauAutoNegCapAdvertisedBits and ifMauAutoNegCapReceivedBits used the spellings bFdxPause, bFdxAPause, bFdxSPause, and bFdxBPause, respectively. In order to minimize both the amount of work and the likelihood of error when adding support for new autonegotiation capabilities, it is highly desirable to use a common TC for all of these objects, which after all have the same underlying sets of values. Changing the named bit labels for ifMauAutoNegCapabilityBits may cause some compilation compatibility problems with various tools, but in its discussion the WG concluded that the maintenance issue trumps this consideration. I think that the WG's judgment call is reasonable and urge that it be respected. rfc3636bis.mi2:1157 [5] {from-implicit} warning: type `IANAifMauAutoNegCapBits' replaces implicit type for `ifMauAutoNegCapAdvertisedBits' /usr/local/share/mibs/ietf/MAU-MIB:1762 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapAdvertisedBits' rfc3636bis.mi2:1157 [5] {description-changed} warning: description of object definition `ifMauAutoNegCapAdvertisedBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1762 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapAdvertisedBits' These diagnostics result from changing the SYNTAX value for ifMauAutoNegCapAdvertisedBits from the explicit BITS type used in RFC 3636 to IANAifMauAutoNegCapBits. rfc3636bis.mi2:1179 [5] {from-implicit} warning: type `IANAifMauAutoNegCapBits' replaces implicit type for `ifMauAutoNegCapReceivedBits' /usr/local/share/mibs/ietf/MAU-MIB:1808 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapReceivedBits' rfc3636bis.mi2:1179 [5] {description-changed} warning: description of object definition `ifMauAutoNegCapReceivedBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1808 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapReceivedBits' These diagnostics result from changing the SYNTAX value for ifMauAutoNegCapReceivedBits from the explicit BITS type used in RFC 3636 to IANAifMauAutoNegCapBits. NOTE: although no new autonegotiation capabilities were instroduced in this draft, the comments made above for IANAifMauTypeListBits stating that new bit positions need not start on a new byte applies also to IANAifMauAutoNegCapBits. There is never an ambiguity for the read-only objects ifMauAutoNegCapabilityBits and ifMauAutoNegCapReceivedBits, and a management station can always update ifMauAutoNegCapAdvertisedBits by retrieving the value of ifMauAutoNegCapabilityBits, resetting bits in the returned value that correspond to capabilities that should not be advertised, and then writing the result to ifMauAutoNegCapAdvertisedBits. rfc3636bis.mi2:1356 [5] {ref-changed} warning: reference of `rpMauJabberTrap' changed /usr/local/share/mibs/ietf/MAU-MIB:2021 [6] {previous-definition} info: previous definition of `rpMauJabberTrap' rfc3636bis.mi2:1369 [5] {ref-changed} warning: reference of `ifMauJabberTrap' changed /usr/local/share/mibs/ietf/MAU-MIB:2034 [6] {previous-definition} info: previous definition of `ifMauJabberTrap' These are routine changes that are often made when updating a MIB module. This concludes the MIB Doctor review of draft-ietf-hubmib-rfc3636bis-05.txt Thanks & regards, Mike Heard ---2133786286-899614893-1114316686=:28275 Content-Type: MESSAGE/RFC822; CHARSET=US-ASCII Content-ID: Content-Description: Re: smilint -l 9 -i namelength-32 -i type-unref IANA-MAU-MIB (fwd) Return-Path: Received: from psmtp.com (exprod6mx158.postini.com [64.18.1.158]) by shell4.bayarea.net (8.13.6/8.13.6) with SMTP id k92NlsaE029180 for ; Mon, 2 Oct 2006 16:47:54 -0700 Received: from source ([209.128.100.203]) (using TLSv1) by exprod6mx158.postini.com ([64.18.5.10]) with SMTP; Mon, 02 Oct 2006 18:47:54 CDT Received: from icicle.pobox.com (icicle.pobox.com [207.8.226.3]) by mx2.bayarea.net (8.13.1/8.13.1) with ESMTP id k92Nlrwu027936 for ; Mon, 2 Oct 2006 16:47:54 -0700 Received: from agitator.ibr.cs.tu-bs.de (agitator.ibr.cs.tu-bs.de [134.169.34.18]) by icicle.pobox.com (Postfix) with ESMTP id 9C08A1A0874 for ; Mon, 2 Oct 2006 19:47:34 -0400 (EDT) Received: from agitator.ibr.cs.tu-bs.de (localhost [127.0.0.1]) by agitator.ibr.cs.tu-bs.de (8.12.3/8.12.3/Debian-7.2) with ESMTP id k92Nkcm7020683 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Tue, 3 Oct 2006 01:46:38 +0200 Received: (from mail@localhost) by agitator.ibr.cs.tu-bs.de (8.12.3/8.12.3/Debian-7.2) id k92Nkcik020682; Tue, 3 Oct 2006 01:46:38 +0200 Date: Tue, 3 Oct 2006 01:46:38 +0200 Message-Id: <200610022346.k92Nkcik020682@agitator.ibr.cs.tu-bs.de> X-Authentication-Warning: agitator.ibr.cs.tu-bs.de: mail set sender to <> using -f From: smilint@ibr.cs.tu-bs.de Reply-To: smilint@ibr.cs.tu-bs.de Errors-To: smilint-owner@ibr.cs.tu-bs.de Auto-Submitted: auto-replied To: "C. M. Heard" In-Reply-To: Subject: Re: smilint -l 9 -i namelength-32 -i type-unref IANA-MAU-MIB X-IBRFilter-SpamReport: 0.159 () BAYES_44,NO_REAL_NAME X-Scanned-By: MIMEDefang 2.24 (www . roaringpenguin . com / mimedefang) X-pstn-levels: (S:94.00791/99.90000 R:95.9108 P:95.9108 M:97.0282 C:98.6951 ) X-pstn-settings: 4 (1.5000:1.5000) s gt3 gt2 gt1 r p m c X-pstn-addresses: from [1756/73] This is an automatically generated mail message in response to a mail message you (or someone else who used your address) sent to . If you want to learn more about this mail service, send a mail message with the "Subject: help" to . The program smilint 0.4.5, as of Thu Aug 17 10:38:15 2006 has been used to process your request as follows: smilint -m -s -e -l 9 -i namelength-32 -i type-unref IANA-MAU-MIB IANA-MAU-MIB:10: [4] {module-identity-registration} warning: uncontrolled MODULE-IDENTITY registration Additional descriptions of some error/warning messages: Warning: module-identity-registration (level 4) Message: uncontrolled MODULE-IDENTITY registration Description: The identities of IETF MIB modules should be registered below mib-2, transmission, or snmpModules so that the registration space can be controlled by IANA. ---2133786286-899614893-1114316686=:28275 Content-Type: MESSAGE/RFC822; CHARSET=US-ASCII Content-ID: Content-Description: Re: smilint -l 9 -i namelength-32 rfc3636bis.mi2 (fwd) Return-Path: Received: from psmtp.com (exprod6mx166.postini.com [64.18.1.238]) by shell4.bayarea.net (8.13.6/8.13.6) with SMTP id k92Nqt6T030488 for ; Mon, 2 Oct 2006 16:52:55 -0700 Received: from source ([209.128.100.203]) (using TLSv1) by exprod6mx166.postini.com ([64.18.5.10]) with SMTP; Mon, 02 Oct 2006 19:52:55 EDT Received: from icicle.pobox.com (icicle.pobox.com [207.8.226.3]) by mx2.bayarea.net (8.13.1/8.13.1) with ESMTP id k92NqtDw031517 for ; Mon, 2 Oct 2006 16:52:55 -0700 Received: from agitator.ibr.cs.tu-bs.de (agitator.ibr.cs.tu-bs.de [134.169.34.18]) by icicle.pobox.com (Postfix) with ESMTP id 942641A08AA for ; Mon, 2 Oct 2006 19:52:47 -0400 (EDT) Received: from agitator.ibr.cs.tu-bs.de (localhost [127.0.0.1]) by agitator.ibr.cs.tu-bs.de (8.12.3/8.12.3/Debian-7.2) with ESMTP id k92Nprm7021324 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Tue, 3 Oct 2006 01:51:53 +0200 Received: (from mail@localhost) by agitator.ibr.cs.tu-bs.de (8.12.3/8.12.3/Debian-7.2) id k92NprJG021323; Tue, 3 Oct 2006 01:51:53 +0200 Date: Tue, 3 Oct 2006 01:51:53 +0200 Message-Id: <200610022351.k92NprJG021323@agitator.ibr.cs.tu-bs.de> X-Authentication-Warning: agitator.ibr.cs.tu-bs.de: mail set sender to <> using -f From: smilint@ibr.cs.tu-bs.de Reply-To: smilint@ibr.cs.tu-bs.de Errors-To: smilint-owner@ibr.cs.tu-bs.de Auto-Submitted: auto-replied To: "C. M. Heard" In-Reply-To: Subject: Re: smilint -l 9 -i namelength-32 rfc3636bis.mi2 X-IBRFilter-SpamReport: 0.159 () BAYES_40,NO_REAL_NAME X-Scanned-By: MIMEDefang 2.24 (www . roaringpenguin . com / mimedefang) X-pstn-levels: (S:85.14080/99.90000 R:95.9108 P:95.9108 M:97.0282 C:98.6951 ) X-pstn-settings: 4 (1.5000:1.5000) s gt3 gt2 gt1 r p m c X-pstn-addresses: from [1756/73] This is an automatically generated mail message in response to a mail message you (or someone else who used your address) sent to . If you want to learn more about this mail service, send a mail message with the "Subject: help" to . The program smilint 0.4.5, as of Thu Aug 17 10:38:15 2006 has been used to process your request as follows: smilint -m -s -e -l 9 -i namelength-32 rfc3636bis.mi2 rfc3636bis.mi2:110: [5] {identifier-external-redefined} warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' IANA-MAU-MIB:65: [6] {previous-definition} info: previous definition of `snmpDot3MauMgt' rfc3636bis.mi2:110: [5] {identifier-external-redefined} warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' IANA-MAU-MIB:412: [6] {previous-definition} info: previous definition of `snmpDot3MauMgt' rfc3636bis.mi2:20: [4] {module-identity-registration} warning: uncontrolled MODULE-IDENTITY registration rfc3636bis.mi2:173: [5] {index-element-accessible} warning: index element `rpMauGroupIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:173: [5] {index-element-accessible} warning: index element `rpMauPortIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:173: [5] {index-element-accessible} warning: index element `rpMauIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:482: [5] {index-element-accessible} warning: index element `ifMauIfIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:482: [5] {index-element-accessible} warning: index element `ifMauIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:1253: [5] {index-element-accessible} warning: index element `broadMauIfIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:1253: [5] {index-element-accessible} warning: index element `broadMauIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB Additional descriptions of some error/warning messages: Warning: module-identity-registration (level 4) Message: uncontrolled MODULE-IDENTITY registration Description: The identities of IETF MIB modules should be registered below mib-2, transmission, or snmpModules so that the registration space can be controlled by IANA. ---2133786286-899614893-1114316686=:28275 Content-Type: MESSAGE/RFC822; CHARSET=US-ASCII Content-ID: Content-Description: Re: smidiff -l 9 -i namelength-32 MAU-MIB rfc3636bis.mi2 (fwd) Return-Path: Received: from psmtp.com (exprod6mx165.postini.com [64.18.1.219]) by shell4.bayarea.net (8.13.6/8.13.6) with SMTP id k92NuhsW031696 for ; Mon, 2 Oct 2006 16:56:43 -0700 Received: from source ([209.128.100.203]) (using TLSv1) by exprod6mx165.postini.com ([64.18.5.10]) with SMTP; Mon, 02 Oct 2006 16:56:43 PDT Received: from gold.pobox.com (gold.pobox.com [208.210.124.73]) by mx2.bayarea.net (8.13.1/8.13.1) with ESMTP id k92NufJa002173 for ; Mon, 2 Oct 2006 16:56:42 -0700 Received: from agitator.ibr.cs.tu-bs.de (agitator.ibr.cs.tu-bs.de [134.169.34.18]) by gold.pobox.com (Postfix) with ESMTP id EC443C1456 for ; Mon, 2 Oct 2006 19:57:00 -0400 (EDT) Received: from agitator.ibr.cs.tu-bs.de (localhost [127.0.0.1]) by agitator.ibr.cs.tu-bs.de (8.12.3/8.12.3/Debian-7.2) with ESMTP id k92Nuam7021762 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Tue, 3 Oct 2006 01:56:36 +0200 Received: (from mail@localhost) by agitator.ibr.cs.tu-bs.de (8.12.3/8.12.3/Debian-7.2) id k92NuaCB021761; Tue, 3 Oct 2006 01:56:36 +0200 Date: Tue, 3 Oct 2006 01:56:36 +0200 Message-Id: <200610022356.k92NuaCB021761@agitator.ibr.cs.tu-bs.de> X-Authentication-Warning: agitator.ibr.cs.tu-bs.de: mail set sender to <> using -f From: smilint@ibr.cs.tu-bs.de Reply-To: smilint@ibr.cs.tu-bs.de Errors-To: smilint-owner@ibr.cs.tu-bs.de Auto-Submitted: auto-replied To: "C. M. Heard" In-Reply-To: Subject: Re: smidiff -l 9 -i namelength-32 MAU-MIB rfc3636bis.mi2 X-IBRFilter-SpamReport: -4.74 () BAYES_00,NO_REAL_NAME X-Scanned-By: MIMEDefang 2.24 (www . roaringpenguin . com / mimedefang) X-pstn-levels: (S:93.67686/99.90000 R:95.9108 P:95.9108 M:97.0282 C:98.6951 ) X-pstn-settings: 4 (1.5000:1.5000) s gt3 gt2 gt1 r p m c X-pstn-addresses: from [1756/73] This is an automatically generated mail message in response to a mail message you (or someone else who used your address) sent to . If you want to learn more about this mail service, send a mail message with the "Subject: help" to . The program smidiff 0.4.5, as of Thu Aug 17 10:38:16 2006 has been used to process your request as follows: smidiff -m -s -l 9 -i namelength-32 MAU-MIB rfc3636bis.mi2 /usr/local/share/mibs/ietf/MAU-MIB:15: warning: uncontrolled MODULE-IDENTITY registration /usr/local/share/mibs/ietf/MAU-MIB:440: warning: index element `rpMauGroupIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB /usr/local/share/mibs/ietf/MAU-MIB:440: warning: index element `rpMauPortIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB /usr/local/share/mibs/ietf/MAU-MIB:440: warning: index element `rpMauIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB /usr/local/share/mibs/ietf/MAU-MIB:854: warning: index element `ifMauIfIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB /usr/local/share/mibs/ietf/MAU-MIB:854: warning: index element `ifMauIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB /usr/local/share/mibs/ietf/MAU-MIB:1909: warning: index element `broadMauIfIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB /usr/local/share/mibs/ietf/MAU-MIB:1909: warning: index element `broadMauIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:110: warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' IANA-MAU-MIB:65: info: previous definition of `snmpDot3MauMgt' rfc3636bis.mi2:110: warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' IANA-MAU-MIB:412: info: previous definition of `snmpDot3MauMgt' rfc3636bis.mi2:20: warning: uncontrolled MODULE-IDENTITY registration rfc3636bis.mi2:173: warning: index element `rpMauGroupIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:173: warning: index element `rpMauPortIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:173: warning: index element `rpMauIndex' of row `rpMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:482: warning: index element `ifMauIfIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:482: warning: index element `ifMauIndex' of row `ifMauEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:1253: warning: index element `broadMauIfIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:1253: warning: index element `broadMauIndex' of row `broadMauBasicEntry' should be not-accessible in SMIv2 MIB rfc3636bis.mi2:20 [5] {contact-changed} warning: contact of `MAU-MIB' changed rfc3636bis.mi2:20 [5] {description-changed} warning: description of module identity definition `MAU-MIB' changed rfc3636bis.mi2:67 [5] {revision-added} warning: revision `2006-07-25 00:00' added /usr/local/share/mibs/ietf/MAU-MIB:15 [6] {previous-definition} info: previous definition of `MAU-MIB' rfc3636bis.mi2:114 [5] {status-change} warning: legal status change from `current' to `deprecated' for `JackType' rfc3636bis.mi2:114 [5] {description-changed} warning: description of textual convention definition `JackType' changed /usr/local/share/mibs/ietf/MAU-MIB:107 [6] {previous-definition} info: previous definition of `JackType' rfc3636bis.mi2:199 [5] {ref-changed} warning: reference of `rpMauGroupIndex' changed /usr/local/share/mibs/ietf/MAU-MIB:466 [6] {previous-definition} info: previous definition of `rpMauGroupIndex' rfc3636bis.mi2:220 [5] {ref-changed} warning: reference of `rpMauPortIndex' changed /usr/local/share/mibs/ietf/MAU-MIB:487 [6] {previous-definition} info: previous definition of `rpMauPortIndex' rfc3636bis.mi2:243 [5] {description-changed} warning: description of object definition `rpMauType' changed /usr/local/share/mibs/ietf/MAU-MIB:513 [6] {previous-definition} info: previous definition of `rpMauType' rfc3636bis.mi2:318 [5] {from-implicit} warning: type `IANAifMauMediaAvailable' replaces implicit type for `rpMauMediaAvailable' /usr/local/share/mibs/ietf/MAU-MIB:599 [6] {previous-definition} info: previous definition of `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `pmdLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `wisFrameLoss' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `wisSignalLoss' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `pcsLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `excessiveBER' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `dxsLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `pxsLinkFault' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `availableReduced' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {named-number-added} warning: named number `ready' added to type used in `rpMauMediaAvailable' rfc3636bis.mi2:318 [5] {description-changed} warning: description of object definition `rpMauMediaAvailable' changed /usr/local/share/mibs/ietf/MAU-MIB:599 [6] {previous-definition} info: previous definition of `rpMauMediaAvailable' rfc3636bis.mi2:462 [5] {named-number-added} warning: named number `cx4' added to type used in `rpJackType' rfc3636bis.mi2:533 [5] {description-changed} warning: description of object definition `ifMauType' changed /usr/local/share/mibs/ietf/MAU-MIB:908 [6] {previous-definition} info: previous definition of `ifMauType' rfc3636bis.mi2:617 [5] {from-implicit} warning: type `IANAifMauMediaAvailable' replaces implicit type for `ifMauMediaAvailable' /usr/local/share/mibs/ietf/MAU-MIB:1003 [6] {previous-definition} info: previous definition of `ifMauMediaAvailable' rfc3636bis.mi2:617 [5] {named-number-added} warning: named number `availableReduced' added to type used in `ifMauMediaAvailable' rfc3636bis.mi2:617 [5] {named-number-added} warning: named number `ready' added to type used in `ifMauMediaAvailable' rfc3636bis.mi2:617 [5] {description-changed} warning: description of object definition `ifMauMediaAvailable' changed /usr/local/share/mibs/ietf/MAU-MIB:1003 [6] {previous-definition} info: previous definition of `ifMauMediaAvailable' rfc3636bis.mi2:822 [5] {from-implicit} warning: type `IANAifMauTypeListBits' replaces implicit type for `ifMauTypeListBits' /usr/local/share/mibs/ietf/MAU-MIB:1337 [6] {previous-definition} info: previous definition of `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b10GbaseCX4' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b2BaseTL' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b10PassTS' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b100BaseBX10D' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b100BaseBX10U' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b100BaseLX10' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit `b1000BaseBX10D' added without starting in a new byte in type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BaseBX10U' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BaseLX10' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX10D' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX10U' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX20D' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {named-number-added} warning: named number `b1000BasePX20U' added to type used in `ifMauTypeListBits' rfc3636bis.mi2:822 [5] {description-changed} warning: description of object definition `ifMauTypeListBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1337 [6] {previous-definition} info: previous definition of `ifMauTypeListBits' rfc3636bis.mi2:903 [5] {named-number-added} warning: named number `cx4' added to type used in `ifJackType' rfc3636bis.mi2:1275 [5] {ref-changed} warning: reference of `broadMauIfIndex' changed /usr/local/share/mibs/ietf/MAU-MIB:1934 [6] {previous-definition} info: previous definition of `broadMauIfIndex' /usr/local/share/mibs/ietf/MAU-MIB:145 [1] {node-removed} node `dot3MauType' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:147 [1] {node-removed} node `dot3MauTypeAUI' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:153 [1] {node-removed} node `dot3MauType10Base5' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:159 [1] {node-removed} node `dot3MauTypeFoirl' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:165 [1] {node-removed} node `dot3MauType10Base2' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:171 [1] {node-removed} node `dot3MauType10BaseT' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:185 [1] {node-removed} node `dot3MauType10BaseFP' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:191 [1] {node-removed} node `dot3MauType10BaseFB' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:197 [1] {node-removed} node `dot3MauType10BaseFL' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:209 [1] {node-removed} node `dot3MauType10Broad36' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:218 [1] {node-removed} node `dot3MauType10BaseTHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:224 [1] {node-removed} node `dot3MauType10BaseTFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:230 [1] {node-removed} node `dot3MauType10BaseFLHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:239 [1] {node-removed} node `dot3MauType10BaseFLFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:245 [1] {node-removed} node `dot3MauType100BaseT4' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:251 [1] {node-removed} node `dot3MauType100BaseTXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:257 [1] {node-removed} node `dot3MauType100BaseTXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:263 [1] {node-removed} node `dot3MauType100BaseFXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:269 [1] {node-removed} node `dot3MauType100BaseFXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:275 [1] {node-removed} node `dot3MauType100BaseT2HD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:281 [1] {node-removed} node `dot3MauType100BaseT2FD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:292 [1] {node-removed} node `dot3MauType1000BaseXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:298 [1] {node-removed} node `dot3MauType1000BaseXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:304 [1] {node-removed} node `dot3MauType1000BaseLXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:311 [1] {node-removed} node `dot3MauType1000BaseLXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:318 [1] {node-removed} node `dot3MauType1000BaseSXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:325 [1] {node-removed} node `dot3MauType1000BaseSXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:332 [1] {node-removed} node `dot3MauType1000BaseCXHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:342 [1] {node-removed} node `dot3MauType1000BaseCXFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:349 [1] {node-removed} node `dot3MauType1000BaseTHD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:355 [1] {node-removed} node `dot3MauType1000BaseTFD' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:363 [1] {node-removed} node `dot3MauType10GigBaseX' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:369 [1] {node-removed} node `dot3MauType10GigBaseLX4' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:375 [1] {node-removed} node `dot3MauType10GigBaseR' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:381 [1] {node-removed} node `dot3MauType10GigBaseER' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:389 [1] {node-removed} node `dot3MauType10GigBaseLR' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:395 [1] {node-removed} node `dot3MauType10GigBaseSR' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:401 [1] {node-removed} node `dot3MauType10GigBaseW' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:407 [1] {node-removed} node `dot3MauType10GigBaseEW' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:413 [1] {node-removed} node `dot3MauType10GigBaseLW' has been deleted /usr/local/share/mibs/ietf/MAU-MIB:419 [1] {node-removed} node `dot3MauType10GigBaseSW' has been deleted rfc3636bis.mi2:1136 [5] {from-implicit} warning: type `IANAifMauAutoNegCapBits' replaces implicit type for `ifMauAutoNegCapabilityBits' /usr/local/share/mibs/ietf/MAU-MIB:1721 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxPause' changed to `bFdxPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxAPause' changed to `bFdxAPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxSPause' changed to `bFdxSPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named number `bfdxBPause' changed to `bFdxBPause' at type used in `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1136 [5] {description-changed} warning: description of object definition `ifMauAutoNegCapabilityBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1721 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapabilityBits' rfc3636bis.mi2:1157 [5] {from-implicit} warning: type `IANAifMauAutoNegCapBits' replaces implicit type for `ifMauAutoNegCapAdvertisedBits' /usr/local/share/mibs/ietf/MAU-MIB:1762 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapAdvertisedBits' rfc3636bis.mi2:1157 [5] {description-changed} warning: description of object definition `ifMauAutoNegCapAdvertisedBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1762 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapAdvertisedBits' rfc3636bis.mi2:1179 [5] {from-implicit} warning: type `IANAifMauAutoNegCapBits' replaces implicit type for `ifMauAutoNegCapReceivedBits' /usr/local/share/mibs/ietf/MAU-MIB:1808 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapReceivedBits' rfc3636bis.mi2:1179 [5] {description-changed} warning: description of object definition `ifMauAutoNegCapReceivedBits' changed /usr/local/share/mibs/ietf/MAU-MIB:1808 [6] {previous-definition} info: previous definition of `ifMauAutoNegCapReceivedBits' rfc3636bis.mi2:1356 [5] {ref-changed} warning: reference of `rpMauJabberTrap' changed /usr/local/share/mibs/ietf/MAU-MIB:2021 [6] {previous-definition} info: previous definition of `rpMauJabberTrap' rfc3636bis.mi2:1369 [5] {ref-changed} warning: reference of `ifMauJabberTrap' changed /usr/local/share/mibs/ietf/MAU-MIB:2034 [6] {previous-definition} info: previous definition of `ifMauJabberTrap' ---2133786286-899614893-1114316686=:28275 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ---2133786286-899614893-1114316686=:28275-- From hubmib-bounces@ietf.org Mon Oct 16 14:25:51 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZX9r-0001qO-FU; Mon, 16 Oct 2006 14:25:51 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZX9q-0001qJ-Qb for hubmib@ietf.org; Mon, 16 Oct 2006 14:25:50 -0400 Received: from [62.90.13.193] (helo=il-mail.actelis.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZX9o-0005LZ-Lr for hubmib@ietf.org; Mon, 16 Oct 2006 14:25:50 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05.txt Date: Mon, 16 Oct 2006 20:25:36 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3E7383A7@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05.txt Thread-Index: AcbxRBJSqVa9tr+bStKeYeGhnc5AxgAC6T0g From: "Edward Beili" To: "C. M. Heard" , "David Kessens" , "Wijnen, Bert \(Bert\)" X-Spam-Score: 0.0 (/) X-Scan-Signature: 0f3de74e534ea82d41273d2b8504db1c Cc: "Romascanu, Dan \(Dan\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Mike, Thank you for a very thorough review of the draft. I would make 2 editorial changes you specified (s/There is a number = of/There are a number of/ and s/Management of IEEE 802.3 Managed = Objects/Mapping of IEEE 802.3 Managed Objects) and submit and updated = draft shortly. David/Bert, Anything else I should do? Regards, -E. > -----Original Message----- > From: hubmib-bounces@ietf.org=20 > [mailto:hubmib-bounces@ietf.org]On Behalf Of C. M. Heard > Sent: Sunday, October 15, 2006 6:22 AM > To: Hub Mib > Cc: Romascanu, Dan (Dan); David Kessens > Subject: [Hubmib] MIB Doctor Review of=20 > draft-ietf-hubmib-rfc3636bis-05.txt >=20 >=20 > Greetings, >=20 > Since I have reviewed previous versions of this document (see, e.g., > http://www1.ietf.org/mail-archive/web/hubmib/current/msg00759.html > and subsequent correspondence), Dan Romascanu and David Kessens have > requested that I perform the official MIB Doctor review for > draft-ietf-hubmib-rfc3636bis-05.txt before it is passed to the IESG. >=20 > After re-reading this version of the document, here is my bottom > line: apart from minor editorial issues that can easily be fixed by > the RFC Editor, I think that it is ready for publication as a > proposed standard, and I recommend that it be approved by the IESG. >=20 > Detailed review comments follow below. As is my custom, I use the > checklist from Appendix A of the MIB review guidelines to organize > my comments. >=20 > 1.) I-D Boilerplate -- OK >=20 > 2.) Abstract -- OK >=20 > 3.) MIB Boilerplate -- OK >=20 > 4.) Security Considerations Section -- I would recommend the > following editorial change to 2nd paragraph: >=20 > s/There is a number of/There are a number of/ >=20 > The section is otherwise OK (its content is basically unchanged from > RFC 3636). >=20 > 5.) IANA Considerations Section -- OK >=20 > 6.) References -- OK >=20 > 7.) Copyright Notices -- OK >=20 > 8.) IPR Notice -- OK >=20 > 9.) Other issues -- I would recommend that the heading for Section > 3.4 be changed from: >=20 > 3.4. Management of IEEE 802.3 Managed Objects >=20 > to: >=20 > 3.4. Mapping of IEEE 802.3 Managed Objects >=20 > as it was in RFC 3636. >=20 > The automated ID nits checker raises no issues with the document. > Based on that and on the statements in the submission note > (http://www1.ietf.org/mail-archive/web/hubmib/current/msg00951.html) > I think it's fair to assume that issues mentioned in > http://www.ietf.org/ID-Checklist.html have been taken care of. >=20 > 10.) Technical content -- the changes in functionality relative to > RFC 3636 are relatively modest. First, support has been added for > the following new standard MAU types: >=20 > 10GBASE-CX4 > 2BASE-TL > 10PASS-TS > 100BASE-BX10D > 100BASE-BX10U > 100BASE-LX10 > 1000BASE-BX10D > 1000BASE-BX10U > 1000BASE-LX10 > 1000BASE-PX10D > 1000BASE-PX10U > 1000BASE-PX20D > 1000BASE-PX20U >=20 > For each of these there is a new OBJECT-IDENTITY definition that > provides a new standard value for ifMauType, and there is also a > corresponding named bit added to ifMauTypeListBits. >=20 > Second, a new enumerated value cx4 has been added to the type used > for ifJackType, in order to allow the connector used with > 10GBASE-CX4 MAUs to be represented. >=20 > Third, new enumerated values availableReduced and ready have been > added to the type used for ifMauMediaAvailable in order to report > certain states associated with 2BASE-TL and 10PASS-TS MAUs to be > properly reported. >=20 > Beside these modest functional changes there has been a significant > reorganization, wherein the OBJECT-IDENTITY constructs that define > MAU type values and the TEXTUAL-CONVENTION constructs that define > jack type values, ifMauMediaAvailable values, and capability values > used in autonegotiation advertisements have been migrated to a > separate IANA-maintained MIB module in order to allow new values to > be added with only an Expert Review instead of the previously > required Standards Action. >=20 > The reorgnization is not entirely compliant with the MIB module > revision rules in STD 58 and BCP 111, but this fact is clearly > explained in the draft, and in the eyes of this reviewer the > improved ability to track changes to IEEE Std 802.3 in a timely > manner justifies bending the rules in this case. >=20 > The attachments contain the smilint and reports for the IANA-MAU-MIB > and MAU-MIB and the smidiff report for MAU-MIB. I review these in > detail below, in order to explain why I am OK with the MIB modules > despite the presence of diagnostic messages from the tools (note > that the modules compile cleanly when I use SMICng), I won't comment > on the text portions of the draft since I'm satisfied with their > quality, both technically and editorially. >=20 > (a) From the smilint report for IANA-MAU-MIB: >=20 > IANA-MAU-MIB:10: [4] {module-identity-registration} warning:=20 > uncontrolled MODULE-IDENTITY registration >=20 > This warning has been issued because the MODULE-IDENTITY value is > registered below snmpDot3MauMgt, which is defined in MAU MIB as > { mib-2 26 }, instead of being registered under a node that is > directly controlled in an IANA-maintained registry. The hazard is > that future maintenance activities on the MIB modules might lead to > duplicate OID assignments if the maintainers are not careful. >=20 > At my request, the WG has put ASN.1 comments into the MAU-MIB to > indicate that { snmpDot3MauMgt 7 } is the MODULE-IDENTITY value for > the IANA-MAU-MIB, and also that OIDs under { snmpDot3MauMgt 4 } are > reserved for the IANA-MAU-MIB to assign as MAU type values. I > believe that these measures are adequate to mitigate the hazard. >=20 > (b) From the smilint report for MAU-MIB: >=20 > rfc3636bis.mi2:110: [5] {identifier-external-redefined}=20 > warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' > IANA-MAU-MIB:65: [6] {previous-definition} info: previous=20 > definition of `snmpDot3MauMgt' > rfc3636bis.mi2:110: [5] {identifier-external-redefined}=20 > warning: redefinition of identifier `IANA-MAU-MIB::snmpDot3MauMgt' > IANA-MAU-MIB:412: [6] {previous-definition} info: previous=20 > definition of `snmpDot3MauMgt' >=20 > Note that the revised MAU-MIB (rfc3636bis.mi2) IMPORTs several > definitions from the IANA-MAU-MIB, and as a consequence the > IANA-MAU-MIB is parsed first so that its symbols are visible when > the MAU-MIB definitions are processed. These warnings were issued > because the following definitions appear in the IANA-MAU-MIB >=20 > ianaMauMIB MODULE-IDENTITY > [ ... ] > ::=3D { mib-2 snmpDot3MauMgt(26) 7 } -- mauMod+1 >=20 > dot3MauType OBJECT IDENTIFIER ::=3D { mib-2 snmpDot3MauMgt(26) 4 = } >=20 > while the MAU-MIB contains the following definition: >=20 > snmpDot3MauMgt OBJECT IDENTIFIER ::=3D { mib-2 26 } >=20 > In point of fact, only the last of these constructs constitutes a > definition for the descriptor 'snmpDot3MauMgt'. In the first two > constructs 'snmpDot3MauMgt(26)' has exactly the same meaning as > would '26' ... in other words, the label snmpDot3MauMgt has the > status of a comment in those contexts. So these warnings are > spurious and should be ignored. >=20 > rfc3636bis.mi2:20: [4] {module-identity-registration}=20 > warning: uncontrolled MODULE-IDENTITY registration >=20 > This warning has been issued because the MODULE-IDENTITY value is > registered below snmpDot3MauMgt OBJECT IDENTIFIER ::=3D { mib-2 26 } > instead of being registered under a node that is directly controlled > by the IANA. The hazard is that future maintenance activities on > the MIB modules might lead to duplicate OID assignments if the > maintainers are not careful. >=20 > At my request, the WG has put an ASN.1 comment into the MAU-MIB to > remind maintainers that { snmpDot3MauMgt 6 } is the MODULE-IDENTITY > value for that MIB module, and I believe that this measure is > adequate to mitigate the hazard. >=20 > rfc3636bis.mi2:173: [5] {index-element-accessible} warning:=20 > index element `rpMauGroupIndex' of row `rpMauEntry' should be=20 > not-accessible in SMIv2 MIB > rfc3636bis.mi2:173: [5] {index-element-accessible} warning:=20 > index element `rpMauPortIndex' of row `rpMauEntry' should be=20 > not-accessible in SMIv2 MIB > rfc3636bis.mi2:173: [5] {index-element-accessible} warning:=20 > index element `rpMauIndex' of row `rpMauEntry' should be=20 > not-accessible in SMIv2 MIB > rfc3636bis.mi2:482: [5] {index-element-accessible} warning:=20 > index element `ifMauIfIndex' of row `ifMauEntry' should be=20 > not-accessible in SMIv2 MIB > rfc3636bis.mi2:482: [5] {index-element-accessible} warning:=20 > index element `ifMauIndex' of row `ifMauEntry' should be=20 > not-accessible in SMIv2 MIB > rfc3636bis.mi2:1253: [5] {index-element-accessible} warning:=20 > index element `broadMauIfIndex' of row `broadMauBasicEntry'=20 > should be not-accessible in SMIv2 MIB > rfc3636bis.mi2:1253: [5] {index-element-accessible} warning:=20 > index element `broadMauIndex' of row `broadMauBasicEntry'=20 > should be not-accessible in SMIv2 MIB >=20 > The above warnings are issued because the indicated INDEX elements > have a MAX-ACCESS value of read-only instead of not-accessible. In > each case the reason why the access value is read-only is because > the object was originally defined in an SMIv1 MIB module (see RFC > 1515), and SMIv1 rules did not require (or even allow) such objects > to have an access value of not-accessible. SInce SMI revision rules > do not allow downgrading from read-only to not-accessible, these > access values remain read-only. There are ASN.1 comments for all > these objects that note this fact. So these warnings are all OK. >=20 > (c) From the smidiff report for MAU-MIB: >=20 > rfc3636bis.mi2:20 [5] {contact-changed} warning: contact of=20 > `MAU-MIB' changed > rfc3636bis.mi2:20 [5] {description-changed} warning:=20 > description of module identity definition `MAU-MIB' changed > rfc3636bis.mi2:67 [5] {revision-added} warning: revision=20 > `2006-07-25 00:00' added > /usr/local/share/mibs/ietf/MAU-MIB:15 [6]=20 > {previous-definition} info: previous definition of `MAU-MIB' >=20 > These are routine changes that are normally made when updating a MIB > module. >=20 > rfc3636bis.mi2:114 [5] {status-change} warning: legal status=20 > change from `current' to `deprecated' for `JackType' > rfc3636bis.mi2:114 [5] {description-changed} warning:=20 > description of textual convention definition `JackType' changed > /usr/local/share/mibs/ietf/MAU-MIB:107 [6]=20 > {previous-definition} info: previous definition of `JackType' >=20 > As noted in Section 3.5.5 of the draft and in the DESCRIPTION > clause, the JackType TC has been deprecated in favor of the > IANAifJackType TC. The old definition remains in place, as required > by STD 58 and BCP 111, in order to maintain backward compatibility > with MIB modules that might reference it in an IMPORTS clause. >=20 > rfc3636bis.mi2:199 [5] {ref-changed} warning: reference of=20 > `rpMauGroupIndex' changed > /usr/local/share/mibs/ietf/MAU-MIB:466 [6]=20 > {previous-definition} info: previous definition of `rpMauGroupIndex' > rfc3636bis.mi2:220 [5] {ref-changed} warning: reference of=20 > `rpMauPortIndex' changed > /usr/local/share/mibs/ietf/MAU-MIB:487 [6]=20 > {previous-definition} info: previous definition of `rpMauPortIndex' >=20 > These are routine changes that are often made when updating a MIB > module. >=20 > rfc3636bis.mi2:243 [5] {description-changed} warning:=20 > description of object definition `rpMauType' changed > /usr/local/share/mibs/ietf/MAU-MIB:513 [6]=20 > {previous-definition} info: previous definition of `rpMauType' >=20 > The DESCRIPTION clause of this object was changed to reflect the > fact that the OBJECT-IDENTITY definitions for standard MAU types now > reside in the IANA-MAU-MIB instead of the MAU-MIB. >=20 > rfc3636bis.mi2:318 [5] {from-implicit} warning: type=20 > `IANAifMauMediaAvailable' replaces implicit type for=20 > `rpMauMediaAvailable' > /usr/local/share/mibs/ietf/MAU-MIB:599 [6]=20 > {previous-definition} info: previous definition of=20 > `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `pmdLinkFault' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `wisFrameLoss' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `wisSignalLoss' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `pcsLinkFault' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `excessiveBER' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `dxsLinkFault' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `pxsLinkFault' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `availableReduced' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {named-number-added} warning: named=20 > number `ready' added to type used in `rpMauMediaAvailable' > rfc3636bis.mi2:318 [5] {description-changed} warning:=20 > description of object definition `rpMauMediaAvailable' changed > /usr/local/share/mibs/ietf/MAU-MIB:599 [6]=20 > {previous-definition} info: previous definition of=20 > `rpMauMediaAvailable' >=20 > These diagnostics result from changing the SYNTAX value of > rpMauMediaAvailable from enumerated INTEGER to > IANAifMauMediaAvailable. The extra values come in because the TC > contains all the values needed for ifMauMediaAvailable, and the > definition of rpMauMediaAvailable in RFC 3636 left out some values > that did not apply to repeaters. I think that this change is OK, > since it does not change semantics (the object is read-only) and > makes maintenance much easier. >=20 > rfc3636bis.mi2:462 [5] {named-number-added} warning: named=20 > number `cx4' added to type used in `rpJackType' >=20 > This diagnostic results from changing the SYNTAX value of rpJackType > from JackType to IANAifJackType, which has the new value cx4 added, > as required to support 10GBASE-CX4. Although the cx4 jack type does > not apply to repeaters, I think that this change is OK, since it > does not change semantics (the object is read-only) and makes > maintenance much easier. >=20 > rfc3636bis.mi2:533 [5] {description-changed} warning:=20 > description of object definition `ifMauType' changed > /usr/local/share/mibs/ietf/MAU-MIB:908 [6]=20 > {previous-definition} info: previous definition of `ifMauType' >=20 > The DESCRIPTION clause of this object was changed to reflect the > fact that the OBJECT-IDENTITY definitions for standard MAU types now > reside in the IANA-MAU-MIB instead of the MAU-MIB. >=20 > rfc3636bis.mi2:617 [5] {from-implicit} warning: type=20 > `IANAifMauMediaAvailable' replaces implicit type for=20 > `ifMauMediaAvailable' > /usr/local/share/mibs/ietf/MAU-MIB:1003 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauMediaAvailable' > rfc3636bis.mi2:617 [5] {named-number-added} warning: named=20 > number `availableReduced' added to type used in `ifMauMediaAvailable' > rfc3636bis.mi2:617 [5] {named-number-added} warning: named=20 > number `ready' added to type used in `ifMauMediaAvailable' > rfc3636bis.mi2:617 [5] {description-changed} warning:=20 > description of object definition `ifMauMediaAvailable' changed > /usr/local/share/mibs/ietf/MAU-MIB:1003 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauMediaAvailable' >=20 > These diagnostics result from changing the SYNTAX value of > ifMauMediaAvailable from enumerated INTEGER to > IANAifMauMediaAvailable. The additional values come in because the > new TC contains values needed to support Ethernet in the First Mile. >=20 > rfc3636bis.mi2:822 [5] {from-implicit} warning: type=20 > `IANAifMauTypeListBits' replaces implicit type for `ifMauTypeListBits' > /usr/local/share/mibs/ietf/MAU-MIB:1337 [6]=20 > {previous-definition} info: previous definition of `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b10GbaseCX4' added without starting in a new byte in type=20 > used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b2BaseTL' added without starting in a new byte in type used=20 > in `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b10PassTS' added without starting in a new byte in type used=20 > in `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b100BaseBX10D' added without starting in a new byte in type=20 > used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b100BaseBX10U' added without starting in a new byte in type=20 > used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b100BaseLX10' added without starting in a new byte in type=20 > used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [3] {named-bit-added-old-byte} named bit=20 > `b1000BaseBX10D' added without starting in a new byte in type=20 > used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {named-number-added} warning: named=20 > number `b1000BaseBX10U' added to type used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {named-number-added} warning: named=20 > number `b1000BaseLX10' added to type used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {named-number-added} warning: named=20 > number `b1000BasePX10D' added to type used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {named-number-added} warning: named=20 > number `b1000BasePX10U' added to type used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {named-number-added} warning: named=20 > number `b1000BasePX20D' added to type used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {named-number-added} warning: named=20 > number `b1000BasePX20U' added to type used in `ifMauTypeListBits' > rfc3636bis.mi2:822 [5] {description-changed} warning:=20 > description of object definition `ifMauTypeListBits' changed > /usr/local/share/mibs/ietf/MAU-MIB:1337 [6]=20 > {previous-definition} info: previous definition of `ifMauTypeListBits' >=20 > These diagnostics result from changing the SYNTAX value of > ifMauTypeListBits from the explicit BITS type used in RFC 3636 to > IANAifMauTypeListBits, which contains enumerated bits to represent > the thirteen MAU types added since RFC 3636 was published. >=20 > Although smilint seems to insist that it is an error for bit > positions to be added without starting a new byte, there is no > reason to do so in this case. If a management application retrieves > ifMauTypeListBits from an implementation based on the RFC 3636 > version of the MAU-MIB, then the bit positions that correspond to > b10GbaseCX4, b2BaseTL, b10PassTS, b100BaseBX10D, b100BaseBX10U, > b100BaseLX10, and b1000BaseBX10D will be set to zero, which > indicates that the agent does not support those MAU types. Since > this is in fact semantically correct, starting a new byte for the > new values is unnecessary. >=20 > rfc3636bis.mi2:903 [5] {named-number-added} warning: named=20 > number `cx4' added to type used in `ifJackType' >=20 > This diagnostic results from changing the SYNTAX value of ifJackType > from JackType to IANAifJackType, which has the new value cx4 added, > as required to support 10GBASE-CX4. >=20 > rfc3636bis.mi2:1275 [5] {ref-changed} warning: reference of=20 > `broadMauIfIndex' changed > /usr/local/share/mibs/ietf/MAU-MIB:1934 [6]=20 > {previous-definition} info: previous definition of `broadMauIfIndex' >=20 > This is a routine change that is often made when updating a MIB > module. >=20 > /usr/local/share/mibs/ietf/MAU-MIB:145 [1] {node-removed}=20 > node `dot3MauType' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:147 [1] {node-removed}=20 > node `dot3MauTypeAUI' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:153 [1] {node-removed}=20 > node `dot3MauType10Base5' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:159 [1] {node-removed}=20 > node `dot3MauTypeFoirl' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:165 [1] {node-removed}=20 > node `dot3MauType10Base2' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:171 [1] {node-removed}=20 > node `dot3MauType10BaseT' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:185 [1] {node-removed}=20 > node `dot3MauType10BaseFP' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:191 [1] {node-removed}=20 > node `dot3MauType10BaseFB' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:197 [1] {node-removed}=20 > node `dot3MauType10BaseFL' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:209 [1] {node-removed}=20 > node `dot3MauType10Broad36' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:218 [1] {node-removed}=20 > node `dot3MauType10BaseTHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:224 [1] {node-removed}=20 > node `dot3MauType10BaseTFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:230 [1] {node-removed}=20 > node `dot3MauType10BaseFLHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:239 [1] {node-removed}=20 > node `dot3MauType10BaseFLFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:245 [1] {node-removed}=20 > node `dot3MauType100BaseT4' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:251 [1] {node-removed}=20 > node `dot3MauType100BaseTXHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:257 [1] {node-removed}=20 > node `dot3MauType100BaseTXFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:263 [1] {node-removed}=20 > node `dot3MauType100BaseFXHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:269 [1] {node-removed}=20 > node `dot3MauType100BaseFXFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:275 [1] {node-removed}=20 > node `dot3MauType100BaseT2HD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:281 [1] {node-removed}=20 > node `dot3MauType100BaseT2FD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:292 [1] {node-removed}=20 > node `dot3MauType1000BaseXHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:298 [1] {node-removed}=20 > node `dot3MauType1000BaseXFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:304 [1] {node-removed}=20 > node `dot3MauType1000BaseLXHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:311 [1] {node-removed}=20 > node `dot3MauType1000BaseLXFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:318 [1] {node-removed}=20 > node `dot3MauType1000BaseSXHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:325 [1] {node-removed}=20 > node `dot3MauType1000BaseSXFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:332 [1] {node-removed}=20 > node `dot3MauType1000BaseCXHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:342 [1] {node-removed}=20 > node `dot3MauType1000BaseCXFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:349 [1] {node-removed}=20 > node `dot3MauType1000BaseTHD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:355 [1] {node-removed}=20 > node `dot3MauType1000BaseTFD' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:363 [1] {node-removed}=20 > node `dot3MauType10GigBaseX' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:369 [1] {node-removed}=20 > node `dot3MauType10GigBaseLX4' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:375 [1] {node-removed}=20 > node `dot3MauType10GigBaseR' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:381 [1] {node-removed}=20 > node `dot3MauType10GigBaseER' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:389 [1] {node-removed}=20 > node `dot3MauType10GigBaseLR' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:395 [1] {node-removed}=20 > node `dot3MauType10GigBaseSR' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:401 [1] {node-removed}=20 > node `dot3MauType10GigBaseW' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:407 [1] {node-removed}=20 > node `dot3MauType10GigBaseEW' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:413 [1] {node-removed}=20 > node `dot3MauType10GigBaseLW' has been deleted > /usr/local/share/mibs/ietf/MAU-MIB:419 [1] {node-removed}=20 > node `dot3MauType10GigBaseSW' has been deleted >=20 > The above diagnostics result from moving the MAU type > OBJECT-IDENTITY definitions out of the MAU-MIB and into the > IANA-MAU-MIB. Both the motivation for and the ramifications of > these changes are clearly explained in the last paragraph of Section > 3.1 of the draft (pp. 4 and 5). In my opinion the WG's judgment > call on this matter is a reasonable one, and I think that it should > be respected. This was also the rough consensus from a discussion > of this point on the MIB Doctors mailing list. >=20 > rfc3636bis.mi2:1136 [5] {from-implicit} warning: type=20 > `IANAifMauAutoNegCapBits' replaces implicit type for=20 > `ifMauAutoNegCapabilityBits' > /usr/local/share/mibs/ietf/MAU-MIB:1721 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauAutoNegCapabilityBits' > rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named=20 > number `bfdxPause' changed to `bFdxPause' at type used in=20 > `ifMauAutoNegCapabilityBits' > rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named=20 > number `bfdxAPause' changed to `bFdxAPause' at type used in=20 > `ifMauAutoNegCapabilityBits' > rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named=20 > number `bfdxSPause' changed to `bFdxSPause' at type used in=20 > `ifMauAutoNegCapabilityBits' > rfc3636bis.mi2:1136 [5] {named-number-changed} warning: named=20 > number `bfdxBPause' changed to `bFdxBPause' at type used in=20 > `ifMauAutoNegCapabilityBits' > rfc3636bis.mi2:1136 [5] {description-changed} warning:=20 > description of object definition `ifMauAutoNegCapabilityBits' changed > /usr/local/share/mibs/ietf/MAU-MIB:1721 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauAutoNegCapabilityBits' >=20 > These diagnostics result from changing the SYNTAX value for > ifMauAutoNegCapabilityBits from the explicit BITS type used in RFC > 3636 to IANAifMauAutoNegCapBits. The change of spelling in the > labels results from the fact that in RFC 3636 the SYNTAX clause for > fMauAutoNegCapabilityBits used the spellings bfdxPause, bfdxAPause, > bfdxSPause, and bfdxBPause, while the SYNTAX clauses for > ifMauAutoNegCapAdvertisedBits and ifMauAutoNegCapReceivedBits used > the spellings bFdxPause, bFdxAPause, bFdxSPause, and bFdxBPause, > respectively. In order to minimize both the amount of work and the > likelihood of error when adding support for new autonegotiation > capabilities, it is highly desirable to use a common TC for all of > these objects, which after all have the same underlying sets of > values. Changing the named bit labels for > ifMauAutoNegCapabilityBits may cause some compilation compatibility > problems with various tools, but in its discussion the WG concluded > that the maintenance issue trumps this consideration. I think that > the WG's judgment call is reasonable and urge that it be respected. >=20 > rfc3636bis.mi2:1157 [5] {from-implicit} warning: type=20 > `IANAifMauAutoNegCapBits' replaces implicit type for=20 > `ifMauAutoNegCapAdvertisedBits' > /usr/local/share/mibs/ietf/MAU-MIB:1762 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauAutoNegCapAdvertisedBits' > rfc3636bis.mi2:1157 [5] {description-changed} warning:=20 > description of object definition=20 > `ifMauAutoNegCapAdvertisedBits' changed > /usr/local/share/mibs/ietf/MAU-MIB:1762 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauAutoNegCapAdvertisedBits' >=20 > These diagnostics result from changing the SYNTAX value for > ifMauAutoNegCapAdvertisedBits from the explicit BITS type used in > RFC 3636 to IANAifMauAutoNegCapBits. >=20 > rfc3636bis.mi2:1179 [5] {from-implicit} warning: type=20 > `IANAifMauAutoNegCapBits' replaces implicit type for=20 > `ifMauAutoNegCapReceivedBits' > /usr/local/share/mibs/ietf/MAU-MIB:1808 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauAutoNegCapReceivedBits' > rfc3636bis.mi2:1179 [5] {description-changed} warning:=20 > description of object definition `ifMauAutoNegCapReceivedBits' changed > /usr/local/share/mibs/ietf/MAU-MIB:1808 [6]=20 > {previous-definition} info: previous definition of=20 > `ifMauAutoNegCapReceivedBits' >=20 > These diagnostics result from changing the SYNTAX value for > ifMauAutoNegCapReceivedBits from the explicit BITS type used in RFC > 3636 to IANAifMauAutoNegCapBits. >=20 > NOTE: although no new autonegotiation capabilities were instroduced > in this draft, the comments made above for IANAifMauTypeListBits > stating that new bit positions need not start on a new byte applies > also to IANAifMauAutoNegCapBits. There is never an ambiguity for > the read-only objects ifMauAutoNegCapabilityBits and > ifMauAutoNegCapReceivedBits, and a management station can always > update ifMauAutoNegCapAdvertisedBits by retrieving the value of > ifMauAutoNegCapabilityBits, resetting bits in the returned value > that correspond to capabilities that should not be advertised, and > then writing the result to ifMauAutoNegCapAdvertisedBits. >=20 > rfc3636bis.mi2:1356 [5] {ref-changed} warning: reference of=20 > `rpMauJabberTrap' changed > /usr/local/share/mibs/ietf/MAU-MIB:2021 [6]=20 > {previous-definition} info: previous definition of `rpMauJabberTrap' > rfc3636bis.mi2:1369 [5] {ref-changed} warning: reference of=20 > `ifMauJabberTrap' changed > /usr/local/share/mibs/ietf/MAU-MIB:2034 [6]=20 > {previous-definition} info: previous definition of `ifMauJabberTrap' >=20 > These are routine changes that are often made when updating a MIB > module. >=20 > This concludes the MIB Doctor review of > draft-ietf-hubmib-rfc3636bis-05.txt >=20 > Thanks & regards, >=20 > Mike Heard >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Oct 16 23:48:34 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZfwQ-0006OO-BX; Mon, 16 Oct 2006 23:48:34 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZfwP-0006MP-2f for hubmib@ietf.org; Mon, 16 Oct 2006 23:48:33 -0400 Received: from shell4.bayarea.net ([209.128.82.1]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZXO1-0007r4-NS for hubmib@ietf.org; Mon, 16 Oct 2006 14:40:31 -0400 Received: from shell4.bayarea.net (localhost [127.0.0.1]) by shell4.bayarea.net (8.13.6/8.13.6) with ESMTP id k9GIe3aH004211; Mon, 16 Oct 2006 11:40:03 -0700 Received: from localhost (heard@localhost) by shell4.bayarea.net (8.13.6/8.12.11/Submit) with ESMTP id k9GIe2wX004186; Mon, 16 Oct 2006 11:40:03 -0700 X-Authentication-Warning: shell4.bayarea.net: heard owned process doing -bs Date: Mon, 16 Oct 2006 11:40:01 -0700 (PDT) From: "C. M. Heard" X-Sender: heard@shell4.bayarea.net To: Edward Beili Subject: RE: [Hubmib] MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05.txt In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3E7383A7@il-mail.actelis.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Score: 0.0 (/) X-Scan-Signature: d17f825e43c9aed4fd65b7edddddec89 Cc: "Wijnen, Bert \(Bert\)" , David Kessens , Hub Mib , "Romascanu, Dan \(Dan\)" X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org On Mon, 16 Oct 2006, Edward Beili wrote: > I would make 2 editorial changes you specified (s/There is a > number of/There are a number of/ and s/Management of IEEE 802.3 > Managed Objects/Mapping of IEEE 802.3 Managed Objects) and > submit and updated draft shortly. These could also be handled as RFC Editor notes ... I guess it's up to David, Bert, and Dan to say what they'd rather have you do. Mike _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 09:39:53 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZpAb-0004Jx-5m; Tue, 17 Oct 2006 09:39:49 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZpAa-0004Js-Jy for hubmib@ietf.org; Tue, 17 Oct 2006 09:39:48 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZpAT-00016g-Jc for hubmib@ietf.org; Tue, 17 Oct 2006 09:39:48 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9HDcrOI007716; Tue, 17 Oct 2006 08:38:54 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Tue, 17 Oct 2006 15:38:51 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA3F8@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: Edward Beili , "C. M. Heard" Subject: RE: [Hubmib] MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05 .txt Date: Tue, 17 Oct 2006 15:38:51 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Spam-Score: 2.3 (++) X-Scan-Signature: d9238570526f12788af3d33c67f37625 Cc: "Romascanu, Dan \(Dan\)" , David Kessens , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Inline > -----Original Message----- > From: C. M. Heard [mailto:heard@pobox.com] > Sent: Monday, October 16, 2006 20:40 > To: Edward Beili > Cc: David Kessens; Wijnen, Bert (Bert); Hub Mib; Romascanu, Dan (Dan) > Subject: RE: [Hubmib] MIB Doctor Review of > draft-ietf-hubmib-rfc3636bis-05.txt > > > On Mon, 16 Oct 2006, Edward Beili wrote: > > I would make 2 editorial changes you specified (s/There is a > > number of/There are a number of/ and s/Management of IEEE 802.3 > > Managed Objects/Mapping of IEEE 802.3 Managed Objects) and > > submit and updated draft shortly. > > These could also be handled as RFC Editor notes ... I guess it's > up to David, Bert, and Dan to say what they'd rather have you do. > I agree with Mike here. Certainly if we do not get any more comments during IETF Last Call, which of course we donot yet know. And the changes are so minimal, that I'd actaully prefer that Dan adds a note-to-RFC-Editor to make these changes. > Mike > Further Edward asks: > David/Bert, > Anything else I should do? > I personally prefer it if we add OBJECT clauses to the MODULE-COMPLIANCE to list the old enumerations as minimal requirement (i.e. the newly added labels will not yet be supported by earlier implementations who claimed compliance with current MODULE-COMPLIANCE statements. I know that Mike believes such is not needed for read-only objects. I agree that it is not a fatal flaw if we do not add them for the read-only objects. The WG has seen this document several times now, so I assume WG consensus is to leave MODULE-COMPLIANCE as is. I will re-ask our AD to consider this document for PS. A PROTO-write-up was done by Dan already and copied to the HUBMIB WG mailing list on sept 28, copied below for your convenience. David/Dan, I think you ought to change the Document Shepherd from Dan to me (Bert). Bert -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] Sent: Thursday, September 28, 2006 11:35 To: David Kessens Cc: IETF Hub MIB Working Group Subject: [Hubmib] Submission of draft-ietf-hubmib-rfc3636bis-05 for consideration as Proposed Standard David, On behalf of the HUBMIB WG, please accept draft-ietf-hubmib-rfc3636bis-05 for consideration as Proposed Standard. Here is the proto write-up according to draft-ietf-proto-wgchair-doc-shepherding-07. (1.a) Who is the Document Shepherd for this document? Dan Romascanu Has the Document Shepherd personally reviewed this version of the document and, in particular, does he or she believe this version is ready for forwarding to the IESG for publication? Yes. There were a couple of comments entered after the WGLC and publication of version 05, and the recommendation of the WG is that they be considered initial comments in the IETF LC. (1.b) Has the document had adequate review both from key WG members and from key non-WG members? Does the Document Shepherd have any concerns about the depth or breadth of the reviews that have been performed? The document went through several editing cycles in the WG and received a number of comments for improvement. Mike Heard from the MIB Doctors team performed a early review and during WGLC it was announced for early review on the MIB Doctors list. Comments were also received from participants who are active in ITU-T Q10/4 and IEEE 802.3 Working Group. (1.c) Does the Document Shepherd have concerns that the document needs more review from a particular or broader perspective, e.g., security, operational complexity, someone familiar with AAA, internationalization or XML? No special concerns, but MIB Doctor review, Security Directorate review and GenArt review should be performed. (1.d) Does the Document Shepherd have any specific concerns or issues with this document that the Responsible Area Director and/or the IESG should be aware of? For example, perhaps he or she is uncomfortable with certain parts of the document, or has concerns whether there really is a need for it. In any event, if those issues have been discussed in the WG and the WG has indicated that it still wishes to advance the document, detail those concerns here. No. (1.e) How solid is the WG consensus behind this document? Does it represent the strong concurrence of a few individuals, with others being silent, or does the WG as a whole understand and agree with it? The WG is not large in numbers nowadays. However, the number and nature of the contribution and comments show strong consensus and constructive collaboration behind this document. (1.f) Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarize the areas of conflict in separate email messages to the Responsible Area Director. (It should be in a separate email because this questionnaire will be entered into the ID Tracker.) No. (1.g) Has the Document Shepherd verified that the document satisfies all ID nits? (See http://www.ietf.org/ID-Checklist.html and http://tools.ietf.org/tools/idnits/). Boilerplate checks are not enough; this check needs to be thorough. Yes. (1.h) Has the document split its references into normative and informative? Are there normative references to documents that are not ready for advancement or are otherwise in an unclear state? If such normative references exist, what is the strategy for their completion? Are there normative references that are downward references, as described in [RFC3967]? If so, list these downward references to support the Area Director in the Last Call procedure for them [RFC3967]. Yes, no references holes or problems. (1.i) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections: Technical Summary Relevant content can frequently be found in the abstract and/or introduction of the document. If not, this may be an indication that there are deficiencies in the abstract or introduction. This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for managing IEEE 802.3 Medium Attachment Units (MAUs). The previous version of this memo, RFC 3636 [RFC3636], defined a single MIB module. This memo splits the original MIB module into two, putting frequently updated object identities and textual conventions into a separate, IANA-maintained MIB module, in order to decrease the need of updating the basic MAU MIB module. The first version of the IANA-maintained MIB module also extends the list of managed objects to support Ethernet in the First Mile (EFM) and 10GBASE-CX4 interfaces. Working Group Summary Was there anything in WG process that is worth noting? For example, was there controversy about particular points or were there decisions where the consensus was particularly rough? The document went through several editing cycles in the WG, WGLC and received a number of comments for improvement. The WG is not large in numbers nowadays. However, the number and nature of the contribution and comments show strong consensus and constructive collaboration behind this document. Document Quality Are there existing implementations of the protocol? We are aware about at least one implementation in progress. Have a significant number of vendors indicated their plan to implement the specification? At the initiation of this work around twelve individuals representing different vendors organizations expressed interest for this work, and potential intentions to implement it. Are there any reviewers that merit special mention as having done a thorough review, e.g., one that resulted in important changes or a conclusion that the document had no substantive issues? Mike Heard did a early MIB Doctor review. We also received comments from participants who are active in ITU-T Q10/4 and IEEE 802.3 Working Group. _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 10:22:53 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZpqH-0007v9-Pj; Tue, 17 Oct 2006 10:22:53 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZpqF-0007tX-9E for hubmib@ietf.org; Tue, 17 Oct 2006 10:22:51 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZpnp-00052K-RF for hubmib@ietf.org; Tue, 17 Oct 2006 10:20:22 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9HEKGt4010534; Tue, 17 Oct 2006 09:20:16 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Tue, 17 Oct 2006 16:20:13 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA418@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: "Dan Romascanu (E-mail)" , "David Kessens (E-mail)" Date: Tue, 17 Oct 2006 16:20:14 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Spam-Score: 2.3 (++) X-Scan-Signature: bf422c85703d3d847fb014987125ac48 Cc: "Hubmib Mailing List \(E-mail\)" Subject: [Hubmib] Publication request: draft-ietf-hubmib-rfc3636bis-05 for consider ation as Proposed Standard RFC X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org [bcc to iesg-secretary] Dan/David, Dan has already submitted a request like this on Sept 28. But the ID tracker does not show it as "publication requested" yet. Not sure if Dan copied iesg-secretary, which, if I recall correctly, is required so they can put document in "publication requested". Since I am now the HUBMIB WG chair, I am re-requesting publication, just to make sure it gets properly recorded in the ID-tracker. On behalf of the HUBMIB WG, please accept a publication request for draft-ietf-hubmib-rfc3636bis-05 for consideration as Proposed Standard RFC. Bert ------------------- Here is the proto write-up according to draft-ietf-proto-wgchair-doc-shepherding-07. (1.a) Who is the Document Shepherd for this document? Bert Wijnen Has the Document Shepherd personally reviewed this version of the document and, in particular, does he or she believe this version is ready for forwarding to the IESG for publication? Yes. There were a couple of comments entered after the WGLC and publication of version 05, and the recommendation of the WG is that they be considered initial comments in the IETF LC. For your info, here are those comments: - in Security Considerations Section -- the following editorial change to 2nd paragraph: s/There is a number of/There are a number of/ - Title change for Section 3.4: OLD: 3.4. Management of IEEE 802.3 Managed Objects NEW: 3.4. Mapping of IEEE 802.3 Managed Objects (1.b) Has the document had adequate review both from key WG members and from key non-WG members? Does the Document Shepherd have any concerns about the depth or breadth of the reviews that have been performed? The document went through several editing cycles in the WG and received a number of comments for improvement. Mike Heard from the MIB Doctors team performed a early review and during WGLC it was announced for early review on the MIB Doctors list. Comments were also received from participants who are active in ITU-T Q10/4 and IEEE 802.3 Working Group. (1.c) Does the Document Shepherd have concerns that the document needs more review from a particular or broader perspective, e.g., security, operational complexity, someone familiar with AAA, internationalization or XML? No special concerns, but Security Directorate review and GenArt review should be performed. MIB doctor Review of final document has happened. Mike Heard did another final MIB docor review and submitted it on Oct 16th, 2006. His assesment: After re-reading this version of the document, here is my bottom line: apart from minor editorial issues that can easily be fixed by the RFC Editor, I think that it is ready for publication as a proposed standard, and I recommend that it be approved by the IESG. (1.d) Does the Document Shepherd have any specific concerns or issues with this document that the Responsible Area Director and/or the IESG should be aware of? For example, perhaps he or she is uncomfortable with certain parts of the document, or has concerns whether there really is a need for it. In any event, if those issues have been discussed in the WG and the WG has indicated that it still wishes to advance the document, detail those concerns here. Changes were made to teh MIB modules that mildly violate the SMIv2 rules for updating/modifying MIB modules, as documented in RFC2578. However, both the WG as well as the MIB doctors consider this violation acceptable in the given circumstances. This fact is also documented in the 3rd paragraph of section 3.1. (1.e) How solid is the WG consensus behind this document? Does it represent the strong concurrence of a few individuals, with others being silent, or does the WG as a whole understand and agree with it? The WG is not large in numbers nowadays. However, the number and nature of the contribution and comments show strong consensus and constructive collaboration behind this document. (1.f) Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarize the areas of conflict in separate email messages to the Responsible Area Director. (It should be in a separate email because this questionnaire will be entered into the ID Tracker.) No. (1.g) Has the Document Shepherd verified that the document satisfies all ID nits? (See http://www.ietf.org/ID-Checklist.html and http://tools.ietf.org/tools/idnits/). Boilerplate checks are not enough; this check needs to be thorough. Yes. (1.h) Has the document split its references into normative and informative? Are there normative references to documents that are not ready for advancement or are otherwise in an unclear state? If such normative references exist, what is the strategy for their completion? Are there normative references that are downward references, as described in [RFC3967]? If so, list these downward references to support the Area Director in the Last Call procedure for them [RFC3967]. Yes, no references holes or problems. (1.i) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections: Technical Summary Relevant content can frequently be found in the abstract and/or introduction of the document. If not, this may be an indication that there are deficiencies in the abstract or introduction. This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for managing IEEE 802.3 Medium Attachment Units (MAUs). The previous version of this memo, RFC 3636 [RFC3636], defined a single MIB module. This memo splits the original MIB module into two, putting frequently updated object identities and textual conventions into a separate, IANA-maintained MIB module, in order to decrease the need of updating the basic MAU MIB module. The first version of the IANA-maintained MIB module also extends the list of managed objects to support Ethernet in the First Mile (EFM) and 10GBASE-CX4 interfaces. Working Group Summary Was there anything in WG process that is worth noting? For example, was there controversy about particular points or were there decisions where the consensus was particularly rough? The document went through several editing cycles in the WG, WGLC and received a number of comments for improvement. The WG is not large in numbers nowadays. However, the number and nature of the contribution and comments show strong consensus and constructive collaboration behind this document. Document Quality Are there existing implementations of the protocol? We are aware about at least one implementation in progress. Have a significant number of vendors indicated their plan to implement the specification? At the initiation of this work around twelve individuals representing different vendors organizations expressed interest for this work, and potential intentions to implement it. Are there any reviewers that merit special mention as having done a thorough review, e.g., one that resulted in important changes or a conclusion that the document had no substantive issues? Mike Heard did a early and final MIB Doctor review. We also received comments from participants who are active in ITU-T Q10/4 and IEEE 802.3 Working Group. Bert Wijnen WG-chair for the HUBMIB WG. _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 11:00:36 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZqQf-0000xi-Sr; Tue, 17 Oct 2006 11:00:29 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZqQe-0000tF-Jn for hubmib@ietf.org; Tue, 17 Oct 2006 11:00:28 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZqQc-0001gQ-A9 for hubmib@ietf.org; Tue, 17 Oct 2006 11:00:28 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9HF0OZu014133 for ; Tue, 17 Oct 2006 10:00:25 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Tue, 17 Oct 2006 17:00:24 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA43B@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: "Hubmib Mailing List (E-mail)" Date: Tue, 17 Oct 2006 17:00:21 +0200 X-Message-Flag: Follow up MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Scan-Signature: cab78e1e39c4b328567edb48482b6a69 Subject: [Hubmib] Hubmib documents status X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Dear HUBMIB WG members. Below is the status of the documents that we have on our plate. This is the status that Dan reported to me, after which I did a little bit of follow up. http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-04.txt waiting for revision after MIB Doctor review by David Perkins and following discussion. I (Bert) have an outstanding ping to Matt Squire, the editor of this document, for a response on this. I really hope we can have an answer and a revised MIB document soon. http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-05.txt revised after MIB Doctor review by Dave Perkins. No confirmation from David if he is happy with this version. I (Bert) have pinged David to see if we can get an answer soon. http://www.ietf.org/internet-drafts/draft-ietf-hubmib-rfc3636bis-05.txt submitted to the AD for consideration as Proposed Standard. Mike Heard assigned as MIB Doctor, has done review and reported so to our WG list a few days ago. I (Bert) havce re-issued a request for Publication (with a few changes to the proto-write-up) which I have copied (earlier today) to the WG list. So for this document, we DID make the milestones as listed in our current WG charter. http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt following WGLC of revision 5, a set of changes was required, including moving the ifAvailableStackTable to a distinct MIB module (say IF-AVAILABLE-STACK-MIB, seating directly under MIB-2) and adding an inverse table ifInvAvailableStackTable, which would allow the ADSLMIB WG to refer and re-use them. The new revison (6) was posted on Oct 12th. I (Bert) am hereby asking the WG for review (I will issue a WG LC in a separate message) to approve the changes. Pls note that these 3 documents http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-05.txt http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-04.txt all 3 have a milestone in our current WG charter for submission to the IESG in November 2006. So we have max 6 weeks to complete this work. Bert _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 11:12:17 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZqc5-0002ud-I1; Tue, 17 Oct 2006 11:12:17 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZqc4-0002u5-Gp for hubmib@ietf.org; Tue, 17 Oct 2006 11:12:16 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZqc3-0002lh-8X for hubmib@ietf.org; Tue, 17 Oct 2006 11:12:16 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9HFCBat024425 for ; Tue, 17 Oct 2006 10:12:12 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Tue, 17 Oct 2006 17:12:11 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA444@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: "Hubmib Mailing List (E-mail)" Date: Tue, 17 Oct 2006 17:12:09 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Score: 0.0 (/) X-Scan-Signature: 79899194edc4f33a41f49410777972f8 Subject: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org [bcc to adslmib wg. Pls comment on the hubmib WG mailing list. if needed, the adslmib wg chairs can collect and summarize comments as well and then post it to the HUBMIB WG list.] This is a formal WG Last Call for http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt WG LC ends on October 31st, any timezone. Following WGLC of revision 05, a set of changes was required, including moving the ifAvailableStackTable to a distinct MIB module (say IF-AVAILABLE-STACK-MIB, seating directly under MIB-2) and adding an inverse table ifInvAvailableStackTable, which would allow the ADSL MIB WG to refer and re-use them. I suggested that after a revised I-D is available the WG would do a fast track LC to approve the changes. Revision 6 was posted on Oct 12th to address the above. Bert _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 11:24:46 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZqo9-0005DK-VZ; Tue, 17 Oct 2006 11:24:45 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZqo8-0005An-Jz for hubmib@ietf.org; Tue, 17 Oct 2006 11:24:44 -0400 Received: from shell4.bayarea.net ([209.128.82.1]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZqo6-0003r4-75 for hubmib@ietf.org; Tue, 17 Oct 2006 11:24:44 -0400 Received: from shell4.bayarea.net (localhost [127.0.0.1]) by shell4.bayarea.net (8.13.6/8.13.6) with ESMTP id k9HFOanf022659; Tue, 17 Oct 2006 08:24:36 -0700 Received: from localhost (heard@localhost) by shell4.bayarea.net (8.13.6/8.12.11/Submit) with ESMTP id k9HFOaJH022653; Tue, 17 Oct 2006 08:24:36 -0700 X-Authentication-Warning: shell4.bayarea.net: heard owned process doing -bs Date: Tue, 17 Oct 2006 08:24:36 -0700 (PDT) From: "C. M. Heard" X-Sender: heard@shell4.bayarea.net To: Hub Mib Subject: RE: [Hubmib] MIB Doctor Review of draft-ietf-hubmib-rfc3636bis-05 .txt In-Reply-To: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA3F8@nl0006exch001u.nl.lucent.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Score: 0.0 (/) X-Scan-Signature: 4d87d2aa806f79fed918a62e834505ca X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org On Tue, 17 Oct 2006, Wijnen, Bert (Bert) wrote: > I personally prefer it if we add OBJECT clauses to the MODULE-COMPLIANCE > to list the old enumerations as minimal requirement (i.e. the newly > added labels will not yet be supported by earlier implementations > who claimed compliance with current MODULE-COMPLIANCE statements. > > I know that Mike believes such is not needed for read-only objects. > I agree that it is not a fatal flaw if we do not add them for the > read-only objects. The WG has seen this document several times now, > so I assume WG consensus is to leave MODULE-COMPLIANCE as is. Since Bert has fairly and accurately stated my position, I'll leave it to other folks to comment on whether they do or do not wish to see the MODULE-COMPLIANCE statements updated. There are a couple of points that I think should be considered, however. The first point is that the new named bits and/or enumerated integer values are in TCs that are housed in an IANA-maintained module. Those TCs are expected to have more new stuff added in the future without making any changes to the base module -- in particular without changing the compliance statements. The expectation, I think, is that an implementation will support the subset of values appropriate to the MAU types it actually supports. If a need is seen to make this more explicit, OBJECT clauses that say this in their descriptions might be a better way to go than putting in SYNTAX refinements that just capture the values that were defined at the time RFC 3636 was published. The second point is that one of the objects that now has an opened-ended set of values is ifMauAutoNegCapAdvertisedBits, since it's now covered by an IANA-maintained TC. In the review I said this (buried deep in the fine print :) | NOTE: although no new autonegotiation capabilities were instroduced | in this draft, the comments made above for IANAifMauTypeListBits | stating that new bit positions need not start on a new byte applies | also to IANAifMauAutoNegCapBits. There is never an ambiguity for | the read-only objects ifMauAutoNegCapabilityBits and | ifMauAutoNegCapReceivedBits, and a management station can always | update ifMauAutoNegCapAdvertisedBits by retrieving the value of | ifMauAutoNegCapabilityBits, resetting bits in the returned value | that correspond to capabilities that should not be advertised, and | then writing the result to ifMauAutoNegCapAdvertisedBits. I think it's clear from the above that I think the document as it now stands provides implementors with sufficient information to "do the right thing"; but other folks might not see it that way. Thanks Mike _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 12:10:59 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZrWo-0005pr-Pl; Tue, 17 Oct 2006 12:10:54 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZrWn-0005mz-Id for hubmib@ietf.org; Tue, 17 Oct 2006 12:10:53 -0400 Received: from sj-iport-2-in.cisco.com ([171.71.176.71] helo=sj-iport-2.cisco.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZrWl-00010c-7a for hubmib@ietf.org; Tue, 17 Oct 2006 12:10:53 -0400 Received: from sj-dkim-7.cisco.com ([171.68.10.88]) by sj-iport-2.cisco.com with ESMTP; 17 Oct 2006 09:10:51 -0700 Received: from sj-core-3.cisco.com (sj-core-3.cisco.com [171.68.223.137]) by sj-dkim-7.cisco.com (8.12.11.20060308/8.12.11) with ESMTP id k9HGAoLj005025; Tue, 17 Oct 2006 09:10:50 -0700 Received: from cisco.com (pita.cisco.com [171.71.177.199]) by sj-core-3.cisco.com (8.12.10/8.12.6) with ESMTP id k9HGAobF009987; Tue, 17 Oct 2006 09:10:50 -0700 (PDT) Received: (from kzm@localhost) by cisco.com (8.8.8-Cisco List Logging/8.8.8) id JAA10099; Tue, 17 Oct 2006 09:09:32 -0700 (PDT) From: Keith McCloghrie Message-Id: <200610171609.JAA10099@cisco.com> Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt To: bwijnen@lucent.com Date: Tue, 17 Oct 2006 09:09:32 -0700 (PDT) In-Reply-To: from "Wijnen, Bert (Bert)" at Oct 17, 2006 05:12:09 PM X-Mailer: ELM [version 2.5 PL5] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit DKIM-Signature: a=rsa-sha1; q=dns; l=2771; t=1161101450; x=1161965450; c=relaxed/simple; s=sjdkim7002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=kzm@cisco.com; z=From:Keith=20McCloghrie=20 |Subject:Re=3A=20[Hubmib]=20WGLC=20for=3A=20draft-ietf-hubmib-efm-cu-mib-06.txt; X=v=3Dcisco.com=3B=20h=3DIoGQmIIH1ZZdjEoIxPI87rnvCow=3D; b=oNVlNHP7Ts1CRE04jFwPiXJS27XSLZEoNiLdd6+rcDZuIbOjC/1v5v4nJycBAUCl5bOT+zpo SHsnvKbiR+s+qKEIQNDVF/IaASK2tva7e45twKBWK4S+7z1VcWhQOhUt; Authentication-Results: sj-dkim-7.cisco.com; header.From=kzm@cisco.com; dkim=pass ( sig from cisco.com verified; ); X-Spam-Score: 0.0 (/) X-Scan-Signature: 8b431ad66d60be2d47c7bfeb879db82c Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org > This is a formal WG Last Call for > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt ifCapStackStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the 'cross-connect capability' relationship between two sub-layers. The following values can be returned: active(1) - indicates that the sub-layer interface, identified by the ifStackLowerLayer MAY be connected to run 'below' the sub-layer interface, identified by the ifStackHigherLayer index. notInService(2) - the sub-layer interfaces cannot be connected temporarily due to unavailability of the interface(s), e.g. one of the interfaces is located on a pluggable module which is absent. I suggest this is an ill-advised overloading of 'notInService'. RFC 2579 says: If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. In other words, the 'notInService' of RowStatus is for a temporary delay in a management station setting it to `active'. The "temporary" situation of a "pluggable module which is absent" is liable to be much longer than the 5 minutes before the agent is required to delete the row. Keith. _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 13:15:14 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZsWU-0005N1-C7; Tue, 17 Oct 2006 13:14:38 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZsWT-0005JR-Eo for hubmib@ietf.org; Tue, 17 Oct 2006 13:14:37 -0400 Received: from eci-iron.ecitele.com ([147.234.242.112] helo=iron.ecitele.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZsOr-0008Ot-TV for hubmib@ietf.org; Tue, 17 Oct 2006 13:06:50 -0400 Received: from ilptexfe.ecitele.com (HELO ILPTEXFE02.ecitele.com) ([147.234.245.181]) by iron.ecitele.com with ESMTP; 17 Oct 2006 19:09:01 +0200 Received: from ILPTMAIL01.ecitele.com ([147.234.245.211]) by ILPTEXFE02.ecitele.com with Microsoft SMTPSVC(6.0.3790.2499); Tue, 17 Oct 2006 19:06:44 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Tue, 17 Oct 2006 19:06:43 +0200 Message-ID: <83153A1EB675AF4F82E134FA27F95F6752339E@ILPTEX02.ecitele.com> In-Reply-To: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA444@nl0006exch001u.nl.lucent.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: Acbx/q/OHJCH7qI1TXOJEmGLFnPmBgACbDnQ From: "Moti Morgenstern" To: "Wijnen, Bert \(Bert\)" , "Hubmib Mailing List \(E-mail\)" X-OriginalArrivalTime: 17 Oct 2006 17:06:44.0470 (UTC) FILETIME=[9F6B2160:01C6F20E] X-Spam-Score: 0.0 (/) X-Scan-Signature: 9466e0365fc95844abaf7c3f15a05c7d Cc: X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Hi, 1) A minor issue regarding to 'on top of' - In the ifCapStackTable's description=20 =3D It first appears as: ...possible 'on top of'... =3D then: ...run 'on top of'... (which is same as the first) =3D but then: ...run on top of... (should be: run 'on top of') 2) Again, regarding to 'on top of' but this time more important - In the ifCapStackEntry's description=20 =3D It appears as: ...runs on 'top' of which I assume should be changed to: MAY run 'on top of'... 3) In the ifCapStackEntry's description, shouldn't the sentence in=20 parentheses be "(interface index for higher- and lower-layer respectively)? 4) Explaining the value 'active' for ifCapStatusStack=20 =3D The MINIMUM change required is using the term 'underneath' = isntead of 'below'. =3D It is recommended, however, to perform a deeper change, because the ifCapStackTable is actually from the p.o.v. of the HIGHER layer. The proposed text would be "indicates that the sub-layer interface, identified by the ifStackHigherLayer MAY be connected to run 'on top of' the sub-layer interface, identified by the ifStackLowerLayer index." =20 Regards, Moti M _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 17:11:11 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZwDP-00086r-2J; Tue, 17 Oct 2006 17:11:11 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZwDN-00086j-Tn for hubmib@ietf.org; Tue, 17 Oct 2006 17:11:09 -0400 Received: from zw2-smtp1.zhone.com ([199.190.211.5]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZwDI-0003ng-1l for hubmib@ietf.org; Tue, 17 Oct 2006 17:11:09 -0400 Received: from ldap.oak.zhone.com (ldap.oak.zhone.com [172.16.1.5]) by smtp.zhone.com (8.12.1/8.12.1) with ESMTP id k9HLAtcK024785 for ; Tue, 17 Oct 2006 14:10:55 -0700 (PDT) Received: from pigeon.is.paradyne.com ([135.90.22.16]) by ldap.oak.zhone.com (Netscape Messaging Server 4.15) with ESMTP id J7ATI600.61L for ; Tue, 17 Oct 2006 14:10:54 -0700 Received: from [172.16.21.169] ([172.16.21.169]) by pigeon.is.paradyne.com (Netscape Messaging Server 4.15) with ESMTP id J7ATHY01.IAK; Tue, 17 Oct 2006 17:10:46 -0400 Message-ID: <453546DD.4090005@paradyne.com> Date: Tue, 17 Oct 2006 17:10:53 -0400 From: "Clay Sikes" User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: bwijnen@lucent.com Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt References: <200610171609.JAA10099@cisco.com> In-Reply-To: <200610171609.JAA10099@cisco.com> X-Spam-Score: 1.2 (+) X-Scan-Signature: 10ba05e7e8a9aa6adb025f426bef3a30 Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: csikes@zhone.com List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0906674338==" Errors-To: hubmib-bounces@ietf.org --===============0906674338== Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi,

I have run into an issue with the ifCapStackStatus and ifInvCapStackStatus objects.  Although the ifCapStackMIB passes smilint, I have seen compilation issues with these objects.  It seems that the root cause is the combination RowStatus  syntax and the read-only max-access (A RowStatus that is read-only seems a bit strange to me).  The compiler does not generate all the code that is required.  Although there may or may not be an issue with the compiler, I would beg that the objects be changed from a RowStatus syntax to a enumeration like what was in the -05 version of the ID.  This may resolve Keith's issue as well.

Thoughts?

Thanks,
Clay

On 10/17/2006 12:09 PM, Keith McCloghrie wrote:
This is a formal WG Last Call for 
  http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt
    
 
      ifCapStackStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The status of the 'cross-connect capability' relationship
          between two sub-layers. The following values can be returned:
            active(1)       - indicates that the sub-layer interface,
                              identified by the ifStackLowerLayer MAY
                              be connected to run 'below' the sub-layer
                              interface, identified by the
                              ifStackHigherLayer index.
            notInService(2) - the sub-layer interfaces cannot be
                              connected temporarily due to
                              unavailability of the interface(s), e.g.
                              one of the interfaces is located on a
                              pluggable module which is absent.

I suggest this is an ill-advised overloading of 'notInService'.
RFC 2579 says:

            If the management station is prevented from setting the
            status column to `active' (e.g., due to management station
            or network failure) the conceptual row will be left in the
            `notInService' or `notReady' state, consuming resources
            indefinitely.  The agent must detect conceptual rows that
            have been in either state for an abnormally long period of
            time and remove them.  It is the responsibility of the
            DESCRIPTION clause of the status column to indicate what an
            abnormally long period of time would be.  This period of
            time should be long enough to allow for human response time
            (including `think time') between the creation of the
            conceptual row and the setting of the status to `active'.
            In the absence of such information in the DESCRIPTION
            clause, it is suggested that this period be approximately 5
            minutes in length.  This removal action applies not only to
            newly-created rows, but also to previously active rows which
            are set to, and left in, the notInService state for a
            prolonged period exceeding that which is considered normal
            for such a conceptual row.

In other words, the 'notInService' of RowStatus is for a temporary
delay in a management station setting it to `active'.  The "temporary"
situation of a "pluggable module which is absent" is liable to be
much longer than the 5 minutes before the agent is required to delete
the row.

Keith.

_______________________________________________
Hubmib mailing list
Hubmib@ietf.org
https://www1.ietf.org/mailman/listinfo/hubmib
  
--===============0906674338== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0906674338==-- From hubmib-bounces@ietf.org Tue Oct 17 17:20:49 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZwMf-0006Hn-4C; Tue, 17 Oct 2006 17:20:45 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZwMd-0006Ha-9i for hubmib@ietf.org; Tue, 17 Oct 2006 17:20:43 -0400 Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZwMc-0004xg-0N for hubmib@ietf.org; Tue, 17 Oct 2006 17:20:43 -0400 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by co300216-ier2.net.avaya.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id k9HLBLGs027087 for ; Tue, 17 Oct 2006 17:11:32 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Date: Tue, 17 Oct 2006 23:20:30 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Registration is accepted Thread-Index: AcbyMhJ8lu+TpQZZRd6pdTSgNcruWwAAAASZ From: "Romascanu, Dan \(Dan\)" To: "Hubmib" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.1 (/) X-Scan-Signature: 769a46790fb42fbb0b0cc700c82f7081 Subject: [Hubmib] Out of Office AutoReply: Registration is accepted X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0245951113==" Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============0245951113== content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6F232.128FD81E" This is a multi-part message in MIME format. ------_=_NextPart_001_01C6F232.128FD81E Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable I am out of office on a business trip. I will be back on October 29, = 2006. I may not read and respond to e-mails during this period. If you = need to contact me urgently, please leave a voice mail message at my = office number. Regards, Dan ------_=_NextPart_001_01C6F232.128FD81E Content-Type: text/html; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Out of Office AutoReply: Registration is accepted

I am out of office on a business trip. I will be back = on October 29, 2006.  I may not read and respond to e-mails during = this period.  If you need to contact me urgently, please leave a = voice mail message at my office number.

Regards,

Dan

------_=_NextPart_001_01C6F232.128FD81E-- --===============0245951113== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0245951113==-- From hubmib-bounces@ietf.org Tue Oct 17 18:29:00 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZxQi-0004eC-1e; Tue, 17 Oct 2006 18:29:00 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZxQg-0004Va-9q for hubmib@ietf.org; Tue, 17 Oct 2006 18:28:58 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZxQa-00075o-RS for hubmib@ietf.org; Tue, 17 Oct 2006 18:28:54 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9HMSiHt014655; Tue, 17 Oct 2006 17:28:44 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Wed, 18 Oct 2006 00:28:42 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA4AD@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: "Hubmib Mailing List (E-mail)" Subject: draft-ietf-hubmib-efm-mib-04.txt [ was: FW: [Hubmib] Hubmib docum ents status] Date: Wed, 18 Oct 2006 00:28:40 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Scan-Signature: 25620135586de10c627e3628c432b04a Cc: X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Response from David Perkins. Thanks David! On my plate now. Bert -----Original Message----- From: David T. Perkins [mailto:dperkins@dsperkins.com] Sent: Tuesday, October 17, 2006 18:56 To: Wijnen, Bert (Bert) Subject: Re: [Hubmib] Hubmib documents status HI, The EFM doc was in great shape and ready to go. Regards, /david t. perkins On Tue, 17 Oct 2006, Wijnen, Bert (Bert) wrote: > Dear HUBMIB WG members. > > Below is the status of the documents that we have on our plate. > This is the status that Dan reported to me, after which I did > a little bit of follow up. > > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-04.txt > waiting for revision after MIB Doctor review by David Perkins and > following discussion. I (Bert) have an outstanding ping to Matt > Squire, the editor of this document, for a response on this. > I really hope we can have an answer and a revised MIB document soon. > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-05.txt > revised after MIB Doctor review by Dave Perkins. No confirmation > from David if he is happy with this version. I (Bert) have pinged > David to see if we can get an answer soon. > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-rfc3636bis-05.txt > submitted to the AD for consideration as Proposed Standard. Mike Heard > assigned as MIB Doctor, has done review and reported so to our WG list > a few days ago. I (Bert) havce re-issued a request for Publication > (with a few changes to the proto-write-up) which I have copied > (earlier today) to the WG list. So for this document, we DID make the > milestones as listed in our current WG charter. > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt > following WGLC of revision 5, a set of changes was required, including > moving the ifAvailableStackTable to a distinct MIB module (say > IF-AVAILABLE-STACK-MIB, seating directly under MIB-2) and adding an > inverse table ifInvAvailableStackTable, which would allow the ADSLMIB > WG to refer and re-use them. The new revison (6) was posted on > Oct 12th. I (Bert) am hereby asking the WG for review (I will issue a > WG LC in a separate message) to approve the changes. > > Pls note that these 3 documents > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-05.txt > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-04.txt > > all 3 have a milestone in our current WG charter for submission to the > IESG in November 2006. So we have max 6 weeks to complete this work. > > Bert > > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib > _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 17 18:56:13 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZxr3-000115-8C; Tue, 17 Oct 2006 18:56:13 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GZxr1-00010A-75 for hubmib@ietf.org; Tue, 17 Oct 2006 18:56:11 -0400 Received: from [62.90.13.193] (helo=il-mail.actelis.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GZxqb-0007Tp-Ly for hubmib@ietf.org; Tue, 17 Oct 2006 18:56:11 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 18 Oct 2006 00:54:43 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3EC18D38@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AcbyMOFV4KCUhDzkTV6ykaIdp/RbyQABgA6A From: "Edward Beili" To: , , "Keith McCloghrie" X-Spam-Score: 0.1 (/) X-Scan-Signature: 6437e26f1586b9f35812ea5ebeedf4ad Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1339629122==" Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============1339629122== content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6F23F.3C72A2AA" This is a multi-part message in MIME format. ------_=_NextPart_001_01C6F23F.3C72A2AA Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Clay, =20 The reason I changed the syntax of ifCapStackStatus and = ifInvCapStackStatus objects from a new enum to the RowStatus was to = emphasize the similarity between the ifCapStackTable/ifInvCapStackTable = and ifStackTable/ifInvStackTable as well as to try to reuse an existing = textual convention instead of inventing yet another enum. =20 I don't think making the ifCapStackStatus/ifInvCapStackStatus to be = read-only is illegal or problematic - the ifInvStackStatus object from = IF-INV-STACK-MIB with a RowStatus syntax is read-only as well. =20 I would also argue that overloading of NotInService value is ok - this = value is defined as: "- 'NotInService', which indicates that the conceptual row exists in the = agent, but is unavailable for use by the managed device". Since these tables are static (read-only) there is no question of = resource consumption - these rows are never deleted and thus can stay in = NotInService state indefinitely. RFC2579 states that "It is the = responsibility of the DESCRIPTION clause of the status column to = indicate what an abnormally long period of time would be." I can add a = sentence in the DESCRIPTION clause saying that an = ifCapStackStatus/ifInvCapStackStatus may be in the NotInService state = indefinitely, formally complying with RFC2579. =20 However I'm not bent on staying with RowStatus - I'll move back to the = enum if the group feels it is best. =20 Regards, -E. _____ =20 From: Clay Sikes [mailto:csikes@paradyne.com]=20 Sent: Tuesday, October 17, 2006 23:11 To: bwijnen@lucent.com Cc: hubmib@ietf.org Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt =09 =09 Hi, =09 I have run into an issue with the ifCapStackStatus and = ifInvCapStackStatus objects. Although the ifCapStackMIB passes smilint, = I have seen compilation issues with these objects. It seems that the = root cause is the combination RowStatus syntax and the read-only = max-access (A RowStatus that is read-only seems a bit strange to me). = The compiler does not generate all the code that is required. Although = there may or may not be an issue with the compiler, I would beg that the = objects be changed from a RowStatus syntax to a enumeration like what = was in the -05 version of the ID. This may resolve Keith's issue as = well. =09 Thoughts? =09 Thanks, Clay =09 On 10/17/2006 12:09 PM, Keith McCloghrie wrote:=20 This is a formal WG Last Call for=20 = http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt =20 =20 ifCapStackStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the 'cross-connect capability' relationship between two sub-layers. The following values can be = returned: active(1) - indicates that the sub-layer interface, identified by the ifStackLowerLayer MAY be connected to run 'below' the = sub-layer interface, identified by the ifStackHigherLayer index. notInService(2) - the sub-layer interfaces cannot be connected temporarily due to unavailability of the interface(s), e.g. one of the interfaces is located on a pluggable module which is absent. =09 I suggest this is an ill-advised overloading of 'notInService'. RFC 2579 says: =09 If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what = an abnormally long period of time would be. This period of time should be long enough to allow for human response = time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately = 5 minutes in length. This removal action applies not only = to newly-created rows, but also to previously active rows = which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. =09 In other words, the 'notInService' of RowStatus is for a temporary delay in a management station setting it to `active'. The "temporary" situation of a "pluggable module which is absent" is liable to be much longer than the 5 minutes before the agent is required to delete the row. =09 Keith. =09 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib =20 ------_=_NextPart_001_01C6F23F.3C72A2AA Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Clay,
 
The reason I changed the = syntax of=20 ifCapStackStatus and ifInvCapStackStatus objects from a new enum to = the=20 RowStatus was to emphasize the similarity between the=20 ifCapStackTable/ifInvCapStackTable and ifStackTable/ifInvStackTable as = well as=20 to try to reuse an existing textual convention instead of inventing = yet=20 another enum.
 
I don't = think making the ifCapStackStatus/ifInvCapStackStatus to be = read-only is=20 illegal or problematic - the ifInvStackStatus object from = IF-INV-STACK-MIB=20 with a RowStatus syntax is read-only as well.
 
I would=20 also argue that overloading of NotInService value is ok - this value is = defined=20 as:
"- 'NotInService', which indicates that the conceptual row exists in the agent, but is = unavailable for=20 use by the managed=20 device".
Since these tables are static (read-only) there = is no=20 question of resource consumption - these rows are never deleted and thus = can=20 stay in NotInService state indefinitely. RFC2579 states that = "It is the responsibility of = the DESCRIPTION clause of=20 the status column to indicate what an abnormally long period of = time would=20 be." I can add a sentence in the DESCRIPTION clause saying that an=20 ifCapStackStatus/ifInvCapStackStatus may be in the NotInService state=20 indefinitely, formally complying with = RFC2579.
 
However I'm not bent on staying with = RowStatus - I'll=20 move back to the enum if the group feels it is best.
 
Regards,
-E.


From: Clay Sikes = [mailto:csikes@paradyne.com]=20
Sent: Tuesday, October 17, 2006 23:11
To:=20 bwijnen@lucent.com
Cc: hubmib@ietf.org
Subject: = Re:=20 [Hubmib] WGLC for: = draft-ietf-hubmib-efm-cu-mib-06.txt

Hi,

I have run into an issue with the = ifCapStackStatus and=20 ifInvCapStackStatus objects.  Although the ifCapStackMIB passes = smilint,=20 I have seen compilation issues with these objects.  It seems that = the=20 root cause is the combination RowStatus  syntax and the read-only = max-access (A RowStatus that is read-only seems a bit strange to = me). =20 The compiler does not generate all the code that is required.  = Although=20 there may or may not be an issue with the compiler, I would beg that = the=20 objects be changed from a RowStatus syntax to a enumeration like what = was in=20 the -05 version of the ID.  This may resolve Keith's issue as=20 well.

Thoughts?

Thanks,
Clay

On 10/17/2006 = 12:09 PM,=20 Keith McCloghrie wrote:=20
This is a formal WG Last =
Call for=20
  http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-=
06.txt
    
=20
      ifCapStackStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The status of the 'cross-connect capability' relationship
          between two sub-layers. The following values can be returned:
            active(1)       - indicates that the sub-layer interface,
                              identified by the ifStackLowerLayer MAY
                              be connected to run 'below' the sub-layer
                              interface, identified by the
                              ifStackHigherLayer index.
            notInService(2) - the sub-layer interfaces cannot be
                              connected temporarily due to
                              unavailability of the interface(s), e.g.
                              one of the interfaces is located on a
                              pluggable module which is absent.

I suggest this is an ill-advised overloading of 'notInService'.
RFC 2579 says:

            If the management station is prevented from setting the
            status column to `active' (e.g., due to management station
            or network failure) the conceptual row will be left in the
            `notInService' or `notReady' state, consuming resources
            indefinitely.  The agent must detect conceptual rows that
            have been in either state for an abnormally long period of
            time and remove them.  It is the responsibility of the
            DESCRIPTION clause of the status column to indicate what an
            abnormally long period of time would be.  This period of
            time should be long enough to allow for human response time
            (including `think time') between the creation of the
            conceptual row and the setting of the status to `active'.
            In the absence of such information in the DESCRIPTION
            clause, it is suggested that this period be approximately 5
            minutes in length.  This removal action applies not only to
            newly-created rows, but also to previously active rows which
            are set to, and left in, the notInService state for a
            prolonged period exceeding that which is considered normal
            for such a conceptual row.

In other words, the 'notInService' of RowStatus is for a temporary
delay in a management station setting it to `active'.  The "temporary"
situation of a "pluggable module which is absent" is liable to be
much longer than the 5 minutes before the agent is required to delete
the row.

Keith.

_______________________________________________
Hubmib mailing list
Hubmib@ietf.org
https://www1.ietf.=
org/mailman/listinfo/hubmib
  
------_=_NextPart_001_01C6F23F.3C72A2AA-- --===============1339629122== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============1339629122==-- From hubmib-bounces@ietf.org Tue Oct 17 22:15:59 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Ga0yJ-00069c-B9; Tue, 17 Oct 2006 22:15:55 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Ga0yH-000664-DU for hubmib@ietf.org; Tue, 17 Oct 2006 22:15:53 -0400 Received: from elasmtp-mealy.atl.sa.earthlink.net ([209.86.89.69]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ga0ui-00056b-0Y for hubmib@ietf.org; Tue, 17 Oct 2006 22:12:13 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=dk20050327; d=mindspring.com; b=b4bgldKW9dLrOAy0dAGL2UKhoHocrJwFhW5NLiZmMbXLKZ9+8vjohftOjQ9X7l/I; h=Received:Message-ID:From:To:References:Subject:Date:MIME-Version:Content-Type:Content-Transfer-Encoding:X-Priority:X-MSMail-Priority:X-Mailer:X-MimeOLE:X-ELNK-Trace:X-Originating-IP; Received: from [68.165.5.84] (helo=oemcomputer) by elasmtp-mealy.atl.sa.earthlink.net with asmtp (Exim 4.34) id 1Ga0uc-00026Y-Lm for hubmib@ietf.org; Tue, 17 Oct 2006 22:12:07 -0400 Message-ID: <004601c6f25b$79f3bbc0$6601a8c0@oemcomputer> From: "Randy Presuhn" To: References: <200610171609.JAA10099@cisco.com> <453546DD.4090005@paradyne.com> Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Tue, 17 Oct 2006 19:16:51 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1478 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478 X-ELNK-Trace: 4488c18417c9426da92b9037bc8bcf44d4c20f6b8d69d888c29d63c4e37bdee6da1795c989a6653bba51023d5c9ef7ca350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 68.165.5.84 X-Spam-Score: 0.0 (/) X-Scan-Signature: cf4fa59384e76e63313391b70cd0dd25 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Hi - > From: "Clay Sikes" > To: > Cc: > Sent: Tuesday, October 17, 2006 2:10 PM > Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt ... > (A RowStatus that is read-only seems a bit strange to me). ... It seems rather strange to me as well. Does someone recall why RowStatus was used here? Randy _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Oct 18 08:47:16 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaApE-0001TP-Gf; Wed, 18 Oct 2006 08:47:12 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaApD-0001Mh-3Y for hubmib@ietf.org; Wed, 18 Oct 2006 08:47:11 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GaApB-0008O4-Jm for hubmib@ietf.org; Wed, 18 Oct 2006 08:47:11 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9ICl2t2018000; Wed, 18 Oct 2006 07:47:07 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Wed, 18 Oct 2006 14:47:01 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA6BF@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: csikes@zhone.com Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 18 Oct 2006 14:47:00 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) X-Spam-Score: 0.1 (/) X-Scan-Signature: 24d000849df6f171c5ec1cca2ea21b82 Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0706694202==" Errors-To: hubmib-bounces@ietf.org This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --===============0706694202== Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6F2B3.806E5EE4" This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C6F2B3.806E5EE4 Content-Type: text/plain; charset="iso-8859-1" I hve not completely studied this specific RowStatus issue yet. But I tend to agree that the way it is used here is not as was (in my view) intended in RFC2579. The intetion is to control row creation/modification/deletion. And clearly that is not the way it is used here. I am checking with the MIB doctors team as to what their view is... so bear with me for a little while, after which I will come back to this topic. Bert -----Original Message----- From: Clay Sikes [mailto:csikes@paradyne.com] Sent: Tuesday, October 17, 2006 23:11 To: bwijnen@lucent.com Cc: Keith McCloghrie; hubmib@ietf.org Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Hi, I have run into an issue with the ifCapStackStatus and ifInvCapStackStatus objects. Although the ifCapStackMIB passes smilint, I have seen compilation issues with these objects. It seems that the root cause is the combination RowStatus syntax and the read-only max-access (A RowStatus that is read-only seems a bit strange to me). The compiler does not generate all the code that is required. Although there may or may not be an issue with the compiler, I would beg that the objects be changed from a RowStatus syntax to a enumeration like what was in the -05 version of the ID. This may resolve Keith's issue as well. Thoughts? Thanks, Clay On 10/17/2006 12:09 PM, Keith McCloghrie wrote: This is a formal WG Last Call for http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt ifCapStackStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the 'cross-connect capability' relationship between two sub-layers. The following values can be returned: active(1) - indicates that the sub-layer interface, identified by the ifStackLowerLayer MAY be connected to run 'below' the sub-layer interface, identified by the ifStackHigherLayer index. notInService(2) - the sub-layer interfaces cannot be connected temporarily due to unavailability of the interface(s), e.g. one of the interfaces is located on a pluggable module which is absent. I suggest this is an ill-advised overloading of 'notInService'. RFC 2579 says: If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. In other words, the 'notInService' of RowStatus is for a temporary delay in a management station setting it to `active'. The "temporary" situation of a "pluggable module which is absent" is liable to be much longer than the 5 minutes before the agent is required to delete the row. Keith. _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C6F2B3.806E5EE4 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
I hve=20 not completely studied this specific RowStatus issue=20 yet.
But I=20 tend to agree that the way it is used here is not as was (in my=20 view)
intended in RFC2579. The intetion is to control row=20 creation/modification/deletion.
And=20 clearly that is not the way it is used here.
 
I am=20 checking with the MIB doctors team as to what their view is... so bear=20 with
me for=20 a little while, after which I will come back to this = topic.
 
Bert
-----Original Message-----
From: Clay Sikes=20 [mailto:csikes@paradyne.com]
Sent: Tuesday, October 17, = 2006=20 23:11
To: bwijnen@lucent.com
Cc: Keith = McCloghrie;=20 hubmib@ietf.org
Subject: Re: [Hubmib] WGLC for:=20 draft-ietf-hubmib-efm-cu-mib-06.txt

Hi,

I = have run=20 into an issue with the ifCapStackStatus and ifInvCapStackStatus = objects. =20 Although the ifCapStackMIB passes smilint, I have seen compilation = issues with=20 these objects.  It seems that the root cause is the combination=20 RowStatus  syntax and the read-only max-access (A RowStatus that = is=20 read-only seems a bit strange to me).  The compiler does not = generate all=20 the code that is required.  Although there may or may not be an = issue=20 with the compiler, I would beg that the objects be changed from a = RowStatus=20 syntax to a enumeration like what was in the -05 version of the = ID.  This=20 may resolve Keith's issue as=20 well.

Thoughts?

Thanks,
Clay

On 10/17/2006 = 12:09 PM,=20 Keith McCloghrie wrote:=20
This is a formal WG Last =
Call for=20
  http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mi=
b-06.txt
    
=20
      ifCapStackStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The status of the 'cross-connect capability' relationship
          between two sub-layers. The following values can be returned:
            active(1)       - indicates that the sub-layer interface,
                              identified by the ifStackLowerLayer MAY
                              be connected to run 'below' the sub-layer
                              interface, identified by the
                              ifStackHigherLayer index.
            notInService(2) - the sub-layer interfaces cannot be
                              connected temporarily due to
                              unavailability of the interface(s), e.g.
                              one of the interfaces is located on a
                              pluggable module which is absent.

I suggest this is an ill-advised overloading of 'notInService'.
RFC 2579 says:

            If the management station is prevented from setting the
            status column to `active' (e.g., due to management station
            or network failure) the conceptual row will be left in the
            `notInService' or `notReady' state, consuming resources
            indefinitely.  The agent must detect conceptual rows that
            have been in either state for an abnormally long period of
            time and remove them.  It is the responsibility of the
            DESCRIPTION clause of the status column to indicate what an
            abnormally long period of time would be.  This period of
            time should be long enough to allow for human response time
            (including `think time') between the creation of the
            conceptual row and the setting of the status to `active'.
            In the absence of such information in the DESCRIPTION
            clause, it is suggested that this period be approximately 5
            minutes in length.  This removal action applies not only to
            newly-created rows, but also to previously active rows =
which
            are set to, and left in, the notInService state for a
            prolonged period exceeding that which is considered normal
            for such a conceptual row.

In other words, the 'notInService' of RowStatus is for a temporary
delay in a management station setting it to `active'.  The "temporary"
situation of a "pluggable module which is absent" is liable to be
much longer than the 5 minutes before the agent is required to delete
the row.

Keith.

_______________________________________________
Hubmib mailing list
Hubmib@ietf.org
https://www1.ietf=
.org/mailman/listinfo/hubmib
  
------_=_NextPart_001_01C6F2B3.806E5EE4-- --===============0706694202== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0706694202==-- From hubmib-bounces@ietf.org Wed Oct 18 08:56:41 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaAyO-0000To-JI; Wed, 18 Oct 2006 08:56:40 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaAyN-0000TJ-7R for hubmib@ietf.org; Wed, 18 Oct 2006 08:56:39 -0400 Received: from [62.90.13.193] (helo=il-mail.actelis.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GaAyH-0001ZI-NJ for hubmib@ietf.org; Wed, 18 Oct 2006 08:56:39 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 18 Oct 2006 14:56:32 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3E7383B1@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: Acbx/q/OHJCH7qI1TXOJEmGLFnPmBgACbDnQACsTUwA= From: "Edward Beili" To: "Moti Morgenstern" X-Spam-Score: 0.0 (/) X-Scan-Signature: 0ddefe323dd869ab027dbfff7eff0465 Cc: "Wijnen, Bert \(Bert\)" , "Hubmib Mailing List \(E-mail\)" X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Moti, I agree with your comments. Thanks for catching it. Regards, -E.=20 > -----Original Message----- > From: Moti Morgenstern [mailto:Moti.Morgenstern@ecitele.com] > Sent: Tuesday, October 17, 2006 7:07 PM > To: Wijnen, Bert (Bert); Hubmib Mailing List (E-mail) > Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt >=20 >=20 > Hi, >=20 > 1) A minor issue regarding to 'on top of' > - In the ifCapStackTable's description=20 > =3D It first appears as: ...possible 'on top of'... > =3D then: ...run 'on top of'... (which is same as the first) > =3D but then: ...run on top of... (should be: run 'on top of') > 2) Again, regarding to 'on top of' but this time more important > - In the ifCapStackEntry's description=20 > =3D It appears as: ...runs on 'top' of > which I assume should be changed to: MAY run 'on top of'... > 3) In the ifCapStackEntry's description, shouldn't the sentence in=20 > parentheses be "(interface index for higher- and lower-layer > respectively)? > 4) Explaining the value 'active' for ifCapStatusStack=20 > =3D The MINIMUM change required is using the term=20 > 'underneath' isntead > of 'below'. > =3D It is recommended, however, to perform a deeper change, = because > the > ifCapStackTable is actually from the p.o.v. of the=20 > HIGHER layer. > The > proposed text would be "indicates that the sub-layer=20 > interface, > identified by the ifStackHigherLayer MAY be connected to run > 'on top of' the sub-layer interface, identified by the > ifStackLowerLayer index." > =20 > Regards, > Moti M >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Oct 18 10:42:10 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaCcU-0003l8-8j; Wed, 18 Oct 2006 10:42:10 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaCcT-0003iE-4p for hubmib@ietf.org; Wed, 18 Oct 2006 10:42:09 -0400 Received: from sj-iport-3-in.cisco.com ([171.71.176.72] helo=sj-iport-3.cisco.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GaCcP-0002wz-HR for hubmib@ietf.org; Wed, 18 Oct 2006 10:42:09 -0400 Received: from sj-dkim-1.cisco.com ([171.71.179.21]) by sj-iport-3.cisco.com with ESMTP; 18 Oct 2006 07:42:05 -0700 Received: from sj-core-2.cisco.com (sj-core-2.cisco.com [171.71.177.254]) by sj-dkim-1.cisco.com (8.12.11.20060308/8.12.11) with ESMTP id k9IEg4Gb019531; Wed, 18 Oct 2006 07:42:04 -0700 Received: from cisco.com (pita.cisco.com [171.71.177.199]) by sj-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id k9IEg2in003350; Wed, 18 Oct 2006 07:42:02 -0700 (PDT) Received: (from kzm@localhost) by cisco.com (8.8.8-Cisco List Logging/8.8.8) id HAA28262; Wed, 18 Oct 2006 07:40:44 -0700 (PDT) From: Keith McCloghrie Message-Id: <200610181440.HAA28262@cisco.com> Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt To: EdwardB@actelis.com (Edward Beili) Date: Wed, 18 Oct 2006 07:40:44 -0700 (PDT) In-Reply-To: from "Edward Beili" at Oct 18, 2006 12:54:43 AM X-Mailer: ELM [version 2.5 PL5] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit DKIM-Signature: a=rsa-sha1; q=dns; l=7276; t=1161182524; x=1162046524; c=relaxed/simple; s=sjdkim1002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=kzm@cisco.com; z=From:Keith=20McCloghrie=20 |Subject:Re=3A=20[Hubmib]=20WGLC=20for=3A=20draft-ietf-hubmib-efm-cu-mib-06.txt; X=v=3Dcisco.com=3B=20h=3DIoGQmIIH1ZZdjEoIxPI87rnvCow=3D; b=XfKtuRNLBUuwJBSNoYqyUT5kWIb6QvGtCw4ld4Lw5GjKIQBDHbwdOb0JVB1qOAn4EK+dfW1j Hhqg3V96ta3XkfV7OHcBlA3djuYZoy0algFeqLgEejBqU+U6D4D8unGM; Authentication-Results: sj-dkim-1.cisco.com; header.From=kzm@cisco.com; dkim=pass ( sig from cisco.com verified; ); X-Spam-Score: 0.0 (/) X-Scan-Signature: d2b46e3b2dfbff2088e0b72a54104985 Cc: hubmib@ietf.org, bwijnen@lucent.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org > The reason I changed the syntax of ifCapStackStatus and > ifInvCapStackStatus objects from a new enum to the RowStatus was to > emphasize the similarity between the ifCapStackTable/ifInvCapStackTable > and ifStackTable/ifInvStackTable as well as to try to reuse an existing > textual convention instead of inventing yet another enum. The motivation is good but it's only valid if the semantics match. > I don't think making the ifCapStackStatus/ifInvCapStackStatus to be > read-only is illegal or problematic - the ifInvStackStatus object from > IF-INV-STACK-MIB with a RowStatus syntax is read-only as well. The ifInvStackTable table has exactly the same structure and content, and exactly the same number of rows as the ifStackTable. Semantically, ifInvStackStatus *could* be read-create, but if it were, a SetRequest to ifStackStatus and a SetRequest to ifInvStackStatus would have exactly the same result, i.e., to make it read-create would be redundant because it would provide two means of achieving the same behaviour. So, making it read-only is a simplification. > I would also argue that overloading of NotInService value is ok - this > value is defined as: > "- 'NotInService', which indicates that the conceptual row exists in the > agent, but is unavailable for use by the managed device". 'notInService' is "unavailable for use by the managed device" because it normally requires an SNMP operation on a RowStatus object to make it available. Normally, the necessary operation is on the same RowStatus object but in the case of ifInvStackStatus (see above comment on simplification), the operation needs to be on ifStackStatus. In contrast, notInService(2) - the sub-layer interfaces cannot be connected temporarily due to unavailability of the interface(s), The semantics are different here. It is not an SNMP operation on a RowStatus object which prevents this row from being "available for use by the managed device". > Since these tables are static (read-only) there is no question of > resource consumption - these rows are never deleted and thus can stay in > NotInService state indefinitely. RFC2579 states that "It is the > responsibility of the DESCRIPTION clause of the status column to > indicate what an abnormally long period of time would be." I can add a > sentence in the DESCRIPTION clause saying that an > ifCapStackStatus/ifInvCapStackStatus may be in the NotInService state > indefinitely, formally complying with RFC2579. ifInvStackStatus *could* semantically be read-create, but is read-only so as to remove redundancy. In contrast, it is the semantics of ifCapStackStatus and ifInvCapStackStatus which prevent them from being read-create. Keith. > However I'm not bent on staying with RowStatus - I'll move back to the > enum if the group feels it is best. > > Regards, > -E. > > _____ > > > From: Clay Sikes [mailto:csikes@paradyne.com] > > Sent: Tuesday, October 17, 2006 23:11 > > To: bwijnen@lucent.com > > Cc: hubmib@ietf.org > > Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt > > > > Hi, > > > I have run into an issue with the ifCapStackStatus and > ifInvCapStackStatus objects. Although the ifCapStackMIB passes smilint, > I have seen compilation issues with these objects. It seems that the > root cause is the combination RowStatus syntax and the read-only > max-access (A RowStatus that is read-only seems a bit strange to me). > The compiler does not generate all the code that is required. Although > there may or may not be an issue with the compiler, I would beg that the > objects be changed from a RowStatus syntax to a enumeration like what > was in the -05 version of the ID. This may resolve Keith's issue as > well. > > > Thoughts? > > > Thanks, > > Clay > > > On 10/17/2006 12:09 PM, Keith McCloghrie wrote: > > > > > This is a formal WG Last Call for > > > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt > > > > > > > > > > > ifCapStackStatus OBJECT-TYPE > > > SYNTAX RowStatus > > > MAX-ACCESS read-only > > > STATUS current > > > DESCRIPTION > > > "The status of the 'cross-connect capability' relationship > > > between two sub-layers. The following values can be returned: > > > active(1) - indicates that the sub-layer interface, > > > identified by the ifStackLowerLayer MAY > > > be connected to run 'below' the sub-layer > > > interface, identified by the > > > ifStackHigherLayer index. > > > notInService(2) - the sub-layer interfaces cannot be > > > connected temporarily due to > > > unavailability of the interface(s), e.g. > > > one of the interfaces is located on a > > > pluggable module which is absent. > > > > > I suggest this is an ill-advised overloading of 'notInService'. > > > RFC 2579 says: > > > > > If the management station is prevented from setting the > > > status column to `active' (e.g., due to management station > > > or network failure) the conceptual row will be left in the > > > `notInService' or `notReady' state, consuming resources > > > indefinitely. The agent must detect conceptual rows that > > > have been in either state for an abnormally long period of > > > time and remove them. It is the responsibility of the > > > DESCRIPTION clause of the status column to indicate what an > > > abnormally long period of time would be. This period of > > > time should be long enough to allow for human response time > > > (including `think time') between the creation of the > > > conceptual row and the setting of the status to `active'. > > > In the absence of such information in the DESCRIPTION > > > clause, it is suggested that this period be approximately 5 > > > minutes in length. This removal action applies not only to > > > newly-created rows, but also to previously active rows which > > > are set to, and left in, the notInService state for a > > > prolonged period exceeding that which is considered normal > > > for such a conceptual row. > > > > > In other words, the 'notInService' of RowStatus is for a temporary > > > delay in a management station setting it to `active'. The "temporary" > > > situation of a "pluggable module which is absent" is liable to be > > > much longer than the 5 minutes before the agent is required to delete > > > the row. > > > > > Keith. > > > > > _______________________________________________ > > > Hubmib mailing list > > > Hubmib@ietf.org > > > https://www1.ietf.org/mailman/listinfo/hubmib > > > _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Oct 18 12:00:04 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaDpa-0001ok-Id; Wed, 18 Oct 2006 11:59:46 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaDpY-0001do-8O for hubmib@ietf.org; Wed, 18 Oct 2006 11:59:44 -0400 Received: from [62.90.13.193] (helo=il-mail.actelis.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GaDjI-0001jt-4e for hubmib@ietf.org; Wed, 18 Oct 2006 11:53:20 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 18 Oct 2006 17:53:10 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3E7383B8@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AcbyzGT+C27550ooQny37g3OCEPqxQAAJReA From: "Edward Beili" To: "Wijnen, Bert \(Bert\)" X-Spam-Score: 0.0 (/) X-Scan-Signature: dd7e0c3fd18d19cffdd4de99a114001d Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Bert, I would like to have 2 values - one for possibility and the other, for = "possible but not available", e.g. if the interface is unplugged. I guess I would return back to the way it was done in the -05 version - = a new enum with 2 values. Regards, -E. > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com] > Sent: Wednesday, October 18, 2006 5:45 PM > To: Edward Beili > Cc: csikes@zhone.com; Keith McCloghrie; hubmib@ietf.org > Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt >=20 >=20 > Having looked at the MIB itself now, it seems to me that > the object > ifCapStackStatus OBJECT-TYPE > SYNTAX RowStatus > would be much better represented by=20 > ifCapStackPossible OBJECT-TYPE > SYNTAX TruthValue > where 'true' means it CAN be stacked this way and 'false' means > it cannot. That way you re-use an existing TC, and you can=20 > exactly represent what you need, no? >=20 > Same for ifInvCapStackStatus >=20 > Bert >=20 >=20 > > -----Original Message----- > > From: Keith McCloghrie [mailto:kzm@cisco.com] > > Sent: Wednesday, October 18, 2006 16:41 > > To: EdwardB@actelis.com > > Cc: csikes@zhone.com; bwijnen@lucent.com; kzm@cisco.com;=20 > > hubmib@ietf.org > > Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt > >=20 > >=20 > > > The reason I changed the syntax of ifCapStackStatus and=20 > > > ifInvCapStackStatus objects from a new enum to the=20 > RowStatus was to=20 > > > emphasize the similarity between the=20 > > ifCapStackTable/ifInvCapStackTable=20 > > > and ifStackTable/ifInvStackTable as well as to try to reuse=20 > > an existing=20 > > > textual convention instead of inventing yet another enum. > > =20 > > The motivation is good but it's only valid if the semantics match. > >=20 > > > I don't think making the=20 > ifCapStackStatus/ifInvCapStackStatus to be=20 > > > read-only is illegal or problematic - the ifInvStackStatus=20 > > object from=20 > > > IF-INV-STACK-MIB with a RowStatus syntax is read-only as well. > > =20 > > The ifInvStackTable table has exactly the same structure=20 > and content, > > and exactly the same number of rows as the ifStackTable. =20 > > Semantically, > > ifInvStackStatus *could* be read-create, but if it were, a=20 > SetRequest > > to ifStackStatus and a SetRequest to ifInvStackStatus would have > > exactly the same result, i.e., to make it read-create would be > > redundant because it would provide two means of achieving the same > > behaviour. So, making it read-only is a simplification. > >=20 > > > I would also argue that overloading of NotInService value=20 > > is ok - this=20 > > > value is defined as: > > > "- 'NotInService', which indicates that the conceptual row=20 > > exists in the=20 > > > agent, but is unavailable for use by the managed device". > >=20 > > 'notInService' is "unavailable for use by the managed=20 > device" because > > it normally requires an SNMP operation on a RowStatus object=20 > > to make it > > available. Normally, the necessary operation is on the=20 > same RowStatus > > object but in the case of ifInvStackStatus (see above comment on > > simplification), the operation needs to be on ifStackStatus. In > > contrast, > >=20 > > notInService(2) - the sub-layer interfaces cannot be > > connected temporarily due to > > unavailability of the interface(s),=20 > >=20 > > The semantics are different here. It is not an SNMP operation on a > > RowStatus object which prevents this row from being=20 > "available for use > > by the managed device". > >=20 > > > Since these tables are static (read-only) there is no question of=20 > > > resource consumption - these rows are never deleted and=20 > > thus can stay in=20 > > > NotInService state indefinitely. RFC2579 states that "It is the=20 > > > responsibility of the DESCRIPTION clause of the status column to=20 > > > indicate what an abnormally long period of time would be."=20 > > I can add a=20 > > > sentence in the DESCRIPTION clause saying that an=20 > > > ifCapStackStatus/ifInvCapStackStatus may be in the=20 > > NotInService state=20 > > > indefinitely, formally complying with RFC2579. > > =20 > > ifInvStackStatus *could* semantically be read-create, but=20 > is read-only > > so as to remove redundancy. In contrast, it is the semantics of > > ifCapStackStatus and ifInvCapStackStatus which prevent them=20 > from being > > read-create. > >=20 > > Keith. > >=20 > > > However I'm not bent on staying with RowStatus - I'll move=20 > > back to the=20 > > > enum if the group feels it is best. > > >=20 > > > Regards, > > > -E. > > >=20 > > > _____=20 > > >=20 > > > > From: Clay Sikes [mailto:csikes@paradyne.com] > > > > Sent: Tuesday, October 17, 2006 23:11 > > > > To: bwijnen@lucent.com > > > > Cc: hubmib@ietf.org > > > > Subject: Re: [Hubmib] WGLC for:=20 > > draft-ietf-hubmib-efm-cu-mib-06.txt > > >=20 > > >=20 > > > > Hi, > > >=20 > > > > I have run into an issue with the ifCapStackStatus and=20 > > > ifInvCapStackStatus objects. Although the ifCapStackMIB=20 > > passes smilint,=20 > > > I have seen compilation issues with these objects. It=20 > > seems that the=20 > > > root cause is the combination RowStatus syntax and the read-only=20 > > > max-access (A RowStatus that is read-only seems a bit=20 > > strange to me). =20 > > > The compiler does not generate all the code that is=20 > > required. Although=20 > > > there may or may not be an issue with the compiler, I would=20 > > beg that the=20 > > > objects be changed from a RowStatus syntax to a enumeration=20 > > like what=20 > > > was in the -05 version of the ID. This may resolve Keith's=20 > > issue as=20 > > > well. > > >=20 > > > > Thoughts? > > >=20 > > > > Thanks, > > > > Clay > > >=20 > > > > On 10/17/2006 12:09 PM, Keith McCloghrie wrote: > > >=20 > > > > > > This is a formal WG Last Call for > > > > > > =20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-m > ib-06.txt > > > > > =20 > >=20 > > > >=20 > > > > ifCapStackStatus OBJECT-TYPE > > > > SYNTAX RowStatus > > > > MAX-ACCESS read-only > > > > STATUS current > > > > DESCRIPTION > > > > "The status of the 'cross-connect capability'=20 > relationship > > > > between two sub-layers. The following values=20 > can be returned: > > > > active(1) - indicates that the=20 > sub-layer interface, > > > > identified by the=20 > ifStackLowerLayer MAY > > > > be connected to run=20 > 'below' the sub-layer > > > > interface, identified by the > > > > ifStackHigherLayer index. > > > > notInService(2) - the sub-layer interfaces cannot be > > > > connected temporarily due to > > > > unavailability of the=20 > interface(s), e.g. > > > > one of the interfaces is=20 > located on a > > > > pluggable module which is absent. > > >=20 > > > > I suggest this is an ill-advised overloading of 'notInService'. > > > > RFC 2579 says: > > >=20 > > > > If the management station is prevented from=20 > setting the > > > > status column to `active' (e.g., due to=20 > management station > > > > or network failure) the conceptual row will=20 > be left in the > > > > `notInService' or `notReady' state,=20 > consuming resources > > > > indefinitely. The agent must detect=20 > conceptual rows that > > > > have been in either state for an abnormally=20 > long period of > > > > time and remove them. It is the=20 > responsibility of the > > > > DESCRIPTION clause of the status column to=20 > indicate what an > > > > abnormally long period of time would be. =20 > This period of > > > > time should be long enough to allow for=20 > human response time > > > > (including `think time') between the creation of the > > > > conceptual row and the setting of the=20 > status to `active'. > > > > In the absence of such information in the=20 > DESCRIPTION > > > > clause, it is suggested that this period be=20 > approximately 5 > > > > minutes in length. This removal action=20 > applies not only to > > > > newly-created rows, but also to previously=20 > active rows which > > > > are set to, and left in, the notInService=20 > state for a > > > > prolonged period exceeding that which is=20 > considered normal > > > > for such a conceptual row. > > >=20 > > > > In other words, the 'notInService' of RowStatus is for=20 > a temporary > > > > delay in a management station setting it to `active'. =20 > The "temporary" > > > > situation of a "pluggable module which is absent" is=20 > liable to be > > > > much longer than the 5 minutes before the agent is=20 > required to delete > > > > the row. > > >=20 > > > > Keith. > > >=20 > > > > _______________________________________________ > > > > Hubmib mailing list > > > > Hubmib@ietf.org > > > > https://www1.ietf.org/mailman/listinfo/hubmib > > > > =20 >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Oct 18 12:02:25 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaDs9-0003sk-Cf; Wed, 18 Oct 2006 12:02:25 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaDpv-0001yk-Et for hubmib@ietf.org; Wed, 18 Oct 2006 12:00:07 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GaDbI-0000Wx-U4 for hubmib@ietf.org; Wed, 18 Oct 2006 11:45:03 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9IFioUo007654; Wed, 18 Oct 2006 10:44:51 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Wed, 18 Oct 2006 17:44:49 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA766@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: EdwardB@actelis.com Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 18 Oct 2006 17:44:48 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Scan-Signature: 7a0494a0224ca59418dd8f92694c1fdb Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Having looked at the MIB itself now, it seems to me that the object ifCapStackStatus OBJECT-TYPE SYNTAX RowStatus would be much better represented by ifCapStackPossible OBJECT-TYPE SYNTAX TruthValue where 'true' means it CAN be stacked this way and 'false' means it cannot. That way you re-use an existing TC, and you can exactly represent what you need, no? Same for ifInvCapStackStatus Bert > -----Original Message----- > From: Keith McCloghrie [mailto:kzm@cisco.com] > Sent: Wednesday, October 18, 2006 16:41 > To: EdwardB@actelis.com > Cc: csikes@zhone.com; bwijnen@lucent.com; kzm@cisco.com; > hubmib@ietf.org > Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt > > > > The reason I changed the syntax of ifCapStackStatus and > > ifInvCapStackStatus objects from a new enum to the RowStatus was to > > emphasize the similarity between the > ifCapStackTable/ifInvCapStackTable > > and ifStackTable/ifInvStackTable as well as to try to reuse > an existing > > textual convention instead of inventing yet another enum. > > The motivation is good but it's only valid if the semantics match. > > > I don't think making the ifCapStackStatus/ifInvCapStackStatus to be > > read-only is illegal or problematic - the ifInvStackStatus > object from > > IF-INV-STACK-MIB with a RowStatus syntax is read-only as well. > > The ifInvStackTable table has exactly the same structure and content, > and exactly the same number of rows as the ifStackTable. > Semantically, > ifInvStackStatus *could* be read-create, but if it were, a SetRequest > to ifStackStatus and a SetRequest to ifInvStackStatus would have > exactly the same result, i.e., to make it read-create would be > redundant because it would provide two means of achieving the same > behaviour. So, making it read-only is a simplification. > > > I would also argue that overloading of NotInService value > is ok - this > > value is defined as: > > "- 'NotInService', which indicates that the conceptual row > exists in the > > agent, but is unavailable for use by the managed device". > > 'notInService' is "unavailable for use by the managed device" because > it normally requires an SNMP operation on a RowStatus object > to make it > available. Normally, the necessary operation is on the same RowStatus > object but in the case of ifInvStackStatus (see above comment on > simplification), the operation needs to be on ifStackStatus. In > contrast, > > notInService(2) - the sub-layer interfaces cannot be > connected temporarily due to > unavailability of the interface(s), > > The semantics are different here. It is not an SNMP operation on a > RowStatus object which prevents this row from being "available for use > by the managed device". > > > Since these tables are static (read-only) there is no question of > > resource consumption - these rows are never deleted and > thus can stay in > > NotInService state indefinitely. RFC2579 states that "It is the > > responsibility of the DESCRIPTION clause of the status column to > > indicate what an abnormally long period of time would be." > I can add a > > sentence in the DESCRIPTION clause saying that an > > ifCapStackStatus/ifInvCapStackStatus may be in the > NotInService state > > indefinitely, formally complying with RFC2579. > > ifInvStackStatus *could* semantically be read-create, but is read-only > so as to remove redundancy. In contrast, it is the semantics of > ifCapStackStatus and ifInvCapStackStatus which prevent them from being > read-create. > > Keith. > > > However I'm not bent on staying with RowStatus - I'll move > back to the > > enum if the group feels it is best. > > > > Regards, > > -E. > > > > _____ > > > > > From: Clay Sikes [mailto:csikes@paradyne.com] > > > Sent: Tuesday, October 17, 2006 23:11 > > > To: bwijnen@lucent.com > > > Cc: hubmib@ietf.org > > > Subject: Re: [Hubmib] WGLC for: > draft-ietf-hubmib-efm-cu-mib-06.txt > > > > > > > Hi, > > > > > I have run into an issue with the ifCapStackStatus and > > ifInvCapStackStatus objects. Although the ifCapStackMIB > passes smilint, > > I have seen compilation issues with these objects. It > seems that the > > root cause is the combination RowStatus syntax and the read-only > > max-access (A RowStatus that is read-only seems a bit > strange to me). > > The compiler does not generate all the code that is > required. Although > > there may or may not be an issue with the compiler, I would > beg that the > > objects be changed from a RowStatus syntax to a enumeration > like what > > was in the -05 version of the ID. This may resolve Keith's > issue as > > well. > > > > > Thoughts? > > > > > Thanks, > > > Clay > > > > > On 10/17/2006 12:09 PM, Keith McCloghrie wrote: > > > > > > > This is a formal WG Last Call for > > > > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt > > > > > > > > > > > ifCapStackStatus OBJECT-TYPE > > > SYNTAX RowStatus > > > MAX-ACCESS read-only > > > STATUS current > > > DESCRIPTION > > > "The status of the 'cross-connect capability' relationship > > > between two sub-layers. The following values can be returned: > > > active(1) - indicates that the sub-layer interface, > > > identified by the ifStackLowerLayer MAY > > > be connected to run 'below' the sub-layer > > > interface, identified by the > > > ifStackHigherLayer index. > > > notInService(2) - the sub-layer interfaces cannot be > > > connected temporarily due to > > > unavailability of the interface(s), e.g. > > > one of the interfaces is located on a > > > pluggable module which is absent. > > > > > I suggest this is an ill-advised overloading of 'notInService'. > > > RFC 2579 says: > > > > > If the management station is prevented from setting the > > > status column to `active' (e.g., due to management station > > > or network failure) the conceptual row will be left in the > > > `notInService' or `notReady' state, consuming resources > > > indefinitely. The agent must detect conceptual rows that > > > have been in either state for an abnormally long period of > > > time and remove them. It is the responsibility of the > > > DESCRIPTION clause of the status column to indicate what an > > > abnormally long period of time would be. This period of > > > time should be long enough to allow for human response time > > > (including `think time') between the creation of the > > > conceptual row and the setting of the status to `active'. > > > In the absence of such information in the DESCRIPTION > > > clause, it is suggested that this period be approximately 5 > > > minutes in length. This removal action applies not only to > > > newly-created rows, but also to previously active rows which > > > are set to, and left in, the notInService state for a > > > prolonged period exceeding that which is considered normal > > > for such a conceptual row. > > > > > In other words, the 'notInService' of RowStatus is for a temporary > > > delay in a management station setting it to `active'. The "temporary" > > > situation of a "pluggable module which is absent" is liable to be > > > much longer than the 5 minutes before the agent is required to delete > > > the row. > > > > > Keith. > > > > > _______________________________________________ > > > Hubmib mailing list > > > Hubmib@ietf.org > > > https://www1.ietf.org/mailman/listinfo/hubmib > > > _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Oct 18 12:02:25 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaDs9-0003tQ-GO; Wed, 18 Oct 2006 12:02:25 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GaDpv-0001yg-F3 for hubmib@ietf.org; Wed, 18 Oct 2006 12:00:07 -0400 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GaDbF-0000Wp-OF for hubmib@ietf.org; Wed, 18 Oct 2006 11:45:00 -0400 Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id k9IFioUp007654 for ; Wed, 18 Oct 2006 10:44:57 -0500 (CDT) Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id ; Wed, 18 Oct 2006 17:44:49 +0200 Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550ADAA767@nl0006exch001u.nl.lucent.com> From: "Wijnen, Bert (Bert)" To: "Hubmib Mailing List (E-mail)" Date: Wed, 18 Oct 2006 17:44:49 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Score: 0.0 (/) X-Scan-Signature: 932cba6e0228cc603da43d861a7e09d8 Subject: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org My WG LC review comments are here. For the EFM-U-MIB itself I will do a separate posting to the list. - Abstract 3rd line This document proposes an extension to the Ethernet-like Interfaces By the time we get published as RFC, we no longer "propose". So how about: This document describes extensions to the Ethernet-like Interfaces - Page 7, a nit: // pottentially be connected to the PCS s/pottentially/potentially/ // for PCS[i] and there room for another PME in the s/there room/there is room/ ?? - A nit/typo on page 10: | ifIndex | Interface index. Note that each PME and each PCS | | | in the EFMCu PHY MUST have a unique index, as | | | there some PCS and PME specific attributes | | | accessible only on the PCS or PME level. | s/as there some/as there are some/ ?? - a type in 2nd para in sect 4.2 The PME profiles are defined in efmCuPme2BProfileTable and efmCu10PProfileTable for 2BASE-TL and 10PASS-TS PMEs respectively. I think: s/efmCu10PProfileTable/efmCuPme10PProfileTable/ So insert "Pme" - SMICng IF-CAP-STACK-MIB tells me: W: f(IF-CAP-STACK-MIB.mi2), (195,17) Row "ifInvCapStackEntry" does not have a consistent indexing scheme - index items must be in same order as used in INDEX clause for "base row" ifStackEntry The above is OK, it is an INVERTED table. So we can ignore the warning. E: f(IF-CAP-STACK-MIB.mi2), (291,13) Item "ifInvStackGroup" should be IMPORTed I think that error should be fixed and we shoul dimport that group. - SMICNg EFM-CU-MIB tells me: W: f(EFM-CU-MIB.mi2), (300,21) Item "efmCuPAFDiscoveryCode" should have SIZE specified Do we know a reasonable size for this? In the pseudo code on pages 7/8 it speaks about a 6-byte (octet) code. And so does the DESCRIPTION clause. Is it always fixed to 6 octets? Now and in future? If so, I would suggest to use SYNTAX PhysAddress (SIZE(6)) W: f(EFM-CU-MIB.mi2), (1178,21) Item "efmCuPAFRemoteDiscoveryCode" should have SIZE specified Same story for the above. W: f(EFM-CU-MIB.mi2), (2925,23) For "efmCuPmeSubTypesSupported", syntax is identical This is probably OK, although it looks a bit weird: OBJECT efmCuPmeSubTypesSupported SYNTAX BITS { ieee2BaseTLO(0), ieee2BaseTLR(1), ieee10PassTSO(2), ieee10PassTSR(3) } DESCRIPTION "Support for all subtypes is not required. However at least one value SHALL be supported" - W.r.t. the SYNTAX of objects ifCapStackStatus and ifInvCapStackStatus I think it would be much better to use a SYNTAX of TruthValue. See my separate posting on this topic to the HubMIB WG list. - I believe that instead of ifCapStackConformance OBJECT IDENTIFIER ::= { ifCapStackObjects 3 } It would be better to adhere to the strcuture suggested by RFC4181 page 38 and so use instead: ifCapStackConformance OBJECT IDENTIFIER ::= { ifCapStackMIB 2 } - I still need to review the EFM-CU-MIB module. I will do a separate posting on that one once I am done. - In the Security Considerations section I see capitalized MAY which I think is not what RFC2119 intended. Unless you can explain to me why this capilaized MAY makes sense, I would prefer if we change it to just lowercase "may" for all occurences in the Security Considerations section. - 2nd para on page 83 (a NIT): Even if the network itself is secure (for example by using IPSec), pls change "IPSec" into "IPsec", that is a lower case "s". The current MIB security template has it fixed. I know that the Security ADs want/prefer the proper spelling. - IANA Considerations. Since you state that some values SHALL be defined in the IANA-MAU-MIB, I think that you make rfc3636bis a normative reference, while it is now listed under informative. And by making that document normative, you/we automagically make sure that this efmCuMIB will not get published before 3636bis. You must also request/ask (in IANA COnsiderations section) that IANA assigns two new OID branches for ifCapStackMIB ::= { mib-2 ZZZ } efmCuMIB ::= { mib-2 YYY } - If/wehen we do a revision, we must adhere to new boilerplate. That means we must change all occurences of: Copyright (C) The Internet Society (2006). into Copyright (C) The IETF Trust (2006). If you are using xml2rfc, thsi can be achieved with: ipr="full3978update" You can/could not yet know this. I know that this starts on Nov 1st (because I was asked to update the IDChecklist.html. Bert _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Thu Oct 19 17:02:08 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gaf1g-0005Yz-HR; Thu, 19 Oct 2006 17:02:04 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gaf1f-0005XY-GZ; Thu, 19 Oct 2006 17:02:03 -0400 Received: from ns0.neustar.com ([156.154.16.158]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gaf1f-0001Zn-B7; Thu, 19 Oct 2006 17:02:03 -0400 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by ns0.neustar.com (Postfix) with ESMTP id 4DD3732899; Thu, 19 Oct 2006 21:02:03 +0000 (GMT) Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1Gaf1f-00076J-6T; Thu, 19 Oct 2006 17:02:03 -0400 X-test-idtracker: no To: IETF-Announce From: The IESG Message-Id: Date: Thu, 19 Oct 2006 17:02:03 -0400 X-Spam-Score: -2.8 (--) X-Scan-Signature: 7a6398bf8aaeabc7a7bb696b6b0a2aad Cc: hubmib@ietf.org Subject: [Hubmib] Last Call: 'Managed Objects of EPON' to Proposed Standard (draft-ietf-hubmib-efm-epon-mib) X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: iesg@ietf.org List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org The IESG has received a request from the Ethernet Interfaces and Hub MIB WG to consider the following document: - 'Managed Objects of EPON ' as a Proposed Standard The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send any comments to the iesg@ietf.org or ietf@ietf.org mailing lists by 2006-11-02. The file can be obtained via http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-05.txt _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Thu Oct 19 17:03:17 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gaf2c-0000XT-Pg; Thu, 19 Oct 2006 17:03:02 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gaf2c-0000Vc-1j; Thu, 19 Oct 2006 17:03:02 -0400 Received: from ns1.neustar.com ([2001:503:c779:1a::9c9a:108a]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gaf2b-0001lH-Rm; Thu, 19 Oct 2006 17:03:02 -0400 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by ns1.neustar.com (Postfix) with ESMTP id CCA6426E2D; Thu, 19 Oct 2006 21:03:01 +0000 (GMT) Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1Gaf2b-000780-NQ; Thu, 19 Oct 2006 17:03:01 -0400 X-test-idtracker: no To: IETF-Announce From: The IESG Message-Id: Date: Thu, 19 Oct 2006 17:03:01 -0400 X-Spam-Score: -2.8 (--) X-Scan-Signature: 1ac7cc0a4cd376402b85bc1961a86ac2 Cc: hubmib@ietf.org Subject: [Hubmib] Last Call: 'Definitions of Managed Objects for IEEE 802.3 Medium Attachment Units (MAUs)' to Proposed Standard (draft-ietf-hubmib-rfc3636bis) X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: iesg@ietf.org List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org The IESG has received a request from the Ethernet Interfaces and Hub MIB WG to consider the following document: - 'Definitions of Managed Objects for IEEE 802.3 Medium Attachment Units (MAUs) ' as a Proposed Standard The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send any comments to the iesg@ietf.org or ietf@ietf.org mailing lists by 2006-11-02. The file can be obtained via http://www.ietf.org/internet-drafts/draft-ietf-hubmib-rfc3636bis-05.txt _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Sun Oct 22 20:27:32 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gbnex-000133-FE; Sun, 22 Oct 2006 20:27:19 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gbnew-00012y-2W for hubmib@ietf.org; Sun, 22 Oct 2006 20:27:18 -0400 Received: from mail.hatterasnetworks.com ([72.15.200.21]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gbneu-0007Gq-Ne for hubmib@ietf.org; Sun, 22 Oct 2006 20:27:18 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] Hubmib documents status Date: Sun, 22 Oct 2006 20:27:03 -0400 Message-ID: <467C77F6373BDE4BB16A3E8A62C03955A56ADC@Exchserv.hatteras.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] Hubmib documents status Thread-Index: Acbx/Qs+MMM/1DJ9T/GiRKvqbH15OAEPGSAw From: "Matt Squire" To: "Wijnen, Bert \(Bert\)" , "Hubmib Mailing List \(E-mail\)" X-Spam-Score: 0.0 (/) X-Scan-Signature: 10ba05e7e8a9aa6adb025f426bef3a30 Cc: X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Bert -=20 The -05 version of draft-ietf-hubmib-efm-mib was submitted early today as an Internet draft, and should be showing up in the database early next week. The changes from the -04 version are: - Changed last paragraph of Section 5 as per D Perkins comment - Changed text around the initial OUI value from "zero" to "three octets of zero" per D Perkins comment - Changed PDU size information to (0|64..1518) rather than (0..1518) with text saying "1..63 are not allowed" - Changed the order of enable/disable in the OAM state variable, and changed the order of passive/active in the OAM mode variable to match the order of these values in Clause 30 of 802.3 based on suggestions from yourself and Dan - Changed headers/titles to reflect new version and date Everything else should be the same as in the -04 version. =20 - Matt > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com] > Sent: Tuesday, October 17, 2006 11:00 AM > To: Hubmib Mailing List (E-mail) > Subject: [Hubmib] Hubmib documents status >=20 > Dear HUBMIB WG members. >=20 > Below is the status of the documents that we have on our plate. > This is the status that Dan reported to me, after which I did > a little bit of follow up. >=20 >=20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-04.txt > waiting for revision after MIB Doctor review by David Perkins and > following discussion. I (Bert) have an outstanding ping to Matt > Squire, the editor of this document, for a response on this. > I really hope we can have an answer and a revised MIB document soon. >=20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-05.tx t > revised after MIB Doctor review by Dave Perkins. No confirmation > from David if he is happy with this version. I (Bert) have pinged > David to see if we can get an answer soon. >=20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-rfc3636bis-05.txt > submitted to the AD for consideration as Proposed Standard. Mike Heard > assigned as MIB Doctor, has done review and reported so to our WG list > a few days ago. I (Bert) havce re-issued a request for Publication > (with a few changes to the proto-write-up) which I have copied > (earlier today) to the WG list. So for this document, we DID make the > milestones as listed in our current WG charter. >=20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt > following WGLC of revision 5, a set of changes was required, including > moving the ifAvailableStackTable to a distinct MIB module (say > IF-AVAILABLE-STACK-MIB, seating directly under MIB-2) and adding an > inverse table ifInvAvailableStackTable, which would allow the ADSLMIB > WG to refer and re-use them. The new revison (6) was posted on > Oct 12th. I (Bert) am hereby asking the WG for review (I will issue a > WG LC in a separate message) to approve the changes. >=20 > Pls note that these 3 documents >=20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib- > 05.txt > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-04.txt >=20 > all 3 have a milestone in our current WG charter for submission to the > IESG in November 2006. So we have max 6 weeks to complete this work. >=20 > Bert >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Oct 23 16:41:32 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gc6bz-0000PO-UQ; Mon, 23 Oct 2006 16:41:31 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gc6bu-0000Cp-Fk; Mon, 23 Oct 2006 16:41:26 -0400 Received: from ns1.neustar.com ([2001:503:c779:1a::9c9a:108a]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gc6bt-0003ao-Ky; Mon, 23 Oct 2006 16:41:26 -0400 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by ns1.neustar.com (Postfix) with ESMTP id C615426E65; Mon, 23 Oct 2006 19:50:01 +0000 (GMT) Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1Gc5o9-0008NL-MG; Mon, 23 Oct 2006 15:50:01 -0400 Content-Type: Multipart/Mixed; Boundary="NextPart" Mime-Version: 1.0 To: i-d-announce@ietf.org From: Internet-Drafts@ietf.org Message-Id: Date: Mon, 23 Oct 2006 15:50:01 -0400 X-Spam-Score: -2.5 (--) X-Scan-Signature: 10ba05e7e8a9aa6adb025f426bef3a30 Cc: hubmib@ietf.org Subject: [Hubmib] I-D ACTION:draft-ietf-hubmib-efm-mib-05.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Ethernet Interfaces and Hub MIB Working Group of the IETF. Title : Definitions and Managed Objects for OAM Functions on Ethernet Like Interfaces Author(s) : M. Squire Filename : draft-ietf-hubmib-efm-mib-05.txt Pages : 57 Date : 2006-10-23 This document defines objects for managing Operations, Administration, and Maintenance (OAM) capabilities on Ethernet like interfaces conformant to the Ethernet OAM functionality defined in [802.3ah]. The Ethernet OAM functionality is complementary to SNMP management in that it is focused on a small set of link-specific functions for directly connected Ethernet interfaces. This document defines objects for controlling those link OAM functions, and for providing results and status of the OAM functions to management entities. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-05.txt To remove yourself from the I-D Announcement list, send a message to i-d-announce-request@ietf.org with the word unsubscribe in the body of the message. You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce to change your subscription settings. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-hubmib-efm-mib-05.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-hubmib-efm-mib-05.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <2006-10-23110045.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-hubmib-efm-mib-05.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-hubmib-efm-mib-05.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <2006-10-23110045.I-D@ietf.org> --OtherAccess-- --NextPart Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --NextPart-- From hubmib-bounces@ietf.org Thu Oct 26 16:39:31 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GdC0d-0002pF-IU; Thu, 26 Oct 2006 16:39:27 -0400 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GdBtU-0008Hr-Fp for hubmib@ietf.org; Thu, 26 Oct 2006 16:32:04 -0400 Received: from nj300815-ier2.net.avaya.com ([198.152.12.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GdBno-0003Rb-Nt for hubmib@ietf.org; Thu, 26 Oct 2006 16:26:13 -0400 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by nj300815-ier2.net.avaya.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id k9QKPIO2018783 for ; Thu, 26 Oct 2006 16:25:51 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Thu, 26 Oct 2006 22:25:44 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Gen-art review of draft-ietf-hubmib-efm-epon-mib-05.txt Thread-Index: Acb5Cs5RNgr0k8u5QnaYl23obsm8LQAMWT8g From: "Romascanu, Dan \(Dan\)" To: "IETF Hub MIB Working Group" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: c1c65599517f9ac32519d043c37c5336 Subject: [Hubmib] FW: Gen-art review of draft-ietf-hubmib-efm-epon-mib-05.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org =20 =20 -----Original Message----- From: Gonzalo Camarillo [mailto:Gonzalo.Camarillo@ericsson.com]=20 Sent: Thursday, October 26, 2006 4:17 PM To: lior_khermosh@pmc-sierra.com Cc: Romascanu, Dan (Dan); gen-art@ietf.org Subject: Gen-art review of draft-ietf-hubmib-efm-epon-mib-05.txt Hi, I have been selected as the General Area Review Team (Gen-ART) reviewer for this draft (for background on Gen-ART, please see http://www.alvestrand.no/ietf/gen/art/gen-art-FAQ.html). Please resolve these comments along with any other Last Call comments you may receive. Draft: draft-ietf-hubmib-efm-epon-mib-05.txt Reviewer: Gonzalo Camarillo Review Date: 26 October 2006 IETF LC Date: 19 October 2006 Summary: This draft is ready for publication as a PS RFC. Comments: Acronyms should also be expanded in the title of the draft. Generally, abstracts should not have references so that they could be distributed independently of the main document. The author may want to consider removing all references from the abstract. Thanks, Gonzalo _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Oct 31 13:24:35 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GeyHk-0005w8-QL; Tue, 31 Oct 2006 13:24:28 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GeyHj-0005uP-ST for hubmib@ietf.org; Tue, 31 Oct 2006 13:24:28 -0500 Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GeyHg-0000Ox-FM for hubmib@ietf.org; Tue, 31 Oct 2006 13:24:27 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by co300216-ier2.net.avaya.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id k9VIOMeT024979 for ; Tue, 31 Oct 2006 13:24:23 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Tue, 31 Oct 2006 20:24:22 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: Acbx/rSkbniizl8CSfqRyK93dapUZgLGsRZQ From: "Romascanu, Dan \(Dan\)" To: "Wijnen, Bert \(Bert\)" , "Hubmib Mailing List \(E-mail\)" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: 4adaf050708fb13be3316a9eee889caa Cc: X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Section 3.1.3 refers to 'SNMP agent' and Table 2 has a columns named 'SNMP objects. In reality this document defines SMIv2 MIB modules that could be used in theory with other protocols, not only with SNMP. I would suggest more neutral terminology to be used ('management agent', 'SMIv2 objects').=20 Dan =20 =20 > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com]=20 > Sent: Tuesday, October 17, 2006 5:12 PM > To: Hubmib Mailing List (E-mail) > Subject: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > [bcc to adslmib wg. Pls comment on the hubmib WG mailing list. > if needed, the adslmib wg chairs can collect and summarize =20 > comments as well and then post it to the HUBMIB WG list.] >=20 > This is a formal WG Last Call for > =20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-m > ib-06.txt >=20 > WG LC ends on October 31st, any timezone. >=20 > Following WGLC of revision 05, a set of changes was required,=20 > including moving the ifAvailableStackTable to a distinct MIB=20 > module (say IF-AVAILABLE-STACK-MIB, seating directly under > MIB-2) and adding an inverse table ifInvAvailableStackTable,=20 > which would allow the ADSL MIB WG to refer and re-use them.=20 > I suggested that after a revised I-D is available the WG=20 > would do a fast track LC to approve the changes.=20 >=20 > Revision 6 was posted on Oct 12th to address the above. >=20 > Bert >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib