<?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>205011</bug_id>
          
          <creation_ts>2019-12-09 08:12:09 -0800</creation_ts>
          <short_desc>Make preconnectTo()&apos;s completionHandler optional</short_desc>
          <delta_ts>2020-03-20 09:29: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>WebKit2</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="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cturner</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1596824</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 08:12:09 -0800</bug_when>
    <thetext>Make preconnectTo()&apos;s completionHandler optional, so that the network process does not unnecessarily send an IPC back if the client is not interested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596825</commentid>
    <comment_count>1</comment_count>
      <attachid>385149</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 08:13:07 -0800</bug_when>
    <thetext>Created attachment 385149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596946</commentid>
    <comment_count>2</comment_count>
      <attachid>385189</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 14:05:34 -0800</bug_when>
    <thetext>Created attachment 385189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596970</commentid>
    <comment_count>3</comment_count>
      <attachid>385149</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-12-09 15:20:12 -0800</bug_when>
    <thetext>Comment on attachment 385149
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:191
&gt; +    void preconnectTo(Optional&lt;uint64_t&gt;&amp;&amp; preconnectionIdentifier, NetworkResourceLoadParameters&amp;&amp;);

Seems like overkill to use an rvalue reference for an Optional. Just pass by value maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596972</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 15:21:49 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 385149 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385149&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:191
&gt; &gt; +    void preconnectTo(Optional&lt;uint64_t&gt;&amp;&amp; preconnectionIdentifier, NetworkResourceLoadParameters&amp;&amp;);
&gt; 
&gt; Seems like overkill to use an rvalue reference for an Optional. Just pass by
&gt; value maybe?

I thought our policy was &apos;pass by value&apos; only if &lt;= 64 bit because it is faster. Do I remember wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596975</commentid>
    <comment_count>5</comment_count>
      <attachid>385149</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-12-09 15:30:23 -0800</bug_when>
    <thetext>Comment on attachment 385149
Patch

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

&gt;&gt;&gt; Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:191
&gt;&gt;&gt; +    void preconnectTo(Optional&lt;uint64_t&gt;&amp;&amp; preconnectionIdentifier, NetworkResourceLoadParameters&amp;&amp;);
&gt;&gt; 
&gt;&gt; Seems like overkill to use an rvalue reference for an Optional. Just pass by value maybe?
&gt; 
&gt; I thought our policy was &apos;pass by value&apos; only if &lt;= 64 bit because it is faster. Do I remember wrong?

Anders told me a long time ago that passing StringView by value was faster than by reference. I never questioned that or tested it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596992</commentid>
    <comment_count>6</comment_count>
      <attachid>385199</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 16:03:34 -0800</bug_when>
    <thetext>Created attachment 385199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597181</commentid>
    <comment_count>7</comment_count>
      <attachid>385199</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 08:13:10 -0800</bug_when>
    <thetext>Comment on attachment 385199
Patch

Clearing flags on attachment: 385199

Committed r253325: &lt;https://trac.webkit.org/changeset/253325&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597182</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 08:13:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597185</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-10 08:14:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/57794165&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631084</commentid>
    <comment_count>10</comment_count>
      <attachid>385199</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2020-03-18 05:29:33 -0700</bug_when>
    <thetext>Comment on attachment 385199
Patch

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

&gt; Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:669
&gt; +    Optional&lt;uint64_t&gt; preconnectionIdentifier;

I&apos;m not on a platform where I can test preconnection logic (!ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER) &amp;&amp; !ENABLE(SERVER_PRECONNECT)), but could we avoid the .send(...) at the bottom of this function if (!preconnectionIdentifier) ? I&apos;m getting many internal errors thrown to stderr without extra information in NetworkConnectionToWebProcess::preconnectTo due to the internalError being called because of the network process side of preconnectTo being essentially a no-op on my platform. I could flag-off the call directly in preconnectTo, but reading the callsites it looked like maybe the IPC send could be avoided all-together in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631161</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-18 08:35:12 -0700</bug_when>
    <thetext>(In reply to Charlie Turner from comment #10)
&gt; Comment on attachment 385199 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385199&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:669
&gt; &gt; +    Optional&lt;uint64_t&gt; preconnectionIdentifier;
&gt; 
&gt; I&apos;m not on a platform where I can test preconnection logic
&gt; (!ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER) &amp;&amp; !ENABLE(SERVER_PRECONNECT)), but
&gt; could we avoid the .send(...) at the bottom of this function if
&gt; (!preconnectionIdentifier) ? I&apos;m getting many internal errors thrown to
&gt; stderr without extra information in
&gt; NetworkConnectionToWebProcess::preconnectTo due to the internalError being
&gt; called because of the network process side of preconnectTo being essentially
&gt; a no-op on my platform. I could flag-off the call directly in preconnectTo,
&gt; but reading the callsites it looked like maybe the IPC send could be avoided
&gt; all-together in this case.

If your port does not support preconnect, then yes, avoiding sending out the IPC is a good idea. If you write a patch for this, I&apos;d be happy to review it. That said, it may not be a lot of work to add preconnect support for your port? :) Preconnect is a very useful optimization that WebKit is using more and more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632125</commentid>
    <comment_count>12</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2020-03-20 09:29:00 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #11)
&gt; If your port does not support preconnect, then yes, avoiding sending out the
&gt; IPC is a good idea. If you write a patch for this, I&apos;d be happy to review
&gt; it. That said, it may not be a lot of work to add preconnect support for
&gt; your port? :) Preconnect is a very useful optimization that WebKit is using
&gt; more and more.

I&apos;ll pass that on, thanks!

It turned out that this spurious error and the extra send() is already correctly avoided in trunk, being correctly conditioned out on the linkPreconnectEnabled web setting. In the WebKitGTK 2.28 release WebPage::loadRequest was calling preconnectTo outside of such a condition, which gave the errors. Sorry for not spotting master vs 2.28 difference earlier, but at least the question served a reminder we should implement preconnect hint.  :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385149</attachid>
            <date>2019-12-09 08:13:07 -0800</date>
            <delta_ts>2019-12-09 14:05:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205011-20191209081307.patch</filename>
            <type>text/plain</type>
            <size>9466</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg4NWJjY2JkNTQzNGFiZDdj
