<?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>227815</bug_id>
          
          <creation_ts>2021-07-08 14:19:46 -0700</creation_ts>
          <short_desc>Implement IDBTransaction.commit()</short_desc>
          <delta_ts>2021-07-19 16:10:00 -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>WebCore 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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1775803</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-08 14:19:46 -0700</bug_when>
    <thetext>Missing support for IDBTransaction.commit():
- https://www.w3.org/TR/IndexedDB/#dom-idbtransaction-commit

Both Gecko and Blink support it so this is a compatibility risk.

This is causing some WPT tests to fail in WebKit only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775806</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-08 14:20:49 -0700</bug_when>
    <thetext>If someone more knowledgeable with IDB could implement this, that&apos;d be great. If no-one implements it, I&apos;ll probably look into it eventually but it will likely take me some time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777335</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-15 14:20:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/80651270&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777450</commentid>
    <comment_count>3</comment_count>
      <attachid>433661</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-16 00:03:30 -0700</bug_when>
    <thetext>Created attachment 433661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777523</commentid>
    <comment_count>4</comment_count>
      <attachid>433681</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-16 09:53:00 -0700</bug_when>
    <thetext>Created attachment 433681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777552</commentid>
    <comment_count>5</comment_count>
      <attachid>433689</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-16 12:00:11 -0700</bug_when>
    <thetext>Created attachment 433689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777882</commentid>
    <comment_count>6</comment_count>
      <attachid>433689</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-19 09:30:36 -0700</bug_when>
    <thetext>Comment on attachment 433689
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBRequest.cpp:299
&gt; +    m_dispatchingEvent = &amp;event;

We should rename the data member now that it is no longer a boolean, maybe m_eventBeingDispatched.

&gt; Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:487
&gt; +    for (auto request : m_openRequests) {

auto&amp; to avoid ref counting churn.

Could also be written as (if you prefer):
auto pendingRequestCount = std::count_if(m_openRequests.begin(), m_openRequests.end(), [](auto&amp; request) { return !request-&gt;isDone(); });

&gt; Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:492
&gt; +    scheduleOperation(IDBClient::TransactionOperationImpl::create(*this, nullptr, [protectedThis = makeRef(*this), pendingRequestCount] (auto&amp; operation) {

makeRef() is deprecated. `protectedThis = Ref { *this }` is shorter with C++17.

&gt; LayoutTests/imported/w3c/ChangeLog:11
&gt; +        * web-platform-tests/IndexedDB/idb-explicit-commit.any-expected.txt:

The change log should probably explain why the test is timing out and why we think that&apos;s OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777939</commentid>
    <comment_count>7</comment_count>
      <attachid>433810</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-19 12:26:35 -0700</bug_when>
    <thetext>Created attachment 433810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777940</commentid>
    <comment_count>8</comment_count>
      <attachid>433811</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-19 12:29:17 -0700</bug_when>
    <thetext>Created attachment 433811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777954</commentid>
    <comment_count>9</comment_count>
      <attachid>433811</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-19 12:57:17 -0700</bug_when>
    <thetext>Comment on attachment 433811
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idb-explicit-commit.any-expected.txt:13
&gt; +TIMEOUT Transactions with same scope should stay in program order, even if one calls commit. Test timed out

Is there a good explanation why this is happening, or do we know what it would take to fix it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777955</commentid>
    <comment_count>10</comment_count>
      <attachid>433811</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-19 12:58:26 -0700</bug_when>
    <thetext>Comment on attachment 433811
Patch

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

&gt; LayoutTests/imported/w3c/ChangeLog:11
&gt; +        * web-platform-tests/IndexedDB/idb-explicit-commit.any-expected.txt: Some test is timed out as our backend does

Alex: I asked Sihui to add an explanation about this in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777984</commentid>
    <comment_count>11</comment_count>
      <attachid>433811</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-19 13:49:53 -0700</bug_when>
    <thetext>Comment on attachment 433811
Patch

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

&gt;&gt; LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idb-explicit-commit.any-expected.txt:13
&gt;&gt; +TIMEOUT Transactions with same scope should stay in program order, even if one calls commit. Test timed out
&gt; 
&gt; Is there a good explanation why this is happening, or do we know what it would take to fix it?

Yes, the test expects a later transaction to finish and fire events to end the first transactions. We don&apos;t support running multiple simultaneous transactions so the later transaction will be blocked.

We would have passed the next two NOTRUN tests, but the test is timed out here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777989</commentid>
    <comment_count>12</comment_count>
      <attachid>433811</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-07-19 13:55:21 -0700</bug_when>
    <thetext>Comment on attachment 433811
Patch

Seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777991</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2021-07-19 13:55:42 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #12)
&gt; Comment on attachment 433811 [details]
&gt; Patch
&gt; 
&gt; Seems fine.

(With other previous feedback)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778037</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-19 16:09:58 -0700</bug_when>
    <thetext>Committed r280053 (239788@main): &lt;https://commits.webkit.org/239788@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433811.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433661</attachid>
            <date>2021-07-16 00:03:30 -0700</date>
            <delta_ts>2021-07-16 09:52:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227815-20210716000329.patch</filename>
            <type>text/plain</type>
            <size>57799</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljMmIyNWVlNmE3YzNh
ZmE2NTZlNzc2MDNmY2YxZjIyNjQ5OWFhNC4uMzZmMGNlYjdiMTEwZDkwNjUzNGU5MjgxOWRkOTUy
YjE4ODc4MDFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIxLTA3LTE2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBJREJUcmFu
c2FjdGlvbi5jb21taXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3ODE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDY1MTI3MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGV4aXN0
aW5nIHdwdCB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkaWRTdGFydFRyYW5zYWN0aW9u
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQlJlcXVlc3Q6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SURCUmVxdWVzdDo6d2lsbEFib3J0VHJhbnNhY3Rpb25BZnRlckRpc3BhdGNoaW5nRXZlbnQgY29u
c3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbjo6YWJvcnREdWVUb0ZhaWxlZFJlcXVlc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjphYm9ydEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpoYW5kbGVPcGVyYXRp
b25zQ29tcGxldGVkT25TZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OmNvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y29tbWl0SW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbW1pdE9uU2VydmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpkaWRDb21taXQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9wZXJhdGlvbkNvbXBsZXRlZE9uQ2xpZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphdXRvQ29tbWl0KToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uOjppbnRlcm5hbEFib3J0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5Ojpjb21taXRUcmFuc2FjdGlvbik6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRy
YW5zYWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblRvU2VydmVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL0lEQlNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNl
cnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2
ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVj
dFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VU
cmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2Vy
dmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246
OmNsZWFyT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZUluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
cmVuYW1lSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6
OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldFJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldEFsbFJlY29y
ZHMpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uOjpnZXRDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZVJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246Om9wZW5DdXJzb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpp
dGVyYXRlQ3Vyc29yKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVl
SURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMu
Y3BwOgorCiAyMDIxLTA3LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgPjRLIFJlZmVyZXIgc2hvdWxkIGhhdmUgdGFpbGluZyAvCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDZhNzU1N2M4ZDRlNDY5NzE3OTFkNWRkYWNkNzhjNGQxYzQ4ODY1ODMuLjE1ZTE3MDdi
MDRlNzQ4ZTRkYjNjYWYxNjk5Yzg0MDQwZDI1M2U5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMjEtMDctMTYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW1wbGVtZW50IElEQlRyYW5zYWN0aW9uLmNvbW1pdCgpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzgwNjUxMjcwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQlNlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRy
YW5zYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2Vi
SURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisKIDIwMjEtMDctMTMgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNzkwNjkp
OiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Rvby1sb25nLXBheWxvYWQuaHRtbCBp
cyBhIGNvbnN0YW50IHRpbWVvdXQgd2hlbiB1c2luZyBOU1VSTFNFU1NJT05fV0VCU09DS0VUCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvQ2hhbmdlTG9nCmluZGV4IDYyM2U3YjY1YmIyNzZmMjE5YWU3NzM2MmNmOGZkMmU0YTUy
MzUwYzIuLjY4ZjUyZjhiN2ZlMmZlNTI4NTM0Y2U0ZmZmNjg5MTM5ZmI3YjRjODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDctMTYgIFNpaHVpIExpdSAgPHNp
aHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IElEQlRyYW5zYWN0aW9uLmNv
bW1pdCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Mjc4MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNjUxMjcwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU3RvcmFnZS9JblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwOgorICAgICAgICAoSW5Qcm9jZXNzSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlv
bik6CisgICAgICAgICogU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuaDoKKwogMjAyMS0wNi0y
MSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIEluUHJv
Y2Vzc0lEQlNlcnZlciB1c2UgV29ya1F1ZXVlIGluc3RlYWQgb2YgVGhyZWFkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKaW5kZXggOGZlZjc5
ZTFjNDE1NTFiM2RlYTljZTFmOThiNjczYjY3ZWQ2NjU1NS4uYTRiZDU0MjI0N2VjY2MxNmIyNjdi
MjI3OTg2M2E5ZjM1NGUxM2EwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlLmNwcApAQCAtMzU2LDggKzM1Niw5IEBAIHZvaWQgSURCRGF0YWJh
c2U6OmRpZFN0YXJ0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogICAg
IEFTU0VSVCghbV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24pOwogICAgIEFTU0VSVChjYW5DdXJy
ZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxEYXRhKG9yaWdpblRocmVhZCgpKSk7CiAKLSAgICAv
LyBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIGNsaWVudCB0byBoYXZlIGFib3J0ZWQgYSB0cmFuc2Fj
dGlvbiBiZWZvcmUgdGhlIHNlcnZlciByZXBsaWVzIGJhY2sgdGhhdCBpdCBoYXMgc3RhcnRlZC4K
LSAgICBpZiAobV9hYm9ydGluZ1RyYW5zYWN0aW9ucy5jb250YWlucyh0cmFuc2FjdGlvbi5pbmZv
KCkuaWRlbnRpZmllcigpKSkKKyAgICAvLyBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIGNsaWVudCB0
byBoYXZlIGFib3J0ZWQgb3IgY29tbWl0dGVkIGEgdHJhbnNhY3Rpb24KKyAgICAvLyBiZWZvcmUg
dGhlIHNlcnZlciByZXBsaWVzIGJhY2sgdGhhdCBpdCBoYXMgc3RhcnRlZC4KKyAgICBpZiAobV9h
Ym9ydGluZ1RyYW5zYWN0aW9ucy5jb250YWlucyh0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmll
cigpKSB8fCBtX2NvbW1pdHRpbmdUcmFuc2FjdGlvbnMuY29udGFpbnModHJhbnNhY3Rpb24uaW5m
bygpLmlkZW50aWZpZXIoKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fYWN0aXZlVHJhbnNh
Y3Rpb25zLnNldCh0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigpLCAmdHJhbnNhY3Rpb24p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcApp
bmRleCA3OGVjM2Y5NjU4NjRhYjRhZWQ3MmE5NjY1YjFjODdlOTQ3MDNmOWRiLi4zN2Q5YTZhNDkz
ZGYxODhhODYzZjU5MmFmNTdmYjZjNjA0YjYzY2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcApAQCAtMjk2LDcgKzI5Niw3IEBAIHZvaWQg
SURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpCiAgICAgQVNTRVJUKCFpc0Nv
bnRleHRTdG9wcGVkKCkpOwogCiAgICAgYXV0byBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyk7Ci0gICAgbV9kaXNwYXRjaGluZ0V2ZW50ID0gdHJ1ZTsKKyAgICBtX2Rpc3BhdGNoaW5nRXZl
bnQgPSAmZXZlbnQ7CiAKICAgICBpZiAoZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5ibG9j
a2VkRXZlbnQpCiAgICAgICAgIG1fcmVhZHlTdGF0ZSA9IFJlYWR5U3RhdGU6OkRvbmU7CkBAIC0z
MjAsNyArMzIwLDcgQEAgdm9pZCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVu
dCkKICAgICBpZiAoIW1faGFzUGVuZGluZ0FjdGl2aXR5KQogICAgICAgICBtX2hhc1BlbmRpbmdB
Y3Rpdml0eSA9IGlzT3BlbkRCUmVxdWVzdCgpICYmIChldmVudC50eXBlKCkgPT0gZXZlbnROYW1l
cygpLnVwZ3JhZGVuZWVkZWRFdmVudCB8fCBldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygpLmJs
b2NrZWRFdmVudCk7CiAKLSAgICBtX2Rpc3BhdGNoaW5nRXZlbnQgPSBmYWxzZTsKKyAgICBtX2Rp
c3BhdGNoaW5nRXZlbnQgPSBudWxscHRyOwogICAgIGlmICghbV90cmFuc2FjdGlvbikKICAgICAg
ICAgcmV0dXJuOwogCkBAIC01NjcsNSArNTY3LDE1IEBAIHZvaWQgSURCUmVxdWVzdDo6Y2xlYXJX
cmFwcGVycygpCiAgICAgKTsKIH0KIAorYm9vbCBJREJSZXF1ZXN0Ojp3aWxsQWJvcnRUcmFuc2Fj
dGlvbkFmdGVyRGlzcGF0Y2hpbmdFdmVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Rpc3BhdGNo
aW5nRXZlbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChtX2hhc1VuY2F1Z2h0
RXhjZXB0aW9uKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiAhbV9kaXNwYXRj
aGluZ0V2ZW50LT5kZWZhdWx0UHJldmVudGVkKCkgJiYgbV9kaXNwYXRjaGluZ0V2ZW50LT50eXBl
KCkgPT0gZXZlbnROYW1lcygpLmVycm9yRXZlbnQ7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVl
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAppbmRl
eCAzMWVjNjkyNDlmMmMwNzE4YWRkZjZlY2YwZjM4N2FkYTMyOGQ3NGI2Li41OTFmNDhkNzIyOWNh
YmY0MzZiYTJiYzliNjkyYTQ0ZDFiYjEwYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCkBAIC0xMjUsNiArMTI1LDcgQEAgcHVibGljOgogICAg
IEluZGV4ZWREQjo6UmVxdWVzdFR5cGUgcmVxdWVzdFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Jl
cXVlc3RUeXBlOyB9CiAKICAgICB2b2lkIHNldFRyYW5zYWN0aW9uT3BlcmF0aW9uSUQodWludDY0
X3QgdHJhbnNhY3Rpb25PcGVyYXRpb25JRCkgeyBtX2N1cnJlbnRUcmFuc2FjdGlvbk9wZXJhdGlv
bklEID0gdHJhbnNhY3Rpb25PcGVyYXRpb25JRDsgfQorICAgIGJvb2wgd2lsbEFib3J0VHJhbnNh
Y3Rpb25BZnRlckRpc3BhdGNoaW5nRXZlbnQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIElE
QlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5JiwgSW5kZXhlZERCOjpSZXF1ZXN0VHlwZSk7CkBAIC0xOTcsOCArMTk4LDggQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgbV9zaG91bGRFeHBvc2VUcmFuc2FjdGlvblRvRE9NIHsgdHJ1ZSB9
OwogICAgIGJvb2wgbV9oYXNQZW5kaW5nQWN0aXZpdHkgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2Rp
c3BhdGNoaW5nRXZlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNVbmNhdWdodEV4Y2VwdGlv
biB7IGZhbHNlIH07CisgICAgUmVmUHRyPEV2ZW50PiBtX2Rpc3BhdGNoaW5nRXZlbnQ7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKaW5kZXggZTZjYTUyN2Q4ZGVlY2FiYjRmYWYz
NjQ5NmM5YTRkMGE4ZmVlZWRhZS4uMjZiZWJkZmZhOTQ0ZmEwN2UxMmJjN2MyMTRkNDQ2MTU2MDRh
ZWZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmNwcApAQCAtMTkyLDcgKzE5Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmFi
b3J0RHVlVG9GYWlsZWRSZXF1ZXN0KERPTUV4Y2VwdGlvbiYgZXJyb3IpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fZG9tRXJyb3IgPSAmZXJyb3I7Ci0gICAgaW50ZXJuYWxBYm9ydCgpOworICAg
IGFib3J0SW50ZXJuYWwoKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6dHJhbnNpdGlvbmVk
VG9GaW5pc2hpbmcoSW5kZXhlZERCOjpUcmFuc2FjdGlvblN0YXRlIHN0YXRlKQpAQCAtMjEyLDE0
ICsyMTIsMTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSURCVHJhbnNhY3Rpb246OmFib3J0KCkKICAg
ICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciwgIkZhaWxlZCB0byBleGVjdXRlICdhYm9ydCcgb24gJ0lEQlRy
YW5zYWN0aW9uJzogVGhlIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIG9yIGZpbmlzaGVkLiJfcyB9
OwogCi0gICAgaW50ZXJuYWxBYm9ydCgpOworICAgIGFib3J0SW50ZXJuYWwoKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CiAKLXZvaWQgSURCVHJhbnNhY3Rpb246OmludGVybmFsQWJvcnQoKQordm9p
ZCBJREJUcmFuc2FjdGlvbjo6YWJvcnRJbnRlcm5hbCgpCiB7Ci0gICAgTE9HKEluZGV4ZWREQiwg
IklEQlRyYW5zYWN0aW9uOjppbnRlcm5hbEFib3J0Iik7CisgICAgTE9HKEluZGV4ZWREQiwgIklE
QlRyYW5zYWN0aW9uOjphYm9ydEludGVybmFsIik7CiAgICAgQVNTRVJUKGNhbkN1cnJlbnRUaHJl
YWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkpKTsKICAg
ICBBU1NFUlQoIWlzRmluaXNoZWRPckZpbmlzaGluZygpKTsKIApAQCAtMzQ5LDcgKzM0OSw3IEBA
IHZvaWQgSURCVHJhbnNhY3Rpb246OnN0b3AoKQogICAgIGlmIChpc0ZpbmlzaGVkT3JGaW5pc2hp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxBYm9ydCgpOworICAgIGFib3J0
SW50ZXJuYWwoKTsKIH0KIAogYm9vbCBJREJUcmFuc2FjdGlvbjo6aXNBY3RpdmUoKSBjb25zdApA
QCAtNDE3LDcgKzQxNyw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmhhbmRsZU9wZXJhdGlvbnND
b21wbGV0ZWRPblNlcnZlcigpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9u
OjpoYW5kbGVPcGVyYXRpb25zQ29tcGxldGVkT25TZXJ2ZXIiKTsKICAgICBBU1NFUlQoY2FuQ3Vy
cmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQo
KSkpOwotCisgICAgCiAgICAgd2hpbGUgKCFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jl
c3NRdWV1ZS5pc0VtcHR5KCkgJiYgIW1fY3VycmVudGx5Q29tcGxldGluZ1JlcXVlc3QpIHsKICAg
ICAgICAgUmVmUHRyPElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24+IGN1cnJlbnRPcGVy
YXRpb24gPSBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5maXJzdCgpOwog
ICAgICAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25SZXN1bHRNYXAuY29udGFpbnMoY3Vy
cmVudE9wZXJhdGlvbikpCkBAIC00NTYsMzEgKzQ1Niw1NiBAQCB2b2lkIElEQlRyYW5zYWN0aW9u
OjpmaW5pc2hlZERpc3BhdGNoRXZlbnRGb3JSZXF1ZXN0KElEQlJlcXVlc3QmIHJlcXVlc3QpCiAg
ICAgaGFuZGxlT3BlcmF0aW9uc0NvbXBsZXRlZE9uU2VydmVyKCk7CiB9CiAKLXZvaWQgSURCVHJh
bnNhY3Rpb246OmNvbW1pdCgpCitFeGNlcHRpb25Pcjx2b2lkPiBJREJUcmFuc2FjdGlvbjo6Y29t
bWl0KCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCVHJhbnNhY3Rpb246OmNvbW1pdCIpOwog
ICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJh
c2UtPm9yaWdpblRocmVhZCgpKSk7CisKKyAgICBpZiAoIWlzQWN0aXZlKCkpCisgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkZhaWxlZCB0byBleGVjdXRlICdj
b21taXQnIG9uICdJREJUcmFuc2FjdGlvbic6IFRoZSB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZS4i
X3MgfTsKKworICAgIGlmIChtX2N1cnJlbnRseUNvbXBsZXRpbmdSZXF1ZXN0ICYmIG1fY3VycmVu
dGx5Q29tcGxldGluZ1JlcXVlc3QtPndpbGxBYm9ydFRyYW5zYWN0aW9uQWZ0ZXJEaXNwYXRjaGlu
Z0V2ZW50KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBjb21taXRJbnRlcm5hbCgpOwor
CisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBJREJUcmFuc2FjdGlvbjo6Y29tbWl0SW50ZXJu
YWwoKQoreworICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6Y29tbWl0SW50ZXJu
YWwiKTsKKyAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YSht
X2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwogICAgIEFTU0VSVCghaXNGaW5pc2hlZE9yRmlu
aXNoaW5nKCkpOwogCiAgICAgdHJhbnNpdGlvbmVkVG9GaW5pc2hpbmcoSW5kZXhlZERCOjpUcmFu
c2FjdGlvblN0YXRlOjpDb21taXR0aW5nKTsKICAgICBtX2RhdGFiYXNlLT53aWxsQ29tbWl0VHJh
bnNhY3Rpb24oKnRoaXMpOwogCiAgICAgTE9HKEluZGV4ZWREQk9wZXJhdGlvbnMsICJJREIgY29t
bWl0IG9wZXJhdGlvbjogVHJhbnNhY3Rpb24gJXMiLCBpbmZvKCkuaWRlbnRpZmllcigpLmxvZ2dp
bmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJDbGll
bnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uSW1wbDo6Y3JlYXRlKCp0aGlzLCBudWxscHRyLCBbcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYXV0byYgb3BlcmF0aW9uKSB7Ci0gICAgICAg
IHByb3RlY3RlZFRoaXMtPmNvbW1pdE9uU2VydmVyKG9wZXJhdGlvbik7CisKKyAgICB1aW50NjRf
dCBwZW5kaW5nUmVxdWVzdENvdW50ID0gMDsKKyAgICBmb3IgKGF1dG8gcmVxdWVzdCA6IG1fb3Bl
blJlcXVlc3RzKSB7CisgICAgICAgIGlmICghcmVxdWVzdC0+aXNEb25lKCkpCisgICAgICAgICAg
ICArK3BlbmRpbmdSZXF1ZXN0Q291bnQ7CisgICAgfQorCisgICAgc2NoZWR1bGVPcGVyYXRpb24o
SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbkltcGw6OmNyZWF0ZSgqdGhpcywgbnVsbHB0
ciwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcGVuZGluZ1JlcXVlc3RDb3VudF0g
KGF1dG8mIG9wZXJhdGlvbikgeworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5jb21taXRPblNlcnZl
cihvcGVyYXRpb24sIHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIH0pKTsKIH0KIAotdm9pZCBJ
REJUcmFuc2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJh
dGlvbiYgb3BlcmF0aW9uKQordm9pZCBJREJUcmFuc2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIoSURC
Q2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uLCB1aW50NjRfdCBwZW5kaW5n
UmVxdWVzdENvdW50KQogewogICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6Y29t
bWl0T25TZXJ2ZXIiKTsKICAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExv
Y2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwogCi0gICAgbV9kYXRhYmFzZS0+
Y29ubmVjdGlvblByb3h5KCkuY29tbWl0VHJhbnNhY3Rpb24oKnRoaXMpOworICAgIG1fZGF0YWJh
c2UtPmNvbm5lY3Rpb25Qcm94eSgpLmNvbW1pdFRyYW5zYWN0aW9uKCp0aGlzLCBwZW5kaW5nUmVx
dWVzdENvdW50KTsKIAogICAgIEFTU0VSVCghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dy
ZXNzUXVldWUuaXNFbXB0eSgpKTsKICAgICBBU1NFUlQobV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJ
blByb2dyZXNzUXVldWUubGFzdCgpID09ICZvcGVyYXRpb24pOwogICAgIG1fdHJhbnNhY3Rpb25P
cGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLnJlbW92ZUxhc3QoKTsKKyAgICBpZiAoIW1fdHJhbnNh
Y3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmlzRW1wdHkoKSkKKyAgICAgICAgbV9sYXN0
VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21taXQgPSBtX3RyYW5zYWN0aW9uT3BlcmF0aW9u
c0luUHJvZ3Jlc3NRdWV1ZS5sYXN0KCktPmlkZW50aWZpZXIoKTsKIAogICAgIEFTU0VSVChtX3Ry
YW5zYWN0aW9uT3BlcmF0aW9uTWFwLmNvbnRhaW5zKG9wZXJhdGlvbi5pZGVudGlmaWVyKCkpKTsK
ICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLnJlbW92ZShvcGVyYXRpb24uaWRlbnRpZmll
cigpKTsKQEAgLTU1MSw2ICs1NzYsMTIgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlkQ29tbWl0
KGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vz
c1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwogICAgIEFTU0VS
VChtX3N0YXRlID09IEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZTo6Q29tbWl0dGluZyk7CiAK
KyAgICAvLyBEZWxheSBjb21taXQgdW50aWwgbGFzdCByZXF1ZXN0IGlzIGNvbXBsZXRlZC4KKyAg
ICBpZiAobV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21taXQgJiYgbV90cmFuc2Fj
dGlvbk9wZXJhdGlvbk1hcC5jb250YWlucygqbV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZv
cmVDb21taXQpKSB7CisgICAgICAgIG1fY29tbWl0UmVzdWx0ID0gZXJyb3I7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpIHsKICAgICAgICAgbV9kYXRh
YmFzZS0+ZGlkQ29tbWl0VHJhbnNhY3Rpb24oKnRoaXMpOwogICAgICAgICBmaXJlT25Db21wbGV0
ZSgpOwpAQCAtMTM4Nyw2ICsxNDE4LDExIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9wZXJhdGlv
bkNvbXBsZXRlZE9uQ2xpZW50KElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mCiAgICAg
bV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5yZW1vdmUob3BlcmF0aW9uLmlkZW50aWZpZXIoKSk7
CiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUucmVtb3ZlRmlyc3Qo
KTsKIAorICAgIGlmIChtX2NvbW1pdFJlc3VsdCAmJiBvcGVyYXRpb24uaWRlbnRpZmllcigpID09
ICptX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNvbW1pdCkgeworICAgICAgICBkaWRD
b21taXQoKm1fY29tbWl0UmVzdWx0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlm
IChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5pc0VtcHR5KCkpCiAgICAg
ICAgIGhhbmRsZVBlbmRpbmdPcGVyYXRpb25zKCk7CiAKQEAgLTE1MDgsNyArMTU0NCw3IEBAIHZv
aWQgSURCVHJhbnNhY3Rpb246OmF1dG9Db21taXQoKQogICAgICAgICByZXR1cm47CiAgICAgQVNT
RVJUKCFtX2N1cnJlbnRseUNvbXBsZXRpbmdSZXF1ZXN0KTsKIAotICAgIGNvbW1pdCgpOworICAg
IGNvbW1pdEludGVybmFsKCk7CiB9CiAKIHVpbnQ2NF90IElEQlRyYW5zYWN0aW9uOjpnZW5lcmF0
ZU9wZXJhdGlvbklEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbi5oCmluZGV4IDdmYTNmN2YwMzk2YmU3OTdhNTU4YzQxZmY3MGY2NmFmNTY1
MDBkMjMuLjc3MTA4NmQzNTNlYmM1ZTBjMmI2MzNiYjNiYTlmYjJmZjJmOWUzMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaApAQCAt
ODEsNiArODEsNyBAQCBwdWJsaWM6CiAgICAgRE9NRXhjZXB0aW9uKiBlcnJvcigpIGNvbnN0Owog
ICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJPYmplY3RTdG9yZT4+IG9iamVjdFN0b3JlKGNvbnN0IFN0
cmluZyYgbmFtZSk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYWJvcnQoKTsKKyAgICBFeGNlcHRp
b25Pcjx2b2lkPiBjb21taXQoKTsKIAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFy
Z2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gSURCVHJhbnNhY3Rpb25FdmVudFRh
cmdldEludGVyZmFjZVR5cGU7IH0KICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0Ojpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KQEAgLTE2Miw5ICsxNjMsOCBAQCBwcml2YXRlOgog
ICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKICAgICBi
b29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQg
Y29tbWl0KCk7Ci0KLSAgICB2b2lkIGludGVybmFsQWJvcnQoKTsKKyAgICB2b2lkIGNvbW1pdElu
dGVybmFsKCk7CisgICAgdm9pZCBhYm9ydEludGVybmFsKCk7CiAgICAgdm9pZCBub3RpZnlEaWRB
Ym9ydChjb25zdCBJREJFcnJvciYpOwogICAgIHZvaWQgZmluaXNoQWJvcnRPckNvbW1pdCgpOwog
ICAgIHZvaWQgYWJvcnRJblByb2dyZXNzT3BlcmF0aW9ucyhjb25zdCBJREJFcnJvciYpOwpAQCAt
MTgxLDcgKzE4MSw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8SURCUmVxdWVzdD4gcmVxdWVzdElu
ZGV4UmVjb3JkKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBJREJJbmRleCYsIEluZGV4ZWREQjo6SW5k
ZXhSZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKTsKIAotICAgIHZvaWQgY29tbWl0
T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYpOworICAgIHZvaWQgY29t
bWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIHVpbnQ2NF90IHBl
bmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIHZvaWQgYWJvcnRPblNlcnZlckFuZENhbmNlbFJlcXVl
c3RzKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mKTsKIAogICAgIHZvaWQgY3JlYXRl
T2JqZWN0U3RvcmVPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgY29u
c3QgSURCT2JqZWN0U3RvcmVJbmZvJik7CkBAIC0yNTIsNyArMjUyLDYgQEAgcHJpdmF0ZToKICAg
ICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IG1fYWJvcnRR
dWV1ZTsKICAgICBFdmVudCogbV9hYm9ydE9yQ29tbWl0RXZlbnQ7CiAgICAgSGFzaE1hcDxSZWZQ
dHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4sIElEQlJlc3VsdERhdGE+IG1fdHJh
bnNhY3Rpb25PcGVyYXRpb25SZXN1bHRNYXA7Ci0KICAgICBIYXNoTWFwPElEQlJlc291cmNlSWRl
bnRpZmllciwgUmVmUHRyPElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24+PiBtX3RyYW5z
YWN0aW9uT3BlcmF0aW9uTWFwOwogCiAgICAgbXV0YWJsZSBMb2NrIG1fcmVmZXJlbmNlZE9iamVj
dFN0b3JlTG9jazsKQEAgLTI2Niw2ICsyNjUsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRE
aXNwYXRjaEFib3J0T3JDb21taXQgeyBmYWxzZSB9OwogCiAgICAgdWludDY0X3QgbV9sYXN0V3Jp
dGVPcGVyYXRpb25JRCB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPElEQlJlc291cmNlSWRlbnRp
Zmllcj4gbV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21taXQ7CisgICAgc3RkOjpv
cHRpb25hbDxJREJFcnJvcj4gbV9jb21taXRSZXN1bHQ7CiB9OwogCiBjbGFzcyBUcmFuc2FjdGlv
bkFjdGl2YXRvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbi5pZGwKaW5kZXggNTc0YTZiNjI4MjhiMzA5NDg1NWVhZDk3OWYwZDNmYzJj
ZTQ0ZTNiNy4uMzc3MTgwZmM4MjU3OTJmYTFkNDBlZWQyM2UyMTFlNWQ5MjE4NmY5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlk
bApAQCAtMzgsOSArMzgsOCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01FeGNlcHRpb24/
IGVycm9yOwogCiAgICAgSURCT2JqZWN0U3RvcmUgb2JqZWN0U3RvcmUoRE9NU3RyaW5nIG5hbWUp
OwotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgJ2NvbW1pdCcuCi0gICAgLy8gdW5kZWZpbmVkIGNv
bW1pdCgpOwogICAgIHVuZGVmaW5lZCBhYm9ydCgpOworICAgIHVuZGVmaW5lZCBjb21taXQoKTsK
IAogICAgIC8vIEV2ZW50IGhhbmRsZXJzOgogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25h
Ym9ydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKaW5kZXggNDZlZGRhOWE4YzEyMDE2MjIz
MDI2ZjVlOGIxMzkwNTVhNjA5MDQ4MC4uMzU2YWIwNTc2MTAzY2JhYmRmYmIyZjEyNDJhZjk1OTQ5
ODVmMDEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKQEAgLTM0NSw3ICszNDUsNyBA
QCB2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6ZGlkU3RhcnRUcmFuc2FjdGlvbihjb25zdCBJREJS
ZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYQogICAgIHRyYW5zYWN0aW9uLT5wZXJmb3JtQ2FsbGJh
Y2tPbk9yaWdpblRocmVhZCgqdHJhbnNhY3Rpb24sICZJREJUcmFuc2FjdGlvbjo6ZGlkU3RhcnQs
IGVycm9yKTsKIH0KIAotdm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmNvbW1pdFRyYW5zYWN0aW9u
KElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbikKK3ZvaWQgSURCQ29ubmVjdGlvblByb3h5Ojpj
b21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIHVpbnQ2NF90IHBl
bmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAgICAgewogICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV90
cmFuc2FjdGlvbk1hcExvY2sgfTsKQEAgLTM1Myw3ICszNTMsNyBAQCB2b2lkIElEQkNvbm5lY3Rp
b25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQog
ICAgICAgICBtX2NvbW1pdHRpbmdUcmFuc2FjdGlvbnMuc2V0KHRyYW5zYWN0aW9uLmluZm8oKS5p
ZGVudGlmaWVyKCksICZ0cmFuc2FjdGlvbik7CiAgICAgfQogCi0gICAgY2FsbENvbm5lY3Rpb25P
bk1haW5UaHJlYWQoJklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24sIHRy
YW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCkpOworICAgIGNhbGxDb25uZWN0aW9uT25NYWlu
VGhyZWFkKCZJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uLCB0cmFuc2Fj
dGlvbi5pbmZvKCkuaWRlbnRpZmllcigpLCBwZW5kaW5nUmVxdWVzdENvdW50KTsKIH0KIAogdm9p
ZCBJREJDb25uZWN0aW9uUHJveHk6OmRpZENvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYgZXJy
b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ29ubmVjdGlvblByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKaW5kZXggZmRjM2FkMzZmOWIzZGUyMjljNGQ1Yjk5
Mjk1NDY0YmYwNzQ3NWRkNi4uNjU4YWVmNjc4OWRkZDBjYzYyYWQ2MGFkMjcxNDE4MmJmYTlhNTgy
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaApAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBvcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKGNvbnN0IElEQlJlcXVlc3REYXRhJik7CiAK
ICAgICB2b2lkIGVzdGFibGlzaFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJik7Ci0gICAgdm9p
ZCBjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYpOworICAgIHZvaWQgY29tbWl0VHJh
bnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsK
ICAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mKTsKIAogICAgIHZvaWQg
ZGlkU3RhcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0
aW9uSWRlbnRpZmllciwgY29uc3QgSURCRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5jcHAKaW5kZXggZWJlZWM1ZWZjMDEyMDg3NTIxYjI5OTMxYzgxMWFmY2E1ODI3M2EwZS4u
MWFiMGIyNWJiNmZmMzQ0YTcwNTY4OTM1MDViZmIyOTQ5ZjYxMDg5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTM1NiwxMyArMzU2LDEzIEBAIHZvaWQgSURCQ29ubmVj
dGlvblRvU2VydmVyOjplc3RhYmxpc2hUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVuCiAgICAgICAgIG1fZGVsZWdhdGUtPmVzdGFibGlzaFRyYW5zYWN0aW9uKGRhdGFi
YXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGluZm8pOwogfQogCi12b2lkIElEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0
cmFuc2FjdGlvbklkZW50aWZpZXIpCit2b2lkIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0
VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50
aWZpZXIsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAgICAgTE9HKEluZGV4ZWRE
QiwgIklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24iKTsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgaWYgKG1fc2VydmVyQ29ubmVjdGlvbklzVmFsaWQp
Ci0gICAgICAgIG1fZGVsZWdhdGUtPmNvbW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRp
Zmllcik7CisgICAgICAgIG1fZGVsZWdhdGUtPmNvbW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgdHJh
bnNhY3Rpb25JZGVudGlmaWVyXSB7CiAgICAgICAgICAgICBkaWRDb21taXRUcmFuc2FjdGlvbih0
cmFuc2FjdGlvbklkZW50aWZpZXIsIElEQkVycm9yOjpzZXJ2ZXJDb25uZWN0aW9uTG9zdEVycm9y
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDg5M2YyOGQ5YzllYjYyZjFk
ZTNmMTc4NWIwMGI3ZTk3ZTdlODY3MzguLmMxN2QxNGFiZjA0YmJiMzZjMzRhODYxNGI1MDE3Y2Fl
MDlkYjdjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKQEAgLTEwOCw3ICsxMDgs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpdGVyYXRlQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRh
JiwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGRpZEl0ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVzdWx0RGF0YSYpOwogCi0gICAgdm9pZCBjb21t
aXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRl
bnRpZmllcik7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlk
ZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RD
b3VudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRDb21taXRUcmFuc2FjdGlvbihjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURC
RXJyb3ImKTsKIAogICAgIHZvaWQgZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVz
b3VyY2VJZGVudGlmaWVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxl
Z2F0ZS5oCmluZGV4IDdhODE5NDI5NzM3ZWZjMjVlOGExNTRhNzRiNGE3ZTJiNzNiYTMyNmEuLjY2
MjZkY2I5YjRhN2JjZDhiZmM4YzlkOGY3ZGFhMTM5MjExMjg1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0
VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3QgcGVuZGlu
Z1JlcXVlc3RDb3VudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hIYW5kbGluZ1Zl
cnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlm
aWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCT2JqZWN0
U3RvcmVJbmZvJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25z
dCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2Vy
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2
ZXIuY3BwCmluZGV4IDQ5ZDg3NjYyZmNiM2E1YWUyM2YyYTdhYjUyN2U2NTU3YzMyNmVhM2IuLmM1
NjM5OThkZTlhNjdhMWM2YTcwMGQ2ODFiNDcwMGE5NjkyZDk4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCkBAIC00
MDgsNyArNDA4LDcgQEAgdm9pZCBJREJTZXJ2ZXI6OmVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2
NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnMKICAgICAgICAgbV91bmlxdWVJ
REJEYXRhYmFzZU1hcC5yZW1vdmUoZGF0YWJhc2UtPmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQg
SURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXIm
IHRyYW5zYWN0aW9uSWRlbnRpZmllcikKK3ZvaWQgSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlv
bihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWlu
dDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCU2Vy
dmVyOjpjb21taXRUcmFuc2FjdGlvbiIpOwogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwpA
QCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQgSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICB0cmFuc2FjdGlvbi0+Y29tbWl0KCk7CisgICAgdHJhbnNhY3Rpb24t
PmNvbW1pdChwZW5kaW5nUmVxdWVzdENvdW50KTsKIH0KIAogdm9pZCBJREJTZXJ2ZXI6OmRpZEZp
bmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rp
b25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL0lEQlNlcnZlci5oCmluZGV4IGJjNzIzMGM4MGNmYjY0NmFmZWM4ZGU1OTBjMzAzNTQ2
NzBmNGM3ZWQuLmZmNzc3NjU5NDBmMGU4MGNmNDE2ZWMzODRmNWY5NzMwZjQ0NzNjODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVy
LmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgb3Bl
bkRhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29tbWl0VHJhbnNhY3Rp
b24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RD
b3VudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25D
aGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBj
b25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNy
ZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCT2JqZWN0U3Rv
cmVJbmZvJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW5hbWVPYmplY3RTdG9yZShjb25z
dCBJREJSZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBuZXdOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uLmNwcAppbmRleCA0YTAyMGQzMzRlYTI2OTljZGM1YjVhNjY3Y2UyZWMxMjdkNGQzNTAzLi45
MTJhYWJhOTMzNjk4NDM2ZTkyM2RmNjE5Mzg1MjY1NTI5ZGUyZjQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFu
c2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwCkBAIC05NSwxMiArOTUsMzAgQEAgYm9v
bCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjppc1JlYWRPbmx5KCkgY29uc3QKICAgICBy
ZXR1cm4gbV90cmFuc2FjdGlvbkluZm8ubW9kZSgpID09IElEQlRyYW5zYWN0aW9uTW9kZTo6UmVh
ZG9ubHk7CiB9ICAgCiAKLXZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0
KCkKK3ZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0KHVpbnQ2NF90IHBl
bmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmNvbW1pdCIpOwogCiAgICAgYXV0byBkYXRhYmFzZSA9IG1fZGF0YWJh
c2VDb25uZWN0aW9uLT5kYXRhYmFzZSgpOwogCisgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4g
ZXJyb3JJblBlbmRpbmdSZXF1ZXN0czsKKyAgICB3aGlsZSAocGVuZGluZ1JlcXVlc3RDb3VudC0t
KSB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBtX3JlcXVlc3RSZXN1bHRzLnRha2VMYXN0KCk7Cisg
ICAgICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGVycm9ySW5QZW5kaW5n
UmVxdWVzdHMgPSBlcnJvcjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQor
CisgICAgaWYgKGVycm9ySW5QZW5kaW5nUmVxdWVzdHMpIHsKKyAgICAgICAgZGF0YWJhc2UtPmFi
b3J0VHJhbnNhY3Rpb24oKnRoaXMsIFt0aGlzLCAmZXJyb3JJblBlbmRpbmdSZXF1ZXN0c10oYXV0
byYpIHsKKyAgICAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uOjpjb21taXQgd2l0aCBlcnJvciAoY2FsbGJhY2spIik7CisKKyAgICAgICAgICAgIG1f
ZGF0YWJhc2VDb25uZWN0aW9uLT5kaWRDb21taXRUcmFuc2FjdGlvbigqdGhpcywgKmVycm9ySW5Q
ZW5kaW5nUmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIGRhdGFiYXNlLT5jb21taXRUcmFuc2FjdGlvbigqdGhpcywgW3RoaXNdKGF1dG8mIGVycm9y
KSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9u
Ojpjb21taXQgKGNhbGxiYWNrKSIpOwogCkBAIC0xMjEsNiArMTM5LDggQEAgdm9pZCBVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYgcmVxdWUKICAgICBkYXRhYmFzZS0+Y3JlYXRlT2JqZWN0U3RvcmUoKnRoaXMsIGluZm8s
IFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IpIHsKICAgICAgICAgTE9HKEluZGV4ZWRE
QiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlIChjYWxs
YmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAg
ICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgbV9kYXRhYmFzZUNvbm5lY3Rp
b24tPmRpZENyZWF0ZU9iamVjdFN0b3JlKElEQlJlc3VsdERhdGE6OmNyZWF0ZU9iamVjdFN0b3Jl
U3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UK
QEAgLTE0MSwxMCArMTYxLDEzIEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
ZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlCiAgICAgZGF0YWJh
c2UtPmRlbGV0ZU9iamVjdFN0b3JlKCp0aGlzLCBvYmplY3RTdG9yZU5hbWUsIFt0aGlzLCByZXF1
ZXN0RGF0YV0oY29uc3QgSURCRXJyb3ImIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIs
ICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpkZWxldGVPYmplY3RTdG9yZSAoY2FsbGJh
Y2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAg
ICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIG1fZGF0YWJhc2VDb25uZWN0aW9u
LT5kaWREZWxldGVPYmplY3RTdG9yZShJREJSZXN1bHREYXRhOjpkZWxldGVPYmplY3RTdG9yZVN1
Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+ZGlkRGVsZXRlT2JqZWN0U3RvcmUoSURC
UmVzdWx0RGF0YTo6ZXJyb3IocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgZXJyb3Ip
KTsKKwogICAgIH0pOwogfQogCkBAIC0xNjEsNiArMTg0LDggQEAgdm9pZCBVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYg
cmVxdWUKICAgICBkYXRhYmFzZS0+cmVuYW1lT2JqZWN0U3RvcmUoKnRoaXMsIG9iamVjdFN0b3Jl
SWRlbnRpZmllciwgbmV3TmFtZSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikgewog
ICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6cmVu
YW1lT2JqZWN0U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMu
YXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAg
ICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+ZGlkUmVuYW1lT2JqZWN0U3RvcmUoSURCUmVzdWx0RGF0
YTo6cmVuYW1lT2JqZWN0U3RvcmVTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVy
KCkpKTsKICAgICAgICAgZWxzZQpAQCAtMTgwLDYgKzIwNSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6Y2xlYXJPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYg
cmVxdWVzCiAgICAgZGF0YWJhc2UtPmNsZWFyT2JqZWN0U3RvcmUoKnRoaXMsIG9iamVjdFN0b3Jl
SWRlbnRpZmllciwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikgewogICAgICAgICBM
T0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y2xlYXJPYmplY3RT
dG9yZSAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJy
b3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIG1fZGF0YWJh
c2VDb25uZWN0aW9uLT5kaWRDbGVhck9iamVjdFN0b3JlKElEQlJlc3VsdERhdGE6OmNsZWFyT2Jq
ZWN0U3RvcmVTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCkpKTsKICAgICAg
ICAgZWxzZQpAQCAtMjAwLDYgKzIyNyw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbjo6Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhCiAgICAg
ZGF0YWJhc2UtPmNyZWF0ZUluZGV4KCp0aGlzLCBpbmZvLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1
dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uOjpjcmVhdGVJbmRleCAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0
UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAg
ICAgICAgICAgIG1fZGF0YWJhc2VDb25uZWN0aW9uLT5kaWRDcmVhdGVJbmRleChJREJSZXN1bHRE
YXRhOjpjcmVhdGVJbmRleFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkp
OwogICAgICAgICBlbHNlCkBAIC0yMjAsNiArMjQ5LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uOjpkZWxldGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERh
dGEKICAgICBkYXRhYmFzZS0+ZGVsZXRlSW5kZXgoKnRoaXMsIG9iamVjdFN0b3JlSWRlbnRpZmll
ciwgaW5kZXhOYW1lLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAg
IExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRl
eCAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3Ip
OworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIG1fZGF0YWJhc2VD
b25uZWN0aW9uLT5kaWREZWxldGVJbmRleChJREJSZXN1bHREYXRhOjpkZWxldGVJbmRleFN1Y2Nl
c3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0y
NDAsNiArMjcxLDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVJ
bmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEKICAgICBkYXRhYmFzZS0+cmVu
YW1lSW5kZXgoKnRoaXMsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgaW5kZXhJZGVudGlmaWVyLCBu
ZXdOYW1lLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJ
bmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVJbmRleCAoY2Fs
bGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAg
ICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIG1fZGF0YWJhc2VDb25uZWN0
aW9uLT5kaWRSZW5hbWVJbmRleChJREJSZXN1bHREYXRhOjpyZW5hbWVJbmRleFN1Y2Nlc3MocmVx
dWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0yNjEsNiAr
Mjk0LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZChjb25z
dCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGMKICAgICBkYXRhYmFzZS0+cHV0T3JBZGQo
cmVxdWVzdERhdGEsIGtleURhdGEsIHZhbHVlLCBvdmVyd3JpdGVNb2RlLCBbdGhpcywgcmVxdWVz
dERhdGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJLZXlEYXRhJiBrZXkpIHsKICAgICAgICAgTE9H
KEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnB1dE9yQWRkIChjYWxs
YmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAg
ICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgbV9kYXRhYmFzZUNvbm5lY3Rp
b24tPmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZFB1dE9yQWRkKElEQlJlc3VsdERhdGE6OnB1dE9y
QWRkU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpLCBrZXkpKTsKICAgICAg
ICAgZWxzZQpAQCAtMjgwLDYgKzMxNSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwKICAgICBk
YXRhYmFzZS0+Z2V0UmVjb3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhLCBbdGhpcywgcmVx
dWVzdERhdGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAg
ICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVj
b3JkIChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJv
cik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgbV9kYXRhYmFz
ZUNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZEdldFJlY29yZChJREJSZXN1bHRE
YXRhOjpnZXRSZWNvcmRTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCksIHJl
c3VsdCkpOwogICAgICAgICBlbHNlCkBAIC0yOTksNiArMzM2LDggQEAgdm9pZCBVbmlxdWVJREJE
YXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRBbGxSZWNvcmRzKGNvbnN0IElEQlJlcXVlc3REYXRhJiBy
ZXF1ZXN0RGEKICAgICBkYXRhYmFzZS0+Z2V0QWxsUmVjb3JkcyhyZXF1ZXN0RGF0YSwgZ2V0QWxs
UmVjb3Jkc0RhdGEsIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IsIGNvbnN0IElEQkdl
dEFsbFJlc3VsdCYgcmVzdWx0KSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJE
YXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRBbGxSZWNvcmRzIChjYWxsYmFjaykiKTsKIAorICAgICAg
ICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlz
TnVsbCgpKQogICAgICAgICAgICAgbV9kYXRhYmFzZUNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub0Ns
aWVudCgpLmRpZEdldEFsbFJlY29yZHMoSURCUmVzdWx0RGF0YTo6Z2V0QWxsUmVjb3Jkc1N1Y2Nl
c3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAgICAgIGVs
c2UKQEAgLTMxOCw2ICszNTcsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246
OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgYwogICAgIGRhdGFi
YXNlLT5nZXRDb3VudChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhLCBbdGhpcywgcmVxdWVzdERh
dGFdKGF1dG8mIGVycm9yLCB1aW50NjRfdCBjb3VudCkgewogICAgICAgICBMT0coSW5kZXhlZERC
LCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0Q291bnQgKGNhbGxiYWNrKSIpOwog
CisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAo
ZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+Y29ubmVj
dGlvblRvQ2xpZW50KCkuZGlkR2V0Q291bnQoSURCUmVzdWx0RGF0YTo6Z2V0Q291bnRTdWNjZXNz
KHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCksIGNvdW50KSk7CiAgICAgICAgIGVsc2UK
QEAgLTMzNyw2ICszNzgsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRl
bGV0ZVJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdAogICAgIGRhdGFiYXNl
LT5kZWxldGVSZWNvcmQocmVxdWVzdERhdGEsIGtleVJhbmdlRGF0YSwgW3RoaXMsIHJlcXVlc3RE
YXRhXShhdXRvJiBlcnJvcikgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6ZGVsZXRlUmVjb3JkIChjYWxsYmFjaykiKTsKIAorICAgICAgICBt
X3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVs
bCgpKQogICAgICAgICAgICAgbV9kYXRhYmFzZUNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub0NsaWVu
dCgpLmRpZERlbGV0ZVJlY29yZChJREJSZXN1bHREYXRhOjpkZWxldGVSZWNvcmRTdWNjZXNzKHJl
cXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpAQCAtMzU2LDYg
KzM5OSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6b3BlbkN1cnNvcihj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsCiAgICAgZGF0YWJhc2UtPm9wZW5DdXJz
b3IocmVxdWVzdERhdGEsIGluZm8sIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IsIGNv
bnN0IElEQkdldFJlc3VsdCYgcmVzdWx0KSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlx
dWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpvcGVuQ3Vyc29yIChjYWxsYmFjaykiKTsKIAorICAg
ICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9y
LmlzTnVsbCgpKQogICAgICAgICAgICAgbV9kYXRhYmFzZUNvbm5lY3Rpb24tPmNvbm5lY3Rpb25U
b0NsaWVudCgpLmRpZE9wZW5DdXJzb3IoSURCUmVzdWx0RGF0YTo6b3BlbkN1cnNvclN1Y2Nlc3Mo
cmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAgICAgIGVsc2UK
QEAgLTM3OCw2ICs0MjMsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246Oml0
ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYQogICAgICAgICBpZiAo
b3B0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29ySXRlcmF0ZU9wdGlvbjo6RG9Ob3RSZXBseSkKICAg
ICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJv
cik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgbV9kYXRhYmFz
ZUNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZEl0ZXJhdGVDdXJzb3IoSURCUmVz
dWx0RGF0YTo6aXRlcmF0ZUN1cnNvclN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZp
ZXIoKSwgcmVzdWx0KSk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2VUcmFuc2FjdGlvbi5oCmluZGV4IGU0NGFiNjMwMTcyMDM5Y2FmODVjNDlmZDk2ZmMwYjE2ZjEx
OGM4ZjMuLmY1ZjMzMjE2YzM0NmQ4MWI3M2YxNmZmNjNiYzA0ZDI5MzI4YmVkZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uaApAQCAtMjcsNiArMjcsNyBAQAog
CiAjaW5jbHVkZSAiSURCRXJyb3IuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkluZm8uaCIK
KyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNjUsNyArNjYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGFib3J0KCk7CiAgICAgdm9pZCBhYm9ydFdpdGhvdXRDYWxsYmFjaygpOwotICAgIHZvaWQgY29t
bWl0KCk7CisgICAgdm9pZCBjb21taXQodWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAK
ICAgICB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3Qg
SURCT2JqZWN0U3RvcmVJbmZvJik7CiAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJ
REJSZXF1ZXN0RGF0YSYsIGNvbnN0IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKTsKQEAgLTEwMCw2
ICsxMDEsNyBAQCBwcml2YXRlOgogICAgIFZlY3Rvcjx1aW50NjRfdD4gbV9vYmplY3RTdG9yZUlk
ZW50aWZpZXJzOwogCiAgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4gbV9tYWluVGhyZWFkQWJv
cnRSZXN1bHQ7CisgICAgRGVxdWU8SURCRXJyb3I+IG1fcmVxdWVzdFJlc3VsdHM7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBJREJTZXJ2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAKaW5kZXggMTdhNmZhNzNhYmUzMGE2OWRhYmUyYWY0M2ZhZmVhYmFkNmI5MGVjYi4uN2E1MGVm
MGZkZWRiYjBiYWU5NzY2ZTRiNTEyNWExMDc2MjI0ODQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCBjbGFzcyBFbXB0eURhdGFiYXNl
UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgRGF0YWJhc2VQcm92aWRlciB7CiAgICAgICAgIHZvaWQg
ZGVsZXRlRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSBmaW5hbCB7IH0KICAgICAgICAg
dm9pZCBvcGVuRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSBmaW5hbCB7IH0KICAgICAg
ICAgdm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpIGZp
bmFsIHsgfQotICAgICAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNl
SWRlbnRpZmllciYpIGZpbmFsIHsgfQorICAgICAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90KSBmaW5hbCB7IH0KICAgICAgICAg
dm9pZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCwg
Y29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmluYWwgeyB9CiAgICAgICAgIHZvaWQgY3Jl
YXRlT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9y
ZUluZm8mKSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJ
REJSZXF1ZXN0RGF0YSYsIGNvbnN0IFN0cmluZyYpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHAKaW5k
ZXggNTc1Mzc3ZDhlMmZkM2ZlMWQ3NTAyZDcxODA5NTFiNmRmMjYxZTE1NS4uYTk2NjllNDlhZTNl
ZmQyYjk1M2M3ZWQ2YjMyODRlNTY0MDllYzgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCkBAIC0xNjMsMTIg
KzE2MywxMiBAQCB2b2lkIFdlYklEQlNlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJD
b3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYQogICAgIG1fc2VydmVyLT5hYm9ydFRy
YW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CiB9CiAKLXZvaWQgV2ViSURCU2VydmVy
Ojpjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIm
IHRyYW5zYWN0aW9uSWRlbnRpZmllcikKK3ZvaWQgV2ViSURCU2VydmVyOjpjb21taXRUcmFuc2Fj
dGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRl
bnRpZmllciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBBU1NFUlQoIVJ1
bkxvb3A6OmlzTWFpbigpKTsKIAogICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsK
LSAgICBtX3NlcnZlci0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKTsK
KyAgICBtX3NlcnZlci0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyLCBw
ZW5kaW5nUmVxdWVzdENvdW50KTsKIH0KIAogdm9pZCBXZWJJREJTZXJ2ZXI6OmRpZEZpbmlzaEhh
bmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNh
Y3Rpb25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaAppbmRleCA2OTcwN2IyNzM5N2RiZTU2ZTQ2Zjc1YzMx
ZjMxOTA1OTZlMGI0MTk4Li41ZTM3YWZmMDcxODVmNjYyMTk3NTEwM2IyYTU0YzdmNmYxYTQ4YTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJ
REJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9X
ZWJJREJTZXJ2ZXIuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVuRGF0
YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsKICAgICB2b2lkIGRlbGV0ZURh
dGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJik7CiAgICAgdm9pZCBhYm9ydFRy
YW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpOwotICAgIHZv
aWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
Jik7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICB2b2lkIGRp
ZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNl
Q29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmll
ciYpOwogICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVz
dERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJPYmplY3RTdG9yZUluZm8mKTsKICAgICB2b2lkIGRl
bGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgU3Ry
aW5nJiBvYmplY3RTdG9yZU5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluCmluZGV4
IDY3NjQ4ZGE5OGY1NWEwOTNjNGE0YjE3YmYzNjI4ZThlMTUwZjI4NzQuLjI3OTgxODkxOWNmMjM2
OWIyNzAxNTZiNTU4YzU2OTA0NjExZDE1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMu
aW4KQEAgLTI0LDcgKzI0LDcgQEAgbWVzc2FnZXMgLT4gV2ViSURCU2VydmVyIHsKICAgICBEZWxl
dGVEYXRhYmFzZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKICAgICBPcGVu
RGF0YWJhc2UoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEpCiAgICAgQWJvcnRU
cmFuc2FjdGlvbihXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyKQotICAgIENvbW1pdFRyYW5zYWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRp
ZmllciB0cmFuc2FjdGlvbklkZW50aWZpZXIpCisgICAgQ29tbWl0VHJhbnNhY3Rpb24oV2ViQ29y
ZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qg
cGVuZGluZ1JlcXVlc3RDb3VudCkKICAgICBEaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VU
cmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3Jl
OjpJREJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQogICAgIENyZWF0
ZU9iamVjdFN0b3JlKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZUluZm8gaW5mbykKICAgICBEZWxldGVPYmplY3RTdG9yZShXZWJDb3Jl
OjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgU3RyaW5nIG9iamVjdFN0b3JlTmFtZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0
YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCmluZGV4IGYwNjI5
NzVlNDMwNTI1YzlhZDlmYmRjMzVlZjYwNTk3ZDZhZmYwNTguLjA0YzI0MTBmMzVhZGNjMDQ2YzU0
MDZhZjBjY2UyZmQwZTg0MWFkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVj
dGlvblRvU2VydmVyLmNwcApAQCAtOTUsOSArOTUsOSBAQCB2b2lkIFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRy
YQogICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6QWJvcnRUcmFuc2FjdGlvbih0cmFu
c2FjdGlvbklkZW50aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rp
b25JZGVudGlmaWVyKQordm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5z
YWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVy
LCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQogewotICAgIHNlbmQoTWVzc2FnZXM6Oldl
YklEQlNlcnZlcjo6Q29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKSk7Cisg
ICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2Fj
dGlvbklkZW50aWZpZXIsIHBlbmRpbmdSZXF1ZXN0Q291bnQpKTsKIH0KIAogdm9pZCBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0
aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9X
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAppbmRleCA0NDEwODUxMGRmMmQyMDhmMmI2YWFkMDcx
YTdjYjdmOWFmMTA3MDhlLi5lZDExNmEzZmZmYmNjYzA4NDcyZjNhYTY1YTJmM2U5NWVhMjU1MmFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtNTUs
NyArNTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEmKSBmaW5hbDsKICAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBX
ZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRUcmFuc2FjdGlv
bihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbDsKLSAgICB2b2lk
IGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYp
IGZpbmFsOworICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVz
b3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkgZmluYWw7CiAg
ICAgdm9pZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRf
dCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXImKSBmaW5hbDsKICAgICB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFdl
YkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVJbmZv
JikgZmluYWw7CiAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJS
ZXF1ZXN0RGF0YSYsIGNvbnN0IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuY3Bw
IGIvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKaW5k
ZXggZWZiZjRmMmRmM2IyYmFkMzA3ZTc3ZTRiYWVjOTJhOTM3MzU2ODc2NS4uODlkODA4YzlkZGU4
OTM2NGY1ZTdhYTJiMTNkZjg3ZGNkMDIyYTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKQEAgLTI3MCwxMSArMjcwLDExIEBA
IHZvaWQgSW5Qcm9jZXNzSURCU2VydmVyOjphYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllciYKICAgICB9KTsKIH0KIAotdm9pZCBJblByb2Nlc3NJREJT
ZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRp
ZmllciYgcmVzb3VyY2VJZGVudGlmaWVyKQordm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbW1p
dFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVzb3Vy
Y2VJZGVudGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nQ291bnRSZXF1ZXN0KQogewotICAgIGRpc3Bh
dGNoVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXNvdXJjZUlk
ZW50aWZpZXIgPSByZXNvdXJjZUlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCldIHsKKyAgICBkaXNw
YXRjaFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVzb3VyY2VJ
ZGVudGlmaWVyID0gcmVzb3VyY2VJZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLCBwZW5kaW5nQ291
bnRSZXF1ZXN0XSB7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAg
ICAgICAgbV9zZXJ2ZXItPmNvbW1pdFRyYW5zYWN0aW9uKHJlc291cmNlSWRlbnRpZmllcik7Cisg
ICAgICAgIG1fc2VydmVyLT5jb21taXRUcmFuc2FjdGlvbihyZXNvdXJjZUlkZW50aWZpZXIsIHBl
bmRpbmdDb3VudFJlcXVlc3QpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmgKaW5kZXggNzNlZDhjYTM4Y2U2ZWU5MzVl
YmUyYzdiMjkzOGRjYmM2Yjg5NTMxNy4uZDIwNzQxYzgwMmFmZTlmYTY2YmEwMWYzNjljYzQ1MmVi
MWU0YjYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vz
c0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJ
REJTZXJ2ZXIuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWxldGVEYXRh
YmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3Bl
bkRhdGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CiAgICAgdm9p
ZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYp
IGZpbmFsOwotICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVz
b3VyY2VJZGVudGlmaWVyJikgZmluYWw7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25z
dCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nQ291bnRS
ZXF1ZXN0KSBmaW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRy
YW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY3JlYXRlT2Jq
ZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJ
REJPYmplY3RTdG9yZUluZm8mKSBmaW5hbDsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNv
bnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5h
bWUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWFhOTMyMDAwMWU0
NDhlYTAyOTJlZDgyYWRkZTA5NTdhYTE5YzIyNi4uZjE1ODFhN2JlNGU4NDkyZGFhNzZjYjYwMmZm
OTZlMTc0ODYxMzMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjEtMDctMTYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgSW1wbGVtZW50IElEQlRyYW5zYWN0aW9uLmNvbW1pdCgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4MTUKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzgwNjUxMjcwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29t
bWl0LXRocm93LmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0
LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDctMTMgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgYW5kIGZpeCBV
UkwgV1BUIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1leHBlY3RlZC50eHQKaW5kZXgg
ZWY2OGI4NWY3M2NiYTZiOTY3ZmUyYzFkY2IxYWU3ZjcwMjdjZDIwNy4uYWI2MDMyMjQwM2VkZTM5
MmExOWM2ZTc4ZTM5NjM2YmNhOTAwYWQwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10
aHJvdy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55LWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBBbnkgZXJyb3JzIGluIGNhbGxiYWNr
cyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29t
bWl0IGZyb20gYmVpbmcgcHJvY2Vzc2VkLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitQ
QVNTIEFueSBlcnJvcnMgaW4gY2FsbGJhY2tzIHRoYXQgcnVuIGFmdGVyIGFuIGV4cGxpY2l0IGNv
bW1pdCB3aWxsIG5vdCBzdG9wIHRoZSBjb21taXQgZnJvbSBiZWluZyBwcm9jZXNzZWQuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGVm
NjhiODVmNzNjYmE2Yjk2N2ZlMmMxZGNiMWFlN2Y3MDI3Y2QyMDcuLmFiNjAzMjI0MDNlZGUzOTJh
MTljNmU3OGUzOTYzNmJjYTkwMGFkMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhy
b3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBBbnkgZXJyb3Jz
IGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBub3Qg
c3RvcCB0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vzc2VkLiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVu
ZGVmaW5lZCkiCitQQVNTIEFueSBlcnJvcnMgaW4gY2FsbGJhY2tzIHRoYXQgcnVuIGFmdGVyIGFu
IGV4cGxpY2l0IGNvbW1pdCB3aWxsIG5vdCBzdG9wIHRoZSBjb21taXQgZnJvbSBiZWluZyBwcm9j
ZXNzZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Yi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dAppbmRleCBjODFiM2ZiODFhOGVjZWE0
NmQ3YjFiOTdkNjkzOThiMzNkMzEwYzMzLi4zOWRjOWYxZjRhNzBhYWEyMjM1YzE5MWUzYzI2YzY4
MGM5NTcwMWY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDE2IEBA
CiAKLUZBSUwgRXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScs
ICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBjb21taXQoKSBvbiBhIHZlcnNpb24g
Y2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVycm9ycy4gdHhuLmNvbW1pdCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZp
bmVkKQotRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGluYWN0aXZlIGltbWVk
aWF0ZWx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNv
bW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIEEgY29tbWl0dGVkIHRy
YW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4u
Y29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBQdXRzIGlzc3VlZCBhZnRlciBjb21taXQgYXJl
IG5vdCBmdWxmaWxsZWQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGlu
ZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIGFzc2VydF90aHJvd3Nf
ZG9tOiBUaGUgdHJhbnNhY3Rpb24gc2hvdWxkIGhhdmUgYmVlbiBhYm9ydGVkLiBmdW5jdGlvbiAi
KCkgPT4geyB0eG4uY29tbWl0KCk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29t
bWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBp
cyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJv
cjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZB
SUwgQ2FsbGluZyBjb21taXQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4
bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0
ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFuZCBkb2VzIG5vdCBwcmV2ZW50IHBlcnNpc3RpbmcgdGhl
IGRhdGEuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29t
bWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyB0eG4uY29t
bWl0KCkgd2hlbiB0eG4gaXMgaW5hY3RpdmUgc2hvdWxkIHRocm93LiBhc3NlcnRfdGhyb3dzX2Rv
bTogVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNvbW1pdCBz
aG91bGQgdGhyb3cuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2Jq
ZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNv
bW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5k
ZWZpbmVkLCBleHBlY3RlZCAxMQotRkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNo
b3VsZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB0eG4yLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4yLmNvbW1pdCgpJywg
J3R4bjIuY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBleHBs
aWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEu
Y29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5jb21t
aXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJy
b3JzIHByb3Blcmx5IHNob3VsZCBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBj
b21taXQgaXMgY2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNvbW1p
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0JyBp
cyB1bmRlZmluZWQpIgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisK
K1BBU1MgRXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4KK1BB
U1MgY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBkb2VzIG5vdCBjYXVz
ZSBlcnJvcnMuCitQQVNTIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMgaW5hY3RpdmUg
aW1tZWRpYXRlbHkuCitQQVNTIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGlu
IGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4KK1BBU1MgUHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0
IGFyZSBub3QgZnVsZmlsbGVkLgorUEFTUyBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRy
YW5zYWN0aW9uIHRocm93cy4KK1BBU1MgQ2FsbGluZyBjb21taXQgb24gYSBjb21taXR0ZWQgdHJh
bnNhY3Rpb24gdGhyb3dzLgorUEFTUyBDYWxsaW5nIGFib3J0IG9uIGEgY29tbWl0dGVkIHRyYW5z
YWN0aW9uIHRocm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJzaXN0aW5nIHRoZSBkYXRhLgor
UEFTUyBDYWxsaW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhy
b3cuCitUSU1FT1VUIFRyYW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hvdWxkIHN0YXkgaW4g
cHJvZ3JhbSBvcmRlciwgZXZlbiBpZiBvbmUgY2FsbHMgY29tbWl0LiBUZXN0IHRpbWVkIG91dAor
Tk9UUlVOIFRyYW5zYWN0aW9ucyB0aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFuZCBoYXZlIGVycm9y
cyBzaG91bGQgYWJvcnQuCitOT1RSVU4gVHJhbnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBlcnJv
cnMgcHJvcGVybHkgc2hvdWxkIGJlaGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFuIGV4cGxpY2l0IGNv
bW1pdCBpcyBjYWxsZWQgaW4gYW4gb25lcnJvciBoYW5kbGVyLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhw
bGljaXQtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBjODFiM2ZiODFhOGVjZWE0NmQ3YjFiOTdkNjkz
OThiMzNkMzEwYzMzLi4zOWRjOWYxZjRhNzBhYWEyMjM1YzE5MWUzYzI2YzY4MGM5NTcwMWY5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Yi1leHBsaWNpdC1jb21taXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsMTYg
QEAKIAotRkFJTCBFeHBsaWNpdGx5IGNvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgp
JywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIGNvbW1pdCgpIG9uIGEgdmVyc2lv
biBjaGFuZ2UgdHJhbnNhY3Rpb24gZG9lcyBub3QgY2F1c2UgZXJyb3JzLiB0eG4uY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1t
ZWRpYXRlbHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4u
Y29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQSBjb21taXR0ZWQg
dHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgaW4gZnV0dXJlIHJlcXVlc3QgY2FsbGJhY2tzLiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4
bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIFB1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBh
cmUgbm90IGZ1bGZpbGxlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBDYWxs
aW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4gYXNzZXJ0X3Rocm93
c19kb206IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgaGF2ZSBiZWVuIGFib3J0ZWQuIGZ1bmN0aW9u
ICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQot
RkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAn
dHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyBhYm9ydCBvbiBhIGNvbW1p
dHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90IHByZXZlbnQgcGVyc2lzdGluZyB0
aGUgZGF0YS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5j
b21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBDYWxsaW5nIHR4bi5j
b21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cuIGFzc2VydF90aHJvd3Nf
ZG9tOiBUaGUgdHJhbnNhY3Rpb24gc2hvdWxkIGJlIGluYWN0aXZlIHNvIGNhbGxpbmcgY29tbWl0
IHNob3VsZCB0aHJvdy4gZnVuY3Rpb24gIigpID0+IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBv
YmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4u
Y29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01F
eGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1
bmRlZmluZWQsIGV4cGVjdGVkIDExCi1GQUlMIFRyYW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUg
c2hvdWxkIHN0YXkgaW4gcHJvZ3JhbSBvcmRlciwgZXZlbiBpZiBvbmUgY2FsbHMgY29tbWl0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bjIuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjIuY29tbWl0KCkn
LCAndHhuMi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGV4
cGxpY2l0bHkgY29tbWl0IGFuZCBoYXZlIGVycm9ycyBzaG91bGQgYWJvcnQuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhu
MS5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScsICd0eG4xLmNv
bW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgVHJhbnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBl
cnJvcnMgcHJvcGVybHkgc2hvdWxkIGJlaGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFuIGV4cGxpY2l0
IGNvbW1pdCBpcyBjYWxsZWQgaW4gYW4gb25lcnJvciBoYW5kbGVyLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEuY29t
bWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5jb21taXQn
IGlzIHVuZGVmaW5lZCkiCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworUEFTUyBFeHBsaWNpdGx5IGNvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0Lgor
UEFTUyBjb21taXQoKSBvbiBhIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNh
dXNlIGVycm9ycy4KK1BBU1MgQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gYmVjb21lcyBpbmFjdGl2
ZSBpbW1lZGlhdGVseS4KK1BBU1MgQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUg
aW4gZnV0dXJlIHJlcXVlc3QgY2FsbGJhY2tzLgorUEFTUyBQdXRzIGlzc3VlZCBhZnRlciBjb21t
aXQgYXJlIG5vdCBmdWxmaWxsZWQuCitQQVNTIENhbGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQg
dHJhbnNhY3Rpb24gdGhyb3dzLgorUEFTUyBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0
cmFuc2FjdGlvbiB0aHJvd3MuCitQQVNTIENhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJh
bnNhY3Rpb24gdGhyb3dzIGFuZCBkb2VzIG5vdCBwcmV2ZW50IHBlcnNpc3RpbmcgdGhlIGRhdGEu
CitQQVNTIENhbGxpbmcgdHhuLmNvbW1pdCgpIHdoZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0
aHJvdy4KK1RJTUVPVVQgVHJhbnNhY3Rpb25zIHdpdGggc2FtZSBzY29wZSBzaG91bGQgc3RheSBp
biBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBjYWxscyBjb21taXQuIFRlc3QgdGltZWQgb3V0
CitOT1RSVU4gVHJhbnNhY3Rpb25zIHRoYXQgZXhwbGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJy
b3JzIHNob3VsZCBhYm9ydC4KK05PVFJVTiBUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVy
cm9ycyBwcm9wZXJseSBzaG91bGQgYmVoYXZlIGFzIGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQg
Y29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAppbmRleCBk
YTRiMGViN2ViYjU2YTUwYmI2YjBhNWM3MTMxMTY1YjZmYjBjOWRkLi40YmQ2ZTA5N2UxMmQ1NWVi
YzA3ODk1ZDg1Y2U4Mzk4NGUwMmZmNmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xODksNyArMTg5LDcgQEAg
RkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkdXJhYmlsaXR5IGFzc2Vy
dF90cnVlOiBUaGUgcHJvdG90eXBlIG8KIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgZGIKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJy
b3IKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gb2JqZWN0U3RvcmUo
RE9NU3RyaW5nKQotRkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21t
aXQoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNz
aW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjb21taXQiIG1pc3Np
bmcKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY29tbWl0KCkKIFBB
U1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gYWJvcnQoKQogUEFTUyBJREJU
cmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0CiBQQVNTIElEQlRyYW5zYWN0
aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uY29tcGxldGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3Mu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IDRiNjhiZDZlOGJjZjIxOTU1ZDdhYThkM2Y3ZTZkMjRlZTcxZWVhOGIuLmMxMDQzYzY2
NjgxZTQ3NTUxZTFhMGI2MTU1MDFhZGViYjM0Y2I3M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMTg5LDcgKzE4OSw3IEBAIEZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgZHVyYWJpbGl0eSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvCiBQQVNTIElEQlRy
YW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGRiCiBQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIGVycm9yCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTog
b3BlcmF0aW9uIG9iamVjdFN0b3JlKERPTVN0cmluZykKLUZBSUwgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBvcGVyYXRpb24gY29tbWl0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBw
cm9wZXJ0eSAiY29tbWl0IiBtaXNzaW5nCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTog
b3BlcmF0aW9uIGNvbW1pdCgpCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0
aW9uIGFib3J0KCkKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25h
Ym9ydAogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbXBsZXRl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433681</attachid>
            <date>2021-07-16 09:53:00 -0700</date>
            <delta_ts>2021-07-16 12:00:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227815-20210716095259.patch</filename>
            <type>text/plain</type>
            <size>57104</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMyZjEzNjFiZDJjZWNj
ZmE4NWQ4MTRiYTE3M2RlMDA1NDMxNTUzOC4uZjdmZjQwYjAyY2Q0MmNkYjY3OTdiNzU3ZDAxMTY0
ZGYzNTcwZTcxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIxLTA3LTE2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBJREJUcmFu
c2FjdGlvbi5jb21taXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3ODE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDY1MTI3MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGV4aXN0
aW5nIHdwdCB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkaWRTdGFydFRyYW5zYWN0aW9u
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQlJlcXVlc3Q6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SURCUmVxdWVzdDo6d2lsbEFib3J0VHJhbnNhY3Rpb25BZnRlckRpc3BhdGNoaW5nRXZlbnQgY29u
c3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbjo6YWJvcnREdWVUb0ZhaWxlZFJlcXVlc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjphYm9ydEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpoYW5kbGVPcGVyYXRp
b25zQ29tcGxldGVkT25TZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OmNvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y29tbWl0SW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbW1pdE9uU2VydmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpkaWRDb21taXQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9wZXJhdGlvbkNvbXBsZXRlZE9uQ2xpZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphdXRvQ29tbWl0KToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uOjppbnRlcm5hbEFib3J0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5Ojpjb21taXRUcmFuc2FjdGlvbik6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRy
YW5zYWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblRvU2VydmVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL0lEQlNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNl
cnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2
ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVj
dFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VU
cmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2Vy
dmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246
OmNsZWFyT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZUluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
cmVuYW1lSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6
OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldFJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldEFsbFJlY29y
ZHMpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uOjpnZXRDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZVJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246Om9wZW5DdXJzb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpp
dGVyYXRlQ3Vyc29yKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVl
SURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMu
Y3BwOgorCiAyMDIxLTA3LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIGFuZCBW
aWRlb0VuY29kZXIgYXJlIG5vdCBsaWJ3ZWJydGMtc3BlY2lmaWMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjgzOTRm
NTY4NjQ2ZDg0YzMzMjU1MDMzM2ZlMmVjMmUyNDA3N2MyMS4uNTY5NzUwZmQxZGU2ZjhkM2I1YjJl
ZGQ2MWNlZDNjNzhkZDY5NGJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0x
NiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
SURCVHJhbnNhY3Rpb24uY29tbWl0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzgxNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA2NTEyNzA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0lu
ZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXIuaDoKKwogMjAyMS0wNy0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBQU09OOiBhY2Nlc3NpYmlsaXR5IGRv
ZXNuJ3Qgd29yayBhZnRlciBhIGNyb3NzIHNpdGUgbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxv
ZwppbmRleCBhNDA3YmNiMDI2OGM5YmNlOTVmYmMwZDk1MjQzOWMwMTNlNzY4MDg2Li4yZmRhOWY4
ODJkMGZjYjg0YzE2M2U4ZWVhZjlmNjM4ZWQ2ZTNmODkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTE2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCBJREJUcmFuc2FjdGlvbi5jb21taXQoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3ODE1CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84MDY1MTI3MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFN0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcDoKKyAg
ICAgICAgKEluUHJvY2Vzc0lEQlNlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAq
IFN0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmg6CisKIDIwMjEtMDctMTUgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBC
cm9hZGNhc3RDaGFubmVsIGJlaGluZCBhIHJ1bnRpbWUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IDhmZWY3OWUxYzQxNTUx
YjNkZWE5Y2UxZjk4YjY3M2I2N2VkNjY1NTUuLmE0YmQ1NDIyNDdlY2NjMTZiMjY3YjIyNzk4NjNh
OWYzNTRlMTNhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5jcHAKQEAgLTM1Niw4ICszNTYsOSBAQCB2b2lkIElEQkRhdGFiYXNlOjpkaWRT
dGFydFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbikKICAgICBBU1NFUlQo
IW1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKTsKICAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVh
ZEFjY2Vzc1RocmVhZExvY2FsRGF0YShvcmlnaW5UaHJlYWQoKSkpOwogCi0gICAgLy8gSXQgaXMg
cG9zc2libGUgZm9yIHRoZSBjbGllbnQgdG8gaGF2ZSBhYm9ydGVkIGEgdHJhbnNhY3Rpb24gYmVm
b3JlIHRoZSBzZXJ2ZXIgcmVwbGllcyBiYWNrIHRoYXQgaXQgaGFzIHN0YXJ0ZWQuCi0gICAgaWYg
KG1fYWJvcnRpbmdUcmFuc2FjdGlvbnMuY29udGFpbnModHJhbnNhY3Rpb24uaW5mbygpLmlkZW50
aWZpZXIoKSkpCisgICAgLy8gSXQgaXMgcG9zc2libGUgZm9yIHRoZSBjbGllbnQgdG8gaGF2ZSBh
Ym9ydGVkIG9yIGNvbW1pdHRlZCBhIHRyYW5zYWN0aW9uCisgICAgLy8gYmVmb3JlIHRoZSBzZXJ2
ZXIgcmVwbGllcyBiYWNrIHRoYXQgaXQgaGFzIHN0YXJ0ZWQuCisgICAgaWYgKG1fYWJvcnRpbmdU
cmFuc2FjdGlvbnMuY29udGFpbnModHJhbnNhY3Rpb24uaW5mbygpLmlkZW50aWZpZXIoKSkgfHwg
bV9jb21taXR0aW5nVHJhbnNhY3Rpb25zLmNvbnRhaW5zKHRyYW5zYWN0aW9uLmluZm8oKS5pZGVu
dGlmaWVyKCkpKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2FjdGl2ZVRyYW5zYWN0aW9ucy5z
ZXQodHJhbnNhY3Rpb24uaW5mbygpLmlkZW50aWZpZXIoKSwgJnRyYW5zYWN0aW9uKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXggNzhl
YzNmOTY1ODY0YWI0YWVkNzJhOTY2NWIxYzg3ZTk0NzAzZjlkYi4uMzdkOWE2YTQ5M2RmMTg4YTg2
M2Y1OTJhZjU3ZmI2YzYwNGI2M2NmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCUmVxdWVzdC5jcHAKQEAgLTI5Niw3ICsyOTYsNyBAQCB2b2lkIElEQlJlcXVl
c3Q6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQogICAgIEFTU0VSVCghaXNDb250ZXh0U3Rv
cHBlZCgpKTsKIAogICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpOwotICAg
IG1fZGlzcGF0Y2hpbmdFdmVudCA9IHRydWU7CisgICAgbV9kaXNwYXRjaGluZ0V2ZW50ID0gJmV2
ZW50OwogCiAgICAgaWYgKGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCkuYmxvY2tlZEV2ZW50
KQogICAgICAgICBtX3JlYWR5U3RhdGUgPSBSZWFkeVN0YXRlOjpEb25lOwpAQCAtMzIwLDcgKzMy
MCw3IEBAIHZvaWQgSURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpCiAgICAg
aWYgKCFtX2hhc1BlbmRpbmdBY3Rpdml0eSkKICAgICAgICAgbV9oYXNQZW5kaW5nQWN0aXZpdHkg
PSBpc09wZW5EQlJlcXVlc3QoKSAmJiAoZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS51cGdy
YWRlbmVlZGVkRXZlbnQgfHwgZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5ibG9ja2VkRXZl
bnQpOwogCi0gICAgbV9kaXNwYXRjaGluZ0V2ZW50ID0gZmFsc2U7CisgICAgbV9kaXNwYXRjaGlu
Z0V2ZW50ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fdHJhbnNhY3Rpb24pCiAgICAgICAgIHJldHVy
bjsKIApAQCAtNTY3LDUgKzU2NywxNSBAQCB2b2lkIElEQlJlcXVlc3Q6OmNsZWFyV3JhcHBlcnMo
KQogICAgICk7CiB9CiAKK2Jvb2wgSURCUmVxdWVzdDo6d2lsbEFib3J0VHJhbnNhY3Rpb25BZnRl
ckRpc3BhdGNoaW5nRXZlbnQoKSBjb25zdAoreworICAgIGlmICghbV9kaXNwYXRjaGluZ0V2ZW50
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAobV9oYXNVbmNhdWdodEV4Y2VwdGlv
bikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gIW1fZGlzcGF0Y2hpbmdFdmVu
dC0+ZGVmYXVsdFByZXZlbnRlZCgpICYmIG1fZGlzcGF0Y2hpbmdFdmVudC0+dHlwZSgpID09IGV2
ZW50TmFtZXMoKS5lcnJvckV2ZW50OworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKaW5kZXggMzFlYzY5
MjQ5ZjJjMDcxOGFkZGY2ZWNmMGYzODdhZGEzMjhkNzRiNi4uNTkxZjQ4ZDcyMjljYWJmNDM2YmEy
YmM5YjY5MmE0NGQxYmIxMGExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlJlcXVlc3QuaApAQCAtMTI1LDYgKzEyNSw3IEBAIHB1YmxpYzoKICAgICBJbmRleGVk
REI6OlJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0VHlw
ZTsgfQogCiAgICAgdm9pZCBzZXRUcmFuc2FjdGlvbk9wZXJhdGlvbklEKHVpbnQ2NF90IHRyYW5z
YWN0aW9uT3BlcmF0aW9uSUQpIHsgbV9jdXJyZW50VHJhbnNhY3Rpb25PcGVyYXRpb25JRCA9IHRy
YW5zYWN0aW9uT3BlcmF0aW9uSUQ7IH0KKyAgICBib29sIHdpbGxBYm9ydFRyYW5zYWN0aW9uQWZ0
ZXJEaXNwYXRjaGluZ0V2ZW50KCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBJREJSZXF1ZXN0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYs
IEluZGV4ZWREQjo6UmVxdWVzdFR5cGUpOwpAQCAtMTk3LDggKzE5OCw4IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIG1fc2hvdWxkRXhwb3NlVHJhbnNhY3Rpb25Ub0RPTSB7IHRydWUgfTsKICAgICBi
b29sIG1faGFzUGVuZGluZ0FjdGl2aXR5IHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9kaXNwYXRjaGlu
Z0V2ZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzVW5jYXVnaHRFeGNlcHRpb24geyBmYWxz
ZSB9OworICAgIFJlZlB0cjxFdmVudD4gbV9kaXNwYXRjaGluZ0V2ZW50OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IGU2Y2E1MjdkOGRlZWNhYmI0ZmFmMzY0OTZjOWE0
ZDBhOGZlZWVkYWUuLmViOGEzMTFkYzNiMzEyZjNhMWU2YjA5OWM3MzJjOWY1NzBhYmQ3YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHAKQEAgLTE5Miw3ICsxOTIsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9ydER1ZVRv
RmFpbGVkUmVxdWVzdChET01FeGNlcHRpb24mIGVycm9yKQogICAgICAgICByZXR1cm47CiAKICAg
ICBtX2RvbUVycm9yID0gJmVycm9yOwotICAgIGludGVybmFsQWJvcnQoKTsKKyAgICBhYm9ydElu
dGVybmFsKCk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OnRyYW5zaXRpb25lZFRvRmluaXNo
aW5nKEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZSBzdGF0ZSkKQEAgLTIxMiwxNCArMjEyLDE0
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IElEQlRyYW5zYWN0aW9uOjphYm9ydCgpCiAgICAgaWYgKGlz
RmluaXNoZWRPckZpbmlzaGluZygpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IsICJGYWlsZWQgdG8gZXhlY3V0ZSAnYWJvcnQnIG9uICdJREJUcmFuc2FjdGlv
bic6IFRoZSB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBvciBmaW5pc2hlZC4iX3MgfTsKIAotICAg
IGludGVybmFsQWJvcnQoKTsKKyAgICBhYm9ydEludGVybmFsKCk7CiAKICAgICByZXR1cm4geyB9
OwogfQogCi12b2lkIElEQlRyYW5zYWN0aW9uOjppbnRlcm5hbEFib3J0KCkKK3ZvaWQgSURCVHJh
bnNhY3Rpb246OmFib3J0SW50ZXJuYWwoKQogewotICAgIExPRyhJbmRleGVkREIsICJJREJUcmFu
c2FjdGlvbjo6aW50ZXJuYWxBYm9ydCIpOworICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2Fj
dGlvbjo6YWJvcnRJbnRlcm5hbCIpOwogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNz
VGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CiAgICAgQVNTRVJU
KCFpc0ZpbmlzaGVkT3JGaW5pc2hpbmcoKSk7CiAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIElE
QlRyYW5zYWN0aW9uOjpzdG9wKCkKICAgICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGludGVybmFsQWJvcnQoKTsKKyAgICBhYm9ydEludGVybmFs
KCk7CiB9CiAKIGJvb2wgSURCVHJhbnNhY3Rpb246OmlzQWN0aXZlKCkgY29uc3QKQEAgLTQ1Niwz
MSArNDU2LDU2IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmZpbmlzaGVkRGlzcGF0Y2hFdmVudEZv
clJlcXVlc3QoSURCUmVxdWVzdCYgcmVxdWVzdCkKICAgICBoYW5kbGVPcGVyYXRpb25zQ29tcGxl
dGVkT25TZXJ2ZXIoKTsKIH0KIAotdm9pZCBJREJUcmFuc2FjdGlvbjo6Y29tbWl0KCkKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IElEQlRyYW5zYWN0aW9uOjpjb21taXQoKQogewogICAgIExPRyhJbmRleGVk
REIsICJJREJUcmFuc2FjdGlvbjo6Y29tbWl0Iik7CiAgICAgQVNTRVJUKGNhbkN1cnJlbnRUaHJl
YWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkpKTsKKwor
ICAgIGlmICghaXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRT
dGF0ZUVycm9yLCAiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ0lEQlRyYW5zYWN0aW9u
JzogVGhlIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlLiJfcyB9OworCisgICAgaWYgKG1fY3VycmVu
dGx5Q29tcGxldGluZ1JlcXVlc3QgJiYgbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdC0+d2ls
bEFib3J0VHJhbnNhY3Rpb25BZnRlckRpc3BhdGNoaW5nRXZlbnQoKSkKKyAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgIGNvbW1pdEludGVybmFsKCk7CisKKyAgICByZXR1cm4geyB9OworfQorCit2
b2lkIElEQlRyYW5zYWN0aW9uOjpjb21taXRJbnRlcm5hbCgpCit7CisgICAgTE9HKEluZGV4ZWRE
QiwgIklEQlRyYW5zYWN0aW9uOjpjb21taXRJbnRlcm5hbCIpOworICAgIEFTU0VSVChjYW5DdXJy
ZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgp
KSk7CiAgICAgQVNTRVJUKCFpc0ZpbmlzaGVkT3JGaW5pc2hpbmcoKSk7CiAKICAgICB0cmFuc2l0
aW9uZWRUb0ZpbmlzaGluZyhJbmRleGVkREI6OlRyYW5zYWN0aW9uU3RhdGU6OkNvbW1pdHRpbmcp
OwogICAgIG1fZGF0YWJhc2UtPndpbGxDb21taXRUcmFuc2FjdGlvbigqdGhpcyk7CiAKICAgICBM
T0coSW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBjb21taXQgb3BlcmF0aW9uOiBUcmFuc2FjdGlv
biAlcyIsIGluZm8oKS5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OwotICAgIHNjaGVkdWxlT3BlcmF0aW9uKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb25J
bXBsOjpjcmVhdGUoKnRoaXMsIG51bGxwdHIsIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyldIChhdXRvJiBvcGVyYXRpb24pIHsKLSAgICAgICAgcHJvdGVjdGVkVGhpcy0+Y29tbWl0T25T
ZXJ2ZXIob3BlcmF0aW9uKTsKKworICAgIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQgPSAw
OworICAgIGZvciAoYXV0byByZXF1ZXN0IDogbV9vcGVuUmVxdWVzdHMpIHsKKyAgICAgICAgaWYg
KCFyZXF1ZXN0LT5pc0RvbmUoKSkKKyAgICAgICAgICAgICsrcGVuZGluZ1JlcXVlc3RDb3VudDsK
KyAgICB9CisKKyAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3Bl
cmF0aW9uSW1wbDo6Y3JlYXRlKCp0aGlzLCBudWxscHRyLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBwZW5kaW5nUmVxdWVzdENvdW50XSAoYXV0byYgb3BlcmF0aW9uKSB7CisgICAg
ICAgIHByb3RlY3RlZFRoaXMtPmNvbW1pdE9uU2VydmVyKG9wZXJhdGlvbiwgcGVuZGluZ1JlcXVl
c3RDb3VudCk7CiAgICAgfSkpOwogfQogCi12b2lkIElEQlRyYW5zYWN0aW9uOjpjb21taXRPblNl
cnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24pCit2b2lkIElE
QlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0
aW9uJiBvcGVyYXRpb24sIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAgICAgTE9H
KEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlciIpOwogICAgIEFTU0VS
VChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdp
blRocmVhZCgpKSk7CiAKLSAgICBtX2RhdGFiYXNlLT5jb25uZWN0aW9uUHJveHkoKS5jb21taXRU
cmFuc2FjdGlvbigqdGhpcyk7CisgICAgbV9kYXRhYmFzZS0+Y29ubmVjdGlvblByb3h5KCkuY29t
bWl0VHJhbnNhY3Rpb24oKnRoaXMsIHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogCiAgICAgQVNTRVJU
KCFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5pc0VtcHR5KCkpOwogICAg
IEFTU0VSVChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5sYXN0KCkgPT0g
Jm9wZXJhdGlvbik7CiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUu
cmVtb3ZlTGFzdCgpOworICAgIGlmICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNz
UXVldWUuaXNFbXB0eSgpKQorICAgICAgICBtX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9y
ZUNvbW1pdCA9IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmxhc3QoKS0+
aWRlbnRpZmllcigpOwogCiAgICAgQVNTRVJUKG1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXAuY29u
dGFpbnMob3BlcmF0aW9uLmlkZW50aWZpZXIoKSkpOwogICAgIG1fdHJhbnNhY3Rpb25PcGVyYXRp
b25NYXAucmVtb3ZlKG9wZXJhdGlvbi5pZGVudGlmaWVyKCkpOwpAQCAtNTUxLDYgKzU3NiwxMiBA
QCB2b2lkIElEQlRyYW5zYWN0aW9uOjpkaWRDb21taXQoY29uc3QgSURCRXJyb3ImIGVycm9yKQog
ICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJh
c2UtPm9yaWdpblRocmVhZCgpKSk7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gSW5kZXhlZERCOjpU
cmFuc2FjdGlvblN0YXRlOjpDb21taXR0aW5nKTsKIAorICAgIC8vIERlbGF5IGNvbW1pdCB1bnRp
bCBsYXN0IHJlcXVlc3QgaXMgY29tcGxldGVkLgorICAgIGlmIChtX2xhc3RUcmFuc2FjdGlvbk9w
ZXJhdGlvbkJlZm9yZUNvbW1pdCAmJiBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLmNvbnRhaW5z
KCptX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNvbW1pdCkpIHsKKyAgICAgICAgbV9j
b21taXRSZXN1bHQgPSBlcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChl
cnJvci5pc051bGwoKSkgewogICAgICAgICBtX2RhdGFiYXNlLT5kaWRDb21taXRUcmFuc2FjdGlv
bigqdGhpcyk7CiAgICAgICAgIGZpcmVPbkNvbXBsZXRlKCk7CkBAIC0xMzg3LDYgKzE0MTgsMTEg
QEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6b3BlcmF0aW9uQ29tcGxldGVkT25DbGllbnQoSURCQ2xp
ZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFw
LnJlbW92ZShvcGVyYXRpb24uaWRlbnRpZmllcigpKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0
aW9uc0luUHJvZ3Jlc3NRdWV1ZS5yZW1vdmVGaXJzdCgpOwogCisgICAgaWYgKG1fY29tbWl0UmVz
dWx0ICYmIG9wZXJhdGlvbi5pZGVudGlmaWVyKCkgPT0gKm1fbGFzdFRyYW5zYWN0aW9uT3BlcmF0
aW9uQmVmb3JlQ29tbWl0KSB7CisgICAgICAgIGRpZENvbW1pdCgqbV9jb21taXRSZXN1bHQpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1fdHJhbnNhY3Rpb25PcGVyYXRpb25z
SW5Qcm9ncmVzc1F1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgaGFuZGxlUGVuZGluZ09wZXJhdGlv
bnMoKTsKIApAQCAtMTUwOCw3ICsxNTQ0LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6YXV0b0Nv
bW1pdCgpCiAgICAgICAgIHJldHVybjsKICAgICBBU1NFUlQoIW1fY3VycmVudGx5Q29tcGxldGlu
Z1JlcXVlc3QpOwogCi0gICAgY29tbWl0KCk7CisgICAgY29tbWl0SW50ZXJuYWwoKTsKIH0KIAog
dWludDY0X3QgSURCVHJhbnNhY3Rpb246OmdlbmVyYXRlT3BlcmF0aW9uSUQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKaW5kZXggN2Zh
M2Y3ZjAzOTZiZTc5N2E1NThjNDFmZjcwZjY2YWY1NjUwMGQyMy4uNzcxMDg2ZDM1M2ViYzVlMGMy
YjYzM2JiM2JhOWZiMmZmMmY5ZTMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCkBAIC04MSw2ICs4MSw3IEBAIHB1YmxpYzoKICAg
ICBET01FeGNlcHRpb24qIGVycm9yKCkgY29uc3Q7CiAgICAgRXhjZXB0aW9uT3I8UmVmPElEQk9i
amVjdFN0b3JlPj4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBhYm9ydCgpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGNvbW1pdCgpOwogCiAg
ICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBJREJUcmFuc2FjdGlvbkV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQogICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsg
fQpAQCAtMTYyLDkgKzE2Myw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9N
T2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgdmlydHVhbEhhc1BlbmRpbmdBY3Rp
dml0eSgpIGNvbnN0IGZpbmFsOwogCi0gICAgdm9pZCBjb21taXQoKTsKLQotICAgIHZvaWQgaW50
ZXJuYWxBYm9ydCgpOworICAgIHZvaWQgY29tbWl0SW50ZXJuYWwoKTsKKyAgICB2b2lkIGFib3J0
SW50ZXJuYWwoKTsKICAgICB2b2lkIG5vdGlmeURpZEFib3J0KGNvbnN0IElEQkVycm9yJik7CiAg
ICAgdm9pZCBmaW5pc2hBYm9ydE9yQ29tbWl0KCk7CiAgICAgdm9pZCBhYm9ydEluUHJvZ3Jlc3NP
cGVyYXRpb25zKGNvbnN0IElEQkVycm9yJik7CkBAIC0xODEsNyArMTgxLDcgQEAgcHJpdmF0ZToK
IAogICAgIFJlZjxJREJSZXF1ZXN0PiByZXF1ZXN0SW5kZXhSZWNvcmQoSlNDOjpKU0dsb2JhbE9i
amVjdCYsIElEQkluZGV4JiwgSW5kZXhlZERCOjpJbmRleFJlY29yZFR5cGUsIGNvbnN0IElEQktl
eVJhbmdlRGF0YSYpOwogCi0gICAgdm9pZCBjb21taXRPblNlcnZlcihJREJDbGllbnQ6OlRyYW5z
YWN0aW9uT3BlcmF0aW9uJik7CisgICAgdm9pZCBjb21taXRPblNlcnZlcihJREJDbGllbnQ6OlRy
YW5zYWN0aW9uT3BlcmF0aW9uJiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAg
dm9pZCBhYm9ydE9uU2VydmVyQW5kQ2FuY2VsUmVxdWVzdHMoSURCQ2xpZW50OjpUcmFuc2FjdGlv
bk9wZXJhdGlvbiYpOwogCiAgICAgdm9pZCBjcmVhdGVPYmplY3RTdG9yZU9uU2VydmVyKElEQkNs
aWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mKTsK
QEAgLTI1Miw3ICsyNTIsNiBAQCBwcml2YXRlOgogICAgIERlcXVlPFJlZlB0cjxJREJDbGllbnQ6
OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV9hYm9ydFF1ZXVlOwogICAgIEV2ZW50KiBtX2Fib3J0
T3JDb21taXRFdmVudDsKICAgICBIYXNoTWFwPFJlZlB0cjxJREJDbGllbnQ6OlRyYW5zYWN0aW9u
T3BlcmF0aW9uPiwgSURCUmVzdWx0RGF0YT4gbV90cmFuc2FjdGlvbk9wZXJhdGlvblJlc3VsdE1h
cDsKLQogICAgIEhhc2hNYXA8SURCUmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8SURCQ2xpZW50
OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXA7CiAKICAg
ICBtdXRhYmxlIExvY2sgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVMb2NrOwpAQCAtMjY2LDYgKzI2
NSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2RpZERpc3BhdGNoQWJvcnRPckNvbW1pdCB7IGZh
bHNlIH07CiAKICAgICB1aW50NjRfdCBtX2xhc3RXcml0ZU9wZXJhdGlvbklEIHsgMCB9OworICAg
IHN0ZDo6b3B0aW9uYWw8SURCUmVzb3VyY2VJZGVudGlmaWVyPiBtX2xhc3RUcmFuc2FjdGlvbk9w
ZXJhdGlvbkJlZm9yZUNvbW1pdDsKKyAgICBzdGQ6Om9wdGlvbmFsPElEQkVycm9yPiBtX2NvbW1p
dFJlc3VsdDsKIH07CiAKIGNsYXNzIFRyYW5zYWN0aW9uQWN0aXZhdG9yIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAppbmRleCA1
NzRhNmI2MjgyOGIzMDk0ODU1ZWFkOTc5ZjBkM2ZjMmNlNDRlM2I3Li4zNzcxODBmYzgyNTc5MmZh
MWQ0MGVlZDIzZTIxMWU1ZDkyMTg2Zjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCkBAIC0zOCw5ICszOCw4IEBACiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTUV4Y2VwdGlvbj8gZXJyb3I7CiAKICAgICBJREJPYmplY3RT
dG9yZSBvYmplY3RTdG9yZShET01TdHJpbmcgbmFtZSk7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVu
dCAnY29tbWl0Jy4KLSAgICAvLyB1bmRlZmluZWQgY29tbWl0KCk7CiAgICAgdW5kZWZpbmVkIGFi
b3J0KCk7CisgICAgdW5kZWZpbmVkIGNvbW1pdCgpOwogCiAgICAgLy8gRXZlbnQgaGFuZGxlcnM6
CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFib3J0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblBy
b3h5LmNwcAppbmRleCA0NmVkZGE5YThjMTIwMTYyMjMwMjZmNWU4YjEzOTA1NWE2MDkwNDgwLi4z
NTZhYjA1NzYxMDNjYmFiZGZiYjJmMTI0MmFmOTU5NDk4NWYwMTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQgSURCQ29ubmVjdGlvblByb3h5
OjpkaWRTdGFydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNh
CiAgICAgdHJhbnNhY3Rpb24tPnBlcmZvcm1DYWxsYmFja09uT3JpZ2luVGhyZWFkKCp0cmFuc2Fj
dGlvbiwgJklEQlRyYW5zYWN0aW9uOjpkaWRTdGFydCwgZXJyb3IpOwogfQogCi12b2lkIElEQkNv
bm5lY3Rpb25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0
aW9uKQordm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmNvbW1pdFRyYW5zYWN0aW9uKElEQlRyYW5z
YWN0aW9uJiB0cmFuc2FjdGlvbiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAg
ICB7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3RyYW5zYWN0aW9uTWFwTG9jayB9OwpAQCAt
MzUzLDcgKzM1Myw3IEBAIHZvaWQgSURCQ29ubmVjdGlvblByb3h5Ojpjb21taXRUcmFuc2FjdGlv
bihJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAgICAgICAgIG1fY29tbWl0dGluZ1RyYW5z
YWN0aW9ucy5zZXQodHJhbnNhY3Rpb24uaW5mbygpLmlkZW50aWZpZXIoKSwgJnRyYW5zYWN0aW9u
KTsKICAgICB9CiAKLSAgICBjYWxsQ29ubmVjdGlvbk9uTWFpblRocmVhZCgmSURCQ29ubmVjdGlv
blRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbiwgdHJhbnNhY3Rpb24uaW5mbygpLmlkZW50aWZp
ZXIoKSk7CisgICAgY2FsbENvbm5lY3Rpb25Pbk1haW5UaHJlYWQoJklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCks
IHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogfQogCiB2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6ZGlk
Q29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlv
bklkZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJiBlcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHku
aAppbmRleCBmZGMzYWQzNmY5YjNkZTIyOWM0ZDViOTkyOTU0NjRiZjA3NDc1ZGQ2Li42NThhZWY2
Nzg5ZGRkMGNjNjJhZDYwYWQyNzE0MTgyYmZhOWE1ODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94
eS5oCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG9wZW5EQlJlcXVlc3RDYW5j
ZWxsZWQoY29uc3QgSURCUmVxdWVzdERhdGEmKTsKIAogICAgIHZvaWQgZXN0YWJsaXNoVHJhbnNh
Y3Rpb24oSURCVHJhbnNhY3Rpb24mKTsKLSAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKElEQlRy
YW5zYWN0aW9uJik7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYs
IHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIHZvaWQgYWJvcnRUcmFuc2FjdGlv
bihJREJUcmFuc2FjdGlvbiYpOwogCiAgICAgdm9pZCBkaWRTdGFydFRyYW5zYWN0aW9uKGNvbnN0
IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJF
cnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAppbmRleCBlYmVlYzVlZmMw
MTIwODc1MjFiMjk5MzFjODExYWZjYTU4MjczYTBlLi4xYWIwYjI1YmI2ZmYzNDRhNzA1Njg5MzUw
NWJmYjI5NDlmNjEwODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAt
MzU2LDEzICszNTYsMTMgQEAgdm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmVzdGFibGlzaFRy
YW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW4KICAgICAgICAgbV9kZWxl
Z2F0ZS0+ZXN0YWJsaXNoVHJhbnNhY3Rpb24oZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwg
aW5mbyk7CiB9CiAKLXZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlv
bihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKK3Zv
aWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNv
dXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgcGVuZGluZ1Jl
cXVlc3RDb3VudCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCQ29ubmVjdGlvblRvU2VydmVy
Ojpjb21taXRUcmFuc2FjdGlvbiIpOwogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKICAg
ICBpZiAobV9zZXJ2ZXJDb25uZWN0aW9uSXNWYWxpZCkKLSAgICAgICAgbV9kZWxlZ2F0ZS0+Y29t
bWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKKyAgICAgICAgbV9kZWxlZ2F0
ZS0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyLCBwZW5kaW5nUmVxdWVz
dENvdW50KTsKICAgICBlbHNlIHsKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0cmFuc2FjdGlvbklkZW50aWZpZXJdIHsKICAg
ICAgICAgICAgIGRpZENvbW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgSURC
RXJyb3I6OnNlcnZlckNvbm5lY3Rpb25Mb3N0RXJyb3IoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRv
U2VydmVyLmgKaW5kZXggODkzZjI4ZDljOWViNjJmMWRlM2YxNzg1YjAwYjdlOTdlN2U4NjczOC4u
YzE3ZDE0YWJmMDRiYmIzNmMzNGE4NjE0YjUwMTdjYWUwOWRiN2M3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuaApAQCAtMTA4LDcgKzEwOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGl0
ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJJdGVyYXRlQ3Vyc29y
RGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkSXRlcmF0ZUN1cnNvcihjb25zdCBJ
REJSZXN1bHREYXRhJik7CiAKLSAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJl
c291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKKyAgICB2b2lkIGNvbW1p
dFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGRpZENvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYg
dHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYpOwogCiAgICAgdm9pZCBkaWRG
aW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNv
bm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0
aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKaW5kZXggN2E4MTk0Mjk3Mzdl
ZmMyNWU4YTE1NGE3NGI0YTdlMmI3M2JhMzI2YS4uNjYyNmRjYjliNGE3YmNkOGJmYzhjOWQ4Zjdk
YWExMzkyMTEyODUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVn
YXRlLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVE
YXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgb3Bl
bkRhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBh
Ym9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVy
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNv
dXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVp
bnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3Qg
SURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3Qg
U3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKaW5kZXggZWEzZjZkNmEyMWRl
ZmUzYmY1YTcyMGU1NDA2MDUwNTc3N2Y4NWY2MS4uYjRkNTU5NDU0MjQ4MDlhZjI2OGIwYzc0Mzg3
NDFhNTYyOTE4ZGMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKQEAgLTQwOCw3ICs0MDgsNyBAQCB2b2lkIElEQlNl
cnZlcjo6ZXN0YWJsaXNoVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRl
bnRpZmllciwgY29ucwogICAgICAgICBtX3VuaXF1ZUlEQkRhdGFiYXNlTWFwLnJlbW92ZShkYXRh
YmFzZS0+aWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0
aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQor
dm9pZCBJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50
KQogewogICAgIExPRyhJbmRleGVkREIsICJJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uIik7
CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CkBAIC00MjEsNyArNDIxLDcgQEAgdm9pZCBJ
REJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYg
dHJhbnNhY3Rpb25JZGVudGkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHRyYW5zYWN0
aW9uLT5jb21taXQoKTsKKyAgICB0cmFuc2FjdGlvbi0+Y29tbWl0KHBlbmRpbmdSZXF1ZXN0Q291
bnQpOwogfQogCiB2b2lkIElEQlNlcnZlcjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdl
VHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3Qg
SURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKaW5kZXgg
NjA4ZDdmYWI5ZWNkNzY1ZDk3ZjBjMDgzMzNmZjRkYjU0MDAxMDdiMS4uZDg4MzY0OWE1YzhkNWI1
OWYwMmMyYmRhY2RkZTY3OGExY2EzYzQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaApAQCAtNjIsNyArNjIsNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBvcGVuRGF0YWJhc2UoY29uc3QgSURCUmVxdWVz
dERhdGEmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0IElE
QlJlcXVlc3REYXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhYm9ydFRyYW5zYWN0aW9u
KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJik7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50
aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmll
ciYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgSURC
UmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJlbmFtZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgdWludDY0
X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG5ld05hbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRh
dGFiYXNlVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwCmluZGV4IGYzMmY1NDVjODlh
N2IxZDUyNWEzMWQ2MDg0YmNiODg5MDljYzUyMDkuLjIwYmYxYTE5YWRiNjJkNTc2NTI2NjYyYjg4
YmZkMWJmMzNiYWJhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbi5jcHAKQEAgLTEwMSwxMiArMTAxLDMwIEBAIGJvb2wgVW5pcXVlSURCRGF0YWJhc2VUcmFu
c2FjdGlvbjo6aXNSZWFkT25seSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fdHJhbnNhY3Rpb25JbmZv
Lm1vZGUoKSA9PSBJREJUcmFuc2FjdGlvbk1vZGU6OlJlYWRvbmx5OwogfSAgIAogCi12b2lkIFVu
aXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCgpCit2b2lkIFVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmNvbW1pdCh1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQogewog
ICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjb21taXQi
KTsKIAogICAgIGF1dG8gZGF0YWJhc2UgPSBkYXRhYmFzZUNvbm5lY3Rpb24oKS5kYXRhYmFzZSgp
OwogCisgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4gZXJyb3JJblBlbmRpbmdSZXF1ZXN0czsK
KyAgICB3aGlsZSAocGVuZGluZ1JlcXVlc3RDb3VudC0tKSB7CisgICAgICAgIGF1dG8gZXJyb3Ig
PSBtX3JlcXVlc3RSZXN1bHRzLnRha2VMYXN0KCk7CisgICAgICAgIGlmICghZXJyb3IuaXNOdWxs
KCkpIHsKKyAgICAgICAgICAgIGVycm9ySW5QZW5kaW5nUmVxdWVzdHMgPSBlcnJvcjsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGVycm9ySW5QZW5kaW5n
UmVxdWVzdHMpIHsKKyAgICAgICAgZGF0YWJhc2UtPmFib3J0VHJhbnNhY3Rpb24oKnRoaXMsIFt0
aGlzLCAmZXJyb3JJblBlbmRpbmdSZXF1ZXN0c10oYXV0byYpIHsKKyAgICAgICAgICAgIExPRyhJ
bmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjb21taXQgd2l0aCBlcnJv
ciAoY2FsbGJhY2spIik7CisKKyAgICAgICAgICAgIG1fZGF0YWJhc2VDb25uZWN0aW9uLT5kaWRD
b21taXRUcmFuc2FjdGlvbigqdGhpcywgKmVycm9ySW5QZW5kaW5nUmVxdWVzdHMpOworICAgICAg
ICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGRhdGFiYXNlLT5jb21taXRUcmFu
c2FjdGlvbigqdGhpcywgW3RoaXNdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVk
REIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjb21taXQgKGNhbGxiYWNrKSIpOwog
CkBAIC0xMjcsNiArMTQ1LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpj
cmVhdGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWUKICAgICBkYXRhYmFz
ZS0+Y3JlYXRlT2JqZWN0U3RvcmUoKnRoaXMsIGluZm8sIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0
byYgZXJyb3IpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJh
bnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlIChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3Jl
cXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgp
KQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuZGlkQ3JlYXRlT2JqZWN0U3RvcmUo
SURCUmVzdWx0RGF0YTo6Y3JlYXRlT2JqZWN0U3RvcmVTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVl
c3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpAQCAtMTQ3LDYgKzE2Nyw4IEBAIHZvaWQg
VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlCiAgICAgZGF0YWJhc2UtPmRlbGV0ZU9iamVjdFN0b3JlKCp0aGlz
LCBvYmplY3RTdG9yZU5hbWUsIFt0aGlzLCByZXF1ZXN0RGF0YV0oY29uc3QgSURCRXJyb3ImIGVy
cm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpkZWxldGVPYmplY3RTdG9yZSAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0
UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAg
ICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRpZERlbGV0ZU9iamVjdFN0b3JlKElEQlJl
c3VsdERhdGE6OmRlbGV0ZU9iamVjdFN0b3JlU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRl
bnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTE2Nyw2ICsxODksOCBAQCB2b2lkIFVuaXF1
ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVl
c3REYXRhJiByZXF1ZQogICAgIGRhdGFiYXNlLT5yZW5hbWVPYmplY3RTdG9yZSgqdGhpcywgb2Jq
ZWN0U3RvcmVJZGVudGlmaWVyLCBuZXdOYW1lLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVy
cm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpyZW5hbWVPYmplY3RTdG9yZSAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0
UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAg
ICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRpZFJlbmFtZU9iamVjdFN0b3JlKElEQlJl
c3VsdERhdGE6OnJlbmFtZU9iamVjdFN0b3JlU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRl
bnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTE4Niw2ICsyMTAsOCBAQCB2b2lkIFVuaXF1
ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNsZWFyT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVz
dERhdGEmIHJlcXVlcwogICAgIGRhdGFiYXNlLT5jbGVhck9iamVjdFN0b3JlKCp0aGlzLCBvYmpl
Y3RTdG9yZUlkZW50aWZpZXIsIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IpIHsKICAg
ICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNsZWFy
T2JqZWN0U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBw
ZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBk
YXRhYmFzZUNvbm5lY3Rpb24oKS5kaWRDbGVhck9iamVjdFN0b3JlKElEQlJlc3VsdERhdGE6OmNs
ZWFyT2JqZWN0U3RvcmVTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCkpKTsK
ICAgICAgICAgZWxzZQpAQCAtMjA2LDYgKzIzMiw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VU
cmFuc2FjdGlvbjo6Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRh
CiAgICAgZGF0YWJhc2UtPmNyZWF0ZUluZGV4KCp0aGlzLCBpbmZvLCBbdGhpcywgcmVxdWVzdERh
dGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRleCAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9y
ZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwo
KSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRpZENyZWF0ZUluZGV4KElEQlJl
c3VsdERhdGE6OmNyZWF0ZUluZGV4U3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmll
cigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTIyNiw2ICsyNTQsOCBAQCB2b2lkIFVuaXF1ZUlEQkRh
dGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1
ZXN0RGF0YQogICAgIGRhdGFiYXNlLT5kZWxldGVJbmRleCgqdGhpcywgb2JqZWN0U3RvcmVJZGVu
dGlmaWVyLCBpbmRleE5hbWUsIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IpIHsKICAg
ICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0
ZUluZGV4IChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChl
cnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJh
c2VDb25uZWN0aW9uKCkuZGlkRGVsZXRlSW5kZXgoSURCUmVzdWx0RGF0YTo6ZGVsZXRlSW5kZXhT
dWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpA
QCAtMjQ2LDYgKzI3Niw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6cmVu
YW1lSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhCiAgICAgZGF0YWJhc2Ut
PnJlbmFtZUluZGV4KCp0aGlzLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGluZGV4SWRlbnRpZmll
ciwgbmV3TmFtZSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikgewogICAgICAgICBM
T0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6cmVuYW1lSW5kZXgg
KGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsK
KwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5l
Y3Rpb24oKS5kaWRSZW5hbWVJbmRleChJREJSZXN1bHREYXRhOjpyZW5hbWVJbmRleFN1Y2Nlc3Mo
cmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0yNjcs
NiArMjk5LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZChj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGMKICAgICBkYXRhYmFzZS0+cHV0T3JB
ZGQocmVxdWVzdERhdGEsIGtleURhdGEsIHZhbHVlLCBvdmVyd3JpdGVNb2RlLCBbdGhpcywgcmVx
dWVzdERhdGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJLZXlEYXRhJiBrZXkpIHsKICAgICAgICAg
TE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnB1dE9yQWRkIChj
YWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisK
ICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0
aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlkUHV0T3JBZGQoSURCUmVzdWx0RGF0YTo6cHV0
T3JBZGRTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCksIGtleSkpOwogICAg
ICAgICBlbHNlCkBAIC0yODYsNiArMzIwLDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLAogICAg
IGRhdGFiYXNlLT5nZXRSZWNvcmQocmVxdWVzdERhdGEsIGdldFJlY29yZERhdGEsIFt0aGlzLCBy
ZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IsIGNvbnN0IElEQkdldFJlc3VsdCYgcmVzdWx0KSB7CiAg
ICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRS
ZWNvcmQgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVy
cm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFz
ZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQoKS5kaWRHZXRSZWNvcmQoSURCUmVzdWx0
RGF0YTo6Z2V0UmVjb3JkU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpLCBy
ZXN1bHQpKTsKICAgICAgICAgZWxzZQpAQCAtMzA1LDYgKzM0MSw4IEBAIHZvaWQgVW5pcXVlSURC
RGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0QWxsUmVjb3Jkcyhjb25zdCBJREJSZXF1ZXN0RGF0YSYg
cmVxdWVzdERhCiAgICAgZGF0YWJhc2UtPmdldEFsbFJlY29yZHMocmVxdWVzdERhdGEsIGdldEFs
bFJlY29yZHNEYXRhLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJH
ZXRBbGxSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURC
RGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0QWxsUmVjb3JkcyAoY2FsbGJhY2spIik7CiAKKyAgICAg
ICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5p
c051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmNvbm5lY3Rpb25Ub0Ns
aWVudCgpLmRpZEdldEFsbFJlY29yZHMoSURCUmVzdWx0RGF0YTo6Z2V0QWxsUmVjb3Jkc1N1Y2Nl
c3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAgICAgIGVs
c2UKQEAgLTMyNCw2ICszNjIsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246
OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgYwogICAgIGRhdGFi
YXNlLT5nZXRDb3VudChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhLCBbdGhpcywgcmVxdWVzdERh
dGFdKGF1dG8mIGVycm9yLCB1aW50NjRfdCBjb3VudCkgewogICAgICAgICBMT0coSW5kZXhlZERC
LCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0Q291bnQgKGNhbGxiYWNrKSIpOwog
CisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAo
ZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0
aW9uVG9DbGllbnQoKS5kaWRHZXRDb3VudChJREJSZXN1bHREYXRhOjpnZXRDb3VudFN1Y2Nlc3Mo
cmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgY291bnQpKTsKICAgICAgICAgZWxzZQpA
QCAtMzQzLDYgKzM4Myw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6ZGVs
ZXRlUmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0CiAgICAgZGF0YWJhc2Ut
PmRlbGV0ZVJlY29yZChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhLCBbdGhpcywgcmVxdWVzdERh
dGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpkZWxldGVSZWNvcmQgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1f
cmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxs
KCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQo
KS5kaWREZWxldGVSZWNvcmQoSURCUmVzdWx0RGF0YTo6ZGVsZXRlUmVjb3JkU3VjY2VzcyhyZXF1
ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTM2Miw2ICs0
MDQsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246Om9wZW5DdXJzb3IoY29u
c3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLAogICAgIGRhdGFiYXNlLT5vcGVuQ3Vyc29y
KHJlcXVlc3REYXRhLCBpbmZvLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yLCBjb25z
dCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVl
SURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6b3BlbkN1cnNvciAoY2FsbGJhY2spIik7CiAKKyAgICAg
ICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5p
c051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmNvbm5lY3Rpb25Ub0Ns
aWVudCgpLmRpZE9wZW5DdXJzb3IoSURCUmVzdWx0RGF0YTo6b3BlbkN1cnNvclN1Y2Nlc3MocmVx
dWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAgICAgIGVsc2UKQEAg
LTM4NCw2ICs0MjgsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246Oml0ZXJh
dGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYQogICAgICAgICBpZiAob3B0
aW9uID09IEluZGV4ZWREQjo6Q3Vyc29ySXRlcmF0ZU9wdGlvbjo6RG9Ob3RSZXBseSkKICAgICAg
ICAgICAgIHJldHVybjsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7
CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25u
ZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlkSXRlcmF0ZUN1cnNvcihJREJSZXN1bHRE
YXRhOjppdGVyYXRlQ3Vyc29yU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigp
LCByZXN1bHQpKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uLmgKaW5kZXggYTkwNWU1YWU0YTU5NDU0NzU5YWQwNGRhMTlmZDliOTY5YmI0ODc3
OC4uOTU5NjY1MmFkY2RiYTdhMDQ4YjYxOWY3NGVmMWE5MmNlZWY5ZTBlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNl
VHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNp
bmNsdWRlICJJREJFcnJvci5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uSW5mby5oIgorI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCkBAIC02NSw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWJv
cnQoKTsKICAgICB2b2lkIGFib3J0V2l0aG91dENhbGxiYWNrKCk7Ci0gICAgdm9pZCBjb21taXQo
KTsKKyAgICB2b2lkIGNvbW1pdCh1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKIAogICAg
IHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJP
YmplY3RTdG9yZUluZm8mKTsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJl
cXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpOwpAQCAtMTAwLDYgKzEw
MSw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPHVpbnQ2NF90PiBtX29iamVjdFN0b3JlSWRlbnRp
ZmllcnM7CiAKICAgICBzdGQ6Om9wdGlvbmFsPElEQkVycm9yPiBtX21haW5UaHJlYWRBYm9ydFJl
c3VsdDsKKyAgICBEZXF1ZTxJREJFcnJvcj4gbV9yZXF1ZXN0UmVzdWx0czsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIElEQlNlcnZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApp
bmRleCA1ZGNmOWQwYzY3ZWU2ZTk3NGE5NzgzZjJkZmI4NzUzNWU3NTQ3OTMwLi5hM2M5OGIxZTNj
YTdhYjc2ZWUxZjBhMWIwZTgxYTgxZWNkODlhYjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIGNsYXNzIEVtcHR5RGF0YWJhc2VQcm92
aWRlciBmaW5hbCA6IHB1YmxpYyBEYXRhYmFzZVByb3ZpZGVyIHsKICAgICAgICAgdm9pZCBkZWxl
dGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpIGZpbmFsIHsgfQogICAgICAgICB2b2lk
IG9wZW5EYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpIGZpbmFsIHsgfQogICAgICAgICB2
b2lkIGFib3J0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmluYWwg
eyB9Ci0gICAgICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJikgZmluYWwgeyB9CisgICAgICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3Qg
SURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3QpIGZpbmFsIHsgfQogICAgICAgICB2b2lk
IGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90LCBjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBjcmVhdGVP
YmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQk9iamVjdFN0b3JlSW5m
byYpIGZpbmFsIHsgfQogICAgICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJl
cXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcAppbmRleCA4
ZmNhZjM4ZWQ1MmMxMzZlY2U4MjZkNDMxMzIyM2M5NmRkZGEyYmYyLi5mMDY4YjI2N2ExNTE2Njhj
NjYwMWMwYWM0ZTRlN2U3YmI2ZGRmZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHAKQEAgLTE4MiwxMiArMTgy
LDEyIEBAIHZvaWQgV2ViSURCU2VydmVyOjphYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhCiAgICAgbV9zZXJ2ZXItPmFib3J0VHJhbnNh
Y3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKIH0KIAotdm9pZCBXZWJJREJTZXJ2ZXI6OmNv
bW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJh
bnNhY3Rpb25JZGVudGlmaWVyKQordm9pZCBXZWJJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9u
KGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlm
aWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQogewogICAgIEFTU0VSVCghUnVuTG9v
cDo6aXNNYWluKCkpOwogCiAgICAgTG9ja2VyIGxvY2tlciB7IG1fc2VydmVyTG9jayB9OwotICAg
IG1fc2VydmVyLT5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIpOworICAg
IG1fc2VydmVyLT5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIsIHBlbmRp
bmdSZXF1ZXN0Q291bnQpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlcjo6ZGlkRmluaXNoSGFuZGxp
bmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlv
bklkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0lu
ZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQlNlcnZlci5oCmluZGV4IGE3ZTk2NWRlMDE0ZTk4MTg2MGNiMzY5MTg4NzNj
OTVhYWIyNzdhMzMuLjYyZjBjYWMzNmRjNjhlNWFlZTFjMWJiY2FkMzY4MzlkNzMxODA3MTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNl
cnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklE
QlNlcnZlci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG9wZW5EYXRhYmFz
ZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpOwogICAgIHZvaWQgZGVsZXRlRGF0YWJh
c2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsKICAgICB2b2lkIGFib3J0VHJhbnNh
Y3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJik7Ci0gICAgdm9pZCBj
b21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImKTsK
KyAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRl
bnRpZmllciYsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIHZvaWQgZGlkRmlu
aXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25u
ZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJik7
CiAgICAgdm9pZCBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbyYpOwogICAgIHZvaWQgZGVsZXRl
T2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBTdHJpbmcm
IG9iamVjdFN0b3JlTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4KaW5kZXggNjc2
NDhkYTk4ZjU1YTA5M2M0YTRiMTdiZjM2MjhlOGUxNTBmMjg3NC4uMjc5ODE4OTE5Y2YyMzY5YjI3
MDE1NmI1NThjNTY5MDQ2MTFkMTU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgpA
QCAtMjQsNyArMjQsNyBAQCBtZXNzYWdlcyAtPiBXZWJJREJTZXJ2ZXIgewogICAgIERlbGV0ZURh
dGFiYXNlKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhKQogICAgIE9wZW5EYXRh
YmFzZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKICAgICBBYm9ydFRyYW5z
YWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZp
ZXIpCi0gICAgQ29tbWl0VHJhbnNhY3Rpb24oV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
IHRyYW5zYWN0aW9uSWRlbnRpZmllcikKKyAgICBDb21taXRUcmFuc2FjdGlvbihXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBwZW5k
aW5nUmVxdWVzdENvdW50KQogICAgIERpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5z
YWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OklE
QlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZpZXIpCiAgICAgQ3JlYXRlT2Jq
ZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklE
Qk9iamVjdFN0b3JlSW5mbyBpbmZvKQogICAgIERlbGV0ZU9iamVjdFN0b3JlKFdlYkNvcmU6OklE
QlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBTdHJpbmcgb2JqZWN0U3RvcmVOYW1lKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURC
Q29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggZjA2Mjk3NWU0
MzA1MjVjOWFkOWZiZGMzNWVmNjA1OTdkNmFmZjA1OC4uMDRjMjQxMGYzNWFkY2MwNDZjNTQwNmFm
MGNjZTJmZDBlODQxYWRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Rh
dGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXIuY3BwCkBAIC05NSw5ICs5NSw5IEBAIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyOjphYm9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhCiAg
ICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpBYm9ydFRyYW5zYWN0aW9uKHRyYW5zYWN0
aW9uSWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29t
bWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIpCit2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rp
b24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVp
bnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURC
U2VydmVyOjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIpKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkNvbW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgcGVuZGluZ1JlcXVlc3RDb3VudCkpOwogfQogCiB2b2lkIFdlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlcjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24o
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDQ0MTA4NTEwZGYyZDIwOGYyYjZhYWQwNzFhN2Ni
N2Y5YWYxMDcwOGUuLmVkMTE2YTNmZmZiY2NjMDg0NzJmM2FhNjVhMmYzZTk1ZWEyNTUyYWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCkBAIC01NSw3ICs1
NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJ
REJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkRhdGFiYXNlKGNvbnN0IFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CiAgICAgdm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNv
bnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwotICAgIHZvaWQgY29t
bWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmlu
YWw7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KSBmaW5hbDsKICAgICB2
b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRh
dGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRl
bnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJPYmplY3RTdG9yZUluZm8mKSBm
aW5hbDsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAppbmRleCBl
ZmJmNGYyZGYzYjJiYWQzMDdlNzdlNGJhZWM5MmE5MzczNTY4NzY1Li44OWQ4MDhjOWRkZTg5MzY0
ZjVlN2FhMmIxM2RmODdkY2QwMjJhMTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcApAQCAtMjcwLDExICsyNzAsMTEgQEAgdm9p
ZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmFib3J0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURC
UmVzb3VyY2VJZGVudGlmaWVyJgogICAgIH0pOwogfQogCi12b2lkIEluUHJvY2Vzc0lEQlNlcnZl
cjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
JiByZXNvdXJjZUlkZW50aWZpZXIpCit2b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6Y29tbWl0VHJh
bnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXNvdXJjZUlk
ZW50aWZpZXIsIHVpbnQ2NF90IHBlbmRpbmdDb3VudFJlcXVlc3QpCiB7Ci0gICAgZGlzcGF0Y2hU
YXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHJlc291cmNlSWRlbnRp
ZmllciA9IHJlc291cmNlSWRlbnRpZmllci5pc29sYXRlZENvcHkoKV0geworICAgIGRpc3BhdGNo
VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXNvdXJjZUlkZW50
aWZpZXIgPSByZXNvdXJjZUlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCksIHBlbmRpbmdDb3VudFJl
cXVlc3RdIHsKICAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1fc2VydmVyTG9jayB9OwotICAgICAg
ICBtX3NlcnZlci0+Y29tbWl0VHJhbnNhY3Rpb24ocmVzb3VyY2VJZGVudGlmaWVyKTsKKyAgICAg
ICAgbV9zZXJ2ZXItPmNvbW1pdFRyYW5zYWN0aW9uKHJlc291cmNlSWRlbnRpZmllciwgcGVuZGlu
Z0NvdW50UmVxdWVzdCk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
U3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuaAppbmRleCA3M2VkOGNhMzhjZTZlZTkzNWViZTJj
N2IyOTM4ZGNiYzZiODk1MzE3Li5kMjA3NDFjODAyYWZlOWZhNjZiYTAxZjM2OWNjNDUyZWIxZTRi
NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNzSURC
U2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNl
cnZlci5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlbGV0ZURhdGFiYXNl
KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CiAgICAgdm9pZCBvcGVuRGF0
YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKSBmaW5hbDsKICAgICB2b2lkIGFi
b3J0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmlu
YWw7Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXImKSBmaW5hbDsKKyAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90IHBlbmRpbmdDb3VudFJlcXVl
c3QpIGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29y
ZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmluYWw7CiAgICAgdm9pZCBjcmVhdGVPYmplY3RT
dG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQk9i
amVjdFN0b3JlSW5mbyYpIGZpbmFsOwogICAgIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3Qg
V2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBTdHJpbmcmIG9iamVjdFN0b3JlTmFtZSkg
ZmluYWw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4NWNiNzMwNmZmYmUwOWFh
ZTMyNWE0YWNhMWFlMzRiN2IxOTYzMzkzLi5mODYxMDU1NTkwMjc4NDQxN2M5Mjg5ZmIyNmY1YjY0
NGM3MTg5MGMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAyMS0wNy0xNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODA2NTEyNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQt
dGhyb3cuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29t
bWl0LmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNy0xNSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCAnU3VibWl0RXZlbnQnIGludGVyZmFj
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGVmNjhiODVmNzNj
YmE2Yjk2N2ZlMmMxZGNiMWFlN2Y3MDI3Y2QyMDcuLmFiNjAzMjI0MDNlZGUzOTJhMTljNmU3OGUz
OTYzNmJjYTkwMGFkMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQW55IGVycm9ycyBpbiBjYWxsYmFja3MgdGhhdCBydW4g
YWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHdpbGwgbm90IHN0b3AgdGhlIGNvbW1pdCBmcm9tIGJl
aW5nIHByb2Nlc3NlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorUEFTUyBBbnkgZXJy
b3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBu
b3Qgc3RvcCB0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vzc2VkLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGIt
ZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0
LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBlZjY4Yjg1ZjczY2Jh
NmI5NjdmZTJjMWRjYjFhZTdmNzAyN2NkMjA3Li5hYjYwMzIyNDAzZWRlMzkyYTE5YzZlNzhlMzk2
MzZiY2E5MDBhZDA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQW55IGVycm9ycyBpbiBjYWxsYmFj
a3MgdGhhdCBydW4gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHdpbGwgbm90IHN0b3AgdGhlIGNv
bW1pdCBmcm9tIGJlaW5nIHByb2Nlc3NlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgor
UEFTUyBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBj
b21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vzc2VkLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQt
Y29tbWl0LmFueS1leHBlY3RlZC50eHQKaW5kZXggYzgxYjNmYjgxYThlY2VhNDZkN2IxYjk3ZDY5
Mzk4YjMzZDMxMGMzMy4uMzlkYzlmMWY0YTcwYWFhMjIzNWMxOTFlM2MyNmM2ODBjOTU3MDFmOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBs
aWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxNiBAQAogCi1GQUlMIEV4
cGxpY2l0bHkgY29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhu
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1p
dCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFu
c2FjdGlvbiBkb2VzIG5vdCBjYXVzZSBlcnJvcnMuIHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
QSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gYmVjb21lcyBpbmFjdGl2ZSBpbW1lZGlhdGVseS4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0
eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBp
cyBpbmFjdGl2ZSBpbiBmdXR1cmUgcmVxdWVzdCBjYWxsYmFja3MuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1p
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMg
dW5kZWZpbmVkKSIKLUZBSUwgUHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0IGFyZSBub3QgZnVsZmls
bGVkLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1p
dCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgY29tbWl0IG9u
IGFuIGFib3J0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLiBhc3NlcnRfdGhyb3dzX2RvbTogVGhlIHRy
YW5zYWN0aW9uIHNob3VsZCBoYXZlIGJlZW4gYWJvcnRlZC4gZnVuY3Rpb24gIigpID0+IHsgdHhu
LmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVk
KSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5
ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCi1GQUlMIENhbGxpbmcg
Y29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cy4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29t
bWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBp
cyB1bmRlZmluZWQpIgotRkFJTCBDYWxsaW5nIGFib3J0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0
aW9uIHRocm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJzaXN0aW5nIHRoZSBkYXRhLiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4
bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgdHhuLmNvbW1pdCgpIHdoZW4g
dHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4gYXNzZXJ0X3Rocm93c19kb206IFRoZSB0cmFu
c2FjdGlvbiBzaG91bGQgYmUgaW5hY3RpdmUgc28gY2FsbGluZyBjb21taXQgc2hvdWxkIHRocm93
LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVy
cm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0
eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZh
bGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhw
ZWN0ZWQgMTEKLUZBSUwgVHJhbnNhY3Rpb25zIHdpdGggc2FtZSBzY29wZSBzaG91bGQgc3RheSBp
biBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBjYWxscyBjb21taXQuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMi5jb21taXQoKScsICd0eG4yLmNvbW1p
dCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgVHJhbnNhY3Rpb25zIHRoYXQgZXhwbGljaXRseSBjb21t
aXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgotRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9ycyBwcm9wZXJs
eSBzaG91bGQgYmVoYXZlIGFzIGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQgY29tbWl0IGlzIGNh
bGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMS5jb21taXQgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScsICd0eG4xLmNvbW1pdCcgaXMgdW5kZWZpbmVk
KSIKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIEV4cGxp
Y2l0bHkgY29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQuCitQQVNTIGNvbW1pdCgp
IG9uIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gZG9lcyBub3QgY2F1c2UgZXJyb3JzLgor
UEFTUyBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGluYWN0aXZlIGltbWVkaWF0ZWx5
LgorUEFTUyBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBpbiBmdXR1cmUgcmVx
dWVzdCBjYWxsYmFja3MuCitQQVNTIFB1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUgbm90IGZ1
bGZpbGxlZC4KK1BBU1MgQ2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0
aHJvd3MuCitQQVNTIENhbGxpbmcgY29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRo
cm93cy4KK1BBU1MgQ2FsbGluZyBhYm9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJv
d3MgYW5kIGRvZXMgbm90IHByZXZlbnQgcGVyc2lzdGluZyB0aGUgZGF0YS4KK1BBU1MgQ2FsbGlu
ZyB0eG4uY29tbWl0KCkgd2hlbiB0eG4gaXMgaW5hY3RpdmUgc2hvdWxkIHRocm93LgorVElNRU9V
VCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3VsZCBzdGF5IGluIHByb2dyYW0gb3Jk
ZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4gVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBUcmFu
c2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFi
b3J0LgorTk9UUlVOIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Blcmx5
IHNob3VsZCBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBjb21taXQgaXMgY2Fs
bGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1p
dC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggYzgxYjNmYjgxYThlY2VhNDZkN2IxYjk3ZDY5Mzk4YjMzZDMxMGMz
My4uMzlkYzlmMWY0YTcwYWFhMjIzNWMxOTFlM2MyNmM2ODBjOTU3MDFmOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQt
Y29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDE2IEBACiAKLUZBSUwg
RXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0
eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29t
bWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBjb21taXQoKSBvbiBhIHZlcnNpb24gY2hhbmdlIHRy
YW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVycm9ycy4gdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKQotRkFJ
TCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGluYWN0aXZlIGltbWVkaWF0ZWx5LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywg
J3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9u
IGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29t
bWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBp
cyB1bmRlZmluZWQpIgotRkFJTCBQdXRzIGlzc3VlZCBhZnRlciBjb21taXQgYXJlIG5vdCBmdWxm
aWxsZWQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29t
bWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyBjb21taXQg
b24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIGFzc2VydF90aHJvd3NfZG9tOiBUaGUg
dHJhbnNhY3Rpb24gc2hvdWxkIGhhdmUgYmVlbiBhYm9ydGVkLiBmdW5jdGlvbiAiKCkgPT4geyB0
eG4uY29tbWl0KCk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmlu
ZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVy
dHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZBSUwgQ2FsbGlu
ZyBjb21taXQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNh
Y3Rpb24gdGhyb3dzIGFuZCBkb2VzIG5vdCBwcmV2ZW50IHBlcnNpc3RpbmcgdGhlIGRhdGEuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAn
dHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyB0eG4uY29tbWl0KCkgd2hl
biB0eG4gaXMgaW5hY3RpdmUgc2hvdWxkIHRocm93LiBhc3NlcnRfdGhyb3dzX2RvbTogVGhlIHRy
YW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNvbW1pdCBzaG91bGQgdGhy
b3cuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywg
J3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBl
eHBlY3RlZCAxMQotRkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3VsZCBzdGF5
IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4y
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4yLmNvbW1pdCgpJywgJ3R4bjIuY29t
bWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNv
bW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEuY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5jb21taXQnIGlzIHVu
ZGVmaW5lZCkiCi1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Bl
cmx5IHNob3VsZCBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBjb21taXQgaXMg
Y2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0JyBpcyB1bmRlZmlu
ZWQpIgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1MgRXhw
bGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4KK1BBU1MgY29tbWl0
KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBkb2VzIG5vdCBjYXVzZSBlcnJvcnMu
CitQQVNTIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1tZWRpYXRl
bHkuCitQQVNTIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSBy
ZXF1ZXN0IGNhbGxiYWNrcy4KK1BBU1MgUHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0IGFyZSBub3Qg
ZnVsZmlsbGVkLgorUEFTUyBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9u
IHRocm93cy4KK1BBU1MgQ2FsbGluZyBjb21taXQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24g
dGhyb3dzLgorUEFTUyBDYWxsaW5nIGFib3J0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRo
cm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJzaXN0aW5nIHRoZSBkYXRhLgorUEFTUyBDYWxs
aW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cuCitUSU1F
T1VUIFRyYW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hvdWxkIHN0YXkgaW4gcHJvZ3JhbSBv
cmRlciwgZXZlbiBpZiBvbmUgY2FsbHMgY29tbWl0LiBUZXN0IHRpbWVkIG91dAorTk9UUlVOIFRy
YW5zYWN0aW9ucyB0aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFuZCBoYXZlIGVycm9ycyBzaG91bGQg
YWJvcnQuCitOT1RSVU4gVHJhbnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBlcnJvcnMgcHJvcGVy
bHkgc2hvdWxkIGJlaGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFuIGV4cGxpY2l0IGNvbW1pdCBpcyBj
YWxsZWQgaW4gYW4gb25lcnJvciBoYW5kbGVyLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKaW5kZXggZGE0YjBlYjdlYmI1
NmE1MGJiNmIwYTVjNzEzMTE2NWI2ZmIwYzlkZC4uNGJkNmUwOTdlMTJkNTVlYmMwNzg5NWQ4NWNl
ODM5ODRlMDJmZjZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
bGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMTg5LDcgKzE4OSw3IEBAIEZBSUwgSURCVHJh
bnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZHVyYWJpbGl0eSBhc3NlcnRfdHJ1ZTogVGhl
IHByb3RvdHlwZSBvCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGRi
CiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yCiBQQVNTIElE
QlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIG9iamVjdFN0b3JlKERPTVN0cmluZykK
LUZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY29tbWl0KCkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3Rh
dGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY29tbWl0IiBtaXNzaW5nCitQQVNTIElE
QlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbW1pdCgpCiBQQVNTIElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGFib3J0KCkKIFBBU1MgSURCVHJhbnNhY3Rpb24g
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydAogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmNvbXBsZXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA0YjY4
YmQ2ZThiY2YyMTk1NWQ3YWE4ZDNmN2U2ZDI0ZWU3MWVlYThiLi5jMTA0M2M2NjY4MWU0NzU1MWUx
YTBiNjE1NTAxYWRlYmIzNGNiNzNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTE4OSw3
ICsxODksNyBAQCBGQUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGR1cmFi
aWxpdHkgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgbwogUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBkYgogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBlcnJvcgogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBv
YmplY3RTdG9yZShET01TdHJpbmcpCi1GQUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3Bl
cmF0aW9uIGNvbW1pdCgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImNv
bW1pdCIgbWlzc2luZworUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBj
b21taXQoKQogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhYm9ydCgp
CiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uYWJvcnQKIFBBU1Mg
SURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb21wbGV0ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433689</attachid>
            <date>2021-07-16 12:00:11 -0700</date>
            <delta_ts>2021-07-19 12:26:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227815-20210716120010.patch</filename>
            <type>text/plain</type>
            <size>58512</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMyZjEzNjFiZDJjZWNj
ZmE4NWQ4MTRiYTE3M2RlMDA1NDMxNTUzOC4uYzFhZWM1YzgyNjFiNzgwZWNhMjZiOGU1MGMyNjkx
YWE5MDM4YzE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTA3LTE2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBJREJUcmFu
c2FjdGlvbi5jb21taXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3ODE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDY1MTI3MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczov
L3d3dy53My5vcmcvVFIvSW5kZXhlZERCLyNkb20taWRidHJhbnNhY3Rpb24tY29tbWl0CisKKyAg
ICAgICAgQ29tbWl0IHJlcXVlc3QgZm9yIElEQlRyYW5zYWN0aW9uIGlzIGNyZWF0ZWQgYXV0b21h
dGljYWxseSBhZnRlciBhbGwgaXRzIHJlcXVlc3RzIGFyZSBjb21wbGV0ZWQgYW5kIHN1Y2Nlc3Mg
CisgICAgICAgIGV2ZW50cyBvZiB0aG9zZSByZXF1ZXN0cyBhcmUgZmlyZWQuIElEQlRyYW5zYWN0
aW9uLmNvbW1pdCgpIGxldHMgY2xpZW50IGNyZWF0ZSBjb21taXQgcmVxdWVzdCwgd2l0aG91dCB3
YWl0aW5nCisgICAgICAgIGZvciB0aGUgcmVzdWx0IG9mIHJlcXVlc3RzLCBzbyB0aGUgY29tbWl0
IGNhbiBoYXBwZW4gc29vbmVyLiAKKworICAgICAgICBJbiBvdXIgaW1wbGVtZW50YXRpb24sIGlm
IHBlbmRpbmcgcmVxdWVzdHMgYmVmb3JlIHRoZSBjb21taXQgcmVxdWVzdCBhcmUgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseSwgY29tbWl0IHJlcXVlc3QgCisgICAgICAgIHdpbGwgYmUgZXhlY3V0ZWQg
ZGlyZWN0bHkgaW4gdGhlIGJhY2tlbmQgYW5kIGRvc2Ugbm90IGFmZmVjdCBieSB0aGluZ3MgaGFw
cGVuaW5nIGluIHJlcXVlc3QgZXZlbnQgaGFuZGxlci4gSWYgCisgICAgICAgIHNvbWUgcGVuZGlu
ZyByZXF1ZXN0IGJlZm9yZSB0aGUgY29tbWl0IHJlcXVlc3QgaGFzIGVycm9yLCB0aGUgY29tbWl0
IHJlcXVlc3Qgd2lsbCBiZSB0cmVhdGVkIGFzIGFib3J0IHJlcXVlc3QsIAorICAgICAgICBhcyBj
b21taXQoKSBtZWFucyBubyBjbGllbnQgb3BlcmF0aW9uLCBpbmNsdWRpbmcgZXJyb3IgaGFuZGxp
bmcsIHNob3VsZCBoYXBwZW4gYWZ0ZXIgaXQuCisKKyAgICAgICAgUmViYXNlbGluZWQgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGlkU3RhcnRUcmFuc2FjdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJl
cXVlc3Q6OndpbGxBYm9ydFRyYW5zYWN0aW9uQWZ0ZXJEaXNwYXRjaGluZ0V2ZW50IGNvbnN0KTog
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QlRyYW5zYWN0aW9uOjphYm9ydER1ZVRvRmFpbGVkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbjo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmFib3J0SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnN0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmhhbmRsZU9wZXJhdGlvbnND
b21wbGV0ZWRPblNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y29t
bWl0KTogSWYgY29tbWl0KCkgaXMgY2FsbGVkIGluIGV2ZW50IGhhbmRsZXIgZm9yIGVycm9yIGV2
ZW50LCBhbmQgdGhlIGVycm9yIGlzIAorICAgICAgICBoYW5kbGVkIGJlZm9yZSB0aGUgY2FsbCwg
d2Ugd2lsbCBjcmVhdGUgYSBjb21taXQgcmVxdWV0LiBPdGhlcndpc2UsIGl0IGlzIGlnbm9yZWQg
YXMgdHJhbnNhY3Rpb24gd2lsbCBhYm9ydAorICAgICAgICBkdWUgdG8gdGhlIGVycm9yLgorICAg
ICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbW1pdEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlcik6CisgICAgICAgIChXZWJD
b3JlOjpJREJUcmFuc2FjdGlvbjo6ZGlkQ29tbWl0KTogZGlkQ29tbWl0IHVzZWQgdG8gYmUgY2Fs
bGVkIGFmdGVyIGFsbCByZXF1ZXN0cyBhcmUgZG9uZSBhbmQgZXZlbnRzIGFyZSAKKyAgICAgICAg
ZmlyZWQuIEFzIGNvbW1pdCByZXF1ZXN0IGNhbiBub3cgYmUgaGFuZGxlZCBhbmQgcmVwbGllZCBi
ZWZvcmUgb3RoZXIgcmVxdWVzdHMsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGNvbXBsZXRlIAorICAg
ICAgICBldmVudCBvZiB0cmFuc2FjdGlvbiBpcyBmaXJlZCBhZnRlciBzdWNjZXNzIGV2ZW50IG9m
IHJlcXVlc3RzLCBieSB0cmFja2luZyBjb21wbGV0aW9uIG9mIHRoZSBsYXN0IHJlcXVlc3QgYmVm
b3JlIAorICAgICAgICBjb21taXQgcmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpvcGVyYXRpb25Db21wbGV0ZWRPbkNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6YXV0b0NvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6aW50ZXJuYWxBYm9ydCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbik6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OmNvbW1pdFRyYW5z
YWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmg6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0
ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6cmVuYW1lT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjbGVhck9iamVjdFN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbjo6Y3JlYXRlSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpkZWxldGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
cHV0T3JBZGQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRBbGxSZWNvcmRzKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0Q291bnQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpkZWxldGVSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6aXRlcmF0ZUN1cnNvcik6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNh
Y3Rpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKwogMjAyMS0wNy0x
NiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dT
dHJlYW1lcl0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciBhbmQgVmlkZW9FbmNvZGVyIGFyZSBu
b3QgbGlid2VicnRjLXNwZWNpZmljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4Mzk0ZjU2ODY0NmQ4NGMzMzI1NTAz
MzNmZTJlYzJlMjQwNzdjMjEuLjU2OTc1MGZkMWRlNmY4ZDNiNWIyZWRkNjFjZWQzYzc4ZGQ2OTRi
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDctMTYgIFNpaHVpIExpdSAgPHNp
aHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IElEQlRyYW5zYWN0aW9uLmNv
bW1pdCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Mjc4MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNjUxMjcwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5kZXhl
ZERCL1dlYklEQlNlcnZlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlcjo6Y29t
bWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJ
REJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2Vy
dmVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisKIDIw
MjEtMDctMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdW1dQRV0gUFNPTjogYWNjZXNzaWJpbGl0eSBkb2Vzbid0IHdvcmsgYWZ0ZXIg
YSBjcm9zcyBzaXRlIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXggYTQwN2JjYjAy
NjhjOWJjZTk1ZmJjMGQ5NTI0MzljMDEzZTc2ODA4Ni4uMmZkYTlmODgyZDBmY2I4NGMxNjNlOGVl
YWY5ZjYzOGVkNmUzZjg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNy0xNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBJ
bXBsZW1lbnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODA2NTEyNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHA6CisgICAgICAgIChJblByb2Nlc3NJ
REJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBTdG9yYWdlL0luUHJvY2Vz
c0lEQlNlcnZlci5oOgorCiAyMDIxLTA3LTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgQnJvYWRjYXN0Q2hhbm5lbCBi
ZWhpbmQgYSBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkRhdGFiYXNlLmNwcAppbmRleCA4ZmVmNzllMWM0MTU1MWIzZGVhOWNlMWY5OGI2NzNi
NjdlZDY2NTU1Li5hNGJkNTQyMjQ3ZWNjYzE2YjI2N2IyMjc5ODYzYTlmMzU0ZTEzYTA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCkBA
IC0zNTYsOCArMzU2LDkgQEAgdm9pZCBJREJEYXRhYmFzZTo6ZGlkU3RhcnRUcmFuc2FjdGlvbihJ
REJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAgICAgQVNTRVJUKCFtX3ZlcnNpb25DaGFuZ2VU
cmFuc2FjdGlvbik7CiAgICAgQVNTRVJUKGNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2Nh
bERhdGEob3JpZ2luVGhyZWFkKCkpKTsKIAotICAgIC8vIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUg
Y2xpZW50IHRvIGhhdmUgYWJvcnRlZCBhIHRyYW5zYWN0aW9uIGJlZm9yZSB0aGUgc2VydmVyIHJl
cGxpZXMgYmFjayB0aGF0IGl0IGhhcyBzdGFydGVkLgotICAgIGlmIChtX2Fib3J0aW5nVHJhbnNh
Y3Rpb25zLmNvbnRhaW5zKHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCkpKQorICAgIC8v
IEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgY2xpZW50IHRvIGhhdmUgYWJvcnRlZCBvciBjb21taXR0
ZWQgYSB0cmFuc2FjdGlvbgorICAgIC8vIGJlZm9yZSB0aGUgc2VydmVyIHJlcGxpZXMgYmFjayB0
aGF0IGl0IGhhcyBzdGFydGVkLgorICAgIGlmIChtX2Fib3J0aW5nVHJhbnNhY3Rpb25zLmNvbnRh
aW5zKHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCkpIHx8IG1fY29tbWl0dGluZ1RyYW5z
YWN0aW9ucy5jb250YWlucyh0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigpKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgbV9hY3RpdmVUcmFuc2FjdGlvbnMuc2V0KHRyYW5zYWN0aW9uLmlu
Zm8oKS5pZGVudGlmaWVyKCksICZ0cmFuc2FjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCmluZGV4IDc4ZWMzZjk2NTg2NGFiNGFlZDcy
YTk2NjViMWM4N2U5NDcwM2Y5ZGIuLjM3ZDlhNmE0OTNkZjE4OGE4NjNmNTkyYWY1N2ZiNmM2MDRi
NjNjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVl
c3QuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50
KEV2ZW50JiBldmVudCkKICAgICBBU1NFUlQoIWlzQ29udGV4dFN0b3BwZWQoKSk7CiAKICAgICBh
dXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKLSAgICBtX2Rpc3BhdGNoaW5nRXZl
bnQgPSB0cnVlOworICAgIG1fZGlzcGF0Y2hpbmdFdmVudCA9ICZldmVudDsKIAogICAgIGlmIChl
dmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLmJsb2NrZWRFdmVudCkKICAgICAgICAgbV9yZWFk
eVN0YXRlID0gUmVhZHlTdGF0ZTo6RG9uZTsKQEAgLTMyMCw3ICszMjAsNyBAQCB2b2lkIElEQlJl
cXVlc3Q6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQogICAgIGlmICghbV9oYXNQZW5kaW5n
QWN0aXZpdHkpCiAgICAgICAgIG1faGFzUGVuZGluZ0FjdGl2aXR5ID0gaXNPcGVuREJSZXF1ZXN0
KCkgJiYgKGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkudXBncmFkZW5lZWRlZEV2ZW50IHx8
IGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkuYmxvY2tlZEV2ZW50KTsKIAotICAgIG1fZGlz
cGF0Y2hpbmdFdmVudCA9IGZhbHNlOworICAgIG1fZGlzcGF0Y2hpbmdFdmVudCA9IG51bGxwdHI7
CiAgICAgaWYgKCFtX3RyYW5zYWN0aW9uKQogICAgICAgICByZXR1cm47CiAKQEAgLTU2Nyw1ICs1
NjcsMTUgQEAgdm9pZCBJREJSZXF1ZXN0OjpjbGVhcldyYXBwZXJzKCkKICAgICApOwogfQogCiti
b29sIElEQlJlcXVlc3Q6OndpbGxBYm9ydFRyYW5zYWN0aW9uQWZ0ZXJEaXNwYXRjaGluZ0V2ZW50
KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZGlzcGF0Y2hpbmdFdmVudCkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaWYgKG1faGFzVW5jYXVnaHRFeGNlcHRpb24pCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgcmV0dXJuICFtX2Rpc3BhdGNoaW5nRXZlbnQtPmRlZmF1bHRQcmV2ZW50
ZWQoKSAmJiBtX2Rpc3BhdGNoaW5nRXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JF
dmVudDsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IDMxZWM2OTI0OWYyYzA3MThhZGRmNmVj
ZjBmMzg3YWRhMzI4ZDc0YjYuLjU5MWY0OGQ3MjI5Y2FiZjQzNmJhMmJjOWI2OTJhNDRkMWJiMTBh
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVl
c3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgK
QEAgLTEyNSw2ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgSW5kZXhlZERCOjpSZXF1ZXN0VHlwZSBy
ZXF1ZXN0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdFR5cGU7IH0KIAogICAgIHZvaWQg
c2V0VHJhbnNhY3Rpb25PcGVyYXRpb25JRCh1aW50NjRfdCB0cmFuc2FjdGlvbk9wZXJhdGlvbklE
KSB7IG1fY3VycmVudFRyYW5zYWN0aW9uT3BlcmF0aW9uSUQgPSB0cmFuc2FjdGlvbk9wZXJhdGlv
bklEOyB9CisgICAgYm9vbCB3aWxsQWJvcnRUcmFuc2FjdGlvbkFmdGVyRGlzcGF0Y2hpbmdFdmVu
dCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CiAgICAgSURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkmLCBJbmRleGVkREI6OlJlcXVl
c3RUeXBlKTsKQEAgLTE5Nyw4ICsxOTgsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3Nob3Vs
ZEV4cG9zZVRyYW5zYWN0aW9uVG9ET00geyB0cnVlIH07CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdB
Y3Rpdml0eSB7IHRydWUgfTsKLSAgICBib29sIG1fZGlzcGF0Y2hpbmdFdmVudCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2hhc1VuY2F1Z2h0RXhjZXB0aW9uIHsgZmFsc2UgfTsKKyAgICBSZWZQdHI8
RXZlbnQ+IG1fZGlzcGF0Y2hpbmdFdmVudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAppbmRleCBlNmNhNTI3ZDhkZWVjYWJiNGZhZjM2NDk2YzlhNGQwYThmZWVlZGFlLi5lYjhh
MzExZGMzYjMxMmYzYTFlNmIwOTljNzMyYzlmNTcwYWJkN2IwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0xOTIsNyAr
MTkyLDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnREdWVUb0ZhaWxlZFJlcXVlc3QoRE9N
RXhjZXB0aW9uJiBlcnJvcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9kb21FcnJvciA9ICZl
cnJvcjsKLSAgICBpbnRlcm5hbEFib3J0KCk7CisgICAgYWJvcnRJbnRlcm5hbCgpOwogfQogCiB2
b2lkIElEQlRyYW5zYWN0aW9uOjp0cmFuc2l0aW9uZWRUb0ZpbmlzaGluZyhJbmRleGVkREI6OlRy
YW5zYWN0aW9uU3RhdGUgc3RhdGUpCkBAIC0yMTIsMTQgKzIxMiwxNCBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKQogICAgIGlmIChpc0ZpbmlzaGVkT3JGaW5pc2hp
bmcoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiRmFp
bGVkIHRvIGV4ZWN1dGUgJ2Fib3J0JyBvbiAnSURCVHJhbnNhY3Rpb24nOiBUaGUgdHJhbnNhY3Rp
b24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQuIl9zIH07CiAKLSAgICBpbnRlcm5hbEFib3J0KCk7
CisgICAgYWJvcnRJbnRlcm5hbCgpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBJREJU
cmFuc2FjdGlvbjo6aW50ZXJuYWxBYm9ydCgpCit2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9ydElu
dGVybmFsKCkKIHsKLSAgICBMT0coSW5kZXhlZERCLCAiSURCVHJhbnNhY3Rpb246OmludGVybmFs
QWJvcnQiKTsKKyAgICBMT0coSW5kZXhlZERCLCAiSURCVHJhbnNhY3Rpb246OmFib3J0SW50ZXJu
YWwiKTsKICAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YSht
X2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwogICAgIEFTU0VSVCghaXNGaW5pc2hlZE9yRmlu
aXNoaW5nKCkpOwogCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6c3Rv
cCgpCiAgICAgaWYgKGlzRmluaXNoZWRPckZpbmlzaGluZygpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpbnRlcm5hbEFib3J0KCk7CisgICAgYWJvcnRJbnRlcm5hbCgpOwogfQogCiBib29sIElE
QlRyYW5zYWN0aW9uOjppc0FjdGl2ZSgpIGNvbnN0CkBAIC00NTYsMzEgKzQ1Niw1NiBAQCB2b2lk
IElEQlRyYW5zYWN0aW9uOjpmaW5pc2hlZERpc3BhdGNoRXZlbnRGb3JSZXF1ZXN0KElEQlJlcXVl
c3QmIHJlcXVlc3QpCiAgICAgaGFuZGxlT3BlcmF0aW9uc0NvbXBsZXRlZE9uU2VydmVyKCk7CiB9
CiAKLXZvaWQgSURCVHJhbnNhY3Rpb246OmNvbW1pdCgpCitFeGNlcHRpb25Pcjx2b2lkPiBJREJU
cmFuc2FjdGlvbjo6Y29tbWl0KCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCVHJhbnNhY3Rp
b246OmNvbW1pdCIpOwogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9j
YWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CisKKyAgICBpZiAoIWlzQWN0aXZl
KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkZhaWxl
ZCB0byBleGVjdXRlICdjb21taXQnIG9uICdJREJUcmFuc2FjdGlvbic6IFRoZSB0cmFuc2FjdGlv
biBpcyBpbmFjdGl2ZS4iX3MgfTsKKworICAgIGlmIChtX2N1cnJlbnRseUNvbXBsZXRpbmdSZXF1
ZXN0ICYmIG1fY3VycmVudGx5Q29tcGxldGluZ1JlcXVlc3QtPndpbGxBYm9ydFRyYW5zYWN0aW9u
QWZ0ZXJEaXNwYXRjaGluZ0V2ZW50KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBjb21t
aXRJbnRlcm5hbCgpOworCisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBJREJUcmFuc2FjdGlv
bjo6Y29tbWl0SW50ZXJuYWwoKQoreworICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlv
bjo6Y29tbWl0SW50ZXJuYWwiKTsKKyAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1Ro
cmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwogICAgIEFTU0VSVCgh
aXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpOwogCiAgICAgdHJhbnNpdGlvbmVkVG9GaW5pc2hpbmco
SW5kZXhlZERCOjpUcmFuc2FjdGlvblN0YXRlOjpDb21taXR0aW5nKTsKICAgICBtX2RhdGFiYXNl
LT53aWxsQ29tbWl0VHJhbnNhY3Rpb24oKnRoaXMpOwogCiAgICAgTE9HKEluZGV4ZWREQk9wZXJh
dGlvbnMsICJJREIgY29tbWl0IG9wZXJhdGlvbjogVHJhbnNhY3Rpb24gJXMiLCBpbmZvKCkuaWRl
bnRpZmllcigpLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLSAgICBzY2hlZHVsZU9w
ZXJhdGlvbihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uSW1wbDo6Y3JlYXRlKCp0aGlz
LCBudWxscHRyLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYXV0byYgb3BlcmF0
aW9uKSB7Ci0gICAgICAgIHByb3RlY3RlZFRoaXMtPmNvbW1pdE9uU2VydmVyKG9wZXJhdGlvbik7
CisKKyAgICB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50ID0gMDsKKyAgICBmb3IgKGF1dG8g
cmVxdWVzdCA6IG1fb3BlblJlcXVlc3RzKSB7CisgICAgICAgIGlmICghcmVxdWVzdC0+aXNEb25l
KCkpCisgICAgICAgICAgICArK3BlbmRpbmdSZXF1ZXN0Q291bnQ7CisgICAgfQorCisgICAgc2No
ZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbkltcGw6OmNyZWF0
ZSgqdGhpcywgbnVsbHB0ciwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcGVuZGlu
Z1JlcXVlc3RDb3VudF0gKGF1dG8mIG9wZXJhdGlvbikgeworICAgICAgICBwcm90ZWN0ZWRUaGlz
LT5jb21taXRPblNlcnZlcihvcGVyYXRpb24sIHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIH0p
KTsKIH0KIAotdm9pZCBJREJUcmFuc2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpU
cmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uKQordm9pZCBJREJUcmFuc2FjdGlvbjo6Y29t
bWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uLCB1
aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQogewogICAgIExPRyhJbmRleGVkREIsICJJREJU
cmFuc2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIiKTsKICAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVh
ZEFjY2Vzc1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwogCi0g
ICAgbV9kYXRhYmFzZS0+Y29ubmVjdGlvblByb3h5KCkuY29tbWl0VHJhbnNhY3Rpb24oKnRoaXMp
OworICAgIG1fZGF0YWJhc2UtPmNvbm5lY3Rpb25Qcm94eSgpLmNvbW1pdFRyYW5zYWN0aW9uKCp0
aGlzLCBwZW5kaW5nUmVxdWVzdENvdW50KTsKIAogICAgIEFTU0VSVCghbV90cmFuc2FjdGlvbk9w
ZXJhdGlvbnNJblByb2dyZXNzUXVldWUuaXNFbXB0eSgpKTsKICAgICBBU1NFUlQobV90cmFuc2Fj
dGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUubGFzdCgpID09ICZvcGVyYXRpb24pOwogICAg
IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLnJlbW92ZUxhc3QoKTsKKyAg
ICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmlzRW1wdHkoKSkK
KyAgICAgICAgbV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21taXQgPSBtX3RyYW5z
YWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5sYXN0KCktPmlkZW50aWZpZXIoKTsKIAog
ICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLmNvbnRhaW5zKG9wZXJhdGlvbi5p
ZGVudGlmaWVyKCkpKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLnJlbW92ZShvcGVy
YXRpb24uaWRlbnRpZmllcigpKTsKQEAgLTU1MSw2ICs1NzYsMTIgQEAgdm9pZCBJREJUcmFuc2Fj
dGlvbjo6ZGlkQ29tbWl0KGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICBBU1NFUlQoY2FuQ3Vy
cmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQo
KSkpOwogICAgIEFTU0VSVChtX3N0YXRlID09IEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZTo6
Q29tbWl0dGluZyk7CiAKKyAgICAvLyBEZWxheSBjb21taXQgdW50aWwgbGFzdCByZXF1ZXN0IGlz
IGNvbXBsZXRlZC4KKyAgICBpZiAobV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21t
aXQgJiYgbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5jb250YWlucygqbV9sYXN0VHJhbnNhY3Rp
b25PcGVyYXRpb25CZWZvcmVDb21taXQpKSB7CisgICAgICAgIG1fY29tbWl0UmVzdWx0ID0gZXJy
b3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpIHsK
ICAgICAgICAgbV9kYXRhYmFzZS0+ZGlkQ29tbWl0VHJhbnNhY3Rpb24oKnRoaXMpOwogICAgICAg
ICBmaXJlT25Db21wbGV0ZSgpOwpAQCAtMTM4Nyw2ICsxNDE4LDExIEBAIHZvaWQgSURCVHJhbnNh
Y3Rpb246Om9wZXJhdGlvbkNvbXBsZXRlZE9uQ2xpZW50KElEQkNsaWVudDo6VHJhbnNhY3Rpb25P
cGVyYXRpb24mCiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5yZW1vdmUob3BlcmF0aW9u
LmlkZW50aWZpZXIoKSk7CiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVl
dWUucmVtb3ZlRmlyc3QoKTsKIAorICAgIGlmIChtX2NvbW1pdFJlc3VsdCAmJiBvcGVyYXRpb24u
aWRlbnRpZmllcigpID09ICptX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNvbW1pdCkg
eworICAgICAgICBkaWRDb21taXQoKm1fY29tbWl0UmVzdWx0KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmIChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5p
c0VtcHR5KCkpCiAgICAgICAgIGhhbmRsZVBlbmRpbmdPcGVyYXRpb25zKCk7CiAKQEAgLTE1MDgs
NyArMTU0NCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmF1dG9Db21taXQoKQogICAgICAgICBy
ZXR1cm47CiAgICAgQVNTRVJUKCFtX2N1cnJlbnRseUNvbXBsZXRpbmdSZXF1ZXN0KTsKIAotICAg
IGNvbW1pdCgpOworICAgIGNvbW1pdEludGVybmFsKCk7CiB9CiAKIHVpbnQ2NF90IElEQlRyYW5z
YWN0aW9uOjpnZW5lcmF0ZU9wZXJhdGlvbklEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IDdmYTNmN2YwMzk2YmU3OTdhNTU4
YzQxZmY3MGY2NmFmNTY1MDBkMjMuLjc3MTA4NmQzNTNlYmM1ZTBjMmI2MzNiYjNiYTlmYjJmZjJm
OWUzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaApAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6CiAgICAgRE9NRXhjZXB0aW9uKiBl
cnJvcigpIGNvbnN0OwogICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJPYmplY3RTdG9yZT4+IG9iamVj
dFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYWJvcnQo
KTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21taXQoKTsKIAogICAgIEV2ZW50VGFyZ2V0SW50
ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gSURCVHJh
bnNhY3Rpb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0
aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KQEAgLTE2Miw5ICsxNjMs
OCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBmaW5hbDsKICAgICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5h
bDsKIAotICAgIHZvaWQgY29tbWl0KCk7Ci0KLSAgICB2b2lkIGludGVybmFsQWJvcnQoKTsKKyAg
ICB2b2lkIGNvbW1pdEludGVybmFsKCk7CisgICAgdm9pZCBhYm9ydEludGVybmFsKCk7CiAgICAg
dm9pZCBub3RpZnlEaWRBYm9ydChjb25zdCBJREJFcnJvciYpOwogICAgIHZvaWQgZmluaXNoQWJv
cnRPckNvbW1pdCgpOwogICAgIHZvaWQgYWJvcnRJblByb2dyZXNzT3BlcmF0aW9ucyhjb25zdCBJ
REJFcnJvciYpOwpAQCAtMTgxLDcgKzE4MSw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8SURCUmVx
dWVzdD4gcmVxdWVzdEluZGV4UmVjb3JkKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBJREJJbmRleCYs
IEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKTsKIAot
ICAgIHZvaWQgY29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYp
OworICAgIHZvaWQgY29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlv
biYsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIHZvaWQgYWJvcnRPblNlcnZl
ckFuZENhbmNlbFJlcXVlc3RzKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mKTsKIAog
ICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmVPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9u
T3BlcmF0aW9uJiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJik7CkBAIC0yNTIsNyArMjUyLDYg
QEAgcHJpdmF0ZToKICAgICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJh
dGlvbj4+IG1fYWJvcnRRdWV1ZTsKICAgICBFdmVudCogbV9hYm9ydE9yQ29tbWl0RXZlbnQ7CiAg
ICAgSGFzaE1hcDxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4sIElEQlJl
c3VsdERhdGE+IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25SZXN1bHRNYXA7Ci0KICAgICBIYXNoTWFw
PElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVy
YXRpb24+PiBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwOwogCiAgICAgbXV0YWJsZSBMb2NrIG1f
cmVmZXJlbmNlZE9iamVjdFN0b3JlTG9jazsKQEAgLTI2Niw2ICsyNjUsOCBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9kaWREaXNwYXRjaEFib3J0T3JDb21taXQgeyBmYWxzZSB9OwogCiAgICAgdWlu
dDY0X3QgbV9sYXN0V3JpdGVPcGVyYXRpb25JRCB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPElE
QlJlc291cmNlSWRlbnRpZmllcj4gbV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21t
aXQ7CisgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4gbV9jb21taXRSZXN1bHQ7CiB9OwogCiBj
bGFzcyBUcmFuc2FjdGlvbkFjdGl2YXRvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKaW5kZXggNTc0YTZiNjI4MjhiMzA5NDg1
NWVhZDk3OWYwZDNmYzJjZTQ0ZTNiNy4uMzc3MTgwZmM4MjU3OTJmYTFkNDBlZWQyM2UyMTFlNWQ5
MjE4NmY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uLmlkbApAQCAtMzgsOSArMzgsOCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01FeGNlcHRpb24/IGVycm9yOwogCiAgICAgSURCT2JqZWN0U3RvcmUgb2JqZWN0U3RvcmUo
RE9NU3RyaW5nIG5hbWUpOwotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgJ2NvbW1pdCcuCi0gICAg
Ly8gdW5kZWZpbmVkIGNvbW1pdCgpOwogICAgIHVuZGVmaW5lZCBhYm9ydCgpOworICAgIHVuZGVm
aW5lZCBjb21taXQoKTsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXJzOgogICAgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25hYm9ydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKaW5kZXggNDZl
ZGRhOWE4YzEyMDE2MjIzMDI2ZjVlOGIxMzkwNTVhNjA5MDQ4MC4uMzU2YWIwNTc2MTAzY2JhYmRm
YmIyZjEyNDJhZjk1OTQ5ODVmMDEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKQEAg
LTM0NSw3ICszNDUsNyBAQCB2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6ZGlkU3RhcnRUcmFuc2Fj
dGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYQogICAgIHRyYW5zYWN0aW9u
LT5wZXJmb3JtQ2FsbGJhY2tPbk9yaWdpblRocmVhZCgqdHJhbnNhY3Rpb24sICZJREJUcmFuc2Fj
dGlvbjo6ZGlkU3RhcnQsIGVycm9yKTsKIH0KIAotdm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmNv
bW1pdFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbikKK3ZvaWQgSURCQ29u
bmVjdGlvblByb3h5Ojpjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24sIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAgICAgewogICAgICAgICBMb2Nr
ZXIgbG9ja2VyIHsgbV90cmFuc2FjdGlvbk1hcExvY2sgfTsKQEAgLTM1Myw3ICszNTMsNyBAQCB2
b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24m
IHRyYW5zYWN0aW9uKQogICAgICAgICBtX2NvbW1pdHRpbmdUcmFuc2FjdGlvbnMuc2V0KHRyYW5z
YWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCksICZ0cmFuc2FjdGlvbik7CiAgICAgfQogCi0gICAg
Y2FsbENvbm5lY3Rpb25Pbk1haW5UaHJlYWQoJklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0
VHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCkpOworICAgIGNhbGxD
b25uZWN0aW9uT25NYWluVGhyZWFkKCZJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5z
YWN0aW9uLCB0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigpLCBwZW5kaW5nUmVxdWVzdENv
dW50KTsKIH0KIAogdm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmRpZENvbW1pdFRyYW5zYWN0aW9u
KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25z
dCBJREJFcnJvciYgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKaW5kZXggZmRjM2FkMzZm
OWIzZGUyMjljNGQ1Yjk5Mjk1NDY0YmYwNzQ3NWRkNi4uNjU4YWVmNjc4OWRkZDBjYzYyYWQ2MGFk
MjcxNDE4MmJmYTlhNTgyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaApAQCAtOTEsNyArOTEs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKGNvbnN0IElEQlJl
cXVlc3REYXRhJik7CiAKICAgICB2b2lkIGVzdGFibGlzaFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0
aW9uJik7Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYpOworICAg
IHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mLCB1aW50NjRfdCBwZW5kaW5n
UmVxdWVzdENvdW50KTsKICAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24m
KTsKIAogICAgIHZvaWQgZGlkU3RhcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50
aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCRXJyb3ImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9u
VG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggZWJlZWM1ZWZjMDEyMDg3NTIxYjI5OTMxYzgx
MWFmY2E1ODI3M2EwZS4uMWFiMGIyNWJiNmZmMzQ0YTcwNTY4OTM1MDViZmIyOTQ5ZjYxMDg5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTM1NiwxMyArMzU2LDEzIEBA
IHZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjplc3RhYmxpc2hUcmFuc2FjdGlvbih1aW50NjRf
dCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVuCiAgICAgICAgIG1fZGVsZWdhdGUtPmVzdGFibGlzaFRy
YW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGluZm8pOwogfQogCi12b2lk
IElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3Vy
Y2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCit2b2lkIElEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0
cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAg
ICAgTE9HKEluZGV4ZWREQiwgIklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rp
b24iKTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgaWYgKG1fc2VydmVyQ29u
bmVjdGlvbklzVmFsaWQpCi0gICAgICAgIG1fZGVsZWdhdGUtPmNvbW1pdFRyYW5zYWN0aW9uKHRy
YW5zYWN0aW9uSWRlbnRpZmllcik7CisgICAgICAgIG1fZGVsZWdhdGUtPmNvbW1pdFRyYW5zYWN0
aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKSwgdHJhbnNhY3Rpb25JZGVudGlmaWVyXSB7CiAgICAgICAgICAgICBkaWRDb21t
aXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIsIElEQkVycm9yOjpzZXJ2ZXJDb25u
ZWN0aW9uTG9zdEVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDg5
M2YyOGQ5YzllYjYyZjFkZTNmMTc4NWIwMGI3ZTk3ZTdlODY3MzguLmMxN2QxNGFiZjA0YmJiMzZj
MzRhODYxNGI1MDE3Y2FlMDlkYjdjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgK
QEAgLTEwOCw3ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpdGVyYXRlQ3Vyc29yKGNvbnN0
IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGRpZEl0ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVzdWx0RGF0YSYpOwog
Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXIm
IHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qg
cGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRDb21taXRU
cmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRp
ZmllciwgY29uc3QgSURCRXJyb3ImKTsKIAogICAgIHZvaWQgZGlkRmluaXNoSGFuZGxpbmdWZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
ciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0
aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCmluZGV4IDdhODE5NDI5NzM3ZWZjMjVlOGExNTRhNzRiNGE3
ZTJiNzNiYTMyNmEuLjY2MjZkY2I5YjRhN2JjZDhiZmM4YzlkOGY3ZGFhMTM5MjExMjg1MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25u
ZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCkBAIC02Miw3ICs2
Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgSURC
UmVxdWVzdERhdGEmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBJ
REJSZXF1ZXN0RGF0YSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihj
b25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNvbW1p
dFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwg
dWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRG
aW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNv
bm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwg
Y29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVP
YmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFN0cmluZyYgb2JqZWN0U3Rv
cmVOYW1lKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9JREJTZXJ2ZXIuY3BwCmluZGV4IGVhM2Y2ZDZhMjFkZWZlM2JmNWE3MjBlNTQwNjA1
MDU3NzdmODVmNjEuLmI0ZDU1OTQ1NDI0ODA5YWYyNjhiMGM3NDM4NzQxYTU2MjkxOGRjMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJT
ZXJ2ZXIuY3BwCkBAIC00MDgsNyArNDA4LDcgQEAgdm9pZCBJREJTZXJ2ZXI6OmVzdGFibGlzaFRy
YW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnMKICAg
ICAgICAgbV91bmlxdWVJREJEYXRhYmFzZU1hcC5yZW1vdmUoZGF0YWJhc2UtPmlkZW50aWZpZXIo
KSk7CiB9CiAKLXZvaWQgSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNv
dXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKK3ZvaWQgSURCU2VydmVyOjpj
b21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBMT0coSW5k
ZXhlZERCLCAiSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbiIpOwogICAgIEFTU0VSVCghaXNN
YWluVGhyZWFkKCkpOwpAQCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQgSURCU2VydmVyOjpjb21taXRU
cmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB0cmFuc2FjdGlvbi0+Y29tbWl0KCk7Cisg
ICAgdHJhbnNhY3Rpb24tPmNvbW1pdChwZW5kaW5nUmVxdWVzdENvdW50KTsKIH0KIAogdm9pZCBJ
REJTZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2
NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCmluZGV4IDYwOGQ3ZmFiOWVjZDc2NWQ5
N2YwYzA4MzMzZmY0ZGI1NDAwMTA3YjEuLmQ4ODM2NDlhNWM4ZDViNTlmMDJjMmJkYWNkZGU2Nzhh
MWNhM2M0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCU2VydmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgb3BlbkRhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNvbW1pdFRyYW5zYWN0aW9u
KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3Qg
cGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRGaW5pc2hI
YW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29u
c3QgSURCT2JqZWN0U3RvcmVJbmZvJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW5hbWVP
YmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJE
YXRhYmFzZVRyYW5zYWN0aW9uLmNwcAppbmRleCBmMzJmNTQ1Yzg5YTdiMWQ1MjVhMzFkNjA4NGJj
Yjg4OTA5Y2M1MjA5Li4yMGJmMWExOWFkYjYyZDU3NjUyNjY2MmI4OGJmZDFiZjMzYmFiYTJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVl
SURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwCkBAIC0xMDEs
MTIgKzEwMSwzMCBAQCBib29sIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmlzUmVhZE9u
bHkoKSBjb25zdAogICAgIHJldHVybiBtX3RyYW5zYWN0aW9uSW5mby5tb2RlKCkgPT0gSURCVHJh
bnNhY3Rpb25Nb2RlOjpSZWFkb25seTsKIH0gICAKIAotdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uOjpjb21taXQoKQordm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpj
b21taXQodWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBMT0coSW5kZXhlZERC
LCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0Iik7CiAKICAgICBhdXRvIGRh
dGFiYXNlID0gZGF0YWJhc2VDb25uZWN0aW9uKCkuZGF0YWJhc2UoKTsKIAorICAgIHN0ZDo6b3B0
aW9uYWw8SURCRXJyb3I+IGVycm9ySW5QZW5kaW5nUmVxdWVzdHM7CisgICAgd2hpbGUgKHBlbmRp
bmdSZXF1ZXN0Q291bnQtLSkgeworICAgICAgICBhdXRvIGVycm9yID0gbV9yZXF1ZXN0UmVzdWx0
cy50YWtlTGFzdCgpOworICAgICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7CisgICAgICAgICAg
ICBlcnJvckluUGVuZGluZ1JlcXVlc3RzID0gZXJyb3I7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIGlmIChlcnJvckluUGVuZGluZ1JlcXVlc3RzKSB7CisgICAg
ICAgIGRhdGFiYXNlLT5hYm9ydFRyYW5zYWN0aW9uKCp0aGlzLCBbdGhpcywgJmVycm9ySW5QZW5k
aW5nUmVxdWVzdHNdKGF1dG8mKSB7CisgICAgICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVl
SURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0IHdpdGggZXJyb3IgKGNhbGxiYWNrKSIpOwor
CisgICAgICAgICAgICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+ZGlkQ29tbWl0VHJhbnNhY3Rpb24o
KnRoaXMsICplcnJvckluUGVuZGluZ1JlcXVlc3RzKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBkYXRhYmFzZS0+Y29tbWl0VHJhbnNhY3Rpb24oKnRoaXMsIFt0
aGlzXShhdXRvJiBlcnJvcikgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0IChjYWxsYmFjaykiKTsKIApAQCAtMTI3LDYgKzE0NSw4
IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y3JlYXRlT2JqZWN0U3RvcmUo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlCiAgICAgZGF0YWJhc2UtPmNyZWF0ZU9iamVjdFN0
b3JlKCp0aGlzLCBpbmZvLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAg
ICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVP
YmplY3RTdG9yZSAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBl
bmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRh
dGFiYXNlQ29ubmVjdGlvbigpLmRpZENyZWF0ZU9iamVjdFN0b3JlKElEQlJlc3VsdERhdGE6OmNy
ZWF0ZU9iamVjdFN0b3JlU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7
CiAgICAgICAgIGVsc2UKQEAgLTE0Nyw2ICsxNjcsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNl
VHJhbnNhY3Rpb246OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1
ZQogICAgIGRhdGFiYXNlLT5kZWxldGVPYmplY3RTdG9yZSgqdGhpcywgb2JqZWN0U3RvcmVOYW1l
LCBbdGhpcywgcmVxdWVzdERhdGFdKGNvbnN0IElEQkVycm9yJiBlcnJvcikgewogICAgICAgICBM
T0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0
U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVy
cm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFz
ZUNvbm5lY3Rpb24oKS5kaWREZWxldGVPYmplY3RTdG9yZShJREJSZXN1bHREYXRhOjpkZWxldGVP
YmplY3RTdG9yZVN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAg
ICAgICBlbHNlCkBAIC0xNjcsNiArMTg5LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWUKICAg
ICBkYXRhYmFzZS0+cmVuYW1lT2JqZWN0U3RvcmUoKnRoaXMsIG9iamVjdFN0b3JlSWRlbnRpZmll
ciwgbmV3TmFtZSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikgewogICAgICAgICBM
T0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6cmVuYW1lT2JqZWN0
U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVy
cm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFz
ZUNvbm5lY3Rpb24oKS5kaWRSZW5hbWVPYmplY3RTdG9yZShJREJSZXN1bHREYXRhOjpyZW5hbWVP
YmplY3RTdG9yZVN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAg
ICAgICBlbHNlCkBAIC0xODYsNiArMjEwLDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uOjpjbGVhck9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXMKICAg
ICBkYXRhYmFzZS0+Y2xlYXJPYmplY3RTdG9yZSgqdGhpcywgb2JqZWN0U3RvcmVJZGVudGlmaWVy
LCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVk
REIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjbGVhck9iamVjdFN0b3JlIChjYWxs
YmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAg
ICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9u
KCkuZGlkQ2xlYXJPYmplY3RTdG9yZShJREJSZXN1bHREYXRhOjpjbGVhck9iamVjdFN0b3JlU3Vj
Y2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAg
LTIwNiw2ICsyMzIsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0
ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YQogICAgIGRhdGFiYXNlLT5j
cmVhdGVJbmRleCgqdGhpcywgaW5mbywgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikg
ewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
Y3JlYXRlSW5kZXggKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBw
ZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBk
YXRhYmFzZUNvbm5lY3Rpb24oKS5kaWRDcmVhdGVJbmRleChJREJSZXN1bHREYXRhOjpjcmVhdGVJ
bmRleFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAgICAgICBl
bHNlCkBAIC0yMjYsNiArMjU0LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9u
OjpkZWxldGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEKICAgICBkYXRh
YmFzZS0+ZGVsZXRlSW5kZXgoKnRoaXMsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgaW5kZXhOYW1l
LCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVk
REIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRleCAoY2FsbGJhY2sp
Iik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAg
IGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRp
ZERlbGV0ZUluZGV4KElEQlJlc3VsdERhdGE6OmRlbGV0ZUluZGV4U3VjY2VzcyhyZXF1ZXN0RGF0
YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTI0Niw2ICsyNzYsOCBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4KGNvbnN0IElE
QlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YQogICAgIGRhdGFiYXNlLT5yZW5hbWVJbmRleCgqdGhp
cywgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRleElkZW50aWZpZXIsIG5ld05hbWUsIFt0aGlz
LCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVu
aXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4IChjYWxsYmFjaykiKTsKIAor
ICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVy
cm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuZGlkUmVuYW1l
SW5kZXgoSURCUmVzdWx0RGF0YTo6cmVuYW1lSW5kZXhTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVl
c3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpAQCAtMjY3LDYgKzI5OSw4IEBAIHZvaWQg
VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6cHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERh
dGEmIHJlcXVlc3REYXRhLCBjCiAgICAgZGF0YWJhc2UtPnB1dE9yQWRkKHJlcXVlc3REYXRhLCBr
ZXlEYXRhLCB2YWx1ZSwgb3ZlcndyaXRlTW9kZSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBl
cnJvciwgY29uc3QgSURCS2V5RGF0YSYga2V5KSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZCAoY2FsbGJhY2spIik7CiAKKyAg
ICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJv
ci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmNvbm5lY3Rpb25U
b0NsaWVudCgpLmRpZFB1dE9yQWRkKElEQlJlc3VsdERhdGE6OnB1dE9yQWRkU3VjY2VzcyhyZXF1
ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpLCBrZXkpKTsKICAgICAgICAgZWxzZQpAQCAtMjg2
LDYgKzMyMCw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3Jk
KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwKICAgICBkYXRhYmFzZS0+Z2V0UmVj
b3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8m
IGVycm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBMT0coSW5kZXhl
ZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkIChjYWxsYmFjayki
KTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAg
aWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuY29u
bmVjdGlvblRvQ2xpZW50KCkuZGlkR2V0UmVjb3JkKElEQlJlc3VsdERhdGE6OmdldFJlY29yZFN1
Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAgICAg
IGVsc2UKQEAgLTMwNSw2ICszNDEsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rp
b246OmdldEFsbFJlY29yZHMoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYQogICAgIGRh
dGFiYXNlLT5nZXRBbGxSZWNvcmRzKHJlcXVlc3REYXRhLCBnZXRBbGxSZWNvcmRzRGF0YSwgW3Ro
aXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvciwgY29uc3QgSURCR2V0QWxsUmVzdWx0JiByZXN1
bHQpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rp
b246OmdldEFsbFJlY29yZHMgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3Vs
dHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAg
ICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQoKS5kaWRHZXRBbGxS
ZWNvcmRzKElEQlJlc3VsdERhdGE6OmdldEFsbFJlY29yZHNTdWNjZXNzKHJlcXVlc3REYXRhLnJl
cXVlc3RJZGVudGlmaWVyKCksIHJlc3VsdCkpOwogICAgICAgICBlbHNlCkBAIC0zMjQsNiArMzYy
LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRDb3VudChjb25zdCBJ
REJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGMKICAgICBkYXRhYmFzZS0+Z2V0Q291bnQocmVx
dWVzdERhdGEsIGtleVJhbmdlRGF0YSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvciwg
dWludDY0X3QgY291bnQpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmdldENvdW50IChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVl
c3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQog
ICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlk
R2V0Q291bnQoSURCUmVzdWx0RGF0YTo6Z2V0Q291bnRTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVl
c3RJZGVudGlmaWVyKCksIGNvdW50KSk7CiAgICAgICAgIGVsc2UKQEAgLTM0Myw2ICszODMsOCBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZVJlY29yZChjb25zdCBJ
REJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdAogICAgIGRhdGFiYXNlLT5kZWxldGVSZWNvcmQocmVx
dWVzdERhdGEsIGtleVJhbmdlRGF0YSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikg
ewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
ZGVsZXRlUmVjb3JkIChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFw
cGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAg
ZGF0YWJhc2VDb25uZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlkRGVsZXRlUmVjb3Jk
KElEQlJlc3VsdERhdGE6OmRlbGV0ZVJlY29yZFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElk
ZW50aWZpZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0zNjIsNiArNDA0LDggQEAgdm9pZCBVbmlx
dWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpvcGVuQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRh
JiByZXF1ZXN0RGF0YSwKICAgICBkYXRhYmFzZS0+b3BlbkN1cnNvcihyZXF1ZXN0RGF0YSwgaW5m
bywgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvciwgY29uc3QgSURCR2V0UmVzdWx0JiBy
ZXN1bHQpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNh
Y3Rpb246Om9wZW5DdXJzb3IgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3Vs
dHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAg
ICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQoKS5kaWRPcGVuQ3Vy
c29yKElEQlJlc3VsdERhdGE6Om9wZW5DdXJzb3JTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJ
ZGVudGlmaWVyKCksIHJlc3VsdCkpOwogICAgICAgICBlbHNlCkBAIC0zODQsNiArNDI4LDggQEAg
dm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjppdGVyYXRlQ3Vyc29yKGNvbnN0IElE
QlJlcXVlc3REYXRhJiByZXF1ZXN0RGEKICAgICAgICAgaWYgKG9wdGlvbiA9PSBJbmRleGVkREI6
OkN1cnNvckl0ZXJhdGVPcHRpb246OkRvTm90UmVwbHkpCiAgICAgICAgICAgICByZXR1cm47CiAK
KyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChl
cnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmNvbm5lY3Rp
b25Ub0NsaWVudCgpLmRpZEl0ZXJhdGVDdXJzb3IoSURCUmVzdWx0RGF0YTo6aXRlcmF0ZUN1cnNv
clN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAg
ICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oCmluZGV4
IGE5MDVlNWFlNGE1OTQ1NDc1OWFkMDRkYTE5ZmQ5Yjk2OWJiNDg3NzguLjk1OTY2NTJhZGNkYmE3
YTA0OGI2MTlmNzRlZjFhOTJjZWVmOWUwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb24uaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiSURCRXJyb3Iu
aCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkluZm8uaCIKKyNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApA
QCAtNjUsNyArNjYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFib3J0KCk7CiAgICAgdm9pZCBh
Ym9ydFdpdGhvdXRDYWxsYmFjaygpOwotICAgIHZvaWQgY29tbWl0KCk7CisgICAgdm9pZCBjb21t
aXQodWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAKICAgICB2b2lkIGNyZWF0ZU9iamVj
dFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJik7
CiAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0
IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKTsKQEAgLTEwMCw2ICsxMDEsNyBAQCBwcml2YXRlOgog
ICAgIFZlY3Rvcjx1aW50NjRfdD4gbV9vYmplY3RTdG9yZUlkZW50aWZpZXJzOwogCiAgICAgc3Rk
OjpvcHRpb25hbDxJREJFcnJvcj4gbV9tYWluVGhyZWFkQWJvcnRSZXN1bHQ7CisgICAgRGVxdWU8
SURCRXJyb3I+IG1fcmVxdWVzdFJlc3VsdHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJREJTZXJ2
ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggNWRjZjlkMGM2N2Vl
NmU5NzRhOTc4M2YyZGZiODc1MzVlNzU0NzkzMC4uYTNjOThiMWUzY2E3YWI3NmVlMWYwYTFiMGU4
MWE4MWVjZDg5YWIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAg
LTE4MSw3ICsxODEsNyBAQCBjbGFzcyBFbXB0eURhdGFiYXNlUHJvdmlkZXIgZmluYWwgOiBwdWJs
aWMgRGF0YWJhc2VQcm92aWRlciB7CiAgICAgICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3Qg
SURCUmVxdWVzdERhdGEmKSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBvcGVuRGF0YWJhc2UoY29u
c3QgSURCUmVxdWVzdERhdGEmKSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBhYm9ydFRyYW5zYWN0
aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsIHsgfQotICAgICAgICB2b2lk
IGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsIHsg
fQorICAgICAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYsIHVpbnQ2NF90KSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBkaWRGaW5pc2hIYW5kbGlu
Z1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCwgY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJikgZmluYWwgeyB9CiAgICAgICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3Qg
SURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mKSBmaW5hbCB7IH0KICAg
ICAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0
IFN0cmluZyYpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHAKaW5kZXggOGZjYWYzOGVkNTJjMTM2ZWNl
ODI2ZDQzMTMyMjNjOTZkZGRhMmJmMi4uZjA2OGIyNjdhMTUxNjY4YzY2MDFjMGFjNGU0ZTdlN2Ji
NmRkZmRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVk
REIvV2ViSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0lu
ZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCkBAIC0xODIsMTIgKzE4MiwxMiBAQCB2b2lkIFdlYklE
QlNlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50
aWZpZXImIHRyYW5zYQogICAgIG1fc2VydmVyLT5hYm9ydFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9u
SWRlbnRpZmllcik7CiB9CiAKLXZvaWQgV2ViSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihj
b25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
cikKK3ZvaWQgV2ViSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgcGVu
ZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAog
ICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+Y29tbWl0
VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKKyAgICBtX3NlcnZlci0+Y29tbWl0
VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyLCBwZW5kaW5nUmVxdWVzdENvdW50KTsK
IH0KIAogdm9pZCBXZWJJREJTZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRy
YW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2Vy
dmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2
ZXIuaAppbmRleCBhN2U5NjVkZTAxNGU5ODE4NjBjYjM2OTE4ODczYzk1YWFiMjc3YTMzLi42MmYw
Y2FjMzZkYzY4ZTVhZWUxYzFiYmNhZDM2ODM5ZDczMTgwNzE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaApAQCAtNjAs
NyArNjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVuRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6
SURCUmVxdWVzdERhdGEmKTsKICAgICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0IFdlYkNvcmU6
OklEQlJlcXVlc3REYXRhJik7CiAgICAgdm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNv
cmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpOwotICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24o
Y29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJik7CisgICAgdm9pZCBjb21taXRU
cmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRf
dCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lv
bkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIs
IGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpOwogICAgIHZvaWQgY3JlYXRl
T2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZUluZm8mKTsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0
IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2Vi
SURCU2VydmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRl
eGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluCmluZGV4IDY3NjQ4ZGE5OGY1NWEwOTNjNGE0
YjE3YmYzNjI4ZThlMTUwZjI4NzQuLjI3OTgxODkxOWNmMjM2OWIyNzAxNTZiNTU4YzU2OTA0NjEx
ZDE1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERC
L1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4KQEAgLTI0LDcgKzI0LDcgQEAg
bWVzc2FnZXMgLT4gV2ViSURCU2VydmVyIHsKICAgICBEZWxldGVEYXRhYmFzZShXZWJDb3JlOjpJ
REJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKICAgICBPcGVuRGF0YWJhc2UoV2ViQ29yZTo6SURC
UmVxdWVzdERhdGEgcmVxdWVzdERhdGEpCiAgICAgQWJvcnRUcmFuc2FjdGlvbihXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQotICAgIENvbW1pdFRy
YW5zYWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50
aWZpZXIpCisgICAgQ29tbWl0VHJhbnNhY3Rpb24oV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlm
aWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkK
ICAgICBEaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBk
YXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQogICAgIENyZWF0ZU9iamVjdFN0b3JlKFdlYkNvcmU6
OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3JlOjpJREJPYmplY3RTdG9yZUluZm8g
aW5mbykKICAgICBEZWxldGVPYmplY3RTdG9yZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1
ZXN0RGF0YSwgU3RyaW5nIG9iamVjdFN0b3JlTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCmluZGV4IGYwNjI5NzVlNDMwNTI1YzlhZDlmYmRjMzVl
ZjYwNTk3ZDZhZmYwNTguLjA0YzI0MTBmMzVhZGNjMDQ2YzU0MDZhZjBjY2UyZmQwZTg0MWFkYjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERC
L1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAt
OTUsOSArOTUsOSBAQCB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6YWJvcnRUcmFuc2Fj
dGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYQogICAgIHNlbmQoTWVzc2FnZXM6
OldlYklEQlNlcnZlcjo6QWJvcnRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIpKTsK
IH0KIAotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQordm9pZCBX
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVx
dWVzdENvdW50KQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6Q29tbWl0VHJh
bnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2Vi
SURCU2VydmVyOjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIsIHBlbmRp
bmdSZXF1ZXN0Q291bnQpKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRp
ZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNl
Q29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNh
Y3Rpb25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Rh
dGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuaAppbmRleCA0NDEwODUxMGRmMmQyMDhmMmI2YWFkMDcxYTdjYjdmOWFmMTA3MDhlLi5lZDEx
NmEzZmZmYmNjYzA4NDcyZjNhYTY1YTJmM2U5NWVhMjU1MmFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKSBm
aW5hbDsKICAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0
YSYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbDsKLSAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNv
bnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOworICAgIHZvaWQgY29t
bWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWlu
dDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkgZmluYWw7CiAgICAgdm9pZCBkaWRGaW5pc2hIYW5k
bGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25J
ZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbDsK
ICAgICB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRh
JiwgY29uc3QgV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVJbmZvJikgZmluYWw7CiAgICAgdm9pZCBk
ZWxldGVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFN0
cmluZyYgb2JqZWN0U3RvcmVOYW1lKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKaW5kZXggZWZiZjRmMmRmM2IyYmFkMzA3
ZTc3ZTRiYWVjOTJhOTM3MzU2ODc2NS4uODlkODA4YzlkZGU4OTM2NGY1ZTdhYTJiMTNkZjg3ZGNk
MDIyYTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vz
c0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vz
c0lEQlNlcnZlci5jcHAKQEAgLTI3MCwxMSArMjcwLDExIEBAIHZvaWQgSW5Qcm9jZXNzSURCU2Vy
dmVyOjphYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmll
ciYKICAgICB9KTsKIH0KIAotdm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0
aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVzb3VyY2VJZGVudGlm
aWVyKQordm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVzb3VyY2VJZGVudGlmaWVyLCB1aW50NjRf
dCBwZW5kaW5nQ291bnRSZXF1ZXN0KQogewotICAgIGRpc3BhdGNoVGFzayhbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXNvdXJjZUlkZW50aWZpZXIgPSByZXNvdXJjZUlk
ZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCldIHsKKyAgICBkaXNwYXRjaFRhc2soW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVzb3VyY2VJZGVudGlmaWVyID0gcmVzb3VyY2VJ
ZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLCBwZW5kaW5nQ291bnRSZXF1ZXN0XSB7CiAgICAgICAg
IExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICAgICAgbV9zZXJ2ZXItPmNvbW1p
dFRyYW5zYWN0aW9uKHJlc291cmNlSWRlbnRpZmllcik7CisgICAgICAgIG1fc2VydmVyLT5jb21t
aXRUcmFuc2FjdGlvbihyZXNvdXJjZUlkZW50aWZpZXIsIHBlbmRpbmdDb3VudFJlcXVlc3QpOwog
ICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Q
cm9jZXNzSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNz
SURCU2VydmVyLmgKaW5kZXggNzNlZDhjYTM4Y2U2ZWU5MzVlYmUyYzdiMjkzOGRjYmM2Yjg5NTMx
Ny4uZDIwNzQxYzgwMmFmZTlmYTY2YmEwMWYzNjljYzQ1MmViMWU0YjYwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuaApAQCAtNjUsNyAr
NjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJ
REJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkRhdGFiYXNlKGNvbnN0IFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CiAgICAgdm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNv
bnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwotICAgIHZvaWQgY29t
bWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmlu
YWw7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nQ291bnRSZXF1ZXN0KSBmaW5hbDsKICAgICB2
b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRh
dGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRl
bnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJPYmplY3RTdG9yZUluZm8mKSBm
aW5hbDsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggODVjYjczMDZmZmJlMDlhYWUzMjVhNGFjYTFhZTM0Yjdi
MTk2MzM5My4uZjg2MTA1NTU5MDI3ODQ0MTdjOTI4OWZiMjZmNWI2NDRjNzE4OTBjMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMTYgIFNp
aHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IElEQlRy
YW5zYWN0aW9uLmNvbW1pdCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjc4MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNjUxMjcwPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGlj
aXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0
LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQ6CisKIDIwMjEtMDctMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBJbXBsZW1lbnQgJ1N1Ym1pdEV2ZW50JyBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1l
eHBsaWNpdC1jb21taXQtdGhyb3cuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQt
dGhyb3cuYW55LWV4cGVjdGVkLnR4dAppbmRleCBlZjY4Yjg1ZjczY2JhNmI5NjdmZTJjMWRjYjFh
ZTdmNzAyN2NkMjA3Li5hYjYwMzIyNDAzZWRlMzkyYTE5YzZlNzhlMzk2MzZiY2E5MDBhZDA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIEFueSBlcnJvcnMgaW4gY2FsbGJhY2tzIHRoYXQgcnVuIGFmdGVyIGFuIGV4cGxpY2l0
IGNvbW1pdCB3aWxsIG5vdCBzdG9wIHRoZSBjb21taXQgZnJvbSBiZWluZyBwcm9jZXNzZWQuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAn
dHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK1BBU1MgQW55IGVycm9ycyBpbiBjYWxsYmFja3Mg
dGhhdCBydW4gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHdpbGwgbm90IHN0b3AgdGhlIGNvbW1p
dCBmcm9tIGJlaW5nIHByb2Nlc3NlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10
aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZWY2OGI4NWY3M2NiYTZiOTY3ZmUyYzFkY2IxYWU3
ZjcwMjdjZDIwNy4uYWI2MDMyMjQwM2VkZTM5MmExOWM2ZTc4ZTM5NjM2YmNhOTAwYWQwNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIEFueSBlcnJvcnMgaW4gY2FsbGJhY2tzIHRoYXQgcnVuIGFmdGVy
IGFuIGV4cGxpY2l0IGNvbW1pdCB3aWxsIG5vdCBzdG9wIHRoZSBjb21taXQgZnJvbSBiZWluZyBw
cm9jZXNzZWQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4u
Y29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK1BBU1MgQW55IGVycm9ycyBp
biBjYWxsYmFja3MgdGhhdCBydW4gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHdpbGwgbm90IHN0
b3AgdGhlIGNvbW1pdCBmcm9tIGJlaW5nIHByb2Nlc3NlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxp
Y2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0
ZWQudHh0CmluZGV4IGM4MWIzZmI4MWE4ZWNlYTQ2ZDdiMWI5N2Q2OTM5OGIzM2QzMTBjMzMuLjM5
ZGM5ZjFmNGE3MGFhYTIyMzVjMTkxZTNjMjZjNjgwYzk1NzAxZjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBs
aWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1l
eHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsMTYgQEAKIAotRkFJTCBFeHBsaWNpdGx5IGNvbW1pdHRl
ZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCki
Ci1GQUlMIGNvbW1pdCgpIG9uIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gZG9lcyBub3Qg
Y2F1c2UgZXJyb3JzLiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21t
aXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEEgY29tbWl0dGVkIHRyYW5z
YWN0aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1tZWRpYXRlbHkuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5k
ZWZpbmVkKSIKLUZBSUwgQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgaW4gZnV0
dXJlIHJlcXVlc3QgY2FsbGJhY2tzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlM
IFB1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxlZC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4u
Y29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0
JyBpcyB1bmRlZmluZWQpIgotRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5z
YWN0aW9uIHRocm93cy4gYXNzZXJ0X3Rocm93c19kb206IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQg
aGF2ZSBiZWVuIGFib3J0ZWQuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEg
RE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwg
dG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQotRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1p
dHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZB
SUwgQ2FsbGluZyBhYm9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRv
ZXMgbm90IHByZXZlbnQgcGVyc2lzdGluZyB0aGUgZGF0YS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgotRkFJTCBDYWxsaW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBz
aG91bGQgdGhyb3cuIGFzc2VydF90aHJvd3NfZG9tOiBUaGUgdHJhbnNhY3Rpb24gc2hvdWxkIGJl
IGluYWN0aXZlIHNvIGNhbGxpbmcgY29tbWl0IHNob3VsZCB0aHJvdy4gZnVuY3Rpb24gIigpID0+
IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5k
ZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHBy
b3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCi1GQUlMIFRy
YW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hvdWxkIHN0YXkgaW4gcHJvZ3JhbSBvcmRlciwg
ZXZlbiBpZiBvbmUgY2FsbHMgY29tbWl0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjIuY29tbWl0IGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3R4bjIuY29tbWl0KCknLCAndHhuMi5jb21taXQnIGlzIHVuZGVmaW5lZCki
Ci1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFuZCBoYXZlIGVycm9y
cyBzaG91bGQgYWJvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMS5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndHhuMS5jb21taXQoKScsICd0eG4xLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgVHJh
bnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBlcnJvcnMgcHJvcGVybHkgc2hvdWxkIGJlaGF2ZSBh
cyBleHBlY3RlZCB3aGVuIGFuIGV4cGxpY2l0IGNvbW1pdCBpcyBjYWxsZWQgaW4gYW4gb25lcnJv
ciBoYW5kbGVyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4
bjEuY29tbWl0KCknLCAndHhuMS5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitIYXJuZXNzIEVycm9y
IChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBFeHBsaWNpdGx5IGNvbW1pdHRlZCBk
YXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0LgorUEFTUyBjb21taXQoKSBvbiBhIHZlcnNpb24gY2hh
bmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVycm9ycy4KK1BBU1MgQSBjb21taXR0ZWQg
dHJhbnNhY3Rpb24gYmVjb21lcyBpbmFjdGl2ZSBpbW1lZGlhdGVseS4KK1BBU1MgQSBjb21taXR0
ZWQgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgaW4gZnV0dXJlIHJlcXVlc3QgY2FsbGJhY2tzLgor
UEFTUyBQdXRzIGlzc3VlZCBhZnRlciBjb21taXQgYXJlIG5vdCBmdWxmaWxsZWQuCitQQVNTIENh
bGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLgorUEFTUyBDYWxs
aW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuCitQQVNTIENhbGxp
bmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFuZCBkb2VzIG5vdCBw
cmV2ZW50IHBlcnNpc3RpbmcgdGhlIGRhdGEuCitQQVNTIENhbGxpbmcgdHhuLmNvbW1pdCgpIHdo
ZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4KK1RJTUVPVVQgVHJhbnNhY3Rpb25zIHdp
dGggc2FtZSBzY29wZSBzaG91bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBj
YWxscyBjb21taXQuIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gVHJhbnNhY3Rpb25zIHRoYXQgZXhw
bGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4KK05PVFJVTiBUcmFu
c2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQgYmVoYXZlIGFz
IGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQgY29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9y
IGhhbmRsZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IGM4MWIzZmI4MWE4ZWNlYTQ2ZDdiMWI5N2Q2OTM5OGIzM2QzMTBjMzMuLjM5ZGM5ZjFmNGE3MGFh
YTIyMzVjMTkxZTNjMjZjNjgwYzk1NzAxZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxNiBAQAogCi1GQUlMIEV4cGxpY2l0bHkgY29tbWl0
dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVk
KSIKLUZBSUwgY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBkb2VzIG5v
dCBjYXVzZSBlcnJvcnMuIHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNv
bW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQSBjb21taXR0ZWQgdHJh
bnNhY3Rpb24gYmVjb21lcyBpbmFjdGl2ZSBpbW1lZGlhdGVseS4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1
bmRlZmluZWQpIgotRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBpbiBm
dXR1cmUgcmVxdWVzdCBjYWxsYmFja3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZB
SUwgUHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0IGFyZSBub3QgZnVsZmlsbGVkLiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4
bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21t
aXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQgdHJh
bnNhY3Rpb24gdGhyb3dzLiBhc3NlcnRfdGhyb3dzX2RvbTogVGhlIHRyYW5zYWN0aW9uIHNob3Vs
ZCBoYXZlIGJlZW4gYWJvcnRlZC4gZnVuY3Rpb24gIigpID0+IHsgdHhuLmNvbW1pdCgpOyB9IiB0
aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3Qg
YSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVh
bCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCi1GQUlMIENhbGxpbmcgY29tbWl0IG9uIGEgY29t
bWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgot
RkFJTCBDYWxsaW5nIGFib3J0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cyBhbmQg
ZG9lcyBub3QgcHJldmVudCBwZXJzaXN0aW5nIHRoZSBkYXRhLiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVu
ZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgdHhuLmNvbW1pdCgpIHdoZW4gdHhuIGlzIGluYWN0aXZl
IHNob3VsZCB0aHJvdy4gYXNzZXJ0X3Rocm93c19kb206IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQg
YmUgaW5hY3RpdmUgc28gY2FsbGluZyBjb21taXQgc2hvdWxkIHRocm93LiBmdW5jdGlvbiAiKCkg
PT4geyB0eG4uY29tbWl0KCk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1
bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjog
cHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZBSUwg
VHJhbnNhY3Rpb25zIHdpdGggc2FtZSBzY29wZSBzaG91bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVy
LCBldmVuIGlmIG9uZSBjYWxscyBjb21taXQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMi5jb21taXQgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndHhuMi5jb21taXQoKScsICd0eG4yLmNvbW1pdCcgaXMgdW5kZWZpbmVk
KSIKLUZBSUwgVHJhbnNhY3Rpb25zIHRoYXQgZXhwbGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJy
b3JzIHNob3VsZCBhYm9ydC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBU
cmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQgYmVoYXZl
IGFzIGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQgY29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVy
cm9yIGhhbmRsZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMS5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dHhuMS5jb21taXQoKScsICd0eG4xLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0hhcm5lc3MgRXJy
b3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIEV4cGxpY2l0bHkgY29tbWl0dGVk
IGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQuCitQQVNTIGNvbW1pdCgpIG9uIGEgdmVyc2lvbiBj
aGFuZ2UgdHJhbnNhY3Rpb24gZG9lcyBub3QgY2F1c2UgZXJyb3JzLgorUEFTUyBBIGNvbW1pdHRl
ZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGluYWN0aXZlIGltbWVkaWF0ZWx5LgorUEFTUyBBIGNvbW1p
dHRlZCB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBpbiBmdXR1cmUgcmVxdWVzdCBjYWxsYmFja3Mu
CitQQVNTIFB1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxlZC4KK1BBU1Mg
Q2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuCitQQVNTIENh
bGxpbmcgY29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cy4KK1BBU1MgQ2Fs
bGluZyBhYm9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90
IHByZXZlbnQgcGVyc2lzdGluZyB0aGUgZGF0YS4KK1BBU1MgQ2FsbGluZyB0eG4uY29tbWl0KCkg
d2hlbiB0eG4gaXMgaW5hY3RpdmUgc2hvdWxkIHRocm93LgorVElNRU9VVCBUcmFuc2FjdGlvbnMg
d2l0aCBzYW1lIHNjb3BlIHNob3VsZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25l
IGNhbGxzIGNvbW1pdC4gVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBUcmFuc2FjdGlvbnMgdGhhdCBl
eHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LgorTk9UUlVOIFRy
YW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBiZWhhdmUg
YXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBjb21taXQgaXMgY2FsbGVkIGluIGFuIG9uZXJy
b3IgaGFuZGxlci4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFy
bmVzcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGRhNGIwZWI3ZWJiNTZhNTBiYjZiMGE1YzcxMzEx
NjViNmZiMGM5ZGQuLjRiZDZlMDk3ZTEyZDU1ZWJjMDc4OTVkODVjZTgzOTg0ZTAyZmY2Y2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBl
Y3RlZC50eHQKQEAgLTE4OSw3ICsxODksNyBAQCBGQUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFj
ZTogYXR0cmlidXRlIGR1cmFiaWxpdHkgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgbwogUEFT
UyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYgogUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlcnJvcgogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpCi1GQUlMIElEQlRyYW5zYWN0
aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbW1pdCgpIGFzc2VydF9vd25fcHJvcGVydHk6IGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhw
ZWN0ZWQgcHJvcGVydHkgImNvbW1pdCIgbWlzc2luZworUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKQogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBhYm9ydCgpCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmli
dXRlIG9uYWJvcnQKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25j
b21wbGV0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhh
cm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNGI2OGJkNmU4YmNmMjE5NTVkN2Fh
OGQzZjdlNmQyNGVlNzFlZWE4Yi4uYzEwNDNjNjY2ODFlNDc1NTFlMWEwYjYxNTUwMWFkZWJiMzRj
YjczYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xODksNyArMTg5LDcgQEAgRkFJTCBJ
REJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkdXJhYmlsaXR5IGFzc2VydF90cnVl
OiBUaGUgcHJvdG90eXBlIG8KIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgZGIKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IKIFBB
U1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gb2JqZWN0U3RvcmUoRE9NU3Ry
aW5nKQotRkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5v
bi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjb21taXQiIG1pc3NpbmcKK1BB
U1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY29tbWl0KCkKIFBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gYWJvcnQoKQogUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0CiBQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uY29tcGxldGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433810</attachid>
            <date>2021-07-19 12:26:35 -0700</date>
            <delta_ts>2021-07-19 12:43:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227815-20210719122633.patch</filename>
            <type>text/plain</type>
            <size>58747</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhmMWQyNWEwZTgzMWZi
MzAxYTM5MzUzZWY3N2YyNWI2ODlmZjExNy4uODRiYjYwOWNjNDc1NzdlMDg1NWJhMzExOGQ1ZDJm
NWRjOGY0OTg4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTA3LTE5ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBJREJUcmFu
c2FjdGlvbi5jb21taXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3ODE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDY1MTI3MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczov
L3d3dy53My5vcmcvVFIvSW5kZXhlZERCLyNkb20taWRidHJhbnNhY3Rpb24tY29tbWl0CisKKyAg
ICAgICAgQ29tbWl0IHJlcXVlc3QgZm9yIElEQlRyYW5zYWN0aW9uIGlzIGNyZWF0ZWQgYXV0b21h
dGljYWxseSBhZnRlciBhbGwgaXRzIHJlcXVlc3RzIGFyZSBjb21wbGV0ZWQgYW5kIHN1Y2Nlc3Mg
CisgICAgICAgIGV2ZW50cyBvZiB0aG9zZSByZXF1ZXN0cyBhcmUgZmlyZWQuIElEQlRyYW5zYWN0
aW9uLmNvbW1pdCgpIGxldHMgY2xpZW50IGNyZWF0ZSBjb21taXQgcmVxdWVzdCwgd2l0aG91dCB3
YWl0aW5nCisgICAgICAgIGZvciB0aGUgcmVzdWx0IG9mIHJlcXVlc3RzLCBzbyB0aGUgY29tbWl0
IGNhbiBoYXBwZW4gc29vbmVyLiAKKworICAgICAgICBJbiBvdXIgaW1wbGVtZW50YXRpb24sIGlm
IHBlbmRpbmcgcmVxdWVzdHMgYmVmb3JlIHRoZSBjb21taXQgcmVxdWVzdCBhcmUgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseSwgY29tbWl0IHJlcXVlc3QgCisgICAgICAgIHdpbGwgYmUgZXhlY3V0ZWQg
ZGlyZWN0bHkgaW4gdGhlIGJhY2tlbmQgYW5kIGRvc2Ugbm90IGFmZmVjdCBieSB0aGluZ3MgaGFw
cGVuaW5nIGluIHJlcXVlc3QgZXZlbnQgaGFuZGxlci4gSWYgCisgICAgICAgIHNvbWUgcGVuZGlu
ZyByZXF1ZXN0IGJlZm9yZSB0aGUgY29tbWl0IHJlcXVlc3QgaGFzIGVycm9yLCB0aGUgY29tbWl0
IHJlcXVlc3Qgd2lsbCBiZSB0cmVhdGVkIGFzIGFib3J0IHJlcXVlc3QsIAorICAgICAgICBhcyBj
b21taXQoKSBtZWFucyBubyBjbGllbnQgb3BlcmF0aW9uLCBpbmNsdWRpbmcgZXJyb3IgaGFuZGxp
bmcsIHNob3VsZCBoYXBwZW4gYWZ0ZXIgaXQuCisKKyAgICAgICAgUmViYXNlbGluZWQgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGlkU3RhcnRUcmFuc2FjdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJl
cXVlc3Q6OndpbGxBYm9ydFRyYW5zYWN0aW9uQWZ0ZXJEaXNwYXRjaGluZ0V2ZW50IGNvbnN0KTog
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QlRyYW5zYWN0aW9uOjphYm9ydER1ZVRvRmFpbGVkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbjo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmFib3J0SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnN0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmhhbmRsZU9wZXJhdGlvbnND
b21wbGV0ZWRPblNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y29t
bWl0KTogSWYgY29tbWl0KCkgaXMgY2FsbGVkIGluIGV2ZW50IGhhbmRsZXIgZm9yIGVycm9yIGV2
ZW50LCBhbmQgdGhlIGVycm9yIGlzIAorICAgICAgICBoYW5kbGVkIGJlZm9yZSB0aGUgY2FsbCwg
d2Ugd2lsbCBjcmVhdGUgYSBjb21taXQgcmVxdWV0LiBPdGhlcndpc2UsIGl0IGlzIGlnbm9yZWQg
YXMgdHJhbnNhY3Rpb24gd2lsbCBhYm9ydAorICAgICAgICBkdWUgdG8gdGhlIGVycm9yLgorICAg
ICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbW1pdEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlcik6CisgICAgICAgIChXZWJD
b3JlOjpJREJUcmFuc2FjdGlvbjo6ZGlkQ29tbWl0KTogZGlkQ29tbWl0IHVzZWQgdG8gYmUgY2Fs
bGVkIGFmdGVyIGFsbCByZXF1ZXN0cyBhcmUgZG9uZSBhbmQgZXZlbnRzIGFyZSAKKyAgICAgICAg
ZmlyZWQuIEFzIGNvbW1pdCByZXF1ZXN0IGNhbiBub3cgYmUgaGFuZGxlZCBhbmQgcmVwbGllZCBi
ZWZvcmUgb3RoZXIgcmVxdWVzdHMsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGNvbXBsZXRlIAorICAg
ICAgICBldmVudCBvZiB0cmFuc2FjdGlvbiBpcyBmaXJlZCBhZnRlciBzdWNjZXNzIGV2ZW50IG9m
IHJlcXVlc3RzLCBieSB0cmFja2luZyBjb21wbGV0aW9uIG9mIHRoZSBsYXN0IHJlcXVlc3QgYmVm
b3JlIAorICAgICAgICBjb21taXQgcmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpvcGVyYXRpb25Db21wbGV0ZWRPbkNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6YXV0b0NvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6aW50ZXJuYWxBYm9ydCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbik6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OmNvbW1pdFRyYW5z
YWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmg6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0
ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6cmVuYW1lT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjbGVhck9iamVjdFN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbjo6Y3JlYXRlSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpkZWxldGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
cHV0T3JBZGQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRBbGxSZWNvcmRzKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0Q291bnQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpkZWxldGVSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6aXRlcmF0ZUN1cnNvcik6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNh
Y3Rpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKwogMjAyMS0wNy0x
OSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gSW1h
Z2VzIGFzIGdyaWQgaXRlbXMgc2hvdWxkIHVzZSB0aGUgb3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQg
d2hlbiBkZWZpbmVkIHRvIGNvbXB1dGUgdGhlIGxvZ2ljYWwgd2lkdGgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTY0
Zjk3MWQ2NWJhZWQ4OWI0MDdhOTQzODU3NTkzMWMzMWRjMmZjZS4uNWI2ZTBmNDAxNGI2NDRhMGJh
ZTQ5MjhhOWVkMmYxODAyNDVlODkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0w
Ny0xOSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA2NTEy
NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbik6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuaDoKKwogMjAyMS0wNy0xOSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBXZWIgSW5zcGVjdG9yOiBTZXJ2aWNlIHdvcmtlcnMg
Y2FuJ3QgYmUgaW5zcGVjdGVkIGluIFNhZmFyaSBUZWNobm9sb2d5IFByZXZpZXcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9D
aGFuZ2VMb2cKaW5kZXggYTQwN2JjYjAyNjhjOWJjZTk1ZmJjMGQ5NTI0MzljMDEzZTc2ODA4Ni4u
NTk0MGJiMzM4Y2YyNGNmNjAwYzJjNWUxMTdhOGEyNmNkMDMyZGI0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNy0xOSAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA2NTEyNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5j
cHA6CisgICAgICAgIChJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKToKKyAg
ICAgICAgKiBTdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5oOgorCiAyMDIxLTA3LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGluaXRpYWwgc3VwcG9y
dCBmb3IgQnJvYWRjYXN0Q2hhbm5lbCBiZWhpbmQgYSBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAppbmRleCA4ZmVmNzll
MWM0MTU1MWIzZGVhOWNlMWY5OGI2NzNiNjdlZDY2NTU1Li5hNGJkNTQyMjQ3ZWNjYzE2YjI2N2Iy
Mjc5ODYzYTlmMzU0ZTEzYTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2UuY3BwCkBAIC0zNTYsOCArMzU2LDkgQEAgdm9pZCBJREJEYXRhYmFz
ZTo6ZGlkU3RhcnRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAgICAg
QVNTRVJUKCFtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbik7CiAgICAgQVNTRVJUKGNhbkN1cnJl
bnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEob3JpZ2luVGhyZWFkKCkpKTsKIAotICAgIC8v
IEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgY2xpZW50IHRvIGhhdmUgYWJvcnRlZCBhIHRyYW5zYWN0
aW9uIGJlZm9yZSB0aGUgc2VydmVyIHJlcGxpZXMgYmFjayB0aGF0IGl0IGhhcyBzdGFydGVkLgot
ICAgIGlmIChtX2Fib3J0aW5nVHJhbnNhY3Rpb25zLmNvbnRhaW5zKHRyYW5zYWN0aW9uLmluZm8o
KS5pZGVudGlmaWVyKCkpKQorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgY2xpZW50IHRv
IGhhdmUgYWJvcnRlZCBvciBjb21taXR0ZWQgYSB0cmFuc2FjdGlvbgorICAgIC8vIGJlZm9yZSB0
aGUgc2VydmVyIHJlcGxpZXMgYmFjayB0aGF0IGl0IGhhcyBzdGFydGVkLgorICAgIGlmIChtX2Fi
b3J0aW5nVHJhbnNhY3Rpb25zLmNvbnRhaW5zKHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVy
KCkpIHx8IG1fY29tbWl0dGluZ1RyYW5zYWN0aW9ucy5jb250YWlucyh0cmFuc2FjdGlvbi5pbmZv
KCkuaWRlbnRpZmllcigpKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9hY3RpdmVUcmFuc2Fj
dGlvbnMuc2V0KHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCksICZ0cmFuc2FjdGlvbik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCmlu
ZGV4IDc4ZWMzZjk2NTg2NGFiNGFlZDcyYTk2NjViMWM4N2U5NDcwM2Y5ZGIuLmJkOWU5MmRiNGU0
MzAxMGNlNGUyYzcwOGQxOGJjOWNmMmY4YTQyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBJ
REJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVudCkKICAgICBBU1NFUlQoIWlzQ29u
dGV4dFN0b3BwZWQoKSk7CiAKICAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlz
KTsKLSAgICBtX2Rpc3BhdGNoaW5nRXZlbnQgPSB0cnVlOworICAgIG1fZXZlbnRCZWluZ0Rpc3Bh
dGNoZWQgPSAmZXZlbnQ7CiAKICAgICBpZiAoZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5i
bG9ja2VkRXZlbnQpCiAgICAgICAgIG1fcmVhZHlTdGF0ZSA9IFJlYWR5U3RhdGU6OkRvbmU7CkBA
IC0zMjAsNyArMzIwLDcgQEAgdm9pZCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBl
dmVudCkKICAgICBpZiAoIW1faGFzUGVuZGluZ0FjdGl2aXR5KQogICAgICAgICBtX2hhc1BlbmRp
bmdBY3Rpdml0eSA9IGlzT3BlbkRCUmVxdWVzdCgpICYmIChldmVudC50eXBlKCkgPT0gZXZlbnRO
YW1lcygpLnVwZ3JhZGVuZWVkZWRFdmVudCB8fCBldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygp
LmJsb2NrZWRFdmVudCk7CiAKLSAgICBtX2Rpc3BhdGNoaW5nRXZlbnQgPSBmYWxzZTsKKyAgICBt
X2V2ZW50QmVpbmdEaXNwYXRjaGVkID0gbnVsbHB0cjsKICAgICBpZiAoIW1fdHJhbnNhY3Rpb24p
CiAgICAgICAgIHJldHVybjsKIApAQCAtNTY3LDUgKzU2NywxNSBAQCB2b2lkIElEQlJlcXVlc3Q6
OmNsZWFyV3JhcHBlcnMoKQogICAgICk7CiB9CiAKK2Jvb2wgSURCUmVxdWVzdDo6d2lsbEFib3J0
VHJhbnNhY3Rpb25BZnRlckRpc3BhdGNoaW5nRXZlbnQoKSBjb25zdAoreworICAgIGlmICghbV9k
aXNwYXRjaGluZ0V2ZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAobV9oYXNV
bmNhdWdodEV4Y2VwdGlvbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gIW1f
ZGlzcGF0Y2hpbmdFdmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpICYmIG1fZXZlbnRCZWluZ0Rpc3Bh
dGNoZWQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudDsKK30KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5oCmluZGV4IDMxZWM2OTI0OWYyYzA3MThhZGRmNmVjZjBmMzg3YWRhMzI4ZDc0YjYuLjZi
MTk1MDUzODQ0YjAxYzlmMmNkMmI3NjUzNWUyMTBjZjkwZDk3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKQEAgLTEyNSw2ICsxMjUsNyBAQCBw
dWJsaWM6CiAgICAgSW5kZXhlZERCOjpSZXF1ZXN0VHlwZSByZXF1ZXN0VHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVxdWVzdFR5cGU7IH0KIAogICAgIHZvaWQgc2V0VHJhbnNhY3Rpb25PcGVyYXRp
b25JRCh1aW50NjRfdCB0cmFuc2FjdGlvbk9wZXJhdGlvbklEKSB7IG1fY3VycmVudFRyYW5zYWN0
aW9uT3BlcmF0aW9uSUQgPSB0cmFuc2FjdGlvbk9wZXJhdGlvbklEOyB9CisgICAgYm9vbCB3aWxs
QWJvcnRUcmFuc2FjdGlvbkFmdGVyRGlzcGF0Y2hpbmdFdmVudCgpIGNvbnN0OwogCiBwcm90ZWN0
ZWQ6CiAgICAgSURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkmLCBJbmRleGVkREI6OlJlcXVlc3RUeXBlKTsKQEAgLTE5Nyw4ICsx
OTgsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3Nob3VsZEV4cG9zZVRyYW5zYWN0aW9uVG9E
T00geyB0cnVlIH07CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdBY3Rpdml0eSB7IHRydWUgfTsKLSAg
ICBib29sIG1fZGlzcGF0Y2hpbmdFdmVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1VuY2F1
Z2h0RXhjZXB0aW9uIHsgZmFsc2UgfTsKKyAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnRCZWluZ0Rp
c3BhdGNoZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKaW5kZXggZTZjYTUy
N2Q4ZGVlY2FiYjRmYWYzNjQ5NmM5YTRkMGE4ZmVlZWRhZS4uMjNhMWNlODYyOWZlNDUyNjg1N2Vj
OTIyODlkZDZiM2ExMDU4NTQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMTkyLDcgKzE5Miw3IEBAIHZvaWQgSURC
VHJhbnNhY3Rpb246OmFib3J0RHVlVG9GYWlsZWRSZXF1ZXN0KERPTUV4Y2VwdGlvbiYgZXJyb3Ip
CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fZG9tRXJyb3IgPSAmZXJyb3I7Ci0gICAgaW50ZXJu
YWxBYm9ydCgpOworICAgIGFib3J0SW50ZXJuYWwoKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlv
bjo6dHJhbnNpdGlvbmVkVG9GaW5pc2hpbmcoSW5kZXhlZERCOjpUcmFuc2FjdGlvblN0YXRlIHN0
YXRlKQpAQCAtMjEyLDE0ICsyMTIsMTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSURCVHJhbnNhY3Rp
b246OmFib3J0KCkKICAgICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkZhaWxlZCB0byBleGVjdXRlICdh
Ym9ydCcgb24gJ0lEQlRyYW5zYWN0aW9uJzogVGhlIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIG9y
IGZpbmlzaGVkLiJfcyB9OwogCi0gICAgaW50ZXJuYWxBYm9ydCgpOworICAgIGFib3J0SW50ZXJu
YWwoKTsKIAogICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgSURCVHJhbnNhY3Rpb246OmludGVy
bmFsQWJvcnQoKQordm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnRJbnRlcm5hbCgpCiB7Ci0gICAg
TE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjppbnRlcm5hbEFib3J0Iik7CisgICAgTE9H
KEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjphYm9ydEludGVybmFsIik7CiAgICAgQVNTRVJU
KGNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+b3JpZ2lu
VGhyZWFkKCkpKTsKICAgICBBU1NFUlQoIWlzRmluaXNoZWRPckZpbmlzaGluZygpKTsKIApAQCAt
MzQ5LDcgKzM0OSw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnN0b3AoKQogICAgIGlmIChpc0Zp
bmlzaGVkT3JGaW5pc2hpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxBYm9y
dCgpOworICAgIGFib3J0SW50ZXJuYWwoKTsKIH0KIAogYm9vbCBJREJUcmFuc2FjdGlvbjo6aXNB
Y3RpdmUoKSBjb25zdApAQCAtNDU2LDMxICs0NTYsNTQgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6
ZmluaXNoZWREaXNwYXRjaEV2ZW50Rm9yUmVxdWVzdChJREJSZXF1ZXN0JiByZXF1ZXN0KQogICAg
IGhhbmRsZU9wZXJhdGlvbnNDb21wbGV0ZWRPblNlcnZlcigpOwogfQogCi12b2lkIElEQlRyYW5z
YWN0aW9uOjpjb21taXQoKQorRXhjZXB0aW9uT3I8dm9pZD4gSURCVHJhbnNhY3Rpb246OmNvbW1p
dCgpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpjb21taXQiKTsKICAg
ICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWQoKSkpOworCisgICAgaWYgKCFpc0FjdGl2ZSgpKQorICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJGYWlsZWQgdG8gZXhlY3V0ZSAnY29t
bWl0JyBvbiAnSURCVHJhbnNhY3Rpb24nOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUuIl9z
IH07CisKKyAgICBpZiAobV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdCAmJiBtX2N1cnJlbnRs
eUNvbXBsZXRpbmdSZXF1ZXN0LT53aWxsQWJvcnRUcmFuc2FjdGlvbkFmdGVyRGlzcGF0Y2hpbmdF
dmVudCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgY29tbWl0SW50ZXJuYWwoKTsKKwor
ICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgSURCVHJhbnNhY3Rpb246OmNvbW1pdEludGVybmFs
KCkKK3sKKyAgICBMT0coSW5kZXhlZERCLCAiSURCVHJhbnNhY3Rpb246OmNvbW1pdEludGVybmFs
Iik7CisgICAgQVNTRVJUKGNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9k
YXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkpKTsKICAgICBBU1NFUlQoIWlzRmluaXNoZWRPckZpbmlz
aGluZygpKTsKIAogICAgIHRyYW5zaXRpb25lZFRvRmluaXNoaW5nKEluZGV4ZWREQjo6VHJhbnNh
Y3Rpb25TdGF0ZTo6Q29tbWl0dGluZyk7CiAgICAgbV9kYXRhYmFzZS0+d2lsbENvbW1pdFRyYW5z
YWN0aW9uKCp0aGlzKTsKIAogICAgIExPRyhJbmRleGVkREJPcGVyYXRpb25zLCAiSURCIGNvbW1p
dCBvcGVyYXRpb246IFRyYW5zYWN0aW9uICVzIiwgaW5mbygpLmlkZW50aWZpZXIoKS5sb2dnaW5n
U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgc2NoZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50
OjpUcmFuc2FjdGlvbk9wZXJhdGlvbkltcGw6OmNyZWF0ZSgqdGhpcywgbnVsbHB0ciwgW3Byb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGF1dG8mIG9wZXJhdGlvbikgewotICAgICAgICBw
cm90ZWN0ZWRUaGlzLT5jb21taXRPblNlcnZlcihvcGVyYXRpb24pOworCisgICAgYXV0byBwZW5k
aW5nUmVxdWVzdENvdW50ID0gc3RkOjpjb3VudF9pZihtX29wZW5SZXF1ZXN0cy5iZWdpbigpLCBt
X29wZW5SZXF1ZXN0cy5lbmQoKSwgW10oYXV0byYgcmVxdWVzdCkgeworICAgICAgICByZXR1cm4g
IXJlcXVlc3QtPmlzRG9uZSgpOworICAgIH0pOworCisgICAgc2NoZWR1bGVPcGVyYXRpb24oSURC
Q2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbkltcGw6OmNyZWF0ZSgqdGhpcywgbnVsbHB0ciwg
W3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBwZW5kaW5nUmVxdWVzdENvdW50XSAoYXV0
byYgb3BlcmF0aW9uKSB7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPmNvbW1pdE9uU2VydmVyKG9w
ZXJhdGlvbiwgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgfSkpOwogfQogCi12b2lkIElEQlRy
YW5zYWN0aW9uOjpjb21taXRPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9u
JiBvcGVyYXRpb24pCit2b2lkIElEQlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlcihJREJDbGll
bnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24sIHVpbnQ2NF90IHBlbmRpbmdSZXF1
ZXN0Q291bnQpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpjb21taXRP
blNlcnZlciIpOwogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxE
YXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CiAKLSAgICBtX2RhdGFiYXNlLT5jb25u
ZWN0aW9uUHJveHkoKS5jb21taXRUcmFuc2FjdGlvbigqdGhpcyk7CisgICAgbV9kYXRhYmFzZS0+
Y29ubmVjdGlvblByb3h5KCkuY29tbWl0VHJhbnNhY3Rpb24oKnRoaXMsIHBlbmRpbmdSZXF1ZXN0
Q291bnQpOwogCiAgICAgQVNTRVJUKCFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NR
dWV1ZS5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJv
Z3Jlc3NRdWV1ZS5sYXN0KCkgPT0gJm9wZXJhdGlvbik7CiAgICAgbV90cmFuc2FjdGlvbk9wZXJh
dGlvbnNJblByb2dyZXNzUXVldWUucmVtb3ZlTGFzdCgpOworICAgIGlmICghbV90cmFuc2FjdGlv
bk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUuaXNFbXB0eSgpKQorICAgICAgICBtX2xhc3RUcmFu
c2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNvbW1pdCA9IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Q
cm9ncmVzc1F1ZXVlLmxhc3QoKS0+aWRlbnRpZmllcigpOwogCiAgICAgQVNTRVJUKG1fdHJhbnNh
Y3Rpb25PcGVyYXRpb25NYXAuY29udGFpbnMob3BlcmF0aW9uLmlkZW50aWZpZXIoKSkpOwogICAg
IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXAucmVtb3ZlKG9wZXJhdGlvbi5pZGVudGlmaWVyKCkp
OwpAQCAtNTUxLDYgKzU3NCwxMiBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpkaWRDb21taXQoY29u
c3QgSURCRXJyb3ImIGVycm9yKQogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CiAgICAgQVNTRVJUKG1f
c3RhdGUgPT0gSW5kZXhlZERCOjpUcmFuc2FjdGlvblN0YXRlOjpDb21taXR0aW5nKTsKIAorICAg
IC8vIERlbGF5IGNvbW1pdCB1bnRpbCBsYXN0IHJlcXVlc3QgaXMgY29tcGxldGVkLgorICAgIGlm
IChtX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNvbW1pdCAmJiBtX3RyYW5zYWN0aW9u
T3BlcmF0aW9uTWFwLmNvbnRhaW5zKCptX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNv
bW1pdCkpIHsKKyAgICAgICAgbV9jb21taXRSZXN1bHQgPSBlcnJvcjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKwogICAgIGlmIChlcnJvci5pc051bGwoKSkgewogICAgICAgICBtX2RhdGFiYXNl
LT5kaWRDb21taXRUcmFuc2FjdGlvbigqdGhpcyk7CiAgICAgICAgIGZpcmVPbkNvbXBsZXRlKCk7
CkBAIC0xMzg3LDYgKzE0MTYsMTEgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6b3BlcmF0aW9uQ29t
cGxldGVkT25DbGllbnQoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYKICAgICBtX3Ry
YW5zYWN0aW9uT3BlcmF0aW9uTWFwLnJlbW92ZShvcGVyYXRpb24uaWRlbnRpZmllcigpKTsKICAg
ICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5yZW1vdmVGaXJzdCgpOwog
CisgICAgaWYgKG1fY29tbWl0UmVzdWx0ICYmIG9wZXJhdGlvbi5pZGVudGlmaWVyKCkgPT0gKm1f
bGFzdFRyYW5zYWN0aW9uT3BlcmF0aW9uQmVmb3JlQ29tbWl0KSB7CisgICAgICAgIGRpZENvbW1p
dCgqbV9jb21taXRSZXN1bHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1f
dHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAg
aGFuZGxlUGVuZGluZ09wZXJhdGlvbnMoKTsKIApAQCAtMTUwOCw3ICsxNTQyLDcgQEAgdm9pZCBJ
REJUcmFuc2FjdGlvbjo6YXV0b0NvbW1pdCgpCiAgICAgICAgIHJldHVybjsKICAgICBBU1NFUlQo
IW1fY3VycmVudGx5Q29tcGxldGluZ1JlcXVlc3QpOwogCi0gICAgY29tbWl0KCk7CisgICAgY29t
bWl0SW50ZXJuYWwoKTsKIH0KIAogdWludDY0X3QgSURCVHJhbnNhY3Rpb246OmdlbmVyYXRlT3Bl
cmF0aW9uSUQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKaW5kZXggN2ZhM2Y3ZjAzOTZiZTc5N2E1NThjNDFmZjcwZjY2YWY1NjUwMGQy
My4uNzcxMDg2ZDM1M2ViYzVlMGMyYjYzM2JiM2JhOWZiMmZmMmY5ZTMwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCkBAIC04MSw2
ICs4MSw3IEBAIHB1YmxpYzoKICAgICBET01FeGNlcHRpb24qIGVycm9yKCkgY29uc3Q7CiAgICAg
RXhjZXB0aW9uT3I8UmVmPElEQk9iamVjdFN0b3JlPj4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5n
JiBuYW1lKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBhYm9ydCgpOworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IGNvbW1pdCgpOwogCiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBJREJUcmFuc2FjdGlvbkV2ZW50VGFyZ2V0
SW50ZXJmYWNlVHlwZTsgfQogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsgfQpAQCAtMTYyLDkgKzE2Myw4IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wg
dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOwogCi0gICAgdm9pZCBjb21t
aXQoKTsKLQotICAgIHZvaWQgaW50ZXJuYWxBYm9ydCgpOworICAgIHZvaWQgY29tbWl0SW50ZXJu
YWwoKTsKKyAgICB2b2lkIGFib3J0SW50ZXJuYWwoKTsKICAgICB2b2lkIG5vdGlmeURpZEFib3J0
KGNvbnN0IElEQkVycm9yJik7CiAgICAgdm9pZCBmaW5pc2hBYm9ydE9yQ29tbWl0KCk7CiAgICAg
dm9pZCBhYm9ydEluUHJvZ3Jlc3NPcGVyYXRpb25zKGNvbnN0IElEQkVycm9yJik7CkBAIC0xODEs
NyArMTgxLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxJREJSZXF1ZXN0PiByZXF1ZXN0SW5kZXhS
ZWNvcmQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIElEQkluZGV4JiwgSW5kZXhlZERCOjpJbmRleFJl
Y29yZFR5cGUsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogCi0gICAgdm9pZCBjb21taXRPblNl
cnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJik7CisgICAgdm9pZCBjb21taXRP
blNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgdWludDY0X3QgcGVuZGlu
Z1JlcXVlc3RDb3VudCk7CiAgICAgdm9pZCBhYm9ydE9uU2VydmVyQW5kQ2FuY2VsUmVxdWVzdHMo
SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYpOwogCiAgICAgdm9pZCBjcmVhdGVPYmpl
Y3RTdG9yZU9uU2VydmVyKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mLCBjb25zdCBJ
REJPYmplY3RTdG9yZUluZm8mKTsKQEAgLTI1Miw3ICsyNTIsNiBAQCBwcml2YXRlOgogICAgIERl
cXVlPFJlZlB0cjxJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV9hYm9ydFF1ZXVl
OwogICAgIEV2ZW50KiBtX2Fib3J0T3JDb21taXRFdmVudDsKICAgICBIYXNoTWFwPFJlZlB0cjxJ
REJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPiwgSURCUmVzdWx0RGF0YT4gbV90cmFuc2Fj
dGlvbk9wZXJhdGlvblJlc3VsdE1hcDsKLQogICAgIEhhc2hNYXA8SURCUmVzb3VyY2VJZGVudGlm
aWVyLCBSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IG1fdHJhbnNhY3Rp
b25PcGVyYXRpb25NYXA7CiAKICAgICBtdXRhYmxlIExvY2sgbV9yZWZlcmVuY2VkT2JqZWN0U3Rv
cmVMb2NrOwpAQCAtMjY2LDYgKzI2NSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2RpZERpc3Bh
dGNoQWJvcnRPckNvbW1pdCB7IGZhbHNlIH07CiAKICAgICB1aW50NjRfdCBtX2xhc3RXcml0ZU9w
ZXJhdGlvbklEIHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8SURCUmVzb3VyY2VJZGVudGlmaWVy
PiBtX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJlZm9yZUNvbW1pdDsKKyAgICBzdGQ6Om9wdGlv
bmFsPElEQkVycm9yPiBtX2NvbW1pdFJlc3VsdDsKIH07CiAKIGNsYXNzIFRyYW5zYWN0aW9uQWN0
aXZhdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmlkbAppbmRleCA1NzRhNmI2MjgyOGIzMDk0ODU1ZWFkOTc5ZjBkM2ZjMmNlNDRl
M2I3Li4zNzcxODBmYzgyNTc5MmZhMWQ0MGVlZDIzZTIxMWU1ZDkyMTg2Zjk5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCkBA
IC0zOCw5ICszOCw4IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUV4Y2VwdGlvbj8gZXJy
b3I7CiAKICAgICBJREJPYmplY3RTdG9yZSBvYmplY3RTdG9yZShET01TdHJpbmcgbmFtZSk7Ci0g
ICAgLy8gRklYTUU6IEltcGxlbWVudCAnY29tbWl0Jy4KLSAgICAvLyB1bmRlZmluZWQgY29tbWl0
KCk7CiAgICAgdW5kZWZpbmVkIGFib3J0KCk7CisgICAgdW5kZWZpbmVkIGNvbW1pdCgpOwogCiAg
ICAgLy8gRXZlbnQgaGFuZGxlcnM6CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFib3J0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcAppbmRleCA0NmVkZGE5YThjMTIwMTYyMjMwMjZm
NWU4YjEzOTA1NWE2MDkwNDgwLi4zNTZhYjA1NzYxMDNjYmFiZGZiYjJmMTI0MmFmOTU5NDk4NWYw
MTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ29ubmVjdGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBAIHZv
aWQgSURCQ29ubmVjdGlvblByb3h5OjpkaWRTdGFydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgdHJhbnNhCiAgICAgdHJhbnNhY3Rpb24tPnBlcmZvcm1DYWxsYmFja09u
T3JpZ2luVGhyZWFkKCp0cmFuc2FjdGlvbiwgJklEQlRyYW5zYWN0aW9uOjpkaWRTdGFydCwgZXJy
b3IpOwogfQogCi12b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24oSURC
VHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQordm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmNvbW1p
dFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgdWludDY0X3QgcGVuZGlu
Z1JlcXVlc3RDb3VudCkKIHsKICAgICB7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3RyYW5z
YWN0aW9uTWFwTG9jayB9OwpAQCAtMzUzLDcgKzM1Myw3IEBAIHZvaWQgSURCQ29ubmVjdGlvblBy
b3h5Ojpjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAgICAg
ICAgIG1fY29tbWl0dGluZ1RyYW5zYWN0aW9ucy5zZXQodHJhbnNhY3Rpb24uaW5mbygpLmlkZW50
aWZpZXIoKSwgJnRyYW5zYWN0aW9uKTsKICAgICB9CiAKLSAgICBjYWxsQ29ubmVjdGlvbk9uTWFp
blRocmVhZCgmSURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbiwgdHJhbnNh
Y3Rpb24uaW5mbygpLmlkZW50aWZpZXIoKSk7CisgICAgY2FsbENvbm5lY3Rpb25Pbk1haW5UaHJl
YWQoJklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9u
LmluZm8oKS5pZGVudGlmaWVyKCksIHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogfQogCiB2b2lkIElE
QkNvbm5lY3Rpb25Qcm94eTo6ZGlkQ29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJiBlcnJvcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJD
b25uZWN0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uUHJveHkuaAppbmRleCBmZGMzYWQzNmY5YjNkZTIyOWM0ZDViOTkyOTU0
NjRiZjA3NDc1ZGQ2Li42NThhZWY2Nzg5ZGRkMGNjNjJhZDYwYWQyNzE0MTgyYmZhOWE1ODJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIG9wZW5EQlJlcXVlc3RDYW5jZWxsZWQoY29uc3QgSURCUmVxdWVzdERhdGEmKTsKIAogICAg
IHZvaWQgZXN0YWJsaXNoVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mKTsKLSAgICB2b2lkIGNv
bW1pdFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJik7CisgICAgdm9pZCBjb21taXRUcmFuc2Fj
dGlvbihJREJUcmFuc2FjdGlvbiYsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAg
IHZvaWQgYWJvcnRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYpOwogCiAgICAgdm9pZCBkaWRT
dGFydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25J
ZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVy
LmNwcAppbmRleCBlYmVlYzVlZmMwMTIwODc1MjFiMjk5MzFjODExYWZjYTU4MjczYTBlLi4xYWIw
YjI1YmI2ZmYzNDRhNzA1Njg5MzUwNWJmYjI5NDlmNjEwODljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblRvU2VydmVyLmNwcApAQCAtMzU2LDEzICszNTYsMTMgQEAgdm9pZCBJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OmVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW4KICAgICAgICAgbV9kZWxlZ2F0ZS0+ZXN0YWJsaXNoVHJhbnNhY3Rpb24oZGF0YWJhc2VD
b25uZWN0aW9uSWRlbnRpZmllciwgaW5mbyk7CiB9CiAKLXZvaWQgSURCQ29ubmVjdGlvblRvU2Vy
dmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpZmllcikKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFu
c2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
ciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAi
SURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbiIpOwogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKICAgICBpZiAobV9zZXJ2ZXJDb25uZWN0aW9uSXNWYWxpZCkKLSAg
ICAgICAgbV9kZWxlZ2F0ZS0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVy
KTsKKyAgICAgICAgbV9kZWxlZ2F0ZS0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVu
dGlmaWVyLCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICBlbHNlIHsKICAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0cmFuc2Fj
dGlvbklkZW50aWZpZXJdIHsKICAgICAgICAgICAgIGRpZENvbW1pdFRyYW5zYWN0aW9uKHRyYW5z
YWN0aW9uSWRlbnRpZmllciwgSURCRXJyb3I6OnNlcnZlckNvbm5lY3Rpb25Mb3N0RXJyb3IoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURC
Q29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKaW5kZXggODkzZjI4ZDljOWViNjJmMWRlM2Yx
Nzg1YjAwYjdlOTdlN2U4NjczOC4uYzE3ZDE0YWJmMDRiYmIzNmMzNGE4NjE0YjUwMTdjYWUwOWRi
N2M3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtMTA4LDcgKzEwOCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGl0ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmLCBj
b25zdCBJREJJdGVyYXRlQ3Vyc29yRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlk
SXRlcmF0ZUN1cnNvcihjb25zdCBJREJSZXN1bHREYXRhJik7CiAKLSAgICB2b2lkIGNvbW1pdFRy
YW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlm
aWVyKTsKKyAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZENvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElE
QlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJFcnJv
ciYpOwogCiAgICAgdm9pZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlv
bih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRl
LmgKaW5kZXggN2E4MTk0Mjk3MzdlZmMyNWU4YTE1NGE3NGI0YTdlMmI3M2JhMzI2YS4uNjYyNmRj
YjliNGE3YmNkOGJmYzhjOWQ4ZjdkYWExMzkyMTEyODUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVn
YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgb3BlbkRhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3Qg
SURCUmVzb3VyY2VJZGVudGlmaWVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb21taXRUcmFu
c2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVx
dWVzdENvdW50KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lv
bkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIs
IGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY3Jl
YXRlT2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9y
ZUluZm8mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElE
QlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5j
cHAKaW5kZXggZWEzZjZkNmEyMWRlZmUzYmY1YTcyMGU1NDA2MDUwNTc3N2Y4NWY2MS4uYjRkNTU5
NDU0MjQ4MDlhZjI2OGIwYzc0Mzg3NDFhNTYyOTE4ZGMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKQEAgLTQwOCw3
ICs0MDgsNyBAQCB2b2lkIElEQlNlcnZlcjo6ZXN0YWJsaXNoVHJhbnNhY3Rpb24odWludDY0X3Qg
ZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29ucwogICAgICAgICBtX3VuaXF1ZUlEQkRh
dGFiYXNlTWFwLnJlbW92ZShkYXRhYmFzZS0+aWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBJREJT
ZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJh
bnNhY3Rpb25JZGVudGlmaWVyKQordm9pZCBJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRf
dCBwZW5kaW5nUmVxdWVzdENvdW50KQogewogICAgIExPRyhJbmRleGVkREIsICJJREJTZXJ2ZXI6
OmNvbW1pdFRyYW5zYWN0aW9uIik7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CkBAIC00
MjEsNyArNDIxLDcgQEAgdm9pZCBJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElE
QlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGkKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHRyYW5zYWN0aW9uLT5jb21taXQoKTsKKyAgICB0cmFuc2FjdGlvbi0+Y29t
bWl0KHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogfQogCiB2b2lkIElEQlNlcnZlcjo6ZGlkRmluaXNo
SGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0
aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvSURCU2VydmVyLmgKaW5kZXggNjA4ZDdmYWI5ZWNkNzY1ZDk3ZjBjMDgzMzNmZjRkYjU0MDAx
MDdiMS4uZDg4MzY0OWE1YzhkNWI1OWYwMmMyYmRhY2RkZTY3OGExY2EzYzQyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaApA
QCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBvcGVuRGF0
YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRl
bGV0ZURhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOwotICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjb21taXRUcmFuc2FjdGlvbihj
b25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5n
ZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0
IElEQlJlc291cmNlSWRlbnRpZmllciYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY3JlYXRl
T2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9yZUlu
Zm8mKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbmFtZU9iamVjdFN0b3JlKGNvbnN0IElE
QlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIG5ld05hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24u
Y3BwCmluZGV4IGYzMmY1NDVjODlhN2IxZDUyNWEzMWQ2MDg0YmNiODg5MDljYzUyMDkuLjIwYmYx
YTE5YWRiNjJkNTc2NTI2NjYyYjg4YmZkMWJmMzNiYWJhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAKQEAgLTEwMSwxMiArMTAxLDMwIEBAIGJvb2wg
VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6aXNSZWFkT25seSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fdHJhbnNhY3Rpb25JbmZvLm1vZGUoKSA9PSBJREJUcmFuc2FjdGlvbk1vZGU6OlJlYWRv
bmx5OwogfSAgIAogCi12b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCgp
Cit2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCh1aW50NjRfdCBwZW5k
aW5nUmVxdWVzdENvdW50KQogewogICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uOjpjb21taXQiKTsKIAogICAgIGF1dG8gZGF0YWJhc2UgPSBkYXRhYmFzZUNv
bm5lY3Rpb24oKS5kYXRhYmFzZSgpOwogCisgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4gZXJy
b3JJblBlbmRpbmdSZXF1ZXN0czsKKyAgICB3aGlsZSAocGVuZGluZ1JlcXVlc3RDb3VudC0tKSB7
CisgICAgICAgIGF1dG8gZXJyb3IgPSBtX3JlcXVlc3RSZXN1bHRzLnRha2VMYXN0KCk7CisgICAg
ICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGVycm9ySW5QZW5kaW5nUmVx
dWVzdHMgPSBlcnJvcjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisg
ICAgaWYgKGVycm9ySW5QZW5kaW5nUmVxdWVzdHMpIHsKKyAgICAgICAgZGF0YWJhc2UtPmFib3J0
VHJhbnNhY3Rpb24oKnRoaXMsIFt0aGlzLCAmZXJyb3JJblBlbmRpbmdSZXF1ZXN0c10oYXV0byYp
IHsKKyAgICAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpjb21taXQgd2l0aCBlcnJvciAoY2FsbGJhY2spIik7CisKKyAgICAgICAgICAgIG1fZGF0
YWJhc2VDb25uZWN0aW9uLT5kaWRDb21taXRUcmFuc2FjdGlvbigqdGhpcywgKmVycm9ySW5QZW5k
aW5nUmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAg
IGRhdGFiYXNlLT5jb21taXRUcmFuc2FjdGlvbigqdGhpcywgW3RoaXNdKGF1dG8mIGVycm9yKSB7
CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpj
b21taXQgKGNhbGxiYWNrKSIpOwogCkBAIC0xMjcsNiArMTQ1LDggQEAgdm9pZCBVbmlxdWVJREJE
YXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0
YSYgcmVxdWUKICAgICBkYXRhYmFzZS0+Y3JlYXRlT2JqZWN0U3RvcmUoKnRoaXMsIGluZm8sIFt0
aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwg
IlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlIChjYWxsYmFj
aykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAg
ICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCku
ZGlkQ3JlYXRlT2JqZWN0U3RvcmUoSURCUmVzdWx0RGF0YTo6Y3JlYXRlT2JqZWN0U3RvcmVTdWNj
ZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpAQCAt
MTQ3LDYgKzE2Nyw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6ZGVsZXRl
T2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlCiAgICAgZGF0YWJhc2UtPmRl
bGV0ZU9iamVjdFN0b3JlKCp0aGlzLCBvYmplY3RTdG9yZU5hbWUsIFt0aGlzLCByZXF1ZXN0RGF0
YV0oY29uc3QgSURCRXJyb3ImIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlx
dWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpkZWxldGVPYmplY3RTdG9yZSAoY2FsbGJhY2spIik7
CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlm
IChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRpZERl
bGV0ZU9iamVjdFN0b3JlKElEQlJlc3VsdERhdGE6OmRlbGV0ZU9iamVjdFN0b3JlU3VjY2Vzcyhy
ZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTE2Nyw2
ICsxODksOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZU9iamVj
dFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZQogICAgIGRhdGFiYXNlLT5yZW5hbWVP
YmplY3RTdG9yZSgqdGhpcywgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBuZXdOYW1lLCBbdGhpcywg
cmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlx
dWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZSAoY2FsbGJhY2spIik7
CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlm
IChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRpZFJl
bmFtZU9iamVjdFN0b3JlKElEQlJlc3VsdERhdGE6OnJlbmFtZU9iamVjdFN0b3JlU3VjY2Vzcyhy
ZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTE4Niw2
ICsyMTAsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNsZWFyT2JqZWN0
U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlcwogICAgIGRhdGFiYXNlLT5jbGVhck9i
amVjdFN0b3JlKCp0aGlzLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIFt0aGlzLCByZXF1ZXN0RGF0
YV0oYXV0byYgZXJyb3IpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmNsZWFyT2JqZWN0U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAg
IG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNO
dWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5kaWRDbGVhck9iamVjdFN0
b3JlKElEQlJlc3VsdERhdGE6OmNsZWFyT2JqZWN0U3RvcmVTdWNjZXNzKHJlcXVlc3REYXRhLnJl
cXVlc3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpAQCAtMjA2LDYgKzIzMiw4IEBAIHZv
aWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVx
dWVzdERhdGEmIHJlcXVlc3REYXRhCiAgICAgZGF0YWJhc2UtPmNyZWF0ZUluZGV4KCp0aGlzLCBp
bmZvLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRl
eGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRleCAoY2FsbGJh
Y2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAg
ICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigp
LmRpZENyZWF0ZUluZGV4KElEQlJlc3VsdERhdGE6OmNyZWF0ZUluZGV4U3VjY2VzcyhyZXF1ZXN0
RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTIyNiw2ICsyNTQs
OCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZUluZGV4KGNvbnN0
IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YQogICAgIGRhdGFiYXNlLT5kZWxldGVJbmRleCgq
dGhpcywgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRleE5hbWUsIFt0aGlzLCByZXF1ZXN0RGF0
YV0oYXV0byYgZXJyb3IpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmNyZWF0ZUluZGV4IChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3Jl
cXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgp
KQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuZGlkRGVsZXRlSW5kZXgoSURCUmVz
dWx0RGF0YTo6ZGVsZXRlSW5kZXhTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVy
KCkpKTsKICAgICAgICAgZWxzZQpAQCAtMjQ2LDYgKzI3Niw4IEBAIHZvaWQgVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6cmVuYW1lSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVl
c3REYXRhCiAgICAgZGF0YWJhc2UtPnJlbmFtZUluZGV4KCp0aGlzLCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIGluZGV4SWRlbnRpZmllciwgbmV3TmFtZSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRv
JiBlcnJvcikgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFu
c2FjdGlvbjo6cmVuYW1lSW5kZXggKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJl
c3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAg
ICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5kaWRSZW5hbWVJbmRleChJREJSZXN1bHREYXRh
OjpyZW5hbWVJbmRleFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwog
ICAgICAgICBlbHNlCkBAIC0yNjcsNiArMjk5LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uOjpwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGMK
ICAgICBkYXRhYmFzZS0+cHV0T3JBZGQocmVxdWVzdERhdGEsIGtleURhdGEsIHZhbHVlLCBvdmVy
d3JpdGVNb2RlLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJLZXlE
YXRhJiBrZXkpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJh
bnNhY3Rpb246OnB1dE9yQWRkIChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1
bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAg
ICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlkUHV0T3JB
ZGQoSURCUmVzdWx0RGF0YTo6cHV0T3JBZGRTdWNjZXNzKHJlcXVlc3REYXRhLnJlcXVlc3RJZGVu
dGlmaWVyKCksIGtleSkpOwogICAgICAgICBlbHNlCkBAIC0yODYsNiArMzIwLDggQEAgdm9pZCBV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERh
dGEmIHJlcXVlc3REYXRhLAogICAgIGRhdGFiYXNlLT5nZXRSZWNvcmQocmVxdWVzdERhdGEsIGdl
dFJlY29yZERhdGEsIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IsIGNvbnN0IElEQkdl
dFJlc3VsdCYgcmVzdWx0KSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVx
dWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkp
CiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQoKS5k
aWRHZXRSZWNvcmQoSURCUmVzdWx0RGF0YTo6Z2V0UmVjb3JkU3VjY2VzcyhyZXF1ZXN0RGF0YS5y
ZXF1ZXN0SWRlbnRpZmllcigpLCByZXN1bHQpKTsKICAgICAgICAgZWxzZQpAQCAtMzA1LDYgKzM0
MSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0QWxsUmVjb3Jkcyhj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhCiAgICAgZGF0YWJhc2UtPmdldEFsbFJlY29y
ZHMocmVxdWVzdERhdGEsIGdldEFsbFJlY29yZHNEYXRhLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1
dG8mIGVycm9yLCBjb25zdCBJREJHZXRBbGxSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBMT0co
SW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0QWxsUmVjb3JkcyAo
Y2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOwor
CiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVj
dGlvbigpLmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZEdldEFsbFJlY29yZHMoSURCUmVzdWx0RGF0
YTo6Z2V0QWxsUmVjb3Jkc1N1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwg
cmVzdWx0KSk7CiAgICAgICAgIGVsc2UKQEAgLTMyNCw2ICszNjIsOCBAQCB2b2lkIFVuaXF1ZUlE
QkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1
ZXN0RGF0YSwgYwogICAgIGRhdGFiYXNlLT5nZXRDb3VudChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VE
YXRhLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yLCB1aW50NjRfdCBjb3VudCkgewog
ICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0
Q291bnQgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVy
cm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFz
ZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQoKS5kaWRHZXRDb3VudChJREJSZXN1bHRE
YXRhOjpnZXRDb3VudFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgY291
bnQpKTsKICAgICAgICAgZWxzZQpAQCAtMzQzLDYgKzM4Myw4IEBAIHZvaWQgVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6ZGVsZXRlUmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1
ZXN0RGF0CiAgICAgZGF0YWJhc2UtPmRlbGV0ZVJlY29yZChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VE
YXRhLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAgIExPRyhJbmRl
eGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpkZWxldGVSZWNvcmQgKGNhbGxi
YWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAg
ICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24o
KS5jb25uZWN0aW9uVG9DbGllbnQoKS5kaWREZWxldGVSZWNvcmQoSURCUmVzdWx0RGF0YTo6ZGVs
ZXRlUmVjb3JkU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAg
ICAgIGVsc2UKQEAgLTM2Miw2ICs0MDQsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNh
Y3Rpb246Om9wZW5DdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLAogICAg
IGRhdGFiYXNlLT5vcGVuQ3Vyc29yKHJlcXVlc3REYXRhLCBpbmZvLCBbdGhpcywgcmVxdWVzdERh
dGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBM
T0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6b3BlbkN1cnNvciAo
Y2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOwor
CiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVj
dGlvbigpLmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZE9wZW5DdXJzb3IoSURCUmVzdWx0RGF0YTo6
b3BlbkN1cnNvclN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0
KSk7CiAgICAgICAgIGVsc2UKQEAgLTM4NCw2ICs0MjgsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246Oml0ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVl
c3REYQogICAgICAgICBpZiAob3B0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29ySXRlcmF0ZU9wdGlv
bjo6RG9Ob3RSZXBseSkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBtX3JlcXVlc3RS
ZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAg
ICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlkSXRl
cmF0ZUN1cnNvcihJREJSZXN1bHREYXRhOjppdGVyYXRlQ3Vyc29yU3VjY2VzcyhyZXF1ZXN0RGF0
YS5yZXF1ZXN0SWRlbnRpZmllcigpLCByZXN1bHQpKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmgKaW5kZXggYTkwNWU1YWU0YTU5NDU0NzU5
YWQwNGRhMTlmZDliOTY5YmI0ODc3OC4uOTU5NjY1MmFkY2RiYTdhMDQ4YjYxOWY3NGVmMWE5MmNl
ZWY5ZTBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJJREJFcnJvci5oIgogI2luY2x1ZGUgIklEQlRy
YW5zYWN0aW9uSW5mby5oIgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC02NSw3ICs2Niw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgYWJvcnQoKTsKICAgICB2b2lkIGFib3J0V2l0aG91dENhbGxiYWNr
KCk7Ci0gICAgdm9pZCBjb21taXQoKTsKKyAgICB2b2lkIGNvbW1pdCh1aW50NjRfdCBwZW5kaW5n
UmVxdWVzdENvdW50KTsKIAogICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgSURCUmVx
dWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mKTsKICAgICB2b2lkIGRlbGV0ZU9i
amVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9y
ZU5hbWUpOwpAQCAtMTAwLDYgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPHVpbnQ2NF90
PiBtX29iamVjdFN0b3JlSWRlbnRpZmllcnM7CiAKICAgICBzdGQ6Om9wdGlvbmFsPElEQkVycm9y
PiBtX21haW5UaHJlYWRBYm9ydFJlc3VsdDsKKyAgICBEZXF1ZTxJREJFcnJvcj4gbV9yZXF1ZXN0
UmVzdWx0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIElEQlNlcnZlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA1ZGNmOWQwYzY3ZWU2ZTk3NGE5NzgzZjJkZmI4NzUz
NWU3NTQ3OTMwLi5hM2M5OGIxZTNjYTdhYjc2ZWUxZjBhMWIwZTgxYTgxZWNkODlhYjE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIGNs
YXNzIEVtcHR5RGF0YWJhc2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBEYXRhYmFzZVByb3ZpZGVy
IHsKICAgICAgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpIGZp
bmFsIHsgfQogICAgICAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYp
IGZpbmFsIHsgfQogICAgICAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3Vy
Y2VJZGVudGlmaWVyJikgZmluYWwgeyB9Ci0gICAgICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24o
Y29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmluYWwgeyB9CisgICAgICAgIHZvaWQgY29t
bWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3QpIGZp
bmFsIHsgfQogICAgICAgICB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5z
YWN0aW9uKHVpbnQ2NF90LCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbCB7IH0K
ICAgICAgICAgdm9pZCBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IElEQk9iamVjdFN0b3JlSW5mbyYpIGZpbmFsIHsgfQogICAgICAgICB2b2lkIGRlbGV0ZU9i
amVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJikgZmluYWwgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJ
REJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2Vi
SURCU2VydmVyLmNwcAppbmRleCA4ZmNhZjM4ZWQ1MmMxMzZlY2U4MjZkNDMxMzIyM2M5NmRkZGEy
YmYyLi5mMDY4YjI2N2ExNTE2NjhjNjYwMWMwYWM0ZTRlN2U3YmI2ZGRmZGQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZl
ci5jcHAKQEAgLTE4MiwxMiArMTgyLDEyIEBAIHZvaWQgV2ViSURCU2VydmVyOjphYm9ydFRyYW5z
YWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhCiAgICAg
bV9zZXJ2ZXItPmFib3J0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKIH0KIAot
dm9pZCBXZWJJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJl
c291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQordm9pZCBXZWJJREJTZXJ2
ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmll
ciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQog
ewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgTG9ja2VyIGxvY2tlciB7
IG1fc2VydmVyTG9jayB9OwotICAgIG1fc2VydmVyLT5jb21taXRUcmFuc2FjdGlvbih0cmFuc2Fj
dGlvbklkZW50aWZpZXIpOworICAgIG1fc2VydmVyLT5jb21taXRUcmFuc2FjdGlvbih0cmFuc2Fj
dGlvbklkZW50aWZpZXIsIHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogfQogCiB2b2lkIFdlYklEQlNl
cnZlcjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3Qg
ZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oCmluZGV4IGE3ZTk2NWRl
MDE0ZTk4MTg2MGNiMzY5MTg4NzNjOTVhYWIyNzdhMzMuLjYyZjBjYWMzNmRjNjhlNWFlZTFjMWJi
Y2FkMzY4MzlkNzMxODA3MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpOwog
ICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsK
ICAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVu
dGlmaWVyJik7Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXImKTsKKyAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291
bnQpOwogICAgIHZvaWQgZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24o
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURC
UmVzb3VyY2VJZGVudGlmaWVyJik7CiAgICAgdm9pZCBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBX
ZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5m
byYpOwogICAgIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVz
dERhdGEmLCBjb25zdCBTdHJpbmcmIG9iamVjdFN0b3JlTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIu
bWVzc2FnZXMuaW4KaW5kZXggNjc2NDhkYTk4ZjU1YTA5M2M0YTRiMTdiZjM2MjhlOGUxNTBmMjg3
NC4uMjc5ODE4OTE5Y2YyMzY5YjI3MDE1NmI1NThjNTY5MDQ2MTFkMTU5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklE
QlNlcnZlci5tZXNzYWdlcy5pbgpAQCAtMjQsNyArMjQsNyBAQCBtZXNzYWdlcyAtPiBXZWJJREJT
ZXJ2ZXIgewogICAgIERlbGV0ZURhdGFiYXNlKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVl
c3REYXRhKQogICAgIE9wZW5EYXRhYmFzZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0
RGF0YSkKICAgICBBYm9ydFRyYW5zYWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmll
ciB0cmFuc2FjdGlvbklkZW50aWZpZXIpCi0gICAgQ29tbWl0VHJhbnNhY3Rpb24oV2ViQ29yZTo6
SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKKyAgICBDb21taXRU
cmFuc2FjdGlvbihXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQogICAgIERpZEZpbmlzaEhhbmRs
aW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklk
ZW50aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50
aWZpZXIpCiAgICAgQ3JlYXRlT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVx
dWVzdERhdGEsIFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbyBpbmZvKQogICAgIERlbGV0ZU9i
amVjdFN0b3JlKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBTdHJpbmcgb2Jq
ZWN0U3RvcmVOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFi
YXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5jcHAKaW5kZXggZjA2Mjk3NWU0MzA1MjVjOWFkOWZiZGMzNWVmNjA1OTdkNmFmZjA1OC4uMDRj
MjQxMGYzNWFkY2MwNDZjNTQwNmFmMGNjZTJmZDBlODQxYWRiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4
ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC05NSw5ICs5NSw5IEBAIHZvaWQg
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjphYm9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgdHJhCiAgICAgc2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpBYm9y
dFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCit2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFu
c2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7Ci0gICAg
c2VuZChNZXNzYWdlczo6V2ViSURCU2VydmVyOjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlv
bklkZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXI6OkNvbW1pdFRy
YW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgcGVuZGluZ1JlcXVlc3RDb3VudCkpOwog
fQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
ciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9X
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDQ0MTA4NTEw
ZGYyZDIwOGYyYjZhYWQwNzFhN2NiN2Y5YWYxMDcwOGUuLmVkMTE2YTNmZmZiY2NjMDg0NzJmM2Fh
NjVhMmYzZTk1ZWEyNTUyYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25U
b1NlcnZlci5oCkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZWxldGVEYXRh
YmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3Bl
bkRhdGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CiAgICAgdm9p
ZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYp
IGZpbmFsOwotICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVz
b3VyY2VJZGVudGlmaWVyJikgZmluYWw7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25z
dCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVz
dENvdW50KSBmaW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRy
YW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY3JlYXRlT2Jq
ZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJ
REJPYmplY3RTdG9yZUluZm8mKSBmaW5hbDsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNv
bnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5h
bWUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJv
Y2Vzc0lEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNz
SURCU2VydmVyLmNwcAppbmRleCBlZmJmNGYyZGYzYjJiYWQzMDdlNzdlNGJhZWM5MmE5MzczNTY4
NzY1Li44OWQ4MDhjOWRkZTg5MzY0ZjVlN2FhMmIxM2RmODdkY2QwMjJhMTgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcApAQCAt
MjcwLDExICsyNzAsMTEgQEAgdm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmFib3J0VHJhbnNhY3Rp
b24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJgogICAgIH0pOwogfQogCi12
b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6
SURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXNvdXJjZUlkZW50aWZpZXIpCit2b2lkIEluUHJvY2Vz
c0lEQlNlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiByZXNvdXJjZUlkZW50aWZpZXIsIHVpbnQ2NF90IHBlbmRpbmdDb3VudFJlcXVl
c3QpCiB7Ci0gICAgZGlzcGF0Y2hUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIHJlc291cmNlSWRlbnRpZmllciA9IHJlc291cmNlSWRlbnRpZmllci5pc29sYXRlZENv
cHkoKV0geworICAgIGRpc3BhdGNoVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCByZXNvdXJjZUlkZW50aWZpZXIgPSByZXNvdXJjZUlkZW50aWZpZXIuaXNvbGF0ZWRD
b3B5KCksIHBlbmRpbmdDb3VudFJlcXVlc3RdIHsKICAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1f
c2VydmVyTG9jayB9OwotICAgICAgICBtX3NlcnZlci0+Y29tbWl0VHJhbnNhY3Rpb24ocmVzb3Vy
Y2VJZGVudGlmaWVyKTsKKyAgICAgICAgbV9zZXJ2ZXItPmNvbW1pdFRyYW5zYWN0aW9uKHJlc291
cmNlSWRlbnRpZmllciwgcGVuZGluZ0NvdW50UmVxdWVzdCk7CiAgICAgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuaAppbmRleCA3
M2VkOGNhMzhjZTZlZTkzNWViZTJjN2IyOTM4ZGNiYzZiODk1MzE3Li5kMjA3NDFjODAyYWZlOWZh
NjZiYTAxZjM2OWNjNDUyZWIxZTRiNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9T
dG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmlu
YWw7CiAgICAgdm9pZCBvcGVuRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEm
KSBmaW5hbDsKICAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVz
b3VyY2VJZGVudGlmaWVyJikgZmluYWw7Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25z
dCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbDsKKyAgICB2b2lkIGNvbW1p
dFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYsIHVpbnQ2
NF90IHBlbmRpbmdDb3VudFJlcXVlc3QpIGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNoSGFuZGxp
bmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJikgZmluYWw7CiAg
ICAgdm9pZCBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYs
IGNvbnN0IFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbyYpIGZpbmFsOwogICAgIHZvaWQgZGVs
ZXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBTdHJp
bmcmIG9iamVjdFN0b3JlTmFtZSkgZmluYWw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBhNjY4MDY1YTkzYWU1MDYzZTEyNDBlNDI1NWQzZTZmMmUxZWY0MGUwLi5mMDQ4OTY4ZjNj
MDEyOTQ1MzI4YWVhMTczOWJhNzA1MmMyYmI2MjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0xOSAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA2NTEyNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55
Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQ6IFNvbWUgdGVzdCBpcyB0
aW1lZCBvdXQgYXMgb3VyIGJhY2tlbmQgZG9lcworICAgICAgICBub3Qgc3VwcG9ydCBydW5uaW5n
IG11bHRpcGxlIHRyYW5zYWN0aW9ucyBzaW11bHRhbmVvdXNseSBub3cuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisKIDIw
MjEtMDctMTkgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdy
aWRdIEltYWdlcyBhcyBncmlkIGl0ZW1zIHNob3VsZCB1c2UgdGhlIG92ZXJyaWRpbmdMb2dpY2Fs
SGVpZ2h0IHdoZW4gZGVmaW5lZCB0byBjb21wdXRlIHRoZSBsb2dpY2FsIHdpZHRoCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQt
Y29tbWl0LXRocm93LmFueS1leHBlY3RlZC50eHQKaW5kZXggZWY2OGI4NWY3M2NiYTZiOTY3ZmUy
YzFkY2IxYWU3ZjcwMjdjZDIwNy4uYWI2MDMyMjQwM2VkZTM5MmExOWM2ZTc4ZTM5NjM2YmNhOTAw
YWQwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnktZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBl
eHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vz
c2VkLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1p
dCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitQQVNTIEFueSBlcnJvcnMgaW4gY2Fs
bGJhY2tzIHRoYXQgcnVuIGFmdGVyIGFuIGV4cGxpY2l0IGNvbW1pdCB3aWxsIG5vdCBzdG9wIHRo
ZSBjb21taXQgZnJvbSBiZWluZyBwcm9jZXNzZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1j
b21taXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRo
cm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGVmNjhiODVmNzNjYmE2Yjk2N2ZlMmMx
ZGNiMWFlN2Y3MDI3Y2QyMDcuLmFiNjAzMjI0MDNlZGUzOTJhMTljNmU3OGUzOTYzNmJjYTkwMGFk
MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1
biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZyb20g
YmVpbmcgcHJvY2Vzc2VkLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitQQVNTIEFueSBl
cnJvcnMgaW4gY2FsbGJhY2tzIHRoYXQgcnVuIGFmdGVyIGFuIGV4cGxpY2l0IGNvbW1pdCB3aWxs
IG5vdCBzdG9wIHRoZSBjb21taXQgZnJvbSBiZWluZyBwcm9jZXNzZWQuCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Yi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55
LWV4cGVjdGVkLnR4dAppbmRleCBjODFiM2ZiODFhOGVjZWE0NmQ3YjFiOTdkNjkzOThiMzNkMzEw
YzMzLi4zOWRjOWYxZjRhNzBhYWEyMjM1YzE5MWUzYzI2YzY4MGM5NTcwMWY5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1p
dC5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDE2IEBACiAKLUZBSUwgRXhwbGljaXRseSBj
b21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgotRkFJTCBjb21taXQoKSBvbiBhIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRv
ZXMgbm90IGNhdXNlIGVycm9ycy4gdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBIGNvbW1pdHRl
ZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGluYWN0aXZlIGltbWVkaWF0ZWx5LiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkiCi1GQUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZl
IGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQp
IgotRkFJTCBQdXRzIGlzc3VlZCBhZnRlciBjb21taXQgYXJlIG5vdCBmdWxmaWxsZWQuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhu
LmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRl
ZCB0cmFuc2FjdGlvbiB0aHJvd3MuIGFzc2VydF90aHJvd3NfZG9tOiBUaGUgdHJhbnNhY3Rpb24g
c2hvdWxkIGhhdmUgYmVlbiBhYm9ydGVkLiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7
IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlz
IG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlz
IGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZBSUwgQ2FsbGluZyBjb21taXQgb24g
YSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5l
ZCkiCi1GQUlMIENhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dz
IGFuZCBkb2VzIG5vdCBwcmV2ZW50IHBlcnNpc3RpbmcgdGhlIGRhdGEuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNv
bW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcg
aXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyB0eG4uY29tbWl0KCkgd2hlbiB0eG4gaXMgaW5h
Y3RpdmUgc2hvdWxkIHRocm93LiBhc3NlcnRfdGhyb3dzX2RvbTogVGhlIHRyYW5zYWN0aW9uIHNo
b3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNvbW1pdCBzaG91bGQgdGhyb3cuIGZ1bmN0aW9u
ICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQot
RkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3VsZCBzdGF5IGluIHByb2dyYW0g
b3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4yLmNvbW1pdCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0eG4yLmNvbW1pdCgpJywgJ3R4bjIuY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgotRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2
ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1G
QUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBi
ZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBjb21taXQgaXMgY2FsbGVkIGluIGFu
IG9uZXJyb3IgaGFuZGxlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0JyBpcyB1bmRlZmluZWQpIgorSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1MgRXhwbGljaXRseSBjb21t
aXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4KK1BBU1MgY29tbWl0KCkgb24gYSB2ZXJz
aW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBkb2VzIG5vdCBjYXVzZSBlcnJvcnMuCitQQVNTIEEgY29t
bWl0dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1tZWRpYXRlbHkuCitQQVNTIEEg
Y29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxi
YWNrcy4KK1BBU1MgUHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0IGFyZSBub3QgZnVsZmlsbGVkLgor
UEFTUyBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4KK1BB
U1MgQ2FsbGluZyBjb21taXQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLgorUEFT
UyBDYWxsaW5nIGFib3J0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cyBhbmQgZG9l
cyBub3QgcHJldmVudCBwZXJzaXN0aW5nIHRoZSBkYXRhLgorUEFTUyBDYWxsaW5nIHR4bi5jb21t
aXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cuCitUSU1FT1VUIFRyYW5zYWN0
aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hvdWxkIHN0YXkgaW4gcHJvZ3JhbSBvcmRlciwgZXZlbiBp
ZiBvbmUgY2FsbHMgY29tbWl0LiBUZXN0IHRpbWVkIG91dAorTk9UUlVOIFRyYW5zYWN0aW9ucyB0
aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFuZCBoYXZlIGVycm9ycyBzaG91bGQgYWJvcnQuCitOT1RS
VU4gVHJhbnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBlcnJvcnMgcHJvcGVybHkgc2hvdWxkIGJl
aGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFuIGV4cGxpY2l0IGNvbW1pdCBpcyBjYWxsZWQgaW4gYW4g
b25lcnJvciBoYW5kbGVyLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCBjODFiM2ZiODFhOGVjZWE0NmQ3YjFiOTdkNjkzOThiMzNkMzEwYzMzLi4zOWRjOWYx
ZjRhNzBhYWEyMjM1YzE5MWUzYzI2YzY4MGM5NTcwMWY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQt
Y29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsMTYgQEAKIAotRkFJTCBFeHBsaWNpdGx5
IGNvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0LiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVu
ZGVmaW5lZCkiCi1GQUlMIGNvbW1pdCgpIG9uIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24g
ZG9lcyBub3QgY2F1c2UgZXJyb3JzLiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEEgY29tbWl0
dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1tZWRpYXRlbHkuIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhu
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1p
dCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gaXMgaW5hY3Rp
dmUgaW4gZnV0dXJlIHJlcXVlc3QgY2FsbGJhY2tzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5l
ZCkiCi1GQUlMIFB1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxlZC4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0
eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9y
dGVkIHRyYW5zYWN0aW9uIHRocm93cy4gYXNzZXJ0X3Rocm93c19kb206IFRoZSB0cmFuc2FjdGlv
biBzaG91bGQgaGF2ZSBiZWVuIGFib3J0ZWQuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQo
KTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQg
aXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIg
aXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQotRkFJTCBDYWxsaW5nIGNvbW1pdCBv
biBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZp
bmVkKSIKLUZBSUwgQ2FsbGluZyBhYm9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJv
d3MgYW5kIGRvZXMgbm90IHByZXZlbnQgcGVyc2lzdGluZyB0aGUgZGF0YS4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4u
Y29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0
JyBpcyB1bmRlZmluZWQpIgotRkFJTCBDYWxsaW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBp
bmFjdGl2ZSBzaG91bGQgdGhyb3cuIGFzc2VydF90aHJvd3NfZG9tOiBUaGUgdHJhbnNhY3Rpb24g
c2hvdWxkIGJlIGluYWN0aXZlIHNvIGNhbGxpbmcgY29tbWl0IHNob3VsZCB0aHJvdy4gZnVuY3Rp
b24gIigpID0+IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdHhu
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1p
dCcgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRl
RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDEx
Ci1GQUlMIFRyYW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hvdWxkIHN0YXkgaW4gcHJvZ3Jh
bSBvcmRlciwgZXZlbiBpZiBvbmUgY2FsbHMgY29tbWl0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjIuY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjIuY29tbWl0KCknLCAndHhuMi5jb21taXQnIGlzIHVu
ZGVmaW5lZCkiCi1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFuZCBo
YXZlIGVycm9ycyBzaG91bGQgYWJvcnQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMS5jb21taXQgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndHhuMS5jb21taXQoKScsICd0eG4xLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIK
LUZBSUwgVHJhbnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBlcnJvcnMgcHJvcGVybHkgc2hvdWxk
IGJlaGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFuIGV4cGxpY2l0IGNvbW1pdCBpcyBjYWxsZWQgaW4g
YW4gb25lcnJvciBoYW5kbGVyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitIYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBFeHBsaWNpdGx5IGNv
bW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0LgorUEFTUyBjb21taXQoKSBvbiBhIHZl
cnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVycm9ycy4KK1BBU1MgQSBj
b21taXR0ZWQgdHJhbnNhY3Rpb24gYmVjb21lcyBpbmFjdGl2ZSBpbW1lZGlhdGVseS4KK1BBU1Mg
QSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgaW4gZnV0dXJlIHJlcXVlc3QgY2Fs
bGJhY2tzLgorUEFTUyBQdXRzIGlzc3VlZCBhZnRlciBjb21taXQgYXJlIG5vdCBmdWxmaWxsZWQu
CitQQVNTIENhbGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLgor
UEFTUyBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuCitQ
QVNTIENhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFuZCBk
b2VzIG5vdCBwcmV2ZW50IHBlcnNpc3RpbmcgdGhlIGRhdGEuCitQQVNTIENhbGxpbmcgdHhuLmNv
bW1pdCgpIHdoZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4KK1RJTUVPVVQgVHJhbnNh
Y3Rpb25zIHdpdGggc2FtZSBzY29wZSBzaG91bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVyLCBldmVu
IGlmIG9uZSBjYWxscyBjb21taXQuIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gVHJhbnNhY3Rpb25z
IHRoYXQgZXhwbGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4KK05P
VFJVTiBUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQg
YmVoYXZlIGFzIGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQgY29tbWl0IGlzIGNhbGxlZCBpbiBh
biBvbmVycm9yIGhhbmRsZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAppbmRleCBkYTRiMGViN2ViYjU2YTUwYmI2YjBh
NWM3MTMxMTY1YjZmYjBjOWRkLi40YmQ2ZTA5N2UxMmQ1NWViYzA3ODk1ZDg1Y2U4Mzk4NGUwMmZm
NmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5h
bnktZXhwZWN0ZWQudHh0CkBAIC0xODksNyArMTg5LDcgQEAgRkFJTCBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBkdXJhYmlsaXR5IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBl
IG8KIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGIKIFBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IKIFBBU1MgSURCVHJhbnNhY3Rp
b24gaW50ZXJmYWNlOiBvcGVyYXRpb24gb2JqZWN0U3RvcmUoRE9NU3RyaW5nKQotRkFJTCBJREJU
cmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0
aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjb21taXQiIG1pc3NpbmcKK1BBU1MgSURCVHJhbnNhY3Rp
b24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY29tbWl0KCkKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBvcGVyYXRpb24gYWJvcnQoKQogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmFib3J0CiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmli
dXRlIG9uY29tcGxldGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDRiNjhiZDZlOGJjZjIx
OTU1ZDdhYThkM2Y3ZTZkMjRlZTcxZWVhOGIuLmMxMDQzYzY2NjgxZTQ3NTUxZTFhMGI2MTU1MDFh
ZGViYjM0Y2I3M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTg5LDcgKzE4OSw3IEBA
IEZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZHVyYWJpbGl0eSBhc3Nl
cnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTog
YXR0cmlidXRlIGRiCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGVy
cm9yCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIG9iamVjdFN0b3Jl
KERPTVN0cmluZykKLUZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY29t
bWl0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlz
c2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY29tbWl0IiBtaXNz
aW5nCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbW1pdCgpCiBQ
QVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGFib3J0KCkKIFBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydAogUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbXBsZXRlCg==
</data>
<flag name="commit-queue"
          id="456163"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433811</attachid>
            <date>2021-07-19 12:29:17 -0700</date>
            <delta_ts>2021-07-19 16:09:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227815-20210719122916.patch</filename>
            <type>text/plain</type>
            <size>59063</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhmMWQyNWEwZTgzMWZi
MzAxYTM5MzUzZWY3N2YyNWI2ODlmZjExNy4uODRiYjYwOWNjNDc1NzdlMDg1NWJhMzExOGQ1ZDJm
NWRjOGY0OTg4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTA3LTE5ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBJREJUcmFu
c2FjdGlvbi5jb21taXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3ODE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDY1MTI3MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczov
L3d3dy53My5vcmcvVFIvSW5kZXhlZERCLyNkb20taWRidHJhbnNhY3Rpb24tY29tbWl0CisKKyAg
ICAgICAgQ29tbWl0IHJlcXVlc3QgZm9yIElEQlRyYW5zYWN0aW9uIGlzIGNyZWF0ZWQgYXV0b21h
dGljYWxseSBhZnRlciBhbGwgaXRzIHJlcXVlc3RzIGFyZSBjb21wbGV0ZWQgYW5kIHN1Y2Nlc3Mg
CisgICAgICAgIGV2ZW50cyBvZiB0aG9zZSByZXF1ZXN0cyBhcmUgZmlyZWQuIElEQlRyYW5zYWN0
aW9uLmNvbW1pdCgpIGxldHMgY2xpZW50IGNyZWF0ZSBjb21taXQgcmVxdWVzdCwgd2l0aG91dCB3
YWl0aW5nCisgICAgICAgIGZvciB0aGUgcmVzdWx0IG9mIHJlcXVlc3RzLCBzbyB0aGUgY29tbWl0
IGNhbiBoYXBwZW4gc29vbmVyLiAKKworICAgICAgICBJbiBvdXIgaW1wbGVtZW50YXRpb24sIGlm
IHBlbmRpbmcgcmVxdWVzdHMgYmVmb3JlIHRoZSBjb21taXQgcmVxdWVzdCBhcmUgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseSwgY29tbWl0IHJlcXVlc3QgCisgICAgICAgIHdpbGwgYmUgZXhlY3V0ZWQg
ZGlyZWN0bHkgaW4gdGhlIGJhY2tlbmQgYW5kIGRvc2Ugbm90IGFmZmVjdCBieSB0aGluZ3MgaGFw
cGVuaW5nIGluIHJlcXVlc3QgZXZlbnQgaGFuZGxlci4gSWYgCisgICAgICAgIHNvbWUgcGVuZGlu
ZyByZXF1ZXN0IGJlZm9yZSB0aGUgY29tbWl0IHJlcXVlc3QgaGFzIGVycm9yLCB0aGUgY29tbWl0
IHJlcXVlc3Qgd2lsbCBiZSB0cmVhdGVkIGFzIGFib3J0IHJlcXVlc3QsIAorICAgICAgICBhcyBj
b21taXQoKSBtZWFucyBubyBjbGllbnQgb3BlcmF0aW9uLCBpbmNsdWRpbmcgZXJyb3IgaGFuZGxp
bmcsIHNob3VsZCBoYXBwZW4gYWZ0ZXIgaXQuCisKKyAgICAgICAgUmViYXNlbGluZWQgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGlkU3RhcnRUcmFuc2FjdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJl
cXVlc3Q6OndpbGxBYm9ydFRyYW5zYWN0aW9uQWZ0ZXJEaXNwYXRjaGluZ0V2ZW50IGNvbnN0KTog
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QlRyYW5zYWN0aW9uOjphYm9ydER1ZVRvRmFpbGVkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbjo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmFib3J0SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnN0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmhhbmRsZU9wZXJhdGlvbnND
b21wbGV0ZWRPblNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y29t
bWl0KTogSWYgY29tbWl0KCkgaXMgY2FsbGVkIGluIGV2ZW50IGhhbmRsZXIgZm9yIGVycm9yIGV2
ZW50LCBhbmQgdGhlIGVycm9yIGlzIAorICAgICAgICBoYW5kbGVkIGJlZm9yZSB0aGUgY2FsbCwg
d2Ugd2lsbCBjcmVhdGUgYSBjb21taXQgcmVxdWV0LiBPdGhlcndpc2UsIGl0IGlzIGlnbm9yZWQg
YXMgdHJhbnNhY3Rpb24gd2lsbCBhYm9ydAorICAgICAgICBkdWUgdG8gdGhlIGVycm9yLgorICAg
ICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbW1pdEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlcik6CisgICAgICAgIChXZWJD
b3JlOjpJREJUcmFuc2FjdGlvbjo6ZGlkQ29tbWl0KTogZGlkQ29tbWl0IHVzZWQgdG8gYmUgY2Fs
bGVkIGFmdGVyIGFsbCByZXF1ZXN0cyBhcmUgZG9uZSBhbmQgZXZlbnRzIGFyZSAKKyAgICAgICAg
ZmlyZWQuIEFzIGNvbW1pdCByZXF1ZXN0IGNhbiBub3cgYmUgaGFuZGxlZCBhbmQgcmVwbGllZCBi
ZWZvcmUgb3RoZXIgcmVxdWVzdHMsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGNvbXBsZXRlIAorICAg
ICAgICBldmVudCBvZiB0cmFuc2FjdGlvbiBpcyBmaXJlZCBhZnRlciBzdWNjZXNzIGV2ZW50IG9m
IHJlcXVlc3RzLCBieSB0cmFja2luZyBjb21wbGV0aW9uIG9mIHRoZSBsYXN0IHJlcXVlc3QgYmVm
b3JlIAorICAgICAgICBjb21taXQgcmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpvcGVyYXRpb25Db21wbGV0ZWRPbkNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6YXV0b0NvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6aW50ZXJuYWxBYm9ydCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbik6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OmNvbW1pdFRyYW5z
YWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmg6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0
ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbjo6cmVuYW1lT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjbGVhck9iamVjdFN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbjo6Y3JlYXRlSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpkZWxldGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
cHV0T3JBZGQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRBbGxSZWNvcmRzKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0Q291bnQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpkZWxldGVSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6aXRlcmF0ZUN1cnNvcik6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNh
Y3Rpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKwogMjAyMS0wNy0x
OSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gSW1h
Z2VzIGFzIGdyaWQgaXRlbXMgc2hvdWxkIHVzZSB0aGUgb3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQg
d2hlbiBkZWZpbmVkIHRvIGNvbXB1dGUgdGhlIGxvZ2ljYWwgd2lkdGgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTY0
Zjk3MWQ2NWJhZWQ4OWI0MDdhOTQzODU3NTkzMWMzMWRjMmZjZS4uNWI2ZTBmNDAxNGI2NDRhMGJh
ZTQ5MjhhOWVkMmYxODAyNDVlODkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0w
Ny0xOSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA2NTEy
NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbik6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuaDoKKwogMjAyMS0wNy0xOSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBXZWIgSW5zcGVjdG9yOiBTZXJ2aWNlIHdvcmtlcnMg
Y2FuJ3QgYmUgaW5zcGVjdGVkIGluIFNhZmFyaSBUZWNobm9sb2d5IFByZXZpZXcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9D
aGFuZ2VMb2cKaW5kZXggYTQwN2JjYjAyNjhjOWJjZTk1ZmJjMGQ5NTI0MzljMDEzZTc2ODA4Ni4u
NTk0MGJiMzM4Y2YyNGNmNjAwYzJjNWUxMTdhOGEyNmNkMDMyZGI0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNy0xOSAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgSURCVHJhbnNhY3Rpb24uY29tbWl0KCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzgxNQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA2NTEyNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5j
cHA6CisgICAgICAgIChJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKToKKyAg
ICAgICAgKiBTdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5oOgorCiAyMDIxLTA3LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGluaXRpYWwgc3VwcG9y
dCBmb3IgQnJvYWRjYXN0Q2hhbm5lbCBiZWhpbmQgYSBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAppbmRleCA4ZmVmNzll
MWM0MTU1MWIzZGVhOWNlMWY5OGI2NzNiNjdlZDY2NTU1Li5hNGJkNTQyMjQ3ZWNjYzE2YjI2N2Iy
Mjc5ODYzYTlmMzU0ZTEzYTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2UuY3BwCkBAIC0zNTYsOCArMzU2LDkgQEAgdm9pZCBJREJEYXRhYmFz
ZTo6ZGlkU3RhcnRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAgICAg
QVNTRVJUKCFtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbik7CiAgICAgQVNTRVJUKGNhbkN1cnJl
bnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEob3JpZ2luVGhyZWFkKCkpKTsKIAotICAgIC8v
IEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgY2xpZW50IHRvIGhhdmUgYWJvcnRlZCBhIHRyYW5zYWN0
aW9uIGJlZm9yZSB0aGUgc2VydmVyIHJlcGxpZXMgYmFjayB0aGF0IGl0IGhhcyBzdGFydGVkLgot
ICAgIGlmIChtX2Fib3J0aW5nVHJhbnNhY3Rpb25zLmNvbnRhaW5zKHRyYW5zYWN0aW9uLmluZm8o
KS5pZGVudGlmaWVyKCkpKQorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgY2xpZW50IHRv
IGhhdmUgYWJvcnRlZCBvciBjb21taXR0ZWQgYSB0cmFuc2FjdGlvbgorICAgIC8vIGJlZm9yZSB0
aGUgc2VydmVyIHJlcGxpZXMgYmFjayB0aGF0IGl0IGhhcyBzdGFydGVkLgorICAgIGlmIChtX2Fi
b3J0aW5nVHJhbnNhY3Rpb25zLmNvbnRhaW5zKHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVy
KCkpIHx8IG1fY29tbWl0dGluZ1RyYW5zYWN0aW9ucy5jb250YWlucyh0cmFuc2FjdGlvbi5pbmZv
KCkuaWRlbnRpZmllcigpKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9hY3RpdmVUcmFuc2Fj
dGlvbnMuc2V0KHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCksICZ0cmFuc2FjdGlvbik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCmlu
ZGV4IDc4ZWMzZjk2NTg2NGFiNGFlZDcyYTk2NjViMWM4N2U5NDcwM2Y5ZGIuLjA3YzdkNzg4YjU1
ZmRhZjA3YjFjNDA2ODg2Mjc5M2YwOGIxYmU0ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBJ
REJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVudCkKICAgICBBU1NFUlQoIWlzQ29u
dGV4dFN0b3BwZWQoKSk7CiAKICAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlz
KTsKLSAgICBtX2Rpc3BhdGNoaW5nRXZlbnQgPSB0cnVlOworICAgIG1fZXZlbnRCZWluZ0Rpc3Bh
dGNoZWQgPSAmZXZlbnQ7CiAKICAgICBpZiAoZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5i
bG9ja2VkRXZlbnQpCiAgICAgICAgIG1fcmVhZHlTdGF0ZSA9IFJlYWR5U3RhdGU6OkRvbmU7CkBA
IC0zMjAsNyArMzIwLDcgQEAgdm9pZCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBl
dmVudCkKICAgICBpZiAoIW1faGFzUGVuZGluZ0FjdGl2aXR5KQogICAgICAgICBtX2hhc1BlbmRp
bmdBY3Rpdml0eSA9IGlzT3BlbkRCUmVxdWVzdCgpICYmIChldmVudC50eXBlKCkgPT0gZXZlbnRO
YW1lcygpLnVwZ3JhZGVuZWVkZWRFdmVudCB8fCBldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygp
LmJsb2NrZWRFdmVudCk7CiAKLSAgICBtX2Rpc3BhdGNoaW5nRXZlbnQgPSBmYWxzZTsKKyAgICBt
X2V2ZW50QmVpbmdEaXNwYXRjaGVkID0gbnVsbHB0cjsKICAgICBpZiAoIW1fdHJhbnNhY3Rpb24p
CiAgICAgICAgIHJldHVybjsKIApAQCAtMzQ0LDcgKzM0NCw3IEBAIHZvaWQgSURCUmVxdWVzdDo6
dW5jYXVnaHRFeGNlcHRpb25JbkV2ZW50SGFuZGxlcigpCiAKICAgICBBU1NFUlQoY2FuQ3VycmVu
dFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YShvcmlnaW5UaHJlYWQoKSkpOwogCi0gICAgaWYg
KG1fZGlzcGF0Y2hpbmdFdmVudCkgeworICAgIGlmIChtX2V2ZW50QmVpbmdEaXNwYXRjaGVkKSB7
CiAgICAgICAgIEFTU0VSVCghbV9oYXNVbmNhdWdodEV4Y2VwdGlvbik7CiAgICAgICAgIG1faGFz
VW5jYXVnaHRFeGNlcHRpb24gPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC01NjcsNSArNTY3
LDE1IEBAIHZvaWQgSURCUmVxdWVzdDo6Y2xlYXJXcmFwcGVycygpCiAgICAgKTsKIH0KIAorYm9v
bCBJREJSZXF1ZXN0Ojp3aWxsQWJvcnRUcmFuc2FjdGlvbkFmdGVyRGlzcGF0Y2hpbmdFdmVudCgp
IGNvbnN0Cit7CisgICAgaWYgKCFtX2V2ZW50QmVpbmdEaXNwYXRjaGVkKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAobV9oYXNVbmNhdWdodEV4Y2VwdGlvbikKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICByZXR1cm4gIW1fZXZlbnRCZWluZ0Rpc3BhdGNoZWQtPmRlZmF1bHRQ
cmV2ZW50ZWQoKSAmJiBtX2V2ZW50QmVpbmdEaXNwYXRjaGVkLT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLmVycm9yRXZlbnQ7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAppbmRleCAzMWVjNjkyNDlmMmMw
NzE4YWRkZjZlY2YwZjM4N2FkYTMyOGQ3NGI2Li42YjE5NTA1Mzg0NGIwMWM5ZjJjZDJiNzY1MzVl
MjEwY2Y5MGQ5N2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
UmVxdWVzdC5oCkBAIC0xMjUsNiArMTI1LDcgQEAgcHVibGljOgogICAgIEluZGV4ZWREQjo6UmVx
dWVzdFR5cGUgcmVxdWVzdFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RUeXBlOyB9CiAK
ICAgICB2b2lkIHNldFRyYW5zYWN0aW9uT3BlcmF0aW9uSUQodWludDY0X3QgdHJhbnNhY3Rpb25P
cGVyYXRpb25JRCkgeyBtX2N1cnJlbnRUcmFuc2FjdGlvbk9wZXJhdGlvbklEID0gdHJhbnNhY3Rp
b25PcGVyYXRpb25JRDsgfQorICAgIGJvb2wgd2lsbEFib3J0VHJhbnNhY3Rpb25BZnRlckRpc3Bh
dGNoaW5nRXZlbnQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIElEQlJlcXVlc3QoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5JiwgSW5kZXhl
ZERCOjpSZXF1ZXN0VHlwZSk7CkBAIC0xOTcsOCArMTk4LDggQEAgcHJpdmF0ZToKIAogICAgIGJv
b2wgbV9zaG91bGRFeHBvc2VUcmFuc2FjdGlvblRvRE9NIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9o
YXNQZW5kaW5nQWN0aXZpdHkgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2Rpc3BhdGNoaW5nRXZlbnQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNVbmNhdWdodEV4Y2VwdGlvbiB7IGZhbHNlIH07Cisg
ICAgUmVmUHRyPEV2ZW50PiBtX2V2ZW50QmVpbmdEaXNwYXRjaGVkOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IGU2Y2E1MjdkOGRlZWNhYmI0ZmFmMzY0OTZjOWE0ZDBh
OGZlZWVkYWUuLjIzYTFjZTg2MjlmZTQ1MjY4NTdlYzkyMjg5ZGQ2YjNhMTA1ODU0MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAKQEAgLTE5Miw3ICsxOTIsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9ydER1ZVRvRmFp
bGVkUmVxdWVzdChET01FeGNlcHRpb24mIGVycm9yKQogICAgICAgICByZXR1cm47CiAKICAgICBt
X2RvbUVycm9yID0gJmVycm9yOwotICAgIGludGVybmFsQWJvcnQoKTsKKyAgICBhYm9ydEludGVy
bmFsKCk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OnRyYW5zaXRpb25lZFRvRmluaXNoaW5n
KEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZSBzdGF0ZSkKQEAgLTIxMiwxNCArMjEyLDE0IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IElEQlRyYW5zYWN0aW9uOjphYm9ydCgpCiAgICAgaWYgKGlzRmlu
aXNoZWRPckZpbmlzaGluZygpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0
YXRlRXJyb3IsICJGYWlsZWQgdG8gZXhlY3V0ZSAnYWJvcnQnIG9uICdJREJUcmFuc2FjdGlvbic6
IFRoZSB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBvciBmaW5pc2hlZC4iX3MgfTsKIAotICAgIGlu
dGVybmFsQWJvcnQoKTsKKyAgICBhYm9ydEludGVybmFsKCk7CiAKICAgICByZXR1cm4geyB9Owog
fQogCi12b2lkIElEQlRyYW5zYWN0aW9uOjppbnRlcm5hbEFib3J0KCkKK3ZvaWQgSURCVHJhbnNh
Y3Rpb246OmFib3J0SW50ZXJuYWwoKQogewotICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2Fj
dGlvbjo6aW50ZXJuYWxBYm9ydCIpOworICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlv
bjo6YWJvcnRJbnRlcm5hbCIpOwogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CiAgICAgQVNTRVJUKCFp
c0ZpbmlzaGVkT3JGaW5pc2hpbmcoKSk7CiAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIElEQlRy
YW5zYWN0aW9uOjpzdG9wKCkKICAgICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGludGVybmFsQWJvcnQoKTsKKyAgICBhYm9ydEludGVybmFsKCk7
CiB9CiAKIGJvb2wgSURCVHJhbnNhY3Rpb246OmlzQWN0aXZlKCkgY29uc3QKQEAgLTQ1NiwzMSAr
NDU2LDU0IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmZpbmlzaGVkRGlzcGF0Y2hFdmVudEZvclJl
cXVlc3QoSURCUmVxdWVzdCYgcmVxdWVzdCkKICAgICBoYW5kbGVPcGVyYXRpb25zQ29tcGxldGVk
T25TZXJ2ZXIoKTsKIH0KIAotdm9pZCBJREJUcmFuc2FjdGlvbjo6Y29tbWl0KCkKK0V4Y2VwdGlv
bk9yPHZvaWQ+IElEQlRyYW5zYWN0aW9uOjpjb21taXQoKQogewogICAgIExPRyhJbmRleGVkREIs
ICJJREJUcmFuc2FjdGlvbjo6Y29tbWl0Iik7CiAgICAgQVNTRVJUKGNhbkN1cnJlbnRUaHJlYWRB
Y2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkpKTsKKworICAg
IGlmICghaXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0
ZUVycm9yLCAiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ0lEQlRyYW5zYWN0aW9uJzog
VGhlIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlLiJfcyB9OworCisgICAgaWYgKG1fY3VycmVudGx5
Q29tcGxldGluZ1JlcXVlc3QgJiYgbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdC0+d2lsbEFi
b3J0VHJhbnNhY3Rpb25BZnRlckRpc3BhdGNoaW5nRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGNvbW1pdEludGVybmFsKCk7CisKKyAgICByZXR1cm4geyB9OworfQorCit2b2lk
IElEQlRyYW5zYWN0aW9uOjpjb21taXRJbnRlcm5hbCgpCit7CisgICAgTE9HKEluZGV4ZWREQiwg
IklEQlRyYW5zYWN0aW9uOjpjb21taXRJbnRlcm5hbCIpOworICAgIEFTU0VSVChjYW5DdXJyZW50
VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7
CiAgICAgQVNTRVJUKCFpc0ZpbmlzaGVkT3JGaW5pc2hpbmcoKSk7CiAKICAgICB0cmFuc2l0aW9u
ZWRUb0ZpbmlzaGluZyhJbmRleGVkREI6OlRyYW5zYWN0aW9uU3RhdGU6OkNvbW1pdHRpbmcpOwog
ICAgIG1fZGF0YWJhc2UtPndpbGxDb21taXRUcmFuc2FjdGlvbigqdGhpcyk7CiAKICAgICBMT0co
SW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBjb21taXQgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbiAl
cyIsIGluZm8oKS5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIHNjaGVkdWxlT3BlcmF0aW9uKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb25JbXBs
OjpjcmVhdGUoKnRoaXMsIG51bGxwdHIsIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyld
IChhdXRvJiBvcGVyYXRpb24pIHsKLSAgICAgICAgcHJvdGVjdGVkVGhpcy0+Y29tbWl0T25TZXJ2
ZXIob3BlcmF0aW9uKTsKKworICAgIGF1dG8gcGVuZGluZ1JlcXVlc3RDb3VudCA9IHN0ZDo6Y291
bnRfaWYobV9vcGVuUmVxdWVzdHMuYmVnaW4oKSwgbV9vcGVuUmVxdWVzdHMuZW5kKCksIFtdKGF1
dG8mIHJlcXVlc3QpIHsKKyAgICAgICAgcmV0dXJuICFyZXF1ZXN0LT5pc0RvbmUoKTsKKyAgICB9
KTsKKworICAgIHNjaGVkdWxlT3BlcmF0aW9uKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRp
b25JbXBsOjpjcmVhdGUoKnRoaXMsIG51bGxwdHIsIFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRo
aXMgfSwgcGVuZGluZ1JlcXVlc3RDb3VudF0gKGF1dG8mIG9wZXJhdGlvbikgeworICAgICAgICBw
cm90ZWN0ZWRUaGlzLT5jb21taXRPblNlcnZlcihvcGVyYXRpb24sIHBlbmRpbmdSZXF1ZXN0Q291
bnQpOwogICAgIH0pKTsKIH0KIAotdm9pZCBJREJUcmFuc2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIo
SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uKQordm9pZCBJREJUcmFu
c2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYg
b3BlcmF0aW9uLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQogewogICAgIExPRyhJbmRl
eGVkREIsICJJREJUcmFuc2FjdGlvbjo6Y29tbWl0T25TZXJ2ZXIiKTsKICAgICBBU1NFUlQoY2Fu
Q3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5vcmlnaW5UaHJl
YWQoKSkpOwogCi0gICAgbV9kYXRhYmFzZS0+Y29ubmVjdGlvblByb3h5KCkuY29tbWl0VHJhbnNh
Y3Rpb24oKnRoaXMpOworICAgIG1fZGF0YWJhc2UtPmNvbm5lY3Rpb25Qcm94eSgpLmNvbW1pdFRy
YW5zYWN0aW9uKCp0aGlzLCBwZW5kaW5nUmVxdWVzdENvdW50KTsKIAogICAgIEFTU0VSVCghbV90
cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUuaXNFbXB0eSgpKTsKICAgICBBU1NF
UlQobV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUubGFzdCgpID09ICZvcGVy
YXRpb24pOwogICAgIG1fdHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLnJlbW92
ZUxhc3QoKTsKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVl
LmlzRW1wdHkoKSkKKyAgICAgICAgbV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21t
aXQgPSBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5sYXN0KCktPmlkZW50
aWZpZXIoKTsKIAogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLmNvbnRhaW5z
KG9wZXJhdGlvbi5pZGVudGlmaWVyKCkpKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFw
LnJlbW92ZShvcGVyYXRpb24uaWRlbnRpZmllcigpKTsKQEAgLTU1MSw2ICs1NzQsMTIgQEAgdm9p
ZCBJREJUcmFuc2FjdGlvbjo6ZGlkQ29tbWl0KGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICBB
U1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YShtX2RhdGFiYXNlLT5v
cmlnaW5UaHJlYWQoKSkpOwogICAgIEFTU0VSVChtX3N0YXRlID09IEluZGV4ZWREQjo6VHJhbnNh
Y3Rpb25TdGF0ZTo6Q29tbWl0dGluZyk7CiAKKyAgICAvLyBEZWxheSBjb21taXQgdW50aWwgbGFz
dCByZXF1ZXN0IGlzIGNvbXBsZXRlZC4KKyAgICBpZiAobV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRp
b25CZWZvcmVDb21taXQgJiYgbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5jb250YWlucygqbV9s
YXN0VHJhbnNhY3Rpb25PcGVyYXRpb25CZWZvcmVDb21taXQpKSB7CisgICAgICAgIG1fY29tbWl0
UmVzdWx0ID0gZXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoZXJyb3Iu
aXNOdWxsKCkpIHsKICAgICAgICAgbV9kYXRhYmFzZS0+ZGlkQ29tbWl0VHJhbnNhY3Rpb24oKnRo
aXMpOwogICAgICAgICBmaXJlT25Db21wbGV0ZSgpOwpAQCAtMTM4Nyw2ICsxNDE2LDExIEBAIHZv
aWQgSURCVHJhbnNhY3Rpb246Om9wZXJhdGlvbkNvbXBsZXRlZE9uQ2xpZW50KElEQkNsaWVudDo6
VHJhbnNhY3Rpb25PcGVyYXRpb24mCiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5yZW1v
dmUob3BlcmF0aW9uLmlkZW50aWZpZXIoKSk7CiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJ
blByb2dyZXNzUXVldWUucmVtb3ZlRmlyc3QoKTsKIAorICAgIGlmIChtX2NvbW1pdFJlc3VsdCAm
JiBvcGVyYXRpb24uaWRlbnRpZmllcigpID09ICptX2xhc3RUcmFuc2FjdGlvbk9wZXJhdGlvbkJl
Zm9yZUNvbW1pdCkgeworICAgICAgICBkaWRDb21taXQoKm1fY29tbWl0UmVzdWx0KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJv
Z3Jlc3NRdWV1ZS5pc0VtcHR5KCkpCiAgICAgICAgIGhhbmRsZVBlbmRpbmdPcGVyYXRpb25zKCk7
CiAKQEAgLTE1MDgsNyArMTU0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmF1dG9Db21taXQo
KQogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJUKCFtX2N1cnJlbnRseUNvbXBsZXRpbmdSZXF1
ZXN0KTsKIAotICAgIGNvbW1pdCgpOworICAgIGNvbW1pdEludGVybmFsKCk7CiB9CiAKIHVpbnQ2
NF90IElEQlRyYW5zYWN0aW9uOjpnZW5lcmF0ZU9wZXJhdGlvbklEKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IDdmYTNmN2Yw
Mzk2YmU3OTdhNTU4YzQxZmY3MGY2NmFmNTY1MDBkMjMuLjc3MTA4NmQzNTNlYmM1ZTBjMmI2MzNi
YjNiYTlmYjJmZjJmOWUzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uaApAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6CiAgICAgRE9N
RXhjZXB0aW9uKiBlcnJvcigpIGNvbnN0OwogICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJPYmplY3RT
dG9yZT4+IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgRXhjZXB0aW9uT3I8
dm9pZD4gYWJvcnQoKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21taXQoKTsKIAogICAgIEV2
ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gSURCVHJhbnNhY3Rpb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KQEAg
LTE2Miw5ICsxNjMsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHko
KSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQgY29tbWl0KCk7Ci0KLSAgICB2b2lkIGludGVybmFs
QWJvcnQoKTsKKyAgICB2b2lkIGNvbW1pdEludGVybmFsKCk7CisgICAgdm9pZCBhYm9ydEludGVy
bmFsKCk7CiAgICAgdm9pZCBub3RpZnlEaWRBYm9ydChjb25zdCBJREJFcnJvciYpOwogICAgIHZv
aWQgZmluaXNoQWJvcnRPckNvbW1pdCgpOwogICAgIHZvaWQgYWJvcnRJblByb2dyZXNzT3BlcmF0
aW9ucyhjb25zdCBJREJFcnJvciYpOwpAQCAtMTgxLDcgKzE4MSw3IEBAIHByaXZhdGU6CiAKICAg
ICBSZWY8SURCUmVxdWVzdD4gcmVxdWVzdEluZGV4UmVjb3JkKEpTQzo6SlNHbG9iYWxPYmplY3Qm
LCBJREJJbmRleCYsIEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5n
ZURhdGEmKTsKIAotICAgIHZvaWQgY29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlv
bk9wZXJhdGlvbiYpOworICAgIHZvaWQgY29tbWl0T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2Fj
dGlvbk9wZXJhdGlvbiYsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpOwogICAgIHZvaWQg
YWJvcnRPblNlcnZlckFuZENhbmNlbFJlcXVlc3RzKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVy
YXRpb24mKTsKIAogICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmVPblNlcnZlcihJREJDbGllbnQ6
OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJik7CkBAIC0y
NTIsNyArMjUyLDYgQEAgcHJpdmF0ZToKICAgICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50OjpUcmFu
c2FjdGlvbk9wZXJhdGlvbj4+IG1fYWJvcnRRdWV1ZTsKICAgICBFdmVudCogbV9hYm9ydE9yQ29t
bWl0RXZlbnQ7CiAgICAgSGFzaE1hcDxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJh
dGlvbj4sIElEQlJlc3VsdERhdGE+IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25SZXN1bHRNYXA7Ci0K
ICAgICBIYXNoTWFwPElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElEQkNsaWVudDo6VHJh
bnNhY3Rpb25PcGVyYXRpb24+PiBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwOwogCiAgICAgbXV0
YWJsZSBMb2NrIG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlTG9jazsKQEAgLTI2Niw2ICsyNjUsOCBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWREaXNwYXRjaEFib3J0T3JDb21taXQgeyBmYWxzZSB9
OwogCiAgICAgdWludDY0X3QgbV9sYXN0V3JpdGVPcGVyYXRpb25JRCB7IDAgfTsKKyAgICBzdGQ6
Om9wdGlvbmFsPElEQlJlc291cmNlSWRlbnRpZmllcj4gbV9sYXN0VHJhbnNhY3Rpb25PcGVyYXRp
b25CZWZvcmVDb21taXQ7CisgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4gbV9jb21taXRSZXN1
bHQ7CiB9OwogCiBjbGFzcyBUcmFuc2FjdGlvbkFjdGl2YXRvciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKaW5kZXggNTc0YTZi
NjI4MjhiMzA5NDg1NWVhZDk3OWYwZDNmYzJjZTQ0ZTNiNy4uMzc3MTgwZmM4MjU3OTJmYTFkNDBl
ZWQyM2UyMTFlNWQ5MjE4NmY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbApAQCAtMzgsOSArMzgsOCBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01FeGNlcHRpb24/IGVycm9yOwogCiAgICAgSURCT2JqZWN0U3RvcmUg
b2JqZWN0U3RvcmUoRE9NU3RyaW5nIG5hbWUpOwotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgJ2Nv
bW1pdCcuCi0gICAgLy8gdW5kZWZpbmVkIGNvbW1pdCgpOwogICAgIHVuZGVmaW5lZCBhYm9ydCgp
OworICAgIHVuZGVmaW5lZCBjb21taXQoKTsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXJzOgogICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25hYm9ydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5j
cHAKaW5kZXggNDZlZGRhOWE4YzEyMDE2MjIzMDI2ZjVlOGIxMzkwNTVhNjA5MDQ4MC4uMzU2YWIw
NTc2MTAzY2JhYmRmYmIyZjEyNDJhZjk1OTQ5ODVmMDEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Q
cm94eS5jcHAKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6ZGlk
U3RhcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYQogICAg
IHRyYW5zYWN0aW9uLT5wZXJmb3JtQ2FsbGJhY2tPbk9yaWdpblRocmVhZCgqdHJhbnNhY3Rpb24s
ICZJREJUcmFuc2FjdGlvbjo6ZGlkU3RhcnQsIGVycm9yKTsKIH0KIAotdm9pZCBJREJDb25uZWN0
aW9uUHJveHk6OmNvbW1pdFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbikK
K3ZvaWQgSURCQ29ubmVjdGlvblByb3h5Ojpjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlv
biYgdHJhbnNhY3Rpb24sIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCiB7CiAgICAgewog
ICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV90cmFuc2FjdGlvbk1hcExvY2sgfTsKQEAgLTM1Myw3
ICszNTMsNyBAQCB2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6Y29tbWl0VHJhbnNhY3Rpb24oSURC
VHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogICAgICAgICBtX2NvbW1pdHRpbmdUcmFuc2FjdGlv
bnMuc2V0KHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCksICZ0cmFuc2FjdGlvbik7CiAg
ICAgfQogCi0gICAgY2FsbENvbm5lY3Rpb25Pbk1haW5UaHJlYWQoJklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLmluZm8oKS5pZGVudGlmaWVyKCkp
OworICAgIGNhbGxDb25uZWN0aW9uT25NYWluVGhyZWFkKCZJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmNvbW1pdFRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigpLCBwZW5k
aW5nUmVxdWVzdENvdW50KTsKIH0KIAogdm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmRpZENvbW1p
dFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyLCBjb25zdCBJREJFcnJvciYgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKaW5k
ZXggZmRjM2FkMzZmOWIzZGUyMjljNGQ1Yjk5Mjk1NDY0YmYwNzQ3NWRkNi4uNjU4YWVmNjc4OWRk
ZDBjYzYyYWQ2MGFkMjcxNDE4MmJmYTlhNTgyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaApA
QCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVuREJSZXF1ZXN0Q2FuY2VsbGVk
KGNvbnN0IElEQlJlcXVlc3REYXRhJik7CiAKICAgICB2b2lkIGVzdGFibGlzaFRyYW5zYWN0aW9u
KElEQlRyYW5zYWN0aW9uJik7Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihJREJUcmFuc2Fj
dGlvbiYpOworICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mLCB1aW50
NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oSURC
VHJhbnNhY3Rpb24mKTsKIAogICAgIHZvaWQgZGlkU3RhcnRUcmFuc2FjdGlvbihjb25zdCBJREJS
ZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCRXJyb3Im
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggZWJlZWM1ZWZjMDEyMDg3
NTIxYjI5OTMxYzgxMWFmY2E1ODI3M2EwZS4uMWFiMGIyNWJiNmZmMzQ0YTcwNTY4OTM1MDViZmIy
OTQ5ZjYxMDg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTM1Niwx
MyArMzU2LDEzIEBAIHZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjplc3RhYmxpc2hUcmFuc2Fj
dGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVuCiAgICAgICAgIG1fZGVsZWdhdGUt
PmVzdGFibGlzaFRyYW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGluZm8p
OwogfQogCi12b2lkIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29u
c3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCit2b2lkIElE
QkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0
Q291bnQpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y29t
bWl0VHJhbnNhY3Rpb24iKTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgaWYg
KG1fc2VydmVyQ29ubmVjdGlvbklzVmFsaWQpCi0gICAgICAgIG1fZGVsZWdhdGUtPmNvbW1pdFRy
YW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CisgICAgICAgIG1fZGVsZWdhdGUtPmNv
bW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgcGVuZGluZ1JlcXVlc3RDb3Vu
dCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgdHJhbnNhY3Rpb25JZGVudGlmaWVyXSB7CiAgICAgICAg
ICAgICBkaWRDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZpZXIsIElEQkVycm9y
OjpzZXJ2ZXJDb25uZWN0aW9uTG9zdEVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5oCmluZGV4IDg5M2YyOGQ5YzllYjYyZjFkZTNmMTc4NWIwMGI3ZTk3ZTdlODY3MzguLmMxN2Qx
NGFiZjA0YmJiMzZjMzRhODYxNGI1MDE3Y2FlMDlkYjdjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlv
blRvU2VydmVyLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpdGVyYXRl
Q3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEm
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEl0ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVz
dWx0RGF0YSYpOwogCi0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CisgICAgdm9pZCBjb21taXRUcmFu
c2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
ciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBkaWRDb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCRXJyb3ImKTsKIAogICAgIHZvaWQgZGlkRmluaXNo
SGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0
aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRv
U2VydmVyRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCmluZGV4IDdhODE5NDI5NzM3ZWZjMjVl
OGExNTRhNzRiNGE3ZTJiNzNiYTMyNmEuLjY2MjZkY2I5YjRhN2JjZDhiZmM4YzlkOGY3ZGFhMTM5
MjExMjg1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5o
CkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRGF0YWJh
c2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG9wZW5EYXRh
YmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRU
cmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJ
ZGVudGlmaWVyJiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRf
dCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZp
ZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJl
cXVlc3REYXRhJiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFN0cmlu
ZyYgb2JqZWN0U3RvcmVOYW1lKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwCmluZGV4IGVhM2Y2ZDZhMjFkZWZlM2Jm
NWE3MjBlNTQwNjA1MDU3NzdmODVmNjEuLmI0ZDU1OTQ1NDI0ODA5YWYyNjhiMGM3NDM4NzQxYTU2
MjkxOGRjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9JREJTZXJ2ZXIuY3BwCkBAIC00MDgsNyArNDA4LDcgQEAgdm9pZCBJREJTZXJ2ZXI6
OmVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZp
ZXIsIGNvbnMKICAgICAgICAgbV91bmlxdWVJREJEYXRhYmFzZU1hcC5yZW1vdmUoZGF0YWJhc2Ut
PmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihj
b25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKK3ZvaWQg
SURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXIm
IHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsK
ICAgICBMT0coSW5kZXhlZERCLCAiSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbiIpOwogICAg
IEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwpAQCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQgSURCU2Vy
dmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB0cmFuc2FjdGlvbi0+
Y29tbWl0KCk7CisgICAgdHJhbnNhY3Rpb24tPmNvbW1pdChwZW5kaW5nUmVxdWVzdENvdW50KTsK
IH0KIAogdm9pZCBJREJTZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5z
YWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJl
c291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCmluZGV4IDYwOGQ3
ZmFiOWVjZDc2NWQ5N2YwYzA4MzMzZmY0ZGI1NDAwMTA3YjEuLmQ4ODM2NDlhNWM4ZDViNTlmMDJj
MmJkYWNkZGU2NzhhMWNhM2M0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgb3BlbkRhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRh
Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1
ZXN0RGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNvbW1p
dFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVy
JiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRh
YmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVl
c3REYXRhJiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZW5hbWVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9i
amVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdOYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcAppbmRleCBmMzJmNTQ1Yzg5YTdiMWQ1
MjVhMzFkNjA4NGJjYjg4OTA5Y2M1MjA5Li4yMGJmMWExOWFkYjYyZDU3NjUyNjY2MmI4OGJmZDFi
ZjMzYmFiYTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24u
Y3BwCkBAIC0xMDEsMTIgKzEwMSwzMCBAQCBib29sIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rp
b246OmlzUmVhZE9ubHkoKSBjb25zdAogICAgIHJldHVybiBtX3RyYW5zYWN0aW9uSW5mby5tb2Rl
KCkgPT0gSURCVHJhbnNhY3Rpb25Nb2RlOjpSZWFkb25seTsKIH0gICAKIAotdm9pZCBVbmlxdWVJ
REJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjb21taXQoKQordm9pZCBVbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uOjpjb21taXQodWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBM
T0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0Iik7CiAK
ICAgICBhdXRvIGRhdGFiYXNlID0gZGF0YWJhc2VDb25uZWN0aW9uKCkuZGF0YWJhc2UoKTsKIAor
ICAgIHN0ZDo6b3B0aW9uYWw8SURCRXJyb3I+IGVycm9ySW5QZW5kaW5nUmVxdWVzdHM7CisgICAg
d2hpbGUgKHBlbmRpbmdSZXF1ZXN0Q291bnQtLSkgeworICAgICAgICBhdXRvIGVycm9yID0gbV9y
ZXF1ZXN0UmVzdWx0cy50YWtlTGFzdCgpOworICAgICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7
CisgICAgICAgICAgICBlcnJvckluUGVuZGluZ1JlcXVlc3RzID0gZXJyb3I7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChlcnJvckluUGVuZGluZ1JlcXVl
c3RzKSB7CisgICAgICAgIGRhdGFiYXNlLT5hYm9ydFRyYW5zYWN0aW9uKCp0aGlzLCBbdGhpcywg
JmVycm9ySW5QZW5kaW5nUmVxdWVzdHNdKGF1dG8mKSB7CisgICAgICAgICAgICBMT0coSW5kZXhl
ZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0IHdpdGggZXJyb3IgKGNh
bGxiYWNrKSIpOworCisgICAgICAgICAgICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+ZGlkQ29tbWl0
VHJhbnNhY3Rpb24oKnRoaXMsICplcnJvckluUGVuZGluZ1JlcXVlc3RzKTsKKyAgICAgICAgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBkYXRhYmFzZS0+Y29tbWl0VHJhbnNhY3Rp
b24oKnRoaXMsIFt0aGlzXShhdXRvJiBlcnJvcikgewogICAgICAgICBMT0coSW5kZXhlZERCLCAi
VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y29tbWl0IChjYWxsYmFjaykiKTsKIApAQCAt
MTI3LDYgKzE0NSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Y3JlYXRl
T2JqZWN0U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlCiAgICAgZGF0YWJhc2UtPmNy
ZWF0ZU9iamVjdFN0b3JlKCp0aGlzLCBpbmZvLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVy
cm9yKSB7CiAgICAgICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0
aW9uOjpjcmVhdGVPYmplY3RTdG9yZSAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0
UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAg
ICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigpLmRpZENyZWF0ZU9iamVjdFN0b3JlKElEQlJl
c3VsdERhdGE6OmNyZWF0ZU9iamVjdFN0b3JlU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRl
bnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTE0Nyw2ICsxNjcsOCBAQCB2b2lkIFVuaXF1
ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVl
c3REYXRhJiByZXF1ZQogICAgIGRhdGFiYXNlLT5kZWxldGVPYmplY3RTdG9yZSgqdGhpcywgb2Jq
ZWN0U3RvcmVOYW1lLCBbdGhpcywgcmVxdWVzdERhdGFdKGNvbnN0IElEQkVycm9yJiBlcnJvcikg
ewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
ZGVsZXRlT2JqZWN0U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3Vs
dHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAg
ICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5kaWREZWxldGVPYmplY3RTdG9yZShJREJSZXN1bHRE
YXRhOjpkZWxldGVPYmplY3RTdG9yZVN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZp
ZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0xNjcsNiArMTg5LDggQEAgdm9pZCBVbmlxdWVJREJE
YXRhYmFzZVRyYW5zYWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0RGF0
YSYgcmVxdWUKICAgICBkYXRhYmFzZS0+cmVuYW1lT2JqZWN0U3RvcmUoKnRoaXMsIG9iamVjdFN0
b3JlSWRlbnRpZmllciwgbmV3TmFtZSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvcikg
ewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
cmVuYW1lT2JqZWN0U3RvcmUgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVzdFJlc3Vs
dHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAgICAgICAg
ICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5kaWRSZW5hbWVPYmplY3RTdG9yZShJREJSZXN1bHRE
YXRhOjpyZW5hbWVPYmplY3RTdG9yZVN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZp
ZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0xODYsNiArMjEwLDggQEAgdm9pZCBVbmlxdWVJREJE
YXRhYmFzZVRyYW5zYWN0aW9uOjpjbGVhck9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRh
JiByZXF1ZXMKICAgICBkYXRhYmFzZS0+Y2xlYXJPYmplY3RTdG9yZSgqdGhpcywgb2JqZWN0U3Rv
cmVJZGVudGlmaWVyLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAg
IExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjbGVhck9iamVj
dFN0b3JlIChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChl
cnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJh
c2VDb25uZWN0aW9uKCkuZGlkQ2xlYXJPYmplY3RTdG9yZShJREJSZXN1bHREYXRhOjpjbGVhck9i
amVjdFN0b3JlU3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAg
ICAgIGVsc2UKQEAgLTIwNiw2ICsyMzIsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNh
Y3Rpb246OmNyZWF0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YQogICAg
IGRhdGFiYXNlLT5jcmVhdGVJbmRleCgqdGhpcywgaW5mbywgW3RoaXMsIHJlcXVlc3REYXRhXShh
dXRvJiBlcnJvcikgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VU
cmFuc2FjdGlvbjo6Y3JlYXRlSW5kZXggKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1fcmVxdWVz
dFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCiAg
ICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5kaWRDcmVhdGVJbmRleChJREJSZXN1bHRE
YXRhOjpjcmVhdGVJbmRleFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSkp
OwogICAgICAgICBlbHNlCkBAIC0yMjYsNiArMjU0LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uOjpkZWxldGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERh
dGEKICAgICBkYXRhYmFzZS0+ZGVsZXRlSW5kZXgoKnRoaXMsIG9iamVjdFN0b3JlSWRlbnRpZmll
ciwgaW5kZXhOYW1lLCBbdGhpcywgcmVxdWVzdERhdGFdKGF1dG8mIGVycm9yKSB7CiAgICAgICAg
IExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpjcmVhdGVJbmRl
eCAoY2FsbGJhY2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3Ip
OworCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29u
bmVjdGlvbigpLmRpZERlbGV0ZUluZGV4KElEQlJlc3VsdERhdGE6OmRlbGV0ZUluZGV4U3VjY2Vz
cyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpKSk7CiAgICAgICAgIGVsc2UKQEAgLTI0
Niw2ICsyNzYsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUlu
ZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YQogICAgIGRhdGFiYXNlLT5yZW5h
bWVJbmRleCgqdGhpcywgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRleElkZW50aWZpZXIsIG5l
d05hbWUsIFt0aGlzLCByZXF1ZXN0RGF0YV0oYXV0byYgZXJyb3IpIHsKICAgICAgICAgTE9HKElu
ZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4IChjYWxs
YmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAg
ICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9u
KCkuZGlkUmVuYW1lSW5kZXgoSURCUmVzdWx0RGF0YTo6cmVuYW1lSW5kZXhTdWNjZXNzKHJlcXVl
c3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCkpKTsKICAgICAgICAgZWxzZQpAQCAtMjY3LDYgKzI5
OSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6cHV0T3JBZGQoY29uc3Qg
SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjCiAgICAgZGF0YWJhc2UtPnB1dE9yQWRkKHJl
cXVlc3REYXRhLCBrZXlEYXRhLCB2YWx1ZSwgb3ZlcndyaXRlTW9kZSwgW3RoaXMsIHJlcXVlc3RE
YXRhXShhdXRvJiBlcnJvciwgY29uc3QgSURCS2V5RGF0YSYga2V5KSB7CiAgICAgICAgIExPRyhJ
bmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZCAoY2FsbGJh
Y2spIik7CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAgICAg
ICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbigp
LmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZFB1dE9yQWRkKElEQlJlc3VsdERhdGE6OnB1dE9yQWRk
U3VjY2VzcyhyZXF1ZXN0RGF0YS5yZXF1ZXN0SWRlbnRpZmllcigpLCBrZXkpKTsKICAgICAgICAg
ZWxzZQpAQCAtMjg2LDYgKzMyMCw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlv
bjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwKICAgICBkYXRh
YmFzZS0+Z2V0UmVjb3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhLCBbdGhpcywgcmVxdWVz
dERhdGFdKGF1dG8mIGVycm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAgICAg
ICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3Jk
IChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7
CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25u
ZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlkR2V0UmVjb3JkKElEQlJlc3VsdERhdGE6
OmdldFJlY29yZFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0
KSk7CiAgICAgICAgIGVsc2UKQEAgLTMwNSw2ICszNDEsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmdldEFsbFJlY29yZHMoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVl
c3REYQogICAgIGRhdGFiYXNlLT5nZXRBbGxSZWNvcmRzKHJlcXVlc3REYXRhLCBnZXRBbGxSZWNv
cmRzRGF0YSwgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvciwgY29uc3QgSURCR2V0QWxs
UmVzdWx0JiByZXN1bHQpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb246OmdldEFsbFJlY29yZHMgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1f
cmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxs
KCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQo
KS5kaWRHZXRBbGxSZWNvcmRzKElEQlJlc3VsdERhdGE6OmdldEFsbFJlY29yZHNTdWNjZXNzKHJl
cXVlc3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCksIHJlc3VsdCkpOwogICAgICAgICBlbHNlCkBA
IC0zMjQsNiArMzYyLDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRD
b3VudChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGMKICAgICBkYXRhYmFzZS0+
Z2V0Q291bnQocmVxdWVzdERhdGEsIGtleVJhbmdlRGF0YSwgW3RoaXMsIHJlcXVlc3REYXRhXShh
dXRvJiBlcnJvciwgdWludDY0X3QgY291bnQpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVu
aXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldENvdW50IChjYWxsYmFjaykiKTsKIAorICAg
ICAgICBtX3JlcXVlc3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9y
LmlzTnVsbCgpKQogICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuY29ubmVjdGlvblRv
Q2xpZW50KCkuZGlkR2V0Q291bnQoSURCUmVzdWx0RGF0YTo6Z2V0Q291bnRTdWNjZXNzKHJlcXVl
c3REYXRhLnJlcXVlc3RJZGVudGlmaWVyKCksIGNvdW50KSk7CiAgICAgICAgIGVsc2UKQEAgLTM0
Myw2ICszODMsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmRlbGV0ZVJl
Y29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdAogICAgIGRhdGFiYXNlLT5kZWxl
dGVSZWNvcmQocmVxdWVzdERhdGEsIGtleVJhbmdlRGF0YSwgW3RoaXMsIHJlcXVlc3REYXRhXShh
dXRvJiBlcnJvcikgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VU
cmFuc2FjdGlvbjo6ZGVsZXRlUmVjb3JkIChjYWxsYmFjaykiKTsKIAorICAgICAgICBtX3JlcXVl
c3RSZXN1bHRzLmFwcGVuZChlcnJvcik7CisKICAgICAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQog
ICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uKCkuY29ubmVjdGlvblRvQ2xpZW50KCkuZGlk
RGVsZXRlUmVjb3JkKElEQlJlc3VsdERhdGE6OmRlbGV0ZVJlY29yZFN1Y2Nlc3MocmVxdWVzdERh
dGEucmVxdWVzdElkZW50aWZpZXIoKSkpOwogICAgICAgICBlbHNlCkBAIC0zNjIsNiArNDA0LDgg
QEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpvcGVuQ3Vyc29yKGNvbnN0IElE
QlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwKICAgICBkYXRhYmFzZS0+b3BlbkN1cnNvcihyZXF1
ZXN0RGF0YSwgaW5mbywgW3RoaXMsIHJlcXVlc3REYXRhXShhdXRvJiBlcnJvciwgY29uc3QgSURC
R2V0UmVzdWx0JiByZXN1bHQpIHsKICAgICAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRh
dGFiYXNlVHJhbnNhY3Rpb246Om9wZW5DdXJzb3IgKGNhbGxiYWNrKSIpOwogCisgICAgICAgIG1f
cmVxdWVzdFJlc3VsdHMuYXBwZW5kKGVycm9yKTsKKwogICAgICAgICBpZiAoZXJyb3IuaXNOdWxs
KCkpCiAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24oKS5jb25uZWN0aW9uVG9DbGllbnQo
KS5kaWRPcGVuQ3Vyc29yKElEQlJlc3VsdERhdGE6Om9wZW5DdXJzb3JTdWNjZXNzKHJlcXVlc3RE
YXRhLnJlcXVlc3RJZGVudGlmaWVyKCksIHJlc3VsdCkpOwogICAgICAgICBlbHNlCkBAIC0zODQs
NiArNDI4LDggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjppdGVyYXRlQ3Vy
c29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGEKICAgICAgICAgaWYgKG9wdGlvbiA9
PSBJbmRleGVkREI6OkN1cnNvckl0ZXJhdGVPcHRpb246OkRvTm90UmVwbHkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKKyAgICAgICAgbV9yZXF1ZXN0UmVzdWx0cy5hcHBlbmQoZXJyb3IpOworCiAg
ICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb25Ub0NsaWVudCgpLmRpZEl0ZXJhdGVDdXJzb3IoSURCUmVzdWx0RGF0YTo6
aXRlcmF0ZUN1cnNvclN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgcmVz
dWx0KSk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2Fj
dGlvbi5oCmluZGV4IGE5MDVlNWFlNGE1OTQ1NDc1OWFkMDRkYTE5ZmQ5Yjk2OWJiNDg3NzguLjk1
OTY2NTJhZGNkYmE3YTA0OGI2MTlmNzRlZjFhOTJjZWVmOWUwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1Vu
aXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVk
ZSAiSURCRXJyb3IuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkluZm8uaCIKKyNpbmNsdWRl
IDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KIApAQCAtNjUsNyArNjYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFib3J0KCk7
CiAgICAgdm9pZCBhYm9ydFdpdGhvdXRDYWxsYmFjaygpOwotICAgIHZvaWQgY29tbWl0KCk7Cisg
ICAgdm9pZCBjb21taXQodWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCk7CiAKICAgICB2b2lk
IGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCT2JqZWN0
U3RvcmVJbmZvJik7CiAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYsIGNvbnN0IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKTsKQEAgLTEwMCw2ICsxMDEsNyBA
QCBwcml2YXRlOgogICAgIFZlY3Rvcjx1aW50NjRfdD4gbV9vYmplY3RTdG9yZUlkZW50aWZpZXJz
OwogCiAgICAgc3RkOjpvcHRpb25hbDxJREJFcnJvcj4gbV9tYWluVGhyZWFkQWJvcnRSZXN1bHQ7
CisgICAgRGVxdWU8SURCRXJyb3I+IG1fcmVxdWVzdFJlc3VsdHM7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBJREJTZXJ2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXgg
NWRjZjlkMGM2N2VlNmU5NzRhOTc4M2YyZGZiODc1MzVlNzU0NzkzMC4uYTNjOThiMWUzY2E3YWI3
NmVlMWYwYTFiMGU4MWE4MWVjZDg5YWIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5jcHAKQEAgLTE4MSw3ICsxODEsNyBAQCBjbGFzcyBFbXB0eURhdGFiYXNlUHJvdmlkZXIg
ZmluYWwgOiBwdWJsaWMgRGF0YWJhc2VQcm92aWRlciB7CiAgICAgICAgIHZvaWQgZGVsZXRlRGF0
YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBvcGVu
RGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmKSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBh
Ym9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsIHsgfQot
ICAgICAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmll
ciYpIGZpbmFsIHsgfQorICAgICAgICB2b2lkIGNvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IElEQlJl
c291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90KSBmaW5hbCB7IH0KICAgICAgICAgdm9pZCBkaWRG
aW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCwgY29uc3QgSURC
UmVzb3VyY2VJZGVudGlmaWVyJikgZmluYWwgeyB9CiAgICAgICAgIHZvaWQgY3JlYXRlT2JqZWN0
U3RvcmUoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mKSBm
aW5hbCB7IH0KICAgICAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBJREJSZXF1ZXN0
RGF0YSYsIGNvbnN0IFN0cmluZyYpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHAKaW5kZXggOGZjYWYz
OGVkNTJjMTM2ZWNlODI2ZDQzMTMyMjNjOTZkZGRhMmJmMi4uZjA2OGIyNjdhMTUxNjY4YzY2MDFj
MGFjNGU0ZTdlN2JiNmRkZmRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCkBAIC0xODIsMTIgKzE4MiwxMiBA
QCB2b2lkIFdlYklEQlNlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYQogICAgIG1fc2VydmVyLT5hYm9ydFRyYW5zYWN0aW9u
KHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CiB9CiAKLXZvaWQgV2ViSURCU2VydmVyOjpjb21taXRU
cmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0
aW9uSWRlbnRpZmllcikKK3ZvaWQgV2ViSURCU2VydmVyOjpjb21taXRUcmFuc2FjdGlvbihjb25z
dCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwg
dWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkKIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6Omlz
TWFpbigpKTsKIAogICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3Nl
cnZlci0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKKyAgICBtX3Nl
cnZlci0+Y29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyLCBwZW5kaW5nUmVx
dWVzdENvdW50KTsKIH0KIAogdm9pZCBXZWJJREJTZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVy
c2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVk
REIvV2ViSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWRE
Qi9XZWJJREJTZXJ2ZXIuaAppbmRleCBhN2U5NjVkZTAxNGU5ODE4NjBjYjM2OTE4ODczYzk1YWFi
Mjc3YTMzLi42MmYwY2FjMzZkYzY4ZTVhZWUxYzFiYmNhZDM2ODM5ZDczMTgwNzE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2
ZXIuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVuRGF0YWJhc2UoY29u
c3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsKICAgICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNv
bnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJik7CiAgICAgdm9pZCBhYm9ydFRyYW5zYWN0aW9u
KGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpOwotICAgIHZvaWQgY29tbWl0
VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJik7CisgICAg
dm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKICAgICB2b2lkIGRpZEZpbmlzaEhh
bmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpOwogICAg
IHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBj
b25zdCBXZWJDb3JlOjpJREJPYmplY3RTdG9yZUluZm8mKTsKICAgICB2b2lkIGRlbGV0ZU9iamVj
dFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmpl
Y3RTdG9yZU5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9J
bmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluCmluZGV4IDY3NjQ4ZGE5
OGY1NWEwOTNjNGE0YjE3YmYzNjI4ZThlMTUwZjI4NzQuLjI3OTgxODkxOWNmMjM2OWIyNzAxNTZi
NTU4YzU2OTA0NjExZDE1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4KQEAgLTI0
LDcgKzI0LDcgQEAgbWVzc2FnZXMgLT4gV2ViSURCU2VydmVyIHsKICAgICBEZWxldGVEYXRhYmFz
ZShXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSkKICAgICBPcGVuRGF0YWJhc2Uo
V2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEpCiAgICAgQWJvcnRUcmFuc2FjdGlv
bihXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQot
ICAgIENvbW1pdFRyYW5zYWN0aW9uKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFu
c2FjdGlvbklkZW50aWZpZXIpCisgICAgQ29tbWl0VHJhbnNhY3Rpb24oV2ViQ29yZTo6SURCUmVz
b3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgcGVuZGluZ1Jl
cXVlc3RDb3VudCkKICAgICBEaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlv
bih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpJREJSZXNv
dXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQogICAgIENyZWF0ZU9iamVjdFN0
b3JlKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3JlOjpJREJPYmpl
Y3RTdG9yZUluZm8gaW5mbykKICAgICBEZWxldGVPYmplY3RTdG9yZShXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSByZXF1ZXN0RGF0YSwgU3RyaW5nIG9iamVjdFN0b3JlTmFtZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0lu
ZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCmluZGV4IGYwNjI5NzVlNDMwNTI1
YzlhZDlmYmRjMzVlZjYwNTk3ZDZhZmYwNTguLjA0YzI0MTBmMzVhZGNjMDQ2YzU0MDZhZjBjY2Uy
ZmQwZTg0MWFkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyLmNwcApAQCAtOTUsOSArOTUsOSBAQCB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6
YWJvcnRUcmFuc2FjdGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYQogICAgIHNl
bmQoTWVzc2FnZXM6OldlYklEQlNlcnZlcjo6QWJvcnRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklk
ZW50aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRy
YW5zYWN0aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlm
aWVyKQordm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0aW9uKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRf
dCBwZW5kaW5nUmVxdWVzdENvdW50KQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQlNlcnZl
cjo6Q29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyKSk7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViSURCU2VydmVyOjpDb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50
aWZpZXIsIHBlbmRpbmdSZXF1ZXN0Q291bnQpKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2
NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuaAppbmRleCA0NDEwODUxMGRmMmQyMDhmMmI2YWFkMDcxYTdjYjdmOWFm
MTA3MDhlLi5lZDExNmEzZmZmYmNjYzA4NDcyZjNhYTY1YTJmM2U5NWVhMjU1MmFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJh
c2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtNTUsNyArNTUsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEmKSBmaW5hbDsKICAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJ
REJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRUcmFuc2FjdGlvbihjb25zdCBX
ZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImKSBmaW5hbDsKLSAgICB2b2lkIGNvbW1pdFRy
YW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwor
ICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVu
dGlmaWVyJiwgdWludDY0X3QgcGVuZGluZ1JlcXVlc3RDb3VudCkgZmluYWw7CiAgICAgdm9pZCBk
aWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFz
ZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXImKSBmaW5hbDsKICAgICB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklE
QlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVJbmZvJikgZmluYWw7
CiAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKaW5kZXggZWZiZjRm
MmRmM2IyYmFkMzA3ZTc3ZTRiYWVjOTJhOTM3MzU2ODc2NS4uODlkODA4YzlkZGU4OTM2NGY1ZTdh
YTJiMTNkZjg3ZGNkMDIyYTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9y
YWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9TdG9y
YWdlL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKQEAgLTI3MCwxMSArMjcwLDExIEBAIHZvaWQgSW5Q
cm9jZXNzSURCU2VydmVyOjphYm9ydFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291
cmNlSWRlbnRpZmllciYKICAgICB9KTsKIH0KIAotdm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmNv
bW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVz
b3VyY2VJZGVudGlmaWVyKQordm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbW1pdFRyYW5zYWN0
aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVzb3VyY2VJZGVudGlm
aWVyLCB1aW50NjRfdCBwZW5kaW5nQ291bnRSZXF1ZXN0KQogewotICAgIGRpc3BhdGNoVGFzayhb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXNvdXJjZUlkZW50aWZpZXIg
PSByZXNvdXJjZUlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCldIHsKKyAgICBkaXNwYXRjaFRhc2so
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVzb3VyY2VJZGVudGlmaWVy
ID0gcmVzb3VyY2VJZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLCBwZW5kaW5nQ291bnRSZXF1ZXN0
XSB7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICAgICAgbV9z
ZXJ2ZXItPmNvbW1pdFRyYW5zYWN0aW9uKHJlc291cmNlSWRlbnRpZmllcik7CisgICAgICAgIG1f
c2VydmVyLT5jb21taXRUcmFuc2FjdGlvbihyZXNvdXJjZUlkZW50aWZpZXIsIHBlbmRpbmdDb3Vu
dFJlcXVlc3QpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3Jh
Z2UvSW5Qcm9jZXNzSURCU2VydmVyLmgKaW5kZXggNzNlZDhjYTM4Y2U2ZWU5MzVlYmUyYzdiMjkz
OGRjYmM2Yjg5NTMxNy4uZDIwNzQxYzgwMmFmZTlmYTY2YmEwMWYzNjljYzQ1MmViMWU0YjYwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL0luUHJvY2Vzc0lEQlNlcnZl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIu
aApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25z
dCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkRhdGFiYXNl
KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CiAgICAgdm9pZCBhYm9ydFRy
YW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwot
ICAgIHZvaWQgY29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVu
dGlmaWVyJikgZmluYWw7CisgICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3Jl
OjpJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nQ291bnRSZXF1ZXN0KSBm
aW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9u
KHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklE
QlJlc291cmNlSWRlbnRpZmllciYpIGZpbmFsOwogICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUo
Y29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJPYmplY3RT
dG9yZUluZm8mKSBmaW5hbDsKICAgICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYTY2ODA2NWE5M2FlNTA2M2UxMjQw
ZTQyNTVkM2U2ZjJlMWVmNDBlMC4uZjA0ODk2OGYzYzAxMjk0NTMyOGFlYTE3MzliYTcwNTJjMmJi
NjI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MjEtMDctMTkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1w
bGVtZW50IElEQlRyYW5zYWN0aW9uLmNvbW1pdCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgw
NjUxMjcwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93
LmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5h
bnktZXhwZWN0ZWQudHh0OiBTb21lIHRlc3QgaXMgdGltZWQgb3V0IGFzIG91ciBiYWNrZW5kIGRv
ZXMKKyAgICAgICAgbm90IHN1cHBvcnQgcnVubmluZyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgc2lt
dWx0YW5lb3VzbHkgbm93LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA3LTE5ICBaaXJhbiBTdW4gIDx6c3Vu
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBJbWFnZXMgYXMgZ3JpZCBpdGVtcyBz
aG91bGQgdXNlIHRoZSBvdmVycmlkaW5nTG9naWNhbEhlaWdodCB3aGVuIGRlZmluZWQgdG8gY29t
cHV0ZSB0aGUgbG9naWNhbCB3aWR0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJv
dy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnktZXhwZWN0ZWQu
dHh0CmluZGV4IGVmNjhiODVmNzNjYmE2Yjk2N2ZlMmMxZGNiMWFlN2Y3MDI3Y2QyMDcuLmFiNjAz
MjI0MDNlZGUzOTJhMTljNmU3OGUzOTYzNmJjYTkwMGFkMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNp
dC1jb21taXQtdGhyb3cuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRo
cm93LmFueS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQW55IGVycm9ycyBp
biBjYWxsYmFja3MgdGhhdCBydW4gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHdpbGwgbm90IHN0
b3AgdGhlIGNvbW1pdCBmcm9tIGJlaW5nIHByb2Nlc3NlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgorUEFTUyBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBl
eHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vz
c2VkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCBlZjY4Yjg1ZjczY2JhNmI5NjdmZTJjMWRjYjFhZTdmNzAyN2NkMjA3Li5hYjYwMzIy
NDAzZWRlMzkyYTE5YzZlNzhlMzk2MzZiY2E5MDBhZDA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQt
Y29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21t
aXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
QW55IGVycm9ycyBpbiBjYWxsYmFja3MgdGhhdCBydW4gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0
IHdpbGwgbm90IHN0b3AgdGhlIGNvbW1pdCBmcm9tIGJlaW5nIHByb2Nlc3NlZC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0
eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29t
bWl0JyBpcyB1bmRlZmluZWQpIgorUEFTUyBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1
biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZyb20g
YmVpbmcgcHJvY2Vzc2VkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQKaW5kZXggYzgxYjNm
YjgxYThlY2VhNDZkN2IxYjk3ZDY5Mzk4YjMzZDMxMGMzMy4uMzlkYzlmMWY0YTcwYWFhMjIzNWMx
OTFlM2MyNmM2ODBjOTU3MDFmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwx
NCArMSwxNiBAQAogCi1GQUlMIEV4cGxpY2l0bHkgY29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQg
YmFjayBvdXQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4u
Y29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgY29tbWl0KCkgb24g
YSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBkb2VzIG5vdCBjYXVzZSBlcnJvcnMuIHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gYmVjb21lcyBpbmFj
dGl2ZSBpbW1lZGlhdGVseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBBIGNv
bW1pdHRlZCB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBpbiBmdXR1cmUgcmVxdWVzdCBjYWxsYmFj
a3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0
KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgUHV0cyBpc3N1ZWQgYWZ0ZXIg
Y29tbWl0IGFyZSBub3QgZnVsZmlsbGVkLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1G
QUlMIENhbGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLiBhc3Nl
cnRfdGhyb3dzX2RvbTogVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBoYXZlIGJlZW4gYWJvcnRlZC4g
ZnVuY3Rpb24gIigpID0+IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJv
cjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhu
LmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxp
ZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVj
dGVkIDExCi1GQUlMIENhbGxpbmcgY29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRo
cm93cy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21t
aXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBDYWxsaW5nIGFib3J0IG9u
IGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJz
aXN0aW5nIHRoZSBkYXRhLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxp
bmcgdHhuLmNvbW1pdCgpIHdoZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4gYXNzZXJ0
X3Rocm93c19kb206IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgaW5hY3RpdmUgc28gY2FsbGlu
ZyBjb21taXQgc2hvdWxkIHRocm93LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7IH0i
IHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5v
dCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVx
dWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKLUZBSUwgVHJhbnNhY3Rpb25zIHdpdGggc2Ft
ZSBzY29wZSBzaG91bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBjYWxscyBj
b21taXQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdHhuMi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMi5j
b21taXQoKScsICd0eG4yLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgVHJhbnNhY3Rpb25z
IHRoYXQgZXhwbGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB0eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywg
J3R4bjEuY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBoYW5k
bGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQgYmVoYXZlIGFzIGV4cGVjdGVkIHdoZW4gYW4g
ZXhwbGljaXQgY29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
dHhuMS5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScsICd0eG4x
LmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitQQVNTIEV4cGxpY2l0bHkgY29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFj
ayBvdXQuCitQQVNTIGNvbW1pdCgpIG9uIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gZG9l
cyBub3QgY2F1c2UgZXJyb3JzLgorUEFTUyBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNvbWVz
IGluYWN0aXZlIGltbWVkaWF0ZWx5LgorUEFTUyBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBpcyBp
bmFjdGl2ZSBpbiBmdXR1cmUgcmVxdWVzdCBjYWxsYmFja3MuCitQQVNTIFB1dHMgaXNzdWVkIGFm
dGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxlZC4KK1BBU1MgQ2FsbGluZyBjb21taXQgb24gYW4g
YWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuCitQQVNTIENhbGxpbmcgY29tbWl0IG9uIGEgY29t
bWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cy4KK1BBU1MgQ2FsbGluZyBhYm9ydCBvbiBhIGNvbW1p
dHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90IHByZXZlbnQgcGVyc2lzdGluZyB0
aGUgZGF0YS4KK1BBU1MgQ2FsbGluZyB0eG4uY29tbWl0KCkgd2hlbiB0eG4gaXMgaW5hY3RpdmUg
c2hvdWxkIHRocm93LgorVElNRU9VVCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3Vs
ZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4gVGVzdCB0
aW1lZCBvdXQKK05PVFJVTiBUcmFuc2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNvbW1pdCBhbmQg
aGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LgorTk9UUlVOIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRs
ZSBhbGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBl
eHBsaWNpdCBjb21taXQgaXMgY2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNp
dC1jb21taXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYzgxYjNmYjgxYThlY2VhNDZk
N2IxYjk3ZDY5Mzk4YjMzZDMxMGMzMy4uMzlkYzlmMWY0YTcwYWFhMjIzNWMxOTFlM2MyNmM2ODBj
OTU3MDFmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDE0ICsxLDE2IEBACiAKLUZBSUwgRXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVh
ZCBiYWNrIG91dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4
bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBjb21taXQoKSBv
biBhIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVycm9ycy4gdHhu
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1p
dCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGlu
YWN0aXZlIGltbWVkaWF0ZWx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIEEg
Y29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxi
YWNrcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21t
aXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBQdXRzIGlzc3VlZCBhZnRl
ciBjb21taXQgYXJlIG5vdCBmdWxmaWxsZWQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIK
LUZBSUwgQ2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIGFz
c2VydF90aHJvd3NfZG9tOiBUaGUgdHJhbnNhY3Rpb24gc2hvdWxkIGhhdmUgYmVlbiBhYm9ydGVk
LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVy
cm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0
eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZh
bGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhw
ZWN0ZWQgMTEKLUZBSUwgQ2FsbGluZyBjb21taXQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24g
dGhyb3dzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNv
bW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgYWJvcnQg
b24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFuZCBkb2VzIG5vdCBwcmV2ZW50IHBl
cnNpc3RpbmcgdGhlIGRhdGEuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKLUZBSUwgQ2Fs
bGluZyB0eG4uY29tbWl0KCkgd2hlbiB0eG4gaXMgaW5hY3RpdmUgc2hvdWxkIHRocm93LiBhc3Nl
cnRfdGhyb3dzX2RvbTogVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxs
aW5nIGNvbW1pdCBzaG91bGQgdGhyb3cuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsg
fSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMg
bm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMg
ZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQotRkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBz
YW1lIHNjb3BlIHNob3VsZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxz
IGNvbW1pdC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB0eG4yLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4y
LmNvbW1pdCgpJywgJ3R4bjIuY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBUcmFuc2FjdGlv
bnMgdGhhdCBleHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCkn
LCAndHhuMS5jb21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhh
bmRsZSBhbGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBh
biBleHBsaWNpdCBjb21taXQgaXMgY2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiB0eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4
bjEuY29tbWl0JyBpcyB1bmRlZmluZWQpIgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3Nh
Z2UgPSBudWxsCisKK1BBU1MgRXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBi
YWNrIG91dC4KK1BBU1MgY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBk
b2VzIG5vdCBjYXVzZSBlcnJvcnMuCitQQVNTIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJlY29t
ZXMgaW5hY3RpdmUgaW1tZWRpYXRlbHkuCitQQVNTIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlz
IGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4KK1BBU1MgUHV0cyBpc3N1ZWQg
YWZ0ZXIgY29tbWl0IGFyZSBub3QgZnVsZmlsbGVkLgorUEFTUyBDYWxsaW5nIGNvbW1pdCBvbiBh
biBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4KK1BBU1MgQ2FsbGluZyBjb21taXQgb24gYSBj
b21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLgorUEFTUyBDYWxsaW5nIGFib3J0IG9uIGEgY29t
bWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJzaXN0aW5n
IHRoZSBkYXRhLgorUEFTUyBDYWxsaW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2
ZSBzaG91bGQgdGhyb3cuCitUSU1FT1VUIFRyYW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hv
dWxkIHN0YXkgaW4gcHJvZ3JhbSBvcmRlciwgZXZlbiBpZiBvbmUgY2FsbHMgY29tbWl0LiBUZXN0
IHRpbWVkIG91dAorTk9UUlVOIFRyYW5zYWN0aW9ucyB0aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFu
ZCBoYXZlIGVycm9ycyBzaG91bGQgYWJvcnQuCitOT1RSVU4gVHJhbnNhY3Rpb25zIHRoYXQgaGFu
ZGxlIGFsbCBlcnJvcnMgcHJvcGVybHkgc2hvdWxkIGJlaGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFu
IGV4cGxpY2l0IGNvbW1pdCBpcyBjYWxsZWQgaW4gYW4gb25lcnJvciBoYW5kbGVyLgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50
eHQKaW5kZXggZGE0YjBlYjdlYmI1NmE1MGJiNmIwYTVjNzEzMTE2NWI2ZmIwYzlkZC4uNGJkNmUw
OTdlMTJkNTVlYmMwNzg5NWQ4NWNlODM5ODRlMDJmZjZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5h
bnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMTg5LDcg
KzE4OSw3IEBAIEZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZHVyYWJp
bGl0eSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvCiBQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIGRiCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGVycm9yCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIG9i
amVjdFN0b3JlKERPTVN0cmluZykKLUZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVy
YXRpb24gY29tbWl0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY29t
bWl0IiBtaXNzaW5nCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNv
bW1pdCgpCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGFib3J0KCkK
IFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydAogUEFTUyBJ
REJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbXBsZXRlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCA0YjY4YmQ2ZThiY2YyMTk1NWQ3YWE4ZDNmN2U2ZDI0ZWU3MWVlYThi
Li5jMTA0M2M2NjY4MWU0NzU1MWUxYTBiNjE1NTAxYWRlYmIzNGNiNzNhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTE4OSw3ICsxODksNyBAQCBGQUlMIElEQlRyYW5zYWN0aW9uIGludGVy
ZmFjZTogYXR0cmlidXRlIGR1cmFiaWxpdHkgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgbwog
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYgogUEFTUyBJREJUcmFu
c2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlcnJvcgogUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpCi1GQUlMIElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbW1pdCgpIGFzc2VydF9vd25fcHJvcGVydHk6
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24g
ZXhwZWN0ZWQgcHJvcGVydHkgImNvbW1pdCIgbWlzc2luZworUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKQogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBhYm9ydCgpCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIG9uYWJvcnQKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25jb21wbGV0ZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>