<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>223661</bug_id>
          
          <creation_ts>2021-03-23 15:59:48 -0700</creation_ts>
          <short_desc>PCM: Rename attributeOn to attributionDestination and change the IDL data type of attributionSourceId to unsigned long</short_desc>
          <delta_ts>2021-03-25 10:34:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743052</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-23 15:59:48 -0700</bug_when>
    <thetext>The PR review of the update of the PCM spec lead WebKit, Mozilla, and Google to decide on two changes:
1. Rename attributeOn to attributionDestination
2. Change the IDL data type of attributionSourceId from DOMString to unsigned long

This change can be seen in this commit:
https://github.com/privacycg/private-click-measurement/pull/75/commits/8623b5df5e899e6652bc5b00313585f7eeafa797

We should make those changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743073</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-23 17:00:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/75762075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743128</commentid>
    <comment_count>2</comment_count>
      <attachid>424094</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-23 20:01:29 -0700</bug_when>
    <thetext>Created attachment 424094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743339</commentid>
    <comment_count>3</comment_count>
      <attachid>424094</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-03-24 09:15:15 -0700</bug_when>
    <thetext>Comment on attachment 424094
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424094&amp;action=review

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:413
&gt; +    auto hasAttributionSourceIDAttr = hasAttributeWithoutSynchronization(attributionsourceidAttr);

I know these names were already in here, but don&apos;t we typically avoid using abbreviations? Also, why split these out?

&gt; Source/WebCore/loader/PrivateClickMeasurement.cpp:158
&gt; +    reportDetails-&gt;setString(&quot;attributed_on_site&quot;_s, m_destinationSite.registrableDomain.string());