NGJlMTE2ODM5ZDYxMTc5NDlhYjIzMTUuLjJmNGVlNWVmOGFlZjI1MDMyOTQwMDFjMDkxNWVkYWU5
NTE5YWNiZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHByZWNvbm5lY3RUbygpJ3Mg
Y29tcGxldGlvbkhhbmRsZXIgb3B0aW9uYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNTAxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2UgcHJlY29ubmVjdFRvKCkncyBjb21wbGV0aW9uSGFuZGxl
ciBvcHRpb25hbCwgc28gdGhhdCB0aGUgbmV0d29yayBwcm9jZXNzIGRvZXMgbm90IHVubmVjZXNz
YXJpbHkKKyAgICAgICAgc2VuZCBhbiBJUEMgYmFjayBpZiB0aGUgY2xpZW50IGlzIG5vdCBpbnRl
cmVzdGVkLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRl
clN0cmF0ZWd5OjpwcmVjb25uZWN0VG8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFJlcXVlc3QpOgorCiAyMDE5LTEy
LTA5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4g
b3B0aW9uIHRvIGNhcHR1cmUgYXVkaW8gaW4gR1BVIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggOGVkZDVkODNkMTQ0MjIyNTg5ZjQ5N2IyNTQwYzg5OGQxYmE1NzdkNi4u
MDdlZGUzYzIyNDFhMGU5ZTFiOWU3NmE4YzcyZjg4YTZhNGQwZGNlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAKQEAgLTUwMSwyMCArNTAxLDI1IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OnByZWZldGNoRE5TKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+cHJlZmV0Y2hETlMoaG9zdG5hbWUpOwogfQogCi12b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpwcmVjb25uZWN0VG8odWludDY0X3QgcHJlY29ubmVj
dGlvbklkZW50aWZpZXIsIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cykKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnByZWNvbm5lY3RUbyhPcHRp
b25hbDx1aW50NjRfdD4mJiBwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogewogICAgIEFTU0VSVCghcGFyYW1ldGVycy5y
ZXF1ZXN0Lmh0dHBCb2R5KCkpOwogCisgICAgYXV0byBjb21wbGV0aW9uSGFuZGxlciA9IFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHByZWNvbm5lY3Rpb25JZGVudGlmaWVy
ID0gV1RGTW92ZShwcmVjb25uZWN0aW9uSWRlbnRpZmllcildKGNvbnN0IFJlc291cmNlRXJyb3Im
IGVycm9yKSB7CisgICAgICAgIGlmIChwcmVjb25uZWN0aW9uSWRlbnRpZmllcikKKyAgICAgICAg
ICAgIGRpZEZpbmlzaFByZWNvbm5lY3Rpb24oKnByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBlcnJv
cik7CisgICAgfTsKKwogI2lmIEVOQUJMRShTRVJWRVJfUFJFQ09OTkVDVCkKICAgICBhdXRvKiBz
ZXNzaW9uID0gbmV0d29ya1Nlc3Npb24oKTsKICAgICBpZiAoc2Vzc2lvbiAmJiBzZXNzaW9uLT5h
bGxvd3NTZXJ2ZXJQcmVjb25uZWN0KCkpIHsKLSAgICAgICAgbmV3IFByZWNvbm5lY3RUYXNrKG5l
dHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyID0gcHJlY29ubmVjdGlv
bklkZW50aWZpZXJdIChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikgewotICAgICAgICAgICAg
ZGlkRmluaXNoUHJlY29ubmVjdGlvbihpZGVudGlmaWVyLCBlcnJvcik7CisgICAgICAgIG5ldyBQ
cmVjb25uZWN0VGFzayhuZXR3b3JrUHJvY2VzcygpLCBzZXNzaW9uSUQoKSwgV1RGTW92ZShwYXJh
bWV0ZXJzKSwgW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
IChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikgeworICAgICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoZXJyb3IpOwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRp
ZgotICAgIGRpZEZpbmlzaFByZWNvbm5lY3Rpb24ocHJlY29ubmVjdGlvbklkZW50aWZpZXIsIGlu
dGVybmFsRXJyb3IocGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpKSk7CisgICAgY29tcGxldGlvbkhh
bmRsZXIoaW50ZXJuYWxFcnJvcihwYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkpKTsKIH0KIAogdm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkRmluaXNoUHJlY29ubmVjdGlvbih1
aW50NjRfdCBwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJy
b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggZjM5YWJlMmRiNTNlMTA5NzgxMmQyYmVl
MGE1YjgyYWQwYTQwNWViNy4uYWRkMGNiNmE4NGI4Y2ExYzkwNTBhNTVmN2FmYmQzZTk3MjBlMmQ4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMTg4LDcgKzE4OCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCB0ZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JT
eW5jUmVwbHkoV2ViUGFnZVByb3h5SWRlbnRpZmllciwgTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpUZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRp
bmdGb3JTeW5jUmVwbHlEZWxheWVkUmVwbHkmJik7CiAgICAgdm9pZCBsb2FkUGluZyhOZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmKTsKICAgICB2b2lkIHByZWZldGNoRE5TKGNvbnN0IFN0
cmluZyYpOwotICAgIHZvaWQgcHJlY29ubmVjdFRvKHVpbnQ2NF90IHByZWNvbm5lY3Rpb25JZGVu
dGlmaWVyLCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmKTsKKyAgICB2b2lkIHByZWNv
bm5lY3RUbyhPcHRpb25hbDx1aW50NjRfdD4mJiBwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgTmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJik7CiAKICAgICB2b2lkIHJlbW92ZUxvYWRJZGVu
dGlmaWVyKFJlc291cmNlTG9hZElkZW50aWZpZXIpOwogICAgIHZvaWQgcGFnZUxvYWRDb21wbGV0
ZWQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KaW5kZXggOGE3YzA0MTdmMTgzMmMyNWFhMzA4NTcxNDA0NmQ0ZmIxNDVm
MDJjZC4uMDkxZmExYzA1ZTBlM2VhOWEwOTkzZjQyYzI1N2U1ZDc0Yzk2YWIyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1l
c3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBSZW1vdmVMb2FkSWRlbnRpZmllcih1aW50NjRfdCByZXNvdXJjZUxvYWRJZGVudGlmaWVy
KQogICAgIFBhZ2VMb2FkQ29tcGxldGVkKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHdlYlBhZ2VJ
RCkKICAgICBQcmVmZXRjaEROUyhTdHJpbmcgaG9zdG5hbWUpCi0gICAgUHJlY29ubmVjdFRvKHVp
bnQ2NF90IHByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzKTsKKyAgICBQcmVjb25uZWN0VG8oT3B0aW9uYWw8
dWludDY0X3Q+IHByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzKTsKIAogICAgIFN0YXJ0RG93bmxvYWQoV2Vi
S2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1
ZXN0LCBTdHJpbmcgc3VnZ2VzdGVkTmFtZSkKICAgICBDb252ZXJ0TWFpblJlc291cmNlTG9hZFRv
RG93bmxvYWQodWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXIsIFdlYktpdDo6RG93
bmxvYWRJRCBkb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCA0MjE3ZmVl
MTNmMmFhOThmMDA2OGRjZDk5MGVlMzc1YmRhZmYyOWY0Li5kNzIzY2FlMzMzMTU1MWRmZjg2NjE3
MWE4NTljNjQxODIwYTYzNzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC02NDQsNiArNjQ0LDcgQEAgdm9p
ZCBXZWJMb2FkZXJTdHJhdGVneTo6ZGlkRmluaXNoUGluZ0xvYWQodWludDY0X3QgcGluZ0xvYWRJ
ZGVudGlmaWVyLCBSZXNvdXJjZUUKIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6cHJlY29ubmVj
dFRvKEZyYW1lTG9hZGVyJiBmcmFtZUxvYWRlciwgY29uc3QgVVJMJiB1cmwsIFN0b3JlZENyZWRl
bnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBQcmVjb25uZWN0Q29tcGxldGlv
bkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBBU1NFUlQoY29tcGxldGlvbkhh
bmRsZXIpOwogICAgIGF1dG8qIHdlYkZyYW1lTG9hZGVyQ2xpZW50ID0gdG9XZWJGcmFtZUxvYWRl
ckNsaWVudChmcmFtZUxvYWRlci5jbGllbnQoKSk7CiAgICAgaWYgKCF3ZWJGcmFtZUxvYWRlckNs
aWVudCkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRlcm5hbEVycm9yKHVybCkpOwpA
QCAtNjY1LDkgKzY2NiwxMiBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpwcmVjb25uZWN0VG8o
RnJhbWVMb2FkZXImIGZyYW1lTG9hZGVyLCBjb25zdCBVUkwmIHVybCwgUwogCiB2b2lkIFdlYkxv
YWRlclN0cmF0ZWd5OjpwcmVjb25uZWN0VG8oV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgV2ViUGFnZSYgd2ViUGFnZSwgV2ViRnJhbWUmIHdlYkZyYW1lLCBXZWJDb3JlOjpTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUHJlY29ubmVjdENv
bXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgdWludDY0X3QgcHJl
Y29ubmVjdGlvbklkZW50aWZpZXIgPSBnZW5lcmF0ZUxvYWRJZGVudGlmaWVyKCk7Ci0gICAgYXV0
byBhZGRSZXN1bHQgPSBtX3ByZWNvbm5lY3RDb21wbGV0aW9uSGFuZGxlcnMuYWRkKHByZWNvbm5l
Y3Rpb25JZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgQVNTRVJU
X1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKKyAgICBPcHRpb25hbDx1
aW50NjRfdD4gcHJlY29ubmVjdGlvbklkZW50aWZpZXI7CisgICAgaWYgKGNvbXBsZXRpb25IYW5k
bGVyKSB7CisgICAgICAgIHByZWNvbm5lY3Rpb25JZGVudGlmaWVyID0gZ2VuZXJhdGVMb2FkSWRl
bnRpZmllcigpOworICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcHJlY29ubmVjdENvbXBsZXRp
b25IYW5kbGVycy5hZGQoKnByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQu
aXNOZXdFbnRyeSk7CisgICAgfQogCiAgICAgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMg
cGFyYW1ldGVyczsKICAgICBwYXJhbWV0ZXJzLnJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3Ry
YXRlZ3kuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0
ZWd5LmgKaW5kZXggZGU4MWU2MDA0ZjEzMzk5ODRlM2VhMjhiYmYwMGE1MGRjY2Y1OGRmYS4uZjRk
NWEzZjgwNjU5YWU3N2Y5N2U2MTNiZDQ5MmNhNDk4MWFjOThjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5oCkBAIC02OCw3
ICs2OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0UGluZ0xvYWQoV2ViQ29yZTo6RnJhbWUm
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFw
JiBvcmlnaW5hbFJlcXVlc3RIZWFkZXJzLCBjb25zdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMmLCBX
ZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uLCBQaW5nTG9hZENvbXBsZXRp
b25IYW5kbGVyJiYpIGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNoUGluZ0xvYWQodWludDY0X3Qg
cGluZ0xvYWRJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiYsIFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmJik7CiAKLSAgICB2b2lkIHByZWNvbm5lY3RUbyhXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmJiwgV2ViUGFnZSYsIFdlYkZyYW1lJiwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVu
dGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIHBy
ZWNvbm5lY3RUbyhXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViUGFnZSYsIFdlYkZyYW1l
JiwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21wbGV0aW9u
SGFuZGxlciYmID0gbnVsbHB0cik7CiAgICAgdm9pZCBwcmVjb25uZWN0VG8oV2ViQ29yZTo6RnJh
bWVMb2FkZXImLCBjb25zdCBVUkwmLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwg
UHJlY29ubmVjdENvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNo
UHJlY29ubmVjdGlvbih1aW50NjRfdCBwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAppbmRleCBjZjQxMzc1N2FmMmM5NWIxNDI1N2E1YWY3MzVlNzA4NzlkMTBjNjUx
Li43M2NjODdiZWRhMGRjZTVhYjUwZTU0NmU1NDRmYWNmYmU5OGM4NTE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTUzNiw3ICsxNTM2LDcg
QEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChMb2FkUGFyYW1ldGVycyYmIGxvYWRQYXJhbWV0
ZXJzKQogICAgIFNlbmRTdG9wUmVzcG9uc2l2ZW5lc3NUaW1lciBzdG9wcGVyOwogCiAgICAgaWYg
KGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpICYm
ICFTZWN1cml0eU9yaWdpbjo6aXNMb2NhbEhvc3RPckxvb3BiYWNrSVBBZGRyZXNzKGxvYWRQYXJh
bWV0ZXJzLnJlcXVlc3QudXJsKCkuaG9zdCgpKSkKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkud2ViTG9hZGVyU3RyYXRlZ3koKS5wcmVjb25uZWN0VG8oUmVzb3VyY2VSZXF1ZXN0IHsg
bG9hZFBhcmFtZXRlcnMucmVxdWVzdCB9LCAqdGhpcywgKm1fbWFpbkZyYW1lLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeTo6VXNlLCBbXShjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9KTsKKyAgICAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViTG9hZGVyU3RyYXRlZ3koKS5wcmVjb25uZWN0
VG8oUmVzb3VyY2VSZXF1ZXN0IHsgbG9hZFBhcmFtZXRlcnMucmVxdWVzdCB9LCAqdGhpcywgKm1f
bWFpbkZyYW1lLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6VXNlKTsKIAogICAgIG1fcGVuZGlu
Z05hdmlnYXRpb25JRCA9IGxvYWRQYXJhbWV0ZXJzLm5hdmlnYXRpb25JRDsKICAgICBtX3BlbmRp
bmdXZWJzaXRlUG9saWNpZXMgPSBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzLndlYnNpdGVQb2xpY2ll
cyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385189</attachid>
            <date>2019-12-09 14:05:34 -0800</date>
            <delta_ts>2019-12-09 16:03:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205011-20191209140533.patch</filename>
            <type>text/plain</type>
            <size>9683</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljYmI3MjM1MmI2YzM1ZmMz
