<?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>206726</bug_id>
          
          <creation_ts>2020-01-23 20:51:14 -0800</creation_ts>
          <short_desc>[JSC] DFG OSR exit is not marking CodeBlock::m_hasLinkedOSRExit when the exit target is checkpoint</short_desc>
          <delta_ts>2020-01-23 22:09:54 -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>New Bugs</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</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>1610510</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 20:51:14 -0800</bug_when>
    <thetext>[JSC] DFG OSR exit is not marking CodeBlock::m_hasLinkedOSRExit when the exit target is checkpoint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610514</commentid>
    <comment_count>1</comment_count>
      <attachid>388649</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 21:01:25 -0800</bug_when>
    <thetext>Created attachment 388649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610515</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 21:02:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/58827849&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610516</commentid>
    <comment_count>3</comment_count>
      <attachid>388650</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 21:06:58 -0800</bug_when>
    <thetext>Created attachment 388650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610524</commentid>
    <comment_count>4</comment_count>
      <attachid>388650</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-23 21:51:34 -0800</bug_when>
    <thetext>Comment on attachment 388650
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:16
&gt; +            1. The caller CodeBlock &quot;A&quot; has Baseline code.
&gt; +            2. Compile DFG code exiting to the checkpoint of &quot;A&quot;. We are not marking &quot;A&quot;&apos;s CodeBlock::m_hasLinkedOSRExit.
&gt; +            3. GC happens and we decide dropping Baseline code for &quot;A&quot; since it is not marked. Switching it to LLInt.
&gt; +            4. However, DFG OSR exit code is compiled by assuming that &quot;A&quot; is Baseline. So LLInt registers are not recovered correctly.
&gt; +            5. Then, exiting to LLInt of &quot;A&quot;, LLInt sees that LLInt registers have garbage.

Can you clarify the following:
1. GC cannot drop baseline code while the OSR exit compiler is running.  Is that true?
2. the same compiled OSR exit ramp can be used multiple times after it is compiled, and the GC can drop the baseline code between invocations of the OSR exit ramp.  Is that true?

If the OSR exit ramp is compiled to jump into the baseline code, and the baseline code has been deleted, how does the ramp adapt and exit into the LLInt instead?  I see the LLInt VM state and register being set up in the exit ramp, but I don&apos;t see how the ramp switches between jumping into the baseline code address vs the LLInt.  Am I missing something?  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610525</commentid>
    <comment_count>5</comment_count>
      <attachid>388650</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-23 21:51:48 -0800</bug_when>
    <thetext>Comment on attachment 388650
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:18
&gt; +        While marking CodeBlock::m_hasLinkedOSRExit can fix the problem, this is a tricky fix since it relies on the heuristics we introduced about throwing

I don’t see why this isn’t the entire fix. That bit isn’t a heuristic. It’s required for the correctness of throwing away baseline code. Always recovering the registers isn’t needed. I feel like we should do only what’s required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610526</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-23 21:52:39 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #4)
&gt; Comment on attachment 388650 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388650&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:16
&gt; &gt; +            1. The caller CodeBlock &quot;A&quot; has Baseline code.
&gt; &gt; +            2. Compile DFG code exiting to the checkpoint of &quot;A&quot;. We are not marking &quot;A&quot;&apos;s CodeBlock::m_hasLinkedOSRExit.
&gt; &gt; +            3. GC happens and we decide dropping Baseline code for &quot;A&quot; since it is not marked. Switching it to LLInt.
&gt; &gt; +            4. However, DFG OSR exit code is compiled by assuming that &quot;A&quot; is Baseline. So LLInt registers are not recovered correctly.
&gt; &gt; +            5. Then, exiting to LLInt of &quot;A&quot;, LLInt sees that LLInt registers have garbage.
&gt; 
&gt; Can you clarify the following:
&gt; 1. GC cannot drop baseline code while the OSR exit compiler is running.  Is
&gt; that true?
&gt; 2. the same compiled OSR exit ramp can be used multiple times after it is
&gt; compiled, and the GC can drop the baseline code between invocations of the
&gt; OSR exit ramp.  Is that true?
&gt; 
&gt; If the OSR exit ramp is compiled to jump into the baseline code, and the
&gt; baseline code has been deleted, how does the ramp adapt and exit into the
&gt; LLInt instead?  I see the LLInt VM state and register being set up in the
&gt; exit ramp, but I don&apos;t see how the ramp switches between jumping into the
&gt; baseline code address vs the LLInt.  Am I missing something?  Thanks.
 We don’t throw away baseline code once we set the “I have an OSR exit jumping to me” bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610527</commentid>
    <comment_count>7</comment_count>
      <attachid>388650</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-23 21:53:21 -0800</bug_when>
    <thetext>Comment on attachment 388650
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:151
&gt; +            baselineCodeBlockForCaller-&gt;m_hasLinkedOSRExit = true;

This is all that’s needed, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610534</commentid>
    <comment_count>8</comment_count>
      <attachid>388654</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 21:59:47 -0800</bug_when>
    <thetext>Created attachment 388654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610537</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 22:09:54 -0800</bug_when>
    <thetext>Committed r255055: &lt;https://trac.webkit.org/changeset/255055&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388649</attachid>
            <date>2020-01-23 21:01:25 -0800</date>
            <delta_ts>2020-01-23 21:06:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206726-20200123210125.patch</filename>
            <type>text/plain</type>
            <size>8710</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MGYzYjZiZGZhOTdlNzAyZGE2ZGE2MTAzNzQ0Yjk1YzMwOTA2MWFhLi5jZWI2YzY1Y2NhOWI1NmVi
