RE: My review of: draft-ietf-hubmib-efm-cu-mib-06.txt
"Edward Beili" <[email protected]> Mon, 19 Feb 2007 04:10:50 +0200
| Newsgroups | gmane.ietf.hubmib |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Bert, I've attached the next version of the efm-cu-mib draft, together with = the extracted MIB modules. This version implements most of your comments, see below for the full = list of changes. Regards, -E. > From: Wijnen, Bert (Bert)=20 > [mailto:[email protected]] > Sent: Thursday, January 18, 2007 21:45 > To: Edward Beili > Cc: Dan Romascanu (E-mail) > Subject: RE: [Hubmib] My review of: = draft-ietf-hubmib-efm-cu-mib-06.txt >My appology, "this week" took a bit longer than I had expected.=20 > >So here is my review as WG chair. > >- SMICng: > W: f(EFM-CU-MIB.mi2), (300,21) Item "efmCuPAFDiscoveryCode" should = have SIZE specified > W: f(EFM-CU-MIB.mi2), (1178,21) Item "efmCuPAFRemoteDiscoveryCode" should have SIZE specified > W: f(EFM-CU-MIB.mi2), (2925,23) For "efmCuPmeSubTypesSupported", = syntax is identical > > for the first two, I think: SIZE(6) > for the 3rd one I am OK to let the warning go., i.e. ignore it. [EB] Corrected as suggested. > 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 > E: f(IF-CAP-STACK-MIB.mi2), (291,13) Item "ifInvStackGroup" should be = IMPORTed > Warning is OK I think, but pls fix error. [EB] Corrected as suggested. >- You may want to add a note-to-rfcs-editor to: > [I-D.ietf-hubmib-efm-mib] > Squire, M., "Definitions and Managed Objects for OAM > Functions on Ethernet Like Interfaces", > draft-ietf-hubmib-efm-mib-04 (work in progress), > March 2006. > > [I-D.ietf-hubmib-rfc3636bis] > Beili, E., "Definitions of Managed Objects for IEEE 802.3 > Medium Attachment Units (MAUs)", > draft-ietf-hubmib-rfc3636bis-05 (work in progress), > July 2006. > > in which you ask them to replace with actual RFC numbers if those > are available at time of publication. [EB] Done. >- note that if you do a revision, you must use new copyright > and no longer=20 > Copyright (C) The Internet Society (2006). > See my earlier post to the hubmib list [EB] Done. >- Did we resolve the use of Rowstatus for the ifCapStackTable > and ifInvCapStackTable? In any event, pls re-check the > feedback we've got on that. I do not think that what we > currently have in the MIB module is acceptable. [EB] Replaced with TruthValue. >- In order to avoid any possible future name clashed, I would > prefer it if we rename Textual Convnetions: > > ProfileIndex ::=3D TEXTUAL-CONVENTION > ProfileIndexOrZero ::=3D TEXTUAL-CONVENTION > ProfileIndexList ::=3D TEXTUAL-CONVENTION > TruthValueOrUnknown ::=3D TEXTUAL-CONVENTION > > such that they are prefixed with Efm, so I would name them: > > EfmProfileIndex ::=3D TEXTUAL-CONVENTION > EfmProfileIndexOrZero ::=3D TEXTUAL-CONVENTION > EfmProfileIndexList ::=3D TEXTUAL-CONVENTION > EfmTruthValueOrUnknown ::=3D TEXTUAL-CONVENTION > > this is also common practice in most (if not all) other > IETF MIB modules these days [EB] Done. >- for efmCuPAFAdminState you describe a few operations that > should be ignore when tried. I am not sure how to inerpret > that and what would happen when a SNMP SET is received. > I would think it is better to say the need to be rejected. > (that is, cause an error on an SNMP SET). [EB] Agreed. All 'ignored' are replaced with 'rejected' >- for=20 > efmCuPAFDiscoveryCode OBJECT-TYPE > SYNTAX PhysAddress > MAX-ACCESS read-write > STATUS current > DESCRIPTION > "PAF Discovery Code of the EFMCu port (PCS). > A unique 6 Byte long code used by the Discovery function, when > PAF is supported. > PCS ports incapable of supporting PAF SHALL return a value of > all zeroes. Attempts to change this object SHALL be ignored in > this case. > This object MUST be instantiated for the -O subtype PCS before > writing operations on the efmCuPAFRemoteDiscoveryCode > (Set_if_Clear and Clear_if_Same) are performed by PMEs > associated with the PCS. > The value of this object is read-only for -R port subtypes. > The initial value of this object for -R ports after reset > is 0. This value may be changed as a result of writing > operation on efmCuPAFRemoteDiscoveryCode variable of remote > PME of -O subtype, connected to one of the local PMEs > associated with the PCS. > > Discovery MUST be performed when the link is Down. > Attempts to change this object MUST be rejected with the error > inconsistentValue if the link is Up or Initializing. > > The PAF Discovery code maps to the local Discovery code > variable in PAF (note that it does not have a corresponding > Clause 45 register)" > REFERENCE > "[802.3ah] 61.2.2.8.3, 61.2.2.8.4, 45.2.6.6.1" > ::=3D { efmCuPortConfEntry 2 } > > I am trying to figure out what made you choose PhysAddress as the > SYNTAX for the discovery code. Can you explain, or point me to > the 802.3ah clause that explains/justifies that? [EB] The remote discovery code is defined by 802.3ah as a 6-octets = (48-bit) value, see 45.2.6.8. Clause 61A.2 actually suggests to use a MAC address for the discovery operation, in order to ensure its 'local = uniqueness'. Since PhysAddress represents media- or physical-level addresses it was a natural choice. I've added the size attribute to indicate it's length. = > I wonder what you mean with "the value of this object is read-only" > The value has to be a PhysAddress ( 6 octets) value, no? > If you mean that for -R port subtypes the object cannot allow write > access, then I would say it in terms aka: > > The initial value of this object for -R port subtypes after > reset is all zeroes. For such -R ports, the value of this > object cannot be changed directly. The value may be changed > as a result of a writing operation on the=20 > efmCuPAFRemoteDiscoveryCode object of a remote PME of=20 > -O subtype, connected to one of the local PMEs > associated with the PCS. > > I hope I understood the intention and reworded it properly. [EB] Corrected as suggested. > These day we prefer to not hard-wire SNMP error codes in DESCRIPTION > clause, or if we do, then as an example (A MIB could be used by non > SNMP protocols). SO I suggest=20 > =20 > Discovery MUST be performed when the link is Down. > Attempts to change this object MUST be rejected (in case of > SNMP with the error inconsistentValue) if the link is Up=20 > or Initializing. [EB] Corrected - inserted '(in case of SNMP' to all occurrences of 'with the error'. >- For efmCuAdminProfile I read in DESCRIPTION clause: > > This object is writable and readable for the -O subtype > (2BaseTL-O or 10PassTS-O) EFMCu ports. It is unavailable for > the -R subtype (2BaseTL-R or 10PassTS-R) ports. > > what does it mean that this object is "unavailable" > Do you not want it instatntiated in that case, or do you want > its value to be ignored/irrelevant? Pls be specific. > > You use that at various other places as well. Pls check and fix. [EB] Replaced 'unavailable' with 'unsupported' >- For > efmCuPAFRemoteDiscoveryCode OBJECT-TYPE > SYNTAX PhysAddress > MAX-ACCESS read-write > STATUS current > DESCRIPTION > "PAF Remote Discovery Code of the PME port at CO. > A 6 Byte long Discovery Code of the peer PCS connected via > the PME. > Reading this object results in a Discovery Get operation. > Writing a zero to this object results in a Discovery > Clear_if_Same operation (the value of efmCuPAFDiscoveryCode > at the peer PCS SHALL be the same as efmCuPAFDiscoveryCode of > the local PCS associated with the PME for the operation to > succeed). > Writing a non-zero value to this object results in a > Discovery Set_if_Clear operation. > This object does not exist in CPE port subtypes. A zero length > octet string SHALL be returned for CPE port subtypes and also > when PAF aggregation is not enabled. > > What is "writing a zero value" ?? > Is that 6 octets, all zeroes? > Or one octet conatining zero, > or the zero length octet-string? > What means "does not exist" is it not instanctiated? I guess so. > pls be clear. You do get gaps in the tables if some objects are > not instantiated. Might be easier (on NM apps) if there was > a value (like all zeros, or zerolength string) that can be ignored. [EB] Reworded as follows: This object is irrelevant in CPE port (-R) subtypes: in this case a zero length octet string SHALL be returned on an attempt to read this object, writing to this object SHALL be ignored. >- I believe I have seen this SYNTAX > SYNTAX INTEGER { > ieee2BaseTLO(1), > ieee2BaseTLR(2), > ieee10PassTSO(3), > ieee10PassTSR(4) > } > several times. Candidate for a Textual Convention? [EB] No actually all occurences are different- there are: efmCuPmeAdminSubType with 7 enums, efmCuPmeSubTypesSupported with 4 bitmap positions and efmCuPmeOperSubType with 4 enums. >- for efmCuPme2BRegion I wonder if we ever (soon?) expect more > regions? If so, maybe we ought to make this a TC? > How will regions be added? [EB] Regions for G.SHDSL are defined by the ITU-T in G.991.2 = recommendation. The last revision of this document was done in 2003, and this version was used as a reference for the IEEE 802.3ah 2BASE-TL specification. There's no reason to believe that a new region would ever be defined (unless Japanese decide to play hard and revive this issue:), in any case even if this happens it would require a re-issue of 802.3 as the regions are hard-coded in a Clause 45 register.=20 >- For efmCuPme2BProfileRowStatus I wonder if any (all?) of the objects > in a row can be changed while the row is active? Would that not > be disruptive? In any event, pls specify if any (which( objects > can be changed or stat eif none can be change in active state. [EB] I believe that 'read-create' in MAX-ACCESS clause of all the objects in a row (except for the 'not-accessible' index) already indicates that in order to change an object in a particular profile, one would have to create a new one, change the reference(s) from the old profile to a new one and remove the old (inactive) profile if not needed anymore. > Same question for efmCuPme2BsModeRowStatus, although there a change > is probably not disruptive. > Pls check all occurences of RowStatus [EB] Same answer as above. >- I really wonder if we are doing a smart thing by give the same labels > to the various enums in > efmCuPme10PBandplanPSDMskProfile INTEGER, > efmCuPme10PUPBOReferenceProfile INTEGER, > efmCuPme10PBandNotchProfiles BITS, > efmCuPme10PPayloadURateProfile INTEGER, > efmCuPme10PPayloadDRateProfile INTEGER, > They have different meanings, don't they? So would it not be better > to differentiate between the labels of the neumerations? [EB] If we take it to extreme why not turning all enums to TCs? Personally I prefer inline enums (if they are not repeated of course which would make they perfectly good candidates for TCs) as they list the values and their meaning in the description for the object - less jumps between the object and a TC when reading the MIB. >- For OBBJECT-GROUP definitions, one is NOT supposed to state = requirements > or optional attributes. Such things (if a group if required or >optional) > are stated in the MODULE-COMPLIANCE. > The OBJECT0GROUP macro is ONLY intended to group objects that = logically > fit together in order to model something. > Sof (for example): > efmCuBasicGroup OBJECT-GROUP > OBJECTS { > efmCuPAFSupported, > efmCuAdminProfile, > efmCuTargetDataRate, > efmCuTargetSnrMgn, > efmCuAdaptiveSpectra, > efmCuPortSide, > efmCuFltStatus > } > STATUS current > DESCRIPTION > "A collection of objects required for all of EFMCu ports." > ::=3D { efmCuGroups 1 } > > Sould NOT state that these objects are "required". I would phrase > it as: > "A collection of objects reperesenting management information > that is common for all of EFMCu ports." > > The fact that is is REQUIRED for all EFMCu ports is expressed in > efmCuCompliance MODULE-COMPLIANCE > STATUS current > DESCRIPTION > ... snip ... > MODULE -- this module > MANDATORY-GROUPS { > efmCuBasicGroup, > That is, here it is listed in the MANDATORY-GROUPS clause and so that > inidicated that it is required. > =20 > Pls try to rephrase for all OBJECT-GROUPs [EB] Done. >- With regard to naming, I am somewhat worried about the conventions = that > are used (or maybe those that are not used). I always find it smarter > to have all columnar objects in a table prefixed with a string that > makes it clear to which table the object belongs. For example for > the efmCuPortConfTable: > > EfmCuPortConfEntry ::=3D > SEQUENCE { > efmCuPAFAdminState INTEGER, > efmCuPAFDiscoveryCode PhysAddress, > efmCuAdminProfile ProfileIndexList, > efmCuTargetDataRate Unsigned32, > efmCuTargetSnrMgn Unsigned32, > efmCuAdaptiveSpectra TruthValue, > efmCuThreshLowRate Unsigned32, > efmCuLowRateCrossingEnable TruthValue > } > =20 > I would personally prefer the columns to be alll prefixed with > efmCuPortConf, so I would have named them as follows: > > EfmCuPortConfEntry ::=3D > SEQUENCE { > efmCuPortConfPAFAdminState INTEGER, > efmCuPortConfPAFDiscoveryCode PhysAddress, > efmCuPortConfAdminProfile ProfileIndexList, > efmCuPortConfTargetDataRate Unsigned32, > efmCuPortConfTargetSnrMgn Unsigned32, > efmCuPortConfAdaptiveSpectra TruthValue, > efmCuPortConfThreshLowRate Unsigned32, > efmCuPortConfLowRateCrossingEnable TruthValue > } > > This also holds true for most (all of) the other tables. > My suggested naming convention above has (in my view) 2 advantages: > =20 > - less change for conflicting names.=20 > I will admit, that this is not too big a risk, since this is > all within the same MIB module. Nevertheless, I think it just > makes it easier if any additions need to be made in the future. > - easier for people to see which objects belong to which tables. > I think this is a strong point. But I also understand it is > somewhat subjective. > > I can accept if the WG and/or editor/author tells me that I am far > too late with this type of comment. It of course requires a quite=20 > massive editorial change. So, although I think it would improve > the human-friendlyness of the MIB module, I will not insist on > this change. [EB] While I tend to agree with the advantages of the naming scheme you proposed, I would like to ask to be forgiven and leave the names as they are now, due to the following rasons: - It is a big change (considering also that there are at least 2 experimental implementations of this draft that I know of) - Some time ago I was asked to stick with the RFC 2578/2579 recommendation of 32 char restriction - the proposed change would make some names to be longer than 32 chars. (Yes, I just read RFC 4181 view on that - the 32 character restriction recommendation of SMIv2 SHOULD be set aside in favor of promoting clarity and uniqueness). However it could be argued that it is easier to remember efmCuLowRateCrossingEnable vs. efmCuPortConfLowRateCrossingEnable >NITS: > >- the RFC editor probably wants you to expand acronyms when they are > used for the first time. Pls check you do it for all acronyms. > I found for example VDSL, DMT, SHDSL acronyms which have not > been expanded. > There may be others. Pls check. [EB] All acronyms are expanded. >- For: > ifCapStackEntry OBJECT-TYPE > SYNTAX IfCapStackEntry > MAX-ACCESS not-accessible > STATUS current > DESCRIPTION > "Information on a particular relationship between two > sub-layers, specifying that one sub-layer runs on 'top' of = the > other sub-layer. Each sub-layer corresponds to a conceptual > > I wonder if we should: s/runs on top/can run on 'top'/ > After all, it is a capability, which not necessarily is used, right? [EB] Right, replaced to "MAY possibly run on top". >- for efmCuPAFDiscoveryCode you speak about a "6 Byte code" > If this is common 802.3 terminology, then I guess it is OK. > I know that some people in the IETF prefer to use 'octet' instead > of 'byte'. [EB] Corrected to "octets". >- This table > efmCuPmeStatusTable OBJECT-TYPE > SYNTAX SEQUENCE OF EfmCuPmeStatusEntry > MAX-ACCESS not-accessible > STATUS current > DESCRIPTION > "This table provides common status information of EFMCu > 2BASE-TL/10PASS-TS PME ports. Status information specific > to 10PASS-TS PME is represented in efmCuPme10PStatusTable. > > This table contains live data from the equipment. As such, > it is NOT persistent." > ::=3D { efmCuPme 3 } > > Is cmposed of just read-only objects. So the last sentence of the > DESCRIPTION clause is not needed. In general people expect (I think) > writable objects when they see such a ststament. [EB] You are right. However when one is looking at the description clause of a 'not-accessible' table, the only way to determine if it is composed of read-only objects is to check the Max access value of each and every object in the table. I believe that the 'NOT persistent' sentence helps reader to understand the nature of a table quicker, so I would leave it as is. >- For efmCuPme2BProfileDescr I think I would change the uppercase MAY > to a lowercase may. > Same for efmCuPme10PProfileDescr. > There may be other places. Pls check RFC2119 to understand how/when > capilaized terms are needed. They are for COMPLIANCE, the two > objects above have no special compliance requirments for content > except for adhering to the SYNTAX, right? [EB] right, changed to lowercase 'may', Also changed in efmCuPme2BsModeDescr. >TYPOs: >- typo in table 1: > | 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. | >=20 > s/there some/there are some/ I think [EB] Corrected. >- 3rd para of sect 4.3: > A specific configuration or administrative profile is assigned to a > specific PME via efmCuPmeAdminProfile object. If > efmCuPmeAdminProfile is zero, then efmCuAdminProfile object of the > PCS port, connected to the PME, determines the configuration profile > (or a list of possible profiles) for that PME. This mechanism = allows > to specify a common profile(s) for all PMEs connected to the PCS > port, with an ability to change individual PME profiles by setting > efmCuPmeAdminProfile object, which overwrites profile set by > efmCuAdminProfile. > > s/overwrites profile set by/overwrites the profile set by/ > I think. [EB] Corrected.=20 > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:[email protected]] > Sent: Wednesday, October 18, 2006 5:45 PM > To: Hubmib Mailing List (E-mail) > Subject: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > My WG LC review comments are here. > For the EFM-U-MIB itself I will do a separate posting to the list. >=20 > - Abstract 3rd line >=20 > This document proposes an extension to the Ethernet-like=20 > Interfaces >=20 > By the time we get published as RFC, we no longer "propose". > So how about: >=20 > This document describes extensions to the Ethernet-like > Interfaces [EB] Corrected. > - 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/ ?? [EB] Corrected =20 > - A nit/typo on page 10: > | ifIndex | Interface index. Note that each PME and=20 > each PCS | > | | in the EFMCu PHY MUST have a unique=20 > index, as | > | | there some PCS and PME specific=20 > attributes | > | | accessible only on the PCS or PME level.=20 > | >=20 > s/as there some/as there are some/ ?? [EB] Corrected > - a type in 2nd para in sect 4.2 >=20 > The PME profiles are defined in efmCuPme2BProfileTable and > efmCu10PProfileTable for 2BASE-TL and 10PASS-TS PMEs respectively. >=20 > I think: s/efmCu10PProfileTable/efmCuPme10PProfileTable/ > So insert "Pme" [EB] Corrected. > - SMICng IF-CAP-STACK-MIB tells me: >=20 > 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 >=20 > The above is OK, it is an INVERTED table. > So we can ignore the warning. >=20 > E: f(IF-CAP-STACK-MIB.mi2), (291,13) Item "ifInvStackGroup" > should be IMPORTed >=20 > I think that error should be fixed and we shoul dimport that group. [EB] Already done. =20 > - SMICNg EFM-CU-MIB tells me: >=20 > W: f(EFM-CU-MIB.mi2), (300,21) Item "efmCuPAFDiscoveryCode" should > have SIZE specified >=20 > Do we know a reasonable size for this? In the pseudo code on=20 > 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 >=20 > SYNTAX PhysAddress (SIZE(6)) >=20 > W: f(EFM-CU-MIB.mi2), (1178,21) Item "efmCuPAFRemoteDiscoveryCode" > should have SIZE specified >=20 > Same story for the above. [EB] Already done. > W: f(EFM-CU-MIB.mi2), (2925,23) For "efmCuPmeSubTypesSupported", > syntax is identical >=20 > 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.=20 > However at least > one value SHALL be supported" [EB] Left as is. > - W.r.t. the SYNTAX of objects ifCapStackStatus and=20 > 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. [EB] Agreed to use TruthValue. Added a note that the value of false (theoreticallypossible but temporary out of service), should not be confused with a non-existent row (absolutely impossible). > - I believe that instead of >=20 > ifCapStackConformance OBJECT IDENTIFIER > ::=3D { ifCapStackObjects 3 } >=20 > It would be better to adhere to the strcuture suggested by > RFC4181 page 38 > and so use instead: >=20 > ifCapStackConformance OBJECT IDENTIFIER ::=3D { ifCapStackMIB 2 = } [EB] Agreed, restructured according to RFC4181, Appendix D: Suggested = OID Layout > - In the Security Considerations section I see capitalized MAY > which I think is not what RFC2119 intended. Unless you can=20 > 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. [EB] All capitalized MAY in the "Security Considerations" section are changed to lowercase "may" > - 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. [EB] Done. > - 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. >=20 > You must also request/ask (in IANA COnsiderations section) that=20 > IANA assigns two new OID branches for >=20 > ifCapStackMIB ::=3D { mib-2 ZZZ } >=20 > efmCuMIB ::=3D { mib-2 YYY } [EB] Corrected > - If/wehen we do a revision, we must adhere to new boilerplate. > That means we must change all occurences of: >=20 > Copyright (C) The Internet Society (2006). >=20 > into >=20 > Copyright (C) The IETF Trust (2006). >=20 > If you are using xml2rfc, thsi can be achieved with: >=20 > ipr=3D"full3978update" >=20 > You can/could not yet know this. I know that this starts on Nov 1st > (because I was asked to update the IDChecklist.html. [EB] Corrected [EB] Additional changes: - Replaced Dan Romascanu with Bert Wijnen as the WG chair - Fixed a typo in the compliance statement for efmCuPmeAdminSubType: ieee2BaseTSR -> ieee10PassTSO -------------------------------------------------------------------------= --------- The following email exchange is provided here for historical purposes =20 > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:[email protected]]=20 > Sent: Wednesday, October 18, 2006 17:45 > To: Edward Beili > Cc: [email protected]; Keith McCloghrie; [email protected] > Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt >=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'=20 > means it cannot. That way you re-use an existing TC, and you=20 > can exactly represent what you need, no? >=20 > Same for ifInvCapStackStatus >=20 > Bert > > -----Original Message----- > > From: Keith McCloghrie [mailto:[email protected]] > > Sent: Wednesday, October 18, 2006 16:41 > > To: [email protected] > > Cc: [email protected]; [email protected]; [email protected];=20 > > [email protected] > > 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 > > ifCapStackTable/ifInvCapStackTable > > > and ifStackTable/ifInvStackTable as well as to try to reuse > > an existing > > > 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 > > object from > > > 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,=20 > > and exactly the same number of rows as the ifStackTable. > > Semantically, > > ifInvStackStatus *could* be read-create, but if it were, a=20 > SetRequest=20 > > to ifStackStatus and a SetRequest to ifInvStackStatus would have=20 > > exactly the same result, i.e., to make it read-create would be=20 > > redundant because it would provide two means of achieving the same=20 > > behaviour. So, making it read-only is a simplification. > >=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". > >=20 > > 'notInService' is "unavailable for use by the managed=20 > device" because=20 > > it normally requires an SNMP operation on a RowStatus=20 > object to make=20 > > it available. Normally, the necessary operation is on the same=20 > > RowStatus object but in the case of ifInvStackStatus (see above=20 > > comment on simplification), the operation needs to be on=20 > > ifStackStatus. In contrast, > >=20 > > notInService(2) - the sub-layer interfaces cannot be > > connected temporarily due to > > unavailability of the interface(s), > >=20 > > The semantics are different here. It is not an SNMP operation on a=20 > > RowStatus object which prevents this row from being=20 > "available for use=20 > > 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 > > thus can stay in > > > 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." > > I can add a > > > sentence in the DESCRIPTION clause saying that an=20 > > > ifCapStackStatus/ifInvCapStackStatus may be in the > > NotInService state > > > indefinitely, formally complying with RFC2579. > > =20 > > ifInvStackStatus *could* semantically be read-create, but=20 > is read-only=20 > > so as to remove redundancy. In contrast, it is the semantics of=20 > > ifCapStackStatus and ifInvCapStackStatus which prevent them=20 > from being=20 > > read-create. > >=20 > > Keith. > >=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 > > > _____ > > >=20 > > > > From: Clay Sikes [mailto:[email protected]] > > > > Sent: Tuesday, October 17, 2006 23:11 > > > > To: [email protected] > > > > Cc: [email protected] > > > > 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 > > > 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=20 > > > 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 > > > 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. > > >=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' = 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. > >=20 > > > I suggest this is an ill-advised overloading of 'notInService'. > > > RFC 2579 says: > >=20 > > > 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. > >=20 > > > 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=20 > > > much longer than the 5 minutes before the agent is required to=20 > > > delete the row. > >=20 > > > Keith. ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/html; name="draft-ietf-hubmib-efm-cu-mib-07.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n PSJlbiI+PGhlYWQ+PHRpdGxlPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9ImRlc2Ny aXB0aW9uIiBjb250ZW50PSJFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1 KSBJbnRlcmZhY2VzIE1JQiI+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iTmV0d29y ayBNYW5hZ2VtZW50LCBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sLCBTTk1QLCBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UsIE1JQiwgVGV4dHVhbCBDb252ZW50aW9ucyI+DQo8 bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InhtbDJyZmMgdjEuMzIgKGh0dHA6Ly94bWwu cmVzb3VyY2Uub3JnLykiPg0KPHN0eWxlIHR5cGU9J3RleHQvY3NzJz48IS0tDQogICAgICAgIGJv ZHkgew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNt YWxsOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCiAgICAgICAgICAgICAg ICBtYXJnaW46IDJlbTsNCiAgICAgICAgfQ0KICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2 IHsNCiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNhLCBtb25hY28sICJNUyBT YW5zIFNlcmlmIiwgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWln aHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgfQ0KICAgICAgICBoMSB7IGNv bG9yOiAjOTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgdGV4dC1hbGlnbjogcmln aHQ7IH0NCiAgICAgICAgaDMgeyBjb2xvcjogIzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IH0NCg0KICAgICAgICB0ZC5SRkNidWcgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6 ZTogeC1zbWFsbDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgICAgIHdpZHRo OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAycHg7DQogICAgICAgICAgICAgICAg dGV4dC1hbGlnbjoganVzdGlmeTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICAgICAgICAg ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlJGQ2J1 ZyBzcGFuLlJGQyB7DQogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNv YWwsIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2Vy aWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjNjY2Ow0KICAg ICAgICB9DQogICAgICAgIHRkLlJGQ2J1ZyBzcGFuLmhvdFRleHQgew0KICAgICAgICAgICAgICAg IGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwg aGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgICAgIGZvbnQtd2Vp Z2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNGRkY7DQogICAgICAgIH0N Cg0KICAgICAgICB0YWJsZS5UT0NidWcgeyB3aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4OyB9DQog ICAgICAgIHRkLlRPQ2J1ZyB7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB3 aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyBi YWNrZ3JvdW5kLWNvbG9yOiAjOTAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlRPQ2J1ZyBhIHsN CiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAi TVMgU2FucyBTZXJpZiIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBm b250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiB4LXNtYWxsOyB0ZXh0LWRlY29yYXRpb246IG5v bmU7DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgdGQuaGVhZGVyIHsNCiAgICAgICAgICAgICAg ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiB4 LXNtYWxsOw0KICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAzMyU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM2NjY7DQog ICAgICAgIH0NCiAgICAgICAgdGQuYXV0aG9yIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6 ZTogeC1zbWFsbDsgbWFyZ2luLWxlZnQ6IDRlbTsgfQ0KICAgICAgICB0ZC5hdXRob3ItdGV4dCB7 IGZvbnQtc2l6ZTogeC1zbWFsbDsgfQ0KDQogICAgICAgIC8qIGluZm8gY29kZSBmcm9tIFNhbnRh S2xhdXNzIGF0IGh0dHA6Ly93d3cubWFkYWJvdXRzdHlsZS5jb20vdG9vbHRpcDIuaHRtbCAqLw0K ICAgICAgICBhLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgdGhlIGtleS4gKi8N CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICAgICAgei1p bmRleDogMjQ7DQogICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg ICB9DQogICAgICAgIGEuaW5mbzpob3ZlciB7DQogICAgICAgICAgICAgICAgei1pbmRleDogMjU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7DQog ICAgICAgIH0NCiAgICAgICAgYS5pbmZvIHNwYW4geyBkaXNwbGF5OiBub25lOyB9DQogICAgICAg IGEuaW5mbzpob3ZlciBzcGFuLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoZSBzcGFuIHdp bGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZS4gKi8NCiAgICAgICAgICAgICAgICBkaXNw bGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAg ICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyOw0KICAgICAgICAgICAgICAgIHRvcDogMmVtOyBs ZWZ0OiAtNWVtOyB3aWR0aDogMTVlbTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7IGJv cmRlcjogMXB4IHNvbGlkICMzMzM7DQogICAgICAgICAgICAgICAgY29sb3I6ICM5MDA7IGJhY2tn cm91bmQtY29sb3I6ICNFRUU7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAg ICAgICAgfQ0KDQogICAgICAgIGEgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgICAgICBhOmxp bmsgICAgeyBjb2xvcjogIzkwMDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAg ICAgICAgYTp2aXNpdGVkIHsgY29sb3I6ICM2MzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyB9DQogICAgICAgIGE6YWN0aXZlICB7IGNvbG9yOiAjNjMzOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsgfQ0KDQogICAgICAgIHAgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4t cmlnaHQ6IDJlbTsgfQ0KICAgICAgICBwLmNvcHlyaWdodCB7IGZvbnQtc2l6ZTogeC1zbWFsbDsg fQ0KICAgICAgICBwLnRvYyB7IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0OiBib2xkOyBt YXJnaW4tbGVmdDogM2VtOyB9DQogICAgICAgIHRhYmxlLnRvYyB7IG1hcmdpbjogMCAwIDAgM2Vt OyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfQ0KICAg ICAgICB0ZC50b2MgeyBmb250LXNpemU6IHNtYWxsOyBmb250LXdlaWdodDogYm9sZDsgdmVydGlj YWwtYWxpZ246IHRleHQtdG9wOyB9DQoNCiAgICAgICAgb2wudGV4dCB7IG1hcmdpbi1sZWZ0OiAy ZW07IG1hcmdpbi1yaWdodDogMmVtOyB9DQogICAgICAgIHVsLnRleHQgeyBtYXJnaW4tbGVmdDog MmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQ0KICAgICAgICBsaSAgICAgIHsgbWFyZ2luLWxlZnQ6 IDNlbTsgfQ0KDQogICAgICAgIC8qIFJGQy0yNjI5IDxzcGFueD5zIGFuZCA8YXJ0d29yaz5zLiAq Lw0KICAgICAgICBlbSAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0NCiAgICAgICAgc3Ryb25n IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgICAgZGZuICAgIHsgZm9udC13ZWlnaHQ6IGJv bGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQ0KICAgICAgICBjaXRlICAgeyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH0NCiAgICAgICAgdHQgICAgIHsgY29sb3I6ICMw MzY7IH0NCiAgICAgICAgdHQsIHByZSwgcHJlIGRmbiwgcHJlIGVtLCBwcmUgY2l0ZSwgcHJlIHNw YW4gew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVy LCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogc21hbGw7DQogICAgICAgIH0NCiAgICAgICAgcHJlIHsN CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiA0cHg7DQogICAgICAg ICAgICAgICAgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6ICNDQ0M7DQogICAgICAgIH0N CiAgICAgICAgcHJlIGRmbiAgeyBjb2xvcjogIzkwMDsgfQ0KICAgICAgICBwcmUgZW0gICB7IGNv bG9yOiAjNjZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOyBmb250LXdlaWdodDogbm9ybWFsOyB9 DQogICAgICAgIHByZSAua2V5IHsgY29sb3I6ICMzM0M7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQog ICAgICAgIHByZSAuaWQgIHsgY29sb3I6ICM5MDA7IH0NCiAgICAgICAgcHJlIC5zdHIgeyBjb2xv cjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0NGRjsgfQ0KICAgICAgICBwcmUgLnZhbCB7IGNv bG9yOiAjMDY2OyB9DQogICAgICAgIHByZSAucmVwIHsgY29sb3I6ICM5MDk7IH0NCiAgICAgICAg cHJlIC5vdGggeyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjsgfQ0KICAgICAg ICBwcmUgLmVyciB7IGJhY2tncm91bmQtY29sb3I6ICNGQ0M7IH0NCg0KICAgICAgICAvKiBSRkMt MjYyOSA8dGV4dHRhYmxlPnMuICovDQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCwgdGFi bGUuaGVhZGVycywgdGFibGUubm9uZSB7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFs bDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItd2lkdGg6IDJweDsNCiAgICAgICAgICAgICAg ICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAg ICB9DQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCB7IGJvcmRlci1zdHlsZTogc29saWQ7 IGJvcmRlci1jb2xvcjogYmxhY2s7IH0NCiAgICAgICAgdGFibGUuaGVhZGVycywgdGFibGUubm9u ZSB7IGJvcmRlci1zdHlsZTogbm9uZTsgfQ0KICAgICAgICB0aCB7DQogICAgICAgICAgICAgICAg Zm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlci1jb2xvcjogYmxhY2s7DQogICAgICAgICAgICAgICAg Ym9yZGVyLXdpZHRoOiAycHggMnB4IDNweCAycHg7DQogICAgICAgIH0NCiAgICAgICAgdGFibGUu YWxsIHRoLCB0YWJsZS5mdWxsIHRoIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfQ0KICAgICAgICB0 YWJsZS5oZWFkZXJzIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZTsgfQ0K ICAgICAgICB0YWJsZS5ub25lIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAgICAgIHRh YmxlLmFsbCB0ZCB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVy LWNvbG9yOiAjMzMzOw0KICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweDsNCiAg ICAgICAgfQ0KICAgICAgICB0YWJsZS5mdWxsIHRkLCB0YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5u b25lIHRkIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQoNCiAgICAgICAgaHIgeyBoZWlnaHQ6IDFw eDsgfQ0KICAgICAgICBoci5pbnNlcnQgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7IGJv cmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOw0KICAgICAgICAgICAgICAgIGNvbG9y OiAjQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDOw0KICAgICAgICB9DQotLT48L3N0eWxlPg0K PC9oZWFkPg0KPGJvZHk+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0iNjYlIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD48dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9 IjEiPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5OZXR3b3JrIFdvcmtpbmcgR3JvdXA8L3RkPjx0 ZCBjbGFzcz0iaGVhZGVyIj5FLiBCZWlsaTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl ciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5BY3RlbGlzIE5ldHdvcmtz PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlbmRlZCBzdGF0dXM6IFN0YW5k YXJkcyBUcmFjazwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5IDE4LCAyMDA3PC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgMjIsIDIwMDc8L3Rk Pjx0ZCBjbGFzcz0iaGVhZGVyIj4mbmJzcDs8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGgxPjxiciAvPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPGJyIC8+ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50 eHQ8L2gxPg0KDQo8aDM+U3RhdHVzIG9mIHRoaXMgTWVtbzwvaDM+DQo8cD4NCkJ5IHN1Ym1pdHRp bmcgdGhpcyBJbnRlcm5ldC1EcmFmdCwNCmVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkg YXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaA0KaGUgb3Igc2hl IGlzIGF3YXJlIGhhdmUgYmVlbiBvciB3aWxsIGJlIGRpc2Nsb3NlZCwNCmFuZCBhbnkgb2Ygd2hp Y2ggaGUgb3Igc2hlIGJlY29tZXMgYXdhcmUgd2lsbCBiZSBkaXNjbG9zZWQsDQppbiBhY2NvcmRh bmNlIHdpdGggU2VjdGlvbiZuYnNwOzYgb2YgQkNQJm5ic3A7NzkuPC9wPg0KPHA+DQpJbnRlcm5l dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmlu Zw0KVGFzayBGb3JjZSAoSUVURiksIGl0cyBhcmVhcywgYW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4N Ck5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3Vt ZW50cyBhcw0KSW50ZXJuZXQtRHJhZnRzLjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSBk cmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQphbmQgbWF5 IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0 IGFueSB0aW1lLg0KSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFz IHJlZmVyZW5jZSBtYXRlcmlhbCBvciB0byBjaXRlDQp0aGVtIG90aGVyIHRoYW4gYXMgJmxkcXVv O3dvcmsgaW4gcHJvZ3Jlc3MuJnJkcXVvOzwvcD4NCjxwPg0KVGhlIGxpc3Qgb2YgY3VycmVudCBJ bnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8vd3d3Lmll dGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQnPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8x aWQtYWJzdHJhY3RzLnR4dDwvYT4uPC9wPg0KPHA+DQpUaGUgbGlzdCBvZiBJbnRlcm5ldC1EcmFm dCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8v d3d3LmlldGYub3JnL3NoYWRvdy5odG1sJz5odHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1s PC9hPi48L3A+DQo8cD4NClRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0 IDIyLCAyMDA3LjwvcD4NCg0KPGgzPkNvcHlyaWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmln aHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+ DQoNCjxwPg0KICAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24g QmFzZSAoTUlCKSBtb2R1bGVzIGZvcg0KICAgdXNlIHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHBy b3RvY29scyBpbiBUQ1AvSVAgYmFzZWQgaW50ZXJuZXRzLg0KICAgVGhpcyBkb2N1bWVudCBkZXNj cmliZXMgZXh0ZW5zaW9ucyB0byB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzDQogICBNSUIg YW5kIE1BVSBNSUIgbW9kdWxlcyB3aXRoIGEgc2V0IG9mIG9iamVjdHMgZm9yIG1hbmFnaW5nDQog ICBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBpbnRlcmZhY2VzDQog ICAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLCBkZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAw NC4NCiAgIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9iamVjdHMgaXMgZGVmaW5lZCwgZGVzY3JpYmlu ZyBjcm9zcy1jb25uZWN0DQogICBjYXBhYmlsaXR5IG9mIGEgbWFuYWdlZCBkZXZpY2Ugd2l0aCBt dWx0aS1sYXllciAoc3RhY2tlZCkgaW50ZXJmYWNlcywNCiAgIGV4dGVuZGluZyB0aGUgc3RhY2sg bWFuYWdlbWVudCBvYmplY3RzIGluIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQg0KICAgYW5kIHRo ZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIgbW9kdWxlcy4gDQogIA0KPC9wPjxhIG5hbWU9InRv YyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNz PSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEuPC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJy IC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+Jm5ic3A7DQpUaGUgSW50ZXJuZXQtU3RhbmRh cmQgTWFuYWdlbWVudCBGcmFtZXdvcms8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4m bmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzPGJyIC8+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNCI+My4xLjwvYT4mbmJzcDsNClJlbGF0aW9uIHRv IEludGVyZmFjZXMgR3JvdXAgTUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjUiPjMuMS4xLjwvYT4m bmJzcDsNCkxheWVyaW5nIE1vZGVsPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNiI+My4xLjIuPC9hPiZuYnNwOw0K UE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNyI+My4xLjMuPC9h PiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjgiPjMuMS40LjwvYT4m bmJzcDsNCkVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOSI+My4xLjUu PC9hPiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGEgaHJlZj0iI2FuY2hvcjEwIj4zLjIuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wg TUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hv cjExIj4zLjMuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlPGJyIC8+DQom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTIiPjMuNC48L2E+Jm5ic3A7 DQpSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXM8YnIgLz4NCjxh IGhyZWY9IiNhbmNob3IxMyI+NC48L2E+Jm5ic3A7DQpNSUIgU3RydWN0dXJlPGJyIC8+DQombmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTQiPjQuMS48L2E+Jm5ic3A7DQpF Rk0gQ29wcGVyIE1JQiBPdmVydmlldzxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEg aHJlZj0iI2FuY2hvcjE1Ij40LjIuPC9hPiZuYnNwOw0KSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxp dHkgTUlCIE92ZXJ2aWV3PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIj YW5jaG9yMTYiPjQuMy48L2E+Jm5ic3A7DQpQTUUgUHJvZmlsZXM8YnIgLz4NCiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+NC40LjwvYT4mbmJzcDsNCk1hcHBpbmcg b2YgSUVFRSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE4 Ij41LjwvYT4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmlsaXR5IE1JQiBEZWZpbml0aW9u czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE5Ij42LjwvYT4mbmJzcDsNCkVGTSBDb3BwZXIgTUlC IERlZmluaXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjAiPjcuPC9hPiZuYnNwOw0KU2Vj dXJpdHkgQ29uc2lkZXJhdGlvbnM8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IyMSI+OC48L2E+Jm5i c3A7DQpJQU5BIENvbnNpZGVyYXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjIiPjkuPC9h PiZuYnNwOw0KQWNrbm93bGVkZ21lbnRzPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjMiPjEwLjwv YT4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8YnIgLz4NCjxhIGhyZWY9IiNyZmMucmVmZXJl bmNlczEiPjExLjwvYT4mbmJzcDsNClJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjExLjEuPC9hPiZuYnNwOw0KTm9ybWF0 aXZlIFJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNy ZmMucmVmZXJlbmNlczIiPjExLjIuPC9hPiZuYnNwOw0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlczxi ciAvPg0KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7DQpBdXRob3IncyBB ZGRyZXNzPGJyIC8+DQo8YSBocmVmPSIjcmZjLmNvcHlyaWdodCI+JiMxNjc7PC9hPiZuYnNwOw0K SW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50czxiciAvPg0KPC9w Pg0KPGJyIGNsZWFyPSJhbGwiIC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDsNCkludHJvZHVjdGlvbjwvaDM+DQoN CjxwPg0KICAgTmV3IEV0aGVybmV0LWxpa2UgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZGVmaW5lZCBp biB0aGUNCiAgIEluc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljcyBFbmdpbmVl cnMgKElFRUUpIFN0YW5kYXJkDQogICA4MDIuM2FoLTIwMDQgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+SUVF RSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAg ICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBz eXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAg ICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNl bnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLSAg ICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2lj YWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJl ciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bh bj4pPC9zcGFuPjwvYT4sDQogICBhLmsuYS4gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVG TSksIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgdGhlDQogICBiYXNlIElFRUUgU3RhbmRhcmQgODAy LjMtMjAwNSA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zJz5bODAyLjNdPHNwYW4+ICg8L3Nw YW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUsICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZv cm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9y bWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJv cG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAg ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2Fs IExheWVyIFNwZWNpZmljYXRpb25zLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uDQogICBJbiBwYXJ0aWN1bGFyIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAoUEhZcyksDQogICBkZWZpbmVkIG92ZXIgdm9pY2UtZ3Jh ZGUgY29wcGVyIHBhaXJzLCBoYXZlDQogICBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcgYW5k IHNob3J0IHJlYWNoIHJlc3BlY3RpdmVseS4NCiAgIFRoZXNlIGludGVyZmFjZXMsIGNvbGxlY3Rp dmVseSBjYWxsZWQgRUZNIENvcHBlciAoRUZNQ3UpLCBhcmUgYmFzZWQgb24NCiAgIFNpbmdsZS1w YWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKQ0KICAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNHLjk5MS4yJz5bRy45OTEuMl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+SVRVLVQsICZsZHF1bztTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzLCZyZHF1bzsgRGVjZW1iZXImbmJz cDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdp dGFsIFN1YnNjcmliZXINCiAgIExpbmUgKFZEU0wpIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjRy45 OTMuMSc+W0cuOTkzLjFdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklUVS1ULCAm bGRxdW87VmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVy cywmcmRxdW87IEp1bmUmbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gdGVjaG5v bG9neSwgc3VwcG9ydGluZyANCiAgIG9wdGlvbmFsIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkgKFBN RSkgYWdncmVnYXRpb24NCiAgIChhLmsuYS4gbXVsdGktcGFpciBib25kaW5nKSB3aXRoIHZhcmlh YmxlIHJhdGVzLg0KICANCjwvcD4NCjxwPg0KICAgMkJBU0UtVEwgUEhZIGlzIGNhcGFibGUgb2Yg cHJvdmlkaW5nIGF0IGxlYXN0IDJNYnBzDQogICBvdmVyIDI3MDAgbSBsb25nIHNpbmdsZSBjb3Bw ZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKQ0KICAgb2YgMTBeLTcgKHVz aW5nIDVkQiB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIDEwUEFTUy1U UyBQSFkgaXMgY2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXINCiAgIDc1 MCBtIGxvbmcgc2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNp bmcgNmRCDQogICB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIFRoaXMg bWVtbyBkZWZpbmVzIGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBm b3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gdGhlIEludGVy bmV0IA0KICAgY29tbXVuaXR5IHRvIG1hbmFnZSBFRk1DdSBpbnRlcmZhY2VzLg0KICAgSW4gYWRk aXRpb24gYSBNSUIgbW9kdWxlIGlzIGRlZmluZWQgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UuDQogIA0KPC9wPg0KPHA+DQogICBO b3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24sIEFkbWluaXN0cmF0aW9uIGFu ZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3ZlciBQYXNzaXZlIE9wdGljYWwg TmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAyLjNhaCBhcmUgZGVmaW5lZCBp biBFRk0tQ09NTU9OLU1JQg0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJt aWItZWZtLW1pYic+W0kmIzgyMDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtlZm0mIzgyMDk7 bWliXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TcXVpcmUsIE0uLCAmbGRxdW87 RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBmb3IgT0FNIEZ1bmN0aW9ucyAgICAgICAg ICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIw MDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgRUZNLUVQT04tTUlCDQogICA8YSBjbGFz cz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWInPltJJiM4MjA5O0Qu aWV0ZiYjODIwOTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O2Vwb24mIzgyMDk7bWliXTxzcGFuPiAo PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5LaGVybW9zaCwgTC4sICZsZHF1bztNYW5hZ2VkIE9i amVjdHMgb2YgRVBPTiwmcmRxdW87IE5vdmVtYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+IHJlc3BlY3RpdmVseS4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyIj48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4yIj48L2E+PGgzPjIuJm5ic3A7DQpUaGUgSW50ZXJu ZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcms8L2gzPg0KDQo8cD4NCiAgIEZvciBhIGRl dGFpbGVkIG92ZXJ2aWV3IG9mIHRoZSBkb2N1bWVudHMgdGhhdCBkZXNjcmliZSB0aGUgY3VycmVu dA0KICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssIHBsZWFzZSByZWZl ciB0bw0KICAgc2VjdGlvbiA3IG9mIFJGQyAzNDEwIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD MzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEou LCBNdW5keSwgUi4sIFBhcnRhaW4sIEQuLCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVj dGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBN YW5hZ2VtZW50IEZyYW1ld29yaywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTWFuYWdlZCBvYmplY3RzIGFyZSBh Y2Nlc3NlZCB2aWEgYSB2aXJ0dWFsIGluZm9ybWF0aW9uIHN0b3JlLA0KICAgdGVybWVkIHRoZSBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ugb3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlDQogICBn ZW5lcmFsbHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgU2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQ cm90b2NvbA0KICAgKFNOTVApLiAgT2JqZWN0cyBpbiB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5n IHRoZSBtZWNoYW5pc21zDQogICBkZWZpbmVkIGluIHRoZSBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVu dCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMNCiAgIG1lbW8gc3BlY2lmaWVzIE1JQiBtb2R1bGVz IHRoYXQgYXJlIGNvbXBsaWFudCB0byB0aGUgU01JdjIsIHdoaWNoDQogICBpcyBkZXNjcmliZWQg aW4gU1REIDU4LCBSRkMgMjU3OCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzI1NzgnPltSRkMy NTc4XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5NY0Nsb2docmllLCBLLiwgUGVy a2lucywgRC4sIFNjaG9lbndhZWxkZXIsIEouLCBDYXNlLCBKLiwgTWNDbG9naHJpZSwgSy4sIFJv c2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgJmxkcXVvO1N0cnVjdHVyZSBvZiBNYW5hZ2VtZW50 IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIpLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwv c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sDQogICBTVEQgNTgsIFJGQyAyNTc5IDxhIGNsYXNzPSdp bmZvJyBocmVmPScjUkZDMjU3OSc+W1JGQzI1NzldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9 J2luZm8nPk1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENh c2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRx dW87VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjIsJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTku PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgU1REIDU4LCBSRkMNCiAgIDI1ODAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNSRkMyNTgwJz5bUkZDMjU4MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4gU2Nob2Vud2Fl bGRlciwgJmxkcXVvO0NvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyLCZyZHF1bzsgQXBy aWwmbmJzcDsxOTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQog ICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwg IlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAi TUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVy cHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOQ0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyNSRkMyMTE5Jz5bUkZDMjExOV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QnJh ZG5lciwgUy4sICZsZHF1bztLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJl cXVpcmVtZW50IExldmVscywmcmRxdW87IE1hcmNoJm5ic3A7MTk5Ny48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+Lg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBt b2R1bGVzPC9oMz4NCg0KPHA+DQogIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25z aGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogIHRoaXMgZG9jdW1lbnQgd2l0aCBv dGhlciBNSUIgbW9kdWxlcw0KICBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuIFNwZWNp ZmljYWxseSwgSW50ZXJmYWNlcyBHcm91cCBNSUINCiAgKElGLU1JQiksIEV0aGVybmV0LUxpa2Ug KEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTA0KICAoSERTTDItU0hEU0wtTElO RS1NSUIpIGFuZCBWRFNMIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuDQog DQo8L3A+DQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjEiPjwvYT48aDM+My4xLiZuYnNwOw0KUmVsYXRpb24gdG8gSW50ZXJmYWNlcyBHcm91cCBNSUIg bW9kdWxlPC9oMz4NCg0KPHA+DQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBIWSdzIHNwZWNp ZmllZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJlIHN0YWNrZWQNCiAgIChhLmsuYS4gYWdn cmVnYXRlZCBvciBib25kZWQpIEV0aGVybmV0IGludGVyZmFjZXMgYW5kIGFzIHN1Y2ggYXJlIG1h bmFnZWQNCiAgIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZQ0KICAgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JG QzI4NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFu ZCBGLiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsg SnVuZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBpLmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBz dWItbGF5ZXJzIHRvDQogICB0aGUgdG9wIGxheWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhl IGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiANCiAgIHRoZSBJRi1NSUIgPGEgY2xhc3M9J2lu Zm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJm YWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bh bj48L2E+IGFuZCBpdHMgaW52ZXJzZQ0KICAgaWZJbnZTdGFja1RhYmxlLCBhcyBkZWZpbmVkIGlu IHRoZSBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD Mjg2NCc+W1JGQzI4NjRdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hy aWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bztUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUgRXh0 ZW5zaW9uIHRvIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAw Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQogICBUaGUgbmV3IHRh YmxlcyBpZkNhcFN0YWNrVGFibGUgYW5kIGl0cyBpbnZlcnNlDQogICBpZkludkNhcFN0YWNrVGFi bGUgZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUNCiAgIGJlbG93LCBleHRl bmQgdGhlIHN0YWNrIG1hbmFnZW1lbnQgd2l0aCBhbiBhYmlsaXR5IHRvIGRlc2NyaWJlDQogICBw b3NzaWJsZSBjb25uZWN0aW9ucyBvciBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBm bGV4aWJsZQ0KICAgY3Jvc3MtY29ubmVjdCBtYXRyaXggaXMgcHJlc2VudCBiZXR3ZWVuIHRoZSBp bnRlcmZhY2UgbGF5ZXJzLg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjMuMS4xIj48L2E+PGgzPjMuMS4xLiZuYnNwOw0KTGF5ZXJpbmcg TW9kZWw8L2gzPg0KDQo8cD4NCiAgICAgQW4gRUZNQ3UgaW50ZXJmYWNlIGNhbiBhZ2dyZWdhdGUg dXAgdG8gMzIgUGh5c2ljYWwgTWVkaXVtDQogICAgIEVudGl0eSAoUE1FKSBzdWItbGF5ZXIgZGV2 aWNlcyAobW9kZW1zKSwgdXNpbmcgc28NCiAgICAgY2FsbGVkIFBNRSBBZ2dyZWdhdGlvbiBGdW5j dGlvbiAoUEFGKS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBBIGdlbmVyaWMgRUZNQ3UgZGV2aWNl IGNhbiBoYXZlIGEgbnVtYmVyIG9mIFBoeXNpY2FsIENvZGluZw0KICAgICBTdWJsYXllciAoUENT KSBwb3J0cywgZWFjaCBjb25uZWN0ZWQgdG8gYSBNQUMgdmlhIE1lZGl1bSBJbmRlcGVuZGVudA0K ICAgICBJbnRlcmZhY2UgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVyLCBhbmQgY3Jvc3MtY29ubmVj dGVkIHRvIGENCiAgICAgbnVtYmVyIG9mIHVuZGVybHlpbmcgUE1Fcywgd2l0aCBhIHNpbmdsZSBQ Q1MgcGVyIFBNRSByZWxhdGlvbnNoaXAsDQogICAgIHNlZSBjbGF1c2UgNjEuMSBvZiA8YSBjbGFz cz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs YXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVj aG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNo YW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJl YSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0 IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlv biAgICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVj aWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJh bWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIw MDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBmb3IgbW9yZSBkZXRhaWxzLg0KICAgIA0KPC9w Pg0KPHA+DQogICAgIEVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGVkIEVGTUN1IHBvcnQgaXMgcmVw cmVzZW50ZWQgaW4gdGhlDQogICAgIEludGVyZmFjZSB0YWJsZSAoaWZUYWJsZSkgYXMgYSBzZXBh cmF0ZSBpbnRlcmZhY2Ugd2l0aCBpZlR5cGUgb2YNCiAgICAgc2hkc2woMTY5KSBmb3IgMkJBU0Ut VEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gVGhlIGlmVHlwZQ0KICAgICB2YWx1ZXMgYXJl IGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJQU5BaWZUeXBlLU1JQic+W0lBTkFp ZlR5cGUmIzgyMDk7TUlCXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JbnRlcm5l dCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICZsZHF1bztJQU5BaWZUeXBlIFRl eHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uLCZyZHF1bzsgLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4uDQogICAgDQo8L3A+DQo8cD4NCiAgICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwg cmV0dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlDQogICAgIG9mIHRoZSBhY3RpdmUgUE1FIChl LmcuIGZvciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZg0KICAgICA2NEticHMpLiBa ZXJvIHZhbHVlIFNIQUxMIGJlIHJldHVybmVkIHdoZW4gUE1FIGlzIGluaXRpYWxpemluZyBvciBk b3duLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhl IHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgZGF0YQ0KICAgICByYXRlcyBvZiBhbGwgUE1F cyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgICBlbmNh cHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0 aGUNCiAgICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4NCiAgICA8YnIgLz48aHIgY2xhc3M9Imlu c2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAxIj48L2E+DQoNCjxwPldoZW4gdXNpbmcgdGhlIHN0 YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZQ0KICAgICAgICAgICAgICAgIFBDUywg dGhlcmUgd291bGQgYmUgbm8gZnJhbWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRp b24NCiAgICAgICAgICAgICAgICAodGhlIHRlc3Qtc2V0cyBhcmUgY29uZmlndXJlZCB0byBnZW5l cmF0ZSAxMDAlIG9mIGJhY2sNCiAgICAgICAgICAgICAgICB0byBiYWNrIHRyYWZmaWMsIGkuZS4g bWluaW1hbCBJRkcsIGF0IDEwIG9yIDEwME1icHMsDQogICAgICAgICAgICAgICAgd2l0aCBtaW4g YW5kIG1heCBmcmFtZSBzaXplczsNCiAgICAgICAgICAgICAgICB0aGUgRUZNIGludGVyZmFjZXMg YXJlIGFnZ3JlZ2F0ZWQsIHRvIGFjaGlldmUgdGhlIHNob3duIHNwZWVkKToNCiAgICAgIA0KPC9w PjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsg bWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KW3Rlc3RzZXRdLS0xMEJhc2VULS1bQ09dLS0yQmFz ZVRMLS1bQ1BFXS0tMTBCYXNlVC0tW3Rlc3RzZXRdDQogIGlmU3BlZWQ9ICAxME1icHMgICAgICAg ICAxME1icHMgICAgICAgICAxME1icHMNCg0KW3Rlc3RzZXRdLS0xMDBCYXNlVC0tW0NPXS0tMTBQ YXNzVFMtLVtDUEVdLS0xMDBCYXNlVC0tW3Rlc3RzZXRdDQogIGlmU3BlZWQ9ICAxMDBNYnBzICAg ICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMNCjwvcHJlPjwvZGl2Pjx0YWJsZSBib3JkZXI9 IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0 ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9 IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5v IGZyYW1lIGxvc3MmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBj bGFzcz0iaW5zZXJ0IiAvPg0KDQogICAgDQo8YnIgLz48aHIgY2xhc3M9Imluc2VydCIgLz4NCjxh IG5hbWU9IkZpZ3VyZSAyIj48L2E+DQoNCjxwPlRoZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRo ZSBsYXllcmluZyBkaWFncmFtIGFuZA0KICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRpbmcgdXNl IG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGU6DQo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFi bGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+ DQogX19fX19fX19fX19fX19fX19fX19fX19fXyAgIF8NCnwgICAgICAgIExMQyAgICAgICAgICAg ICAgfCAgfA0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICB8IDEgaWZFbnRyeQ0KfCAgICAg ICAgTUFDICAgICAgICAgICAgICB8ICB8ICAgICBpZlR5cGU6IGV0aGVybmV0Q3NtYWNkKDYpDQor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICZndDsgICBpZk1hdUVudHJ5DQp8ICAgICAgICBS ZWNvbnNpbGlhdGlvbiAgIHwgIHwgICAgIGlmTWF1VHlwZTogZG90M01hdVR5cGUyQmFzZVRMIG9y DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgICAgICAgICAgICAgICAgZG90M01hdVR5 cGUxMFBhc3NUUw0KfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB8DQorLS0tLS0tLS0tLS0t LSstLS0rLS0tLS0tLSsgICsNCnwgVEMgXCAgICAgICAgfCAgIHwgICAgICAgfCAgfA0KKy0tLS0t XCAgICAgICB8ICAgfCAgICAgICB8ICB8DQp8IFBNQSAmZ3Q7IFBNRSAxIHwuLi58IFBNRSBOIHwg ICZndDsgTiBpZkVudHJ5ICAoTj0xLi4zMikNCistLS0tLS8gICAgICAgfCAgIHwgICAgICAgfCAg fCAgICAgaWZUeXBlOiBzaGRzbCgxNjkpIG9yIHZkc2woOTcpDQp8IFBNRC8gICAgICAgIHwgICB8 ICAgICAgIHwgIHwNCiAtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tICAgLQ0KPC9wcmU+PC9kaXY+ PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBhbGlnbj0i Y2VudGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2Fu cyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MjogVXNlIG9mIGlmVGFibGUg YW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRzJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3Rk PjwvdHI+PC90YWJsZT48aHIgY2xhc3M9Imluc2VydCIgLz4NCg0KPHA+DQogICAgIFRoZSBpZlN0 YWNrVGFibGUgaXMgaW5kZXhlZCBieSB0aGUgaWZJbmRleCB2YWx1ZXMgb2YgdGhlIGFnZ3JlZ2F0 ZWQNCiAgICAgRUZNQ3UgcG9ydCAoUENTKSBhbmQgdGhlIFBNRXMgY29ubmVjdGVkIHRvIGl0LiBp ZlN0YWNrVGFibGUgYWxsb3dzIGENCiAgICAgTmV0d29yayBNYW5hZ2VtZW50IGFwcGxpY2F0aW9u IHRvIGRldGVybWluZSB3aGljaCBQTUVzIGFyZSBjb25uZWN0ZWQNCiAgICAgdG8gYSBwYXJ0aWN1 bGFyIFBDUyBhbmQgY2hhbmdlIGNvbm5lY3Rpb25zIChpZiBzdXBwb3J0ZWQgYnkgdGhlIA0KICAg ICBhcHBsaWNhdGlvbikuIFRoZSBpZkludlN0YWNrVGFibGUsIGJlaW5nIGFuIGludmVydGVkIHZl cnNpb24gb2YNCiAgICAgdGhlIGlmU3RhY2tUYWJsZSwgcHJvdmlkZXMgYW4gZWZmaWNpZW50IG1l YW5zIGZvciBhIE5ldHdvcmsNCiAgICAgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byByZWFkIGEg c3Vic2V0IG9mIHRoZSBpZlN0YWNrVGFibGUgYW5kDQogICAgIHRoZXJlYnkgZGV0ZXJtaW5lIHdo aWNoIFBDUyBydW5zIG9uIHRvcCBvZiBhIHBhcnRpY3VsYXIgUE1FLg0KICAgIA0KPC9wPg0KPHA+ DQogICAgIEEgbmV3IHRhYmxlIGlmQ2FwU3RhY2tUYWJsZSBkZWZpbmVkIGluIHRoZSBJRi1DQVAt U1RBQ0stTUlCDQogICAgIG1vZHVsZSwgc3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hlci1sYXllciBp bnRlcmZhY2UgKGUuZy4gUENTIHBvcnQpDQogICAgIGEgbGlzdCBvZiBsb3dlci1sYXllciBpbnRl cmZhY2VzIChlLmcuIFBNRXMpLCB3aGljaCBjYW4gcG9zc2libHkNCiAgICAgYmUgY3Jvc3MtY29u bmVjdGVkIHRvIHRoYXQgaGlnaGVyLWxheWVyIGludGVyZmFjZSwNCiAgICAgZGV0ZXJtaW5lZCBi eSB0aGUgY3Jvc3MtY29ubmVjdA0KICAgICBjYXBhYmlsaXR5IG9mIHRoZSBkZXZpY2UuIFRoaXMg dGFibGUsIG1vZGVsZWQgYWZ0ZXIgaWZTdGFja1RhYmxlLCBpcw0KICAgICByZWFkIG9ubHksIHJl ZmxlY3RpbmcgY3VycmVudCBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgYQ0KICAgICBzdGFj a2VkIGludGVyZmFjZSwgd2hpY2gNCiAgICAgY2FuIGJlIGR5bmFtaWMgaW4gc29tZSBpbXBsZW1l bnRhdGlvbnMgKGUuZy4gaWYgUE1FcyBhcmUgbG9jYXRlZA0KICAgICBvbiBhIHBsdWdnYWJsZSBt b2R1bGUgYW5kIHRoZSBtb2R1bGUgaXMgcHVsbGVkIG91dCkuDQogICAgIE5vdGUgdGhhdCBQTUUg YXZhaWxhYmlsaXR5IHBlciBQQ1MsIGRlc2NyaWJlZCBieQ0KICAgICBpZkNhcFN0YWNrVGFibGUs IGNhbiBiZSBjb25zdHJhaW5lZCBieSBvdGhlciBwYXJhbWV0ZXJzLA0KICAgICBmb3IgZXhhbXBs ZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZiBhIFBDUyBvciBieSB0aGUgUE1FIGluDQogICAg IHF1ZXN0aW9uIGJlaW5nIGFscmVhZHkgY29ubmVjdGVkIHRvIGFub3RoZXIgUENTLiBTbywgaW4N CiAgICAgb3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIFBNRSBjYW4gYmUgY29ubmVj dGVkIHRvIHRoZSBQQ1MsDQogICAgIGFsbCByZXNwZWN0aXZlIHBhcmFtZXRlcnMgKGUuZy4gaWZD YXBTdGFja1RhYmxlLA0KICAgICBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2FwYWNpdHkpIFNI QUxMIGJlIGluc3BlY3RlZC4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUaGUgaWZJbnZDYXBTdGFj a1RhYmxlLCBhbHNvIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLA0KICAg ICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gUENTIHBvcnRz KSBjYW4gcG9zc2libHkNCiAgICAgYmUgY29ubmVjdGVkIHRvIGEgcGFydGljdWxhciBsb3dlci1s YXllciBpbnRlcmZhY2UgKGUuZy4gUE1FKSwNCiAgICAgcHJvdmlkaW5nIGludmVydGVkIG1hcHBp bmcgb2YgaWZDYXBTdGFja1RhYmxlLg0KICAgICBXaGlsZSBpdCBjb250YWlucyBubyBhZGRpdGlv bmFsIGluZm9ybWF0aW9uIGJleW9uZCB0aGF0IGFscmVhZHkNCiAgICAgY29udGFpbmVkIGluIHRo ZSBpZkNhcFN0YWNrVGFibGUsIHRoZSBpZkludkNhcFN0YWNrVGFibGUgaGFzIHRoZQ0KICAgICBp ZkluZGV4IHZhbHVlcyBpbiBpdHMgSU5ERVggY2xhdXNlIGluIHRoZSByZXZlcnNlIG9yZGVyLCBp LmUuLCB0aGUNCiAgICAgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGZpcnN0LCBhbmQgdGhlIGhpZ2hl ci1sYXllciBpbnRlcmZhY2UNCiAgICAgc2Vjb25kLCBwcm92aWRpbmcgYW4gZWZmaWNpZW50IG1l YW5zIGZvciBhIE5ldHdvcmsgTWFuYWdlbWVudA0KICAgICBhcHBsaWNhdGlvbiB0byByZWFkIGEg c3Vic2V0IG9mIHRoZSBpZkNhcFN0YWNrVGFibGUgYW5kIHRoZXJlYnkNCiAgICAgZGV0ZXJtaW5l IHdoaWNoIGludGVyZmFjZXMgY2FuIGJlIGNvbm5lY3RlZCB0byBydW4gb24gdG9wIG9mIGENCiAg ICAgcGFydGljdWxhciBpbnRlcmZhY2UuDQogICAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3I2Ij48 L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zLjEuMiI+PC9hPjxoMz4zLjEuMi4mbmJzcDsN ClBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKTwvaDM+DQoNCjxwPg0KICAgICBUaGUgUE1F IEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFsbG93cyBhIG51bWJlciBvZiBQTUVzIHRvIGJl DQogICAgIGFnZ3JlZ2F0ZWQgb250byBhIFBDUyBwb3J0LCBieSBmcmFnbWVudGluZyB0aGUgRXRo ZXJuZXQgZnJhbWVzLA0KICAgICB0cmFuc21pdHRpbmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRp cGxlIFBNRXMgYW5kIGFzc2VtYmxpbmcgdGhlDQogICAgIG9yaWdpbmFsIGZyYW1lcyBhdCB0aGUg cmVtb3RlIHBvcnQuIFBBRiBpcyBPUFRJT05BTCwgbWVhbmluZyB0aGF0IGENCiAgICAgZGV2aWNl IHdpdGggYSBzaW5nbGUgUE1FIE1BWSBwZXJmb3JtIGZyYWdtZW50YXRpb24gYW5kDQogICAgIHJl LWFzc2VtYmx5IGlmIHRoaXMgZnVuY3Rpb24gaXMgc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UuDQog ICAgIE5vdGUgaG93ZXZlciB0aGF0IHRoZSBhZ2VudCBpcyBSRVFVSVJFRCB0byByZXBvcnQgb24g dGhlDQogICAgIFBBRiBjYXBhYmlsaXR5IGZvciBhbGwgRUZNQ3UgcG9ydHMgKDJCQVNFLVRMIGFu ZCAxMFBBU1MtVFMpLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBFRk0tQ1UtTUlCIG1vZHVs ZSBhbGxvd3MgYSBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGljYXRpb24gdG8gcXVlcnkNCiAgICAg UEFGIGNhcGFiaWxpdHkgYW5kIGVuYWJsZS9kaXNhYmxlIGl0IGlmIHN1cHBvcnRlZC4gTm90ZSB0 aGF0DQogICAgIGVuYWJsaW5nIFBBRiBlZmZlY3RpdmVseSB0dXJucyBvbiBmcmFnbWVudGF0aW9u IGFuZCByZS1hc3NlbWJseSwNCiAgICAgZXZlbiBvbiBhIHNpbmdsZS1QTUUgcG9ydC4NCiAgICAN CjwvcD4NCjxhIG5hbWU9ImFuY2hvcjciPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5 PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIg YWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNw O1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMu MS4zIj48L2E+PGgzPjMuMS4zLiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjwvaDM+DQoNCjxw Pg0KICAgICBUaGUgRUZNQ3UgcG9ydHMgbWF5IG9wdGlvbmFsbHkgc3VwcG9ydCBkaXNjb3Zlcnkg b3BlcmF0aW9uLA0KICAgICB3aGVyZWJ5IFBNRXMsIGR1cmluZyBpbml0aWFsaXphdGlvbiwgZXhj aGFuZ2UgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgdGhlaXIgcmVzcGVjdGl2ZSBhZ2dyZWdhdGlv biBncm91cHMgKFBDUykuIFRoaXMgaW5mb3JtYXRpb24gY2FuDQogICAgIHRoZW4gYmUgdXNlZCB0 byBkZXRlY3QgY29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBhdXRvbWF0aWMNCiAgICAg YXNzaWdubWVudCBvZiB0aGUgbG9jYWwgUE1FcyBpbnRvIGFnZ3JlZ2F0aW9uIGdyb3VwcyBpbnN0 ZWFkIG9mDQogICAgIGEgZml4ZWQgcHJlLWNvbmZpZ3VyYXRpb24uDQogICAgDQo8L3A+DQo8cD4N CiAgICAgVGhlIE1JQiBtb2R1bGVzIGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudCBhbGxvdyBhIE5l dHdvcmsNCiAgICAgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byBjb250cm9sIEVGTSBEaXNjb3Zl cnkgbWVjaGFuaXNtIGFuZCBxdWVyeQ0KICAgICBpdHMgcmVzdWx0cy4gTm90ZSB0aGF0IHRoZSBE aXNjb3ZlcnkgbWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYNCiAgICAgUEFGIGlzIHN1cHBvcnRl ZCBhbmQgZW5hYmxlZC4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUd28gdGFibGVzIGFyZSB1c2Vk IGJ5IHRoZSBFRk0gRGlzY292ZXJ5IG1lY2hhbmlzbTogaWZTdGFja1RhYmxlIGFuZA0KICAgICBp ZkNhcFN0YWNrVGFibGUuIFRoZSBmb2xsb3dpbmcgcHNldWRvLWNvZGUgZ2l2ZXMNCiAgICAgYW4g ZXhhbXBsZSBvZiB0aGUgRGlzY292ZXJ5IGFuZCBhdXRvbWF0aWMgUE1FIGFzc2lnbm1lbnQgZm9y IGEgZ2VuZXJpYw0KICAgICBQQUYgZW5hYmxlZCBtdWx0aS1QQ1MgRUZNQ3UgZGV2aWNlLCBsb2Nh dGVkIGF0IENlbnRyYWwgT2ZmaWNlDQogICAgIChDTyksIHVzaW5nIG9iamVjdHMgZGVmaW5lZCBp biB0aGVzZSBNSUIgbW9kdWxlcyBhbmQgaW4gSUYtTUlCDQogICAgIFtOb3RlIHRoYXQgYXV0b21h dGljIFBNRSBhc3NpZ25tZW50IGlzIG9ubHkgc2hvd24gaGVyZSBmb3INCiAgICAgdGhlIHB1cnBv c2VzIG9mIHRoZSBleGFtcGxlLiBGaXhlZCBQTUUgcHJlLWFzc2lnbm1lbnQsIG1hbnVhbA0KICAg ICBhc3NpZ25tZW50IG9yIGF1dG8tYXNzaWdubWVudCB1c2luZyBhbiBhbHRlcm5hdGl2ZSBpbnRl cm5hbA0KICAgICBhbGdvcml0aG0gbWF5IGJlIGNob3NlbiBieSBhIHBhcnRpY3VsYXIgaW1wbGVt ZW50YXRpb25dOg0KICAgIA0KPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDog MDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KLy8gR28gb3Zl ciBhbGwgUENTIHBvcnRzIGluIHRoZSBDTyBkZXZpY2UNCkZPUkVBQ0ggcGNzW2ldIElOIENPX2Rl dmljZQ0KeyAvLyBQZXJmb3JtIGRpc2NvdmVyeSBhbmQgYXV0by1hc3NpZ25tZW50IG9ubHkgb24g UEFGIGVuYWJsZWQgcG9ydHMNCiAgLy8gd2l0aCByb29tIGZvciBtb3JlIFBNRXMNCiAgSUYgKCBw Y3NbaV0uUEFGU3VwcG9ydGVkIEFORCBwY3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBh Y2l0eSApDQogICAgeyBkYyA9IHBjc1tpXS5EaXNjb3ZlcnlDb2RlID0gTUFDW2ldOyAvLyB1bmlx dWUgNi1vY3RldHMgcGVyIFBDUw0KICAgICAgLy8gR28gb3ZlciBhbGwgZGlzY29ubmVjdGVkIFBN RXMsIHdoaWNoIGNhbg0KICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQ Q1MNCiAgICAgIEZPUkVBQ0ggcG1lW2pdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIEFORA0K ICAgICAgICAgICAgICAgICAgICAgTk9UIGlmSW52U3RhY2tUYWJsZVtwbWVbal1dICAvLyBub3Qg Y29ubmVjdGVkDQogICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2Us IGJ5IHdyaXRpbmcgdGhlIHZhbHVlDQogICAgICAgICAgLy8gb2YgdGhlIGxvY2FsIDYtb2N0ZXQg ZGlzY292ZXJ5IGNvZGUgdG8gdGhlIHJlbW90ZQ0KICAgICAgICAgIC8vIGRpc2NvdmVyeSBjb2Rl IHJlZ2lzdGVyICh2aWEgaGFuZHNoYWtlIG1lY2hhbmlzbSkuDQogICAgICAgICAgLy8gVGhpcyBv cGVyYXRpb24gaXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAg ICAvLyB3b3VsZCBzdWNjZWVkIG9ubHkgaWYgdGhlIHJlbW90ZSBkaXNjb3ZlcnkgcmVnaXN0ZXIg d2FzDQogICAgICAgICAgLy8gemVyby4gUmVhZCB0aGUgcmVtb3RlIGRpc2NvdmVyeSBjb2RlIHJl Z2lzdGVyIHZpYSBHZXQNCiAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9k ZXZpY2UsIGF0dGFjaGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgLy8gaXMgaW5kZWVkIG1hcmtl ZCBhcyBiZWluZyB0aGUgQ09fZGV2aWNlIHBlZXIuDQogICAgICAgICAgcG1lW2pdLlJlbW90ZURp c2NvdmVyeUNvZGUgPSBkYzsgICAgICAgIC8vIFNldC1pZi1DbGVhcg0KICAgICAgICAgIHIgPSBw bWVbal0uUmVtb3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICBJRiAo IHIgPT0gZGMgQU5EIHBjc1tpXS5OdW1QTUVzICZsdDsgcGNzW2ldLlBBRkNhcGFjaXR5KQ0KICAg ICAgICAgICAgeyAvLyBSZW1vdGUgUlRfZGV2aWNlIGNvbm5lY3RlZCB2aWEgUE1FW2pdIGlzL3dh cyBhIHBlZXINCiAgICAgICAgICAgICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBm b3IgYW5vdGhlciBQTUUgaW4gdGhlDQogICAgICAgICAgICAgIC8vIFBDU1tpXSBhZ2dyZWdhdGlv biBncm91cCAobWF4LiBQQUYgY2FwYWNpdHkgaXMgbm90DQogICAgICAgICAgICAgIC8vIHJlYWNo ZWQgeWV0KS4NCiAgICAgICAgICAgICAgLy8gQ29ubmVjdCB0aGlzIFBNRSB0byB0aGUgUENTICh2 aWEgaWZTdGFja1RhYmxlLA0KICAgICAgICAgICAgICAvLyBpZkludlN0YWNrVGFibGUgYmVpbmcg aW52ZXJzZSBvZiBpZlN0YWNrVGFibGUgaXMNCiAgICAgICAgICAgICAgLy8gdXBkYXRlZCBhdXRv bWF0aWNhbGx5KQ0KICAgICAgICAgICAgICBBREQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3Nb aV1dOw0KICAgICAgICAgICAgICAgIC8vIHBjc1tpXSBpcyBhdXRvLWFkZGVkIHRvIGlmSW52U3Rh Y2tUYWJsZVtwbWVbal1dDQogICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51 bVBNRXMgKyAxOw0KICAgICAgICAgICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29ubmVj dGVkIFBNRXMsDQogICAgICAgICAgICAgIC8vIGF0dGFjaGVkIHRvIHRoZSBzYW1lIFJUX2Rldmlj ZSBhbmQgY29ubmVjdCB0aGVtIHRvDQogICAgICAgICAgICAgIC8vIHRoZSBQQ1MgcHJvdmlkZWQg dGhlcmUgaXMgZW5vdWdoIHJvb20gZm9yIG1vcmUgUE1Fcy4NCiAgICAgICAgICAgICAgRk9SRUFD SCBwbWVba10gSU4gaWZDYXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5PVCBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0KICAgICAgICAgICAgICAg IHsgciA9IHBtZVtrXS5SZW1vdGVEaXNjb3ZlcnlDb2RlOyAvLyBHZXQNCiAgICAgICAgICAgICAg ICAgIElGICggciA9PSBkYyBBTkQNCiAgICAgICAgICAgICAgICAgICAgICAgcGNzW2ldLk51bVBN RXMgJmx0OyBwY3NbaV0uUEFGQ2FwYWNpdHkpDQogICAgICAgICAgICAgICAgICAgIHsgQUREIHBt ZVtrXSBUTyBpZlN0YWNrVGFibGVbcGNzW2ldXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8v IHBjc1tpXSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0KICAgICAgICAgICAg ICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51bVBNRXMgKyAxOw0KICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAg IC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBkaXNjb3ZlcmVkIGFsbCBsb2NhbCBQTUVzIHdoaWNo DQogICAgICAgICAgLy8gYXJlIHBoeXNpY2FsbHkgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHJlbW90 ZSBSVF9kZXZpY2UNCiAgICAgICAgICAvLyBhbmQgY29ubmVjdGVkIHRoZW0gdG8gUENTW2ldLiBH byB0byB0aGUgbmV4dCBQQ1MuDQogICAgICAgICAgQlJFQUs7DQogICAgICAgIH0NCiAgICB9DQp9 DQo8L3ByZT48L2Rpdj4NCjxwPg0KICAgICBBbiBTTk1QIEFnZW50IGZvciBhIEVGTUN1IGRldmlj ZSBidWlsZHMgaWZDYXBTdGFja1RhYmxlDQogICAgIGFuZCBpdHMgaW52ZXJzZSBpZkludkNhcFN0 YWNrVGFibGUgYWNjb3JkaW5nIHRvIHRoZSBpbmZvcm1hdGlvbg0KICAgICBjb250YWluZWQgaW4g dGhlIENsYXVzZSA0NSBQTUVfQXZhaWxhYmxlX3JlZ2lzdGVyIChzZWUNCiAgICAgPGEgY2xhc3M9 J2luZm8nIGhyZWY9JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz cz0naW5mbyc+SUVFRSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hu b2xvZ3kgLSAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFu Z2UgYmV0d2VlbiBzeXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEg bmV0d29ya3MgLSAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAz OiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24g ICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lm aWNhdGlvbnMgLSAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1l dGVycywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBm b3IgU3Vic2NyaWJlciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0 Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gNjEuMS41LjMgYW5kIDQ1LjIuMy4yMCkuDQogICAg DQo8L3A+DQo8cD4NCiAgICAgQWRkaW5nIGEgUE1FIHRvIHRoZSBpZlN0YWNrVGFibGUgcm93IGZv ciBhIHNwZWNpZmljIFBDUywgaW52b2x2ZXMNCiAgICAgYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhl IFBNRSB0byB0aGUgUENTLCB3aGljaCBjYW4gYmUgZG9uZSBieSBtb2RpZnlpbmcNCiAgICAgQ2xh dXNlIDQ1IFBNRV9BZ2dyZWdhdGVfcmVnaXN0ZXIgKHNlZSA8YSBjbGFzcz0naW5mbycgaHJlZj0n IzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JRUVF LCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAg ICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5 c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAg ICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vu c2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01B L0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAg ICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNh bCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVy IEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFu Pik8L3NwYW4+PC9hPg0KICAgICA2MS4xLjUuMyBhbmQgNDUuMi4zLjIxKS4NCiAgICANCjwvcD4N CjxwPg0KICAgICBOb3RlIHRoYXQgUENTIHBvcnQgZG9lcyBub3QgaGF2ZSB0byBiZSBvcGVyYXRp b25hbGx5ICdkb3duJyBmb3INCiAgICAgdGhlIGNvbm5lY3Rpb24gdG8gc3VjY2VlZC4gSW4gZmFj dCwgYSBkeW5hbWljIFBNRQ0KICAgICBhZGRpdGlvbiAoYW5kIHJlbW92YWwpIE1BWSBiZSBpbXBs ZW1lbnRlZCB3aXRoIGFuIGF2YWlsYWJsZSBQTUUgYmVpbmcNCiAgICAgaW5pdGlhbGl6ZWQgZmly c3QgKGJ5IHNldHRpbmcgaXRzIGlmQWRtaW5TdGF0dXMgdG8gJ3VwJykgYW5kIHRoZW4NCiAgICAg YWRkZWQgdG8gYW4gb3BlcmF0aW9uYWxseSAndXAnIFBDUyBwb3J0LCBieSBtb2RpZnlpbmcgYSBy ZXNwZWN0aXZlDQogICAgIGlmU3RhY2tUYWJsZSAoYW5kIHJlc3BlY3RpdmUgaWZJbnZTdGFja1Rh YmxlKSBlbnRyeS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0 IGEgcmVtb3ZhbCBvZiB0aGUgbGFzdCBvcGVyYXRpb25hbGx5ICd1cCcgUE1FDQogICAgIGZyb20g YW4gb3BlcmF0aW9uYWxseSAndXAnIFBDUyB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUNCiAgICAg aW1wbGVtZW50YXRpb24sIGFzIHRoaXMgYWN0aW9uIHdvdWxkIGNvbXBsZXRlbHkgZHJvcCB0aGUg bGluay4NCiAgICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjgiPjwvYT48YnIgLz48aHIgLz4NCjx0 YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9 IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm Yy5zZWN0aW9uLjMuMS40Ij48L2E+PGgzPjMuMS40LiZuYnNwOw0KRUZNQ3UgcG9ydHMgaW5pdGlh bGl6YXRpb248L2gzPg0KDQo8cD4NCiAgICBFRk1DdSBwb3J0cyBiZWluZyBidWlsdCBvbiB0b3Ag b2YgeERTTCB0ZWNobm9sb2d5LCByZXF1aXJlIGENCiAgICBsZW5ndGh5IGluaXRpYWxpemF0aW9u IG9yICd0cmFpbmluZycgcHJvY2VzcywgYmVmb3JlIGFueSBkYXRhIGNhbg0KICAgIHBhc3MuIER1 cmluZyB0aGlzIGluaXRpYWxpemF0aW9uIGJvdGggZW5kcyBvZiBhIGxpbmsgKHBlZXJzKSB3b3Jr DQogICAgY29vcGVyYXRpdmVseSB0byBhY2hpZXZlIHJlcXVpcmVkIGRhdGEgcmF0ZSBvbiBhIHBh cnRpY3VsYXIgY29wcGVyDQogICAgcGFpci4gU29tZXRpbWVzLCB3aGVuIHRoZSBjb3BwZXIgbGlu ZSBpcyB0b28gbG9uZyBvciB0aGUgbm9pc2UNCiAgICBvbiB0aGUgbGluZSBpcyB0b28gaGlnaCwg dGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwNCiAgICB0byBhY2hpZXZlIGEgc3BlY2lm aWMgdGFyZ2V0IHJhdGUgd2l0aCByZXF1aXJlZCBjaGFyYWN0ZXJpc3RpY3MuDQogICANCjwvcD4N CjxwPg0KICAgIFRoZSBpZkFkbWluU3RhdHVzIG9iamVjdCBmcm9tIHRoZSBJRi1NSUIsIGNvbnRy b2xzDQogICAgdGhlIGRlc2lyZWQgc3RhdGUgb2YgYSBQQ1Mgd2l0aCBhbGwgdGhlIFBNRXMgY29u bmVjdGVkIHRvIGl0IG9yIG9mDQogICAgYW4gaW5kaXZpZHVhbCBQTUUgcG9ydC4gU2V0dGluZyB0 aGlzIG9iamVjdCB0byAndXAnDQogICAgaW5zdHJ1Y3RzIGEgcGFydGljdWxhciBQQ1Mgb3IgUE1F IHRvIHN0YXJ0IGluaXRpYWxpemF0aW9uIHByb2Nlc3MsDQogICAgd2hpY2ggbWF5IHRha2UgdGVu cyBvZiBzZWNvbmRzIGZvciBFRk1DdSBwb3J0cywgZXNwZWNpYWxseSBpZiBQQUYgaXMNCiAgICBp bnZvbHZlZC4gVGhlIGlmT3BlclN0YXR1cyBvYmplY3Qgc2hvd3MgdGhlIG9wZXJhdGlvbmFsIHN0 YXRlIG9mIGFuDQogICAgaW50ZXJmYWNlIChleHRlbmRlZCBieSBpZk1hdU1lZGlhQXZhaWxhYmxl IG9iamVjdCBmcm9tIE1BVS1NSUIgZm9yDQogICAgUENTIGFuZCBlZm1DdVBtZU9wZXJTdGF0dXMg ZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQg0KICAgIG1vZHVsZSBmb3IgUE1FIGludGVyZmFjZXMp Lg0KICAgDQo8L3A+DQo8cD4NCiAgICBBIGRpc2Nvbm5lY3RlZCBQTUUgbWF5IGJlIGluaXRpYWxp emVkIGJ5IGNoYW5naW5nIHRoZSBpZkFkbWluU3RhdGUNCiAgICBmcm9tICdkb3duJyB0byAndXAn LiBDaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlIHRvICd1cCcgb24gdGhlDQogICAgUENTIGluaXRp YWxpemVzIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGF0IHBhcnRpY3VsYXIgUENTLg0KICAgIE5v dGUgdGhhdCBpbiBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5IGZhaWwgdG8gaW5pdGlh bGl6ZQ0KICAgIHdoaWxlIG90aGVycyBzdWNjZWVkLiBUaGUgUENTIGlzIGNvbnNpZGVyZWQgb3Bl cmF0aW9uYWxseSAndXAnIGlmIGF0DQogICAgbGVhc3Qgb25lIFBNRSBhZ2dyZWdhdGVkIGJ5IGl0 cyBQQUYgaXMgb3BlcmF0aW9uYWxseSAndXAnLiBXaGVuIGFsbA0KICAgIFBNRXMgY29ubmVjdGVk IHRvIHRoZSBQQ1MgYXJlICdkb3duJyB0aGUgUENTIFNIQUxMIGJlIGNvbnNpZGVyZWQNCiAgICBv cGVyYXRpb25hbGx5ICdsb3dlckxheWVyRG93bicuIFRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJl ZA0KICAgIG9wZXJhdGlvbmFsbHkgJ25vdFByZXNlbnQnIGlmIGl0IGlzIG5vdCBjb25uZWN0ZWQg dG8gYW55IFBNRS4NCiAgICBUaGUgUENTL1BNRSBpbnRlcmZhY2UgU0hBTEwgcmVtYWluIG9wZXJh dGlvbmFsbHkgJ2Rvd24nIGR1cmluZw0KICAgIGluaXRpYWxpemF0aW9uLg0KICAgDQo8L3A+DQo8 cD4NCiAgICBUaGUgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIg bW9kdWxlDQogICAgZXhwYW5kcyBQTUUncyBpZk9wZXJTdGF0dXMNCiAgICB2YWx1ZSBvZiAnZG93 bicgdG8gJ2Rvd25SZWFkeScsICdkb3duTm90UmVhZHknIGFuZCAnaW5pdCcgdmFsdWVzLA0KICAg IGluZGljYXRpbmcgdmFyaW91cyBFRk1DdSBQTUUgc3BlY2lmaWMgc3RhdGVzLg0KICAgDQo8L3A+ DQo8YSBuYW1lPSJhbmNob3I5Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWdu PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0Mm bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zLjEuNSI+ PC9hPjxoMz4zLjEuNS4mbmJzcDsNClVzYWdlIG9mIGlmVGFibGU8L2gzPg0KDQo8cD4NCiAgICBC b3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUgbWFuYWdlZCB1 c2luZw0KICAgIGludGVyZmFjZSBzcGVjaWZpYyBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYW5kDQogICAgZ2VuZXJpYyBpbnRlcmZhY2Ugb2JqZWN0 cyBmcm9tIHRoZSBpZlRhYmxlIG9mIElGLU1JQiwgd2l0aCBhbGwNCiAgICBtYW5hZ2VtZW50IHRh YmxlIGVudHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4IGlmSW5kZXguDQog ICANCjwvcD4NCjxwPg0KICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgc3VtbWFyaXplcyBFRk1DdSBz cGVjaWZpYyBpbnRlcnByZXRhdGlvbnMgZm9yDQogICAgc29tZSBvZiB0aGUgaWZUYWJsZSBvYmpl Y3RzIHNwZWNpZmllZCBieSB0aGUgbWFuZGF0b3J5DQogICAgaWZHZW5lcmFsSW5mb3JtYXRpb25H cm91cDoNCiAgIA0KPC9wPjxiciAvPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KPGEgbmFtZT0idGFi bGUxIj48L2E+DQo8dGFibGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIg Y2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4NCjxjb2wgYWxpZ249ImxlZnQiPjxjb2wg YWxpZ249ImxlZnQiPg0KPHRyPjx0aCBhbGlnbj0ibGVmdCI+SUYtTUlCIG9iamVjdDwvdGg+PHRo IGFsaWduPSJsZWZ0Ij5FRk1DdSBpbnRlcnByZXRhdGlvbjwvdGg+PC90cj4NCjx0cj4NCjx0ZCBh bGlnbj0ibGVmdCI+aWZJbmRleDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPkludGVyZmFjZSBpbmRl eC4gTm90ZSB0aGF0IGVhY2ggUE1FIGFuZCBlYWNoIFBDUw0KICAgICAgICAgICAgICAgICAgICAg aW4gdGhlIEVGTUN1IFBIWSBNVVNUIGhhdmUgYSB1bmlxdWUgaW5kZXgsIGFzDQogICAgICAgICAg ICAgICAgICAgICB0aGVyZSBhcmUgc29tZSBQQ1MgYW5kIFBNRSBzcGVjaWZpYyBhdHRyaWJ1dGVz DQogICAgICAgICAgICAgICAgICAgICBhY2Nlc3NpYmxlIG9ubHkgb24gdGhlIFBDUyBvciBQTUUg bGV2ZWwuPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmVHlwZTwvdGQ+DQo8 dGQgYWxpZ249ImxlZnQiPmV0aGVybmV0Q3NtYWNkKDYpIGZvciBQQ1MsIHNoZHNsKDE2OSkgZm9y DQogICAgICAgICAgICAgICAgICAgIDJCQVNFLVRMIFBNRSwgdmRzbCg5NykgZm9yIDEwUEFTUy1U UyBQTUU8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZTcGVlZDwvdGQ+DQo8 dGQgYWxpZ249ImxlZnQiPk9wZXJhdGluZyBkYXRhIHJhdGUgZm9yIHRoZSBQTUUuIEZvciB0aGUg UENTIGl0DQogICAgIGlzIHRoZSBzdW0gb2YgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIGRhdGEgcmF0 ZXMgb2YgYWxsIFBNRXMgaW4gdGhlDQogICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCB3aXRob3V0IHRo ZSA2NC82NUIgZW5jYXBzdWxhdGlvbiBvdmVyaGVhZCBhbmQNCiAgICAgUEFGIG92ZXJoZWFkLCBi dXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1lIEdhcHMgKElGRyk8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZBZG1pblN0YXR1czwvdGQ+DQo8dGQgYWxpZ249Imxl ZnQiPlNldHRpbmcgdGhpcyBvYmplY3QgdG8gJ3VwJyBpbnN0cnVjdHMgYQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFydGljdWxhciBQQ1MgKHdpdGggYWxsIFBNRXMgY29ubmVjdGVkIHRv DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpdCkgb3IgUE1FIHRvIHN0YXJ0IGluaXRpYWxp emF0aW9uIHByb2Nlc3M8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZPcGVy U3RhdHVzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVPcGVyU3RhdHVzIHN1cHBsZW1l bnRzIHRoZSAnZG93bicgdmFsdWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgaWZPcGVy U3RhdHVzIGZvciBQTUVzLjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAi IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBh bGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEi PjxiPiZuYnNwO1RhYmxlIDEmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxl PjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQo8YSBuYW1lPSJhbmNob3IxMCI+PC9hPjxiciAvPjxo ciAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+ PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg bmFtZT0icmZjLnNlY3Rpb24uMy4yIj48L2E+PGgzPjMuMi4mbmJzcDsNClJlbGF0aW9uIHRvIFNI RFNMIE1JQiBtb2R1bGU8L2gzPg0KDQo8cD4NCiAgICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWls YXIgdG8gUE1FKHMpIGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUNCiAgICBkZXNjcmli ZWQgaW4gSERTTDItU0hEU0wtTElORS1NSUINCiAgICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JG QzQzMTknPltSRkM0MzE5XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TaWtlcywg Qy4sIFJheSwgQi4sIGFuZCBSLiBBYmJpLCAmbGRxdW87RGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBP YmplY3RzIGZvciBIaWdoIEJpdC1SYXRlIERTTCAtIDJuZCBnZW5lcmF0aW9uIChIRFNMMikgYW5k IFNpbmdsZS1QYWlyIEhpZ2gtU3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKSBM aW5lcywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+ Lg0KICAgIE5vdGUgdGhhdCBub3QgYWxsIGF0dHJpYnV0ZXMgb2YgRy5TSERTTCBtb2RlbXMgcmVm bGVjdGVkIGluDQogICAgSERTTDItU0hEU0wtTElORS1NSUIgaGF2ZSBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMNCiAgICAoQ2xhdXNlIDMwIGF0dHJpYnV0ZXMgYW5kIENsYXVzZSA0NSByZWdp c3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQogICANCjwvcD4NCjxwPg0KICAgIEJlY2F1c2Ug b2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxpY2l0eSwN CiAgICB1bmlmaWNhdGlvbiBvZiBhdHRyaWJ1dGVzIGNvbW1vbiB0byBib3RoIDJCQVNFLVRMIGFu ZCAxMFBBU1MtVFMgUE1Fcw0KICAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5IChlLmcuIHByZWZpeGlu ZyB0aGUgMkJBU0UtVEwgUE1FIHJlbGF0ZWQgb2JqZWN0cw0KICAgIHdpdGggJ2VmbUN1UG1lMkIn IGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvIHJlZmVyZW5j ZQ0KICAgIEhEU0wyLVNIRFNMLUxJTkUtTUlCIG9iamVjdHMsIGJ1dCBkZWZpbmUgYWxsIHRoZSBy ZWxldmFudCBvYmplY3RzDQogICAgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLg0KICAgDQo8L3A+ DQo8cD4NCiAgICBIb3dldmVyLCBpZiBzb21lIGZ1bmN0aW9uYWxpdHksIG5vdCBhdmFpbGFibGUg aW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLCBpcw0KICAgIHJlcXVpcmVkIGFuZCBzdXBwb3J0ZWQg YnkgdGhlIFBNRSwgZS5nLiBwZXJmb3JtYW5jZSBtb25pdG9yaW5nLA0KICAgIHJlbGV2YW50IEhE U0wyLVNIRFNMLUxJTkUtTUlCIGdyb3VwcyBNQVkgYmUgaW5jbHVkZWQgYW5kIGFwcGxpZWQNCiAg ICBmb3IgUE1FcyBvZiAyQkFTRS1UTCBzdWJ0eXBlLg0KICAgDQo8L3A+DQo8YSBuYW1lPSJhbmNo b3IxMSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRp bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48 dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+ PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4zIj48L2E+PGgzPjMuMy4mbmJz cDsNClJlbGF0aW9uIHRvIFZEU0wgTUlCIG1vZHVsZTwvaDM+DQoNCjxwPg0KICAgIFZEU0wgbW9k ZW1zLCBzaW1pbGFyIHRvIHRoZSBQTUUocykgY29tcHJpc2luZyBhIDEwUEFTUy1UUyBwb3J0LA0K ICAgIGFyZSBkZXNjcmliZWQgaW4gVkRTTC1MSU5FLUVYVC1NQ00tTUlCDQogICAgPGEgY2xhc3M9 J2luZm8nIGhyZWY9JyNSRkM0MDcwJz5bUkZDNDA3MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz cz0naW5mbyc+RG9kZ2UsIE0uIGFuZCBCLiBSYXksICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5h Z2VkIE9iamVjdCBFeHRlbnNpb25zIGZvciBWZXJ5IEhpZ2ggU3BlZWQgRGlnaXRhbCBTdWJzY3Jp YmVyIExpbmVzIChWRFNMKSBVc2luZyBNdWx0aXBsZSBDYXJyaWVyIE1vZHVsYXRpb24gKE1DTSkg TGluZSBDb2RpbmcsJnJkcXVvOyBNYXkmbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4uDQogICAgTm90ZSB0aGF0IG5vdCBhbGwgYXR0cmlidXRlcyBvZiBWRFNMIG1vZGVtcyByZWZs ZWN0ZWQgaW4NCiAgICBWRFNMLUxJTkUtRVhULU1DTS1NSUIgaGF2ZSBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMNCiAgICAoQ2xhdXNlIDMwIGF0dHJpYnV0ZXMgYW5kIENsYXVzZSA0NSByZWdp c3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQogICANCjwvcD4NCjxwPg0KICAgIEJlY2F1c2Ug b2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxpY2l0eSwN CiAgICB1bmlmaWNhdGlvbiBvZiBhdHRyaWJ1dGVzIGNvbW1vbiB0byBib3RoIDJCQVNFLVRMIGFu ZCAxMFBBU1MtVFMgUE1Fcw0KICAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5LCBpdCB3YXMgZGVjaWRl ZCBub3QgdG8gcmVmZXJlbmNlDQogICAgVkRTTC1MSU5FLUVYVC1NQ00tTUlCIG9iamVjdHMsIGJ1 dCBkZWZpbmUgYWxsIHRoZSByZWxldmFudCBvYmplY3RzDQogICAgaW4gdGhlIEVGTS1DVS1NSUIg bW9kdWxlLg0KICAgDQo8L3A+DQo8cD4NCiAgICBIb3dldmVyLCBpZiBzb21lIGZ1bmN0aW9uYWxp dHksIG5vdCBhdmFpbGFibGUgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLCBpcw0KICAgIHJlcXVp cmVkIGFuZCBzdXBwb3J0ZWQgYnkgdGhlIFBNRSwNCiAgICByZWxldmFudCBWRFNMLUxJTkUtRVhU LU1DTS1NSUIgZ3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQgYXBwbGllZA0KICAgIGZvciBQTUVz IG9mIDEwUEFTUy1UUyBzdWJ0eXBlLg0KICAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxMiI+PC9h PjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl bGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9 IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh YmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy40Ij48L2E+PGgzPjMuNC4mbmJzcDsNClJlbGF0 aW9uIHRvIEV0aGVybmV0LUxpa2UgYW5kIE1BVSBNSUIgbW9kdWxlczwvaDM+DQoNCjxwPg0KICAg IFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdGhlckxpa2UtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVm PScjUkZDMzYzNSc+W1JGQzM2MzVdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkZs aWNrLCBKLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgdGhlIEV0 aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwMy48 L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+DQogICAgYW5kIE1BVS1NSUIgPGEgY2xhc3M9J2luZm8n IGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgyMDk7RC5pZXRmJiM4MjA5 O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZv Jz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElF RUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVuaXRzIChNQVVzKSwmcmRx dW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gaXMNCiAgICBSRVFV SVJFRCBmb3IgdGhlIEVGTUN1IGludGVyZmFjZXMuDQogICANCjwvcD4NCjxwPg0KICAgIFR3byBu ZXcgdmFsdWVzIG9mIGlmTWF1VHlwZSAoT0JKRUNULUlERU5USVRJRVMgb2YgZG90M01hdVR5cGUp DQogICAgYW5kIGNvcnJlc3BvbmRpbmcgYml0IGRlZmluaXRpb25zIG9mIGlmTWF1VHlwZUxpc3RC aXRzDQogICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBiZWVuIGRlZmluZWQgaW4gdGhl IElBTkEtTUFVLU1JQg0KICAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjSS1ELmlldGYtaHVibWli LXJmYzM2MzZiaXMnPltJJiM4MjA5O0QuaWV0ZiYjODIwOTtodWJtaWImIzgyMDk7cmZjMzYzNmJp c108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QmVpbGksIEUuLCAmbGRxdW87RGVm aW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBJRUVFIDgwMi4zIE1lZGl1bSAgICAgICAg ICAgICAgQXR0YWNobWVudCBVbml0cyAoTUFVcyksJnJkcXVvOyBKdWx5Jm5ic3A7MjAwNi48L3Nw YW4+PHNwYW4+KTwvc3Bhbj48L2E+IGZvciB0aGUgRUZNQ3UgTUFVczoNCg0KICAgICA8L3A+DQo8 dWwgY2xhc3M9InRleHQiPg0KPGxpPmRvdDNNYXVUeXBlMkJhc2VUTCBhbmQgYjJCYXNlVEwgLSBm b3IgMkJBU0UtVEwgTUFVDQo8L2xpPg0KPGxpPmRvdDNNYXVUeXBlMTBQYXNzVFMgYW5kIGIxMFBh c3NUUyAtIGZvciAxMFBBU1MtVFMgTUFVDQo8L2xpPg0KPC91bD48cD4NCiAgIA0KPC9wPg0KPHA+ DQogICAgQWRkaXRpb25hbGx5IElBTkEtTUFVLU1JQiBkZWZpbmVzIHR3byBuZXcgdmFsdWVzIG9m DQogICAgaWZNYXVNZWRpYUF2YWlsYWJsZSwgYXMgYSB0ZXh0dWFsIGNvbnZlbnRpb24NCiAgICBJ QU5BaWZNYXVNZWRpYUF2YWlsYWJsZSAtIGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5LA0KICAg IHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLg0KICAgIER1ZSB0byB0aGUgUE1FIGFn Z3JlZ2F0aW9uLCB0aGUgRUZNQ3UgaW50ZXJwcmV0YXRpb24gb2Ygc29tZQ0KICAgIHBvc3NpYmxl IGlmTWF1TWVkaWFBdmFpbGFibGUgdmFsdWVzIGRpZmZlcnMgZnJvbSBvdGhlciBNQVVzIGFzIGZv bGxvd3M6DQoNCiAgICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT51bmtub3duIC0gdGhl IEVGTUN1IGludGVyZmFjZSAoUENTIHdpdGggY29ubmVjdGVkIFBNRXMpIGlzIGluaXRpYWxpemlu Zw0KPC9saT4NCjxsaT5yZWFkeSAtIHRoZSBpbnRlcmZhY2UgaXMgZG93biwgYXQgbGVhc3Qgb25l IFBNRSBpbiB0aGUNCiAgICAgICAgIGFnZ3JlZ2F0aW9uIGdyb3VwIChhbGwgUE1FcyBjb25uZWN0 ZWQgdG8NCiAgICAgICAgIHRoZSBQQ1MpIGlzIHJlYWR5IGZvciBoYW5kc2hha2UNCjwvbGk+DQo8 bGk+YXZhaWxhYmxlIC0gdGhlIGludGVyZmFjZSBpcyB1cCwgYWxsIFBNRXMgaW4gdGhlIGFnZ3Jl Z2F0aW9uDQogICAgICAgICBncm91cCBhcmUgdXANCjwvbGk+DQo8bGk+bm90QXZhaWxhYmxlIC0g dGhlIGludGVyZmFjZSBpcyBkb3duLCBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24NCiAgICAg ICAgIGdyb3VwIGFyZSBkb3duLCBubyBoYW5kc2hha2UgdG9uZXMgYXJlIGRldGVjdGVkIGJ5IGFu eSBQTUUNCjwvbGk+DQo8bGk+YXZhaWxhYmxlUmVkdWNlZCAtIHRoZSBpbnRlcmZhY2UgaXMgdXAs IGEgbGluayBmYXVsdCBpcw0KICAgICAgICAgZGV0ZWN0ZWQgYXQgdGhlIHJlY2VpdmUgZGlyZWN0 aW9uIGJ5IG9uZSBvciBtb3JlIFBNRXMgaW4gdGhlDQogICAgICAgICBhZ2dyZWdhdGlvbiBncm91 cCwgYnV0IGF0IGxlYXN0IG9uZSBQTUUgaXMgdXANCjwvbGk+DQo8bGk+cG1kTGlua0ZhdWx0IC0g YSBsaW5rIGZhdWx0IGlzIGRldGVjdGVkIGF0IHRoZSByZWNlaXZlDQogICAgICAgICBkaXJlY3Rp b24gYnkgYWxsIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwDQo8L2xpPg0KPC91bD48cD4N CiAgIA0KPC9wPg0KPHA+DQogICAgQXMgYW4gRXRoZXJMaWtlIGludGVyZmFjZSBldmVyeSBFRk1D dSBwb3J0IChhbiBpZkVudHJ5DQogICAgcmVwcmVzZW50aW5nIGEgY29uc29saWRhdGlvbiBvZiBM TEMsIE1BQyBhbmQgUENTIChzdWIpbGF5ZXJzKQ0KICAgIFNIQUxMIHJldHVybiBhbiBpZlR5cGUg b2YgZXRoZXJuZXRDc21hY2QoNikuDQogICAgV2hpbGUgbW9zdCBvZiB0aGUgTUFVIGNoYXJhY3Rl cmlzdGljcyBhcmUgbm90IGFwcGxpY2FibGUgdG8gdGhlIEVGTUN1DQogICAgcG9ydHMgKG5vIGF1 dG8tbmVnb3RpYXRpb24sIGZhbHNlIGNhcnJpZXJzIG9yIGphYmJlciksDQogICAgdGhleSBTSEFM TCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgaWZNYXVUeXBlIChkb3QzTWF1VHlwZTJCYXNlVEwgb3IN CiAgICBkb3QzbWF1VHlwZTEwUGFzc1RTKSBpbiBvcmRlciB0byBkaXJlY3QgdGhlIG1hbmFnZW1l bnQgc29mdHdhcmUNCiAgICB0byBsb29rIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBmb3IgdGhl IGRlc2lyZWQgaW5mb3JtYXRpb24uIEZvciBleGFtcGxlDQogICAgdGhlIGluZm9ybWF0aW9uIG9u IHRoZSBwYXJ0aWN1bGFyIEVGTUN1IGZsYXZvciB0aGF0IGFuIEVGTUN1IHBvcnQNCiAgICBpcyBy dW5uaW5nIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1T3BlclN1YlR5cGUsIGRlZmluZWQgaW4gdGhl DQogICAgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4NCjxwPg0KICAgIFNpbmNlIEVGTUN1 IFBNRXMgYXJlIG5vdCBFdGhlckxpa2UgaW50ZXJmYWNlcywgdGhleSBjYW5ub3QgYmUNCiAgICBp bnN0YW50aWF0ZWQgYXMgTUFVIGludGVyZmFjZSBvYmplY3RzLg0KICAgDQo8L3A+DQo8YSBuYW1l PSJhbmNob3IxMyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQi Pjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9h PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNCI+PC9hPjxoMz40LiZu YnNwOw0KTUlCIFN0cnVjdHVyZTwvaDM+DQoNCjxhIG5hbWU9ImFuY2hvcjE0Ij48L2E+PGJyIC8+ PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVn Ij48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8 YSBuYW1lPSJyZmMuc2VjdGlvbi40LjEiPjwvYT48aDM+NC4xLiZuYnNwOw0KRUZNIENvcHBlciBN SUIgT3ZlcnZpZXc8L2gzPg0KDQo8cD4NCiAgIFRoZSBtYWluIG1hbmFnZW1lbnQgb2JqZWN0cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUgc3BsaXQgaW50byAyDQogICBncm91 cHM6DQogICA8L3A+DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPmVmbUN1UG9ydCAtIGNvbnRhaW5p bmcgb2JqZWN0cyBmb3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLA0KICAgIHN0YXR1cyBh bmQgbm90aWZpY2F0aW9ucywgY29tbW9uIHRvIGFsbCBFRk1DdSBQSFlzLg0KPC9saT4NCjxsaT5l Zm1DdVBtZSAtIGNvbnRhaW5pbmcgb2JqZWN0cyBmb3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0 aWVzLA0KICAgIHN0YXR1cyBhbmQgbm90aWZpY2F0aW9ucyBvZiBFRk1DdSBQTUVzLg0KPC9saT4N CjwvdWw+PHA+DQogIA0KPC9wPg0KPHA+DQogICBUaGUgZWZtQ3VQbWUgZ3JvdXAgaW4gdHVybiBj b250YWlucyBlZm1DdVBtZTJCIGFuZCBlZm1DdVBtZTEwUA0KICAgZ3JvdXBzLCB3aGljaCBkZWZp bmUgUE1FIFByb2ZpbGVzIHNwZWNpZmljIHRvIDJCQVNFLVRMIGFuZA0KICAgMTBQQVNTLVRTIFBN RXMgcmVzcGVjdGl2ZWx5LCBhcyB3ZWxsIGFzIFBNRSBzcGVjaWZpYyBzdGF0dXMgaW5mb3JtYXRp b24uDQogIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTUiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJs ZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9 IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0 b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5z ZWN0aW9uLjQuMiI+PC9hPjxoMz40LjIuJm5ic3A7DQpJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0 eSBNSUIgT3ZlcnZpZXc8L2gzPg0KDQo8cD4NCiAgIFRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVs ZSBjb250YWlucyAyIHRhYmxlczoNCiAgIDwvcD4NCjx1bCBjbGFzcz0idGV4dCI+DQo8bGk+aWZD YXBTdGFja1RhYmxlIC0gY29udGFpbmluZyBvYmplY3RzIHRoYXQgZGVmaW5lIHBvc3NpYmxlDQog ICAgICAgcmVsYXRpb25zaGlwcyBhbW9uZyB0aGUgc3ViLWxheWVycyBvZiBhbiBpbnRlcmZhY2Ug d2l0aA0KICAgICAgIGZsZXhpYmxlIGNyb3NzLWNvbm5lY3QgKGNyb3NzLWNvbm5lY3QgY2FwYWJp bGl0eSkuDQo8L2xpPg0KPGxpPmlmSW52Q2FwU3RhY2tUYWJsZSAtIGFuIGludmVyc2Ugb2YgdGhl IGlmQ2Fwc3RhY2tUYWJsZS4NCjwvbGk+DQo8L3VsPjxwPg0KICANCjwvcD4NCjxhIG5hbWU9ImFu Y2hvcjE2Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRy Pjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90 ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi40LjMiPjwvYT48aDM+NC4zLiZu YnNwOw0KUE1FIFByb2ZpbGVzPC9oMz4NCg0KPHA+DQogICBTaW5jZSBhIG1hbmFnZWQgbm9kZSBj YW4gaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBFRk1DdSBQSFlzLA0KICAgcHJvdmlzaW9uaW5nIGV2 ZXJ5IHBhcmFtZXRlciBvbiBldmVyeSBFRk1DdSBQSFkgbWF5IGJlY29tZQ0KICAgYnVyZGVuc29t ZS4gTW9yZW92ZXIsIG1vc3QgUE1FcyBhcmUgcHJvdmlzaW9uZWQgaWRlbnRpY2FsbHkNCiAgIHdp dGggdGhlIHNhbWUgc2V0IG9mIHBhcmFtZXRlcnMuICBUbyBzaW1wbGlmeSB0aGUgcHJvdmlzaW9u aW5nDQogICBwcm9jZXNzLCB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZp Z3VyYXRpb24gcHJvZmlsZXMsIHNpbWlsYXINCiAgIHRvIEhEU0wyLVNIRFNMLUxJTkUtTUlCIGFu ZCBWRFNMLUxJTkUtRVhULU1DTS1NSUIuIEEgcHJvZmlsZSBpcyBhDQogICBzZXQgb2YgcGFyYW1l dGVycywgdXNlZCBlaXRoZXIgZm9yIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24NCiAg IG9mIGEgUE1FLiBUaGUgc2FtZSBwcm9maWxlIGNhbiBiZSBzaGFyZWQgYnkgbXVsdGlwbGUgUE1F IHBvcnRzLA0KICAgdXNpbmcgdGhlIHNhbWUgY29uZmlndXJhdGlvbi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBQTUUgcHJvZmlsZXMgYXJlIGRlZmluZWQgaW4NCiAgIGVmbUN1UG1lMkJQcm9maWxl VGFibGUgYW5kIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIGZvcg0KICAgMkJBU0UtVEwgYW5kIDEw UEFTUy1UUyBQTUVzIHJlc3BlY3RpdmVseS4gVGhlcmUgYXJlIDEyIHByZWRlZmluZWQNCiAgIHN0 YW5kYXJkIHByb2ZpbGVzIGZvciAyQkFTRS1UTCBhbmQgMjIgc3RhbmRhcmQgcHJvZmlsZXMgZm9y DQogICAxMFBBU1MtVFMsIGRlZmluZWQgaW4gODAyLjNhaCBhbmQgZGVkaWNhdGVkIGZvciByYXBp ZCBwcm92aXNpb25pbmcNCiAgIG9mIEVGTUN1IFBIWXMgaW4gbW9zdCBzY2VuYXJpb3MuIEluIGFk ZGl0aW9uIHRoZSBFRk0tQ1UtTUlCIGRlZmluZXMgdHdvDQogICBhZGRpdGlvbmFsIHByZWRlZmlu ZWQgcHJvZmlsZXMgZm9yICJiZXN0LWVmZm9ydCIgcHJvdmlzaW9uaW5nIG9mDQogICAyQkFTRS1U TCBQTUVzLg0KICAgQW4gYWJpbGl0eSB0byBkZWZpbmUgbmV3IGNvbmZpZ3VyYXRpb24gcHJvZmls ZXMgaXMgYWxzbyBwcm92aWRlZCB0byANCiAgIGFsbG93IGZvciBFRk1DdSBkZXBsb3ltZW50IHRh aWxvcmVkIHRvIHNwZWNpZmljIGNvcHBlciBlbnZpcm9ubWVudCBhbmQgDQogICBzcGVjdHJhbCBy ZWd1bGF0aW9ucy4NCiAgDQo8L3A+DQo8cD4NCiAgIEEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBv ciBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIGlzIGFzc2lnbmVkIHRvIGENCiAgIHNwZWNpZmljIFBN RSB2aWEgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0LiBJZiBlZm1DdVBtZUFkbWluUHJvZmls ZQ0KICAgaXMgemVybywgdGhlbiBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qgb2YgdGhlIFBDUyBw b3J0LCBjb25uZWN0ZWQgdG8gdGhlDQogICBQTUUsIGRldGVybWluZXMgdGhlIGNvbmZpZ3VyYXRp b24gcHJvZmlsZSAob3IgYSBsaXN0IG9mIHBvc3NpYmxlDQogICBwcm9maWxlcykgZm9yIHRoYXQg UE1FLiBUaGlzIG1lY2hhbmlzbSBhbGxvd3MgdG8gc3BlY2lmeSBhIGNvbW1vbg0KICAgcHJvZmls ZShzKSBmb3IgYWxsIFBNRXMgY29ubmVjdGVkIHRvIHRoZSBQQ1MgcG9ydCwgd2l0aCBhbiBhYmls aXR5DQogICB0byBjaGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZyBlZm1D dVBtZUFkbWluUHJvZmlsZQ0KICAgb2JqZWN0LCB3aGljaCBvdmVyd3JpdGVzIHRoZSBwcm9maWxl IHNldCBieSBlZm1DdUFkbWluUHJvZmlsZS4NCiAgDQo8L3A+DQo8cD4NCiAgIEEgY3VycmVudCBv cGVyYXRpbmcgUE1FIHByb2ZpbGUgaXMgcG9pbnRlZCB0byBieSBlZm1DdVBtZU9wZXJQcm9maWxl IG9iamVjdC4NCiAgIE5vdGUgdGhhdCB0aGlzIHByb2ZpbGUgZW50cnksIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QNCiAgIGFjaGlldmVkIHBhcmFtZXRlcnMgaW4gYWRh cHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRpb24uDQogIA0KPC9wPg0KPGEgbmFtZT0iYW5j aG9yMTciPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRk aW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+ PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3Rk PjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjQuNCI+PC9hPjxoMz40LjQuJm5i c3A7DQpNYXBwaW5nIG9mIElFRUUgODAyLjNhaCBNYW5hZ2VkIE9iamVjdHM8L2gzPg0KDQo8cD4N CiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyB0aGUgbWFwcGluZyBiZXR3ZWVuIHJlbGV2YW50IG1h bmFnZWQgb2JqZWN0cw0KICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8n IGhyZWY9JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5m byc+SUVFRSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg LSAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0 d2VlbiBzeXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29y a3MgLSAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJy aWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAg ICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlv bnMgLSAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywg UGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vi c2NyaWJlciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bh bj48c3Bhbj4pPC9zcGFuPjwvYT4gQ2xhdXNlIDMwLCBhbmQgbWFuYWdlZA0KICAgb2JqZWN0cyBk ZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgYW5kIGluIGFzc29jaWF0ZWQgTUlCIG1vZHVsZXMsDQog ICBpLmUuLCB0aGUgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JGQzI4 NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFuZCBG LiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsgSnVu ZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4NCiAg IE5vdGUgdGhhdCBtYWpvcml0eSBvZiB0aGUgb2JqZWN0cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1Ut TUlCIG1vZHVsZQ0KICAgZG8gbm90IGhhdmUgZGlyZWN0IGNvdW50ZXJwYXJ0cyBpbiBDbGF1c2Ug MzAgYW5kIGluc3RlYWQgcmVmZXIgdG8gQ2xhdXNlIDQ1DQogICByZWdpc3RlcnMuDQogIA0KPC9w PjxiciAvPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KPGEgbmFtZT0idGFibGUyIj48L2E+DQo8dGFi bGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIi IGNlbGxzcGFjaW5nPSIyIj4NCjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPg0K PHRyPjx0aCBhbGlnbj0ibGVmdCI+SUVFRSA4MDIuMyBNYW5hZ2VkIE9iamVjdDwvdGg+PHRoIGFs aWduPSJsZWZ0Ij5Db3JyZXNwb25kaW5nIFNOTVAgT2JqZWN0PC90aD48L3RyPg0KPHRyPg0KPHRk IGFsaWduPSJsZWZ0Ij5vTUFVIC0gQmFzaWMgUGFja2FnZSAoTWFuZGF0b3J5KTwvdGQ+DQo8dGQg YWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5h TUFVVHlwZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmTWF1VHlwZSAoTUFVLU1JQik8L3RkPg0K PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU1BVVR5cGVMaXN0PC90ZD4NCjx0ZCBhbGln bj0ibGVmdCI+aWZNYXVUeXBlTGlzdEJpdHMgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8 dGQgYWxpZ249ImxlZnQiPmFNZWRpYUF2YWlsYWJsZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlm TWVkaWFBdmFpbGFibGUgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249Imxl ZnQiPm9QQUYgLSBCYXNpYyBQYWNrYWdlIChNYW5kYXRvcnkpPC90ZD4NCjx0ZCBhbGlnbj0ibGVm dCI+Jm5ic3A7PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQQUZJRDwvdGQ+ DQo8dGQgYWxpZ249ImxlZnQiPmlmSW5kZXggKElGLU1JQik8L3RkPg0KPC90cj4NCjx0cj4NCjx0 ZCBhbGlnbj0ibGVmdCI+YVBoeUVuZDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UGh5U2lk ZTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEhZQ3VycmVudFN0YXR1czwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1U3RhdHVzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQg YWxpZ249ImxlZnQiPmFQQUZTdXBwb3J0ZWQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBB RlN1cHBvcnRlZDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5vUEFGIC0gUE1F IEFnZ3JlZ2F0aW9uIFBhY2thZ2UgKE9wdGlvbmFsKTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZu YnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGQWRtaW5TdGF0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UEFGQWRtaW5TdGF0ZTwvdGQ+DQo8L3RyPg0KPHRy Pg0KPHRkIGFsaWduPSJsZWZ0Ij5hTG9jYWxQQUZDYXBhY2l0eTwvdGQ+DQo8dGQgYWxpZ249Imxl ZnQiPmVmbUN1UEFGQ2FwYWNpdHk8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+ YUxvY2FsUE1FQXZhaWxhYmxlPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZDYXBTdGFja1RhYmxl PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFMb2NhbFBNRUFnZ3JlZ2F0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmU3RhY2tUYWJsZSAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0K PHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUmVtb3RlUEFGU3VwcG9ydGVkPC90ZD4NCjx0ZCBhbGln bj0ibGVmdCI+ZWZtQ3VSZW1vdGVQQUZTdXBwb3J0ZWQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBh bGlnbj0ibGVmdCI+YVJlbW90ZVBBRkNhcGFjaXR5PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZt Q3VSZW1vdGVQQUZDYXBhY2l0eTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5h UmVtb3RlUE1FQWdncmVnYXRlPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjwv dHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPm9QTUUgLSAxMFAvMkIgUGFja2FnZSAoTWFuZGF0 b3J5KTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRk IGFsaWduPSJsZWZ0Ij5hUE1FSUQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZkluZGV4IChJRi1N SUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQTUVBZG1pblN0YXRlPC90 ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZBZG1pblN0YXRlIChJRi1NSUIpPC90ZD4NCjwvdHI+DQo8 dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQTUVTdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5l Zm1DdVBtZVN0YXR1czwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUE1FU05S TWduPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVTbnJNZ248L3RkPg0KPC90cj4NCjx0 cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVRDQ29kaW5nVmlvbGF0aW9uczwvdGQ+DQo8dGQgYWxpZ249 ImxlZnQiPmVmbUN1UG1lVENDb2RpbmdFcnJvcnM8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGln bj0ibGVmdCI+YVRDQ1JDRXJyb3JzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVUQ0Ny Y0Vycm9yczwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUHJvZmlsZVNlbGVj dDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1QWRtaW5Qcm9maWxlLCBlZm1DdVBtZUFkbWlu UHJvZmlsZTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hT3BlcmF0aW5nUHJv ZmlsZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lT3BlclByb2ZpbGU8L3RkPg0KPC90 cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRUZFQ0NvcnJlY3RlZEJsb2NrczwvdGQ+DQo8 dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzPC90ZD4NCjwvdHI+ DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQTUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzPC90ZD4N Cjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2NrczwvdGQ+DQo8 L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNl PSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO1RhYmxlIDImbmJzcDs8 L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0K DQo8YSBuYW1lPSJhbmNob3IxOCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9Imxh eW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGln bj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9D Jm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNSI+PC9h PjxoMz41LiZuYnNwOw0KSW50ZXJmYWNlIFN0YWNrIENhcGFiaWxpdHkgTUlCIERlZmluaXRpb25z PC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6 IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPklGLUNBUC1TVEFDSy1NSUIgREVGSU5JVElP TlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVMRS1JREVOVElUWSwgT0JKRUNULVRZ UEUsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OA0KICAg IFRydXRoVmFsdWUNCiAgICAgIEZST00gU05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAyNTc5DQog ICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUA0KICAgICAgRlJPTSBTTk1QdjItQ09O RiAgICAgICAgLS0gUkZDIDI1ODANCiAgICBpZlN0YWNrR3JvdXAyLCBpZlN0YWNrSGlnaGVyTGF5 ZXIsIGlmU3RhY2tMb3dlckxheWVyIA0KICAgICAgRlJPTSBJRi1NSUIgICAgICAgICAgICAgLS0g UkZDIDI4NjMNCiAgICBpZkludlN0YWNrR3JvdXANCiAgICAgIEZST00gSUYtSU5WRVJURUQtU1RB Q0stTUlCIC0tIFJGQyAyODY0DQogICAgOw0KDQogIGlmQ2FwU3RhY2tNSUIgTU9EVUxFLUlERU5U SVRZDQogICAgTEFTVC1VUERBVEVEICIyMDA3MDIxODAwMDBaIiAgLS0gRmVicnVhcnkgMTgsIDIw MDcNCiAgICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1J QiBXb3JraW5nIEdyb3VwIg0KICAgIENPTlRBQ1QtSU5GTw0KICAgICAgIldHIGNoYXJ0ZXI6DQog ICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5o dG1sDQoNCiAgICAgIE1haWxpbmcgTGlzdHM6DQogICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lvbjog aHVibWliQGlldGYub3JnDQogICAgICAgIFRvIFN1YnNjcmliZTogaHVibWliLXJlcXVlc3RAaWV0 Zi5vcmcNCiAgICAgICAgSW4gQm9keTogc3Vic2NyaWJlIHlvdXJfZW1haWxfYWRkcmVzcw0KDQog ICAgICBDaGFpcjogIEJlcnQgV2lqbmVuDQogICAgICBQb3N0YWw6IEFsY2F0ZWwtTHVjZW50DQog ICAgICAgICAgICAgIFNjaGFnZW4gMzMNCiAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVu DQogICAgICAgICAgICAgIE5ldGhlcmxhbmRzDQogICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3 NQ0KICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICBFZGl0 b3I6IEVkd2FyZCBCZWlsaQ0KICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAg ICAgICAgICAgICAgMjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAgUGV0 YWNoLVRpa3ZhIDEwMTczDQogICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAgICAgICBUZWw6 ICs5NzItMy05MjQtMzQ5MQ0KICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20i DQoNCiAgICBERVNDUklQVElPTg0KICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVs ZSBhcmUgdXNlZCB0byBkZXNjcmliZQ0KICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXRpZXMg b2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywNCiAgICAgIGNvbXBsZW1lbnRpbmcgaWZT dGFja1RhYmxlIGFuZCBpZkludlN0YWNrVGFibGUgZGVmaW5lZCBpbg0KICAgICAgSUYtTUlCIGFu ZCBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICBDb3B5cmlnaHQg KEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3KS4gIFRoaXMgdmVyc2lvbg0KICAgICAgb2YgdGhpcyBN SUIgbW9kdWxlIGlzIHBhcnQgb2YgUkZDIFhYWFg7ICBzZWUgdGhlIFJGQw0KICAgICAgaXRzZWxm IGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIg0KDQogICAgUkVWSVNJT04gICAgIjIwMDcwMjE4MDAw MFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNw0KICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZlcnNp b24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iDQoNCiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBY WFhYIHdpdGggdGhlIGFjdHVhbCBSRkMgbnVtYmVyICYNCiAgICAgIC0tIHJlbW92ZSB0aGlzIG5v dGUNCiANCiAgICA6Oj0geyBtaWItMiBaWlogfQ0KDQogICAgICAtLSBFZE5vdGU6IFJlcGxhY2Ug WlpaIHdpdGggYSByZWFsIE9JRCBvbmNlIGl0IGlzDQogICAgICAtLSBhbGxvY2F0ZWQgJiByZW1v dmUgdGhpcyBub3RlLg0KDQogICAtLSBTZWN0aW9ucyBvZiB0aGUgbW9kdWxlDQogICAtLSBTdHJ1 Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUNCiAgIC0tIEFwcGVuZGl4IEQ6 IFN1Z2dlc3RlZCBPSUQgTGF5b3V0DQoNCiAgIGlmQ2FwU3RhY2tPYmplY3RzICAgICBPQkpFQ1Qg SURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29uZm9y bWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWZDYXBTdGFja01JQiAyIH0NCg0KICAgLS0g R3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgLS0NCiAgIC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91 cA0KICAgLS0NCg0KICAgaWZDYXBTdGFja1RhYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBTRVFVRU5DRSBPRiBJZkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwN CiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2libGUgJ29uLXRvcC1vZicN CiAgICAgICByZWxhdGlvbnNoaXBzIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXllcnMgb2Yg bmV0d29yaw0KICAgICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9u c2hpcHMgZGVzY3JpYmVkIGluDQogICAgICAgaWZTdGFja1RhYmxlKS4gSW4gcGFydGljdWxhciwg aXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24NCiAgICAgICB3aGljaCBzdWItbGF5ZXJzIE1BWSBw b3NzaWJseSBydW4gJ29uIHRvcCBvZicgd2hpY2ggb3RoZXINCiAgICAgICBzdWItbGF5ZXJzLCBh cyBkZXRlcm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUNCiAgICAgICBk ZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzIHRvIGEgY29uY2VwdHVhbCBy b3cNCiAgICAgICBpbiB0aGUgaWZUYWJsZS4gRm9yIGV4YW1wbGUsIHdoZW4gdGhlIHN1Yi1sYXll ciB3aXRoIGlmSW5kZXgNCiAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9u IHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgNCiAgICAgICBpZkluZGV4IHZhbHVlIHksIHRoZW4g dGhpcyB0YWJsZSBjb250YWluczoNCiAgICAgICANCiAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMu eC55PXRydWUNCg0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2VzIG5vdCBleGlz dCBpZiBpdCBpcyBpbXBvc3NpYmxlDQogICAgICAgdG8gY29ubmVjdCBiZXR3ZWVuIHRoZSBzdWIt bGF5ZXJzIHggYW5kIHkuDQogICAgICAgDQogICAgICAgTm90ZSB0aGF0IGZvciBtb3N0IHN0YWNr ZWQgaW50ZXJmYWNlcyAoZS5nLiAyQkFTRS1UTCkNCiAgICAgICB0aGVyZSdzIGFsd2F5cyBhdCBs ZWFzdCBvbmUgaGlnaGVyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQQ1MNCiAgICAgICBwb3J0KSBm b3IgZWFjaCBsb3dlci1sZXZlbCBpbnRlcmZhY2UgKGUuZy4gUE1FKSBhbmQgYXQNCiAgICAgICBs ZWFzdCBvbmUgbG93ZXItbGV2ZWwgaW50ZXJmYWNlIGZvciBlYWNoIGhpZ2hlci1sZXZlbA0KICAg ICAgIGludGVyZmFjZSwgdGhhdCBpcywgdGhlcmUgaXMgYXQgbGVhc3QgYSBzaW5nbGUgcm93IHdp dGggYQ0KICAgICAgICd0cnVlJyBzdGF0dXMgZm9yIGFueSBleGlzdGluZyB2YWx1ZSBvZiB4IG9y IHkuDQoNCiAgICAgICBUaGlzIHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgZGV2 aWNlIGNhcGFiaWxpdHkiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJJRi1NSUIsIGlmU3RhY2tU YWJsZSINCiAgICAgOjo9IHsgaWZDYXBTdGFja09iamVjdHMgMSB9DQoNCiAgIGlmQ2FwU3RhY2tF bnRyeSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSWZDYXBTdGFja0VudHJ5DQogICAg IE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5mb3JtYXRpb24gb24gYSBwYXJ0aWN1bGFyIHJlbGF0 aW9uc2hpcCBiZXR3ZWVuIHR3bw0KICAgICAgIHN1Yi1sYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBv bmUgc3ViLWxheWVyIE1BWSBwb3NzaWJseSBydW4NCiAgICAgICBvbiAndG9wJyBvZiB0aGUgb3Ro ZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcw0KICAgICAgIHRvIGEgY29u Y2VwdHVhbCByb3cgaW4gdGhlIGlmVGFibGUgKGludGVyZmFjZSBpbmRleCBmb3INCiAgICAgICBs b3dlci0gYW5kIGhpZ2hlci1sYXllciByZXNwZWN0aXZlbHkpLiINCiAgICAgSU5ERVggew0KICAg ICAgIGlmU3RhY2tIaWdoZXJMYXllciwNCiAgICAgICBpZlN0YWNrTG93ZXJMYXllcg0KICAgICB9 DQogICAgIDo6PSB7IGlmQ2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgSWZDYXBTdGFja0VudHJ5IDo6 PSBTRVFVRU5DRSB7DQogICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQ0K ICAgICAgfQ0KDQogICBpZkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBzdGF0dXMgb2YgdGhl ICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknIHJlbGF0aW9uc2hpcA0KICAgICAgIGJldHdlZW4g dHdvIHN1Yi1sYXllcnMuIFRoZSBmb2xsb3dpbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZDoNCiAg ICAgICAgIHRydWUoMSkgICAgICAgICAtIGluZGljYXRlcyB0aGF0IHRoZSBzdWItbGF5ZXIgaW50 ZXJmYWNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllZCBieSB0aGUgaWZT dGFja0xvd2VyTGF5ZXIgTUFZDQogICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBjb25uZWN0 ZWQgdG8gcnVuICdiZWxvdycgdGhlIHN1Yi1sYXllcg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50ZXJmYWNlLCBpZGVudGlmaWVkIGJ5IHRoZQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWZTdGFja0hpZ2hlckxheWVyIGluZGV4Lg0KICAgICAgICAgZmFsc2UoMikgICAgICAgIC0g dGhlIHN1Yi1sYXllciBpbnRlcmZhY2VzIGNhbm5vdCBiZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29ubmVjdGVkIHRlbXBvcmFyaWx5IGR1ZSB0bw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5hdmFpbGFiaWxpdHkgb2YgdGhlIGludGVyZmFjZShzKSwgZS5nLg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgb25lIG9mIHRoZSBpbnRlcmZhY2VzIGlzIGxvY2F0ZWQgb24gYW4N CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFic2VudCBwbHVnZ2FibGUgbW9kdWxlLg0KDQog ICAgICAgTm90ZSB0aGF0IGxvd2VyLWxheWVyIGludGVyZmFjZSBhdmFpbGFiaWxpdHkgcGVyIGhp Z2hlci1sYXllciwNCiAgICAgICBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mICd0cnVlJywgY2Fu IGJlIGNvbnN0cmFpbmVkIGJ5DQogICAgICAgb3RoZXIgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUg YnkgdGhlIGFnZ3JlZ2F0aW9uIGNhcGFjaXR5IG9mDQogICAgICAgYSBoaWdoZXItbGF5ZXIgaW50 ZXJmYWNlIG9yIGJ5IHRoZSBsb3dlci1sYXllciBpbnRlcmZhY2UgaW4NCiAgICAgICBxdWVzdGlv biBiZWluZyBhbHJlYWR5IGNvbm5lY3RlZCB0byBhbm90aGVyIGhpZ2hlci1sYXllcg0KICAgICAg IGludGVyZmFjZS4gSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIHN1Yi1sYXll ciBjYW4NCiAgICAgICBiZSBjb25uZWN0ZWQgdG8gYW5vdGhlciBzdWItbGF5ZXIsIGFsbCByZXNw ZWN0aXZlIG9iamVjdHMNCiAgICAgICAoZS5nLiBpZkNhcFN0YWNrVGFibGUsIGlmU3RhY2tUYWJs ZSBhbmQgZWZtQ3VQQUZDYXBhY2l0eSBmb3INCiAgICAgICBmb3IgRUZNQ3UgaW50ZXJmYWNlcykg U0hBTEwgYmUgaW5zcGVjdGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZCBvbmx5LCB1 bmxpa2UgaWZTdGFja1N0YXR1cywgYXMgaXQNCiAgICAgICBkZXNjcmliZXMgYSBjcm9zcy1jb25u ZWN0IGNhcGFiaWxpdHkuIg0KICAgICA6Oj0geyBpZkNhcFN0YWNrRW50cnkgMSB9DQoNCiAgIGlm SW52Q2FwU3RhY2tUYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgICBTRVFVRU5D RSBPRiBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi QSB0YWJsZSBjb250YWluaW5nIGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSByZWxhdGlvbnNo aXBzDQogICAgICAgYmV0d2VlbiB0aGUgbXVsdGlwbGUgc3ViLWxheWVycyBvZiBuZXR3b3JrIGlu dGVyZmFjZXMuIFRoaXMgDQogICAgICAgdGFibGUsIG1vZGVsZWQgYWZ0ZXIgaWZJbnZTdGFja1Rh YmxlIGZyb20NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlzIGFuIGludmVyc2Ugb2Yg dGhlIGlmQ2FwU3RhY2tUYWJsZQ0KICAgICAgIGRlZmluZWQgaW4gdGhpcyBNSUIgbW9kdWxlLg0K ICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFpbnMgaW5mb3JtYXRpb24gb24g d2hpY2gNCiAgICAgICBzdWItbGF5ZXJzIE1BWSBydW4gJ3VuZGVybmVhdGgnIHdoaWNoIG90aGVy IHN1Yi1sYXllcnMsIHdoZXJlDQogICAgICAgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8g YSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4NCiAgICAgICBGb3IgZXhhbXBsZSwgd2hl biB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBiZQ0KICAgICAgIGNvbm5l Y3RlZCB0byBydW4gdW5kZXJuZWF0aCB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZQ0K ICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAgICAgIGlmSW52Q2Fw U3RhY2tTdGF0dXMueC55PXRydWUNCg0KICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgZXhhY3Rs eSB0aGUgc2FtZSBudW1iZXIgb2Ygcm93cyBhcyB0aGUNCiAgICAgICBpZkNhcFN0YWNrVGFibGUs IGJ1dCB0aGUgcm93cyBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgb3JkZXIuDQoNCiAgICAgICBUaGlz IHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgYSBjcm9zcy1jb25uZWN0DQogICAg ICAgY2FwYWJpbGl0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiSUYtSU5WRVJURUQtU1RB Q0stTUlCLCBpZkludlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDIg fQ0KDQogICBpZkludkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg ICAgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUN CiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgICJJ bmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0N CiAgICAgICAgbGF5ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcnVuIHVu ZGVybmVhdGggdGhlDQogICAgICAgIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsDQogICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iDQog ICAgIElOREVYIHsgaWZTdGFja0xvd2VyTGF5ZXIsIGlmU3RhY2tIaWdoZXJMYXllciB9DQogICAg IDo6PSB7IGlmSW52Q2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgIElmSW52Q2FwU3RhY2tFbnRyeSA6 Oj0gU0VRVUVOQ0Ugew0KICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgICAgICBUcnV0aFZhbHVl DQogICAgfQ0KDQogICBpZkludkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgICAgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgICJUaGUg c3RhdHVzIG9mIHRoZSBwb3NzaWJsZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5Jw0KICAgICAg ICByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4NCg0KICAgICAgICBBbiBpbnN0 YW5jZSBvZiB0aGlzIG9iamVjdCBleGlzdHMgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgdGhlDQogICAg ICAgIGlmQ2FwU3RhY2tTdGF0dXMgb2JqZWN0LCBhbmQgdmljZSB2ZXJzYS4gRm9yIGV4YW1wbGUs IGlmIHRoZQ0KICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3RhdHVzLkguTCBleGlzdHMsIHRo ZW4gdGhlIHZhcmlhYmxlDQogICAgICAgIGlmSW52U3RhY2tTdGF0dXMuTC5IIG11c3QgYWxzbyBl eGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJbg0KICAgICAgICBhZGRpdGlvbiwgdGhlIHR3byB2YXJp YWJsZXMgYWx3YXlzIGhhdmUgdGhlIHNhbWUgdmFsdWUuDQoNCiAgICAgICAgVGhlIGlmSW52U3Rh Y2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQtb25seSwgYXMgaXQgZGVzY3JpYmVzDQogICAgICAgIGEg Y3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgICJpZkNh cFN0YWNrU3RhdHVzIg0KICAgICA6Oj0geyBpZkludkNhcFN0YWNrRW50cnkgMSB9DQoNCiAgLS0N CiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBpZkNhcFN0YWNrR3JvdXBz ICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1h bmNlIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgT0JKRUNUIElERU5USUZJRVIgOjo9 DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQ0KDQogICAtLSBVbml0cyBvZiBD b25mb3JtYW5jZQ0KDQogICBpZkNhcFN0YWNrR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVD VFMgew0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsDQogICAgICAgaWZJbnZDYXBTdGFja1N0YXR1 cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRpb24gb24gdGhlDQog ICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFja2VkKSBu ZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcy4iDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tHcm91cHMg MSB9DQoNCg0KICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgaWZDYXBTdGFja0NvbXBs aWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIFNOTVAgZW50 aXRpZXMsIHdoaWNoIHByb3ZpZGUNCiAgICAgICBpbmZvcm1hdGlvbiBvbiB0aGUgY3Jvc3MtY29u bmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyDQogICAgICAgKHN0YWNrZWQpIG5ldHdvcmsg aW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0DQogICAgICAgYmV0d2VlbiB0 aGUgc3ViLWxheWVycy4NCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRl cm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBSRVFVSVJFRDoNCiAgICAgICAN CiAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50DQogICAg ICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIElG LU1JQiAgICAgICAgICAgICAgICAgaWZDb21wbGlhbmNlMw0KICAgICAgIElGLUlOVkVSVEVELVNU QUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlIg0KDQogICAgIA0KICAgICBNT0RVTEUgIC0tIHRoaXMg bW9kdWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkNhcFN0YWNrR3Jv dXANCiAgICAgICB9DQogICAgICAgDQogICAgICAgT0JKRUNUICAgICAgIGlmQ2FwU3RhY2tTdGF0 dXMNCiAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQ0KICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhlIGZhbHNlKDIpIHZhbHVlIGlzIE9Q VElPTkFMIGZvcg0KICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgcGx1Z2dhYmxl IGludGVyZmFjZXMuIg0KDQogICAgICAgT0JKRUNUICAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMN CiAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQ0KICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhlIGZhbHNlKDIpIHZhbHVlIGlzIE9QVElP TkFMIGZvcg0KICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgcGx1Z2dhYmxlIGlu dGVyZmFjZXMuIg0KICAgICAgIA0KICAgICBNT0RVTEUgIElGLU1JQg0KICAgICAgIE1BTkRBVE9S WS1HUk9VUFMgew0KICAgICAgICAgaWZTdGFja0dyb3VwMg0KICAgICAgIH0NCg0KICAgICBNT0RV TEUgIElGLUlOVkVSVEVELVNUQUNLLU1JQg0KICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgew0KICAg ICAgICAgaWZJbnZTdGFja0dyb3VwDQogICAgICAgfQ0KICAgICAgIA0KICAgICA6Oj0geyBpZkNh cFN0YWNrQ29tcGxpYW5jZXMgMSB9DQpFTkQNCjwvcHJlPjwvZGl2Pg0KPGEgbmFtZT0iYW5jaG9y MTkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk IGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv dHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjYiPjwvYT48aDM+Ni4mbmJzcDsNCkVG TSBDb3BwZXIgTUlCIERlZmluaXRpb25zPC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxl OyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPkVG TS1DVS1NSUIgREVGSU5JVElPTlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVMRS1J REVOVElUWSwgT0JKRUNULVRZUEUsIE5PVElGSUNBVElPTi1UWVBFLCBJbnRlZ2VyMzIsDQogICAg VW5zaWduZWQzMiwgQ291bnRlcjMyLCBtaWItMg0KICAgICAgRlJPTSBTTk1QdjItU01JICAgICAg ICAgLS0gUkZDIDI1NzgNCiAgICBURVhUVUFMLUNPTlZFTlRJT04sIFRydXRoVmFsdWUsIFJvd1N0 YXR1cywgUGh5c0FkZHJlc3MNCiAgICAgIEZST00gU05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAy NTc5DQogICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgTk9USUZJQ0FUSU9OLUdS T1VQDQogICAgICBGUk9NIFNOTVB2Mi1DT05GICAgICAgICAtLSBSRkMgMjU4MA0KICAgIFNubXBB ZG1pblN0cmluZw0KICAgICAgRlJPTSBTTk1QLUZSQU1FV09SSy1NSUIgLS0gUkZDIDM0MTENCiAg ICBpZkluZGV4LCBpZlNwZWVkDQogICAgICBGUk9NIElGLU1JQiAgICAgICAgICAgICAtLSBSRkMg Mjg2Mw0KICAgIDsNCg0KICBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFU RUQgIjIwMDcwMjE4MDAwMFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNw0KICAgIE9SR0FOSVpBVElP TiAiSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQog ICAgQ09OVEFDVC1JTkZPDQogICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5p ZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGlu ZyBMaXN0czoNCiAgICAgICAgR2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAg ICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBC b2R5OiBzdWJzY3JpYmUgeW91cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBX aWpuZW4NCiAgICAgIFBvc3RhbDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdl biAzMw0KICAgICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0 aGVybGFuZHMNCiAgICAgICAgIFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3 aWpuZW5AYWxjYXRlbC1sdWNlbnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQog ICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXpl bCBTdC4sIFAuTy5CLiAxMDE3Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAg ICAgICAgICAgICAgSXNyYWVsDQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQog ICAgICBFLW1haWw6IGVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9O DQogICAgICAiVGhlIG9iamVjdHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIG1hbmFn ZQ0KICAgICAgdGhlIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIChFRk0pIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMNCiAgICAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMsIGRlZmluZWQgaW4g SUVFRSBTdGQuIDgwMi4zYWgtMjAwNCwNCiAgICAgIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgSUVF RSBTdGQuIDgwMi4zLTIwMDUuDQoNCiAgICAgIFRoZSBmb2xsb3dpbmcgcmVmZXJlbmNlcyBhcmUg dXNlZCB0aHJvdWdob3V0IHRoaXMgTUlCIG1vZHVsZToNCg0KICAgICAgWzgwMi4zYWhdIHJlZmVy cyB0bzoNCiAgICAgICAgSUVFRSBTdGQgODAyLjNhaC0yMDA0OiAnSUVFRSBTdGFuZGFyZCBmb3Ig SW5mb3JtYXRpb24NCiAgICAgICAgdGVjaG5vbG9neSAtIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQg aW5mb3JtYXRpb24gZXhjaGFuZ2UNCiAgICAgICAgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5k IG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0NCiAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1l bnRzIC0NCiAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRo IENvbGxpc2lvbg0KICAgICAgICBEZXRlY3Rpb24gKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5k IFBoeXNpY2FsIExheWVyDQogICAgICAgIFNwZWNpZmljYXRpb25zIC0NCiAgICAgICAgQW1lbmRt ZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbA0KICAgICAgICBM YXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MNCiAg ICAgICAgTmV0d29ya3MnLCAwNyBTZXB0ZW1iZXIgMjAwNC4NCg0KICAgICAgT2YgcGFydGljdWxh ciBpbnRlcmVzdCBhcmUgQ2xhdXNlIDYxLCAnUGh5c2ljYWwgQ29kaW5nDQogICAgICBTdWJsYXll ciAoUENTKSBhbmQgY29tbW9uIHNwZWNpZmljYXRpb25zLCB0eXBlIDEwUEFTUy1UUyBhbmQNCiAg ICAgIHR5cGUgMkJBU0UtVEwnLCBDbGF1c2UgMzAsICdNYW5hZ2VtZW50JywgQ2xhdXNlIDQ1LA0K ICAgICAgJ01hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8pIEludGVyZmFjZScsIEFu bmV4IDYyQSwNCiAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFTUy1UUycgYW5kIEFubmV4IDYz QSwgJ1BNRCBwcm9maWxlcyBmb3INCiAgICAgIDJCQVNFLVRMJy4NCg0KICAgICAgW0cuOTkxLjJd IHJlZmVycyB0bzoNCiAgICAgICAgSVRVLVQgUmVjb21tZW5kYXRpb24gRy45OTEuMjogJ1Npbmds ZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbA0KICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNM KSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAyMDAzLg0KDQogICAgICBbQU5GUF0gcmVmZXJzIHRv Og0KICAgICAgICBOSUNDIERvY3VtZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlvbiBv ZiB0aGUgQWNjZXNzDQogICAgICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxp Y2FibGUgdG8gdHJhbnNtaXNzaW9uDQogICAgICAgIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQgQWNj ZXNzIE5ldHdvcmssJyBBdWd1c3QgMjAwNS4NCg0KICAgICAgTmFtaW5nIENvbnZlbnRpb25zOg0K ICAgICAgICBBdG4gICAtIEF0dGVudWF0aW9uDQogICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZp Y2UNCiAgICAgICAgQ1BFICAgLSBDdXN0b21lciBQcmVtaXNlcyBFcXVpcG1lbnQNCiAgICAgICAg RUZNICAgLSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZQ0KICAgICAgICBFRk1DdSAtIEVGTSBD b3BwZXINCiAgICAgICAgTURJTyAgLSBNYW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0DQogICAg ICAgIE1nbiAgIC0gTWFyZ2luDQogICAgICAgIFBBRiAgIC0gUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0 aW9uDQogICAgICAgIFBCTyAgIC0gUG93ZXIgQmFjay1PZmYNCiAgICAgICAgUENTICAgLSBQaHlz aWNhbCBDb2RpbmcgU3VibGF5ZXINCiAgICAgICAgUE1EICAgLSBQaHlzaWNhbCBNZWRpdW0gRGVw ZW5kZW50DQogICAgICAgIFBNRSAgIC0gUGh5c2ljYWwgTWVkaXVtIEVudGl0eQ0KICAgICAgICBQ U0QgICAtIFBvd2VyIFNwZWN0cmFsIERlbnNpdHkNCiAgICAgICAgU05SICAgLSBTaWduYWwgdG8g Tm9pc2UgUmF0aW8NCiAgICAgICAgVENQQU0gLSBUcmVsbGlzIENvZGVkIFB1bHNlIEFtcGxpdHVk ZSBNb2R1bGF0aW9uDQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcp LiAgVGhpcyB2ZXJzaW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMg WFhYWDsgIHNlZSB0aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4i DQoNCiAgICBSRVZJU0lPTiAgICAiMjAwNzAyMTgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3 DQogICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhY LiINCg0KICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBu dW1iZXIgJg0KICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KIA0KICAgIDo6PSB7IG1pYi0yIFlZ WSB9DQoNCiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBZWVkgd2l0aCBhIHJlYWwgT0lEIG9uY2Ug aXQgaXMNCiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNl Y3Rpb25zIG9mIHRoZSBtb2R1bGUNCg0KICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJ RklFUiA6Oj0geyBlZm1DdU1JQiAxIH0NCg0KICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdU1JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUN Cg0KICAgZWZtQ3VQb3J0ICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVj dHMgMSB9DQoNCiAgIGVmbUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZt Q3VPYmplY3RzIDIgfQ0KDQogICAtLSBUZXh0dWFsIENvbnZlbnRpb25zDQoNCiAgIEVmbVByb2Zp bGVJbmRleCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAgIERJU1BMQVktSElOVCAiZCINCiAg ICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB1bmlx dWUgdmFsdWUsIGdyZWF0ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29uZmlndXJhdGlvbg0K ICAgICAgIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5E RUQgdGhhdA0KICAgICAgIHZhbHVlcyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5n IGZyb20gMS4gVGhlIHZhbHVlDQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNUIHJlbWFpbiBj b25zdGFudCBhdCBsZWFzdCBmcm9tIG9uZQ0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBlbnRpdHkncyBuZXR3b3JrIG1hbmFnZW1lbnQgc3lzdGVtDQogICAgICAgdG8gdGhlIG5leHQg cmUtaW5pdGlhbGl6YXRpb24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMS4uMjU1 KQ0KDQogICBFZm1Qcm9maWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAg ICBESVNQTEFZLUhJTlQgImQiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBv ZiBFZm1Qcm9maWxlSW5kZXgNCiAgICAgICBjb252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMg YSBncmVhdGVyIHRoYW4gemVybyB2YWx1ZSB1c2VkDQogICAgICAgdG8gaWRlbnRpZnkgYSBQTUUg cHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzDQogICAgICAgZXh0ZW5zaW9u IHBlcm1pdHMgdGhlIGFkZGl0aW9uYWwgdmFsdWUgb2YgemVyby4gVGhlIHZhbHVlIG9mDQogICAg ICAgemVybyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5kIE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQg YXMgcGFydA0KICAgICAgIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdoaWNoIHVz ZXMgdGhpcyBzeW50YXguDQogICAgICAgRXhhbXBsZXMgb2YgdGhlIHVzYWdlIG9mIHplcm8gdmFs dWUgbWlnaHQgaW5jbHVkZSBzaXR1YXRpb25zDQogICAgICAgd2hlcmUgY3VycmVudCBvcGVyYXRp b25hbCBwcm9maWxlIGlzIHVua25vd24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAo MC4uMjU1KQ0KDQogICBFZm1Qcm9maWxlSW5kZXhMaXN0IDo6PSBURVhUVUFMLUNPTlZFTlRJT04N CiAgICAgRElTUExBWS1ISU5UICIxZDoiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIlJlcHJlc2VudHMgYSBsaXN0IG9mIHVwIHRvIDYgRWZtUHJv ZmlsZUluZGV4J3MuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleCB0ZXh0dWFsIGNvbnZlbnRp b24gZGVmaW5lcyBhIGdyZWF0ZXIgdGhhbg0KICAgICAgIHplcm8gdmFsdWUgdXNlZCB0byBpZGVu dGlmeSBhIFBNRSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1DQogICAgICAgcG9ydC4gVGhl IHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIGEgY29uY2F0ZW5hdGlvbiBvZiBvbmUgb3INCiAgICAg ICBtb3JlICh1cCB0byA2KSBvY3RldHMsIHdoZXJlIGVhY2ggb2N0ZXQgY29udGFpbnMgYW4gOC1i aXQNCiAgICAgICBFZm1Qcm9maWxlSW5kZXggdmFsdWUuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJ bmRleExpc3Qgc3BlY2lmaWVzIGEgbGlzdCBvZiBhbHRlcm5hdGl2ZQ0KICAgICAgIHByb2ZpbGVz LCBhbnkgb2Ygd2hpY2ggY2FuIGJlIGNob3NlbiBmb3IgY29uZmlndXJhdGlvbiBvZiBhbg0KICAg ICAgIFBNRS4iDQogICAgIFNZTlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMS4uNikpDQoN CiAgIEVmbVRydXRoVmFsdWVPclVua25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBT VEFUVVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRleHR1 YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICBj b252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGggDQogICAg ICAgcG9zc2libGUgdmFsdWVzIG9mIHRydWUoMSkgYW5kIGZhbHNlKDIpLiBUaGlzDQogICAgICAg ZXh0ZW5zaW9uIHBlcm1pdHMgdGhlIGFkZGl0aW9uYWwgdmFsdWUgb2YgdW5rbm93bigwKSwgd2hp Y2gNCiAgICAgICBjYW4gYmUgcmV0dXJuZWQgYXMgYSByZXN1bHQgb2YgR0VUIG9wZXJhdGlvbiwg d2hlbiBhbiBleGFjdA0KICAgICAgIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgdGhlIG9iamVjdCBj YW5ub3QgYmUgZGV0ZXJtaW5lZC4iDQogICAgIFNZTlRBWCAgICAgICBJTlRFR0VSIHsgdW5rbm93 bigwKSwgdHJ1ZSgxKSwgZmFsc2UoMikgfQ0KDQogIC0tIFBvcnQgTm90aWZpY2F0aW9ucyBHcm91 cA0KDQogICBlZm1DdVBvcnROb3RpZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVm bUN1UG9ydCAwIH0NCiAgIA0KICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZ UEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgLS0gaWZJbmRleCBpcyBub3QgbmVlZGVkIGhlcmUg c2luY2Ugd2UgYXJlIHVuZGVyIHNwZWNpZmljIFBDUw0KICAgICAgIGlmU3BlZWQsDQogICAgICAg ZWZtQ3VUaHJlc2hMb3dSYXRlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0 aGUgRUZNQ3UgcG9ydCcgZGF0YSByYXRlDQogICAgICAgaGFzIHJlYWNoZWQvZHJvcHBlZCBiZWxv dyBvciBleGNlZWRlZCB0aGUgbG93IHJhdGUgdGhyZXNob2xkLA0KICAgICAgIHNwZWNpZmllZCBi eSBlZm1DdVRocmVzaExvd1JhdGUuDQoNCiAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUg c2VuZCBmb3IgdGhlIC1PIHN1YnR5cGUgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RT LU8pIHdoaWxlIHRoZSBwb3J0IGlzIHVwLCBvbiB0aGUgY3Jvc3NpbmcNCiAgICAgICBldmVudCBp biBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFsIChyYXRlIGlzIGFib3ZlIHRoZQ0KICAgICAg IHRocmVzaG9sZCkgdG8gbG93IChyYXRlIGVxdWFscyB0aGUgdGhyZXNob2xkIG9yIGJlbG93IGl0 KSBhbmQNCiAgICAgICBmcm9tIGxvdyB0byBub3JtYWwuIFRoaXMgbm90aWZpY2F0aW9uIGlzIG5v dCBhcHBsaWNhYmxlIHRvDQogICAgICAgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAgSXQgaXMg UkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIuNSBzZWMsDQog ICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5kIG5vdGlmaWNh dGlvbiwNCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IHNpbXVsdGFuZW91cyBMaW5r VXAvTGlua0Rvd24gYW5kDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9u cyB0byBiZSBzZW50Lg0KDQogICAgICAgVGhlIGFkYXB0aXZlIG5hdHVyZSBvZiB0aGUgRUZNQ3Ug dGVjaG5vbG9neSBhbGxvd3MgdGhlIHBvcnQgdG8NCiAgICAgICBhZGFwdCBpdHNlbGYgdG8gdGhl IGNoYW5nZXMgaW4gdGhlIGNvcHBlciBlbnZpcm9ubWVudCwgZS5nLg0KICAgICAgIGFuIGltcHVs c2Ugbm9pc2UsIGFsaWVuIGNyb3NzdGFsayBvciBhIG1pY3JvLWludGVycnVwdGlvbiBtYXkNCiAg ICAgICB0ZW1wb3JhcmlseSBkcm9wIG9uZSBvciBtb3JlIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9u IGdyb3VwLA0KICAgICAgIGNhdXNpbmcgYSByYXRlIGRlZ3JhZGF0aW9uIG9mIHRoZSBhZ2dyZWdh dGVkIEVGTUN1IGxpbmsuDQogICAgICAgVGhlIGRyb3BwZWQgUE1FcyB3b3VsZCB0aGVuIHRyeSB0 byByZS1pbml0aWFsaXplLCBwb3NzaWJseSBhdA0KICAgICAgIGEgbG93ZXIgcmF0ZSB0aGFuIGJl Zm9yZSwgYWRqdXN0aW5nIHRoZSByYXRlIHRvIHByb3ZpZGUNCiAgICAgICByZXF1aXJlZCB0YXJn ZXQgU05SIG1hcmdpbi4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24g aXMgY29udHJvbGxlZCBieSB0aGUgDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUg b2JqZWN0LiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyAxIH0NCg0KICAgLS0g UENTIFBvcnQgZ3JvdXANCg0KICAgZWZtQ3VQb3J0Q29uZlRhYmxlIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIEVGTUN1IDJCQVNFLVRM LzEwUEFTUy1UUyAoUENTKQ0KICAgICAgIFBvcnRzLiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVT VCBiZSBtYWludGFpbmVkIGluIGENCiAgICAgICBwZXJzaXN0ZW50IG1hbm5lciINCiAgICAgOjo9 IHsgZWZtQ3VQb3J0IDEgfQ0KDQogICBlZm1DdVBvcnRDb25mRW50cnkgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBvcnQgQ29uZmlndXJhdGlvbiB0YWJsZS4NCiAg ICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBp ZkluZGV4Lg0KICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBv ZiBhIHNpbmdsZQ0KICAgICAgIG9yIG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxz byBpbmRleGVkIGJ5IGlmSW5kZXguIg0KICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgOjo9 IHsgZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBvcnRDb25mRW50cnkgOjo9DQog ICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAgICAgICAgICAgIFBoeXNBZGRy ZXNzLA0KICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAgIEVmbVByb2ZpbGVJ bmRleExpc3QsDQogICAgICAgZWZtQ3VUYXJnZXREYXRhUmF0ZSAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVRhcmdldFNuck1nbiAgICAgICAgICAgICAgICBVbnNpZ25lZDMy LA0KICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAgICAgIFRydXRoVmFsdWUsDQog ICAgICAgZWZtQ3VUaHJlc2hMb3dSYXRlICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZSAgICAgICBUcnV0aFZhbHVlDQogICAgIH0NCg0K ICAgZWZtQ3VQQUZBZG1pblN0YXRlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRF R0VSIHsNCiAgICAgICBlbmFibGVkKDEpLA0KICAgICAgIGRpc2FibGVkKDIpDQogICAgIH0NCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkFkbWluaXN0cmF0aXZlIChkZXNpcmVkKSBzdGF0ZSBvZiB0 aGUgUEFGIG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykuDQogICAgICAgV2hlbiAnZGlz YWJsZWQnLCBQTUUgQWdncmVnYXRpb24gd2lsbCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQ0KICAg ICAgIFBDUy4gTm8gbW9yZSB0aGFuIGEgc2luZ2xlIFBNRSBjYW4gYmUgYXNzaWduZWQgdG8gdGhp cyBQQ1MgaW4NCiAgICAgICB0aGlzIGNhc2UuDQogICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3 aWxsIGJlIHBlcmZvcm1lZCBieSB0aGUgUENTIHdoZW4gdGhlIGxpbmsNCiAgICAgICBpcyBVcCwg ZXZlbiBvbiBhIHNpbmdsZSBhdHRhY2hlZCBQTUUsIGlmIFBBRiBpcyBzdXBwb3J0ZWQuDQoNCiAg ICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBh IHZhbHVlIG9mDQogICAgICAgJ2Rpc2FibGVkJy4gQXR0ZW1wdHMgdG8gJ2VuYWJsZScgc3VjaCBw b3J0cyBTSEFMTCBiZSByZWplY3RlZC4NCg0KICAgICAgIFBBRiAnZW5hYmxlZCcgcG9ydCB3aXRo IG11bHRpcGxlIFBNRXMgYXNzaWduZWQgY2Fubm90IGJlDQogICAgICAgJ2Rpc2FibGVkJy4gQXR0 ZW1wdHMgdG8gJ2Rpc2FibGUnIHN1Y2ggcG9ydCBTSEFMTCBiZSByZWplY3RlZCwNCiAgICAgICB1 bnRpbCBhdCBtb3N0IG9uZSBQTUUgaXMgbGVmdCBhc3NpZ25lZC4NCg0KICAgICAgIENoYW5naW5n IFBBRkFkbWluU3RhdGUgaXMgYSB0cmFmZmljIGRpc3J1cHRpdmUgb3BlcmF0aW9uIGFuZA0KICAg ICAgIGFzIHN1Y2ggU0hBTEwgYmUgZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uIEF0dGVtcHRz IHRvDQogICAgICAgY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBs aW5rIGlzIFVwIG9yDQogICAgICAgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3Qg bWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGQWRtaW5TdGF0ZS4NCg0KICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhl biB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFBBRiBlbmFibGUgYml0IGluIHRoZSAx MFAvMkIgUENTIGNvbnRyb2wNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDQ1LjIuMy4xOC4zIg0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMSB9DQoNCiAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgUGh5c0FkZHJlc3MgKFNJWkUoNikpDQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQgKFBDUyku DQogICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5 IGZ1bmN0aW9uLA0KICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAgICAgICBQQ1MgcG9y dHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHZhbHVlIG9mDQog ICAgICAgYWxsIHplcm9lcy4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJl IHJlamVjdGVkDQogICAgICAgaW4gdGhpcyBjYXNlLg0KICAgICAgIFRoaXMgb2JqZWN0IE1VU1Qg YmUgaW5zdGFudGlhdGVkIGZvciB0aGUgLU8gc3VidHlwZSBQQ1MgYmVmb3JlDQogICAgICAgd3Jp dGluZyBvcGVyYXRpb25zIG9uIHRoZSBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUNCiAgICAg ICAoU2V0X2lmX0NsZWFyIGFuZCBDbGVhcl9pZl9TYW1lKSBhcmUgcGVyZm9ybWVkIGJ5IFBNRXMN CiAgICAgICBhc3NvY2lhdGVkIHdpdGggdGhlIFBDUy4NCiAgICAgICBUaGUgaW5pdGlhbCB2YWx1 ZSBvZiB0aGlzIG9iamVjdCBmb3IgLVIgc3VidHlwZSBwb3J0cyBhZnRlcg0KICAgICAgIHJlc2V0 IGlzIGFsbCB6ZXJvZXMuIEZvciAtUiBzdWJ0eXBlIHBvcnRzLCB0aGUgdmFsdWUgb2YgdGhpcw0K ICAgICAgIG9iamVjdCBjYW5ub3QgYmUgY2hhbmdlZCBkaXJlY3RseS4gVGhpcyB2YWx1ZSBtYXkg YmUgY2hhbmdlZA0KICAgICAgIGFzIGEgcmVzdWx0IG9mIHdyaXRpbmcgb3BlcmF0aW9uIG9uIHRo ZQ0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSBvYmplY3Qgb2YgcmVtb3RlIFBN RSBvZiAtTw0KICAgICAgIHN1YnR5cGUsIGNvbm5lY3RlZCB0byBvbmUgb2YgdGhlIGxvY2FsIFBN RXMgYXNzb2NpYXRlZCB3aXRoDQogICAgICAgdGhlIFBDUy4NCg0KICAgICAgIERpc2NvdmVyeSBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogICAgICAgQXR0ZW1wdHMg dG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2Ugb2YNCiAgICAg ICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMg VXAgb3INCiAgICAgICBJbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGUgUEFGIERpc2NvdmVyeSBj b2RlIG1hcHMgdG8gdGhlIGxvY2FsIERpc2NvdmVyeSBjb2RlDQogICAgICAgdmFyaWFibGUgaW4g UEFGIChub3RlIHRoYXQgaXQgZG9lcyBub3QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcNCiAgICAgICBD bGF1c2UgNDUgcmVnaXN0ZXIpIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYx LjIuMi44LjMsIDYxLjIuMi44LjQsIDQ1LjIuNi42LjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydENv bmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VBZG1pblByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleExpc3QNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRl c2lyZWQgY29uZmlndXJhdGlvbiBQcm9maWxlKHMpLCBjb21tb24gZm9yIGFsbCBQTUVzIGluIHRo ZQ0KICAgICAgIEVGTUN1IHBvcnQuIFRoaXMgb2JqZWN0IGlzIGEgbGlzdCBvZiBwb2ludGVycyB0 byBlbnRyaWVzIGluDQogICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3INCiAg ICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50DQog ICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIEVGTUN1IHBvcnQgYXMgaW5kaWNhdGVkIGJ5 DQogICAgICAgZWZtQ3VQb3J0U2lkZS4NCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3Qg aXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5kaWNlcyBvZg0KICAgICAgIFByb2ZpbGVzLiBJZiB0aGlz IGxpc3QgY29uc2lzdHMgb2YgYSBzaW5nbGUgUHJvZmlsZSBpbmRleCwNCiAgICAgICB0aGVuIGFs bCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFMTCBiZSBjb25maWd1cmVkDQog ICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9maWxlIHJlZmVyZW5jZWQgYnkgdGhhdCBpbmRleCwg dW5sZXNzIGl0DQogICAgICAgaXMgb3ZlcndyaXR0ZW4gYnkgY29ycmVzcG9uZGluZyBub24temVy byBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICB3aGljaCB0YWtlcyBwcmVjZWRlbmNlIG92 ZXIgZWZtQ3VBZG1pblByb2ZpbGUuDQogICAgICAgVGhlIGxpc3QsIGNvbnNpc3Rpbmcgb2YgbW9y ZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2ggUE1FDQogICAgICAgaW4gdGhlIHBvcnQgdG8g YmUgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gYW55IFByb2ZpbGUNCiAgICAgICBzcGVjaWZpZWQg aW4gdGhlIGxpc3QuDQogICAgICAgQnkgZGVmYXVsdCB0aGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBv ZiAweDAxLCByZWZlcmVuY2luZyAxc3QNCiAgICAgICBlbnRyeSBpbiBlZm1DdVBtZTJCUHJvZmls ZVRhYmxlIG9yIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3Qg aXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8gc3VidHlwZQ0KICAgICAgICgyQmFz ZVRMLU8gb3IgMTBQYXNzVFMtTykgRUZNQ3UgcG9ydHMuIEl0IGlzIHVuc3VwcG9ydGVkIGZvcg0K ICAgICAgIHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzLg0K DQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgUHJvZmlsZSB2YWx1ZSBpcyBh dmFpbGFibGUgdmlhDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QuDQoNCiAgICAg ICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUg bGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNU IGJlIHJlamVjdGVkLCBpZiB0aGUNCiAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4N CiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSBsaXN0IHdpdGggYSBtZW1i ZXINCiAgICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9mIHRoZSBpbmRleCBmb3Ig YW4gYWN0aXZlIGVudHJ5DQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZSB0YWJs ZSwgTVVTVCBiZSByZWplY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgJzAxJ0ggfQ0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwfDk5OTk5OSkNCiAgICAg VU5JVFMgICAgICAgIkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJEZXNpcmVkIEVGTUN1 IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRlIGluDQogICAgICAgS2Jw cywgdG8gYmUgYWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1bmRlciBzcGVjdHJhbA0K ICAgICAgIHJlc3RyaWN0aW9ucyBwbGFjZWQgb24gZWFjaCBQTUUgdmlhIGVmbUN1QWRtaW5Qcm9m aWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGggdGhlIGRlc2lyZWQgU05S IE1hcmdpbiBzcGVjaWZpZWQgYnkNCiAgICAgICBlZm1DdVRhcmdldFNuck1nbi4NCiAgICAgICBJ biBjYXNlIG9mIFBBRiwgdGhpcyBvYmplY3QgcmVwcmVzZW50cyBhIHN1bSBvZiBpbmRpdmlkdWFs IFBNRQ0KICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBlbnNhdGUgZm9yIGZyYWdt ZW50YXRpb24gYW5kDQogICAgICAgNjQvNjVCIGZyYW1pbmcgb3ZlcmhlYWQgKGUuZy4gdGFyZ2V0 IGRhdGEgcmF0ZSBvZiAxME1icHMNCiAgICAgICBTSEFMTCBhbGxvdyBsb3NzbGVzcyB0cmFuc21p c3Npb24gb2YgZnVsbC1kdXBsZXggMTBNYnBzDQogICAgICAgRXRoZXJuZXQgZnJhbWUgc3RyZWFt IHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLg0KDQogICAgICAgVGhlIHZhbHVlIGlzIGxp bWl0ZWQgYWJvdmUgYnkgMTAwTWJwcyBhcyB0aGlzIGlzIHRoZSBtYXgNCiAgICAgICBidXJzdCBy YXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLg0KDQogICAgICAgVGhlIHZhbHVlIGJldHdl ZW4gMSBhbmQgMTAwMDAwIGluZGljYXRlcyB0aGF0IHRoZSB0b3RhbCBkYXRhDQogICAgICAgcmF0 ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gU0hBTEwN CiAgICAgICBiZSBlcXVhbCB0byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUg dGFyZ2V0IGRhdGENCiAgICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZlZCB1bmRlciBzcGVjdHJh bCByZXN0cmljdGlvbnMgc3BlY2lmaWVkDQogICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZt Q3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAgICAgICBtYXJnaW4uIElu IGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZQ0KICAgICAgIGhp Z2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBieSB0aGUgdGFyZ2V0LCB0 aGUNCiAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRv IGFkZGl0aW9uYWwgU05SDQogICAgICAgbWFyZ2luIG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5n IHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICBieSBlZm1DdUFkYXB0aXZlU3Bl Y3RyYS4NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMgdGhhdCB0aGUgdGFyZ2V0 IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBt YXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICBpbml0aWFsaXphdGlvbiAoQmVz dCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAgICByZXN0cmljdGlvbnMg YW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVh ZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1P LzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQogICAg ICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhlIFRhcmdldCBEYXRhIFJhdGUgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUNCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0 aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkDQogICAgICAgKGluIGNhc2Ugb2YgU05NUCB3aXRo IHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQ0KICAgICAgIGxpbmsgaXMgVXAg b3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgRGF0YSBSYXRlIG9m IHRoZSBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkDQogICAgICAgYnkgaWZTcGVlZCBvYmplY3Qg b2YgSUYtTUlCLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNCB9DQoN CiAgIGVmbUN1VGFyZ2V0U25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNp Z25lZDMyKDAuLjIxKQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJEZXNpcmVkIEVGTUN1IHBvcnQgU05SIE1hcmdpbiB0byBiZSBhY2hpZXZlZCBvbiBhbGwg UE1Fcw0KICAgICAgIGFzc2lnbmVkIHRvIHRoZSBwb3J0LCBkdXJpbmcgaW5pdGlhbGl6aWF0aW9u LiAoVGhlIFNOUiBtYXJnaW4NCiAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBk ZXNpcmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLg0KDQogICAgICAgTm90ZSB0aGF0IDgwMi4z YWggcmVjb21tZW5kcyB1c2luZyBkZWZhdWx0IFRhcmdldCBTTlIgTWFyZ2luDQogICAgICAgb2Yg NWRCIGZvciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3Jk ZXINCiAgICAgICB0byBhY2hpZXZlIG1lYW4gQml0IEVycm9yIFJhdGUgKEJFUikgb2YgMTBeLTcg YXQgdGhlIFBNQQ0KICAgICAgIHNlcnZpY2UgaW50ZXJmYWNlLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAo MkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlw ZXMuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhlIFRhcmdldCBTTlIgTWFyZ2luIE1V U1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlDQogICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0 byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZA0KICAgICAgIChpbiBjYXNlIG9m IFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUNCiAgICAgICBs aW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IFNO UiBNYXJnaW4gb2YgdGhlIFBNRXMgY29tcHJpc2luZyB0aGUgRUZNQ3UNCiAgICAgICBwb3J0IGlz IHJlcHJlc2VudGVkIGJ5IGVmbUN1UG1lU25yTWduLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVT VCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAiWzgwMi4zYWhdIDYxLjEuMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDUgfQ0KDQogICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIGhvdyB0 byB1dGlsaXplIGV4Y2VzcyBjYXBhY2l0eSB3aGVuIHRoZSBjb3BwZXINCiAgICAgICBlbnZpcm9u bWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhhdA0K ICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJnZXREYXRhUmF0ZS4NCiAgICAgICAgDQog ICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXNzIGNhcGFiaWxp dHkgU0hBTEwgYmUNCiAgICAgICByZWNsYWltZWQgYnkgbWluaW1pemluZyB0cmFuc21pdCBwb3dl ciwgZS5nLiB1c2luZyBoaWdoZXINCiAgICAgICBjb25zdGVsbGF0aW9ucyBhbmQgUG93ZXIgQmFj ay1PZmYsIGluIG9yZGVyIHRvIHJlZHVjZQ0KICAgICAgIGludGVyZmVyZW5jZSB0byBvdGhlciBj b3BwZXIgcGFpcnMgaW4gdGhlIGJpbmRlciBhbmQgdGhlIA0KICAgICAgIGFkdmVyc2UgaW1wYWN0 IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLg0KICAgICAgIA0KICAgICAgIFZhbHVlIG9mIGZh bHNlKDIpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTA0KICAgICAg IGJlIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5kIHNwcmVhZCBldmVubHkg YWNyb3NzDQogICAgICAgYWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRoZSAoUENTKSBwb3J0 LCB0byBpbmNyZWFzZSBsaW5rDQogICAgICAgcm9idXN0bmVzcy4NCg0KICAgICAgIFRoaXMgb2Jq ZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAg KDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5 cGVzLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZQ0KICAgICAgIG9mIFNOTVAgd2l0 aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcA0KICAgICAg 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 CiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JV bmtub3duLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMg0K ICAgICB9DQoNCiAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBG dW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUyku DQogICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1Mg Y2FuIHBlcmZvcm0NCiAgICAgICBQTUUgYWdncmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVz Lg0KICAgICAgIFBvcnRzIGluY2FwYWJsZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2Yg ZmFsc2UoMikuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlIGFQQUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJpdCBpbiB0aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0 eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAz MC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlF bnRyeSAxIH0NCg0KICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBw b3J0DQogICAgICAgKFBDUykgbGluayBwYXJ0bmVyLg0KICAgICAgIFRoaXMgb2JqZWN0IGhhcyBh IHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBDUyBjYW4NCiAgICAgICBwZXJmb3Jt IFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxhYmxlIFBNRXMuDQogICAgICAgUG9ydHMgd2hv c2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYsIFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAg ICAgb2YgZmFsc2UoMikuDQogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNo ZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0KICAgICAgIHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1 ZSBpZiB1bmtub3duKDApLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNl IDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQQUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBh IENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAg ICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBSZW1vdGUgUEFGIHN1cHBvcnRlZCBiaXQgaW4g dGhlDQogICAgICAgMTBQLzJCIGNhcGFiaWxpdHkgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjksIDQ1LjIuMy4xNy4yIg0KICAg ICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMiB9DQoNCiAgIGVmbUN1UEFGQ2FwYWNp dHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDEuLjMyKQ0KICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGNhbiBiZSBhZ2dyZWdhdGVk IGJ5IHRoZSBsb2NhbCBQQUYuDQogICAgICAgVGhlIG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBh c3NpZ25lZCB0byBhIHBhcnRpY3VsYXINCiAgICAgICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMp IGlzIG5ldmVyIGdyZWF0ZXIgdGhhbg0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlDQogICAgICAgYUxv Y2FsUEFGQ2FwYWNpdHkuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIu MiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAzIH0N Cg0KICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFVuc2lnbmVkMzIgKDB8MS4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQ TUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkgdGhlIFBBRiBvZiB0aGUgcGVlcg0KICAgICAg IFBoeSAoUENTIHBvcnQpLg0KICAgICAgIFZhbHVlIG9mIDAgaXMgcmV0dXJuZWQgd2hlbiBwZWVy IFBBRiBDYXBhY2l0eSBpcyB1bmtub3duDQogICAgICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQp Lg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0K ICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuMTAiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxp dHlFbnRyeSA0IH0NCg0KDQogICBlZm1DdVBvcnRTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRTdGF0dXNFbnRyeQ0KICAgICBNQVgt QUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgb3ZlcmFsbCBzdGF0dXMgaW5m b3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgcG9ydHMsIGNvbXBs ZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzDQogICAgICAgaW5mb3JtYXRpb24gZnJvbSB0aGUg aWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFibGUgb2YNCiAgICAgICBNQVUtTUlCLiBBZGRp dGlvbmFsIHN0YXR1cyBpbmZvcm1hdGlvbiBhYm91dCBjb25uZWN0ZWQgUE1Fcw0KICAgICAgIGlz IGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVzVGFibGUuDQoNCiAgICAgICBUaGlzIHRhYmxl IGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBlcXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAg aXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICA6Oj0geyBlZm1DdVBvcnQgMyB9DQoNCiAgIGVm bUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9y dFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhl IEVGTUN1IFBvcnQgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBh biBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFu IEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlw bGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAg IElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0N Cg0KICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBl Zm1DdUZsdFN0YXR1cyAgICAgICAgICAgICAgICAgICBCSVRTLA0KICAgICAgIGVmbUN1UG9ydFNp ZGUgICAgICAgICAgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VOdW1QTUVzICAgICAg ICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBBRkluRXJyb3JzICAgICAg ICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAg ICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAg IENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluQmFkRnJhZ21lbnRzICAgICAgICAgICBDb3Vu dGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMgICAgICAgICAgQ291bnRlcjMy LA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAg ICAgICBlZm1DdVBBRkluTG9zdEVuZHMgICAgICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAg ZWZtQ3VQQUZJbk92ZXJmbG93cyAgICAgICAgICAgICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAg ZWZtQ3VGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAg ICAgIG5vUGVlcigwKSwNCiAgICAgICBwZWVyUG93ZXJMb3NzKDEpLA0KICAgICAgIHBtZVN1YlR5 cGVNaXNtYXRjaCgyKSwNCiAgICAgICBsb3dSYXRlKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVsdCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAg b2YgcG9zc2libGUNCiAgICAgICBjb25kaXRpb25zLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25z IGFyZToNCiAgICAgICAgIG5vUGVlciAgICAgICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUg cmVhY2hlZCAoZS5nLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0 YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3duDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXRjLikgTW9yZSBpbmZvIGlzIGF2YWlsYWJsZSBpbg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLg0KICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAt IHBlZXIgUEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5kaW5nIHVuaXQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBsb3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBHYXNwJykuDQogICAgICAgICBwbWVTdWJU eXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXANCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgbm90IG9mIHRoZSBzYW1lIHN1Yi10eXBlLCBl LmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBQTUVzIGluIHRoZSBsb2Nh bCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgb3Ro ZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAgbG93UmF0ZSAgICAgICAgICAgICAtIGlmU3Bl ZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9wcGVkDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlDQoNCiAgICAgICBUaGlzIG9iamVjdCBp cyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBvYmplY3QNCiAgICAgICBpbiBJ Ri1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4gTUFVLU1JQi4NCg0KICAgICAgIEFkZGl0 aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAg ICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUg UE1FIGlmDQogICAgICAgUEFGIGlzIGRpc2FibGVkKS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAg ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5 IDEgfQ0KDQogICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsNCiAgICAgICBzdWJzY3JpYmVyKDEpLA0KICAgICAgIG9mZmljZSgyKSwNCiAgICAg ICB1bmtub3duKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRUZNIHBvcnQgbW9k ZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiAnc3Vic2NyaWJl cicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2lnbmF0ZWQgYXMNCiAgICAgICAnLVInIHN1YnR5 cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUgb2Ygc3VidHlwZQ0KICAgICAg ICctUicpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQg dGhlIHBvcnQgaXMNCiAgICAgICBkZXNpZ25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMg YXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZQ0KICAgICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAg ICAgVGhlIHZhbHVlIG9mICd1bmtub3duJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8g YXNzaWduZWQNCiAgICAgICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBu b3Qgb2YgdGhlIHNhbWUgc2lkZQ0KICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAg ICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUN CiAgICAgICBhUGh5RW5kIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAgIls4MDIuM2FoXSA2MS4x LCAzMC4xMS4xLjEuMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMiB9DQoNCiAg IGVmbUN1TnVtUE1FcyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAo MC4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgaXMgY3Vy cmVudGx5IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2FsIFBBRg0KICAgICAgIChhc3NpZ25lZCB0byB0 aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNrVGFibGUpLg0KICAgICAgIFRoaXMgbnVtYmVyIGlz IG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNhcGFjaXR5Lg0KDQogICAgICAgVGhpcyBvYmpl Y3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNyZW1lbnRlZCBvciBkZWNyZW1lbnRlZA0KICAg ICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVsZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0 IHVzaW5nDQogICAgICAgaWZTdGFja1RhYmxlLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNF bnRyeSAzIH0NCg0KICAgZWZtQ3VQQUZJbkVycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21l bnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUNCiAgICAgICBnYW1tYSBpbnRl cmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQgZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVh ZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgKG5vdCBpbmNyZW1lbnRlZCkgd2hlbiB0aGUNCiAg ICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQ QUYsIHRoZQ0KICAgICAgIGNvdW50ZXIgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAg ICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBw cmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBS WCBlcnJvciByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUg b2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9m IHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5k aWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjIxIg0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0NCg0KICAgZWZt Q3VQQUZJblNtYWxsRnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50 ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMgc21hbGxl ciB0aGFuIG1pbkZyYWdtZW50U2l6ZQ0KICAgICAgICg2NCBCeXRlcyksIHdoaWNoIGhhdmUgYmVl biByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hDQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJk ZWQuDQogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQ QUYgaXMNCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAg ICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFG IHNtYWxsIGZyYWdtZW50cw0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0 aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUt aW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGlt ZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRp bnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQog ICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjIiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDUgfQ0KDQogICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9m IGZyYWdtZW50cyBsYXJnZXIgdGhhbiBtYXhGcmFnbWVudFNpemUNCiAgICAgICAoNTEyIEJ5dGVz KSwgd2hpY2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBpbnRl cmZhY2UgYW5kIGRpc2NhcmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGlu YWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBV cG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHBy ZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAg ICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2Nj dXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2Yg aWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMyINCiAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9DQoNCiAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhlIHNlcXVl bmNlDQogICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLCB0aGF0 IGhhdmUgYmVlbg0KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFu ZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBu ZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVk LiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRz IHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50 ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBQQUYgYmFkIGZyYWdtZW50cw0KICAgICAgIHJlZ2lzdGVyLg0KDQog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9m IGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiDQogICAgIDo6PSB7 IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDcgfQ0KDQogICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBP QkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiQSBudW1iZXIgb2YgZ2FwcyBpbiB0aGUgc2VxdWVuY2Ugb2YgZnJhZ21lbnRzLCB3aGlj aCBoYXZlDQogICAgICAgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAo dGhlIGZyYW1lIGJ1ZmZlciBpcw0KICAgICAgIGZsdXNoZWQgdG8gdGhlIG5leHQgdmFsaWQgZnJh bWUgc3RhcnQsIHdoZW4gZnJhZ21lbnQvZnJhZ21lbnRzDQogICAgICAgZXhwZWN0ZWQgYnkgdGhl IGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uIGlzL2FyZSBub3QgcmVjZWl2ZWQpLg0KICAgICAgIFRo aXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAg dW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3Vu dGVyDQogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVu DQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IGZyYWdtZW50 DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBv ZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAg ICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMy4yNiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgOCB9DQoNCiAgIGVm bUN1UEFGSW5Mb3N0U3RhcnRzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIFN0YXJ0T2ZQYWNr ZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFtZSBhc3NlbWJseSBmdW5j dGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0K ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlz Y29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQog ICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQg b3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRl ckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjciDQogICAgIDo6PSB7IGVmbUN1UG9y dFN0YXR1c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVy IG9mIG1pc3NpbmcgRW5kT2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAg ICBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVy IGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2Fi bGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMg aXRzIHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8g SW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudA0KICAgICAgIHJl Z2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNv dW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFn ZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkg dGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQg aW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjgi DQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEwIH0NCg0KICAgZWZtQ3VQQUZJbk92 ZXJmbG93cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzLCByZWNlaXZlZCBhY3Jvc3MgdGhl IGdhbW1hIGludGVyZmFjZQ0KICAgICAgIGFuZCBkaXNjYXJkZWQsIHdoaWNoIHdvdWxkIGhhdmUg Y2F1c2VkIHRoZSBmcmFtZSBhc3NlbWJseQ0KICAgICAgIGJ1ZmZlciB0byBvdmVyZmxvdy4NCiAg ICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0K ICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0 aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0K ICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2Vu dCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgb3ZlcmZs b3cgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRo aXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUg bWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRl ZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVm aW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIu My4yNCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMTEgfQ0KDQogIC0tIFBNRSBO b3RpZmljYXRpb25zIEdyb3VwDQoNCiAgIGVmbUN1UG1lTm90aWZpY2F0aW9ucyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdVBtZSAwIH0NCiAgIA0KICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmcgTk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVMaW5l QXRuLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0bg0KICAgICB9DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24g aW5kaWNhdGVzIHRoYXQgdGhlIGxvb3AgYXR0ZW51YXRpb24NCiAgICAgICB0aHJlc2hvbGQgKGFz IHBlciB0aGUgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgICAgdmFsdWUpIGhhcyBiZWVuIHJl YWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMNCiAgICAgICBQTUUuIFRo aXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0KICAg ICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhj ZWVkZWQNCiAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0 IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVuIHRo ZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAgIGlz IGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUN CiAgICAgICBzZW50Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBp cyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJs ZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIGVm bUN1UG1lU25yTWduQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQog ICAgICAgZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24NCiAgICAg fQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRo aXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0K ICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoU25yTWduIHZhbHVlKSBoYXMgYmVlbg0K ICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FLg0K ICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVu dCBpbg0KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhjZWVkZWQgYW5k IGZyb20gZXhjZWVkZWQNCiAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBi ZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0K ICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlv bnMgdG8gYmUNCiAgICAgICBzZW50Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlm aWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3Nz aW5nRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAyIH0N Cg0KICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RT IHsNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuDQogICAgICAgZGV0ZWN0ZWQgYnkg YSB2ZW5kb3Igc3BlY2lmaWMgZGlhZ25vc3RpYyBvciBhIHNlbGYtdGVzdC4NCg0KICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgDQogICAg ICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBt ZU5vdGlmaWNhdGlvbnMgMyB9DQoNCiAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUgTk9USUZJ Q0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQog ICAgICAgZWZtQ3VBZG1pblByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUNCiAg ICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IFBNRSBpbml0aWFsaXphdGlvbiBoYXMN CiAgICAgICBmYWlsZWQsIGR1ZSB0byBpbmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvIGFjaGll dmUgcmVxdWVzdGVkDQogICAgICAgY29uZmlndXJhdGlvbiBwcm9maWxlLg0KDQogICAgICAgR2Vu ZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAg ICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1 UG1lTm90aWZpY2F0aW9ucyA0IH0NCg0KICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIE5P VElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVz LA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5nDQogICAgICAgaW5jb21wYXRpYmxlIHByb3RvY29s IGR1cmluZyBpbml0aWFsaXphdGlvbi4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3Rp ZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbElu aXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA1 IH0NCg0KICAgLS0gVGhlIFBNRSBncm91cA0KDQogICBlZm1DdVBtZUNvbmZUYWJsZSBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNvbmZFbnRyeQ0KICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIGNvbW1v biBhc3BlY3RzIGZvciBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUgcG9ydHMg KG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YNCiAgICAgICBhc3BlY3RzIHNwZWNpZmljIHRvIDJC QVNFLVRMIG9yIDEwUEFTUy1UUyBQTUUgdHlwZXMgaXMNCiAgICAgICByZXByZXNlbnRlZCBpbiBl Zm1DdVBtZTJCQ29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQ0KICAgICAgIHJlc3Bl Y3RpdmVseS4NCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50DQogICAgICAgbWFubmVyLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUg MSB9DQoNCiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lQ29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkg aW4gdGhlIEVGTUN1IFBNRSBDb25maWd1cmF0aW9uIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkg cmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0KICAgICAgIGlu ZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4gYmUN CiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkg aWZJbmRleCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBp ZiBQQUYgaXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWVDb25mRW50cnkgOjo9DQogICAgIFNF UVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4T3Ja ZXJvLA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSAgICBQaHlzQWRkcmVzcywN CiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAg IGVmbUN1UG1lVGhyZXNoU25yTWduICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQ bWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVTbnJN Z25Dcm9zc2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dEVuYWJsZSAgICAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVu YWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxl IFRydXRoVmFsdWUNCiAgICAgfQ0KDQogICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJCYXNlVExPKDEpLA0K ICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLA0KICAgICAg IGllZWUxMFBhc3NUU1IoNCksDQogICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwNCiAg ICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNPKDYpLA0KICAgICAgIGllZWUxMFBhc3NUU29yMkJh c2VUTE8oNykNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQWRtaW5pc3RyYXRpdmUg KGRlc2lyZWQpIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9zc2libGUgdmFsdWVzIGFy ZToNCiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAyQmFzZVRMLU8gDQogICAgICAgICBpZWVlMkJhc2VUTFIgICAgICAgICAgIC0gUE1FIFNIQUxM IG9wZXJhdGUgYXMgMkJhc2VUTC1SIA0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAgICAt IFBNRSBTSEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8gDQogICAgICAgICBpZWVlMTBQYXNzVFNS ICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUiANCiAgICAgICAgIGll ZWUyQmFzZVRMb3IxMFBhc3NUU1IgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgb3IN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NUUy1SLiBBY3R1YWwgdmFs dWUgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCBieSAtTyBs aW5rIHBhcnRuZXIgZHVyaW5nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5p dGlhbGl6YXRpb24gKGhhbmRzaGFrZSkuDQogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNP IC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMkJhc2VUTC1PDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMTBQYXNzVFMtTy4gQWN0dWFsDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1S DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxp dHkgKGkuZS4gaWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNh cGFibGUgb2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCYXNlVEwgbW9kZSwgMTBQYXNzVFMgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZWQpLg0KICAgICAgICAgaWVlZTEwUGFzc1RTb3IyQmFzZVRMTyAtIFBNRSBT SEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocHJlZmVycmVkKSBvciAyQmFzZVRMLU8uIEFjdHVhbA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGRlcGVuZGluZyBvbiAtUg0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsgcGFydG5lciBjYXBhYmlsaXR5IChpLmUu IGlmDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9m IHRoZSBwcmVmZXJyZWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NU UyBtb2RlLCAyQmFzZVRMIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1c2VkKS4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWluU3ViVHlwZSBp cyBhIHRyYWZmaWMgZGlzcnVwdGl2ZQ0KICAgICAgIG9wZXJhdGlvbiBhbmQgYXMgc3VjaCBTSEFM TCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFu Z2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsNCiAgICAgICBpcyBV cCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0 IHRvIGFuIHVuc3VwcG9ydGVkIHN1YnR5cGUNCiAgICAgICAoc2VlIGVmbUN1UG1lU3ViVHlwZXNT dXBwb3J0ZWQpIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhlIGN1cnJlbnQgb3BlcmF0 aW9uYWwgc3ViIHR5cGUgaXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSB2YXJpYWJsZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRo ZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2 YWx1ZXMgb2YgdGhlIFBvcnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMNCiAgICAgICBhbmQgdGhlIFBN QS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQNCiAgICAgICBj b250cm9sIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjEs IDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkg MSB9DQoNCiAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2ly ZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyDQog ICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3INCiAg ICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IG9w ZXJhdGluZw0KICAgICAgIFN1YlR5cGUgb2YgdGhlIFBNRS4gVGhlIHZhbHVlIG9mIHRoaXMgb2Jq ZWN0IGlzIHRoZSBpbmRleCBvZg0KICAgICAgIHRoZSByZWZlcmVuY2VkIHByb2ZpbGUuDQogICAg ICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IHRoZSBQTUUgaXMN CiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3QgZm9yIHRoZSBQ Q1MgcG9ydCwNCiAgICAgICB0byB3aGljaCB0aGlzIFBNRSBpcyBhc3NpZ25lZC4gVGhhdCBpcywg dGhlIHByb2ZpbGUgcmVmZXJlbmNlZA0KICAgICAgIGJ5IGVmbUN1UG1lQWRtaW5Qcm9maWxlIHRh a2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgcHJvZmlsZShzKQ0KICAgICAgIHJlZmVyZW5jZWQgYnkg ZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBhbmQg cmVhZGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VUTC1PIG9yIDEw UGFzc1RTLU8pLiBJdCBpcyB1bnN1cHBvcnRlZCBmb3IgdGhlIENQRSANCiAgICAgICBzdWJ0eXBl ICgyQmFzZVRMLVIgb3IgMTBQYXNzVFMtUikuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBv cGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2aWENCiAgICAgICBlZm1DdVBt ZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVj dCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzDQogICAgICAgRG93bi4gQXR0ZW1w dHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAg IGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlz IG9iamVjdCB0byBhIHZhbHVlIHRoYXQgaXMgbm90IHRoZSB2YWx1ZQ0KICAgICAgIG9mIHRoZSBp bmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUNCiAg ICAgICB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJb ODAyLjNhaF0gMzAuMTEuMi4xLjYiDQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1D dVBtZUNvbmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkNCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlBBRiBSZW1vdGUgRGlzY292ZXJ5IENvZGUgb2YgdGhlIFBNRSBwb3J0 IGF0IENPLiANCiAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgcGVl ciBQQ1MgY29ubmVjdGVkIHZpYQ0KICAgICAgIHRoZSBQTUUuDQogICAgICAgUmVhZGluZyB0aGlz IG9iamVjdCByZXN1bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24uIA0KICAgICAgIFNl dHRpbmcgdGhpcyBvYmplY3QgdG8gYWxsIHplcm9lcyByZXN1bHRzIGluIGEgRGlzY292ZXJ5DQog ICAgICAgQ2xlYXJfaWZfU2FtZSBvcGVyYXRpb24gKHRoZSB2YWx1ZSBvZiBlZm1DdVBBRkRpc2Nv dmVyeUNvZGUNCiAgICAgICBhdCB0aGUgcGVlciBQQ1MgU0hBTEwgYmUgdGhlIHNhbWUgYXMgZWZt Q3VQQUZEaXNjb3ZlcnlDb2RlIG9mDQogICAgICAgdGhlIGxvY2FsIFBDUyBhc3NvY2lhdGVkIHdp dGggdGhlIFBNRSBmb3IgdGhlIG9wZXJhdGlvbiB0bw0KICAgICAgIHN1Y2NlZWQpLg0KICAgICAg IFdyaXRpbmcgYSBub24temVybyB2YWx1ZSB0byB0aGlzIG9iamVjdCByZXN1bHRzIGluIGENCiAg ICAgICBEaXNjb3ZlcnkgU2V0X2lmX0NsZWFyIG9wZXJhdGlvbi4NCiAgICAgICBBIHplcm8tbGVu Z3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbiBhdHRlbXB0IHRvDQogICAg ICAgcmVhZCB0aGlzIG9iamVjdCB3aGVuIFBBRiBhZ2dyZWdhdGlvbiBpcyBub3QgZW5hYmxlZC4N Cg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgaW4gQ1BFIHBvcnQgKC1SKSBzdWJ0 eXBlczogaW4gdGhpcw0KICAgICAgIGNhc2UgYSB6ZXJvIGxlbmd0aCBvY3RldCBzdHJpbmcgU0hB TEwgYmUgcmV0dXJuZWQgb24gYW4NCiAgICAgICBhdHRlbXB0IHRvIHJlYWQgdGhpcyBvYmplY3Qs IHdyaXRpbmcgdG8gdGhpcyBvYmplY3QgU0hBTEwNCiAgICAgICBiZSBpZ25vcmVkLg0KICAgICAg IA0KICAgICAgIERpc2NvdmVyeSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzIERv d24uDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0 ZWQgKGluIGNhc2Ugb2YNCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZh bHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3INCiAgICAgICBJbml0aWFsaXppbmcuDQogICAgICAg DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMg cHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGlzIGEgZnVuY3Rpb24gb2YgMTBQLzJC IGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeQ0KICAgICAgIGNvbnRyb2wgcmVnaXN0ZXIsIERpc2NvdmVy eSBvcGVyYXRpb24gcmVzdWx0IGJpdHMgaW4gMTBQLzJCDQogICAgICAgYWdncmVnYXRpb24gYW5k IGRpc2NvdmVyeSBzdGF0dXMgcmVnaXN0ZXIgYW5kDQogICAgICAgMTBQLzJCIGFnZ3JlZ2F0aW9u IGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4z YWhdIDYxLjIuMi44LjQsIDQ1LjIuNi42LTQ1LjIuNi44Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSAzIH0NCg0KICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggIEludGVnZXIzMigtMTI3Li4xMjgpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQg Zm9yIHRoZSAyQi8xMFAgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxp bmUgYXR0ZW51YXRpb24gYWxhcm0gdGhyZXNob2xkLg0KICAgICAgIFdoZW4gdGhlIGN1cnJlbnQg dmFsdWUgb2YgTGluZSBBdHRlbnVhdGlvbiByZWFjaGVzIG9yDQogICAgICAgZXhjZWVkcyB0aGlz IHRocmVzaG9sZCwgYSBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgIG5vdGlmaWNhdGlv biBNQVkgYmUgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5DQogICAgICAgZWZtQ3VQbWVMaW5lQXRu Q3Jvc3NpbmdFbmFibGUuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUg Zm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMgKC1PKS4NCiAgICAgICBJdCBpcyByZWFkLW9ubHkgZm9y IHRoZSBDUEUgc3VidHlwZSAoLVIpLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIG9mIHRoZSBM aW5lIEF0dGVudWF0aW9uIFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZA0KICAgICAgIHdoZW4g dGhlIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUN CiAgICAgICByZWplY3RlZCAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lz dGVudFZhbHVlKSwNCiAgICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQog ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIExvb3AgYXR0 ZW51YXRpb24gdGhyZXNob2xkIGJpdHMgaW4NCiAgICAgICB0aGUgMkIgUE1EIGxpbmUgcXVhbGl0 eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS4zNiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNCB9DQoNCiAgIGVmbUN1 UG1lVGhyZXNoU25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIo LTEyNy4uMTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJEZXNpcmVkIFNOUiBNYXJnaW4gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBNRS4NCiAgICAg ICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRocmVzaG9sZC4N CiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNOUiBNYXJnaW4gcmVhY2hlcyBvciBl eGNlZWRzIHRoaXMNCiAgICAgICB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBu b3RpZmljYXRpb24gTUFZIGJlDQogICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5IGVmbUN1 UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMg d3JpdGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFz c1RTLVIpLiBJdCBpcyByZWFkLW9ubHkgZm9yIHRoZSBDUEUgc3VidHlwZQ0KICAgICAgICgyQmFz ZVRMLVIvMTBQYXNzVFMtUikuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhlIFNOUiBN YXJnaW4gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4NCiAgICAgICB0aGUgbGluayBp cyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgIHJl amVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCiAgICAgICAgDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgU05SIG1hcmdpbiB0aHJlc2hv bGQgYml0cyBpbiB0aGUgMkIgUE1EDQogICAgICAgbGluZSBxdWFsaXR5IHRocmVzaG9sZHMgcmVn aXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2Ig0KICAg ICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGlu dGVyZmFjZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhh dCBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVk LiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRp b24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA2IH0NCg0KICAg ZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIg ZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdl bmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZhbHVlIG9mIHRy dWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZw0KICAgICAgIG5vdGlm aWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAg ICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5k aWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVEZXZpY2VGYXVsdCBub3RpZmljYXRpb25zDQogICAgICAg c2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAg IFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VGYXVsdA0KICAg ICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMg dGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZFbnRyeSA4IH0NCg0KICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJsZSAg T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNT ICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBub3Rp ZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2Uu DQogICAgICAgIA0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQ bWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1 ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMg ZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5IH0NCg0KICAgZWZtQ3VQ bWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBU cnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0 cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQ0KICAgICAg IG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhh dA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1D dVBtZUNvbmZFbnRyeSAxMCB9DQoNCg0KICAgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVDYXBhYmlsaXR5RW50 cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBv ZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1F IHBvcnRzIChtb2RlbXMpLiBDb25maWd1cmF0aW9uIG9mDQogICAgICAgYXNwZWN0cyBzcGVjaWZp YyB0byAyQkFTRS1UTCBvciAxMFBBU1MtVFMgUE1FIHR5cGVzIGlzDQogICAgICAgcmVwcmVzZW50 ZWQgaW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUNCiAgICAg ICByZXNwZWN0aXZlbHkuDQoNCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudA0KICAgICAgIG1hbm5lci4iDQogICAgIDo6PSB7IGVm bUN1UG1lIDIgfQ0KDQogICBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBFZm1DdVBtZUNhcGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ2FwYWJpbGl0eSB0YWJsZS4NCiAg ICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1F IHBvcnQNCiAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3Ug UE1FIHBvcnQgY2FuIGJlDQogICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwg YWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsDQogICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBv dGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICBJTkRFWCAgeyBpZkluZGV4 IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgMSB9DQoNCiAgIEVmbUN1UG1l Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWVTdWJU eXBlc1N1cHBvcnRlZCAgICAgQklUUw0KICAgICB9DQoNCiAgIGVmbUN1UG1lU3ViVHlwZXNTdXBw b3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgIGllZWUy QmFzZVRMTygwKSwNCiAgICAgICBpZWVlMkJhc2VUTFIoMSksDQogICAgICAgaWVlZTEwUGFzc1RT TygyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNSKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiUE1FIHN1cHBvcnRlZCBzdWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2li bGUNCiAgICAgICBzdWItdHlwZXMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOiAgICAN CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBh cyAyQmFzZVRMLU8NCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxlIG9m IG9wZXJhdGluZyBhcyAyQmFzZVRMLVINCiAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNz VFNSICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMTBQYXNzVFMtUg0KICAgICAg IA0KICAgICAgIEFuIGRlc2lyZWQgbW9kZSBvZiBvcGVyYXRpb24gaXMgZGV0ZXJtaW5lZCBieQ0K ICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlLCB3aGlsZSBlZm1DdVBtZU9wZXJTdWJUeXBlIHJl ZmxlY3RzIHRoZQ0KICAgICAgIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUuDQogICAgICAgIA0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbiB0aGlzDQogICAgICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBh bmQgMkJBU0UtVEwgY2FwYWJsZQ0KICAgICAgIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EIHNw ZWVkIGFiaWxpdHkgcmVnaXN0ZXIgYW5kIHRoZQ0KICAgICAgIENPIHN1cHBvcnRlZCBhbmQgQ1BF IHN1cHBvcnRlZCBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAgIHN0YXR1cyByZWdp c3RlciINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuNC4x LCA0NS4yLjEuNC4yLCA0NS4yLjEuMTIuMiwNCiAgICAgICA0NS4yLjEuMTIuMyINCiAgICAgOjo9 IHsgZWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgMSB9DQoNCg0KICAgZWZtQ3VQbWVTdGF0dXNUYWJs ZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZVN0YXR1 c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBj b21tb24gc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNT LVRTIFBNRSBwb3J0cy4gU3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljDQogICAgICAgdG8gMTBQ QVNTLVRTIFBNRSBpcyByZXByZXNlbnRlZCBpbiBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlLg0KICAg ICAgIA0KICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhlIGVxdWlw bWVudC4gQXMgc3VjaCwNCiAgICAgICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iDQogICAgIDo6PSB7 IGVmbUN1UG1lIDMgfQ0KDQogICBlZm1DdVBtZVN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIEVmbUN1UG1lU3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIFN0YXR1cyB0YWJsZS4NCiAgICAgICBFYWNo IGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1FIHBvcnQNCiAg ICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQg Y2FuIGJlDQogICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRl eGVkIGJ5IGlmSW5kZXgsDQogICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBvdGhlciBQTUUg cG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAg Ojo9IHsgZWZtQ3VQbWVTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWVTdGF0dXNFbnRyeSA6 Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lT3BlclN0YXR1cyAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAgICAgICAgICAgQklUUywNCiAg ICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1 UG1lT3BlclByb2ZpbGUgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybywNCiAgICAgICBl Zm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVQ ZWVyU25yTWduICAgICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1lTGluZUF0biAg ICAgICAgICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuICAgICAg ICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3RoICAgICAgVW5z aWduZWQzMiwNCiAgICAgICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzICAgICAgICBDb3VudGVyMzIs DQogICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyDQogICAgIH0N Cg0KICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsNCiAgICAgICB1cCgxKSwNCiAgICAgICBkb3duTm90UmVhZHkoMiksDQogICAgICAg ZG93blJlYWR5KDMpLA0KICAgICAgIGluaXQoNCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJDdXJyZW50IFBNRSBsaW5rIE9wZXJhdGlvbmFsIFN0YXR1cy4gUG9zc2libGUgdmFsdWVz IGFyZToNCiAgICAgICAgIHVwKDEpICAgICAgICAgICAtIGxpbmsgaXMgVXAgYW5kIHJlYWR5IHRv IHBhc3MgNjQvNjVCDQogICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBv ciBmcmFnbWVudHMuDQogICAgICAgICBkb3duTm90UmVhZHkoMikgLSBsaW5rIGlzIERvd24gYW5k IHRoZSBQTUUgZG9lcyBub3QgZGV0ZWN0DQogICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5k c2hha2UgdG9uZXMgZnJvbSBpdHMgcGVlci4gVGhpcyB2YWx1ZQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWF5IGluZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoDQogICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGUgcGVlciBQTUUuDQogICAgICAgICBkb3duUmVhZHkoMykgICAg LSBsaW5rIGlzIERvd24gYW5kIHRoZSBQTUUgZGV0ZWN0cyBIYW5kc2hha2UNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRvbmVzIGZyb20gaXRzIHBlZXIuDQogICAgICAgICBpbml0KDQpICAg ICAgICAgLSBsaW5rIGlzIGluaXRpYWxpemluZywgYXMgYSByZXN1bHQgb2YNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmQWRtaW5TdGF0dXMgYmVpbmcgc2V0IHRvICd1cCcgZm9yIGENCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRoZSBQTUUg aXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZCB0by4NCiAgICAgICANCiAg ICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IERvd24gc3RhdGUgb2Yg DQogICAgICAgaWZPcGVyU3RhdHVzLg0KICAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0 aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFQTUVTdGF0dXMu DQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8g UE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgIFBNQS9QTUQgc3RhdHVz IHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEu MywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMSB9DQoNCiAg IGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBCSVRTIHsN CiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgIHNuck1nbkRlZmVjdCgxKSwNCiAgICAg ICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgIGRldmljZUZhdWx0KDMpLA0KICAgICAgIGNvbmZp Z0luaXRGYWlsdXJlKDQpLA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUoNSkNCiAgICAgfQ0K ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1bHQgU3RhdHVz LiBUaGlzIGlzIGEgYml0bWFwIG9mDQogICAgICAgcG9zc2libGUgY29uZGl0aW9ucy4gVGhlIHZh cmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCiAgICAgICAgIGxvc3NPZkZyYW1pbmcgICAgICAg LSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExvc3Mgb2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICBzbnJNZ25EZWZlY3Qg ICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hvbGQNCiAgICAgICAg IGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2VlZHMgdGhlIFRocmVz aG9sZA0KICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRvci1k ZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnbm9zdGljIG9yIHNl bGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcyBiZWVuIGRl dGVjdGVkLg0KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZpZ3VyYXRpb24gaW5p dGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUg dG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uDQogICAgICAgICBw cm90b2NvbEluaXRGYWlsdXJlIC0gUHJvdG9jb2wgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5jb21wYXRpYmxlIHByb3RvY29s IHVzZWQgYnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUGVlciBQTUUgZHVy aW5nIGluaXQgKHRoYXQgY291bGQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXBw ZW4gaWYgYSBwZWVyIFBNRCBpcyBhIHJlZ3VsYXIgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRy5TREhTTC9WRFNMIG1vZGVtIGluc3RlYWQgb2YgYQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLg0KICAgICAgIA0KICAgICAgIFRo aXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIGluIElGLU1J Qi4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0 aGUgbGFzdCBmYXVsdC4NCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyBpcyBjbGVhcmVkIGJ5IHRo ZSBkZXZpY2UgcmVzdGFydC4NCiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25m aWdJbml0RmFpbHVyZSBhbmQNCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVk IGJ5IFBNRSBpbml0Lg0KICAgICAgIGRldmljZUZhdWx0IGlzIGNsZWFyZWQgYnkgc3VjY2Vzc2Z1 bCBkaWFnbm9zdGljcy90ZXN0Lg0KICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVj dCBhcmUgY2xlYXJlZCBieSBTTlIgTWFyZ2luDQogICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24g cmVzcGVjdGl2ZWx5IHJldHVybmluZyB0byBub3JtIGFuZCBieQ0KICAgICAgIFBNRSBpbml0Lg0K IA0KICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlDQogICAgICAgYVBNRVN0YXR1cy4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAg IG9iamVjdCBjb25zb2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQNCiAg ICAgICByZWdpc3RlcnMsIG5hbWVseTogRmF1bHQgYml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVn aXN0ZXIsDQogICAgICAgMTBQLzJCIFBNQS9QTUQgbGluayBsb3NzIHJlZ2lzdGVyLA0KICAgICAg IDEwUCBvdXRnb2luZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgMTBQ IGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAyQiBzdGF0 ZSBkZWZlY3RzIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAz MC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LA0KICAgICAgIDQ1LjIuMS4zOSwgNDUu Mi4xLjU0Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIgfQ0KDQogICBlZm1DdVBt ZU9wZXJTdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAg ICAgICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGll ZWUxMFBhc3NUU08oMyksDQogICAgICAgaWVlZTEwUGFzc1RTUig0KQ0KICAgICB9DQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2YgdGhlIFBNRS4N CiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAg ICAgICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLU8gDQogICAgICAgICBpZWVlMkJhc2VUTFIg ICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtUiANCiAgICAgICAgIGllZWUxMFBh c3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtTyANCiAgICAgICAgIGll ZWUxMFBhc3NUU1IgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtUiANCiAgICAg ICANCiAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29u ZmlndXJlZCB2aWENCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNl bnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQg c3ViLXR5cGUgc2VsZWN0DQogICAgICAgYml0cywgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24g Yml0cyBpbiB0aGUgMTBQLzJCIA0KICAgICAgIFBNQS9QTUQgY29udHJvbCByZWdpc3RlciBhbmQg dGhlIFBNQS9QTUQgbGluayBzdGF0dXMgYml0cyBpbg0KICAgICAgIHRoZSAxMFAvMkIgUE1BL1BN RCBzdGF0dXMgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYx LjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVm bUN1UG1lU3RhdHVzRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lT3BlclByb2ZpbGUgIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybw0KICAgICBNQVgtQUND RVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJQTUUgY3VycmVudCBvcGVyYXRpbmcgUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMg YSBwb2ludGVyIHRvDQogICAgICAgYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxl VGFibGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRo ZSBjdXJyZW50DQogICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIFBNRSBhcyBpbmRpY2F0 ZWQgYnkNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlLg0KICAgICAgIE5vdGUgdGhhdCBhIHBy b2ZpbGUgZW50cnksIHRvIHdoaWNoIGVmbUN1UG1lT3BlclByb2ZpbGUgaXMNCiAgICAgICBwb2lu dGluZyB0bywgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwgdG8gcmVmbGVjdCBhY2hpZXZl ZA0KICAgICAgIHBhcmFtZXRlcnMgaW4gYWRhcHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRp b24sDQogICAgICAgaS5lLiB2YWx1ZXMgb2YgZWZtQ3VQbWVPcGVyUHJvZmlsZSBhbmQgZWZtQ3VB ZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBtYXkgZGlmZmVyLg0K ICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIGluZGljYXRlcyB0aGF0IFBNRSBpcyBkb3duIG9yIGlu aXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0 byB0aGUgYU9wZXJhdGluZ1Byb2ZpbGUNCiAgICAgICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNyINCiAgICAgOjo9 IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0NCg0KICAgZWZtQ3VQbWVTbnJNZ24gT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAgICAgVU5J VFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBTaWduYWwt dG8tTm9pc2UgUmF0aW8gKFNOUikgbWFyZ2luIHdpdGggcmVzcGVjdA0KICAgICAgIHRvIHRoZSBy ZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbCBQTUUuDQogICAgICAgVGhl IHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3INCiAgICAgICBp bml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBN RVNOUk1nbiBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVj dCBtYXBzIHRvIHRoZSAxMFAvMkIgUlggU05SIG1hcmdpbiByZWdpc3Rlci4iDQogICAgIFJFRkVS RU5DRQ0KICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjQsIDQ1LjIuMS4xNiINCiAgICAgOjo9 IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWVQZWVyU25yTWduIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAg IFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgU05S IG1hcmdpbiBpbiBkQiB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlY2VpdmVkDQogICAgICAgc2lnbmFs LCBhcyBwZXJjZWl2ZWQgYnkgdGhlIHJlbW90ZSAobGluayBwYXJ0bmVyKSBQTUUuDQogICAgICAg VGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3INCiAgICAg ICBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgbm90IHN1cHBv cnRlZCBieSAtUiBQTUUgc3VidHlwZXMuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMg dG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAgICAgIHJlZ2lzdGVy LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciDQogICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVO SVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBB dHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgUE1FLg0K ICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9y DQogICAgICAgaW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4xOCINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA3IH0N Cg0KICAgZWZtQ3VQbWVQZWVyTGluZUF0biBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ bnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoZSBjdXJyZW50IExpbmUgQXR0ZW51YXRpb24gaW4gZEIgYXMgcGVy Y2VpdmVkIGJ5IHRoZSByZW1vdGUNCiAgICAgICAobGluayBwYXJ0bmVyKSBQTUUuDQogICAgICAg VGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3INCiAgICAg ICBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgbm90IHN1cHBv cnRlZCBieSBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVj dCBtYXBzIHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24NCiAgICAg ICByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5 Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBtZUVxdWl2 YWxlbnRMZW5ndGggIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4u ODE5Mnw2NTUzNSkNCiAgICAgVU5JVFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IkFuIGVzdGltYXRlIG9mIHRoZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4N CiAgICAgICBtZXRlcnMsIGFzIHBlcmNlaXZlZCBieSB0aGUgUE1FIGFmdGVyIHRoZSBsaW5rIGlz IGVzdGFibGlzaGVkLg0KICAgICAgIEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90aGV0aWNh bCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhDQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBh dHRlbnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkNCiAgICAgICBicmlkZ2VkIHRh cHMuDQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIGlmIHRoZSBsaW5rIGlz IERvd24gb3INCiAgICAgICBJbml0aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0 aW1hdGUgdGhlIEVxdWl2YWxlbnQNCiAgICAgICBMZW5ndGguDQogICAgICAgDQogICAgICAgRm9y IDEwQkFTRS1UTCBQTUUsIGlmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMNCiAgICAgICBwcmVzZW50LCB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBFbGVj dHJpY2FsIExlbmd0aA0KICAgICAgIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4yMSINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA5IH0N Cg0KICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgNjQvNjUtb2N0 ZXQgZW5jYXBzdWxhdGlvbiBlcnJvcnMuIFRoaXMgY291bnRlciBpcw0KICAgICAgIGluY3JlbWVu dGVkIGZvciBlYWNoIDY0LzY1LW9jdGV0IGVuY2Fwc3VsYXRpb24gZXJyb3IgZGV0ZWN0ZWQNCiAg ICAgICBieSB0aGUgNjQvNjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4NCg0KICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gYVRDQ29kaW5nVmlvbGF0aW9ucyBhdHRyaWJ1dGUgaW4NCiAgICAgICBj bGF1c2UgMzAuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBNRSBUQyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgVEMgY29kaW5nIHZpb2xhdGlvbnMgcmVnaXN0ZXINCiAgICAgICAoc2VlIDQ1LjIuNi4x MikuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRl ciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVu dCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUg dmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJ Ri1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4xLCAzMC4x MS4yLjEuNSwgNDUuMi42LjEyIg0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDEwIH0N Cg0KICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBD b3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgVEMtQ1JDIGVycm9y cy4gVGhpcyBjb3VudGVyIGlzIGluY3JlbWVudGVkIGZvcg0KICAgICAgIGVhY2ggVEMtQ1JDIGVy cm9yIGRldGVjdGVkIGJ5IHRoZSA2NC82NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9uDQogICAgICAg KHNlZSA2MS4zLjMuMyBhbmQgRmlndXJlIDYxLTE5KS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1h cHMgdG8gYVRDQ1JDRXJyb3JzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCiAgICAg ICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENNRSBUQyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgVEMgQ1JDIGVy cm9yIHJlZ2lzdGVyDQogICAgICAgKHNlZSA0NS4yLjYuMTEpLg0KDQogICAgICAgRGlzY29udGlu dWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAg cmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIg dGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2Nv bnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA2MS4zLjMuMywgMzAuMTEuMi4xLjEwLCA0NS4yLjYuMTEiDQog ICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTEgfQ0KDQogIC0tIDJCQVNFLVRMIHNwZWNp ZmljIFBNRSBncm91cA0KDQogICBlZm1DdVBtZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9 IHsgZWZtQ3VQbWUgNSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQ0KICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMg b2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgb3BlcmF0aW5nIFByb2ZpbGVzIGZvciAyQkFT RS1UTCBQTUVzLg0KICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBh bHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYz QSk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBD b25zdGVsbGF0aW9uDQogICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBzKSAgKGRCbSkNCiAgICAg ICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t DQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNIChk ZWZhdWx0KQ0KICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAxMy41ICAgIDEgICAzMi1U Q1BBTQ0KICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41ICAgIDEgICAxNi1UQ1BB TQ0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0KICAg ICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0KICAgICAg ICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0KICAgICAgICAg IDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0KICAgICAgICAgIDkg ICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTAgICAg IDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTEgICAgICA3 MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTIgICAgICA1MTIg ICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTMgICAgICAxOTIgICAg NTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQpDQogICAgICAgICAxNCAg ICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAgMiAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCg0K ICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2Vu dA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAg ICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3Jl YXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2 ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGlu ZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFu bmV4IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDIgfQ0KDQogICBl Zm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1 UG1lMkJQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJFYWNoIGVudHJ5 IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBwcm9maWxlLg0KICAgICAgIEVh Y2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IN CiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgMkJBU0UtVEwgUE1F LiAgDQogICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZp YQ0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2Zp bGUgaWYNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50 IHRoZSBkZXNpcmVkDQogICAgICAgcGFyYW1ldGVycyB0aGUgMkJhc2VUTC1PIFBNRSBpbml0aWFs aXphdGlvbi4NCiAgICAgICBJZiBhIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVP cGVyUHJvZmlsZSBvYmplY3QsDQogICAgICAgaXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGlu ZyBwYXJhbWV0ZXJzIG9mIHRoZSANCiAgICAgICBvcGVyYXRpb25hbCBQTUUuDQogICAgICAgDQog ICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0 aW9uLw0KICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUyQlByb2ZpbGVSb3dT dGF0dXMuIElmIGFuDQogICAgICAgYWN0aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRy eSBNVVNUIHJlbWFpbiAnYWN0aXZlJw0KICAgICAgIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSBy ZW1vdmVkLg0KICAgICAgIERlZmF1bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiINCiAg ICAgSU5ERVggeyBlZm1DdVBtZTJCUHJvZmlsZUluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlByb2ZpbGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA6Oj0NCiAgICAg U0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggICAgICAgICAgIEVmbVBy b2ZpbGVJbmRleCwNCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyICAgICAgICAgICBTbm1w QWRtaW5TdHJpbmcsDQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiAgICAgICAgICAgICAgICAgSU5U RUdFUiwNCiAgICAgICBlZm1DdVBtZTJCc01vZGUgICAgICAgICAgICAgICAgICBFZm1Qcm9maWxl SW5kZXhPclplcm8sDQogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlICAgICAgICAgICAgVW5z aWduZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgICAgICAgICAgICBVbnNpZ25l ZDMyLA0KICAgICAgIGVmbUN1UG1lMkJQb3dlciAgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIs DQogICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24gICAgICAgICAgSU5URUdFUiwNCiAgICAg ICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyAgICAgICBSb3dTdGF0dXMNCiAgICAgfQ0KDQog ICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVm bVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjJCQVNFLVRMIFBNRSBQ cm9maWxlIGluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNz b2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4NCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUg YXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlDQogICAgICAgb3IgZWZtQ3VQbWVB ZG1pblByb2ZpbGUgb2JqZWN0cy4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkg MSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB0ZXh0dWFs IHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAg IFByb2ZpbGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSBy YXRlDQogICAgICAgYW5kIHNwZWN0cmFsIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBw cm9maWxlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAyIH0NCg0KICAgZWZt Q3VQbWUyQlJlZ2lvbiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQog ICAgICAgcmVnaW9uMSgxKSwNCiAgICAgICByZWdpb24yKDIpDQogICAgIH0NCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJSZWdpb25hbCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVj aWZpZWQgaW4gdGhlDQogICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkxLjJd Lg0KICAgICAgIFJlZ2lvbmFsIHNldHRpbmdzIHNwZWNpZnkgUG93ZXIgU3BlY3RyYWwgRGVuc2l0 eSAoUFNEKSBtYXNrLA0KICAgICAgIFBvd2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxh Y2UgbGltaXRhdGlvbnMgb24gdGhlIG1heA0KICAgICAgIGFsbG93ZWQgZGF0YSByYXRlLCBwb3dl ciBhbmQgY29uc3RlbGxhdGlvbi4NCiAgICAgICANCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgZm9y IHRoaXMgb2JqZWN0IGFyZToNCiAgICAgICAgIHJlZ2lvbjEgICAgICAtIEFubmV4ZXMgQSBhbmQg RiAoZS5nLiBOb3J0aCBBbWVyaWNhKQ0KICAgICAgICAgcmVnaW9uMiAgICAgIC0gQW5uZXhlcyBC IGFuZCBHIChlLmcuIEV1cm9wZSkNCiAgICAgICANCiAgICAgICBBbm5leCBBL0Igc3BlY2lmeSBy ZWdpb25hbCBzZXR0aW5ncyBmb3IgZGF0YSByYXRlcyAxOTItMjMwNA0KICAgICAgIEticHMgdXNp bmcgMTYtVENQQU0gZW5jb2RpbmcuDQogICAgICAgQW5uZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwg c2V0dGluZ3MgZm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBzDQogICAgICAgdXNpbmcgMTYtVENQQU0g ZW5jb2RpbmcgYW5kIDc2OC01Njk2IEticHMgdXNpbmcgMzItVENQQU0NCiAgICAgICBlbmNvZGlu Zy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMg cHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBS ZWdpb24gYml0cyBpbiB0aGUgMkIgZ2VuZXJhbA0KICAgICAgIHBhcmFtZXRlciByZWdpc3Rlci4i DQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQyOyBbRy45OTEuMl0g QW5uZXhlcyBBLCBCLCBGIGFuZCBHIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5 IDMgfQ0KDQogICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEVmbVByb2ZpbGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQg Y3VzdG9tIFNwZWN0cmFsIE1vZGUgZm9yIDJCQVNFLVRMIFBNRS4gVGhpcyBvYmplY3QNCiAgICAg ICBpcyBhIHBvaW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgYW5kIGEg YmxvY2sNCiAgICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSwgd2hp Y2ggdG9nZXRoZXIgZGVmaW5lDQogICAgICAgKGNvdW50cnktc3BlY2lmaWMpIHJlYWNoIGRlcGVu ZGVudCByYXRlIGxpbWl0YXRpb25zIGluDQogICAgICAgYWRkaXRpb24gdG8gdGhvc2UgZGVmaW5l ZCBieSBlZm1DdVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0 IGlzIHRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmNlZA0KICAgICAgIHNwZWN0cmFsIG1vZGUuDQog ICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNp ZmljDQogICAgICAgc3BlY3RyYWwgbW9kZSBpcyBhcHBsaWNhYmxlLg0KDQogICAgICAgQXR0ZW1w dHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQog ICAgICAgb2YgdGhlIGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRp bmcgc3BlY3RyYWwNCiAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAg UkVGRVJFTkNFDQogICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBlZm1DdVBtZTJCUmF0ZVJl YWNoVGFibGUiDQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmls ZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0Ut VEwgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUti cHMsDQogICAgICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAz Mi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICANCiAgICAgICBUaGUgZGF0YSByYXRlIG9mIHRoZSAy QkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQnIHdoZW4NCiAgICAgICB0aGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlLg0KICAg ICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4gZWZtQ3VQbWUyQk1heERh dGFSYXRlIGluDQogICAgICAgdGhlIGFkbWluaXN0cmF0aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJh dGUgaXMgY29uc2lkZXJlZA0KICAgICAgICdhZGFwdGl2ZScsIGFuZCBTSEFMTCBiZSBzZXQgdG8g dGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAgbm90IGV4Y2VlZGluZyBlZm1DdVBt ZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbCANCiAgICAgICBsaW1pdGF0aW9ucyBw bGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgZWZtQ3VQbWUyQnNNb2Rl Lg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRo ZSBQTUUgaXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIu DQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHBy ZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNaW4gRGF0YSBSYXRl MSBiaXRzIGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVyLg0KDQogICAg ICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyINCiAgICAgOjo9 IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWUyQk1heERhdGFSYXRl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggIFVuc2lnbmVkMzIoMTkyLi41Njk2KQ0KICAgICBV TklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIERhdGEg UmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4NCiAgICAgICBUaGlzIG9iamVjdCBjYW4gdGFrZSB2 YWx1ZXMgb2YgKG4geCA2NClLYnBzLA0KICAgICAgIHdoZXJlIG49My4uNjAgZm9yIDE2LVRDUEFN IGFuZCBuPTEyLi44OSBmb3IgMzItVENQQU0gZW5jb2RpbmcuDQogICAgICAgDQogICAgICAgVGhl IGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0UtVEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVu DQogICAgICAgdGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGVxdWFscyB0aGF0IG9mIGVmbUN1UG1l MkJNaW5EYXRhUmF0ZS4NCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVzcyB0 aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbg0KICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBw cm9maWxlLCB0aGUgZGF0YSByYXRlIGlzIGNvbnNpZGVyZWQNCiAgICAgICAnYWRhcHRpdmUnLCBh bmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZQ0KICAgICAgIG5v dCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwNCiAg ICAgICBsaW1pdGF0aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAg ICAgZWZtQ3VQbWUyQnNNb2RlLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9u YWwgZGF0YSByYXRlIG9mIHRoZSBQTUUgaXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVk IG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBNYXggRGF0YSBSYXRlMSBiaXRzIGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJz IHJlZ2lzdGVyLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1 LjIuMS40MyINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZt Q3VQbWUyQlBvd2VyICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8 MTAuLjQyKQ0KICAgICBVTklUUyAgICAgICAiMC41IGRCbSINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJTaWduYWwgVHJhbnNtaXQgUG93ZXIuIE11bHRpcGxlIG9mIDAuNWRCbS4NCiAgICAgICBU aGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0IHRo ZQ0KICAgICAgIHNpZ25hbCB0cmFuc21pdCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJl IHNldCB0bw0KICAgICAgIG1heGltaXplIHRoZSBhdHRhaW5hYmxlIHJhdGUsIHVuZGVyIHRoZSBz cGVjdHJhbCBsaW1pdGF0aW9ucw0KICAgICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lv biBhbmQgZWZtQ3VQbWUyQnNNb2RlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIFBvd2VyMSBiaXRzIGluIHRoZSAyQiBQTUQgcGFyYW1ldGVycw0KICAg ICAgIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40 MyINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA3IH0NCg0KICAgZWZtQ3VQbWUy QkNvbnN0ZWxsYXRpb24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0K ICAgICAgIGFkYXB0aXZlKDApLA0KICAgICAgIHRjcGFtMTYoMSksDQogICAgICAgdGNwYW0zMigy KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVENQQU0gQ29uc3RlbGxhdGlvbiBv ZiB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAg ICAgICAgYWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMyLVRDUEFNDQogICAgICAgICB0 Y3BhbTE2KDEpICAgICAtIDE2LVRDUEFNDQogICAgICAgICB0Y3BhbTMyKDIpICAgICAtIDMyLVRD UEFNDQoNCiAgICAgICBUaGUgdmFsdWUgb2YgYWRhcHRpdmUoMCkgaW4gdGhlIGFkbWluaXN0cmF0 aXZlIHByb2ZpbGUgbWVhbnMNCiAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlzIG5vdCBm aXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvDQogICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUg cmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgcGxhY2VkIGJ5IHRo ZSBlZm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBDb25zdGVsbGF0aW9uMSBiaXRzIGluIHRoZSAyQiBn ZW5lcmFsDQogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAg ICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVu dHJ5IDggfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBSb3dTdGF0dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9i amVjdCBjb250cm9scyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAg IGVudHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAg ICAgICBSb3dTdGF0dXMuDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNl ZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwg dGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbA0KICAgICAgIHJlZmVyZW5j ZXMgYXJlIHJlbW92ZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQ0K DQoNCiAgIGVmbUN1UG1lMkJzTW9kZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFNFUVVFTkNFIE9GIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiVGhpcyB0YWJsZSwgdG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1 cHBvcnRzDQogICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3Ry YWwgbW9kZXMgZm9yDQogICAgICAgMkJBU0UtVEwgUE1FcywgZGVzY3JpYmluZyBzcGVjdHJhbCBs aW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0bw0KICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgU29tZSBjb3VudHJpZXMgc3BlY3RyYWwgcmVndWxhdGlv bnMgKGUuZy4gVUsgQU5GUCkgbGltaXQgdGhlDQogICAgICAgbGVuZ3RoIG9mIHRoZSBsb29wcyBm b3IgY2VydGFpbiBkYXRhIHJhdGVzLiBUaGlzIHRhYmxlIGFsbG93cw0KICAgICAgIHRoZXNlIGNv dW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMgdG8gYmUgc3BlY2lmaWVkLg0KDQogICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9kZQ0KICAg ICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxsIHRoZSBhY3RpdmUgcmVmZXJlbmNlcyBh cmUNCiAgICAgICByZW1vdmVkLg0KDQogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJlZm1D dTJCUmVhY2hSYXRlVGFibGUiDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDMgfQ0KDQogICBlZm1D dVBtZTJCc01vZGVFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJC c01vZGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgc3BlY2lm aWVzIHNwZWN0cmFsIG1vZGUgZGVzY3JpcHRpb24gYW5kIGl0cyBpbmRleCwNCiAgICAgICB3aGlj aCBpcyB1c2VkIHRvIHJlZmVyZW5jZSBjb3JyZXNwb25kaW5nIGVudHJpZXMgaW4gdGhlDQogICAg ICAgZWZtQ3UyQlJlYWNoUmF0ZVRhYmxlLg0KICAgICAgIA0KICAgICAgIEVudHJpZXMgbWF5IGJl IGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9u IG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzLiINCiAgICAgSU5ERVggeyBl Zm1DdVBtZTJCc01vZGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZVRhYmxlIDEg fQ0KDQogICBFZm1DdVBtZTJCc01vZGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAg IGVmbUN1UG1lMkJzTW9kZUluZGV4ICAgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleCwNCiAgICAg ICBlZm1DdVBtZTJCc01vZGVEZXNjciAgICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsDQogICAg ICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzDQogICAgIH0NCg0K ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZt UHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwgUE1FIFNw ZWN0cmFsIE1vZGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRl eCBhc3NvY2lhdGVkIHdpdGggdGhpcyBzcGVjdHJhbA0KICAgICAgIG1vZGUuDQogICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUNCiAg ICAgICBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAxIH0NCg0KICAg ZWZtQ3VQbWUyQnNNb2RlRGVzY3IgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU25tcEFk bWluU3RyaW5nDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250 YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAgIHNwZWN0cmFsIG1v ZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgICBjb3Jy ZXNwb25kaW5nIChjb3VudHJ5LXNwZWNpZmljKSBzcGVjdHJhbCByZWd1bGF0aW9ucw0KICAgICAg IGFuZCByYXRlL3JlYWNoIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBzcGVjdHJhbCBt b2RlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9DQoNCiAgIGVmbUN1UG1l MkJzTW9kZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9scyBjcmVhdGlvbi9k ZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9k ZVRhYmxlIHBlciB0aGUgc2VtYW50aWNzIG9mDQogICAgICAgUm93U3RhdHVzLg0KICAgICAgIElm IGFuICdhY3RpdmUnIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZSwgdGhl DQogICAgICAgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMg YXJlIHJlbW92ZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAzIH0NCg0KDQog ICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg U0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZl IGN1c3RvbQ0KICAgICAgIHNwZWN0cmFsIG1vZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRp bmcgc3BlY3RyYWwNCiAgICAgICBsaW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0byB0aG9zZSBzcGVj aWZpZWQgYnkNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHNwZWN0cmFs IHJlZ3VsYXRpb25zIGluIHNvbWUgY291bnRyaWVzIChlLmcuIFVLIEFORlApDQogICAgICAgbGlt aXQgdGhlIGxlbmd0aCBvZiB0aGUgbG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4NCiAgICAg ICBUaGlzIHRhYmxlIGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRv IGJlDQogICAgICAgc3BlY2lmaWVkLg0KDQogICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0 aGlzIHRhYmxlIGZvciBbQU5GUF06DQogICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r DQogICAgICAgRXF1aXZhbGVudCBNYXhSYXRlIE1heFJhdGUNCiAgICAgICAgIExlbmd0aCAgICBQ QU0xNiAgIFBBTTMyDQogICAgICAgICAgIChtKSAgICAgKEticHMpICAoS2JwcykNCiAgICAgICAt LS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsNCiAgICAgICAgICAgOTc1ICAgICAgMjMwNCAgICA1 Njk2DQogICAgICAgICAgMTEyNSAgICAgIDIzMDQgICAgNTUwNA0KICAgICAgICAgIDEyNzUgICAg ICAyMzA0ICAgIDUxMjANCiAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0DQogICAgICAg ICAgMTQyNSAgICAgIDIzMDQgICAgNDU0NA0KICAgICAgICAgIDE1MDAgICAgICAyMzA0ICAgIDQy ODgNCiAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4DQogICAgICAgICAgMTY1MCAgICAg IDIzMDQgICAgMzc3Ng0KICAgICAgICAgIDE3MjUgICAgICAyMzA0ICAgIDM1MjANCiAgICAgICAg ICAxODAwICAgICAgMjMwNCAgICAzMjY0DQogICAgICAgICAgMTg3NSAgICAgIDIzMDQgICAgMzA3 Mg0KICAgICAgICAgIDE5NTAgICAgICAyMDQ4ICAgIDI2ODgNCiAgICAgICAgICAyMTAwICAgICAg MTc5MiAgICAyMzY4DQogICAgICAgICAgMjI1MCAgICAgIDE1MzYgICAgICAgMA0KICAgICAgICAg IDI0MDAgICAgICAxNDA4ICAgICAgIDANCiAgICAgICAgICAyNTUwICAgICAgMTI4MCAgICAgICAw DQogICAgICAgICAgMjc3NSAgICAgIDExNTIgICAgICAgMA0KICAgICAgICAgIDI5MjUgICAgICAx MTUyICAgICAgIDANCiAgICAgICAgICAzMTUwICAgICAgMTA4OCAgICAgICAwDQogICAgICAgICAg MzM3NSAgICAgIDEwMjQgICAgICAgMA0KICAgICAgIC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0t KyAgICAgICANCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRo ZSBlZm1DdVBtZTJCc01vZGUNCiAgICAgICBNVVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0 aGUgYWN0aXZlIHJlZmVyZW5jZXMgYXJlDQogICAgICAgcmVtb3ZlZC4NCg0KICAgICAgIFRoaXMg dGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiW0FORlBdIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0NCg0K ICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVh Y2ggZW50cnkgc3BlY2lmaWVzIG1heGltdW0gMkJBU0UtVEwgUE1FIGRhdGEgcmF0ZXMNCiAgICAg ICBhbGxvd2VkIGZvciBhIGNlcnRhaW4gZXF1aXZhbGVudCBsb29wIGxlbmd0aCwgd2hlbiB1c2lu ZyANCiAgICAgICAxNi1UQ1BBTSBvciAzMi1UQ1BBTSBlbmNvZGluZy4NCg0KICAgICAgIFdoZW4g MkJBU0UtVEwgUE1FIGlzIGluaXRpYWxpemVkLCBpdHMgZGF0YSByYXRlIE1VU1QgTk9UDQogICAg ICAgZXhjZWVkIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOg0KICAgICAgIC0gdGhl IHZhbHVlIG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQ0KICAgICAgIC0gbWF4aW11bSBkYXRhIHJh dGUgYWxsb3dlZCBieSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgZWZtQ3VQbWUyQlBv d2VyDQogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBzcGVj aWZpZWQgaW4gdGhlDQogICAgICAgICBlZm1DdVBtZTJCc01vZGVFbnRyeSwgY29ycmVzcG9uZGlu ZyB0byB0aGUgZXF1aXZhbGVudCBsb29wDQogICAgICAgICBsZW5ndGgsIGVzdGltYXRlZCBieSB0 aGUgUE1FLg0KICAgICAgIA0KICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgdGhlIGVmbUN1 UG1lMkJFcXVpdmFsZW50TGVuZ3RoIHZhbHVlcw0KICAgICAgIGFyZSBhc3NpZ25lZCBpbiB0aGUg aW5jcmVhc2luZyBvcmRlciwgc3RhcnRpbmcgZnJvbSB0aGUNCiAgICAgICBtaW5pbXVtIHZhbHVl Lg0KDQogICAgICAgRW50cmllcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cg Y3JlYXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJSZWFjaFJh dGVSb3dTdGF0dXMuIg0KICAgICBJTkRFWCB7IGVmbUN1UG1lMkJzTW9kZUluZGV4LCBlZm1DdVBt ZTJCUmVhY2hSYXRlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUg MSB9DQoNCiAgIEVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0K ICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCAgICAgICAgIEVmbVByb2ZpbGVJbmRleCwN CiAgICAgICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgICAgICBVbnNpZ25lZDMyLA0KICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1D dVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzICAgICBSb3dTdGF0dXMNCiAgICAgfQ0KDQogICBlZm1D dVBtZTJCUmVhY2hSYXRlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtUHJv ZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwgY3VzdG9tIHNw ZWN0cmFsIG1vZGUgUmVhY2gtUmF0ZSB0YWJsZSBpbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBp cyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCBlYWNoIGVucnkuIg0KICAgICA6Oj0g eyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMkJFcXVpdmFsZW50 TGVuZ3RoICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDAuLjgxOTIp DQogICAgIFVOSVRTICAgICAgICJtIg0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0g YWxsb3dlZCBFcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4gbWV0ZXJzDQogICAg ICAgZm9yIHRoZSBzcGVjaWZpZWQgZGF0YSByYXRlcy4NCiAgICAgICBBbiBlcXVpdmFsZW50IGxv b3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29wIHdpdGggYQ0KICAgICAgIHBl cmZlY3Qgc3F1YXJlIHJvb3QgYXR0ZW51YXRpb24gY2hhcmFjdGVyaXN0aWMsIHdpdGhvdXQgYW55 DQogICAgICAgYnJpZGdlZCB0YXBzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVu dHJ5IDIgfQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwfDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAg IkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJC QVNFLVRMIFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVu Z3RoIHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1l YW5zIHRoYXQgVEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgIHVzZWQgYXQg dGhpcyBkaXN0YW5jZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAzIH0N Cg0KICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQ TUUgYXQgdGhlIHNwZWNpZmllZA0KICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2lu ZyBUQy1QQU0zMiBlbmNvZGluZy4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0 IFRDLVBBTTMyIGVuY29kaW5nIHNob3VsZCBub3QgYmUNCiAgICAgICB1c2VkIGF0IHRoaXMgZGlz dGFuY2UuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9DQoNCiAgIGVm bUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg Um93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMg Y3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29jaWF0ZWQNCiAgICAgICBlbnRyeSBpbiBlZm1D dVBtZTJCUmVhY2hSYXRlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dTdGF0 dXMuDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQ bWUyQnNNb2RlLCB0aGUNCiAgICAgICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBh bGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJh dGVFbnRyeSA1IH0NCg0KDQogIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAg ZWZtQ3VQbWUxMFAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBtZSA2IH0NCg0K ICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg U0VRVUVOQ0UgT0YgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3VyYXRpb24g cHJvZmlsZXMgZm9yDQogICAgICAgMTBQYXNzVEwgUE1Fcy4NCiAgICAgICBGaXJzdCAyMiBlbnRy aWVzIGluIHRoaXMgdGFibGUgU0hBTEwgYWx3YXlzIGJlIGRlZmluZWQgYXMNCiAgICAgICBmb2xs b3dzIChzZWUgODAyLjNhaCBBbm5leCA2MkIuMyk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tLSst LS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICBQcm9maWxlIEJhbmRwbGFu IFVQQk8gQmFuZE5vdGNoIERSYXRlIFVSYXRlDQogICAgICAgIEluZGV4ICBQU0RNYXNrIyAgcCMg ICAgcCMgICAgICAgIHAjICAgIHAjDQogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0t LS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICAgICAxICAgICAgMSAgICAgIDMgICAgMiw2 LDEwLDExICAgIDIwICAgIDIwKGRlZmF1bHQpDQogICAgICAgICAgMiAgICAgMTMgICAgICA1ICAg IDAgICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAg ICAgICAgICAgMjAgICAgMjANCiAgICAgICAgICA0ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAg ICAgMTAwICAgMTAwDQogICAgICAgICAgNSAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgICA3 MCAgICA1MA0KICAgICAgICAgIDYgICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAg MTANCiAgICAgICAgICA3ICAgICAxNyAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgIDMwDQog ICAgICAgICAgOCAgICAgIDggICAgICAwICAgIDAgICAgICAgICAgICAzMCAgICAgNQ0KICAgICAg ICAgIDkgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUNCiAgICAgICAgIDEw ICAgICAgNCAgICAgIDAgICAgMCAgICAgICAgICAgIDE1ICAgIDE1DQogICAgICAgICAxMSAgICAg MjMgICAgICAwICAgIDAgICAgICAgICAgICAxMCAgICAxMA0KICAgICAgICAgMTIgICAgIDIzICAg ICAgMCAgICAwICAgICAgICAgICAgIDUgICAgIDUNCiAgICAgICAgIDEzICAgICAxNiAgICAgIDAg ICAgMiw1LDksMTEgICAgMTAwICAgMTAwDQogICAgICAgICAxNCAgICAgMTYgICAgICAwICAgIDIs NSw5LDExICAgICA3MCAgICA1MA0KICAgICAgICAgMTUgICAgICA2ICAgICAgMCAgICAyLDYsMTAs MTEgICAgNTAgICAgMTANCiAgICAgICAgIDE2ICAgICAxNyAgICAgIDAgICAgMiw1LDksMTEgICAg IDMwICAgIDMwDQogICAgICAgICAxNyAgICAgIDggICAgICAwICAgIDIsNiwxMCwxMSAgICAzMCAg ICAgNQ0KICAgICAgICAgMTggICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMjUgICAgMjUN CiAgICAgICAgIDE5ICAgICAgNCAgICAgIDAgICAgMiw2LDEwLDExICAgIDE1ICAgIDE1DQogICAg ICAgICAyMCAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAgICAxMCAgICAxMA0KICAgICAgICAg MjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAgICAgIDUgICAgIDUNCiAgICAgICAgIDIyICAg ICAzMCAgICAgIDAgICAgMCAgICAgICAgICAgMjAwICAgIDUwDQoNCiAgICAgICBUaGVzZSBkZWZh dWx0IGVudHJpZXMgU0hBTEwgYmUgY3JlYXRlZCBieSBkdXJpbmcgYWdlbnQNCiAgICAgICBpbml0 aWFsaXphdGlvbiBhbmQgTVVTVCBOT1QgYmUgZGVsZXRlZC4NCg0KICAgICAgIEVudHJpZXMgZm9s bG93aW5nIHRoZSBmaXJzdCAyMiwgY2FuIGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kDQogICAg ICAgZGVsZXRlZCwgdG8gcHJvdmlkZSBjdXN0b20gYWRtaW5pc3RyYXRpdmUgKGNvbmZpZ3VyYXRp b24pDQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJvZmlsZXMuDQoN CiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFu bmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAu MTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQICAxIH0NCg0KICAgZWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3Bv bmRzIHRvIGEgc2luZ2xlIDEwUEFTUy1UUyBQTUUNCiAgICAgICBwcm9maWxlLg0KICAgICAgIEVh Y2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IN CiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgMTBQQVNTLVRTIFBN RS4gIA0KICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2 aWENCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9m aWxlIGlmDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2Vu dCB0aGUgZGVzaXJlZA0KICAgICAgIHBhcmFtZXRlcnMgdGhlIDEwUGFzc1RTLU8gUE1FIGluaXRp YWxpemF0aW9uLg0KICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBt ZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0 aW5nIHBhcmFtZXRlcnMgb2YgdGhlIFBNRS4NCg0KICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVh dGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNo YW5pc20gdmlhIGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICAnYWN0 aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScN CiAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICBEZWZhdWx0 IGVudHJpZXMgTVVTVCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQ cm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0NCg0K ICAgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBl Zm1DdVBtZTEwUFByb2ZpbGVJbmRleCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsDQogICAg ICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsDQogICAgICAgZWZt Q3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUx MFBCYW5kTm90Y2hQcm9maWxlcyAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2Fk VVJhdGVQcm9maWxlICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQ cm9maWxlICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzICAg ICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgUHJvZmlsZSBJbmRleC4NCiAgICAgICBUaGlzIG9i amVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuDQog ICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLiINCiAgICAgOjo9IHsgZWZt Q3VQbWUxMFBQcm9maWxlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91 dCAxMFBBU1MtVFMgUE1FDQogICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBp bmZvcm1hdGlvbiBhYm91dCBkYXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlv bnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgSU5URUdFUiB7DQogICAgICAgcHJvZmlsZTEoMSksDQog ICAgICAgcHJvZmlsZTIoMiksDQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQo NCksDQogICAgICAgcHJvZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJv ZmlsZTcoNyksDQogICAgICAgcHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAg ICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICBwcm9maWxlMTEoMTEpLA0KICAgICAgIHByb2ZpbGUx MigxMiksDQogICAgICAgcHJvZmlsZTEzKDEzKSwNCiAgICAgICBwcm9maWxlMTQoMTQpLA0KICAg ICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTE2KDE2KSwNCiAgICAgICBwcm9maWxl MTcoMTcpLA0KICAgICAgIHByb2ZpbGUxOCgxOCksDQogICAgICAgcHJvZmlsZTE5KDE5KSwNCiAg ICAgICBwcm9maWxlMjAoMjApLA0KICAgICAgIHByb2ZpbGUyMSgyMSksDQogICAgICAgcHJvZmls ZTIyKDIyKSwNCiAgICAgICBwcm9maWxlMjMoMjMpLA0KICAgICAgIHByb2ZpbGUyNCgyNCksDQog ICAgICAgcHJvZmlsZTI1KDI1KSwNCiAgICAgICBwcm9maWxlMjYoMjYpLA0KICAgICAgIHByb2Zp bGUyNygyNyksDQogICAgICAgcHJvZmlsZTI4KDI4KSwNCiAgICAgICBwcm9maWxlMjkoMjkpDQog ICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIEJhbmRwbGFuIGFu ZCBQU0QgTWFzayBwcm9maWxlLA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4 IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBO YW1lICAgIFBTRCBNYXNrICAgICAgICAgICAgICAgICAgQmFuZHMgICAgIEJhbmRwbGFuDQogICAg ICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLQ0KICAgICAgIHByb2ZpbGUxKDEpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAg eC9EL1UvRC9VICBBDQogICAgICAgcHJvZmlsZTIoMikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXgu TTENCiAgICAgICBwcm9maWxlMygzKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAg ICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGU1 KDUpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgRC9EL1UvRC9VDQogICAgICAgcHJvZmls ZTYoNikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICBwcm9maWxlNyg3KSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICBwcm9maWxlOCg4KSAgIC0gVDEuNDI0L1Qt VSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGU5KDkpICAgLSBUMS40MjQvVC1VIFAxIEZUVENh Yi5NMSAgVS9EL1UvRC94DQogICAgICAgcHJvZmlsZTEwKDEwKSAtIFQxLjQyNC9ULVUgUDEgRlRU RXguTTENCiAgICAgICBwcm9maWxlMTEoMTEpIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAg ICAgICBwcm9maWxlMTIoMTIpIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2Zp bGUxMygxMykgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgeC9EL1UvRC9VICBCDQogICAgICAg cHJvZmlsZTE0KDE0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmlsZTE1 KDE1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTE2KDE2KSAtIFRT MSAxMDEgMjcwLTEgUGV4LlAyLk0xDQogICAgICAgcHJvZmlsZTE3KDE3KSAtIFRTMSAxMDEgMjcw LTEgUGNhYi5NMg0KICAgICAgIHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5N Mg0KICAgICAgIHByb2ZpbGUxOSgxOSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAg IHByb2ZpbGUyMCgyMCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgVS9EL1UvRC94DQogICAg ICAgcHJvZmlsZTIxKDIxKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmls ZTIyKDIyKSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTIzKDIzKSAt IFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xDQogICAgICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEg MjcwLTEgUGNhYi5NMg0KICAgICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5Q MS5NMg0KICAgICAgIHByb2ZpbGUyNigyNikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAg ICAgIHByb2ZpbGUyNygyNykgLSBHLjk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9V ICBGDQogICAgICAgcHJvZmlsZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNE TikNCiAgICAgICBwcm9maWxlMjkoMjkpIC0gRy45OTMuMSBGLjEuMi4zIChQU0QgcmVkdWN0aW9u KQ0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2Zp bGUgYXR0cmlidXRlDQogICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAg ICAgIls4MDIuM2FoXSBBbm5leCA2MkEsIDMwLjUuMS4xLjIyIg0KICAgICA6Oj0geyBlZm1DdVBt ZTEwUFByb2ZpbGVFbnRyeSAzIH0NCg0KICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmls ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgx KSwNCiAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9m aWxlNCg0KSwNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAg ICBwcm9maWxlNyg3KSwNCiAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KQ0K ICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQ b3dlciBCYWNrLU9mZiAoVVBCTykgUmVmZXJlbmNlIFBTRA0KICAgICAgIFByb2ZpbGUsIGFzIHNw ZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzDQogICAgICAgYXJl Og0KICAgICAgICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0x DQogICAgICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTIN CiAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgRiBNMQ0K ICAgICAgICAgcHJvZmlsZTQoNCkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yDQog ICAgICAgICBwcm9maWxlNSg1KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEEmQg0KICAg ICAgICAgcHJvZmlsZTYoNikgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBDDQogICAgICAg ICBwcm9maWxlNyg3KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQNCiAgICAgICAgIHBy b2ZpbGU4KDgpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRQ0KICAgICAgICAgcHJvZmls ZTkoOSkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBGDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBhVVBCT1JlZmVyZW5jZVByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgaW4g Q2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEu My40LCAzMC41LjEuMS4yMyINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNCB9 DQoNCiAgIGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMgIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgQklUUyB7DQogICAgICAgcHJvZmlsZTAoMCksDQogICAgICAgcHJvZmlsZTEoMSksDQog ICAgICAgcHJvZmlsZTIoMiksDQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQo NCksDQogICAgICAgcHJvZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJv ZmlsZTcoNyksDQogICAgICAgcHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAg ICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICBwcm9maWxlMTEoMTEpDQogICAgIH0NCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIEVncmVzcyBDb250cm9sIEJhbmQgTm90Y2gg UHJvZmlsZSBiaXRtYXAsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJB LiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLQ0KICAgICAgIFByb2ZpbGUgTmFtZSAg ICBHLjk5MS4zICBUMS40MjQvVC1VIFRTMTAxIDI3MC0xIFN0YXJ0RiBFbmRGDQogICAgICAgICAg ICAgICAgICAgICAgIFRhYmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHop DQogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tKy0tLS0tDQogICAgICAgcHJvZmlsZTAoMCkgICAtIG5vIHByb2ZpbGUNCiAgICAgICBw cm9maWxlMSgxKSAgIC0gRi01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44 MjUNCiAgICAgICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAg ICAxLjgxMCAgMi4wMDANCiAgICAgICBwcm9maWxlMygzKSAgIC0gRi01ICMwMiAgLSAgICAgICAg ICAtICAgICAgICAgICAxLjkwNyAgMS45MTINCiAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01ICMw MyAgLSAgICAgICAgICAtICAgICAgICAgICAzLjUwMCAgMy41NzUNCiAgICAgICBwcm9maWxlNSg1 KSAgIC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDANCiAgICAg ICBwcm9maWxlNig2KSAgIC0gLSAgICAgICAgMTUtMSAgICAgICAtICAgICAgICAgICAzLjUwMCAg NC4wMDANCiAgICAgICBwcm9maWxlNyg3KSAgIC0gRi01ICMwNCAgLSAgICAgICAgICAtICAgICAg ICAgICAzLjc0NyAgMy43NTQNCiAgICAgICBwcm9maWxlOCg4KSAgIC0gRi01ICMwNSAgLSAgICAg ICAgICAtICAgICAgICAgICAzLjc5MSAgMy44MDUNCiAgICAgICBwcm9maWxlOSg5KSAgIC0gNi0y ICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICA3LjAwMCAgNy4xMDANCiAgICAgICBwcm9maWxl MTAoMTApIC0gRi01ICMwNiAgMTUtMSAgICAgICAtICAgICAgICAgICA3LjAwMCAgNy4zMDANCiAg ICAgICBwcm9maWxlMTEoMTEpIC0gNi0yICAgICAgMTUtMSAgICAgICAxICAgICAgICAgICAxMC4x MDAgMTAuMTUwDQogICAgICAgDQogICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNh biBiZSBzcGVjaWZpZWQgYnkgT1JpbmcNCiAgICAgICBpbmRpdmlkdWFsIHByb2ZpbGVzLCBmb3Ig ZXhhbXBsZSB2YWx1ZSBvZiAweDA2MjIgc2VsZWN0cw0KICAgICAgIHByb2ZpbGVzIDIsNiwxMCBh bmQgMTEuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmROb3Rj aFByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy41LCAzMC41LjEuMS4xOSINCiAgICAgOjo9 IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lMTBQUGF5bG9hZFVS YXRlUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAg ICAgcHJvZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICBwcm9maWxlMTUo MTUpLA0KICAgICAgIHByb2ZpbGUyMCgyMCksDQogICAgICAgcHJvZmlsZTI1KDI1KSwNCiAgICAg ICBwcm9maWxlMzAoMzApLA0KICAgICAgIHByb2ZpbGU1MCg1MCksDQogICAgICAgcHJvZmlsZTcw KDcwKSwNCiAgICAgICBwcm9maWxlMTAwKDEwMCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUGF5bG9hZCBSYXRlIFByb2ZpbGUsDQogICAg ICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJl Og0KICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAgLSAyLjUgTWJwcw0KICAgICAgICAgcHJvZmls ZTEwKDEwKSAgICAgLSA1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1i cHMNCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgIC0gMTAgTWJwcw0KICAgICAgICAgcHJvZmls ZTI1KDI1KSAgICAgLSAxMi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUg TWJwcw0KICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAgLSAyNSBNYnBzDQogICAgICAgICBwcm9m aWxlNzAoNzApICAgICAtIDM1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAg TWJwcw0KDQogICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1F J3MgVXBzdHJlYW0gUGF5bG9hZA0KICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJ ZiB0aGUgcGF5bG9hZCByYXRlIG9mIHRoZQ0KICAgICAgIHNlbGVjdGVkIHByb2ZpbGUgY2Fubm90 IGJlIGFjaGlldmVkIGJhc2VkIG9uIHRoZSBsb29wDQogICAgICAgZW52aXJvbm1lbnQsIGJhbmRw bGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbg0KICAgICAgIFNIQUxMIGZh aWwuDQogICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0 ZVByb2ZpbGVVcHN0cmVhbQ0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIwIg0K ICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWUxMFBQ YXlsb2FkRFJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHBy b2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwNCiAgICAgICBwcm9maWxlMjUoMjUp LA0KICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICBw cm9maWxlNzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAwKSwNCiAgICAgICBwcm9maWxlMTQw KDE0MCksDQogICAgICAgcHJvZmlsZTIwMCgyMDApDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRlIFByb2ZpbGUsDQog ICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOg0KICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9m aWxlMTAoMTApICAgIC0gNSBNYnBzDQogICAgICAgICBwcm9maWxlMTUoMTUpICAgIC0gNy41IE1i cHMNCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9maWxl MjUoMjUpICAgIC0gMTIuNSBNYnBzDQogICAgICAgICBwcm9maWxlMzAoMzApICAgIC0gMTUgTWJw cw0KICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1icHMNCiAgICAgICAgIHByb2ZpbGU3 MCg3MCkgICAgLSAzNSBNYnBzDQogICAgICAgICBwcm9maWxlMTAwKDEwMCkgIC0gNTAgTWJwcw0K ICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAtIDcwIE1icHMNCiAgICAgICAgIHByb2ZpbGUyMDAo MjAwKSAgLSAxMDAgTWJwcw0KDQogICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0 IGZvciB0aGUgUE1FJ3MgRG93bnN0cmVhbQ0KICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVu IGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YNCiAgICAgICB0aGUgc2VsZWN0ZWQg cHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICBlbnZp cm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQog ICAgICAgU0hBTEwgZmFpbC4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRo ZSBhUGF5bG9hZFJhdGVQcm9maWxlRG93bnN0cmVhbQ0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1 c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYs IDMwLjUuMS4xLjIxIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA3IH0NCg0K ICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRy b2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAgICAgZW50cnkgaW4g ZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dT dGF0dXMuDQogICAgICAgSWYgYW4gYWN0aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1 QWRtaW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBN VVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbA0KICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSByZW1v dmVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOCB9DQoNCg0KICAgZWZt Q3VQbWUxMFBTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5D RSBPRiBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3Np YmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGFibGUgcmVmbGVjdGluZyBzdGF0dXMgb2YgRUZNQ3UgMTBQQVNTLVRTIFBNRXMgKG1vZGVtcyku Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUCAyIH0NCg0KICAgZWZtQ3VQbWUxMFBTdGF0dXNFbnRy eSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5DQog ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEwUEFTUy1U UyBQTUUgU3RhdHVzIHRhYmxlLiINCiAgICAgQVVHTUVOVFMgeyBlZm1DdVBtZVN0YXR1c0VudHJ5 IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUx MFBTdGF0dXNFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lMTBQRkVD Q29ycmVjdGVkQmxvY2tzICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNv cnJlY3RlZEJsb2NrcyAgIENvdW50ZXIzMg0KICAgICB9DQoNCiAgIGVmbUN1UG1lMTBQRkVDQ29y cmVjdGVkQmxvY2tzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiQSBjb3VudCBvZiByZWNlaXZlZCBhbmQgY29ycmVjdGVkIEZF QyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTDQogICAgICAgUE1FLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgbWFwcyB0byBhUE1FRkVDQ29ycmVjdGVkQmxvY2tzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNs YXVzZSAzMC4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ TUEvUE1EIGlzIHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAx MFAgRkVDIGNvcnJlY3RhYmxlIGVycm9ycw0KICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVy RGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMiwgMzAuMTEuMi4xLjgiDQogICAgIDo6 PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQRkVDVW5jb3Jy ZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIEZFQyBjb2Rld29yZHMgaW4g MTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlDQogICAgICAgdW5jb3JyZWN0YWJsZS4NCg0KICAgICAg IFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgYXR0cmlidXRl IGluDQogICAgICAgY2xhdXNlIDMwLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUCBGRUMgdW5jb3JyZWN0YWJsZSBlcnJvcnMNCiAgICAgICByZWdpc3Rl cg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIg Y2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZh bHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjMsIDMwLjEx LjIuMS45Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQ0KDQogIC0tDQog IC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMNCiAgLS0NCg0KICAgZWZtQ3VHcm91cHMgICAgICBP QkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQ0KDQogICBlZm1DdUNv bXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9DQoN CiAgIC0tIE9iamVjdCBHcm91cHMNCg0KICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVDVC1HUk9VUA0K ICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCwNCiAgICAgICBlZm1DdUFk bWluUHJvZmlsZSwNCiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlLA0KICAgICAgIGVmbUN1VGFy Z2V0U25yTWduLA0KICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhLA0KICAgICAgIGVmbUN1UG9y dFNpZGUsDQogICAgICAgZWZtQ3VGbHRTdGF0dXMNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3Rz IHJlcHJlc2VudGluZyBtYW5hZ2VtZW50IGluZm9ybWF0aW9uDQogICAgICAgY29tbW9uIGZvciBh bGwgdHlwZXMgb2YgRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0NCg0K ICAgZWZtQ3VQQUZHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZt Q3VQZWVyUEFGU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHksDQogICAgICAgZWZt Q3VQZWVyUEFGQ2FwYWNpdHksDQogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlLA0KICAgICAgIGVm bUN1UEFGRGlzY292ZXJ5Q29kZSwNCiAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUs DQogICAgICAgZWZtQ3VOdW1QTUVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0 aW5nIE9QVElPTkFMIFBNRQ0KICAgICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFuZCBQ QUYgZGlzY292ZXJ5IGluIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMiB9 DQoNCiAgIGVmbUN1UEFGRXJyb3JzR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0K ICAgICAgIGVmbUN1UEFGSW5FcnJvcnMsDQogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRz LA0KICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluQmFk RnJhZ21lbnRzLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzLA0KICAgICAgIGVmbUN1 UEFGSW5Mb3N0U3RhcnRzLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcywNCiAgICAgICBlZm1D dVBBRkluT3ZlcmZsb3dzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9Q VElPTkFMIGVycm9yIGNvdW50ZXJzDQogICAgICAgb2YgUEFGIG9uIEVGTUN1IHBvcnRzLiINCiAg ICAgOjo9IHsgZWZtQ3VHcm91cHMgMyB9DQoNCiAgIGVmbUN1UG1lR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLA0KICAgICAgIGVm bUN1UG1lT3BlclN0YXR1cywNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cywNCiAgICAgICBlZm1D dVBtZVN1YlR5cGVzU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlLA0KICAg ICAgIGVmbUN1UG1lT3BlclN1YlR5cGUsDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlD b2RlLA0KICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWVTbnJNZ24s DQogICAgICAgZWZtQ3VQbWVQZWVyU25yTWduLA0KICAgICAgIGVmbUN1UG1lTGluZUF0biwNCiAg ICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuLA0KICAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0 aCwNCiAgICAgICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzLA0KICAgICAgIGVmbUN1UG1lVENDcmNF cnJvcnMsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLA0KICAgICAgIGVmbUN1UG1lVGhy ZXNoU25yTWduDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRp b24gYWJvdXQNCiAgICAgICBhIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUuIg0KICAgICA6Oj0geyBl Zm1DdUdyb3VwcyA0IH0NCg0KICAgZWZtQ3VBbGFybUNvbmZHcm91cCBPQkpFQ1QtR1JPVVANCiAg ICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VUaHJlc2hMb3dSYXRlLA0KICAgICAgIGVmbUN1TG93 UmF0ZUNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biwNCiAgICAg ICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNu ck1nbiwNCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1 UG1lRGV2aWNlRmF1bHRFbmFibGUsDQogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJs ZSwNCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUNCiAgICAgfQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlv biBvZiBvYmplY3RzIHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBvZiBhbGFybQ0KICAgICAgIHRo 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 dHlwZSwgZS5nLg0KICAgICAgICAgaWVlZTJCYXNlVExPIGFuZCBpZWVlMkJhc2VUTFIgb3IgaWVl ZTEwUGFzc1RTTyBhbmQNCiAgICAgICAgIGllZWUxMFBhc3NUU1IpIg0KICAgICAgIA0KICAgICAg IE9CSkVDVCAgICAgIGVmbUN1VGFyZ2V0U25yTWduDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1v bmx5DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9O QUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzDQogICAgICAgICB0aGUgdGFyZ2V0IFNO UiBtYXJnaW4gU0hBTEwgYmUgZml4ZWQgYXQgNWRCIGZvciAyQkFTRS1UTA0KICAgICAgICAgYW5k IDZkQiBmb3IgMTBQQVNTLVRTLiINCiAgICAgICANCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdUFk YXB0aXZlU3BlY3RyYQ0KICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRo b3V0IHdyaXRlIGFjY2Vzcw0KICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgU0hPVUxEIGJlIGZh bHNlLiINCiAgICAgICANCiAgICAgOjo9IHsgZWZtQ3VDb21wbGlhbmNlcyAxIH0NCkVORA0KPC9w cmU+PC9kaXY+DQo8YSBuYW1lPSJhbmNob3IyMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1 bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9D YnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+ Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rp b24uNyI+PC9hPjxoMz43LiZuYnNwOw0KU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnM8L2gzPg0KDQo8 cD4NCiAgVGhlcmUgaXMgYSBudW1iZXIgb2YgbWFuYWdlZCBvYmplY3RzIGRlZmluZWQgaW4gdGhl IEVGTS1DVS1NSUIgbW9kdWxlDQogIHRoYXQgaGF2ZSBhIE1BWC1BQ0NFU1MgY2xhdXNlIG9mIHJl YWQtd3JpdGUgb3IgcmVhZC1jcmVhdGUuDQogIE1vc3Qgb2JqZWN0cyBhcmUgd3JpdGVhYmxlIG9u bHkgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICBXcml0aW5nIHRvIHRoZXNlIG9iamVjdHMgY2Fu IGhhdmUgcG90ZW50aWFsbHkNCiAgZGlzcnVwdGl2ZSBlZmZlY3RzIG9uIG5ldHdvcmsgb3BlcmF0 aW9uLCBmb3IgZXhhbXBsZToNCiANCjwvcD4NCjxwPg0KICA8L3A+DQo8dWwgY2xhc3M9InRleHQi Pg0KPGxpPkNoYW5naW5nIG9mIGVmbUN1UG1lQWRtaW5TdWJUeXBlIG1heSBsZWFkIHRvIGEgcG90 ZW50aWFsIGxvY2tpbmcNCiAgICAgIG9mIHRoZSBsaW5rLCBhcyBwZWVyIFBNRXMgb2YgdGhlIHNh bWUgc3ViLXR5cGUgY2Fubm90IGV4Y2hhbmdlDQogICAgICBoYW5kc2hha2UgbWVzc2FnZXMuDQo8 L2xpPg0KPGxpPkNoYW5naW5nIG9mIGVmbUN1UEFGQWRtaW5TdGF0ZSB0byBlbmFibGVkIG1heSBs ZWFkIHRvIGENCiAgICAgIHBvdGVudGlhbCBsb2NraW5nIG9mIHRoZSBsaW5rLCBpZiB0aGUgcGVl ciBQaHkgZG9lcyBub3Qgc3VwcG9ydCBQQUYuDQo8L2xpPg0KPGxpPkNoYW5naW5nIG9mIGVmbUN1 UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRoZSBkaXNjb3Zlcnkgb3BlcmF0aW9uLA0KICAgICAg bWF5IGxlYWQgdG8gYSB3cm9uZ2Z1bCBkaXNjb3ZlcnksIGZvciBleGFtcGxlIHdoZW4gdHdvIC1P IHBvcnRzDQogICAgICBhcmUgY29ubmVjdGVkIHRvIHRoZSBzYW1lIG11bHRpLVBNRSAtUiBwb3J0 IGFuZCBib3RoIC1PIHBvcnRzDQogICAgICBoYXZlIHRoZSBzYW1lIERpc2NvdmVyeSByZWdpc3Rl ciB2YWx1ZS4NCjwvbGk+DQo8bGk+Q2hhbmdpbmcgUENTIG9yIFBNRSBjb25maWd1cmF0aW9uIHBh cmFtZXRlcnMgKGUuZy4gcHJvZmlsZSBvZiBhDQogICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1DdUFk bWluUHJvZmlsZSBvciBlZm1DdVBtZUFkbWluUHJvZmlsZSkNCiAgICAgIG1heSBsZWFkIHRvIGFu eXRoaW5nIGZyb20gbGluayBxdWFsaXR5IGFuZCByYXRlIGRlZ3JhZGF0aW9uDQogICAgICB0byBh IGNvbXBsZXRlIGxpbmsgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwgYXMgYWJpbGl0eSBvZiBhbg0K ICAgICAgRUZNQ3UgcG9ydCB0byBzdXBwb3J0IGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGRl cGVuZHMgb24gdGhlIGNvcHBlcg0KICAgICAgZW52aXJvbm1lbnQuDQo8L2xpPg0KPGxpPkFjdGl2 YXRpb24gb2YgYSBQTUUgY2FuIGNhdXNlIGEgc2V2ZXJlIGRlZ3JhZGF0aW9uIG9mDQogICAgICBz ZXJ2aWNlIGZvciBhbm90aGVyIEVGTUN1IFBoeSwgd2hvc2UgUE1FKHMpIG1heSBiZSBhZmZlY3Rl ZCBieQ0KICAgICAgdGhlIGNyb3NzLXRhbGsgZnJvbSB0aGUgbmV3bHkgYWN0aXZhdGVkIFBNRS4N CjwvbGk+DQo8bGk+UmVtb3ZhbCBvZiBhIFBNRSBmcm9tIGFuIG9wZXJhdGlvbmFsbHkgJ3VwJyBF Rk1DdSBwb3J0LA0KICAgICAgYWdncmVnYXRpbmcgc2V2ZXJhbCBQTUVzLCBtYXkgY2F1c2UgcG9y dCdzIHJhdGUgZGVncmFkYXRpb24NCjwvbGk+DQo8L3VsPjxwPg0KIA0KPC9wPg0KPHA+DQogIFRo ZSB1c2VyIG9mIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBtdXN0IHRoZXJlZm9yZSBiZSBhd2FyZSB0 aGF0IHN1cHBvcnQgZm9yDQogIFNFVCBvcGVyYXRpb25zIGluIGEgbm9uLXNlY3VyZSBlbnZpcm9u bWVudCB3aXRob3V0IHByb3BlciBwcm90ZWN0aW9uDQogIGNhbiBoYXZlIGEgbmVnYXRpdmUgZWZm ZWN0IG9uIG5ldHdvcmsgb3BlcmF0aW9ucy4NCiANCjwvcD4NCjxwPg0KICBUaGUgcmVhZGFibGUg b2JqZWN0cyBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLUFD Q0VTUw0KICBvdGhlciB0aGFuIG5vdC1hY2Nlc3NpYmxlKSBtYXkgYmUgY29uc2lkZXJlZCBzZW5z aXRpdmUgaW4gc29tZQ0KICBlbnZpcm9ubWVudHMgc2luY2UsIGNvbGxlY3RpdmVseSwgdGhleSBw cm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZQ0KICBwZXJmb3JtYW5jZSBvZiBuZXR3b3JrIGlu dGVyZmFjZXMgYW5kIGNhbiByZXZlYWwgc29tZSBhc3BlY3RzIG9mDQogIHRoZWlyIGNvbmZpZ3Vy YXRpb24uICBJbiBwYXJ0aWN1bGFyLCBzaW5jZSBFRk1DdSBjYW4gYmUgY2FycmllZCBvdmVyDQog IFVuc2hpZWxkZWQgVHdpc3RlZCBQYWlyIChVVFApIHZvaWNlIGdyYWRlIGNvcHBlciBpbiBhIGJ1 bmRsZSB3aXRoDQogIG90aGVyIHBhaXJzIGJlbG9uZ2luZyB0byBhbm90aGVyIG9wZXJhdG9yL2N1 c3RvbWVyLCBpdCBpcw0KICB0aGVvcmV0aWNhbGx5IHBvc3NpYmxlIHRvIGV2YXNkcm9wIHRvIGFu IEVGTUN1IHRyYW5zbWlzc2lvbiBzaW1wbHkgYnkNCiAgImxpc3RlbmluZyIgdG8gYSBjcm9zcy10 YWxrIGZyb20gdGhlIEVGTUN1IHBhaXJzLCBlc3BlY2lhbGx5IGlmIHRoZQ0KICBwYXJhbWV0ZXJz IG9mIHRoZSBFRk1DdSBsaW5rIGluIHF1ZXN0aW9uIGFyZSBrbm93bi4NCiANCjwvcD4NCjxwPg0K ICBJbiBzdWNoIGVudmlyb25tZW50cyBpdCBpcyBpbXBvcnRhbnQgdG8gY29udHJvbCBhbHNvDQog IEdFVCBhbmQgTk9USUZZIGFjY2VzcyB0byB0aGVzZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVu IHRvDQogIGVuY3J5cHQgdGhlaXIgdmFsdWVzIHdoZW4gc2VuZGluZyB0aGVtIG92ZXIgdGhlIG5l dHdvcmsgdmlhIFNOTVAuDQogDQo8L3A+DQo8cD4NCiAgU05NUCB2ZXJzaW9ucyBwcmlvciB0byBT Tk1QdjMgZGlkIG5vdCBpbmNsdWRlIGFkZXF1YXRlIHNlY3VyaXR5Lg0KICBFdmVuIGlmIHRoZSBu ZXR3b3JrIGl0c2VsZiBpcyBzZWN1cmUgKGZvciBleGFtcGxlIGJ5IHVzaW5nIElQc2VjKSwNCiAg ZXZlbiB0aGVuLCB0aGVyZSBpcyBubyBjb250cm9sIGFzIHRvIHdobyBvbiB0aGUgc2VjdXJlIG5l dHdvcmsgaXMNCiAgYWxsb3dlZCB0byBhY2Nlc3MgYW5kIEdFVC9TRVQgKHJlYWQvY2hhbmdlL2Ny ZWF0ZS9kZWxldGUpIHRoZSBvYmplY3RzDQogIGluIHRoZXNlIE1JQiBtb2R1bGVzLg0KIA0KPC9w Pg0KPHA+DQogIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgaW1wbGVtZW50ZXJzIGNvbnNpZGVyIHRo ZSBzZWN1cml0eSBmZWF0dXJlcyBhcw0KICBwcm92aWRlZCBieSB0aGUgU05NUHYzIGZyYW1ld29y ayAoc2VlIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8 L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEouLCBNdW5keSwgUi4sIFBhcnRhaW4sIEQu LCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVjdGlvbiBhbmQgQXBwbGljYWJpbGl0eSBT dGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50IEZyYW1ld29yaywmcmRx dW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCBzZWN0aW9u IDgpLA0KICBpbmNsdWRpbmcgZnVsbCBzdXBwb3J0IGZvciB0aGUgU05NUHYzIGNyeXB0b2dyYXBo aWMgbWVjaGFuaXNtcyAoZm9yDQogIGF1dGhlbnRpY2F0aW9uIGFuZCBwcml2YWN5KS4NCiANCjwv cD4NCjxwPg0KICBGdXJ0aGVyLCBkZXBsb3ltZW50IG9mIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8g U05NUHYzIGlzIE5PVA0KICBSRUNPTU1FTkRFRC4gIEluc3RlYWQsIGl0IGlzIFJFQ09NTUVOREVE IHRvIGRlcGxveSBTTk1QdjMgYW5kIHRvDQogIGVuYWJsZSBjcnlwdG9ncmFwaGljIHNlY3VyaXR5 LiAgSXQgaXMgdGhlbiBhIGN1c3RvbWVyL29wZXJhdG9yDQogIHJlc3BvbnNpYmlsaXR5IHRvIGVu c3VyZSB0aGF0IHRoZSBTTk1QIGVudGl0eSBnaXZpbmcgYWNjZXNzIHRvIGFuDQogIGluc3RhbmNl IG9mIHRoZXNlIE1JQiBtb2R1bGVzIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8gZ2l2ZSBhY2Nl c3MgdG8NCiAgdGhlIG9iamVjdHMgb25seSB0byB0aG9zZSBwcmluY2lwYWxzICh1c2VycykgdGhh dCBoYXZlIGxlZ2l0aW1hdGUNCiAgcmlnaHRzIHRvIGluZGVlZCBHRVQgb3IgU0VUIChjaGFuZ2Uv Y3JlYXRlL2RlbGV0ZSkgdGhlbS4NCiANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIxIj48L2E+PGJy IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+ DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi44Ij48L2E+PGgzPjguJm5ic3A7DQpJQU5BIENvbnNpZGVy YXRpb25zPC9oMz4NCg0KPHA+DQogIFRoZSB0d28gbmV3IHZhbHVlcyBvZiBkb3QzTWF1VHlwZSAo ZG90M01hdVR5cGUyQmFzZVRMIGFuZA0KICBkb3QzTWF1VHlwZTEwUGFzc1RTKSBhbmQgY29ycmVz cG9uZGluZyBJQU5BaWZNYXVUeXBlTGlzdEJpdHMgYml0DQogIGRlZmluaXRpb25zIChiMkJhc2VU TCBhbmQgYjEwUGFzc1RTKSwgYXMgd2VsbCBhcyB0aGUgbmV3IHZhbHVlcyBmb3INCiAgSUFOQWlm TWF1TWVkaWFBdmFpbGFibGUgKGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5KSBTSEFMTCBiZQ0K ICBkZWZpbmVkIGJ5IHRoZSBJQU5BIGluIHRoZSBJQU5BLU1BVS1NSUIgbW9kdWxlIChzZWUNCiAg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4pIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzDQogIHB1Ymxpc2hlZCBhcyBhbiBSRkMuDQogDQo8 L3A+DQo8cD4NCiAgQWRkaXRpb25hbGx5LCBvYmplY3QgaWRlbnRpZmllcnMgZm9yIGVmbUN1TUlC IE1PRFVMRS1JREVOVElUWSBhbmQNCiAgaWZDYXBTdGFja01JQiBNT0RVTEUtSURFTlRJVFkgU0hB TEwgYmUgYWxsb2NhdGVkIGJ5IElBTkEgaW4gdGhlDQogIE1JQi0yIHN1Yi10cmVlLCBiZWZvcmUg dGhpcyBkb2N1bWVudCBpcyBwdWJsaXNoZWQuDQogDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyMiI+ PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh c3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uOSI+PC9hPjxoMz45LiZuYnNwOw0KQWNrbm93 bGVkZ21lbnRzPC9oMz4NCg0KPHA+DQogICBUaGlzIGRvY3VtZW50IHdhcyBwcm9kdWNlZCBieSB0 aGUNCiAgIDxhIGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWIt Y2hhcnRlci5odG1sJz5JRVRGDQogICBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdv cmtpbmcgR3JvdXA8L2E+LCB3aG9zZSBlZmZvcnRzDQogICB3ZXJlIGdyZWF0bHkgYWR2YW5jZWQg YnkgdGhlIGNvbnRyaWJ1dGlvbnMgb2YgdGhlIGZvbGxvd2luZyBwZW9wbGUNCiAgIChpbiBhbHBo YWJldGljYWwgb3JkZXIpOg0KDQogIDwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij4NCjxw PkJlcnQgV2lqbmVuIChBbGNhdGVsKQ0KPC9wPg0KPHA+RGFuIFJvbWFzY2FudSAoQXZheWEpDQo8 L3A+DQo8cD5NYXJpbmEgUG9waWxvdiAoQWN0ZWxpcykNCjwvcD4NCjxwPk1hdGhpYXMgUmllc3Mg KEluZmluZW9uKQ0KPC9wPg0KPHA+TWF0dCBTcXVpcmUgKEhhdHRlcmFzKQ0KPC9wPg0KPHA+TWlr ZSBIZWFyZA0KPC9wPg0KPHA+VWRpIEFzaGtlbmF6aSAoQWN0ZWxpcykNCjwvcD4NCjwvYmxvY2tx dW90ZT48cD4NCiANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIzIj48L2E+PGJyIC8+PGhyIC8+DQo8 dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNs YXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVm PSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJy ZmMuc2VjdGlvbi4xMCI+PC9hPjxoMz4xMC4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8L2gz Pg0KDQo8cD4NCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBub3RlcyB0byB0aGUgUkZDIEVkaXRv ciBhbmQgc2hvdWxkIGJlIHJlbW92ZWQNCnByaW9yIHRvIHB1YmxpY2F0aW9uLg0KIDwvcD4NCjxi bG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij4NCjxwPlBsZWFzZSByZXBsYWNlICA8YSBjbGFzcz0naW5m bycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tbWliJz5bSSYjODIwOTtELmlldGYmIzgyMDk7 aHVibWliJiM4MjA5O2VmbSYjODIwOTttaWJdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2lu Zm8nPlNxdWlyZSwgTS4sICZsZHF1bztEZWZpbml0aW9ucyBhbmQgTWFuYWdlZCBPYmplY3RzIGZv ciBPQU0gRnVuY3Rpb25zICAgICAgICAgICAgICBvbiBFdGhlcm5ldCBMaWtlIEludGVyZmFjZXMs JnJkcXVvOyBPY3RvYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IGFuZA0K PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4gd2l0aCBhY3R1YWwgUkZDIG51bWJlcnMgaWYNCnRob3NlIGFyZSBhdmFpbGFibGUgYXQgdGlt ZSBvZiBwdWJsaWNhdGlvbi4NCjwvcD4NCjwvYmxvY2txdW90ZT48cD4NCiANCjwvcD4NCjxhIG5h bWU9InJmYy5yZWZlcmVuY2VzIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWdu PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0Mm bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMSI+PC9h PjxoMz4xMS4mbmJzcDsNClJlZmVyZW5jZXM8L2gzPg0KDQo8YSBuYW1lPSJyZmMucmVmZXJlbmNl czEiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk IGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv dHI+PC90YWJsZT4NCjxoMz4xMS4xLiZuYnNwO05vcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMz4NCjx0 YWJsZSB3aWR0aD0iOTklIiBib3JkZXI9IjAiPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi IHZhbGlnbj0idG9wIj48YSBuYW1lPSI4MDIuMyI+WzgwMi4zXTwvYT48L3RkPg0KPHRkIGNsYXNz PSJhdXRob3ItdGV4dCI+SUVFRSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly9zdGFuZGFyZHMuaWVl ZS5vcmcvZ2V0aWVlZTgwMi84MDIuMy5odG1sIj5JRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlv biB0ZWNobm9sb2d5IC0NCiAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlv biBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLQ0KICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xp dGFuIGFyZWEgbmV0d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQ0KICAg ICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9u IERldGVjdGlvbg0KICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwg TGF5ZXIgU3BlY2lmaWNhdGlvbnM8L2E+LCZyZHF1bzsgSUVFRSBTdGQmbmJzcDs4MDIuMy0yMDA1 LCBEZWNlbWJlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRl eHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSI4MDIuM2FoIj5bODAyLjNhaF08L2E+PC90ZD4NCjx0 ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklFRUUsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vc3RhbmRh cmRzLmllZWUub3JnL2dldGllZWU4MDIvZG93bmxvYWQvODAyLjNhaC0yMDA0LnBkZiI+SUVFRSBT dGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtDQogICAgICAgIFRlbGVjb21tdW5p Y2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0NCiAgICAg ICAgTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0NCiAgICAgICAgU3BlY2lm aWMgcmVxdWlyZW1lbnRzIC0NCiAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxl IEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24NCiAgICAgICAgKENTTUEvQ0QpIEFjY2Vz cyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyIFNwZWNpZmljYXRpb25zIC0NCiAgICAgICAgQW1l bmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbA0KICAgICAg ICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3Mg TmV0d29ya3M8L2E+LCZyZHF1bzsgSUVFRSBTdGQmbmJzcDs4MDIuM2FoLTIwMDQsIFNlcHRlbWJl ciZuYnNwOzIwMDQuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGln bj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyI+W0ktRC5pZXRmLWh1 Ym1pYi1yZmMzNjM2YmlzXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJl Zj0ibWFpbHRvOmVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSI+QmVpbGksIEUuPC9hPiwgJmxkcXVv OzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYt aHVibWliLXJmYzM2MzZiaXMtMDUudHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMg Zm9yIElFRUUgODAyLjMgTWVkaXVtDQogICAgICAgICAgICAgQXR0YWNobWVudCBVbml0cyAoTUFV cyk8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJtaWItcmZjMzYzNmJpcy0wNSAod29yayBpbiBw cm9ncmVzcyksIEp1bHkmbmJzcDsyMDA2LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMjExOSI+W1JGQzIxMTldPC9hPjwvdGQ+ DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86c29iQGhhcnZhcmQuZWR1 Ij5CcmFkbmVyLCBTLjwvYT4sICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1u b3Rlcy9yZmMyMTE5LnR4dCI+S2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZSBS ZXF1aXJlbWVudCBMZXZlbHM8L2E+LCZyZHF1bzsgQkNQJm5ic3A7MTQsIFJGQyZuYnNwOzIxMTks IE1hcmNoJm5ic3A7MTk5NyAoPGEgaHJlZj0iaHR0cDovL3htbC5yZXNvdXJjZS5vcmcvcHVibGlj L3JmYy9odG1sL3JmYzIxMTkuaHRtbCI+SFRNTDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly94bWwucmVz b3VyY2Uub3JnL3B1YmxpYy9yZmMveG1sL3JmYzIxMTkueG1sIj5YTUw8L2E+KS48L3RkPjwvdHI+ DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1 NzgiPltSRkMyNTc4XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0i bWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRv OmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48L2E+LCA8YSBocmVmPSJtYWlsdG86 c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPlNjaG9lbndhZWxkZXIsIEouPC9hPiwgQ2FzZSwgSi4s IE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICZsZHF1bzs8YSBo cmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyNTc4LnR4dCI+U3RydWN0dXJlIG9m IE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyIChTTUl2Mik8L2E+LCZyZHF1bzsgU1RE Jm5ic3A7NTgsIFJGQyZuYnNwOzI1NzgsIEFwcmlsJm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+ PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1NzkiPltS RkMyNTc5XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRv Omt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJr aW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48L2E+LCA8YSBocmVmPSJtYWlsdG86c2Nob2Vu d0BpYnIuY3MudHUtYnMuZGUiPlNjaG9lbndhZWxkZXIsIEouPC9hPiwgQ2FzZSwgSi4sIE1jQ2xv Z2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICZsZHF1bzs8YSBocmVmPSJm dHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyNTc5LnR4dCI+VGV4dHVhbCBDb252ZW50aW9u cyBmb3IgU01JdjI8L2E+LCZyZHF1bzsgU1REJm5ic3A7NTgsIFJGQyZuYnNwOzI1NzksIEFwcmls Jm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWdu PSJ0b3AiPjxhIG5hbWU9IlJGQzI1ODAiPltSRkMyNTgwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJh dXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsu PC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48 L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOnNjaG9lbndAaWJyLmNzLnR1LWJzLmRlIj5KLiBTY2hv ZW53YWVsZGVyPC9hPiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVz L3JmYzI1ODAudHh0Ij5Db25mb3JtYW5jZSBTdGF0ZW1lbnRzIGZvciBTTUl2MjwvYT4sJnJkcXVv OyBTVEQmbmJzcDs1OCwgUkZDJm5ic3A7MjU4MCwgQXByaWwmbmJzcDsxOTk5LjwvdGQ+PC90cj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMzQx MCI+W1JGQzM0MTBdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5DYXNlLCBKLiwg TXVuZHksIFIuLCBQYXJ0YWluLCBELiwgYW5kIEIuIFN0ZXdhcnQsICZsZHF1bzs8YSBocmVmPSJm dHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNDEwLnR4dCI+SW50cm9kdWN0aW9uIGFuZCBB cHBsaWNhYmlsaXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQg RnJhbWV3b3JrPC9hPiwmcmRxdW87IFJGQyZuYnNwOzM0MTAsIERlY2VtYmVyJm5ic3A7MjAwMi48 L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQo8YSBuYW1lPSJyZmMucmVmZXJlbmNlczIiPjwvYT48YnIg Lz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0Ni dWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4N CjxoMz4xMS4yLiZuYnNwO0luZm9ybWF0aXZlIFJlZmVyZW5jZXM8L2gzPg0KPHRhYmxlIHdpZHRo PSI5OSUiIGJvcmRlcj0iMCI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0 b3AiPjxhIG5hbWU9IkFORlAiPltBTkZQXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+TmV0d29yayBJbnRlcm9wZXJhYmlsaXR5IENvbnN1bHRhdGl2ZSBDb21taXR0ZWUgKE5JQ0Mp LCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5uaWNjLm9yZy51ay9uaWNjLXB1YmxpYy9QdWJs aWMvaW50ZXJjb25uZWN0c3RhbmRhcmRzL2RzbHRnX3NwZWMvbmQxNjAyXzIwMDVfMDgucGRmIj5T cGVjaWZpY2F0aW9uIG9mIHRoZSBBY2Nlc3MgTmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkN CiAgICAgICAgYXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24gc3lzdGVtcyB1c2VkIG9uIHRoZSBC VCBBY2Nlc3MgTmV0d29yazwvYT4sJnJkcXVvOyBOSUNDIERvY3VtZW50Jm5ic3A7TkQxNjAyOjIw MDUvMDgsIEF1Z3VzdCZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJHLjk5MS4yIj5bRy45OTEuMl08L2E+PC90ZD4N Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklUVS1ULCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3 dy5pdHUuaW50L3JlYy9yZWNvbW1lbmRhdGlvbi5hc3A/dHlwZT1mb2xkZXJzJmFtcDtsYW5nPWUm YW1wO3BhcmVudD1ULVJFQy1HLjk5MS4yIj5TaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzPC9hPiwmcmRxdW87IElUVS1UIFJl Y29tbWVuZGF0aW9uJm5ic3A7Ry45OTEuMiwgRGVjZW1iZXImbmJzcDsyMDAzLjwvdGQ+PC90cj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iRy45OTMu MSI+W0cuOTkzLjFdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5JVFUtVCwgJmxk cXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaXR1LmludC9yZWMvcmVjb21tZW5kYXRpb24uYXNwP3R5 cGU9Zm9sZGVycyZhbXA7bGFuZz1lJmFtcDtwYXJlbnQ9VC1SRUMtRy45OTMuMSI+VmVyeSBIaWdo IHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVyczwvYT4sJnJkcXVvOyBJ VFUtVCBSZWNvbW1lbmRhdGlvbiZuYnNwO0cuOTkzLjEsIEp1bmUmbmJzcDsyMDA0LjwvdGQ+PC90 cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSS1E LmlldGYtaHVibWliLWVmbS1lcG9uLW1pYiI+W0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWJd PC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86bGlvcl9r aGVybW9zaEBwbWMtc2llcnJhLmNvbSI+S2hlcm1vc2gsIEwuPC9hPiwgJmxkcXVvOzxhIGhyZWY9 Imh0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaHVibWliLWVm bS1lcG9uLW1pYi0wNi50eHQiPk1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OPC9hPiwmcmRxdW87IGRy YWZ0LWlldGYtaHVibWliLWVmbS1lcG9uLW1pYi0wNiAod29yayBpbiBwcm9ncmVzcyksIE5vdmVt YmVyJm5ic3A7MjAwNi48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFs aWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLWh1Ym1pYi1lZm0tbWliIj5bSS1ELmlldGYtaHVi bWliLWVmbS1taWJdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJt YWlsdG86bXNxdWlyZUBoYXR0ZXJhc25ldHdvcmtzLmNvbSI+U3F1aXJlLCBNLjwvYT4sICZsZHF1 bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRm LWh1Ym1pYi1lZm0tbWliLTA1LnR4dCI+RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBm b3IgT0FNIEZ1bmN0aW9ucw0KICAgICAgICAgICAgIG9uIEV0aGVybmV0IExpa2UgSW50ZXJmYWNl czwvYT4sJnJkcXVvOyBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tbWliLTA1ICh3b3JrIGluIHByb2dy ZXNzKSwgT2N0b2JlciZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJQU5BaWZUeXBlLU1JQiI+W0lBTkFpZlR5cGUt TUlCXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SW50ZXJuZXQgQXNzaWduZWQg TnVtYmVycyBBdXRob3JpdHkgKElBTkEpLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5pYW5h Lm9yZy9hc3NpZ25tZW50cy9pYW5haWZ0eXBlLW1pYiI+SUFOQWlmVHlwZSBUZXh0dWFsIENvbnZl bnRpb24gZGVmaW5pdGlvbjwvYT4sJnJkcXVvOyAmbmJzcDtodHRwOi8vd3d3LmlhbmEub3JnL2Fz c2lnbm1lbnRzL2lhbmFpZnR5cGUtbWliLjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMjg2MyI+W1JGQzI4NjNdPC9hPjwvdGQ+ DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9s eiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI4NjMudHh0 Ij5UaGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mjg2MywgSnVu ZSZuYnNwOzIwMDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGln bj0idG9wIj48YSBuYW1lPSJSRkMyODY0Ij5bUkZDMjg2NF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0i YXV0aG9yLXRleHQiPk1jQ2xvZ2hyaWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bzs8YSBocmVm PSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyODY0LnR4dCI+VGhlIEludmVydGVkIFN0 YWNrIFRhYmxlIEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1 bzsgUkZDJm5ic3A7Mjg2NCwgSnVuZSZuYnNwOzIwMDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFz cz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNjM1Ij5bUkZDMzYzNV08 L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkZsaWNrLCBKLiwgJmxkcXVvOzxhIGhy ZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzM2MzUudHh0Ij5EZWZpbml0aW9ucyBv ZiBNYW5hZ2VkIE9iamVjdHMgZm9yIHRoZSBFdGhlcm5ldC1saWtlIEludGVyZmFjZSBUeXBlczwv YT4sJnJkcXVvOyBSRkMmbmJzcDszNjM1LCBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvdGQ+PC90cj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDNDA3 MCI+W1JGQzQwNzBdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Eb2RnZSwgTS4g YW5kIEIuIFJheSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3Jm YzQwNzAudHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdCBFeHRlbnNpb25zIGZvciBW ZXJ5IEhpZ2ggU3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmVzIChWRFNMKSBVc2luZyBNdWx0 aXBsZSBDYXJyaWVyIE1vZHVsYXRpb24gKE1DTSkgTGluZSBDb2Rpbmc8L2E+LCZyZHF1bzsgUkZD Jm5ic3A7NDA3MCwgTWF5Jm5ic3A7MjAwNS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRo b3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzQzMTkiPltSRkM0MzE5XTwvYT48L3Rk Pg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+U2lrZXMsIEMuLCBSYXksIEIuLCBhbmQgUi4gQWJi aSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzQzMTkudHh0 Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEhpZ2ggQml0LVJhdGUgRFNMIC0g Mm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBEaWdpdGFs IFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIExpbmVzPC9hPiwmcmRxdW87IFJGQyZuYnNwOzQzMTks IERlY2VtYmVyJm5ic3A7MjAwNS48L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQo8YSBuYW1lPSJyZmMu YXV0aG9ycyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBh ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0 cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwv dGQ+PC90cj48L3RhYmxlPg0KPGgzPkF1dGhvcidzIEFkZHJlc3M8L2gzPg0KPHRhYmxlIHdpZHRo PSI5OSUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4NCjx0cj48 dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+RWR3YXJkIEJlaWxpPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZu YnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5BY3RlbGlzIE5ldHdvcmtzPC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9 ImF1dGhvci10ZXh0Ij5CYXplbCAyNTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+UGV0YWNoLVRpa3ZhPC90 ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5Jc3JhZWw8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3Ii IGFsaWduPSJyaWdodCI+UGhvbmU6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi Pis5NzItMy05MjQtMzQ5MTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvciIgYWxpZ249 InJpZ2h0Ij5FbWFpbDombmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJl Zj0ibWFpbHRvOmVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSI+ZWR3YXJkLmJlaWxpQGFjdGVsaXMu Y29tPC9hPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuY29weXJpZ2h0Ij48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8aDM+RnVsbCBDb3B5cmlnaHQgU3RhdGVtZW50PC9oMz4NCjxwIGNsYXNzPSdjb3B5cmln aHQnPg0KQ29weXJpZ2h0ICZjb3B5OyBUaGUgSUVURiBUcnVzdCAoMjAwNykuPC9wPg0KPHAgY2xh c3M9J2NvcHlyaWdodCc+DQpUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QgdG8gdGhlIHJpZ2h0cywN CmxpY2Vuc2VzIGFuZCByZXN0cmljdGlvbnMgY29udGFpbmVkIGluIEJDUCZuYnNwOzc4LA0KYW5k IGV4Y2VwdCBhcyBzZXQgZm9ydGggdGhlcmVpbiwNCnRoZSBhdXRob3JzIHJldGFpbiBhbGwgdGhl aXIgcmlnaHRzLjwvcD4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhpcyBkb2N1bWVudCBhbmQg dGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gYXJlIHByb3ZpZGVkDQpvbiBhbiAmbGRx dW87QVMgSVMmcmRxdW87IGJhc2lzIGFuZCBUSEUgQ09OVFJJQlVUT1IsDQpUSEUgT1JHQU5JWkFU SU9OIEhFL1NIRSBSRVBSRVNFTlRTDQpPUiBJUyBTUE9OU09SRUQgQlkgKElGIEFOWSksIFRIRSBJ TlRFUk5FVCBTT0NJRVRZLCBUSEUgSUVURiBUUlVTVA0KQU5EIFRIRSBJTlRFUk5FVCBFTkdJTkVF UklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTLA0KRVhQUkVTUyBPUiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUDQpUSEUg VVNFIE9GIFRIRSBJTkZPUk1BVElPTiBIRVJFSU4gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hU UyBPUiBBTlkNCklNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSDQpQVVJQT1NFLjwvcD4NCjxoMz5JbnRlbGxlY3R1YWwgUHJvcGVy dHk8L2gzPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpUaGUgSUVURiB0YWtlcyBubyBwb3NpdGlv biByZWdhcmRpbmcgdGhlIHZhbGlkaXR5IG9yIHNjb3BlIG9mIGFueQ0KSW50ZWxsZWN0dWFsIFBy b3BlcnR5IFJpZ2h0cyBvciBvdGhlciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkDQp0byBw ZXJ0YWluIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRlY2hub2xvZ3kNCmRl c2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hpY2ggYW55IGxpY2Vu c2UNCnVuZGVyIHN1Y2ggcmlnaHRzIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5v ciBkb2VzIGl0DQpyZXByZXNlbnQgdGhhdCBpdCBoYXMgbWFkZSBhbnkgaW5kZXBlbmRlbnQgZWZm b3J0IHRvIGlkZW50aWZ5IGFueQ0Kc3VjaCByaWdodHMuDQpJbmZvcm1hdGlvbiBvbiB0aGUgcHJv Y2VkdXJlcyB3aXRoIHJlc3BlY3QgdG8NCnJpZ2h0cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZSBm b3VuZCBpbiBCQ1AmbmJzcDs3OCBhbmQgQkNQJm5ic3A7NzkuPC9wPg0KPHAgY2xhc3M9J2NvcHly aWdodCc+DQpDb3BpZXMgb2YgSVBSIGRpc2Nsb3N1cmVzIG1hZGUgdG8gdGhlIElFVEYgU2VjcmV0 YXJpYXQgYW5kIGFueQ0KYXNzdXJhbmNlcyBvZiBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWlsYWJs ZSwNCm9yIHRoZSByZXN1bHQgb2YgYW4gYXR0ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdlbmVyYWwg bGljZW5zZSBvcg0KcGVybWlzc2lvbiBmb3IgdGhlIHVzZSBvZiBzdWNoIHByb3ByaWV0YXJ5IHJp Z2h0cyBieSBpbXBsZW1lbnRlcnMgb3INCnVzZXJzIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBjYW4g YmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBvbi1saW5lIElQUg0KcmVwb3NpdG9yeSBhdCA8YSBo cmVmPSdodHRwOi8vd3d3LmlldGYub3JnL2lwcic+aHR0cDovL3d3dy5pZXRmLm9yZy9pcHI8L2E+ LjwvcD4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhlIElFVEYgaW52aXRlcyBhbnkgaW50ZXJl c3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uDQphbnkgY29weXJpZ2h0cywNCnBh dGVudHMgb3IgcGF0ZW50IGFwcGxpY2F0aW9ucywNCm9yIG90aGVyDQpwcm9wcmlldGFyeSByaWdo dHMgdGhhdCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1heSBiZSByZXF1aXJlZA0KdG8gaW1w bGVtZW50IHRoaXMgc3RhbmRhcmQuDQpQbGVhc2UgYWRkcmVzcyB0aGUgaW5mb3JtYXRpb24gdG8g dGhlIElFVEYgYXQgPGEgaHJlZj0nbWFpbHRvOmlldGYtaXByQGlldGYub3JnJz5pZXRmLWlwckBp ZXRmLm9yZzwvYT4uPC9wPg0KPGgzPkFja25vd2xlZGdtZW50PC9oMz4NCjxwIGNsYXNzPSdjb3B5 cmlnaHQnPg0KRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24gaXMgcHJvdmlkZWQg YnkNCnRoZSBJRVRGIEFkbWluaXN0cmF0aXZlIFN1cHBvcnQgQWN0aXZpdHkgKElBU0EpLjwvcD4N CjwvYm9keT48L2h0bWw+DQo= ------_=_NextPart_001_01C753CB.2D644D5B 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 SSAgICAgICAgIC0tIFJGQyAyNTc4DQogICAgVHJ1dGhWYWx1ZQ0KICAgICAgRlJPTSBTTk1QdjIt VEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdS T1VQDQogICAgICBGUk9NIFNOTVB2Mi1DT05GICAgICAgICAtLSBSRkMgMjU4MA0KICAgIGlmU3Rh Y2tHcm91cDIsIGlmU3RhY2tIaWdoZXJMYXllciwgaWZTdGFja0xvd2VyTGF5ZXIgDQogICAgICBG Uk9NIElGLU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2Mw0KICAgIGlmSW52U3RhY2tHcm91cA0K ICAgICAgRlJPTSBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQNCiAgICA7DQoNCiAg aWZDYXBTdGFja01JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjE4 MDAwMFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNw0KICAgIE9SR0FOSVpBVElPTiAiSUVURiBFdGhl cm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQogICAgQ09OVEFDVC1J TkZPDQogICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5pZXRmLm9yZy9odG1s LmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGluZyBMaXN0czoNCiAg ICAgICAgR2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAgICAgICAgVG8gU3Vi c2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBCb2R5OiBzdWJzY3Jp YmUgeW91cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBXaWpuZW4NCiAgICAg IFBvc3RhbDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdlbiAzMw0KICAgICAg ICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMNCiAg ICAgICAgIFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRl bC1sdWNlbnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQogICAgICBQb3N0YWw6 IEFjdGVsaXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5C LiAxMDE3Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAgICAgICAgICAgICAg SXNyYWVsDQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQogICAgICBFLW1haWw6 IGVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9ODQogICAgICAiVGhl IG9iamVjdHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIGRlc2NyaWJlDQogICAgICBj cm9zcy1jb25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVkKSBpbnRlcmZhY2Vz LA0KICAgICAgY29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBk ZWZpbmVkIGluDQogICAgICBJRi1NSUIgYW5kIElGLUlOVkVSVEVELVNUQUNLLU1JQiByZXNwZWN0 aXZlbHkuDQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhp cyB2ZXJzaW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsg IHNlZSB0aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAg ICBSRVZJU0lPTiAgICAiMjAwNzAyMTgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3DQogICAg REVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0K ICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIg Jg0KICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KIA0KICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoN CiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBaWlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMN CiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNlY3Rpb25z IG9mIHRoZSBtb2R1bGUNCiAgIC0tIFN0cnVjdHVyZWQgYXMgcmVjb21tZW5kZWQgYnkgUkZDIDQx ODEsIHNlZQ0KICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQNCg0KICAgaWZD YXBTdGFja09iamVjdHMgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIg MSB9DQoNCiAgIGlmQ2FwU3RhY2tDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBp ZkNhcFN0YWNrTUlCIDIgfQ0KDQogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQ0KDQogICAtLQ0K ICAgLS0gaWZDYXBTdGFja1RhYmxlIGdyb3VwDQogICAtLQ0KDQogICBpZkNhcFN0YWNrVGFibGUg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIElmQ2FwU3RhY2tFbnRy eQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUsIG1vZGVsZWQgYWZ0ZXIg aWZTdGFja1RhYmxlIGZyb20gSUYtTUlCLA0KICAgICAgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9u IHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJw0KICAgICAgIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB0 aGUgbXVsdGlwbGUgc3ViLWxheWVycyBvZiBuZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcyAoYXMg b3Bwb3NlZCB0byBhY3R1YWwgcmVsYXRpb25zaGlwcyBkZXNjcmliZWQgaW4NCiAgICAgICBpZlN0 YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBpbmZvcm1hdGlvbiBvbg0KICAg ICAgIHdoaWNoIHN1Yi1sYXllcnMgTUFZIHBvc3NpYmx5IHJ1biAnb24gdG9wIG9mJyB3aGljaCBv dGhlcg0KICAgICAgIHN1Yi1sYXllcnMsIGFzIGRldGVybWluZWQgYnkgY3Jvc3MtY29ubmVjdCBj YXBhYmlsaXR5IG9mIHRoZQ0KICAgICAgIGRldmljZSwgd2hlcmUgZWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdw0KICAgICAgIGluIHRoZSBpZlRhYmxlLiBGb3Ig ZXhhbXBsZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleA0KICAgICAgIHZhbHVlIHgg Y2FuIGJlIGNvbm5lY3RlZCB0byBydW4gb24gdG9wIG9mIHRoZSBzdWItbGF5ZXIgd2l0aA0KICAg ICAgIGlmSW5kZXggdmFsdWUgeSwgdGhlbiB0aGlzIHRhYmxlIGNvbnRhaW5zOg0KICAgICAgIA0K ICAgICAgICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAgaWZDYXBTdGFja1N0 YXR1cy54Lnkgcm93IGRvZXMgbm90IGV4aXN0IGlmIGl0IGlzIGltcG9zc2libGUNCiAgICAgICB0 byBjb25uZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4NCiAgICAgICANCiAgICAg ICBOb3RlIHRoYXQgZm9yIG1vc3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNFLVRMKQ0K ICAgICAgIHRoZXJlJ3MgYWx3YXlzIGF0IGxlYXN0IG9uZSBoaWdoZXItbGV2ZWwgaW50ZXJmYWNl IChlLmcuIFBDUw0KICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVsIGludGVyZmFjZSAo ZS5nLiBQTUUpIGFuZCBhdA0KICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZlbCBpbnRlcmZhY2Ug Zm9yIGVhY2ggaGlnaGVyLWxldmVsDQogICAgICAgaW50ZXJmYWNlLCB0aGF0IGlzLCB0aGVyZSBp cyBhdCBsZWFzdCBhIHNpbmdsZSByb3cgd2l0aCBhDQogICAgICAgJ3RydWUnIHN0YXR1cyBmb3Ig YW55IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4NCg0KICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBkZXZpY2UgY2FwYWJpbGl0eSINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIg0KICAgICA6Oj0geyBpZkNhcFN0YWNrT2Jq ZWN0cyAxIH0NCg0KICAgaWZDYXBTdGFja0VudHJ5ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBJZkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmZvcm1h dGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvDQogICAgICAgc3Vi LWxheWVycywgc3BlY2lmeWluZyB0aGF0IG9uZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bg0K ICAgICAgIG9uICd0b3AnIG9mIHRoZSBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNv cnJlc3BvbmRzDQogICAgICAgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50 ZXJmYWNlIGluZGV4IGZvcg0KICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3Rp dmVseSkuIg0KICAgICBJTkRFWCB7DQogICAgICAgaWZTdGFja0hpZ2hlckxheWVyLA0KICAgICAg IGlmU3RhY2tMb3dlckxheWVyDQogICAgIH0NCiAgICAgOjo9IHsgaWZDYXBTdGFja1RhYmxlIDEg fQ0KDQogICBJZkNhcFN0YWNrRW50cnkgOjo9IFNFUVVFTkNFIHsNCiAgICAgICAgaWZDYXBTdGFj a1N0YXR1cyAgICAgICBUcnV0aFZhbHVlDQogICAgICB9DQoNCiAgIGlmQ2FwU3RhY2tTdGF0dXMg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiVGhlIHN0YXR1cyBvZiB0aGUgJ2Nyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eScgcmVs YXRpb25zaGlwDQogICAgICAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4gVGhlIGZvbGxvd2luZyB2 YWx1ZXMgY2FuIGJlIHJldHVybmVkOg0KICAgICAgICAgdHJ1ZSgxKSAgICAgICAgIC0gaW5kaWNh dGVzIHRoYXQgdGhlIHN1Yi1sYXllciBpbnRlcmZhY2UsDQogICAgICAgICAgICAgICAgICAgICAg ICAgICBpZGVudGlmaWVkIGJ5IHRoZSBpZlN0YWNrTG93ZXJMYXllciBNQVkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJlIGNvbm5lY3RlZCB0byBydW4gJ2JlbG93JyB0aGUgc3ViLWxheWVy DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2UsIGlkZW50aWZpZWQgYnkgdGhl DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIgaW5kZXguDQog ICAgICAgICBmYWxzZSgyKSAgICAgICAgLSB0aGUgc3ViLWxheWVyIGludGVyZmFjZXMgY2Fubm90 IGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgdGVtcG9yYXJpbHkgZHVl IHRvDQogICAgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJpbGl0eSBvZiB0aGUgaW50 ZXJmYWNlKHMpLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUgb2YgdGhlIGlu dGVyZmFjZXMgaXMgbG9jYXRlZCBvbiBhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJz ZW50IHBsdWdnYWJsZSBtb2R1bGUuDQoNCiAgICAgICBOb3RlIHRoYXQgbG93ZXItbGF5ZXIgaW50 ZXJmYWNlIGF2YWlsYWJpbGl0eSBwZXIgaGlnaGVyLWxheWVyLA0KICAgICAgIGluZGljYXRlZCBi eSB0aGUgdmFsdWUgb2YgJ3RydWUnLCBjYW4gYmUgY29uc3RyYWluZWQgYnkNCiAgICAgICBvdGhl ciBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSBieSB0aGUgYWdncmVnYXRpb24gY2FwYWNpdHkgb2YN CiAgICAgICBhIGhpZ2hlci1sYXllciBpbnRlcmZhY2Ugb3IgYnkgdGhlIGxvd2VyLWxheWVyIGlu dGVyZmFjZSBpbg0KICAgICAgIHF1ZXN0aW9uIGJlaW5nIGFscmVhZHkgY29ubmVjdGVkIHRvIGFu b3RoZXIgaGlnaGVyLWxheWVyDQogICAgICAgaW50ZXJmYWNlLiBJbiBvcmRlciB0byBlbnN1cmUg dGhhdCBhIHBhcnRpY3VsYXIgc3ViLWxheWVyIGNhbg0KICAgICAgIGJlIGNvbm5lY3RlZCB0byBh bm90aGVyIHN1Yi1sYXllciwgYWxsIHJlc3BlY3RpdmUgb2JqZWN0cw0KICAgICAgIChlLmcuIGlm Q2FwU3RhY2tUYWJsZSwgaWZTdGFja1RhYmxlIGFuZCBlZm1DdVBBRkNhcGFjaXR5IGZvcg0KICAg ICAgIGZvciBFRk1DdSBpbnRlcmZhY2VzKSBTSEFMTCBiZSBpbnNwZWN0ZWQuDQoNCiAgICAgICBU aGlzIG9iamVjdCBpcyByZWFkIG9ubHksIHVubGlrZSBpZlN0YWNrU3RhdHVzLCBhcyBpdA0KICAg ICAgIGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iDQogICAgIDo6PSB7IGlm Q2FwU3RhY2tFbnRyeSAxIH0NCg0KICAgaWZJbnZDYXBTdGFja1RhYmxlICBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICAgIFNFUVVFTkNFIE9GIElmSW52Q2FwU3RhY2tFbnRyeQ0KICAgICBN QVgtQUNDRVNTICAgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRhYmxlIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24g b24gdGhlIHBvc3NpYmxlIHJlbGF0aW9uc2hpcHMNCiAgICAgICBiZXR3ZWVuIHRoZSBtdWx0aXBs ZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsgaW50ZXJmYWNlcy4gVGhpcyANCiAgICAgICB0YWJsZSwg bW9kZWxlZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQ0KICAgICAgIElGLUlOVkVSVEVELVNU QUNLLU1JQiwgaXMgYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBTdGFja1RhYmxlDQogICAgICAgZGVm aW5lZCBpbiB0aGlzIE1JQiBtb2R1bGUuDQogICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJs ZSBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaA0KICAgICAgIHN1Yi1sYXllcnMgTUFZIHJ1 biAndW5kZXJuZWF0aCcgd2hpY2ggb3RoZXIgc3ViLWxheWVycywgd2hlcmUNCiAgICAgICBlYWNo IHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxl Lg0KICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZh bHVlIHggTUFZIGJlDQogICAgICAgY29ubmVjdGVkIHRvIHJ1biB1bmRlcm5lYXRoIHRoZSBzdWIt bGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlDQogICAgICAgeSwgdGhlbiB0aGlzIHRhYmxlIGNvbnRh aW5zOg0KDQogICAgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAg VGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRo ZQ0KICAgICAgIGlmQ2FwU3RhY2tUYWJsZSwgYnV0IHRoZSByb3dzIGFwcGVhciBpbiBhIGRpZmZl cmVudCBvcmRlci4NCg0KICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2Ny aWJlcyBhIGNyb3NzLWNvbm5lY3QNCiAgICAgICBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSINCiAgICAg Ojo9IHsgaWZDYXBTdGFja09iamVjdHMgMiB9DQoNCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgICBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgTUFY LUFDQ0VTUyAgICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxhciByZWxh dGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLQ0KICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhh dCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUNCiAgICAgICAgb3RoZXIgc3Vi LWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwNCiAgICAg ICAgcm93IGluIHRoZSBpZlRhYmxlLiINCiAgICAgSU5ERVggeyBpZlN0YWNrTG93ZXJMYXllciwg aWZTdGFja0hpZ2hlckxheWVyIH0NCiAgICAgOjo9IHsgaWZJbnZDYXBTdGFja1RhYmxlIDEgfQ0K DQogICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7DQogICAgICBpZkludkNhcFN0 YWNrU3RhdHVzICAgICAgIFRydXRoVmFsdWUNCiAgICB9DQoNCiAgIGlmSW52Q2FwU3RhY2tTdGF0 dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFY LUFDQ0VTUyAgICAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1j b25uZWN0IGNhcGFiaWxpdHknDQogICAgICAgIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBzdWIt bGF5ZXJzLg0KDQogICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3Ig ZWFjaCBpbnN0YW5jZSBvZiB0aGUNCiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyBvYmplY3QsIGFu ZCB2aWNlIHZlcnNhLiBGb3IgZXhhbXBsZSwgaWYgdGhlDQogICAgICAgIHZhcmlhYmxlIGlmQ2Fw U3RhY2tTdGF0dXMuSC5MIGV4aXN0cywgdGhlbiB0aGUgdmFyaWFibGUNCiAgICAgICAgaWZJbnZT dGFja1N0YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4gIEluDQogICAg ICAgIGFkZGl0aW9uLCB0aGUgdHdvIHZhcmlhYmxlcyBhbHdheXMgaGF2ZSB0aGUgc2FtZSB2YWx1 ZS4NCg0KICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1vbmx5LCBh cyBpdCBkZXNjcmliZXMNCiAgICAgICAgYSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiDQogICAgIDo6PSB7IGlmSW52 Q2FwU3RhY2tFbnRyeSAxIH0NCg0KICAtLQ0KICAtLSBDb25mb3JtYW5jZSBTdGF0ZW1lbnRzDQog IC0tDQoNCiAgIGlmQ2FwU3RhY2tHcm91cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0NCiAg ICAgICAgeyBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgMSB9DQoNCiAgIGlmQ2FwU3RhY2tDb21wbGlh bmNlcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0NCiAgICAgICAgeyBpZkNhcFN0YWNrQ29uZm9ybWFu Y2UgMiB9DQoNCiAgIC0tIFVuaXRzIG9mIENvbmZvcm1hbmNlDQoNCiAgIGlmQ2FwU3RhY2tHcm91 cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgaWZDYXBTdGFja1N0YXR1cywN CiAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3Zp ZGluZyBpbmZvcm1hdGlvbiBvbiB0aGUNCiAgICAgICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkg b2YgbXVsdGktbGF5ZXIgKHN0YWNrZWQpIG5ldHdvcmsNCiAgICAgICBpbnRlcmZhY2VzLiINCiAg ICAgOjo9IHsgaWZDYXBTdGFja0dyb3VwcyAxIH0NCg0KDQogIC0tIENvbXBsaWFuY2UgU3RhdGVt ZW50cw0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5DRQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBjb21wbGlh bmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGllcywgd2hpY2ggcHJvdmlkZQ0KICAgICAgIGlu Zm9ybWF0aW9uIG9uIHRoZSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgbXVsdGktbGF5ZXIN CiAgICAgICAoc3RhY2tlZCkgbmV0d29yayBpbnRlcmZhY2VzLCB3aXRoIGZsZXhpYmxlIGNyb3Nz LWNvbm5lY3QNCiAgICAgICBiZXR3ZWVuIHRoZSBzdWItbGF5ZXJzLg0KICAgICAgIENvbXBsaWFu Y2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAg ICAgIGlzIFJFUVVJUkVEOg0KICAgICAgIA0KICAgICAgIE1JQiBNb2R1bGUgICAgICAgICAgICAg Q29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tDQogICAgICAgSUYtTUlCICAgICAgICAgICAgICAgICBpZkNvbXBsaWFu Y2UzDQogICAgICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UiDQoNCiAg ICAgDQogICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUNCiAgICAgICBNQU5EQVRPUlktR1JPVVBT IHsNCiAgICAgICAgIGlmQ2FwU3RhY2tHcm91cA0KICAgICAgIH0NCiAgICAgICANCiAgICAgICBP QkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZTlRBWCAgICAgICBUcnV0aFZh bHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZv ciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAgICAgICBpbXBsZW1lbnRh dGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4iDQoNCiAgICAgICBPQkpFQ1Qg ICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZTlRBWCAgICAgICBUcnV0aFZhbHVl IHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0 aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAgICAgICBpbXBsZW1lbnRhdGlv bnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4iDQogICAgICAgDQogICAgIE1PRFVM RSAgSUYtTUlCDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZlN0YWNrR3Jv dXAyDQogICAgICAgfQ0KDQogICAgIE1PRFVMRSAgSUYtSU5WRVJURUQtU1RBQ0stTUlCDQogICAg ICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkludlN0YWNrR3JvdXANCiAgICAgICB9 DQogICAgICAgDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tDb21wbGlhbmNlcyAxIH0NCkVORA0KDQo= ------_=_NextPart_001_01C753CB.2D644D5B 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 QVRFRCAiMjAwNzAyMTgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3DQogICAgT1JHQU5JWkFU SU9OICJJRVRGIEV0aGVybmV0IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIN CiAgICBDT05UQUNULUlORk8NCiAgICAgICJXRyBjaGFydGVyOg0KICAgICAgICBodHRwOi8vd3d3 LmlldGYub3JnL2h0bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICBNYWls aW5nIExpc3RzOg0KICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0K ICAgICAgICBUbyBTdWJzY3JpYmU6IGh1Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MNCg0KICAgICAgQ2hhaXI6ICBCZXJ0 IFdpam5lbg0KICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudA0KICAgICAgICAgICAgICBTY2hh Z2VuIDMzDQogICAgICAgICAgICAgIDM0NjEgR0wgTGluc2Nob3Rlbg0KICAgICAgICAgICAgICBO ZXRoZXJsYW5kcw0KICAgICAgICAgVGVsOiArMzEtMzQ4LTQwNy03NzUNCiAgICAgIEUtbWFpbDog Yndpam5lbkBhbGNhdGVsLWx1Y2VudC5jb20NCg0KICAgICAgRWRpdG9yOiBFZHdhcmQgQmVpbGkN CiAgICAgIFBvc3RhbDogQWN0ZWxpcyBOZXR3b3JrcyBJbmMuDQogICAgICAgICAgICAgIDI1IEJh emVsIFN0LiwgUC5PLkIuIDEwMTczDQogICAgICAgICAgICAgIFBldGFjaC1UaWt2YSAxMDE3Mw0K ICAgICAgICAgICAgICBJc3JhZWwNCiAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0OTEN CiAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIg0KDQogICAgREVTQ1JJUFRJ T04NCiAgICAgICJUaGUgb2JqZWN0cyBpbiB0aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gbWFu YWdlDQogICAgICB0aGUgRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29wcGVyIChF Rk1DdSkgSW50ZXJmYWNlcw0KICAgICAgMkJBU0UtVEwgYW5kIDEwUEFTUy1UUywgZGVmaW5lZCBp biBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0LA0KICAgICAgd2hpY2ggaXMgbm93IGEgcGFydCBvZiBJ RUVFIFN0ZC4gODAyLjMtMjAwNS4NCg0KICAgICAgVGhlIGZvbGxvd2luZyByZWZlcmVuY2VzIGFy ZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBNSUIgbW9kdWxlOg0KDQogICAgICBbODAyLjNhaF0gcmVm ZXJzIHRvOg0KICAgICAgICBJRUVFIFN0ZCA4MDIuM2FoLTIwMDQ6ICdJRUVFIFN0YW5kYXJkIGZv ciBJbmZvcm1hdGlvbg0KICAgICAgICB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFu ZCBpbmZvcm1hdGlvbiBleGNoYW5nZQ0KICAgICAgICBiZXR3ZWVuIHN5c3RlbXMgLSBMb2NhbCBh bmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJl bWVudHMgLQ0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdp dGggQ29sbGlzaW9uDQogICAgICAgIERldGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBh bmQgUGh5c2ljYWwgTGF5ZXINCiAgICAgICAgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBBbWVu ZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAgICAg IExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vzcw0K ICAgICAgICBOZXR3b3JrcycsIDA3IFNlcHRlbWJlciAyMDA0Lg0KDQogICAgICBPZiBwYXJ0aWN1 bGFyIGludGVyZXN0IGFyZSBDbGF1c2UgNjEsICdQaHlzaWNhbCBDb2RpbmcNCiAgICAgIFN1Ymxh eWVyIChQQ1MpIGFuZCBjb21tb24gc3BlY2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZA0K ICAgICAgdHlwZSAyQkFTRS1UTCcsIENsYXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUs DQogICAgICAnTWFuYWdlbWVudCBEYXRhIElucHV0L091dHB1dCAoTURJTykgSW50ZXJmYWNlJywg QW5uZXggNjJBLA0KICAgICAgJ1BNRCBwcm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXgg NjNBLCAnUE1EIHByb2ZpbGVzIGZvcg0KICAgICAgMkJBU0UtVEwnLg0KDQogICAgICBbRy45OTEu Ml0gcmVmZXJzIHRvOg0KICAgICAgICBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2lu Z2xlLXBhaXIgSGlnaC1zcGVlZCBEaWdpdGFsDQogICAgICAgIFN1YnNjcmliZXIgTGluZSAoU0hE U0wpIHRyYW5zY2VpdmVycycsIERlY2VtYmVyIDIwMDMuDQoNCiAgICAgIFtBTkZQXSByZWZlcnMg dG86DQogICAgICAgIE5JQ0MgRG9jdW1lbnQgTkQxNjAyOjIwMDUvMDg6ICdTcGVjaWZpY2F0aW9u IG9mIHRoZSBBY2Nlc3MNCiAgICAgICAgTmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkgYXBw bGljYWJsZSB0byB0cmFuc21pc3Npb24NCiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBB Y2Nlc3MgTmV0d29yaywnIEF1Z3VzdCAyMDA1Lg0KDQogICAgICBOYW1pbmcgQ29udmVudGlvbnM6 DQogICAgICAgIEF0biAgIC0gQXR0ZW51YXRpb24NCiAgICAgICAgQ08gICAgLSBDZW50cmFsIE9m ZmljZQ0KICAgICAgICBDUEUgICAtIEN1c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudA0KICAgICAg ICBFRk0gICAtIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlDQogICAgICAgIEVGTUN1IC0gRUZN IENvcHBlcg0KICAgICAgICBNRElPICAtIE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQNCiAg ICAgICAgTWduICAgLSBNYXJnaW4NCiAgICAgICAgUEFGICAgLSBQTUUgQWdncmVnYXRpb24gRnVu Y3Rpb24NCiAgICAgICAgUEJPICAgLSBQb3dlciBCYWNrLU9mZg0KICAgICAgICBQQ1MgICAtIFBo eXNpY2FsIENvZGluZyBTdWJsYXllcg0KICAgICAgICBQTUQgICAtIFBoeXNpY2FsIE1lZGl1bSBE ZXBlbmRlbnQNCiAgICAgICAgUE1FICAgLSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQogICAgICAg IFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwgRGVuc2l0eQ0KICAgICAgICBTTlIgICAtIFNpZ25hbCB0 byBOb2lzZSBSYXRpbw0KICAgICAgICBUQ1BBTSAtIFRyZWxsaXMgQ29kZWQgUHVsc2UgQW1wbGl0 dWRlIE1vZHVsYXRpb24NCg0KICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAw NykuICBUaGlzIHZlcnNpb24NCiAgICAgIG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJG QyBYWFhYOyAgc2VlIHRoZSBSRkMNCiAgICAgIGl0c2VsZiBmb3IgZnVsbCBsZWdhbCBub3RpY2Vz LiINCg0KICAgIFJFVklTSU9OICAgICIyMDA3MDIxODAwMDBaIiAgLS0gRmVicnVhcnkgMTgsIDIw MDcNCiAgICBERVNDUklQVElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhY WFguIg0KDQogICAgICAtLSBFZE5vdGU6IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZD IG51bWJlciAmDQogICAgICAtLSByZW1vdmUgdGhpcyBub3RlDQogDQogICAgOjo9IHsgbWliLTIg WVlZIH0NCg0KICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25j ZSBpdCBpcw0KICAgICAgLS0gYWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4NCg0KICAgLS0g U2VjdGlvbnMgb2YgdGhlIG1vZHVsZQ0KDQogICBlZm1DdU9iamVjdHMgICAgIE9CSkVDVCBJREVO VElGSUVSIDo6PSB7IGVmbUN1TUlCIDEgfQ0KDQogICBlZm1DdUNvbmZvcm1hbmNlIE9CSkVDVCBJ REVOVElGSUVSIDo6PSB7IGVmbUN1TUlCIDIgfQ0KDQogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVs ZQ0KDQogICBlZm1DdVBvcnQgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2Jq ZWN0cyAxIH0NCg0KICAgZWZtQ3VQbWUgICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdU9iamVjdHMgMiB9DQoNCiAgIC0tIFRleHR1YWwgQ29udmVudGlvbnMNCg0KICAgRWZtUHJv ZmlsZUluZGV4IDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgRElTUExBWS1ISU5UICJkIg0K ICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHVu aXF1ZSB2YWx1ZSwgZ3JlYXRlciB0aGFuIHplcm8sIGZvciBlYWNoIFBNRSBjb25maWd1cmF0aW9u DQogICAgICAgcHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0DQogICAgICAgdmFsdWVzIGFyZSBhc3NpZ25lZCBjb250aWd1b3VzbHkgc3RhcnRp bmcgZnJvbSAxLiBUaGUgdmFsdWUNCiAgICAgICBmb3IgZWFjaCBwcm9maWxlIE1VU1QgcmVtYWlu IGNvbnN0YW50IGF0IGxlYXN0IGZyb20gb25lDQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2Yg dGhlIGVudGl0eSdzIG5ldHdvcmsgbWFuYWdlbWVudCBzeXN0ZW0NCiAgICAgICB0byB0aGUgbmV4 dCByZS1pbml0aWFsaXphdGlvbi4iDQogICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMyICgxLi4y NTUpDQoNCiAgIEVmbVByb2ZpbGVJbmRleE9yWmVybyA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQog ICAgIERJU1BMQVktSElOVCAiZCINCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgYW4gZXh0ZW5zaW9u IG9mIEVmbVByb2ZpbGVJbmRleA0KICAgICAgIGNvbnZlbnRpb24uIFRoZSBsYXR0ZXIgZGVmaW5l cyBhIGdyZWF0ZXIgdGhhbiB6ZXJvIHZhbHVlIHVzZWQNCiAgICAgICB0byBpZGVudGlmeSBhIFBN RSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1IHBvcnQuIFRoaXMNCiAgICAgICBleHRlbnNp b24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB6ZXJvLiBUaGUgdmFsdWUgb2YNCiAg ICAgICB6ZXJvIGlzIG9iamVjdC1zcGVjaWZpYyBhbmQgTVVTVCB0aGVyZWZvcmUgYmUgZGVmaW5l ZCBhcyBwYXJ0DQogICAgICAgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3Qgd2hpY2gg dXNlcyB0aGlzIHN5bnRheC4NCiAgICAgICBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2YgemVybyB2 YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMNCiAgICAgICB3aGVyZSBjdXJyZW50IG9wZXJh dGlvbmFsIHByb2ZpbGUgaXMgdW5rbm93bi4iDQogICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMy ICgwLi4yNTUpDQoNCiAgIEVmbVByb2ZpbGVJbmRleExpc3QgOjo9IFRFWFRVQUwtQ09OVkVOVElP Tg0KICAgICBESVNQTEFZLUhJTlQgIjFkOiINCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiUmVwcmVzZW50cyBhIGxpc3Qgb2YgdXAgdG8gNiBFZm1Q cm9maWxlSW5kZXgncy4NCiAgICAgICBUaGUgRWZtUHJvZmlsZUluZGV4IHRleHR1YWwgY29udmVu dGlvbiBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuDQogICAgICAgemVybyB2YWx1ZSB1c2VkIHRvIGlk ZW50aWZ5IGEgUE1FIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UNCiAgICAgICBwb3J0LiBU aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcg0KICAg ICAgIG1vcmUgKHVwIHRvIDYpIG9jdGV0cywgd2hlcmUgZWFjaCBvY3RldCBjb250YWlucyBhbiA4 LWJpdA0KICAgICAgIEVmbVByb2ZpbGVJbmRleCB2YWx1ZS4NCiAgICAgICBUaGUgRWZtUHJvZmls ZUluZGV4TGlzdCBzcGVjaWZpZXMgYSBsaXN0IG9mIGFsdGVybmF0aXZlDQogICAgICAgcHJvZmls ZXMsIGFueSBvZiB3aGljaCBjYW4gYmUgY2hvc2VuIGZvciBjb25maWd1cmF0aW9uIG9mIGFuDQog ICAgICAgUE1FLiINCiAgICAgU1lOVEFYICAgICAgIE9DVEVUIFNUUklORyAoU0laRSgxLi42KSkN Cg0KICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93biA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAg IFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGV4 dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0aGUgVHJ1dGhWYWx1ZQ0KICAgICAg IGNvbnZlbnRpb24uIFRoZSBsYXR0ZXIgZGVmaW5lcyBhIGJvb2xlYW4gdmFsdWUgd2l0aCANCiAg ICAgICBwb3NzaWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAg ICBleHRlbnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3 aGljaA0KICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9u LCB3aGVuIGFuIGV4YWN0DQogICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0 IGNhbm5vdCBiZSBkZXRlcm1pbmVkLiINCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1bmtu b3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgLS0gUG9ydCBOb3RpZmljYXRpb25zIEdy b3VwDQoNCiAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VQb3J0IDAgfQ0KICAgDQogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04t VFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAgICAgICAtLSBpZkluZGV4IGlzIG5vdCBuZWVkZWQgaGVy ZSBzaW5jZSB3ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAgaWZTcGVlZCwNCiAgICAg ICBlZm1DdVRocmVzaExvd1JhdGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0 IHRoZSBFRk1DdSBwb3J0JyBkYXRhIHJhdGUNCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJl bG93IG9yIGV4Y2VlZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgc3BlY2lmaWVk IGJ5IGVmbUN1VGhyZXNoTG93UmF0ZS4NCg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBi ZSBzZW5kIGZvciB0aGUgLU8gc3VidHlwZSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNz VFMtTykgd2hpbGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgIGV2ZW50 IGluIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAg ICAgdGhyZXNob2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cg aXQpIGFuZA0KICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMg bm90IGFwcGxpY2FibGUgdG8NCiAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBJdCBp cyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywN CiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZp Y2F0aW9uLA0KICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExp bmtVcC9MaW5rRG93biBhbmQNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRp b25zIHRvIGJlIHNlbnQuDQoNCiAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1D dSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgIGFkYXB0IGl0c2VsZiB0byB0 aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAgYW4gaW1w dWxzZSBub2lzZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0aW9uIG1heQ0K ICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRp b24gZ3JvdXAsDQogICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3Jl Z2F0ZWQgRUZNQ3UgbGluay4NCiAgICAgICBUaGUgZHJvcHBlZCBQTUVzIHdvdWxkIHRoZW4gdHJ5 IHRvIHJlLWluaXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAgYSBsb3dlciByYXRlIHRoYW4g YmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlkZQ0KICAgICAgIHJlcXVpcmVkIHRh cmdldCBTTlIgbWFyZ2luLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlv biBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJs ZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBvcnROb3RpZmljYXRpb25zIDEgfQ0KDQogICAt LSBQQ1MgUG9ydCBncm91cA0KDQogICBlZm1DdVBvcnRDb25mVGFibGUgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q29uZkVudHJ5DQogICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgRUZNQ3UgMkJBU0Ut VEwvMTBQQVNTLVRTIChQQ1MpDQogICAgICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBN VVNUIGJlIG1haW50YWluZWQgaW4gYQ0KICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIg0KICAgICA6 Oj0geyBlZm1DdVBvcnQgMSB9DQoNCiAgIGVmbUN1UG9ydENvbmZFbnRyeSBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLg0K ICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhl IGlmSW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9w IG9mIGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBh bHNvIGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6 Oj0geyBlZm1DdVBvcnRDb25mVGFibGUgMSB9DQoNCiAgIEVmbUN1UG9ydENvbmZFbnRyeSA6Oj0N CiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlICAgICAgICAgICAgUGh5c0Fk ZHJlc3MsDQogICAgICAgZWZtQ3VBZG1pblByb2ZpbGUgICAgICAgICAgICAgICAgRWZtUHJvZmls ZUluZGV4TGlzdCwNCiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAgICAgICAgICBVbnNp Z25lZDMyLA0KICAgICAgIGVmbUN1VGFyZ2V0U25yTWduICAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVRocmVzaExvd1JhdGUgICAgICAgICAgICAgICBVbnNpZ25lZDMyLA0KICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICAgICAgIFRydXRoVmFsdWUNCiAgICAgfQ0K DQogICBlZm1DdVBBRkFkbWluU3RhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElO VEVHRVIgew0KICAgICAgIGVuYWJsZWQoMSksDQogICAgICAgZGlzYWJsZWQoMikNCiAgICAgfQ0K ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9m IHRoZSBQQUYgb2YgdGhlIEVGTUN1IHBvcnQNCiAgICAgICAoUENTKS4NCiAgICAgICBXaGVuICdk aXNhYmxlZCcsIFBNRSBBZ2dyZWdhdGlvbiB3aWxsIG5vdCBiZSBwZXJmb3JtZWQgYnkgdGhlDQog ICAgICAgUENTLiBObyBtb3JlIHRoYW4gYSBzaW5nbGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0 aGlzIFBDUyBpbg0KICAgICAgIHRoaXMgY2FzZS4NCiAgICAgICBXaGVuICdlbmFibGVkJywgUEFG IHdpbGwgYmUgcGVyZm9ybWVkIGJ5IHRoZSBQQ1Mgd2hlbiB0aGUgbGluaw0KICAgICAgIGlzIFVw LCBldmVuIG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwgaWYgUEFGIGlzIHN1cHBvcnRlZC4NCg0K ICAgICAgIFBDUyBwb3J0cyBpbmNhcGFibGUgb2Ygc3VwcG9ydGluZyBQQUYgU0hBTEwgcmV0dXJu IGEgdmFsdWUgb2YNCiAgICAgICAnZGlzYWJsZWQnLiBBdHRlbXB0cyB0byAnZW5hYmxlJyBzdWNo IHBvcnRzIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgUEFGICdlbmFibGVkJyBwb3J0IHdp dGggbXVsdGlwbGUgUE1FcyBhc3NpZ25lZCBjYW5ub3QgYmUNCiAgICAgICAnZGlzYWJsZWQnLiBB dHRlbXB0cyB0byAnZGlzYWJsZScgc3VjaCBwb3J0IFNIQUxMIGJlIHJlamVjdGVkLA0KICAgICAg IHVudGlsIGF0IG1vc3Qgb25lIFBNRSBpcyBsZWZ0IGFzc2lnbmVkLg0KDQogICAgICAgQ2hhbmdp bmcgUEFGQWRtaW5TdGF0ZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZSBvcGVyYXRpb24gYW5kDQog ICAgICAgYXMgc3VjaCBTSEFMTCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4gQXR0ZW1w dHMgdG8NCiAgICAgICBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhl IGxpbmsgaXMgVXAgb3INCiAgICAgICBJbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZBZG1pblN0YXRlLg0KDQogICAg ICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0 aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGVuYWJsZSBiaXQgaW4gdGhl IDEwUC8yQiBQQ1MgY29udHJvbA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgNDUuMi4zLjE4LjMiDQogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSAxIH0NCg0KICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkNCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlBBRiBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgRUZNQ3UgcG9ydCAoUENT KS4NCiAgICAgICBBIHVuaXF1ZSA2IG9jdGV0IGxvbmcgY29kZSB1c2VkIGJ5IHRoZSBEaXNjb3Zl cnkgZnVuY3Rpb24sDQogICAgICAgd2hlbiBQQUYgaXMgc3VwcG9ydGVkLg0KICAgICAgIFBDUyBw b3J0cyBpbmNhcGFibGUgb2Ygc3VwcG9ydGluZyBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YN CiAgICAgICBhbGwgemVyb2VzLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwg YmUgcmVqZWN0ZWQNCiAgICAgICBpbiB0aGlzIGNhc2UuDQogICAgICAgVGhpcyBvYmplY3QgTVVT VCBiZSBpbnN0YW50aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUNCiAgICAgICB3 cml0aW5nIG9wZXJhdGlvbnMgb24gdGhlIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZQ0KICAg ICAgIChTZXRfaWZfQ2xlYXIgYW5kIENsZWFyX2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1F cw0KICAgICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgUENTLg0KICAgICAgIFRoZSBpbml0aWFsIHZh bHVlIG9mIHRoaXMgb2JqZWN0IGZvciAtUiBzdWJ0eXBlIHBvcnRzIGFmdGVyDQogICAgICAgcmVz ZXQgaXMgYWxsIHplcm9lcy4gRm9yIC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlz DQogICAgICAgb2JqZWN0IGNhbm5vdCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1h eSBiZSBjaGFuZ2VkDQogICAgICAgYXMgYSByZXN1bHQgb2Ygd3JpdGluZyBvcGVyYXRpb24gb24g dGhlDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUg UE1FIG9mIC1PDQogICAgICAgc3VidHlwZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwg UE1FcyBhc3NvY2lhdGVkIHdpdGgNCiAgICAgICB0aGUgUENTLg0KDQogICAgICAgRGlzY292ZXJ5 IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAg ICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBp cyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5 IGNvZGUgbWFwcyB0byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUNCiAgICAgICB2YXJpYWJsZSBp biBQQUYgKG5vdGUgdGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgY29ycmVzcG9uZGluZw0KICAgICAg IENsYXVzZSA0NSByZWdpc3RlcikiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NjEuMi4yLjguMywgNjEuMi4yLjguNCwgNDUuMi42LjYuMSINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 Q29uZkVudHJ5IDIgfQ0KDQogICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4TGlzdA0KICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi RGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMgaW4g dGhlDQogICAgICAgRUZNQ3UgcG9ydC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBvaW50ZXJz IHRvIGVudHJpZXMgaW4NCiAgICAgICBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0K ICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQN CiAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgRUZNQ3UgcG9ydCBhcyBpbmRpY2F0ZWQg YnkNCiAgICAgICBlZm1DdVBvcnRTaWRlLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVj dCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mDQogICAgICAgUHJvZmlsZXMuIElmIHRo aXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBQcm9maWxlIGluZGV4LA0KICAgICAgIHRoZW4g YWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBFRk1DdSBwb3J0IFNIQUxMIGJlIGNvbmZpZ3VyZWQN CiAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFByb2ZpbGUgcmVmZXJlbmNlZCBieSB0aGF0IGluZGV4 LCB1bmxlc3MgaXQNCiAgICAgICBpcyBvdmVyd3JpdHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16 ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxlLA0KICAgICAgIHdoaWNoIHRha2VzIHByZWNlZGVuY2Ug b3ZlciBlZm1DdUFkbWluUHJvZmlsZS4NCiAgICAgICBUaGUgbGlzdCwgY29uc2lzdGluZyBvZiBt b3JlIHRoYW4gb25lIGluZGV4LCBhbGxvd3MgZWFjaCBQTUUNCiAgICAgICBpbiB0aGUgcG9ydCB0 byBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBhbnkgUHJvZmlsZQ0KICAgICAgIHNwZWNpZmll ZCBpbiB0aGUgbGlzdC4NCiAgICAgICBCeSBkZWZhdWx0IHRoaXMgb2JqZWN0IGhhcyBhIHZhbHVl IG9mIDB4MDEsIHJlZmVyZW5jaW5nIDFzdA0KICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3IgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUuDQoNCiAgICAgICBUaGlzIG9iamVj dCBpcyB3cml0YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSAtTyBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtTyBvciAxMFBhc3NUUy1PKSBFRk1DdSBwb3J0cy4gSXQgaXMgdW5zdXBwb3J0ZWQgZm9y DQogICAgICAgdGhlIC1SICBzdWJ0eXBlICgyQmFzZVRMLVIgb3IgMTBQYXNzVFMtUikgcG9ydHMu DQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlz IGF2YWlsYWJsZSB2aWENCiAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAg ICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRo ZSBsaW5rIGlzDQogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1V U1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5n Lg0KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIGxpc3Qgd2l0aCBhIG1l bWJlcg0KICAgICAgIHZhbHVlLCB0aGF0IGlzIG5vdCB0aGUgdmFsdWUgb2YgdGhlIGluZGV4IGZv ciBhbiBhY3RpdmUgZW50cnkNCiAgICAgICBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9maWxlIHRh YmxlLCBNVVNUIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWlu dGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDMwLjExLjIuMS42Ig0KICAgICBERUZWQUwgeyAnMDEnSCB9DQogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSAzIH0NCg0KICAgZWZtQ3VUYXJnZXREYXRhUmF0ZSAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDB8OTk5OTk5KQ0KICAg ICBVTklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgRUZN Q3UgcG9ydCAnbmV0JyAoYXMgc2VlbiBhY3Jvc3MgTUlJKSBEYXRhIFJhdGUgaW4NCiAgICAgICBL YnBzLCB0byBiZSBhY2hpZXZlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIHVuZGVyIHNwZWN0cmFs DQogICAgICAgcmVzdHJpY3Rpb25zIHBsYWNlZCBvbiBlYWNoIFBNRSB2aWEgZWZtQ3VBZG1pblBy b2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgd2l0aCB0aGUgZGVzaXJlZCBT TlIgTWFyZ2luIHNwZWNpZmllZCBieQ0KICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLg0KICAgICAg IEluIGNhc2Ugb2YgUEFGLCB0aGlzIG9iamVjdCByZXByZXNlbnRzIGEgc3VtIG9mIGluZGl2aWR1 YWwgUE1FDQogICAgICAgZGF0YSByYXRlcywgbW9kaWZpZWQgdG8gY29tcGVuc2F0ZSBmb3IgZnJh Z21lbnRhdGlvbiBhbmQNCiAgICAgICA2NC82NUIgZnJhbWluZyBvdmVyaGVhZCAoZS5nLiB0YXJn ZXQgZGF0YSByYXRlIG9mIDEwTWJwcw0KICAgICAgIFNIQUxMIGFsbG93IGxvc3NsZXNzIHRyYW5z bWlzc2lvbiBvZiBmdWxsLWR1cGxleCAxME1icHMNCiAgICAgICBFdGhlcm5ldCBmcmFtZSBzdHJl YW0gd2l0aCBtaW5pbWFsIGludGVyLWZyYW1lIGdhcCkuDQoNCiAgICAgICBUaGUgdmFsdWUgaXMg bGltaXRlZCBhYm92ZSBieSAxMDBNYnBzIGFzIHRoaXMgaXMgdGhlIG1heA0KICAgICAgIGJ1cnN0 IHJhdGUgYWNyb3NzIE1JSSBmb3IgRUZNQ3UgcG9ydHMuDQoNCiAgICAgICBUaGUgdmFsdWUgYmV0 d2VlbiAxIGFuZCAxMDAwMDAgaW5kaWNhdGVzIHRoYXQgdGhlIHRvdGFsIGRhdGENCiAgICAgICBy YXRlIChpZlNwZWVkKSBvZiB0aGUgRUZNQ3UgcG9ydCBhZnRlciBpbml0aWFsaXphdGlvbiBTSEFM TA0KICAgICAgIGJlIGVxdWFsIHRvIHRoZSB0YXJnZXQgZGF0YSByYXRlIG9yIGxlc3MsIGlmIHRo ZSB0YXJnZXQgZGF0YQ0KICAgICAgIHJhdGUgY2Fubm90IGJlIGFjaGlldmVkIHVuZGVyIHNwZWN0 cmFsIHJlc3RyaWN0aW9ucyBzcGVjaWZpZWQNCiAgICAgICBieSBlZm1DdUFkbWluUHJvZmlsZS9l Zm1DdVBtZUFkbWluUHJvZmlsZSBhbmQgd2l0aCBkZXNpcmVkIFNOUg0KICAgICAgIG1hcmdpbi4g SW4gY2FzZSB0aGUgY29wcGVyIGVudmlyb25tZW50IGFsbG93cyB0byBhY2hpZXZlDQogICAgICAg aGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQgc3BlY2lmaWVkIGJ5IHRoZSB0YXJnZXQs IHRoZQ0KICAgICAgIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlIGVpdGhlciBjb252ZXJ0ZWQg dG8gYWRkaXRpb25hbCBTTlINCiAgICAgICBtYXJnaW4gb3IgcmVjbGFpbWVkIGJ5IG1pbmltaXpp bmcgdHJhbnNtaXQgcG93ZXIgYXMgY29udHJvbGxlZA0KICAgICAgIGJ5IGVmbUN1QWRhcHRpdmVT cGVjdHJhLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIDk5OTk5OSBtZWFucyB0aGF0IHRoZSB0YXJn ZXQgZGF0YSByYXRlIGlzIG5vdA0KICAgICAgIGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhl IG1heGltdW0gYXR0YWluYWJsZSByYXRlIGR1cmluZw0KICAgICAgIGluaXRpYWxpemF0aW9uIChC ZXN0IEVmZm9ydCksIHVuZGVyIHNwZWNpZmllZCBzcGVjdHJhbA0KICAgICAgIHJlc3RyaWN0aW9u cyBhbmQgd2l0aCBkZXNpcmVkIFNOUiBNYXJnaW4uDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyBy ZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAgICgyQmFzZVRM LU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCiAg ICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNUIGJlIHBl cmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBvZiBTTk1QIHdp dGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAgbGluayBpcyBV cCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUg b2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQNCiAgICAgICBieSBpZlNwZWVkIG9iamVj dCBvZiBJRi1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0N Cg0KICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVu c2lnbmVkMzIoMC4uMjEpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFs bCBQTUVzDQogICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXppYXRp b24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhl IGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICBOb3RlIHRoYXQgODAy LjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4NCiAgICAgICBv ZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUyBwb3J0cyBpbiBv cmRlcg0KICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4t NyBhdCB0aGUgUE1BDQogICAgICAgc2VydmljZSBpbnRlcmZhY2UuDQoNCiAgICAgICBUaGlzIG9i amVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAg ICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0 eXBlcy4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IFNOUiBNYXJnaW4g TVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUNCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVtcHRz IHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkDQogICAgICAgKGluIGNhc2Ug b2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQ0KICAgICAg IGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQg U05SIE1hcmdpbiBvZiB0aGUgUE1FcyBjb21wcmlzaW5nIHRoZSBFRk1DdQ0KICAgICAgIHBvcnQg aXMgcmVwcmVzZW50ZWQgYnkgZWZtQ3VQbWVTbnJNZ24uDQoNCiAgICAgICBUaGlzIG9iamVjdCBN VVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5D RQ0KICAgICAgICJbODAyLjNhaF0gNjEuMS4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNSB9DQoNCiAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgaG93 IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFjaXR5IHdoZW4gdGhlIGNvcHBlcg0KICAgICAgIGVudmly b25tZW50IGFsbG93cyB0byBhY2hpZXZlIGhpZ2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0 DQogICAgICAgc3BlY2lmaWVkIGJ5IHRoZSBlZm1DdVRhcmdldERhdGFSYXRlLg0KICAgICAgICAN CiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJp bGl0eSBTSEFMTCBiZQ0KICAgICAgIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBv d2VyLCBlLmcuIHVzaW5nIGhpZ2hlcg0KICAgICAgIGNvbnN0ZWxsYXRpb25zIGFuZCBQb3dlciBC YWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlDQogICAgICAgaW50ZXJmZXJlbmNlIHRvIG90aGVy IGNvcHBlciBwYWlycyBpbiB0aGUgYmluZGVyIGFuZCB0aGUgDQogICAgICAgYWR2ZXJzZSBpbXBh Y3QgdG8gbGluay9zeXN0ZW0gcGVyZm9ybWFuY2UuDQogICAgICAgDQogICAgICAgVmFsdWUgb2Yg ZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMDQogICAg ICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SIG1hcmdpbiBhbmQgc3ByZWFkIGV2ZW5s eSBhY3Jvc3MNCiAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8gdGhlIChQQ1MpIHBv cnQsIHRvIGluY3JlYXNlIGxpbmsNCiAgICAgICByb2J1c3RuZXNzLg0KDQogICAgICAgVGhpcyBv YmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAg ICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3Vi dHlwZXMuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5n ZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIChpbiBjYXNlDQogICAgICAgb2YgU05NUCB3 aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwDQogICAg ICAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFp bmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNiB9DQoNCiAgIGVmbUN1VGhyZXNoTG93UmF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDApDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgRUZNQ3UgcG9y dCBsb3cgcmF0ZSBjcm9zc2luZyBhbGFybQ0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3Vy cmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZvciB0aGlzIHBvcnQNCiAgICAgICByZWFjaGVzL2Ryb3Bz IGJlbG93IG9yIGV4Y2VlZHMgdGhpcyB0aHJlc2hvbGQsIGFuDQogICAgICAgZWZtQ3VMb3dSYXRl Q3Jvc3Npbmcgbm90aWZpY2F0aW9uIE1BWSBiZSBnZW5lcmF0ZWQgaWYgZW5hYmxlZA0KICAgICAg IGJ5IGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMg cmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VU TC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoN CiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1h bm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VMb3dS YXRlQ3Jvc3NpbmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFs dWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1TG93UmF0 ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgc2hvdWxkDQogICAgICAgYmUgZ2VuZXJhdGVkIGZvciB0 aGlzIGludGVyZmFjZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0 ZXMgdGhhdCBlZm1DdUxvd1JhdGVDcm9zc2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFi bGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmlj YXRpb24gaXMgZGlzYWJsZWQuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZv ciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMt TykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCg0KICAgICAgIFRoaXMg b2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAg Ojo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDggfQ0KDQoNCiAgIGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRD YXBhYmlsaXR5RW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUYWJsZSBmb3IgQ2Fw YWJpbGl0aWVzIG9mIEVGTUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQ0KICAgICAgIFBvcnRz LiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGENCiAgICAgICBw ZXJzaXN0ZW50IG1hbm5lciINCiAgICAgOjo9IHsgZWZtQ3VQb3J0IDIgfQ0KDQogICBlZm1DdVBv cnRDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0 Q2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4g dGhlIEVGTUN1IFBvcnQgQ2FwYWJpbGl0eSB0YWJsZS4NCiAgICAgICBFYWNoIGVudHJ5IHJlcHJl c2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4Lg0KICAgICAgIE5vdGUg dGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBhIHNpbmdsZQ0KICAgICAgIG9y IG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgu Ig0KICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0 eVRhYmxlIDEgfQ0KDQogICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgOjo9DQogICAgIFNFUVVF TkNFIHsNCiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAgICBUcnV0aFZhbHVl LA0KICAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCAgICAgICAgICAgIEVmbVRydXRoVmFsdWVP clVua25vd24sDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eSAgICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgICAgICAgICAgICBVbnNpZ25lZDMy DQogICAgIH0NCg0KICAgZWZtQ3VQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uIChQQUYpIENhcGFiaWxpdHkgb2YgdGhlIEVGTUN1IHBvcnQNCiAgICAgICAoUENT KS4NCiAgICAgICBUaGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiB0cnVlKDEpIHdoZW4gdGhlIFBD UyBjYW4gcGVyZm9ybQ0KICAgICAgIFBNRSBhZ2dyZWdhdGlvbiBvbiB0aGUgYXZhaWxhYmxlIFBN RXMuDQogICAgICAgUG9ydHMgaW5jYXBhYmxlIG9mIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBv ZiBmYWxzZSgyKS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBh dHRyaWJ1dGUgYVBBRlN1cHBvcnRlZC4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50 ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIFBBRiBhdmFpbGFibGUgYml0IGluIHRoZQ0KICAgICAgIDEwUC8yQiBjYXBhYmls aXR5IHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIs IDMwLjExLjEuMS40LCA0NS4yLjMuMTcuMSINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0 eUVudHJ5IDEgfQ0KDQogICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIEVmbVRydXRoVmFsdWVPclVua25vd24NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIENhcGFiaWxpdHkgb2YgdGhlIEVGTUN1 IHBvcnQNCiAgICAgICAoUENTKSBsaW5rIHBhcnRuZXIuDQogICAgICAgVGhpcyBvYmplY3QgaGFz IGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSByZW1vdGUgUENTIGNhbg0KICAgICAgIHBlcmZv cm0gUE1FIGFnZ3JlZ2F0aW9uIG9uIGl0cyBhdmFpbGFibGUgUE1Fcy4NCiAgICAgICBQb3J0cyB3 aG9zZSBwZWVycyBhcmUgaW5jYXBhYmxlIG9mIFBBRiwgU0hBTEwgcmV0dXJuIGEgdmFsdWUNCiAg ICAgICBvZiBmYWxzZSgyKS4NCiAgICAgICBQb3J0cyB3aG9zZSBwZWVycyBjYW5ub3QgYmUgcmVh Y2hlZCBiZWNhdXNlIG9mIHRoZSBsaW5rDQogICAgICAgc3RhdGUsIFNIQUxMIHJldHVybiBhIHZh bHVlIGlmIHVua25vd24oMCkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1 c2UgMzAgYXR0cmlidXRlDQogICAgICAgYVJlbW90ZVBBRlN1cHBvcnRlZC4NCg0KICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0K ICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFJlbW90ZSBQQUYgc3VwcG9ydGVkIGJpdCBp biB0aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5D RQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuOSwgNDUuMi4zLjE3LjIiDQog ICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0NCg0KICAgZWZtQ3VQQUZDYXBh Y2l0eSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpDQog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0 ZWQgYnkgdGhlIGxvY2FsIFBBRi4NCiAgICAgICBUaGUgbnVtYmVyIG9mIFBNRXMgY3VycmVudGx5 IGFzc2lnbmVkIHRvIGEgcGFydGljdWxhcg0KICAgICAgIEVGTUN1IHBvcnQgKGVmbUN1TnVtUE1F cykgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eS4NCg0KICAg ICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICBh TG9jYWxQQUZDYXBhY2l0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEu Mi4yLCAzMC4xMS4xLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMg fQ0KDQogICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgVW5zaWduZWQzMiAoMHwxLi4zMikNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTnVtYmVyIG9m IFBNRXMgdGhhdCBjYW4gYmUgYWdncmVnYXRlZCBieSB0aGUgUEFGIG9mIHRoZSBwZWVyDQogICAg ICAgUGh5IChQQ1MgcG9ydCkuDQogICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBl ZXIgUEFGIENhcGFjaXR5IGlzIHVua25vd24NCiAgICAgICAocGVlciBjYW5ub3QgYmUgcmVhY2hl ZCkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRl DQogICAgICAgYVJlbW90ZVBBRkNhcGFjaXR5LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJp bGl0eUVudHJ5IDQgfQ0KDQoNCiAgIGVmbUN1UG9ydFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydFN0YXR1c0VudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBvdmVyYWxsIHN0YXR1cyBp bmZvcm1hdGlvbiBvZiBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBwb3J0cywgY29t cGxlbWVudGluZyB0aGUgZ2VuZXJpYyBzdGF0dXMNCiAgICAgICBpbmZvcm1hdGlvbiBmcm9tIHRo ZSBpZlRhYmxlIG9mIElGLU1JQiBhbmQgaWZNYXVUYWJsZSBvZg0KICAgICAgIE1BVS1NSUIuIEFk ZGl0aW9uYWwgc3RhdHVzIGluZm9ybWF0aW9uIGFib3V0IGNvbm5lY3RlZCBQTUVzDQogICAgICAg aXMgYXZhaWxhYmxlIGZyb20gZWZtQ3VQbWVTdGF0dXNUYWJsZS4NCg0KICAgICAgIFRoaXMgdGFi bGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhlIGVxdWlwbWVudC4gQXMgc3VjaCwNCiAgICAg ICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iDQogICAgIDo6PSB7IGVmbUN1UG9ydCAzIH0NCg0KICAg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQ b3J0U3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0 aGUgRUZNQ3UgUG9ydCBTdGF0dXMgdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRz IGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRoYXQg YW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBtdWx0 aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAg ICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c1RhYmxlIDEg fQ0KDQogICBFZm1DdVBvcnRTdGF0dXNFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAg IGVmbUN1Rmx0U3RhdHVzICAgICAgICAgICAgICAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQb3J0 U2lkZSAgICAgICAgICAgICAgICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdU51bVBNRXMgICAg ICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UEFGSW5FcnJvcnMgICAg ICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluU21hbGxGcmFnbWVudHMg ICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzICAgICAg ICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgICAgICAgICAgIENv dW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyAgICAgICAgICBDb3VudGVy MzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMgICAgICAgICAgICAgQ291bnRlcjMyLA0K ICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyAgICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAg ICBlZm1DdVBBRkluT3ZlcmZsb3dzICAgICAgICAgICAgICBDb3VudGVyMzINCiAgICAgfQ0KDQog ICBlZm1DdUZsdFN0YXR1cyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQklUUyB7DQog ICAgICAgbm9QZWVyKDApLA0KICAgICAgIHBlZXJQb3dlckxvc3MoMSksDQogICAgICAgcG1lU3Vi VHlwZU1pc21hdGNoKDIpLA0KICAgICAgIGxvd1JhdGUoMykNCiAgICAgfQ0KICAgICBNQVgtQUND RVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJFRk1DdSAoUENTKSBwb3J0IEZhdWx0IFN0YXR1cy4gVGhpcyBpcyBhIGJpdG1h cCBvZiBwb3NzaWJsZQ0KICAgICAgIGNvbmRpdGlvbnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlv bnMgYXJlOg0KICAgICAgICAgbm9QZWVyICAgICAgICAgICAgICAtIHBlZXIgUEhZIGNhbm5vdCBi ZSByZWFjaGVkIChlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gUE1FcyBh dHRhY2hlZCwgYWxsIFBNRXMgYXJlIERvd24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBldGMuKSBNb3JlIGluZm8gaXMgYXZhaWxhYmxlIGluDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMuDQogICAgICAgICBwZWVyUG93ZXJMb3NzICAgICAg IC0gcGVlciBQSFkgaGFzIGluZGljYXRlZCBpbXBlbmRpbmcgdW5pdA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZhaWx1cmUgZHVlIHRvIGxvc3Mgb2YgbG9jYWwgcG93ZXINCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0R5aW5nIEdhc3AnKS4NCiAgICAgICAgIHBtZVN1 YlR5cGVNaXNtYXRjaCAgLSBsb2NhbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBub3Qgb2YgdGhlIHNhbWUgc3ViLXR5cGUs IGUuZy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lIFBNRXMgaW4gdGhlIGxv Y2FsIGRldmljZSBhcmUgLU8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBv dGhlcnMgYXJlIC1SIHN1YnR5cGUuDQogICAgICAgICBsb3dSYXRlICAgICAgICAgICAgIC0gaWZT cGVlZCBvZiB0aGUgcG9ydCByZWFjaGVkIG9yIGRyb3BwZWQNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZWxvdyBlZm1DdVRocmVzaExvd1JhdGUNCg0KICAgICAgIFRoaXMgb2JqZWN0 IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIG9iamVjdA0KICAgICAgIGlu IElGLU1JQiBhbmQgaWZNYXVNZWRpYUF2YWlsYWJsZSBpbiBNQVUtTUlCLg0KDQogICAgICAgQWRk aXRpb25hbCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgdmlhIGVmbUN1UG1lRmx0U3RhdHVzDQog ICAgICAgb2JqZWN0IGZvciBlYWNoIFBNRSBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAgKHNpbmds ZSBQTUUgaWYNCiAgICAgICBQQUYgaXMgZGlzYWJsZWQpLiINCiAgICAgUkVGRVJFTkNFDQogICAg ICAgIklGLU1JQiwgaWZPcGVyU3RhdHVzOyBNQVUtTUlCLCBpZk1hdU1lZGlhQXZhaWxhYmxlOw0K ICAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG9ydFNpZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IElOVEVHRVIgew0KICAgICAgIHN1YnNjcmliZXIoMSksDQogICAgICAgb2ZmaWNlKDIpLA0KICAg ICAgIHVua25vd24oMykNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJFRk0gcG9ydCBt b2RlIG9mIG9wZXJhdGlvbiAoc3VidHlwZSkuDQogICAgICAgVGhlIHZhbHVlIG9mICdzdWJzY3Jp YmVyJyBpbmRpY2F0ZXMgdGhlIHBvcnQgaXMgZGVzaWduYXRlZCBhcw0KICAgICAgICctUicgc3Vi dHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZSBvZiBzdWJ0eXBlDQogICAg ICAgJy1SJykuDQogICAgICAgVGhlIHZhbHVlIG9mIHRoZSAnb2ZmaWNlJyBpbmRpY2F0ZXMgdGhh dCB0aGUgcG9ydCBpcw0KICAgICAgIGRlc2lnbmF0ZWQgYXMgJy1PJyBzdWJ0eXBlIChhbGwgUE1F cyBhc3NpZ25lZCB0byB0aGlzIHBvcnQgYXJlDQogICAgICAgb2Ygc3VidHlwZSAnLU8nKS4NCiAg ICAgICBUaGUgdmFsdWUgb2YgJ3Vua25vd24nIGluZGljYXRlcyB0aGF0IHRoZSBwb3J0IGhhcyBu byBhc3NpZ25lZA0KICAgICAgIFBNRXMgeWV0IG9yIHRoYXQgdGhlIGFzc2lnbmVkIFBNRXMgYXJl IG5vdCBvZiB0aGUgc2FtZSBzaWRlDQogICAgICAgKHN1YlR5cGVQTUVNaXNtYXRjaCkuDQoNCiAg ICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0 ZQ0KICAgICAgIGFQaHlFbmQiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiWzgwMi4zYWhdIDYx LjEsIDMwLjExLjEuMS4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0NCg0K ICAgZWZtQ3VOdW1QTUVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMy ICgwLi4zMikNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBpcyBj dXJyZW50bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGDQogICAgICAgKGFzc2lnbmVkIHRv IHRoZSBFRk1DdSBwb3J0IHVzaW5nIGlmU3RhY2tUYWJsZSkuDQogICAgICAgVGhpcyBudW1iZXIg aXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAgICBUaGlzIG9i amVjdCBTSEFMTCBiZSBhdXRvbWF0aWNhbGx5IGluY3JlbWVudGVkIG9yIGRlY3JlbWVudGVkDQog ICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxldGVkIHRvL2Zyb20gdGhlIEVGTUN1IHBv cnQgdXNpbmcNCiAgICAgICBpZlN0YWNrVGFibGUuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1 c0VudHJ5IDMgfQ0KDQogICBlZm1DdVBBRkluRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFn bWVudHMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZQ0KICAgICAgIGdhbW1hIGlu dGVyZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuDQogICAgICAgVGhpcyBy ZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVuIHRoZQ0K ICAgICAgIFBBRiBpcyB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlDQogICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAg ICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFG IFJYIGVycm9yIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1 ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBp bmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSA0NS4yLjMuMjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDQgfQ0KDQogICBl Zm1DdVBBRkluU21hbGxGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291 bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFs bGVyIHRoYW4gbWluRnJhZ21lbnRTaXplDQogICAgICAgKDY0IEJ5dGVzKSwgd2hpY2ggaGF2ZSBi ZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBpbnRlcmZhY2UgYW5kIGRpc2Nh cmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0K ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgc21hbGwgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51 aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICBy ZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0 aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29u dGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgNSB9DQoNCiAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIg b2YgZnJhZ21lbnRzIGxhcmdlciB0aGFuIG1heEZyYWdtZW50U2l6ZQ0KICAgICAgICg1MTIgQnl0 ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KICAgICAgIGlu dGVyZmFjZSBhbmQgZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMg aW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQu IFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBpdHMg cHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIFBBRiBsYXJnZSBmcmFnbWVudHMNCiAgICAgICByZWdpc3Rlci4NCg0K ICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBv Y2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3Rl bSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4i DQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIzIg0KICAgICA6Oj0g eyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA2IH0NCg0KICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyBP QkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHdoaWNoIGRvIG5vdCBmaXQgaW50byB0aGUgc2Vx dWVuY2UNCiAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24sIHRo YXQgaGF2ZSBiZWVuDQogICAgICAgcmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYSBpbnRlcmZhY2Ug YW5kIGRpc2NhcmRlZCAodGhlDQogICAgICAgZnJhbWUgYnVmZmVyIGlzIGZsdXNoZWQgdG8gdGhl IG5leHQgdmFsaWQgZnJhbWUgc3RhcnQpLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIg aXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJs ZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBp dHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJ bnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3Qg bWFwcyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoN CiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4g b2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0 ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUg b2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAgOjo9 IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRz IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBzZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdo aWNoIGhhdmUNCiAgICAgICBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNl ICh0aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBm cmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9mcmFnbWVudHMNCiAgICAgICBleHBlY3RlZCBieSB0 aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAg ICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNv dW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAgICAgICANCiAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIGxvc3QgZnJhZ21l bnQNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMg aW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNDUuMi4zLjI2Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA4IH0NCg0KICAg ZWZtQ3VQQUZJbkxvc3RTdGFydHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRl cjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIG1pc3NpbmcgU3RhcnRPZlBh Y2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQ0KICAgICAgIGZyYW1lIGFzc2VtYmx5IGZ1 bmN0aW9uLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0 aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5n IHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUu DQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBE aXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQN CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3Vu dGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNyINCiAgICAgOjo9IHsgZWZtQ3VQ b3J0U3RhdHVzRW50cnkgOSB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RW5kcyBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1i ZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQ0KICAg ICAgIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50 ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlz YWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlu cyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAg cmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBi eSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5l ZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4y OCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMTAgfQ0KDQogICBlZm1DdVBBRklu T3ZlcmZsb3dzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBN QVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0 aGUgZ2FtbWEgaW50ZXJmYWNlDQogICAgICAgYW5kIGRpc2NhcmRlZCwgd2hpY2ggd291bGQgaGF2 ZSBjYXVzZWQgdGhlIGZyYW1lIGFzc2VtYmx5DQogICAgICAgYnVmZmVyIHRvIG92ZXJmbG93Lg0K ICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlz DQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYs IHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAg DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVz ZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBvdmVy ZmxvdyByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2Yg dGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNh dGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBk ZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUu Mi4zLjI0Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAxMSB9DQoNCiAgLS0gUE1F IE5vdGlmaWNhdGlvbnMgR3JvdXANCg0KICAgZWZtQ3VQbWVOb3RpZmljYXRpb25zIE9CSkVDVCBJ REVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDAgfQ0KICAgDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZUxp bmVBdG4sDQogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgIH0NCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlv biBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbg0KICAgICAgIHRocmVzaG9sZCAo YXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaExpbmVBdG4NCiAgICAgICB2YWx1ZSkgaGFzIGJlZW4g cmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUw0KICAgICAgIFBNRS4g VGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2ZW50IGluDQog ICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBhbmQgZnJvbSBl eGNlZWRlZA0KICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRo YXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLA0KICAgICAgIGJldHdlZW4g dGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFuZCBub3RpZmljYXRpb24sDQogICAgICAg aXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBi ZQ0KICAgICAgIHNlbnQuDQoNCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9u IGlzIGNvbnRyb2xsZWQgYnkgdGhlIA0KICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5h YmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAxIH0NCg0KICAg ZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsN CiAgICAgICBlZm1DdVBtZVNuck1nbiwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbg0KICAg ICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xk DQogICAgICAgKGFzIHBlciB0aGUgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gdmFsdWUpIGhhcyBiZWVu DQogICAgICAgcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUu DQogICAgICAgVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2 ZW50IGluDQogICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBh bmQgZnJvbSBleGNlZWRlZA0KICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgIEl0IGlzIFJFQ09N TUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLA0KICAgICAg IGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFuZCBub3RpZmljYXRpb24s DQogICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1pdHRlbnQgbm90aWZpY2F0 aW9ucyB0byBiZQ0KICAgICAgIHNlbnQuDQoNCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90 aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIA0KICAgICAgIGVmbUN1UG1lU25yTWduQ3Jv c3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDIg fQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0IE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVD VFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJlZW4NCiAgICAgICBkZXRlY3RlZCBi eSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0Lg0KDQogICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAg ICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1 UG1lTm90aWZpY2F0aW9ucyAzIH0NCg0KICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBOT1RJ RklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cywN CiAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZQ0K ICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgUE1FIGluaXRpYWxpemF0aW9uIGhh cw0KICAgICAgIGZhaWxlZCwgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgUE1FIGxpbmsgdG8gYWNo aWV2ZSByZXF1ZXN0ZWQNCiAgICAgICBjb25maWd1cmF0aW9uIHByb2ZpbGUuDQoNCiAgICAgICBH ZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIA0KICAg ICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDQgfQ0KDQogICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUg Tk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVGbHRTdGF0 dXMsDQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZQ0KICAgICB9DQogICAgIFNUQVRVUyAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBwZWVyIFBNRSB3YXMgdXNpbmcNCiAgICAgICBpbmNvbXBhdGlibGUgcHJvdG9j b2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5v dGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZVByb3RvY29s SW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25z IDUgfQ0KDQogICAtLSBUaGUgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lQ29uZlRhYmxlIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ29uZkVudHJ5DQog ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgY29t bW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0 cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFzcGVjdHMgc3BlY2lmaWMgdG8g MkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgIHJlcHJlc2VudGVkIGlu IGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlDQogICAgICAgcmVz cGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBt ZSAxIH0NCg0KICAgZWZtQ3VQbWVDb25mRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgRWFjaCBlbnRy eSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAg aW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBi ZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5kZXhlZCBi eSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRz IGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7 IGVmbUN1UG1lQ29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0NCiAgICAg U0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlICAgICAgICAgICBJTlRFR0VS LA0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhP clplcm8sDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlICAgIFBoeXNBZGRyZXNz LA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgICAgICAgICBJbnRlZ2VyMzIsDQogICAg ICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1D dVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVNu ck1nbkNyb3NzaW5nRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZURldmljZUZh dWx0RW5hYmxlICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWls RW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFi bGUgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlICBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBpZWVlMkJhc2VUTE8oMSks DQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGllZWUxMFBhc3NUU08oMyksDQogICAg ICAgaWVlZTEwUGFzc1RTUig0KSwNCiAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSKDUpLA0K ICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksDQogICAgICAgaWVlZTEwUGFzc1RTb3Iy QmFzZVRMTyg3KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBZG1pbmlzdHJhdGl2 ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMg YXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRl IGFzIDJCYXNlVEwtTyANCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgU0hB TEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgDQogICAgICAgICBpZWVlMTBQYXNzVFNPICAgICAgICAg IC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTyANCiAgICAgICAgIGllZWUxMFBhc3NU U1IgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1SIA0KICAgICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUiBv cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RTLVIuIEFjdHVhbCB2 YWx1ZSB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IGJ5IC1P IGxpbmsgcGFydG5lciBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4NCiAgICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NU U08gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAxMFBhc3NUUy1PLiBBY3R1YWwNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJpbmcNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24g LVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJp bGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1SIGlzIGlu Y2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMkJhc2VUTCBtb2RlLCAxMFBhc3NUUyB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdXNlZCkuDQogICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0gUE1F IFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChwcmVmZXJyZWQpIG9yIDJCYXNlVEwtTy4gQWN0dWFsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxpdHkgKGku ZS4gaWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUg b2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFz c1RTIG1vZGUsIDJCYXNlVEwgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVzZWQpLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIGVmbUN1UG1lQWRtaW5TdWJUeXBl IGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlDQogICAgICAgb3BlcmF0aW9uIGFuZCBhcyBzdWNoIFNI QUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICAgICAgIEF0dGVtcHRzIHRvIGNo YW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSByZWplY3RlZCBpZiB0aGUgbGluaw0KICAgICAgIGlz IFVwIG9yIEluaXRpYWxpemluZy4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmpl Y3QgdG8gYW4gdW5zdXBwb3J0ZWQgc3VidHlwZQ0KICAgICAgIChzZWUgZWZtQ3VQbWVTdWJUeXBl c1N1cHBvcnRlZCkgU0hBTEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICBUaGUgY3VycmVudCBvcGVy YXRpb25hbCBzdWIgdHlwZSBpcyBpbmRpY2F0ZWQgYnkNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJU eXBlIHZhcmlhYmxlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8g dGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVz IHZhbHVlcyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QgYml0cw0KICAgICAgIGFuZCB0aGUg UE1BL1BNRCB0eXBlIHNlbGVjdGlvbiBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAg IGNvbnRyb2wgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEu MSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRy eSAxIH0NCg0KICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVz aXJlZCBQTUUgY29uZmlndXJhdGlvbiBQcm9maWxlLiBUaGlzIG9iamVjdCBpcyBhIHBvaW50ZXIN CiAgICAgICB0byBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0K ICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQg b3BlcmF0aW5nDQogICAgICAgU3ViVHlwZSBvZiB0aGUgUE1FLiBUaGUgdmFsdWUgb2YgdGhpcyBv YmplY3QgaXMgdGhlIGluZGV4IG9mDQogICAgICAgdGhlIHJlZmVyZW5jZWQgcHJvZmlsZS4NCiAg ICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5kaWNhdGVzIHRoYXQgdGhlIFBNRSBp cw0KICAgICAgIGNvbmZpZ3VyZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBmb3IgdGhl IFBDUyBwb3J0LA0KICAgICAgIHRvIHdoaWNoIHRoaXMgUE1FIGlzIGFzc2lnbmVkLiBUaGF0IGlz LCB0aGUgcHJvZmlsZSByZWZlcmVuY2VkDQogICAgICAgYnkgZWZtQ3VQbWVBZG1pblByb2ZpbGUg dGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBwcm9maWxlKHMpDQogICAgICAgcmVmZXJlbmNlZCBi eSBlZm1DdUFkbWluUHJvZmlsZS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGFu ZCByZWFkYWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8gb3Ig MTBQYXNzVFMtTykuIEl0IGlzIHVuc3VwcG9ydGVkIGZvciB0aGUgQ1BFIA0KICAgICAgIHN1YnR5 cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NUUy1SKS4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50 IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgIGVmbUN1 UG1lT3BlclByb2ZpbGUgb2JqZWN0Lg0KDQogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2Jq ZWN0IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRl bXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAg ICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRo aXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2YgdGhl IGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQ0K ICAgICAgIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDIgfQ0KDQogICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDYpKQ0KICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiUEFGIFJlbW90ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgUE1FIHBv cnQgYXQgQ08uIA0KICAgICAgIEEgNiBvY3RldCBsb25nIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBw ZWVyIFBDUyBjb25uZWN0ZWQgdmlhDQogICAgICAgdGhlIFBNRS4NCiAgICAgICBSZWFkaW5nIHRo aXMgb2JqZWN0IHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkgR2V0IG9wZXJhdGlvbi4gDQogICAgICAg U2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkN CiAgICAgICBDbGVhcl9pZl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVlIG9mIGVmbUN1UEFGRGlz Y292ZXJ5Q29kZQ0KICAgICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBl Zm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YNCiAgICAgICB0aGUgbG9jYWwgUENTIGFzc29jaWF0ZWQg d2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvDQogICAgICAgc3VjY2VlZCkuDQogICAg ICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRvIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0K ICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xlYXIgb3BlcmF0aW9uLg0KICAgICAgIEEgemVyby1s ZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxMIGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAg ICAgICByZWFkIHRoaXMgb2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVk Lg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1 YnR5cGVzOiBpbiB0aGlzDQogICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBT SEFMTCBiZSByZXR1cm5lZCBvbiBhbg0KICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVj dCwgd3JpdGluZyB0byB0aGlzIG9iamVjdCBTSEFMTA0KICAgICAgIGJlIGlnbm9yZWQuDQogICAg ICAgDQogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMg RG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWpl Y3RlZCAoaW4gY2FzZSBvZg0KICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50 VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCiAgICAg ICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgaXMgYSBmdW5jdGlvbiBvZiAxMFAv MkIgYWdncmVnYXRpb24gZGlzY292ZXJ5DQogICAgICAgY29udHJvbCByZWdpc3RlciwgRGlzY292 ZXJ5IG9wZXJhdGlvbiByZXN1bHQgYml0cyBpbiAxMFAvMkINCiAgICAgICBhZ2dyZWdhdGlvbiBh bmQgZGlzY292ZXJ5IHN0YXR1cyByZWdpc3RlciBhbmQNCiAgICAgICAxMFAvMkIgYWdncmVnYXRp b24gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNjEuMi4yLjguNCwgNDUuMi42LjYtNDUuMi42LjgiDQogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDMgfQ0KDQogICBlZm1DdVBtZVRocmVzaExpbmVBdG4gIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgSW50ZWdlcjMyKC0xMjcuLjEyOCkNCiAgICAgVU5JVFMgICAgICAgImRCIg0K ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVzaXJlZCBMaW5lIEF0dGVudWF0aW9uIFRocmVzaG9s ZCBmb3IgdGhlIDJCLzEwUCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUg bGluZSBhdHRlbnVhdGlvbiBhbGFybSB0aHJlc2hvbGQuDQogICAgICAgV2hlbiB0aGUgY3VycmVu dCB2YWx1ZSBvZiBMaW5lIEF0dGVudWF0aW9uIHJlYWNoZXMgb3INCiAgICAgICBleGNlZWRzIHRo aXMgdGhyZXNob2xkLCBhIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nDQogICAgICAgbm90aWZpY2F0 aW9uIE1BWSBiZSBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkNCiAgICAgICBlZm1DdVBtZUxpbmVB dG5Dcm9zc2luZ0VuYWJsZS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJs ZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1FcyAoLU8pLg0KICAgICAgIEl0IGlzIHJlYWQtb25seSBm b3IgdGhlIENQRSBzdWJ0eXBlICgtUikuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhl IExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkDQogICAgICAgd2hl biB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBi ZQ0KICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25z aXN0ZW50VmFsdWUpLA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4N CiAgICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBh dHRlbnVhdGlvbiB0aHJlc2hvbGQgYml0cyBpbg0KICAgICAgIHRoZSAyQiBQTUQgbGluZSBxdWFs aXR5IHRocmVzaG9sZHMgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNDUuMi4xLjM2Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA0IH0NCg0KICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIz MigtMTI3Li4xMjgpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9yIHRoZSAyQi8xMFAgUE1FLg0KICAg ICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIFNOUiBtYXJnaW4gYWxhcm0gdGhyZXNob2xk Lg0KICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgU05SIE1hcmdpbiByZWFjaGVzIG9y IGV4Y2VlZHMgdGhpcw0KICAgICAgIHRocmVzaG9sZCwgYSBlZm1DdVBtZVNuck1nbkNyb3NzaW5n IG5vdGlmaWNhdGlvbiBNQVkgYmUNCiAgICAgICBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkgZWZt Q3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBp cyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtUikuIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtUi8xMFBhc3NUUy1SKS4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgU05S IE1hcmdpbiBUaHJlc2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbg0KICAgICAgIHRoZSBsaW5r IGlzIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAg cmVqZWN0ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1 ZSksDQogICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgICAN CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNl bnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVz aG9sZCBiaXRzIGluIHRoZSAyQiBQTUQNCiAgICAgICBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyBy ZWdpc3RlciINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiDQog ICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZ0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jv c3Npbmcgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMg aW50ZXJmYWNlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0 aGF0IGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nDQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJs ZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNh dGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDYgfQ0KDQog ICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhl ciBlZm1DdVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUg Z2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2Yg dHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVNuck1nbkNyb3NzaW5nDQogICAgICAgbm90 aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQog ICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3Jp dGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJ bmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNhdGlvbnMNCiAgICAg ICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCiAgICAgICAgDQogICAg ICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZURldmljZUZhdWx0DQog ICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRl cyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7 IGVmbUN1UG1lQ29uZkVudHJ5IDggfQ0KDQogICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlIG5v dGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFj ZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsdXJlDQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZh bHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBp cyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDkgfQ0KDQogICBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVm bUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZSBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJl IGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZhbHVlIG9m IHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlDQogICAg ICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0 aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDEwIH0NCg0KDQogICBlZm1DdVBtZUNhcGFiaWxpdHlUYWJsZSBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNhcGFiaWxpdHlF bnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9u IG9mIGNvbW1vbiBhc3BlY3RzIGZvciBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQ TUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YNCiAgICAgICBhc3BlY3RzIHNwZWNp ZmljIHRvIDJCQVNFLVRMIG9yIDEwUEFTUy1UUyBQTUUgdHlwZXMgaXMNCiAgICAgICByZXByZXNl bnRlZCBpbiBlZm1DdVBtZTJCQ29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQ0KICAg ICAgIHJlc3BlY3RpdmVseS4NCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJl IG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50DQogICAgICAgbWFubmVyLiINCiAgICAgOjo9IHsg ZWZtQ3VQbWUgMiB9DQoNCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBNRSBDYXBhYmlsaXR5IHRhYmxlLg0K ICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQ TUUgcG9ydA0KICAgICAgIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1D dSBQTUUgcG9ydCBjYW4gYmUNCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0 LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRo IG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5k ZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgRWZtQ3VQ bWVDYXBhYmlsaXR5RW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZVN1 YlR5cGVzU3VwcG9ydGVkICAgICBCSVRTDQogICAgIH0NCg0KICAgZWZtQ3VQbWVTdWJUeXBlc1N1 cHBvcnRlZCAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQklUUyB7DQogICAgICAgaWVl ZTJCYXNlVExPKDApLA0KICAgICAgIGllZWUyQmFzZVRMUigxKSwNCiAgICAgICBpZWVlMTBQYXNz VFNPKDIpLA0KICAgICAgIGllZWUxMFBhc3NUU1IoMykNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJQTUUgc3VwcG9ydGVkIHN1Yi10eXBlcy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3Nz aWJsZQ0KICAgICAgIHN1Yi10eXBlcy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6ICAg IA0KICAgICAgICAgaWVlZTJCYXNlVExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5n IGFzIDJCYXNlVEwtTw0KICAgICAgICAgaWVlZTJCYXNlVExSICAgIC0gUE1FIGlzIGNhcGFibGUg b2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1F IGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgIGllZWUxMFBh c3NUU1IgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SDQogICAg ICAgDQogICAgICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5 DQogICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsIHdoaWxlIGVmbUN1UG1lT3BlclN1YlR5cGUg cmVmbGVjdHMgdGhlDQogICAgICAgY3VycmVudCBvcGVyYXRpbmcgbW9kZS4NCiAgICAgICAgDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgY29tYmluZXMgdGhlIDEwUEFTUy1UUyBjYXBhYmxl IGFuZCAyQkFTRS1UTCBjYXBhYmxlDQogICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQg c3BlZWQgYWJpbGl0eSByZWdpc3RlciBhbmQgdGhlDQogICAgICAgQ08gc3VwcG9ydGVkIGFuZCBD UEUgc3VwcG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EDQogICAgICAgc3RhdHVzIHJl Z2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIuMS40 LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLA0KICAgICAgIDQ1LjIuMS4xMi4zIg0KICAgICA6 Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSAxIH0NCg0KDQogICBlZm1DdVBtZVN0YXR1c1Rh YmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lU3Rh dHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVz IGNvbW1vbiBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBB U1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMgaW5mb3JtYXRpb24gc3BlY2lmaWMNCiAgICAgICB0byAx MFBBU1MtVFMgUE1FIGlzIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuDQog ICAgICAgDQogICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1 aXBtZW50LiBBcyBzdWNoLA0KICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9 IHsgZWZtQ3VQbWUgMyB9DQoNCiAgIGVmbUN1UG1lU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgRWZtQ3VQbWVTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVh Y2ggZW50cnkgcmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0K ICAgICAgIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9y dCBjYW4gYmUNCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGlu ZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBN RSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQ0KDQogICBFZm1DdVBtZVN0YXR1c0VudHJ5 IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICAgICAgICAg ICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyAgICAgICAgICAgICBCSVRTLA0K ICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZt Q3VQbWVPcGVyUHJvZmlsZSAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAg IGVmbUN1UG1lU25yTWduICAgICAgICAgICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBt ZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRu ICAgICAgICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gICAg ICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAgICBV bnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMgICAgICAgIENvdW50ZXIz MiwNCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzICAgICAgICAgICBDb3VudGVyMzINCiAgICAg fQ0KDQogICBlZm1DdVBtZU9wZXJTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IElOVEVHRVIgew0KICAgICAgIHVwKDEpLA0KICAgICAgIGRvd25Ob3RSZWFkeSgyKSwNCiAgICAg ICBkb3duUmVhZHkoMyksDQogICAgICAgaW5pdCg0KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkN1cnJlbnQgUE1FIGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1 ZXMgYXJlOg0KICAgICAgICAgdXAoMSkgICAgICAgICAgIC0gbGluayBpcyBVcCBhbmQgcmVhZHkg dG8gcGFzcyA2NC82NUINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZWQgZnJhbWVz IG9yIGZyYWdtZW50cy4NCiAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBh bmQgdGhlIFBNRSBkb2VzIG5vdCBkZXRlY3QNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhh bmRzaGFrZSB0b25lcyBmcm9tIGl0cyBwZWVyLiBUaGlzIHZhbHVlDQogICAgICAgICAgICAgICAg ICAgICAgICAgICBtYXkgaW5kaWNhdGUgYSBwb3NzaWJsZSBwcm9ibGVtIHdpdGgNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRoZSBwZWVyIFBNRS4NCiAgICAgICAgIGRvd25SZWFkeSgzKSAg ICAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgdG9uZXMgZnJvbSBpdHMgcGVlci4NCiAgICAgICAgIGluaXQoNCkg ICAgICAgICAtIGxpbmsgaXMgaW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWZBZG1pblN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBN RSBpcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLg0KICAgICAgIA0K ICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgRG93biBzdGF0ZSBv ZiANCiAgICAgICBpZk9wZXJTdGF0dXMuDQogICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IHBh cnRpYWxseSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlDQogICAgICAgYVBNRVN0YXR1 cy4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0 byBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4gMTBQLzJCDQogICAgICAgUE1BL1BNRCBzdGF0 dXMgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIu MS4zLCA0NS4yLjEuMTIuNCINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxIH0NCg0K ICAgZWZtQ3VQbWVGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMg ew0KICAgICAgIGxvc3NPZkZyYW1pbmcoMCksDQogICAgICAgc25yTWduRGVmZWN0KDEpLA0KICAg ICAgIGxpbmVBdG5EZWZlY3QoMiksDQogICAgICAgZGV2aWNlRmF1bHQoMyksDQogICAgICAgY29u ZmlnSW5pdEZhaWx1cmUoNCksDQogICAgICAgcHJvdG9jb2xJbml0RmFpbHVyZSg1KQ0KICAgICB9 DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkN1cnJlbnQvTGFzdCBQTUUgbGluayBGYXVsdCBTdGF0 dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YNCiAgICAgICBwb3NzaWJsZSBjb25kaXRpb25zLiBUaGUg dmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToNCg0KICAgICAgICAgbG9zc09mRnJhbWluZyAgICAg ICAtIExvc3Mgb2YgRnJhbWluZyBmb3IgMTBQIG9yDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9zcyBvZiBTeW5jIHdvcmQgZm9yIDJCIFBNRCBvcg0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExvc3Mgb2YgNjQvNjVCIEZyYW1pbmcNCiAgICAgICAgIHNuck1nbkRlZmVj dCAgICAgICAgLSBTTlIgTWFyZ2luIGRyb3BwZWQgYmVsb3cgdGhlIFRocmVzaG9sZA0KICAgICAg ICAgbGluZUF0bkRlZmVjdCAgICAgICAtIExpbmUgQXR0ZW51YXRpb24gZXhjZWVkcyB0aGUgVGhy ZXNob2xkDQogICAgICAgICBkZXZpY2VGYXVsdCAgICAgICAgIC0gSW5kaWNhdGVzIGEgdmVuZG9y LWRlcGVuZGVudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMgb3Ig c2VsZi10ZXN0IGZhdWx0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzIGJlZW4g ZGV0ZWN0ZWQuDQogICAgICAgICBjb25maWdJbml0RmFpbHVyZSAgIC0gQ29uZmlndXJhdGlvbiBp bml0aWFsaXphdGlvbiBmYWlsdXJlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1 ZSB0byBpbmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3VwcG9ydCBjb25maWd1cmF0aW9uIHByb2ZpbGUsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVxdWVzdGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCiAgICAgICAg IHByb3RvY29sSW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlLA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBpbmNvbXBhdGlibGUgcHJvdG9j b2wgdXNlZCBieQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBQZWVyIFBNRSBk dXJpbmcgaW5pdCAodGhhdCBjb3VsZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh cHBlbiBpZiBhIHBlZXIgUE1EIGlzIGEgcmVndWxhciANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHLlNESFNML1ZEU0wgbW9kZW0gaW5zdGVhZCBvZiBhDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSkuDQogICAgICAgDQogICAgICAg VGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBpZk9wZXJTdGF0dXMgaW4gSUYt TUlCLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0 IHRoZSBsYXN0IGZhdWx0Lg0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzIGlzIGNsZWFyZWQgYnkg dGhlIGRldmljZSByZXN0YXJ0Lg0KICAgICAgIEluIGFkZGl0aW9uIGxvc3NPZkZyYW1pbmcsIGNv bmZpZ0luaXRGYWlsdXJlIGFuZA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFy ZWQgYnkgUE1FIGluaXQuDQogICAgICAgZGV2aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNz ZnVsIGRpYWdub3N0aWNzL3Rlc3QuDQogICAgICAgc25yTWduRGVmZWN0IGFuZCBsaW5lQXRuRGVm ZWN0IGFyZSBjbGVhcmVkIGJ5IFNOUiBNYXJnaW4NCiAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlv biByZXNwZWN0aXZlbHkgcmV0dXJuaW5nIHRvIG5vcm0gYW5kIGJ5DQogICAgICAgUE1FIGluaXQu DQogDQogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBh dHRyaWJ1dGUNCiAgICAgICBhUE1FU3RhdHVzLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAg ICAgb2JqZWN0IGNvbnNvbGlkYXRlcyBpbmZvcm1hdGlvbiBmcm9tIHZhcmlvdXMgUE1BL1BNRA0K ICAgICAgIHJlZ2lzdGVycywgbmFtZWx5OiBGYXVsdCBiaXQgaW4gUE1BL1BNRCBzdGF0dXMgMSBy ZWdpc3RlciwNCiAgICAgICAxMFAvMkIgUE1BL1BNRCBsaW5rIGxvc3MgcmVnaXN0ZXIsDQogICAg ICAgMTBQIG91dGdvaW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAx MFAgaW5jb21pbmcgaW5kaWNhdG9yIGJpdHMgc3RhdHVzIHJlZ2lzdGVyLA0KICAgICAgIDJCIHN0 YXRlIGRlZmVjdHMgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDMwLjExLjIuMS4zLCA0NS4yLjEuMi4xLCA0NS4yLjEuMzgsDQogICAgICAgNDUuMi4xLjM5LCA0 NS4yLjEuNTQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMiB9DQoNCiAgIGVmbUN1 UG1lT3BlclN1YlR5cGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0K ICAgICAgIGllZWUyQmFzZVRMTygxKSwNCiAgICAgICBpZWVlMkJhc2VUTFIoMiksDQogICAgICAg aWVlZTEwUGFzc1RTTygzKSwNCiAgICAgICBpZWVlMTBQYXNzVFNSKDQpDQogICAgIH0NCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQ3VycmVudCBvcGVyYXRpb25hbCBzdWItdHlwZSBvZiB0aGUgUE1F Lg0KICAgICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBpZWVlMkJhc2VUTE8gICAg ICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtTyANCiAgICAgICAgIGllZWUyQmFzZVRM UiAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SIA0KICAgICAgICAgaWVlZTEw UGFzc1RTTyAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1PIA0KICAgICAgICAg aWVlZTEwUGFzc1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SIA0KICAg ICAgIA0KICAgICAgIFRoZSBvcGVyYXRpb25hbCBzdWIgdHlwZSBvZiB0aGUgUE1FIGNhbiBiZSBj b25maWd1cmVkIHZpYQ0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLg0KDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJl c2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9y dCBzdWItdHlwZSBzZWxlY3QNCiAgICAgICBiaXRzLCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVjdGlv biBiaXRzIGluIHRoZSAxMFAvMkIgDQogICAgICAgUE1BL1BNRCBjb250cm9sIHJlZ2lzdGVyIGFu ZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluDQogICAgICAgdGhlIDEwUC8yQiBQTUEv UE1EIHN0YXR1cyByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4yLjEuMTIuNCINCiAgICAgOjo9IHsg ZWZtQ3VQbWVTdGF0dXNFbnRyeSAzIH0NCg0KICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvDQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIlBNRSBjdXJyZW50IG9wZXJhdGluZyBQcm9maWxlLiBUaGlzIG9iamVjdCBp cyBhIHBvaW50ZXIgdG8NCiAgICAgICBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2Zp bGVUYWJsZSBvcg0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24g dGhlIGN1cnJlbnQNCiAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgUE1FIGFzIGluZGlj YXRlZCBieQ0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUuDQogICAgICAgTm90ZSB0aGF0IGEg cHJvZmlsZSBlbnRyeSwgdG8gd2hpY2ggZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcw0KICAgICAgIHBv aW50aW5nIHRvLCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LCB0byByZWZsZWN0IGFjaGll dmVkDQogICAgICAgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXph dGlvbiwNCiAgICAgICBpLmUuIHZhbHVlcyBvZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1D dUFkbWluUHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG1heSBkaWZmZXIu DQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24gb3Ig aW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxseSBtYXBz IHRvIHRoZSBhT3BlcmF0aW5nUHJvZmlsZQ0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS43Ig0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDQgfQ0KDQogICBlZm1DdVBtZVNuck1nbiBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICBV TklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBjdXJyZW50IFNpZ25h bC10by1Ob2lzZSBSYXRpbyAoU05SKSBtYXJnaW4gd2l0aCByZXNwZWN0DQogICAgICAgdG8gdGhl IHJlY2VpdmVkIHNpZ25hbCBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsIFBNRS4NCiAgICAgICBU aGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAgICAg IGluaXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBh UE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuDQogICAgICAgDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBSWCBTTlIgbWFyZ2luIHJlZ2lzdGVyLiINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNCwgNDUuMi4xLjE2Ig0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDUgfQ0KDQogICBlZm1DdVBtZVBlZXJTbnJNZ24gT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAg ICAgVU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBT TlIgbWFyZ2luIGluIGRCIHdpdGggcmVzcGVjdCB0byB0aGUgcmVjZWl2ZWQNCiAgICAgICBzaWdu YWwsIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAg ICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAg ICAgIGluaXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyBub3Qgc3Vw cG9ydGVkIGJ5IC1SIFBNRSBzdWJ0eXBlcy4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIGxpbmsgcGFydG5lciBSWCBTTlIgbWFyZ2luDQogICAgICAgcmVnaXN0 ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4xNyINCiAgICAg Ojo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA2fQ0KDQogICBlZm1DdVBtZUxpbmVBdG4gT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAgICAg VU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBMaW5l IEF0dGVudWF0aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgbG9jYWwNCiAgICAgICBQTUUu DQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24g b3INCiAgICAgICBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMg dG8gdGhlIExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjE4Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDcg fQ0KDQogICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBw ZXJjZWl2ZWQgYnkgdGhlIHJlbW90ZQ0KICAgICAgIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAg ICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAg ICAgIGluaXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyBub3Qgc3Vw cG9ydGVkIGJ5IENQRSBwb3J0ICgtUikgc3VidHlwZXMuDQogICAgICAgDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIDIwUC8yQiBsaW5rIHBhcnRuZXIgTGluZSBBdHRlbnVhdGlvbg0KICAg ICAgIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEu MTkiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lRXF1 aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigw Li44MTkyfDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAibSINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiQW4gZXN0aW1hdGUgb2YgdGhlIGVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBp bg0KICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsg aXMgZXN0YWJsaXNoZWQuDQogICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRp Y2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICBwZXJmZWN0IHNxdWFyZSByb290 IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgIGJyaWRnZWQg dGFwcy4NCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgaWYgdGhlIGxpbmsg aXMgRG93biBvcg0KICAgICAgIEluaXRpYWxpemluZyBvciB0aGUgUE1FIGlzIHVuYWJsZSB0byBl c3RpbWF0ZSB0aGUgRXF1aXZhbGVudA0KICAgICAgIExlbmd0aC4NCiAgICAgICANCiAgICAgICBG b3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcw0KICAgICAgIHByZXNlbnQsIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVs ZWN0cmljYWwgTGVuZ3RoDQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjIxIg0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDkg fQ0KDQogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiA2NC82NS1v Y3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhpcyBjb3VudGVyIGlzDQogICAgICAgaW5jcmVt ZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBlcnJvciBkZXRlY3RlZA0K ICAgICAgIGJ5IHRoZSA2NC82NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9uLg0KDQogICAgICAgVGhp cyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9sYXRpb25zIGF0dHJpYnV0ZSBpbg0KICAgICAg IGNsYXVzZSAzMC4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIFRDIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSBUQyBjb2RpbmcgdmlvbGF0aW9ucyByZWdpc3Rlcg0KICAgICAgIChzZWUgNDUuMi42 LjEyKS4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3Vu dGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2Vt ZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGlu IElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjEsIDMw LjExLjIuMS41LCA0NS4yLjYuMTIiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTAg fQ0KDQogICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBUQy1DUkMgZXJy b3JzLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVtZW50ZWQgZm9yDQogICAgICAgZWFjaCBUQy1DUkMg ZXJyb3IgZGV0ZWN0ZWQgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24NCiAgICAg ICAoc2VlIDYxLjMuMy4zIGFuZCBGaWd1cmUgNjEtMTkpLg0KDQogICAgICAgVGhpcyBvYmplY3Qg bWFwcyB0byBhVENDUkNFcnJvcnMgYXR0cmlidXRlIGluDQogICAgICAgY2xhdXNlIDMwLg0KICAg ICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ01FIFRD IGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBDUkMg ZXJyb3IgcmVnaXN0ZXINCiAgICAgICAoc2VlIDQ1LjIuNi4xMSkuDQoNCiAgICAgICBEaXNjb250 aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlz Y29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4zLCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIN CiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxMSB9DQoNCiAgLS0gMkJBU0UtVEwgc3Bl Y2lmaWMgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lMkIgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6 Oj0geyBlZm1DdVBtZSA1IH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5DQog ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9u cyBvZiBhZG1pbmlzdHJhdGl2ZSBhbmQNCiAgICAgICBvcGVyYXRpbmcgUHJvZmlsZXMgZm9yIDJC QVNFLVRMIFBNRXMuDQogICAgICAgRmlyc3QgMTQgZW50cmllcyBpbiB0aGlzIHRhYmxlIFNIQUxM IGFsd2F5cyBiZSBkZWZpbmVkIGFzDQogICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5uZXgg NjNBKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBNaW5SYXRlIE1heFJhdGUgUG93ZXIgUmVnaW9u IENvbnN0ZWxsYXRpb24NCiAgICAgICAgaW5kZXggIChLYnBzKSAgKEticHMpICAoZEJtKQ0KICAg ICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0NCiAgICAgICAgICAxICAgICA1Njk2ICAgIDU2OTYgICAgMTMuNSAgICAxICAgMzItVENQQU0g KGRlZmF1bHQpDQogICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEzLjUgICAgMSAgIDMy LVRDUEFNDQogICAgICAgICAgMyAgICAgMjA0OCAgICAyMDQ4ICAgIDEzLjUgICAgMSAgIDE2LVRD UEFNDQogICAgICAgICAgNCAgICAgMTAyNCAgICAxMDI0ICAgIDEzLjUgICAgMSAgIDE2LVRDUEFN DQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2LVRDUEFNDQog ICAgICAgICAgNiAgICAgIDUxMiAgICAgNTEyICAgIDEzLjUgICAgMSAgIDE2LVRDUEFNDQogICAg ICAgICAgNyAgICAgNTY5NiAgICA1Njk2ICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNDQogICAgICAg ICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNDQogICAgICAgICAg OSAgICAgMjA0OCAgICAyMDQ4ICAgIDE0LjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMCAg ICAgMTAyNCAgICAxMDI0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMSAgICAg IDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMiAgICAgIDUx MiAgICAgNTEyICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMyAgICAgIDE5MiAg ICA1Njk2ICAgICAgIDAgICAgMSAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCiAgICAgICAgIDE0 ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQ0K DQogICAgICAgVGhlc2UgZGVmYXVsdCBlbnRyaWVzIFNIQUxMIGJlIGNyZWF0ZWQgZHVyaW5nIGFn ZW50DQogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuDQoNCiAg ICAgICBFbnRyaWVzIGZvbGxvd2luZyB0aGUgZmlyc3QgMTQsIGNhbiBiZSBkeW5hbWljYWxseSBj cmVhdGVkIGFuZA0KICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0 aXZlIChjb25maWd1cmF0aW9uKQ0KICAgICAgIHByb2ZpbGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0 aW5nIHByb2ZpbGVzLg0KDQogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g QW5uZXggNjNBLCAzMC4xMS4yLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMiB9DQoNCiAg IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZt Q3VQbWUyQlByb2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50 cnkgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUgMkJBU0UtVEwgUE1FIHByb2ZpbGUuDQogICAgICAg RWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZv cg0KICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAyQkFTRS1UTCBQ TUUuICANCiAgICAgICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxlIGlzIHJlZmVyZW5jZWQg dmlhDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0IChvciBlZm1DdUFkbWluUHJv ZmlsZSBpZg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNl bnQgdGhlIGRlc2lyZWQNCiAgICAgICBwYXJhbWV0ZXJzIHRoZSAyQmFzZVRMLU8gUE1FIGluaXRp YWxpemF0aW9uLg0KICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBt ZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0 aW5nIHBhcmFtZXRlcnMgb2YgdGhlIA0KICAgICAgIG9wZXJhdGlvbmFsIFBNRS4NCiAgICAgICAN CiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3Jl YXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmlsZVJv d1N0YXR1cy4gSWYgYW4NCiAgICAgICBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhlIGVu dHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnDQogICAgICAgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJl IHJlbW92ZWQuDQogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQuIg0K ICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBt ZTJCUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDo6PQ0KICAg ICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAgRWZt UHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgICAgICAgICAgIFNu bXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAgICAgICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybywNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgICAgICAgICAgICBV bnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAgICAgICAgIFVuc2ln bmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAgICAgICAgVW5zaWduZWQz MiwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRFR0VSLA0KICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICB9DQoN CiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg RWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwgUE1F IFByb2ZpbGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBh c3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJs ZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUNCiAgICAgICBvciBlZm1DdVBt ZUFkbWluUHJvZmlsZSBvYmplY3RzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRy eSAxIH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBTbm1wQWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRleHR1 YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQogICAg ICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBkYXRh IHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFy IHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQ0KDQogICBl Zm1DdVBtZTJCUmVnaW9uICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsN CiAgICAgICByZWdpb24xKDEpLA0KICAgICAgIHJlZ2lvbjIoMikNCiAgICAgfQ0KICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlJlZ2lvbmFsIHNldHRpbmdzIGZvciAyQkFTRS1UTCBQTUUsIGFzIHNw ZWNpZmllZCBpbiB0aGUNCiAgICAgICByZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45OTEu Ml0uDQogICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBEZW5z aXR5IChQU0QpIG1hc2ssDQogICAgICAgUG93ZXIgQmFjay1PZmYgKFBCTykgdmFsdWVzIGFuZCBw bGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4DQogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUsIHBv d2VyIGFuZCBjb25zdGVsbGF0aW9uLg0KICAgICAgIA0KICAgICAgIFBvc3NpYmxlIHZhbHVlcyBm b3IgdGhpcyBvYmplY3QgYXJlOg0KICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFu ZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpDQogICAgICAgICByZWdpb24yICAgICAgLSBBbm5leGVz IEIgYW5kIEcgKGUuZy4gRXVyb3BlKQ0KICAgICAgIA0KICAgICAgIEFubmV4IEEvQiBzcGVjaWZ5 IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVzIDE5Mi0yMzA0DQogICAgICAgS2JwcyB1 c2luZyAxNi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICBBbm5leCBGL0cgc3BlY2lmeSByZWdpb25h bCBzZXR0aW5ncyBmb3IgcmF0ZXMgMjMyMC0zODQwIEticHMNCiAgICAgICB1c2luZyAxNi1UQ1BB TSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAzMi1UQ1BBTQ0KICAgICAgIGVuY29k aW5nLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBp cyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhl IFJlZ2lvbiBiaXRzIGluIHRoZSAyQiBnZW5lcmFsDQogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVy LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDI7IFtHLjk5MS4y XSBBbm5leGVzIEEsIEIsIEYgYW5kIEciDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgMyB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVzaXJl ZCBjdXN0b20gU3BlY3RyYWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVjdA0KICAg ICAgIGlzIGEgcG9pbnRlciB0byBhbiBlbnRyeSBpbiBlZm1DdVBtZTJCc01vZGVUYWJsZSBhbmQg YSBibG9jaw0KICAgICAgIG9mIGVudHJpZXMgaW4gZWZtQ3VQbWUyQlJhdGVSZWFjaFRhYmxlLCB3 aGljaCB0b2dldGhlciBkZWZpbmUNCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2ggZGVw ZW5kZW50IHJhdGUgbGltaXRhdGlvbnMgaW4NCiAgICAgICBhZGRpdGlvbiB0byB0aG9zZSBkZWZp bmVkIGJ5IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmpl Y3QgaXMgdGhlIGluZGV4IG9mIHRoZSByZWZlcmVuY2VkDQogICAgICAgc3BlY3RyYWwgbW9kZS4N CiAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5kaWNhdGVzIHRoYXQgbm8gc3Bl Y2lmaWMNCiAgICAgICBzcGVjdHJhbCBtb2RlIGlzIGFwcGxpY2FibGUuDQoNCiAgICAgICBBdHRl bXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUN CiAgICAgICBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9u ZGluZyBzcGVjdHJhbA0KICAgICAgIG1vZGUgdGFibGUsIE1VU1QgYmUgcmVqZWN0ZWQuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAiZWZtQ3VQbWUyQnNNb2RlVGFibGUsIGVmbUN1UG1lMkJSYXRl UmVhY2hUYWJsZSINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgNCB9DQoNCiAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWluaW11bSBEYXRhIFJhdGUgZm9yIHRoZSAyQkFT RS1UTCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQp S2JwcywNCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9y IDMyLVRDUEFNIGVuY29kaW5nLg0KICAgICAgIA0KICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhl IDJCQVNFLVRMIFBNRSBpcyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgIHRoZSB2YWx1 ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQog ICAgICAgSWYgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4 RGF0YVJhdGUgaW4NCiAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEg cmF0ZSBpcyBjb25zaWRlcmVkDQogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0 byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUNCiAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1 UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIA0KICAgICAgIGxpbWl0YXRpb25z IHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQNCiAgICAgICBlZm1DdVBtZTJCc01v ZGUuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUgb2Yg dGhlIFBNRSBpcw0KICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1J Qi4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMg cHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1pbiBEYXRhIFJh dGUxIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuDQoNCiAg ICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5l ci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0YVJh dGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAg IFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0gRGF0 YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtl IHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAgICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQ QU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICANCiAgICAgICBU aGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQnIHdo ZW4NCiAgICAgICB0aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQ bWUyQk1pbkRhdGFSYXRlLg0KICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNz IHRoYW4gZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluDQogICAgICAgdGhlIGFkbWluaXN0cmF0aXZl IHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZA0KICAgICAgICdhZGFwdGl2ZScs IGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAg bm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbA0K ICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQNCiAg ICAgICBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRp b25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcw0KICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3Bl ZWQgb2JqZWN0IG9mIElGLU1JQi4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMg dG8gdGhlIE1heCBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAgIHBhcmFtZXRl cnMgcmVnaXN0ZXIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDYgfQ0KDQogICBl Zm1DdVBtZTJCUG93ZXIgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIo MHwxMC4uNDIpDQogICAgIFVOSVRTICAgICAgICIwLjUgZEJtIg0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLg0KICAgICAg IFRoZSB2YWx1ZSBvZiAwIGluIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zIHRoYXQg dGhlDQogICAgICAgc2lnbmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQgU0hBTEwg YmUgc2V0IHRvDQogICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhl IHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVn aW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBv YmplY3QgbWFwcyB0byB0aGUgUG93ZXIxIGJpdHMgaW4gdGhlIDJCIFBNRCBwYXJhbWV0ZXJzDQog ICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4x LjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBt ZTJCQ29uc3RlbGxhdGlvbiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7 DQogICAgICAgYWRhcHRpdmUoMCksDQogICAgICAgdGNwYW0xNigxKSwNCiAgICAgICB0Y3BhbTMy KDIpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUQ1BBTSBDb25zdGVsbGF0aW9u IG9mIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgVGhlIHBvc3NpYmxlIHZhbHVlcyBhcmU6DQog ICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAxNi0gb3IgMzItVENQQU0NCiAgICAgICAg IHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0NCiAgICAgICAgIHRjcGFtMzIoMikgICAgIC0gMzIt VENQQU0NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFwdGl2ZSgwKSBpbiB0aGUgYWRtaW5pc3Ry YXRpdmUgcHJvZmlsZSBtZWFucw0KICAgICAgIHRoYXQgdGhlIGNvbnN0ZWxsYXRpb24gaXMgbm90 IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8NCiAgICAgICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJs ZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRhdGlvbnMNCiAgICAgICBwbGFjZWQgYnkg dGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1lMkJzTW9kZS4NCg0KICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz DQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIENvbnN0ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJC IGdlbmVyYWwNCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAg ICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxl RW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMg b2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAg ICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0K ICAgICAgIFJvd1N0YXR1cy4NCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVu Y2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxl LCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsDQogICAgICAgcmVmZXJl bmNlcyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9 DQoNCg0KICAgZWZtQ3VQbWUyQnNNb2RlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQnNNb2RlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIHRhYmxlLCB0b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJsZSwg c3VwcG9ydHMNCiAgICAgICBkZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVj dHJhbCBtb2RlcyBmb3INCiAgICAgICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFs IGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvDQogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5IGVm bUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0 aW9ucyAoZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUNCiAgICAgICBsZW5ndGggb2YgdGhlIGxvb3Bz IGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgdGhlc2Ug Y291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICBF bnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlDQog ICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2Vz IGFyZQ0KICAgICAgIHJlbW92ZWQuDQoNCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgImVm bUN1MkJSZWFjaFJhdGVUYWJsZSINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMyB9DQoNCiAgIGVm bUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1l MkJzTW9kZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBzcGVj aWZpZXMgc3BlY3RyYWwgbW9kZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgIHdo aWNoIGlzIHVzZWQgdG8gcmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAg ICAgICBlZm1DdTJCUmVhY2hSYXRlVGFibGUuDQogICAgICAgDQogICAgICAgRW50cmllcyBtYXkg YmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24vDQogICAgICAgZGVsZXRp b24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMuIg0KICAgICBJTkRFWCB7 IGVmbUN1UG1lMkJzTW9kZUluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlVGFibGUg MSB9DQoNCiAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAg ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAg ICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyICAgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAg ICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgICAgICAgICBSb3dTdGF0dXMNCiAgICAgfQ0K DQogICBlZm1DdVBtZTJCc01vZGVJbmRleCBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBF Zm1Qcm9maWxlSW5kZXgNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIyQkFTRS1UTCBQTUUg U3BlY3RyYWwgTW9kZSBpbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGlu ZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNwZWN0cmFsDQogICAgICAgbW9kZS4NCiAgICAgICBF bnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZQ0K ICAgICAgIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQ0KDQog ICBlZm1DdVBtZTJCc01vZGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTbm1w QWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNv bnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQogICAgICAgc3BlY3RyYWwg bW9kZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dA0KICAgICAgIGNv cnJlc3BvbmRpbmcgKGNvdW50cnktc3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25zDQogICAg ICAgYW5kIHJhdGUvcmVhY2ggbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHNwZWN0cmFs IG1vZGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQ bWUyQnNNb2RlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1 cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9u L2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQnNN b2RlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dTdGF0dXMuDQogICAgICAg SWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0 aGUNCiAgICAgICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwgcmVmZXJlbmNl cyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDMgfQ0KDQoN CiAgIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb24gb2YgYWRtaW5pc3RyYXRp dmUgY3VzdG9tDQogICAgICAgc3BlY3RyYWwgbW9kZXMgZm9yIDJCQVNFLVRMIFBNRXMsIHByb3Zp ZGluZyBzcGVjdHJhbA0KICAgICAgIGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvIHRob3NlIHNw ZWNpZmllZCBieQ0KICAgICAgIGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBUaGUgc3BlY3Ry YWwgcmVndWxhdGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsgQU5GUCkNCiAgICAgICBs aW1pdCB0aGUgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLg0KICAg ICAgIFRoaXMgdGFibGUgYWxsb3dzIHRoZXNlIGNvdW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMg dG8gYmUNCiAgICAgICBzcGVjaWZpZWQuDQoNCiAgICAgICBCZWxvdyBpcyBhbiBleGFtcGxlIG9m IHRoaXMgdGFibGUgZm9yIFtBTkZQXToNCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0t LSsNCiAgICAgICBFcXVpdmFsZW50IE1heFJhdGUgTWF4UmF0ZQ0KICAgICAgICAgTGVuZ3RoICAg IFBBTTE2ICAgUEFNMzINCiAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQ0KICAgICAg IC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgICAgICA5NzUgICAgICAyMzA0ICAg IDU2OTYNCiAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0DQogICAgICAgICAgMTI3NSAg ICAgIDIzMDQgICAgNTEyMA0KICAgICAgICAgIDEzNTAgICAgICAyMzA0ICAgIDQ4NjQNCiAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0DQogICAgICAgICAgMTUwMCAgICAgIDIzMDQgICAg NDI4OA0KICAgICAgICAgIDE1NzUgICAgICAyMzA0ICAgIDM5NjgNCiAgICAgICAgICAxNjUwICAg ICAgMjMwNCAgICAzNzc2DQogICAgICAgICAgMTcyNSAgICAgIDIzMDQgICAgMzUyMA0KICAgICAg ICAgIDE4MDAgICAgICAyMzA0ICAgIDMyNjQNCiAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAz MDcyDQogICAgICAgICAgMTk1MCAgICAgIDIwNDggICAgMjY4OA0KICAgICAgICAgIDIxMDAgICAg ICAxNzkyICAgIDIzNjgNCiAgICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwDQogICAgICAg ICAgMjQwMCAgICAgIDE0MDggICAgICAgMA0KICAgICAgICAgIDI1NTAgICAgICAxMjgwICAgICAg IDANCiAgICAgICAgICAyNzc1ICAgICAgMTE1MiAgICAgICAwDQogICAgICAgICAgMjkyNSAgICAg IDExNTIgICAgICAgMA0KICAgICAgICAgIDMxNTAgICAgICAxMDg4ICAgICAgIDANCiAgICAgICAg ICAzMzc1ICAgICAgMTAyNCAgICAgICAwDQogICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0t LS0rICAgICAgIA0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkg dGhlIGVmbUN1UG1lMkJzTW9kZQ0KICAgICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxs IHRoZSBhY3RpdmUgcmVmZXJlbmNlcyBhcmUNCiAgICAgICByZW1vdmVkLg0KDQogICAgICAgVGhp cyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbQU5GUF0iDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDQgfQ0K DQogICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3Np YmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi RWFjaCBlbnRyeSBzcGVjaWZpZXMgbWF4aW11bSAyQkFTRS1UTCBQTUUgZGF0YSByYXRlcw0KICAg ICAgIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFsZW50IGxvb3AgbGVuZ3RoLCB3aGVuIHVz aW5nIA0KICAgICAgIDE2LVRDUEFNIG9yIDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgV2hl biAyQkFTRS1UTCBQTUUgaXMgaW5pdGlhbGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QNCiAg ICAgICBleGNlZWQgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGltaXRhdGlvbnM6DQogICAgICAgLSB0 aGUgdmFsdWUgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlDQogICAgICAgLSBtYXhpbXVtIGRhdGEg cmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgICBlZm1DdVBtZTJC UG93ZXINCiAgICAgICAtIG1heGltdW0gZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNw ZWNpZmllZCBpbiB0aGUNCiAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25k aW5nIHRvIHRoZSBlcXVpdmFsZW50IGxvb3ANCiAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5 IHRoZSBQTUUuDQogICAgICAgDQogICAgICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCB0aGUgZWZt Q3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggdmFsdWVzDQogICAgICAgYXJlIGFzc2lnbmVkIGluIHRo ZSBpbmNyZWFzaW5nIG9yZGVyLCBzdGFydGluZyBmcm9tIHRoZQ0KICAgICAgIG1pbmltdW0gdmFs dWUuDQoNCiAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJv dyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMlJlYWNo UmF0ZVJvd1N0YXR1cy4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXgsIGVmbUN1 UG1lMkJSZWFjaFJhdGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJs ZSAxIH0NCg0KICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7 DQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4ICAgICAgICAgRWZtUHJvZmlsZUluZGV4 LA0KICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoICAgICAgIFVuc2lnbmVkMzIsDQog ICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVm bUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVm bUN1UG1lMkJSZWFjaFJhdGVJbmRleCBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXgNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIyQkFTRS1UTCBjdXN0b20g c3BlY3RyYWwgbW9kZSBSZWFjaC1SYXRlIHRhYmxlIGluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0 IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGVhY2ggZW5yeS4iDQogICAgIDo6 PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQkVxdWl2YWxl bnRMZW5ndGggIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uODE5 MikNCiAgICAgVU5JVFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11 bSBhbGxvd2VkIEVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbiBtZXRlcnMNCiAg ICAgICBmb3IgdGhlIHNwZWNpZmllZCBkYXRhIHJhdGVzLg0KICAgICAgIEFuIGVxdWl2YWxlbnQg bG9vcCBpcyBhIGh5cG90aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhDQogICAgICAg cGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBh bnkNCiAgICAgICBicmlkZ2VkIHRhcHMuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkgMiB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2KQ0KICAgICBVTklUUyAgICAg ICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBmb3Ig MkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQNCiAgICAgICBFcXVpdmFsZW50IGxvb3AncyBM ZW5ndGggdXNpbmcgVEMtUEFNMTYgZW5jb2RpbmcuDQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8g bWVhbnMgdGhhdCBUQy1QQU0xNiBlbmNvZGluZyBzaG91bGQgbm90IGJlDQogICAgICAgdXNlZCBh dCB0aGlzIGRpc3RhbmNlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDMg fQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgVW5zaWduZWQzMigwfDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRM IFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3RoIHVz aW5nIFRDLVBBTTMyIGVuY29kaW5nLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1lYW5zIHRo YXQgVEMtUEFNMzIgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgIHVzZWQgYXQgdGhpcyBk aXN0YW5jZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA0IH0NCg0KICAg ZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBSb3dTdGF0dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9s cyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAgIGVudHJ5IGluIGVm bUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0KICAgICAgIFJvd1N0 YXR1cy4NCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1D dVBtZTJCc01vZGUsIHRoZQ0KICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGls IGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNo UmF0ZUVudHJ5IDUgfQ0KDQoNCiAgLS0gMTBQQVNTLVRTIHNwZWNpZmljIFBNRSBncm91cA0KDQog ICBlZm1DdVBtZTEwUCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDYgfQ0K DQogICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBTRVFVRU5DRSBPRiBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMgb2YgY29uZmlndXJhdGlv biBwcm9maWxlcyBmb3INCiAgICAgICAxMFBhc3NUTCBQTUVzLg0KICAgICAgIEZpcnN0IDIyIGVu dHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZv bGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYyQi4zKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0t Ky0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgQmFuZHBs YW4gVVBCTyBCYW5kTm90Y2ggRFJhdGUgVVJhdGUNCiAgICAgICAgSW5kZXggIFBTRE1hc2sjICBw IyAgICBwIyAgICAgICAgcCMgICAgcCMNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0t LS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAy LDYsMTAsMTEgICAgMjAgICAgMjAoZGVmYXVsdCkNCiAgICAgICAgICAyICAgICAxMyAgICAgIDUg ICAgMCAgICAgICAgICAgIDIwICAgIDIwDQogICAgICAgICAgMyAgICAgIDEgICAgICAxICAgIDAg ICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAg ICAgICAxMDAgICAxMDANCiAgICAgICAgICA1ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAg IDcwICAgIDUwDQogICAgICAgICAgNiAgICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAg ICAxMA0KICAgICAgICAgIDcgICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAN CiAgICAgICAgICA4ICAgICAgOCAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgICA1DQogICAg ICAgICAgOSAgICAgIDQgICAgICAwICAgIDAgICAgICAgICAgICAyNSAgICAyNQ0KICAgICAgICAg MTAgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUNCiAgICAgICAgIDExICAg ICAyMyAgICAgIDAgICAgMCAgICAgICAgICAgIDEwICAgIDEwDQogICAgICAgICAxMiAgICAgMjMg ICAgICAwICAgIDAgICAgICAgICAgICAgNSAgICAgNQ0KICAgICAgICAgMTMgICAgIDE2ICAgICAg MCAgICAyLDUsOSwxMSAgICAxMDAgICAxMDANCiAgICAgICAgIDE0ICAgICAxNiAgICAgIDAgICAg Miw1LDksMTEgICAgIDcwICAgIDUwDQogICAgICAgICAxNSAgICAgIDYgICAgICAwICAgIDIsNiwx MCwxMSAgICA1MCAgICAxMA0KICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUsOSwxMSAg ICAgMzAgICAgMzANCiAgICAgICAgIDE3ICAgICAgOCAgICAgIDAgICAgMiw2LDEwLDExICAgIDMw ICAgICA1DQogICAgICAgICAxOCAgICAgIDQgICAgICAwICAgIDIsNiwxMCwxMSAgICAyNSAgICAy NQ0KICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMTUgICAgMTUNCiAg ICAgICAgIDIwICAgICAyMyAgICAgIDAgICAgMiw1LDksMTEgICAgIDEwICAgIDEwDQogICAgICAg ICAyMSAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAgICAgNSAgICAgNQ0KICAgICAgICAgMjIg ICAgIDMwICAgICAgMCAgICAwICAgICAgICAgICAyMDAgICAgNTANCg0KICAgICAgIFRoZXNlIGRl ZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGJ5IGR1cmluZyBhZ2VudA0KICAgICAgIGlu aXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgRW50cmllcyBm b2xsb3dpbmcgdGhlIGZpcnN0IDIyLCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAg ICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJh dGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4N Cg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBt YW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQi4zLCAz MC4xMS4yLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQ0KDQogICBlZm1DdVBtZTEw UFByb2ZpbGVFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgY29ycmVz cG9uZHMgdG8gYSBzaW5nbGUgMTBQQVNTLVRTIFBNRQ0KICAgICAgIHByb2ZpbGUuDQogICAgICAg RWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZv cg0KICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAxMFBBU1MtVFMg UE1FLiAgDQogICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2Vk IHZpYQ0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblBy b2ZpbGUgaWYNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVz ZW50IHRoZSBkZXNpcmVkDQogICAgICAgcGFyYW1ldGVycyB0aGUgMTBQYXNzVFMtTyBQTUUgaW5p dGlhbGl6YXRpb24uDQogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1 UG1lT3BlclByb2ZpbGUgb2JqZWN0LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVy YXRpbmcgcGFyYW1ldGVycyBvZiB0aGUgUE1FLg0KDQogICAgICAgUHJvZmlsZXMgbWF5IGJlIGNy ZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICdh Y3RpdmUnIGVudHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZl Jw0KICAgICAgIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KICAgICAgIERlZmF1 bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiINCiAgICAgSU5ERVggeyBlZm1DdVBtZTEw UFByb2ZpbGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQ0K DQogICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAg ICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAg ICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAgSU5URUdFUiwNCiAgICAgICBl Zm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBt ZTEwUEJhbmROb3RjaFByb2ZpbGVzICAgICAgQklUUywNCiAgICAgICBlZm1DdVBtZTEwUFBheWxv YWRVUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0 ZVByb2ZpbGUgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMg ICAgICAgUm93U3RhdHVzDQogICAgIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBQcm9maWxlIEluZGV4Lg0KICAgICAgIFRoaXMg b2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4N CiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRt aW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUuIg0KICAgICA6Oj0geyBl Zm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3Ig T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFi b3V0IDEwUEFTUy1UUyBQTUUNCiAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRl IGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQ0KICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0 aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQ UHJvZmlsZUVudHJ5IDIgfQ0KDQogICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAg T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgxKSwN CiAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxl NCg0KSwNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBw cm9maWxlNyg3KSwNCiAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAg ICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxMSgxMSksDQogICAgICAgcHJvZmls ZTEyKDEyKSwNCiAgICAgICBwcm9maWxlMTMoMTMpLA0KICAgICAgIHByb2ZpbGUxNCgxNCksDQog ICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICBwcm9maWxlMTYoMTYpLA0KICAgICAgIHByb2Zp bGUxNygxNyksDQogICAgICAgcHJvZmlsZTE4KDE4KSwNCiAgICAgICBwcm9maWxlMTkoMTkpLA0K ICAgICAgIHByb2ZpbGUyMCgyMCksDQogICAgICAgcHJvZmlsZTIxKDIxKSwNCiAgICAgICBwcm9m aWxlMjIoMjIpLA0KICAgICAgIHByb2ZpbGUyMygyMyksDQogICAgICAgcHJvZmlsZTI0KDI0KSwN CiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUyNigyNiksDQogICAgICAgcHJv ZmlsZTI3KDI3KSwNCiAgICAgICBwcm9maWxlMjgoMjgpLA0KICAgICAgIHByb2ZpbGUyOSgyOSkN CiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgQmFuZHBsYW4g YW5kIFBTRCBNYXNrIHByb2ZpbGUsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5u ZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0NCiAgICAgICBQcm9maWxl IE5hbWUgICAgUFNEIE1hc2sgICAgICAgICAgICAgICAgICBCYW5kcyAgICAgQmFuZHBsYW4NCiAg ICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tDQogICAgICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0x ICB4L0QvVS9EL1UgIEENCiAgICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRF eC5NMQ0KICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAg ICAgIHByb2ZpbGU0KDQpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmls ZTUoNSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICBEL0QvVS9EL1UNCiAgICAgICBwcm9m aWxlNig2KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgIHByb2ZpbGU3KDcpICAg LSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBUMS40MjQv VC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmlsZTkoOSkgICAtIFQxLjQyNC9ULVUgUDEgRlRU Q2FiLk0xICBVL0QvVS9EL3gNCiAgICAgICBwcm9maWxlMTAoMTApIC0gVDEuNDI0L1QtVSBQMSBG VFRFeC5NMQ0KICAgICAgIHByb2ZpbGUxMSgxMSkgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0K ICAgICAgIHByb2ZpbGUxMigxMikgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJv ZmlsZTEzKDEzKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICB4L0QvVS9EL1UgIEINCiAgICAg ICBwcm9maWxlMTQoMTQpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9maWxl MTUoMTUpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMTYoMTYpIC0g VFMxIDEwMSAyNzAtMSBQZXguUDIuTTENCiAgICAgICBwcm9maWxlMTcoMTcpIC0gVFMxIDEwMSAy NzAtMSBQY2FiLk0yDQogICAgICAgcHJvZmlsZTE4KDE4KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAx Lk0yDQogICAgICAgcHJvZmlsZTE5KDE5KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQogICAg ICAgcHJvZmlsZTIwKDIwKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICBVL0QvVS9EL3gNCiAg ICAgICBwcm9maWxlMjEoMjEpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9m aWxlMjIoMjIpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMjMoMjMp IC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTENCiAgICAgICBwcm9maWxlMjQoMjQpIC0gVFMxIDEw MSAyNzAtMSBQY2FiLk0yDQogICAgICAgcHJvZmlsZTI1KDI1KSAtIFRTMSAxMDEgMjcwLTEgUGV4 LlAxLk0yDQogICAgICAgcHJvZmlsZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQog ICAgICAgcHJvZmlsZTI3KDI3KSAtIEcuOTkzLjEgRi4xLjIuMSAoVkRTTG9QT1RTKSB4L0QvVS9E L1UgIEYNCiAgICAgICBwcm9maWxlMjgoMjgpIC0gRy45OTMuMSBGLjEuMi4yIChWRFNMb1RDTS1J U0ROKQ0KICAgICAgIHByb2ZpbGUyOSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1Y3Rp b24pDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZHBsYW5QU0RNYXNrUHJv ZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAg ICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQSwgMzAuNS4xLjEuMjIiDQogICAgIDo6PSB7IGVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5IDMgfQ0KDQogICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9m aWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggIElOVEVHRVIgew0KICAgICAgIHByb2ZpbGUx KDEpLA0KICAgICAgIHByb2ZpbGUyKDIpLA0KICAgICAgIHByb2ZpbGUzKDMpLA0KICAgICAgIHBy b2ZpbGU0KDQpLA0KICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGU2KDYpLA0KICAg ICAgIHByb2ZpbGU3KDcpLA0KICAgICAgIHByb2ZpbGU4KDgpLA0KICAgICAgIHByb2ZpbGU5KDkp DQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFt IFBvd2VyIEJhY2stT2ZmIChVUEJPKSBSZWZlcmVuY2UgUFNEDQogICAgICAgUHJvZmlsZSwgYXMg c3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMNCiAgICAgICBh cmU6DQogICAgICAgICBwcm9maWxlMSgxKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEg TTENCiAgICAgICAgIHByb2ZpbGUyKDIpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBN Mg0KICAgICAgICAgcHJvZmlsZTMoMykgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0x DQogICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTIN CiAgICAgICAgIHByb2ZpbGU1KDUpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCDQog ICAgICAgICBwcm9maWxlNig2KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEMNCiAgICAg ICAgIHByb2ZpbGU3KDcpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRA0KICAgICAgICAg cHJvZmlsZTgoOCkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBFDQogICAgICAgICBwcm9m aWxlOSg5KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEYNCg0KICAgICAgIFRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIGFVUEJPUmVmZXJlbmNlUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBp biBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy QS4zLjQsIDMwLjUuMS4xLjIzIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA0 IH0NCg0KICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICBCSVRTIHsNCiAgICAgICBwcm9maWxlMCgwKSwNCiAgICAgICBwcm9maWxlMSgxKSwN CiAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxl NCg0KSwNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBw cm9maWxlNyg3KSwNCiAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAg ICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxMSgxMSkNCiAgICAgfQ0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3Rj aCBQcm9maWxlIGJpdG1hcCwNCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2 MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tDQogICAgICAgUHJvZmlsZSBOYW1l ICAgIEcuOTkxLjMgIFQxLjQyNC9ULVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYNCiAgICAgICAg ICAgICAgICAgICAgICAgVGFibGUgICAgVGFibGUgICAgICBUYWJsZSAgICAgICAoTUh6KSAgKE1I eikNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0rLS0tLS0NCiAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQ0KICAgICAg IHByb2ZpbGUxKDEpICAgLSBGLTUgIzAxICAtICAgICAgICAgIC0gICAgICAgICAgIDEuODEwICAx LjgyNQ0KICAgICAgIHByb2ZpbGUyKDIpICAgLSA2LTIgICAgICAxNS0xICAgICAgIDE3ICAgICAg ICAgIDEuODEwICAyLjAwMA0KICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAg ICAgIC0gICAgICAgICAgIDEuOTA3ICAxLjkxMg0KICAgICAgIHByb2ZpbGU0KDQpICAgLSBGLTUg IzAzICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNTAwICAzLjU3NQ0KICAgICAgIHByb2ZpbGU1 KDUpICAgLSA2LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDMuNTAwICAzLjgwMA0KICAg ICAgIHByb2ZpbGU2KDYpICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAgIDMuNTAw ICA0LjAwMA0KICAgICAgIHByb2ZpbGU3KDcpICAgLSBGLTUgIzA0ICAtICAgICAgICAgIC0gICAg ICAgICAgIDMuNzQ3ICAzLjc1NA0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAtICAg ICAgICAgIC0gICAgICAgICAgIDMuNzkxICAzLjgwNQ0KICAgICAgIHByb2ZpbGU5KDkpICAgLSA2 LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMA0KICAgICAgIHByb2Zp bGUxMCgxMCkgLSBGLTUgIzA2ICAxNS0xICAgICAgIC0gICAgICAgICAgIDcuMDAwICA3LjMwMA0K ICAgICAgIHByb2ZpbGUxMSgxMSkgLSA2LTIgICAgICAxNS0xICAgICAgIDEgICAgICAgICAgIDEw LjEwMCAxMC4xNTANCiAgICAgICANCiAgICAgICBBbnkgY29tYmluYXRpb24gb2YgcHJvZmlsZXMg Y2FuIGJlIHNwZWNpZmllZCBieSBPUmluZw0KICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZv ciBleGFtcGxlIHZhbHVlIG9mIDB4MDYyMiBzZWxlY3RzDQogICAgICAgcHJvZmlsZXMgMiw2LDEw IGFuZCAxMS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZE5v dGNoUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjUsIDMwLjUuMS4xLjE5Ig0KICAgICA6 Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2Fk VVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAg ICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUx NSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwNCiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAg ICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxl NzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAwKQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAg ICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBh cmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAgICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9m aWxlMTAoMTApICAgICAtIDUgTWJwcw0KICAgICAgICAgcHJvZmlsZTE1KDE1KSAgICAgLSA3LjUg TWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9m aWxlMjUoMjUpICAgICAtIDEyLjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTMwKDMwKSAgICAgLSAx NSBNYnBzDQogICAgICAgICBwcm9maWxlNTAoNTApICAgICAtIDI1IE1icHMNCiAgICAgICAgIHBy b2ZpbGU3MCg3MCkgICAgIC0gMzUgTWJwcw0KICAgICAgICAgcHJvZmlsZTEwMCgxMDApICAgLSA1 MCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQ TUUncyBVcHN0cmVhbSBQYXlsb2FkDQogICAgICAgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUku IElmIHRoZSBwYXlsb2FkIHJhdGUgb2YgdGhlDQogICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5u b3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFu ZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwg ZmFpbC4NCiAgICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRS YXRlUHJvZmlsZVVwc3RyZWFtDQogICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAi DQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDYgfQ0KDQogICBlZm1DdVBtZTEw UFBheWxvYWREUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVH RVIgew0KICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGUxMCgxMCksDQogICAgICAg cHJvZmlsZTE1KDE1KSwNCiAgICAgICBwcm9maWxlMjAoMjApLA0KICAgICAgIHByb2ZpbGUyNSgy NSksDQogICAgICAgcHJvZmlsZTMwKDMwKSwNCiAgICAgICBwcm9maWxlNTAoNTApLA0KICAgICAg IHByb2ZpbGU3MCg3MCksDQogICAgICAgcHJvZmlsZTEwMCgxMDApLA0KICAgICAgIHByb2ZpbGUx NDAoMTQwKSwNCiAgICAgICBwcm9maWxlMjAwKDIwMCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNT ICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIjEwUEFTUy1UUyBQTUUgRG93bnN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwN CiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVl cyBhcmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAgIC0gMi41IE1icHMNCiAgICAgICAgIHBy b2ZpbGUxMCgxMCkgICAgLSA1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgLSA3LjUg TWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAtIDEwIE1icHMNCiAgICAgICAgIHByb2Zp bGUyNSgyNSkgICAgLSAxMi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgLSAxNSBN YnBzDQogICAgICAgICBwcm9maWxlNTAoNTApICAgIC0gMjUgTWJwcw0KICAgICAgICAgcHJvZmls ZTcwKDcwKSAgICAtIDM1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBz DQogICAgICAgICBwcm9maWxlMTQwKDE0MCkgIC0gNzAgTWJwcw0KICAgICAgICAgcHJvZmlsZTIw MCgyMDApICAtIDEwMCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJn ZXQgZm9yIHRoZSBQTUUncyBEb3duc3RyZWFtDQogICAgICAgUGF5bG9hZCBCaXRyYXRlIGFzIHNl ZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBheWxvYWQgcmF0ZSBvZg0KICAgICAgIHRoZSBzZWxlY3Rl ZCBwcm9maWxlIGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcA0KICAgICAgIGVu dmlyb25tZW50LCBiYW5kcGxhbiBhbmQgUFNEIG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24N CiAgICAgICBTSEFMTCBmYWlsLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgYXR0cmlidXRlIGluIENs YXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMu NiwgMzAuNS4xLjEuMjEiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQ0K DQogICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29u dHJvbHMgY3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29jaWF0ZWQNCiAgICAgICBlbnRyeSBp biBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0KICAgICAgIFJv d1N0YXR1cy4NCiAgICAgICBJZiBhbiBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZt Q3VBZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5 IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsDQogICAgICAgYWxsIHJlZmVyZW5jZXMgYXJlIHJl bW92ZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0NCg0KDQogICBl Zm1DdVBtZTEwUFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJUYWJsZSByZWZsZWN0aW5nIHN0YXR1cyBvZiBFRk1DdSAxMFBBU1MtVFMgUE1FcyAobW9kZW1z KS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQIDIgfQ0KDQogICBlZm1DdVBtZTEwUFN0YXR1c0Vu dHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkN CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgMTBQQVNT LVRTIFBNRSBTdGF0dXMgdGFibGUuIg0KICAgICBBVUdNRU5UUyB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlIDEgfQ0KDQogICBFZm1DdVBt ZTEwUFN0YXR1c0VudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUxMFBG RUNDb3JyZWN0ZWRCbG9ja3MgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBtZTEwUEZFQ1Vu Y29ycmVjdGVkQmxvY2tzICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VQbWUxMFBGRUND b3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0K ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIGFuZCBjb3JyZWN0ZWQg RkVDIGNvZGV3b3JkcyBpbiAxMFBBU1MtVFMNCiAgICAgICBQTUUuDQoNCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIGFQTUVGRUNDb3JyZWN0ZWRCbG9ja3MgYXR0cmlidXRlIGluDQogICAgICAg Y2xhdXNlIDMwLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBNQS9QTUQgaXMgcHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IDEwUCBGRUMgY29ycmVjdGFibGUgZXJyb3JzDQogICAgICAgcmVnaXN0ZXINCg0KICAgICAgIERp c2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0K ICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0 IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEuOCINCiAgICAg Ojo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBGRUNVbmNv cnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkEgY291bnQgb2YgcmVjZWl2ZWQgRkVDIGNvZGV3b3JkcyBp biAxMFBBU1MtVFMgUE1FLCB3aGljaCBhcmUNCiAgICAgICB1bmNvcnJlY3RhYmxlLg0KDQogICAg ICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDVW5jb3JyZWN0YWJsZUJsb2NrcyBhdHRyaWJ1 dGUgaW4NCiAgICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LA0KICAgICAgIHRoZW4gdGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgMTBQIEZFQyB1bmNvcnJlY3RhYmxlIGVycm9ycw0KICAgICAgIHJlZ2lz dGVyDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRl ciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVu dCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUg dmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJ Ri1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMywgMzAu MTEuMi4xLjkiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMiB9DQoNCiAgLS0N CiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBlZm1DdUdyb3VwcyAgICAg IE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMSB9DQoNCiAgIGVmbUN1 Q29tcGxpYW5jZXMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VDb25mb3JtYW5jZSAyIH0N Cg0KICAgLS0gT2JqZWN0IEdyb3Vwcw0KDQogICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UEFGU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1 QWRtaW5Qcm9maWxlLA0KICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUsDQogICAgICAgZWZtQ3VU YXJnZXRTbnJNZ24sDQogICAgICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEsDQogICAgICAgZWZtQ3VQ b3J0U2lkZSwNCiAgICAgICBlZm1DdUZsdFN0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgcmVwcmVzZW50aW5nIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24NCiAgICAgICBjb21tb24gZm9y IGFsbCB0eXBlcyBvZiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDEgfQ0K DQogICBlZm1DdVBBRkdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBl Zm1DdVBlZXJQQUZTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eSwNCiAgICAgICBl Zm1DdVBlZXJQQUZDYXBhY2l0eSwNCiAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUsDQogICAgICAg ZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlLA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29k ZSwNCiAgICAgICBlZm1DdU51bVBNRXMNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBv cnRpbmcgT1BUSU9OQUwgUE1FDQogICAgICAgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikgYW5k IFBBRiBkaXNjb3ZlcnkgaW4gRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyAy IH0NCg0KICAgZWZtQ3VQQUZFcnJvcnNHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7 DQogICAgICAgZWZtQ3VQQUZJbkVycm9ycywNCiAgICAgICBlZm1DdVBBRkluU21hbGxGcmFnbWVu dHMsDQogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzLA0KICAgICAgIGVmbUN1UEFGSW5C YWRGcmFnbWVudHMsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMsDQogICAgICAgZWZt Q3VQQUZJbkxvc3RTdGFydHMsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzLA0KICAgICAgIGVm bUN1UEFGSW5PdmVyZmxvd3MNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcg T1BUSU9OQUwgZXJyb3IgY291bnRlcnMNCiAgICAgICBvZiBQQUYgb24gRUZNQ3UgcG9ydHMuIg0K ICAgICA6Oj0geyBlZm1DdUdyb3VwcyAzIH0NCg0KICAgZWZtQ3VQbWVHcm91cCBPQkpFQ1QtR1JP VVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsDQogICAgICAg ZWZtQ3VQbWVPcGVyU3RhdHVzLA0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVm bUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsDQog ICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSwNCiAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVy eUNvZGUsDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZVNuck1n biwNCiAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuLA0K ICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVu Z3RoLA0KICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMsDQogICAgICAgZWZtQ3VQbWVUQ0Ny Y0Vycm9ycywNCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVU aHJlc2hTbnJNZ24NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBpbmZvcm1h dGlvbiBhYm91dA0KICAgICAgIGEgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRS4iDQogICAgIDo6PSB7 IGVmbUN1R3JvdXBzIDQgfQ0KDQogICBlZm1DdUFsYXJtQ29uZkdyb3VwIE9CSkVDVC1HUk9VUA0K ICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVRocmVzaExvd1JhdGUsDQogICAgICAgZWZtQ3VM b3dSYXRlQ3Jvc3NpbmdFbmFibGUsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLA0KICAg ICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1UG1lVGhyZXNo U25yTWduLA0KICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsDQogICAgICAgZWZt Q3VQbWVEZXZpY2VGYXVsdEVuYWJsZSwNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5h YmxlLA0KICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZQ0KICAgICB9DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0 aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBjb25maWd1cmF0aW9uIG9mIGFsYXJtDQogICAgICAg dGhyZXNob2xkcyBhbmQgbm90aWZpY2F0aW9ucyBpbiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7 IGVmbUN1R3JvdXBzIDUgfQ0KDQogICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwIE5PVElGSUNBVElP Ti1HUk9VUA0KICAgICBOT1RJRklDQVRJT05TIHsNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2lu ZywNCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZywNCiAgICAgICBlZm1DdVBtZVNuck1n bkNyb3NzaW5nLA0KICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHQsDQogICAgICAgZWZtQ3VQbWVD b25maWdJbml0RmFpbHVyZSwNCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCi0t ICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHQsDQotLSAgICAgICBlZm1DdVBtZUxvY2FsUG93ZXJM b3NzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIGdyb3VwIHN1cHBvcnRzIG5vdGlmaWNhdGlvbnMgb2Ygc2lnbmlmaWNhbnQg Y29uZGl0aW9ucw0KICAgICAgIGFzc29jaWF0ZWQgd2l0aCBFRk1DdSBwb3J0cy4iDQogICAgIDo6 PSB7IGVmbUN1R3JvdXBzIDYgfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwIE9CSkVDVC1H Uk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyLA0KICAg ICAgIGVmbUN1UG1lMkJSZWdpb24sDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlLA0KICAgICAgIGVm bUN1UG1lMkJNaW5EYXRhUmF0ZSwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsDQogICAg ICAgZWZtQ3VQbWUyQlBvd2VyLA0KICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uLA0KICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZURl c2NyLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cywNCiAgICAgICBlZm1DdVBtZTJC RXF1aXZhbGVudExlbmd0aCwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiwNCiAg ICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiwNCiAgICAgICBlZm1DdVBtZTJCUmVhY2hS YXRlUm93U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUg YSBjb25maWd1cmF0aW9uDQogICAgICAgcHJvZmlsZSBmb3IgY29uZmlndXJhdGlvbiBvZiAyQkFT RS1UTCBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDd9DQoNCiAgIGVmbUN1UG1lMTBQ UHJvZmlsZUdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBt ZTEwUFByb2ZpbGVEZXNjciwNCiAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmls ZSwNCiAgICAgICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlLA0KICAgICAgIGVmbUN1 UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQ cm9maWxlLA0KICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZERSYXRlUHJvZmlsZSwNCiAgICAgICBl Zm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMNCiAgICAgfQ0KICAgICBTVEFUVVMgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBj b25zdGl0dXRlIGEgY29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUgZm9yIGNvbmZpZ3VyYXRp b24gb2YgMTBQQVNTLVRTIHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9DQoNCiAg IGVmbUN1UG1lMTBQU3RhdHVzR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzLA0KICAgICAgIGVmbUN1UG1lMTBQRkVD VW5jb3JyZWN0ZWRCbG9ja3MNCiAgICAgfQ0KICAgICBTVEFUVVMgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIHN0YXR1 cyBpbmZvcm1hdGlvbg0KICAgICAgIHNwZWNpZmljIHRvIDEwUEFTUy1UUyBQTUVzLiINCiAgICAg Ojo9IHsgZWZtQ3VHcm91cHMgOSB9DQoNCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzDQoNCiAg IGVmbUN1Q29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5DRQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBm b3IgMkJBU0UtVEwvMTBQQVNTLVRTIGludGVyZmFjZXMuDQogICAgICAgQ29tcGxpYW5jZSB3aXRo IHRoZSBmb2xsb3dpbmcgZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzDQogICAgICAgaXMg UkVRVUlSRUQ6DQogICAgICAgDQogICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlh bmNlIFN0YXRlbWVudA0KICAgICAgIC0tLS0tLS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0NCiAgICAgICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMNCiAg ICAgICBFdGhlckxpa2UtTUlCICAgICAgICAgIGRvdDNDb21wbGlhbmNlMg0KICAgICAgIE1BVS1N SUIgICAgICAgICAgICAgICAgbWF1TW9kSWZDb21wbDMNCg0KICAgICAgIENvbXBsaWFuY2Ugd2l0 aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgIGlz IE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24N CiAgICAgICBGdW5jdGlvbiAoUEFGKSB3aXRoIGZsZXhpYmxlIGNyb3NzLWNvbm5lY3QgYmV0d2Vl biB0aGUgUENTDQogICAgICAgYW5kIFBNRSBwb3J0czoNCiAgICAgICANCiAgICAgICBNSUIgTW9k dWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50DQogICAgICAgLS0tLS0tLS0tLSAg ICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIElGLUlOVkVSVEVELVNUQUNL LU1JQiAgaWZJbnZDb21wbGlhbmNlDQogICAgICAgSUYtQ0FQLVNUQUNLLU1JQiAgICAgICBpZkNh cFN0YWNrQ29tcGxpYW5jZSINCiAgICAgDQogICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUNCiAg ICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGVmbUN1QmFzaWNHcm91cCwNCiAgICAg ICAgIGVmbUN1UG1lR3JvdXAsDQogICAgICAgICBlZm1DdUFsYXJtQ29uZkdyb3VwLA0KICAgICAg ICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cA0KICAgICAgIH0NCiAgICAgICANCiAgICAgICBHUk9V UCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGltcGxlbWVu dGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHkuIg0KICAgICAgIA0KICAg ICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUdyb3VwDQogICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9y IGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCiAg ICAgICANCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkdyb3VwDQogICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9y DQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVu Y3Rpb24gKFBBRikuIg0KICAgICAgIA0KICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3Jz R3JvdXANCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3Jv dXAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyBQ TUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikuIg0KICAgICAgIA0KICAgICAgIEdST1VQICAg ICAgIGVmbUN1UG1lMTBQU3RhdHVzR3JvdXANCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAg IlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucw0K ICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCiAgICAgICANCiAgICAgICBPQkpF Q1QgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkDQogICAgICAgU1lOVEFYICAgICAgQklU UyB7DQogICAgICAgICBpZWVlMkJhc2VUTE8oMCksDQogICAgICAgICBpZWVlMkJhc2VUTFIoMSks DQogICAgICAgICBpZWVlMTBQYXNzVFNPKDIpLA0KICAgICAgICAgaWVlZTEwUGFzc1RTUigzKQ0K ICAgICAgIH0NCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIGFsbCBz dWJ0eXBlcyBpcyBub3QgcmVxdWlyZWQuIEhvd2V2ZXIgYXQgbGVhc3QNCiAgICAgICAgIG9uZSB2 YWx1ZSBTSEFMTCBiZSBzdXBwb3J0ZWQiDQogICAgICAgDQogICAgICAgT0JKRUNUICAgICAgZWZt Q3VQbWVBZG1pblN1YlR5cGUNCiAgICAgICBNSU4tQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRl ZCBvbmx5IGZvciBQTUVzDQogICAgICAgICBzdXBwb3J0aW5nIG1vcmUgdGhhbiBhIHNpbmdsZSBz dWJ0eXBlLCBlLmcuDQogICAgICAgICBpZWVlMkJhc2VUTE8gYW5kIGllZWUyQmFzZVRMUiBvciBp ZWVlMTBQYXNzVFNPIGFuZA0KICAgICAgICAgaWVlZTEwUGFzc1RTUikiDQogICAgICAgDQogICAg ICAgT0JKRUNUICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24NCiAgICAgICBNSU4tQUNDRVNTICByZWFk LW9ubHkNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBPUFRJ T05BTC4gRm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MNCiAgICAgICAgIHRoZSB0YXJnZXQg U05SIG1hcmdpbiBTSEFMTCBiZSBmaXhlZCBhdCA1ZEIgZm9yIDJCQVNFLVRMDQogICAgICAgICBh bmQgNmRCIGZvciAxMFBBU1MtVFMuIg0KICAgICAgIA0KICAgICAgIE9CSkVDVCAgICAgIGVmbUN1 QWRhcHRpdmVTcGVjdHJhDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgREVT Q1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdp dGhvdXQgd3JpdGUgYWNjZXNzDQogICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgYmUg ZmFsc2UuIg0KICAgICAgIA0KICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KRU5EDQo= ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/plain; name="draft-ietf-hubmib-efm-cu-mib-07.txt" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.txt Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.txt" CgoKTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEUuIEJlaWxpCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQWN0ZWxpcyBOZXR3b3JrcwpFeHBpcmVzOiBBdWd1c3QgMjIsIDIw MDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMTgsIDIwMDcKCgogICAg ICAgIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZNQ3UpIEludGVyZmFjZXMg TUlCCiAgICAgICAgICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWliLWVmbS1jdS1taWItMDcudHh0 CgpTdGF0dXMgb2YgdGhpcyBNZW1vCgogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJh ZnQsIGVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkKICAgYXBwbGljYWJsZSBwYXRlbnQg b3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaCBoZSBvciBzaGUgaXMgYXdhcmUKICAgaGF2ZSBi ZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2VkLCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNv bWVzCiAgIGF3YXJlIHdpbGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlv biA2IG9mIEJDUCA3OS4KCiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1bWVudHMg b2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJl YXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuICBOb3RlIHRoYXQKICAgb3RoZXIgZ3JvdXBzIG1h eSBhbHNvIGRpc3RyaWJ1dGUgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQtCiAgIERyYWZ0 cy4KCiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBhIG1h eGltdW0gb2Ygc2l4IG1vbnRocwogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBv YnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQogICB0aW1lLiAgSXQgaXMgaW5hcHBy b3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQogICBtYXRlcmlhbCBv ciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4iCgogICBUaGUg bGlzdCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQKICAgaHR0 cDovL3d3dy5pZXRmLm9yZy9pZXRmLzFpZC1hYnN0cmFjdHMudHh0LgoKICAgVGhlIGxpc3Qgb2Yg SW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBhdAogICBo dHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1sLgoKICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3 aWxsIGV4cGlyZSBvbiBBdWd1c3QgMjIsIDIwMDcuCgpDb3B5cmlnaHQgTm90aWNlCgogICBDb3B5 cmlnaHQgKEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3KS4KCkFic3RyYWN0CgogICBUaGlzIGRvY3Vt ZW50IGRlZmluZXMgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZXMgZm9y CiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gVENQL0lQIGJhc2Vk IGludGVybmV0cy4KICAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgZXh0ZW5zaW9ucyB0byB0aGUg RXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzCiAgIE1JQiBhbmQgTUFVIE1JQiBtb2R1bGVzIHdpdGgg YSBzZXQgb2Ygb2JqZWN0cyBmb3IgbWFuYWdpbmcgRXRoZXJuZXQKICAgaW4gdGhlIEZpcnN0IE1p bGUgQ29wcGVyIChFRk1DdSkgaW50ZXJmYWNlcyAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLAogICBk ZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAwNC4gIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9i amVjdHMgaXMKICAgZGVmaW5lZCwgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkg b2YgYSBtYW5hZ2VkIGRldmljZSB3aXRoCiAgIG11bHRpLWxheWVyIChzdGFja2VkKSBpbnRlcmZh Y2VzLCBleHRlbmRpbmcgdGhlIHN0YWNrIG1hbmFnZW1lbnQKICAgb2JqZWN0cyBpbiB0aGUgSW50 ZXJmYWNlcyBHcm91cCBNSUIgYW5kIHRoZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIKCgoKQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAg ICAgIFtQYWdlIDFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgbW9kdWxlcy4KCgpUYWJsZSBvZiBD b250ZW50cwoKICAgMS4gIEludHJvZHVjdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzCiAgIDIuICBUaGUgSW50ZXJuZXQtU3RhbmRhcmQgTWFu YWdlbWVudCBGcmFtZXdvcmsgLiAuIC4gLiAuIC4gLiAuIC4gLiAgMwogICAzLiAgUmVsYXRpb24g dG8gb3RoZXIgTUlCIG1vZHVsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQK ICAgICAzLjEuICBSZWxhdGlvbiB0byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUgIC4gLiAu IC4gLiAuIC4gLiAuICA0CiAgICAgICAzLjEuMS4gIExheWVyaW5nIE1vZGVsIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNAogICAgICAgMy4xLjIuICBQTUUgQWdncmVn YXRpb24gRnVuY3Rpb24gKFBBRikgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDYKICAgICAgIDMu MS4zLiAgRGlzY292ZXJ5IE9wZXJhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuICA3CiAgICAgICAzLjEuNC4gIEVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAgOQogICAgICAgMy4xLjUuICBVc2FnZSBvZiBpZlRhYmxlIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkKICAgICAzLjIuICBSZWxhdGlv biB0byBTSERTTCBNSUIgbW9kdWxlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEwCiAg ICAgMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlICAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAxMAogICAgIDMuNC4gIFJlbGF0aW9uIHRvIEV0aGVybmV0LUxpa2UgYW5kIE1B VSBNSUIgbW9kdWxlcyAgLiAuIC4gLiAuIC4gMTEKICAgNC4gIE1JQiBTdHJ1Y3R1cmUgIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEyCiAgICAgNC4xLiAg RUZNIENvcHBlciBNSUIgT3ZlcnZpZXcgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAxMgogICAgIDQuMi4gIEludGVyZmFjZSBzdGFjayBjYXBhYmlsaXR5IE1JQiBPdmVydmlldyAg LiAuIC4gLiAuIC4gLiAuIC4gMTIKICAgICA0LjMuICBQTUUgUHJvZmlsZXMgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzCiAgICAgNC40LiAgTWFwcGluZyBv ZiBJRUVFIDgwMi4zYWggTWFuYWdlZCBPYmplY3RzICAuIC4gLiAuIC4gLiAuIC4gLiAxMwogICA1 LiAgSW50ZXJmYWNlIFN0YWNrIENhcGFiaWxpdHkgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAu IC4gLiAuIC4gMTQKICAgNi4gIEVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDIxCiAgIDcuICBTZWN1cml0eSBDb25zaWRlcmF0aW9u cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4MgogICA4LiAgSUFOQSBD b25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g ODMKICAgOS4gIEFja25vd2xlZGdtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIDg0CiAgIDEwLiBOb3RlcyB0byBSRkMgRWRpdG9yICAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4NAogICAxMS4gUmVmZXJlbmNlcyAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODQKICAgICAx MS4xLiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIDg0CiAgICAgMTEuMi4gSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4NQogICBBdXRob3IncyBBZGRyZXNzIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODcKICAgSW50ZWxsZWN0dWFs IFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAuIDg4 CgoKCgoKCgoKCgoKCgoKCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyMiwgMjAwNyAgICAgICAgICAgICAgICBbUGFnZSAyXQoMCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCjEu ICBJbnRyb2R1Y3Rpb24KCiAgIE5ldyBFdGhlcm5ldC1saWtlIGludGVyZmFjZXMgaGF2ZSBiZWVu IGRlZmluZWQgaW4gdGhlIEluc3RpdHV0ZSBvZgogICBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmlj cyBFbmdpbmVlcnMgKElFRUUpIFN0YW5kYXJkIDgwMi4zYWgtMjAwNAogICBbODAyLjNhaF0sIGEu ay5hLiAgRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVGTSksIHdoaWNoIGlzIG5vdyBhCiAg IHBhcnQgb2YgdGhlIGJhc2UgSUVFRSBTdGFuZGFyZCA4MDIuMy0yMDA1IFs4MDIuM10uICBJbiBw YXJ0aWN1bGFyCiAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAo UEhZcyksIGRlZmluZWQgb3ZlcgogICB2b2ljZS1ncmFkZSBjb3BwZXIgcGFpcnMsIGhhdmUgYmVl biBzcGVjaWZpZWQgZm9yIHRoZSBsb25nIGFuZCBzaG9ydAogICByZWFjaCByZXNwZWN0aXZlbHku ICBUaGVzZSBpbnRlcmZhY2VzLCBjb2xsZWN0aXZlbHkgY2FsbGVkIEVGTSBDb3BwZXIKICAgKEVG TUN1KSwgYXJlIGJhc2VkIG9uIFNpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3Jp YmVyIExpbmUKICAgKFNIRFNMKSBbRy45OTEuMl0gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdpdGFs IFN1YnNjcmliZXIgTGluZSAoVkRTTCkKICAgW0cuOTkzLjFdIHRlY2hub2xvZ3ksIHN1cHBvcnRp bmcgb3B0aW9uYWwgUGh5c2ljYWwgTWVkaXVtIEVudGl0eQogICAoUE1FKSBhZ2dyZWdhdGlvbiAo YS5rLmEuIG11bHRpLXBhaXIgYm9uZGluZykgd2l0aCB2YXJpYWJsZSByYXRlcy4KCiAgIDJCQVNF LVRMIFBIWSBpcyBjYXBhYmxlIG9mIHByb3ZpZGluZyBhdCBsZWFzdCAyTWJwcyBvdmVyIDI3MDAg bSBsb25nCiAgIHNpbmdsZSBjb3BwZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAo QkVSKSBvZiAxMF4tNyAodXNpbmcKICAgNWRCIHRhcmdldCBub2lzZSBtYXJnaW4pLgoKICAgMTBQ QVNTLVRTIFBIWSBpcyBjYXBhYmxlIG9mIHByb3ZpZGluZyBhdCBsZWFzdCAxME1icHMgb3ZlciA3 NTAgbSBsb25nCiAgIHNpbmdsZSBjb3BwZXIgcGFpciB3aXRoIGEgbWVhbiBCRVIgb2YgMTBeLTcg KHVzaW5nIDZkQiB0YXJnZXQgbm9pc2UKICAgbWFyZ2luKS4KCiAgIFRoaXMgbWVtbyBkZWZpbmVz IGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBmb3IgdXNlCiAgIHdp dGggbmV0d29yayBtYW5hZ2VtZW50IHByb3RvY29scyBpbiB0aGUgSW50ZXJuZXQgY29tbXVuaXR5 IHRvIG1hbmFnZQogICBFRk1DdSBpbnRlcmZhY2VzLiAgSW4gYWRkaXRpb24gYSBNSUIgbW9kdWxl IGlzIGRlZmluZWQgZGVzY3JpYmluZwogICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgYSBz dGFja2VkIGludGVyZmFjZS4KCiAgIE5vdGUgdGhhdCBtYW5hZ2VkIG9iamVjdHMgZm9yIE9wZXJh dGlvbiwgQWRtaW5pc3RyYXRpb24gYW5kCiAgIE1hbmFnZW1lbnQgKE9BTSkgYW5kIEV0aGVybmV0 IG92ZXIgUGFzc2l2ZSBPcHRpY2FsIE5ldHdvcmtzIChFUE9OKQogICBjbGF1c2VzIG9mIElFRUUg ODAyLjNhaCBhcmUgZGVmaW5lZCBpbiBFRk0tQ09NTU9OLU1JQiBbSS1ELmlldGYtCiAgIGh1Ym1p Yi1lZm0tbWliXSBhbmQgRUZNLUVQT04tTUlCIFtJLUQuaWV0Zi1odWJtaWItZWZtLWVwb24tbWli XQogICByZXNwZWN0aXZlbHkuCgoKMi4gIFRoZSBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50 IEZyYW1ld29yawoKICAgRm9yIGEgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgdGhlIGRvY3VtZW50cyB0 aGF0IGRlc2NyaWJlIHRoZSBjdXJyZW50CiAgIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQg RnJhbWV3b3JrLCBwbGVhc2UgcmVmZXIgdG8gc2VjdGlvbiA3IG9mCiAgIFJGQyAzNDEwIFtSRkMz NDEwXS4KCiAgIE1hbmFnZWQgb2JqZWN0cyBhcmUgYWNjZXNzZWQgdmlhIGEgdmlydHVhbCBpbmZv cm1hdGlvbiBzdG9yZSwgdGVybWVkCiAgIHRoZSBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ug b3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlIGdlbmVyYWxseQogICBhY2Nlc3NlZCB0aHJvdWdoIHRo ZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKS4KICAgT2JqZWN0cyBp biB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5nIHRoZSBtZWNoYW5pc21zIGRlZmluZWQgaW4gdGhl CiAgIFN0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIChTTUkpLiAgVGhpcyBtZW1v IHNwZWNpZmllcyBNSUIKICAgbW9kdWxlcyB0aGF0IGFyZSBjb21wbGlhbnQgdG8gdGhlIFNNSXYy LCB3aGljaCBpcyBkZXNjcmliZWQgaW4gU1RECiAgIDU4LCBSRkMgMjU3OCBbUkZDMjU3OF0sIFNU RCA1OCwgUkZDIDI1NzkgW1JGQzI1NzldIGFuZCBTVEQgNTgsIFJGQwogICAyNTgwIFtSRkMyNTgw XS4KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAg ICAgICAgICAgICAgIFtQYWdlIDNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgVGhlIGtleSB3b3Jk cyAiTVVTVCIsICJNVVNUIE5PVCIsICJSRVFVSVJFRCIsICJTSEFMTCIsICJTSEFMTCBOT1QiLAog ICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJ T05BTCIgaW4gdGhpcwogICBkb2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVzY3Jp YmVkIGluIFJGQyAyMTE5IFtSRkMyMTE5XS4KCgozLiAgUmVsYXRpb24gdG8gb3RoZXIgTUlCIG1v ZHVsZXMKCiAgIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25zaGlwIG9mIHRoZSBN SUIgbW9kdWxlcyBkZWZpbmVkIGluCiAgIHRoaXMgZG9jdW1lbnQgd2l0aCBvdGhlciBNSUIgbW9k dWxlcyBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuCiAgIFNwZWNpZmljYWxseSwgSW50 ZXJmYWNlcyBHcm91cCBNSUIgKElGLU1JQiksIEV0aGVybmV0LUxpa2UKICAgKEV0aGVyTGlrZS1N SUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTCAoSERTTDItU0hEU0wtTElORS1NSUIpIGFuZCBWRFNM CiAgIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuCgozLjEuICBSZWxhdGlv biB0byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUKCiAgIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgUEhZJ3Mgc3BlY2lmaWVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUKICAgc3RhY2tl ZCAoYS5rLmEuIGFnZ3JlZ2F0ZWQgb3IgYm9uZGVkKSBFdGhlcm5ldCBpbnRlcmZhY2VzIGFuZCBh cyBzdWNoCiAgIGFyZSBtYW5hZ2VkIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQg b2JqZWN0cyBkZWZpbmVkIGluIHRoZQogICBJRi1NSUIgW1JGQzI4NjNdLgoKICAgVGhlIHN0YWNr IG1hbmFnZW1lbnQsIGkuZS4gYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhlIHN1Yi1sYXllcnMgdG8g dGhlCiAgIHRvcCBsYXllciBpbnRlcmZhY2UsIGlzIGRvbmUgdmlhIHRoZSBpZlN0YWNrVGFibGUs IGFzIGRlZmluZWQgaW4gdGhlCiAgIElGLU1JQiBbUkZDMjg2M10gYW5kIGl0cyBpbnZlcnNlIGlm SW52U3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiB0aGUKICAgSUYtSU5WRVJURUQtU1RBQ0stTUlC IFtSRkMyODY0XS4KCiAgIFRoZSBuZXcgdGFibGVzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzIGlu dmVyc2UgaWZJbnZDYXBTdGFja1RhYmxlCiAgIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1N SUIgbW9kdWxlIGJlbG93LCBleHRlbmQgdGhlIHN0YWNrCiAgIG1hbmFnZW1lbnQgd2l0aCBhbiBh YmlsaXR5IHRvIGRlc2NyaWJlIHBvc3NpYmxlIGNvbm5lY3Rpb25zIG9yIGNyb3NzLQogICBjb25u ZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IG1hdHJpeCBpcyBw cmVzZW50CiAgIGJldHdlZW4gdGhlIGludGVyZmFjZSBsYXllcnMuCgozLjEuMS4gIExheWVyaW5n IE1vZGVsCgogICBBbiBFRk1DdSBpbnRlcmZhY2UgY2FuIGFnZ3JlZ2F0ZSB1cCB0byAzMiBQaHlz aWNhbCBNZWRpdW0gRW50aXR5CiAgIChQTUUpIHN1Yi1sYXllciBkZXZpY2VzIChtb2RlbXMpLCB1 c2luZyBzbyBjYWxsZWQgUE1FIEFnZ3JlZ2F0aW9uCiAgIEZ1bmN0aW9uIChQQUYpLgoKICAgQSBn ZW5lcmljIEVGTUN1IGRldmljZSBjYW4gaGF2ZSBhIG51bWJlciBvZiBQaHlzaWNhbCBDb2Rpbmcg U3VibGF5ZXIKICAgKFBDUykgcG9ydHMsIGVhY2ggY29ubmVjdGVkIHRvIGEgTUFDIHZpYSBNZWRp dW0gSW5kZXBlbmRlbnQgSW50ZXJmYWNlCiAgIChNSUkpIGF0IHRoZSB1cHBlciBsYXllciwgYW5k IGNyb3NzLWNvbm5lY3RlZCB0byBhIG51bWJlciBvZgogICB1bmRlcmx5aW5nIFBNRXMsIHdpdGgg YSBzaW5nbGUgUENTIHBlciBQTUUgcmVsYXRpb25zaGlwLCBzZWUgY2xhdXNlCiAgIDYxLjEgb2Yg WzgwMi4zYWhdIGZvciBtb3JlIGRldGFpbHMuCgogICBFYWNoIFBNRSBpbiB0aGUgYWdncmVnYXRl ZCBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBJbnRlcmZhY2UKICAgdGFibGUgKGlm VGFibGUpIGFzIGEgc2VwYXJhdGUgaW50ZXJmYWNlIHdpdGggaWZUeXBlIG9mIHNoZHNsKDE2OSkg Zm9yCiAgIDJCQVNFLVRMIG9yIHZkc2woOTcpIGZvciAxMFBBU1MtVFMuICBUaGUgaWZUeXBlIHZh bHVlcyBhcmUgZGVmaW5lZCBpbgogICBbSUFOQWlmVHlwZS1NSUJdLgoKCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdl IDRdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwgcmV0 dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlIG9mIHRoZQogICBhY3RpdmUgUE1FIChlLmcuIGZv ciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZiA2NEticHMpLiAgWmVybwogICB2YWx1 ZSBTSEFMTCBiZSByZXR1cm5lZCB3aGVuIFBNRSBpcyBpbml0aWFsaXppbmcgb3IgZG93bi4KCiAg IFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhlIHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRp bmcgZGF0YSByYXRlcwogICBvZiBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdp dGhvdXQgdGhlIDY0LzY1QgogICBlbmNhcHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3Zlcmhl YWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0aGUKICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4KCiAg IFdoZW4gdXNpbmcgdGhlIHN0YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZSBQQ1Ms IHRoZXJlIHdvdWxkCiAgIGJlIG5vIGZyYW1lIGxvc3MgaW4gdGhlIGZvbGxvd2luZyBjb25maWd1 cmF0aW9uICh0aGUgdGVzdC1zZXRzIGFyZQogICBjb25maWd1cmVkIHRvIGdlbmVyYXRlIDEwMCUg b2YgYmFjayB0byBiYWNrIHRyYWZmaWMsIGkuZS4gbWluaW1hbAogICBJRkcsIGF0IDEwIG9yIDEw ME1icHMsIHdpdGggbWluIGFuZCBtYXggZnJhbWUgc2l6ZXM7IHRoZSBFRk0KICAgaW50ZXJmYWNl cyBhcmUgYWdncmVnYXRlZCwgdG8gYWNoaWV2ZSB0aGUgc2hvd24gc3BlZWQpOgoKICAgW3Rlc3Rz ZXRdLS0xMEJhc2VULS1bQ09dLS0yQmFzZVRMLS1bQ1BFXS0tMTBCYXNlVC0tW3Rlc3RzZXRdCiAg ICAgaWZTcGVlZD0gIDEwTWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJwcwoKICAgW3Rl c3RzZXRdLS0xMDBCYXNlVC0tW0NPXS0tMTBQYXNzVFMtLVtDUEVdLS0xMDBCYXNlVC0tW3Rlc3Rz ZXRdCiAgICAgaWZTcGVlZD0gIDEwME1icHMgICAgICAgICAxMDBNYnBzICAgICAgICAgMTAwTWJw cwoKICAgRmlndXJlIDE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MK CiAgIFRoZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRoZSBsYXllcmluZyBkaWFncmFtIGFuZCBj b3JyZXNwb25kaW5nIHVzZQogICBvZiBpZlRhYmxlIGFuZCBpZk1hdVRhYmxlOgoKICAgIF9fX19f X19fX19fX19fX19fX19fX19fX18gICBfCiAgIHwgICAgICAgIExMQyAgICAgICAgICAgICAgfCAg fAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgMSBpZkVudHJ5CiAgIHwgICAgICAg IE1BQyAgICAgICAgICAgICAgfCAgfCAgICAgaWZUeXBlOiBldGhlcm5ldENzbWFjZCg2KQogICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgID4gICBpZk1hdUVudHJ5CiAgIHwgICAgICAgIFJl Y29uc2lsaWF0aW9uICAgfCAgfCAgICAgaWZNYXVUeXBlOiBkb3QzTWF1VHlwZTJCYXNlVEwgb3IK ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICB8ICAgICAgICAgICAgICAgIGRvdDNNYXVU eXBlMTBQYXNzVFMKICAgfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB8CiAgICstLS0tLS0t LS0tLS0tKy0tLSstLS0tLS0tKyAgKwogICB8IFRDIFwgICAgICAgIHwgICB8ICAgICAgIHwgIHwK ICAgKy0tLS0tXCAgICAgICB8ICAgfCAgICAgICB8ICB8CiAgIHwgUE1BID4gUE1FIDEgfC4uLnwg UE1FIE4gfCAgPiBOIGlmRW50cnkgIChOPTEuLjMyKQogICArLS0tLS0vICAgICAgIHwgICB8ICAg ICAgIHwgIHwgICAgIGlmVHlwZTogc2hkc2woMTY5KSBvciB2ZHNsKDk3KQogICB8IFBNRC8gICAg ICAgIHwgICB8ICAgICAgIHwgIHwKICAgIC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0gICAtCgog ICBGaWd1cmUgMjogVXNlIG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRz CgogICBUaGUgaWZTdGFja1RhYmxlIGlzIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXggdmFsdWVzIG9m IHRoZSBhZ2dyZWdhdGVkCiAgIEVGTUN1IHBvcnQgKFBDUykgYW5kIHRoZSBQTUVzIGNvbm5lY3Rl ZCB0byBpdC4gaWZTdGFja1RhYmxlIGFsbG93cyBhCiAgIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBs aWNhdGlvbiB0byBkZXRlcm1pbmUgd2hpY2ggUE1FcyBhcmUgY29ubmVjdGVkCiAgIHRvIGEgcGFy dGljdWxhciBQQ1MgYW5kIGNoYW5nZSBjb25uZWN0aW9ucyAoaWYgc3VwcG9ydGVkIGJ5IHRoZQoK CgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAg ICAgICAgICAgW1BhZ2UgNV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVy ZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICBhcHBsaWNhdGlvbikuICBU aGUgaWZJbnZTdGFja1RhYmxlLCBiZWluZyBhbiBpbnZlcnRlZCB2ZXJzaW9uIG9mIHRoZQogICBp ZlN0YWNrVGFibGUsIHByb3ZpZGVzIGFuIGVmZmljaWVudCBtZWFucyBmb3IgYSBOZXR3b3JrIE1h bmFnZW1lbnQKICAgYXBwbGljYXRpb24gdG8gcmVhZCBhIHN1YnNldCBvZiB0aGUgaWZTdGFja1Rh YmxlIGFuZCB0aGVyZWJ5CiAgIGRldGVybWluZSB3aGljaCBQQ1MgcnVucyBvbiB0b3Agb2YgYSBw YXJ0aWN1bGFyIFBNRS4KCiAgIEEgbmV3IHRhYmxlIGlmQ2FwU3RhY2tUYWJsZSBkZWZpbmVkIGlu IHRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVsZSwKICAgc3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hl ci1sYXllciBpbnRlcmZhY2UgKGUuZy4gIFBDUyBwb3J0KSBhIGxpc3Qgb2YKICAgbG93ZXItbGF5 ZXIgaW50ZXJmYWNlcyAoZS5nLiAgUE1FcyksIHdoaWNoIGNhbiBwb3NzaWJseSBiZSBjcm9zcy0K ICAgY29ubmVjdGVkIHRvIHRoYXQgaGlnaGVyLWxheWVyIGludGVyZmFjZSwgZGV0ZXJtaW5lZCBi eSB0aGUgY3Jvc3MtCiAgIGNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUgZGV2aWNlLiAgVGhpcyB0 YWJsZSwgbW9kZWxlZCBhZnRlcgogICBpZlN0YWNrVGFibGUsIGlzIHJlYWQgb25seSwgcmVmbGVj dGluZyBjdXJyZW50IGNyb3NzLWNvbm5lY3QKICAgY2FwYWJpbGl0eSBvZiBhIHN0YWNrZWQgaW50 ZXJmYWNlLCB3aGljaCBjYW4gYmUgZHluYW1pYyBpbiBzb21lCiAgIGltcGxlbWVudGF0aW9ucyAo ZS5nLiBpZiBQTUVzIGFyZSBsb2NhdGVkIG9uIGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQKICAgdGhl IG1vZHVsZSBpcyBwdWxsZWQgb3V0KS4gIE5vdGUgdGhhdCBQTUUgYXZhaWxhYmlsaXR5IHBlciBQ Q1MsCiAgIGRlc2NyaWJlZCBieSBpZkNhcFN0YWNrVGFibGUsIGNhbiBiZSBjb25zdHJhaW5lZCBi eSBvdGhlciBwYXJhbWV0ZXJzLAogICBmb3IgZXhhbXBsZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0 eSBvZiBhIFBDUyBvciBieSB0aGUgUE1FIGluCiAgIHF1ZXN0aW9uIGJlaW5nIGFscmVhZHkgY29u bmVjdGVkIHRvIGFub3RoZXIgUENTLiAgU28sIGluIG9yZGVyIHRvCiAgIGVuc3VyZSB0aGF0IGEg cGFydGljdWxhciBQTUUgY2FuIGJlIGNvbm5lY3RlZCB0byB0aGUgUENTLCBhbGwKICAgcmVzcGVj dGl2ZSBwYXJhbWV0ZXJzIChlLmcuIGlmQ2FwU3RhY2tUYWJsZSwgaWZTdGFja1RhYmxlIGFuZAog ICBlZm1DdVBBRkNhcGFjaXR5KSBTSEFMTCBiZSBpbnNwZWN0ZWQuCgogICBUaGUgaWZJbnZDYXBT dGFja1RhYmxlLCBhbHNvIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLAog ICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gIFBDUyBwb3J0 cykgY2FuCiAgIHBvc3NpYmx5IGJlIGNvbm5lY3RlZCB0byBhIHBhcnRpY3VsYXIgbG93ZXItbGF5 ZXIgaW50ZXJmYWNlIChlLmcuCiAgIFBNRSksIHByb3ZpZGluZyBpbnZlcnRlZCBtYXBwaW5nIG9m IGlmQ2FwU3RhY2tUYWJsZS4gIFdoaWxlIGl0CiAgIGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5m b3JtYXRpb24gYmV5b25kIHRoYXQgYWxyZWFkeSBjb250YWluZWQgaW4KICAgdGhlIGlmQ2FwU3Rh Y2tUYWJsZSwgdGhlIGlmSW52Q2FwU3RhY2tUYWJsZSBoYXMgdGhlIGlmSW5kZXggdmFsdWVzIGlu CiAgIGl0cyBJTkRFWCBjbGF1c2UgaW4gdGhlIHJldmVyc2Ugb3JkZXIsIGkuZS4sIHRoZSBsb3dl ci1sYXllcgogICBpbnRlcmZhY2UgZmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVyZmFj ZSBzZWNvbmQsIHByb3ZpZGluZyBhbgogICBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0d29yayBN YW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQKICAgb2YgdGhlIGlmQ2FwU3Rh Y2tUYWJsZSBhbmQgdGhlcmVieSBkZXRlcm1pbmUgd2hpY2ggaW50ZXJmYWNlcyBjYW4gYmUKICAg Y29ubmVjdGVkIHRvIHJ1biBvbiB0b3Agb2YgYSBwYXJ0aWN1bGFyIGludGVyZmFjZS4KCjMuMS4y LiAgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpCgogICBUaGUgUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uIChQQUYpIGFsbG93cyBhIG51bWJlciBvZiBQTUVzIHRvIGJlCiAgIGFnZ3JlZ2F0 ZWQgb250byBhIFBDUyBwb3J0LCBieSBmcmFnbWVudGluZyB0aGUgRXRoZXJuZXQgZnJhbWVzLAog ICB0cmFuc21pdHRpbmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRpcGxlIFBNRXMgYW5kIGFzc2Vt YmxpbmcgdGhlCiAgIG9yaWdpbmFsIGZyYW1lcyBhdCB0aGUgcmVtb3RlIHBvcnQuICBQQUYgaXMg T1BUSU9OQUwsIG1lYW5pbmcgdGhhdCBhCiAgIGRldmljZSB3aXRoIGEgc2luZ2xlIFBNRSBNQVkg cGVyZm9ybSBmcmFnbWVudGF0aW9uIGFuZCByZS1hc3NlbWJseSBpZgogICB0aGlzIGZ1bmN0aW9u IGlzIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLiAgTm90ZSBob3dldmVyIHRoYXQgdGhlCiAgIGFn ZW50IGlzIFJFUVVJUkVEIHRvIHJlcG9ydCBvbiB0aGUgUEFGIGNhcGFiaWxpdHkgZm9yIGFsbCBF Rk1DdSBwb3J0cwogICAoMkJBU0UtVEwgYW5kIDEwUEFTUy1UUykuCgogICBUaGUgRUZNLUNVLU1J QiBtb2R1bGUgYWxsb3dzIGEgTmV0d29yayBNYW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvCiAgIHF1 ZXJ5IFBBRiBjYXBhYmlsaXR5IGFuZCBlbmFibGUvZGlzYWJsZSBpdCBpZiBzdXBwb3J0ZWQuICBO b3RlIHRoYXQKICAgZW5hYmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRp b24gYW5kIHJlLWFzc2VtYmx5LCBldmVuCiAgIG9uIGEgc2luZ2xlLVBNRSBwb3J0LgoKCgpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAg ICAgW1BhZ2UgNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgozLjEuMy4gIERpc2NvdmVyeSBPcGVyYXRp b24KCiAgIFRoZSBFRk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxseSBzdXBwb3J0IGRpc2NvdmVyeSBv cGVyYXRpb24sIHdoZXJlYnkKICAgUE1FcywgZHVyaW5nIGluaXRpYWxpemF0aW9uLCBleGNoYW5n ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVpcgogICByZXNwZWN0aXZlIGFnZ3JlZ2F0aW9uIGdyb3Vw cyAoUENTKS4gIFRoaXMgaW5mb3JtYXRpb24gY2FuIHRoZW4gYmUKICAgdXNlZCB0byBkZXRlY3Qg Y29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBhdXRvbWF0aWMgYXNzaWdubWVudAogICBv ZiB0aGUgbG9jYWwgUE1FcyBpbnRvIGFnZ3JlZ2F0aW9uIGdyb3VwcyBpbnN0ZWFkIG9mIGEgZml4 ZWQgcHJlLQogICBjb25maWd1cmF0aW9uLgoKICAgVGhlIE1JQiBtb2R1bGVzIGRlZmluZWQgaW4g dGhpcyBkb2N1bWVudCBhbGxvdyBhIE5ldHdvcmsgTWFuYWdlbWVudAogICBhcHBsaWNhdGlvbiB0 byBjb250cm9sIEVGTSBEaXNjb3ZlcnkgbWVjaGFuaXNtIGFuZCBxdWVyeSBpdHMgcmVzdWx0cy4K ICAgTm90ZSB0aGF0IHRoZSBEaXNjb3ZlcnkgbWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYgUEFG IGlzIHN1cHBvcnRlZAogICBhbmQgZW5hYmxlZC4KCiAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkg dGhlIEVGTSBEaXNjb3ZlcnkgbWVjaGFuaXNtOiBpZlN0YWNrVGFibGUgYW5kCiAgIGlmQ2FwU3Rh Y2tUYWJsZS4gIFRoZSBmb2xsb3dpbmcgcHNldWRvLWNvZGUgZ2l2ZXMgYW4gZXhhbXBsZSBvZiB0 aGUKICAgRGlzY292ZXJ5IGFuZCBhdXRvbWF0aWMgUE1FIGFzc2lnbm1lbnQgZm9yIGEgZ2VuZXJp YyBQQUYgZW5hYmxlZAogICBtdWx0aS1QQ1MgRUZNQ3UgZGV2aWNlLCBsb2NhdGVkIGF0IENlbnRy YWwgT2ZmaWNlIChDTyksIHVzaW5nIG9iamVjdHMKICAgZGVmaW5lZCBpbiB0aGVzZSBNSUIgbW9k dWxlcyBhbmQgaW4gSUYtTUlCIFtOb3RlIHRoYXQgYXV0b21hdGljIFBNRQogICBhc3NpZ25tZW50 IGlzIG9ubHkgc2hvd24gaGVyZSBmb3IgdGhlIHB1cnBvc2VzIG9mIHRoZSBleGFtcGxlLiAgRml4 ZWQKICAgUE1FIHByZS1hc3NpZ25tZW50LCBtYW51YWwgYXNzaWdubWVudCBvciBhdXRvLWFzc2ln bm1lbnQgdXNpbmcgYW4KICAgYWx0ZXJuYXRpdmUgaW50ZXJuYWwgYWxnb3JpdGhtIG1heSBiZSBj aG9zZW4gYnkgYSBwYXJ0aWN1bGFyCiAgIGltcGxlbWVudGF0aW9uXToKCiAgIC8vIEdvIG92ZXIg YWxsIFBDUyBwb3J0cyBpbiB0aGUgQ08gZGV2aWNlCiAgIEZPUkVBQ0ggcGNzW2ldIElOIENPX2Rl dmljZQogICB7IC8vIFBlcmZvcm0gZGlzY292ZXJ5IGFuZCBhdXRvLWFzc2lnbm1lbnQgb25seSBv biBQQUYgZW5hYmxlZCBwb3J0cwogICAgIC8vIHdpdGggcm9vbSBmb3IgbW9yZSBQTUVzCiAgICAg SUYgKCBwY3NbaV0uUEFGU3VwcG9ydGVkIEFORCBwY3NbaV0uTnVtUE1FcyA8IHBjc1tpXS5QQUZD YXBhY2l0eSApCiAgICAgICB7IGRjID0gcGNzW2ldLkRpc2NvdmVyeUNvZGUgPSBNQUNbaV07IC8v IHVuaXF1ZSA2LW9jdGV0cyBwZXIgUENTCiAgICAgICAgIC8vIEdvIG92ZXIgYWxsIGRpc2Nvbm5l Y3RlZCBQTUVzLCB3aGljaCBjYW4KICAgICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVk IHRvIHRoZSBQQ1MKICAgICAgICAgRk9SRUFDSCBwbWVbal0gSU4gaWZDYXBTdGFja1RhYmxlW3Bj c1tpXV0gQU5ECiAgICAgICAgICAgICAgICAgICAgICAgIE5PVCBpZkludlN0YWNrVGFibGVbcG1l W2pdXSAgLy8gbm90IGNvbm5lY3RlZAogICAgICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJl bW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRpbmcgdGhlIHZhbHVlCiAgICAgICAgICAgICAvLyBvZiB0 aGUgbG9jYWwgNi1vY3RldCBkaXNjb3ZlcnkgY29kZSB0byB0aGUgcmVtb3RlCiAgICAgICAgICAg ICAvLyBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciAodmlhIGhhbmRzaGFrZSBtZWNoYW5pc20pLgog ICAgICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24gaXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rp b24sIGkuZS4gaXQKICAgICAgICAgICAgIC8vIHdvdWxkIHN1Y2NlZWQgb25seSBpZiB0aGUgcmVt b3RlIGRpc2NvdmVyeSByZWdpc3RlciB3YXMKICAgICAgICAgICAgIC8vIHplcm8uIFJlYWQgdGhl IHJlbW90ZSBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciB2aWEgR2V0CiAgICAgICAgICAgICAvLyBv cGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0dGFjaGVkIHZpYSB0aGUgUE1FCiAg ICAgICAgICAgICAvLyBpcyBpbmRlZWQgbWFya2VkIGFzIGJlaW5nIHRoZSBDT19kZXZpY2UgcGVl ci4KICAgICAgICAgICAgIHBtZVtqXS5SZW1vdGVEaXNjb3ZlcnlDb2RlID0gZGM7ICAgICAgICAv LyBTZXQtaWYtQ2xlYXIKICAgICAgICAgICAgIHIgPSBwbWVbal0uUmVtb3RlRGlzY292ZXJ5Q29k ZTsgICAgICAgICAvLyBHZXQKICAgICAgICAgICAgIElGICggciA9PSBkYyBBTkQgcGNzW2ldLk51 bVBNRXMgPCBwY3NbaV0uUEFGQ2FwYWNpdHkpCiAgICAgICAgICAgICAgIHsgLy8gUmVtb3RlIFJU X2RldmljZSBjb25uZWN0ZWQgdmlhIFBNRVtqXSBpcy93YXMgYSBwZWVyCiAgICAgICAgICAgICAg ICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBmb3IgYW5vdGhlciBQTUUgaW4gdGhl CiAgICAgICAgICAgICAgICAgLy8gUENTW2ldIGFnZ3JlZ2F0aW9uIGdyb3VwIChtYXguIFBBRiBj YXBhY2l0eSBpcyBub3QKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0 IDIyLCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAg ICAgICAgICAgICAgICAvLyByZWFjaGVkIHlldCkuCiAgICAgICAgICAgICAgICAgLy8gQ29ubmVj dCB0aGlzIFBNRSB0byB0aGUgUENTICh2aWEgaWZTdGFja1RhYmxlLAogICAgICAgICAgICAgICAg IC8vIGlmSW52U3RhY2tUYWJsZSBiZWluZyBpbnZlcnNlIG9mIGlmU3RhY2tUYWJsZSBpcwogICAg ICAgICAgICAgICAgIC8vIHVwZGF0ZWQgYXV0b21hdGljYWxseSkKICAgICAgICAgICAgICAgICBB REQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOwogICAgICAgICAgICAgICAgICAgLy8g cGNzW2ldIGlzIGF1dG8tYWRkZWQgdG8gaWZJbnZTdGFja1RhYmxlW3BtZVtqXV0KICAgICAgICAg ICAgICAgICBwY3NbaV0uTnVtUE1FcyA9IHBjc1tpXS5OdW1QTUVzICsgMTsKICAgICAgICAgICAg ICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29ubmVjdGVkIFBNRXMsCiAgICAgICAgICAg ICAgICAgLy8gYXR0YWNoZWQgdG8gdGhlIHNhbWUgUlRfZGV2aWNlIGFuZCBjb25uZWN0IHRoZW0g dG8KICAgICAgICAgICAgICAgICAvLyB0aGUgUENTIHByb3ZpZGVkIHRoZXJlIGlzIGVub3VnaCBy b29tIGZvciBtb3JlIFBNRXMuCiAgICAgICAgICAgICAgICAgRk9SRUFDSCBwbWVba10gSU4gaWZD YXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Tk9UIGlmSW52U3RhY2tUYWJsZVtwbWVba11dCiAgICAgICAgICAgICAgICAgICB7IHIgPSBwbWVb a10uUmVtb3RlRGlzY292ZXJ5Q29kZTsgLy8gR2V0CiAgICAgICAgICAgICAgICAgICAgIElGICgg ciA9PSBkYyBBTkQKICAgICAgICAgICAgICAgICAgICAgICAgICBwY3NbaV0uTnVtUE1FcyA8IHBj c1tpXS5QQUZDYXBhY2l0eSkKICAgICAgICAgICAgICAgICAgICAgICB7IEFERCBwbWVba10gVE8g aWZTdGFja1RhYmxlW3Bjc1tpXV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBjc1tp XSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQogICAgICAgICAgICAgICAgICAg ICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0uTnVtUE1FcyArIDE7CiAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgZGlzY292ZXJlZCBhbGwgbG9jYWwgUE1FcyB3 aGljaAogICAgICAgICAgICAgLy8gYXJlIHBoeXNpY2FsbHkgY29ubmVjdGVkIHRvIHRoZSBzYW1l IHJlbW90ZSBSVF9kZXZpY2UKICAgICAgICAgICAgIC8vIGFuZCBjb25uZWN0ZWQgdGhlbSB0byBQ Q1NbaV0uIEdvIHRvIHRoZSBuZXh0IFBDUy4KICAgICAgICAgICAgIEJSRUFLOwogICAgICAgICAg IH0KICAgICAgIH0KICAgfQoKICAgQW4gU05NUCBBZ2VudCBmb3IgYSBFRk1DdSBkZXZpY2UgYnVp bGRzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzCiAgIGludmVyc2UgaWZJbnZDYXBTdGFja1RhYmxl IGFjY29yZGluZyB0byB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluCiAgIHRoZSBDbGF1c2Ug NDUgUE1FX0F2YWlsYWJsZV9yZWdpc3RlciAoc2VlIFs4MDIuM2FoXSA2MS4xLjUuMyBhbmQKICAg NDUuMi4zLjIwKS4KCiAgIEFkZGluZyBhIFBNRSB0byB0aGUgaWZTdGFja1RhYmxlIHJvdyBmb3Ig YSBzcGVjaWZpYyBQQ1MsIGludm9sdmVzCiAgIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBQTUUg dG8gdGhlIFBDUywgd2hpY2ggY2FuIGJlIGRvbmUgYnkKICAgbW9kaWZ5aW5nIENsYXVzZSA0NSBQ TUVfQWdncmVnYXRlX3JlZ2lzdGVyIChzZWUgWzgwMi4zYWhdIDYxLjEuNS4zCiAgIGFuZCA0NS4y LjMuMjEpLgoKICAgTm90ZSB0aGF0IFBDUyBwb3J0IGRvZXMgbm90IGhhdmUgdG8gYmUgb3BlcmF0 aW9uYWxseSAnZG93bicgZm9yIHRoZQogICBjb25uZWN0aW9uIHRvIHN1Y2NlZWQuICBJbiBmYWN0 LCBhIGR5bmFtaWMgUE1FIGFkZGl0aW9uIChhbmQgcmVtb3ZhbCkKICAgTUFZIGJlIGltcGxlbWVu dGVkIHdpdGggYW4gYXZhaWxhYmxlIFBNRSBiZWluZyBpbml0aWFsaXplZCBmaXJzdCAoYnkKICAg c2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbiBhZGRlZCB0byBhbiBv cGVyYXRpb25hbGx5CiAgICd1cCcgUENTIHBvcnQsIGJ5IG1vZGlmeWluZyBhIHJlc3BlY3RpdmUg aWZTdGFja1RhYmxlIChhbmQgcmVzcGVjdGl2ZQogICBpZkludlN0YWNrVGFibGUpIGVudHJ5LgoK ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHJlbW92YWwgb2YgdGhlIGxhc3Qgb3BlcmF0aW9u YWxseSAndXAnIFBNRQogICBmcm9tIGFuIG9wZXJhdGlvbmFsbHkgJ3VwJyBQQ1Mgd291bGQgYmUg cmVqZWN0ZWQgYnkgdGhlCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyMiwgMjAwNyAgICAgICAgICAgICAgICBbUGFnZSA4XQoMCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAg IGltcGxlbWVudGF0aW9uLCBhcyB0aGlzIGFjdGlvbiB3b3VsZCBjb21wbGV0ZWx5IGRyb3AgdGhl IGxpbmsuCgozLjEuNC4gIEVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uCgogICBFRk1DdSBwb3J0 cyBiZWluZyBidWlsdCBvbiB0b3Agb2YgeERTTCB0ZWNobm9sb2d5LCByZXF1aXJlIGEgbGVuZ3Ro eQogICBpbml0aWFsaXphdGlvbiBvciAndHJhaW5pbmcnIHByb2Nlc3MsIGJlZm9yZSBhbnkgZGF0 YSBjYW4gcGFzcy4KICAgRHVyaW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEg bGluayAocGVlcnMpIHdvcmsKICAgY29vcGVyYXRpdmVseSB0byBhY2hpZXZlIHJlcXVpcmVkIGRh dGEgcmF0ZSBvbiBhIHBhcnRpY3VsYXIgY29wcGVyCiAgIHBhaXIuICBTb21ldGltZXMsIHdoZW4g dGhlIGNvcHBlciBsaW5lIGlzIHRvbyBsb25nIG9yIHRoZSBub2lzZSBvbgogICB0aGUgbGluZSBp cyB0b28gaGlnaCwgdGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwgdG8gYWNoaWV2ZSBh CiAgIHNwZWNpZmljIHRhcmdldCByYXRlIHdpdGggcmVxdWlyZWQgY2hhcmFjdGVyaXN0aWNzLgoK ICAgVGhlIGlmQWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJvbHMgdGhl IGRlc2lyZWQgc3RhdGUKICAgb2YgYSBQQ1Mgd2l0aCBhbGwgdGhlIFBNRXMgY29ubmVjdGVkIHRv IGl0IG9yIG9mIGFuIGluZGl2aWR1YWwgUE1FCiAgIHBvcnQuICBTZXR0aW5nIHRoaXMgb2JqZWN0 IHRvICd1cCcgaW5zdHJ1Y3RzIGEgcGFydGljdWxhciBQQ1Mgb3IgUE1FCiAgIHRvIHN0YXJ0IGlu aXRpYWxpemF0aW9uIHByb2Nlc3MsIHdoaWNoIG1heSB0YWtlIHRlbnMgb2Ygc2Vjb25kcyBmb3IK ICAgRUZNQ3UgcG9ydHMsIGVzcGVjaWFsbHkgaWYgUEFGIGlzIGludm9sdmVkLiAgVGhlIGlmT3Bl clN0YXR1cyBvYmplY3QKICAgc2hvd3MgdGhlIG9wZXJhdGlvbmFsIHN0YXRlIG9mIGFuIGludGVy ZmFjZSAoZXh0ZW5kZWQgYnkKICAgaWZNYXVNZWRpYUF2YWlsYWJsZSBvYmplY3QgZnJvbSBNQVUt TUlCIGZvciBQQ1MgYW5kCiAgIGVmbUN1UG1lT3BlclN0YXR1cyBkZWZpbmVkIGluIHRoZSBFRk0t Q1UtTUlCIG1vZHVsZSBmb3IgUE1FCiAgIGludGVyZmFjZXMpLgoKICAgQSBkaXNjb25uZWN0ZWQg UE1FIG1heSBiZSBpbml0aWFsaXplZCBieSBjaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlCiAgIGZy b20gJ2Rvd24nIHRvICd1cCcuICBDaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlIHRvICd1cCcgb24g dGhlIFBDUwogICBpbml0aWFsaXplcyBhbGwgUE1FcyBjb25uZWN0ZWQgdG8gdGhhdCBwYXJ0aWN1 bGFyIFBDUy4gIE5vdGUgdGhhdCBpbgogICBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5 IGZhaWwgdG8gaW5pdGlhbGl6ZSB3aGlsZSBvdGhlcnMKICAgc3VjY2VlZC4gIFRoZSBQQ1MgaXMg Y29uc2lkZXJlZCBvcGVyYXRpb25hbGx5ICd1cCcgaWYgYXQgbGVhc3Qgb25lCiAgIFBNRSBhZ2dy ZWdhdGVkIGJ5IGl0cyBQQUYgaXMgb3BlcmF0aW9uYWxseSAndXAnLiAgV2hlbiBhbGwgUE1Fcwog ICBjb25uZWN0ZWQgdG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lk ZXJlZAogICBvcGVyYXRpb25hbGx5ICdsb3dlckxheWVyRG93bicuICBUaGUgUENTIFNIQUxMIGJl IGNvbnNpZGVyZWQKICAgb3BlcmF0aW9uYWxseSAnbm90UHJlc2VudCcgaWYgaXQgaXMgbm90IGNv bm5lY3RlZCB0byBhbnkgUE1FLiAgVGhlCiAgIFBDUy9QTUUgaW50ZXJmYWNlIFNIQUxMIHJlbWFp biBvcGVyYXRpb25hbGx5ICdkb3duJyBkdXJpbmcKICAgaW5pdGlhbGl6YXRpb24uCgogICBUaGUg ZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGV4cGFu ZHMgUE1FJ3MKICAgaWZPcGVyU3RhdHVzIHZhbHVlIG9mICdkb3duJyB0byAnZG93blJlYWR5Jywg J2Rvd25Ob3RSZWFkeScgYW5kCiAgICdpbml0JyB2YWx1ZXMsIGluZGljYXRpbmcgdmFyaW91cyBF Rk1DdSBQTUUgc3BlY2lmaWMgc3RhdGVzLgoKMy4xLjUuICBVc2FnZSBvZiBpZlRhYmxlCgogICBC b3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUgbWFuYWdlZCB1 c2luZwogICBpbnRlcmZhY2Ugc3BlY2lmaWMgbWFuYWdlbWVudCBvYmplY3RzIGRlZmluZWQgaW4g dGhlIEVGTS1DVS1NSUIKICAgbW9kdWxlIGFuZCBnZW5lcmljIGludGVyZmFjZSBvYmplY3RzIGZy b20gdGhlIGlmVGFibGUgb2YgSUYtTUlCLCB3aXRoCiAgIGFsbCBtYW5hZ2VtZW50IHRhYmxlIGVu dHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4CiAgIGlmSW5kZXguCgogICBU aGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgRUZNQ3Ugc3BlY2lmaWMgaW50ZXJwcmV0YXRp b25zIGZvcgogICBzb21lIG9mIHRoZSBpZlRhYmxlIG9iamVjdHMgc3BlY2lmaWVkIGJ5IHRoZSBt YW5kYXRvcnkKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAy MDA3ICAgICAgICAgICAgICAgIFtQYWdlIDldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgaWZHZW5l cmFsSW5mb3JtYXRpb25Hcm91cDoKCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IElGLU1JQiBvYmplY3Qg fCBFRk1DdSBpbnRlcnByZXRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAg Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCiAgIHwgaWZJbmRleCAgICAgICB8IEludGVyZmFjZSBpbmRleC4gTm90ZSB0 aGF0IGVhY2ggUE1FIGFuZCBlYWNoIFBDUyAgfAogICB8ICAgICAgICAgICAgICAgfCBpbiB0aGUg RUZNQ3UgUEhZIE1VU1QgaGF2ZSBhIHVuaXF1ZSBpbmRleCwgYXMgICAgIHwKICAgfCAgICAgICAg ICAgICAgIHwgdGhlcmUgYXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcyAg ICB8CiAgIHwgICAgICAgICAgICAgICB8IGFjY2Vzc2libGUgb25seSBvbiB0aGUgUENTIG9yIFBN RSBsZXZlbC4gICAgICAgICAgfAogICB8IGlmVHlwZSAgICAgICAgfCBldGhlcm5ldENzbWFjZCg2 KSBmb3IgUENTLCBzaGRzbCgxNjkpIGZvciAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgIHwg MkJBU0UtVEwgUE1FLCB2ZHNsKDk3KSBmb3IgMTBQQVNTLVRTIFBNRSAgICAgICAgICB8CiAgIHwg aWZTcGVlZCAgICAgICB8IE9wZXJhdGluZyBkYXRhIHJhdGUgZm9yIHRoZSBQTUUuIEZvciB0aGUg UENTIGl0ICAgfAogICB8ICAgICAgICAgICAgICAgfCBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50 IG9wZXJhdGluZyBkYXRhIHJhdGVzIG9mIHwKICAgfCAgICAgICAgICAgICAgIHwgYWxsIFBNRXMg aW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwLCB3aXRob3V0IHRoZSAgICB8CiAgIHwgICAgICAgICAg ICAgICB8IDY0LzY1QiBlbmNhcHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsICAg fAogICB8ICAgICAgICAgICAgICAgfCBidXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1l IEdhcHMgKElGRykgICAgIHwKICAgfCBpZkFkbWluU3RhdHVzIHwgU2V0dGluZyB0aGlzIG9iamVj dCB0byAndXAnIGluc3RydWN0cyBhICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICB8IHBh cnRpY3VsYXIgUENTICh3aXRoIGFsbCBQTUVzIGNvbm5lY3RlZCB0byBpdCkgb3IgfAogICB8ICAg ICAgICAgICAgICAgfCBQTUUgdG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2VzcyAgICAgICAg ICAgICAgIHwKICAgfCBpZk9wZXJTdGF0dXMgIHwgZWZtQ3VQbWVPcGVyU3RhdHVzIHN1cHBsZW1l bnRzIHRoZSAnZG93bicgdmFsdWUgICB8CiAgIHwgICAgICAgICAgICAgICB8IG9mIGlmT3BlclN0 YXR1cyBmb3IgUE1Fcy4gICAgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZSAxCgozLjIuICBSZWxhdGlv biB0byBTSERTTCBNSUIgbW9kdWxlCgogICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWlsYXIgdG8g UE1FKHMpIGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUKICAgZGVzY3JpYmVkIGluIEhE U0wyLVNIRFNMLUxJTkUtTUlCIFtSRkM0MzE5XS4gIE5vdGUgdGhhdCBub3QgYWxsCiAgIGF0dHJp YnV0ZXMgb2YgRy5TSERTTCBtb2RlbXMgcmVmbGVjdGVkIGluIEhEU0wyLVNIRFNMLUxJTkUtTUlC IGhhdmUKICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRl cyBhbmQgQ2xhdXNlIDQ1CiAgIHJlZ2lzdGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4KCiAgIEJl Y2F1c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxp Y2l0eSwKICAgdW5pZmljYXRpb24gb2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1U TCBhbmQgMTBQQVNTLVRTIFBNRXMKICAgYW5kIG5hbWUgY29uc2lzdGVuY3kgKGUuZy4gcHJlZml4 aW5nIHRoZSAyQkFTRS1UTCBQTUUgcmVsYXRlZCBvYmplY3RzCiAgIHdpdGggJ2VmbUN1UG1lMkIn IGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvCiAgIHJlZmVy ZW5jZSBIRFNMMi1TSERTTC1MSU5FLU1JQiBvYmplY3RzLCBidXQgZGVmaW5lIGFsbCB0aGUgcmVs ZXZhbnQKICAgb2JqZWN0cyBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuCgogICBIb3dldmVyLCBp ZiBzb21lIGZ1bmN0aW9uYWxpdHksIG5vdCBhdmFpbGFibGUgaW4gdGhlIEVGTS1DVS1NSUIKICAg bW9kdWxlLCBpcyByZXF1aXJlZCBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBQTUUsIGUuZy4gcGVyZm9y bWFuY2UKICAgbW9uaXRvcmluZywgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1NSUIgZ3JvdXBz IE1BWSBiZSBpbmNsdWRlZCBhbmQKICAgYXBwbGllZCBmb3IgUE1FcyBvZiAyQkFTRS1UTCBzdWJ0 eXBlLgoKMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlCgogICBWRFNMIG1vZGVtcywg c2ltaWxhciB0byB0aGUgUE1FKHMpIGNvbXByaXNpbmcgYSAxMFBBU1MtVFMgcG9ydCwgYXJlCgoK CkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAg ICAgICAgIFtQYWdlIDEwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJm YWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgIGRlc2NyaWJlZCBpbiBWRFNM LUxJTkUtRVhULU1DTS1NSUIgW1JGQzQwNzBdLiAgTm90ZSB0aGF0IG5vdCBhbGwKICAgYXR0cmli dXRlcyBvZiBWRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4gVkRTTC1MSU5FLUVYVC1NQ00tTUlCIGhh dmUKICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRlcyBh bmQgQ2xhdXNlIDQ1CiAgIHJlZ2lzdGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4KCiAgIEJlY2F1 c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxpY2l0 eSwKICAgdW5pZmljYXRpb24gb2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1UTCBh bmQgMTBQQVNTLVRTIFBNRXMKICAgYW5kIG5hbWUgY29uc2lzdGVuY3ksIGl0IHdhcyBkZWNpZGVk IG5vdCB0byByZWZlcmVuY2UgVkRTTC1MSU5FLUVYVC0KICAgTUNNLU1JQiBvYmplY3RzLCBidXQg ZGVmaW5lIGFsbCB0aGUgcmVsZXZhbnQgb2JqZWN0cyBpbiB0aGUgRUZNLUNVLQogICBNSUIgbW9k dWxlLgoKICAgSG93ZXZlciwgaWYgc29tZSBmdW5jdGlvbmFsaXR5LCBub3QgYXZhaWxhYmxlIGlu IHRoZSBFRk0tQ1UtTUlCCiAgIG1vZHVsZSwgaXMgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBieSB0 aGUgUE1FLCByZWxldmFudCBWRFNMLUxJTkUtRVhULQogICBNQ00tTUlCIGdyb3VwcyBNQVkgYmUg aW5jbHVkZWQgYW5kIGFwcGxpZWQgZm9yIFBNRXMgb2YgMTBQQVNTLVRTCiAgIHN1YnR5cGUuCgoz LjQuICBSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXMKCiAgIFRo ZSBpbXBsZW1lbnRhdGlvbiBvZiBFdGhlckxpa2UtTUlCIFtSRkMzNjM1XSBhbmQgTUFVLU1JQiBb SS1ELmlldGYtCiAgIGh1Ym1pYi1yZmMzNjM2YmlzXSBpcyBSRVFVSVJFRCBmb3IgdGhlIEVGTUN1 IGludGVyZmFjZXMuCgogICBUd28gbmV3IHZhbHVlcyBvZiBpZk1hdVR5cGUgKE9CSkVDVC1JREVO VElUSUVTIG9mIGRvdDNNYXVUeXBlKSBhbmQKICAgY29ycmVzcG9uZGluZyBiaXQgZGVmaW5pdGlv bnMgb2YgaWZNYXVUeXBlTGlzdEJpdHMKICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBi ZWVuIGRlZmluZWQgaW4gdGhlIElBTkEtTUFVLU1JQgogICBbSS1ELmlldGYtaHVibWliLXJmYzM2 MzZiaXNdIGZvciB0aGUgRUZNQ3UgTUFVczoKCiAgIG8gIGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQg YjJCYXNlVEwgLSBmb3IgMkJBU0UtVEwgTUFVCgogICBvICBkb3QzTWF1VHlwZTEwUGFzc1RTIGFu ZCBiMTBQYXNzVFMgLSBmb3IgMTBQQVNTLVRTIE1BVQoKICAgQWRkaXRpb25hbGx5IElBTkEtTUFV LU1JQiBkZWZpbmVzIHR3byBuZXcgdmFsdWVzIG9mCiAgIGlmTWF1TWVkaWFBdmFpbGFibGUsIGFz IGEgdGV4dHVhbCBjb252ZW50aW9uIElBTkFpZk1hdU1lZGlhQXZhaWxhYmxlCiAgIC0gYXZhaWxh YmxlUmVkdWNlZCBhbmQgcmVhZHksIHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLiAg RHVlCiAgIHRvIHRoZSBQTUUgYWdncmVnYXRpb24sIHRoZSBFRk1DdSBpbnRlcnByZXRhdGlvbiBv ZiBzb21lIHBvc3NpYmxlCiAgIGlmTWF1TWVkaWFBdmFpbGFibGUgdmFsdWVzIGRpZmZlcnMgZnJv bSBvdGhlciBNQVVzIGFzIGZvbGxvd3M6CgogICBvICB1bmtub3duIC0gdGhlIEVGTUN1IGludGVy ZmFjZSAoUENTIHdpdGggY29ubmVjdGVkIFBNRXMpIGlzCiAgICAgIGluaXRpYWxpemluZwoKICAg byAgcmVhZHkgLSB0aGUgaW50ZXJmYWNlIGlzIGRvd24sIGF0IGxlYXN0IG9uZSBQTUUgaW4gdGhl IGFnZ3JlZ2F0aW9uCiAgICAgIGdyb3VwIChhbGwgUE1FcyBjb25uZWN0ZWQgdG8gdGhlIFBDUykg aXMgcmVhZHkgZm9yIGhhbmRzaGFrZQoKICAgbyAgYXZhaWxhYmxlIC0gdGhlIGludGVyZmFjZSBp cyB1cCwgYWxsIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwCiAgICAgIGFyZSB1cAoKICAg byAgbm90QXZhaWxhYmxlIC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhbGwgUE1FcyBpbiB0aGUg YWdncmVnYXRpb24KICAgICAgZ3JvdXAgYXJlIGRvd24sIG5vIGhhbmRzaGFrZSB0b25lcyBhcmUg ZGV0ZWN0ZWQgYnkgYW55IFBNRQoKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMTFdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 CgoKICAgbyAgYXZhaWxhYmxlUmVkdWNlZCAtIHRoZSBpbnRlcmZhY2UgaXMgdXAsIGEgbGluayBm YXVsdCBpcyBkZXRlY3RlZAogICAgICBhdCB0aGUgcmVjZWl2ZSBkaXJlY3Rpb24gYnkgb25lIG9y IG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24KICAgICAgZ3JvdXAsIGJ1dCBhdCBsZWFzdCBv bmUgUE1FIGlzIHVwCgogICBvICBwbWRMaW5rRmF1bHQgLSBhIGxpbmsgZmF1bHQgaXMgZGV0ZWN0 ZWQgYXQgdGhlIHJlY2VpdmUgZGlyZWN0aW9uCiAgICAgIGJ5IGFsbCBQTUVzIGluIHRoZSBhZ2dy ZWdhdGlvbiBncm91cAoKICAgQXMgYW4gRXRoZXJMaWtlIGludGVyZmFjZSBldmVyeSBFRk1DdSBw b3J0IChhbiBpZkVudHJ5IHJlcHJlc2VudGluZyBhCiAgIGNvbnNvbGlkYXRpb24gb2YgTExDLCBN QUMgYW5kIFBDUyAoc3ViKWxheWVycykgU0hBTEwgcmV0dXJuIGFuIGlmVHlwZQogICBvZiBldGhl cm5ldENzbWFjZCg2KS4gIFdoaWxlIG1vc3Qgb2YgdGhlIE1BVSBjaGFyYWN0ZXJpc3RpY3MgYXJl IG5vdAogICBhcHBsaWNhYmxlIHRvIHRoZSBFRk1DdSBwb3J0cyAobm8gYXV0by1uZWdvdGlhdGlv biwgZmFsc2UgY2FycmllcnMgb3IKICAgamFiYmVyKSwgdGhleSBTSEFMTCByZXR1cm4gYW4gYXBw cm9wcmlhdGUgaWZNYXVUeXBlCiAgIChkb3QzTWF1VHlwZTJCYXNlVEwgb3IgZG90M21hdVR5cGUx MFBhc3NUUykgaW4gb3JkZXIgdG8gZGlyZWN0IHRoZQogICBtYW5hZ2VtZW50IHNvZnR3YXJlIHRv IGxvb2sgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGZvciB0aGUgZGVzaXJlZAogICBpbmZvcm1h dGlvbi4gIEZvciBleGFtcGxlIHRoZSBpbmZvcm1hdGlvbiBvbiB0aGUgcGFydGljdWxhciBFRk1D dQogICBmbGF2b3IgdGhhdCBhbiBFRk1DdSBwb3J0IGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxlIGZy b20KICAgZWZtQ3VPcGVyU3ViVHlwZSwgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUu CgogICBTaW5jZSBFRk1DdSBQTUVzIGFyZSBub3QgRXRoZXJMaWtlIGludGVyZmFjZXMsIHRoZXkg Y2Fubm90IGJlCiAgIGluc3RhbnRpYXRlZCBhcyBNQVUgaW50ZXJmYWNlIG9iamVjdHMuCgoKNC4g IE1JQiBTdHJ1Y3R1cmUKCjQuMS4gIEVGTSBDb3BwZXIgTUlCIE92ZXJ2aWV3CgogICBUaGUgbWFp biBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJl CiAgIHNwbGl0IGludG8gMiBncm91cHM6CgogICBvICBlZm1DdVBvcnQgLSBjb250YWluaW5nIG9i amVjdHMgZm9yIGNvbmZpZ3VyYXRpb24sIGNhcGFiaWxpdGllcywKICAgICAgc3RhdHVzIGFuZCBu b3RpZmljYXRpb25zLCBjb21tb24gdG8gYWxsIEVGTUN1IFBIWXMuCgogICBvICBlZm1DdVBtZSAt IGNvbnRhaW5pbmcgb2JqZWN0cyBmb3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLAogICAg ICBzdGF0dXMgYW5kIG5vdGlmaWNhdGlvbnMgb2YgRUZNQ3UgUE1Fcy4KCiAgIFRoZSBlZm1DdVBt ZSBncm91cCBpbiB0dXJuIGNvbnRhaW5zIGVmbUN1UG1lMkIgYW5kIGVmbUN1UG1lMTBQCiAgIGdy b3Vwcywgd2hpY2ggZGVmaW5lIFBNRSBQcm9maWxlcyBzcGVjaWZpYyB0byAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTCiAgIFBNRXMgcmVzcGVjdGl2ZWx5LCBhcyB3ZWxsIGFzIFBNRSBzcGVjaWZpYyBz dGF0dXMgaW5mb3JtYXRpb24uCgo0LjIuICBJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0eSBNSUIg T3ZlcnZpZXcKCiAgIFRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVsZSBjb250YWlucyAyIHRhYmxl czoKCiAgIG8gIGlmQ2FwU3RhY2tUYWJsZSAtIGNvbnRhaW5pbmcgb2JqZWN0cyB0aGF0IGRlZmlu ZSBwb3NzaWJsZQogICAgICByZWxhdGlvbnNoaXBzIGFtb25nIHRoZSBzdWItbGF5ZXJzIG9mIGFu IGludGVyZmFjZSB3aXRoIGZsZXhpYmxlCiAgICAgIGNyb3NzLWNvbm5lY3QgKGNyb3NzLWNvbm5l Y3QgY2FwYWJpbGl0eSkuCgoKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn dXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMTJdCgwKSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoK ICAgbyAgaWZJbnZDYXBTdGFja1RhYmxlIC0gYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBzdGFja1Rh YmxlLgoKNC4zLiAgUE1FIFByb2ZpbGVzCgogICBTaW5jZSBhIG1hbmFnZWQgbm9kZSBjYW4gaGF2 ZSBhIGxhcmdlIG51bWJlciBvZiBFRk1DdSBQSFlzLAogICBwcm92aXNpb25pbmcgZXZlcnkgcGFy YW1ldGVyIG9uIGV2ZXJ5IEVGTUN1IFBIWSBtYXkgYmVjb21lCiAgIGJ1cmRlbnNvbWUuICBNb3Jl b3ZlciwgbW9zdCBQTUVzIGFyZSBwcm92aXNpb25lZCBpZGVudGljYWxseSB3aXRoIHRoZQogICBz YW1lIHNldCBvZiBwYXJhbWV0ZXJzLiAgVG8gc2ltcGxpZnkgdGhlIHByb3Zpc2lvbmluZyBwcm9j ZXNzLCB0aGUKICAgRUZNLUNVLU1JQiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZpZ3VyYXRpb24g cHJvZmlsZXMsIHNpbWlsYXIgdG8KICAgSERTTDItU0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElO RS1FWFQtTUNNLU1JQi4gIEEgcHJvZmlsZSBpcyBhIHNldAogICBvZiBwYXJhbWV0ZXJzLCB1c2Vk IGVpdGhlciBmb3IgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhCiAgIFBNRS4g IFRoZSBzYW1lIHByb2ZpbGUgY2FuIGJlIHNoYXJlZCBieSBtdWx0aXBsZSBQTUUgcG9ydHMsIHVz aW5nIHRoZQogICBzYW1lIGNvbmZpZ3VyYXRpb24uCgogICBUaGUgUE1FIHByb2ZpbGVzIGFyZSBk ZWZpbmVkIGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgYW5kCiAgIGVmbUN1UG1lMTBQUHJvZmls ZVRhYmxlIGZvciAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMgcmVzcGVjdGl2ZWx5LgogICBU aGVyZSBhcmUgMTIgcHJlZGVmaW5lZCBzdGFuZGFyZCBwcm9maWxlcyBmb3IgMkJBU0UtVEwgYW5k IDIyCiAgIHN0YW5kYXJkIHByb2ZpbGVzIGZvciAxMFBBU1MtVFMsIGRlZmluZWQgaW4gODAyLjNh aCBhbmQgZGVkaWNhdGVkIGZvcgogICByYXBpZCBwcm92aXNpb25pbmcgb2YgRUZNQ3UgUEhZcyBp biBtb3N0IHNjZW5hcmlvcy4gIEluIGFkZGl0aW9uIHRoZQogICBFRk0tQ1UtTUlCIGRlZmluZXMg dHdvIGFkZGl0aW9uYWwgcHJlZGVmaW5lZCBwcm9maWxlcyBmb3IgImJlc3QtCiAgIGVmZm9ydCIg cHJvdmlzaW9uaW5nIG9mIDJCQVNFLVRMIFBNRXMuICBBbiBhYmlsaXR5IHRvIGRlZmluZSBuZXcK ICAgY29uZmlndXJhdGlvbiBwcm9maWxlcyBpcyBhbHNvIHByb3ZpZGVkIHRvIGFsbG93IGZvciBF Rk1DdSBkZXBsb3ltZW50CiAgIHRhaWxvcmVkIHRvIHNwZWNpZmljIGNvcHBlciBlbnZpcm9ubWVu dCBhbmQgc3BlY3RyYWwgcmVndWxhdGlvbnMuCgogICBBIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24g b3IgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBpcyBhc3NpZ25lZCB0byBhCiAgIHNwZWNpZmljIFBN RSB2aWEgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0LiAgSWYKICAgZWZtQ3VQbWVBZG1pblBy b2ZpbGUgaXMgemVybywgdGhlbiBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qgb2YgdGhlCiAgIFBD UyBwb3J0LCBjb25uZWN0ZWQgdG8gdGhlIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlv biBwcm9maWxlCiAgIChvciBhIGxpc3Qgb2YgcG9zc2libGUgcHJvZmlsZXMpIGZvciB0aGF0IFBN RS4gIFRoaXMgbWVjaGFuaXNtIGFsbG93cwogICB0byBzcGVjaWZ5IGEgY29tbW9uIHByb2ZpbGUo cykgZm9yIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGUgUENTCiAgIHBvcnQsIHdpdGggYW4gYWJp bGl0eSB0byBjaGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZwogICBlZm1D dVBtZUFkbWluUHJvZmlsZSBvYmplY3QsIHdoaWNoIG92ZXJ3cml0ZXMgdGhlIHByb2ZpbGUgc2V0 IGJ5CiAgIGVmbUN1QWRtaW5Qcm9maWxlLgoKICAgQSBjdXJyZW50IG9wZXJhdGluZyBQTUUgcHJv ZmlsZSBpcyBwb2ludGVkIHRvIGJ5IGVmbUN1UG1lT3BlclByb2ZpbGUKICAgb2JqZWN0LiAgTm90 ZSB0aGF0IHRoaXMgcHJvZmlsZSBlbnRyeSwgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwK ICAgdG8gcmVmbGVjdCBhY2hpZXZlZCBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChub3QgZml4ZWQp CiAgIGluaXRpYWxpemF0aW9uLgoKNC40LiAgTWFwcGluZyBvZiBJRUVFIDgwMi4zYWggTWFuYWdl ZCBPYmplY3RzCgogICBUaGlzIHNlY3Rpb24gY29udGFpbnMgdGhlIG1hcHBpbmcgYmV0d2VlbiBy ZWxldmFudCBtYW5hZ2VkIG9iamVjdHMKICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gWzgwMi4z YWhdIENsYXVzZSAzMCwgYW5kIG1hbmFnZWQgb2JqZWN0cwogICBkZWZpbmVkIGluIHRoaXMgZG9j dW1lbnQgYW5kIGluIGFzc29jaWF0ZWQgTUlCIG1vZHVsZXMsIGkuZS4sIHRoZSBJRi0KICAgTUlC IFtSRkMyODYzXS4KCiAgIE5vdGUgdGhhdCBtYWpvcml0eSBvZiB0aGUgb2JqZWN0cyBkZWZpbmVk IGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBkbwogICBub3QgaGF2ZSBkaXJlY3QgY291bnRlcnBh cnRzIGluIENsYXVzZSAzMCBhbmQgaW5zdGVhZCByZWZlciB0byBDbGF1c2UKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgMTNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgNDUgcmVnaXN0ZXJzLgoKICAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCiAgIHwgSUVFRSA4MDIuMyBNYW5hZ2VkIE9iamVjdCAgICAgICB8IENvcnJlc3BvbmRpbmcg U05NUCBPYmplY3QgICAgICAgfAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgfCBvTUFVIC0gQmFzaWMgUGFj a2FnZSAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwg KE1hbmRhdG9yeSkgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICB8IGFNQVVUeXBlICAgICAgICAgICAgICAgICAgICAgICAgfCBpZk1hdVR5 cGUgKE1BVS1NSUIpICAgICAgICAgICAgIHwKICAgfCBhTUFVVHlwZUxpc3QgICAgICAgICAgICAg ICAgICAgIHwgaWZNYXVUeXBlTGlzdEJpdHMgKE1BVS1NSUIpICAgICB8CiAgIHwgYU1lZGlhQXZh aWxhYmxlICAgICAgICAgICAgICAgICB8IGlmTWVkaWFBdmFpbGFibGUgKE1BVS1NSUIpICAgICAg fAogICB8IG9QQUYgLSBCYXNpYyBQYWNrYWdlICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgfCAoTWFuZGF0b3J5KSAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBBRklEICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGlmSW5kZXggKElGLU1JQikgICAgICAgICAgICAgICAgfAogICB8IGFQ aHlFbmQgICAgICAgICAgICAgICAgICAgICAgICAgfCBlZm1DdVBoeVNpZGUgICAgICAgICAgICAg ICAgICAgIHwKICAgfCBhUEhZQ3VycmVudFN0YXR1cyAgICAgICAgICAgICAgIHwgZWZtQ3VTdGF0 dXMgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAg ICAgICB8IGVmbUN1UEFGU3VwcG9ydGVkICAgICAgICAgICAgICAgfAogICB8IG9QQUYgLSBQTUUg QWdncmVnYXRpb24gUGFja2FnZSAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgfCAoT3B0aW9uYWwpICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgIHwgYVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICAgICB8IGVm bUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAgfAogICB8IGFMb2NhbFBBRkNhcGFjaXR5ICAg ICAgICAgICAgICAgfCBlZm1DdVBBRkNhcGFjaXR5ICAgICAgICAgICAgICAgIHwKICAgfCBhTG9j YWxQTUVBdmFpbGFibGUgICAgICAgICAgICAgIHwgaWZDYXBTdGFja1RhYmxlICAgICAgICAgICAg ICAgICB8CiAgIHwgYUxvY2FsUE1FQWdncmVnYXRlICAgICAgICAgICAgICB8IGlmU3RhY2tUYWJs ZSAoSUYtTUlCKSAgICAgICAgICAgfAogICB8IGFSZW1vdGVQQUZTdXBwb3J0ZWQgICAgICAgICAg ICAgfCBlZm1DdVJlbW90ZVBBRlN1cHBvcnRlZCAgICAgICAgIHwKICAgfCBhUmVtb3RlUEFGQ2Fw YWNpdHkgICAgICAgICAgICAgIHwgZWZtQ3VSZW1vdGVQQUZDYXBhY2l0eSAgICAgICAgICB8CiAg IHwgYVJlbW90ZVBNRUFnZ3JlZ2F0ZSAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICB8IG9QTUUgLSAxMFAvMkIgUGFja2FnZSAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgfCAoTWFuZGF0b3J5KSAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBNRUlE ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGlmSW5kZXggKElGLU1JQikgICAgICAgICAgICAg ICAgfAogICB8IGFQTUVBZG1pblN0YXRlICAgICAgICAgICAgICAgICAgfCBpZkFkbWluU3RhdGUg KElGLU1JQikgICAgICAgICAgIHwKICAgfCBhUE1FU3RhdHVzICAgICAgICAgICAgICAgICAgICAg IHwgZWZtQ3VQbWVTdGF0dXMgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBNRVNOUk1nbiAgICAg ICAgICAgICAgICAgICAgICB8IGVmbUN1UG1lU25yTWduICAgICAgICAgICAgICAgICAgfAogICB8 IGFUQ0NvZGluZ1Zpb2xhdGlvbnMgICAgICAgICAgICAgfCBlZm1DdVBtZVRDQ29kaW5nRXJyb3Jz ICAgICAgICAgIHwKICAgfCBhVENDUkNFcnJvcnMgICAgICAgICAgICAgICAgICAgIHwgZWZtQ3VQ bWVUQ0NyY0Vycm9ycyAgICAgICAgICAgICB8CiAgIHwgYVByb2ZpbGVTZWxlY3QgICAgICAgICAg ICAgICAgICB8IGVmbUN1QWRtaW5Qcm9maWxlLCAgICAgICAgICAgICAgfAogICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBlZm1DdVBtZUFkbWluUHJvZmlsZSAgICAgICAgICAg IHwKICAgfCBhT3BlcmF0aW5nUHJvZmlsZSAgICAgICAgICAgICAgIHwgZWZtQ3VQbWVPcGVyUHJv ZmlsZSAgICAgICAgICAgICB8CiAgIHwgYVBNRUZFQ0NvcnJlY3RlZEJsb2NrcyAgICAgICAgICB8 IGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICAgfAogICB8IGFQTUVGRUNVbmNvcnJlY3Rh YmxlQmxvY2tzICAgICAgfCBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzIHwKICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgMgoKCjUu ICBJbnRlcmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMKCgogICBJRi1DQVAt U1RBQ0stTUlCIERFRklOSVRJT05TIDo6PSBCRUdJTgoKCgoKQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMTRdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3CgoKICAgICBJTVBPUlRTCiAgICAgICBNT0RVTEUtSURFTlRJVFksIE9CSkVD VC1UWVBFLCBtaWItMgogICAgICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3 OAogICAgICAgVHJ1dGhWYWx1ZQogICAgICAgICBGUk9NIFNOTVB2Mi1UQyAgICAgICAgICAtLSBS RkMgMjU3OQogICAgICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUAogICAgICAgICBG Uk9NIFNOTVB2Mi1DT05GICAgICAgICAtLSBSRkMgMjU4MAogICAgICAgaWZTdGFja0dyb3VwMiwg aWZTdGFja0hpZ2hlckxheWVyLCBpZlN0YWNrTG93ZXJMYXllcgogICAgICAgICBGUk9NIElGLU1J QiAgICAgICAgICAgICAtLSBSRkMgMjg2MwogICAgICAgaWZJbnZTdGFja0dyb3VwCiAgICAgICAg IEZST00gSUYtSU5WRVJURUQtU1RBQ0stTUlCIC0tIFJGQyAyODY0CiAgICAgICA7CgogICAgIGlm Q2FwU3RhY2tNSUIgTU9EVUxFLUlERU5USVRZCiAgICAgICBMQVNULVVQREFURUQgIjIwMDcwMjE4 MDAwMFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNwogICAgICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0 aGVybmV0IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIKICAgICAgIENPTlRB Q1QtSU5GTwogICAgICAgICAiV0cgY2hhcnRlcjoKICAgICAgICAgICBodHRwOi8vd3d3LmlldGYu b3JnL2h0bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbAoKICAgICAgICAgTWFpbGluZyBM aXN0czoKICAgICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZwogICAg ICAgICAgIFRvIFN1YnNjcmliZTogaHVibWliLXJlcXVlc3RAaWV0Zi5vcmcKICAgICAgICAgICBJ biBCb2R5OiBzdWJzY3JpYmUgeW91cl9lbWFpbF9hZGRyZXNzCgogICAgICAgICBDaGFpcjogIEJl cnQgV2lqbmVuCiAgICAgICAgIFBvc3RhbDogQWxjYXRlbC1MdWNlbnQKICAgICAgICAgICAgICAg ICBTY2hhZ2VuIDMzCiAgICAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuCiAgICAgICAg ICAgICAgICAgTmV0aGVybGFuZHMKICAgICAgICAgICAgVGVsOiArMzEtMzQ4LTQwNy03NzUKICAg ICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQoKICAgICAgICAgRWRpdG9y OiBFZHdhcmQgQmVpbGkKICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4KICAg ICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3MwogICAgICAgICAgICAgICAg IFBldGFjaC1UaWt2YSAxMDE3MwogICAgICAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgICAg ICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxCiAgICAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFj dGVsaXMuY29tIgoKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJUaGUgb2JqZWN0cyBpbiB0 aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gZGVzY3JpYmUKICAgICAgICAgY3Jvc3MtY29ubmVj dCBjYXBhYmlsaXRpZXMgb2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywKICAgICAgICAg Y29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBkZWZpbmVkIGlu CiAgICAgICAgIElGLU1JQiBhbmQgSUYtSU5WRVJURUQtU1RBQ0stTUlCIHJlc3BlY3RpdmVseS4K CiAgICAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJz aW9uCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDE1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgIG9mIHRo aXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMKICAgICAgICAg aXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIgoKICAgICAgIFJFVklTSU9OICAgICIyMDA3 MDIxODAwMDBaIiAgLS0gRmVicnVhcnkgMTgsIDIwMDcKICAgICAgIERFU0NSSVBUSU9OICJJbml0 aWFsIHZlcnNpb24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iCgogICAgICAgICAtLSBFZE5vdGU6 IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmCiAgICAgICAgIC0tIHJl bW92ZSB0aGlzIG5vdGUKCiAgICAgICA6Oj0geyBtaWItMiBaWlogfQoKICAgICAgICAgLS0gRWRO b3RlOiBSZXBsYWNlIFpaWiB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAgICAgICAtLSBh bGxvY2F0ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1v ZHVsZQogICAgICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUK ICAgICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQKCiAgICAgIGlmQ2FwU3Rh Y2tPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQoK ICAgICAgaWZDYXBTdGFja0NvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2Fw U3RhY2tNSUIgMiB9CgogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgICAgLS0KICAg ICAgLS0gaWZDYXBTdGFja1RhYmxlIGdyb3VwCiAgICAgIC0tCgogICAgICBpZkNhcFN0YWNrVGFi bGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFj a0VudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGlzIHRhYmxlLCBt b2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwKICAgICAgICAgIGNvbnRhaW5z IGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJwogICAgICAgICAgcmVsYXRp b25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsKICAgICAg ICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hpcHMgZGVzY3Jp YmVkIGluCiAgICAgICAgICBpZlN0YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlu cyBpbmZvcm1hdGlvbiBvbgogICAgICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2libHkg cnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyCiAgICAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRl cm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUKICAgICAgICAgIGRldmlj ZSwgd2hlcmUgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdwog ICAgICAgICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIg d2l0aCBpZkluZGV4CiAgICAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9u IHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgKICAgICAgICAgIGlmSW5kZXggdmFsdWUgeSwgdGhl biB0aGlzIHRhYmxlIGNvbnRhaW5zOgoKICAgICAgICAgICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9 dHJ1ZQoKICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2VzIG5vdCBleGlzdCBp ZiBpdCBpcyBpbXBvc3NpYmxlCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE2XQoMCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoK CiAgICAgICAgICB0byBjb25uZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4KCiAg ICAgICAgICBOb3RlIHRoYXQgZm9yIG1vc3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNF LVRMKQogICAgICAgICAgdGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGhpZ2hlci1sZXZlbCBp bnRlcmZhY2UgKGUuZy4gUENTCiAgICAgICAgICBwb3J0KSBmb3IgZWFjaCBsb3dlci1sZXZlbCBp bnRlcmZhY2UgKGUuZy4gUE1FKSBhbmQgYXQKICAgICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZl bCBpbnRlcmZhY2UgZm9yIGVhY2ggaGlnaGVyLWxldmVsCiAgICAgICAgICBpbnRlcmZhY2UsIHRo YXQgaXMsIHRoZXJlIGlzIGF0IGxlYXN0IGEgc2luZ2xlIHJvdyB3aXRoIGEKICAgICAgICAgICd0 cnVlJyBzdGF0dXMgZm9yIGFueSBleGlzdGluZyB2YWx1ZSBvZiB4IG9yIHkuCgogICAgICAgICAg VGhpcyB0YWJsZSBpcyByZWFkIG9ubHkgYXMgaXQgZGVzY3JpYmVzIGRldmljZSBjYXBhYmlsaXR5 IgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIgogICAg ICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDEgfQoKICAgICAgaWZDYXBTdGFja0VudHJ5ICBP QkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIElmQ2FwU3RhY2tFbnRyeQogICAgICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiSW5mb3JtYXRpb24gb24gYSBwYXJ0aWN1bGFyIHJl bGF0aW9uc2hpcCBiZXR3ZWVuIHR3bwogICAgICAgICAgc3ViLWxheWVycywgc3BlY2lmeWluZyB0 aGF0IG9uZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bgogICAgICAgICAgb24gJ3RvcCcgb2Yg dGhlIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMKICAgICAgICAg IHRvIGEgY29uY2VwdHVhbCByb3cgaW4gdGhlIGlmVGFibGUgKGludGVyZmFjZSBpbmRleCBmb3IK ICAgICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3RpdmVseSkuIgogICAgICAg IElOREVYIHsKICAgICAgICAgIGlmU3RhY2tIaWdoZXJMYXllciwKICAgICAgICAgIGlmU3RhY2tM b3dlckxheWVyCiAgICAgICAgfQogICAgICAgIDo6PSB7IGlmQ2FwU3RhY2tUYWJsZSAxIH0KCiAg ICAgIElmQ2FwU3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0UgewogICAgICAgICAgIGlmQ2FwU3RhY2tT dGF0dXMgICAgICAgVHJ1dGhWYWx1ZQogICAgICAgICB9CgogICAgICBpZkNhcFN0YWNrU3RhdHVz ICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBjYXBh YmlsaXR5JyByZWxhdGlvbnNoaXAKICAgICAgICAgIGJldHdlZW4gdHdvIHN1Yi1sYXllcnMuIFRo ZSBmb2xsb3dpbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZDoKICAgICAgICAgICAgdHJ1ZSgxKSAg ICAgICAgIC0gaW5kaWNhdGVzIHRoYXQgdGhlIHN1Yi1sYXllciBpbnRlcmZhY2UsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZWQgYnkgdGhlIGlmU3RhY2tMb3dlckxheWVy IE1BWQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBjb25uZWN0ZWQgdG8gcnVuICdi ZWxvdycgdGhlIHN1Yi1sYXllcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZh Y2UsIGlkZW50aWZpZWQgYnkgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmU3Rh Y2tIaWdoZXJMYXllciBpbmRleC4KICAgICAgICAgICAgZmFsc2UoMikgICAgICAgIC0gdGhlIHN1 Yi1sYXllciBpbnRlcmZhY2VzIGNhbm5vdCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25uZWN0ZWQgdGVtcG9yYXJpbHkgZHVlIHRvCgoKCkJlaWxpICAgICAgICAgICAgICAgICAg ICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE3XQoMCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNwoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5 IG9mIHRoZSBpbnRlcmZhY2UocyksIGUuZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b25lIG9mIHRoZSBpbnRlcmZhY2VzIGlzIGxvY2F0ZWQgb24gYW4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYWJzZW50IHBsdWdnYWJsZSBtb2R1bGUuCgogICAgICAgICAgTm90ZSB0aGF0 IGxvd2VyLWxheWVyIGludGVyZmFjZSBhdmFpbGFiaWxpdHkgcGVyIGhpZ2hlci1sYXllciwKICAg ICAgICAgIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgJ3RydWUnLCBjYW4gYmUgY29uc3RyYWlu ZWQgYnkKICAgICAgICAgIG90aGVyIHBhcmFtZXRlcnMsIGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dy ZWdhdGlvbiBjYXBhY2l0eSBvZgogICAgICAgICAgYSBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlIG9y IGJ5IHRoZSBsb3dlci1sYXllciBpbnRlcmZhY2UgaW4KICAgICAgICAgIHF1ZXN0aW9uIGJlaW5n IGFscmVhZHkgY29ubmVjdGVkIHRvIGFub3RoZXIgaGlnaGVyLWxheWVyCiAgICAgICAgICBpbnRl cmZhY2UuIEluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IGEgcGFydGljdWxhciBzdWItbGF5ZXIgY2Fu CiAgICAgICAgICBiZSBjb25uZWN0ZWQgdG8gYW5vdGhlciBzdWItbGF5ZXIsIGFsbCByZXNwZWN0 aXZlIG9iamVjdHMKICAgICAgICAgIChlLmcuIGlmQ2FwU3RhY2tUYWJsZSwgaWZTdGFja1RhYmxl IGFuZCBlZm1DdVBBRkNhcGFjaXR5IGZvcgogICAgICAgICAgZm9yIEVGTUN1IGludGVyZmFjZXMp IFNIQUxMIGJlIGluc3BlY3RlZC4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkIG9ubHks IHVubGlrZSBpZlN0YWNrU3RhdHVzLCBhcyBpdAogICAgICAgICAgZGVzY3JpYmVzIGEgY3Jvc3Mt Y29ubmVjdCBjYXBhYmlsaXR5LiIKICAgICAgICA6Oj0geyBpZkNhcFN0YWNrRW50cnkgMSB9Cgog ICAgICBpZkludkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg ICBTRVFVRU5DRSBPRiBJZkludkNhcFN0YWNrRW50cnkKICAgICAgICBNQVgtQUNDRVNTICAgIG5v dC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgICJBIHRhYmxlIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gb24gdGhlIHBv c3NpYmxlIHJlbGF0aW9uc2hpcHMKICAgICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1s YXllcnMgb2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzCiAgICAgICAgICB0YWJsZSwgbW9kZWxl ZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQogICAgICAgICAgSUYtSU5WRVJURUQtU1RBQ0st TUlCLCBpcyBhbiBpbnZlcnNlIG9mIHRoZSBpZkNhcFN0YWNrVGFibGUKICAgICAgICAgIGRlZmlu ZWQgaW4gdGhpcyBNSUIgbW9kdWxlLgogICAgICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJs ZSBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaAogICAgICAgICAgc3ViLWxheWVycyBNQVkg cnVuICd1bmRlcm5lYXRoJyB3aGljaCBvdGhlciBzdWItbGF5ZXJzLCB3aGVyZQogICAgICAgICAg ZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZU YWJsZS4KICAgICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZklu ZGV4IHZhbHVlIHggTUFZIGJlCiAgICAgICAgICBjb25uZWN0ZWQgdG8gcnVuIHVuZGVybmVhdGgg dGhlIHN1Yi1sYXllciB3aXRoIGlmSW5kZXggdmFsdWUKICAgICAgICAgIHksIHRoZW4gdGhpcyB0 YWJsZSBjb250YWluczoKCiAgICAgICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzLngueT10cnVl CgogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBv ZiByb3dzIGFzIHRoZQogICAgICAgICAgaWZDYXBTdGFja1RhYmxlLCBidXQgdGhlIHJvd3MgYXBw ZWFyIGluIGEgZGlmZmVyZW50IG9yZGVyLgoKICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBv bmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QKICAgICAgICAgIGNhcGFiaWxpdHku IgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlm SW52U3RhY2tUYWJsZSIKICAgICAgICA6Oj0geyBpZkNhcFN0YWNrT2JqZWN0cyAyIH0KCiAgICAg IGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICAgIElm SW52Q2FwU3RhY2tFbnRyeQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOF0KDApJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgog ICAgICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICJJbmZvcm1hdGlvbiBvbiBh IHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0KICAgICAgICAgICBsYXll cnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUK ICAgICAgICAgICBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzIHRv IGEgY29uY2VwdHVhbAogICAgICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iCiAgICAgICAgSU5E RVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0KICAgICAgICA6Oj0g eyBpZkludkNhcFN0YWNrVGFibGUgMSB9CgogICAgICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBT RVFVRU5DRSB7CiAgICAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQog ICAgICAgfQoKICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUKICAgICAgICBT WU5UQVggICAgICAgICBUcnV0aFZhbHVlCiAgICAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5 CiAgICAgICAgU1RBVFVTICAgICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxp dHknCiAgICAgICAgICAgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi1sYXllcnMuCgogICAg ICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5j ZSBvZiB0aGUKICAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVzIG9iamVjdCwgYW5kIHZpY2UgdmVy c2EuIEZvciBleGFtcGxlLCBpZiB0aGUKICAgICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3Rh dHVzLkguTCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlCiAgICAgICAgICAgaWZJbnZTdGFja1N0 YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4gIEluCiAgICAgICAgICAg YWRkaXRpb24sIHRoZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLgoK ICAgICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1vbmx5LCBhcyBp dCBkZXNjcmliZXMKICAgICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iCiAgICAg ICAgUkVGRVJFTkNFCiAgICAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiCiAgICAgICAgOjo9IHsg aWZJbnZDYXBTdGFja0VudHJ5IDEgfQoKICAgICAtLQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRl bWVudHMKICAgICAtLQoKICAgICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PQogICAgICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDEgfQoKICAgICAgaWZD YXBTdGFja0NvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgICAgIHsgaWZD YXBTdGFja0NvbmZvcm1hbmNlIDIgfQoKICAgICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFuY2UKCiAg ICAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JPVVAKICAgICAgICBPQkpFQ1RTIHsKCgoKQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgMTldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0 dXMsCiAgICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzCiAgICAgICAgfQogICAgICAgIFNUQVRV UyAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9m IG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIG9uIHRoZQogICAgICAgICAgY3Jvc3MtY29u bmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFja2VkKSBuZXR3b3JrCiAgICAgICAg ICBpbnRlcmZhY2VzLiIKICAgICAgICA6Oj0geyBpZkNhcFN0YWNrR3JvdXBzIDEgfQoKCiAgICAg LS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICAgICBpZkNhcFN0YWNrQ29tcGxpYW5jZSBNT0RV TEUtQ09NUExJQU5DRQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQ VElPTgogICAgICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGll cywgd2hpY2ggcHJvdmlkZQogICAgICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5l Y3QgY2FwYWJpbGl0eSBvZiBtdWx0aS1sYXllcgogICAgICAgICAgKHN0YWNrZWQpIG5ldHdvcmsg aW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0CiAgICAgICAgICBiZXR3ZWVu IHRoZSBzdWItbGF5ZXJzLgogICAgICAgICAgQ29tcGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dpbmcg ZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzCiAgICAgICAgICBpcyBSRVFVSVJFRDoKCiAg ICAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50CiAgICAg ICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAg ICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMKICAgICAgICAgIElGLUlOVkVS VEVELVNUQUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlIgoKCiAgICAgICAgTU9EVUxFICAtLSB0aGlz IG1vZHVsZQogICAgICAgICAgTUFOREFUT1JZLUdST1VQUyB7CiAgICAgICAgICAgIGlmQ2FwU3Rh Y2tHcm91cAogICAgICAgICAgfQoKICAgICAgICAgIE9CSkVDVCAgICAgICBpZkNhcFN0YWNrU3Rh dHVzCiAgICAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQogICAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIlN1cHBvcnQgZm9yIHRoZSBmYWxzZSgyKSB2YWx1 ZSBpcyBPUFRJT05BTCBmb3IKICAgICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcg cGx1Z2dhYmxlIGludGVyZmFjZXMuIgoKICAgICAgICAgIE9CSkVDVCAgICAgICBpZkludkNhcFN0 YWNrU3RhdHVzCiAgICAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQog ICAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIlN1cHBvcnQgZm9yIHRoZSBmYWxzZSgy KSB2YWx1ZSBpcyBPUFRJT05BTCBmb3IKICAgICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBv cnRpbmcgcGx1Z2dhYmxlIGludGVyZmFjZXMuIgoKICAgICAgICBNT0RVTEUgIElGLU1JQgogICAg ICAgICAgTUFOREFUT1JZLUdST1VQUyB7CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIwXQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNwoKCiAgICAgICAgICAgIGlmU3RhY2tHcm91cDIKICAgICAgICAgIH0KCiAgICAgICAgTU9E VUxFICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIKICAgICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgewog ICAgICAgICAgICBpZkludlN0YWNrR3JvdXAKICAgICAgICAgIH0KCiAgICAgICAgOjo9IHsgaWZD YXBTdGFja0NvbXBsaWFuY2VzIDEgfQogICBFTkQKCgoKCgo2LiAgRUZNIENvcHBlciBNSUIgRGVm aW5pdGlvbnMKCgogICBFRk0tQ1UtTUlCIERFRklOSVRJT05TIDo6PSBCRUdJTgoKICAgICBJTVBP UlRTCiAgICAgICBNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCBOT1RJRklDQVRJT04tVFlQ RSwgSW50ZWdlcjMyLAogICAgICAgVW5zaWduZWQzMiwgQ291bnRlcjMyLCBtaWItMgogICAgICAg ICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OAogICAgICAgVEVYVFVBTC1DT05W RU5USU9OLCBUcnV0aFZhbHVlLCBSb3dTdGF0dXMsIFBoeXNBZGRyZXNzCiAgICAgICAgIEZST00g U05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAyNTc5CiAgICAgICBNT0RVTEUtQ09NUExJQU5DRSwg T0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVAKICAgICAgICAgRlJPTSBTTk1QdjItQ09O RiAgICAgICAgLS0gUkZDIDI1ODAKICAgICAgIFNubXBBZG1pblN0cmluZwogICAgICAgICBGUk9N IFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQogICAgICAgaWZJbmRleCwgaWZTcGVlZAog ICAgICAgICBGUk9NIElGLU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2MwogICAgICAgOwoKICAg ICBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkKICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMTgw MDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3CiAgICAgICBPUkdBTklaQVRJT04gIklFVEYgRXRo ZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIgogICAgICAgQ09OVEFD VC1JTkZPCiAgICAgICAgICJXRyBjaGFydGVyOgogICAgICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5v cmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5odG1sCgogICAgICAgICBNYWlsaW5nIExp c3RzOgogICAgICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lvbjogaHVibWliQGlldGYub3JnCiAgICAg ICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZwogICAgICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MKCiAgICAgICAgIENoYWlyOiAgQmVy dCBXaWpuZW4KICAgICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudAoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAy MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgICAgICAgIFNjaGFnZW4gMzMKICAgICAg ICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4KICAgICAgICAgICAgICAgICBOZXRoZXJsYW5k cwogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQogICAgICAgICBFLW1haWw6IGJ3aWpu ZW5AYWxjYXRlbC1sdWNlbnQuY29tCgogICAgICAgICBFZGl0b3I6IEVkd2FyZCBCZWlsaQogICAg ICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLgogICAgICAgICAgICAgICAgIDI1IEJh emVsIFN0LiwgUC5PLkIuIDEwMTczCiAgICAgICAgICAgICAgICAgUGV0YWNoLVRpa3ZhIDEwMTcz CiAgICAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0 LTM0OTEKICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iCgogICAgICAg REVTQ1JJUFRJT04KICAgICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUg dXNlZCB0byBtYW5hZ2UKICAgICAgICAgdGhlIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIChF Rk0pIENvcHBlciAoRUZNQ3UpIEludGVyZmFjZXMKICAgICAgICAgMkJBU0UtVEwgYW5kIDEwUEFT Uy1UUywgZGVmaW5lZCBpbiBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0LAogICAgICAgICB3aGljaCBp cyBub3cgYSBwYXJ0IG9mIElFRUUgU3RkLiA4MDIuMy0yMDA1LgoKICAgICAgICAgVGhlIGZvbGxv d2luZyByZWZlcmVuY2VzIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBNSUIgbW9kdWxlOgoKICAg ICAgICAgWzgwMi4zYWhdIHJlZmVycyB0bzoKICAgICAgICAgICBJRUVFIFN0ZCA4MDIuM2FoLTIw MDQ6ICdJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbgogICAgICAgICAgIHRlY2hub2xvZ3kg LSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlCiAgICAgICAgICAg YmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0K ICAgICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQogICAgICAgICAgIFBhcnQgMzogQ2Fy cmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24KICAgICAgICAgICBEZXRl Y3Rpb24gKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyCiAgICAgICAg ICAgU3BlY2lmaWNhdGlvbnMgLQogICAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENv bnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwKICAgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1l bnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MKICAgICAgICAgICBOZXR3b3Jrcycs IDA3IFNlcHRlbWJlciAyMDA0LgoKICAgICAgICAgT2YgcGFydGljdWxhciBpbnRlcmVzdCBhcmUg Q2xhdXNlIDYxLCAnUGh5c2ljYWwgQ29kaW5nCiAgICAgICAgIFN1YmxheWVyIChQQ1MpIGFuZCBj b21tb24gc3BlY2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZAogICAgICAgICB0eXBlIDJC QVNFLVRMJywgQ2xhdXNlIDMwLCAnTWFuYWdlbWVudCcsIENsYXVzZSA0NSwKICAgICAgICAgJ01h bmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8pIEludGVyZmFjZScsIEFubmV4IDYyQSwK ICAgICAgICAgJ1BNRCBwcm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXggNjNBLCAnUE1E IHByb2ZpbGVzIGZvcgogICAgICAgICAyQkFTRS1UTCcuCgogICAgICAgICBbRy45OTEuMl0gcmVm ZXJzIHRvOgogICAgICAgICAgIElUVS1UIFJlY29tbWVuZGF0aW9uIEcuOTkxLjI6ICdTaW5nbGUt cGFpciBIaWdoLXNwZWVkIERpZ2l0YWwKICAgICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNM KSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAyMDAzLgoKICAgICAgICAgW0FORlBdIHJlZmVycyB0 bzoKICAgICAgICAgICBOSUNDIERvY3VtZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlv biBvZiB0aGUgQWNjZXNzCiAgICAgICAgICAgTmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkg YXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjJdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFy eSAyMDA3CgoKICAgICAgICAgICBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2VzcyBOZXR3b3Jr LCcgQXVndXN0IDIwMDUuCgogICAgICAgICBOYW1pbmcgQ29udmVudGlvbnM6CiAgICAgICAgICAg QXRuICAgLSBBdHRlbnVhdGlvbgogICAgICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZpY2UKICAg ICAgICAgICBDUEUgICAtIEN1c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudAogICAgICAgICAgIEVG TSAgIC0gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUKICAgICAgICAgICBFRk1DdSAtIEVGTSBD b3BwZXIKICAgICAgICAgICBNRElPICAtIE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQKICAg ICAgICAgICBNZ24gICAtIE1hcmdpbgogICAgICAgICAgIFBBRiAgIC0gUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uCiAgICAgICAgICAgUEJPICAgLSBQb3dlciBCYWNrLU9mZgogICAgICAgICAgIFBD UyAgIC0gUGh5c2ljYWwgQ29kaW5nIFN1YmxheWVyCiAgICAgICAgICAgUE1EICAgLSBQaHlzaWNh bCBNZWRpdW0gRGVwZW5kZW50CiAgICAgICAgICAgUE1FICAgLSBQaHlzaWNhbCBNZWRpdW0gRW50 aXR5CiAgICAgICAgICAgUFNEICAgLSBQb3dlciBTcGVjdHJhbCBEZW5zaXR5CiAgICAgICAgICAg U05SICAgLSBTaWduYWwgdG8gTm9pc2UgUmF0aW8KICAgICAgICAgICBUQ1BBTSAtIFRyZWxsaXMg Q29kZWQgUHVsc2UgQW1wbGl0dWRlIE1vZHVsYXRpb24KCiAgICAgICAgIENvcHlyaWdodCAoQykg VGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJzaW9uCiAgICAgICAgIG9mIHRoaXMgTUlC IG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMKICAgICAgICAgaXRzZWxm IGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIgoKICAgICAgIFJFVklTSU9OICAgICIyMDA3MDIxODAw MDBaIiAgLS0gRmVicnVhcnkgMTgsIDIwMDcKICAgICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZl cnNpb24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iCgogICAgICAgICAtLSBFZE5vdGU6IFJlcGxh Y2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmCiAgICAgICAgIC0tIHJlbW92ZSB0 aGlzIG5vdGUKCiAgICAgICA6Oj0geyBtaWItMiBZWVkgfQoKICAgICAgICAgLS0gRWROb3RlOiBS ZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAgICAgICAtLSBhbGxvY2F0 ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1vZHVsZQoK ICAgICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU1JQiAx IH0KCiAgICAgIGVmbUN1Q29uZm9ybWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VN SUIgMiB9CgogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgICAgZWZtQ3VQb3J0ICAg ICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVjdHMgMSB9CgogICAgICBlZm1D dVBtZSAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAyIH0KCiAg ICAgIC0tIFRleHR1YWwgQ29udmVudGlvbnMKCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBF eHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIzXQoMCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNwoKCiAgICAgIEVmbVByb2ZpbGVJbmRleCA6Oj0gVEVYVFVBTC1DT05WRU5USU9OCiAg ICAgICAgRElTUExBWS1ISU5UICJkIgogICAgICAgIFNUQVRVUyAgICAgICBjdXJyZW50CiAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIHVuaXF1ZSB2YWx1ZSwgZ3JlYXRlciB0aGFuIHpl cm8sIGZvciBlYWNoIFBNRSBjb25maWd1cmF0aW9uCiAgICAgICAgICBwcm9maWxlIGluIHRoZSBt YW5hZ2VkIEVGTUN1IHBvcnQuIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQKICAgICAgICAgIHZhbHVl cyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5nIGZyb20gMS4gVGhlIHZhbHVlCiAg ICAgICAgICBmb3IgZWFjaCBwcm9maWxlIE1VU1QgcmVtYWluIGNvbnN0YW50IGF0IGxlYXN0IGZy b20gb25lCiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgZW50aXR5J3MgbmV0d29y ayBtYW5hZ2VtZW50IHN5c3RlbQogICAgICAgICAgdG8gdGhlIG5leHQgcmUtaW5pdGlhbGl6YXRp b24uIgogICAgICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMyICgxLi4yNTUpCgogICAgICBFZm1Q cm9maWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTgogICAgICAgIERJU1BMQVkt SElOVCAiZCIKICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgYW4gZXh0ZW5zaW9uIG9mIEVm bVByb2ZpbGVJbmRleAogICAgICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRlciBkZWZpbmVzIGEg Z3JlYXRlciB0aGFuIHplcm8gdmFsdWUgdXNlZAogICAgICAgICAgdG8gaWRlbnRpZnkgYSBQTUUg cHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzCiAgICAgICAgICBleHRlbnNp b24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB6ZXJvLiBUaGUgdmFsdWUgb2YKICAg ICAgICAgIHplcm8gaXMgb2JqZWN0LXNwZWNpZmljIGFuZCBNVVNUIHRoZXJlZm9yZSBiZSBkZWZp bmVkIGFzIHBhcnQKICAgICAgICAgIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdo aWNoIHVzZXMgdGhpcyBzeW50YXguCiAgICAgICAgICBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2Yg emVybyB2YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMKICAgICAgICAgIHdoZXJlIGN1cnJl bnQgb3BlcmF0aW9uYWwgcHJvZmlsZSBpcyB1bmtub3duLiIKICAgICAgICBTWU5UQVggICAgICAg VW5zaWduZWQzMiAoMC4uMjU1KQoKICAgICAgRWZtUHJvZmlsZUluZGV4TGlzdCA6Oj0gVEVYVFVB TC1DT05WRU5USU9OCiAgICAgICAgRElTUExBWS1ISU5UICIxZDoiCiAgICAgICAgU1RBVFVTICAg ICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlJlcHJlc2VudHMgYSBs aXN0IG9mIHVwIHRvIDYgRWZtUHJvZmlsZUluZGV4J3MuCiAgICAgICAgICBUaGUgRWZtUHJvZmls ZUluZGV4IHRleHR1YWwgY29udmVudGlvbiBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuCiAgICAgICAg ICB6ZXJvIHZhbHVlIHVzZWQgdG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZSBpbiB0aGUgbWFuYWdl ZCBFRk1DdQogICAgICAgICAgcG9ydC4gVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIGEgY29u Y2F0ZW5hdGlvbiBvZiBvbmUgb3IKICAgICAgICAgIG1vcmUgKHVwIHRvIDYpIG9jdGV0cywgd2hl cmUgZWFjaCBvY3RldCBjb250YWlucyBhbiA4LWJpdAogICAgICAgICAgRWZtUHJvZmlsZUluZGV4 IHZhbHVlLgogICAgICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleExpc3Qgc3BlY2lmaWVzIGEgbGlz dCBvZiBhbHRlcm5hdGl2ZQogICAgICAgICAgcHJvZmlsZXMsIGFueSBvZiB3aGljaCBjYW4gYmUg Y2hvc2VuIGZvciBjb25maWd1cmF0aW9uIG9mIGFuCiAgICAgICAgICBQTUUuIgogICAgICAgIFNZ TlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMS4uNikpCgogICAgICBFZm1UcnV0aFZhbHVl T3JVbmtub3duIDo6PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICAgICBTVEFUVVMgICAgICAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRp b24gaXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBUcnV0aFZhbHVlCiAgICAgICAgICBjb252ZW50aW9u LiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgKICAgICAgICAgIHBvc3Np YmxlIHZhbHVlcyBvZiB0cnVlKDEpIGFuZCBmYWxzZSgyKS4gVGhpcwogICAgICAgICAgZXh0ZW5z aW9uIHBlcm1pdHMgdGhlIGFkZGl0aW9uYWwgdmFsdWUgb2YgdW5rbm93bigwKSwgd2hpY2gKCgoK QmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAg ICAgICAgW1BhZ2UgMjRdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZh Y2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGNhbiBiZSByZXR1 cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3aGVuIGFuIGV4YWN0CiAgICAgICAg ICB0cnVlIG9yIGZhbHNlIHZhbHVlIG9mIHRoZSBvYmplY3QgY2Fubm90IGJlIGRldGVybWluZWQu IgogICAgICAgIFNZTlRBWCAgICAgICBJTlRFR0VSIHsgdW5rbm93bigwKSwgdHJ1ZSgxKSwgZmFs c2UoMikgfQoKICAgICAtLSBQb3J0IE5vdGlmaWNhdGlvbnMgR3JvdXAKCiAgICAgIGVmbUN1UG9y dE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQb3J0IDAgfQoKICAg ICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUKICAgICAgICBPQkpFQ1RT IHsKICAgICAgICAgIC0tIGlmSW5kZXggaXMgbm90IG5lZWRlZCBoZXJlIHNpbmNlIHdlIGFyZSB1 bmRlciBzcGVjaWZpYyBQQ1MKICAgICAgICAgIGlmU3BlZWQsCiAgICAgICAgICBlZm1DdVRocmVz aExvd1JhdGUKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhl IEVGTUN1IHBvcnQnIGRhdGEgcmF0ZQogICAgICAgICAgaGFzIHJlYWNoZWQvZHJvcHBlZCBiZWxv dyBvciBleGNlZWRlZCB0aGUgbG93IHJhdGUgdGhyZXNob2xkLAogICAgICAgICAgc3BlY2lmaWVk IGJ5IGVmbUN1VGhyZXNoTG93UmF0ZS4KCiAgICAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkg YmUgc2VuZCBmb3IgdGhlIC1PIHN1YnR5cGUgcG9ydHMKICAgICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtTykgd2hpbGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZwogICAgICAgICAg ZXZlbnQgaW4gYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCAocmF0ZSBpcyBhYm92ZSB0aGUK ICAgICAgICAgIHRocmVzaG9sZCkgdG8gbG93IChyYXRlIGVxdWFscyB0aGUgdGhyZXNob2xkIG9y IGJlbG93IGl0KSBhbmQKICAgICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmlj YXRpb24gaXMgbm90IGFwcGxpY2FibGUgdG8KICAgICAgICAgIHRoZSAtUiBzdWJ0eXBlcy4KCiAg ICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qg b2YgMi41IHNlYywKICAgICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0 aW9uIGFuZCBub3RpZmljYXRpb24sCiAgICAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50 IHNpbXVsdGFuZW91cyBMaW5rVXAvTGlua0Rvd24gYW5kCiAgICAgICAgICBlZm1DdUxvd1JhdGVD cm9zc2luZyBub3RpZmljYXRpb25zIHRvIGJlIHNlbnQuCgogICAgICAgICAgVGhlIGFkYXB0aXZl IG5hdHVyZSBvZiB0aGUgRUZNQ3UgdGVjaG5vbG9neSBhbGxvd3MgdGhlIHBvcnQgdG8KICAgICAg ICAgIGFkYXB0IGl0c2VsZiB0byB0aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50 LCBlLmcuCiAgICAgICAgICBhbiBpbXB1bHNlIG5vaXNlLCBhbGllbiBjcm9zc3RhbGsgb3IgYSBt aWNyby1pbnRlcnJ1cHRpb24gbWF5CiAgICAgICAgICB0ZW1wb3JhcmlseSBkcm9wIG9uZSBvciBt b3JlIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwLAogICAgICAgICAgY2F1c2luZyBhIHJh dGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZNQ3UgbGluay4KICAgICAgICAgIFRo ZSBkcm9wcGVkIFBNRXMgd291bGQgdGhlbiB0cnkgdG8gcmUtaW5pdGlhbGl6ZSwgcG9zc2libHkg YXQKICAgICAgICAgIGEgbG93ZXIgcmF0ZSB0aGFuIGJlZm9yZSwgYWRqdXN0aW5nIHRoZSByYXRl IHRvIHByb3ZpZGUKICAgICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIgbWFyZ2luLgoKICAgICAg ICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUK ICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgICAgOjo9 IHsgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyAxIH0KCiAgICAgIC0tIFBDUyBQb3J0IGdyb3VwCgog ICAgICBlZm1DdVBvcnRDb25mVGFibGUgT0JKRUNULVRZUEUKCgoKQmVpbGkgICAgICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjVdCgwK SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3CgoKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBv cnRDb25mRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRhYmxlIGZv ciBDb25maWd1cmF0aW9uIG9mIEVGTUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQogICAgICAg ICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQog ICAgICAgICAgcGVyc2lzdGVudCBtYW5uZXIiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0IDEgfQoK ICAgICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg RWZtQ3VQb3J0Q29uZkVudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJB biBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLgogICAgICAgICAg RWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRl eC4KICAgICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBh IHNpbmdsZQogICAgICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iCiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgICAg Ojo9IHsgZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQoKICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6 PQogICAgICAgIFNFUVVFTkNFIHsKICAgICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAg ICAgICAgIElOVEVHRVIsCiAgICAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAg ICBQaHlzQWRkcmVzcywKICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAg IEVmbVByb2ZpbGVJbmRleExpc3QsCiAgICAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAg ICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAg ICAgICAgVW5zaWduZWQzMiwKICAgICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAg ICAgIFRydXRoVmFsdWUsCiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUgICAgICAgICAgICAg ICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAg VHJ1dGhWYWx1ZQogICAgICAgIH0KCiAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZ UEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIGVuYWJsZWQoMSksCiAg ICAgICAgICBkaXNhYmxlZCgyKQogICAgICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9mIHRoZSBQQUYgb2YgdGhlIEVG TUN1IHBvcnQKICAgICAgICAgIChQQ1MpLgogICAgICAgICAgV2hlbiAnZGlzYWJsZWQnLCBQTUUg QWdncmVnYXRpb24gd2lsbCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQogICAgICAgICAgUENTLiBO byBtb3JlIHRoYW4gYSBzaW5nbGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0aGlzIFBDUyBpbgog ICAgICAgICAgdGhpcyBjYXNlLgogICAgICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3aWxsIGJl IHBlcmZvcm1lZCBieSB0aGUgUENTIHdoZW4gdGhlIGxpbmsKICAgICAgICAgIGlzIFVwLCBldmVu IG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwgaWYgUEFGIGlzIHN1cHBvcnRlZC4KCgoKQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgMjZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFBDUyBwb3J0cyBpbmNhcGFi bGUgb2Ygc3VwcG9ydGluZyBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YKICAgICAgICAgICdk aXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9ydHMgU0hBTEwgYmUgcmVqZWN0 ZWQuCgogICAgICAgICAgUEFGICdlbmFibGVkJyBwb3J0IHdpdGggbXVsdGlwbGUgUE1FcyBhc3Np Z25lZCBjYW5ub3QgYmUKICAgICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdkaXNhYmxl JyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsCiAgICAgICAgICB1bnRpbCBhdCBtb3N0IG9u ZSBQTUUgaXMgbGVmdCBhc3NpZ25lZC4KCiAgICAgICAgICBDaGFuZ2luZyBQQUZBZG1pblN0YXRl IGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlvbiBhbmQKICAgICAgICAgIGFzIHN1Y2gg U0hBTEwgYmUgZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvCiAgICAgICAg ICBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsgaXMgVXAg b3IKICAgICAgICAgIEluaXRpYWxpemluZy4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRv IHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZBZG1pblN0YXRlLgoKICAgICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGVuYWJsZSBiaXQgaW4gdGhlIDEwUC8y QiBQQ1MgY29udHJvbAogICAgICAgICAgcmVnaXN0ZXIuCgogICAgICAgICAgVGhpcyBvYmplY3Qg TVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIFJFRkVS RU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDQ1LjIuMy4xOC4zIgogICAgICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAxIH0KCiAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAg T0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkKICAg ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiUEFGIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBF Rk1DdSBwb3J0IChQQ1MpLgogICAgICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNl ZCBieSB0aGUgRGlzY292ZXJ5IGZ1bmN0aW9uLAogICAgICAgICAgd2hlbiBQQUYgaXMgc3VwcG9y dGVkLgogICAgICAgICAgUENTIHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFM TCByZXR1cm4gYSB2YWx1ZSBvZgogICAgICAgICAgYWxsIHplcm9lcy4gQXR0ZW1wdHMgdG8gY2hh bmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkCiAgICAgICAgICBpbiB0aGlzIGNhc2Uu CiAgICAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIC1PIHN1 YnR5cGUgUENTIGJlZm9yZQogICAgICAgICAgd3JpdGluZyBvcGVyYXRpb25zIG9uIHRoZSBlZm1D dVBBRlJlbW90ZURpc2NvdmVyeUNvZGUKICAgICAgICAgIChTZXRfaWZfQ2xlYXIgYW5kIENsZWFy X2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1FcwogICAgICAgICAgYXNzb2NpYXRlZCB3aXRo IHRoZSBQQ1MuCiAgICAgICAgICBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGlzIG9iamVjdCBmb3Ig LVIgc3VidHlwZSBwb3J0cyBhZnRlcgogICAgICAgICAgcmVzZXQgaXMgYWxsIHplcm9lcy4gRm9y IC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlzCiAgICAgICAgICBvYmplY3QgY2Fu bm90IGJlIGNoYW5nZWQgZGlyZWN0bHkuIFRoaXMgdmFsdWUgbWF5IGJlIGNoYW5nZWQKICAgICAg ICAgIGFzIGEgcmVzdWx0IG9mIHdyaXRpbmcgb3BlcmF0aW9uIG9uIHRoZQogICAgICAgICAgZWZt Q3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUgUE1FIG9mIC1PCiAgICAg ICAgICBzdWJ0eXBlLCBjb25uZWN0ZWQgdG8gb25lIG9mIHRoZSBsb2NhbCBQTUVzIGFzc29jaWF0 ZWQgd2l0aAogICAgICAgICAgdGhlIFBDUy4KCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcyBEb3duLgogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hh bmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2Ugb2YKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgMjddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3Ig aW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcgogICAgICAgICAgSW5pdGlh bGl6aW5nLgoKICAgICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5IGNvZGUgbWFwcyB0byB0aGUgbG9j YWwgRGlzY292ZXJ5IGNvZGUKICAgICAgICAgIHZhcmlhYmxlIGluIFBBRiAobm90ZSB0aGF0IGl0 IGRvZXMgbm90IGhhdmUgYSBjb3JyZXNwb25kaW5nCiAgICAgICAgICBDbGF1c2UgNDUgcmVnaXN0 ZXIpIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC4zLCA2 MS4yLjIuOC40LCA0NS4yLjYuNi4xIgogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAy IH0KCiAgICAgIGVmbUN1QWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbVByb2ZpbGVJbmRleExpc3QKICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAi RGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMgaW4g dGhlCiAgICAgICAgICBFRk1DdSBwb3J0LiBUaGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgcG9pbnRl cnMgdG8gZW50cmllcyBpbgogICAgICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUg b3IKICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1 cnJlbnQKICAgICAgICAgIG9wZXJhdGluZyBTdWJUeXBlIG9mIHRoZSBFRk1DdSBwb3J0IGFzIGlu ZGljYXRlZCBieQogICAgICAgICAgZWZtQ3VQb3J0U2lkZS4KICAgICAgICAgIFRoZSB2YWx1ZSBv ZiB0aGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mCiAgICAgICAgICBQ cm9maWxlcy4gSWYgdGhpcyBsaXN0IGNvbnNpc3RzIG9mIGEgc2luZ2xlIFByb2ZpbGUgaW5kZXgs CiAgICAgICAgICB0aGVuIGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFM TCBiZSBjb25maWd1cmVkCiAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFByb2ZpbGUgcmVmZXJl bmNlZCBieSB0aGF0IGluZGV4LCB1bmxlc3MgaXQKICAgICAgICAgIGlzIG92ZXJ3cml0dGVuIGJ5 IGNvcnJlc3BvbmRpbmcgbm9uLXplcm8gZWZtQ3VQbWVBZG1pblByb2ZpbGUsCiAgICAgICAgICB3 aGljaCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgZWZtQ3VBZG1pblByb2ZpbGUuCiAgICAgICAgICBU aGUgbGlzdCwgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIGluZGV4LCBhbGxvd3MgZWFjaCBQ TUUKICAgICAgICAgIGluIHRoZSBwb3J0IHRvIGJlIGNvbmZpZ3VyZWQgYWNjb3JkaW5nIHRvIGFu eSBQcm9maWxlCiAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGxpc3QuCiAgICAgICAgICBCeSBk ZWZhdWx0IHRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIDB4MDEsIHJlZmVyZW5jaW5nIDFzdAog ICAgICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvciBlZm1DdVBtZTEwUFBy b2ZpbGVUYWJsZS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBhbmQgcmVhZGFi bGUgZm9yIHRoZSAtTyBzdWJ0eXBlCiAgICAgICAgICAoMkJhc2VUTC1PIG9yIDEwUGFzc1RTLU8p IEVGTUN1IHBvcnRzLiBJdCBpcyB1bnN1cHBvcnRlZCBmb3IKICAgICAgICAgIHRoZSAtUiAgc3Vi dHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzLgoKICAgICAgICAgIE5vdGUgdGhh dCBjdXJyZW50IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQogICAg ICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QuCgogICAgICAgICAgTW9kaWZpY2F0aW9u IG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMKICAgICAg ICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVk LCBpZiB0aGUKICAgICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLgogICAgICAgICAg QXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgbGlzdCB3aXRoIGEgbWVtYmVyCiAgICAg ICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0 aXZlIGVudHJ5CiAgICAgICAgICBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9maWxlIHRhYmxlLCBN VVNUIGJlIHJlamVjdGVkLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjhdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFy eSAyMDA3CgoKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4x LjYiCiAgICAgICAgREVGVkFMIHsgJzAxJ0ggfQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZF bnRyeSAzIH0KCiAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgIE9CSkVDVC1UWVBFCiAgICAgICAg U1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDB8OTk5OTk5KQogICAgICAgIFVOSVRTICAg ICAgICJLYnBzIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJEZXNpcmVkIEVGTUN1 IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRlIGluCiAgICAgICAgICBL YnBzLCB0byBiZSBhY2hpZXZlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIHVuZGVyIHNwZWN0cmFs CiAgICAgICAgICByZXN0cmljdGlvbnMgcGxhY2VkIG9uIGVhY2ggUE1FIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvcgogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGggdGhlIGRlc2ly ZWQgU05SIE1hcmdpbiBzcGVjaWZpZWQgYnkKICAgICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLgog ICAgICAgICAgSW4gY2FzZSBvZiBQQUYsIHRoaXMgb2JqZWN0IHJlcHJlc2VudHMgYSBzdW0gb2Yg aW5kaXZpZHVhbCBQTUUKICAgICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBlbnNh dGUgZm9yIGZyYWdtZW50YXRpb24gYW5kCiAgICAgICAgICA2NC82NUIgZnJhbWluZyBvdmVyaGVh ZCAoZS5nLiB0YXJnZXQgZGF0YSByYXRlIG9mIDEwTWJwcwogICAgICAgICAgU0hBTEwgYWxsb3cg bG9zc2xlc3MgdHJhbnNtaXNzaW9uIG9mIGZ1bGwtZHVwbGV4IDEwTWJwcwogICAgICAgICAgRXRo ZXJuZXQgZnJhbWUgc3RyZWFtIHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLgoKICAgICAg ICAgIFRoZSB2YWx1ZSBpcyBsaW1pdGVkIGFib3ZlIGJ5IDEwME1icHMgYXMgdGhpcyBpcyB0aGUg bWF4CiAgICAgICAgICBidXJzdCByYXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLgoKICAg ICAgICAgIFRoZSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDEwMDAwMCBpbmRpY2F0ZXMgdGhhdCB0aGUg dG90YWwgZGF0YQogICAgICAgICAgcmF0ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0 ZXIgaW5pdGlhbGl6YXRpb24gU0hBTEwKICAgICAgICAgIGJlIGVxdWFsIHRvIHRoZSB0YXJnZXQg ZGF0YSByYXRlIG9yIGxlc3MsIGlmIHRoZSB0YXJnZXQgZGF0YQogICAgICAgICAgcmF0ZSBjYW5u b3QgYmUgYWNoaWV2ZWQgdW5kZXIgc3BlY3RyYWwgcmVzdHJpY3Rpb25zIHNwZWNpZmllZAogICAg ICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGgg ZGVzaXJlZCBTTlIKICAgICAgICAgIG1hcmdpbi4gSW4gY2FzZSB0aGUgY29wcGVyIGVudmlyb25t ZW50IGFsbG93cyB0byBhY2hpZXZlCiAgICAgICAgICBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRo YW4gdGhhdCBzcGVjaWZpZWQgYnkgdGhlIHRhcmdldCwgdGhlCiAgICAgICAgICBleGNlc3MgY2Fw YWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SCiAgICAg ICAgICBtYXJnaW4gb3IgcmVjbGFpbWVkIGJ5IG1pbmltaXppbmcgdHJhbnNtaXQgcG93ZXIgYXMg Y29udHJvbGxlZAogICAgICAgICAgYnkgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEuCgogICAgICAgICAg VGhlIHZhbHVlIG9mIDk5OTk5OSBtZWFucyB0aGF0IHRoZSB0YXJnZXQgZGF0YSByYXRlIGlzIG5v dAogICAgICAgICAgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5h YmxlIHJhdGUgZHVyaW5nCiAgICAgICAgICBpbml0aWFsaXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1 bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwKICAgICAgICAgIHJlc3RyaWN0aW9ucyBhbmQgd2l0aCBk ZXNpcmVkIFNOUiBNYXJnaW4uCgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBm b3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMKICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNz VFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4KCiAgICAgICAgICBD aGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRo ZQogICAgICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3Qg TVVTVCBiZSByZWplY3RlZAogICAgICAgICAgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJv ciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQogICAgICAgICAgbGluayBpcyBVcCBvciBJbml0 aWFsaXppbmcuCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwg MjAwNyAgICAgICAgICAgICAgIFtQYWdlIDI5XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg RUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAg ICBOb3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVz ZW50ZWQKICAgICAgICAgIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICAgICBU aGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAg ICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDQgfQoKICAgICAgZWZtQ3VUYXJnZXRTbnJN Z24gIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi4yMSkKICAg ICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkRl c2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFsbCBQTUVzCiAg ICAgICAgICBhc3NpZ25lZCB0byB0aGUgcG9ydCwgZHVyaW5nIGluaXRpYWxpemlhdGlvbi4gKFRo ZSBTTlIgbWFyZ2luCiAgICAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBkZXNp cmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLgoKICAgICAgICAgIE5vdGUgdGhhdCA4MDIuM2Fo IHJlY29tbWVuZHMgdXNpbmcgZGVmYXVsdCBUYXJnZXQgU05SIE1hcmdpbgogICAgICAgICAgb2Yg NWRCIGZvciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3Jk ZXIKICAgICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4t NyBhdCB0aGUgUE1BCiAgICAgICAgICBzZXJ2aWNlIGludGVyZmFjZS4KCiAgICAgICAgICBUaGlz IG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cwogICAg ICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1S IHN1YnR5cGVzLgoKICAgICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgU05SIE1hcmdpbiBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQogICAgICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZAogICAgICAgICAgKGluIGNh c2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQogICAg ICAgICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCgogICAgICAgICAgTm90ZSB0aGF0IGN1 cnJlbnQgU05SIE1hcmdpbiBvZiB0aGUgUE1FcyBjb21wcmlzaW5nIHRoZSBFRk1DdQogICAgICAg ICAgcG9ydCBpcyByZXByZXNlbnRlZCBieSBlZm1DdVBtZVNuck1nbi4KCiAgICAgICAgICBUaGlz IG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAg ICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEuMiIKICAgICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgNSB9CgogICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElP TgogICAgICAgICAgIkluZGljYXRlcyBob3cgdG8gdXRpbGl6ZSBleGNlc3MgY2FwYWNpdHkgd2hl biB0aGUgY29wcGVyCiAgICAgICAgICBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdo ZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhhdAogICAgICAgICAgc3BlY2lmaWVkIGJ5IHRoZSBl Zm1DdVRhcmdldERhdGFSYXRlLgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlCiAgICAgICAgICByZWNsYWltZWQg YnkgbWluaW1pemluZyB0cmFuc21pdCBwb3dlciwgZS5nLiB1c2luZyBoaWdoZXIKCgoKQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgMzBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGNvbnN0ZWxsYXRpb25zIGFu ZCBQb3dlciBCYWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgICAgICBpbnRlcmZlcmVu Y2UgdG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZQogICAgICAgICAg YWR2ZXJzZSBpbXBhY3QgdG8gbGluay9zeXN0ZW0gcGVyZm9ybWFuY2UuCgogICAgICAgICAgVmFs dWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxM CiAgICAgICAgICBiZSBjb252ZXJ0ZWQgdG8gYWRkaXRpb25hbCBTTlIgbWFyZ2luIGFuZCBzcHJl YWQgZXZlbmx5IGFjcm9zcwogICAgICAgICAgYWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRo ZSAoUENTKSBwb3J0LCB0byBpbmNyZWFzZSBsaW5rCiAgICAgICAgICByb2J1c3RuZXNzLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1 IHBvcnRzCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxl IGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3Qg TVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgICAgRG93bi4gQXR0ZW1w dHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2UKICAgICAg ICAgIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGlu ayBpcyBVcAogICAgICAgICAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICAgICA6Oj0g eyBlZm1DdVBvcnRDb25mRW50cnkgNiB9CgogICAgICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVD VC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDApCiAgICAgICAg VU5JVFMgICAgICAgIkticHMiCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMg b2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJhdGUgY3Jvc3NpbmcgYWxhcm0K ICAgICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZv ciB0aGlzIHBvcnQKICAgICAgICAgIHJlYWNoZXMvZHJvcHMgYmVsb3cgb3IgZXhjZWVkcyB0aGlz IHRocmVzaG9sZCwgYW4KICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlv biBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQKICAgICAgICAgIGJ5IGVmbUN1TG93UmF0ZUNy b3NzaW5nRW5hYmxlLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRo ZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgICAgVGhpcyBv YmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAg IDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0KCiAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5n RW5hYmxlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VMb3dSYXRl Q3Jvc3Npbmcgbm90aWZpY2F0aW9ucyBzaG91bGQKICAgICAgICAgIGJlIGdlbmVyYXRlZCBmb3Ig dGhpcyBpbnRlcmZhY2UuCgogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhh dCBlZm1DdUxvd1JhdGVDcm9zc2luZwogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQu IFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CgoKCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMxXQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNwoKCiAgICAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLgoK ICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVG TUN1IHBvcnRzCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxh YmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIDo6PSB7IGVmbUN1UG9y dENvbmZFbnRyeSA4IH0KCgogICAgICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZ UEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDYXBhYmlsaXR5RW50 cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRhYmxlIGZvciBDYXBhYmls aXRpZXMgb2YgRUZNQ3UgMkJBU0UtVEwvMTBQQVNTLVRTIChQQ1MpCiAgICAgICAgICBQb3J0cy4g RW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhCiAgICAgICAgICBw ZXJzaXN0ZW50IG1hbm5lciIKICAgICAgICA6Oj0geyBlZm1DdVBvcnQgMiB9CgogICAgICBlZm1D dVBvcnRDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1D dVBvcnRDYXBhYmlsaXR5RW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAg IkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUuCiAgICAgICAgICBF YWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4 LgogICAgICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEg c2luZ2xlCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28g aW5kZXhlZCBieSBpZkluZGV4LiIKICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICAgICA6 Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgMSB9CgogICAgICBFZm1DdVBvcnRDYXBhYmls aXR5RW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0UgewogICAgICAgICAgZWZtQ3VQQUZTdXBwb3J0 ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwKICAgICAgICAgIGVmbUN1UGVlclBBRlN1cHBv cnRlZCAgICAgICAgICAgIEVmbVRydXRoVmFsdWVPclVua25vd24sCiAgICAgICAgICBlZm1DdVBB RkNhcGFjaXR5ICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VQZWVy UEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMgogICAgICAgIH0KCiAgICAgIGVmbUN1 UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUK ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24g KFBBRikgQ2FwYWJpbGl0eSBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgICAgKFBDUykuCiAgICAg ICAgICBUaGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiB0cnVlKDEpIHdoZW4gdGhlIFBDUyBjYW4g cGVyZm9ybQogICAgICAgICAgUE1FIGFnZ3JlZ2F0aW9uIG9uIHRoZSBhdmFpbGFibGUgUE1Fcy4K CgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMzJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRl cmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFBvcnRzIGlu Y2FwYWJsZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuCgogICAgICAg ICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGU3VwcG9y dGVkLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwKICAgICAgICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGF2 YWlsYWJsZSBiaXQgaW4gdGhlCiAgICAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4x LjQsIDQ1LjIuMy4xNy4xIgogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAx IH0KCiAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCAgT0JKRUNULVRZUEUKICAgICAgICBTWU5U QVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIENhcGFiaWxpdHkgb2YgdGhlIEVG TUN1IHBvcnQKICAgICAgICAgIChQQ1MpIGxpbmsgcGFydG5lci4KICAgICAgICAgIFRoaXMgb2Jq ZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBDUyBjYW4KICAgICAg ICAgIHBlcmZvcm0gUE1FIGFnZ3JlZ2F0aW9uIG9uIGl0cyBhdmFpbGFibGUgUE1Fcy4KICAgICAg ICAgIFBvcnRzIHdob3NlIHBlZXJzIGFyZSBpbmNhcGFibGUgb2YgUEFGLCBTSEFMTCByZXR1cm4g YSB2YWx1ZQogICAgICAgICAgb2YgZmFsc2UoMikuCiAgICAgICAgICBQb3J0cyB3aG9zZSBwZWVy cyBjYW5ub3QgYmUgcmVhY2hlZCBiZWNhdXNlIG9mIHRoZSBsaW5rCiAgICAgICAgICBzdGF0ZSwg U0hBTEwgcmV0dXJuIGEgdmFsdWUgaWYgdW5rbm93bigwKS4KCiAgICAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhUmVtb3RlUEFGU3Vw cG9ydGVkLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ Q1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgUmVt b3RlIFBBRiBzdXBwb3J0ZWQgYml0IGluIHRoZQogICAgICAgICAgMTBQLzJCIGNhcGFiaWxpdHkg cmVnaXN0ZXIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIs IDMwLjExLjEuMS45LCA0NS4yLjMuMTcuMiIKICAgICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmls aXR5RW50cnkgMiB9CgogICAgICBlZm1DdVBBRkNhcGFjaXR5ICBPQkpFQ1QtVFlQRQogICAgICAg IFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDEuLjMyKQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAg ICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2Fs IFBBRi4KICAgICAgICAgIFRoZSBudW1iZXIgb2YgUE1FcyBjdXJyZW50bHkgYXNzaWduZWQgdG8g YSBwYXJ0aWN1bGFyCiAgICAgICAgICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMpIGlzIG5ldmVy IGdyZWF0ZXIgdGhhbgogICAgICAgICAgZWZtQ3VQQUZDYXBhY2l0eS4KCiAgICAgICAgICBUaGlz IG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhTG9jYWxQ QUZDYXBhY2l0eS4iCiAgICAgICAgUkVGRVJFTkNFCgoKCkJlaWxpICAgICAgICAgICAgICAgICAg ICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMzXQoMCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNwoKCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiCiAg ICAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMgfQoKICAgICAgZWZtQ3VQZWVy UEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAo MHwxLi4zMikKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJOdW1iZXIgb2YgUE1FcyB0 aGF0IGNhbiBiZSBhZ2dyZWdhdGVkIGJ5IHRoZSBQQUYgb2YgdGhlIHBlZXIKICAgICAgICAgIFBo eSAoUENTIHBvcnQpLgogICAgICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBlZXIg UEFGIENhcGFjaXR5IGlzIHVua25vd24KICAgICAgICAgIChwZWVyIGNhbm5vdCBiZSByZWFjaGVk KS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRl CiAgICAgICAgICBhUmVtb3RlUEFGQ2FwYWNpdHkuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAg ICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCIKICAgICAgICA6Oj0geyBlZm1DdVBv cnRDYXBhYmlsaXR5RW50cnkgNCB9CgoKICAgICAgZWZtQ3VQb3J0U3RhdHVzVGFibGUgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRTdGF0dXNFbnRy eQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRl cyBvdmVyYWxsIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdQogICAgICAgICAgMkJBU0UtVEwv MTBQQVNTLVRTIHBvcnRzLCBjb21wbGVtZW50aW5nIHRoZSBnZW5lcmljIHN0YXR1cwogICAgICAg ICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFibGUg b2YKICAgICAgICAgIE1BVS1NSUIuIEFkZGl0aW9uYWwgc3RhdHVzIGluZm9ybWF0aW9uIGFib3V0 IGNvbm5lY3RlZCBQTUVzCiAgICAgICAgICBpcyBhdmFpbGFibGUgZnJvbSBlZm1DdVBtZVN0YXR1 c1RhYmxlLgoKICAgICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhl IGVxdWlwbWVudC4gQXMgc3VjaCwKICAgICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiIKICAg ICAgICA6Oj0geyBlZm1DdVBvcnQgMyB9CgogICAgICBlZm1DdVBvcnRTdGF0dXNFbnRyeSBPQkpF Q1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5CiAgICAgICAg TUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBT dGF0dXMgdGFibGUuCiAgICAgICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9y dCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LgogICAgICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBD UyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xlCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUg cG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIKICAgICAgICBJTkRF WCAgeyBpZkluZGV4IH0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0KCiAg ICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5IDo6PQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAzNF0KDApJbnRlcm5l dC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1 YXJ5IDIwMDcKCgogICAgICAgIFNFUVVFTkNFIHsKICAgICAgICAgIGVmbUN1Rmx0U3RhdHVzICAg ICAgICAgICAgICAgICAgIEJJVFMsCiAgICAgICAgICBlZm1DdVBvcnRTaWRlICAgICAgICAgICAg ICAgICAgICBJTlRFR0VSLAogICAgICAgICAgZWZtQ3VOdW1QTUVzICAgICAgICAgICAgICAgICAg ICAgVW5zaWduZWQzMiwKICAgICAgICAgIGVmbUN1UEFGSW5FcnJvcnMgICAgICAgICAgICAgICAg IENvdW50ZXIzMiwKICAgICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyAgICAgICAgIENv dW50ZXIzMiwKICAgICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENvdW50 ZXIzMiwKICAgICAgICAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgICAgICAgICAgIENvdW50ZXIz MiwKICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzICAgICAgICAgIENvdW50ZXIzMiwK ICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzICAgICAgICAgICAgIENvdW50ZXIzMiwKICAg ICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyAgICAgICAgICAgICAgIENvdW50ZXIzMiwKICAgICAg ICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgICAgICAgICAgICAgIENvdW50ZXIzMgogICAgICAgIH0K CiAgICAgIGVmbUN1Rmx0U3RhdHVzICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEJJ VFMgewogICAgICAgICAgbm9QZWVyKDApLAogICAgICAgICAgcGVlclBvd2VyTG9zcygxKSwKICAg ICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCgyKSwKICAgICAgICAgIGxvd1JhdGUoMykKICAgICAg ICB9CiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUKICAgICAgICAgIGNvbmRpdGlv bnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgogICAgICAgICAgICBub1BlZXIgICAg ICAgICAgICAgIC0gcGVlciBQSFkgY2Fubm90IGJlIHJlYWNoZWQgKGUuZy4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3du CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldGMuKSBNb3JlIGluZm8gaXMgYXZh aWxhYmxlIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZm1DdVBtZUZsdFN0 YXR1cy4KICAgICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIgUEhZIGhhcyBpbmRp Y2F0ZWQgaW1wZW5kaW5nIHVuaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh aWx1cmUgZHVlIHRvIGxvc3Mgb2YgbG9jYWwgcG93ZXIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgnRHlpbmcgR2FzcCcpLgogICAgICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2gg IC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFyZSBub3Qgb2YgdGhlIHNhbWUgc3ViLXR5cGUsIGUuZy4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbWUgUE1FcyBpbiB0aGUgbG9jYWwgZGV2aWNl IGFyZSAtTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFy ZSAtUiBzdWJ0eXBlLgogICAgICAgICAgICBsb3dSYXRlICAgICAgICAgICAgIC0gaWZTcGVlZCBv ZiB0aGUgcG9ydCByZWFjaGVkIG9yIGRyb3BwZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJlbG93IGVmbUN1VGhyZXNoTG93UmF0ZQoKICAgICAgICAgIFRoaXMgb2JqZWN0IGlz IGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIG9iamVjdAogICAgICAgICAgaW4g SUYtTUlCIGFuZCBpZk1hdU1lZGlhQXZhaWxhYmxlIGluIE1BVS1NSUIuCgogICAgICAgICAgQWRk aXRpb25hbCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgdmlhIGVmbUN1UG1lRmx0U3RhdHVzCiAg ICAgICAgICBvYmplY3QgZm9yIGVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cCAoc2lu Z2xlIFBNRSBpZgogICAgICAgICAgUEFGIGlzIGRpc2FibGVkKS4iCiAgICAgICAgUkVGRVJFTkNF CiAgICAgICAgICAiSUYtTUlCLCBpZk9wZXJTdGF0dXM7IE1BVS1NSUIsIGlmTWF1TWVkaWFBdmFp bGFibGU7CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDM1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICAg ZWZtQ3VQbWVGbHRTdGF0dXMiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMSB9 CgogICAgICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIElO VEVHRVIgewogICAgICAgICAgc3Vic2NyaWJlcigxKSwKICAgICAgICAgIG9mZmljZSgyKSwKICAg ICAgICAgIHVua25vd24oMykKICAgICAgICB9CiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLgogICAgICAgICAgVGhlIHZh bHVlIG9mICdzdWJzY3JpYmVyJyBpbmRpY2F0ZXMgdGhlIHBvcnQgaXMgZGVzaWduYXRlZCBhcwog ICAgICAgICAgJy1SJyBzdWJ0eXBlIChhbGwgUE1FcyBhc3NpZ25lZCB0byB0aGlzIHBvcnQgYXJl IG9mIHN1YnR5cGUKICAgICAgICAgICctUicpLgogICAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSAn b2ZmaWNlJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBpcwogICAgICAgICAgZGVzaWduYXRlZCBh cyAnLU8nIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUKICAgICAg ICAgIG9mIHN1YnR5cGUgJy1PJykuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgJ3Vua25vd24nIGlu ZGljYXRlcyB0aGF0IHRoZSBwb3J0IGhhcyBubyBhc3NpZ25lZAogICAgICAgICAgUE1FcyB5ZXQg b3IgdGhhdCB0aGUgYXNzaWduZWQgUE1FcyBhcmUgbm90IG9mIHRoZSBzYW1lIHNpZGUKICAgICAg ICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxs eSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhUGh5RW5kIgogICAg ICAgIFJFRkVSRU5DRQogICAgICAgICAgICJbODAyLjNhaF0gNjEuMSwgMzAuMTEuMS4xLjIiCiAg ICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMiB9CgogICAgICBlZm1DdU51bVBNRXMg IE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIpCiAgICAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBpcyBjdXJyZW50 bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGCiAgICAgICAgICAoYXNzaWduZWQgdG8gdGhl IEVGTUN1IHBvcnQgdXNpbmcgaWZTdGFja1RhYmxlKS4KICAgICAgICAgIFRoaXMgbnVtYmVyIGlz IG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNhcGFjaXR5LgoKICAgICAgICAgIFRoaXMgb2Jq ZWN0IFNIQUxMIGJlIGF1dG9tYXRpY2FsbHkgaW5jcmVtZW50ZWQgb3IgZGVjcmVtZW50ZWQKICAg ICAgICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVsZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBw b3J0IHVzaW5nCiAgICAgICAgICBpZlN0YWNrVGFibGUuIgogICAgICAgIFJFRkVSRU5DRQogICAg ICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42IgogICAgICAgIDo6PSB7IGVmbUN1 UG9ydFN0YXR1c0VudHJ5IDMgfQoKICAgICAgZWZtQ3VQQUZJbkVycm9ycyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAg ICAgICAgICAgICBbUGFnZSAzNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIGZy YWdtZW50cyB0aGF0IGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlCiAgICAgICAgICBnYW1t YSBpbnRlcmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQgZGlzY2FyZGVkLgogICAgICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVu IHRoZQogICAgICAgICAgUEFGIGlzIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUKICAgICAgICAgIGNvdW50ZXIgcmV0YWlucyBpdHMgcHJldmlvdXMg dmFsdWUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAv MkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLgoKICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0 aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgICAgcmUtaW5pdGlh bGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAg ICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0 eVRpbWUsCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgICAgUkVGRVJFTkNFCiAg ICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMSIKICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0 dXNFbnRyeSA0IH0KCiAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4gbWluRnJhZ21lbnRTaXplCiAg ICAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZSBn YW1tYQogICAgICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuCiAgICAgICAgICBUaGlzIHJl YWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAgICAgdW5z dXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVy CiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAg ICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgc21hbGwgZnJhZ21lbnRzCiAg ICAgICAgICByZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBh cyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAog ICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjIiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkg NSB9CgogICAgICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgT0JKRUNULVRZUEUKICAgICAgICBT WU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MzddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMg bGFyZ2VyIHRoYW4gbWF4RnJhZ21lbnRTaXplCiAgICAgICAgICAoNTEyIEJ5dGVzKSwgd2hpY2gg aGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEKICAgICAgICAgIGludGVyZmFjZSBh bmQgZGlzY2FyZGVkLgogICAgICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2 ZSB3aGVuIHRoZSBQQUYgaXMKICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9u IGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgICAgcmV0YWlucyBpdHMgcHJl dmlvdXMgdmFsdWUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8g dGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRo ZSAxMFAvMkIgUEFGIGxhcmdlIGZyYWdtZW50cwogICAgICAgICAgcmVnaXN0ZXIuCgogICAgICAg ICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3Vy IGF0CiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlC LiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIzIgogICAg ICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDYgfQoKICAgICAgZWZtQ3VQQUZJbkJhZEZy YWdtZW50cyBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBu b3QgZml0IGludG8gdGhlIHNlcXVlbmNlCiAgICAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUg YXNzZW1ibHkgZnVuY3Rpb24sIHRoYXQgaGF2ZSBiZWVuCiAgICAgICAgICByZWNlaXZlZCBhY3Jv c3MgdGhlIGdhbW1hIGludGVyZmFjZSBhbmQgZGlzY2FyZGVkICh0aGUKICAgICAgICAgIGZyYW1l IGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4KICAgICAg ICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAg ICAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwg dGhlIGNvdW50ZXIKICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoKICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbgogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJh Z21lbnRzCiAgICAgICAgICByZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4g dGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRp YWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAg ICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVp dHlUaW1lLAogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQog ICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3Rh dHVzRW50cnkgNyB9CgogICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzhdCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJy dWFyeSAyMDA3CgoKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIGdh cHMgaW4gdGhlIHNlcXVlbmNlIG9mIGZyYWdtZW50cywgd2hpY2ggaGF2ZQogICAgICAgICAgYmVl biByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAodGhlIGZyYW1lIGJ1ZmZlciBp cwogICAgICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBm cmFnbWVudC9mcmFnbWVudHMKICAgICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbiBpcy9hcmUgbm90IHJlY2VpdmVkKS4KICAgICAgICAgIFRoaXMgcmVhZC1vbmx5 IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICAgICB1bnN1cHBvcnRl ZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAg ICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1 IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IGZyYWdtZW50CiAgICAgICAgICBy ZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBt YW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBhcyBpbmRpY2F0 ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgICAg ZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2Fo XSA0NS4yLjMuMjYiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgOCB9CgogICAg ICBlZm1DdVBBRkluTG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIENv dW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIG1pc3Np bmcgU3RhcnRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQogICAgICAgICAgZnJh bWUgYXNzZW1ibHkgZnVuY3Rpb24uCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJs ZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyCiAgICAgICAgICByZXRhaW5z IGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgICAgcmVn aXN0ZXIuCgogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNv dW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgICAgYXMgaW5kaWNhdGVk IGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgICAgIGRl ZmluZWQgaW4gSUYtTUlCLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjI3IgogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDkgfQoKICAgICAg ZWZtQ3VQQUZJbkxvc3RFbmRzIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRl cjMyCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudAoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSAzOV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgIERFU0NS SVBUSU9OCiAgICAgICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0 b3JzIGV4cGVjdGVkIGJ5IHRoZQogICAgICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uCiAg ICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBp cwogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQ QUYsIHRoZSBjb3VudGVyCiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAg ICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNl bnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9z dCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgICAgcmVnaXN0ZXIuCgogICAgICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcwogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICAg ICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4IgogICAgICAgIDo6PSB7 IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEwIH0KCiAgICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJ T04KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0aGUg Z2FtbWEgaW50ZXJmYWNlCiAgICAgICAgICBhbmQgZGlzY2FyZGVkLCB3aGljaCB3b3VsZCBoYXZl IGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkKICAgICAgICAgIGJ1ZmZlciB0byBvdmVyZmxvdy4K ICAgICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFG IGlzCiAgICAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlIGNvdW50ZXIKICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoK ICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJl c2VudCwgdGhlbgogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBv dmVyZmxvdyByZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBh cyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAog ICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjQiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkg MTEgfQoKICAgICAtLSBQTUUgTm90aWZpY2F0aW9ucyBHcm91cAoKICAgICAgZWZtQ3VQbWVOb3Rp ZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDAgfQoKICAgICAgZWZt Q3VQbWVMaW5lQXRuQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUKICAgICAgICBPQkpFQ1RTIHsK CgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgNDBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRl cmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGVmbUN1UG1l TGluZUF0biwKICAgICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0bgogICAgICAgIH0KICAgICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGlz IG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbgogICAgICAg ICAgdGhyZXNob2xkIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoTGluZUF0bgogICAgICAgICAg dmFsdWUpIGhhcyBiZWVuIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1Mt VFMKICAgICAgICAgIFBNRS4gVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNy b3NzaW5nIGV2ZW50IGluCiAgICAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFsIHRv IGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkCiAgICAgICAgICB0byBub3JtYWwuCgogICAgICAg ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIu NSBzZWMsCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBh bmQgbm90aWZpY2F0aW9uLAogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRl cm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQogICAgICAgICAgc2VudC4KCiAgICAgICAgICBH ZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAg ICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmplY3QuIgogICAgICAgIDo6PSB7 IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAxIH0KCiAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcg Tk9USUZJQ0FUSU9OLVRZUEUKICAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgIGVmbUN1UG1lU25y TWduLAogICAgICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24KICAgICAgICB9CiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3Rp ZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkCiAgICAgICAg ICAoYXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaFNuck1nbiB2YWx1ZSkgaGFzIGJlZW4KICAgICAg ICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FLgogICAg ICAgICAgVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2ZW50 IGluCiAgICAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFsIHRvIGV4Y2VlZGVkIGFu ZCBmcm9tIGV4Y2VlZGVkCiAgICAgICAgICB0byBub3JtYWwuCgogICAgICAgICAgSXQgaXMgUkVD T01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIuNSBzZWMsCiAgICAg ICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0 aW9uLAogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1pdHRlbnQgbm90 aWZpY2F0aW9ucyB0byBiZQogICAgICAgICAgc2VudC4KCiAgICAgICAgICBHZW5lcmF0aW9uIG9m IHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAgICAgICBlZm1DdVBt ZVNuck1nbkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVOb3Rp ZmljYXRpb25zIDIgfQoKICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQ RQogICAgICAgIE9CSkVDVFMgewogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMKICAgICAgICB9 CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDQxXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3RpZmljYXRp b24gaW5kaWNhdGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuCiAgICAgICAgICBk ZXRlY3RlZCBieSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0LgoK ICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBi eSB0aGUKICAgICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0LiIKICAgICAg ICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgMyB9CgogICAgICBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBl Zm1DdVBtZUZsdFN0YXR1cywKICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLAogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgUE1FIGluaXRpYWxpemF0aW9uIGhhcwogICAgICAgICAgZmFpbGVkLCBkdWUgdG8g aW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZAogICAgICAgICAg Y29uZmlndXJhdGlvbiBwcm9maWxlLgoKICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3Rp ZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUKICAgICAgICAgIGVmbUN1UG1lQ29uZmlnSW5p dEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMg NCB9CgogICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUgTk9USUZJQ0FUSU9OLVRZUEUK ICAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLAogICAgICAgICAg ZWZtQ3VQbWVPcGVyU3ViVHlwZQogICAgICAgIH0KICAgICAgICBTVEFUVVMgICAgIGN1cnJlbnQK ICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRl cyB0aGF0IHBlZXIgUE1FIHdhcyB1c2luZwogICAgICAgICAgaW5jb21wYXRpYmxlIHByb3RvY29s IGR1cmluZyBpbml0aWFsaXphdGlvbi4KCiAgICAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90 aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAgICAgICBlZm1DdVBtZVByb3RvY29s SW5pdEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlv bnMgNSB9CgogICAgICAtLSBUaGUgUE1FIGdyb3VwCgogICAgICBlZm1DdVBtZUNvbmZUYWJsZSBP QkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ29uZkVu dHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUYWJsZSBmb3IgQ29uZmln dXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UKICAgICAgICAgIDJCQVNFLVRMLzEw UEFTUy1UUyBQTUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNDJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGFzcGVjdHMgc3BlY2lmaWMgdG8g MkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgICAgcmVwcmVzZW50ZWQg aW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUKICAgICAgICAg IHJlc3BlY3RpdmVseS4KCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudAogICAgICAgICAgbWFubmVyLiIKICAgICAgICA6Oj0g eyBlZm1DdVBtZSAxIH0KCiAgICAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAg ICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDb25mRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElP TgogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJs ZS4KICAgICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBF Rk1DdSBQTUUgcG9ydAogICAgICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0 IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmds ZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsCiAgICAgICAgICBwb3NzaWJseSB0 b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxlZC4iCiAgICAgICAg SU5ERVggIHsgaWZJbmRleCB9CiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mVGFibGUgMSB9Cgog ICAgICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0KICAgICAgICBTRVFVRU5DRSB7CiAgICAgICAgICBl Zm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgICAgIGVmbUN1UG1l QWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8sCiAgICAgICAgICBl Zm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsCiAgICAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLAogICAgICAgICAgZWZtQ3VQbWVU aHJlc2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwKICAgICAgICAgIGVmbUN1UG1lTGluZUF0 bkNyb3NzaW5nRW5hYmxlICBUcnV0aFZhbHVlLAogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9z c2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsCiAgICAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5h YmxlICAgICAgVHJ1dGhWYWx1ZSwKICAgICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFi bGUgICBUcnV0aFZhbHVlLAogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxl IFRydXRoVmFsdWUKICAgICAgICB9CgogICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIGllZWUyQmFzZVRM TygxKSwKICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwKICAgICAgICAgIGllZWUxMFBhc3NUU08o MyksCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDQpLAogICAgICAgICAgaWVlZTJCYXNlVExvcjEw UGFzc1RTUig1KSwKICAgICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksCiAgICAgICAg ICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPKDcpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJ T04KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNDNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgICJBZG1p bmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4KICAgICAgICAgIFBvc3Np YmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUg U0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8KICAgICAgICAgICAgaWVlZTJCYXNlVExSICAgICAg ICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUgogICAgICAgICAgICBpZWVlMTBQ YXNzVFNPICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTwogICAgICAg ICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNz VFMtUgogICAgICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSIC0gUE1FIFNIQUxMIG9wZXJh dGUgYXMgMkJhc2VUTC1SIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx MFBhc3NUUy1SLiBBY3R1YWwgdmFsdWUgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2V0IGJ5IC1PIGxpbmsgcGFydG5lciBkdXJpbmcKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIChoYW5kc2hha2UpLgogICAgICAg ICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNPIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMkJhc2VU TC1PCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAx MFBhc3NUUy1PLiBBY3R1YWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh bHVlIHdpbGwgYmUgc2V0IGR1cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5lLiBpZgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9mIHRoZSBwcmVmZXJy ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJCYXNlVEwgbW9kZSwgMTBQ YXNzVFMgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCku CiAgICAgICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8gLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAxMFBhc3NUUy1PCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVy cmVkKSBvciAyQmFzZVRMLU8uIEFjdHVhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24gLVIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpbmsgcGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUgb2YgdGhl IHByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNzVFMg bW9kZSwgMkJhc2VUTCB3aWxsIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1c2VkKS4KCiAgICAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWluU3ViVHlwZSBpcyBhIHRy YWZmaWMgZGlzcnVwdGl2ZQogICAgICAgICAgb3BlcmF0aW9uIGFuZCBhcyBzdWNoIFNIQUxMIGJl IGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLgogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBsaW5rCiAgICAgICAgICBpcyBV cCBvciBJbml0aWFsaXppbmcuCiAgICAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmpl Y3QgdG8gYW4gdW5zdXBwb3J0ZWQgc3VidHlwZQogICAgICAgICAgKHNlZSBlZm1DdVBtZVN1YlR5 cGVzU3VwcG9ydGVkKSBTSEFMTCBiZSByZWplY3RlZC4KCiAgICAgICAgICBUaGUgY3VycmVudCBv cGVyYXRpb25hbCBzdWIgdHlwZSBpcyBpbmRpY2F0ZWQgYnkKICAgICAgICAgIGVmbUN1UG1lT3Bl clN1YlR5cGUgdmFyaWFibGUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgdGhpcyBvYmplY3Qg Y29tYmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdCBiaXRzCiAgICAgICAg ICBhbmQgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9Q TUQKICAgICAgICAgIGNvbnRyb2wgcmVnaXN0ZXIiCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAg ICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyIKICAgICAgICA6Oj0g eyBlZm1DdVBtZUNvbmZFbnRyeSAxIH0KCiAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpF Q1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybwogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNDRdCgwKSW50ZXJuZXQtRHJh ZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAy MDA3CgoKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICJEZXNpcmVkIFBNRSBjb25maWd1cmF0aW9uIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlz IGEgcG9pbnRlcgogICAgICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3IKICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcg b24gdGhlIGN1cnJlbnQgb3BlcmF0aW5nCiAgICAgICAgICBTdWJUeXBlIG9mIHRoZSBQTUUuIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyB0aGUgaW5kZXggb2YKICAgICAgICAgIHRoZSByZWZl cmVuY2VkIHByb2ZpbGUuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5k aWNhdGVzIHRoYXQgdGhlIFBNRSBpcwogICAgICAgICAgY29uZmlndXJlZCB2aWEgZWZtQ3VBZG1p blByb2ZpbGUgb2JqZWN0IGZvciB0aGUgUENTIHBvcnQsCiAgICAgICAgICB0byB3aGljaCB0aGlz IFBNRSBpcyBhc3NpZ25lZC4gVGhhdCBpcywgdGhlIHByb2ZpbGUgcmVmZXJlbmNlZAogICAgICAg ICAgYnkgZWZtQ3VQbWVBZG1pblByb2ZpbGUgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBwcm9m aWxlKHMpCiAgICAgICAgICByZWZlcmVuY2VkIGJ5IGVmbUN1QWRtaW5Qcm9maWxlLgoKICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGFuZCByZWFkYWJsZSBmb3IgdGhlIENPIHN1YnR5 cGUgUE1FcwogICAgICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKS4gSXQgaXMgdW5zdXBw b3J0ZWQgZm9yIHRoZSBDUEUKICAgICAgICAgIHN1YnR5cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NU Uy1SKS4KCiAgICAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZh bHVlIGlzIGF2YWlsYWJsZSB2aWEKICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0 LgoKICAgICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1l ZCB3aGVuIHRoZSBsaW5rIGlzCiAgICAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlCiAgICAgICAgICBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4KICAgICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBh IHZhbHVlIHRoYXQgaXMgbm90IHRoZSB2YWx1ZQogICAgICAgICAgb2YgdGhlIGluZGV4IGZvciBh biBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQogICAgICAgICAgdGFi bGUsIE1VU1QgYmUgcmVqZWN0ZWQuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIu M2FoXSAzMC4xMS4yLjEuNiIKICAgICAgICBERUZWQUwgeyAwIH0KICAgICAgICA6Oj0geyBlZm1D dVBtZUNvbmZFbnRyeSAyIH0KCiAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSAgT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkKICAgICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiUEFGIFJlbW90ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0 aGUgUE1FIHBvcnQgYXQgQ08uCiAgICAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29k ZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQogICAgICAgICAgdGhlIFBNRS4KICAgICAg ICAgIFJlYWRpbmcgdGhpcyBvYmplY3QgcmVzdWx0cyBpbiBhIERpc2NvdmVyeSBHZXQgb3BlcmF0 aW9uLgogICAgICAgICAgU2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMg aW4gYSBEaXNjb3ZlcnkKICAgICAgICAgIENsZWFyX2lmX1NhbWUgb3BlcmF0aW9uICh0aGUgdmFs dWUgb2YgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlCiAgICAgICAgICBhdCB0aGUgcGVlciBQQ1MgU0hB TEwgYmUgdGhlIHNhbWUgYXMgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlIG9mCiAgICAgICAgICB0aGUg bG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvCiAg ICAgICAgICBzdWNjZWVkKS4KICAgICAgICAgIFdyaXRpbmcgYSBub24temVybyB2YWx1ZSB0byB0 aGlzIG9iamVjdCByZXN1bHRzIGluIGEKICAgICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xlYXIg b3BlcmF0aW9uLgogICAgICAgICAgQSB6ZXJvLWxlbmd0aCBvY3RldCBzdHJpbmcgU0hBTEwgYmUg cmV0dXJuZWQgb24gYW4gYXR0ZW1wdCB0bwoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0NV0KDApJbnRlcm5ldC1E cmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5 IDIwMDcKCgogICAgICAgICAgcmVhZCB0aGlzIG9iamVjdCB3aGVuIFBBRiBhZ2dyZWdhdGlvbiBp cyBub3QgZW5hYmxlZC4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyBpcnJlbGV2YW50IGluIENQ RSBwb3J0ICgtUikgc3VidHlwZXM6IGluIHRoaXMKICAgICAgICAgIGNhc2UgYSB6ZXJvIGxlbmd0 aCBvY3RldCBzdHJpbmcgU0hBTEwgYmUgcmV0dXJuZWQgb24gYW4KICAgICAgICAgIGF0dGVtcHQg dG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0byB0aGlzIG9iamVjdCBTSEFMTAogICAgICAg ICAgYmUgaWdub3JlZC4KCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBwZXJmb3JtZWQgd2hl biB0aGUgbGluayBpcyBEb3duLgogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2Jq ZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2Ugb2YKICAgICAgICAgIFNOTVAgd2l0aCB0aGUg ZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcgogICAgICAgICAg SW5pdGlhbGl6aW5nLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IGlzIGEg ZnVuY3Rpb24gb2YgMTBQLzJCIGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeQogICAgICAgICAgY29udHJv bCByZWdpc3RlciwgRGlzY292ZXJ5IG9wZXJhdGlvbiByZXN1bHQgYml0cyBpbiAxMFAvMkIKICAg ICAgICAgIGFnZ3JlZ2F0aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZAogICAg ICAgICAgMTBQLzJCIGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIgogICAgICAg IFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4y LjYuOCIKICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSAzIH0KCiAgICAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggIEludGVnZXIzMigtMTI3 Li4xMjgpCiAgICAgICAgVU5JVFMgICAgICAgImRCIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICJEZXNpcmVkIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQ IFBNRS4KICAgICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxpbmUgYXR0ZW51YXRp b24gYWxhcm0gdGhyZXNob2xkLgogICAgICAgICAgV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBM aW5lIEF0dGVudWF0aW9uIHJlYWNoZXMgb3IKICAgICAgICAgIGV4Y2VlZHMgdGhpcyB0aHJlc2hv bGQsIGEgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcKICAgICAgICAgIG5vdGlmaWNhdGlvbiBNQVkg YmUgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5CiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZ0VuYWJsZS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENP IHN1YnR5cGUgUE1FcyAoLU8pLgogICAgICAgICAgSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BF IHN1YnR5cGUgKC1SKS4KCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgTGluZSBBdHRlbnVhdGlv biBUaHJlc2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQKICAgICAgICAgIHdoZW4gdGhlIGxpbmsgaXMg RG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUKICAgICAgICAgIHJl amVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LAogICAgICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhl biB0aGlzCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJl c2hvbGQgYml0cyBpbgogICAgICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxpdHkgdGhyZXNob2xk cyByZWdpc3RlciIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4x LjM2IgogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDQgfQoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0 Nl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICBlZm1DdVBtZVRocmVzaFNuck1nbiAgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4KQogICAgICAgIFVO SVRTICAgICAgICJkQiIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRGVzaXJlZCBT TlIgTWFyZ2luIFRocmVzaG9sZCBmb3IgdGhlIDJCLzEwUCBQTUUuCiAgICAgICAgICBUaGlzIG9i amVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRocmVzaG9sZC4KICAgICAgICAg IFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgU05SIE1hcmdpbiByZWFjaGVzIG9yIGV4Y2VlZHMg dGhpcwogICAgICAgICAgdGhyZXNob2xkLCBhIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZp Y2F0aW9uIE1BWSBiZQogICAgICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5IGVmbUN1UG1l U25yTWduQ3Jvc3NpbmdFbmFibGUuCgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUg Zm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMKICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtUiku IEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlCiAgICAgICAgICAoMkJhc2VUTC1S LzEwUGFzc1RTLVIpLgoKICAgICAgICAgIENoYW5naW5nIG9mIHRoZSBTTlIgTWFyZ2luIFRocmVz aG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuCiAgICAgICAgICB0aGUgbGluayBpcyBEb3duLiBB dHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQogICAgICAgICAgcmVqZWN0ZWQg KGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksCiAgICAg ICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCgogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMK ICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZCBiaXRzIGlu IHRoZSAyQiBQTUQKICAgICAgICAgIGxpbmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIgog ICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNSB9CgogICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2lu Z0VuYWJsZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAg ICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICAgICBERVNDUklQVElPTgogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGlu ZUF0bkNyb3NzaW5nIG5vdGlmaWNhdGlvbnMKICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQg Zm9yIHRoaXMgaW50ZXJmYWNlLgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcKICAgICAgICAgIG5vdGlmaWNhdGlvbiBpcyBl bmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAogICAgICAgICAgdGhlIG5v dGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkg NiB9CgogICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQogICAg ICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBub3RpZmljYXRpb25z CiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4KCgoKQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgNDddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUo MSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZwogICAgICAgICAgbm90aWZp Y2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAg ICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBt ZUNvbmZFbnRyeSA3IH0KCiAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgIE9CSkVDVC1U WVBFCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04K ICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNh dGlvbnMKICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgoK ICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VG YXVsdAogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIp IGluZGljYXRlcyB0aGF0CiAgICAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiIK ICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA4IH0KCiAgICAgIGVmbUN1UG1lQ29uZmln SW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1 ZQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkg aW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQogICAgICAgICAgbm90aWZp Y2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAg ICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBt ZUNvbmZFbnRyeSA5IH0KCiAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZSAgT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC13cml0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQ VElPTgogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFp bHVyZSBub3RpZmljYXRpb25zCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4KCiAgICAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVm bUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJs ZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSAxMCB9 CgoKICAgICAgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZUEUKICAgICAgICBTWU5U QVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNhcGFiaWxpdHlFbnRyeQogICAgICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVz IEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ4XQoMCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw NwoKCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1 CiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzIChtb2RlbXMpLiBDb25maWd1 cmF0aW9uIG9mCiAgICAgICAgICBhc3BlY3RzIHNwZWNpZmljIHRvIDJCQVNFLVRMIG9yIDEwUEFT Uy1UUyBQTUUgdHlwZXMgaXMKICAgICAgICAgIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25m VGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlCiAgICAgICAgICByZXNwZWN0aXZlbHkuCgog ICAgICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBl cnNpc3RlbnQKICAgICAgICAgIG1hbm5lci4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUgMiB9Cgog ICAgICBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUuCiAgICAg ICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1F IHBvcnQKICAgICAgICAgIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1D dSBQTUUgcG9ydCBjYW4gYmUKICAgICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LAogICAgICAgICAgcG9zc2libHkgdG9nZXRoZXIg d2l0aCBvdGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIgogICAgICAgIElOREVYICB7 IGlmSW5kZXggfQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIDEgfQoKICAg ICAgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0UgewogICAgICAg ICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZCAgICAgQklUUwogICAgICAgIH0KCiAgICAgIGVm bUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg QklUUyB7CiAgICAgICAgICBpZWVlMkJhc2VUTE8oMCksCiAgICAgICAgICBpZWVlMkJhc2VUTFIo MSksCiAgICAgICAgICBpZWVlMTBQYXNzVFNPKDIpLAogICAgICAgICAgaWVlZTEwUGFzc1RTUigz KQogICAgICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJQTUUgc3VwcG9ydGVk IHN1Yi10eXBlcy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3NzaWJsZQogICAgICAgICAgc3ViLXR5 cGVzLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToKICAgICAgICAgICAgaWVlZTJCYXNl VExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtTwogICAgICAg ICAgICBpZWVlMkJhc2VUTFIgICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMkJh c2VUTC1SCiAgICAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9w ZXJhdGluZyBhcyAxMFBhc3NUUy1PCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IgICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SCgogICAgICAgICAgQW4gZGVzaXJl ZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5CgoKCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ5XQoM CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwgd2hpbGUg ZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZsZWN0cyB0aGUKICAgICAgICAgIGN1cnJlbnQgb3BlcmF0 aW5nIG1vZGUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBDUyBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBjb21iaW5lcyB0aGUg MTBQQVNTLVRTIGNhcGFibGUgYW5kIDJCQVNFLVRMIGNhcGFibGUKICAgICAgICAgIGJpdHMgaW4g dGhlIDEwUC8yQiBQTUEvUE1EIHNwZWVkIGFiaWxpdHkgcmVnaXN0ZXIgYW5kIHRoZQogICAgICAg ICAgQ08gc3VwcG9ydGVkIGFuZCBDUEUgc3VwcG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEv UE1ECiAgICAgICAgICBzdGF0dXMgcmVnaXN0ZXIiCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAg ICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIuMS40LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLAog ICAgICAgICAgNDUuMi4xLjEyLjMiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5RW50 cnkgMSB9CgoKICAgICAgZWZtQ3VQbWVTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgICAgIFNZ TlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lU3RhdHVzRW50cnkKICAgICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgY29tbW9uIHN0YXR1cyBp bmZvcm1hdGlvbiBvZiBFRk1DdQogICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0 cy4gU3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljCiAgICAgICAgICB0byAxMFBBU1MtVFMgUE1F IGlzIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuCgogICAgICAgICAgVGhp cyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLAog ICAgICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIgogICAgICAgIDo6PSB7IGVmbUN1UG1lIDMg fQoKICAgICAgZWZtQ3VQbWVTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbUN1UG1lU3RhdHVzRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3RhdHVzIHRhYmxlLgogICAgICAgICAgRWFj aCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0CiAg ICAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBv cnQgY2FuIGJlCiAgICAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3Ro ZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiIKICAgICAgICBJTkRFWCAgeyBpZkluZGV4 IH0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQoKICAgICAgRWZtQ3VQbWVT dGF0dXNFbnRyeSA6Oj0KICAgICAgICBTRVFVRU5DRSB7CiAgICAgICAgICBlZm1DdVBtZU9wZXJT dGF0dXMgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAg ICAgICAgICAgQklUUywKICAgICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElO VEVHRVIsCiAgICAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxl SW5kZXhPclplcm8sCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRl Z2VyMzIsCiAgICAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIs CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDUwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBlZm1DdVBt ZUxpbmVBdG4gICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgICBlZm1DdVBtZVBlZXJM aW5lQXRuICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRM ZW5ndGggICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyAg ICAgICAgQ291bnRlcjMyLAogICAgICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAg Q291bnRlcjMyCiAgICAgICAgfQoKICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQ RQogICAgICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAgICAgICAgdXAoMSksCiAgICAgICAg ICBkb3duTm90UmVhZHkoMiksCiAgICAgICAgICBkb3duUmVhZHkoMyksCiAgICAgICAgICBpbml0 KDQpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkN1cnJlbnQgUE1F IGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICAg ICB1cCgxKSAgICAgICAgICAgLSBsaW5rIGlzIFVwIGFuZCByZWFkeSB0byBwYXNzIDY0LzY1Qgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMu CiAgICAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBk b2VzIG5vdCBkZXRlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZHNoYWtlIHRv bmVzIGZyb20gaXRzIHBlZXIuIFRoaXMgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWF5IGluZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRoZSBwZWVyIFBNRS4KICAgICAgICAgICAgZG93blJlYWR5KDMpICAgIC0g bGluayBpcyBEb3duIGFuZCB0aGUgUE1FIGRldGVjdHMgSGFuZHNoYWtlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRvbmVzIGZyb20gaXRzIHBlZXIuCiAgICAgICAgICAgIGluaXQoNCkg ICAgICAgICAtIGxpbmsgaXMgaW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZkFkbWluU3RhdHVzIGJlaW5nIHNldCB0byAndXAnIGZvciBh CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRo ZSBQTUUgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgRG93biBzdGF0ZSBv ZgogICAgICAgICAgaWZPcGVyU3RhdHVzLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxs eSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhUE1FU3RhdHVzLgoK ICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJl c2VudCwgdGhlbiB0aGlzCiAgICAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gUE1BL1BN RCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQgogICAgICAgICAgUE1BL1BNRCBzdGF0dXMgcmVn aXN0ZXIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEu MywgNDUuMi4xLjEyLjQiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxIH0KCiAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEJJ VFMgewogICAgICAgICAgbG9zc09mRnJhbWluZygwKSwKICAgICAgICAgIHNuck1nbkRlZmVjdCgx KSwKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNTFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGxpbmVB dG5EZWZlY3QoMiksCiAgICAgICAgICBkZXZpY2VGYXVsdCgzKSwKICAgICAgICAgIGNvbmZpZ0lu aXRGYWlsdXJlKDQpLAogICAgICAgICAgcHJvdG9jb2xJbml0RmFpbHVyZSg1KQogICAgICAgIH0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1 bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mCiAgICAgICAgICBwb3NzaWJsZSBjb25kaXRp b25zLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToKCiAgICAgICAgICAgIGxvc3NPZkZy YW1pbmcgICAgICAgLSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTG9zcyBvZiBTeW5jIHdvcmQgZm9yIDJCIFBNRCBvcgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9zcyBvZiA2NC82NUIgRnJhbWluZwogICAgICAg ICAgICBzbnJNZ25EZWZlY3QgICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBU aHJlc2hvbGQKICAgICAgICAgICAgbGluZUF0bkRlZmVjdCAgICAgICAtIExpbmUgQXR0ZW51YXRp b24gZXhjZWVkcyB0aGUgVGhyZXNob2xkCiAgICAgICAgICAgIGRldmljZUZhdWx0ICAgICAgICAg LSBJbmRpY2F0ZXMgYSB2ZW5kb3ItZGVwZW5kZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkaWFnbm9zdGljIG9yIHNlbGYtdGVzdCBmYXVsdAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaGFzIGJlZW4gZGV0ZWN0ZWQuCiAgICAgICAgICAgIGNvbmZpZ0luaXRG YWlsdXJlICAgLSBDb25maWd1cmF0aW9uIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGlu ayB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBjb25maWd1cmF0 aW9uIHByb2ZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQg ZHVyaW5nIGluaXRpYWxpemF0aW9uLgogICAgICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIC0g UHJvdG9jb2wgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGR1ZSB0byBpbmNvbXBhdGlibGUgcHJvdG9jb2wgdXNlZCBieQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFBlZXIgUE1FIGR1cmluZyBpbml0ICh0aGF0IGNv dWxkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXBwZW4gaWYgYSBwZWVyIFBN RCBpcyBhIHJlZ3VsYXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RIU0wv VkRTTCBtb2RlbSBpbnN0ZWFkIG9mIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVu ZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIGluIElGLU1JQi4KCiAgICAgICAgICBUaGlz IG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGFzdCBmYXVsdC4KICAgICAgICAg IGVmbUN1UG1lRmx0U3RhdHVzIGlzIGNsZWFyZWQgYnkgdGhlIGRldmljZSByZXN0YXJ0LgogICAg ICAgICAgSW4gYWRkaXRpb24gbG9zc09mRnJhbWluZywgY29uZmlnSW5pdEZhaWx1cmUgYW5kCiAg ICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVkIGJ5IFBNRSBpbml0LgogICAg ICAgICAgZGV2aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNzZnVsIGRpYWdub3N0aWNzL3Rl c3QuCiAgICAgICAgICBzbnJNZ25EZWZlY3QgYW5kIGxpbmVBdG5EZWZlY3QgYXJlIGNsZWFyZWQg YnkgU05SIE1hcmdpbgogICAgICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24gcmVzcGVjdGl2ZWx5 IHJldHVybmluZyB0byBub3JtIGFuZCBieQogICAgICAgICAgUE1FIGluaXQuCgogICAgICAgICAg VGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAg ICAgICAgIGFQTUVTdGF0dXMuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBjb25z b2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQKICAgICAgICAgIHJlZ2lz dGVycywgbmFtZWx5OiBGYXVsdCBiaXQgaW4gUE1BL1BNRCBzdGF0dXMgMSByZWdpc3RlciwKICAg ICAgICAgIDEwUC8yQiBQTUEvUE1EIGxpbmsgbG9zcyByZWdpc3RlciwKCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug NTJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIDEwUCBvdXRnb2luZyBpbmRpY2F0b3Ig Yml0cyBzdGF0dXMgcmVnaXN0ZXIsCiAgICAgICAgICAxMFAgaW5jb21pbmcgaW5kaWNhdG9yIGJp dHMgc3RhdHVzIHJlZ2lzdGVyLAogICAgICAgICAgMkIgc3RhdGUgZGVmZWN0cyByZWdpc3Rlci4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS4zLCA0NS4y LjEuMi4xLCA0NS4yLjEuMzgsCiAgICAgICAgICA0NS4yLjEuMzksIDQ1LjIuMS41NCIKICAgICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIgfQoKICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIGll ZWUyQmFzZVRMTygxKSwKICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwKICAgICAgICAgIGllZWUx MFBhc3NUU08oMyksCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDQpCiAgICAgICAgfQogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2Yg dGhlIFBNRS4KICAgICAgICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAgIGllZWUy QmFzZVRMTyAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1PCiAgICAgICAgICAg IGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SCiAgICAg ICAgICAgIGllZWUxMFBhc3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMt TwogICAgICAgICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEw UGFzc1RTLVIKCiAgICAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBj YW4gYmUgY29uZmlndXJlZCB2aWEKICAgICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlh YmxlLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEv UE1EIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVl cyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QKICAgICAgICAgIGJpdHMsIHRoZSBQTUEvUE1E IHR5cGUgc2VsZWN0aW9uIGJpdHMgaW4gdGhlIDEwUC8yQgogICAgICAgICAgUE1BL1BNRCBjb250 cm9sIHJlZ2lzdGVyIGFuZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluCiAgICAgICAg ICB0aGUgMTBQLzJCIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVOQ0UK ICAgICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4y LjEuMTIuNCIKICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDMgfQoKICAgICAgZWZt Q3VQbWVPcGVyUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9m aWxlSW5kZXhPclplcm8KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJQTUUgY3VycmVu dCBvcGVyYXRpbmcgUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyIHRvCiAgICAgICAg ICBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcgogICAgICAgICAg ZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudAogICAgICAg ICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIFBNRSBhcyBpbmRpY2F0ZWQgYnkKICAgICAgICAg IGVmbUN1UG1lT3BlclN1YlR5cGUuCiAgICAgICAgICBOb3RlIHRoYXQgYSBwcm9maWxlIGVudHJ5 LCB0byB3aGljaCBlZm1DdVBtZU9wZXJQcm9maWxlIGlzCgoKCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDUzXQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBwb2ludGluZyB0bywgY2FuIGJlIGNyZWF0ZWQgYXV0 b21hdGljYWxseSwgdG8gcmVmbGVjdCBhY2hpZXZlZAogICAgICAgICAgcGFyYW1ldGVycyBpbiBh ZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXphdGlvbiwKICAgICAgICAgIGkuZS4gdmFsdWVz IG9mIGVmbUN1UG1lT3BlclByb2ZpbGUgYW5kIGVmbUN1QWRtaW5Qcm9maWxlIG9yCiAgICAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSBtYXkgZGlmZmVyLgogICAgICAgICAgVGhlIHZhbHVlIG9m IHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24gb3IgaW5pdGlhbGl6aW5nLgoKICAgICAg ICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBhT3BlcmF0aW5nUHJvZmlsZQog ICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAg ICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS43IgogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVz RW50cnkgNCB9CgogICAgICBlZm1DdVBtZVNuck1nbiBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRB WCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpCiAgICAgICAgVU5JVFMgICAgICAgImRC IgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoZSBjdXJyZW50IFNpZ25hbC10by1O b2lzZSBSYXRpbyAoU05SKSBtYXJnaW4gd2l0aCByZXNwZWN0CiAgICAgICAgICB0byB0aGUgcmVj ZWl2ZWQgc2lnbmFsIGFzIHBlcmNlaXZlZCBieSB0aGUgbG9jYWwgUE1FLgogICAgICAgICAgVGhl IHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3IKICAgICAgICAg IGluaXRpYWxpemluZy4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUE1FU05S TWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICAgICBvYmplY3QgbWFwcyB0 byB0aGUgMTBQLzJCIFJYIFNOUiBtYXJnaW4gcmVnaXN0ZXIuIgogICAgICAgIFJFRkVSRU5DRQog ICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNCwgNDUuMi4xLjE2IgogICAgICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgNSB9CgogICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAg ICAgIFVOSVRTICAgICAgICJkQiIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGUg Y3VycmVudCBTTlIgbWFyZ2luIGluIGRCIHdpdGggcmVzcGVjdCB0byB0aGUgcmVjZWl2ZWQKICAg ICAgICAgIHNpZ25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikg UE1FLgogICAgICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlz IGRvd24gb3IKICAgICAgICAgIGluaXRpYWxpemluZy4KCiAgICAgICAgICBUaGlzIG9iamVjdCBp cyBub3Qgc3VwcG9ydGVkIGJ5IC1SIFBNRSBzdWJ0eXBlcy4KCiAgICAgICAgICBJZiBhIENsYXVz ZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVj dCBtYXBzIHRvIHRoZSAxMFAvMkIgbGluayBwYXJ0bmVyIFJYIFNOUiBtYXJnaW4KICAgICAgICAg IHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVOQ0UKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNTRdCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJy dWFyeSAyMDA3CgoKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE3IgogICAgICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0KCiAgICAgIGVmbUN1UG1lTGluZUF0biBPQkpFQ1QtVFlQ RQogICAgICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpCiAgICAgICAg VU5JVFMgICAgICAgImRCIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoZSBjdXJy ZW50IExpbmUgQXR0ZW51YXRpb24gaW4gZEIgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbAogICAg ICAgICAgUE1FLgogICAgICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4g UE1FIGlzIGRvd24gb3IKICAgICAgICAgIGluaXRpYWxpemluZy4KCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9i amVjdCBtYXBzIHRvIHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIgogICAgICAgIFJFRkVS RU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTgiCiAgICAgICAgOjo9IHsgZWZtQ3VQ bWVTdGF0dXNFbnRyeSA3IH0KCiAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gT0JKRUNULVRZUEUK ICAgICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAgICAgIFVO SVRTICAgICAgICJkQiIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGUgY3VycmVu dCBMaW5lIEF0dGVudWF0aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlCiAgICAg ICAgICAobGluayBwYXJ0bmVyKSBQTUUuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMg cmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgICAgaW5pdGlhbGl6aW5nLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgQ1BFIHBvcnQgKC1SKSBzdWJ0 eXBlcy4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0 bmVyIExpbmUgQXR0ZW51YXRpb24KICAgICAgICAgIHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVO Q0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5IgogICAgICAgIDo6PSB7IGVmbUN1UG1l U3RhdHVzRW50cnkgOCB9CgogICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggIE9CSkVDVC1U WVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQogICAgICAg IFVOSVRTICAgICAgICJtIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkFuIGVzdGlt YXRlIG9mIHRoZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4KICAgICAgICAg IG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJs aXNoZWQuCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDU1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBB biBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29wIHdp dGggYQogICAgICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkKICAgICAgICAgIGJyaWRnZWQgdGFwcy4KICAgICAgICAgIFRoZSB2 YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCBpZiB0aGUgbGluayBpcyBEb3duIG9yCiAgICAgICAg ICBJbml0aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2 YWxlbnQKICAgICAgICAgIExlbmd0aC4KCiAgICAgICAgICBGb3IgMTBCQVNFLVRMIFBNRSwgaWYg YSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcwogICAgICAgICAgcHJlc2Vu dCwgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRWxlY3RyaWNhbCBMZW5ndGgKICAg ICAgICAgIHJlZ2lzdGVyIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0 NS4yLjEuMjEiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA5IH0KCiAgICAgIGVm bUN1UG1lVENDb2RpbmdFcnJvcnMgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBDb3Vu dGVyMzIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIG51bWJlciBvZiA2NC82NS1v Y3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhpcyBjb3VudGVyIGlzCiAgICAgICAgICBpbmNy ZW1lbnRlZCBmb3IgZWFjaCA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9yIGRldGVjdGVk CiAgICAgICAgICBieSB0aGUgNjQvNjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4KCiAgICAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIGFUQ0NvZGluZ1Zpb2xhdGlvbnMgYXR0cmlidXRlIGluCiAg ICAgICAgICBjbGF1c2UgMzAuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBUQyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICAgICB0aGlzIG9iamVjdCBt YXBzIHRvIHRoZSBUQyBjb2RpbmcgdmlvbGF0aW9ucyByZWdpc3RlcgogICAgICAgICAgKHNlZSA0 NS4yLjYuMTIpLgoKICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhp cyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhl IG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgICAgIGFzIGluZGlj YXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4z YWhdIDYxLjMuMy4xLCAzMC4xMS4yLjEuNSwgNDUuMi42LjEyIgogICAgICAgIDo6PSB7IGVmbUN1 UG1lU3RhdHVzRW50cnkgMTAgfQoKICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyBPQkpFQ1QtVFlQ RQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAg ICAgICAgIkEgbnVtYmVyIG9mIFRDLUNSQyBlcnJvcnMuIFRoaXMgY291bnRlciBpcyBpbmNyZW1l bnRlZCBmb3IKICAgICAgICAgIGVhY2ggVEMtQ1JDIGVycm9yIGRldGVjdGVkIGJ5IHRoZSA2NC82 NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9uCiAgICAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBGaWd1 cmUgNjEtMTkpLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVRDQ1JDRXJyb3JzIGF0 dHJpYnV0ZSBpbgoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1Nl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAg ICAgY2xhdXNlIDMwLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQQ01FIFRDIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3RlcgogICAgICAgICAgKHNlZSA0NS4yLjYuMTEpLgoK ICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNh biBvY2N1ciBhdAogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUg dmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAgICAgICBkZWZpbmVkIGlu IElGLU1JQi4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4z LCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIKICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0Vu dHJ5IDExIH0KCiAgICAgLS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdyb3VwCgogICAgICBlZm1D dVBtZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9CgogICAgICBl Zm1DdVBtZTJCUHJvZmlsZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU0VR VUVOQ0UgT0YgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJh dGl2ZSBhbmQKICAgICAgICAgIG9wZXJhdGluZyBQcm9maWxlcyBmb3IgMkJBU0UtVEwgUE1Fcy4K ICAgICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUg ZGVmaW5lZCBhcwogICAgICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5uZXggNjNBKToKICAg ICAgICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0KICAgICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBDb25z dGVsbGF0aW9uCiAgICAgICAgICAgaW5kZXggIChLYnBzKSAgKEticHMpICAoZEJtKQogICAgICAg ICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LQogICAgICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFN IChkZWZhdWx0KQogICAgICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEzLjUgICAgMSAg IDMyLVRDUEFNCiAgICAgICAgICAgICAzICAgICAyMDQ4ICAgIDIwNDggICAgMTMuNSAgICAxICAg MTYtVENQQU0KICAgICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAx Ni1UQ1BBTQogICAgICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2 LVRDUEFNCiAgICAgICAgICAgICA2ICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAxICAgMTYt VENQQU0KICAgICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1U Q1BBTQogICAgICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRD UEFNCiAgICAgICAgICAgICA5ICAgICAyMDQ4ICAgIDIwNDggICAgMTQuNSAgICAyICAgMTYtVENQ QU0KICAgICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BB TQogICAgICAgICAgICAxMSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFN CiAgICAgICAgICAgIDEyICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAyICAgMTYtVENQQU0K ICAgICAgICAgICAgMTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAo YmVzdCBlZmZvcnQpCiAgICAgICAgICAgIDE0ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAy ICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQoKICAgICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmll cyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2VudAogICAgICAgICAgaW5pdGlhbGl6YXRpb24g YW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDU3XQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNwoKCiAgICAgICAgICBFbnRyaWVzIGZvbGxvd2luZyB0aGUgZmlyc3QgMTQsIGNhbiBiZSBk eW5hbWljYWxseSBjcmVhdGVkIGFuZAogICAgICAgICAgZGVsZXRlZCwgdG8gcHJvdmlkZSBjdXN0 b20gYWRtaW5pc3RyYXRpdmUgKGNvbmZpZ3VyYXRpb24pCiAgICAgICAgICBwcm9maWxlcyBhbmQg YXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4KCiAgICAgICAgICBUaGlzIHRhYmxlIE1VU1Qg YmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICAgICBSRUZFUkVOQ0UK ICAgICAgICAgICJbODAyLjNhaF0gQW5uZXggNjNBLCAzMC4xMS4yLjEuNiIKICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCICAyIH0KCiAgICAgIGVmbUN1UG1lMkJQcm9maWxlRW50cnkgT0JKRUNULVRZ UEUKICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5CiAgICAgICAgTUFY LUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2lu Z2xlIDJCQVNFLVRMIFBNRSBwcm9maWxlLgogICAgICAgICAgRWFjaCBwcm9maWxlIGNvbnRhaW5z IGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcgogICAgICAgICAgY29uZmlndXJh dGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDJCQVNFLVRMIFBNRS4KICAgICAgICAgIEluIGNh c2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEKICAgICAgICAgIGVmbUN1 UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYKICAgICAgICAg IGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhlIGRlc2lyZWQK ICAgICAgICAgIHBhcmFtZXRlcnMgdGhlIDJCYXNlVEwtTyBQTUUgaW5pdGlhbGl6YXRpb24uCiAg ICAgICAgICBJZiBhIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmls ZSBvYmplY3QsCiAgICAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFt ZXRlcnMgb2YgdGhlCiAgICAgICAgICBvcGVyYXRpb25hbCBQTUUuCgogICAgICAgICAgUHJvZmls ZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAg ICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cy4gSWYg YW4KICAgICAgICAgIGFjdGl2ZSBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCBy ZW1haW4gJ2FjdGl2ZScKICAgICAgICAgIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVk LgogICAgICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQuIgogICAgICAg IElOREVYIHsgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCB9CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUy QlByb2ZpbGVUYWJsZSAxIH0KCiAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkgOjo9CiAgICAg ICAgU0VRVUVOQ0UgewogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAg RWZtUHJvZmlsZUluZGV4LAogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciAgICAgICAg ICAgU25tcEFkbWluU3RyaW5nLAogICAgICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiAgICAgICAgICAg ICAgICAgSU5URUdFUiwKICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAg IEVmbVByb2ZpbGVJbmRleE9yWmVybywKICAgICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAg ICAgICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgICAg ICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAg ICAgICAgVW5zaWduZWQzMiwKICAgICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICAgICAg ICAgIElOVEVHRVIsCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyAgICAgICBS b3dTdGF0dXMKICAgICAgICB9CgogICAgICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4IE9CSkVDVC1U WVBFCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4CgoKCkJlaWxpICAgICAgICAg ICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDU4 XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAg ICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUK ICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAg ICIyQkFTRS1UTCBQTUUgUHJvZmlsZSBpbmRleC4KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHRo ZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4KICAgICAgICAgIEVu dHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUK ICAgICAgICAgIG9yIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdHMuIgogICAgICAgIDo6PSB7 IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgMSB9CgogICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2Ny IE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nCiAgICAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5m b3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5n IG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQogICAgICAgICAgYW5kIHNw ZWN0cmFsIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBwcm9maWxlLiIKICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQoKICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiAg T0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIHJlZ2lv bjEoMSksCiAgICAgICAgICByZWdpb24yKDIpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiUmVnaW9uYWwgc2V0dGluZ3MgZm9yIDJCQVNFLVRMIFBNRSwgYXMgc3Bl Y2lmaWVkIGluIHRoZQogICAgICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkx LjJdLgogICAgICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBE ZW5zaXR5IChQU0QpIG1hc2ssCiAgICAgICAgICBQb3dlciBCYWNrLU9mZiAoUEJPKSB2YWx1ZXMg YW5kIHBsYWNlIGxpbWl0YXRpb25zIG9uIHRoZSBtYXgKICAgICAgICAgIGFsbG93ZWQgZGF0YSBy YXRlLCBwb3dlciBhbmQgY29uc3RlbGxhdGlvbi4KCiAgICAgICAgICBQb3NzaWJsZSB2YWx1ZXMg Zm9yIHRoaXMgb2JqZWN0IGFyZToKICAgICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBB IGFuZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpCiAgICAgICAgICAgIHJlZ2lvbjIgICAgICAtIEFu bmV4ZXMgQiBhbmQgRyAoZS5nLiBFdXJvcGUpCgogICAgICAgICAgQW5uZXggQS9CIHNwZWNpZnkg cmVnaW9uYWwgc2V0dGluZ3MgZm9yIGRhdGEgcmF0ZXMgMTkyLTIzMDQKICAgICAgICAgIEticHMg dXNpbmcgMTYtVENQQU0gZW5jb2RpbmcuCiAgICAgICAgICBBbm5leCBGL0cgc3BlY2lmeSByZWdp b25hbCBzZXR0aW5ncyBmb3IgcmF0ZXMgMjMyMC0zODQwIEticHMKICAgICAgICAgIHVzaW5nIDE2 LVRDUEFNIGVuY29kaW5nIGFuZCA3NjgtNTY5NiBLYnBzIHVzaW5nIDMyLVRDUEFNCiAgICAgICAg ICBlbmNvZGluZy4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgICAgb2JqZWN0IHBhcnRpYWxseSBt YXBzIHRvIHRoZSBSZWdpb24gYml0cyBpbiB0aGUgMkIgZ2VuZXJhbAogICAgICAgICAgcGFyYW1l dGVyIHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUu Mi4xLjQyOyBbRy45OTEuMl0gQW5uZXhlcyBBLCBCLCBGIGFuZCBHIgoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1 OV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgMyB9CgogICAgICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFY ICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJEZXNpcmVkIGN1c3RvbSBTcGVjdHJhbCBNb2RlIGZvciAyQkFTRS1UTCBQTUUuIFRoaXMg b2JqZWN0CiAgICAgICAgICBpcyBhIHBvaW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNN b2RlVGFibGUgYW5kIGEgYmxvY2sKICAgICAgICAgIG9mIGVudHJpZXMgaW4gZWZtQ3VQbWUyQlJh dGVSZWFjaFRhYmxlLCB3aGljaCB0b2dldGhlciBkZWZpbmUKICAgICAgICAgIChjb3VudHJ5LXNw ZWNpZmljKSByZWFjaCBkZXBlbmRlbnQgcmF0ZSBsaW1pdGF0aW9ucyBpbgogICAgICAgICAgYWRk aXRpb24gdG8gdGhvc2UgZGVmaW5lZCBieSBlZm1DdVBtZTJCUmVnaW9uLgoKICAgICAgICAgIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyB0aGUgaW5kZXggb2YgdGhlIHJlZmVyZW5jZWQKICAg ICAgICAgIHNwZWN0cmFsIG1vZGUuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVs dCkgaW5kaWNhdGVzIHRoYXQgbm8gc3BlY2lmaWMKICAgICAgICAgIHNwZWN0cmFsIG1vZGUgaXMg YXBwbGljYWJsZS4KCiAgICAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2 YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUKICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4g YWN0aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHNwZWN0cmFsCiAgICAgICAgICBtb2Rl IHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJl Zm1DdVBtZTJCc01vZGVUYWJsZSwgZWZtQ3VQbWUyQlJhdGVSZWFjaFRhYmxlIgogICAgICAgIERF RlZBTCB7IDAgfQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNCB9CgogICAg ICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICBVbnNp Z25lZDMyKDE5Mi4uNTY5NikKICAgICAgICBVTklUUyAgICAgICAiS2JwcyIKICAgICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwg UE1FLgogICAgICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQpS2Jw cywKICAgICAgICAgIHdoZXJlIG49My4uNjAgZm9yIDE2LVRDUEFNIGFuZCBuPTEyLi44OSBmb3Ig MzItVENQQU0gZW5jb2RpbmcuCgogICAgICAgICAgVGhlIGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0Ut VEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVuCiAgICAgICAgICB0aGUgdmFsdWUgb2Yg dGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlLgogICAgICAg ICAgSWYgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0 YVJhdGUgaW4KICAgICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlLCB0aGUgZGF0YSBy YXRlIGlzIGNvbnNpZGVyZWQKICAgICAgICAgICdhZGFwdGl2ZScsIGFuZCBTSEFMTCBiZSBzZXQg dG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlCiAgICAgICAgICBub3QgZXhjZWVkaW5nIGVm bUN1UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsCiAgICAgICAgICBsaW1pdGF0 aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kCiAgICAgICAgICBlZm1DdVBt ZTJCc01vZGUuCgogICAgICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSBy YXRlIG9mIHRoZSBQTUUgaXMKICAgICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0 IG9mIElGLU1JQi4KCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy MiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDYwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQs IHRoZW4gdGhpcwogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1pbiBEYXRhIFJhdGUxIGJp dHMgaW4gdGhlIDJCIFBNRAogICAgICAgICAgcGFyYW1ldGVycyByZWdpc3Rlci4KCiAgICAgICAg ICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyIKICAgICAg ICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQoKICAgICAgZWZtQ3VQbWUyQk1heERh dGFSYXRlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYp CiAgICAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJNYXhpbXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgICAgIFRo aXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICAgICB3aGVy ZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5n LgoKICAgICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBpcyBjb25zaWRl cmVkICdmaXhlZCcgd2hlbgogICAgICAgICAgdGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGVxdWFs cyB0aGF0IG9mIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZS4KICAgICAgICAgIElmIGVmbUN1UG1lMkJN aW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4gZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluCiAgICAgICAg ICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBpcyBjb25zaWRlcmVk CiAgICAgICAgICAnYWRhcHRpdmUnLCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0 dGFpbmFibGUgcmF0ZQogICAgICAgICAgbm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJh dGUsIHVuZGVyIHRoZSBzcGVjdHJhbAogICAgICAgICAgbGltaXRhdGlvbnMgcGxhY2VkIGJ5IHRo ZSBlZm1DdVBtZTJCUmVnaW9uIGFuZAogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlLgoKICAgICAg ICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEgcmF0ZSBvZiB0aGUgUE1FIGlz CiAgICAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuCgogICAg ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNYXggRGF0YSBSYXRlMSBi aXRzIGluIHRoZSAyQiBQTUQKICAgICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuCgogICAgICAg ICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIu IgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiCiAgICAg ICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0KCiAgICAgIGVmbUN1UG1lMkJQb3dl ciAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTAuLjQyKQog ICAgICAgIFVOSVRTICAgICAgICIwLjUgZEJtIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiU2lnbmFsIFRyYW5zbWl0IFBvd2VyLiBNdWx0aXBsZSBvZiAwLjVkQm0uCiAgICAgICAg ICBUaGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0 IHRoZQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA2MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgc2ln bmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvCiAgICAg ICAgICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGlt aXRhdGlvbnMKICAgICAgICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZt Q3VQbWUyQnNNb2RlLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0 aGUgUG93ZXIxIGJpdHMgaW4gdGhlIDJCIFBNRCBwYXJhbWV0ZXJzCiAgICAgICAgICByZWdpc3Rl ciIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIgogICAg ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNyB9CgogICAgICBlZm1DdVBtZTJCQ29u c3RlbGxhdGlvbiAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAg ICAgICAgIGFkYXB0aXZlKDApLAogICAgICAgICAgdGNwYW0xNigxKSwKICAgICAgICAgIHRjcGFt MzIoMikKICAgICAgICB9CiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUQ1BBTSBD b25zdGVsbGF0aW9uIG9mIHRoZSAyQkFTRS1UTCBQTUUuCiAgICAgICAgICBUaGUgcG9zc2libGUg dmFsdWVzIGFyZToKICAgICAgICAgICAgYWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMy LVRDUEFNCiAgICAgICAgICAgIHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0KICAgICAgICAgICAg dGNwYW0zMigyKSAgICAgLSAzMi1UQ1BBTQoKICAgICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFwdGl2 ZSgwKSBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucwogICAgICAgICAgdGhhdCB0 aGUgY29uc3RlbGxhdGlvbiBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bwogICAgICAg ICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0 YXRpb25zCiAgICAgICAgICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1 UG1lMkJzTW9kZS4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IENvbnN0ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwKICAgICAgICAgIHBhcmFtZXRl ciByZWdpc3Rlci4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAgIls4MDIuM2FoXSA0NS4y LjEuNDMiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA4IH0KCiAgICAgIGVm bUN1UG1lMkJQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg Um93U3RhdHVzCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGlzIG9iamVjdCBj b250cm9scyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZAogICAgICAgICAgZW50 cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZgogICAgICAg ICAgUm93U3RhdHVzLgogICAgICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNl ZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxl LCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsCgoKCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDYyXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICByZWZlcmVuY2VzIGFyZSByZW1vdmVk LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQoKCiAgICAgIGVmbUN1 UG1lMkJzTW9kZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0Ug T0YgRWZtQ3VQbWUyQnNNb2RlRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIlRoaXMgdGFibGUsIHRvZ2V0aGVyIHdpdGggZWZtQ3UyQlJlYWNoUmF0ZVRhYmxlLCBzdXBw b3J0cwogICAgICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3Ry YWwgbW9kZXMgZm9yCiAgICAgICAgICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFs IGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvCiAgICAgICAgICB0aG9zZSBzcGVjaWZpZWQgYnkg ZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1 bGF0aW9ucyAoZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUKICAgICAgICAgIGxlbmd0aCBvZiB0aGUg bG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4gVGhpcyB0YWJsZSBhbGxvd3MKICAgICAgICAg IHRoZXNlIGNvdW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMgdG8gYmUgc3BlY2lmaWVkLgoKICAg ICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRoZSBlZm1DdVBtZTJC c01vZGUKICAgICAgICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxsIHRoZSBhY3RpdmUg cmVmZXJlbmNlcyBhcmUKICAgICAgICAgIHJlbW92ZWQuCgogICAgICAgICAgVGhpcyB0YWJsZSBN VVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgICAgUkVGRVJF TkNFCiAgICAgICAgICAiZWZtQ3UyQlJlYWNoUmF0ZVRhYmxlIgogICAgICAgIDo6PSB7IGVmbUN1 UG1lMkIgIDMgfQoKICAgICAgZWZtQ3VQbWUyQnNNb2RlRW50cnkgT0JKRUNULVRZUEUKICAgICAg ICBTWU5UQVggICAgICBFZm1DdVBtZTJCc01vZGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9kZSBkZXNjcmlw dGlvbiBhbmQgaXRzIGluZGV4LAogICAgICAgICAgd2hpY2ggaXMgdXNlZCB0byByZWZlcmVuY2Ug Y29ycmVzcG9uZGluZyBlbnRyaWVzIGluIHRoZQogICAgICAgICAgZWZtQ3UyQlJlYWNoUmF0ZVRh YmxlLgoKICAgICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUg cm93IGNyZWF0aW9uLwogICAgICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJC c01vZGVSb3dTdGF0dXMuIgogICAgICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQog ICAgICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZVRhYmxlIDEgfQoKICAgICAgRWZtQ3VQbWUyQnNN b2RlRW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0UgewogICAgICAgICAgZWZtQ3VQbWUyQnNNb2Rl SW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LAogICAgICAgICAgZWZtQ3VQbWUyQnNN b2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5nLAogICAgICAgICAgZWZtQ3VQbWUy QnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzCiAgICAgICAgfQoKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNjNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXgKICAgICAgICBNQVgt QUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4 LgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdp dGggdGhpcyBzcGVjdHJhbAogICAgICAgICAgbW9kZS4KICAgICAgICAgIEVudHJpZXMgaW4gdGhp cyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICAgICBvYmpl Y3QuIgogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQoKICAgICAgZWZtQ3VQ bWUyQnNNb2RlRGVzY3IgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5T dHJpbmcKICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgdGV4dHVhbCBzdHJpbmcg Y29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgICAgIHNwZWN0 cmFsIG1vZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQKICAgICAg ICAgIGNvcnJlc3BvbmRpbmcgKGNvdW50cnktc3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25z CiAgICAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1pdGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIg c3BlY3RyYWwgbW9kZS4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9Cgog ICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVgg ICAgICBSb3dTdGF0dXMKICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMgb2Jq ZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkCiAgICAgICAg ICBlbnRyeSBpbiBlZm1DdVBtZTJCc01vZGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZgogICAg ICAgICAgUm93U3RhdHVzLgogICAgICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJl bmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgICAgIGVudHJ5IE1VU1QgcmVtYWlu ICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLiIKICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCc01vZGVFbnRyeSAzIH0KCgogICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFi bGUgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJC UmVhY2hSYXRlRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMg dGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20KICAgICAg ICAgIHNwZWN0cmFsIG1vZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwK ICAgICAgICAgIGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvIHRob3NlIHNwZWNpZmllZCBieQog ICAgICAgICAgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICAgICBUaGUgc3BlY3RyYWwgcmVndWxh dGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsgQU5GUCkKICAgICAgICAgIGxpbWl0IHRo ZSBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuCgoKCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDY0XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIg ICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBUaGlzIHRhYmxlIGFsbG93cyB0 aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRvIGJlCiAgICAgICAgICBzcGVjaWZp ZWQuCgogICAgICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGlzIHRhYmxlIGZvciBbQU5G UF06CiAgICAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKICAgICAgICAgIEVxdWl2 YWxlbnQgTWF4UmF0ZSBNYXhSYXRlCiAgICAgICAgICAgIExlbmd0aCAgICBQQU0xNiAgIFBBTTMy CiAgICAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQogICAgICAgICAgLS0tLS0tLS0t LSstLS0tLS0tKy0tLS0tLS0rCiAgICAgICAgICAgICAgOTc1ICAgICAgMjMwNCAgICA1Njk2CiAg ICAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0CiAgICAgICAgICAgICAxMjc1ICAgICAg MjMwNCAgICA1MTIwCiAgICAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0CiAgICAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0CiAgICAgICAgICAgICAxNTAwICAgICAgMjMwNCAg ICA0Mjg4CiAgICAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4CiAgICAgICAgICAgICAx NjUwICAgICAgMjMwNCAgICAzNzc2CiAgICAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIw CiAgICAgICAgICAgICAxODAwICAgICAgMjMwNCAgICAzMjY0CiAgICAgICAgICAgICAxODc1ICAg ICAgMjMwNCAgICAzMDcyCiAgICAgICAgICAgICAxOTUwICAgICAgMjA0OCAgICAyNjg4CiAgICAg ICAgICAgICAyMTAwICAgICAgMTc5MiAgICAyMzY4CiAgICAgICAgICAgICAyMjUwICAgICAgMTUz NiAgICAgICAwCiAgICAgICAgICAgICAyNDAwICAgICAgMTQwOCAgICAgICAwCiAgICAgICAgICAg ICAyNTUwICAgICAgMTI4MCAgICAgICAwCiAgICAgICAgICAgICAyNzc1ICAgICAgMTE1MiAgICAg ICAwCiAgICAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAwCiAgICAgICAgICAgICAzMTUw ICAgICAgMTA4OCAgICAgICAwCiAgICAgICAgICAgICAzMzc1ICAgICAgMTAyNCAgICAgICAwCiAg ICAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKCiAgICAgICAgICBFbnRyaWVzIGlu IHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICAgICBN VVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0aGUgYWN0aXZlIHJlZmVyZW5jZXMgYXJlCiAg ICAgICAgICByZW1vdmVkLgoKICAgICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVk IGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIltB TkZQXSIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0KCiAgICAgIGVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRWFjaCBlbnRy eSBzcGVjaWZpZXMgbWF4aW11bSAyQkFTRS1UTCBQTUUgZGF0YSByYXRlcwogICAgICAgICAgYWxs b3dlZCBmb3IgYSBjZXJ0YWluIGVxdWl2YWxlbnQgbG9vcCBsZW5ndGgsIHdoZW4gdXNpbmcKICAg ICAgICAgIDE2LVRDUEFNIG9yIDMyLVRDUEFNIGVuY29kaW5nLgoKCgpCZWlsaSAgICAgICAgICAg ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2NV0K DApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAg ICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlh bGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QKICAgICAgICAgIGV4Y2VlZCBvbmUgb2YgdGhl IGZvbGxvd2luZyBsaW1pdGF0aW9uczoKICAgICAgICAgIC0gdGhlIHZhbHVlIG9mIGVmbUN1UG1l MkJNYXhEYXRhUmF0ZQogICAgICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVm bUN1UG1lMkJSZWdpb24gYW5kCiAgICAgICAgICAgIGVmbUN1UG1lMkJQb3dlcgogICAgICAgICAg LSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhl CiAgICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBl cXVpdmFsZW50IGxvb3AKICAgICAgICAgICAgbGVuZ3RoLCBlc3RpbWF0ZWQgYnkgdGhlIFBNRS4K CiAgICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJCRXF1aXZhbGVu dExlbmd0aCB2YWx1ZXMKICAgICAgICAgIGFyZSBhc3NpZ25lZCBpbiB0aGUgaW5jcmVhc2luZyBv cmRlciwgc3RhcnRpbmcgZnJvbSB0aGUKICAgICAgICAgIG1pbmltdW0gdmFsdWUuCgogICAgICAg ICAgRW50cmllcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24v CiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMlJlYWNoUmF0ZVJvd1N0 YXR1cy4iCiAgICAgICAgSU5ERVggeyBlZm1DdVBtZTJCc01vZGVJbmRleCwgZWZtQ3VQbWUyQlJl YWNoUmF0ZUluZGV4IH0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgMSB9 CgogICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0Ugewog ICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4ICAgICAgICAgRWZtUHJvZmlsZUluZGV4 LAogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggICAgICAgVW5zaWduZWQzMiwK ICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgICAgICBVbnNpZ25lZDMyLAogICAg ICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyAgICAgUm93U3RhdHVzCiAgICAgICAg fQoKICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IE9CSkVDVC1UWVBFCiAgICAgICAgU1lO VEFYICAgICAgRWZtUHJvZmlsZUluZGV4CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICIyQkFTRS1UTCBjdXN0b20gc3BlY3RyYWwgbW9kZSBSZWFjaC1SYXRlIHRhYmxlIGluZGV4 LgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdp dGggZWFjaCBlbnJ5LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMSB9 CgogICAgICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUKICAgICAgICBT WU5UQVggICAgICBVbnNpZ25lZDMyKDAuLjgxOTIpCiAgICAgICAgVU5JVFMgICAgICAgIm0iCiAg ICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVu dCBsb29wJ3MgUGh5c2ljYWwgTGVuZ3RoIGluIG1ldGVycwogICAgICAgICAgZm9yIHRoZSBzcGVj aWZpZWQgZGF0YSByYXRlcy4KICAgICAgICAgIEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90 aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhCiAgICAgICAgICBwZXJmZWN0IHNxdWFy ZSByb290IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQogICAgICAgICAg YnJpZGdlZCB0YXBzLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMiB9 CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDY2XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgIGVmbUN1UG1lMkJN YXhEYXRhUmF0ZVBhbTE2ICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVk MzIoMHwxOTIuLjU2OTYpCiAgICAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwgUE1FIGF0 IHRoZSBzcGVjaWZpZWQKICAgICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBU Qy1QQU0xNiBlbmNvZGluZy4KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1lYW5zIHRoYXQg VEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQogICAgICAgICAgdXNlZCBhdCB0aGlzIGRp c3RhbmNlLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMyB9CgogICAg ICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVgg ICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2KQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIgog ICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJC QVNFLVRMIFBNRSBhdCB0aGUgc3BlY2lmaWVkCiAgICAgICAgICBFcXVpdmFsZW50IGxvb3AncyBM ZW5ndGggdXNpbmcgVEMtUEFNMzIgZW5jb2RpbmcuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgemVy byBtZWFucyB0aGF0IFRDLVBBTTMyIGVuY29kaW5nIHNob3VsZCBub3QgYmUKICAgICAgICAgIHVz ZWQgYXQgdGhpcyBkaXN0YW5jZS4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVu dHJ5IDQgfQoKICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cwogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29j aWF0ZWQKICAgICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhl IHNlbWFudGljcyBvZgogICAgICAgICAgUm93U3RhdHVzLgogICAgICAgICAgSWYgYW4gJ2FjdGl2 ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgICAg IGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1v dmVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNSB9CgoKICAgICAt LSAxMFBBU1MtVFMgc3BlY2lmaWMgUE1FIGdyb3VwCgogICAgICBlZm1DdVBtZTEwUCAgICAgIE9C SkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDYgfQoKICAgICAgZWZtQ3VQbWUxMFBQcm9m aWxlVGFibGUgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1D dVBtZTEwUFByb2ZpbGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAi VGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBjb25maWd1cmF0aW9uIHByb2ZpbGVz IGZvcgogICAgICAgICAgMTBQYXNzVEwgUE1Fcy4KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNjddCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJy dWFyeSAyMDA3CgoKICAgICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFM TCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5u ZXggNjJCLjMpOgogICAgICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0t LSstLS0tLS0tLS0tLS0KICAgICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90Y2gg RFJhdGUgVVJhdGUKICAgICAgICAgICBJbmRleCAgUFNETWFzayMgIHAjICAgIHAjICAgICAgICBw IyAgICBwIwogICAgICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSst LS0tLS0tLS0tLS0KICAgICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAg MjAgICAgMjAoZGVmYXVsdCkKICAgICAgICAgICAgIDIgICAgIDEzICAgICAgNSAgICAwICAgICAg ICAgICAgMjAgICAgMjAKICAgICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAgICAgICAg ICAgMjAgICAgMjAKICAgICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAx MDAgICAxMDAKICAgICAgICAgICAgIDUgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAgNzAg ICAgNTAKICAgICAgICAgICAgIDYgICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAg MTAKICAgICAgICAgICAgIDcgICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAK ICAgICAgICAgICAgIDggICAgICA4ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgIDUKICAg ICAgICAgICAgIDkgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUKICAgICAg ICAgICAgMTAgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUKICAgICAgICAg ICAgMTEgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAgMTAgICAgMTAKICAgICAgICAgICAg MTIgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAgIDUgICAgIDUKICAgICAgICAgICAgMTMg ICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAxMDAgICAxMDAKICAgICAgICAgICAgMTQgICAg IDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAgNzAgICAgNTAKICAgICAgICAgICAgMTUgICAgICA2 ICAgICAgMCAgICAyLDYsMTAsMTEgICAgNTAgICAgMTAKICAgICAgICAgICAgMTYgICAgIDE3ICAg ICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzAKICAgICAgICAgICAgMTcgICAgICA4ICAgICAg MCAgICAyLDYsMTAsMTEgICAgMzAgICAgIDUKICAgICAgICAgICAgMTggICAgICA0ICAgICAgMCAg ICAyLDYsMTAsMTEgICAgMjUgICAgMjUKICAgICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAy LDYsMTAsMTEgICAgMTUgICAgMTUKICAgICAgICAgICAgMjAgICAgIDIzICAgICAgMCAgICAyLDUs OSwxMSAgICAgMTAgICAgMTAKICAgICAgICAgICAgMjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwx MSAgICAgIDUgICAgIDUKICAgICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAwICAgICAgICAg ICAyMDAgICAgNTAKCiAgICAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUgY3Jl YXRlZCBieSBkdXJpbmcgYWdlbnQKICAgICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5P VCBiZSBkZWxldGVkLgoKICAgICAgICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwg Y2FuIGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kCiAgICAgICAgICBkZWxldGVkLCB0byBwcm92 aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikKICAgICAgICAgIHByb2Zp bGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0aW5nIHByb2ZpbGVzLgoKICAgICAgICAgIFRoaXMgdGFi bGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIFJF RkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAuMTEuMi4xLjYiCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQoKICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRW50 cnkgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRy eQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNw b25kcyB0byBhIHNpbmdsZSAxMFBBU1MtVFMgUE1FCiAgICAgICAgICBwcm9maWxlLgoKCgpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA2OF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgRWFjaCBwcm9maWxlIGNv bnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcgogICAgICAgICAgY29u ZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDEwUEFTUy1UUyBQTUUuCiAgICAgICAg ICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhCiAgICAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmCiAg ICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50IHRoZSBk ZXNpcmVkCiAgICAgICAgICBwYXJhbWV0ZXJzIHRoZSAxMFBhc3NUUy1PIFBNRSBpbml0aWFsaXph dGlvbi4KICAgICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZU9w ZXJQcm9maWxlIG9iamVjdCwKICAgICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVyYXRp bmcgcGFyYW1ldGVycyBvZiB0aGUgUE1FLgoKICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVh dGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8KICAgICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbgogICAgICAgICAg J2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3Rp dmUnCiAgICAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4KICAgICAgICAg IERlZmF1bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiIKICAgICAgICBJTkRFWCB7IGVm bUN1UG1lMTBQUHJvZmlsZUluZGV4IH0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVU YWJsZSAxIH0KCiAgICAgIEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDo6PQogICAgICAgIFNFUVVF TkNFIHsKICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9m aWxlSW5kZXgsCiAgICAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVEZXNjciAgICAgICAgICAgU25t cEFkbWluU3RyaW5nLAogICAgICAgICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUg IElOVEVHRVIsCiAgICAgICAgICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICAgSU5U RUdFUiwKICAgICAgICAgIGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMgICAgICBCSVRTLAog ICAgICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICAgIElOVEVHRVIsCiAgICAg ICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwKICAgICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cyAgICAgICBSb3dTdGF0dXMKICAgICAgICB9Cgog ICAgICBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbVByb2ZpbGVJbmRleAogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAi MTBQQVNTLVRTIFBNRSBQcm9maWxlIEluZGV4LgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgdGhl IHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLgogICAgICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBv cgogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUuIgogICAgICAgIDo6PSB7IGVmbUN1UG1l MTBQUHJvZmlsZUVudHJ5IDEgfQoKICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcKICAgICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVND UklQVElPTgogICAgICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlv biBhYm91dCAxMFBBU1MtVFMgUE1FCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBp bmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQogICAgICAgICAgYW5kIHNwZWN0cmFs IGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBwcm9maWxlLiIKCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug NjldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVF bnRyeSAyIH0KCiAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlICBPQkpFQ1Qt VFlQRQogICAgICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICAgICBwcm9maWxlMSgxKSwKICAg ICAgICAgIHByb2ZpbGUyKDIpLAogICAgICAgICAgcHJvZmlsZTMoMyksCiAgICAgICAgICBwcm9m aWxlNCg0KSwKICAgICAgICAgIHByb2ZpbGU1KDUpLAogICAgICAgICAgcHJvZmlsZTYoNiksCiAg ICAgICAgICBwcm9maWxlNyg3KSwKICAgICAgICAgIHByb2ZpbGU4KDgpLAogICAgICAgICAgcHJv ZmlsZTkoOSksCiAgICAgICAgICBwcm9maWxlMTAoMTApLAogICAgICAgICAgcHJvZmlsZTExKDEx KSwKICAgICAgICAgIHByb2ZpbGUxMigxMiksCiAgICAgICAgICBwcm9maWxlMTMoMTMpLAogICAg ICAgICAgcHJvZmlsZTE0KDE0KSwKICAgICAgICAgIHByb2ZpbGUxNSgxNSksCiAgICAgICAgICBw cm9maWxlMTYoMTYpLAogICAgICAgICAgcHJvZmlsZTE3KDE3KSwKICAgICAgICAgIHByb2ZpbGUx OCgxOCksCiAgICAgICAgICBwcm9maWxlMTkoMTkpLAogICAgICAgICAgcHJvZmlsZTIwKDIwKSwK ICAgICAgICAgIHByb2ZpbGUyMSgyMSksCiAgICAgICAgICBwcm9maWxlMjIoMjIpLAogICAgICAg ICAgcHJvZmlsZTIzKDIzKSwKICAgICAgICAgIHByb2ZpbGUyNCgyNCksCiAgICAgICAgICBwcm9m aWxlMjUoMjUpLAogICAgICAgICAgcHJvZmlsZTI2KDI2KSwKICAgICAgICAgIHByb2ZpbGUyNygy NyksCiAgICAgICAgICBwcm9maWxlMjgoMjgpLAogICAgICAgICAgcHJvZmlsZTI5KDI5KQogICAg ICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIjEwUEFTUy1UUyBQTUUgQmFu ZHBsYW4gYW5kIFBTRCBNYXNrIHByb2ZpbGUsCiAgICAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAy LjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAtLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tCiAgICAg ICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1hc2sgICAgICAgICAgICAgICAgICBCYW5kcyAgICAg QmFuZHBsYW4KICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0KICAgICAgICAgIHByb2ZpbGUxKDEpICAgLSBUMS40MjQv VC1VIFAxIEZUVENhYi5NMSAgeC9EL1UvRC9VICBBCiAgICAgICAgICBwcm9maWxlMigyKSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRFeC5NMQogICAgICAgICAgcHJvZmlsZTMoMykgICAtIFQxLjQyNC9U LVUgUDEgRlRUQ2FiLk0yCiAgICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSBQMSBG VFRFeC5NMgogICAgICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0x ICBEL0QvVS9EL1UKICAgICAgICAgIHByb2ZpbGU2KDYpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4 Lk0xCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDcwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBwcm9m aWxlNyg3KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTIKICAgICAgICAgIHByb2ZpbGU4KDgp ICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yCiAgICAgICAgICBwcm9maWxlOSg5KSAgIC0gVDEu NDI0L1QtVSBQMSBGVFRDYWIuTTEgIFUvRC9VL0QveAogICAgICAgICAgcHJvZmlsZTEwKDEwKSAt IFQxLjQyNC9ULVUgUDEgRlRURXguTTEKICAgICAgICAgIHByb2ZpbGUxMSgxMSkgLSBUMS40MjQv VC1VIFAxIEZUVENhYi5NMgogICAgICAgICAgcHJvZmlsZTEyKDEyKSAtIFQxLjQyNC9ULVUgUDEg RlRURXguTTIKICAgICAgICAgIHByb2ZpbGUxMygxMykgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEu QSAgeC9EL1UvRC9VICBCCiAgICAgICAgICBwcm9maWxlMTQoMTQpIC0gVFMxIDEwMSAyNzAtMSBQ Y2FiLk0xLkIKICAgICAgICAgIHByb2ZpbGUxNSgxNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5N MQogICAgICAgICAgcHJvZmlsZTE2KDE2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xCiAgICAg ICAgICBwcm9maWxlMTcoMTcpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0yCiAgICAgICAgICBwcm9m aWxlMTgoMTgpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTIKICAgICAgICAgIHByb2ZpbGUxOSgx OSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMgogICAgICAgICAgcHJvZmlsZTIwKDIwKSAtIFRT MSAxMDEgMjcwLTEgUGNhYi5NMS5BICBVL0QvVS9EL3gKICAgICAgICAgIHByb2ZpbGUyMSgyMSkg LSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQgogICAgICAgICAgcHJvZmlsZTIyKDIyKSAtIFRTMSAx MDEgMjcwLTEgUGV4LlAxLk0xCiAgICAgICAgICBwcm9maWxlMjMoMjMpIC0gVFMxIDEwMSAyNzAt MSBQZXguUDIuTTEKICAgICAgICAgIHByb2ZpbGUyNCgyNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIu TTIKICAgICAgICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMgogICAg ICAgICAgcHJvZmlsZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yCiAgICAgICAgICBw cm9maWxlMjcoMjcpIC0gRy45OTMuMSBGLjEuMi4xIChWRFNMb1BPVFMpIHgvRC9VL0QvVSAgRgog ICAgICAgICAgcHJvZmlsZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNETikK ICAgICAgICAgIHByb2ZpbGUyOSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1Y3Rpb24p CgogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2Zp bGUgYXR0cmlidXRlCiAgICAgICAgICBpbiBDbGF1c2UgMzAuIgogICAgICAgIFJFRkVSRU5DRQog ICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEsIDMwLjUuMS4xLjIyIgogICAgICAgIDo6PSB7 IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDMgfQoKICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJl bmNlUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggIElOVEVHRVIgewogICAgICAg ICAgcHJvZmlsZTEoMSksCiAgICAgICAgICBwcm9maWxlMigyKSwKICAgICAgICAgIHByb2ZpbGUz KDMpLAogICAgICAgICAgcHJvZmlsZTQoNCksCiAgICAgICAgICBwcm9maWxlNSg1KSwKICAgICAg ICAgIHByb2ZpbGU2KDYpLAogICAgICAgICAgcHJvZmlsZTcoNyksCiAgICAgICAgICBwcm9maWxl OCg4KSwKICAgICAgICAgIHByb2ZpbGU5KDkpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQb3dlciBCYWNrLU9mZiAoVVBC TykgUmVmZXJlbmNlIFBTRAogICAgICAgICAgUHJvZmlsZSwgYXMgc3BlY2lmaWVkIGluIDgwMi4z YWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMKICAgICAgICAgIGFyZToKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNzFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgICAgcHJvZmlsZTEoMSkgICAtIFQx LjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xCiAgICAgICAgICAgIHByb2ZpbGUyKDIpICAgLSBU MS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMgogICAgICAgICAgICBwcm9maWxlMygzKSAgIC0g VDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTEKICAgICAgICAgICAgcHJvZmlsZTQoNCkgICAt IFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yCiAgICAgICAgICAgIHByb2ZpbGU1KDUpICAg LSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCCiAgICAgICAgICAgIHByb2ZpbGU2KDYpICAg LSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQwogICAgICAgICAgICBwcm9maWxlNyg3KSAgIC0g RVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQKICAgICAgICAgICAgcHJvZmlsZTgoOCkgICAtIEVU U0kgVFMgMTAxIDI3MC0xICBOb2lzZSBFCiAgICAgICAgICAgIHByb2ZpbGU5KDkpICAgLSBFVFNJ IFRTIDEwMSAyNzAtMSAgTm9pc2UgRgoKICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IGFVUEJPUmVmZXJlbmNlUHJvZmlsZSBhdHRyaWJ1dGUKICAgICAgICAgIGluIENsYXVzZSAzMC4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjQsIDMw LjUuMS4xLjIzIgogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDQgfQoKICAg ICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgT0JKRUNULVRZUEUKICAgICAgICBTWU5U QVggIEJJVFMgewogICAgICAgICAgcHJvZmlsZTAoMCksCiAgICAgICAgICBwcm9maWxlMSgxKSwK ICAgICAgICAgIHByb2ZpbGUyKDIpLAogICAgICAgICAgcHJvZmlsZTMoMyksCiAgICAgICAgICBw cm9maWxlNCg0KSwKICAgICAgICAgIHByb2ZpbGU1KDUpLAogICAgICAgICAgcHJvZmlsZTYoNiks CiAgICAgICAgICBwcm9maWxlNyg3KSwKICAgICAgICAgIHByb2ZpbGU4KDgpLAogICAgICAgICAg cHJvZmlsZTkoOSksCiAgICAgICAgICBwcm9maWxlMTAoMTApLAogICAgICAgICAgcHJvZmlsZTEx KDExKQogICAgICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIjEwUEFTUy1U UyBQTUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3RjaCBQcm9maWxlIGJpdG1hcCwKICAgICAgICAg IGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToK ICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLSstLS0tLQogICAgICAgICAgUHJvZmlsZSBOYW1lICAgIEcuOTkxLjMgIFQxLjQyNC9U LVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYKICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJs ZSAgICBUYWJsZSAgICAgIFRhYmxlICAgICAgIChNSHopICAoTUh6KQogICAgICAgICAgLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tCiAg ICAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQogICAgICAgICAgcHJvZmlsZTEoMSkg ICAtIEYtNSAjMDEgIC0gICAgICAgICAgLSAgICAgICAgICAgMS44MTAgIDEuODI1CiAgICAgICAg ICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAgICAxLjgxMCAg Mi4wMDAKICAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAgICAgIC0gICAg ICAgICAgIDEuOTA3ICAxLjkxMgogICAgICAgICAgcHJvZmlsZTQoNCkgICAtIEYtNSAjMDMgIC0g ICAgICAgICAgLSAgICAgICAgICAgMy41MDAgIDMuNTc1CiAgICAgICAgICBwcm9maWxlNSg1KSAg IC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDAKICAgICAgICAg IHByb2ZpbGU2KDYpICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAgIDMuNTAwICA0 LjAwMAogICAgICAgICAgcHJvZmlsZTcoNykgICAtIEYtNSAjMDQgIC0gICAgICAgICAgLSAgICAg ICAgICAgMy43NDcgIDMuNzU0CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDcyXQoMCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoK CiAgICAgICAgICBwcm9maWxlOCg4KSAgIC0gRi01ICMwNSAgLSAgICAgICAgICAtICAgICAgICAg ICAzLjc5MSAgMy44MDUKICAgICAgICAgIHByb2ZpbGU5KDkpICAgLSA2LTIgICAgICAtICAgICAg ICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMAogICAgICAgICAgcHJvZmlsZTEwKDEwKSAtIEYt NSAjMDYgIDE1LTEgICAgICAgLSAgICAgICAgICAgNy4wMDAgIDcuMzAwCiAgICAgICAgICBwcm9m aWxlMTEoMTEpIC0gNi0yICAgICAgMTUtMSAgICAgICAxICAgICAgICAgICAxMC4xMDAgMTAuMTUw CgogICAgICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQg YnkgT1JpbmcKICAgICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVl IG9mIDB4MDYyMiBzZWxlY3RzCiAgICAgICAgICBwcm9maWxlcyAyLDYsMTAgYW5kIDExLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFCYW5kTm90Y2hQcm9maWxlIGF0dHJpYnV0 ZQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJb ODAyLjNhaF0gQW5uZXggNjJBLjMuNSwgMzAuNS4xLjEuMTkiCiAgICAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgNSB9CgogICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2Zp bGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICAgICBw cm9maWxlNSg1KSwKICAgICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAgICAgICBwcm9maWxlMTUo MTUpLAogICAgICAgICAgcHJvZmlsZTIwKDIwKSwKICAgICAgICAgIHByb2ZpbGUyNSgyNSksCiAg ICAgICAgICBwcm9maWxlMzAoMzApLAogICAgICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgICAg IHByb2ZpbGU3MCg3MCksCiAgICAgICAgICBwcm9maWxlMTAwKDEwMCkKICAgICAgICB9CiAgICAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBheWxv YWQgUmF0ZSBQcm9maWxlLAogICAgICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXgg NjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICAgICBwcm9maWxlNSg1KSAgICAgICAt IDIuNSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUxMCgxMCkgICAgIC0gNSBNYnBzCiAgICAgICAg ICAgIHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1icHMKICAgICAgICAgICAgcHJvZmlsZTIwKDIw KSAgICAgLSAxMCBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUyNSgyNSkgICAgIC0gMTIuNSBNYnBz CiAgICAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUgTWJwcwogICAgICAgICAgICBwcm9m aWxlNTAoNTApICAgICAtIDI1IE1icHMKICAgICAgICAgICAgcHJvZmlsZTcwKDcwKSAgICAgLSAz NSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAgTWJwcwoKICAgICAgICAg IEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIFVwc3RyZWFtIFBh eWxvYWQKICAgICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJZiB0aGUgcGF5bG9h ZCByYXRlIG9mIHRoZQogICAgICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2 ZWQgYmFzZWQgb24gdGhlIGxvb3AKICAgICAgICAgIGVudmlyb25tZW50LCBiYW5kcGxhbiBhbmQg UFNEIG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24KICAgICAgICAgIFNIQUxMIGZhaWwuCgoK CgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA3M10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVy ZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgVGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3RyZWFtCiAgICAgICAgICBhdHRy aWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNh aF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkgNiB9CgogICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgIE9C SkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICAgICBwcm9maWxl NSg1KSwKICAgICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAgICAgICBwcm9maWxlMTUoMTUpLAog ICAgICAgICAgcHJvZmlsZTIwKDIwKSwKICAgICAgICAgIHByb2ZpbGUyNSgyNSksCiAgICAgICAg ICBwcm9maWxlMzAoMzApLAogICAgICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgICAgIHByb2Zp bGU3MCg3MCksCiAgICAgICAgICBwcm9maWxlMTAwKDEwMCksCiAgICAgICAgICBwcm9maWxlMTQw KDE0MCksCiAgICAgICAgICBwcm9maWxlMjAwKDIwMCkKICAgICAgICB9CiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRl IFByb2ZpbGUsCiAgICAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBv c3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAgIHByb2ZpbGU1KDUpICAgICAgLSAyLjUgTWJw cwogICAgICAgICAgICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzCiAgICAgICAgICAgIHByb2Zp bGUxNSgxNSkgICAgLSA3LjUgTWJwcwogICAgICAgICAgICBwcm9maWxlMjAoMjApICAgIC0gMTAg TWJwcwogICAgICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzCiAgICAgICAgICAg IHByb2ZpbGUzMCgzMCkgICAgLSAxNSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGU1MCg1MCkgICAg LSAyNSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzCiAgICAgICAg ICAgIHByb2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUxNDAoMTQw KSAgLSA3MCBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcwoKICAg ICAgICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIERvd25z dHJlYW0KICAgICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRo ZSBwYXlsb2FkIHJhdGUgb2YKICAgICAgICAgIHRoZSBzZWxlY3RlZCBwcm9maWxlIGNhbm5vdCBi ZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcAogICAgICAgICAgZW52aXJvbm1lbnQsIGJhbmRw bGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbgogICAgICAgICAgU0hBTEwg ZmFpbC4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUGF5bG9hZFJhdGVQcm9m aWxlRG93bnN0cmVhbQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iCiAgICAgICAg UkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIx IgogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQoKCgpCZWlsaSAgICAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFn ZSA3NF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0 dXMgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMKICAgICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0 aW9uIG9mIHRoZSBhc3NvY2lhdGVkCiAgICAgICAgICBlbnRyeSBpbiBlZm1DdVBtZTEwUFByb2Zp bGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZgogICAgICAgICAgUm93U3RhdHVzLgogICAgICAg ICAgSWYgYW4gYWN0aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxl IG9yCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1VU1QgcmVtYWlu ICdhY3RpdmUnIHVudGlsCiAgICAgICAgICBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4iCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOCB9CgoKICAgICAgZWZtQ3VQbWUx MFBTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9G IEVmbUN1UG1lMTBQU3RhdHVzRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIlRhYmxlIHJlZmxlY3Rpbmcgc3RhdHVzIG9mIEVGTUN1IDEwUEFTUy1UUyBQTUVzIChtb2Rl bXMpLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUCAyIH0KCiAgICAgIGVmbUN1UG1lMTBQU3Rh dHVzRW50cnkgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFN0YXR1 c0VudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBbiBlbnRyeSBpbiB0 aGUgRUZNQ3UgMTBQQVNTLVRTIFBNRSBTdGF0dXMgdGFibGUuIgogICAgICAgIEFVR01FTlRTIHsg ZWZtQ3VQbWVTdGF0dXNFbnRyeSB9CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNUYWJs ZSAxIH0KCiAgICAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0Ug ewogICAgICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MgICAgIENvdW50ZXIzMiwK ICAgICAgICAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVyMzIKICAg ICAgICB9CgogICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUK ICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9u bHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIGFuZCBjb3JyZWN0ZWQgRkVDIGNvZGV3b3JkcyBpbiAx MFBBU1MtVFMKICAgICAgICAgIFBNRS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQ TUVGRUNDb3JyZWN0ZWRCbG9ja3MgYXR0cmlidXRlIGluCiAgICAgICAgICBjbGF1c2UgMzAuCgoK CgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA3NV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVy ZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgSWYgYSBDbGF1 c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwKICAgICAgICAg IHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyBjb3JyZWN0YWJsZSBlcnJvcnMK ICAgICAgICAgIHJlZ2lzdGVyCgogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1 ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICAgICByZS1pbml0aWFsaXphdGlv biBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgICAg YXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwK ICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEuOCIKICAgICAgICA6Oj0geyBlZm1DdVBt ZTEwUFN0YXR1c0VudHJ5IDEgfQoKICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2Nr cyAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIEZFQyBjb2Rld29yZHMgaW4g MTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlCiAgICAgICAgICB1bmNvcnJlY3RhYmxlLgoKICAgICAg ICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgYXR0cmli dXRlIGluCiAgICAgICAgICBjbGF1c2UgMzAuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwKICAgICAgICAgIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyB1bmNvcnJlY3RhYmxlIGVycm9ycwogICAgICAg ICAgcmVnaXN0ZXIKCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRo aXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBhcyBpbmRp Y2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAg ICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIu M2FoXSA0NS4yLjEuMjMsIDMwLjExLjIuMS45IgogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQU3Rh dHVzRW50cnkgMiB9CgogICAgIC0tCiAgICAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cwogICAg IC0tCgogICAgICBlZm1DdUdyb3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1 Q29uZm9ybWFuY2UgMSB9CgogICAgICBlZm1DdUNvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVS IDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9CgogICAgICAtLSBPYmplY3QgR3JvdXBzCgogICAg ICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNULUdST1VQCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAg ICBlZm1DdVBBRlN1cHBvcnRlZCwKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzZdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 CgoKICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLAogICAgICAgICAgZWZtQ3VUYXJnZXREYXRh UmF0ZSwKICAgICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLAogICAgICAgICAgZWZtQ3VBZGFwdGl2 ZVNwZWN0cmEsCiAgICAgICAgICBlZm1DdVBvcnRTaWRlLAogICAgICAgICAgZWZtQ3VGbHRTdGF0 dXMKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcmVwcmVzZW50aW5nIG1hbmFn ZW1lbnQgaW5mb3JtYXRpb24KICAgICAgICAgIGNvbW1vbiBmb3IgYWxsIHR5cGVzIG9mIEVGTUN1 IHBvcnRzLiIKICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0KCiAgICAgIGVmbUN1UEFGR3Jv dXAgT0JKRUNULUdST1VQCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBlZm1DdVBlZXJQQUZT dXBwb3J0ZWQsCiAgICAgICAgICBlZm1DdVBBRkNhcGFjaXR5LAogICAgICAgICAgZWZtQ3VQZWVy UEFGQ2FwYWNpdHksCiAgICAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUsCiAgICAgICAgICBlZm1D dVBBRkRpc2NvdmVyeUNvZGUsCiAgICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUs CiAgICAgICAgICBlZm1DdU51bVBNRXMKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgc3VwcG9ydGluZyBPUFRJT05BTCBQTUUKICAgICAgICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9u IChQQUYpIGFuZCBQQUYgZGlzY292ZXJ5IGluIEVGTUN1IHBvcnRzLiIKICAgICAgICA6Oj0geyBl Zm1DdUdyb3VwcyAyIH0KCiAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAgT0JKRUNULUdST1VQCiAg ICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBlZm1DdVBBRkluRXJyb3JzLAogICAgICAgICAgZWZt Q3VQQUZJblNtYWxsRnJhZ21lbnRzLAogICAgICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRz LAogICAgICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cywKICAgICAgICAgIGVmbUN1UEFGSW5M b3N0RnJhZ21lbnRzLAogICAgICAgICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMsCiAgICAgICAgICBl Zm1DdVBBRkluTG9zdEVuZHMsCiAgICAgICAgICBlZm1DdVBBRkluT3ZlcmZsb3dzCiAgICAgICAg fQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcgT1BUSU9OQUwgZXJyb3IgY291 bnRlcnMKICAgICAgICAgIG9mIFBBRiBvbiBFRk1DdSBwb3J0cy4iCiAgICAgICAgOjo9IHsgZWZt Q3VHcm91cHMgMyB9CgogICAgICBlZm1DdVBtZUdyb3VwIE9CSkVDVC1HUk9VUAogICAgICAgIE9C SkVDVFMgewoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIw MDcgICAgICAgICAgICAgICBbUGFnZSA3N10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVG TUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsCiAgICAgICAgICBlZm1DdVBtZU9wZXJTdGF0dXMsCiAgICAg ICAgICBlZm1DdVBtZUZsdFN0YXR1cywKICAgICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0 ZWQsCiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwKICAgICAgICAgIGVmbUN1UG1lT3Bl clN1YlR5cGUsCiAgICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUsCiAgICAgICAg ICBlZm1DdVBtZU9wZXJQcm9maWxlLAogICAgICAgICAgZWZtQ3VQbWVTbnJNZ24sCiAgICAgICAg ICBlZm1DdVBtZVBlZXJTbnJNZ24sCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG4sCiAgICAgICAg ICBlZm1DdVBtZVBlZXJMaW5lQXRuLAogICAgICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3Ro LAogICAgICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycywKICAgICAgICAgIGVmbUN1UG1lVEND cmNFcnJvcnMsCiAgICAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sCiAgICAgICAgICBlZm1D dVBtZVRocmVzaFNuck1nbgogICAgICAgIH0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92 aWRpbmcgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgICAgIGEgMkJBU0UtVEwvMTBQQVNTLVRTIFBN RS4iCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNCB9CgogICAgICBlZm1DdUFsYXJtQ29uZkdy b3VwIE9CSkVDVC1HUk9VUAogICAgICAgIE9CSkVDVFMgewogICAgICAgICAgZWZtQ3VUaHJlc2hM b3dSYXRlLAogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUsCiAgICAgICAgICBl Zm1DdVBtZVRocmVzaExpbmVBdG4sCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0Vu YWJsZSwKICAgICAgICAgIGVmbUN1UG1lVGhyZXNoU25yTWduLAogICAgICAgICAgZWZtQ3VQbWVT bnJNZ25Dcm9zc2luZ0VuYWJsZSwKICAgICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUs CiAgICAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlLAogICAgICAgICAgZWZtQ3VQ bWVQcm90b2NvbEluaXRGYWlsRW5hYmxlCiAgICAgICAgfQogICAgICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmpl Y3RzIHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBvZiBhbGFybQogICAgICAgICAgdGhyZXNob2xk cyBhbmQgbm90aWZpY2F0aW9ucyBpbiBFRk1DdSBwb3J0cy4iCiAgICAgICAgOjo9IHsgZWZtQ3VH cm91cHMgNSB9CgogICAgICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwIE5PVElGSUNBVElPTi1HUk9V UAogICAgICAgIE5PVElGSUNBVElPTlMgewogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcs CiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZywKICAgICAgICAgIGVmbUN1UG1lU25y TWduQ3Jvc3NpbmcsCiAgICAgICAgICBlZm1DdVBtZURldmljZUZhdWx0LAoKCgpCZWlsaSAgICAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFn ZSA3OF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bHVyZSwKICAgICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQogICAtLSAgICAgICBl Zm1DdVBtZURldmljZUZhdWx0LAogICAtLSAgICAgICBlZm1DdVBtZUxvY2FsUG93ZXJMb3NzCiAg ICAgICAgfQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgog ICAgICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9ydHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZpY2Fu dCBjb25kaXRpb25zCiAgICAgICAgICBhc3NvY2lhdGVkIHdpdGggRUZNQ3UgcG9ydHMuIgogICAg ICAgIDo6PSB7IGVmbUN1R3JvdXBzIDYgfQoKICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cCBP QkpFQ1QtR1JPVVAKICAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgIGVmbUN1UG1lMkJQcm9maWxl RGVzY3IsCiAgICAgICAgICBlZm1DdVBtZTJCUmVnaW9uLAogICAgICAgICAgZWZtQ3VQbWUyQnNN b2RlLAogICAgICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLAogICAgICAgICAgZWZtQ3VQbWUy Qk1heERhdGFSYXRlLAogICAgICAgICAgZWZtQ3VQbWUyQlBvd2VyLAogICAgICAgICAgZWZtQ3VQ bWUyQkNvbnN0ZWxsYXRpb24sCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cywK ICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyLAogICAgICAgICAgZWZtQ3VQbWUyQnNNb2Rl Um93U3RhdHVzLAogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGgsCiAgICAgICAg ICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiwKICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRh UmF0ZVBhbTMyLAogICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cwogICAgICAg IH0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0 aW9uCiAgICAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRz LiIKICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3fQoKICAgICAgZWZtQ3VQbWUxMFBQcm9maWxl R3JvdXAgT0JKRUNULUdST1VQCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBlZm1DdVBtZTEw UFByb2ZpbGVEZXNjciwKICAgICAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxl LAogICAgICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSwKICAgICAgICAgIGVm bUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMsCiAgICAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRV UmF0ZVByb2ZpbGUsCiAgICAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsCiAg ICAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMKICAgICAgICB9CiAgICAgICAgU1RB VFVTICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIGNvbGxlY3Rpb24g b2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0aW9uCiAgICAgICAgICBwcm9m aWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDEwUEFTUy1UUyBwb3J0cy4iCgoKCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDc5XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9Cgog ICAgICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUAogICAgICAgIE9CSkVDVFMg ewogICAgICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MsCiAgICAgICAgICBlZm1D dVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzCiAgICAgICAgfQogICAgICAgIFNUQVRVUyAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgcHJvdmlkaW5nIHN0YXR1cyBpbmZvcm1hdGlvbgogICAgICAgICAgc3BlY2lmaWMgdG8gMTBQ QVNTLVRTIFBNRXMuIgogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDkgfQoKICAgICAtLSBDb21w bGlhbmNlIFN0YXRlbWVudHMKCiAgICAgIGVmbUN1Q29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5D RQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgMkJBU0UtVEwvMTBQQVNTLVRTIGludGVy ZmFjZXMuCiAgICAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBj b21wbGlhbmNlIHN0YXRlbWVudHMKICAgICAgICAgIGlzIFJFUVVJUkVEOgoKICAgICAgICAgIE1J QiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQKICAgICAgICAgIC0tLS0t LS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgIElGLU1JQiAg ICAgICAgICAgICAgICAgaWZDb21wbGlhbmNlMwogICAgICAgICAgRXRoZXJMaWtlLU1JQiAgICAg ICAgICBkb3QzQ29tcGxpYW5jZTIKICAgICAgICAgIE1BVS1NSUIgICAgICAgICAgICAgICAgbWF1 TW9kSWZDb21wbDMKCiAgICAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRl cm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMKICAgICAgICAgIGlzIE9QVElPTkFMIGZvciBpbXBs ZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24KICAgICAgICAgIEZ1bmN0aW9u IChQQUYpIHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVjdCBiZXR3ZWVuIHRoZSBQQ1MKICAgICAg ICAgIGFuZCBQTUUgcG9ydHM6CgogICAgICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21w bGlhbmNlIFN0YXRlbWVudAogICAgICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0t LS0tLS0tLS0tLS0tLQogICAgICAgICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBs aWFuY2UKICAgICAgICAgIElGLUNBUC1TVEFDSy1NSUIgICAgICAgaWZDYXBTdGFja0NvbXBsaWFu Y2UiCgogICAgICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUKICAgICAgICAgIE1BTkRBVE9SWS1H Uk9VUFMgewogICAgICAgICAgICBlZm1DdUJhc2ljR3JvdXAsCiAgICAgICAgICAgIGVmbUN1UG1l R3JvdXAsCiAgICAgICAgICAgIGVmbUN1QWxhcm1Db25mR3JvdXAsCiAgICAgICAgICAgIGVmbUN1 Tm90aWZpY2F0aW9uR3JvdXAKICAgICAgICAgIH0KCiAgICAgICAgICBHUk9VUCAgICAgICBlZm1D dVBtZTJCUHJvZmlsZUdyb3VwCiAgICAgICAgICBERVNDUklQVElPTgoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4 MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91 cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgICAgc3VwcG9y dGluZyAyQkFTRS1UTCBQaHkuIgoKICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJv ZmlsZUdyb3VwCiAgICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAg ICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiIKCiAgICAgICAgICBHUk9VUCAgICAgICBlZm1D dVBBRkdyb3VwCiAgICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcgogICAgICAgICAgICBpbXBsZW1lbnRhdGlv bnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikuIgoKICAgICAgICAg IEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAKICAgICAgICAgIERFU0NSSVBUSU9OCiAg ICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZvciBpbXBsZW1l bnRhdGlvbnMKICAgICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24g KFBBRikuIgoKICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQU3RhdHVzR3JvdXAKICAg ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlz IE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgICAgc3VwcG9ydGluZyAxMFBB U1MtVFMgUGh5LiIKCiAgICAgICAgICBPQkpFQ1QgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9y dGVkCiAgICAgICAgICBTWU5UQVggICAgICBCSVRTIHsKICAgICAgICAgICAgaWVlZTJCYXNlVExP KDApLAogICAgICAgICAgICBpZWVlMkJhc2VUTFIoMSksCiAgICAgICAgICAgIGllZWUxMFBhc3NU U08oMiksCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IoMykKICAgICAgICAgIH0KICAgICAgICAg IERFU0NSSVBUSU9OCiAgICAgICAgICAgICJTdXBwb3J0IGZvciBhbGwgc3VidHlwZXMgaXMgbm90 IHJlcXVpcmVkLiBIb3dldmVyIGF0IGxlYXN0CiAgICAgICAgICAgIG9uZSB2YWx1ZSBTSEFMTCBi ZSBzdXBwb3J0ZWQiCgogICAgICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUK ICAgICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQ TUVzCiAgICAgICAgICAgIHN1cHBvcnRpbmcgbW9yZSB0aGFuIGEgc2luZ2xlIHN1YnR5cGUsIGUu Zy4KICAgICAgICAgICAgaWVlZTJCYXNlVExPIGFuZCBpZWVlMkJhc2VUTFIgb3IgaWVlZTEwUGFz c1RTTyBhbmQKICAgICAgICAgICAgaWVlZTEwUGFzc1RTUikiCgogICAgICAgICAgT0JKRUNUICAg ICAgZWZtQ3VUYXJnZXRTbnJNZ24KICAgICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQogICAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBPUFRJT05BTC4g Rm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MKICAgICAgICAgICAgdGhlIHRhcmdldCBTTlIg bWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVkQiBmb3IgMkJBU0UtVEwKICAgICAgICAgICAgYW5k IDZkQiBmb3IgMTBQQVNTLVRTLiIKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODFdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 CgoKICAgICAgICAgIE9CSkVDVCAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhCiAgICAgICAgICBN SU4tQUNDRVNTICByZWFkLW9ubHkKICAgICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJX cml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAg ICAgICAgICAgIHRoZSBkZWZhdWx0IHZhbHVlIFNIT1VMRCBiZSBmYWxzZS4iCgogICAgICAgIDo6 PSB7IGVmbUN1Q29tcGxpYW5jZXMgMSB9CiAgIEVORAoKCgoKNy4gIFNlY3VyaXR5IENvbnNpZGVy YXRpb25zCgogICBUaGVyZSBpcyBhIG51bWJlciBvZiBtYW5hZ2VkIG9iamVjdHMgZGVmaW5lZCBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUKICAgdGhhdCBoYXZlIGEgTUFYLUFDQ0VTUyBjbGF1c2Ug b2YgcmVhZC13cml0ZSBvciByZWFkLWNyZWF0ZS4gIE1vc3QKICAgb2JqZWN0cyBhcmUgd3JpdGVh YmxlIG9ubHkgd2hlbiB0aGUgbGluayBpcyBEb3duLiAgV3JpdGluZyB0byB0aGVzZQogICBvYmpl Y3RzIGNhbiBoYXZlIHBvdGVudGlhbGx5IGRpc3J1cHRpdmUgZWZmZWN0cyBvbiBuZXR3b3JrIG9w ZXJhdGlvbiwKICAgZm9yIGV4YW1wbGU6CgogICBvICBDaGFuZ2luZyBvZiBlZm1DdVBtZUFkbWlu U3ViVHlwZSBtYXkgbGVhZCB0byBhIHBvdGVudGlhbCBsb2NraW5nCiAgICAgIG9mIHRoZSBsaW5r LCBhcyBwZWVyIFBNRXMgb2YgdGhlIHNhbWUgc3ViLXR5cGUgY2Fubm90IGV4Y2hhbmdlCiAgICAg IGhhbmRzaGFrZSBtZXNzYWdlcy4KCiAgIG8gIENoYW5naW5nIG9mIGVmbUN1UEFGQWRtaW5TdGF0 ZSB0byBlbmFibGVkIG1heSBsZWFkIHRvIGEgcG90ZW50aWFsCiAgICAgIGxvY2tpbmcgb2YgdGhl IGxpbmssIGlmIHRoZSBwZWVyIFBoeSBkb2VzIG5vdCBzdXBwb3J0IFBBRi4KCiAgIG8gIENoYW5n aW5nIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRoZSBkaXNjb3Zlcnkgb3BlcmF0 aW9uLAogICAgICBtYXkgbGVhZCB0byBhIHdyb25nZnVsIGRpc2NvdmVyeSwgZm9yIGV4YW1wbGUg d2hlbiB0d28gLU8gcG9ydHMKICAgICAgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBtdWx0aS1Q TUUgLVIgcG9ydCBhbmQgYm90aCAtTyBwb3J0cyBoYXZlCiAgICAgIHRoZSBzYW1lIERpc2NvdmVy eSByZWdpc3RlciB2YWx1ZS4KCiAgIG8gIENoYW5naW5nIFBDUyBvciBQTUUgY29uZmlndXJhdGlv biBwYXJhbWV0ZXJzIChlLmcuIHByb2ZpbGUgb2YgYQogICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1D dUFkbWluUHJvZmlsZSBvciBlZm1DdVBtZUFkbWluUHJvZmlsZSkgbWF5IGxlYWQKICAgICAgdG8g YW55dGhpbmcgZnJvbSBsaW5rIHF1YWxpdHkgYW5kIHJhdGUgZGVncmFkYXRpb24gdG8gYSBjb21w bGV0ZQogICAgICBsaW5rIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsIGFzIGFiaWxpdHkgb2YgYW4g RUZNQ3UgcG9ydCB0bwogICAgICBzdXBwb3J0IGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGRl cGVuZHMgb24gdGhlIGNvcHBlcgogICAgICBlbnZpcm9ubWVudC4KCiAgIG8gIEFjdGl2YXRpb24g b2YgYSBQTUUgY2FuIGNhdXNlIGEgc2V2ZXJlIGRlZ3JhZGF0aW9uIG9mIHNlcnZpY2UgZm9yCiAg ICAgIGFub3RoZXIgRUZNQ3UgUGh5LCB3aG9zZSBQTUUocykgbWF5IGJlIGFmZmVjdGVkIGJ5IHRo ZSBjcm9zcy10YWxrCiAgICAgIGZyb20gdGhlIG5ld2x5IGFjdGl2YXRlZCBQTUUuCgogICBvICBS ZW1vdmFsIG9mIGEgUE1FIGZyb20gYW4gb3BlcmF0aW9uYWxseSAndXAnIEVGTUN1IHBvcnQsCiAg ICAgIGFnZ3JlZ2F0aW5nIHNldmVyYWwgUE1FcywgbWF5IGNhdXNlIHBvcnQncyByYXRlIGRlZ3Jh ZGF0aW9uCgogICBUaGUgdXNlciBvZiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgbXVzdCB0aGVyZWZv cmUgYmUgYXdhcmUgdGhhdAogICBzdXBwb3J0IGZvciBTRVQgb3BlcmF0aW9ucyBpbiBhIG5vbi1z ZWN1cmUgZW52aXJvbm1lbnQgd2l0aG91dCBwcm9wZXIKCgoKQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODJdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3CgoKICAgcHJvdGVjdGlvbiBjYW4gaGF2ZSBhIG5lZ2F0aXZlIGVmZmVjdCBv biBuZXR3b3JrIG9wZXJhdGlvbnMuCgogICBUaGUgcmVhZGFibGUgb2JqZWN0cyBpbiB0aGUgRUZN LUNVLU1JQiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLQogICBBQ0NFU1Mgb3RoZXIgdGhh biBub3QtYWNjZXNzaWJsZSkgbWF5IGJlIGNvbnNpZGVyZWQgc2Vuc2l0aXZlIGluIHNvbWUKICAg ZW52aXJvbm1lbnRzIHNpbmNlLCBjb2xsZWN0aXZlbHksIHRoZXkgcHJvdmlkZSBpbmZvcm1hdGlv biBhYm91dCB0aGUKICAgcGVyZm9ybWFuY2Ugb2YgbmV0d29yayBpbnRlcmZhY2VzIGFuZCBjYW4g cmV2ZWFsIHNvbWUgYXNwZWN0cyBvZgogICB0aGVpciBjb25maWd1cmF0aW9uLiAgSW4gcGFydGlj dWxhciwgc2luY2UgRUZNQ3UgY2FuIGJlIGNhcnJpZWQgb3ZlcgogICBVbnNoaWVsZGVkIFR3aXN0 ZWQgUGFpciAoVVRQKSB2b2ljZSBncmFkZSBjb3BwZXIgaW4gYSBidW5kbGUgd2l0aAogICBvdGhl ciBwYWlycyBiZWxvbmdpbmcgdG8gYW5vdGhlciBvcGVyYXRvci9jdXN0b21lciwgaXQgaXMKICAg dGhlb3JldGljYWxseSBwb3NzaWJsZSB0byBldmFzZHJvcCB0byBhbiBFRk1DdSB0cmFuc21pc3Np b24gc2ltcGx5IGJ5CiAgICJsaXN0ZW5pbmciIHRvIGEgY3Jvc3MtdGFsayBmcm9tIHRoZSBFRk1D dSBwYWlycywgZXNwZWNpYWxseSBpZiB0aGUKICAgcGFyYW1ldGVycyBvZiB0aGUgRUZNQ3UgbGlu ayBpbiBxdWVzdGlvbiBhcmUga25vd24uCgogICBJbiBzdWNoIGVudmlyb25tZW50cyBpdCBpcyBp bXBvcnRhbnQgdG8gY29udHJvbCBhbHNvIEdFVCBhbmQgTk9USUZZCiAgIGFjY2VzcyB0byB0aGVz ZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVuIHRvIGVuY3J5cHQgdGhlaXIgdmFsdWVzCiAgIHdo ZW4gc2VuZGluZyB0aGVtIG92ZXIgdGhlIG5ldHdvcmsgdmlhIFNOTVAuCgogICBTTk1QIHZlcnNp b25zIHByaW9yIHRvIFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRlcXVhdGUgc2VjdXJpdHkuCiAg IEV2ZW4gaWYgdGhlIG5ldHdvcmsgaXRzZWxmIGlzIHNlY3VyZSAoZm9yIGV4YW1wbGUgYnkgdXNp bmcgSVBzZWMpLAogICBldmVuIHRoZW4sIHRoZXJlIGlzIG5vIGNvbnRyb2wgYXMgdG8gd2hvIG9u IHRoZSBzZWN1cmUgbmV0d29yayBpcwogICBhbGxvd2VkIHRvIGFjY2VzcyBhbmQgR0VUL1NFVCAo cmVhZC9jaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMKICAgaW4gdGhlc2UgTUlCIG1v ZHVsZXMuCgogICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGltcGxlbWVudGVycyBjb25zaWRlciB0 aGUgc2VjdXJpdHkgZmVhdHVyZXMgYXMKICAgcHJvdmlkZWQgYnkgdGhlIFNOTVB2MyBmcmFtZXdv cmsgKHNlZSBbUkZDMzQxMF0sIHNlY3Rpb24gOCksCiAgIGluY2x1ZGluZyBmdWxsIHN1cHBvcnQg Zm9yIHRoZSBTTk1QdjMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIChmb3IKICAgYXV0aGVudGlj YXRpb24gYW5kIHByaXZhY3kpLgoKICAgRnVydGhlciwgZGVwbG95bWVudCBvZiBTTk1QIHZlcnNp b25zIHByaW9yIHRvIFNOTVB2MyBpcyBOT1QKICAgUkVDT01NRU5ERUQuICBJbnN0ZWFkLCBpdCBp cyBSRUNPTU1FTkRFRCB0byBkZXBsb3kgU05NUHYzIGFuZCB0bwogICBlbmFibGUgY3J5cHRvZ3Jh cGhpYyBzZWN1cml0eS4gIEl0IGlzIHRoZW4gYSBjdXN0b21lci9vcGVyYXRvcgogICByZXNwb25z aWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGUgU05NUCBlbnRpdHkgZ2l2aW5nIGFjY2VzcyB0byBh bgogICBpbnN0YW5jZSBvZiB0aGVzZSBNSUIgbW9kdWxlcyBpcyBwcm9wZXJseSBjb25maWd1cmVk IHRvIGdpdmUgYWNjZXNzCiAgIHRvIHRoZSBvYmplY3RzIG9ubHkgdG8gdGhvc2UgcHJpbmNpcGFs cyAodXNlcnMpIHRoYXQgaGF2ZSBsZWdpdGltYXRlCiAgIHJpZ2h0cyB0byBpbmRlZWQgR0VUIG9y IFNFVCAoY2hhbmdlL2NyZWF0ZS9kZWxldGUpIHRoZW0uCgoKOC4gIElBTkEgQ29uc2lkZXJhdGlv bnMKCiAgIFRoZSB0d28gbmV3IHZhbHVlcyBvZiBkb3QzTWF1VHlwZSAoZG90M01hdVR5cGUyQmFz ZVRMIGFuZAogICBkb3QzTWF1VHlwZTEwUGFzc1RTKSBhbmQgY29ycmVzcG9uZGluZyBJQU5BaWZN YXVUeXBlTGlzdEJpdHMgYml0CiAgIGRlZmluaXRpb25zIChiMkJhc2VUTCBhbmQgYjEwUGFzc1RT KSwgYXMgd2VsbCBhcyB0aGUgbmV3IHZhbHVlcyBmb3IKICAgSUFOQWlmTWF1TWVkaWFBdmFpbGFi bGUgKGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5KSBTSEFMTCBiZSBkZWZpbmVkCiAgIGJ5IHRo ZSBJQU5BIGluIHRoZSBJQU5BLU1BVS1NSUIgbW9kdWxlIChzZWUgW0ktRC5pZXRmLWh1Ym1pYi0K ICAgcmZjMzYzNmJpc10pIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxpc2hlZCBhcyBhbiBS RkMuCgogICBBZGRpdGlvbmFsbHksIG9iamVjdCBpZGVudGlmaWVycyBmb3IgZWZtQ3VNSUIgTU9E VUxFLUlERU5USVRZIGFuZAogICBpZkNhcFN0YWNrTUlCIE1PRFVMRS1JREVOVElUWSBTSEFMTCBi ZSBhbGxvY2F0ZWQgYnkgSUFOQSBpbiB0aGUgTUlCLTIKCgoKQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODNdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3CgoKICAgc3ViLXRyZWUsIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxp c2hlZC4KCgo5LiAgQWNrbm93bGVkZ21lbnRzCgogICBUaGlzIGRvY3VtZW50IHdhcyBwcm9kdWNl ZCBieSB0aGUgSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIKICAgTUlCIFdvcmtpbmcg R3JvdXAgWzFdLCB3aG9zZSBlZmZvcnRzIHdlcmUgZ3JlYXRseSBhZHZhbmNlZCBieSB0aGUKICAg Y29udHJpYnV0aW9ucyBvZiB0aGUgZm9sbG93aW5nIHBlb3BsZSAoaW4gYWxwaGFiZXRpY2FsIG9y ZGVyKToKCiAgICAgIEJlcnQgV2lqbmVuIChBbGNhdGVsKQoKICAgICAgRGFuIFJvbWFzY2FudSAo QXZheWEpCgogICAgICBNYXJpbmEgUG9waWxvdiAoQWN0ZWxpcykKCiAgICAgIE1hdGhpYXMgUmll c3MgKEluZmluZW9uKQoKICAgICAgTWF0dCBTcXVpcmUgKEhhdHRlcmFzKQoKICAgICAgTWlrZSBI ZWFyZAoKICAgICAgVWRpIEFzaGtlbmF6aSAoQWN0ZWxpcykKCgoxMC4gIE5vdGVzIHRvIFJGQyBF ZGl0b3IKCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBub3RlcyB0byB0aGUgUkZDIEVkaXRvciBh bmQgc2hvdWxkIGJlIHJlbW92ZWQKICAgcHJpb3IgdG8gcHVibGljYXRpb24uCgogICAgICBQbGVh c2UgcmVwbGFjZSBbSS1ELmlldGYtaHVibWliLWVmbS1taWJdIGFuZCBbSS1ELmlldGYtaHVibWli LQogICAgICByZmMzNjM2YmlzXSB3aXRoIGFjdHVhbCBSRkMgbnVtYmVycyBpZiB0aG9zZSBhcmUg YXZhaWxhYmxlIGF0IHRpbWUKICAgICAgb2YgcHVibGljYXRpb24uCgoKMTEuICBSZWZlcmVuY2Vz CgoxMS4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMKCiAgIFs4MDIuM10gICAgSUVFRSwgIklFRUUg U3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLQogICAgICAgICAgICAgIFRlbGVj b21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbgogICAgICAgICAg ICAgIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVj aWZpYwogICAgICAgICAgICAgIHJlcXVpcmVtZW50cyAtIFBhcnQgMzogQ2FycmllciBTZW5zZSBN dWx0aXBsZSBBY2Nlc3Mgd2l0aAogICAgICAgICAgICAgIENvbGxpc2lvbiBEZXRlY3Rpb24gKENT TUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsCiAgICAgICAgICAgICAgTGF5ZXIgU3Bl Y2lmaWNhdGlvbnMiLCBJRUVFIFN0ZCA4MDIuMy0yMDA1LCBEZWNlbWJlciAyMDA1LgoKICAgWzgw Mi4zYWhdICBJRUVFLCAiSUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAt CiAgICAgICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5n ZSBiZXR3ZWVuCiAgICAgICAgICAgICAgc3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4g YXJlYSBuZXR3b3JrcyAtIFNwZWNpZmljCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDg0XQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNwoKCiAgICAgICAgICAgICAgcmVxdWlyZW1lbnRzIC0gUGFydCAzOiBDYXJyaWVyIFNlbnNl IE11bHRpcGxlIEFjY2VzcyB3aXRoCiAgICAgICAgICAgICAgQ29sbGlzaW9uIERldGVjdGlvbiAo Q1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwKICAgICAgICAgICAgICBMYXllciBT cGVjaWZpY2F0aW9ucyAtIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wKICAgICAgICAg ICAgICBQYXJhbWV0ZXJzLCBQaHlzaWNhbCBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVy cyBmb3IKICAgICAgICAgICAgICBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcyIsIElFRUUgU3Rk IDgwMi4zYWgtMjAwNCwKICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAwNC4KCiAgIFtJLUQuaWV0 Zi1odWJtaWItcmZjMzYzNmJpc10KICAgICAgICAgICAgICBCZWlsaSwgRS4sICJEZWZpbml0aW9u cyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMKICAgICAgICAgICAgICBNZWRpdW0g QXR0YWNobWVudCBVbml0cyAoTUFVcykiLAogICAgICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWli LXJmYzM2MzZiaXMtMDUgKHdvcmsgaW4gcHJvZ3Jlc3MpLAogICAgICAgICAgICAgIEp1bHkgMjAw Ni4KCiAgIFtSRkMyMTE5XSAgQnJhZG5lciwgUy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNz IHRvIEluZGljYXRlCiAgICAgICAgICAgICAgUmVxdWlyZW1lbnQgTGV2ZWxzIiwgQkNQIDE0LCBS RkMgMjExOSwgTWFyY2ggMTk5Ny4KCiAgIFtSRkMyNTc4XSAgTWNDbG9naHJpZSwgSy4sIFBlcmtp bnMsIEQuLCBTY2hvZW53YWVsZGVyLCBKLiwgQ2FzZSwgSi4sCiAgICAgICAgICAgICAgTWNDbG9n aHJpZSwgSy4sIFJvc2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgIlN0cnVjdHVyZSBvZgogICAg ICAgICAgICAgIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyIChTTUl2MikiLCBTVEQg NTgsCiAgICAgICAgICAgICAgUkZDIDI1NzgsIEFwcmlsIDE5OTkuCgogICBbUkZDMjU3OV0gIE1j Q2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENhc2UsIEouLAog ICAgICAgICAgICAgIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIs ICJUZXh0dWFsCiAgICAgICAgICAgICAgQ29udmVudGlvbnMgZm9yIFNNSXYyIiwgU1REIDU4LCBS RkMgMjU3OSwgQXByaWwgMTk5OS4KCiAgIFtSRkMyNTgwXSAgTWNDbG9naHJpZSwgSy4sIFBlcmtp bnMsIEQuLCBhbmQgSi4gU2Nob2Vud2FlbGRlciwKICAgICAgICAgICAgICAiQ29uZm9ybWFuY2Ug U3RhdGVtZW50cyBmb3IgU01JdjIiLCBTVEQgNTgsIFJGQyAyNTgwLAogICAgICAgICAgICAgIEFw cmlsIDE5OTkuCgogICBbUkZDMzQxMF0gIENhc2UsIEouLCBNdW5keSwgUi4sIFBhcnRhaW4sIEQu LCBhbmQgQi4gU3Rld2FydCwKICAgICAgICAgICAgICAiSW50cm9kdWN0aW9uIGFuZCBBcHBsaWNh YmlsaXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LQogICAgICAgICAgICAgIFN0YW5kYXJkIE1h bmFnZW1lbnQgRnJhbWV3b3JrIiwgUkZDIDM0MTAsIERlY2VtYmVyIDIwMDIuCgoxMS4yLiAgSW5m b3JtYXRpdmUgUmVmZXJlbmNlcwoKICAgW0FORlBdICAgICBOZXR3b3JrIEludGVyb3BlcmFiaWxp dHkgQ29uc3VsdGF0aXZlIENvbW1pdHRlZSAoTklDQyksCiAgICAgICAgICAgICAgIlNwZWNpZmlj YXRpb24gb2YgdGhlIEFjY2VzcyBOZXR3b3JrIEZyZXF1ZW5jeSBQbGFuIChBTkZQKQogICAgICAg ICAgICAgIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNzaW9uIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQg QWNjZXNzCiAgICAgICAgICAgICAgTmV0d29yayIsIE5JQ0MgRG9jdW1lbnQgTkQxNjAyOjIwMDUv MDgsIEF1Z3VzdCAyMDA1LgoKICAgW0cuOTkxLjJdICBJVFUtVCwgIlNpbmdsZS1wYWlyIEhpZ2gt c3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUKICAgICAgICAgICAgICAoU0hEU0wpIHRyYW5z Y2VpdmVycyIsIElUVS1UIFJlY29tbWVuZGF0aW9uIEcuOTkxLjIsCiAgICAgICAgICAgICAgRGVj ZW1iZXIgMjAwMy4KCiAgIFtHLjk5My4xXSAgSVRVLVQsICJWZXJ5IEhpZ2ggc3BlZWQgRGlnaXRh bCBTdWJzY3JpYmVyIExpbmUKICAgICAgICAgICAgICB0cmFuc2NlaXZlcnMiLCBJVFUtVCBSZWNv bW1lbmRhdGlvbiBHLjk5My4xLCBKdW5lIDIwMDQuCgogICBbSS1ELmlldGYtaHVibWliLWVmbS1l cG9uLW1pYl0KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgODVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAg ICAgICBLaGVybW9zaCwgTC4sICJNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiIsCiAgICAgICAgICAg ICAgZHJhZnQtaWV0Zi1odWJtaWItZWZtLWVwb24tbWliLTA2ICh3b3JrIGluIHByb2dyZXNzKSwK ICAgICAgICAgICAgICBOb3ZlbWJlciAyMDA2LgoKICAgW0ktRC5pZXRmLWh1Ym1pYi1lZm0tbWli XQogICAgICAgICAgICAgIFNxdWlyZSwgTS4sICJEZWZpbml0aW9ucyBhbmQgTWFuYWdlZCBPYmpl Y3RzIGZvciBPQU0KICAgICAgICAgICAgICBGdW5jdGlvbnMgb24gRXRoZXJuZXQgTGlrZSBJbnRl cmZhY2VzIiwKICAgICAgICAgICAgICBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tbWliLTA1ICh3b3Jr IGluIHByb2dyZXNzKSwKICAgICAgICAgICAgICBPY3RvYmVyIDIwMDYuCgogICBbSUFOQWlmVHlw ZS1NSUJdCiAgICAgICAgICAgICAgSW50ZXJuZXQgQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkg KElBTkEpLCAiSUFOQWlmVHlwZQogICAgICAgICAgICAgIFRleHR1YWwgQ29udmVudGlvbiBkZWZp bml0aW9uIiwKICAgICAgICAgICAgICAgaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9p YW5haWZ0eXBlLW1pYi4KCiAgIFtSRkMyODYzXSAgTWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3Rl bmhvbHosICJUaGUgSW50ZXJmYWNlcyBHcm91cAogICAgICAgICAgICAgIE1JQiIsIFJGQyAyODYz LCBKdW5lIDIwMDAuCgogICBbUkZDMjg2NF0gIE1jQ2xvZ2hyaWUsIEsuIGFuZCBHLiBIYW5zb24s ICJUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUKICAgICAgICAgICAgICBFeHRlbnNpb24gdG8gdGhl IEludGVyZmFjZXMgR3JvdXAgTUlCIiwgUkZDIDI4NjQsCiAgICAgICAgICAgICAgSnVuZSAyMDAw LgoKICAgW1JGQzM2MzVdICBGbGljaywgSi4sICJEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVj dHMgZm9yIHRoZQogICAgICAgICAgICAgIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzIiwg UkZDIDM2MzUsIFNlcHRlbWJlciAyMDAzLgoKICAgW1JGQzQwNzBdICBEb2RnZSwgTS4gYW5kIEIu IFJheSwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0CiAgICAgICAgICAgICAgRXh0ZW5z aW9ucyBmb3IgVmVyeSBIaWdoIFNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lcwogICAgICAg ICAgICAgIChWRFNMKSBVc2luZyBNdWx0aXBsZSBDYXJyaWVyIE1vZHVsYXRpb24gKE1DTSkgTGlu ZQogICAgICAgICAgICAgIENvZGluZyIsIFJGQyA0MDcwLCBNYXkgMjAwNS4KCiAgIFtSRkM0MzE5 XSAgU2lrZXMsIEMuLCBSYXksIEIuLCBhbmQgUi4gQWJiaSwgIkRlZmluaXRpb25zIG9mIE1hbmFn ZWQKICAgICAgICAgICAgICBPYmplY3RzIGZvciBIaWdoIEJpdC1SYXRlIERTTCAtIDJuZCBnZW5l cmF0aW9uIChIRFNMMikgYW5kCiAgICAgICAgICAgICAgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBE aWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpCiAgICAgICAgICAgICAgTGluZXMiLCBSRkMg NDMxOSwgRGVjZW1iZXIgMjAwNS4KClVSSXMKCiAgIFsxXSAgPGh0dHA6Ly93d3cuaWV0Zi5vcmcv aHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5odG1sPgoKCgoKCgoKCgoKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgODZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKQXV0aG9yJ3MgQWRkcmVzcwoKICAgRWR3YXJkIEJl aWxpCiAgIEFjdGVsaXMgTmV0d29ya3MKICAgQmF6ZWwgMjUKICAgUGV0YWNoLVRpa3ZhCiAgIElz cmFlbAoKICAgUGhvbmU6ICs5NzItMy05MjQtMzQ5MQogICBFbWFpbDogZWR3YXJkLmJlaWxpQGFj dGVsaXMuY29tCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgODddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKSW50ZWxsZWN0dWFsIFByb3BlcnR5IFN0YXRl bWVudAoKICAgVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24gcmVnYXJkaW5nIHRoZSB2YWxpZGl0 eSBvciBzY29wZSBvZiBhbnkKICAgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cyBvciBvdGhl ciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkIHRvCiAgIHBlcnRhaW4gdG8gdGhlIGltcGxl bWVudGF0aW9uIG9yIHVzZSBvZiB0aGUgdGVjaG5vbG9neSBkZXNjcmliZWQgaW4KICAgdGhpcyBk b2N1bWVudCBvciB0aGUgZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNlbnNlIHVuZGVyIHN1Y2ggcmln aHRzCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5vciBkb2VzIGl0IHJlcHJl c2VudCB0aGF0IGl0IGhhcwogICBtYWRlIGFueSBpbmRlcGVuZGVudCBlZmZvcnQgdG8gaWRlbnRp ZnkgYW55IHN1Y2ggcmlnaHRzLiAgSW5mb3JtYXRpb24KICAgb24gdGhlIHByb2NlZHVyZXMgd2l0 aCByZXNwZWN0IHRvIHJpZ2h0cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZQogICBmb3VuZCBpbiBC Q1AgNzggYW5kIEJDUCA3OS4KCiAgIENvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0 aGUgSUVURiBTZWNyZXRhcmlhdCBhbmQgYW55CiAgIGFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8g YmUgbWFkZSBhdmFpbGFibGUsIG9yIHRoZSByZXN1bHQgb2YgYW4KICAgYXR0ZW1wdCBtYWRlIHRv IG9idGFpbiBhIGdlbmVyYWwgbGljZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mCiAg IHN1Y2ggcHJvcHJpZXRhcnkgcmlnaHRzIGJ5IGltcGxlbWVudGVycyBvciB1c2VycyBvZiB0aGlz CiAgIHNwZWNpZmljYXRpb24gY2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJ UFIgcmVwb3NpdG9yeSBhdAogICBodHRwOi8vd3d3LmlldGYub3JnL2lwci4KCiAgIFRoZSBJRVRG IGludml0ZXMgYW55IGludGVyZXN0ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbiBh bnkKICAgY29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhl ciBwcm9wcmlldGFyeQogICByaWdodHMgdGhhdCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1h eSBiZSByZXF1aXJlZCB0byBpbXBsZW1lbnQKICAgdGhpcyBzdGFuZGFyZC4gIFBsZWFzZSBhZGRy ZXNzIHRoZSBpbmZvcm1hdGlvbiB0byB0aGUgSUVURiBhdAogICBpZXRmLWlwckBpZXRmLm9yZy4K CgpEaXNjbGFpbWVyIG9mIFZhbGlkaXR5CgogICBUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3Jt YXRpb24gY29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQgb24gYW4KICAgIkFTIElTIiBiYXNp cyBhbmQgVEhFIENPTlRSSUJVVE9SLCBUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRT CiAgIE9SIElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhFIElOVEVSTkVUIFNPQ0lFVFkgQU5E IFRIRSBJTlRFUk5FVAogICBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFMTCBXQVJS QU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsCiAgIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gQU5ZIFdBUlJBTlRZIFRIQVQgVEhFIFVTRSBPRiBUSEUKICAgSU5GT1JNQVRJT04gSEVSRUlO IFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdIVFMgT1IgQU5ZIElNUExJRUQKICAgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu CgoKQ29weXJpZ2h0IFN0YXRlbWVudAoKICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAo MjAwNykuICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QKICAgdG8gdGhlIHJpZ2h0cywgbGljZW5z ZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQIDc4LCBhbmQKICAgZXhjZXB0IGFz IHNldCBmb3J0aCB0aGVyZWluLCB0aGUgYXV0aG9ycyByZXRhaW4gYWxsIHRoZWlyIHJpZ2h0cy4K CgpBY2tub3dsZWRnbWVudAoKICAgRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24g aXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQogICBJRVRGIEFkbWluaXN0cmF0aXZlIFN1cHBv cnQgQWN0aXZpdHkgKElBU0EpLgoKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODhdCgwK ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list [email protected] https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C753CB.2D644D5B--