Should this JSON string be changed to attribution_destination_site or something similar?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743546</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-24 14:19:58 -0700</bug_when>
    <thetext>(In reply to katherine_cheney from comment #3)
&gt; Comment on attachment 424094 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424094&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLAnchorElement.cpp:413
&gt; &gt; +    auto hasAttributionSourceIDAttr = hasAttributeWithoutSynchronization(attributionsourceidAttr);
&gt; 
&gt; I know these names were already in here, but don&apos;t we typically avoid using
&gt; abbreviations? Also, why split these out?

The developer-facing names have been decided in the W3C Privacy CG. I&apos;m just reflecting them in variable names.

As for splitting, I&apos;m using the booleans twice and didn&apos;t want to call hasAttributeWithoutSynchronization() four times.

&gt; &gt; Source/WebCore/loader/PrivateClickMeasurement.cpp:158
&gt; &gt; +    reportDetails-&gt;setString(&quot;attributed_on_site&quot;_s, m_destinationSite.registrableDomain.string());
&gt; 
&gt; Should this JSON string be changed to attribution_destination_site or
&gt; something similar?

I thought about that. At minimum, we should bring it up with Google to see what they think. Not for this patch though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743804</commentid>
    <comment_count>5</comment_count>
      <attachid>424094</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-03-25 10:02:17 -0700</bug_when>
    <thetext>Comment on attachment 424094
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424094&amp;action=review

r=me

&gt; LayoutTests/http/tests/privateClickMeasurement/anchor-tag-attributes-validation-expected.txt:8
&gt; +CONSOLE MESSAGE: Both attributionsourceid and attributiondestination need to be set for Private Click Measurement to work.

It&apos;s interesting that your renaming change seems to have affected the number and order of these messages. Is that expected?
Update: I guess this is a by-product of changing from string to number, and removing some test cases below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743807</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-25 10:15:21 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #5)
&gt; Comment on attachment 424094 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424094&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; LayoutTests/http/tests/privateClickMeasurement/anchor-tag-attributes-validation-expected.txt:8
&gt; &gt; +CONSOLE MESSAGE: Both attributionsourceid and attributiondestination need to be set for Private Click Measurement to work.
&gt; 
&gt; It&apos;s interesting that your renaming change seems to have affected the number
&gt; and order of these messages. Is that expected?
&gt; Update: I guess this is a by-product of changing from string to number, and
&gt; removing some test cases below.

Yeah, what I did was to work through these one by one and remove the once that just duplicated results. I made sure all the remaining cases matter.

Thanks for the review, Brent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743808</commentid>
    <comment_count>7</comment_count>
      <attachid>424094</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-25 10:15:49 -0700</bug_when>
    <thetext>Comment on attachment 424094
Patch

Let&apos;s see if this patch still applies or needs to be rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743816</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-25 10:34:45 -0700</bug_when>
    <thetext>Committed r275046: &lt;https://commits.webkit.org/r275046&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424094.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424094</attachid>
            <date>2021-03-23 20:01:29 -0700</date>
            <delta_ts>2021-03-25 10:34:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223661-20210323200128.patch</filename>
            <type>text/plain</type>
            <size>125447</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM5NGVjYzgyOGZjZmI4
YjE0YjM2ZmFhZDcwYmMyYTA0YTkwMGYxOC4uYWY3MjdkNWRlZjY1MDllZTBlNDUxOThhODA4YTAw
MGM4Y2FkNGRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIxLTAzLTIzICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogUmVuYW1lIGF0
dHJpYnV0ZU9uIHRvIGF0dHJpYnV0aW9uRGVzdGluYXRpb24gYW5kIGNoYW5nZSB0aGUgSURMIGRh
dGEgdHlwZSBvZiBhdHRyaWJ1dGlvblNvdXJjZUlkIHRvIHVuc2lnbmVkIGxvbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzY2MQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzU3NjIwNzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIFBSIHJldmlldyBvZiB0aGUgdXBkYXRlIG9mIHRoZSBQQ00g
c3BlYyBsZWFkIFdlYktpdCwgTW96aWxsYSwgYW5kIEdvb2dsZSB0byBkZWNpZGUgb24gdHdvIGNo
YW5nZXM6CisgICAgICAgIDEuIFJlbmFtZSBhdHRyaWJ1dGVPbiB0byBhdHRyaWJ1dGlvbkRlc3Rp
bmF0aW9uCisgICAgICAgIDIuIENoYW5nZSB0aGUgSURMIGRhdGEgdHlwZSBvZiBhdHRyaWJ1dGlv
blNvdXJjZUlkIGZyb20gRE9NU3RyaW5nIHRvIHVuc2lnbmVkIGxvbmcKKworICAgICAgICBUaGUg
c3BlYyBjaGFuZ2UgY2FuIGJlIHNlZW4gaW4gdGhpcyBjb21taXQ6CisgICAgICAgIGh0dHBzOi8v
Z2l0aHViLmNvbS9wcml2YWN5Y2cvcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC9wdWxsLzc1L2Nv
bW1pdHMvODYyM2I1ZGY1ZTg5OWU2NjUyYmM1YjAwMzEzNTg1ZjdlZWFmYTc5NworCisgICAgICAg
IFRoaXMgcGF0Y2ggbWFrZXMgdGhvc2UgY2hhbmdlcywgcGx1cyBjaGFuZ2VzIG5hbWVzIG9mIFNQ
SXMsIGZ1bmN0aW9ucywgYW5kIHZhcmlhYmxlcyBhY2NvcmRpbmdseS4KKworICAgICAgICBFeGlz
dGluZyB0ZXN0cyB3ZXJlIHVwZGF0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpwYXJzZVByaXZh
dGVDbGlja01lYXN1cmVtZW50IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAg
KiBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmF0dHJpYnV0aW9uUmVwb3J0QXR0cmlidXRlT25V
UkwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmF0
dHJpYnV0aW9uUmVwb3J0SlNPTiBjb25zdCk6CisgICAgICAgICogbG9hZGVyL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGU6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
bkRlc3RpbmF0aW9uU2l0ZTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGU6OmRlbGV0
ZWRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0
cmlidXRpb25EZXN0aW5hdGlvblNpdGU6OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlv
blNpdGVIYXNoOjpoYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZUhhc2g6OmVxdWFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6ZGVzdGluYXRpb25T
aXRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50Ojpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OmRlY29kZSk6CisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8V2ViQ29yZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlPjo6ZW1wdHlWYWx1ZSk6Cisg
ICAgICAgIChXVEY6Okhhc2hUcmFpdHM8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlPjo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKToKKyAg
ICAgICAgKFdURjo6SGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGU+Ojppc0RlbGV0ZWRWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlOjpBdHRyaWJ1
dGVPblNpdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZTo6b3BlcmF0b3I9PSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlOjpt
YXRjaGVzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGU6OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGVPblNpdGU6OmRlbGV0ZWRWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlOjpjb25zdHJ1Y3REZWxl
dGVkVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZTo6ZGVsZXRlVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZTo6aXNEZWxl
dGVkVmFsdWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZUhhc2g6Omhhc2gpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZUhhc2g6
OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjphdHRyaWJ1dGVPblNpdGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNo
VHJhaXRzPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGU+
OjplbXB0eVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6SGFzaFRyYWl0czxXZWJDb3Jl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlPjo6Y29uc3RydWN0RGVs
ZXRlZFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6SGFzaFRyYWl0czxXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlPjo6aXNEZWxldGVkVmFsdWUp
OiBEZWxldGVkLgorCiAyMDIxLTAzLTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JGYWN0b3J5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA4MGNhMzVkNmU4YmZlM2ZmYTFhMGYzZjQ2MjRkYzIwNmY5NGFjNGNjLi43NmRjMDkx
N2ZmNjA0ZTJkYmE5NzUwNjBhMWU2NDQ2ZmJhY2E1MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYx
IEBACisyMDIxLTAzLTIzICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFBDTTogUmVuYW1lIGF0dHJpYnV0ZU9uIHRvIGF0dHJpYnV0aW9uRGVzdGluYXRpb24g
YW5kIGNoYW5nZSB0aGUgSURMIGRhdGEgdHlwZSBvZiBhdHRyaWJ1dGlvblNvdXJjZUlkIHRvIHVu
c2lnbmVkIGxvbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzY2MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU3NjIwNzU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFBSIHJldmlldyBvZiB0
aGUgdXBkYXRlIG9mIHRoZSBQQ00gc3BlYyBsZWFkIFdlYktpdCwgTW96aWxsYSwgYW5kIEdvb2ds
ZSB0byBkZWNpZGUgb24gdHdvIGNoYW5nZXM6CisgICAgICAgIDEuIFJlbmFtZSBhdHRyaWJ1dGVP
biB0byBhdHRyaWJ1dGlvbkRlc3RpbmF0aW9uCisgICAgICAgIDIuIENoYW5nZSB0aGUgSURMIGRh
dGEgdHlwZSBvZiBhdHRyaWJ1dGlvblNvdXJjZUlkIGZyb20gRE9NU3RyaW5nIHRvIHVuc2lnbmVk
IGxvbmcKKworICAgICAgICBUaGUgc3BlYyBjaGFuZ2UgY2FuIGJlIHNlZW4gaW4gdGhpcyBjb21t
aXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9wcml2YWN5Y2cvcHJpdmF0ZS1jbGljay1t
ZWFzdXJlbWVudC9wdWxsLzc1L2NvbW1pdHMvODYyM2I1ZGY1ZTg5OWU2NjUyYmM1YjAwMzEzNTg1
ZjdlZWFmYTc5NworCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgdGhvc2UgY2hhbmdlcywgcGx1
cyBjaGFuZ2VzIG5hbWVzIG9mIFNQSXMsIGZ1bmN0aW9ucywgYW5kIHZhcmlhYmxlcyBhY2NvcmRp
bmdseS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6YnVpbGRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZy
b21EYXRhYmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlOjpmaW5kUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpOgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aW5zZXJ0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6cmVtb3ZlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmF0dHJpYnV0ZVByaXZhdGVDbGlja01lYXN1
cmVtZW50KToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNl
U3RvcmU6OmF0dHJpYnV0aW9uVG9TdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Y2xlYXJTZW50QXR0cmlidXRpb24pOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFi
YXNlU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmF0dHJpYnV0
ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1By
b2Nlc3M6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9y
VGVzdGluZyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtTZXNzaW9uOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmcpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjpoYW5kbGVBdHRyaWJ1dGlvbik6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5n
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdL
UGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVz
dGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZzpkZXN0aW5hdGlvblVSTDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
UmVwb3J0VVJMc0ZvclRlc3Rpbmc6YXR0cmlidXRlT25VUkw6Y29tcGxldGlvbkhhbmRsZXI6XSk6
IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3NldFVJRXZlbnRBdHRyaWJ1dGlvbjpdKToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IF91aUV2ZW50QXR0cmlidXRpb25dKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21t
aXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDIxLTAzLTIzICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBEaXNwbGF5UmVmcmVz
aE1vbml0b3JGYWN0b3J5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5j
aG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cAppbmRleCAzNTI5MmMyMTBkOTYyNWZkYWZhMTk5N2JiZmRjNjAyMTM4NjgxNjQ1Li4yMDM3Y2Zm
M2U5ZmYzZGRkMTc5ODc0YTNjNTYwZjQyODhiYWVlY2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtNDAyLDcgKzQwMiw3IEBAIE9wdGlvbmFsPFByaXZh
dGVDbGlja01lYXN1cmVtZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVuCiB7CiAgICAgdXNpbmcgU291cmNlSUQgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6U291cmNlSUQ7CiAgICAgdXNpbmcgU291cmNlU2l0ZSA9IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VTaXRlOwotICAgIHVzaW5nIEF0dHJpYnV0ZU9uU2l0ZSA9IFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGU7CisgICAgdXNpbmcgQXR0cmlidXRpb25EZXN0
aW5hdGlvblNpdGUgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5h
dGlvblNpdGU7CiAKICAgICBhdXRvKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCk7CiAgICAgaWYg
KCFwYWdlIHx8IHBhZ2UtPnNlc3Npb25JRCgpLmlzRXBoZW1lcmFsKCkKQEAgLTQxMCwxNCArNDEw
LDE2IEBAIE9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBIVE1MQW5jaG9yRWxlbWVu
dDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdXJlbWVuCiAgICAgICAgIHx8ICFVc2VyR2VzdHVyZUlu
ZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAKLSAgICBpZiAoIWhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0
cmlidXRpb25zb3VyY2VpZEF0dHIpICYmICFoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKGF0dHJpYnV0ZW9uQXR0cikpCisgICAgYXV0byBoYXNBdHRyaWJ1dGlvblNvdXJjZUlEQXR0
ciA9IGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0cmlidXRpb25zb3VyY2Vp
ZEF0dHIpOworICAgIGF1dG8gaGFzQXR0cmlidXRpb25EZXN0aW5hdGlvbkF0dHIgPSBoYXNBdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGF0dHJpYnV0aW9uZGVzdGluYXRpb25BdHRyKTsK
KyAgICBpZiAoIWhhc0F0dHJpYnV0aW9uU291cmNlSURBdHRyICYmICFoYXNBdHRyaWJ1dGlvbkRl
c3RpbmF0aW9uQXR0cikKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICAKKwogICAg
IGF1dG8gYXR0cmlidXRpb25Tb3VyY2VJREF0dHIgPSBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKGF0dHJpYnV0aW9uc291cmNlaWRBdHRyKTsKLSAgICBhdXRvIGF0dHJpYnV0ZU9uQXR0
ciA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0cmlidXRlb25BdHRyKTsKLSAg
ICAKLSAgICBpZiAoYXR0cmlidXRpb25Tb3VyY2VJREF0dHIuaXNFbXB0eSgpIHx8IGF0dHJpYnV0
ZU9uQXR0ci5pc0VtcHR5KCkpIHsKLSAgICAgICAgZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiQm90aCBhdHRy
aWJ1dGlvbnNvdXJjZWlkIGFuZCBhdHRyaWJ1dGVvbiBuZWVkIHRvIGJlIHNldCBmb3IgUHJpdmF0
ZSBDbGljayBNZWFzdXJlbWVudCB0byB3b3JrLiJfcyk7CisgICAgYXV0byBhdHRyaWJ1dGlvbkRl
c3RpbmF0aW9uQXR0ciA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0cmlidXRp
b25kZXN0aW5hdGlvbkF0dHIpOworCisgICAgaWYgKCFoYXNBdHRyaWJ1dGlvblNvdXJjZUlEQXR0
ciB8fCAhaGFzQXR0cmlidXRpb25EZXN0aW5hdGlvbkF0dHIgfHwgYXR0cmlidXRpb25Tb3VyY2VJ
REF0dHIuaXNFbXB0eSgpIHx8IGF0dHJpYnV0aW9uRGVzdGluYXRpb25BdHRyLmlzRW1wdHkoKSkg
eworICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90
aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJCb3RoIGF0dHJpYnV0aW9uc291cmNlaWQgYW5k
IGF0dHJpYnV0aW9uZGVzdGluYXRpb24gbmVlZCB0byBiZSBzZXQgZm9yIFByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgdG8gd29yay4iX3MpOwogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
ICAgIH0KIApAQCAtNDI5LDcgKzQzMSw3IEBAIE9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVt
ZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdXJlbWVuCiAgICAg
CiAgICAgYXV0byBhdHRyaWJ1dGlvblNvdXJjZUlEID0gcGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRl
Z2VyKGF0dHJpYnV0aW9uU291cmNlSURBdHRyKTsKICAgICBpZiAoIWF0dHJpYnV0aW9uU291cmNl
SUQpIHsKLSAgICAgICAgZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpPdGhlciwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiYXR0cmlidXRpb25zb3VyY2VpZCBjYW4g
bm90IGJlIGNvbnZlcnRlZCB0byBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHdoaWNoIGlzIHJlcXVp
cmVkIGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50LiJfcyk7CisgICAgICAgIGRvY3VtZW50
KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6
V2FybmluZywgImF0dHJpYnV0aW9uc291cmNlaWQgaXMgbm90IGEgbm9uLW5lZ2F0aXZlIGludGVn
ZXIgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIFByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnQuIl9zKTsK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAgICAgCkBAIC00MzgsMTkgKzQ0
MCwxOSBAQCBPcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4gSFRNTEFuY2hvckVsZW1l
bnQ6OnBhcnNlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbgogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogICAgIH0KIAotICAgIFVSTCBhdHRyaWJ1dGVPblVSTCB7IFVSTCgpLCBhdHRyaWJ1dGVP
bkF0dHIgfTsKLSAgICBpZiAoIWF0dHJpYnV0ZU9uVVJMLmlzVmFsaWQoKSB8fCAhYXR0cmlidXRl
T25VUkwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7Ci0gICAgICAgIGRvY3VtZW50KCkuYWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6V2Fybmlu
ZywgImF0dHJpYnV0ZW9uIGNvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBIVFRQLWZh
bWlseSBVUkwuIl9zKTsKKyAgICBVUkwgZGVzdGluYXRpb25VUkwgeyBVUkwoKSwgYXR0cmlidXRp
b25EZXN0aW5hdGlvbkF0dHIgfTsKKyAgICBpZiAoIWRlc3RpbmF0aW9uVVJMLmlzVmFsaWQoKSB8
fCAhZGVzdGluYXRpb25VUkwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7CisgICAgICAgIGRv
Y3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VM
ZXZlbDo6V2FybmluZywgImF0dHJpYnV0aW9uZGVzdGluYXRpb24gY291bGQgbm90IGJlIGNvbnZl
cnRlZCB0byBhIHZhbGlkIEhUVFAtZmFtaWx5IFVSTC4iX3MpOwogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogICAgIH0KIAogICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvY3VtZW50UmVnaXN0
cmFibGVEb21haW4geyBkb2N1bWVudCgpLnVybCgpIH07Ci0gICAgaWYgKGRvY3VtZW50UmVnaXN0
cmFibGVEb21haW4ubWF0Y2hlcyhhdHRyaWJ1dGVPblVSTCkpIHsKLSAgICAgICAgZG9jdW1lbnQo
KS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpX
YXJuaW5nLCAiYXR0cmlidXRlb24gY2FuIG5vdCBiZSB0aGUgc2FtZSBzaXRlIGFzIHRoZSBjdXJy
ZW50IHdlYnNpdGUuIl9zKTsKKyAgICBpZiAoZG9jdW1lbnRSZWdpc3RyYWJsZURvbWFpbi5tYXRj
aGVzKGRlc3RpbmF0aW9uVVJMKSkgeworICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJhdHRyaWJ1
dGlvbmRlc3RpbmF0aW9uIGNhbiBub3QgYmUgdGhlIHNhbWUgc2l0ZSBhcyB0aGUgY3VycmVudCB3
ZWJzaXRlLiJfcyk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgfQogCi0gICAg
YXV0byBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50IHsg
U291cmNlSUQoYXR0cmlidXRpb25Tb3VyY2VJRC52YWx1ZSgpKSwgU291cmNlU2l0ZShkb2N1bWVu
dFJlZ2lzdHJhYmxlRG9tYWluKSwgQXR0cmlidXRlT25TaXRlKGF0dHJpYnV0ZU9uVVJMKSB9Owor
ICAgIGF1dG8gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCB7IFNvdXJjZUlEKGF0dHJpYnV0aW9uU291cmNlSUQudmFsdWUoKSksIFNvdXJjZVNpdGUoZG9j
dW1lbnRSZWdpc3RyYWJsZURvbWFpbiksIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlKGRlc3Rp
bmF0aW9uVVJMKSB9OwogCiAgICAgYXV0byBhdHRyaWJ1dGlvblNvdXJjZU5vbmNlQXR0ciA9IGF0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXR0cmlidXRpb25zb3VyY2Vub25jZUF0dHIp
OwogICAgIGlmICghYXR0cmlidXRpb25Tb3VyY2VOb25jZUF0dHIuaXNFbXB0eSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCmluZGV4IGU5YTZkM2UxNjE3Mzhl
Mjg2ODk0YmEzNDgwMjk0NGU1MWY1ZTFkMDguLjEyOTFhYmZkZDFlYzJlZGJkYmEyYTc0N2QyNTQz
MTU1OWEyMWVmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRs
CkBAIC0yMSw4ICsyMSw4IEBACiBbCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEhU
TUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVk
ZWQsIEVuYWJsZWRCeVNldHRpbmc9UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFJlZmxlY3RdIGF0
dHJpYnV0ZSBET01TdHJpbmcgYXR0cmlidXRpb25zb3VyY2VpZDsKLSAgICBbQ0VSZWFjdGlvbnM9
Tm90TmVlZGVkLCBFbmFibGVkQnlTZXR0aW5nPVByaXZhdGVDbGlja01lYXN1cmVtZW50LCBSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGF0dHJpYnV0ZW9uOworICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIEVuYWJsZWRCeVNldHRpbmc9UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFJlZmxl
Y3RdIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGF0dHJpYnV0aW9uc291cmNlaWQ7CisgICAgW0NF
UmVhY3Rpb25zPU5vdE5lZWRlZCwgRW5hYmxlZEJ5U2V0dGluZz1Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhdHRyaWJ1dGlvbmRlc3RpbmF0aW9u
OwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIEVuYWJsZWRCeVNldHRpbmc9UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRGcmF1ZFByZXZlbnRpb24sIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgYXR0cmlidXRpb25zb3VyY2Vub25jZTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAgW0NFUmVhY3Rpb25zPU5v
dE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBjb29yZHM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDUwMWVjMDAwNTgxMTdmNmE0MGNi
NWUzYmFhNmRhYzVlMTA3YWY1NWEuLjU2NWQzMjBiMzJkNWE0MjgyZGM3YWZkMWNiMmRkNzg3NjU0
YjBhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC02
OCw5ICs2OCw5IEBAIGFyaWEtdmFsdWVub3cKIGFyaWEtdmFsdWV0ZXh0CiBhcwogYXN5bmMKK2F0
dHJpYnV0aW9uZGVzdGluYXRpb24KIGF0dHJpYnV0aW9uc291cmNlaWQKIGF0dHJpYnV0aW9uc291
cmNlbm9uY2UKLWF0dHJpYnV0ZW9uCiBhdXRvY29tcGxldGUKIGF1dG9mb2N1cwogYXV0b3BpY3R1
cmVpbnBpY3R1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQuY3BwCmluZGV4IDg2Y2EzOWRlMTAxZDBmNTk3YzkwMmE2Yjk2YzliOGVmZmQyMzYx
MTAuLmRiNjcxMjgyOTUyZWVhMmJmNWRkNDA2NDBjZjQzNTY2ZWMyNjgzMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNwcApAQCAtNTQs
NyArNTQsNyBAQCBib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50Ojppc1ZhbGlkKCkgY29uc3QK
ICAgICAgICAgJiYgbV9hdHRyaWJ1dGlvblRyaWdnZXJEYXRhLnZhbHVlKCkuaXNWYWxpZCgpCiAg
ICAgICAgICYmIG1fc291cmNlSUQuaXNWYWxpZCgpCiAgICAgICAgICYmICFtX3NvdXJjZVNpdGUu
cmVnaXN0cmFibGVEb21haW4uaXNFbXB0eSgpCi0gICAgICAgICYmICFtX2F0dHJpYnV0ZU9uU2l0
ZS5yZWdpc3RyYWJsZURvbWFpbi5pc0VtcHR5KCkKKyAgICAgICAgJiYgIW1fZGVzdGluYXRpb25T
aXRlLnJlZ2lzdHJhYmxlRG9tYWluLmlzRW1wdHkoKQogICAgICAgICAmJiBtX2VhcmxpZXN0VGlt
ZVRvU2VuZDsKIH0KIApAQCAtMTQzLDcgKzE0Myw3IEBAIFVSTCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6YXR0cmlidXRpb25SZXBvcnRBdHRyaWJ1dGVPblVSTCgpIGNvbnN0CiAgICAgaWYgKCFp
c1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBVUkwoKTsKIAotICAgIHJldHVybiBhdHRyaWJ1dGlv
blJlcG9ydFVSTChtX2F0dHJpYnV0ZU9uU2l0ZS5yZWdpc3RyYWJsZURvbWFpbik7CisgICAgcmV0
dXJuIGF0dHJpYnV0aW9uUmVwb3J0VVJMKG1fZGVzdGluYXRpb25TaXRlLnJlZ2lzdHJhYmxlRG9t
YWluKTsKIH0KIAogUmVmPEpTT046Ok9iamVjdD4gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmF0
dHJpYnV0aW9uUmVwb3J0SlNPTigpIGNvbnN0CkBAIC0xNTUsNyArMTU1LDcgQEAgUmVmPEpTT046
Ok9iamVjdD4gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmF0dHJpYnV0aW9uUmVwb3J0SlNPTigp
IGNvbnN0CiAgICAgcmVwb3J0RGV0YWlscy0+c2V0U3RyaW5nKCJzb3VyY2VfZW5nYWdlbWVudF90
eXBlIl9zLCAiY2xpY2siX3MpOwogICAgIHJlcG9ydERldGFpbHMtPnNldFN0cmluZygic291cmNl
X3NpdGUiX3MsIG1fc291cmNlU2l0ZS5yZWdpc3RyYWJsZURvbWFpbi5zdHJpbmcoKSk7CiAgICAg
cmVwb3J0RGV0YWlscy0+c2V0SW50ZWdlcigic291cmNlX2lkIl9zLCBtX3NvdXJjZUlELmlkKTsK
LSAgICByZXBvcnREZXRhaWxzLT5zZXRTdHJpbmcoImF0dHJpYnV0ZWRfb25fc2l0ZSJfcywgbV9h
dHRyaWJ1dGVPblNpdGUucmVnaXN0cmFibGVEb21haW4uc3RyaW5nKCkpOworICAgIHJlcG9ydERl
dGFpbHMtPnNldFN0cmluZygiYXR0cmlidXRlZF9vbl9zaXRlIl9zLCBtX2Rlc3RpbmF0aW9uU2l0
ZS5yZWdpc3RyYWJsZURvbWFpbi5zdHJpbmcoKSk7CiAgICAgcmVwb3J0RGV0YWlscy0+c2V0SW50
ZWdlcigidHJpZ2dlcl9kYXRhIl9zLCBtX2F0dHJpYnV0aW9uVHJpZ2dlckRhdGEtPmRhdGEpOwog
ICAgIHJlcG9ydERldGFpbHMtPnNldEludGVnZXIoInZlcnNpb24iX3MsIDIpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oCmluZGV4IGM3MTFm
NjllZDA0YTBmZTA5YmVhZDg1YWE3OGY2YWVhYTg0ZGQ2MzUuLmMzZmIwOGQ0MGI2N2MyNTgwYTA1
ZDg3NTgzZWI4Njc3MDUzYmU0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC5oCkBAIC0xNDEsMjQgKzE0MSwyNCBAQCBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFs
c2U7CiAgICAgfTsKIAotICAgIHN0cnVjdCBBdHRyaWJ1dGVPblNpdGUgewotICAgICAgICBBdHRy
aWJ1dGVPblNpdGUoKSA9IGRlZmF1bHQ7Ci0gICAgICAgIGV4cGxpY2l0IEF0dHJpYnV0ZU9uU2l0
ZShjb25zdCBVUkwmIHVybCkKKyAgICBzdHJ1Y3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUg
eworICAgICAgICBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSgpID0gZGVmYXVsdDsKKyAgICAg
ICAgZXhwbGljaXQgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUoY29uc3QgVVJMJiB1cmwpCiAg
ICAgICAgICAgICA6IHJlZ2lzdHJhYmxlRG9tYWluIHsgUmVnaXN0cmFibGVEb21haW4geyB1cmwg
fSB9CiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIGV4cGxpY2l0IEF0dHJpYnV0ZU9u
U2l0ZShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCisgICAgICAgIGV4cGxpY2l0IEF0
dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkK
ICAgICAgICAgICAgIDogcmVnaXN0cmFibGVEb21haW4geyBXVEY6Okhhc2hUYWJsZURlbGV0ZWRW
YWx1ZSB9CiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIGV4cGxpY2l0IEF0dHJpYnV0
ZU9uU2l0ZShSZWdpc3RyYWJsZURvbWFpbiYmIGRvbWFpbikKKyAgICAgICAgZXhwbGljaXQgQXR0
cmlidXRpb25EZXN0aW5hdGlvblNpdGUoUmVnaXN0cmFibGVEb21haW4mJiBkb21haW4pCiAgICAg
ICAgICAgICA6IHJlZ2lzdHJhYmxlRG9tYWluIHsgV1RGTW92ZShkb21haW4pIH0KICAgICAgICAg
ewogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQXR0
cmlidXRlT25TaXRlJiBvdGhlcikgY29uc3QKKyAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiBvdGhlcikgY29uc3QKICAgICAgICAgewogICAg
ICAgICAgICAgcmV0dXJuIHJlZ2lzdHJhYmxlRG9tYWluID09IG90aGVyLnJlZ2lzdHJhYmxlRG9t
YWluOwogICAgICAgICB9CkBAIC0xNzMsMTUgKzE3MywxNSBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICByZXR1cm4gcmVnaXN0cmFibGVEb21haW4uaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKTsKICAg
ICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBBdHRyaWJ1dGVPblNpdGUgZGVsZXRlZFZhbHVlKCkK
KyAgICAgICAgc3RhdGljIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIGRlbGV0ZWRWYWx1ZSgp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBBdHRyaWJ1dGVPblNpdGUgeyBXVEY6Okhh
c2hUYWJsZURlbGV0ZWRWYWx1ZSB9OworICAgICAgICAgICAgcmV0dXJuIEF0dHJpYnV0aW9uRGVz
dGluYXRpb25TaXRlIHsgV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKICAgICAgICAgfQog
Ci0gICAgICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShBdHRyaWJ1dGVPblNp
dGUmIGF0dHJpYnV0ZU9uU2l0ZSkKKyAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRl
ZFZhbHVlKEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiBkZXN0aW5hdGlvblNpdGUpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIG5ldyAoJmF0dHJpYnV0ZU9uU2l0ZSkgQXR0cmlidXRlT25TaXRl
OwotICAgICAgICAgICAgYXR0cmlidXRlT25TaXRlID0gQXR0cmlidXRlT25TaXRlOjpkZWxldGVk
VmFsdWUoKTsKKyAgICAgICAgICAgIG5ldyAoJmRlc3RpbmF0aW9uU2l0ZSkgQXR0cmlidXRpb25E
ZXN0aW5hdGlvblNpdGU7CisgICAgICAgICAgICBkZXN0aW5hdGlvblNpdGUgPSBBdHRyaWJ1dGlv
bkRlc3RpbmF0aW9uU2l0ZTo6ZGVsZXRlZFZhbHVlKCk7CiAgICAgICAgIH0KIAogICAgICAgICB2
b2lkIGRlbGV0ZVZhbHVlKCkKQEAgLTE5NywxMyArMTk3LDEzIEBAIHB1YmxpYzoKICAgICAgICAg
UmVnaXN0cmFibGVEb21haW4gcmVnaXN0cmFibGVEb21haW47CiAgICAgfTsKIAotICAgIHN0cnVj
dCBBdHRyaWJ1dGVPblNpdGVIYXNoIHsKLSAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29u
c3QgQXR0cmlidXRlT25TaXRlJiBhdHRyaWJ1dGVPblNpdGUpCisgICAgc3RydWN0IEF0dHJpYnV0
aW9uRGVzdGluYXRpb25TaXRlSGFzaCB7CisgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNv
bnN0IEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiBkZXN0aW5hdGlvblNpdGUpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGVPblNpdGUucmVnaXN0cmFibGVEb21haW4u
aGFzaCgpOworICAgICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uU2l0ZS5yZWdpc3RyYWJsZURv
bWFpbi5oYXNoKCk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIHN0YXRpYyBib29sIGVx
dWFsKGNvbnN0IEF0dHJpYnV0ZU9uU2l0ZSYgYSwgY29uc3QgQXR0cmlidXRlT25TaXRlJiBiKQor
ICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0
ZSYgYSwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmIGIpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIHJldHVybiBhID09IGI7CiAgICAgICAgIH0KQEAgLTI0OCwxMCArMjQ4LDEwIEBA
IHB1YmxpYzoKICAgICB9OwogCiAgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKSA9IGRlZmF1
bHQ7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoU291cmNlSUQgc291cmNlSUQsIGNvbnN0
IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbnN0IEF0dHJpYnV0ZU9uU2l0ZSYgYXR0cmlidXRl
T25TaXRlLCBTdHJpbmcmJiBzb3VyY2VEZXNjcmlwdGlvbiA9IHsgfSwgU3RyaW5nJiYgcHVyY2hh
c2VyID0geyB9LCBXYWxsVGltZSB0aW1lT2ZBZENsaWNrID0gV2FsbFRpbWU6Om5vdygpKQorICAg
IFByaXZhdGVDbGlja01lYXN1cmVtZW50KFNvdXJjZUlEIHNvdXJjZUlELCBjb25zdCBTb3VyY2VT
aXRlJiBzb3VyY2VTaXRlLCBjb25zdCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgZGVzdGlu
YXRpb25TaXRlLCBTdHJpbmcmJiBzb3VyY2VEZXNjcmlwdGlvbiA9IHsgfSwgU3RyaW5nJiYgcHVy
Y2hhc2VyID0geyB9LCBXYWxsVGltZSB0aW1lT2ZBZENsaWNrID0gV2FsbFRpbWU6Om5vdygpKQog
ICAgICAgICA6IG1fc291cmNlSUQgeyBzb3VyY2VJRCB9CiAgICAgICAgICwgbV9zb3VyY2VTaXRl
IHsgc291cmNlU2l0ZSB9Ci0gICAgICAgICwgbV9hdHRyaWJ1dGVPblNpdGUgeyBhdHRyaWJ1dGVP
blNpdGUgfQorICAgICAgICAsIG1fZGVzdGluYXRpb25TaXRlIHsgZGVzdGluYXRpb25TaXRlIH0K
ICAgICAgICAgLCBtX3NvdXJjZURlc2NyaXB0aW9uIHsgV1RGTW92ZShzb3VyY2VEZXNjcmlwdGlv
bikgfQogICAgICAgICAsIG1fcHVyY2hhc2VyIHsgV1RGTW92ZShwdXJjaGFzZXIpIH0KICAgICAg
ICAgLCBtX3RpbWVPZkFkQ2xpY2sgeyB0aW1lT2ZBZENsaWNrIH0KQEAgLTI2Niw3ICsyNjYsNyBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIGF0dHJpYnV0aW9uUmVwb3J0QXR0cmli
dXRlT25VUkwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBSZWY8SlNPTjo6T2JqZWN0PiBh
dHRyaWJ1dGlvblJlcG9ydEpTT04oKSBjb25zdDsKICAgICBjb25zdCBTb3VyY2VTaXRlJiBzb3Vy
Y2VTaXRlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VTaXRlOyB9OwotICAgIGNvbnN0IEF0dHJp
YnV0ZU9uU2l0ZSYgYXR0cmlidXRlT25TaXRlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVP
blNpdGU7IH07CisgICAgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmIGRlc3RpbmF0
aW9uU2l0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25TaXRlOyB9OwogICAgIFdhbGxU
aW1lIHRpbWVPZkFkQ2xpY2soKSBjb25zdCB7IHJldHVybiBtX3RpbWVPZkFkQ2xpY2s7IH0KICAg
ICBPcHRpb25hbDxXYWxsVGltZT4gZWFybGllc3RUaW1lVG9TZW5kKCkgY29uc3QgeyByZXR1cm4g
bV9lYXJsaWVzdFRpbWVUb1NlbmQ7IH07CiAgICAgdm9pZCBzZXRFYXJsaWVzdFRpbWVUb1NlbmQo
V2FsbFRpbWUgdGltZSkgeyBtX2VhcmxpZXN0VGltZVRvU2VuZCA9IHRpbWU7IH0KQEAgLTMyMSw3
ICszMjEsNyBAQCBwcml2YXRlOgogCiAgICAgU291cmNlSUQgbV9zb3VyY2VJRDsKICAgICBTb3Vy
Y2VTaXRlIG1fc291cmNlU2l0ZTsKLSAgICBBdHRyaWJ1dGVPblNpdGUgbV9hdHRyaWJ1dGVPblNp
dGU7CisgICAgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgbV9kZXN0aW5hdGlvblNpdGU7CiAg
ICAgU3RyaW5nIG1fc291cmNlRGVzY3JpcHRpb247CiAgICAgU3RyaW5nIG1fcHVyY2hhc2VyOwog
ICAgIFdhbGxUaW1lIG1fdGltZU9mQWRDbGljazsKQEAgLTM0OCw3ICszNDgsNyBAQCB2b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsK
ICAgICBlbmNvZGVyIDw8IG1fc291cmNlSUQuaWQKICAgICAgICAgPDwgbV9zb3VyY2VTaXRlLnJl
Z2lzdHJhYmxlRG9tYWluCi0gICAgICAgIDw8IG1fYXR0cmlidXRlT25TaXRlLnJlZ2lzdHJhYmxl
RG9tYWluCisgICAgICAgIDw8IG1fZGVzdGluYXRpb25TaXRlLnJlZ2lzdHJhYmxlRG9tYWluCiAg
ICAgICAgIDw8IG1fc291cmNlRGVzY3JpcHRpb24KICAgICAgICAgPDwgbV9wdXJjaGFzZXIKICAg
ICAgICAgPDwgbV90aW1lT2ZBZENsaWNrCkBAIC0zNzAsOSArMzcwLDkgQEAgT3B0aW9uYWw8UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpkZWNvZGUoRGVj
b2RlciYgZGVjb2QKICAgICBpZiAoIXNvdXJjZVJlZ2lzdHJhYmxlRG9tYWluKQogICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIAotICAgIE9wdGlvbmFsPFJlZ2lzdHJhYmxlRG9tYWlu
PiBhdHRyaWJ1dGVPblJlZ2lzdHJhYmxlRG9tYWluOwotICAgIGRlY29kZXIgPj4gYXR0cmlidXRl
T25SZWdpc3RyYWJsZURvbWFpbjsKLSAgICBpZiAoIWF0dHJpYnV0ZU9uUmVnaXN0cmFibGVEb21h
aW4pCisgICAgT3B0aW9uYWw8UmVnaXN0cmFibGVEb21haW4+IGRlc3RpbmF0aW9uUmVnaXN0cmFi
bGVEb21haW47CisgICAgZGVjb2RlciA+PiBkZXN0aW5hdGlvblJlZ2lzdHJhYmxlRG9tYWluOwor
ICAgIGlmICghZGVzdGluYXRpb25SZWdpc3RyYWJsZURvbWFpbikKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICAKICAgICBPcHRpb25hbDxTdHJpbmc+IHNvdXJjZURlc2NyaXB0aW9u
OwpAQCAtNDA4LDcgKzQwOCw3IEBAIE9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6ZGVjb2RlKERlY29kZXImIGRlY29kCiAgICAgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24gewogICAgICAgICBTb3VyY2VJRCB7IFdURk1v
dmUoKnNvdXJjZUlEKSB9LAogICAgICAgICBTb3VyY2VTaXRlIHsgV1RGTW92ZSgqc291cmNlUmVn
aXN0cmFibGVEb21haW4pIH0sCi0gICAgICAgIEF0dHJpYnV0ZU9uU2l0ZSB7IFdURk1vdmUoKmF0
dHJpYnV0ZU9uUmVnaXN0cmFibGVEb21haW4pIH0sCisgICAgICAgIEF0dHJpYnV0aW9uRGVzdGlu
YXRpb25TaXRlIHsgV1RGTW92ZSgqZGVzdGluYXRpb25SZWdpc3RyYWJsZURvbWFpbikgfSwKICAg
ICAgICAgV1RGTW92ZSgqc291cmNlRGVzY3JpcHRpb24pLAogICAgICAgICBXVEZNb3ZlKCpwdXJj
aGFzZXIpLAogICAgICAgICBXVEZNb3ZlKCp0aW1lT2ZBZENsaWNrKQpAQCAtNDc2LDEwICs0NzYs
MTAgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlU2l0ZT4gOiBHZW4KICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRW
YWx1ZShjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSYg
c2xvdCkgeyByZXR1cm4gc2xvdC5pc0RlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0
cmlidXRlT25TaXRlPiA6IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1
dGVPblNpdGVIYXNoIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZT4gOiBHZW5lcmljSGFzaFRy
YWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlPiB7
Ci0gICAgc3RhdGljIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVP
blNpdGUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQotICAgIHN0YXRpYyB2b2lkIGNvbnN0
cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRlT25TaXRlJiBzbG90KSB7IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRy
aWJ1dGVPblNpdGU6OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZShzbG90KTsgfQotICAgIHN0YXRpYyBi
b29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpBdHRyaWJ1dGVPblNpdGUmIHNsb3QpIHsgcmV0dXJuIHNsb3QuaXNEZWxldGVkVmFsdWUoKTsg
fQordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlPiA6IFdlYkNvcmU6OlByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZUhhc2ggeyB9OwordGVt
cGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGU+IDogR2VuZXJpY0hhc2hUcmFpdHM8V2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlPiB7
CisgICAgc3RhdGljIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
bkRlc3RpbmF0aW9uU2l0ZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CisgICAgc3RhdGlj
IHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgc2xvdCkgeyBXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGU6OmNvbnN0cnVjdERl
bGV0ZWRWYWx1ZShzbG90KTsgfQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0
IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9u
U2l0ZSYgc2xvdCkgeyByZXR1cm4gc2xvdC5pc0RlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAK
aW5kZXggZDIzNDkxNjQyMTc5Yzk5YTU2NjZlNmM4Mzk3NWI0NzI5MjdhNTRmMS4uZjUzYjc4Nzhi
YTI0NThkNGNkZGFlZDIwNTk4ZWFmNmE2OWIxMTMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwCkBAIC0yOTY1LDE0ICsyOTY1
LDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Omluc2VydEV4
cGlyZWRTdGF0aXN0aWNGb3JUZXN0aW5nKGNvbnN0CiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6YnVpbGRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEZyb21EYXRhYmFzZShXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQqIHN0YXRlbWVudCwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUgYXR0cmlidXRpb25UeXBlKQog
ewogICAgIGF1dG8gc291cmNlU2l0ZURvbWFpbiA9IGdldERvbWFpblN0cmluZ0Zyb21Eb21haW5J
RChzdGF0ZW1lbnQtPmdldENvbHVtbkludCgwKSk7Ci0gICAgYXV0byBhdHRyaWJ1dGVPblNpdGVE
b21haW4gPSBnZXREb21haW5TdHJpbmdGcm9tRG9tYWluSUQoc3RhdGVtZW50LT5nZXRDb2x1bW5J
bnQoMSkpOworICAgIGF1dG8gZGVzdGluYXRpb25TaXRlRG9tYWluID0gZ2V0RG9tYWluU3RyaW5n
RnJvbURvbWFpbklEKHN0YXRlbWVudC0+Z2V0Q29sdW1uSW50KDEpKTsKICAgICBhdXRvIHNvdXJj
ZUlEID0gc3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMik7CiAgICAgYXV0byB0aW1lT2ZBZENsaWNr
ID0gYXR0cmlidXRpb25UeXBlID09IFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25U
eXBlOjpBdHRyaWJ1dGVkID8gc3RhdGVtZW50LT5nZXRDb2x1bW5Eb3VibGUoNSkgOiBzdGF0ZW1l
bnQtPmdldENvbHVtbkRvdWJsZSgzKTsKICAgICBhdXRvIHRva2VuID0gYXR0cmlidXRpb25UeXBl
ID09IFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpBdHRyaWJ1dGVkID8g
c3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDcpIDogc3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDQp
OwogICAgIGF1dG8gc2lnbmF0dXJlID0gYXR0cmlidXRpb25UeXBlID09IFByaXZhdGVDbGlja01l
YXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpBdHRyaWJ1dGVkID8gc3RhdGVtZW50LT5nZXRDb2x1
bW5UZXh0KDgpIDogc3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDUpOwogICAgIGF1dG8ga2V5SUQg
PSBhdHRyaWJ1dGlvblR5cGUgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5
cGU6OkF0dHJpYnV0ZWQgPyBzdGF0ZW1lbnQtPmdldENvbHVtblRleHQoOSkgOiBzdGF0ZW1lbnQt
PmdldENvbHVtblRleHQoNik7CiAKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1
dGlvbihXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoc291cmNlSUQp
LCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShSZWdpc3RyYWJs
ZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxlRG9tYWluU3RyaW5nKHNvdXJj
ZVNpdGVEb21haW4pKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0
ZU9uU2l0ZShSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxl
RG9tYWluU3RyaW5nKGF0dHJpYnV0ZU9uU2l0ZURvbWFpbikpLCB7IH0sIHsgfSwgV2FsbFRpbWU6
OmZyb21SYXdTZWNvbmRzKHRpbWVPZkFkQ2xpY2spKTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCBhdHRyaWJ1dGlvbihXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
SUQoc291cmNlSUQpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0
ZShSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxlRG9tYWlu
U3RyaW5nKHNvdXJjZVNpdGVEb21haW4pKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlKFJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNr
ZWRDcmVhdGVGcm9tUmVnaXN0cmFibGVEb21haW5TdHJpbmcoZGVzdGluYXRpb25TaXRlRG9tYWlu
KSksIHsgfSwgeyB9LCBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHModGltZU9mQWRDbGljaykpOwog
ICAgIAogICAgIGlmIChhdHRyaWJ1dGlvblR5cGUgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRB
dHRyaWJ1dGlvblR5cGU6OkF0dHJpYnV0ZWQpIHsKICAgICAgICAgYXV0byBhdHRyaWJ1dGlvblRy
aWdnZXJEYXRhID0gc3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMyk7CkBAIC0yOTkwLDE4ICsyOTkw
LDE4IEBAIFByaXZhdGVDbGlja01lYXN1cmVtZW50IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlOjpidWlsZFByaXZhdGVDbGlja01lCiAgICAgcmV0dXJuIGF0dHJpYnV0aW9uOwog
fQogCi1zdGQ6OnBhaXI8T3B0aW9uYWw8VW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ+LCBPcHRpb25hbDxBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+PiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6ZmluZFByaXZhdGVDbGlja01lYXN1cmVtZW50
KGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlJiBzb3Vy
Y2VTaXRlLCBjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRl
T25TaXRlJiBhdHRyaWJ1dGVPblNpdGUpCitzdGQ6OnBhaXI8T3B0aW9uYWw8VW5hdHRyaWJ1dGVk
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+LCBPcHRpb25hbDxBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ+PiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6ZmluZFBy
aXZhdGVDbGlja01lYXN1cmVtZW50KGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VTaXRlJiBzb3VyY2VTaXRlLCBjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmIGRlc3RpbmF0aW9uU2l0ZSkK
IHsKICAgICBhdXRvIHNvdXJjZVNpdGVEb21haW5JRCA9IGRvbWFpbklEKHNvdXJjZVNpdGUucmVn
aXN0cmFibGVEb21haW4pOwotICAgIGF1dG8gYXR0cmlidXRlT25TaXRlRG9tYWluSUQgPSBkb21h
aW5JRChhdHRyaWJ1dGVPblNpdGUucmVnaXN0cmFibGVEb21haW4pOworICAgIGF1dG8gZGVzdGlu
YXRpb25TaXRlRG9tYWluSUQgPSBkb21haW5JRChkZXN0aW5hdGlvblNpdGUucmVnaXN0cmFibGVE
b21haW4pOwogCi0gICAgaWYgKCFzb3VyY2VTaXRlRG9tYWluSUQgfHwgIWF0dHJpYnV0ZU9uU2l0
ZURvbWFpbklEKQorICAgIGlmICghc291cmNlU2l0ZURvbWFpbklEIHx8ICFkZXN0aW5hdGlvblNp
dGVEb21haW5JRCkKICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFdURjo6bnVsbG9wdCwg
V1RGOjpudWxsb3B0KTsKIAogICAgIGF1dG8gZmluZFVuYXR0cmlidXRlZFNjb3BlZFN0YXRlbWVu
dCA9IHRoaXMtPnNjb3BlZFN0YXRlbWVudChtX2ZpbmRVbmF0dHJpYnV0ZWRTdGF0ZW1lbnQsIGZp
bmRVbmF0dHJpYnV0ZWRRdWVyeSwgImZpbmRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCJfcyk7CiAg
ICAgaWYgKCFmaW5kVW5hdHRyaWJ1dGVkU2NvcGVkU3RhdGVtZW50CiAgICAgICAgIHx8IGZpbmRV
bmF0dHJpYnV0ZWRTY29wZWRTdGF0ZW1lbnQtPmJpbmRJbnQoMSwgKnNvdXJjZVNpdGVEb21haW5J
RCkgIT0gU1FMSVRFX09LCi0gICAgICAgIHx8IGZpbmRVbmF0dHJpYnV0ZWRTY29wZWRTdGF0ZW1l
bnQtPmJpbmRJbnQoMiwgKmF0dHJpYnV0ZU9uU2l0ZURvbWFpbklEKSAhPSBTUUxJVEVfT0spIHsK
KyAgICAgICAgfHwgZmluZFVuYXR0cmlidXRlZFNjb3BlZFN0YXRlbWVudC0+YmluZEludCgyLCAq
ZGVzdGluYXRpb25TaXRlRG9tYWluSUQpICE9IFNRTElURV9PSykgewogICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKG1fc2Vzc2lvbklELCAiJXAgLSBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZTo6ZmluZFByaXZhdGVDbGlja01lYXN1cmVtZW50IGZpbmRVbmF0
dHJpYnV0ZWRRdWVyeSwgZXJyb3IgbWVzc2FnZTogJXtwcml2YXRlfXMiLCB0aGlzLCBtX2RhdGFi
YXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
fQpAQCAtMzAwOSw3ICszMDA5LDcgQEAgc3RkOjpwYWlyPE9wdGlvbmFsPFVuYXR0cmlidXRlZFBy
aXZhdGVDbGlja01lYXN1cmVtZW50PiwgT3B0aW9uYWw8QXR0cmlidXRlZFByaXYKICAgICBhdXRv
IGZpbmRBdHRyaWJ1dGVkU2NvcGVkU3RhdGVtZW50ID0gdGhpcy0+c2NvcGVkU3RhdGVtZW50KG1f
ZmluZEF0dHJpYnV0ZWRTdGF0ZW1lbnQsIGZpbmRBdHRyaWJ1dGVkUXVlcnksICJmaW5kUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQiX3MpOwogICAgIGlmICghZmluZEF0dHJpYnV0ZWRTY29wZWRTdGF0
ZW1lbnQKICAgICAgICAgfHwgZmluZEF0dHJpYnV0ZWRTY29wZWRTdGF0ZW1lbnQtPmJpbmRJbnQo
MSwgKnNvdXJjZVNpdGVEb21haW5JRCkgIT0gU1FMSVRFX09LCi0gICAgICAgIHx8IGZpbmRBdHRy
aWJ1dGVkU2NvcGVkU3RhdGVtZW50LT5iaW5kSW50KDIsICphdHRyaWJ1dGVPblNpdGVEb21haW5J
RCkgIT0gU1FMSVRFX09LKSB7CisgICAgICAgIHx8IGZpbmRBdHRyaWJ1dGVkU2NvcGVkU3RhdGVt
ZW50LT5iaW5kSW50KDIsICpkZXN0aW5hdGlvblNpdGVEb21haW5JRCkgIT0gU1FMSVRFX09LKSB7
CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQobV9zZXNzaW9uSUQsICIlcCAt
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpmaW5kUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQgZmluZEF0dHJpYnV0ZWRRdWVyeSwgZXJyb3IgbWVzc2FnZTogJXtwcml2YXRlfXMi
LCB0aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgfQpAQCAtMzAyOCw5ICszMDI4LDkgQEAgc3RkOjpwYWlyPE9wdGlvbmFs
PFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50PiwgT3B0aW9uYWw8QXR0cmlidXRl
ZFByaXYKIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Omluc2VydFBy
aXZhdGVDbGlja01lYXN1cmVtZW50KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgYXR0cmlidXRp
b24sIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlIGF0dHJpYnV0aW9uVHlw
ZSkKIHsKICAgICBhdXRvIHNvdXJjZURhdGEgPSBlbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JS
ZWdpc3RyYWJsZURvbWFpbihhdHRyaWJ1dGlvbi5zb3VyY2VTaXRlKCkucmVnaXN0cmFibGVEb21h
aW4pOwotICAgIGF1dG8gYXR0cmlidXRlT25EYXRhID0gZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNz
Rm9yUmVnaXN0cmFibGVEb21haW4oYXR0cmlidXRpb24uYXR0cmlidXRlT25TaXRlKCkucmVnaXN0
cmFibGVEb21haW4pOworICAgIGF1dG8gYXR0cmlidXRpb25EZXN0aW5hdGlvbkRhdGEgPSBlbnN1
cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JSZWdpc3RyYWJsZURvbWFpbihhdHRyaWJ1dGlvbi5kZXN0
aW5hdGlvblNpdGUoKS5yZWdpc3RyYWJsZURvbWFpbik7CiAKLSAgICBpZiAoIXNvdXJjZURhdGEu
c2Vjb25kIHx8ICFhdHRyaWJ1dGVPbkRhdGEuc2Vjb25kKQorICAgIGlmICghc291cmNlRGF0YS5z
ZWNvbmQgfHwgIWF0dHJpYnV0aW9uRGVzdGluYXRpb25EYXRhLnNlY29uZCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgYXV0byYgc291cmNlVW5saW5rYWJsZVRva2VuID0gYXR0cmlidXRpb24uc291
cmNlVW5saW5rYWJsZVRva2VuKCk7CkBAIC0zMDQyLDcgKzMwNDIsNyBAQCB2b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dChQcml2YXRlQwogICAgICAgICBhdXRvIHN0YXRlbWVudCA9IFNRTGl0ZVN0YXRlbWVudChtX2Rh
dGFiYXNlLCBpbnNlcnRBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRRdWVyeSk7CiAg
ICAgICAgIGlmIChzdGF0ZW1lbnQucHJlcGFyZSgpICE9IFNRTElURV9PSwogICAgICAgICAgICAg
fHwgc3RhdGVtZW50LmJpbmRJbnQoMSwgKnNvdXJjZURhdGEuc2Vjb25kKSAhPSBTUUxJVEVfT0sK
LSAgICAgICAgICAgIHx8IHN0YXRlbWVudC5iaW5kSW50KDIsICphdHRyaWJ1dGVPbkRhdGEuc2Vj
b25kKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHN0YXRlbWVudC5iaW5kSW50KDIsICph
dHRyaWJ1dGlvbkRlc3RpbmF0aW9uRGF0YS5zZWNvbmQpICE9IFNRTElURV9PSwogICAgICAgICAg
ICAgfHwgc3RhdGVtZW50LmJpbmRJbnQoMywgYXR0cmlidXRpb24uc291cmNlSUQoKS5pZCkgIT0g
U1FMSVRFX09LCiAgICAgICAgICAgICB8fCBzdGF0ZW1lbnQuYmluZEludCg0LCBhdHRyaWJ1dGlv
blRyaWdnZXJEYXRhKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IHN0YXRlbWVudC5iaW5k
SW50KDUsIHByaW9yaXR5KSAhPSBTUUxJVEVfT0sKQEAgLTMwNjEsNyArMzA2MSw3IEBAIHZvaWQg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Omluc2VydFByaXZhdGVDbGlja01l
YXN1cmVtZW50KFByaXZhdGVDCiAgICAgYXV0byBzdGF0ZW1lbnQgPSBTUUxpdGVTdGF0ZW1lbnQo
bV9kYXRhYmFzZSwgaW5zZXJ0VW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRRdWVy
eSk7CiAgICAgaWYgKHN0YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8
IHN0YXRlbWVudC5iaW5kSW50KDEsICpzb3VyY2VEYXRhLnNlY29uZCkgIT0gU1FMSVRFX09LCi0g
ICAgICAgIHx8IHN0YXRlbWVudC5iaW5kSW50KDIsICphdHRyaWJ1dGVPbkRhdGEuc2Vjb25kKSAh
PSBTUUxJVEVfT0sKKyAgICAgICAgfHwgc3RhdGVtZW50LmJpbmRJbnQoMiwgKmF0dHJpYnV0aW9u
RGVzdGluYXRpb25EYXRhLnNlY29uZCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IHN0YXRlbWVu
dC5iaW5kSW50KDMsIGF0dHJpYnV0aW9uLnNvdXJjZUlEKCkuaWQpICE9IFNRTElURV9PSwogICAg
ICAgICB8fCBzdGF0ZW1lbnQuYmluZERvdWJsZSg0LCBhdHRyaWJ1dGlvbi50aW1lT2ZBZENsaWNr
KCkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgfHwg
c3RhdGVtZW50LmJpbmRUZXh0KDUsIHNvdXJjZVVubGlua2FibGVUb2tlbiA/IHNvdXJjZVVubGlu
a2FibGVUb2tlbi0+dG9rZW5CYXNlNjRVUkwgOiBlbXB0eVN0cmluZygpKSAhPSBTUUxJVEVfT0sK
QEAgLTMwODYsMjMgKzMwODYsMjMgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdG9yZTo6bWFya0FsbFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmUKIHZvaWQgUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnJlbW92ZVVuYXR0cmlidXRlZChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCYgYXR0cmlidXRpb24pCiB7CiAgICAgYXV0byBzb3VyY2VTaXRl
RG9tYWluSUQgPSBkb21haW5JRChhdHRyaWJ1dGlvbi5zb3VyY2VTaXRlKCkucmVnaXN0cmFibGVE
b21haW4pOwotICAgIGF1dG8gYXR0cmlidXRlT25TaXRlRG9tYWluSUQgPSBkb21haW5JRChhdHRy
aWJ1dGlvbi5hdHRyaWJ1dGVPblNpdGUoKS5yZWdpc3RyYWJsZURvbWFpbik7CisgICAgYXV0byBk
ZXN0aW5hdGlvblNpdGVEb21haW5JRCA9IGRvbWFpbklEKGF0dHJpYnV0aW9uLmRlc3RpbmF0aW9u
U2l0ZSgpLnJlZ2lzdHJhYmxlRG9tYWluKTsKIAotICAgIGlmICghc291cmNlU2l0ZURvbWFpbklE
IHx8ICFhdHRyaWJ1dGVPblNpdGVEb21haW5JRCkKKyAgICBpZiAoIXNvdXJjZVNpdGVEb21haW5J
RCB8fCAhZGVzdGluYXRpb25TaXRlRG9tYWluSUQpCiAgICAgICAgIHJldHVybjsKICAgICAKICAg
ICBhdXRvIHNjb3BlZFN0YXRlbWVudCA9IHRoaXMtPnNjb3BlZFN0YXRlbWVudChtX3JlbW92ZVVu
YXR0cmlidXRlZFN0YXRlbWVudCwgcmVtb3ZlVW5hdHRyaWJ1dGVkUXVlcnksICJyZW1vdmVVbmF0
dHJpYnV0ZWQiX3MpOwogCiAgICAgaWYgKCFzY29wZWRTdGF0ZW1lbnQKICAgICAgICAgfHwgc2Nv
cGVkU3RhdGVtZW50LT5iaW5kSW50KDEsICpzb3VyY2VTaXRlRG9tYWluSUQpICE9IFNRTElURV9P
SwotICAgICAgICB8fCBzY29wZWRTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgKmF0dHJpYnV0ZU9uU2l0
ZURvbWFpbklEKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgfHwgc2NvcGVkU3RhdGVtZW50LT5iaW5k
SW50KDIsICpkZXN0aW5hdGlvblNpdGVEb21haW5JRCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8
IHNjb3BlZFN0YXRlbWVudC0+c3RlcCgpICE9IFNRTElURV9ET05FKSB7CiAgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQobV9zZXNzaW9uSUQsICIlcCAtIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpyZW1vdmVVbmF0dHJpYnV0ZWQsIGVycm9yIG1lc3NhZ2U6
ICV7cHJpdmF0ZX1zIiwgdGhpcywgbV9kYXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIH0KIAotT3B0aW9uYWw8U2Vjb25kcz4gUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmF0dHJpYnV0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50KGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbnN0IEF0dHJpYnV0ZU9u
U2l0ZSYgYXR0cmlidXRlT25TaXRlLCBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYgYXR0cmlidXRp
b25UcmlnZ2VyRGF0YSkKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlTG9hZFN0YXRpc3RpY3NE
YXRhYmFzZVN0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChjb25zdCBTb3Vy
Y2VTaXRlJiBzb3VyY2VTaXRlLCBjb25zdCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgZGVz
dGluYXRpb25TaXRlLCBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYgYXR0cmlidXRpb25UcmlnZ2Vy
RGF0YSkKIHsKICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIGNsZWFyIGV4cGlyZWQgY2xpY2tzIGZy
b20gdGhlIGRhdGFiYXNlIGJlZm9yZSBzY2hlZHVsaW5nIGFuIGF0dHJpYnV0aW9uLgogICAgIGNs
ZWFyRXhwaXJlZFByaXZhdGVDbGlja01lYXN1cmVtZW50KCk7CkBAIC0zMTI1LDcgKzMxMjUsNyBA
QCBPcHRpb25hbDxTZWNvbmRzPiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6
YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhcwogCiAgICAgYXV0byBzZWNvbmRzVW50aWxTZW5kID0g
U2Vjb25kczo6aW5maW5pdHkoKTsKIAotICAgIGF1dG8gYXR0cmlidXRpb24gPSBmaW5kUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoc291cmNlU2l0ZSwgYXR0cmlidXRlT25TaXRlKTsKKyAgICBhdXRv
IGF0dHJpYnV0aW9uID0gZmluZFByaXZhdGVDbGlja01lYXN1cmVtZW50KHNvdXJjZVNpdGUsIGRl
c3RpbmF0aW9uU2l0ZSk7CiAgICAgYXV0byYgcHJldmlvdXNseVVuYXR0cmlidXRlZCA9IGF0dHJp
YnV0aW9uLmZpcnN0OwogICAgIGF1dG8mIHByZXZpb3VzbHlBdHRyaWJ1dGVkID0gYXR0cmlidXRp
b24uc2Vjb25kOwogCkBAIC0zMjM2LDE0ICszMjM2LDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RhdGFiYXNlU3RvcmU6OmNsZWFyRXhwaXJlZFByaXZhdGVDbGlja01lYXN1cmVtZW50
KCkKIFN0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6YXR0cmlidXRp
b25Ub1N0cmluZyhXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQqIHN0YXRlbWVudCwgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUgYXR0cmlidXRpb25UeXBlKQogewogICAgIGF1
dG8gc291cmNlU2l0ZURvbWFpbiA9IGdldERvbWFpblN0cmluZ0Zyb21Eb21haW5JRChzdGF0ZW1l
bnQtPmdldENvbHVtbkludCgwKSk7Ci0gICAgYXV0byBhdHRyaWJ1dGVPblNpdGVEb21haW4gPSBn
ZXREb21haW5TdHJpbmdGcm9tRG9tYWluSUQoc3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMSkpOwor
ICAgIGF1dG8gZGVzdGluYXRpb25TaXRlRG9tYWluID0gZ2V0RG9tYWluU3RyaW5nRnJvbURvbWFp
bklEKHN0YXRlbWVudC0+Z2V0Q29sdW1uSW50KDEpKTsKICAgICBhdXRvIHNvdXJjZUlEID0gc3Rh
dGVtZW50LT5nZXRDb2x1bW5JbnQoMik7CiAKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAg
ICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJTb3VyY2Ugc2l0ZTogIik7CiAgICAgYnVpbGRlci5h
cHBlbmQoc291cmNlU2l0ZURvbWFpbik7CiAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJcbkF0
dHJpYnV0ZSBvbiBzaXRlOiAiKTsKLSAgICBidWlsZGVyLmFwcGVuZChhdHRyaWJ1dGVPblNpdGVE
b21haW4pOworICAgIGJ1aWxkZXIuYXBwZW5kKGRlc3RpbmF0aW9uU2l0ZURvbWFpbik7CiAgICAg
YnVpbGRlci5hcHBlbmRMaXRlcmFsKCJcblNvdXJjZSBJRDogIik7CiAgICAgYnVpbGRlci5hcHBl
bmROdW1iZXIoc291cmNlSUQpOwogCkBAIC0zMzMxLDE1ICszMzMxLDE1IEBAIFN0cmluZyBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRU
b1N0cmluZygpCiB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjbGVh
clNlbnRBdHRyaWJ1dGlvbihXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJp
YnV0aW9uKQogewogICAgIGF1dG8gc291cmNlU2l0ZURvbWFpbklEID0gZG9tYWluSUQoYXR0cmli
dXRpb24uc291cmNlU2l0ZSgpLnJlZ2lzdHJhYmxlRG9tYWluKTsKLSAgICBhdXRvIGF0dHJpYnV0
ZU9uU2l0ZURvbWFpbklEID0gZG9tYWluSUQoYXR0cmlidXRpb24uYXR0cmlidXRlT25TaXRlKCku
cmVnaXN0cmFibGVEb21haW4pOworICAgIGF1dG8gZGVzdGluYXRpb25TaXRlRG9tYWluSUQgPSBk
b21haW5JRChhdHRyaWJ1dGlvbi5kZXN0aW5hdGlvblNpdGUoKS5yZWdpc3RyYWJsZURvbWFpbik7
CiAKLSAgICBpZiAoIXNvdXJjZVNpdGVEb21haW5JRCB8fCAhYXR0cmlidXRlT25TaXRlRG9tYWlu
SUQpCisgICAgaWYgKCFzb3VyY2VTaXRlRG9tYWluSUQgfHwgIWRlc3RpbmF0aW9uU2l0ZURvbWFp
bklEKQogICAgICAgICByZXR1cm47CiAKICAgICBTUUxpdGVTdGF0ZW1lbnQgY2xlYXJBdHRyaWJ1
dGVkU3RhdGVtZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBBdHRyaWJ1dGVkUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQgV0hFUkUgc291cmNlU2l0ZURvbWFpbklEID0gPyBBTkQgYXR0cmlidXRl
T25TaXRlRG9tYWluSUQgPSA/Il9zKTsKICAgICBpZiAoY2xlYXJBdHRyaWJ1dGVkU3RhdGVtZW50
LnByZXBhcmUoKSAhPSBTUUxJVEVfT0sKICAgICAgICAgfHwgY2xlYXJBdHRyaWJ1dGVkU3RhdGVt
ZW50LmJpbmRJbnQoMSwgKnNvdXJjZVNpdGVEb21haW5JRCkgIT0gU1FMSVRFX09LCi0gICAgICAg
IHx8IGNsZWFyQXR0cmlidXRlZFN0YXRlbWVudC5iaW5kSW50KDIsICphdHRyaWJ1dGVPblNpdGVE
b21haW5JRCkgIT0gU1FMSVRFX09LCisgICAgICAgIHx8IGNsZWFyQXR0cmlidXRlZFN0YXRlbWVu
dC5iaW5kSW50KDIsICpkZXN0aW5hdGlvblNpdGVEb21haW5JRCkgIT0gU1FMSVRFX09LCiAgICAg
ICAgIHx8IGNsZWFyQXR0cmlidXRlZFN0YXRlbWVudC5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsK
ICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChtX3Nlc3Npb25JRCwgIiVwIC0g
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmNsZWFyU2VudEF0dHJpYnV0aW9u
IGZhaWxlZCB0byBzdGVwLCBlcnJvciBtZXNzYWdlOiAle3ByaXZhdGV9cyIsIHRoaXMsIG1fZGF0
YWJhc2UubGFzdEVycm9yTXNnKCkpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKaW5k
ZXggMmI0ODY5OWUzZWUyMTM0ZGU5ZmIzM2RkN2YzYzczNTJlOWZlZGY1Mi4uMTg4NjNkYWZlNmM3
YmYwMjE2NjVlNzBhZWQxODY0OTg3YjI2Y2JkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0
b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3Mg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOwogdXNpbmcgQXR0cmlidXRlZFByaXZhdGVD
bGlja01lYXN1cmVtZW50ID0gV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CiB1c2lu
ZyBVbmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFdlYkNvcmU6OlByaXZhdGVD
bGlja01lYXN1cmVtZW50OwogdXNpbmcgU291cmNlU2l0ZSA9IFdlYkNvcmU6OlByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpTb3VyY2VTaXRlOwotdXNpbmcgQXR0cmlidXRlT25TaXRlID0gV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZTsKK3VzaW5nIEF0dHJp
YnV0aW9uRGVzdGluYXRpb25TaXRlID0gV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlOwogdXNpbmcgQXR0cmlidXRpb25UcmlnZ2VyRGF0
YSA9IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJE
YXRhOwogCiAvLyBUaGlzIGlzIGFsd2F5cyBjb25zdHJ1Y3RlZCAvIHVzZWQgLyBkZXN0cm95ZWQg
b24gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSdzIHN0YXRpc3RpY3MgcXVldWUu
CkBAIC0xMzQsNyArMTM0LDcgQEAgcHVibGljOgogICAgIC8vIFByaXZhdGUgQ2xpY2sgTWVhc3Vy
ZW1lbnQuCiAgICAgdm9pZCBpbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0
aW9uVHlwZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBtYXJrQWxsVW5hdHRyaWJ1dGVkUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBc0V4cGlyZWRGb3JUZXN0aW5nKCkgb3ZlcnJpZGU7Ci0gICAgT3B0aW9u
YWw8U2Vjb25kcz4gYXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoY29uc3QgV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmLCBjb25zdCBXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlJiwgV2ViQ29yZTo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJikgb3ZlcnJpZGU7Cisg
ICAgT3B0aW9uYWw8U2Vjb25kcz4gYXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoY29u
c3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmLCBjb25zdCBX
ZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNp
dGUmLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2Vy
RGF0YSYmKSBvdmVycmlkZTsKICAgICBWZWN0b3I8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ+IGFsbEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgY2xlYXJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChPcHRpb25hbDxSZWdpc3RyYWJs
ZURvbWFpbj4pIG92ZXJyaWRlOwogICAgIHZvaWQgY2xlYXJFeHBpcmVkUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQoKSBvdmVycmlkZTsKQEAgLTIzNSw3ICsyMzUsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgcmVtb3ZlVW5hdHRyaWJ1dGVkKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50Jik7
CiAgICAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYnVpbGRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEZyb21EYXRhYmFzZShXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQqLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZSk7CiAgICAgU3RyaW5nIGF0dHJpYnV0aW9u
VG9TdHJpbmcoV2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50KiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblR5cGUpOwotICAgIHN0ZDo6cGFpcjxPcHRpb25hbDxVbmF0dHJpYnV0ZWRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudD4sIE9wdGlvbmFsPEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudD4+IGZpbmRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChjb25zdCBXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSYsIGNvbnN0IFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGUmKTsKKyAgICBzdGQ6OnBhaXI8T3B0
aW9uYWw8VW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+LCBPcHRpb25hbDxBdHRy
aWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+PiBmaW5kUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQoY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmLCBj
b25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5h
dGlvblNpdGUmKTsKIAogICAgIGNvbnN0IFN0cmluZyBtX3N0b3JhZ2VEaXJlY3RvcnlQYXRoOwog
ICAgIG11dGFibGUgV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaAppbmRleCBkOGM5OTdm
NDVlNWNlMGIzYzc3N2RjYWU0YjJhNDAzZTg5MmE3ZGNlLi5kZGI5MWMyZmFhMzFiYzQ3MGVmMmI4
Y2YwOWEwMDU0NjE2MTI5NWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5oCkBAIC0xMTEsNyArMTExLDcgQEAgcHVibGljOgogICAgIC8vIFBy
aXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnQgaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBJVFAgbWVt
b3J5IHN0b3JlLgogICAgIHZvaWQgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRy
aWJ1dGlvblR5cGUpIG92ZXJyaWRlIHsgfTsKICAgICB2b2lkIG1hcmtBbGxVbmF0dHJpYnV0ZWRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEFzRXhwaXJlZEZvclRlc3RpbmcoKSBvdmVycmlkZSB7IH07
Ci0gICAgT3B0aW9uYWw8U2Vjb25kcz4gYXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQo
Y29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmLCBjb25z
dCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlJiwgV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJikg
b3ZlcnJpZGUgeyByZXR1cm4geyB9OyB9OworICAgIE9wdGlvbmFsPFNlY29uZHM+IGF0dHJpYnV0
ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50OjpTb3VyY2VTaXRlJiwgY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJikgb3ZlcnJpZGUgeyByZXR1cm4geyB9
OyB9OwogICAgIFZlY3RvcjxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4gYWxsQXR0
cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4geyB9OyB9
OwogICAgIHZvaWQgY2xlYXJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChPcHRpb25hbDxSZWdpc3Ry
YWJsZURvbWFpbj4pIG92ZXJyaWRlIHsgfTsKICAgICB2b2lkIGNsZWFyRXhwaXJlZFByaXZhdGVD
bGlja01lYXN1cmVtZW50KCkgb3ZlcnJpZGUgeyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5oCmluZGV4IDc1YjRjMzZiYzM3YTlhYTZjZWEzNjkwYjZkNTIzNjRkMzMw
NDY1OTEuLmJmOWQ2Mzc1NTM1ZWY5ZGYyMjkyMDViMDMwZmRjMTcyOTYxYTE4OTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTIwNiw3ICsyMDYsNyBAQCBw
dWJsaWM6CiAgICAgLy8gUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudC4KICAgICB2aXJ0dWFsIHZv
aWQgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQmJiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXNFeHBpcmVkRm9yVGVzdGluZygpID0gMDsKLSAgICB2aXJ0dWFsIE9wdGlvbmFsPFNlY29u
ZHM+IGF0dHJpYnV0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KGNvbnN0IFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlJiwgY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZSYsIFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYpID0gMDsKKyAgICB2aXJ0dWFsIE9w
dGlvbmFsPFNlY29uZHM+IGF0dHJpYnV0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50KGNvbnN0IFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlJiwgY29uc3QgV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlJiwg
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEm
JikgPSAwOwogICAgIHZpcnR1YWwgVmVjdG9yPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50PiBhbGxBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGNsZWFyUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoT3B0aW9uYWw8UmVnaXN0cmFi
bGVEb21haW4+KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyRXhwaXJlZFByaXZhdGVDbGlj
a01lYXN1cmVtZW50KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcAppbmRleCBkNTM4MTRmYWIzNDIyY2ZhMDkyYmQyZjEzNjNhOGM2N2ZmNDVi
NGM5Li5kZDExMzM5MWRjOWE0MGI1YmFlYjY3MDJjNGU3OGZiNmE2ZGQwZWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtMTUwNSw3ICsx
NTA1LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Om1hcmtBbGxVbmF0
dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEEKICAgICB9KTsKIH0KIAotdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmF0dHJpYnV0ZVByaXZhdGVDbGlja01lYXN1cmVt
ZW50KGNvbnN0IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlJiBzb3VyY2VTaXRl
LCBjb25zdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlJiBhdHRyaWJ1
dGVPblNpdGUsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRh
JiYgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDxTZWNvbmRzPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoY29uc3QgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbnN0IFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgZGVzdGluYXRp
b25TaXRlLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSYm
IGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8
U2Vjb25kcz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChSdW5Mb29wOjpp
c01haW4oKSk7CiAKQEAgLTE1MTQsNyArMTUxNCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjphdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChjb25zdCBQcml2
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBwb3N0VGFzayhbdGhpcywgc291cmNlU2l0
ZSwgYXR0cmlidXRlT25TaXRlLCBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhID0gV1RGTW92ZShhdHRy
aWJ1dGlvblRyaWdnZXJEYXRhKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICBwb3N0VGFzayhbdGhpcywgc291cmNlU2l0ZSwg
ZGVzdGluYXRpb25TaXRlLCBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhID0gV1RGTW92ZShhdHRyaWJ1
dGlvblRyaWdnZXJEYXRhKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yZSkgewog
ICAgICAgICAgICAgcG9zdFRhc2tSZXBseShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihXVEY6Om51bGxvcHQpOwpAQCAtMTUyMiw3ICsxNTIyLDcgQEAgdm9pZCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmF0dHJpYnV0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50
KGNvbnN0IFByaXYKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1
dG8gc2Vjb25kcyA9IG1fc3RhdGlzdGljc1N0b3JlLT5hdHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudChzb3VyY2VTaXRlLCBhdHRyaWJ1dGVPblNpdGUsIFdURk1vdmUoYXR0cmlidXRpb25U
cmlnZ2VyRGF0YSkpOworICAgICAgICBhdXRvIHNlY29uZHMgPSBtX3N0YXRpc3RpY3NTdG9yZS0+
YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoc291cmNlU2l0ZSwgZGVzdGluYXRpb25T
aXRlLCBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpKTsKICAgICAgICAgcG9zdFRhc2tS
ZXBseShbc2Vjb25kcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHNlY29uZHMp
OwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuaAppbmRleCBkMTE0NjI1NzkzMzAyYzg3ODU3ODg4NGM3MjZiNTk3NjhlMDA1YjI4Li5hNTZh
Mzk0Nzg4ZTQ1MmRkNDE1N2I4OTY0ZWU1NTllZjRmMTUzNzgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCkBAIC0zMDksNyArMzA5LDcgQEAgc3RydWN0
IFRoaXJkUGFydHlEYXRhIHsKICAgICAvLyBQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50LgogICAg
IHZvaWQgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV2ViQ29yZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQmJiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUpOwog
ICAgIHZvaWQgbWFya0FsbFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50QXNFeHBp
cmVkRm9yVGVzdGluZygpOwotICAgIHZvaWQgYXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQoY29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmLCBj
b25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlJiwg
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEm
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxTZWNvbmRzPik+JiYpOworICAgIHZv
aWQgYXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoY29uc3QgV2ViQ29yZTo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmLCBjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmLCBXZWJDb3JlOjpQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKE9wdGlvbmFsPFNlY29uZHM+KT4mJik7CiAgICAgdm9pZCBhbGxBdHRyaWJ1
dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+JiYpPiYmKTsKICAgICB2b2lkIGNsZWFy
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKTsKICAgICB2b2lkIGNsZWFyUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRGb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURv
bWFpbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAppbmRleCA2YWZjYzFlNWE1NDNkNzRiMzVmOTdmNDJmNWYzNDY0ZWMxYzkzNGU4Li44MGVh
OGI3YjhmZTRhMDY0ZDU5ZGZmNDA2N2M4NmUyZGNjMTI3Mzc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjY0OSwxMCArMjY0OSwx
MCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2Vu
U2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQQUw6OgogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9
CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmli
dXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCYm
IHNvdXJjZVVSTCwgVVJMJiYgYXR0cmlidXRlT25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFByaXZhdGVD
bGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAo
YXV0byogc2Vzc2lvbiA9IG5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpCi0gICAgICAgIHNlc3Np
b24tPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVz
dGluZyhXVEZNb3ZlKHNvdXJjZVVSTCksIFdURk1vdmUoYXR0cmlidXRlT25VUkwpKTsKKyAgICAg
ICAgc2Vzc2lvbi0+c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVS
THNGb3JUZXN0aW5nKFdURk1vdmUoc291cmNlVVJMKSwgV1RGTW92ZShkZXN0aW5hdGlvblVSTCkp
OwogCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBhNzI1M2RlN2MzMDBiMWMwMGRjODM4YzRl
ZmM3YmZkNGM3NWY1MzRmLi4zZDNhNmZiN2U3MDU1MDVhZmU4YmI2NzQ2ZTZhODc2MDFjZDZkMjJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBA
IC0zNDIsNyArMzQyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2ltdWxhdGVSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVi
bGljS2V5VVJMRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCwgVVJMJiYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2Vu
U2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCwgVVJMJiYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmIHNvdXJj
ZVVSTCwgVVJMJiYgYXR0cmlidXRlT25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJM
c0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGlu
YXRpb25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBtYXJrUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFBDTUZyYXVkUHJldmVu
dGlvblZhbHVlc0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFN0cmluZyYmIHVubGlua2FibGVU
b2tlbiwgU3RyaW5nJiYgc2VjcmV0VG9rZW4sIFN0cmluZyYmIHNpZ25hdHVyZSwgU3RyaW5nJiYg
a2V5SUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4
IDQ0Y2RhNDBiOTFjMDQ1ZjVmMTA4MGNiMTZmOTBkYjJkZDFjYmY3YzUuLmVhMjNhZDY2ZTU4ZDM2
YWYyNTAxY2YyODU5YzlkOWM3OTE1NTUxZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTY5LDcgKzE2
OSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBT
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRU
b2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwg
dXJsKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWdu
YXR1cmVVUkxGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVVJMIHVybCkgLT4g
KCkgQXN5bmMKLSAgICBTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0
VVJMc0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwgc291cmNlVVJMLCBV
UkwgYXR0cmlidXRlT25VUkwpIC0+ICgpIEFzeW5jCisgICAgU2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgVVJMIHNvdXJjZVVSTCwgVVJMIGRlc3RpbmF0aW9uVVJMKSAtPiAoKSBBc3luYwogICAg
IE1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKICAgICBTZXRQQ01GcmF1ZFByZXZlbnRpb25W
YWx1ZXNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU3RyaW5nIHNlY3JldFRv
a2VuLCBTdHJpbmcgdW5saW5rYWJsZVRva2VuLCBTdHJpbmcgc2lnbmF0dXJlLCBTdHJpbmcga2V5
SUQpIC0+ICgpIEFzeW5jCiAgICAgR2V0TG9jYWxTdG9yYWdlT3JpZ2luRGV0YWlscyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQpIC0+IChWZWN0b3I8V2ViS2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFz
ZVRyYWNrZXI6Ok9yaWdpbkRldGFpbHM+IGRldGFpbHMpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IDcxZDc3ZDZjODhiMjNi
NWU0Yjg5NzFmZGZkYjcxNThiODU0ZTNhNjMuLmFiZjJmN2ZhNGFmNTM2Mjk1ZGJkY2M3MGU1Njlj
MzZmMmU4MTQ4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb24uY3BwCkBAIC0zNDgsOSArMzQ4LDkgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoVVJMJiYK
ICAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpLnNldFRva2VuU2lnbmF0dXJlVVJMRm9yVGVz
dGluZyhXVEZNb3ZlKHVybCkpOwogfQogCi12b2lkIE5ldHdvcmtTZXNzaW9uOjpzZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoVVJMJiYgc291
cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCkKK3ZvaWQgTmV0d29ya1Nlc3Npb246OnNldFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhVUkwm
JiBzb3VyY2VVUkwsIFVSTCYmIGRlc3RpbmF0aW9uVVJMKQogewotICAgIHByaXZhdGVDbGlja01l
YXN1cmVtZW50KCkuc2V0QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhXVEZNb3ZlKHNv
dXJjZVVSTCksIFdURk1vdmUoYXR0cmlidXRlT25VUkwpKTsKKyAgICBwcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCgpLnNldEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV1RGTW92ZShzb3Vy
Y2VVUkwpLCBXVEZNb3ZlKGRlc3RpbmF0aW9uVVJMKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Np
b246Om1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaAppbmRleCAxYjYx
MjczMGMxNDFkZjFkN2UxODFkYjhkNjU3ZTg5MzA1YzJjYTRhLi5hZjM0ZjgyNWI2YWU1YTY0ZTMw
M2M5ZjQzZjRmYmQ2NjM1OGU0YTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMjYsNyArMTI2LDcgQEAgcHVibGljOgogICAgIHZvaWQg
bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5n
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhVUkwmJik7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhVUkwm
Jik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0
VVJMc0ZvclRlc3RpbmcoVVJMJiYgc291cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCk7Cisg
ICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0Zv
clRlc3RpbmcoVVJMJiYgc291cmNlVVJMLCBVUkwmJiBkZXN0aW5hdGlvblVSTCk7CiAgICAgdm9p
ZCBtYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAg
IHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJpbmcmJiB1bmxp
bmthYmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0
cmluZyYmIGtleUlEKTsKICAgICB2b2lkIGZpcmVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRpbWVy
SW1tZWRpYXRlbHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAppbmRleCBlMjAyOGE1
N2YyYWJlYmNjYThhZGNkYjg4ZDgxZTMyYzRiODU2MzczLi5hYjFmZDM4ZDY0M2Q0ZDc2Y2Y3YzA5
NzVmZmY1MDg4NGYyNDcxN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCkBAIC00
Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIHVzaW5nIFNvdXJjZVNpdGUgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0
ZTsKLXVzaW5nIEF0dHJpYnV0ZU9uU2l0ZSA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRy
aWJ1dGVPblNpdGU7Cit1c2luZyBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSA9IFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZTsKIHVzaW5nIEF0dHJp
YnV0aW9uVHJpZ2dlckRhdGEgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25U
cmlnZ2VyRGF0YTsKIHVzaW5nIEVwaGVtZXJhbFNvdXJjZU5vbmNlID0gUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkVwaGVtZXJhbFNvdXJjZU5vbmNlOwogCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9p
ZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmhhbmRsZUF0dHJpYnV0aW9uKEF0dHJp
YnV0aW9uVHJpZ2dlckRhdGEmJgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXR0cmli
dXRlKFNvdXJjZVNpdGUgeyBXVEZNb3ZlKHJlZGlyZWN0RG9tYWluKSB9LCBBdHRyaWJ1dGVPblNp
dGUgeyBmaXJzdFBhcnR5VVJMIH0sIFdURk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0YSkpOwor
ICAgIGF0dHJpYnV0ZShTb3VyY2VTaXRlIHsgV1RGTW92ZShyZWRpcmVjdERvbWFpbikgfSwgQXR0
cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBmaXJzdFBhcnR5VVJMIH0sIFdURk1vdmUoYXR0cmli
dXRpb25UcmlnZ2VyRGF0YSkpOwogfQogCiB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFu
YWdlcjo6c3RhcnRUaW1lcihTZWNvbmRzIHNlY29uZHMpCkBAIC0yNjMsMTQgKzI2MywxNCBAQCB2
b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c3RhcnRUaW1lcihTZWNvbmRzIHNl
Y29uZHMpCiAgICAgbV9maXJlUGVuZGluZ0F0dHJpYnV0aW9uUmVxdWVzdHNUaW1lci5zdGFydE9u
ZVNob3QobV9pc1J1bm5pbmdUZXN0ID8gMF9zIDogc2Vjb25kcyk7CiB9CiAKLXZvaWQgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjphdHRyaWJ1dGUoY29uc3QgU291cmNlU2l0ZSYgc291
cmNlU2l0ZSwgY29uc3QgQXR0cmlidXRlT25TaXRlJiBhdHRyaWJ1dGVPblNpdGUsIEF0dHJpYnV0
aW9uVHJpZ2dlckRhdGEmJiBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhKQordm9pZCBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudE1hbmFnZXI6OmF0dHJpYnV0ZShjb25zdCBTb3VyY2VTaXRlJiBzb3VyY2VT
aXRlLCBjb25zdCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgZGVzdGluYXRpb25TaXRlLCBB
dHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSkKIHsKICNpZiBF
TkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIGlmICghZmVhdHVyZUVuYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGF1dG8qIHJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MgPSBtX25ldHdvcmtTZXNzaW9uLT5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCkpIHsKLSAgICAg
ICAgcmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+YXR0cmlidXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQoc291cmNlU2l0ZSwgYXR0cmlidXRlT25TaXRlLCBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dl
ckRhdGEpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIChhdXRvIG9wdGlv
bmFsU2Vjb25kc1VudGlsU2VuZCkgeworICAgICAgICByZXNvdXJjZUxvYWRTdGF0aXN0aWNzLT5h
dHRyaWJ1dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChzb3VyY2VTaXRlLCBkZXN0aW5hdGlvblNp
dGUsIFdURk1vdmUoYXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIFt0aGlzLCB3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKCp0aGlzKV0gKGF1dG8gb3B0aW9uYWxTZWNvbmRzVW50aWxTZW5kKSB7CiAgICAg
ICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIGlmIChvcHRpb25hbFNlY29uZHNVbnRpbFNlbmQpIHsKQEAgLTQ3NCwxMiArNDc0LDEyIEBA
IHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRUb2tlblNpZ25hdHVyZVVS
TEZvclRlc3RpbmcoVVJMJiYgdGVzdFVSCiAgICAgICAgIG1fdG9rZW5TaWduYXR1cmVVUkxGb3JU
ZXN0aW5nID0gV1RGTW92ZSh0ZXN0VVJMKTsKIH0KIAotdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXI6OnNldEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoVVJMJiYgc291
cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCkKK3ZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRNYW5hZ2VyOjpzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFVSTCYmIHNvdXJj
ZVVSTCwgVVJMJiYgZGVzdGluYXRpb25VUkwpCiB7Ci0gICAgaWYgKHNvdXJjZVVSTC5pc0VtcHR5
KCkgfHwgYXR0cmlidXRlT25VUkwuaXNFbXB0eSgpKQorICAgIGlmIChzb3VyY2VVUkwuaXNFbXB0
eSgpIHx8IGRlc3RpbmF0aW9uVVJMLmlzRW1wdHkoKSkKICAgICAgICAgbV9hdHRyaWJ1dGlvblJl
cG9ydFRlc3RDb25maWcgPSBXVEY6Om51bGxvcHQ7CiAgICAgZWxzZQotICAgICAgICBtX2F0dHJp
YnV0aW9uUmVwb3J0VGVzdENvbmZpZyA9IEF0dHJpYnV0aW9uUmVwb3J0VGVzdENvbmZpZyB7IFdU
Rk1vdmUoc291cmNlVVJMKSwgV1RGTW92ZShhdHRyaWJ1dGVPblVSTCkgfTsKKyAgICAgICAgbV9h
dHRyaWJ1dGlvblJlcG9ydFRlc3RDb25maWcgPSBBdHRyaWJ1dGlvblJlcG9ydFRlc3RDb25maWcg
eyBXVEZNb3ZlKHNvdXJjZVVSTCksIFdURk1vdmUoZGVzdGluYXRpb25VUkwpIH07CiB9CiAKIHZv
aWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjptYXJrQWxsVW5hdHRyaWJ1dGVkQXNF
eHBpcmVkRm9yVGVzdGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaAppbmRleCA3NDFhODFl
MGM1NWZmMzU5NmMwNzFjYWNkNzdhNGRmYjdhMWQzMWM5Li43ZTRlYmJlZmU2OWVmNmM3OTdiMTk0
Y2NlY2Y2OWM4MDZhYmIzNWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKQEAgLTQ5LDcg
KzQ5LDcgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZ2lzdHJhYmxlRG9tYWluID0gV2ViQ29yZTo6
UmVnaXN0cmFibGVEb21haW47CiAgICAgdXNpbmcgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBX
ZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsKICAgICB1c2luZyBTb3VyY2VTaXRlID0g
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7Ci0gICAgdXNpbmcg
QXR0cmlidXRlT25TaXRlID0gV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJp
YnV0ZU9uU2l0ZTsKKyAgICB1c2luZyBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSA9IFdlYkNv
cmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZTsK
ICAgICB1c2luZyBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhID0gV2ViQ29yZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE7CiAKICAgICBleHBsaWNpdCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIoTmV0d29ya1Nlc3Npb24mLCBOZXR3b3JrUHJvY2Vz
cyYsIFBBTDo6U2Vzc2lvbklEKTsKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoYm9vbCB2YWx1ZSkgeyBtX2lzUnVubmluZ1Rlc3Qg
PSB2YWx1ZTsgfQogICAgIHZvaWQgc2V0VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKFVSTCYm
KTsKICAgICB2b2lkIHNldFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhVUkwmJik7Ci0gICAg
dm9pZCBzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFVSTCYmIHNvdXJjZVVSTCwg
VVJMJiYgYXR0cmlidXRlT25VUkwpOworICAgIHZvaWQgc2V0QXR0cmlidXRpb25SZXBvcnRVUkxz
Rm9yVGVzdGluZyhVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGRlc3RpbmF0aW9uVVJMKTsKICAgICB2
b2lkIG1hcmtBbGxVbmF0dHJpYnV0ZWRBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdm9pZCBt
YXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rpbmco
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFBDTUZyYXVkUHJldmVu
dGlvblZhbHVlc0ZvclRlc3RpbmcoU3RyaW5nJiYgdW5saW5rYWJsZVRva2VuLCBTdHJpbmcmJiBz
ZWNyZXRUb2tlbiwgU3RyaW5nJiYgc2lnbmF0dXJlLCBTdHJpbmcmJiBrZXlJRCk7CkBAIC03Myw3
ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZXRUb2tlblB1YmxpY0tleShQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCYmLCBGdW5jdGlvbjx2b2lkKFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYg
YXR0cmlidXRpb24sIGNvbnN0IFN0cmluZyYgcHVibGljS2V5QmFzZTY0VVJMKT4mJik7CiAgICAg
dm9pZCBnZXRTaWduZWRVbmxpbmthYmxlVG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJik7
CiAgICAgdm9pZCBjbGVhclNlbnRBdHRyaWJ1dGlvbihQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYm
KTsKLSAgICB2b2lkIGF0dHJpYnV0ZShjb25zdCBTb3VyY2VTaXRlJiwgY29uc3QgQXR0cmlidXRl
T25TaXRlJiwgQXR0cmlidXRpb25UcmlnZ2VyRGF0YSYmKTsKKyAgICB2b2lkIGF0dHJpYnV0ZShj
b25zdCBTb3VyY2VTaXRlJiwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmLCBBdHRy
aWJ1dGlvblRyaWdnZXJEYXRhJiYpOwogICAgIHZvaWQgZmlyZUNvbnZlcnNpb25SZXF1ZXN0KGNv
bnN0IFByaXZhdGVDbGlja01lYXN1cmVtZW50Jik7CiAgICAgdm9pZCBmaXJlQ29udmVyc2lvblJl
cXVlc3RJbXBsKGNvbnN0IFByaXZhdGVDbGlja01lYXN1cmVtZW50Jik7CiAgICAgdm9pZCBmaXJl
UGVuZGluZ0F0dHJpYnV0aW9uUmVxdWVzdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwCmluZGV4IDI4OWQ2ZGFkYTc3YjE0YjIyODA0NWQ3NDUxMDgxNjM1MmI2ZDY4
MmIuLjQzYTc0ZWU3OGEwZWZmNzhlMDM4YzRhM2NhNWY2ODI0ZmM1YTlmMjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMjk2MCw5ICsyOTYwLDkgQEAgdm9p
ZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVz
dGluZyhXS1BhZ2VSZWYgcGFnZSwKICAgICB9KTsKIH0KIAotdm9pZCBXS1BhZ2VTZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV0tQYWdlUmVm
IHBhZ2UsIFdLVVJMUmVmIHNvdXJjZVVSTCwgV0tVUkxSZWYgYXR0cmlidXRlT25VUkwsIFdLUGFn
ZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGlu
Z0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpCit2b2lkIFdLUGFnZVNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhX
S1BhZ2VSZWYgcGFnZSwgV0tVUkxSZWYgc291cmNlVVJMLCBXS1VSTFJlZiBkZXN0aW5hdGlvblVS
TCwgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNG
b3JUZXN0aW5nRnVuY3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNhbGxiYWNrQ29udGV4dCkKIHsKLSAg
ICB0b0ltcGwocGFnZSktPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZyhVUkwoVVJMKCksIHRvV1RGU3RyaW5nKHNvdXJjZVVSTCkpLCBVUkwo
VVJMKCksIHRvV1RGU3RyaW5nKGF0dHJpYnV0ZU9uVVJMKSksIFtjYWxsYmFja0NvbnRleHQsIGNh
bGxiYWNrXSAoKSB7CisgICAgdG9JbXBsKHBhZ2UpLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoVVJMKFVSTCgpLCB0b1dURlN0cmluZyhz
b3VyY2VVUkwpKSwgVVJMKFVSTCgpLCB0b1dURlN0cmluZyhkZXN0aW5hdGlvblVSTCkpLCBbY2Fs
bGJhY2tDb250ZXh0LCBjYWxsYmFja10gKCkgewogICAgICAgICBjYWxsYmFjayhjYWxsYmFja0Nv
bnRleHQpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlUHJpdmF0ZS5oCmluZGV4IDllMWZkYjE5MmRiZjFmODYyZjViNWI0N2QyZDY4MjkyMTE2Mjcz
ZDEuLmEwNzBhZWZmM2Q3MTExMTMzYmVlYjk2Mzg3NTJmNGVkZTUwNThhYzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKQEAgLTE4NCw3ICsxODQs
NyBAQCBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2Vu
UHVibGljS2V5VVJMRm9yVGVzdGluZyhXS1BhZwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmdGdW5jdGlvbiko
dm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFByaXZhdGVD
bGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdl
LCBXS1VSTFJlZiB1cmxTdHJpbmcsIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9r
ZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nRnVuY3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNhbGxiYWNr
Q29udGV4dCk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmdGdW5jdGlvbikodm9pZCogZnVuY3Rpb25D
b250ZXh0KTsKLVdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZWYg
c291cmNlVVJMLCBXS1VSTFJlZiBhdHRyaWJ1dGVPblVSTCwgV0tQYWdlU2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nRnVuY3Rpb24gY2FsbGJh
Y2ssIHZvaWQqIGNhbGxiYWNrQ29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV0tQYWdl
UmVmIHBhZ2UsIFdLVVJMUmVmIHNvdXJjZVVSTCwgV0tVUkxSZWYgZGVzdGluYXRpb25VUkwsIFdL
UGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVz
dGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2
b2lkICgqV0tQYWdlTWFya1ByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rp
bmdGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFn
ZU1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFdLUGFnZVJl
ZiBwYWdlLCBXS1BhZ2VNYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVz
dGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2
b2lkICgqV0tQYWdlU2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZ0Z1bmN0aW9u
KSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAppbmRl
eCA4ZDg3ZWU1Y2Y2YWI2OGQxOWI5MDdlY2QwM2FiZDUwMDZlN2E2MjgyLi5kYmI4NGQ4Y2NiYjVj
ZjI1ZmYxZmMzZjc2OTQxNjEwODczODQ0MDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3Rpbmcu
aApAQCAtOTMsNyArOTMsNyBAQCBzdHJ1Y3QgV0tBcHBCb3VuZE5hdmlnYXRpb25UZXN0aW5nRGF0
YSB7CiAtIChOU051bWJlciAqKV9zdXNwZW5kTWVkaWFQbGF5YmFja0NvdW50ZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAodm9pZClf
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZzooQk9PTClv
dmVycmlkZVRpbWVyIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKHZvaWQpKWNvbXBsZXRpb25I
YW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7Ci0tICh2b2lkKV9zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0
VVJMc0ZvclRlc3Rpbmc6KE5TVVJMICopc291cmNlVVJMIGF0dHJpYnV0ZU9uVVJMOihOU1VSTCAq
KWF0dHJpYnV0ZU9uVVJMIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CistICh2b2lkKV9zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3Rpbmc6KE5TVVJMICopc291cmNlVVJMIGRlc3RpbmF0aW9uVVJMOihOU1VS
TCAqKWRlc3RpbmF0aW9uVVJMIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKIC0gKHZvaWQpX2xhc3ROYXZpZ2F0aW9uV2FzQXBwQm91bmQ6KHZvaWQoXiko
Qk9PTCkpY29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKV9hcHBCb3VuZE5hdmlnYXRpb25EYXRh
Oih2b2lkKF4pKHN0cnVjdCBXS0FwcEJvdW5kTmF2aWdhdGlvblRlc3RpbmdEYXRhIGRhdGEpKWNv
bXBsZXRpb25IYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQppbmRleCA2Y2MzZDVhNDAyZWFhOGY1YzQxZDVmZDg5
ZjJjMjFkYmE3YjY0NjMxLi40ZjkyOGUyODgxNzc2N2Q3NTBlZjM1OWRhODQ2OTBiNzE3OGUyN2Zi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
VGVzdGluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3VGVzdGluZy5tbQpAQCAtMzA1LDkgKzMwNSw5IEBAIC0gKHZvaWQpX3NldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3Rpbmc6KEJPT0wpb3ZlcnJpZGVUaW1lciBj
CiAgICAgfSk7CiB9CiAKLS0gKHZvaWQpX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmli
dXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZzooTlNVUkwgKilzb3VyY2VVUkwgYXR0cmlidXRlT25V
Ukw6KE5TVVJMICopYXR0cmlidXRlT25VUkwgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9p
ZCkpY29tcGxldGlvbkhhbmRsZXIKKy0gKHZvaWQpX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50
QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZzooTlNVUkwgKilzb3VyY2VVUkwgZGVzdGlu
YXRpb25VUkw6KE5TVVJMICopZGVzdGluYXRpb25VUkwgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQo
Xikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKHNvdXJjZVVSTCwgYXR0
cmlidXRlT25VUkwsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9u
SGFuZGxlcildIHsKKyAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1
dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKHNvdXJjZVVSTCwgZGVzdGluYXRpb25VUkwsIFtjb21w
bGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KaW5kZXggMzYzYWM0NDg2OTBlZTUxMjJh
M2NlNmE4NzQ5MmEzOTZjOTA0YTVmZi4uMTkzMDY1Y2U3NGIyZjRhMzk2MDAwMzQ5YzJjYjk1OTY3
NTgzNGQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dl
YlZpZXdJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZp
ZXdJT1MubW0KQEAgLTI1NDMsNyArMjU0Myw3IEBAIC0gKHZvaWQpX3NldFVJRXZlbnRBdHRyaWJ1
dGlvbjooVUlFdmVudEF0dHJpYnV0aW9uICopYXR0cmlidXRpb24KICAgICAgICAgV2ViQ29yZTo6
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgbWVhc3VyZW1lbnQoCiAgICAgICAgICAgICBXZWJDb3Jl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoYXR0cmlidXRpb24uc291cmNlSWRl
bnRpZmllciksCiAgICAgICAgICAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZShhdHRyaWJ1dGlvbi5yZXBvcnRFbmRwb2ludCksCi0gICAgICAgICAgICBXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRlT25TaXRlKGF0dHJpYnV0aW9u
LmRlc3RpbmF0aW9uVVJMKSwKKyAgICAgICAgICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZShhdHRyaWJ1dGlvbi5kZXN0aW5hdGlv
blVSTCksCiAgICAgICAgICAgICBhdHRyaWJ1dGlvbi5zb3VyY2VEZXNjcmlwdGlvbiwKICAgICAg
ICAgICAgIGF0dHJpYnV0aW9uLnB1cmNoYXNlcgogICAgICAgICApOwpAQCAtMjU2MCw4ICsyNTYw
LDggQEAgLSAoVUlFdmVudEF0dHJpYnV0aW9uICopX3VpRXZlbnRBdHRyaWJ1dGlvbgogICAgIGlm
ICghbWVhc3VyZW1lbnQgfHwgIW1lYXN1cmVtZW50LT5zb3VyY2VJRCgpLmlzVmFsaWQoKSkKICAg
ICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1dG8gYXR0cmlidXRlT25VUkwgPSBVUkwoVVJMKCks
IG1ha2VTdHJpbmcoImh0dHBzOi8vIiwgbWVhc3VyZW1lbnQtPmF0dHJpYnV0ZU9uU2l0ZSgpLnJl
Z2lzdHJhYmxlRG9tYWluLnN0cmluZygpKSk7Ci0gICAgcmV0dXJuIGFkb3B0TlMoW1tVSUV2ZW50
QXR0cmlidXRpb24gYWxsb2NdIGluaXRXaXRoU291cmNlSWRlbnRpZmllcjptZWFzdXJlbWVudC0+
c291cmNlSUQoKS5pZCBkZXN0aW5hdGlvblVSTDphdHRyaWJ1dGVPblVSTCBzb3VyY2VEZXNjcmlw
dGlvbjptZWFzdXJlbWVudC0+c291cmNlRGVzY3JpcHRpb24oKSBwdXJjaGFzZXI6bWVhc3VyZW1l
bnQtPnB1cmNoYXNlcigpXSkuYXV0b3JlbGVhc2UoKTsKKyAgICBhdXRvIGRlc3RpbmF0aW9uVVJM
ID0gVVJMKFVSTCgpLCBtYWtlU3RyaW5nKCJodHRwczovLyIsIG1lYXN1cmVtZW50LT5kZXN0aW5h
dGlvblNpdGUoKS5yZWdpc3RyYWJsZURvbWFpbi5zdHJpbmcoKSkpOworICAgIHJldHVybiBhZG9w
dE5TKFtbVUlFdmVudEF0dHJpYnV0aW9uIGFsbG9jXSBpbml0V2l0aFNvdXJjZUlkZW50aWZpZXI6
bWVhc3VyZW1lbnQtPnNvdXJjZUlEKCkuaWQgZGVzdGluYXRpb25VUkw6ZGVzdGluYXRpb25VUkwg
c291cmNlRGVzY3JpcHRpb246bWVhc3VyZW1lbnQtPnNvdXJjZURlc2NyaXB0aW9uKCkgcHVyY2hh
c2VyOm1lYXN1cmVtZW50LT5wdXJjaGFzZXIoKV0pLmF1dG9yZWxlYXNlKCk7CiAjZWxzZQogICAg
IHJldHVybiBuaWw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDk5YjM0NjA5ODcxZGRmYWNkOTY3ZGI5NzZhNjY0ZDE2MDM4ZTE3YWIuLjVkMjhl
NTQ5MDU0ZWFiOTYwOWI2ZDhiNDRmZTk1MTgyZWQ3ZjY3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNDY3NCw3ICs0Njc0LDcgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJh
bWVJbmZvRGF0YSYKICAgICAgICAgZWxzZSBpZiAobmF2aWdhdGlvbiAmJiBuYXZpZ2F0aW9uLT5w
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpKQogICAgICAgICAgICAgcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQgPSBuYXZpZ2F0aW9uLT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpOwogICAgICAgICBp
ZiAocHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpIHsKLSAgICAgICAgICAgIGlmIChwcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC0+YXR0cmlidXRlT25TaXRlKCkubWF0Y2hlcyhmcmFtZS0+dXJsKCkpKQor
ICAgICAgICAgICAgaWYgKHByaXZhdGVDbGlja01lYXN1cmVtZW50LT5kZXN0aW5hdGlvblNpdGUo
KS5tYXRjaGVzKGZyYW1lLT51cmwoKSkpCiAgICAgICAgICAgICAgICAgd2Vic2l0ZURhdGFTdG9y
ZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlN0b3Jl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQobV93ZWJzaXRlRGF0YVN0b3JlLT5zZXNzaW9uSUQoKSwg
KnByaXZhdGVDbGlja01lYXN1cmVtZW50KSwgMCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMDAx
NSw5ICsxMDAxNSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhjb25zdCBVCiAgICAgd2Vic2l0ZURhdGFT
dG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZv
clRlc3RpbmcobV93ZWJzaXRlRGF0YVN0b3JlLT5zZXNzaW9uSUQoKSwgdXJsKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKGNvbnN0IFVSTCYg
c291cmNlVVJMLCBjb25zdCBVUkwmIGF0dHJpYnV0ZU9uVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKGNvbnN0IFVS
TCYgc291cmNlVVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgd2Vic2l0ZURhdGFTdG9yZSgp
Lm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJv
Y2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JU
ZXN0aW5nKG1fd2Vic2l0ZURhdGFTdG9yZS0+c2Vzc2lvbklEKCksIHNvdXJjZVVSTCwgYXR0cmli
dXRlT25VUkwpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgd2Vic2l0ZURhdGFT
dG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVS
THNGb3JUZXN0aW5nKG1fd2Vic2l0ZURhdGFTdG9yZS0+c2Vzc2lvbklEKCksIHNvdXJjZVVSTCwg
ZGVzdGluYXRpb25VUkwpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQg
V2ViUGFnZVByb3h5OjptYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVz
dGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGEyY2JlOGFhODZiYjdlZjJlM2Zi
ODVkNTg1ODhjYzVjM2NiNWI2ZDIuLjFiZGRiMmUzOTA3NDYzZDM3NjkzMDA2YjE3Yjc5ZTc0OTVh
MjliZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNzE0LDcg
KzE3MTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXNzaW9uUmVzdGFydChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoY29u
c3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoY29uc3QgVVJMJiBzb3Vy
Y2VVUkwsIGNvbnN0IFVSTCYgYXR0cmlidXRlT25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmcoY29uc3QgVVJMJiBzb3VyY2VVUkwsIGNvbnN0IFVSTCYgZGVzdGlu
YXRpb25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBtYXJrUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVz
dGluZyhjb25zdCBTdHJpbmcmIHVubGlua2FibGVUb2tlbiwgY29uc3QgU3RyaW5nJiBzZWNyZXRU
b2tlbiwgY29uc3QgU3RyaW5nJiBzaWduYXR1cmUsIGNvbnN0IFN0cmluZyYga2V5SUQsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMzVjNGNmNGFmYmUzMTNlMGEwN2NjYzQ3YzY1MzJhNWU5
YjM2ZDg3Li43NDRiYzk1YzQ5MWRiYzRkZGViZjZjNWFlYzBkZmY2YTU2ZTEwNTNjIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMjEtMDMtMjMgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUENNOiBSZW5hbWUgYXR0cmlidXRlT24gdG8gYXR0cmlidXRpb25EZXN0aW5hdGlvbiBh
bmQgY2hhbmdlIHRoZSBJREwgZGF0YSB0eXBlIG9mIGF0dHJpYnV0aW9uU291cmNlSWQgdG8gdW5z
aWduZWQgbG9uZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIzNjYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTc2MjA3NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgUFIgcmV2aWV3IG9mIHRo
ZSB1cGRhdGUgb2YgdGhlIFBDTSBzcGVjIGxlYWQgV2ViS2l0LCBNb3ppbGxhLCBhbmQgR29vZ2xl
IHRvIGRlY2lkZSBvbiB0d28gY2hhbmdlczoKKyAgICAgICAgMS4gUmVuYW1lIGF0dHJpYnV0ZU9u
IHRvIGF0dHJpYnV0aW9uRGVzdGluYXRpb24KKyAgICAgICAgMi4gQ2hhbmdlIHRoZSBJREwgZGF0
YSB0eXBlIG9mIGF0dHJpYnV0aW9uU291cmNlSWQgZnJvbSBET01TdHJpbmcgdG8gdW5zaWduZWQg
bG9uZworCisgICAgICAgIFRoZSBzcGVjIGNoYW5nZSBjYW4gYmUgc2VlbiBpbiB0aGlzIGNvbW1p
dDoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3ByaXZhY3ljZy9wcml2YXRlLWNsaWNrLW1l
YXN1cmVtZW50L3B1bGwvNzUvY29tbWl0cy84NjIzYjVkZjVlODk5ZTY2NTJiYzViMDAzMTM1ODVm
N2VlYWZhNzk3CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9u
Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAg
ICAoV1RSOjpUZXN0UnVubmVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
UmVwb3J0VVJMc0ZvclRlc3RpbmcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9u
OjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAy
MS0wMy0yMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBTZXJ2aWNlIHdvcmtlciBsb2FkcyBhcmUgbm90IG1hcmtlZCBhcyBhcHAtYm91bmQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQuY3BwCmluZGV4IDZjOTE0ZWVmNTZhYjdjYTQyNzFkMGQwZTE5Mzk0
NjQyZWU5NmQ0YzcuLjUxOWRkZmMzZTg3ZDgyOWZjM2RiMmViMTBhZTY0NjllN2E1NWMwYTYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1By
aXZhdGVDbGlja01lYXN1cmVtZW50LmNwcApAQCAtNDQsNyArNDQsNyBAQCBjb25zdCBVUkwgZW1w
dHlVUkwgeyB9OwogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBXZWxsS25vd25VUkxz
KQogewotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKG1pbjZCaXRWYWx1ZSksIFByaXZhdGVDbGlja01lYXN1
cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpBdHRyaWJ1dGVPblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRCht
aW42Qml0VmFsdWUpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktp
dFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNp
dGUgeyBleGFtcGxlVVJMIH0gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJs
aWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dl
ckRhdGEobWluNkJpdFZhbHVlLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkobWlu
NkJpdFZhbHVlKSkpOwogCiAgICAgYXV0byBhdHRyaWJ1dGlvblNvdXJjZVVSTCA9IGF0dHJpYnV0
aW9uLmF0dHJpYnV0aW9uUmVwb3J0U291cmNlVVJMKCk7CkBAIC01NSw3ICs1NSw3IEBAIFRFU1Qo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFdlbGxLbm93blVSTHMpCiAKIFRFU1QoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQsIFZhbGlkTWluVmFsdWVzKQogewotICAgIFByaXZhdGVDbGlja01lYXN1
cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKG1p
bjZCaXRWYWx1ZSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0
VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGUgeyBleGFtcGxl
VVJMIH0gfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChtaW42Qml0VmFsdWUpLCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKICAgICBh
dHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEobWluNkJpdFZhbHVlLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkobWluNkJpdFZhbHVlKSkpOwogCiAgICAgQVNTRVJU
X0VRKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0SlNPTigpLT50b0pTT05TdHJpbmcoKSwg
IntcInNvdXJjZV9lbmdhZ2VtZW50X3R5cGVcIjpcImNsaWNrXCIsXCJzb3VyY2Vfc2l0ZVwiOlwi
d2Via2l0Lm9yZ1wiLFwic291cmNlX2lkXCI6MCxcImF0dHJpYnV0ZWRfb25fc2l0ZVwiOlwiZXhh
bXBsZS5jb21cIixcInRyaWdnZXJfZGF0YVwiOjAsXCJ2ZXJzaW9uXCI6Mn0iKTsKQEAgLTYzLDcg
KzYzLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgVmFsaWRNaW5WYWx1ZXMpCiAK
IFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkTWlkVmFsdWVzKQogewotICAgIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OlNvdXJjZUlEKCh1aW50MzJfdCkxOTIpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291
cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRl
T25TaXRlIHsgZXhhbXBsZVVSTCB9IH07CisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0
cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoKHVpbnQzMl90KTE5
MiksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1w
bGVVUkwgfSB9OwogICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRv
U2VuZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSgodWlu
dDMyX3QpOSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KCh1aW50MzJfdCkyMikp
KTsKIAogICAgIEFTU0VSVF9FUShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydEpTT04oKS0+
dG9KU09OU3RyaW5nKCksICJ7XCJzb3VyY2VfZW5nYWdlbWVudF90eXBlXCI6XCJjbGlja1wiLFwi
c291cmNlX3NpdGVcIjpcIndlYmtpdC5vcmdcIixcInNvdXJjZV9pZFwiOjE5MixcImF0dHJpYnV0
ZWRfb25fc2l0ZVwiOlwiZXhhbXBsZS5jb21cIixcInRyaWdnZXJfZGF0YVwiOjksXCJ2ZXJzaW9u
XCI6Mn0iKTsKQEAgLTcxLDcgKzcxLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwg
VmFsaWRNaWRWYWx1ZXMpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkTWF4
VmFsdWVzKQogewotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpT
b3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRl
IHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGUg
eyBleGFtcGxlVVJMIH0gfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlv
biB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291
cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRp
b25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRy
aWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0
dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9u
VHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0
eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkpKSk7CiAKICAg
ICBBU1NFUlRfRVEoYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRKU09OKCktPnRvSlNPTlN0
cmluZygpLCAie1wic291cmNlX2VuZ2FnZW1lbnRfdHlwZVwiOlwiY2xpY2tcIixcInNvdXJjZV9z
aXRlXCI6XCJ3ZWJraXQub3JnXCIsXCJzb3VyY2VfaWRcIjoyNTUsXCJhdHRyaWJ1dGVkX29uX3Np
dGVcIjpcImV4YW1wbGUuY29tXCIsXCJ0cmlnZ2VyX2RhdGFcIjoxNSxcInZlcnNpb25cIjoyfSIp
OwpAQCAtNzksNyArNzksNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBWYWxpZE1h
eFZhbHVlcykKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgRWFybGllc3RUaW1lVG9T
ZW5kQXR0cmlidXRpb25NaW5pbXVtRGVsYXkpCiB7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0ZU9uU2l0ZSB7IGV4YW1wbGVVUkwgfSB9OworICAgIFByaXZhdGVDbGlja01l
YXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlE
KFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSB9Owog
ICAgIGF1dG8gbm93ID0gV2FsbFRpbWU6Om5vdygpOwogICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0
ZUFuZEdldEVhcmxpZXN0VGltZVRvU2VuZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25UcmlnZ2VyRGF0YShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25Ucmln
Z2VyRGF0YTo6TWF4RW50cm9weSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eTo6TWF4RW50cm9weSkpKTsKICAgICBhdXRv
IGVhcmxpZXN0VGltZVRvU2VuZCA9IGF0dHJpYnV0aW9uLmVhcmxpZXN0VGltZVRvU2VuZCgpOwpA
QCAtMTMzLDcgKzEzMyw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkU291
cmNlTm9uY2UpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEludmFsaWRTb3VyY2VJ
RCkKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
SUQ6Ok1heEVudHJvcHkgKyAxKSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUg
eyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZSB7
IGV4YW1wbGVVUkwgfSB9OworICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9u
IHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSArIDEpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKICAgICBhdHRyaWJ1dGlvbi5h
dHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0
aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlv
cml0eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkpKSk7CiAK
ICAgICBBU1NFUlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgp
LmlzRW1wdHkoKSk7CkBAIC0xNDIsNyArMTQyLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgSW52YWxpZFNvdXJjZUlEKQogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBJ
bnZhbGlkU291cmNlSG9zdCkKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1
dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZSB7IGVtcHR5VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1
dGVPblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBh
dHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6U291cmNlU2l0ZSB7IGVtcHR5VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSB9OwogICAgIGF0dHJpYnV0
aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRvU2VuZChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0
cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlByaW9yaXR5KFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eTo6TWF4RW50cm9weSkp
KTsKIAogICAgIEFTU0VSVF9UUlVFKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0U291cmNl
VVJMKCkuaXNFbXB0eSgpKTsKQEAgLTE1MSw3ICsxNTEsNyBAQCBURVNUKFByaXZhdGVDbGlja01l
YXN1cmVtZW50LCBJbnZhbGlkU291cmNlSG9zdCkKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgSW52YWxpZERlc3RpbmF0aW9uSG9zdCkKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkgKyAxKSwgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkF0dHJpYnV0ZU9uU2l0ZSB7IGVtcHR5VVJMIH0gfTsKKyAgICBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3Vy
Y2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkgKyAxKSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZW1wdHlVUkwg
fSB9OwogICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRvU2VuZChQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YShQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSwgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlv
cml0eTo6TWF4RW50cm9weSkpKTsKIAogICAgIEFTU0VSVF9UUlVFKGF0dHJpYnV0aW9uLmF0dHJp
YnV0aW9uUmVwb3J0U291cmNlVVJMKCkuaXNFbXB0eSgpKTsKQEAgLTE2MCw3ICsxNjAsNyBAQCBU
RVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBJbnZhbGlkRGVzdGluYXRpb25Ib3N0KQogCiBU
RVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKQogewot
ICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4
RW50cm9weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJM
IH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVPblNpdGUgeyBleGFtcGxlVVJM
IH0gfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
SUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdl
YktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlv
blNpdGUgeyBleGFtcGxlVVJMIH0gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRF
YXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJp
Z2dlckRhdGEoKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRh
OjpNYXhFbnRyb3B5ICsgMSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eShQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkpKSk7CiAKICAgICBBU1NF
UlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgpLmlzRW1wdHko
KSk7CkBAIC0xNjksNyArMTY5LDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgQXR0
cmlidXRpb25UcmlnZ2VyRGF0YSkKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgSW52
YWxpZFByaW9yaXR5KQogewotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9u
IHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3Vy
Y2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGVP
blNpdGUgeyBleGFtcGxlVVJMIH0gfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRy
aWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0
cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKICAgICBhdHRyaWJ1dGlv
bi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJp
YnV0aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQ
cmlvcml0eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkgKyAx
KSkpOwogCiAgICAgQVNTRVJUX1RSVUUoYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRTb3Vy
Y2VVUkwoKS5pc0VtcHR5KCkpOwpAQCAtMTc4LDcgKzE3OCw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQsIEludmFsaWRQcmlvcml0eSkKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgSW52YWxpZE1pc3NpbmdDb252ZXJzaW9uKQogewotICAgIFByaXZhdGVDbGlja01lYXN1
cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1
cmVtZW50OjpBdHRyaWJ1dGVPblNpdGUgeyBleGFtcGxlVVJMIH0gfTsKKyAgICBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3Vy
Y2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0g
fTsKIAogICAgIEFTU0VSVF9UUlVFKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0U291cmNl
VVJMKCkuaXNFbXB0eSgpKTsKICAgICBBU1NFUlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlv
blJlcG9ydEF0dHJpYnV0ZU9uVVJMKCkuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbQppbmRl
eCBmNDY5YjAyODBhMDFhNmQzYjFlMzQzOTNkOTI3ZDEwZDM1NWNkY2RmLi4yZGY0NGVmZmUwODEy
MzQwYTA3ODY1MzlhMzc3YzE2NTk5MWI2OWRiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tCkBAIC0xMDYs
NyArMTA2LDcgQEAgVEVTVChFdmVudEF0dHJpYnV0aW9uLCBCYXNpYykKICAgICB3ZWJWaWV3Lmdl
dCgpLl91aUV2ZW50QXR0cmlidXRpb24gPSAoVUlFdmVudEF0dHJpYnV0aW9uICopYXR0cmlidXRp
b24uZ2V0KCk7CiAgICAgW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dLndlYnNpdGVEYXRhU3RvcmUg
X3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW1t3ZWJWaWV3IGNv
bmZpZ3VyYXRpb25dLndlYnNpdGVEYXRhU3RvcmUgX2FsbG93VExTQ2VydGlmaWNhdGVDaGFpbjpA
WyhpZCl0ZXN0Q2VydGlmaWNhdGUoKS5nZXQoKV0gZm9ySG9zdDpzZXJ2ZXJVUkwuaG9zdF07Ci0g
ICAgW3dlYlZpZXcgX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZzpzZXJ2ZXJVUkwgYXR0cmlidXRlT25VUkw6ZXhhbXBsZVVSTCBjb21wbGV0
aW9uSGFuZGxlcjpeeworICAgIFt3ZWJWaWV3IF9zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmc6c2VydmVyVVJMIGRlc3RpbmF0aW9uVVJMOmV4
YW1wbGVVUkwgY29tcGxldGlvbkhhbmRsZXI6XnsKICAgICAgICAgW3dlYlZpZXcgX3NldFByaXZh
dGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3Rpbmc6WUVTIGNvbXBsZXRpb25I
YW5kbGVyOl57CiAgICAgICAgICAgICBOU1N0cmluZyAqaHRtbCA9IFtOU1N0cmluZyBzdHJpbmdX
aXRoRm9ybWF0OkAiPHNjcmlwdD5mZXRjaCgnJUBjb252ZXJzaW9uUmVxdWVzdEJlZm9yZVJlZGly
ZWN0Jyx7bW9kZTonbm8tY29ycyd9KTwvc2NyaXB0PiIsIHNlcnZlclVSTF07CiAgICAgICAgICAg
ICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpodG1sIGJhc2VVUkw6ZXhhbXBsZVVSTF07CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCA5NDAzMzA1YTdjYmQyMjUzZmE0YzcxZGVmZjEzZjRj
ZTcxNDliYTJjLi5iY2I3NTI0ZWJiNDg5MzY5ZmZhYmNkMzYzNzg3MTRmZmRmYjMyODdiIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTQwNiw3ICs0MDYsNyBAQCBpbnRlcmZhY2UgVGVz
dFJ1bm5lciB7CiAgICAgdW5kZWZpbmVkIHNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nl
c3Npb25SZXN0YXJ0KCk7CiAgICAgdW5kZWZpbmVkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKERPTVN0cmluZyB1cmwpOwogICAgIHVuZGVmaW5l
ZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhE
T01TdHJpbmcgdXJsKTsKLSAgICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRB
dHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKERPTVN0cmluZyBzb3VyY2VVUkxTdHJpbmcs
IERPTVN0cmluZyBhdHRyaWJ1dGVPblVSTFN0cmluZyk7CisgICAgdW5kZWZpbmVkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhET01TdHJp
bmcgc291cmNlVVJMU3RyaW5nLCBET01TdHJpbmcgZGVzdGluYXRpb25VUkxTdHJpbmcpOwogICAg
IHVuZGVmaW5lZCBtYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGlu
ZygpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVu
dGlvblZhbHVlc0ZvclRlc3RpbmcoRE9NU3RyaW5nIHVubGlua2FibGVUb2tlbiwgRE9NU3RyaW5n
IHNlY3JldFRva2VuLCBET01TdHJpbmcgc2lnbmF0dXJlLCBET01TdHJpbmcga2V5SUQpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcAppbmRleCAyYjVmZTJhZDY3YWViNDRhYjRmOTdmN2VkNjMxOWNkNWUyNWIxYTM1Li42NDU1
MWZiMjk5MzM5YzQ3MmE1YzE0Njk3MWU3OTg2N2Q3NGQ2YjU0IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTIwNDMs
MTEgKzIwNDMsMTEgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhKU1N0cmluZ1IKICAgICAgICAgYWRvcHRXSyhX
S1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh0b1dURlN0cmluZyh1cmxTdHJpbmcpLnV0ZjgoKS5k
YXRhKCkpKSk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKEpTU3RyaW5nUmVmIHNvdXJjZVVSTFN0
cmluZywgSlNTdHJpbmdSZWYgYXR0cmlidXRlT25VUkxTdHJpbmcpCit2b2lkIFRlc3RSdW5uZXI6
OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGlu
ZyhKU1N0cmluZ1JlZiBzb3VyY2VVUkxTdHJpbmcsIEpTU3RyaW5nUmVmIGRlc3RpbmF0aW9uVVJM
U3RyaW5nKQogewogICAgIHBvc3RTeW5jaHJvbm91c1BhZ2VNZXNzYWdlKCJTZXRQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmciLCBjcmVhdGVXS0Rp
Y3Rpb25hcnkoewogICAgICAgICB7ICJTb3VyY2VVUkxTdHJpbmciLCB0b1dLKHNvdXJjZVVSTFN0
cmluZykgfSwKLSAgICAgICAgeyAiQXR0cmlidXRlT25VUkxTdHJpbmciLCB0b1dLKGF0dHJpYnV0
ZU9uVVJMU3RyaW5nKSB9LAorICAgICAgICB7ICJBdHRyaWJ1dGVPblVSTFN0cmluZyIsIHRvV0so
ZGVzdGluYXRpb25VUkxTdHJpbmcpIH0sCiAgICAgfSkpOwogfQogCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IGZhODYyNTFk
ZDJjOGIzOTc4ODdjOWY5MDhlNWJmMjBhN2M2ZjM1NjQuLmY2YzY2N2MyMmU2OGFjMzM3NmRjOGUz
OWU2NDc3OWExMDg0YTliM2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC01MTUsNyArNTE1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZyhi
b29sIHZhbHVlKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJs
aWNLZXlVUkxGb3JUZXN0aW5nKEpTU3RyaW5nUmVmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKEpTU3RyaW5nUmVmKTsKLSAg
ICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9y
VGVzdGluZyhKU1N0cmluZ1JlZiBzb3VyY2VVUkwsIEpTU3RyaW5nUmVmIGF0dHJpYnV0ZU9uVVJM
KTsKKyAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZyhKU1N0cmluZ1JlZiBzb3VyY2VVUkwsIEpTU3RyaW5nUmVmIGRlc3RpbmF0
aW9uVVJMKTsKICAgICB2b2lkIG1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRG
b3JUZXN0aW5nKCk7CiAgICAgdm9pZCBtYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVt
ZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50RnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhKU1N0cmluZ1JlZiB1bmxpbmth
YmxlVG9rZW4sIEpTU3RyaW5nUmVmIHNlY3JldFRva2VuLCBKU1N0cmluZ1JlZiBzaWduYXR1cmUs
IEpTU3RyaW5nUmVmIGtleUlEKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAKaW5kZXggMzBiYTkzMzc3NTkyMTE2NWMzODY2MTdmMzQwYzFmNjliNmEyNmFmMy4uY2Mz
Zjc4MzM0MWMxODliMmRhYmRlNDJkYjRkZGQwZTUwZGFiMDA4OCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTM2NTIsMTAgKzM2NTIsMTAgQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVS
TEZvclRlc3RpbmcoV0tVUkwKICAgICBydW5VbnRpbChjYWxsYmFja0NvbnRleHQuZG9uZSwgbm9U
aW1lb3V0KTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFdLVVJMUmVmIHNvdXJjZVVSTCwg
V0tVUkxSZWYgYXR0cmlidXRlT25VUkwpCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV0tVUkxSZWYg
c291cmNlVVJMLCBXS1VSTFJlZiBkZXN0aW5hdGlvblVSTCkKIHsKICAgICBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudFZvaWRDYWxsYmFja0NvbnRleHQgY2FsbGJhY2tDb250ZXh0KCp0aGlzKTsKLSAg
ICBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0Zv
clRlc3RpbmcobV9tYWluV2ViVmlldy0+cGFnZSgpLCBzb3VyY2VVUkwsIGF0dHJpYnV0ZU9uVVJM
LCBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudFZvaWRDYWxsYmFjaywgJmNhbGxiYWNrQ29udGV4dCk7
CisgICAgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVS
THNGb3JUZXN0aW5nKG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgc291cmNlVVJMLCBkZXN0aW5hdGlv
blVSTCwgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJhY2ssICZjYWxsYmFja0NvbnRl
eHQpOwogICAgIHJ1blVudGlsKGNhbGxiYWNrQ29udGV4dC5kb25lLCBub1RpbWVvdXQpOwogfQog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggM2VlYWUxNTVlY2Qx
ZDQ5NGJjYzYwODE3ZTFiODI5ZTEyNDc2OTY5Zi4uMGNmMWY2Y2E3MzQ1NWI5NDAyODA0ZjA1YjIw
MzljZmNhMzI0OGMyNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApA
QCAtMzQ5LDcgKzM0OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhXS1VSTFJlZik7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhXS1VS
TFJlZik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmcoV0tVUkxSZWYgc291cmNlVVJMLCBXS1VSTFJlZiBhdHRyaWJ1dGVP
blVSTCk7CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmcoV0tVUkxSZWYgc291cmNlVVJMLCBXS1VSTFJlZiBkZXN0aW5hdGlv
blVSTCk7CiAgICAgdm9pZCBtYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9y
VGVzdGluZygpOwogICAgIHZvaWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGlu
ZyhXS1N0cmluZ1JlZiB1bmxpbmthYmxlVG9rZW4sIFdLU3RyaW5nUmVmIHNlY3JldFRva2VuLCBX
S1N0cmluZ1JlZiBzaWduYXR1cmUsIFdLU3RyaW5nUmVmIGtleUlEKTsKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCBiY2Q3MTI4ODc4NTY3M2U3OTY2MWFh
MjE3YTVlMDgwNDQ1N2ViZmRiLi5mNGE0ZmU0ZDM5OWUxMDZmYWJlZjY5ODYyMGZhZGZjZGMxMmY0
YjE3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTM1
NSw4ICsxMzU1LDggQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlk
UmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICBpZiAoV0tTdHJpbmdJ
c0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyIpKSB7CiAgICAgICAgIGF1dG8gdGVz
dERpY3Rpb25hcnkgPSBkaWN0aW9uYXJ5VmFsdWUobWVzc2FnZUJvZHkpOwogICAgICAgICBhdXRv
IHNvdXJjZVVSTCA9IGFkb3B0V0soV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmcodG9XVEZTdHJp
bmcoc3RyaW5nVmFsdWUodGVzdERpY3Rpb25hcnksICJTb3VyY2VVUkxTdHJpbmciKSkudXRmOCgp
LmRhdGEoKSkpOwotICAgICAgICBhdXRvIGF0dHJpYnV0ZU9uVVJMID0gYWRvcHRXSyhXS1VSTENy
ZWF0ZVdpdGhVVEY4Q1N0cmluZyh0b1dURlN0cmluZyhzdHJpbmdWYWx1ZSh0ZXN0RGljdGlvbmFy
eSwgIkF0dHJpYnV0ZU9uVVJMU3RyaW5nIikpLnV0ZjgoKS5kYXRhKCkpKTsKLSAgICAgICAgVGVz
dENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmli
dXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhzb3VyY2VVUkwuZ2V0KCksIGF0dHJpYnV0ZU9uVVJM
LmdldCgpKTsKKyAgICAgICAgYXV0byBkZXN0aW5hdGlvblVSTCA9IGFkb3B0V0soV0tVUkxDcmVh
dGVXaXRoVVRGOENTdHJpbmcodG9XVEZTdHJpbmcoc3RyaW5nVmFsdWUodGVzdERpY3Rpb25hcnks
ICJBdHRyaWJ1dGVPblVSTFN0cmluZyIpKS51dGY4KCkuZGF0YSgpKSk7CisgICAgICAgIFRlc3RD
b250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0
aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmcoc291cmNlVVJMLmdldCgpLCBkZXN0aW5hdGlvblVSTC5n
ZXQoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2Nzg3MTA3
M2NmNjVjNzUzZjg3MDQ2MmZmZWIyYmU2MTYzNDYxZDEuLjBmNjZhNDE5NTlhMjM1YTY4YzBmZDll
ZWFlMjgwMDc3MTE2NjBmZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAyMS0wMy0yMyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBQQ006IFJlbmFtZSBh
dHRyaWJ1dGVPbiB0byBhdHRyaWJ1dGlvbkRlc3RpbmF0aW9uIGFuZCBjaGFuZ2UgdGhlIElETCBk
YXRhIHR5cGUgb2YgYXR0cmlidXRpb25Tb3VyY2VJZCB0byB1bnNpZ25lZCBsb25nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2NjEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzc1NzYyMDc1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBQUiByZXZpZXcgb2YgdGhlIHVwZGF0ZSBvZiB0aGUgUENN
IHNwZWMgbGVhZCBXZWJLaXQsIE1vemlsbGEsIGFuZCBHb29nbGUgdG8gZGVjaWRlIG9uIHR3byBj
aGFuZ2VzOgorICAgICAgICAxLiBSZW5hbWUgYXR0cmlidXRlT24gdG8gYXR0cmlidXRpb25EZXN0
aW5hdGlvbgorICAgICAgICAyLiBDaGFuZ2UgdGhlIElETCBkYXRhIHR5cGUgb2YgYXR0cmlidXRp
b25Tb3VyY2VJZCBmcm9tIERPTVN0cmluZyB0byB1bnNpZ25lZCBsb25nCisKKyAgICAgICAgVGhl
IHNwZWMgY2hhbmdlIGNhbiBiZSBzZWVuIGluIHRoaXMgY29tbWl0OgorICAgICAgICBodHRwczov
L2dpdGh1Yi5jb20vcHJpdmFjeWNnL3ByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQvcHVsbC83NS9j
b21taXRzLzg2MjNiNWRmNWU4OTllNjY1MmJjNWIwMDMxMzU4NWY3ZWVhZmE3OTcKKworICAgICAg
ICBUZXN0IGNhc2VzIHdlcmUgdXBkYXRlZCBhY2NvcmRpbmdseS4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYW5jaG9y
LXRhZy1hdHRyaWJ1dGVzLXJlZmxlY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYW5jaG9yLXRhZy1hdHRyaWJ1dGVzLXJlZmxlY3Qu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2FuY2hv
ci10YWctYXR0cmlidXRlcy12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2FuY2hvci10YWctYXR0cmlidXRlcy12YWxp
ZGF0aW9uLmh0bWw6CisgICAgICAgICAgICBTaW5jZSBhdHRyaWJ1dGlvblNvdXJjZUlkIGlzIG5v
dyBhbiB1bnNpZ25lZCBsb25nLCB0ZXN0cyB0aGF0IGNoZWNrZWQgaW52YWxpZAorICAgICAgICAg
ICAgc3RyaW5nIHZhbHVlcyBhcmUgbm8gbG9uZ2VyIHJlbGV2YW50LiBJdCBzaG91bGQgYmUgbm90
ZWQgdGhhdCBhIHNldAorICAgICAgICAgICAgYXR0cmlidXRpb25Tb3VyY2VJZCB3aXRoIGFuIGlu
dmFsaWQgdmFsdWUgYmVjb21lcyAwIHdoaWNoIGlzIGEgdmFsaWQgdmFsdWUuCisgICAgICAgICog
aHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9u
LXRocm91Z2gtY3Jvc3Mtc2l0ZS1pbWFnZS1yZWRpcmVjdC5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJv
dWdoLWZldGNoLWtlZXBhbGl2ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGly
ZWN0LWluLW5ldy13aW5kb3cuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVj
dC13aXRoLXByaW9yaXR5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3Qt
d2l0aG91dC1wcmlvcml0eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvY2xlYXItdGhyb3VnaC13ZWJzaXRlLWRhdGEtcmVtb3ZhbC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29udmVyc2lvbi1kaXNh
YmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hZC1jbGljay1nZXRzLXJlbW92ZWQtb24tc2Vz
c2lvbi1zdGFydC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1yZXBvcnQtZ2V0cy1zZW50LW9uLXNlc3Npb24tc3Rh
cnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4
cGlyZWQtYXR0cmlidXRpb25zLXJlbW92ZWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1o
aWdoZXItcHJpb3JpdHkuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1sb3dlci1wcmlvcml0
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vj
b25kLWNvbnZlcnNpb24td2l0aC1oaWdoZXItcHJpb3JpdHkuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtbG93
ZXItcHJpb3JpdHkuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L3NlbmQtYXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1kaXNhYmxlZC1pbi1l
cGhlbWVyYWwtc2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC13aXRoLXNvdXJjZS1u
b25jZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
c3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5odG1sOgorCiAyMDIxLTAzLTIzICBEZWFu
IEphY2tzb24gIDx5b2xvQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgTWV0YWwgQU5HTEUg
YmFja2VuZCBmb3IgV2ViR0wKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29u
dGVudGV4dGVuc2lvbnMvYmxvY2stcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1wcml2YXRlLWNsaWNr
LW1lYXN1cmVtZW50Lmh0bWwKaW5kZXggZDRhMzFkY2Q3ZDNkZjE5N2Q2MjlhMDJjNmYzNjQ4ZGIx
MmY1ZTk3NC4uMTYwNjljZjEwZTc2NzMzOTY0NmQ1YTFhYjMxN2ZhMDljN2E3MjZmZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1wcml2
YXRlLWNsaWNrLW1lYXN1cmVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b250ZW50ZXh0ZW5zaW9ucy9ibG9jay1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50Lmh0bWwKQEAg
LTgsNyArOCw3IEBACiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwg
MCkiPgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPlRlc3RzIHRoYXQgcHJpdmF0ZSBjbGljayBtZWFz
dXJlbWVudCByZWRpcmVjdHMgdG8gd2VsbC1rbm93biBsb2NhdGlvbiBkb24ndCB0cmlnZ2VyIGEg
Y29udmVyc2lvbiBpZiB0aGV5IGFyZSBibG9ja2VkIGJ5IGNvbnRlbnQgYmxvY2tlcnMuPC9kaXY+
Ci08YSBpZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NvbnRlbnRl
eHRlbnNpb25zL2Jsb2NrLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQuaHRtbD9zdGVwVHdvIiBh
dHRyaWJ1dGlvbnNvdXJjZWlkPSIzIiBhdHRyaWJ1dGVvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDAw
Ij5MaW5rPC9hPjxicj4KKzxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvY29udGVudGV4dGVuc2lvbnMvYmxvY2stcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5o
dG1sP3N0ZXBUd28iIGF0dHJpYnV0aW9uc291cmNlaWQ9IjMiIGF0dHJpYnV0aW9uZGVzdGluYXRp
b249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+TGluazwvYT48YnI+CiA8ZGl2IGlkPSJvdXRwdXQi
PjwvZGl2PgogPHNjcmlwdD4KICAgICBwcmVwYXJlVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hbmNob3ItdGFnLWF0dHJp
YnV0ZXMtcmVmbGVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZh
dGVDbGlja01lYXN1cmVtZW50L2FuY2hvci10YWctYXR0cmlidXRlcy1yZWZsZWN0LWV4cGVjdGVk
LnR4dAppbmRleCBhNTM0NGJiNTg0OTc5OWNlZDY0NGE4ZjYwNWU5MDhiNzY5NGRjYmYyLi4wMmIw
M2IwMjhhY2U0ZDJkZTEzNzI0NjY0M2M3MmQwMDU1ZTQxMDRhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2FuY2hvci10YWctYXR0cmli
dXRlcy1yZWZsZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L2FuY2hvci10YWctYXR0cmlidXRlcy1yZWZsZWN0LWV4cGVj
dGVkLnR4dApAQCAtMyw4ICszLDggQEAgVGVzdCBmb3IgdGhlIG5ldyBwcml2YXRlIGNsaWNrIG1l
YXN1cmVtZW50IGF0dHJpYnV0ZXMgb24gYW5jaG9yIHRhZ3MuCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCiAKIAotUEFTUyBhbmNob3JUYWcuYXR0cmlidXRpb25zb3VyY2VpZCBpcyAiNDAiCi1Q
QVNTIGFuY2hvclRhZy5hdHRyaWJ1dGVvbiBpcyAiZGVzdGluYXRpb24uZXhhbXBsZSIKK1BBU1Mg
YW5jaG9yVGFnLmF0dHJpYnV0aW9uc291cmNlaWQgaXMgNDAKK1BBU1MgYW5jaG9yVGFnLmF0dHJp
YnV0aW9uZGVzdGluYXRpb24gaXMgImh0dHBzOi8vZGVzdGluYXRpb24uZXhhbXBsZSIKIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hbmNob3ItdGFn
LWF0dHJpYnV0ZXMtcmVmbGVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9hbmNob3ItdGFnLWF0dHJpYnV0ZXMtcmVmbGVjdC5odG1sCmluZGV4
IDkzYjc3ZGNmNmNmZjIxOGMwMGQ2NTU0NGEwZjA5Yzc0Yzc2Y2FiYTYuLmRkMDdkZDk2MzdjMGVi
OGM0ODE3YTcxNGZkOGQ4ZGM3NTE5ZGE1OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYW5jaG9yLXRhZy1hdHRyaWJ1dGVzLXJlZmxl
Y3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2FuY2hvci10YWctYXR0cmlidXRlcy1yZWZsZWN0Lmh0bWwKQEAgLTEsMTcgKzEsMTcgQEAK
LTwhRE9DVFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRGcmF1ZFByZXZlbnRpb25FbmFibGVkPXRydWUgXSAt
LT4KIDxodG1sIGxhbmc9ImVuIj4KIDxoZWFkPgogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
ICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+Ci08YSBpZD0idGVzdFRhZyIgaHJlZj0iaHR0cDovL2xvY2FsaG9z
dDo4MDAwIiBhdHRyaWJ1dGlvbnNvdXJjZWlkPSI0MCIgYXR0cmlidXRlb249ImRlc3RpbmF0aW9u
LmV4YW1wbGUiPjwvYT4KKzxhIGlkPSJ0ZXN0VGFnIiBocmVmPSJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiIGF0dHJpYnV0aW9uc291cmNlaWQ9NDAgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0cHM6
Ly9kZXN0aW5hdGlvbi5leGFtcGxlIj48L2E+CiA8c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJU
ZXN0IGZvciB0aGUgbmV3IHByaXZhdGUgY2xpY2sgbWVhc3VyZW1lbnQgYXR0cmlidXRlcyBvbiBh
bmNob3IgdGFncy4iKTsKIAogICAgIGNvbnN0IGFuY2hvclRhZyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0VGFnIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJhbmNob3JUYWcu
YXR0cmlidXRpb25zb3VyY2VpZCIsICI0MCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
YW5jaG9yVGFnLmF0dHJpYnV0ZW9uIiwgImRlc3RpbmF0aW9uLmV4YW1wbGUiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9OdW1iZXIoImFuY2hvclRhZy5hdHRyaWJ1dGlvbnNvdXJjZWlkIiwgNDApOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiYW5jaG9yVGFnLmF0dHJpYnV0aW9uZGVzdGluYXRp
b24iLCAiaHR0cHM6Ly9kZXN0aW5hdGlvbi5leGFtcGxlIik7CiA8L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvYW5jaG9yLXRhZy1hdHRyaWJ1dGVzLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hbmNob3It
dGFnLWF0dHJpYnV0ZXMtdmFsaWRhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYjYyMjFkZjAzYjM3
MmU4ZTk2MTA0Y2U3ZTlkYTAyYjZjYmFhZWVjNC4uYzExNmQ3ZGM2ZTU2Y2FhMTUxYTlhMWY4ZGZk
NTA0MWVkNjllM2YwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9hbmNob3ItdGFnLWF0dHJpYnV0ZXMtdmFsaWRhdGlvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9hbmNob3ItdGFnLWF0dHJpYnV0ZXMtdmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsMTQg
KzEsMTEgQEAKIENPTlNPTEUgTUVTU0FHRTogYXR0cmlidXRpb25zb3VyY2VpZCBtdXN0IGhhdmUg
YSBub24tbmVnYXRpdmUgdmFsdWUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDI1NSBmb3IgUHJpdmF0
ZSBDbGljayBNZWFzdXJlbWVudC4KLUNPTlNPTEUgTUVTU0FHRTogYXR0cmlidXRpb25zb3VyY2Vp
ZCBtdXN0IGhhdmUgYSBub24tbmVnYXRpdmUgdmFsdWUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDI1
NSBmb3IgUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudC4KLUNPTlNPTEUgTUVTU0FHRTogYXR0cmli
dXRpb25zb3VyY2VpZCBjYW4gbm90IGJlIGNvbnZlcnRlZCB0byBhIG5vbi1uZWdhdGl2ZSBpbnRl
Z2VyIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50LgotQ09O
U09MRSBNRVNTQUdFOiBhdHRyaWJ1dGlvbnNvdXJjZWlkIGNhbiBub3QgYmUgY29udmVydGVkIHRv
IGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIFByaXZhdGUgQ2xp
Y2sgTWVhc3VyZW1lbnQuCi1DT05TT0xFIE1FU1NBR0U6IGF0dHJpYnV0aW9uc291cmNlaWQgY2Fu
IG5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBub24tbmVnYXRpdmUgaW50ZWdlciB3aGljaCBpcyByZXF1
aXJlZCBmb3IgUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudC4KLUNPTlNPTEUgTUVTU0FHRTogYXR0
cmlidXRlb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byBhIHZhbGlkIEhUVFAtZmFtaWx5IFVS
TC4KLUNPTlNPTEUgTUVTU0FHRTogYXR0cmlidXRlb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0
byBhIHZhbGlkIEhUVFAtZmFtaWx5IFVSTC4KLUNPTlNPTEUgTUVTU0FHRTogYXR0cmlidXRlb24g
Y291bGQgbm90IGJlIGNvbnZlcnRlZCB0byBhIHZhbGlkIEhUVFAtZmFtaWx5IFVSTC4KLUNPTlNP
TEUgTUVTU0FHRTogQm90aCBhdHRyaWJ1dGlvbnNvdXJjZWlkIGFuZCBhdHRyaWJ1dGVvbiBuZWVk
IHRvIGJlIHNldCBmb3IgUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCB0byB3b3JrLgotQ09OU09M
RSBNRVNTQUdFOiBCb3RoIGF0dHJpYnV0aW9uc291cmNlaWQgYW5kIGF0dHJpYnV0ZW9uIG5lZWQg
dG8gYmUgc2V0IGZvciBQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IHRvIHdvcmsuCi1DT05TT0xF
IE1FU1NBR0U6IGF0dHJpYnV0ZW9uIGNhbiBub3QgYmUgdGhlIHNhbWUgc2l0ZSBhcyB0aGUgY3Vy
cmVudCB3ZWJzaXRlLgorQ09OU09MRSBNRVNTQUdFOiBCb3RoIGF0dHJpYnV0aW9uc291cmNlaWQg
YW5kIGF0dHJpYnV0aW9uZGVzdGluYXRpb24gbmVlZCB0byBiZSBzZXQgZm9yIFByaXZhdGUgQ2xp
Y2sgTWVhc3VyZW1lbnQgdG8gd29yay4KK0NPTlNPTEUgTUVTU0FHRTogYXR0cmlidXRpb25kZXN0
aW5hdGlvbiBjb3VsZCBub3QgYmUgY29udmVydGVkIHRvIGEgdmFsaWQgSFRUUC1mYW1pbHkgVVJM
LgorQ09OU09MRSBNRVNTQUdFOiBhdHRyaWJ1dGlvbmRlc3RpbmF0aW9uIGNvdWxkIG5vdCBiZSBj
b252ZXJ0ZWQgdG8gYSB2YWxpZCBIVFRQLWZhbWlseSBVUkwuCitDT05TT0xFIE1FU1NBR0U6IGF0
dHJpYnV0aW9uZGVzdGluYXRpb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byBhIHZhbGlkIEhU
VFAtZmFtaWx5IFVSTC4KK0NPTlNPTEUgTUVTU0FHRTogQm90aCBhdHRyaWJ1dGlvbnNvdXJjZWlk
IGFuZCBhdHRyaWJ1dGlvbmRlc3RpbmF0aW9uIG5lZWQgdG8gYmUgc2V0IGZvciBQcml2YXRlIENs
aWNrIE1lYXN1cmVtZW50IHRvIHdvcmsuCitDT05TT0xFIE1FU1NBR0U6IGF0dHJpYnV0aW9uZGVz
dGluYXRpb24gY2FuIG5vdCBiZSB0aGUgc2FtZSBzaXRlIGFzIHRoZSBjdXJyZW50IHdlYnNpdGUu
CitDT05TT0xFIE1FU1NBR0U6IEJvdGggYXR0cmlidXRpb25zb3VyY2VpZCBhbmQgYXR0cmlidXRp
b25kZXN0aW5hdGlvbiBuZWVkIHRvIGJlIHNldCBmb3IgUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVu
dCB0byB3b3JrLgogVGVzdCBmb3IgdmFsaWRpdHkgb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVu
dCBhdHRyaWJ1dGVzIG9uIGFuY2hvciB0YWdzLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2FuY2hvci10YWctYXR0cmlidXRlcy12YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2FuY2hvci10YWctYXR0cmlidXRlcy12
YWxpZGF0aW9uLmh0bWwKaW5kZXggYjM4NDdmOGIyYTRiYTYxMWM0MjVhZWI3ZjA3NTRlZDA3ZDcx
MzQyOC4uYmQzNTZlNGNiODRiNThiYjE0Y2ZkODZhYWQzOTVkZTc2Yjc2OWM1YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hbmNob3It
dGFnLWF0dHJpYnV0ZXMtdmFsaWRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYW5jaG9yLXRhZy1hdHRyaWJ1dGVzLXZhbGlkYXRp
b24uaHRtbApAQCAtMjAsMTIgKzIwLDE0IEBACiAgICAgZGVzY3JpcHRpb24oIlRlc3QgZm9yIHZh
bGlkaXR5IG9mIHByaXZhdGUgY2xpY2sgbWVhc3VyZW1lbnQgYXR0cmlidXRlcyBvbiBhbmNob3Ig
dGFncy4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgIGZ1bmN0aW9uIGNyZWF0
ZVByaXZhdGVDbGlja01lYXN1cmVtZW50QW5jaG9yRWxlbWVudChlbGVtZW50SUQsIGFkQ2FtcGFp
Z25JRCwgYWREZXN0aW5hdGlvbikgeworICAgIGZ1bmN0aW9uIGNyZWF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50QW5jaG9yRWxlbWVudChlbGVtZW50SUQsIHNvdXJjZUlELCBkZXN0aW5hdGlvbikg
ewogICAgICAgICBsZXQgYW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEi
KTsKICAgICAgICAgYW5jaG9yRWxlbWVudC5pZCA9IGVsZW1lbnRJRDsKICAgICAgICAgYW5jaG9y
RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3aWRlLWxpbmsiKTsKLSAgICAgICAgYW5jaG9yRWxlbWVu
dC5hdHRyaWJ1dGlvbnNvdXJjZWlkID0gYWRDYW1wYWlnbklEOwotICAgICAgICBhbmNob3JFbGVt
ZW50LmF0dHJpYnV0ZW9uID0gYWREZXN0aW5hdGlvbjsKKyAgICAgICAgaWYgKHNvdXJjZUlEICE9
PSBudWxsKQorICAgICAgICAgICAgYW5jaG9yRWxlbWVudC5hdHRyaWJ1dGlvbnNvdXJjZWlkID0g
c291cmNlSUQ7CisgICAgICAgIGlmIChkZXN0aW5hdGlvbiAhPT0gbnVsbCkKKyAgICAgICAgICAg
IGFuY2hvckVsZW1lbnQuYXR0cmlidXRpb25kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uOwogICAg
ICAgICBhbmNob3JFbGVtZW50LmhyZWYgPSAiIyI7CiAgICAgICAgIGFuY2hvckVsZW1lbnQuaW5u
ZXJUZXh0ID0gIkxpbmsiICsgY3VycmVudFRlc3Q7CiAgICAgICAgIHJldHVybiBhbmNob3JFbGVt
ZW50OwpAQCAtNDQsMzIgKzQ2LDI2IEBACiAgICAgfQogCiAgICAgbGV0IGN1cnJlbnRUZXN0ID0g
MDsKLSAgICBmdW5jdGlvbiBydW5PbmVUZXN0KGFkQ2FtcGFpZ25JRCwgYWREZXN0aW5hdGlvbiwg
Y2FsbGJhY2spIHsKKyAgICBmdW5jdGlvbiBydW5PbmVUZXN0KHNvdXJjZUlELCBkZXN0aW5hdGlv
biwgY2FsbGJhY2spIHsKICAgICAgICAgY29uc3QgY3VycmVudEVsZW1lbnRJRCA9ICJ0ZXN0IiAr
IGN1cnJlbnRUZXN0Kys7Ci0gICAgICAgIGNvbnN0IGFuY2hvckVsZW1lbnQgPSBjcmVhdGVQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEFuY2hvckVsZW1lbnQoY3VycmVudEVsZW1lbnRJRCwgYWRDYW1w
YWlnbklELCBhZERlc3RpbmF0aW9uKTsKKyAgICAgICAgY29uc3QgYW5jaG9yRWxlbWVudCA9IGNy
ZWF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50QW5jaG9yRWxlbWVudChjdXJyZW50RWxlbWVudElE
LCBzb3VyY2VJRCwgZGVzdGluYXRpb24pOwogICAgICAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoYW5j
aG9yRWxlbWVudCk7CiAgICAgICAgIGFjdGl2YXRlRWxlbWVudChjdXJyZW50RWxlbWVudElELCBj
YWxsYmFjayk7CiAgICAgfQogCi0gICAgY29uc3QgdmFsaWRBZENhbXBhaWduSUQgPSAiMDMiOwot
ICAgIGNvbnN0IHZhbGlkQWREZXN0aW5hdGlvbiA9ICJodHRwOi8vd2Via2l0Lm9yZyI7CisgICAg
Y29uc3QgdmFsaWRTb3VyY2VJRCA9IDM7CisgICAgY29uc3QgdmFsaWREZXN0aW5hdGlvbiA9ICJo
dHRwczovL3dlYmtpdC5vcmciOwogICAgIGNvbnN0IHNhbWVTaXRlID0gZG9jdW1lbnQubG9jYXRp
b24ub3JpZ2luOwogICAgIGNvbnN0IHRlc3RDYXNlcyA9IFsKLSAgICAgICAgWyB2YWxpZEFkQ2Ft
cGFpZ25JRCwgdmFsaWRBZERlc3RpbmF0aW9uIF0sCi0gICAgICAgIFsgIjEyMjAiLCB2YWxpZEFk
RGVzdGluYXRpb24gXSwgICAgICAgICAgLy8gVG9vIG1hbnkgY2hhcmFjdGVycy4KLSAgICAgICAg
WyAiMSIsIHZhbGlkQWREZXN0aW5hdGlvbiBdLCAgICAgICAgICAgICAvLyBUb28gZmV3IGNoYXJh
Y3RlcnMuCi0gICAgICAgIFsgIjI5OCIsIHZhbGlkQWREZXN0aW5hdGlvbiBdLCAgICAgICAgICAg
Ly8gVG9vIGhpZ2ggdmFsdWUuCi0gICAgICAgIFsgIi0xIiwgdmFsaWRBZERlc3RpbmF0aW9uIF0s
ICAgICAgICAgICAgLy8gTmVnYXRpdmUgdmFsdWUuCi0gICAgICAgIFsgImFiIiwgdmFsaWRBZERl
c3RpbmF0aW9uIF0sICAgICAgICAgICAgLy8gTm9uLWRpZ2l0cy4KLSAgICAgICAgWyAi76O/MSIs
IHZhbGlkQWREZXN0aW5hdGlvbiBdLCAgICAgICAgICAgIC8vIE5vbi1BU0NJSS4KLSAgICAgICAg
WyAiIDEiLCB2YWxpZEFkRGVzdGluYXRpb24gXSwgICAgICAgICAgICAvLyBMZWFkaW5nIHNwYWNl
LgotICAgICAgICBbICIxICIsIHZhbGlkQWREZXN0aW5hdGlvbiBdLCAgICAgICAgICAgIC8vIFRy
YWlsaW5nIHNwYWNlLgotICAgICAgICBbIHZhbGlkQWRDYW1wYWlnbklELCAid2Via2l0Lm9yZyIg
XSwgICAgIC8vIE1pc3NpbmcgcHJvdG9jb2wuCi0gICAgICAgIFsgdmFsaWRBZENhbXBhaWduSUQs
ICI6Ly93ZWJraXQub3JnIiBdLCAgLy8gUGFydGlhbGx5IG1pc3NpbmcgcHJvdG9jb2wuCi0gICAg
ICAgIFsgdmFsaWRBZENhbXBhaWduSUQsICLvo7/vo7/vo78iIF0sICAgICAgICAgICAvLyBOb24t
QVNDSUkgY2hhcmFjdGVycyBhcyBkZXN0aW5hdGlvbi4KLSAgICAgICAgWyAiIiwgdmFsaWRBZERl
c3RpbmF0aW9uIF0sICAgICAgICAgICAgICAvLyBFbXB0eSBjYW1wYWlnbiBJRC4KLSAgICAgICAg
WyB2YWxpZEFkQ2FtcGFpZ25JRCwgIiIgXSwgICAgICAgICAgICAgICAvLyBFbXB0eSBkZXN0aW5h
dGlvbi4KLSAgICAgICAgWyB2YWxpZEFkQ2FtcGFpZ25JRCwgc2FtZVNpdGUgXSAgICAgICAgICAv
LyBTYW1lLXNpdGUgZGVzdGluYXRpb24uCisgICAgICAgIFsgdmFsaWRTb3VyY2VJRCwgdmFsaWRE
ZXN0aW5hdGlvbiBdLAorICAgICAgICBbIDI5OCwgdmFsaWREZXN0aW5hdGlvbiBdLCAgICAgICAg
ICAgLy8gVG9vIGhpZ2ggc291cmNlIElELgorICAgICAgICBbIG51bGwsIHZhbGlkRGVzdGluYXRp
b24gXSwgICAgICAgICAgLy8gTm8gc291cmNlIElELgorICAgICAgICBbIHZhbGlkU291cmNlSUQs
ICJ3ZWJraXQub3JnIiBdLCAgICAgLy8gTWlzc2luZyBkZXN0aW5hdGlvbiBwcm90b2NvbC4KKyAg
ICAgICAgWyB2YWxpZFNvdXJjZUlELCAiOi8vd2Via2l0Lm9yZyIgXSwgIC8vIFBhcnRpYWxseSBt
aXNzaW5nIGRlc3RpbmF0aW9uIHByb3RvY29sLgorICAgICAgICBbIHZhbGlkU291cmNlSUQsICLv
o7/vo7/vo78iIF0sICAgICAgICAgICAgLy8gTm9uLUFTQ0lJIGNoYXJhY3RlcnMgYXMgZGVzdGlu
YXRpb24uCisgICAgICAgIFsgdmFsaWRTb3VyY2VJRCwgIiIgXSwgICAgICAgICAgICAgICAvLyBF
bXB0eSBkZXN0aW5hdGlvbi4KKyAgICAgICAgWyB2YWxpZFNvdXJjZUlELCBzYW1lU2l0ZSBdLCAg
ICAgICAgIC8vIFNhbWUtc2l0ZSBkZXN0aW5hdGlvbi4KKyAgICAgICAgWyB2YWxpZFNvdXJjZUlE
LCBudWxsIF0gICAgICAgICAgICAgIC8vIE5vIGRlc3RpbmF0aW9uLgogICAgIF07CiAKICAgICBm
dW5jdGlvbiBydW5BbGxUZXN0cygpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdo
LWNyb3NzLXNpdGUtaW1hZ2UtcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWNy
b3NzLXNpdGUtaW1hZ2UtcmVkaXJlY3QuaHRtbAppbmRleCAyZjA1ZjUyYjI0NTYwNmE2NGYxMWRj
OWI4ODkwMWU3ZWExMmQ3NjNmLi5mMTBjODBjYTU2ZWE1ZGIzYjIwZjcwOWU2NzI5YmRmNmJiZDE5
YTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1jcm9zcy1zaXRlLWltYWdlLXJl
ZGlyZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtY3Jvc3Mtc2l0ZS1pbWFnZS1y
ZWRpcmVjdC5odG1sCkBAIC04LDcgKzgsNyBAQAogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJzZXRU
aW1lb3V0KHJ1blRlc3QsIDApIj4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0cyB0aGF0IHRy
aWdnZXJpbmcgb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVudCBhdHRyaWJ1dGlvbnMgdGhyb3Vn
aCBjcm9zcy1zaXRlIHJlZGlyZWN0cyBkbyBub3Qgd29yay48L2Rpdj4KLTxhIGlkPSJ0YXJnZXRM
aW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
YXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWNyb3NzLXNpdGUtaW1hZ2UtcmVkaXJlY3Qu
aHRtbD9zdGVwVHdvIiBhdHRyaWJ1dGlvbnNvdXJjZWlkPSIzIiBhdHRyaWJ1dGVvbj0iaHR0cDov
L2xvY2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KKzxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24t
Y29udmVyc2lvbi10aHJvdWdoLWNyb3NzLXNpdGUtaW1hZ2UtcmVkaXJlY3QuaHRtbD9zdGVwVHdv
IiBhdHRyaWJ1dGlvbnNvdXJjZWlkPTMgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CiA8c2Ny
aXB0PgogICAgIHByZXBhcmVUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3Vn
aC1mZXRjaC1rZWVwYWxpdmUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWZldGNoLWtlZXBh
bGl2ZS5odG1sCmluZGV4IDY5NjhmZGNjZGY0YjBiYzAzNGM5ZmU0YzQ3MDFmY2Y0YmI1NzRhYTUu
LjY2OTM1MDU1YWE3NTA4ZGFmZTQ2MmQzMWQxMWMzMzU4ODlmMzhjNzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24t
Y29udmVyc2lvbi10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lv
bi10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS5odG1sCkBAIC03LDcgKzcsNyBAQAogPC9oZWFkPgog
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPlRlc3RzIHRy
aWdnZXJpbmcgb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVudCBhdHRyaWJ1dGlvbnMgd2l0aCBm
ZXRjaCBvbiBwYWdlaGlkZS48L2Rpdj4KLTxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRwOi8v
bG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVy
c2lvbi10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS5odG1sP3N0ZXBUd28iIGF0dHJpYnV0aW9uc291
cmNlaWQ9IjMiIGF0dHJpYnV0ZW9uPSJodHRwOi8vbG9jYWxob3N0OjgwMDAiPkxpbms8L2E+PGJy
PgorPGEgaWQ9InRhcmdldExpbmsiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtZmV0Y2gta2Vl
cGFsaXZlLmh0bWw/c3RlcFR3byIgYXR0cmlidXRpb25zb3VyY2VpZD0zIGF0dHJpYnV0aW9uZGVz
dGluYXRpb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+TGluazwvYT48YnI+CiA8ZGl2IGlkPSJv
dXRwdXQiPjwvZGl2PgogPHNjcmlwdD4KICAgICBwcmVwYXJlVGVzdCgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlv
bi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3QtaW4tbmV3LXdpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlv
bi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3QtaW4tbmV3LXdpbmRvdy5odG1sCmlu
ZGV4IGMwZTEzODc2OTZiZDA1YWVkMzU3M2JiMWY5ZDBiNDVkYWYyMTk2OTIuLjdlYWM5NGY2MjYz
YjdkNTFhMDYxYzBhYTQ5ZmZmZjFmYTY3MmZkNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10
aHJvdWdoLWltYWdlLXJlZGlyZWN0LWluLW5ldy13aW5kb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNp
b24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC1pbi1uZXctd2luZG93Lmh0bWwKQEAgLTgsNyArOCw3
IEBACiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwgMCkiPgogPGRp
diBpZD0iZGVzY3JpcHRpb24iPlRlc3RzIHRyaWdnZXJpbmcgb2YgcHJpdmF0ZSBjbGljayBtZWFz
dXJlbWVudCBhdHRyaWJ1dGlvbnMgaW4gYSBuZXcgd2luZG93LjwvZGl2PgotPGEgdGFyZ2V0PSJf
YmxhbmsiIHJlbD0ib3BlbmVyIiBpZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9jb252ZXJ0QW5kUG9zdE1l
c3NhZ2VCYWNrLmh0bWwiIGF0dHJpYnV0aW9uc291cmNlaWQ9IjMiIGF0dHJpYnV0ZW9uPSJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiPkxpbms8L2E+PGJyPgorPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0i
b3BlbmVyIiBpZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZh
dGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9jb252ZXJ0QW5kUG9zdE1lc3NhZ2VCYWNrLmh0
bWwiIGF0dHJpYnV0aW9uc291cmNlaWQ9MyBhdHRyaWJ1dGlvbmRlc3RpbmF0aW9uPSJodHRwOi8v
bG9jYWxob3N0OjgwMDAiPkxpbms8L2E+PGJyPgogPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KIDxz
Y3JpcHQ+CiAgICAgcHJlcGFyZVRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJv
dWdoLWltYWdlLXJlZGlyZWN0LXdpdGgtcHJpb3JpdHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJv
dWdoLWltYWdlLXJlZGlyZWN0LXdpdGgtcHJpb3JpdHkuaHRtbAppbmRleCBmYTQwYTRhODlhMWQ1
NmE4YThhZjYxYzUyYmFkYzQ4MTM3ZDE1MzAzLi43MzU5YTdlMTk4MDBkYWQ0ZjViOGQ4YjQ5ODUx
MGY5NWZlNjRmMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVD
bGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRp
cmVjdC13aXRoLXByaW9yaXR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2Ut
cmVkaXJlY3Qtd2l0aC1wcmlvcml0eS5odG1sCkBAIC04LDcgKzgsNyBAQAogPC9oZWFkPgogPGJv
ZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJ1blRlc3QsIDApIj4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij5UZXN0cyB0cmlnZ2VyaW5nIG9mIHByaXZhdGUgY2xpY2sgbWVhc3VyZW1lbnQgYXR0cmlidXRp
b25zIHdpdGggcHJpb3JpdHkuPC9kaXY+Ci08YSBpZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZl
cnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13aXRoLXByaW9yaXR5Lmh0bWw/c3RlcFR3byIg
YXR0cmlidXRpb25zb3VyY2VpZD0iMyIgYXR0cmlidXRlb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCI+TGluazwvYT48YnI+Cis8YSBpZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhy
b3VnaC1pbWFnZS1yZWRpcmVjdC13aXRoLXByaW9yaXR5Lmh0bWw/c3RlcFR3byIgYXR0cmlidXRp
b25zb3VyY2VpZD0zIGF0dHJpYnV0aW9uZGVzdGluYXRpb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCI+TGluazwvYT48YnI+CiA8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgogPHNjcmlwdD4KICAgICBw
cmVwYXJlVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVk
aXJlY3Qtd2l0aG91dC1wcmlvcml0eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2Ut
cmVkaXJlY3Qtd2l0aG91dC1wcmlvcml0eS5odG1sCmluZGV4IDI1ZjA5ZmE1Nzk1NjY0MmUyOGQw
MTNjNTVjMWZjN2U5N2E4Y2QyODIuLjQ0ODc5ZGZlODY3Y2M5M2ZlNmY4NTcxMDYyYTEyYjUxYjlj
NDAwODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdp
dGhvdXQtcHJpb3JpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVD
bGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRp
cmVjdC13aXRob3V0LXByaW9yaXR5Lmh0bWwKQEAgLTgsNyArOCw3IEBACiA8L2hlYWQ+CiA8Ym9k
eSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwgMCkiPgogPGRpdiBpZD0iZGVzY3JpcHRpb24i
PlRlc3RzIHRyaWdnZXJpbmcgb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVudCBhdHRyaWJ1dGlv
bnMgd2l0aG91dCBwcmlvcml0eS48L2Rpdj4KLTxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29u
dmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdpdGhvdXQtcHJpb3JpdHkuaHRtbD9zdGVw
VHdvIiBhdHRyaWJ1dGlvbnNvdXJjZWlkPSIzIiBhdHRyaWJ1dGVvbj0iaHR0cDovL2xvY2FsaG9z
dDo4MDAwIj5MaW5rPC9hPjxicj4KKzxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRwOi8vbG9j
YWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lv
bi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdpdGhvdXQtcHJpb3JpdHkuaHRtbD9zdGVwVHdvIiBh
dHRyaWJ1dGlvbnNvdXJjZWlkPTMgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CiA8c2NyaXB0
PgogICAgIHByZXBhcmVUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2NsZWFyLXRocm91Z2gtd2Vic2l0ZS1kYXRhLXJlbW92
YWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
Y2xlYXItdGhyb3VnaC13ZWJzaXRlLWRhdGEtcmVtb3ZhbC5odG1sCmluZGV4IDk2NjAxNWY5NGRi
YzBlMGZhYjY5NTM2MjNlYzNhMDcwMmYwMjY1MGMuLmVjMGI3OTc0YmUzYTIzMDkyMTUwZjNlMjZm
NTBiNTAwYjE2ZTMxMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvY2xlYXItdGhyb3VnaC13ZWJzaXRlLWRhdGEtcmVtb3ZhbC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY2xl
YXItdGhyb3VnaC13ZWJzaXRlLWRhdGEtcmVtb3ZhbC5odG1sCkBAIC0xNSwxMyArMTUsMTMgQEAK
ICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gWwogICAgICAgICB7CiAgICAgICAgICAgICBocmVm
OiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIiArIHBhdGggKyAiP3N0ZXBUd28iLAotICAgICAgICAg
ICAgYXR0cmlidXRpb25zb3VyY2VpZDogIjMiLAotICAgICAgICAgICAgYXR0cmlidXRlb246ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAiCisgICAgICAgICAgICBhdHRyaWJ1dGlvbnNvdXJjZWlkOiAz
LAorICAgICAgICAgICAgYXR0cmlidXRpb25kZXN0aW5hdGlvbjogImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMCIKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAgaHJlZjogImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCIgKyBwYXRoICsgIj9zdGVwVGhyZWUiLAotICAgICAgICAgICAgYXR0cmli
dXRpb25zb3VyY2VpZDogIjQiLAotICAgICAgICAgICAgYXR0cmlidXRlb246ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAiCisgICAgICAgICAgICBhdHRyaWJ1dGlvbnNvdXJjZWlkOiA0LAorICAgICAg
ICAgICAgYXR0cmlidXRpb25kZXN0aW5hdGlvbjogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIKICAg
ICAgICAgfQogICAgIF07CiAKQEAgLTMxLDcgKzMxLDcgQEAKICAgICAgICAgbGV0IGxpbmtFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldExpbmsiKTsKICAgICAgICAgbGlu
a0VsZW1lbnQuc2V0QXR0cmlidXRlKCJocmVmIiwgY29uZmlndXJhdGlvbltpbmRleF0uaHJlZik7
CiAgICAgICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXR0cmlidXRpb25zb3VyY2VpZCIs
IGNvbmZpZ3VyYXRpb25baW5kZXhdLmF0dHJpYnV0aW9uc291cmNlaWQpOwotICAgICAgICBsaW5r
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZW9uIiwgY29uZmlndXJhdGlvbltpbmRleF0u
YXR0cmlidXRlb24pOworICAgICAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0
aW9uZGVzdGluYXRpb24iLCBjb25maWd1cmF0aW9uW2luZGV4XS5hdHRyaWJ1dGlvbmRlc3RpbmF0
aW9uKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2NvbnZlcnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29udmVyc2lvbi1kaXNh
YmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCmluZGV4IDA4NGVjMGVlZjY4MWVmZTYzYzY3
NGQ4YWIwMzZjNTdlOGEzZTMwMzQuLmI4M2RlNWExNDg3NmNhOWZmODQxZGQxYjVhMDUzNzk3MTg4
YzlhODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29udmVy
c2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCkBAIC04LDcgKzgsNyBAQAog
PC9oZWFkPgogPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJ1blRlc3QsIDApIj4KIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj5UZXN0cyB0aGF0IHN0b3JlZCBhdHRyaWJ1dGlvbnMgY2Fubm90IGJlIGNv
bnZlcnRlZCBpbiBhbiBlcGhlbWVyYWwgc2Vzc2lvbi48L2Rpdj4KLTxhIGlkPSJ0YXJnZXRMaW5r
IiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29u
dmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sP3N0ZXBUd28iIGF0dHJp
YnV0aW9uc291cmNlaWQ9IjMiIGF0dHJpYnV0ZW9uPSJodHRwOi8vbG9jYWxob3N0OjgwMDAiPkxp
bms8L2E+PGJyPgorPGEgaWQ9InRhcmdldExpbmsiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9jb252ZXJzaW9uLWRpc2FibGVkLWluLWVwaGVtZXJh
bC1zZXNzaW9uLmh0bWw/c3RlcFR3byIgYXR0cmlidXRpb25zb3VyY2VpZD0zIGF0dHJpYnV0aW9u
ZGVzdGluYXRpb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+TGluazwvYT48YnI+CiA8ZGl2IGlk
PSJvdXRwdXQiPjwvZGl2PgogPHNjcmlwdD4KICAgICBjb25zdCBjdXJyZW50VGltZU1pbGxpcyA9
IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYWQtY2xpY2stZ2V0cy1yZW1vdmVk
LW9uLXNlc3Npb24tc3RhcnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hZC1jbGljay1nZXRzLXJlbW92ZWQtb24tc2Vzc2lvbi1z
dGFydC5odG1sCmluZGV4IGJmODJlZDZjZWQwMDE1NmI0YjY5NmI4M2JiNDIwNWZjZWQ0NTNiMjMu
LmMzNWE4NGZjYTYxYTY3NGVjOGMzNTg2YTczZDc2N2Q0NGUzNTE4YjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hZC1j
bGljay1nZXRzLXJlbW92ZWQtb24tc2Vzc2lvbi1zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hZC1jbGljay1nZXRz
LXJlbW92ZWQtb24tc2Vzc2lvbi1zdGFydC5odG1sCkBAIC0xNSw4ICsxNSw4IEBACiAgICAgY29u
c3QgY29uZmlndXJhdGlvbiA9IFsKICAgICAgICAgewogICAgICAgICAgICAgaHJlZjogImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMCIgKyBwYXRoICsgIj9zdGVwVHdvIiwKLSAgICAgICAgICAgIGF0dHJp
YnV0aW9uc291cmNlaWQ6ICIzIiwKLSAgICAgICAgICAgIGF0dHJpYnV0ZW9uOiAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIgorICAgICAgICAgICAgYXR0cmlidXRpb25zb3VyY2VpZDogMywKKyAgICAg
ICAgICAgIGF0dHJpYnV0aW9uZGVzdGluYXRpb246ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiCiAg
ICAgICAgIH0KICAgICBdOwogCkBAIC0yNiw3ICsyNiw3IEBACiAgICAgICAgIGxldCBsaW5rRWxl
bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXRMaW5rIik7CiAgICAgICAgIGxp
bmtFbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsIGNvbmZpZ3VyYXRpb25baW5kZXhdLmhyZWYp
OwogICAgICAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0aW9uc291cmNlaWQi
LCBjb25maWd1cmF0aW9uW2luZGV4XS5hdHRyaWJ1dGlvbnNvdXJjZWlkKTsKLSAgICAgICAgbGlu
a0VsZW1lbnQuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVvbiIsIGNvbmZpZ3VyYXRpb25baW5kZXhd
LmF0dHJpYnV0ZW9uKTsKKyAgICAgICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKCJhdHRyaWJ1
dGlvbmRlc3RpbmF0aW9uIiwgY29uZmlndXJhdGlvbltpbmRleF0uYXR0cmlidXRpb25kZXN0aW5h
dGlvbik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1lbnRJRCkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFy
dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9l
eHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5odG1s
CmluZGV4IGQ2YWNiYTRjNzlhMzk3NzU5MTQzMzhjMmIxOWRiNDA3OWUyZDhhYmUuLjZmMWI2NThm
ZWRkMzljZjJkZmQ0ZmM0ODM1ZGQ1MTAyODZlNjAwZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1y
ZXBvcnQtZ2V0cy1zZW50LW9uLXNlc3Npb24tc3RhcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVw
b3J0LWdldHMtc2VudC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwKQEAgLTgsNyArOCw3IEBACiA8L2hl
YWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwgMCkiPgogPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPlRlc3RzIHNlbmRpbmcgb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVudCByZXF1
ZXN0cyBhZnRlciBhbiBhdHRyaWJ1dGlvbiBoYXBwZW5zIGltbWVkaWF0ZWx5IGZvciByZXBvcnRz
IHdoaWNoIGhhdmUgZXhwaXJlZCB3aGVuIGEgc2Vzc2lvbiBpcyBjbG9zZWQuPC9kaXY+Ci08YSBp
ZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMtc2VudC1vbi1zZXNzaW9u
LXN0YXJ0Lmh0bWw/c3RlcFR3byIgYXR0cmlidXRpb25zb3VyY2VpZD0iMyIgYXR0cmlidXRlb249
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+TGluazwvYT48YnI+Cis8YSBpZD0idGFyZ2V0TGluayIg
aHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGly
ZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMtc2VudC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWw/c3Rl
cFR3byIgYXR0cmlidXRpb25zb3VyY2VpZD0iMyIgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0
cDovL2xvY2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+
CiA8c2NyaXB0PgogICAgIGNvbnN0IGN1cnJlbnRUaW1lTWlsbGlzID0gKG5ldyBEYXRlKCkpLmdl
dFRpbWUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbnMtcmVtb3ZlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWF0dHJpYnV0aW9u
cy1yZW1vdmVkLmh0bWwKaW5kZXggM2ZiZmY2ZWExZWJmMWQ4YjI0OWIzOGFkNTE4NmI4MmU1MTI5
YjkxYy4uZjZlNDYyNWY0YzA3Y2QzNThhYjBmYmMxMTA3NmQ2Y2ZhZjcyNGNkZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVk
LWF0dHJpYnV0aW9ucy1yZW1vdmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWF0dHJpYnV0aW9ucy1yZW1vdmVkLmh0bWwK
QEAgLTgsNyArOCw3IEBACiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVz
dCwgMCkiPgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPlRlc3RzIGV4cGlyYXRpb24gb2YgcHJpdmF0
ZSBjbGljayBtZWFzdXJlbWVudC48L2Rpdj4KLTxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1
dGlvbnMtcmVtb3ZlZC5odG1sP3N0ZXBUd28iIGF0dHJpYnV0aW9uc291cmNlaWQ9IjMiIGF0dHJp
YnV0ZW9uPSJodHRwOi8vbG9jYWxob3N0OjgwMDAiPkxpbms8L2E+PGJyPgorPGEgaWQ9InRhcmdl
dExpbmsiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9leHBpcmVkLWF0dHJpYnV0aW9ucy1yZW1vdmVkLmh0bWw/c3RlcFR3byIgYXR0cmlidXRpb25z
b3VyY2VpZD0zIGF0dHJpYnV0aW9uZGVzdGluYXRpb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+
TGluazwvYT48YnI+CiA8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgogPHNjcmlwdD4KICAgICBwcmVw
YXJlVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9zZWNvbmQtYXR0cmlidXRpb24tY29udmVydGVkLXdpdGgtaGlnaGVyLXBy
aW9yaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHkuaHRt
bAppbmRleCBmMGI4YjM1MjZjM2UyYTYwYjA2YzNjODdjODNkYTY1YzFkMzNmOGQwLi4wZjM5MmMx
MTE0NWYwZjk3NDQ0ZWQwMDQ5MmNkM2RjMGJmYTQzNGI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1j
b252ZXJ0ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0
ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHkuaHRtbApAQCAtMTUsMTMgKzE1LDEzIEBACiAgICAgY29u
c3QgY29uZmlndXJhdGlvbiA9IFsKICAgICAgICAgewogICAgICAgICAgICAgaHJlZjogImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMCIgKyBwYXRoICsgIj9zdGVwVHdvIiwKLSAgICAgICAgICAgIGF0dHJp
YnV0aW9uc291cmNlaWQ6ICIzIiwKLSAgICAgICAgICAgIGF0dHJpYnV0ZW9uOiAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIgorICAgICAgICAgICAgYXR0cmlidXRpb25zb3VyY2VpZDogMywKKyAgICAg
ICAgICAgIGF0dHJpYnV0aW9uZGVzdGluYXRpb246ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiCiAg
ICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgIGhyZWY6ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiICsgcGF0aCArICI/c3RlcEZvdXIiLAotICAgICAgICAgICAgYXR0cmlidXRpb25zb3Vy
Y2VpZDogIjQiLAotICAgICAgICAgICAgYXR0cmlidXRlb246ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiCisgICAgICAgICAgICBhdHRyaWJ1dGlvbnNvdXJjZWlkOiA0LAorICAgICAgICAgICAgYXR0
cmlidXRpb25kZXN0aW5hdGlvbjogImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIKICAgICAgICAgfQog
ICAgIF07CiAKQEAgLTMxLDcgKzMxLDcgQEAKICAgICAgICAgbGV0IGxpbmtFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldExpbmsiKTsKICAgICAgICAgbGlua0VsZW1lbnQu
c2V0QXR0cmlidXRlKCJocmVmIiwgY29uZmlndXJhdGlvbltpbmRleF0uaHJlZik7CiAgICAgICAg
IGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXR0cmlidXRpb25zb3VyY2VpZCIsIGNvbmZpZ3Vy
YXRpb25baW5kZXhdLmF0dHJpYnV0aW9uc291cmNlaWQpOwotICAgICAgICBsaW5rRWxlbWVudC5z
ZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZW9uIiwgY29uZmlndXJhdGlvbltpbmRleF0uYXR0cmlidXRl
b24pOworICAgICAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0aW9uZGVzdGlu
YXRpb24iLCBjb25maWd1cmF0aW9uW2luZGV4XS5hdHRyaWJ1dGlvbmRlc3RpbmF0aW9uKTsKICAg
ICB9CiAKICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29u
ZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1sb3dlci1wcmlvcml0eS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtYXR0cmlidXRp
b24tY29udmVydGVkLXdpdGgtbG93ZXItcHJpb3JpdHkuaHRtbAppbmRleCA2ZTczNDY0YWI2YzQz
MmIzMGFjYjAxODAxNzY0ZDc5NDg1NDlhODM4Li4xYzFmNGE1ZWUwM2I3YjM1YzM2MWE4MDlhOTAz
ZGU5NzQxYTBhMThhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVD
bGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1sb3dlci1w
cmlvcml0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNvbnZlcnRlZC13aXRoLWxvd2VyLXByaW9yaXR5
Lmh0bWwKQEAgLTE1LDEzICsxNSwxMyBAQAogICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBbCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGhyZWY6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiICsgcGF0
aCArICI/c3RlcFR3byIsCi0gICAgICAgICAgICBhdHRyaWJ1dGlvbnNvdXJjZWlkOiAiMyIsCi0g
ICAgICAgICAgICBhdHRyaWJ1dGVvbjogImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIKKyAgICAgICAg
ICAgIGF0dHJpYnV0aW9uc291cmNlaWQ6IDMsCisgICAgICAgICAgICBhdHRyaWJ1dGlvbmRlc3Rp
bmF0aW9uOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIgogICAgICAgICB9LAogICAgICAgICB7CiAg
ICAgICAgICAgICBocmVmOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIiArIHBhdGggKyAiP3N0ZXBG
b3VyIiwKLSAgICAgICAgICAgIGF0dHJpYnV0aW9uc291cmNlaWQ6ICI0IiwKLSAgICAgICAgICAg
IGF0dHJpYnV0ZW9uOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIgorICAgICAgICAgICAgYXR0cmli
dXRpb25zb3VyY2VpZDogNCwKKyAgICAgICAgICAgIGF0dHJpYnV0aW9uZGVzdGluYXRpb246ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAiCiAgICAgICAgIH0KICAgICBdOwogCkBAIC0zMSw3ICszMSw3
IEBACiAgICAgICAgIGxldCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXRMaW5rIik7CiAgICAgICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsIGNv
bmZpZ3VyYXRpb25baW5kZXhdLmhyZWYpOwogICAgICAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1
dGUoImF0dHJpYnV0aW9uc291cmNlaWQiLCBjb25maWd1cmF0aW9uW2luZGV4XS5hdHRyaWJ1dGlv
bnNvdXJjZWlkKTsKLSAgICAgICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVv
biIsIGNvbmZpZ3VyYXRpb25baW5kZXhdLmF0dHJpYnV0ZW9uKTsKKyAgICAgICAgbGlua0VsZW1l
bnQuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGlvbmRlc3RpbmF0aW9uIiwgY29uZmlndXJhdGlvbltp
bmRleF0uYXR0cmlidXRpb25kZXN0aW5hdGlvbik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gYWN0
aXZhdGVFbGVtZW50KGVsZW1lbnRJRCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtY29udmVyc2lvbi13aXRoLWhpZ2hl
ci1wcmlvcml0eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9zZWNvbmQtY29udmVyc2lvbi13aXRoLWhpZ2hlci1wcmlvcml0eS5odG1sCmluZGV4
IDI4ZmIxN2VmMWJhYWE5YmU5NjEyNjVhZjg0YzUzNmUyNGY1OTkwNGMuLmQ0ZTM4ZTNhMGJmOTY5
NDczZTljZDYxMWE5NzVkMGU4MWY4OWU5YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1oaWdo
ZXItcHJpb3JpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtaGlnaGVyLXByaW9yaXR5Lmh0bWwK
QEAgLTE1LDggKzE1LDggQEAKICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gWwogICAgICAgICB7
CiAgICAgICAgICAgICBocmVmOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIiArIHBhdGggKyAiP3N0
ZXBUd28iLAotICAgICAgICAgICAgYXR0cmlidXRpb25zb3VyY2VpZDogIjMiLAotICAgICAgICAg
ICAgYXR0cmlidXRlb246ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiCisgICAgICAgICAgICBhdHRy
aWJ1dGlvbnNvdXJjZWlkOiAzLAorICAgICAgICAgICAgYXR0cmlidXRpb25kZXN0aW5hdGlvbjog
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIKICAgICAgICAgfQogICAgIF07CiAKQEAgLTI2LDcgKzI2
LDcgQEAKICAgICAgICAgbGV0IGxpbmtFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldExpbmsiKTsKICAgICAgICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKCJocmVmIiwg
Y29uZmlndXJhdGlvbltpbmRleF0uaHJlZik7CiAgICAgICAgIGxpbmtFbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXR0cmlidXRpb25zb3VyY2VpZCIsIGNvbmZpZ3VyYXRpb25baW5kZXhdLmF0dHJpYnV0
aW9uc291cmNlaWQpOwotICAgICAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0
ZW9uIiwgY29uZmlndXJhdGlvbltpbmRleF0uYXR0cmlidXRlb24pOworICAgICAgICBsaW5rRWxl
bWVudC5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0aW9uZGVzdGluYXRpb24iLCBjb25maWd1cmF0aW9u
W2luZGV4XS5hdHRyaWJ1dGlvbmRlc3RpbmF0aW9uKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBh
Y3RpdmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtbG93
ZXItcHJpb3JpdHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1sb3dlci1wcmlvcml0eS5odG1sCmluZGV4
IDc0OTZmMTcwZTFkZGI1OWQ5YzkzNjczYmZiZDc3MzQ5YzlkOTYwNTUuLmMxNTc1YmUwZGQ3NzZk
YmM3OGNjOThmNjdhYjhmMDI0ODQwZDgxZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1sb3dl
ci1wcmlvcml0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1sb3dlci1wcmlvcml0eS5odG1sCkBA
IC0xNSw4ICsxNSw4IEBACiAgICAgY29uc3QgY29uZmlndXJhdGlvbiA9IFsKICAgICAgICAgewog
ICAgICAgICAgICAgaHJlZjogImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIgKyBwYXRoICsgIj9zdGVw
VHdvIiwKLSAgICAgICAgICAgIGF0dHJpYnV0aW9uc291cmNlaWQ6ICIzIiwKLSAgICAgICAgICAg
IGF0dHJpYnV0ZW9uOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIgorICAgICAgICAgICAgYXR0cmli
dXRpb25zb3VyY2VpZDogMywKKyAgICAgICAgICAgIGF0dHJpYnV0aW9uZGVzdGluYXRpb246ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAiCiAgICAgICAgIH0KICAgICBdOwogCkBAIC0yNiw3ICsyNiw3
IEBACiAgICAgICAgIGxldCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXRMaW5rIik7CiAgICAgICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZSgiaHJlZiIsIGNv
bmZpZ3VyYXRpb25baW5kZXhdLmhyZWYpOwogICAgICAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1
dGUoImF0dHJpYnV0aW9uc291cmNlaWQiLCBjb25maWd1cmF0aW9uW2luZGV4XS5hdHRyaWJ1dGlv
bnNvdXJjZWlkKTsKLSAgICAgICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVv
biIsIGNvbmZpZ3VyYXRpb25baW5kZXhdLmF0dHJpYnV0ZW9uKTsKKyAgICAgICAgbGlua0VsZW1l
bnQuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGlvbmRlc3RpbmF0aW9uIiwgY29uZmlndXJhdGlvbltp
bmRleF0uYXR0cmlidXRpb25kZXN0aW5hdGlvbik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gYWN0
aXZhdGVFbGVtZW50KGVsZW1lbnRJRCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24t
cmVxdWVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24tcmVxdWVzdC5odG1sCmluZGV4IDRlYjAz
ZGUzZDIwYmI3YzcyOTQyZTJlMjI0YjA2YzI2ZWFkMzVmMDEuLmJjYjQxYjJjYWIxNDJhMWY0MjI0
MGZiNDU0MzM4MjhlYzgwYjBlYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVl
c3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3NlbmQtYXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0bWwKQEAgLTgsNyArOCw3
IEBACiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwgMCkiPgogPGRp
diBpZD0iZGVzY3JpcHRpb24iPlRlc3RzIHNlbmRpbmcgb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJl
bWVudCByZXF1ZXN0cyBhZnRlciBhbiBhdHRyaWJ1dGlvbi4gQWxzbyB0ZXN0cyB0aGF0IGNvb2tp
ZXMgYXJlIG5vdCBzZW50IGluIHRob3NlIHJlcXVlc3RzIGFuZCBjb29raWVzIGFyZSBub3QgYWNj
ZXB0ZWQgaW4gdGhlIHJlc3BvbnNlcy48L2Rpdj4KLTxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1
dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbD9zdGVwVHdvIiBhdHRyaWJ1dGlvbnNvdXJjZWlk
PSIzIiBhdHRyaWJ1dGVvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KKzxh
IGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbD9zdGVw
VHdvIiBhdHRyaWJ1dGlvbnNvdXJjZWlkPTMgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0cDov
L2xvY2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CiA8
c2NyaXB0PgogICAgIGNvbnN0IGN1cnJlbnRUaW1lTWlsbGlzID0gKG5ldyBEYXRlKCkpLmdldFRp
bWUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvc3RvcmUtZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc3RvcmUtZGlzYWJsZWQt
aW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbAppbmRleCBkN2ZhN2YxOTcxNTFiNDM2Y2FkZWNjYjRh
MTVkOTE1ZTc3NmI2MTVlLi40NGM5NTYxMDYyNWMxMzA0NDM0MzIzN2U1MDRiMTkyNDljMTUwNTUw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1kaXNhYmxlZC1p
bi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCkBAIC05LDcgKzksNyBAQAogPC9oZWFkPgogPGJvZHkg
b25sb2FkPSJzZXRUaW1lb3V0KHJ1blRlc3QsIDApIj4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5U
ZXN0cyB0aGF0IHN0b3JhZ2Ugb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVudCBpcyBkaXNhYmxl
ZCBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMuPC9kaXY+Ci08YSBpZD0idGFyZ2V0TGluayIgaHJlZj0i
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3N0b3JlLWRpc2Fi
bGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWw/c3RlcFR3byIgYXR0cmlidXRpb25zb3VyY2Vp
ZD0iMyIgYXR0cmlidXRlb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+TGluazwvYT48YnI+Cis8
YSBpZD0idGFyZ2V0TGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWw/c3Rl
cFR3byIgYXR0cmlidXRpb25zb3VyY2VpZD0iMyIgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0
cDovL2xvY2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+
CiA8c2NyaXB0PgogICAgIHByZXBhcmVUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVh
c3VyZW1lbnQtd2l0aC1zb3VyY2Utbm9uY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC13
aXRoLXNvdXJjZS1ub25jZS5odG1sCmluZGV4IGRiMGY2Y2QxYTI1YTcxM2NhOTk3NjRhM2FhNDg0
MDM3ZDgwZTAyZjQuLjM4NjBhY2ZjOGE0MzhjNWFhOWFjOWQ3YTE5ZmZhOGI3MGU5ZDQ3YjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
c3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC13aXRoLXNvdXJjZS1ub25jZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc3RvcmUt
cHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC13aXRoLXNvdXJjZS1ub25jZS5odG1sCkBAIC04LDcg
KzgsNyBAQAogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJ1blRlc3QsIDApIj4K
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0cyB0aGF0IHRoZSBwcmVzZW5jZSBvZiBhIHNvdXJj
ZSBub25jZSB0cmlnZ2VycyBhIHRva2VuIHNpZ25pbmcgcmVxdWVzdC48L2Rpdj4KLTxhIGlkPSJ0
YXJnZXRMaW5rIiBhdHRyaWJ1dGlvbnNvdXJjZWlkPSIzIiBhdHRyaWJ1dGVvbj0iaHR0cDovL2xv
Y2FsaG9zdDo4MDAwIiBhdHRyaWJ1dGlvbnNvdXJjZW5vbmNlPSJBQkNERUZhYmNkZWYwMTIzNDU2
Nzg5Ij5MaW5rPC9hPjxicj4KKzxhIGlkPSJ0YXJnZXRMaW5rIiBhdHRyaWJ1dGlvbnNvdXJjZWlk
PTMgYXR0cmlidXRpb25kZXN0aW5hdGlvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwIiBhdHRyaWJ1
dGlvbnNvdXJjZW5vbmNlPSJBQkNERUZhYmNkZWYwMTIzNDU2Nzg5Ij5MaW5rPC9hPjxicj4KIDxk
aXYgaWQ9Im91dHB1dCI+PC9kaXY+CiA8c2NyaXB0PgogICAgIGNvbnN0IGN1cnJlbnRUaW1lTWls
bGlzID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFz
dXJlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50Lmh0bWwKaW5kZXggMTI1ODYyYTU0
ZDQwYmJjYTJhMDJjMmMxNGEyYjdlYTc1NWQyMWIzZS4uNWYzOWU3MzkxMGNjNDRmN2M5ZmUzNjg1
ZjU0ODdhN2I5YzRkZTE2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9y
ZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50Lmh0bWwKQEAgLTgsNyArOCw3IEBACiA8L2hlYWQ+
CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwgMCkiPgogPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPlRlc3RzIHN0b3JhZ2Ugb2YgcHJpdmF0ZSBjbGljayBtZWFzdXJlbWVudC48L2Rpdj4K
LTxhIGlkPSJ0YXJnZXRMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5odG1sP3N0ZXBU
d28iIGF0dHJpYnV0aW9uc291cmNlaWQ9IjMiIGF0dHJpYnV0ZW9uPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAiPkxpbms8L2E+PGJyPgorPGEgaWQ9InRhcmdldExpbmsiIGhyZWY9Imh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1l
YXN1cmVtZW50Lmh0bWw/c3RlcFR3byIgYXR0cmlidXRpb25zb3VyY2VpZD0zIGF0dHJpYnV0aW9u
ZGVzdGluYXRpb249Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+TGluazwvYT48YnI+CiA8ZGl2IGlk
PSJvdXRwdXQiPjwvZGl2PgogPHNjcmlwdD4KICAgICBwcmVwYXJlVGVzdCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>