MzM1ZGY4OTkyYjQ1MjYxYTI5MTRkMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wMS0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBPU1IgZXhpdCBpcyBub3QgbWFya2luZyBDb2RlQmxvY2s6
Om1faGFzTGlua2VkT1NSRXhpdCB3aGVuIHRoZSBleGl0IHRhcmdldCBpcyBjaGVja3BvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3MjYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4ODI3ODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IERGRyBPU1IgZXhp
dCBpcyBub3QgbWFya2luZyBDb2RlQmxvY2s6Om1faGFzTGlua2VkT1NSRXhpdCBhcHByb3ByaWF0
ZWx5IHdoZW4gdGhlIGV4aXQgdGFyZ2V0IGJ5dGVjb2RlLWluZGV4IGlzIGNoZWNrcG9pbnQuCisg
ICAgICAgIExldCdzIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgY2FzZSwKKworICAgICAgICAgICAg
MS4gVGhlIGNhbGxlciBDb2RlQmxvY2sgIkEiIGhhcyBCYXNlbGluZSBjb2RlLgorICAgICAgICAg
ICAgMi4gQ29tcGlsZSBERkcgY29kZSBleGl0aW5nIHRvIHRoZSBjaGVja3BvaW50IG9mICJBIi4g
V2UgYXJlIG5vdCBtYXJraW5nICJBIidzIENvZGVCbG9jazo6bV9oYXNMaW5rZWRPU1JFeGl0Lgor
ICAgICAgICAgICAgMy4gR0MgaGFwcGVucyBhbmQgd2UgZGVjaWRlIGRyb3BwaW5nIEJhc2VsaW5l
IGNvZGUgZm9yICJBIi4gU3dpdGNoaW5nIGl0IHRvIExMSW50LgorICAgICAgICAgICAgNC4gSG93
ZXZlciwgREZHIE9TUiBleGl0IGNvZGUgaXMgY29tcGlsZWQgYnkgYXNzdW1pbmcgdGhhdCAiQSIg
aXMgQmFzZWxpbmUuIFNvIExMSW50IHJlZ2lzdGVycyBhcmUgbm90IHJlY292ZXJlZCBjb3JyZWN0
bHkuCisgICAgICAgICAgICA1LiBUaGVuLCBleGl0IHRvIExMSW50IG9mICJBIiwgaXQgc2VlIHRo
YXQgTExJbnQgcmVnaXN0ZXJzIGhhcyBnYXJiYWdlLgorCisgICAgICAgIFdoaWxlIG1hcmtpbmcg
Q29kZUJsb2NrOjptX2hhc0xpbmtlZE9TUkV4aXQgY2FuIGZpeCB0aGUgcHJvYmxlbSwgdGhpcyBp
cyBzb21ld2hhdCB0cmlja3kgZml4IHNpbmNlIGl0IHJlbGllcyBvbiB0aGUgaGV1cmlzdGljIHdl
IGhhdmUgYWJvdXQgdGhyb3dpbmcKKyAgICAgICAgQmFzZWxpbmUgY29kZSBhd2F5OiBpZiBDb2Rl
QmxvY2s6Om1faGFzTGlua2VkT1NSRXhpdCBpcyBtYXJrZWQsIGl0IGNvbnRpbnVlcyBoYXZpbmcg
QmFzZWxpbmUgY29kZS4gVGhpcyBwYXRjaCBleHBsb3JlcyB0aGUgbW9yZSByb2J1c3QgZml4IHdo
aWNoCisgICAgICAgIG9mZmVycyB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggQmFzZWxpbmUgYW5kIExM
SW50IHdpdGhvdXQgY29uc2lkZXJpbmcgYWJvdXQgdGhpcyBoZXVyaXN0aWNzLgorCisgICAgICAg
IEluIHRoaXMgcGF0Y2gsIHdlIHVuY29uZGl0aW9uYWxseSByZWNvdmVyIExMSW50IHJlZ2lzdGVy
cyBldmVuIGlmIHRoZSBleGl0IHRhcmdldCBpcyBCYXNlbGluZS4gU2luY2UgQmFzZWxpbmUgYW5k
IExMSW50IGhhcyB0aGUgc2FtZSBjYWxsZWUgc2F2ZSByZWdpc3RlcnMsCisgICAgICAgIGFuZCBM
TEludCByZWdpc3RlcnMgYXJlIG5vdCB1c2VkIGZvciBwYXJ0aWN1bGFyIHB1cnBvc2UgaW4gQmFz
ZWxpbmUsIGZpbGxpbmcgTExJbnQgcmVnaXN0ZXJzIGluIERGRyBPU1IgZXhpdCB1bmNvbmRpdGlv
bmFsbHkgZG9lcyBub3QgaGF2ZSBhbnkgZWZmZWN0CisgICAgICAgIGZvciBCYXNlbGluZSB3aGls
ZSB3ZSBjYW4gb2ZmZXIgdGhlIGFiaWxpdHkgdG8gZXhpdCB0byBMTEludCBmcmVlbHkgZnJvbSB0
aGlzIHRodW5rIG9mIERGRyBPU1IgZXhpdC4KKworICAgICAgICAqIGRmZy9ERkdPU1JFeGl0Q29t
cGlsZXJDb21tb24uY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhbGxlclJldHVyblBDKToKKyAg
ICAgICAgKEpTQzo6REZHOjpyZWlmeUlubGluZWRDYWxsRnJhbWVzKToKKyAgICAgICAgKEpTQzo6
REZHOjphZGp1c3RBbmRKdW1wVG9UYXJnZXQpOgorCiAyMDIwLTAxLTIzICBSb2JpbiBNb3Jpc3Nl
dCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGRlYWQgb3B0aW9ucyAi
ZHVtcEFsbERGR05vZGVzIi8ic2hvd0FsbERGR05vZGVzIgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCmluZGV4IDZlY2M2
ZDY3MTQ3NjVhMGE3MTRmMTUyOGVjMmNkMDljNmFiNzI2MjQuLjM1NzU5NWIzMjRiZWRkMzc1M2Ex
NDNjZjllYWQzYWM2MzU4YjFiZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAKQEAgLTE0Niw4ICsxNDYsMTEgQEAg
TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGNhbGxlclJldHVyblBDKENvZGVC
bG9jayogYmFzZWxpbmVDb2RlQmxvY2sKIHsKICAgICBjYWxsZXJJc0xMSW50ID0gT3B0aW9uczo6
Zm9yY2VPU1JFeGl0VG9MTEludCgpIHx8IGJhc2VsaW5lQ29kZUJsb2NrRm9yQ2FsbGVyLT5qaXRU
eXBlKCkgPT0gSklUVHlwZTo6SW50ZXJwcmV0ZXJUaHVuazsKIAotICAgIGlmIChjYWxsQnl0ZWNv
ZGVJbmRleC5jaGVja3BvaW50KCkpCisgICAgaWYgKGNhbGxCeXRlY29kZUluZGV4LmNoZWNrcG9p
bnQoKSkgeworICAgICAgICBpZiAoIWNhbGxlcklzTExJbnQpCisgICAgICAgICAgICBiYXNlbGlu
ZUNvZGVCbG9ja0ZvckNhbGxlci0+bV9oYXNMaW5rZWRPU1JFeGl0ID0gdHJ1ZTsKICAgICAgICAg
cmV0dXJuIExMSW50OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJUYWc+KGNoZWNrcG9pbnRfb3NyX2V4
aXRfZnJvbV9pbmxpbmVkX2NhbGxfdHJhbXBvbGluZSk7CisgICAgfQogCiAgICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGp1bXBUYXJnZXQ7CiAKQEAgLTMwNCw3ICszMDcs
NyBAQCB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0
IE9TUkV4aXRCYXNlJiBleGl0KQogICAgICAgICAgICAgdHJ1ZUNhbGxlciA/IEFzc2VtYmx5SGVs
cGVyczo6VXNlRXhpc3RpbmdUYWdSZWdpc3RlckNvbnRlbnRzIDogQXNzZW1ibHlIZWxwZXJzOjpD
b3B5QmFzZWxpbmVDYWxsZWVTYXZlZFJlZ2lzdGVyc0Zyb21CYXNlRnJhbWUsCiAgICAgICAgICAg
ICBHUFJJbmZvOjpyZWdUMik7CiAKLSAgICAgICAgaWYgKGNhbGxlcklzTExJbnQpIHsKKyAgICAg
ICAgaWYgKHRydWVDYWxsZXIpIHsKICAgICAgICAgICAgIENvZGVCbG9jayogYmFzZWxpbmVDb2Rl
QmxvY2tGb3JDYWxsZXIgPSBqaXQuYmFzZWxpbmVDb2RlQmxvY2tGb3IoKnRydWVDYWxsZXIpOwog
ICAgICAgICAgICAgaml0LnN0b3JlUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiYXNl
bGluZUNvZGVCbG9ja0ZvckNhbGxlci0+bWV0YWRhdGFUYWJsZSgpKSwgY2FsbGVlU2F2ZVNsb3Qo
aW5saW5lQ2FsbEZyYW1lLCBiYXNlbGluZUNvZGVCbG9jaywgTExJbnQ6OlJlZ2lzdGVyczo6bWV0
YWRhdGFUYWJsZUdQUikpOwogICAgICAgICAgICAgaml0LnN0b3JlUHRyKENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihiYXNlbGluZUNvZGVCbG9ja0ZvckNhbGxlci0+aW5zdHJ1Y3Rpb25zUmF3
UG9pbnRlcigpKSwgY2FsbGVlU2F2ZVNsb3QoaW5saW5lQ2FsbEZyYW1lLCBiYXNlbGluZUNvZGVC
bG9jaywgTExJbnQ6OlJlZ2lzdGVyczo6cGJHUFIpKTsKQEAgLTM4MCwyOCArMzgzLDE5IEBAIHZv
aWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KFZNJiB2bSwgQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0
IE9TUkV4aXRCYXNlJiBleGl0KQogCiAgICAgdm9pZCoganVtcFRhcmdldDsKICAgICBib29sIGV4
aXRUb0xMSW50ID0gT3B0aW9uczo6Zm9yY2VPU1JFeGl0VG9MTEludCgpIHx8IGNvZGVCbG9ja0Zv
ckV4aXQtPmppdFR5cGUoKSA9PSBKSVRUeXBlOjpJbnRlcnByZXRlclRodW5rOworICAgIEJ5dGVj
b2RlSW5kZXggZXhpdEluZGV4ID0gZXhpdC5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCgpOwor
ICAgIGNvbnN0IEluc3RydWN0aW9uJiBjdXJyZW50SW5zdHJ1Y3Rpb24gPSAqY29kZUJsb2NrRm9y
RXhpdC0+aW5zdHJ1Y3Rpb25zKCkuYXQoZXhpdEluZGV4KS5wdHIoKTsKICAgICBpZiAoZXhpdFRv
TExJbnQpIHsKLSAgICAgICAgYXV0byBieXRlY29kZUluZGV4ID0gZXhpdC5tX2NvZGVPcmlnaW4u
Ynl0ZWNvZGVJbmRleCgpOwotICAgICAgICBjb25zdCBJbnN0cnVjdGlvbiYgY3VycmVudEluc3Ry
dWN0aW9uID0gKmNvZGVCbG9ja0ZvckV4aXQtPmluc3RydWN0aW9ucygpLmF0KGJ5dGVjb2RlSW5k
ZXgpLnB0cigpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4g
ZGVzdGluYXRpb247Ci0gICAgICAgIGlmIChieXRlY29kZUluZGV4LmNoZWNrcG9pbnQoKSkKKyAg
ICAgICAgaWYgKGV4aXRJbmRleC5jaGVja3BvaW50KCkpCiAgICAgICAgICAgICBkZXN0aW5hdGlv
biA9IExMSW50OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJUYWc+KGNoZWNrcG9pbnRfb3NyX2V4aXRf
dHJhbXBvbGluZSk7Ci0gICAgICAgIGVsc2UgCisgICAgICAgIGVsc2UKICAgICAgICAgICAgIGRl
c3RpbmF0aW9uID0gTExJbnQ6OmdldENvZGVQdHI8SlNFbnRyeVB0clRhZz4oY3VycmVudEluc3Ry
dWN0aW9uKTsKIAotICAgICAgICBpZiAoZXhpdC5pc0V4Y2VwdGlvbkhhbmRsZXIoKSkgewotICAg
ICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKCZjdXJyZW50SW5z
dHJ1Y3Rpb24pLCBHUFJJbmZvOjpyZWdUMik7Ci0gICAgICAgICAgICBqaXQuc3RvcmVQdHIoR1BS
SW5mbzo6cmVnVDIsICZ2bS50YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3cpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNvZGVCbG9j
a0ZvckV4aXQtPm1ldGFkYXRhVGFibGUoKSksIExMSW50OjpSZWdpc3RlcnM6Om1ldGFkYXRhVGFi
bGVHUFIpOwotICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoY29k
ZUJsb2NrRm9yRXhpdC0+aW5zdHJ1Y3Rpb25zUmF3UG9pbnRlcigpKSwgTExJbnQ6OlJlZ2lzdGVy
czo6cGJHUFIpOwotICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihi
eXRlY29kZUluZGV4Lm9mZnNldCgpKSwgTExJbnQ6OlJlZ2lzdGVyczo6cGNHUFIpOwogICAgICAg
ICBqdW1wVGFyZ2V0ID0gZGVzdGluYXRpb24ucmV0YWdnZWQ8T1NSRXhpdFB0clRhZz4oKS5leGVj
dXRhYmxlQWRkcmVzcygpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGNvZGVCbG9ja0ZvckV4aXQt
Pm1faGFzTGlua2VkT1NSRXhpdCA9IHRydWU7CiAKLSAgICAgICAgQnl0ZWNvZGVJbmRleCBleGl0
SW5kZXggPSBleGl0Lm1fY29kZU9yaWdpbi5ieXRlY29kZUluZGV4KCk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBkZXN0aW5hdGlvbjsKICAgICAgICAgaWYg
KGV4aXRJbmRleC5jaGVja3BvaW50KCkpCiAgICAgICAgICAgICBkZXN0aW5hdGlvbiA9IExMSW50
OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJUYWc+KGNoZWNrcG9pbnRfb3NyX2V4aXRfdHJhbXBvbGlu
ZSk7CkBAIC00MTUsMTAgKzQwOSwxNiBAQCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChWTSYg
dm0sIENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKICAgICAgICAg
anVtcFRhcmdldCA9IGRlc3RpbmF0aW9uLnJldGFnZ2VkPE9TUkV4aXRQdHJUYWc+KCkuZXhlY3V0
YWJsZUFkZHJlc3MoKTsKICAgICB9CiAKKyAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIoY29kZUJsb2NrRm9yRXhpdC0+bWV0YWRhdGFUYWJsZSgpKSwgTExJbnQ6OlJlZ2lz
dGVyczo6bWV0YWRhdGFUYWJsZUdQUik7CisgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tUHRyKGNvZGVCbG9ja0ZvckV4aXQtPmluc3RydWN0aW9uc1Jhd1BvaW50ZXIoKSksIExM
SW50OjpSZWdpc3RlcnM6OnBiR1BSKTsKKyAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW0zMihleGl0SW5kZXgub2Zmc2V0KCkpLCBMTEludDo6UmVnaXN0ZXJzOjpwY0dQUik7CisK
ICAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpJVDo6c3RhY2tQ
b2ludGVyT2Zmc2V0Rm9yKGNvZGVCbG9ja0ZvckV4aXQpICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQ
UkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJl
Z2lzdGVyKTsKICAgICBpZiAoZXhpdC5pc0V4Y2VwdGlvbkhhbmRsZXIoKSkgewogICAgICAgICAv
LyBTaW5jZSB3ZSdyZSBqdW1waW5nIHRvIG9wX2NhdGNoLCB3ZSBuZWVkIHRvIHNldCBjYWxsRnJh
bWVGb3JDYXRjaC4KICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLCB2bS5hZGRyZXNzT2ZDYWxsRnJhbWVGb3JDYXRjaCgpKTsKKyAgICAgICAgaml0Lm1vdmUo
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKCZjdXJyZW50SW5zdHJ1Y3Rpb24pLCBHUFJJbmZv
OjpyZWdUMik7CisgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZWdUMiwgJnZtLnRhcmdl
dEludGVycHJldGVyUENGb3JUaHJvdyk7CiAgICAgfQogICAgIAogICAgIGppdC5tb3ZlKEFzc2Vt
Ymx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihqdW1wVGFyZ2V0KSwgR1BSSW5mbzo6cmVnVDIpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAz
MzIxN2FmNTYwODAxMmZkMGI0OTI0NzBiNjA1MTY4ZWY2MDNjZmJlLi5iY2ViZmE0ZDdkODg0YTMy
MWM0NTYxYjRmZDQ3MjJjYzlhZTg1ZjQ1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTAxLTIzICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gREZHIE9TUiBl
eGl0IGlzIG5vdCBtYXJraW5nIENvZGVCbG9jazo6bV9oYXNMaW5rZWRPU1JFeGl0IHdoZW4gdGhl
IGV4aXQgdGFyZ2V0IGlzIGNoZWNrcG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNjcyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg4Mjc4
NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
dHJlc3MvZXhpdC10YXJnZXQtY29kZS1ibG9jay1jYW4tYmUtY2hhbmdlZC1iZXR3ZWVuLWxsaW50
LWFuZC1iYXNlbGluZS5qczogQWRkZWQuCisgICAgICAgIChiYXIpOgorICAgICAgICAoZm9vKToK
KwogMjAyMC0wMS0yMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIEJpdHMgZnJvbSBPcGVyYW5kIHNob3VsZCBmaXQgaW4gYml0cyByZXNlcnZlZCBp
biBBYnN0cmFjdEhlYXAncyBQYXlsb2FkCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9leGl0
LXRhcmdldC1jb2RlLWJsb2NrLWNhbi1iZS1jaGFuZ2VkLWJldHdlZW4tbGxpbnQtYW5kLWJhc2Vs
aW5lLmpzIGIvSlNUZXN0cy9zdHJlc3MvZXhpdC10YXJnZXQtY29kZS1ibG9jay1jYW4tYmUtY2hh
bmdlZC1iZXR3ZWVuLWxsaW50LWFuZC1iYXNlbGluZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjA2MGNjNmQ5
OTQ1MDI5ZmZjMGRlNGZmYzAxYTBhNWExODQyNzNmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy9zdHJlc3MvZXhpdC10YXJnZXQtY29kZS1ibG9jay1jYW4tYmUtY2hhbmdlZC1iZXR3ZWVuLWxs
aW50LWFuZC1iYXNlbGluZS5qcwpAQCAtMCwwICsxLDIyIEBACisvL0AgcnVuRGVmYXVsdCgiLS11
c2VDb25jdXJyZW50SklUPTAiLCAiLS11c2VGVExKSVQ9MCIpCitmdW5jdGlvbiBiYXIoKSB7Cisg
ICAgdHJ5IHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7CisgICAgfSBjYXRjaCB7fQorICAg
ICAgICArYXJndW1lbnRzOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgZm9yIChsZXQgaT0w
OyBpPDEwMDsgaSsrKSB7fQorCisgICAgYmFyKC4uLltdKTsKKworICAgIGZvciAobGV0IGk9MDsg
aTwxMDA7IGkrKykgeworICAgICAgICBiYXIoKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGk9MDsg
aTwxMDA7IGkrKykgeworICAgIGZvbyhPYmplY3QpOworICAgIGdjKCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388650</attachid>
            <date>2020-01-23 21:06:58 -0800</date>
            <delta_ts>2020-01-23 21:59:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206726-20200123210657.patch</filename>
            <type>text/plain</type>
            <size>8744</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MGYzYjZiZGZhOTdlNzAyZGE2ZGE2MTAzNzQ0Yjk1YzMwOTA2MWFhLi5jNWI3N2Y5YzU1Nzk4NzYz
