<?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>208256</bug_id>
          
          <creation_ts>2020-02-26 13:13:49 -0800</creation_ts>
          <short_desc>[WinCairo] Fix RemoteInspector reconnect issue</short_desc>
          <delta_ts>2020-02-27 16:11:44 -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>Platform</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="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>basuke</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1623132</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 13:13:49 -0800</bug_when>
    <thetext>There are some cases we cannot reconnect to RemoteInspector Server once ungraceful disconnect happens before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623145</commentid>
    <comment_count>1</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 13:35:12 -0800</bug_when>
    <thetext>How to reproduce:
1. Open target&apos;s MiniBrowser and display something. (e.g. https://playstation.com/)
2. Open inspector&apos;s MiniBrowser and connect to target. A chooser window is opened.
3. Click [inspect]. A inspector window is opened.
4. Close chooser windows (2).

Expected result:
Can connect to the target again.

Actual result:
Cannot connect to the target until the target is restarted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623157</commentid>
    <comment_count>2</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 13:43:14 -0800</bug_when>
    <thetext>When socket is closed while RemoteInspector itself is still connecting status, the following dead lock happens:

- RemoteInspector::didClose() is called.
- It locks m_mutex.
- It calls stopInternal() and it invokes target close()
- RemoteInspector is informed to updateTarget
- RemoteInspector::updateTarget tries to lock m_mutex again and stall.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623165</commentid>
    <comment_count>3</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 13:56:11 -0800</bug_when>
    <thetext>Following Cocoa port implementation, it is better to target close on async timing, maybe using RunLoop.

https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm#L202-L221</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623177</commentid>
    <comment_count>4</comment_count>
      <attachid>391780</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 14:21:38 -0800</bug_when>
    <thetext>Created attachment 391780
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623195</commentid>
    <comment_count>5</comment_count>
      <attachid>391780</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-02-26 14:50:05 -0800</bug_when>
    <thetext>Comment on attachment 391780
PATCH

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

&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:90
&gt; +    RunLoop::current().dispatch([this, protectThis = makeRef(*this), targetIdentifier = m_target-&gt;targetIdentifier()] {

I believe that it&apos;s possible that `m_target` is `nullptr`.

&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:98
&gt; +            RemoteInspector::singleton().updateTargetListing(targetIdentifier);

I&apos;m not sure that we want to wait to do this.  On macOS, this is used to control whether targets are able to be inspected/driven, so we ideally would want that info to be as &quot;live&quot; as possible (it also involves XPC messaging, so ideally the sooner the better).

Perhaps we can split this into platform variants, so that only the platforms that can deadlock do it via the `RunLoop`?

I&apos;m not sure this is that big of a deal though, but I&apos;d ask @JoePeck and @brrian too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623203</commentid>
    <comment_count>6</comment_count>
      <attachid>391780</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 15:02:56 -0800</bug_when>
    <thetext>Comment on attachment 391780
PATCH

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

&gt;&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:90
&gt;&gt; +    RunLoop::current().dispatch([this, protectThis = makeRef(*this), targetIdentifier = m_target-&gt;targetIdentifier()] {
&gt; 
&gt; I believe that it&apos;s possible that `m_target` is `nullptr`.

That&apos;s right. Original code checked and I missed that.

&gt;&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:98
&gt;&gt; +            RemoteInspector::singleton().updateTargetListing(targetIdentifier);
&gt; 
&gt; I&apos;m not sure that we want to wait to do this.  On macOS, this is used to control whether targets are able to be inspected/driven, so we ideally would want that info to be as &quot;live&quot; as possible (it also involves XPC messaging, so ideally the sooner the better).
&gt; 
&gt; Perhaps we can split this into platform variants, so that only the platforms that can deadlock do it via the `RunLoop`?
&gt; 
&gt; I&apos;m not sure this is that big of a deal though, but I&apos;d ask @JoePeck and @brrian too :)

But it seems macOS also call this async. https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm#L216

I agree with the importance of keeping the status as live as possible, but I think that should be treated in separate bug.

I also see locking m_targetMutex isn&apos;t required while updateTargetListing in many functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623204</commentid>
    <comment_count>7</comment_count>
      <attachid>391785</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 15:07:31 -0800</bug_when>
    <thetext>Created attachment 391785
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623248</commentid>
    <comment_count>8</comment_count>
      <attachid>391780</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-02-26 16:04:41 -0800</bug_when>
    <thetext>Comment on attachment 391780
PATCH

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

&gt;&gt;&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:98
&gt;&gt;&gt; +            RemoteInspector::singleton().updateTargetListing(targetIdentifier);
&gt;&gt; 
&gt;&gt; I&apos;m not sure that we want to wait to do this.  On macOS, this is used to control whether targets are able to be inspected/driven, so we ideally would want that info to be as &quot;live&quot; as possible (it also involves XPC messaging, so ideally the sooner the better).
&gt;&gt; 
&gt;&gt; Perhaps we can split this into platform variants, so that only the platforms that can deadlock do it via the `RunLoop`?
&gt;&gt; 
&gt;&gt; I&apos;m not sure this is that big of a deal though, but I&apos;d ask @JoePeck and @brrian too :)
&gt; 
&gt; But it seems macOS also call this async. https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm#L216
&gt; 
&gt; I agree with the importance of keeping the status as live as possible, but I think that should be treated in separate bug.
&gt; 
&gt; I also see locking m_targetMutex isn&apos;t required while updateTargetListing in many functions.

I totally forgot that this had a Cocoa specific variant 🤦‍♂️ My apologies.

Where do you see `RemoteInspector::singleton().updateTargetListing` being called without `m_targetMutex` (or at least some form of locking)?  I think it should have locking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623252</commentid>
    <comment_count>9</comment_count>
      <attachid>391780</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-26 16:12:25 -0800</bug_when>
    <thetext>Comment on attachment 391780
PATCH

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

&gt;&gt;&gt;&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:98
&gt;&gt;&gt;&gt; +            RemoteInspector::singleton().updateTargetListing(targetIdentifier);
&gt;&gt;&gt; 
&gt;&gt;&gt; I&apos;m not sure that we want to wait to do this.  On macOS, this is used to control whether targets are able to be inspected/driven, so we ideally would want that info to be as &quot;live&quot; as possible (it also involves XPC messaging, so ideally the sooner the better).
&gt;&gt;&gt; 
&gt;&gt;&gt; Perhaps we can split this into platform variants, so that only the platforms that can deadlock do it via the `RunLoop`?
&gt;&gt;&gt; 
&gt;&gt;&gt; I&apos;m not sure this is that big of a deal though, but I&apos;d ask @JoePeck and @brrian too :)
&gt;&gt; 
&gt;&gt; But it seems macOS also call this async. https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm#L216
&gt;&gt; 
&gt;&gt; I agree with the importance of keeping the status as live as possible, but I think that should be treated in separate bug.
&gt;&gt; 
&gt;&gt; I also see locking m_targetMutex isn&apos;t required while updateTargetListing in many functions.
&gt; 
&gt; I totally forgot that this had a Cocoa specific variant 🤦‍♂️ My apologies.
&gt; 
&gt; Where do you see `RemoteInspector::singleton().updateTargetListing` being called without `m_targetMutex` (or at least some form of locking)?  I think it should have locking.

I mean in the context of m_targetMutex. It shouldn&apos;t be protected by RemoteConnectionToTarget::m_targetMutex because it can be called from other places not related to RemoteConnectionTarget. It should has its own mutext and protected inside the method, maybe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623635</commentid>
    <comment_count>10</comment_count>
      <attachid>391785</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-02-27 13:35:29 -0800</bug_when>
    <thetext>Comment on attachment 391785
PATCH

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

r=me

&gt; Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.cpp:92
&gt; +        if (m_target) {

Style: this could be an early return instead, so everything is indented one level less

&gt; Source/WTF/wtf/RunLoop.h:235
&gt; +    WTF::Function&lt;void()&gt; m_wakeUpCallback;

I think you can drop the `WTF::`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623650</commentid>
    <comment_count>11</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-27 13:56:45 -0800</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623704</commentid>
    <comment_count>12</comment_count>
      <attachid>391927</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-02-27 15:22:16 -0800</bug_when>
    <thetext>Created attachment 391927
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623744</commentid>
    <comment_count>13</comment_count>
      <attachid>391927</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-27 16:06:16 -0800</bug_when>
    <thetext>Comment on attachment 391927
PATCH

Clearing flags on attachment: 391927

Committed r257598: &lt;https://trac.webkit.org/changeset/257598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623745</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-27 16:06:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623748</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-27 16:11:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/59867387&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391780</attachid>
            <date>2020-02-26 14:21:38 -0800</date>
            <delta_ts>2020-02-26 15:07:31 -0800</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-208256.diff</filename>
            <type>text/plain</type>
            <size>6944</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3Li4wYWRjYmM1YTNjYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDItMjYgIEJhc3Vr
ZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb10g
Rml4IFJlbW90ZUluc3BlY3RvciByZWNvbm5lY3QgaXNzdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGwgdGFyZ2V0J3MgZGlzY29ubmVjdGlvbiBz
ZXF1ZW5jZSBhc3luY2hyb25vdXNseSB0byBhdm9pZCBkZWFkbG9jay4KKworICAgICAgICAqIGlu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmNwcDoKKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpjbG9zZSk6CisgICAgICAgICogaW5z
cGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludDo6d29ya2Vy
VGhyZWFkKToKKwogMjAyMC0wMi0yNiAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CiAKICAgICAgICAgW0pTQ11bTUlQU10gQWRkaW5nIHN1cHBvcnQgdG8gQ2hlY2twb2ludHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUNv
bm5lY3Rpb25Ub1RhcmdldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQuY3BwCmluZGV4IDIzMzViMjllY2VhLi4xZjM3
M2RhNGVjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQuY3BwCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiUmVtb3RlQXV0b21hdGlvblRhcmdldC5oIgogI2luY2x1ZGUg
IlJlbW90ZUluc3BlY3Rpb25UYXJnZXQuaCIKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIApAQCAt
ODYsMTggKzg3LDE3IEBAIHZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZW5kTWVzc2Fn
ZVRvVGFyZ2V0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIAogdm9pZCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OmNsb3NlKCkKIHsKLSAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7
Ci0gICAgaWYgKCFtX3RhcmdldCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byB0YXJnZXRJ
ZGVudGlmaWVyID0gbV90YXJnZXQtPnRhcmdldElkZW50aWZpZXIoKTsKLQotICAgIGlmIChtX2Nv
bm5lY3RlZCkKLSAgICAgICAgbV90YXJnZXQtPmRpc2Nvbm5lY3QoKnRoaXMpOworICAgIFJ1bkxv
b3A6OmN1cnJlbnQoKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdFRoaXMgPSBtYWtlUmVmKCp0aGlz
KSwgdGFyZ2V0SWRlbnRpZmllciA9IG1fdGFyZ2V0LT50YXJnZXRJZGVudGlmaWVyKCldIHsKKyAg
ICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGFyZ2V0TXV0ZXgpOworICAgICAgICBpZiAobV90YXJn
ZXQpIHsKKyAgICAgICAgICAgIGlmIChtX2Nvbm5lY3RlZCkKKyAgICAgICAgICAgICAgICBtX3Rh
cmdldC0+ZGlzY29ubmVjdCgqdGhpcyk7CiAKLSAgICBtX3RhcmdldCA9IG51bGxwdHI7CisgICAg
ICAgICAgICBtX3RhcmdldCA9IG51bGxwdHI7CiAKLSAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmds
ZXRvbigpLnVwZGF0ZVRhcmdldExpc3RpbmcodGFyZ2V0SWRlbnRpZmllcik7CisgICAgICAgICAg
ICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRhcmdldExpc3RpbmcodGFyZ2V0
SWRlbnRpZmllcik7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAogdm9pZCBSZW1vdGVDb25uZWN0
aW9uVG9UYXJnZXQ6OnRhcmdldENsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9p
bnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1Jl
bW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcAppbmRleCBiZmMwZTM2MzNmMC4uMzlkYTEy
ZWZiNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tl
dEVuZHBvaW50LmNwcApAQCAtMTAyLDYgKzEwMiwxMiBAQCB2b2lkIFJlbW90ZUluc3BlY3RvclNv
Y2tldEVuZHBvaW50Ojp3b3JrZXJUaHJlYWQoKQogewogICAgIFBvbGxpbmdEZXNjcmlwdG9yIHdh
a2V1cCA9IFNvY2tldDo6cHJlcGFyZVBvbGxpbmcobV93YWtldXBSZWNlaXZlU29ja2V0KTsKIAor
I2lmIFVTRShHRU5FUklDX0VWRU5UX0xPT1ApIHx8IFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApCisg
ICAgUnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2soW3RoaXNdIHsKKyAgICAgICAgd2FrZXVwV29y
a2VyVGhyZWFkKCk7CisgICAgfSk7CisjZW5kaWYKKwogICAgIHdoaWxlICghbV9zaG91bGRBYm9y
dFdvcmtlclRocmVhZCkgewogI2lmIFVTRShHRU5FUklDX0VWRU5UX0xPT1ApIHx8IFVTRShXSU5E
T1dTX0VWRU5UX0xPT1ApCiAgICAgICAgIFJ1bkxvb3A6Oml0ZXJhdGUoKTsKQEAgLTE0Myw2ICsx
NDksMTAgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludDo6d29ya2VyVGhyZWFk
KCkKICAgICAgICAgICAgICAgICBzZW5kSWZFbmFibGVkKGlkKTsKICAgICAgICAgfQogICAgIH0K
KworI2lmIFVTRShHRU5FUklDX0VWRU5UX0xPT1ApIHx8IFVTRShXSU5ET1dTX0VWRU5UX0xPT1Ap
CisgICAgUnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2soV1RGOjpGdW5jdGlvbjx2b2lkKCk+KCkp
OworI2VuZGlmCiB9CiAKIENvbm5lY3Rpb25JRCBSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2lu
dDo6Z2VuZXJhdGVDb25uZWN0aW9uSUQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA2ZTFkOGVjYWEzYi4uOTIxY2FmMDlkOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDItMjYgIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uu
c3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb10gRml4IFJlbW90ZUluc3BlY3Rv
ciByZWNvbm5lY3QgaXNzdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwODI1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIHdha2V1cENhbGxiYWNrIHRvIFJ1bkxvb3AuIEluIGNhc2Ugb2YgUnVu
TG9vazo6aXRlcmF0ZSwgd2UgbmVlZCB0byB3YWtlIHVwIHdvcmtlciB0aHJlYWQKKyAgICAgICAg
d2hlbiBSdW5Mb29wIGlzIHdha2luZyB1cC4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6Cisg
ICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpS
dW5Mb29wOjpzZXRXYWtlVXBDYWxsYmFjayk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6Ondha2VV
cCk6CisgICAgICAgICogd3RmL3dpbi9SdW5Mb29wV2luLmNwcDoKKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2spOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjp3YWtlVXAp
OgorCiAyMDIwLTAyLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBzYWZhcmkgYXBwIGV4dGVuc2lvbiBpc29sYXRlZCB3b3JsZHMg
YW5kIGluamVjdGVkIGZpbGVzIHVzZSB0aGUgZXh0ZW5zaW9uJ3MgaWRlbnRpZmllciBpbnN0ZWFk
IG9mIGl0cyBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggYTM5NWIzNmU5NTYuLmNkNTZiMDJmM2U5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dURi93dGYvUnVu
TG9vcC5oCkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYzoKICNpZiBVU0UoR0VORVJJQ19FVkVOVF9M
T09QKSB8fCBVU0UoV0lORE9XU19FVkVOVF9MT09QKQogICAgIC8vIFJ1biB0aGUgc2luZ2xlIGl0
ZXJhdGlvbiBvZiB0aGUgUnVuTG9vcC4gSXQgY29uc3VtZXMgdGhlIHBlbmRpbmcgdGFza3MgYW5k
IGV4cGlyZWQgdGltZXJzLCBidXQgaXQgd29uJ3QgYmUgYmxvY2tlZC4KICAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIHZvaWQgaXRlcmF0ZSgpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCBzZXRXYWtlVXBDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik7CiAj
ZW5kaWYKIAogI2lmIFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApCkBAIC0yMjksNiArMjMwLDEwIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3NodXRkb3duIHsgZmFsc2UgfTsKICAgICBib29sIG1fcGVu
ZGluZ1Rhc2tzIHsgZmFsc2UgfTsKICNlbmRpZgorCisjaWYgVVNFKEdFTkVSSUNfRVZFTlRfTE9P
UCkgfHwgVVNFKFdJTkRPV1NfRVZFTlRfTE9PUCkKKyAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4g
bV93YWtlVXBDYWxsYmFjazsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcCBiL1NvdXJj
ZS9XVEYvd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwCmluZGV4IDNhZjI4MzNiYTIwLi43
ODY2M2I5NWUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2Vu
ZXJpYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAK
QEAgLTE4OSw2ICsxODksMTEgQEAgdm9pZCBSdW5Mb29wOjppdGVyYXRlKCkKICAgICBSdW5Mb29w
OjpjdXJyZW50KCkucnVuSW1wbChSdW5Nb2RlOjpJdGVyYXRlKTsKIH0KIAordm9pZCBSdW5Mb29w
OjpzZXRXYWtlVXBDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKK3sK
KyAgICBSdW5Mb29wOjpjdXJyZW50KCkubV93YWtlVXBDYWxsYmFjayA9IFdURk1vdmUoZnVuY3Rp
b24pOworfQorCiAvLyBSdW5Mb29wIG9wZXJhdGlvbnMgYXJlIHRocmVhZC1zYWZlLiBUaGVzZSBv
cGVyYXRpb25zIGNhbiBiZSBjYWxsZWQgZnJvbSBvdXRzaWRlIG9mIHRoZSBSdW5Mb29wJ3MgdGhy
ZWFkLgogLy8gRm9yIGV4YW1wbGUsIFdvcmtRdWV1ZTo6e2Rpc3BhdGNoLCBkaXNwYXRjaEFmdGVy
fSBjYWxsIHRoZSBvcGVyYXRpb25zIG9mIHRoZSBXb3JrUXVldWUgdGhyZWFkJ3MgUnVuTG9vcAog
Ly8gZnJvbSB0aGUgY2FsbGVyJ3MgdGhyZWFkLgpAQCAtMjEwLDYgKzIxNSw5IEBAIHZvaWQgUnVu
TG9vcDo6d2FrZVVwKGNvbnN0IEFic3RyYWN0TG9ja2VyJikKIHsKICAgICBtX3BlbmRpbmdUYXNr
cyA9IHRydWU7CiAgICAgbV9yZWFkeVRvUnVuLm5vdGlmeU9uZSgpOworCisgICAgaWYgKG1fd2Fr
ZVVwQ2FsbGJhY2spCisgICAgICAgIG1fd2FrZVVwQ2FsbGJhY2soKTsKIH0KIAogdm9pZCBSdW5M
b29wOjp3YWtlVXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4u
Y3BwIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCmluZGV4IGVmYTgzYWE0OTBj
Li5kMjNjNzYxZGUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcApAQCAtODMsNiArODMs
MTEgQEAgdm9pZCBSdW5Mb29wOjppdGVyYXRlKCkKICAgICB9CiB9CiAKK3ZvaWQgUnVuTG9vcDo6
c2V0V2FrZVVwQ2FsbGJhY2soV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCit7Cisg
ICAgUnVuTG9vcDo6Y3VycmVudCgpLm1fd2FrZVVwQ2FsbGJhY2sgPSBXVEZNb3ZlKGZ1bmN0aW9u
KTsKK30KKwogdm9pZCBSdW5Mb29wOjpzdG9wKCkKIHsKICAgICAvLyBSdW5Mb29wOjpzdG9wKCkg
Y2FuIGJlIGNhbGxlZCBmcm9tIHRocmVhZHMgdW5yZWxhdGVkIHRvIHRoaXMgUnVuTG9vcC4KQEAg
LTExOCw2ICsxMjMsOSBAQCB2b2lkIFJ1bkxvb3A6Ondha2VVcCgpCiAgICAgLy8gRklYTUU6IE5v
IG5lZWQgdG8gd2FrZSB1cCB0aGUgcnVuIGxvb3AgaWYgd2UndmUgYWxyZWFkeSBjYWxsZWQgZGlz
cGF0Y2gKICAgICAvLyBiZWZvcmUgdGhlIHJ1biBsb29wIGhhcyBoYWQgdGhlIHRpbWUgdG8gcmVz
cG9uZC4KICAgICA6OlBvc3RNZXNzYWdlKG1fcnVuTG9vcE1lc3NhZ2VXaW5kb3csIFBlcmZvcm1X
b3JrTWVzc2FnZSwgcmVpbnRlcnByZXRfY2FzdDxXUEFSQU0+KHRoaXMpLCAwKTsKKworICAgIGlm
IChtX3dha2VVcENhbGxiYWNrKQorICAgICAgICBtX3dha2VVcENhbGxiYWNrKCk7CiB9CiAKIFJ1
bkxvb3A6OkN5Y2xlUmVzdWx0IFJ1bkxvb3A6OmN5Y2xlKFJ1bkxvb3BNb2RlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391785</attachid>
            <date>2020-02-26 15:07:31 -0800</date>
            <delta_ts>2020-02-27 15:22:16 -0800</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-208256.diff</filename>
            <type>text/plain</type>
            <size>6962</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3Li4wYWRjYmM1YTNjYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDItMjYgIEJhc3Vr
ZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb10g
Rml4IFJlbW90ZUluc3BlY3RvciByZWNvbm5lY3QgaXNzdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGwgdGFyZ2V0J3MgZGlzY29ubmVjdGlvbiBz
ZXF1ZW5jZSBhc3luY2hyb25vdXNseSB0byBhdm9pZCBkZWFkbG9jay4KKworICAgICAgICAqIGlu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmNwcDoKKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpjbG9zZSk6CisgICAgICAgICogaW5z
cGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludDo6d29ya2Vy
VGhyZWFkKToKKwogMjAyMC0wMi0yNiAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CiAKICAgICAgICAgW0pTQ11bTUlQU10gQWRkaW5nIHN1cHBvcnQgdG8gQ2hlY2twb2ludHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUNv
bm5lY3Rpb25Ub1RhcmdldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQuY3BwCmluZGV4IDIzMzViMjllY2VhLi5mMWY2
MmJmZjA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQuY3BwCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiUmVtb3RlQXV0b21hdGlvblRhcmdldC5oIgogI2luY2x1ZGUg
IlJlbW90ZUluc3BlY3Rpb25UYXJnZXQuaCIKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIApAQCAt
ODYsMTggKzg3LDE5IEBAIHZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZW5kTWVzc2Fn
ZVRvVGFyZ2V0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIAogdm9pZCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OmNsb3NlKCkKIHsKLSAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7
Ci0gICAgaWYgKCFtX3RhcmdldCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byB0YXJnZXRJ
ZGVudGlmaWVyID0gbV90YXJnZXQtPnRhcmdldElkZW50aWZpZXIoKTsKKyAgICBSdW5Mb29wOjpj
dXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RUaGlzID0gbWFrZVJlZigqdGhpcyldIHsK
KyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGFyZ2V0TXV0ZXgpOworICAgICAgICBpZiAobV90
YXJnZXQpIHsKKyAgICAgICAgICAgIGF1dG8gdGFyZ2V0SWRlbnRpZmllciA9IG1fdGFyZ2V0LT50
YXJnZXRJZGVudGlmaWVyKCk7CiAKLSAgICBpZiAobV9jb25uZWN0ZWQpCi0gICAgICAgIG1fdGFy
Z2V0LT5kaXNjb25uZWN0KCp0aGlzKTsKKyAgICAgICAgICAgIGlmIChtX2Nvbm5lY3RlZCkKKyAg
ICAgICAgICAgICAgICBtX3RhcmdldC0+ZGlzY29ubmVjdCgqdGhpcyk7CiAKLSAgICBtX3Rhcmdl
dCA9IG51bGxwdHI7CisgICAgICAgICAgICBtX3RhcmdldCA9IG51bGxwdHI7CiAKLSAgICBSZW1v
dGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRhcmdldExpc3RpbmcodGFyZ2V0SWRlbnRp
Zmllcik7CisgICAgICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRh
cmdldExpc3RpbmcodGFyZ2V0SWRlbnRpZmllcik7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAog
dm9pZCBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnRhcmdldENsb3NlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5z
cGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcAppbmRleCBi
ZmMwZTM2MzNmMC4uMzlkYTEyZWZiNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1Jl
bW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcApAQCAtMTAyLDYgKzEwMiwxMiBAQCB2b2lk
IFJlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50Ojp3b3JrZXJUaHJlYWQoKQogewogICAgIFBv
bGxpbmdEZXNjcmlwdG9yIHdha2V1cCA9IFNvY2tldDo6cHJlcGFyZVBvbGxpbmcobV93YWtldXBS
ZWNlaXZlU29ja2V0KTsKIAorI2lmIFVTRShHRU5FUklDX0VWRU5UX0xPT1ApIHx8IFVTRShXSU5E
T1dTX0VWRU5UX0xPT1ApCisgICAgUnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2soW3RoaXNdIHsK
KyAgICAgICAgd2FrZXVwV29ya2VyVGhyZWFkKCk7CisgICAgfSk7CisjZW5kaWYKKwogICAgIHdo
aWxlICghbV9zaG91bGRBYm9ydFdvcmtlclRocmVhZCkgewogI2lmIFVTRShHRU5FUklDX0VWRU5U
X0xPT1ApIHx8IFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApCiAgICAgICAgIFJ1bkxvb3A6Oml0ZXJh
dGUoKTsKQEAgLTE0Myw2ICsxNDksMTAgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRw
b2ludDo6d29ya2VyVGhyZWFkKCkKICAgICAgICAgICAgICAgICBzZW5kSWZFbmFibGVkKGlkKTsK
ICAgICAgICAgfQogICAgIH0KKworI2lmIFVTRShHRU5FUklDX0VWRU5UX0xPT1ApIHx8IFVTRShX
SU5ET1dTX0VWRU5UX0xPT1ApCisgICAgUnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2soV1RGOjpG
dW5jdGlvbjx2b2lkKCk+KCkpOworI2VuZGlmCiB9CiAKIENvbm5lY3Rpb25JRCBSZW1vdGVJbnNw
ZWN0b3JTb2NrZXRFbmRwb2ludDo6Z2VuZXJhdGVDb25uZWN0aW9uSUQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA2ZTFkOGVj
YWEzYi4uOTIxY2FmMDlkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDItMjYgIEJhc3Vr
ZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb10g
Rml4IFJlbW90ZUluc3BlY3RvciByZWNvbm5lY3QgaXNzdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHdha2V1cENhbGxiYWNrIHRvIFJ1bkxv
b3AuIEluIGNhc2Ugb2YgUnVuTG9vazo6aXRlcmF0ZSwgd2UgbmVlZCB0byB3YWtlIHVwIHdvcmtl
ciB0aHJlYWQKKyAgICAgICAgd2hlbiBSdW5Mb29wIGlzIHdha2luZyB1cC4KKworICAgICAgICAq
IHd0Zi9SdW5Mb29wLmg6CisgICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3Bw
OgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpzZXRXYWtlVXBDYWxsYmFjayk6CisgICAgICAgIChX
VEY6OlJ1bkxvb3A6Ondha2VVcCk6CisgICAgICAgICogd3RmL3dpbi9SdW5Mb29wV2luLmNwcDoK
KyAgICAgICAgKFdURjo6UnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2spOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjp3YWtlVXApOgorCiAyMDIwLTAyLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzYWZhcmkgYXBwIGV4dGVuc2lv
biBpc29sYXRlZCB3b3JsZHMgYW5kIGluamVjdGVkIGZpbGVzIHVzZSB0aGUgZXh0ZW5zaW9uJ3Mg
aWRlbnRpZmllciBpbnN0ZWFkIG9mIGl0cyBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9SdW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggYTM5NWIzNmU5NTYu
LmNkNTZiMDJmM2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKKysrIGIv
U291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYzoKICNpZiBV
U0UoR0VORVJJQ19FVkVOVF9MT09QKSB8fCBVU0UoV0lORE9XU19FVkVOVF9MT09QKQogICAgIC8v
IFJ1biB0aGUgc2luZ2xlIGl0ZXJhdGlvbiBvZiB0aGUgUnVuTG9vcC4gSXQgY29uc3VtZXMgdGhl
IHBlbmRpbmcgdGFza3MgYW5kIGV4cGlyZWQgdGltZXJzLCBidXQgaXQgd29uJ3QgYmUgYmxvY2tl
ZC4KICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaXRlcmF0ZSgpOworICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBzZXRXYWtlVXBDYWxsYmFjayhXVEY6OkZ1bmN0
aW9uPHZvaWQoKT4mJik7CiAjZW5kaWYKIAogI2lmIFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApCkBA
IC0yMjksNiArMjMwLDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3NodXRkb3duIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fcGVuZGluZ1Rhc2tzIHsgZmFsc2UgfTsKICNlbmRpZgorCisjaWYgVVNF
KEdFTkVSSUNfRVZFTlRfTE9PUCkgfHwgVVNFKFdJTkRPV1NfRVZFTlRfTE9PUCkKKyAgICBXVEY6
OkZ1bmN0aW9uPHZvaWQoKT4gbV93YWtlVXBDYWxsYmFjazsKKyNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwCmlu
ZGV4IDNhZjI4MzNiYTIwLi43ODY2M2I5NWUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Z2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9S
dW5Mb29wR2VuZXJpYy5jcHAKQEAgLTE4OSw2ICsxODksMTEgQEAgdm9pZCBSdW5Mb29wOjppdGVy
YXRlKCkKICAgICBSdW5Mb29wOjpjdXJyZW50KCkucnVuSW1wbChSdW5Nb2RlOjpJdGVyYXRlKTsK
IH0KIAordm9pZCBSdW5Mb29wOjpzZXRXYWtlVXBDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4mJiBmdW5jdGlvbikKK3sKKyAgICBSdW5Mb29wOjpjdXJyZW50KCkubV93YWtlVXBDYWxsYmFj
ayA9IFdURk1vdmUoZnVuY3Rpb24pOworfQorCiAvLyBSdW5Mb29wIG9wZXJhdGlvbnMgYXJlIHRo
cmVhZC1zYWZlLiBUaGVzZSBvcGVyYXRpb25zIGNhbiBiZSBjYWxsZWQgZnJvbSBvdXRzaWRlIG9m
IHRoZSBSdW5Mb29wJ3MgdGhyZWFkLgogLy8gRm9yIGV4YW1wbGUsIFdvcmtRdWV1ZTo6e2Rpc3Bh
dGNoLCBkaXNwYXRjaEFmdGVyfSBjYWxsIHRoZSBvcGVyYXRpb25zIG9mIHRoZSBXb3JrUXVldWUg
dGhyZWFkJ3MgUnVuTG9vcAogLy8gZnJvbSB0aGUgY2FsbGVyJ3MgdGhyZWFkLgpAQCAtMjEwLDYg
KzIxNSw5IEBAIHZvaWQgUnVuTG9vcDo6d2FrZVVwKGNvbnN0IEFic3RyYWN0TG9ja2VyJikKIHsK
ICAgICBtX3BlbmRpbmdUYXNrcyA9IHRydWU7CiAgICAgbV9yZWFkeVRvUnVuLm5vdGlmeU9uZSgp
OworCisgICAgaWYgKG1fd2FrZVVwQ2FsbGJhY2spCisgICAgICAgIG1fd2FrZVVwQ2FsbGJhY2so
KTsKIH0KIAogdm9pZCBSdW5Mb29wOjp3YWtlVXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvd2luL1J1bkxvb3BXaW4uY3BwIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3Bw
CmluZGV4IGVmYTgzYWE0OTBjLi5kMjNjNzYxZGUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvd2luL1J1bkxvb3BXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2lu
LmNwcApAQCAtODMsNiArODMsMTEgQEAgdm9pZCBSdW5Mb29wOjppdGVyYXRlKCkKICAgICB9CiB9
CiAKK3ZvaWQgUnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2soV1RGOjpGdW5jdGlvbjx2b2lkKCk+
JiYgZnVuY3Rpb24pCit7CisgICAgUnVuTG9vcDo6Y3VycmVudCgpLm1fd2FrZVVwQ2FsbGJhY2sg
PSBXVEZNb3ZlKGZ1bmN0aW9uKTsKK30KKwogdm9pZCBSdW5Mb29wOjpzdG9wKCkKIHsKICAgICAv
LyBSdW5Mb29wOjpzdG9wKCkgY2FuIGJlIGNhbGxlZCBmcm9tIHRocmVhZHMgdW5yZWxhdGVkIHRv
IHRoaXMgUnVuTG9vcC4KQEAgLTExOCw2ICsxMjMsOSBAQCB2b2lkIFJ1bkxvb3A6Ondha2VVcCgp
CiAgICAgLy8gRklYTUU6IE5vIG5lZWQgdG8gd2FrZSB1cCB0aGUgcnVuIGxvb3AgaWYgd2UndmUg
YWxyZWFkeSBjYWxsZWQgZGlzcGF0Y2gKICAgICAvLyBiZWZvcmUgdGhlIHJ1biBsb29wIGhhcyBo
YWQgdGhlIHRpbWUgdG8gcmVzcG9uZC4KICAgICA6OlBvc3RNZXNzYWdlKG1fcnVuTG9vcE1lc3Nh
Z2VXaW5kb3csIFBlcmZvcm1Xb3JrTWVzc2FnZSwgcmVpbnRlcnByZXRfY2FzdDxXUEFSQU0+KHRo
aXMpLCAwKTsKKworICAgIGlmIChtX3dha2VVcENhbGxiYWNrKQorICAgICAgICBtX3dha2VVcENh
bGxiYWNrKCk7CiB9CiAKIFJ1bkxvb3A6OkN5Y2xlUmVzdWx0IFJ1bkxvb3A6OmN5Y2xlKFJ1bkxv
b3BNb2RlKQo=
</data>
<flag name="review"
          id="407311"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391927</attachid>
            <date>2020-02-27 15:22:16 -0800</date>
            <delta_ts>2020-02-27 16:06:16 -0800</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-208256.diff</filename>
            <type>text/plain</type>
            <size>6942</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3Li45MmU2MjE4NTk4YiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDItMjYgIEJhc3Vr
ZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb10g
Rml4IFJlbW90ZUluc3BlY3RvciByZWNvbm5lY3QgaXNzdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IERldmluIFJvdXNzby4KKworICAgICAgICBDYWxsIHRhcmdldCdzIGRpc2Nvbm5lY3Rpb24gc2Vx
dWVuY2UgYXN5bmNocm9ub3VzbHkgdG8gYXZvaWQgZGVhZGxvY2suCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvcmVtb3RlL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldC5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQ6OndvcmtlclRo
cmVhZCk6CisKIDIwMjAtMDItMjYgIENhaW8gTGltYSAgPHRpY2Fpb2xpbWFAZ21haWwuY29tPgog
CiAgICAgICAgIFtKU0NdW01JUFNdIEFkZGluZyBzdXBwb3J0IHRvIENoZWNrcG9pbnRzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVDb25u
ZWN0aW9uVG9UYXJnZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmNwcAppbmRleCAyMzM1YjI5ZWNlYS4uODk5OWYz
MDc3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmNwcApAQCAtMzEsNiAr
MzEsNyBAQAogI2luY2x1ZGUgIlJlbW90ZUF1dG9tYXRpb25UYXJnZXQuaCIKICNpbmNsdWRlICJS
ZW1vdGVJbnNwZWN0aW9uVGFyZ2V0LmgiCiAjaW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yLmgiCisj
aW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKQEAgLTg2
LDE4ICs4NywyMCBAQCB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2VuZE1lc3NhZ2VU
b1RhcmdldChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAKIHZvaWQgUmVtb3RlQ29ubmVjdGlvblRv
VGFyZ2V0OjpjbG9zZSgpCiB7Ci0gICAgTG9ja0hvbGRlciBsb2NrKG1fdGFyZ2V0TXV0ZXgpOwot
ICAgIGlmICghbV90YXJnZXQpCi0gICAgICAgIHJldHVybjsKKyAgICBSdW5Mb29wOjpjdXJyZW50
KCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAg
ICAgTG9ja0hvbGRlciBsb2NrKG1fdGFyZ2V0TXV0ZXgpOworICAgICAgICBpZiAoIW1fdGFyZ2V0
KQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byB0YXJnZXRJZGVudGlmaWVyID0gbV90
YXJnZXQtPnRhcmdldElkZW50aWZpZXIoKTsKKyAgICAgICAgYXV0byB0YXJnZXRJZGVudGlmaWVy
ID0gbV90YXJnZXQtPnRhcmdldElkZW50aWZpZXIoKTsKIAotICAgIGlmIChtX2Nvbm5lY3RlZCkK
LSAgICAgICAgbV90YXJnZXQtPmRpc2Nvbm5lY3QoKnRoaXMpOworICAgICAgICBpZiAobV9jb25u
ZWN0ZWQpCisgICAgICAgICAgICBtX3RhcmdldC0+ZGlzY29ubmVjdCgqdGhpcyk7CiAKLSAgICBt
X3RhcmdldCA9IG51bGxwdHI7CisgICAgICAgIG1fdGFyZ2V0ID0gbnVsbHB0cjsKIAotICAgIFJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkudXBkYXRlVGFyZ2V0TGlzdGluZyh0YXJnZXRJZGVu
dGlmaWVyKTsKKyAgICAgICAgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS51cGRhdGVUYXJn
ZXRMaXN0aW5nKHRhcmdldElkZW50aWZpZXIpOworICAgIH0pOwogfQogCiB2b2lkIFJlbW90ZUNv
bm5lY3Rpb25Ub1RhcmdldDo6dGFyZ2V0Q2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRF
bmRwb2ludC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2Nr
ZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwCmluZGV4IGJmYzBlMzYzM2YwLi4z
OWRhMTJlZmI2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9y
U29ja2V0RW5kcG9pbnQuY3BwCkBAIC0xMDIsNiArMTAyLDEyIEBAIHZvaWQgUmVtb3RlSW5zcGVj
dG9yU29ja2V0RW5kcG9pbnQ6OndvcmtlclRocmVhZCgpCiB7CiAgICAgUG9sbGluZ0Rlc2NyaXB0
b3Igd2FrZXVwID0gU29ja2V0OjpwcmVwYXJlUG9sbGluZyhtX3dha2V1cFJlY2VpdmVTb2NrZXQp
OwogCisjaWYgVVNFKEdFTkVSSUNfRVZFTlRfTE9PUCkgfHwgVVNFKFdJTkRPV1NfRVZFTlRfTE9P
UCkKKyAgICBSdW5Mb29wOjpzZXRXYWtlVXBDYWxsYmFjayhbdGhpc10geworICAgICAgICB3YWtl
dXBXb3JrZXJUaHJlYWQoKTsKKyAgICB9KTsKKyNlbmRpZgorCiAgICAgd2hpbGUgKCFtX3Nob3Vs
ZEFib3J0V29ya2VyVGhyZWFkKSB7CiAjaWYgVVNFKEdFTkVSSUNfRVZFTlRfTE9PUCkgfHwgVVNF
KFdJTkRPV1NfRVZFTlRfTE9PUCkKICAgICAgICAgUnVuTG9vcDo6aXRlcmF0ZSgpOwpAQCAtMTQz
LDYgKzE0OSwxMCBAQCB2b2lkIFJlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50Ojp3b3JrZXJU
aHJlYWQoKQogICAgICAgICAgICAgICAgIHNlbmRJZkVuYWJsZWQoaWQpOwogICAgICAgICB9CiAg
ICAgfQorCisjaWYgVVNFKEdFTkVSSUNfRVZFTlRfTE9PUCkgfHwgVVNFKFdJTkRPV1NfRVZFTlRf
TE9PUCkKKyAgICBSdW5Mb29wOjpzZXRXYWtlVXBDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4oKSk7CisjZW5kaWYKIH0KIAogQ29ubmVjdGlvbklEIFJlbW90ZUluc3BlY3RvclNvY2tldEVu
ZHBvaW50OjpnZW5lcmF0ZUNvbm5lY3Rpb25JRCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZlMWQ4ZWNhYTNiLi5lZDY1MzRi
MzY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0wMi0yNiAgQmFzdWtlIFN1enVraSAgPGJh
c3VrZS5zdXp1a2lAc29ueS5jb20+CisKKyAgICAgICAgW1dpbkNhaXJvXSBGaXggUmVtb3RlSW5z
cGVjdG9yIHJlY29ubmVjdCBpc3N1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA4MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3Nv
LgorCisgICAgICAgIEFkZGVkIHdha2V1cENhbGxiYWNrIHRvIFJ1bkxvb3AuIEluIGNhc2Ugb2Yg
UnVuTG9vazo6aXRlcmF0ZSwgd2UgbmVlZCB0byB3YWtlIHVwIHdvcmtlciB0aHJlYWQKKyAgICAg
ICAgd2hlbiBSdW5Mb29wIGlzIHdha2luZyB1cC4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6
CisgICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjpzZXRXYWtlVXBDYWxsYmFjayk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6Ondh
a2VVcCk6CisgICAgICAgICogd3RmL3dpbi9SdW5Mb29wV2luLmNwcDoKKyAgICAgICAgKFdURjo6
UnVuTG9vcDo6c2V0V2FrZVVwQ2FsbGJhY2spOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjp3YWtl
VXApOgorCiAyMDIwLTAyLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBzYWZhcmkgYXBwIGV4dGVuc2lvbiBpc29sYXRlZCB3b3Js
ZHMgYW5kIGluamVjdGVkIGZpbGVzIHVzZSB0aGUgZXh0ZW5zaW9uJ3MgaWRlbnRpZmllciBpbnN0
ZWFkIG9mIGl0cyBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9T
b3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggYTM5NWIzNmU5NTYuLjcyOGY3ZTNkNzdmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dURi93dGYv
UnVuTG9vcC5oCkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYzoKICNpZiBVU0UoR0VORVJJQ19FVkVO
VF9MT09QKSB8fCBVU0UoV0lORE9XU19FVkVOVF9MT09QKQogICAgIC8vIFJ1biB0aGUgc2luZ2xl
IGl0ZXJhdGlvbiBvZiB0aGUgUnVuTG9vcC4gSXQgY29uc3VtZXMgdGhlIHBlbmRpbmcgdGFza3Mg
YW5kIGV4cGlyZWQgdGltZXJzLCBidXQgaXQgd29uJ3QgYmUgYmxvY2tlZC4KICAgICBXVEZfRVhQ
T1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaXRlcmF0ZSgpOworICAgIFdURl9FWFBPUlRfUFJJVkFU
RSBzdGF0aWMgdm9pZCBzZXRXYWtlVXBDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik7
CiAjZW5kaWYKIAogI2lmIFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApCkBAIC0yMjksNiArMjMwLDEw
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3NodXRkb3duIHsgZmFsc2UgfTsKICAgICBib29sIG1f
cGVuZGluZ1Rhc2tzIHsgZmFsc2UgfTsKICNlbmRpZgorCisjaWYgVVNFKEdFTkVSSUNfRVZFTlRf
TE9PUCkgfHwgVVNFKFdJTkRPV1NfRVZFTlRfTE9PUCkKKyAgICBGdW5jdGlvbjx2b2lkKCk+IG1f
d2FrZVVwQ2FsbGJhY2s7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCAzYWYyODMzYmEyMC4uNzg2
NjNiOTVlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVy
aWMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwCkBA
IC0xODksNiArMTg5LDExIEBAIHZvaWQgUnVuTG9vcDo6aXRlcmF0ZSgpCiAgICAgUnVuTG9vcDo6
Y3VycmVudCgpLnJ1bkltcGwoUnVuTW9kZTo6SXRlcmF0ZSk7CiB9CiAKK3ZvaWQgUnVuTG9vcDo6
c2V0V2FrZVVwQ2FsbGJhY2soV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCit7Cisg
ICAgUnVuTG9vcDo6Y3VycmVudCgpLm1fd2FrZVVwQ2FsbGJhY2sgPSBXVEZNb3ZlKGZ1bmN0aW9u
KTsKK30KKwogLy8gUnVuTG9vcCBvcGVyYXRpb25zIGFyZSB0aHJlYWQtc2FmZS4gVGhlc2Ugb3Bl
cmF0aW9ucyBjYW4gYmUgY2FsbGVkIGZyb20gb3V0c2lkZSBvZiB0aGUgUnVuTG9vcCdzIHRocmVh
ZC4KIC8vIEZvciBleGFtcGxlLCBXb3JrUXVldWU6OntkaXNwYXRjaCwgZGlzcGF0Y2hBZnRlcn0g
Y2FsbCB0aGUgb3BlcmF0aW9ucyBvZiB0aGUgV29ya1F1ZXVlIHRocmVhZCdzIFJ1bkxvb3AKIC8v
IGZyb20gdGhlIGNhbGxlcidzIHRocmVhZC4KQEAgLTIxMCw2ICsyMTUsOSBAQCB2b2lkIFJ1bkxv
b3A6Ondha2VVcChjb25zdCBBYnN0cmFjdExvY2tlciYpCiB7CiAgICAgbV9wZW5kaW5nVGFza3Mg
PSB0cnVlOwogICAgIG1fcmVhZHlUb1J1bi5ub3RpZnlPbmUoKTsKKworICAgIGlmIChtX3dha2VV
cENhbGxiYWNrKQorICAgICAgICBtX3dha2VVcENhbGxiYWNrKCk7CiB9CiAKIHZvaWQgUnVuTG9v
cDo6d2FrZVVwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCBlZmE4M2FhNDkwYy4u
ZDIzYzc2MWRlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKQEAgLTgzLDYgKzgzLDEx
IEBAIHZvaWQgUnVuTG9vcDo6aXRlcmF0ZSgpCiAgICAgfQogfQogCit2b2lkIFJ1bkxvb3A6OnNl
dFdha2VVcENhbGxiYWNrKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQoreworICAg
IFJ1bkxvb3A6OmN1cnJlbnQoKS5tX3dha2VVcENhbGxiYWNrID0gV1RGTW92ZShmdW5jdGlvbik7
Cit9CisKIHZvaWQgUnVuTG9vcDo6c3RvcCgpCiB7CiAgICAgLy8gUnVuTG9vcDo6c3RvcCgpIGNh
biBiZSBjYWxsZWQgZnJvbSB0aHJlYWRzIHVucmVsYXRlZCB0byB0aGlzIFJ1bkxvb3AuCkBAIC0x
MTgsNiArMTIzLDkgQEAgdm9pZCBSdW5Mb29wOjp3YWtlVXAoKQogICAgIC8vIEZJWE1FOiBObyBu
ZWVkIHRvIHdha2UgdXAgdGhlIHJ1biBsb29wIGlmIHdlJ3ZlIGFscmVhZHkgY2FsbGVkIGRpc3Bh
dGNoCiAgICAgLy8gYmVmb3JlIHRoZSBydW4gbG9vcCBoYXMgaGFkIHRoZSB0aW1lIHRvIHJlc3Bv
bmQuCiAgICAgOjpQb3N0TWVzc2FnZShtX3J1bkxvb3BNZXNzYWdlV2luZG93LCBQZXJmb3JtV29y
a01lc3NhZ2UsIHJlaW50ZXJwcmV0X2Nhc3Q8V1BBUkFNPih0aGlzKSwgMCk7CisKKyAgICBpZiAo
bV93YWtlVXBDYWxsYmFjaykKKyAgICAgICAgbV93YWtlVXBDYWxsYmFjaygpOwogfQogCiBSdW5M
b29wOjpDeWNsZVJlc3VsdCBSdW5Mb29wOjpjeWNsZShSdW5Mb29wTW9kZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>