YWMwZmI5NGY1YmY3NmRjMDkyMWNiOGQuLjMxNjEwYjBkODI3Y2M1NjU4NzhmZGNmZWVmZjk2OTdl
MmE4MGI4YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHByZWNvbm5lY3RUbygpJ3Mg
Y29tcGxldGlvbkhhbmRsZXIgb3B0aW9uYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNTAxMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtv
aXZpc3RvLgorCisgICAgICAgIE1ha2UgcHJlY29ubmVjdFRvKCkncyBjb21wbGV0aW9uSGFuZGxl
ciBvcHRpb25hbCwgc28gdGhhdCB0aGUgbmV0d29yayBwcm9jZXNzIGRvZXMgbm90IHVubmVjZXNz
YXJpbHkKKyAgICAgICAgc2VuZCBhbiBJUEMgYmFjayBpZiB0aGUgY2xpZW50IGlzIG5vdCBpbnRl
cmVzdGVkLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRl
clN0cmF0ZWd5OjpwcmVjb25uZWN0VG8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFJlcXVlc3QpOgorCiAyMDE5LTEy
LTA5ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAg
ICAgVGhyb3R0bGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQg
YnkgUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmlu
ZGV4IDUyZTNmYjc4NWFkMzY2NmY4NmI0MzA3ODE5NGIzMjlkOWFmYTVhNTUuLmMxMDAwNDBlZjRh
YzY3ZGViODA3OTRmY2ZmMDgyZGM4N2JmYzllMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwCkBAIC01MDksOSArNTA5LDE0IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnByZWNvbm5lY3RUbyh1aW50NjRfdCBwcmVjb25uZWN0aW9uSWRlbnRpZmllCiB7CiAgICAg
QVNTRVJUKCFwYXJhbWV0ZXJzLnJlcXVlc3QuaHR0cEJvZHkoKSk7CiAKKyAgICBhdXRvIGNvbXBs
ZXRpb25IYW5kbGVyID0gW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcHJl
Y29ubmVjdGlvbklkZW50aWZpZXIgPSBXVEZNb3ZlKHByZWNvbm5lY3Rpb25JZGVudGlmaWVyKV0o
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpIHsKKyAgICAgICAgaWYgKHByZWNvbm5lY3Rpb25J
ZGVudGlmaWVyKQorICAgICAgICAgICAgZGlkRmluaXNoUHJlY29ubmVjdGlvbigqcHJlY29ubmVj
dGlvbklkZW50aWZpZXIsIGVycm9yKTsKKyAgICB9OworCiAjaWYgRU5BQkxFKExFR0FDWV9DVVNU
T01fUFJPVE9DT0xfTUFOQUdFUikKICAgICBpZiAobmV0d29ya1Byb2Nlc3MoKS5zdXBwbGVtZW50
PExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlcj4oKS0+c3VwcG9ydHNTY2hlbWUocGFyYW1ldGVy
cy5yZXF1ZXN0LnVybCgpLnByb3RvY29sKCkudG9TdHJpbmcoKSkpIHsKLSAgICAgICAgZGlkRmlu
aXNoUHJlY29ubmVjdGlvbihwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgaW50ZXJuYWxFcnJvcihw
YXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkpKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoaW50
ZXJuYWxFcnJvcihwYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICNlbmRpZgpAQCAtNTE5LDEzICs1MjQsMTMgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6cHJlY29ubmVjdFRvKHVpbnQ2NF90IHByZWNvbm5lY3Rpb25JZGVudGlm
aWUKICNpZiBFTkFCTEUoU0VSVkVSX1BSRUNPTk5FQ1QpCiAgICAgYXV0byogc2Vzc2lvbiA9IG5l
dHdvcmtTZXNzaW9uKCk7CiAgICAgaWYgKHNlc3Npb24gJiYgc2Vzc2lvbi0+YWxsb3dzU2VydmVy
UHJlY29ubmVjdCgpKSB7Ci0gICAgICAgIG5ldyBQcmVjb25uZWN0VGFzayhuZXR3b3JrUHJvY2Vz
cygpLCBzZXNzaW9uSUQoKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciA9IHByZWNvbm5lY3Rpb25JZGVudGlmaWVy
XSAoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpIHsKLSAgICAgICAgICAgIGRpZEZpbmlzaFBy
ZWNvbm5lY3Rpb24oaWRlbnRpZmllciwgZXJyb3IpOworICAgICAgICBuZXcgUHJlY29ubmVjdFRh
c2sobmV0d29ya1Byb2Nlc3MoKSwgc2Vzc2lvbklEKCksIFdURk1vdmUocGFyYW1ldGVycyksIFtj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoY29uc3QgUmVz
b3VyY2VFcnJvciYgZXJyb3IpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGVycm9y
KTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKLSAgICBkaWRG
aW5pc2hQcmVjb25uZWN0aW9uKHByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBpbnRlcm5hbEVycm9y
KHBhcmFtZXRlcnMucmVxdWVzdC51cmwoKSkpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKGludGVy
bmFsRXJyb3IocGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpKSk7CiB9CiAKIHZvaWQgTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZEZpbmlzaFByZWNvbm5lY3Rpb24odWludDY0X3QgcHJl
Y29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oCmluZGV4IGYzOWFiZTJkYjUzZTEwOTc4MTJkMmJlZTBhNWI4MmFkMGE0
MDVlYjcuLmFkZDBjYjZhODRiOGNhMWM5MDUwYTU1ZjdhZmJkM2U5NzIwZTJkODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3ICsxODgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
dGVzdFByb2Nlc3NJbmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3luY1JlcGx5KFdl
YlBhZ2VQcm94eUlkZW50aWZpZXIsIE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6VGVzdFByb2Nlc3NJbmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3luY1Jl
cGx5RGVsYXllZFJlcGx5JiYpOwogICAgIHZvaWQgbG9hZFBpbmcoTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBwcmVmZXRjaEROUyhjb25zdCBTdHJpbmcmKTsKLSAg
ICB2b2lkIHByZWNvbm5lY3RUbyh1aW50NjRfdCBwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgTmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJik7CisgICAgdm9pZCBwcmVjb25uZWN0VG8oT3B0
aW9uYWw8dWludDY0X3Q+JiYgcHJlY29ubmVjdGlvbklkZW50aWZpZXIsIE5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzJiYpOwogCiAgICAgdm9pZCByZW1vdmVMb2FkSWRlbnRpZmllcihSZXNv
dXJjZUxvYWRJZGVudGlmaWVyKTsKICAgICB2b2lkIHBhZ2VMb2FkQ29tcGxldGVkKFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCmluZGV4IDhhN2MwNDE3ZjE4MzJjMjVhYTMwODU3MTQwNDZkNGZiMTQ1ZjAyY2QuLjA5MWZh
MWMwNWUwZTNlYTlhMDk5M2Y0MmMyNTdlNWQ3NGM5NmFiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjksNyArMjksNyBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgUmVtb3Zl
TG9hZElkZW50aWZpZXIodWludDY0X3QgcmVzb3VyY2VMb2FkSWRlbnRpZmllcikKICAgICBQYWdl
TG9hZENvbXBsZXRlZChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQpCiAgICAgUHJl
ZmV0Y2hETlMoU3RyaW5nIGhvc3RuYW1lKQotICAgIFByZWNvbm5lY3RUbyh1aW50NjRfdCBwcmVj
b25uZWN0aW9uSWRlbnRpZmllciwgV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cyBsb2FkUGFyYW1ldGVycyk7CisgICAgUHJlY29ubmVjdFRvKE9wdGlvbmFsPHVpbnQ2NF90PiBw
cmVjb25uZWN0aW9uSWRlbnRpZmllciwgV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycyBsb2FkUGFyYW1ldGVycyk7CiAKICAgICBTdGFydERvd25sb2FkKFdlYktpdDo6RG93bmxv
YWRJRCBkb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgU3RyaW5n
IHN1Z2dlc3RlZE5hbWUpCiAgICAgQ29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKHVp
bnQ2NF90IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93
bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggNDIxN2ZlZTEzZjJhYTk4ZjAw
NjhkY2Q5OTBlZTM3NWJkYWZmMjlmNC4uZDcyM2NhZTMzMzE1NTFkZmY4NjYxNzFhODU5YzY0MTgy
MGE2Mzc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtNjQ0LDYgKzY0NCw3IEBAIHZvaWQgV2ViTG9hZGVy
U3RyYXRlZ3k6OmRpZEZpbmlzaFBpbmdMb2FkKHVpbnQ2NF90IHBpbmdMb2FkSWRlbnRpZmllciwg
UmVzb3VyY2VFCiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnByZWNvbm5lY3RUbyhGcmFtZUxv
YWRlciYgZnJhbWVMb2FkZXIsIGNvbnN0IFVSTCYgdXJsLCBTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUHJlY29ubmVjdENvbXBsZXRpb25IYW5kbGVyJiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgQVNTRVJUKGNvbXBsZXRpb25IYW5kbGVyKTsKICAg
ICBhdXRvKiB3ZWJGcmFtZUxvYWRlckNsaWVudCA9IHRvV2ViRnJhbWVMb2FkZXJDbGllbnQoZnJh
bWVMb2FkZXIuY2xpZW50KCkpOwogICAgIGlmICghd2ViRnJhbWVMb2FkZXJDbGllbnQpIHsKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoaW50ZXJuYWxFcnJvcih1cmwpKTsKQEAgLTY2NSw5ICs2
NjYsMTIgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6cHJlY29ubmVjdFRvKEZyYW1lTG9hZGVy
JiBmcmFtZUxvYWRlciwgY29uc3QgVVJMJiB1cmwsIFMKIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVn
eTo6cHJlY29ubmVjdFRvKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYlBh
Z2UmIHdlYlBhZ2UsIFdlYkZyYW1lJiB3ZWJGcmFtZSwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21wbGV0aW9uSGFu
ZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IHByZWNvbm5lY3Rpb25J
ZGVudGlmaWVyID0gZ2VuZXJhdGVMb2FkSWRlbnRpZmllcigpOwotICAgIGF1dG8gYWRkUmVzdWx0
ID0gbV9wcmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXJzLmFkZChwcmVjb25uZWN0aW9uSWRlbnRp
ZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgIEFTU0VSVF9VTlVTRUQoYWRk
UmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgT3B0aW9uYWw8dWludDY0X3Q+IHBy
ZWNvbm5lY3Rpb25JZGVudGlmaWVyOworICAgIGlmIChjb21wbGV0aW9uSGFuZGxlcikgeworICAg
ICAgICBwcmVjb25uZWN0aW9uSWRlbnRpZmllciA9IGdlbmVyYXRlTG9hZElkZW50aWZpZXIoKTsK
KyAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3ByZWNvbm5lY3RDb21wbGV0aW9uSGFuZGxlcnMu
YWRkKCpwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OworICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkp
OworICAgIH0KIAogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7
CiAgICAgcGFyYW1ldGVycy5yZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5oCmluZGV4
IGRlODFlNjAwNGYxMzM5OTg0ZTNlYTI4YmJmMDBhNTBkY2NmNThkZmEuLmY0ZDVhM2Y4MDY1OWFl
NzdmOTdlNjEzYmQ0OTJjYTQ5ODFhYzk4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuaApAQCAtNjgsNyArNjgsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzdGFydFBpbmdMb2FkKFdlYkNvcmU6OkZyYW1lJiwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCYgb3JpZ2luYWxS
ZXF1ZXN0SGVhZGVycywgY29uc3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiwgV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiwgUGluZ0xvYWRDb21wbGV0aW9uSGFuZGxlciYm
KSBmaW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaFBpbmdMb2FkKHVpbnQ2NF90IHBpbmdMb2FkSWRl
bnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiYpOwogCi0gICAgdm9pZCBwcmVjb25uZWN0VG8oV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIFdlYlBhZ2UmLCBXZWJGcmFtZSYsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBQcmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBwcmVjb25uZWN0VG8o
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYlBhZ2UmLCBXZWJGcmFtZSYsIFdlYkNvcmU6
OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBQcmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXImJiA9
IG51bGxwdHIpOwogICAgIHZvaWQgcHJlY29ubmVjdFRvKFdlYkNvcmU6OkZyYW1lTG9hZGVyJiwg
Y29uc3QgVVJMJiwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RD
b21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaFByZWNvbm5lY3Rp
b24odWludDY0X3QgcHJlY29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlRXJy
b3ImJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggY2Y0MTM3NTdhZjJjOTViMTQyNTdhNWFmNzM1ZTcwODc5ZDEwYzY1MS4uNzNjYzg3YmVk
YTBkY2U1YWI1MGU1NDZlNTQ0ZmFjZmJlOThjODUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1MzYsNyArMTUzNiw3IEBAIHZvaWQgV2Vi
UGFnZTo6bG9hZFJlcXVlc3QoTG9hZFBhcmFtZXRlcnMmJiBsb2FkUGFyYW1ldGVycykKICAgICBT
ZW5kU3RvcFJlc3BvbnNpdmVuZXNzVGltZXIgc3RvcHBlcjsKIAogICAgIGlmIChsb2FkUGFyYW1l
dGVycy5yZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSAmJiAhU2VjdXJpdHlP
cmlnaW46OmlzTG9jYWxIb3N0T3JMb29wYmFja0lQQWRkcmVzcyhsb2FkUGFyYW1ldGVycy5yZXF1
ZXN0LnVybCgpLmhvc3QoKSkpCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxv
YWRlclN0cmF0ZWd5KCkucHJlY29ubmVjdFRvKFJlc291cmNlUmVxdWVzdCB7IGxvYWRQYXJhbWV0
ZXJzLnJlcXVlc3QgfSwgKnRoaXMsICptX21haW5GcmFtZSwgU3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3k6OlVzZSwgW10oY29uc3QgUmVzb3VyY2VFcnJvciYpIHsgfSk7CisgICAgICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLndlYkxvYWRlclN0cmF0ZWd5KCkucHJlY29ubmVjdFRvKFJlc291cmNl
UmVxdWVzdCB7IGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QgfSwgKnRoaXMsICptX21haW5GcmFtZSwg
U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSk7CiAKICAgICBtX3BlbmRpbmdOYXZpZ2F0aW9u
SUQgPSBsb2FkUGFyYW1ldGVycy5uYXZpZ2F0aW9uSUQ7CiAgICAgbV9wZW5kaW5nV2Vic2l0ZVBv
bGljaWVzID0gV1RGTW92ZShsb2FkUGFyYW1ldGVycy53ZWJzaXRlUG9saWNpZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385199</attachid>
            <date>2019-12-09 16:03:34 -0800</date>
            <delta_ts>2019-12-10 08:13:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205011-20191209160333.patch</filename>
            <type>text/plain</type>
            <size>10022</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU3MmE2NWU4MjYyYTk0MGMy