ZWVhY2U4ODUyZTllMjI0OTgzYmY0OWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wMS0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBPU1IgZXhpdCBpcyBub3QgbWFya2luZyBDb2RlQmxvY2s6
Om1faGFzTGlua2VkT1NSRXhpdCB3aGVuIHRoZSBleGl0IHRhcmdldCBpcyBjaGVja3BvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3MjYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4ODI3ODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IERGRyBPU1IgZXhp
dCBpcyBub3QgbWFya2luZyBDb2RlQmxvY2s6Om1faGFzTGlua2VkT1NSRXhpdCBhcHByb3ByaWF0
ZWx5IHdoZW4gYW4gZXhpdCB0YXJnZXQgYnl0ZWNvZGUtaW5kZXggaXMgYSBjaGVja3BvaW50Lgor
ICAgICAgICBMZXQncyBjb25zaWRlciB0aGUgZm9sbG93aW5nIHNjZW5hcmlvLgorCisgICAgICAg
ICAgICAxLiBUaGUgY2FsbGVyIENvZGVCbG9jayAiQSIgaGFzIEJhc2VsaW5lIGNvZGUuCisgICAg
ICAgICAgICAyLiBDb21waWxlIERGRyBjb2RlIGV4aXRpbmcgdG8gdGhlIGNoZWNrcG9pbnQgb2Yg
IkEiLiBXZSBhcmUgbm90IG1hcmtpbmcgIkEiJ3MgQ29kZUJsb2NrOjptX2hhc0xpbmtlZE9TUkV4
aXQuCisgICAgICAgICAgICAzLiBHQyBoYXBwZW5zIGFuZCB3ZSBkZWNpZGUgZHJvcHBpbmcgQmFz
ZWxpbmUgY29kZSBmb3IgIkEiIHNpbmNlIGl0IGlzIG5vdCBtYXJrZWQuIFN3aXRjaGluZyBpdCB0
byBMTEludC4KKyAgICAgICAgICAgIDQuIEhvd2V2ZXIsIERGRyBPU1IgZXhpdCBjb2RlIGlzIGNv
bXBpbGVkIGJ5IGFzc3VtaW5nIHRoYXQgIkEiIGlzIEJhc2VsaW5lLiBTbyBMTEludCByZWdpc3Rl
cnMgYXJlIG5vdCByZWNvdmVyZWQgY29ycmVjdGx5LgorICAgICAgICAgICAgNS4gVGhlbiwgZXhp
dGluZyB0byBMTEludCBvZiAiQSIsIExMSW50IHNlZXMgdGhhdCBMTEludCByZWdpc3RlcnMgaGF2
ZSBnYXJiYWdlLgorCisgICAgICAgIFdoaWxlIG1hcmtpbmcgQ29kZUJsb2NrOjptX2hhc0xpbmtl
ZE9TUkV4aXQgY2FuIGZpeCB0aGUgcHJvYmxlbSwgdGhpcyBpcyBhIHRyaWNreSBmaXggc2luY2Ug
aXQgcmVsaWVzIG9uIHRoZSBoZXVyaXN0aWNzIHdlIGludHJvZHVjZWQgYWJvdXQgdGhyb3dpbmcK
KyAgICAgICAgQmFzZWxpbmUgY29kZSBhd2F5OiBpZiBDb2RlQmxvY2s6Om1faGFzTGlua2VkT1NS
RXhpdCBpcyBtYXJrZWQsIGl0IGNvbnRpbnVlcyBoYXZpbmcgQmFzZWxpbmUgY29kZS4gVGhpcyBw
YXRjaCBleHBsb3JlcyBhIG1vcmUgcm9idXN0IGZpeCB3aGljaAorICAgICAgICBvZmZlcnMgdGhl
IGFiaWxpdHkgdG8gc3dpdGNoIEJhc2VsaW5lIGFuZCBMTEludCB3aXRob3V0IGNvbnNpZGVyaW5n
IGFib3V0IHRoaXMgaGV1cmlzdGljcy4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSB1bmNv
bmRpdGlvbmFsbHkgcmVjb3ZlciBMTEludCByZWdpc3RlcnMgZXZlbiBpZiB0aGUgZXhpdCB0YXJn
ZXQgaXMgQmFzZWxpbmUuIFNpbmNlIEJhc2VsaW5lIGFuZCBMTEludCBoYXMgdGhlIHNhbWUgY2Fs
bGVlIHNhdmUgcmVnaXN0ZXJzLAorICAgICAgICBhbmQgTExJbnQgcmVnaXN0ZXJzIGFyZSBub3Qg
dXNlZCBmb3IgcGFydGljdWxhciBwdXJwb3NlIGluIEJhc2VsaW5lLCBmaWxsaW5nIExMSW50IHJl
Z2lzdGVycyBpbiBERkcgT1NSIGV4aXQgdW5jb25kaXRpb25hbGx5IGRvZXMgbm90IGhhdmUgYW55
IGVmZmVjdAorICAgICAgICBmb3IgQmFzZWxpbmUgd2hpbGUgd2UgY2FuIG9mZmVyIHRoZSBhYmls
aXR5IHRvIGV4aXQgdG8gTExJbnQgZnJlZWx5IGZyb20gdGhpcyB0aHVuayBvZiBERkcgT1NSIGV4
aXQuCisKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpjYWxsZXJSZXR1cm5QQyk6CisgICAgICAgIChKU0M6OkRGRzo6cmVpZnlJ
bmxpbmVkQ2FsbEZyYW1lcyk6CisgICAgICAgIChKU0M6OkRGRzo6YWRqdXN0QW5kSnVtcFRvVGFy
Z2V0KToKKwogMjAyMC0wMS0yMyAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBkZWFkIG9wdGlvbnMgImR1bXBBbGxERkdOb2RlcyIvInNob3dB
bGxERkdOb2RlcyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcAppbmRleCA2ZWNjNmQ2NzE0NzY1YTBhNzE0ZjE1MjhlYzJj
ZDA5YzZhYjcyNjI0Li4zNTc1OTViMzI0YmVkZDM3NTNhMTQzY2Y5ZWFkM2FjNjM1OGIxYmRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNv
bW1vbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGls
ZXJDb21tb24uY3BwCkBAIC0xNDYsOCArMTQ2LDExIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxK
U0VudHJ5UHRyVGFnPiBjYWxsZXJSZXR1cm5QQyhDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2Nr
CiB7CiAgICAgY2FsbGVySXNMTEludCA9IE9wdGlvbnM6OmZvcmNlT1NSRXhpdFRvTExJbnQoKSB8
fCBiYXNlbGluZUNvZGVCbG9ja0ZvckNhbGxlci0+aml0VHlwZSgpID09IEpJVFR5cGU6OkludGVy
cHJldGVyVGh1bms7CiAKLSAgICBpZiAoY2FsbEJ5dGVjb2RlSW5kZXguY2hlY2twb2ludCgpKQor
ICAgIGlmIChjYWxsQnl0ZWNvZGVJbmRleC5jaGVja3BvaW50KCkpIHsKKyAgICAgICAgaWYgKCFj
YWxsZXJJc0xMSW50KQorICAgICAgICAgICAgYmFzZWxpbmVDb2RlQmxvY2tGb3JDYWxsZXItPm1f
aGFzTGlua2VkT1NSRXhpdCA9IHRydWU7CiAgICAgICAgIHJldHVybiBMTEludDo6Z2V0Q29kZVB0
cjxKU0VudHJ5UHRyVGFnPihjaGVja3BvaW50X29zcl9leGl0X2Zyb21faW5saW5lZF9jYWxsX3Ry
YW1wb2xpbmUpOworICAgIH0KIAogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxKU0VudHJ5UHRy
VGFnPiBqdW1wVGFyZ2V0OwogCkBAIC0zMDQsNyArMzA3LDcgQEAgdm9pZCByZWlmeUlubGluZWRD
YWxsRnJhbWVzKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKICAg
ICAgICAgICAgIHRydWVDYWxsZXIgPyBBc3NlbWJseUhlbHBlcnM6OlVzZUV4aXN0aW5nVGFnUmVn
aXN0ZXJDb250ZW50cyA6IEFzc2VtYmx5SGVscGVyczo6Q29weUJhc2VsaW5lQ2FsbGVlU2F2ZWRS
ZWdpc3RlcnNGcm9tQmFzZUZyYW1lLAogICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDIpOwogCi0g
ICAgICAgIGlmIChjYWxsZXJJc0xMSW50KSB7CisgICAgICAgIGlmICh0cnVlQ2FsbGVyKSB7CiAg
ICAgICAgICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrRm9yQ2FsbGVyID0gaml0LmJh
c2VsaW5lQ29kZUJsb2NrRm9yKCp0cnVlQ2FsbGVyKTsKICAgICAgICAgICAgIGppdC5zdG9yZVB0
cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYmFzZWxpbmVDb2RlQmxvY2tGb3JDYWxsZXIt
Pm1ldGFkYXRhVGFibGUoKSksIGNhbGxlZVNhdmVTbG90KGlubGluZUNhbGxGcmFtZSwgYmFzZWxp
bmVDb2RlQmxvY2ssIExMSW50OjpSZWdpc3RlcnM6Om1ldGFkYXRhVGFibGVHUFIpKTsKICAgICAg
ICAgICAgIGppdC5zdG9yZVB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYmFzZWxpbmVD
b2RlQmxvY2tGb3JDYWxsZXItPmluc3RydWN0aW9uc1Jhd1BvaW50ZXIoKSksIGNhbGxlZVNhdmVT
bG90KGlubGluZUNhbGxGcmFtZSwgYmFzZWxpbmVDb2RlQmxvY2ssIExMSW50OjpSZWdpc3RlcnM6
OnBiR1BSKSk7CkBAIC0zODAsMjggKzM4MywxOSBAQCB2b2lkIGFkanVzdEFuZEp1bXBUb1Rhcmdl
dChWTSYgdm0sIENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKIAog
ICAgIHZvaWQqIGp1bXBUYXJnZXQ7CiAgICAgYm9vbCBleGl0VG9MTEludCA9IE9wdGlvbnM6OmZv
cmNlT1NSRXhpdFRvTExJbnQoKSB8fCBjb2RlQmxvY2tGb3JFeGl0LT5qaXRUeXBlKCkgPT0gSklU
VHlwZTo6SW50ZXJwcmV0ZXJUaHVuazsKKyAgICBCeXRlY29kZUluZGV4IGV4aXRJbmRleCA9IGV4
aXQubV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgoKTsKKyAgICBjb25zdCBJbnN0cnVjdGlvbiYg
Y3VycmVudEluc3RydWN0aW9uID0gKmNvZGVCbG9ja0ZvckV4aXQtPmluc3RydWN0aW9ucygpLmF0
KGV4aXRJbmRleCkucHRyKCk7CiAgICAgaWYgKGV4aXRUb0xMSW50KSB7Ci0gICAgICAgIGF1dG8g
Ynl0ZWNvZGVJbmRleCA9IGV4aXQubV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgoKTsKLSAgICAg
ICAgY29uc3QgSW5zdHJ1Y3Rpb24mIGN1cnJlbnRJbnN0cnVjdGlvbiA9ICpjb2RlQmxvY2tGb3JF
eGl0LT5pbnN0cnVjdGlvbnMoKS5hdChieXRlY29kZUluZGV4KS5wdHIoKTsKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGRlc3RpbmF0aW9uOwotICAgICAgICBp
ZiAoYnl0ZWNvZGVJbmRleC5jaGVja3BvaW50KCkpCisgICAgICAgIGlmIChleGl0SW5kZXguY2hl
Y2twb2ludCgpKQogICAgICAgICAgICAgZGVzdGluYXRpb24gPSBMTEludDo6Z2V0Q29kZVB0cjxK
U0VudHJ5UHRyVGFnPihjaGVja3BvaW50X29zcl9leGl0X3RyYW1wb2xpbmUpOwotICAgICAgICBl
bHNlIAorICAgICAgICBlbHNlCiAgICAgICAgICAgICBkZXN0aW5hdGlvbiA9IExMSW50OjpnZXRD
b2RlUHRyPEpTRW50cnlQdHJUYWc+KGN1cnJlbnRJbnN0cnVjdGlvbik7CiAKLSAgICAgICAgaWYg
KGV4aXQuaXNFeGNlcHRpb25IYW5kbGVyKCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbVB0cigmY3VycmVudEluc3RydWN0aW9uKSwgR1BSSW5mbzo6cmVn
VDIpOwotICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJlZ1QyLCAmdm0udGFyZ2V0
SW50ZXJwcmV0ZXJQQ0ZvclRocm93KTsKLSAgICAgICAgfQotCi0gICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihjb2RlQmxvY2tGb3JFeGl0LT5tZXRhZGF0YVRhYmxl
KCkpLCBMTEludDo6UmVnaXN0ZXJzOjptZXRhZGF0YVRhYmxlR1BSKTsKLSAgICAgICAgaml0Lm1v
dmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNvZGVCbG9ja0ZvckV4aXQtPmluc3RydWN0
aW9uc1Jhd1BvaW50ZXIoKSksIExMSW50OjpSZWdpc3RlcnM6OnBiR1BSKTsKLSAgICAgICAgaml0
Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoYnl0ZWNvZGVJbmRleC5vZmZzZXQoKSks
IExMSW50OjpSZWdpc3RlcnM6OnBjR1BSKTsKICAgICAgICAganVtcFRhcmdldCA9IGRlc3RpbmF0
aW9uLnJldGFnZ2VkPE9TUkV4aXRQdHJUYWc+KCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAgICB9
IGVsc2UgewogICAgICAgICBjb2RlQmxvY2tGb3JFeGl0LT5tX2hhc0xpbmtlZE9TUkV4aXQgPSB0
cnVlOwogCi0gICAgICAgIEJ5dGVjb2RlSW5kZXggZXhpdEluZGV4ID0gZXhpdC5tX2NvZGVPcmln
aW4uYnl0ZWNvZGVJbmRleCgpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRy
eVB0clRhZz4gZGVzdGluYXRpb247CiAgICAgICAgIGlmIChleGl0SW5kZXguY2hlY2twb2ludCgp
KQogICAgICAgICAgICAgZGVzdGluYXRpb24gPSBMTEludDo6Z2V0Q29kZVB0cjxKU0VudHJ5UHRy
VGFnPihjaGVja3BvaW50X29zcl9leGl0X3RyYW1wb2xpbmUpOwpAQCAtNDE1LDEwICs0MDksMTYg
QEAgdm9pZCBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoVk0mIHZtLCBDQ2FsbEhlbHBlcnMmIGppdCwg
Y29uc3QgT1NSRXhpdEJhc2UmIGV4aXQpCiAgICAgICAgIGp1bXBUYXJnZXQgPSBkZXN0aW5hdGlv
bi5yZXRhZ2dlZDxPU1JFeGl0UHRyVGFnPigpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiAgICAgfQog
CisgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNvZGVCbG9ja0ZvckV4
aXQtPm1ldGFkYXRhVGFibGUoKSksIExMSW50OjpSZWdpc3RlcnM6Om1ldGFkYXRhVGFibGVHUFIp
OworICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihjb2RlQmxvY2tGb3JF
eGl0LT5pbnN0cnVjdGlvbnNSYXdQb2ludGVyKCkpLCBMTEludDo6UmVnaXN0ZXJzOjpwYkdQUik7
CisgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoZXhpdEluZGV4Lm9mZnNl
dCgpKSwgTExJbnQ6OlJlZ2lzdGVyczo6cGNHUFIpOworCiAgICAgaml0LmFkZFB0cihBc3NlbWJs
eUhlbHBlcnM6OlRydXN0ZWRJbW0zMihKSVQ6OnN0YWNrUG9pbnRlck9mZnNldEZvcihjb2RlQmxv
Y2tGb3JFeGl0KSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgaWYgKGV4aXQu
aXNFeGNlcHRpb25IYW5kbGVyKCkpIHsKICAgICAgICAgLy8gU2luY2Ugd2UncmUganVtcGluZyB0
byBvcF9jYXRjaCwgd2UgbmVlZCB0byBzZXQgY2FsbEZyYW1lRm9yQ2F0Y2guCiAgICAgICAgIGpp
dC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlciwgdm0uYWRkcmVzc09mQ2FsbEZy
YW1lRm9yQ2F0Y2goKSk7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bVB0cigmY3VycmVudEluc3RydWN0aW9uKSwgR1BSSW5mbzo6cmVnVDIpOworICAgICAgICBqaXQu
c3RvcmVQdHIoR1BSSW5mbzo6cmVnVDIsICZ2bS50YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3cp
OwogICAgIH0KICAgICAKICAgICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1Q
dHIoanVtcFRhcmdldCksIEdQUkluZm86OnJlZ1QyKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hh
bmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzMyMTdhZjU2MDgwMTJmZDBiNDkyNDcw
YjYwNTE2OGVmNjAzY2ZiZS4uYmNlYmZhNGQ3ZDg4NGEzMjFjNDU2MWI0ZmQ0NzIyY2M5YWU4NWY0
NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMS0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgorCisgICAgICAgIFtKU0NdIERGRyBPU1IgZXhpdCBpcyBub3QgbWFya2luZyBDb2Rl
QmxvY2s6Om1faGFzTGlua2VkT1NSRXhpdCB3aGVuIHRoZSBleGl0IHRhcmdldCBpcyBjaGVja3Bv
aW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3
MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4ODI3ODQ5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2V4aXQtdGFyZ2V0LWNvZGUt
YmxvY2stY2FuLWJlLWNoYW5nZWQtYmV0d2Vlbi1sbGludC1hbmQtYmFzZWxpbmUuanM6IEFkZGVk
LgorICAgICAgICAoYmFyKToKKyAgICAgICAgKGZvbyk6CisKIDIwMjAtMDEtMjIgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBCaXRzIGZyb20gT3Bl
cmFuZCBzaG91bGQgZml0IGluIGJpdHMgcmVzZXJ2ZWQgaW4gQWJzdHJhY3RIZWFwJ3MgUGF5bG9h
ZApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZXhpdC10YXJnZXQtY29kZS1ibG9jay1jYW4t
YmUtY2hhbmdlZC1iZXR3ZWVuLWxsaW50LWFuZC1iYXNlbGluZS5qcyBiL0pTVGVzdHMvc3RyZXNz
L2V4aXQtdGFyZ2V0LWNvZGUtYmxvY2stY2FuLWJlLWNoYW5nZWQtYmV0d2Vlbi1sbGludC1hbmQt
YmFzZWxpbmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWIwNjBjYzZkOTk0NTAyOWZmYzBkZTRmZmMwMWEwYTVh
MTg0MjczZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2V4aXQtdGFyZ2V0LWNv
ZGUtYmxvY2stY2FuLWJlLWNoYW5nZWQtYmV0d2Vlbi1sbGludC1hbmQtYmFzZWxpbmUuanMKQEAg
LTAsMCArMSwyMiBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tdXNlQ29uY3VycmVudEpJVD0wIiwgIi0t
dXNlRlRMSklUPTAiKQorZnVuY3Rpb24gYmFyKCkgeworICAgIHRyeSB7CisgICAgICAgIHRocm93
IG5ldyBFcnJvcigpOworICAgIH0gY2F0Y2gge30KKyAgICAgICAgK2FyZ3VtZW50czsKK30KKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGZvciAobGV0IGk9MDsgaTwxMDA7IGkrKykge30KKworICAg
IGJhciguLi5bXSk7CisKKyAgICBmb3IgKGxldCBpPTA7IGk8MTAwOyBpKyspIHsKKyAgICAgICAg
YmFyKCk7CisgICAgfQorfQorCitmb3IgKGxldCBpPTA7IGk8MTAwOyBpKyspIHsKKyAgICBmb28o
T2JqZWN0KTsKKyAgICBnYygpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388654</attachid>
            <date>2020-01-23 21:59:47 -0800</date>
            <delta_ts>2020-01-23 22:01:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206726-20200123215947.patch</filename>
            <type>text/plain</type>
            <size>4092</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MGYzYjZiZGZhOTdlNzAyZGE2ZGE2MTAzNzQ0Yjk1YzMwOTA2MWFhLi5kODJiZjhmN2IzNmEyNzE4
