<?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>223094</bug_id>
          
          <creation_ts>2021-03-11 14:55:17 -0800</creation_ts>
          <short_desc>Drop some unnecessary RunLoop::isMain() / IsMainRunLoop() checks</short_desc>
          <delta_ts>2021-03-11 19:52:16 -0800</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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223105</see_also>
          <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>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1738643</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 14:55:17 -0800</bug_when>
    <thetext>Drop some unnecessary RunLoop::isMain() / IsMainRunLoop() checks. callOnMainThread() / ensureOnMainRunLoop() take care of calling their lambda synchronously when already on the main runloop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738644</commentid>
    <comment_count>1</comment_count>
      <attachid>422975</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 14:56:59 -0800</bug_when>
    <thetext>Created attachment 422975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738647</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 15:00:24 -0800</bug_when>
    <thetext>Found some more. Will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738656</commentid>
    <comment_count>3</comment_count>
      <attachid>422978</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 15:12:01 -0800</bug_when>
    <thetext>Created attachment 422978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738666</commentid>
    <comment_count>4</comment_count>
      <attachid>422978</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-11 15:36:11 -0800</bug_when>
    <thetext>Comment on attachment 422978
Patch

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

&gt; Source/WebKit/Platform/IPC/Connection.cpp:933
&gt; +    ensureOnMainRunLoop([this, protectedThis = makeRef(*this), messageName]() mutable {

I slightly prefer the &quot;only capture protectedThis&quot; style, but I guess you like the &quot;capture both&quot; style?

&gt; Source/WebKit/Shared/Plugins/NPObjectProxy.cpp:307
&gt; +        NPObjectProxy* npObjectProxy = toNPObjectProxy(npObject);
&gt; +        delete npObjectProxy;

Better as a one-liner:

    delete toNPObjectProxy(npObject);

&gt; Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:225
&gt; +    ensureOnMainRunLoop([this, protectedThis = makeRef(*this)] {

Maybe we should just capture the three identifiers and not capture the object at all? Would be nice to not have to worry about reference counting at all.

&gt; Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:226
&gt; +        if (auto* serviceWorkerThreadProxy = SWContextManager::singleton().serviceWorkerThreadProxy(m_serviceWorkerIdentifier))

Just call the local variable &quot;proxy&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738667</commentid>
    <comment_count>5</comment_count>
      <attachid>422978</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 15:37:54 -0800</bug_when>
    <thetext>Comment on attachment 422978
Patch

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

&gt;&gt; Source/WebKit/Platform/IPC/Connection.cpp:933
&gt;&gt; +    ensureOnMainRunLoop([this, protectedThis = makeRef(*this), messageName]() mutable {
&gt; 
&gt; I slightly prefer the &quot;only capture protectedThis&quot; style, but I guess you like the &quot;capture both&quot; style?

Yes, I like capturing this because it makes the code more concise in the lambda.

&gt;&gt; Source/WebKit/Shared/Plugins/NPObjectProxy.cpp:307
&gt;&gt; +        delete npObjectProxy;
&gt; 
&gt; Better as a one-liner:
&gt; 
&gt;     delete toNPObjectProxy(npObject);

OK

&gt;&gt; Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:225
&gt;&gt; +    ensureOnMainRunLoop([this, protectedThis = makeRef(*this)] {
&gt; 
&gt; Maybe we should just capture the three identifiers and not capture the object at all? Would be nice to not have to worry about reference counting at all.

Good idea, will do.

&gt;&gt; Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:226
&gt;&gt; +        if (auto* serviceWorkerThreadProxy = SWContextManager::singleton().serviceWorkerThreadProxy(m_serviceWorkerIdentifier))
&gt; 
&gt; Just call the local variable &quot;proxy&quot;?

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738681</commentid>
    <comment_count>6</comment_count>
      <attachid>422984</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 15:57:34 -0800</bug_when>
    <thetext>Created attachment 422984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738743</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-11 19:51:33 -0800</bug_when>
    <thetext>Committed r274322: &lt;https://commits.webkit.org/r274322&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422984.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738744</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-11 19:52:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/75345742&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422975</attachid>
            <date>2021-03-11 14:56:59 -0800</date>
            <delta_ts>2021-03-11 15:11:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223094-20210311145659.patch</filename>
            <type>text/plain</type>
            <size>6035</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU4YWI2MGJhYzJiOGNkZWI2
NDI2YTkzZjA5ODJiNDk0ODFmMDgyNmUuLmU2N2Q2NjczMzQ4ZTkzMTEwYTY1ZjM1ZTVlZDY2NjM4
ZGEyMWNkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDMtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHNvbWUgdW5uZWNlc3Nhcnkg
UnVuTG9vcDo6aXNNYWluKCkgLyBJc01haW5SdW5Mb29wKCkgY2hlY2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwOTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIHNvbWUgdW5uZWNlc3Nhcnkg
UnVuTG9vcDo6aXNNYWluKCkgLyBJc01haW5SdW5Mb29wKCkgY2hlY2tzLiBjYWxsT25NYWluVGhy
ZWFkKCkgLyBlbnN1cmVPbk1haW5SdW5Mb29wKCkKKyAgICAgICAgdGFrZSBjYXJlIG9mIGNhbGxp
bmcgdGhlaXIgbGFtYmRhIHN5bmNocm9ub3VzbHkgd2hlbiBhbHJlYWR5IG9uIHRoZSBtYWluIHJ1
bmxvb3AuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29u
dGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OmNv
cHlUZXh0dXJlRnJvbU1lZGlhKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVh
ZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFGb3JtYXRS
ZWFkZXI6OnN0YXJ0T25NYWluVGhyZWFkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLVVJMU2NoZW1lVGFzay5tbToKKyAgICAgICAgKGdldEV4Y2VwdGlvblR5cGVGcm9tTWFpblJ1
bkxvb3ApOgorICAgICAgICAoLVtXS1VSTFNjaGVtZVRhc2tJbXBsIGRlYWxsb2NdKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkYuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZURlY29kZXJBVkY6OmNyZWF0ZUZyYW1lSW1hZ2VBdElu
ZGV4KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZSBhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0XSk6CisKIDIwMjEtMDMtMTEgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVl
OjptYWluKCkgdG8gZ2V0IHRoZSBtYWluIHRocmVhZCdzIHdvcmsgcXVldWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRH
TC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3ND
b250ZXh0R0wuY3BwCmluZGV4IDM2N2FiZmQ2MzcxYjU2ZTUxMTZlYjgxOTljMDVkNGYyMWI1YWUw
ZDcuLmM2MDhkMzJhN2I2MDNiMGUzNDBlZDEyODljMjZjMzYxMWUzNjJhMDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRH
TC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBo
aWNzQ29udGV4dEdMLmNwcApAQCAtMjMxLDEwICsyMzEsNyBAQCB2b2lkIFJlbW90ZUdyYXBoaWNz
Q29udGV4dEdMOjpjb3B5VGV4dHVyZUZyb21NZWRpYShXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50
aWZpZQogICAgICAgICAgICAgcGl4ZWxCdWZmZXIgPSBtZWRpYVBsYXllci0+cGl4ZWxCdWZmZXJG
b3JDdXJyZW50VGltZSgpOwogICAgIH07CiAKLSAgICBpZiAoaXNNYWluUnVuTG9vcCgpKQotICAg
ICAgICBnZXRQaXhlbEJ1ZmZlcigpOwotICAgIGVsc2UKLSAgICAgICAgY2FsbE9uTWFpblJ1bkxv
b3BBbmRXYWl0KFdURk1vdmUoZ2V0UGl4ZWxCdWZmZXIpKTsKKyAgICBjYWxsT25NYWluUnVuTG9v
cEFuZFdhaXQoV1RGTW92ZShnZXRQaXhlbEJ1ZmZlcikpOwogCiAgICAgaWYgKCFwaXhlbEJ1ZmZl
cikgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9y
bWF0UmVhZGVyLmNwcAppbmRleCBiODhmODgzOTMwMmE5YTAyYjM2NjhmMTgzZTc3Y2M4ZWU1ZDQ0
YjdkLi5kOTQwMDBiYTM1ZTgzMjU2OGY5YTE5OWMzYzg5MDFkYWFiNjA2ZmEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRS
ZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRl
ci9NZWRpYUZvcm1hdFJlYWRlci5jcHAKQEAgLTgyLDEyICs4Miw3IEBAIE1lZGlhRm9ybWF0UmVh
ZGVyOjpNZWRpYUZvcm1hdFJlYWRlcihBbGxvY2F0b3ImJiBhbGxvY2F0b3IpCiAKIHZvaWQgTWVk
aWFGb3JtYXRSZWFkZXI6OnN0YXJ0T25NYWluVGhyZWFkKE1UUGx1Z2luQnl0ZVNvdXJjZVJlZiBi
eXRlU291cmNlKQogewotICAgIGlmIChpc01haW5SdW5Mb29wKCkpIHsKLSAgICAgICAgcGFyc2VC
eXRlU291cmNlKFdURk1vdmUoYnl0ZVNvdXJjZSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgY2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgYnl0ZVNvdXJjZSA9IHJldGFpblB0cihieXRlU291cmNlKV0oKSBtdXRhYmxlIHsKKyAg
ICBlbnN1cmVPbk1haW5SdW5Mb29wKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyksIGJ5dGVTb3VyY2UgPSByZXRhaW5QdHIoYnl0ZVNvdXJjZSldKCkgbXV0YWJsZSB7CiAgICAg
ICAgIHBhcnNlQnl0ZVNvdXJjZShXVEZNb3ZlKGJ5dGVTb3VyY2UpKTsKICAgICB9KTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRh
c2subW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVUkxTY2hlbWVUYXNr
Lm1tCmluZGV4IDQ4NzQzZTFmYzRlZDljM2ZhOGU4MmE5NzFiNDRhNDk0OWY5ODYyNjMuLjljYWU4
YWMxNjIyZDcyNDZkMDQxMjgwYzAzNWMzZjNkOTJjYmRiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRhc2subW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbQpAQCAtMzgsOSAr
MzgsNiBAQAogCiBzdGF0aWMgV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrOjpFeGNlcHRpb25UeXBl
IGdldEV4Y2VwdGlvblR5cGVGcm9tTWFpblJ1bkxvb3AoRnVuY3Rpb248V2ViS2l0OjpXZWJVUkxT
Y2hlbWVUYXNrOjpFeGNlcHRpb25UeXBlICgpPiYmIGZ1bmN0aW9uKQogewotICAgIGlmIChSdW5M
b29wOjppc01haW4oKSkKLSAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCk7Ci0KICAgICBXZWJLaXQ6
OldlYlVSTFNjaGVtZVRhc2s6OkV4Y2VwdGlvblR5cGUgZXhjZXB0aW9uVHlwZTsKICAgICBjYWxs
T25NYWluUnVuTG9vcEFuZFdhaXQoW2Z1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbiksICZleGNl
cHRpb25UeXBlXSB7CiAgICAgICAgIGV4Y2VwdGlvblR5cGUgPSBmdW5jdGlvbigpOwpAQCAtODAs
MTAgKzc3LDcgQEAgLSAodm9pZClkZWFsbG9jCiAgICAgICAgIHRhc2stPkFQSTo6VVJMU2NoZW1l
VGFzazo6flVSTFNjaGVtZVRhc2soKTsKICAgICB9OwogCi0gICAgaWYgKFJ1bkxvb3A6OmlzTWFp
bigpKQotICAgICAgICBmdW5jKCk7Ci0gICAgZWxzZQotICAgICAgICBjYWxsT25NYWluUnVuTG9v
cChXVEZNb3ZlKGZ1bmMpKTsKKyAgICBlbnN1cmVPbk1haW5SdW5Mb29wKFdURk1vdmUoZnVuYykp
OwogCiAgICAgW3N1cGVyIGRlYWxsb2NdOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkYuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkYuY3BwCmluZGV4
IDdkZGMwNGY3MTRkNTk4YzRmNmEwYWYzNzU4YjU5ZmIzMTY3YWZlYTUuLmJhYzAzN2E4ZmFhMWIy
ZmM1MmVjNzIxZTEwYTFmMzYwNmM5MGFjNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlSW1hZ2VEZWNvZGVyQVZGLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUltYWdlRGVjb2RlckFWRi5jcHAKQEAg
LTE4MywxMCArMTgzLDcgQEAgUGxhdGZvcm1JbWFnZVB0ciBSZW1vdGVJbWFnZURlY29kZXJBVkY6
OmNyZWF0ZUZyYW1lSW1hZ2VBdEluZGV4KHNpemVfdCBpbmRleCwgU3UKICAgICAgICAgICAgIG1f
ZnJhbWVJbWFnZXMuYWRkKGluZGV4LCBpbWFnZSk7CiAgICAgfTsKIAotICAgIGlmIChpc01haW5S
dW5Mb29wKCkpCi0gICAgICAgIGNyZWF0ZUZyYW1lSW1hZ2UoKTsKLSAgICBlbHNlCi0gICAgICAg
IGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChXVEZNb3ZlKGNyZWF0ZUZyYW1lSW1hZ2UpKTsKKyAg
ICBjYWxsT25NYWluUnVuTG9vcEFuZFdhaXQoV1RGTW92ZShjcmVhdGVGcmFtZUltYWdlKSk7CiAK
ICAgICBpZiAobV9mcmFtZUltYWdlcy5jb250YWlucyhpbmRleCkpCiAgICAgICAgIHJldHVybiBt
X2ZyYW1lSW1hZ2VzLmdldChpbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdEJhc2UubW0KaW5kZXggODcxYTczNDAzODM1OTAwM2Q5MTlkMGIwODMzMWE4MTAxMTJk
YTRlZS4uNzFkYjE0ODIzNmQ4MDJhMmZkYjIzNTE5YmE3MjQ1NGExY2Q5N2VjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQpAQCAtNjksMTggKzY5LDEw
IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlQbHVnaW5PYmplY3QKICAgICBBU1NFUlQoaXNNYWluUnVu
TG9vcCgpKTsKICAgICBhdXRvIHJldHJpZXZlQmxvY2sgPSBbJnNlbGZdKCkgLT4gaWQgewogICAg
ICAgICBpZCBheFBsdWdpbiA9IG5pbDsKLSAgICAgICAgYXV0byBkaXNwYXRjaEJsb2NrID0gWyZh
eFBsdWdpbiwgJnNlbGZdIHsKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3BBbmRXYWl0KFsmYXhQ
bHVnaW4sICZzZWxmXSB7CiAgICAgICAgICAgICBpZiAoc2VsZi0+bV9wYWdlKQogICAgICAgICAg
ICAgICAgIGF4UGx1Z2luID0gc2VsZi0+bV9wYWdlLT5hY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFp
bkZyYW1lUGx1Z2luKCk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgaWYgKGlzTWFpblJ1bkxvb3Ao
KSkKLSAgICAgICAgICAgIGRpc3BhdGNoQmxvY2soKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICBjYWxsT25NYWluUnVuTG9vcEFuZFdhaXQoWyZkaXNwYXRjaEJsb2NrXSB7Ci0gICAgICAg
ICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KKyAg
ICAgICAgfSk7CiAgICAgICAgIHJldHVybiBheFBsdWdpbjsKICAgICB9OwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422978</attachid>
            <date>2021-03-11 15:12:01 -0800</date>
            <delta_ts>2021-03-11 15:57:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223094-20210311151200.patch</filename>
            <type>text/plain</type>
            <size>12157</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU4YWI2MGJhYzJiOGNkZWI2
NDI2YTkzZjA5ODJiNDk0ODFmMDgyNmUuLmU2N2Q2NjczMzQ4ZTkzMTEwYTY1ZjM1ZTVlZDY2NjM4
ZGEyMWNkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDMtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHNvbWUgdW5uZWNlc3Nhcnkg
UnVuTG9vcDo6aXNNYWluKCkgLyBJc01haW5SdW5Mb29wKCkgY2hlY2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwOTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIHNvbWUgdW5uZWNlc3Nhcnkg
UnVuTG9vcDo6aXNNYWluKCkgLyBJc01haW5SdW5Mb29wKCkgY2hlY2tzLiBjYWxsT25NYWluVGhy
ZWFkKCkgLyBlbnN1cmVPbk1haW5SdW5Mb29wKCkKKyAgICAgICAgdGFrZSBjYXJlIG9mIGNhbGxp
bmcgdGhlaXIgbGFtYmRhIHN5bmNocm9ub3VzbHkgd2hlbiBhbHJlYWR5IG9uIHRoZSBtYWluIHJ1
bmxvb3AuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29u
dGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OmNv
cHlUZXh0dXJlRnJvbU1lZGlhKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVh
ZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFGb3JtYXRS
ZWFkZXI6OnN0YXJ0T25NYWluVGhyZWFkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLVVJMU2NoZW1lVGFzay5tbToKKyAgICAgICAgKGdldEV4Y2VwdGlvblR5cGVGcm9tTWFpblJ1
bkxvb3ApOgorICAgICAgICAoLVtXS1VSTFNjaGVtZVRhc2tJbXBsIGRlYWxsb2NdKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkYuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZURlY29kZXJBVkY6OmNyZWF0ZUZyYW1lSW1hZ2VBdElu
ZGV4KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZSBhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0XSk6CisKIDIwMjEtMDMtMTEgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVl
OjptYWluKCkgdG8gZ2V0IHRoZSBtYWluIHRocmVhZCdzIHdvcmsgcXVldWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmggYi9Tb3VyY2UvV1RGL3d0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oCmluZGV4IDA1NjFmMjA3Y2FhYzg5ZTMwMGUzYjk4NTUxYmQ1
NmMyMGNmNjllZWIuLjJhNTczNmI3MjdhNzNmNmIyMDZhYTc2NzU4NmQ2YjZiNGYwZWViMWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmgKKysrIGIvU291
cmNlL1dURi93dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaApAQCAtMTI2LDExICsxMjYsOCBAQCBw
dWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBE
ZXN0cnVjdGlvblRocmVhZDo6TWFpblJ1bkxvb3A6Ci0gICAgICAgICAgICBpZiAoIWlzTWFpblJ1
bkxvb3AoKSkgewotICAgICAgICAgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFdURk1vdmUoZGVs
ZXRlVGhpcykpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgZW5zdXJlT25NYWluUnVuTG9vcChXVEZNb3ZlKGRl
bGV0ZVRoaXMpKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBkZWxl
dGVUaGlzKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5jcHAKaW5kZXggMzY3YWJmZDYz
NzFiNTZlNTExNmViODE5OWMwNWQ0ZjIxYjVhZTBkNy4uYzYwOGQzMmE3YjYwM2IwZTM0MGVkMTI4
OWMyNmMzNjExZTM2MmEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuY3BwCkBAIC0yMzEsMTAg
KzIzMSw3IEBAIHZvaWQgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OmNvcHlUZXh0dXJlRnJvbU1l
ZGlhKFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllCiAgICAgICAgICAgICBwaXhlbEJ1ZmZl
ciA9IG1lZGlhUGxheWVyLT5waXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKCk7CiAgICAgfTsKIAot
ICAgIGlmIChpc01haW5SdW5Mb29wKCkpCi0gICAgICAgIGdldFBpeGVsQnVmZmVyKCk7Ci0gICAg
ZWxzZQotICAgICAgICBjYWxsT25NYWluUnVuTG9vcEFuZFdhaXQoV1RGTW92ZShnZXRQaXhlbEJ1
ZmZlcikpOworICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChXVEZNb3ZlKGdldFBpeGVsQnVm
ZmVyKSk7CiAKICAgICBpZiAoIXBpeGVsQnVmZmVyKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL2NvY29hL1dLRG93bmxvYWRQcm9ncmVzcy5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL2NvY29hL1dLRG93bmxvYWRQcm9ncmVzcy5tbQppbmRleCAyYWIx
NTAwMjQ0NDI3NDJmYmY3MjcwNTI1NGU0MTcyMjBhYTBiMDJiLi4yZGFhOTM2NWUxNmI1NmMwOWE5
MjBjMGE1MGI4MDdjNmMyZTVlNzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9jb2NvYS9XS0Rvd25sb2FkUHJvZ3Jlc3MubW0KKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvY29jb2EvV0tEb3dubG9hZFByb2dyZXNz
Lm1tCkBAIC02OCwxMyArNjgsOSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEb3dubG9hZFRh
c2s6KE5TVVJMU2Vzc2lvbkRvd25sb2FkVGFzayAqKXRhc2sgZG93bmxvYWQ6KAogCiAgICAgc2Vs
Zi5jYW5jZWxsYWJsZSA9IFlFUzsKICAgICBzZWxmLmNhbmNlbGxhdGlvbkhhbmRsZXIgPSBtYWtl
QmxvY2tQdHIoW3dlYWtTZWxmID0gV2Vha09iakNQdHI8V0tEb3dubG9hZFByb2dyZXNzPiB7IHNl
bGYgfV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghUnVuTG9vcDo6aXNNYWluKCkpIHsKLSAg
ICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vha1NlbGYgPSBXVEZNb3ZlKHdl
YWtTZWxmKV0gewotICAgICAgICAgICAgICAgIFt3ZWFrU2VsZiBwZXJmb3JtQ2FuY2VsXTsKLSAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIFt3
ZWFrU2VsZiBwZXJmb3JtQ2FuY2VsXTsKKyAgICAgICAgZW5zdXJlT25NYWluUnVuTG9vcChbd2Vh
a1NlbGYgPSBXVEZNb3ZlKHdlYWtTZWxmKV0geworICAgICAgICAgICAgW3dlYWtTZWxmIHBlcmZv
cm1DYW5jZWxdOworICAgICAgICB9KTsKICAgICB9KS5nZXQoKTsKIAogICAgIHJldHVybiBzZWxm
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAppbmRleCA0YzZlZWYy
MDM3MDMzNTU0ODJlZWZiZjg2ZTk4ZTRiMDdlYjdlMzcwLi44ZDhlYzkyZjhlYzA5MGQ4YTdhYTAz
MzUwNDRiMDAyYzk5ODI2MjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmNwcApAQCAtOTMwLDE3ICs5MzAsMTEgQEAgdm9pZCBDb25uZWN0aW9uOjpkaXNwYXRjaFN5
bmNNZXNzYWdlKERlY29kZXImIGRlY29kZXIpCiAKIHZvaWQgQ29ubmVjdGlvbjo6ZGlzcGF0Y2hE
aWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoTWVzc2FnZU5hbWUgbWVzc2FnZU5hbWUpCiB7Ci0gICAg
aWYgKCFSdW5Mb29wOjppc01haW4oKSkgewotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0
Y2goW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbWVzc2FnZU5hbWVdKCkgbXV0YWJs
ZSB7Ci0gICAgICAgICAgICBpZiAoIXByb3RlY3RlZFRoaXMtPmlzVmFsaWQoKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlSW52YWxpZE1lc3NhZ2UocHJvdGVjdGVkVGhpcywgbWVzc2FnZU5hbWUpOwotICAgICAg
ICB9KTsKLSAgICB9Ci0gICAgaWYgKCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IG1fY2xpZW50LmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSgqdGhpcywgbWVzc2FnZU5hbWUpOwor
ICAgIGVuc3VyZU9uTWFpblJ1bkxvb3AoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgbWVzc2FnZU5hbWVdKCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghaXNWYWxpZCgpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2NsaWVudC5kaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoKnRoaXMsIG1lc3NhZ2VOYW1lKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDb25uZWN0aW9u
OjpkaWRGYWlsVG9TZW5kU3luY01lc3NhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTlBPYmplY3RQcm94eS5jcHAKaW5kZXggNWFhOWFlZGI4OWViMDVjOTc5MTI1MTlkZTM5
NDk2ZDJiZTdlNmQ5MC4uMTM2MTAzZWZjY2YwNTAzM2Y5MjlmZjc5ODczNmNkNDhiNmNhNzNlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuY3BwCkBA
IC0zMDIsMTUgKzMwMiwxMCBAQCB2b2lkIE5QT2JqZWN0UHJveHk6Ok5QX0RlYWxsb2NhdGUoTlBP
YmplY3QqIG5wT2JqZWN0KQogICAgIC8vIFNpbmNlIE5QQVBJIGJlaGF2aW9yIG9uIGEgYmFja2dy
b3VuZCB0aHJlYWQgaXMgdW5kZWZpbmVkLCBpdCBpcyBva2F5IHRvIGxpbWl0IHRoaXMgd29ya2Fy
b3VuZCB0byB0aGUgb25lIEFQSQogICAgIC8vIHRoYXQgaXMga25vd24gdG8gYmUgbWlzdXNlZCBk
dXJpbmcgcGx1Z2luIHRlYXJkb3duLCBhbmQgdG8gbm90IGJlIGNvbmNlcm5lZCBhYm91dCBjaGFu
Z2UgaW4gYmVoYXZpb3IgaWYgdGhpcwogICAgIC8vIG9jY3VyZWQgYXQgYW55IG90aGVyIHRpbWUu
Ci0gICAgaWYgKCFSdW5Mb29wOjppc01haW4oKSkgewotICAgICAgICBSdW5Mb29wOjptYWluKCku
ZGlzcGF0Y2goW25wT2JqZWN0XSB7Ci0gICAgICAgICAgICBOUF9EZWFsbG9jYXRlKG5wT2JqZWN0
KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgTlBPYmpl
Y3RQcm94eSogbnBPYmplY3RQcm94eSA9IHRvTlBPYmplY3RQcm94eShucE9iamVjdCk7Ci0gICAg
ZGVsZXRlIG5wT2JqZWN0UHJveHk7CisgICAgZW5zdXJlT25NYWluUnVuTG9vcChbbnBPYmplY3Rd
IHsKKyAgICAgICAgTlBPYmplY3RQcm94eSogbnBPYmplY3RQcm94eSA9IHRvTlBPYmplY3RQcm94
eShucE9iamVjdCk7CisgICAgICAgIGRlbGV0ZSBucE9iamVjdFByb3h5OworICAgIH0pOwogfQog
CiBib29sIE5QT2JqZWN0UHJveHk6Ok5QX0hhc01ldGhvZChOUE9iamVjdCogbnBPYmplY3QsIE5Q
SWRlbnRpZmllciBtZXRob2ROYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYUZvcm1hdFJlYWRlci5jcHAKaW5k
ZXggYjg4Zjg4MzkzMDJhOWEwMmIzNjY4ZjE4M2U3N2NjOGVlNWQ0NGI3ZC4uZDk0MDAwYmEzNWU4
MzI1NjhmOWExOTljM2M4OTAxZGFhYjYwNmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFk
ZXIuY3BwCkBAIC04MiwxMiArODIsNyBAQCBNZWRpYUZvcm1hdFJlYWRlcjo6TWVkaWFGb3JtYXRS
ZWFkZXIoQWxsb2NhdG9yJiYgYWxsb2NhdG9yKQogCiB2b2lkIE1lZGlhRm9ybWF0UmVhZGVyOjpz
dGFydE9uTWFpblRocmVhZChNVFBsdWdpbkJ5dGVTb3VyY2VSZWYgYnl0ZVNvdXJjZSkKIHsKLSAg
ICBpZiAoaXNNYWluUnVuTG9vcCgpKSB7Ci0gICAgICAgIHBhcnNlQnl0ZVNvdXJjZShXVEZNb3Zl
KGJ5dGVTb3VyY2UpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhbGxPbk1haW5S
dW5Mb29wKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGJ5dGVTb3VyY2Ug
PSByZXRhaW5QdHIoYnl0ZVNvdXJjZSldKCkgbXV0YWJsZSB7CisgICAgZW5zdXJlT25NYWluUnVu
TG9vcChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBieXRlU291cmNlID0g
cmV0YWluUHRyKGJ5dGVTb3VyY2UpXSgpIG11dGFibGUgewogICAgICAgICBwYXJzZUJ5dGVTb3Vy
Y2UoV1RGTW92ZShieXRlU291cmNlKSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tEb3dubG9hZC5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Rvd25sb2FkLm1tCmluZGV4IGYyZTRhOWM5MWU5NWQ5MDUx
YTk4ZjYyMDY0ZGZjN2JiOWZhYzA5ZDIuLjIzMjAyMTA1ZGRkMTE3OTZmMjI2MzViYjUzYTllZmQz
OWVmYWU4NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S0Rvd25sb2FkLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Rv
d25sb2FkLm1tCkBAIC0yMjcsMTMgKzIyNyw5IEBAIC0gKE5TUHJvZ3Jlc3MgKilwcm9ncmVzcwog
CiAgICAgICAgIGRvd25sb2FkUHJvZ3Jlc3MuY2FuY2VsbGFibGUgPSBZRVM7CiAgICAgICAgIGRv
d25sb2FkUHJvZ3Jlc3MuY2FuY2VsbGF0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihbd2Vha1Nl
bGYgPSBXZWFrT2JqQ1B0cjxXS0Rvd25sb2FkPiB7IHNlbGYgfV0gKCkgbXV0YWJsZSB7Ci0gICAg
ICAgICAgICBpZiAoIVJ1bkxvb3A6OmlzTWFpbigpKSB7Ci0gICAgICAgICAgICAgICAgUnVuTG9v
cDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrU2VsZiA9IFdURk1vdmUod2Vha1NlbGYpXSB7Ci0gICAg
ICAgICAgICAgICAgICAgIFt3ZWFrU2VsZiBjYW5jZWw6bmlsXTsKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBb
d2Vha1NlbGYgY2FuY2VsOm5pbF07CisgICAgICAgICAgICBlbnN1cmVPbk1haW5SdW5Mb29wKFt3
ZWFrU2VsZiA9IFdURk1vdmUod2Vha1NlbGYpXSB7CisgICAgICAgICAgICAgICAgW3dlYWtTZWxm
IGNhbmNlbDpuaWxdOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pLmdldCgpOwogCiAgICAg
ICAgIF9kb3dubG9hZC0+c2V0UHJvZ3Jlc3MoZG93bmxvYWRQcm9ncmVzcyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVUkxTY2hlbWVUYXNrLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbQppbmRl
eCA0ODc0M2UxZmM0ZWQ5YzNmYThlODJhOTcxYjQ0YTQ5NDlmOTg2MjYzLi45Y2FlOGFjMTYyMmQ3
MjQ2ZDA0MTI4MGMwMzVjM2YzZDkyY2JkYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVUkxTY2hlbWVUYXNrLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRhc2subW0KQEAgLTM4LDkgKzM4LDYgQEAK
IAogc3RhdGljIFdlYktpdDo6V2ViVVJMU2NoZW1lVGFzazo6RXhjZXB0aW9uVHlwZSBnZXRFeGNl
cHRpb25UeXBlRnJvbU1haW5SdW5Mb29wKEZ1bmN0aW9uPFdlYktpdDo6V2ViVVJMU2NoZW1lVGFz
azo6RXhjZXB0aW9uVHlwZSAoKT4mJiBmdW5jdGlvbikKIHsKLSAgICBpZiAoUnVuTG9vcDo6aXNN
YWluKCkpCi0gICAgICAgIHJldHVybiBmdW5jdGlvbigpOwotCiAgICAgV2ViS2l0OjpXZWJVUkxT
Y2hlbWVUYXNrOjpFeGNlcHRpb25UeXBlIGV4Y2VwdGlvblR5cGU7CiAgICAgY2FsbE9uTWFpblJ1
bkxvb3BBbmRXYWl0KFtmdW5jdGlvbiA9IFdURk1vdmUoZnVuY3Rpb24pLCAmZXhjZXB0aW9uVHlw
ZV0gewogICAgICAgICBleGNlcHRpb25UeXBlID0gZnVuY3Rpb24oKTsKQEAgLTgwLDEwICs3Nyw3
IEBAIC0gKHZvaWQpZGVhbGxvYwogICAgICAgICB0YXNrLT5BUEk6OlVSTFNjaGVtZVRhc2s6On5V
UkxTY2hlbWVUYXNrKCk7CiAgICAgfTsKIAotICAgIGlmIChSdW5Mb29wOjppc01haW4oKSkKLSAg
ICAgICAgZnVuYygpOwotICAgIGVsc2UKLSAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoV1RGTW92
ZShmdW5jKSk7CisgICAgZW5zdXJlT25NYWluUnVuTG9vcChXVEZNb3ZlKGZ1bmMpKTsKIAogICAg
IFtzdXBlciBkZWFsbG9jXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlSW1hZ2VEZWNvZGVyQVZGLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlSW1hZ2VEZWNvZGVyQVZGLmNwcAppbmRleCA3ZGRjMDRm
NzE0ZDU5OGM0ZjZhMGFmMzc1OGI1OWZiMzE2N2FmZWE1Li5iYWMwMzdhOGZhYTFiMmZjNTJlYzcy
MWUxMGExZjM2MDZjOTBhYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUltYWdlRGVjb2RlckFWRi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkYuY3BwCkBAIC0xODMsMTAg
KzE4Myw3IEBAIFBsYXRmb3JtSW1hZ2VQdHIgUmVtb3RlSW1hZ2VEZWNvZGVyQVZGOjpjcmVhdGVG
cmFtZUltYWdlQXRJbmRleChzaXplX3QgaW5kZXgsIFN1CiAgICAgICAgICAgICBtX2ZyYW1lSW1h
Z2VzLmFkZChpbmRleCwgaW1hZ2UpOwogICAgIH07CiAKLSAgICBpZiAoaXNNYWluUnVuTG9vcCgp
KQotICAgICAgICBjcmVhdGVGcmFtZUltYWdlKCk7Ci0gICAgZWxzZQotICAgICAgICBjYWxsT25N
YWluUnVuTG9vcEFuZFdhaXQoV1RGTW92ZShjcmVhdGVGcmFtZUltYWdlKSk7CisgICAgY2FsbE9u
TWFpblJ1bkxvb3BBbmRXYWl0KFdURk1vdmUoY3JlYXRlRnJhbWVJbWFnZSkpOwogCiAgICAgaWYg
KG1fZnJhbWVJbWFnZXMuY29udGFpbnMoaW5kZXgpKQogICAgICAgICByZXR1cm4gbV9mcmFtZUlt
YWdlcy5nZXQoaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmNwcApp
bmRleCAyNmZjNmM1ODE3MDQ3ZDgyZWRiMjk5NmI1MDg0YjljOTBkMjY0MmY0Li5hZDg4MTA1Y2Ey
MzNiODBjMGQyNmM2MTYxOTM5NDA2MTMwM2ExOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrQ2xpZW50LmNwcApAQCAtMjIyLDE0ICsyMjIsMTAgQEAgdm9pZCBXZWJTZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrQ2xpZW50OjpjbGVhbnVwKCkKIHsKICAgICBtX2Nvbm5lY3Rpb24gPSBudWxs
cHRyOwogCi0gICAgaWYgKCFpc01haW5SdW5Mb29wKCkpIHsKLSAgICAgICAgY2FsbE9uTWFpblJ1
bkxvb3AoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKCkgewotICAgICAgICAgICAg
cHJvdGVjdGVkVGhpcy0+Y2xlYW51cCgpOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgICBpZiAoYXV0byogc2VydmljZVdvcmtlclRocmVhZFByb3h5ID0gU1dDb250ZXh0
TWFuYWdlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlclRocmVhZFByb3h5KG1fc2VydmljZVdv
cmtlcklkZW50aWZpZXIpKQotICAgICAgICBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHktPnJlbW92
ZUZldGNoKG1fc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIG1fZmV0Y2hJZGVudGlmaWVyKTsK
KyAgICBlbnN1cmVPbk1haW5SdW5Mb29wKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyldIHsKKyAgICAgICAgaWYgKGF1dG8qIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA9IFNX
Q29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eShtX3Nl
cnZpY2VXb3JrZXJJZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHNlcnZpY2VXb3JrZXJUaHJlYWRQ
cm94eS0+cmVtb3ZlRmV0Y2gobV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgbV9mZXRjaElk
ZW50aWZpZXIpOworICAgIH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0QmFzZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQppbmRleCA4NzFhNzM0MDM4MzU5
MDAzZDkxOWQwYjA4MzMxYTgxMDExMmRhNGVlLi43MWRiMTQ4MjM2ZDgwMmEyZmRiMjM1MTliYTcy
NDU0YTFjZDk3ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RC
YXNlLm1tCkBAIC02OSwxOCArNjksMTAgQEAgLSAoaWQpYWNjZXNzaWJpbGl0eVBsdWdpbk9iamVj
dAogICAgIEFTU0VSVChpc01haW5SdW5Mb29wKCkpOwogICAgIGF1dG8gcmV0cmlldmVCbG9jayA9
IFsmc2VsZl0oKSAtPiBpZCB7CiAgICAgICAgIGlkIGF4UGx1Z2luID0gbmlsOwotICAgICAgICBh
dXRvIGRpc3BhdGNoQmxvY2sgPSBbJmF4UGx1Z2luLCAmc2VsZl0geworICAgICAgICBjYWxsT25N
YWluUnVuTG9vcEFuZFdhaXQoWyZheFBsdWdpbiwgJnNlbGZdIHsKICAgICAgICAgICAgIGlmIChz
ZWxmLT5tX3BhZ2UpCiAgICAgICAgICAgICAgICAgYXhQbHVnaW4gPSBzZWxmLT5tX3BhZ2UtPmFj
Y2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKTsKLSAgICAgICAgfTsKLQotICAg
ICAgICBpZiAoaXNNYWluUnVuTG9vcCgpKQotICAgICAgICAgICAgZGlzcGF0Y2hCbG9jaygpOwot
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChbJmRp
c3BhdGNoQmxvY2tdIHsKLSAgICAgICAgICAgICAgICBkaXNwYXRjaEJsb2NrKCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuIGF4UGx1Z2lu
OwogICAgIH07CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422984</attachid>
            <date>2021-03-11 15:57:34 -0800</date>
            <delta_ts>2021-03-11 19:51:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223094-20210311155733.patch</filename>
            <type>text/plain</type>
            <size>12150</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3ZmViNzlmM2RlMTc5YmUy
MTYwMDkwMjkzOGIzMmYwM2Q0M2IzNzEuLjQzZmI3MWUwZGI2ZDMzODNmYmExNjEzMzRjMWFkZjM3
MmYwNmU4YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDMtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHNvbWUgdW5uZWNlc3Nhcnkg
UnVuTG9vcDo6aXNNYWluKCkgLyBJc01haW5SdW5Mb29wKCkgY2hlY2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwOTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIHNvbWUgdW5uZWNlc3Nhcnkg
UnVuTG9vcDo6aXNNYWluKCkgLyBJc01haW5SdW5Mb29wKCkgY2hlY2tzLiBjYWxsT25NYWluVGhy
ZWFkKCkgLyBlbnN1cmVPbk1haW5SdW5Mb29wKCkKKyAgICAgICAgdGFrZSBjYXJlIG9mIGNhbGxp
bmcgdGhlaXIgbGFtYmRhIHN5bmNocm9ub3VzbHkgd2hlbiBhbHJlYWR5IG9uIHRoZSBtYWluIHJ1
bmxvb3AuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29u
dGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OmNv
cHlUZXh0dXJlRnJvbU1lZGlhKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVh
ZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFGb3JtYXRS
ZWFkZXI6OnN0YXJ0T25NYWluVGhyZWFkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLVVJMU2NoZW1lVGFzay5tbToKKyAgICAgICAgKGdldEV4Y2VwdGlvblR5cGVGcm9tTWFpblJ1
bkxvb3ApOgorICAgICAgICAoLVtXS1VSTFNjaGVtZVRhc2tJbXBsIGRlYWxsb2NdKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkYuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZURlY29kZXJBVkY6OmNyZWF0ZUZyYW1lSW1hZ2VBdElu
ZGV4KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0QmFzZSBhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0XSk6CisKIDIwMjEtMDMtMTEgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgV0tTZXBh
cmF0ZWRNb2RlbFZpZXcgZm9yIDxtb2RlbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZFNhZmVSZWZDb3VudGVkLmggYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTYWZlUmVmQ291bnRl
ZC5oCmluZGV4IDA1NjFmMjA3Y2FhYzg5ZTMwMGUzYjk4NTUxYmQ1NmMyMGNmNjllZWIuLjJhNTcz
NmI3MjdhNzNmNmIyMDZhYTc2NzU4NmQ2YjZiNGYwZWViMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFk
U2FmZVJlZkNvdW50ZWQuaApAQCAtMTI2LDExICsxMjYsOCBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBEZXN0cnVjdGlvblRocmVhZDo6
TWFpblJ1bkxvb3A6Ci0gICAgICAgICAgICBpZiAoIWlzTWFpblJ1bkxvb3AoKSkgewotICAgICAg
ICAgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFdURk1vdmUoZGVsZXRlVGhpcykpOwotICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgZW5zdXJlT25NYWluUnVuTG9vcChXVEZNb3ZlKGRlbGV0ZVRoaXMpKTsKKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBkZWxldGVUaGlzKCk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBo
aWNzQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVHcmFwaGljc0NvbnRleHRHTC5jcHAKaW5kZXggMzY3YWJmZDYzNzFiNTZlNTExNmViODE5OWMw
NWQ0ZjIxYjVhZTBkNy4uYzYwOGQzMmE3YjYwM2IwZTM0MGVkMTI4OWMyNmMzNjExZTM2MmEwMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBo
aWNzQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuY3BwCkBAIC0yMzEsMTAgKzIzMSw3IEBAIHZvaWQgUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0w6OmNvcHlUZXh0dXJlRnJvbU1lZGlhKFdlYkNvcmU6Ok1lZGlh
UGxheWVySWRlbnRpZmllCiAgICAgICAgICAgICBwaXhlbEJ1ZmZlciA9IG1lZGlhUGxheWVyLT5w
aXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKCk7CiAgICAgfTsKIAotICAgIGlmIChpc01haW5SdW5M
b29wKCkpCi0gICAgICAgIGdldFBpeGVsQnVmZmVyKCk7Ci0gICAgZWxzZQotICAgICAgICBjYWxs
T25NYWluUnVuTG9vcEFuZFdhaXQoV1RGTW92ZShnZXRQaXhlbEJ1ZmZlcikpOworICAgIGNhbGxP
bk1haW5SdW5Mb29wQW5kV2FpdChXVEZNb3ZlKGdldFBpeGVsQnVmZmVyKSk7CiAKICAgICBpZiAo
IXBpeGVsQnVmZmVyKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL2NvY29hL1dLRG93
bmxvYWRQcm9ncmVzcy5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L2NvY29hL1dLRG93bmxvYWRQcm9ncmVzcy5tbQppbmRleCAyYWIxNTAwMjQ0NDI3NDJmYmY3Mjcw
NTI1NGU0MTcyMjBhYTBiMDJiLi4yZGFhOTM2NWUxNmI1NmMwOWE5MjBjMGE1MGI4MDdjNmMyZTVl
NzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9j
b2NvYS9XS0Rvd25sb2FkUHJvZ3Jlc3MubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvY29jb2EvV0tEb3dubG9hZFByb2dyZXNzLm1tCkBAIC02OCwxMyArNjgs
OSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEb3dubG9hZFRhc2s6KE5TVVJMU2Vzc2lvbkRv
d25sb2FkVGFzayAqKXRhc2sgZG93bmxvYWQ6KAogCiAgICAgc2VsZi5jYW5jZWxsYWJsZSA9IFlF
UzsKICAgICBzZWxmLmNhbmNlbGxhdGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoW3dlYWtTZWxm
ID0gV2Vha09iakNQdHI8V0tEb3dubG9hZFByb2dyZXNzPiB7IHNlbGYgfV0gKCkgbXV0YWJsZSB7
Ci0gICAgICAgIGlmICghUnVuTG9vcDo6aXNNYWluKCkpIHsKLSAgICAgICAgICAgIFJ1bkxvb3A6
Om1haW4oKS5kaXNwYXRjaChbd2Vha1NlbGYgPSBXVEZNb3ZlKHdlYWtTZWxmKV0gewotICAgICAg
ICAgICAgICAgIFt3ZWFrU2VsZiBwZXJmb3JtQ2FuY2VsXTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIFt3ZWFrU2VsZiBwZXJmb3JtQ2Fu
Y2VsXTsKKyAgICAgICAgZW5zdXJlT25NYWluUnVuTG9vcChbd2Vha1NlbGYgPSBXVEZNb3ZlKHdl
YWtTZWxmKV0geworICAgICAgICAgICAgW3dlYWtTZWxmIHBlcmZvcm1DYW5jZWxdOworICAgICAg
ICB9KTsKICAgICB9KS5nZXQoKTsKIAogICAgIHJldHVybiBzZWxmOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAppbmRleCA0YzZlZWYyMDM3MDMzNTU0ODJlZWZiZjg2
ZTk4ZTRiMDdlYjdlMzcwLi44ZDhlYzkyZjhlYzA5MGQ4YTdhYTAzMzUwNDRiMDAyYzk5ODI2MjM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtOTMwLDE3
ICs5MzAsMTEgQEAgdm9pZCBDb25uZWN0aW9uOjpkaXNwYXRjaFN5bmNNZXNzYWdlKERlY29kZXIm
IGRlY29kZXIpCiAKIHZvaWQgQ29ubmVjdGlvbjo6ZGlzcGF0Y2hEaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoTWVzc2FnZU5hbWUgbWVzc2FnZU5hbWUpCiB7Ci0gICAgaWYgKCFSdW5Mb29wOjppc01h
aW4oKSkgewotICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKSwgbWVzc2FnZU5hbWVdKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICBp
ZiAoIXByb3RlY3RlZFRoaXMtPmlzVmFsaWQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlSW52YWxpZE1lc3Nh
Z2UocHJvdGVjdGVkVGhpcywgbWVzc2FnZU5hbWUpOwotICAgICAgICB9KTsKLSAgICB9Ci0gICAg
aWYgKCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fY2xpZW50LmRpZFJlY2Vp
dmVJbnZhbGlkTWVzc2FnZSgqdGhpcywgbWVzc2FnZU5hbWUpOworICAgIGVuc3VyZU9uTWFpblJ1
bkxvb3AoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbWVzc2FnZU5hbWVd
KCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBtX2NsaWVudC5kaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKnRoaXMsIG1lc3Nh
Z2VOYW1lKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDb25uZWN0aW9uOjpkaWRGYWlsVG9TZW5kU3lu
Y01lc3NhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OUE9i
amVjdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94
eS5jcHAKaW5kZXggNWFhOWFlZGI4OWViMDVjOTc5MTI1MTlkZTM5NDk2ZDJiZTdlNmQ5MC4uY2Vl
YzRkYzNmZWM1MGE3YzFhZDcyNDYyMjI3YjE1ZmI0MjM2ZjU4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuY3BwCkBAIC0zMDIsMTUgKzMwMiw5IEBA
IHZvaWQgTlBPYmplY3RQcm94eTo6TlBfRGVhbGxvY2F0ZShOUE9iamVjdCogbnBPYmplY3QpCiAg
ICAgLy8gU2luY2UgTlBBUEkgYmVoYXZpb3Igb24gYSBiYWNrZ3JvdW5kIHRocmVhZCBpcyB1bmRl
ZmluZWQsIGl0IGlzIG9rYXkgdG8gbGltaXQgdGhpcyB3b3JrYXJvdW5kIHRvIHRoZSBvbmUgQVBJ
CiAgICAgLy8gdGhhdCBpcyBrbm93biB0byBiZSBtaXN1c2VkIGR1cmluZyBwbHVnaW4gdGVhcmRv
d24sIGFuZCB0byBub3QgYmUgY29uY2VybmVkIGFib3V0IGNoYW5nZSBpbiBiZWhhdmlvciBpZiB0
aGlzCiAgICAgLy8gb2NjdXJlZCBhdCBhbnkgb3RoZXIgdGltZS4KLSAgICBpZiAoIVJ1bkxvb3A6
OmlzTWFpbigpKSB7Ci0gICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbbnBPYmplY3Rd
IHsKLSAgICAgICAgICAgIE5QX0RlYWxsb2NhdGUobnBPYmplY3QpOwotICAgICAgICB9KTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKLSAgICBOUE9iamVjdFByb3h5KiBucE9iamVjdFBy
b3h5ID0gdG9OUE9iamVjdFByb3h5KG5wT2JqZWN0KTsKLSAgICBkZWxldGUgbnBPYmplY3RQcm94
eTsKKyAgICBlbnN1cmVPbk1haW5SdW5Mb29wKFtucE9iamVjdF0geworICAgICAgICBkZWxldGUg
dG9OUE9iamVjdFByb3h5KG5wT2JqZWN0KTsKKyAgICB9KTsKIH0KIAogYm9vbCBOUE9iamVjdFBy
b3h5OjpOUF9IYXNNZXRob2QoTlBPYmplY3QqIG5wT2JqZWN0LCBOUElkZW50aWZpZXIgbWV0aG9k
TmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJl
YWRlci9NZWRpYUZvcm1hdFJlYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVk
aWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuY3BwCmluZGV4IGI4OGY4ODM5MzAyYTlh
MDJiMzY2OGYxODNlNzdjYzhlZTVkNDRiN2QuLmQ5NDAwMGJhMzVlODMyNTY4ZjlhMTk5YzNjODkw
MWRhYWI2MDZmYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZv
cm1hdFJlYWRlci9NZWRpYUZvcm1hdFJlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcApAQCAtODIsMTIg
KzgyLDcgQEAgTWVkaWFGb3JtYXRSZWFkZXI6Ok1lZGlhRm9ybWF0UmVhZGVyKEFsbG9jYXRvciYm
IGFsbG9jYXRvcikKIAogdm9pZCBNZWRpYUZvcm1hdFJlYWRlcjo6c3RhcnRPbk1haW5UaHJlYWQo
TVRQbHVnaW5CeXRlU291cmNlUmVmIGJ5dGVTb3VyY2UpCiB7Ci0gICAgaWYgKGlzTWFpblJ1bkxv
b3AoKSkgewotICAgICAgICBwYXJzZUJ5dGVTb3VyY2UoV1RGTW92ZShieXRlU291cmNlKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBjYWxsT25NYWluUnVuTG9vcChbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBieXRlU291cmNlID0gcmV0YWluUHRyKGJ5dGVT
b3VyY2UpXSgpIG11dGFibGUgeworICAgIGVuc3VyZU9uTWFpblJ1bkxvb3AoW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgYnl0ZVNvdXJjZSA9IHJldGFpblB0cihieXRlU291
cmNlKV0oKSBtdXRhYmxlIHsKICAgICAgICAgcGFyc2VCeXRlU291cmNlKFdURk1vdmUoYnl0ZVNv
dXJjZSkpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRG93bmxvYWQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tEb3dubG9hZC5tbQppbmRleCBmMmU0YTljOTFlOTVkOTA1MWE5OGY2MjA2NGRmYzdiYjlm
YWMwOWQyLi4yMzIwMjEwNWRkZDExNzk2ZjIyNjM1YmI1M2E5ZWZkMzllZmFlODVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tEb3dubG9hZC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tEb3dubG9hZC5tbQpAQCAtMjI3
LDEzICsyMjcsOSBAQCAtIChOU1Byb2dyZXNzICopcHJvZ3Jlc3MKIAogICAgICAgICBkb3dubG9h
ZFByb2dyZXNzLmNhbmNlbGxhYmxlID0gWUVTOwogICAgICAgICBkb3dubG9hZFByb2dyZXNzLmNh
bmNlbGxhdGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoW3dlYWtTZWxmID0gV2Vha09iakNQdHI8
V0tEb3dubG9hZD4geyBzZWxmIH1dICgpIG11dGFibGUgewotICAgICAgICAgICAgaWYgKCFSdW5M
b29wOjppc01haW4oKSkgewotICAgICAgICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRj
aChbd2Vha1NlbGYgPSBXVEZNb3ZlKHdlYWtTZWxmKV0gewotICAgICAgICAgICAgICAgICAgICBb
d2Vha1NlbGYgY2FuY2VsOm5pbF07Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgW3dlYWtTZWxmIGNhbmNlbDpu
aWxdOworICAgICAgICAgICAgZW5zdXJlT25NYWluUnVuTG9vcChbd2Vha1NlbGYgPSBXVEZNb3Zl
KHdlYWtTZWxmKV0geworICAgICAgICAgICAgICAgIFt3ZWFrU2VsZiBjYW5jZWw6bmlsXTsKKyAg
ICAgICAgICAgIH0pOwogICAgICAgICB9KS5nZXQoKTsKIAogICAgICAgICBfZG93bmxvYWQtPnNl
dFByb2dyZXNzKGRvd25sb2FkUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRhc2subW0KaW5kZXggNDg3NDNlMWZjNGVkOWMz
ZmE4ZTgyYTk3MWI0NGE0OTQ5Zjk4NjI2My4uOWNhZThhYzE2MjJkNzI0NmQwNDEyODBjMDM1YzNm
M2Q5MmNiZGIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVVJMU2NoZW1lVGFzay5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVUkxTY2hlbWVUYXNrLm1tCkBAIC0zOCw5ICszOCw2IEBACiAKIHN0YXRpYyBXZWJLaXQ6
OldlYlVSTFNjaGVtZVRhc2s6OkV4Y2VwdGlvblR5cGUgZ2V0RXhjZXB0aW9uVHlwZUZyb21NYWlu
UnVuTG9vcChGdW5jdGlvbjxXZWJLaXQ6OldlYlVSTFNjaGVtZVRhc2s6OkV4Y2VwdGlvblR5cGUg
KCk+JiYgZnVuY3Rpb24pCiB7Ci0gICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQotICAgICAgICBy
ZXR1cm4gZnVuY3Rpb24oKTsKLQogICAgIFdlYktpdDo6V2ViVVJMU2NoZW1lVGFzazo6RXhjZXB0
aW9uVHlwZSBleGNlcHRpb25UeXBlOwogICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChbZnVu
Y3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKSwgJmV4Y2VwdGlvblR5cGVdIHsKICAgICAgICAgZXhj
ZXB0aW9uVHlwZSA9IGZ1bmN0aW9uKCk7CkBAIC04MCwxMCArNzcsNyBAQCAtICh2b2lkKWRlYWxs
b2MKICAgICAgICAgdGFzay0+QVBJOjpVUkxTY2hlbWVUYXNrOjp+VVJMU2NoZW1lVGFzaygpOwog
ICAgIH07CiAKLSAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCi0gICAgICAgIGZ1bmMoKTsKLSAg
ICBlbHNlCi0gICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFdURk1vdmUoZnVuYykpOworICAgIGVu
c3VyZU9uTWFpblJ1bkxvb3AoV1RGTW92ZShmdW5jKSk7CiAKICAgICBbc3VwZXIgZGVhbGxvY107
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUltYWdlRGVjb2RlckFWRi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUltYWdlRGVjb2RlckFWRi5jcHAKaW5kZXggN2RkYzA0ZjcxNGQ1OThjNGY2YTBhZjM3
NThiNTlmYjMxNjdhZmVhNS4uYmFjMDM3YThmYWExYjJmYzUyZWM3MjFlMTBhMWYzNjA2YzkwYWM0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJ
bWFnZURlY29kZXJBVkYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlSW1hZ2VEZWNvZGVyQVZGLmNwcApAQCAtMTgzLDEwICsxODMsNyBAQCBQbGF0Zm9y
bUltYWdlUHRyIFJlbW90ZUltYWdlRGVjb2RlckFWRjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgo
c2l6ZV90IGluZGV4LCBTdQogICAgICAgICAgICAgbV9mcmFtZUltYWdlcy5hZGQoaW5kZXgsIGlt
YWdlKTsKICAgICB9OwogCi0gICAgaWYgKGlzTWFpblJ1bkxvb3AoKSkKLSAgICAgICAgY3JlYXRl
RnJhbWVJbWFnZSgpOwotICAgIGVsc2UKLSAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3BBbmRXYWl0
KFdURk1vdmUoY3JlYXRlRnJhbWVJbWFnZSkpOworICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2Fp
dChXVEZNb3ZlKGNyZWF0ZUZyYW1lSW1hZ2UpKTsKIAogICAgIGlmIChtX2ZyYW1lSW1hZ2VzLmNv
bnRhaW5zKGluZGV4KSkKICAgICAgICAgcmV0dXJuIG1fZnJhbWVJbWFnZXMuZ2V0KGluZGV4KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VX
b3JrZXJGZXRjaFRhc2tDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKaW5kZXggMjZmYzZjNTgxNzA0
N2Q4MmVkYjI5OTZiNTA4NGI5YzkwZDI2NDJmNC4uMWNiYzgwNjFmNDQyZTQ4ZjFkNWE0NmM2MjJh
NWU4ZDcwNzE3MDM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAK
QEAgLTIyMiwxNCArMjIyLDEwIEBAIHZvaWQgV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVu
dDo6Y2xlYW51cCgpCiB7CiAgICAgbV9jb25uZWN0aW9uID0gbnVsbHB0cjsKIAotICAgIGlmICgh
aXNNYWluUnVuTG9vcCgpKSB7Ci0gICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFtwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyldICgpIHsKLSAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPmNs
ZWFudXAoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKGF1
dG8qIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eSA9IFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRv
bigpLnNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eShtX3NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSkK
LSAgICAgICAgc2VydmljZVdvcmtlclRocmVhZFByb3h5LT5yZW1vdmVGZXRjaChtX3NlcnZlckNv
bm5lY3Rpb25JZGVudGlmaWVyLCBtX2ZldGNoSWRlbnRpZmllcik7CisgICAgZW5zdXJlT25NYWlu
UnVuTG9vcChbc2VydmljZVdvcmtlcklkZW50aWZpZXIgPSBtX3NlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciA9IG1fc2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIsIGZldGNoSWRlbnRpZmllciA9IG1fZmV0Y2hJZGVudGlmaWVyXSB7CisgICAgICAgIGlm
IChhdXRvKiBwcm94eSA9IFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3Jr
ZXJUaHJlYWRQcm94eShzZXJ2aWNlV29ya2VySWRlbnRpZmllcikpCisgICAgICAgICAgICBwcm94
eS0+cmVtb3ZlRmV0Y2goc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGZldGNoSWRlbnRpZmll
cik7CisgICAgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VP
YmplY3RCYXNlLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNj
ZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCmluZGV4IDg3MWE3MzQwMzgzNTkwMDNkOTE5
ZDBiMDgzMzFhODEwMTEyZGE0ZWUuLjcxZGIxNDgyMzZkODAyYTJmZGIyMzUxOWJhNzI0NTRhMWNk
OTdlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
S0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0K
QEAgLTY5LDE4ICs2OSwxMCBAQCAtIChpZClhY2Nlc3NpYmlsaXR5UGx1Z2luT2JqZWN0CiAgICAg
QVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7CiAgICAgYXV0byByZXRyaWV2ZUJsb2NrID0gWyZzZWxm
XSgpIC0+IGlkIHsKICAgICAgICAgaWQgYXhQbHVnaW4gPSBuaWw7Ci0gICAgICAgIGF1dG8gZGlz
cGF0Y2hCbG9jayA9IFsmYXhQbHVnaW4sICZzZWxmXSB7CisgICAgICAgIGNhbGxPbk1haW5SdW5M
b29wQW5kV2FpdChbJmF4UGx1Z2luLCAmc2VsZl0gewogICAgICAgICAgICAgaWYgKHNlbGYtPm1f
cGFnZSkKICAgICAgICAgICAgICAgICBheFBsdWdpbiA9IHNlbGYtPm1fcGFnZS0+YWNjZXNzaWJp
bGl0eU9iamVjdEZvck1haW5GcmFtZVBsdWdpbigpOwotICAgICAgICB9OwotCi0gICAgICAgIGlm
IChpc01haW5SdW5Mb29wKCkpCi0gICAgICAgICAgICBkaXNwYXRjaEJsb2NrKCk7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3BBbmRXYWl0KFsmZGlzcGF0Y2hC
bG9ja10gewotICAgICAgICAgICAgICAgIGRpc3BhdGNoQmxvY2soKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm4gYXhQbHVnaW47CiAgICAg
fTsKICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>