OTczOTBiZDYyNDVjN2UxMzc5NTM2NTIuLmM0NWNiMTUyOWI5N2EzNDVmODA1MTkzNTcwOGZhZmNj
ZGJkMjkwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHByZWNvbm5lY3RUbygpJ3Mg
Y29tcGxldGlvbkhhbmRsZXIgb3B0aW9uYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNTAxMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtv
aXZpc3RvLgorCisgICAgICAgIE1ha2UgcHJlY29ubmVjdFRvKCkncyBjb21wbGV0aW9uSGFuZGxl
ciBvcHRpb25hbCwgc28gdGhhdCB0aGUgbmV0d29yayBwcm9jZXNzIGRvZXMgbm90IHVubmVjZXNz
YXJpbHkKKyAgICAgICAgc2VuZCBhbiBJUEMgYmFjayBpZiB0aGUgY2xpZW50IGlzIG5vdCBpbnRl
cmVzdGVkLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRl
clN0cmF0ZWd5OjpwcmVjb25uZWN0VG8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFJlcXVlc3QpOgorCiAyMDE5LTEy
LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lv
bihyMjQ5MzI5KSBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlcXVlc3RSZW5kZXJUcmVlU2l6ZU5v
dGlmaWNhdGlvbklmTmVlZGVkKCkgc29tZXRpbWVzIHVzZXMgd3Jvbmcgd2ViUGFnZUlEIGZvciBJ
UEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNTJlM2ZiNzg1YWQzNjY2Zjg2YjQz
MDc4MTk0YjMyOWQ5YWZhNWE1NS4uMDQ0MTllMjgyNGEwOTVjNWMyMjNjMjQ5MDE4Yzg5M2ZlN2I5
YWMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTUwNSwxMyArNTA1LDE4IEBA
IHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnByZWZldGNoRE5TKGNvbnN0IFN0
cmluZyYgaG9zdG5hbWUpCiAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+cHJlZmV0Y2hETlMoaG9zdG5h
bWUpOwogfQogCi12b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpwcmVjb25uZWN0
VG8odWludDY0X3QgcHJlY29ubmVjdGlvbklkZW50aWZpZXIsIE5ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnByZWNvbm5lY3RUbyhPcHRpb25hbDx1aW50NjRfdD4gcHJlY29ubmVjdGlvbklkZW50aWZp
ZXIsIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKICAgICBB
U1NFUlQoIXBhcmFtZXRlcnMucmVxdWVzdC5odHRwQm9keSgpKTsKIAorICAgIGF1dG8gY29tcGxl
dGlvbkhhbmRsZXIgPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcmVj
b25uZWN0aW9uSWRlbnRpZmllciA9IFdURk1vdmUocHJlY29ubmVjdGlvbklkZW50aWZpZXIpXShj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikgeworICAgICAgICBpZiAocHJlY29ubmVjdGlvbklk
ZW50aWZpZXIpCisgICAgICAgICAgICBkaWRGaW5pc2hQcmVjb25uZWN0aW9uKCpwcmVjb25uZWN0
aW9uSWRlbnRpZmllciwgZXJyb3IpOworICAgIH07CisKICNpZiBFTkFCTEUoTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKQogICAgIGlmIChuZXR3b3JrUHJvY2VzcygpLnN1cHBsZW1lbnQ8
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyPigpLT5zdXBwb3J0c1NjaGVtZShwYXJhbWV0ZXJz
LnJlcXVlc3QudXJsKCkucHJvdG9jb2woKS50b1N0cmluZygpKSkgewotICAgICAgICBkaWRGaW5p
c2hQcmVjb25uZWN0aW9uKHByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBpbnRlcm5hbEVycm9yKHBh
cmFtZXRlcnMucmVxdWVzdC51cmwoKSkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihpbnRl
cm5hbEVycm9yKHBhcmFtZXRlcnMucmVxdWVzdC51cmwoKSkpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogI2VuZGlmCkBAIC01MTksMTMgKzUyNCwxMyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpwcmVjb25uZWN0VG8odWludDY0X3QgcHJlY29ubmVjdGlvbklkZW50aWZp
ZQogI2lmIEVOQUJMRShTRVJWRVJfUFJFQ09OTkVDVCkKICAgICBhdXRvKiBzZXNzaW9uID0gbmV0
d29ya1Nlc3Npb24oKTsKICAgICBpZiAoc2Vzc2lvbiAmJiBzZXNzaW9uLT5hbGxvd3NTZXJ2ZXJQ
cmVjb25uZWN0KCkpIHsKLSAgICAgICAgbmV3IFByZWNvbm5lY3RUYXNrKG5ldHdvcmtQcm9jZXNz
KCksIHNlc3Npb25JRCgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhp
cyA9IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyID0gcHJlY29ubmVjdGlvbklkZW50aWZpZXJd
IChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikgewotICAgICAgICAgICAgZGlkRmluaXNoUHJl
Y29ubmVjdGlvbihpZGVudGlmaWVyLCBlcnJvcik7CisgICAgICAgIG5ldyBQcmVjb25uZWN0VGFz
ayhuZXR3b3JrUHJvY2VzcygpLCBzZXNzaW9uSUQoKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChjb25zdCBSZXNv
dXJjZUVycm9yJiBlcnJvcikgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZXJyb3Ip
OwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZgotICAgIGRpZEZp
bmlzaFByZWNvbm5lY3Rpb24ocHJlY29ubmVjdGlvbklkZW50aWZpZXIsIGludGVybmFsRXJyb3Io
cGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpKSk7CisgICAgY29tcGxldGlvbkhhbmRsZXIoaW50ZXJu
YWxFcnJvcihwYXJhbWV0ZXJzLnJlcXVlc3QudXJsKCkpKTsKIH0KIAogdm9pZCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkRmluaXNoUHJlY29ubmVjdGlvbih1aW50NjRfdCBwcmVj
b25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmgKaW5kZXggZjM5YWJlMmRiNTNlMTA5NzgxMmQyYmVlMGE1YjgyYWQwYTQw
NWViNy4uMGJhYjU2YzUyMDk0ZmJlYjYwODk4MWU2ODU3NDhiNGMwNjY2Nzc4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaApAQCAtMTg4LDcgKzE4OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0
ZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoV2Vi
UGFnZVByb3h5SWRlbnRpZmllciwgTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpUZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVw
bHlEZWxheWVkUmVwbHkmJik7CiAgICAgdm9pZCBsb2FkUGluZyhOZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycyYmKTsKICAgICB2b2lkIHByZWZldGNoRE5TKGNvbnN0IFN0cmluZyYpOwotICAg
IHZvaWQgcHJlY29ubmVjdFRvKHVpbnQ2NF90IHByZWNvbm5lY3Rpb25JZGVudGlmaWVyLCBOZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYmKTsKKyAgICB2b2lkIHByZWNvbm5lY3RUbyhPcHRp
b25hbDx1aW50NjRfdD4gcHJlY29ubmVjdGlvbklkZW50aWZpZXIsIE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzJiYpOwogCiAgICAgdm9pZCByZW1vdmVMb2FkSWRlbnRpZmllcihSZXNvdXJj
ZUxvYWRJZGVudGlmaWVyKTsKICAgICB2b2lkIHBhZ2VMb2FkQ29tcGxldGVkKFdlYkNvcmU6OlBh
Z2VJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDhhN2MwNDE3ZjE4MzJjMjVhYTMwODU3MTQwNDZkNGZiMTQ1ZjAyY2QuLjA5MWZhMWMw
NWUwZTNlYTlhMDk5M2Y0MmMyNTdlNWQ3NGM5NmFiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjksNyArMjksNyBAQCBtZXNzYWdlcyAtPiBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgUmVtb3ZlTG9h
ZElkZW50aWZpZXIodWludDY0X3QgcmVzb3VyY2VMb2FkSWRlbnRpZmllcikKICAgICBQYWdlTG9h
ZENvbXBsZXRlZChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQpCiAgICAgUHJlZmV0
Y2hETlMoU3RyaW5nIGhvc3RuYW1lKQotICAgIFByZWNvbm5lY3RUbyh1aW50NjRfdCBwcmVjb25u
ZWN0aW9uSWRlbnRpZmllciwgV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyBs
b2FkUGFyYW1ldGVycyk7CisgICAgUHJlY29ubmVjdFRvKE9wdGlvbmFsPHVpbnQ2NF90PiBwcmVj
b25uZWN0aW9uSWRlbnRpZmllciwgV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cyBsb2FkUGFyYW1ldGVycyk7CiAKICAgICBTdGFydERvd25sb2FkKFdlYktpdDo6RG93bmxvYWRJ
RCBkb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgU3RyaW5nIHN1
Z2dlc3RlZE5hbWUpCiAgICAgQ29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKHVpbnQ2
NF90IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxv
YWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggNDIxN2ZlZTEzZjJhYTk4ZjAwNjhk
Y2Q5OTBlZTM3NWJkYWZmMjlmNC4uZDcyM2NhZTMzMzE1NTFkZmY4NjYxNzFhODU5YzY0MTgyMGE2
Mzc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtNjQ0LDYgKzY0NCw3IEBAIHZvaWQgV2ViTG9hZGVyU3Ry
YXRlZ3k6OmRpZEZpbmlzaFBpbmdMb2FkKHVpbnQ2NF90IHBpbmdMb2FkSWRlbnRpZmllciwgUmVz
b3VyY2VFCiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnByZWNvbm5lY3RUbyhGcmFtZUxvYWRl
ciYgZnJhbWVMb2FkZXIsIGNvbnN0IFVSTCYgdXJsLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUHJlY29ubmVjdENvbXBsZXRpb25IYW5kbGVyJiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CisgICAgQVNTRVJUKGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICBh
dXRvKiB3ZWJGcmFtZUxvYWRlckNsaWVudCA9IHRvV2ViRnJhbWVMb2FkZXJDbGllbnQoZnJhbWVM
b2FkZXIuY2xpZW50KCkpOwogICAgIGlmICghd2ViRnJhbWVMb2FkZXJDbGllbnQpIHsKICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoaW50ZXJuYWxFcnJvcih1cmwpKTsKQEAgLTY2NSw5ICs2NjYs
MTIgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6cHJlY29ubmVjdFRvKEZyYW1lTG9hZGVyJiBm
cmFtZUxvYWRlciwgY29uc3QgVVJMJiB1cmwsIFMKIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6
cHJlY29ubmVjdFRvKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYlBhZ2Um
IHdlYlBhZ2UsIFdlYkZyYW1lJiB3ZWJGcmFtZSwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQ
b2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21wbGV0aW9uSGFuZGxl
ciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHVpbnQ2NF90IHByZWNvbm5lY3Rpb25JZGVu
dGlmaWVyID0gZ2VuZXJhdGVMb2FkSWRlbnRpZmllcigpOwotICAgIGF1dG8gYWRkUmVzdWx0ID0g
bV9wcmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXJzLmFkZChwcmVjb25uZWN0aW9uSWRlbnRpZmll
ciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVz
dWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgT3B0aW9uYWw8dWludDY0X3Q+IHByZWNv
bm5lY3Rpb25JZGVudGlmaWVyOworICAgIGlmIChjb21wbGV0aW9uSGFuZGxlcikgeworICAgICAg
ICBwcmVjb25uZWN0aW9uSWRlbnRpZmllciA9IGdlbmVyYXRlTG9hZElkZW50aWZpZXIoKTsKKyAg
ICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3ByZWNvbm5lY3RDb21wbGV0aW9uSGFuZGxlcnMuYWRk
KCpwcmVjb25uZWN0aW9uSWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwor
ICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwor
ICAgIH0KIAogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAg
ICAgcGFyYW1ldGVycy5yZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5oCmluZGV4IGRl
ODFlNjAwNGYxMzM5OTg0ZTNlYTI4YmJmMDBhNTBkY2NmNThkZmEuLmY0ZDVhM2Y4MDY1OWFlNzdm
OTdlNjEzYmQ0OTJjYTQ5ODFhYzk4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuaApAQCAtNjgsNyArNjgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzdGFydFBpbmdMb2FkKFdlYkNvcmU6OkZyYW1lJiwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCYgb3JpZ2luYWxSZXF1
ZXN0SGVhZGVycywgY29uc3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiwgV2ViQ29yZTo6Q29udGVu
dFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiwgUGluZ0xvYWRDb21wbGV0aW9uSGFuZGxlciYmKSBm
aW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaFBpbmdMb2FkKHVpbnQ2NF90IHBpbmdMb2FkSWRlbnRp
ZmllciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiYpOwogCi0gICAgdm9pZCBwcmVjb25uZWN0VG8oV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IFdlYlBhZ2UmLCBXZWJGcmFtZSYsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBQ
cmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBwcmVjb25uZWN0VG8oV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYlBhZ2UmLCBXZWJGcmFtZSYsIFdlYkNvcmU6OlN0
b3JlZENyZWRlbnRpYWxzUG9saWN5LCBQcmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXImJiA9IG51
bGxwdHIpOwogICAgIHZvaWQgcHJlY29ubmVjdFRvKFdlYkNvcmU6OkZyYW1lTG9hZGVyJiwgY29u
c3QgVVJMJiwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21w
bGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaFByZWNvbm5lY3Rpb24o
dWludDY0X3QgcHJlY29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlRXJyb3Im
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggY2Y0MTM3NTdhZjJjOTViMTQyNTdhNWFmNzM1ZTcwODc5ZDEwYzY1MS4uNzNjYzg3YmVkYTBk
Y2U1YWI1MGU1NDZlNTQ0ZmFjZmJlOThjODUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1MzYsNyArMTUzNiw3IEBAIHZvaWQgV2ViUGFn
ZTo6bG9hZFJlcXVlc3QoTG9hZFBhcmFtZXRlcnMmJiBsb2FkUGFyYW1ldGVycykKICAgICBTZW5k
U3RvcFJlc3BvbnNpdmVuZXNzVGltZXIgc3RvcHBlcjsKIAogICAgIGlmIChsb2FkUGFyYW1ldGVy
cy5yZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSAmJiAhU2VjdXJpdHlPcmln
aW46OmlzTG9jYWxIb3N0T3JMb29wYmFja0lQQWRkcmVzcyhsb2FkUGFyYW1ldGVycy5yZXF1ZXN0
LnVybCgpLmhvc3QoKSkpCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvYWRl
clN0cmF0ZWd5KCkucHJlY29ubmVjdFRvKFJlc291cmNlUmVxdWVzdCB7IGxvYWRQYXJhbWV0ZXJz
LnJlcXVlc3QgfSwgKnRoaXMsICptX21haW5GcmFtZSwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6
OlVzZSwgW10oY29uc3QgUmVzb3VyY2VFcnJvciYpIHsgfSk7CisgICAgICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndlYkxvYWRlclN0cmF0ZWd5KCkucHJlY29ubmVjdFRvKFJlc291cmNlUmVx
dWVzdCB7IGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QgfSwgKnRoaXMsICptX21haW5GcmFtZSwgU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSk7CiAKICAgICBtX3BlbmRpbmdOYXZpZ2F0aW9uSUQg
PSBsb2FkUGFyYW1ldGVycy5uYXZpZ2F0aW9uSUQ7CiAgICAgbV9wZW5kaW5nV2Vic2l0ZVBvbGlj
aWVzID0gV1RGTW92ZShsb2FkUGFyYW1ldGVycy53ZWJzaXRlUG9saWNpZXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>