YzE1ZmY3OTNkNjYwOGE1NGYxODMwOGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMC0wMS0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBPU1IgZXhpdCBpcyBub3QgbWFya2luZyBDb2RlQmxvY2s6
Om1faGFzTGlua2VkT1NSRXhpdCB3aGVuIHRoZSBleGl0IHRhcmdldCBpcyBjaGVja3BvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3MjYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4ODI3ODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IERGRyBPU1IgZXhp
dCBpcyBub3QgbWFya2luZyBDb2RlQmxvY2s6Om1faGFzTGlua2VkT1NSRXhpdCBhcHByb3ByaWF0
ZWx5IHdoZW4gYW4gZXhpdCB0YXJnZXQgYnl0ZWNvZGUtaW5kZXggaXMgYSBjaGVja3BvaW50Lgor
ICAgICAgICBMZXQncyBjb25zaWRlciB0aGUgZm9sbG93aW5nIHNjZW5hcmlvLgorCisgICAgICAg
ICAgICAxLiBUaGUgY2FsbGVyIENvZGVCbG9jayAiQSIgaGFzIEJhc2VsaW5lIGNvZGUuCisgICAg
ICAgICAgICAyLiBDb21waWxlIERGRyBjb2RlIGV4aXRpbmcgdG8gdGhlIGNoZWNrcG9pbnQgb2Yg
IkEiLiBXZSBhcmUgbm90IG1hcmtpbmcgIkEiJ3MgQ29kZUJsb2NrOjptX2hhc0xpbmtlZE9TUkV4
aXQuCisgICAgICAgICAgICAzLiBHQyBoYXBwZW5zIGFuZCB3ZSBkZWNpZGUgZHJvcHBpbmcgQmFz
ZWxpbmUgY29kZSBmb3IgIkEiIHNpbmNlIGl0IGlzIG5vdCBtYXJrZWQuIFN3aXRjaGluZyBpdCB0
byBMTEludC4KKyAgICAgICAgICAgIDQuIEhvd2V2ZXIsIERGRyBPU1IgZXhpdCBjb2RlIGlzIGNv
bXBpbGVkIGJ5IGFzc3VtaW5nIHRoYXQgIkEiIGlzIEJhc2VsaW5lLiBTbyBMTEludCByZWdpc3Rl
cnMgYXJlIG5vdCByZWNvdmVyZWQgY29ycmVjdGx5LgorICAgICAgICAgICAgNS4gVGhlbiwgZXhp
dGluZyB0byBMTEludCBvZiAiQSIsIExMSW50IHNlZXMgdGhhdCBMTEludCByZWdpc3RlcnMgaGF2
ZSBnYXJiYWdlLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGNvcnJlY3RseSBzZXQgYSBi
aXQgb2YgQ29kZUJsb2NrOjptX2hhc0xpbmtlZE9TUkV4aXQgd2hlbiB0aGUgZXhpdCB0YXJnZXQg
aXMgY2hlY2twb2ludC4KKworICAgICAgICAqIGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24u
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhbGxlclJldHVyblBDKToKKwogMjAyMC0wMS0yMyAg
Um9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBk
ZWFkIG9wdGlvbnMgImR1bXBBbGxERkdOb2RlcyIvInNob3dBbGxERkdOb2RlcyIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNw
cAppbmRleCA2ZWNjNmQ2NzE0NzY1YTBhNzE0ZjE1MjhlYzJjZDA5YzZhYjcyNjI0Li40ZWYyNjYx
MDVhOTAxOTBhNDNlZmIxMGQ2NGIyZjE4NGJiZGFjYTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCkBAIC0xNDYs
OCArMTQ2LDExIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBjYWxsZXJS
ZXR1cm5QQyhDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrCiB7CiAgICAgY2FsbGVySXNMTElu
dCA9IE9wdGlvbnM6OmZvcmNlT1NSRXhpdFRvTExJbnQoKSB8fCBiYXNlbGluZUNvZGVCbG9ja0Zv
ckNhbGxlci0+aml0VHlwZSgpID09IEpJVFR5cGU6OkludGVycHJldGVyVGh1bms7CiAKLSAgICBp
ZiAoY2FsbEJ5dGVjb2RlSW5kZXguY2hlY2twb2ludCgpKQorICAgIGlmIChjYWxsQnl0ZWNvZGVJ
bmRleC5jaGVja3BvaW50KCkpIHsKKyAgICAgICAgaWYgKCFjYWxsZXJJc0xMSW50KQorICAgICAg
ICAgICAgYmFzZWxpbmVDb2RlQmxvY2tGb3JDYWxsZXItPm1faGFzTGlua2VkT1NSRXhpdCA9IHRy
dWU7CiAgICAgICAgIHJldHVybiBMTEludDo6Z2V0Q29kZVB0cjxKU0VudHJ5UHRyVGFnPihjaGVj
a3BvaW50X29zcl9leGl0X2Zyb21faW5saW5lZF9jYWxsX3RyYW1wb2xpbmUpOworICAgIH0KIAog
ICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBqdW1wVGFyZ2V0OwogCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMz
MjE3YWY1NjA4MDEyZmQwYjQ5MjQ3MGI2MDUxNjhlZjYwM2NmYmUuLmJjZWJmYTRkN2Q4ODRhMzIx
YzQ1NjFiNGZkNDcyMmNjOWFlODVmNDUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDEtMjMgIFl1c3Vr
ZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBERkcgT1NSIGV4
aXQgaXMgbm90IG1hcmtpbmcgQ29kZUJsb2NrOjptX2hhc0xpbmtlZE9TUkV4aXQgd2hlbiB0aGUg
ZXhpdCB0YXJnZXQgaXMgY2hlY2twb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NzI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODgyNzg0
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0
cmVzcy9leGl0LXRhcmdldC1jb2RlLWJsb2NrLWNhbi1iZS1jaGFuZ2VkLWJldHdlZW4tbGxpbnQt
YW5kLWJhc2VsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKGJhcik6CisgICAgICAgIChmb28pOgor
CiAyMDIwLTAxLTIyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0pTQ10gQml0cyBmcm9tIE9wZXJhbmQgc2hvdWxkIGZpdCBpbiBiaXRzIHJlc2VydmVkIGlu
IEFic3RyYWN0SGVhcCdzIFBheWxvYWQKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2V4aXQt
dGFyZ2V0LWNvZGUtYmxvY2stY2FuLWJlLWNoYW5nZWQtYmV0d2Vlbi1sbGludC1hbmQtYmFzZWxp
bmUuanMgYi9KU1Rlc3RzL3N0cmVzcy9leGl0LXRhcmdldC1jb2RlLWJsb2NrLWNhbi1iZS1jaGFu
Z2VkLWJldHdlZW4tbGxpbnQtYW5kLWJhc2VsaW5lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViMDYwY2M2ZDk5
NDUwMjlmZmMwZGU0ZmZjMDFhMGE1YTE4NDI3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3N0cmVzcy9leGl0LXRhcmdldC1jb2RlLWJsb2NrLWNhbi1iZS1jaGFuZ2VkLWJldHdlZW4tbGxp
bnQtYW5kLWJhc2VsaW5lLmpzCkBAIC0wLDAgKzEsMjIgQEAKKy8vQCBydW5EZWZhdWx0KCItLXVz
ZUNvbmN1cnJlbnRKSVQ9MCIsICItLXVzZUZUTEpJVD0wIikKK2Z1bmN0aW9uIGJhcigpIHsKKyAg
ICB0cnkgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTsKKyAgICB9IGNhdGNoIHt9CisgICAg
ICAgICthcmd1bWVudHM7Cit9CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBmb3IgKGxldCBpPTA7
IGk8MTAwOyBpKyspIHt9CisKKyAgICBiYXIoLi4uW10pOworCisgICAgZm9yIChsZXQgaT0wOyBp
PDEwMDsgaSsrKSB7CisgICAgICAgIGJhcigpOworICAgIH0KK30KKworZm9yIChsZXQgaT0wOyBp
PDEwMDsgaSsrKSB7CisgICAgZm9vKE9iamVjdCk7CisgICAgZ2MoKTsKK30K
</data>
<flag name="review"
          id="404373"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>