<?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>185349</bug_id>
          
          <creation_ts>2018-05-05 02:27:37 -0700</creation_ts>
          <short_desc>[WTF] Embed default atomic string table in Thread</short_desc>
          <delta_ts>2018-05-06 22:26:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1421037</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-05 02:27:37 -0700</bug_when>
    <thetext>[WTF] Embed default atomic string table in Thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421038</commentid>
    <comment_count>1</comment_count>
      <attachid>339640</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-05 02:29:05 -0700</bug_when>
    <thetext>Created attachment 339640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421041</commentid>
    <comment_count>2</comment_count>
      <attachid>339643</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-05 02:47:06 -0700</bug_when>
    <thetext>Created attachment 339643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421042</commentid>
    <comment_count>3</comment_count>
      <attachid>339644</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-05 02:48:15 -0700</bug_when>
    <thetext>Created attachment 339644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421172</commentid>
    <comment_count>4</comment_count>
      <attachid>339644</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-05-06 16:42:55 -0700</bug_when>
    <thetext>Comment on attachment 339644
Patch

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

I’m not going to say r=me yet because I am not sure this is OK for iOS

&gt; Source/WTF/ChangeLog:9
&gt; +        Do not need to allocate AtomicStringTable separately from Thread
&gt; +        since the table&apos;s lifetime is completely the same to Thread.

&quot;separately from Thread&quot; -&gt; &quot;separate from Thread&quot;
&quot;same to Thread&quot; -&gt; &quot;same as Thread&quot;

&gt; Source/WTF/ChangeLog:11
&gt; +        This patch just embeds it into Thread&apos;s field.

Better grammar and standard C++ terminology: instead of &quot;embeds it into Thread&apos;s field&quot;, say &quot;embeds it as a data member of Thread&quot;.

&gt; Source/WTF/wtf/Threading.cpp:109
&gt; +#if USE(WEB_THREAD)
&gt; +    // On iOS, one AtomicStringTable is shared between the main UI thread and the WebThread.
&gt; +    static AtomicStringTable* sharedStringTable = new AtomicStringTable;
&gt; +
&gt; +    if (isWebThread() || isUIThread())
&gt; +        m_currentAtomicStringTable = sharedStringTable;
&gt; +#endif // USE(WEB_THREAD)

I think it’s easier to read if we put the sharedStringTable static inside the if statement. Also, we could use a NeverDestroyed instead of putting it on the heap. Why not do that?

Doesn’t this mean we will have two initialized, but unused, empty AtomicStringTable instances on iOS, one in the web thread’s Thread object and one in the  UI thread’s Thread object? Is that waste OK because AtomicStringTable is a small object?

When the block of code is this small, I don’t think it needs to have a comment on the #endif.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421201</commentid>
    <comment_count>5</comment_count>
      <attachid>339644</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-06 19:49:18 -0700</bug_when>
    <thetext>Comment on attachment 339644
Patch

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

&gt;&gt; Source/WTF/ChangeLog:9
&gt;&gt; +        since the table&apos;s lifetime is completely the same to Thread.
&gt; 
&gt; &quot;separately from Thread&quot; -&gt; &quot;separate from Thread&quot;
&gt; &quot;same to Thread&quot; -&gt; &quot;same as Thread&quot;

Fixed.

&gt;&gt; Source/WTF/ChangeLog:11
&gt;&gt; +        This patch just embeds it into Thread&apos;s field.
&gt; 
&gt; Better grammar and standard C++ terminology: instead of &quot;embeds it into Thread&apos;s field&quot;, say &quot;embeds it as a data member of Thread&quot;.

Fixed, thanks.

&gt;&gt; Source/WTF/wtf/Threading.cpp:109
&gt;&gt; +#endif // USE(WEB_THREAD)
&gt; 
&gt; I think it’s easier to read if we put the sharedStringTable static inside the if statement. Also, we could use a NeverDestroyed instead of putting it on the heap. Why not do that?
&gt; 
&gt; Doesn’t this mean we will have two initialized, but unused, empty AtomicStringTable instances on iOS, one in the web thread’s Thread object and one in the  UI thread’s Thread object? Is that waste OK because AtomicStringTable is a small object?
&gt; 
&gt; When the block of code is this small, I don’t think it needs to have a comment on the #endif.

I&apos;ve changed this to use NeverDestroyed&lt;&gt; and moved it inside if-statement.

Yeah, on main and web threads, we have unused AtomicStringTable. And it is OK since (1) only main and web threads (2 threads) discard it and (2) empty AtomicStringTable is very small (2 pointer size, they are just 0 initialized, no external allocation).
This patch does not break the current iOS web thread semantics. m_defaultAtomicStringTable is not touched except for here. And web thread never exits.

And removed #endif&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421202</commentid>
    <comment_count>6</comment_count>
      <attachid>339702</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-06 19:49:57 -0700</bug_when>
    <thetext>Created attachment 339702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421213</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-06 22:25:04 -0700</bug_when>
    <thetext>Committed r231404: &lt;https://trac.webkit.org/changeset/231404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421214</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-06 22:26:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/40015023&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339640</attachid>
            <date>2018-05-05 02:29:05 -0700</date>
            <delta_ts>2018-05-05 02:47:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185349-20180505182904.patch</filename>
            <type>text/plain</type>
            <size>4730</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIyYmVhNzVjMDRkOTczMmIxNWU1YTY0
ZGFmOWQzYTdjZDY1YzJkMTEuLjUzNDIxZGUzYzA2NGE2NWMzNGE2ZmYwZWFjZTZhNWJiODllZGNk
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgtMDUtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gRW1iZWQgZGVmYXVsdCBhdG9taWMg
c3RyaW5nIHRhYmxlIGluIFRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRG8gbm90IG5lZWQgdG8gYWxsb2NhdGUgQXRvbWljU3RyaW5nVGFibGUg
c2VwYXJhdGVseSBmcm9tIFRocmVhZAorICAgICAgICBzaW5jZSB0aGUgdGFibGUncyBsaWZldGlt
ZSBpcyBjb21wbGV0ZWx5IHRoZSBzYW1lIHRvIFRocmVhZC4KKworICAgICAgICBUaGlzIHBhdGNo
IGp1c3QgZW1iZWRzIGl0IGludG8gVGhyZWFkJ3MgZmllbGQuCisKKyAgICAgICAgKiB3dGYvVGhy
ZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjppbml0aWFsaXplSW5UaHJlYWQpOgor
ICAgICAgICAoV1RGOjpUaHJlYWQ6OmRpZEV4aXQpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcu
aDoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHA6CisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ1RhYmxlOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdUYWJsZTo6ZGVzdHJveSk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL3RleHQv
QXRvbWljU3RyaW5nVGFibGUuaDoKKwogMjAxOC0wNS0wNCAgVGltIEhvcnRvbiAgPHRpbW90aHlf
aG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGlmdCB0byBhIGxvd2VyLWxldmVsIGZyYW1l
d29yayBmb3Igc2ltcGxpZnlpbmcgVVJMcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhy
ZWFkaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggZDRjZTRmYzUy
NjRlZTVjMjliZWE2YWQxNjFjMDM5OGVlNDgwNjYzYS4uZTQxZTcxYTU4NTg5MGNlNTZmNWZiMTc5
ZTFmMTY3NWIzM2I3MDc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC05OCw4ICs5OCwxNSBAQCB2
b2lkIFRocmVhZDo6aW5pdGlhbGl6ZUluVGhyZWFkKCkKICAgICBpZiAobV9zdGFjay5pc0VtcHR5
KCkpCiAgICAgICAgIG1fc3RhY2sgPSBTdGFja0JvdW5kczo6Y3VycmVudFRocmVhZFN0YWNrQm91
bmRzKCk7CiAgICAgbV9zYXZlZExhc3RTdGFja1RvcCA9IHN0YWNrKCkub3JpZ2luKCk7Ci0gICAg
QXRvbWljU3RyaW5nVGFibGU6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgbV9jdXJyZW50QXRvbWljU3Ry
aW5nVGFibGUgPSBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZTsKKworICAgIG1fY3VycmVudEF0
b21pY1N0cmluZ1RhYmxlID0gJm1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlOworI2lmIFVTRShX
RUJfVEhSRUFEKQorICAgIC8vIE9uIGlPUywgb25lIEF0b21pY1N0cmluZ1RhYmxlIGlzIHNoYXJl
ZCBiZXR3ZWVuIHRoZSBtYWluIFVJIHRocmVhZCBhbmQgdGhlIFdlYlRocmVhZC4KKyAgICBzdGF0
aWMgQXRvbWljU3RyaW5nVGFibGUqIHNoYXJlZFN0cmluZ1RhYmxlID0gbmV3IEF0b21pY1N0cmlu
Z1RhYmxlOworCisgICAgaWYgKGlzV2ViVGhyZWFkKCkgfHwgaXNVSVRocmVhZCgpKQorICAgICAg
ICBtX2N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSA9IHNoYXJlZFN0cmluZ1RhYmxlOworI2VuZGlm
IC8vIFVTRShXRUJfVEhSRUFEKQogfQogCiB2b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJl
YWRDb250ZXh0KiBuZXdUaHJlYWRDb250ZXh0KQpAQCAtMTk2LDggKzIwMyw2IEBAIHZvaWQgVGhy
ZWFkOjpkaWRFeGl0KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIEF0b21pY1N0cmluZ1RhYmxl
OjpkZXN0cm95KG1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlKTsKLQogICAgIC8vIFdlIHdvdWxk
IGxpa2UgdG8gc2F5ICJ0aHJlYWQgaXMgZXhpdGVkIiBhZnRlciB1bnJlZ2lzdGVyaW5nIHRocmVh
ZHMgZnJvbSB0aHJlYWQgZ3JvdXBzLgogICAgIC8vIFNvIHdlIG5lZWQgdG8gc2VwYXJhdGUgbV9p
c1NodXR0aW5nRG93biBmcm9tIG1fZGlkRXhpdC4KICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2Nr
KG1fbXV0ZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAppbmRleCA0N2UwMTlmYjk1Yzg4ZDQ1NGZjMWI1NGY5MTRk
NjMzZjU3YjY0NDE3Li45NTgyMTllODk0N2VjMWFjYjRiNjE0NmFhNWZmZTkwZGY2MWRkYWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuaApAQCAtMjkwLDcgKzI5MCw3IEBAIGNsYXNzIFRocmVhZCA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxUaHJlYWQ+IHsKICNlbmRpZgogCiAgICAgQXRvbWljU3RyaW5n
VGFibGUqIG1fY3VycmVudEF0b21pY1N0cmluZ1RhYmxlIHsgbnVsbHB0ciB9OwotICAgIEF0b21p
Y1N0cmluZ1RhYmxlKiBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZSB7IG51bGxwdHIgfTsKKyAg
ICBBdG9taWNTdHJpbmdUYWJsZSBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZTsKIAogI2lmIEVO
QUJMRShTVEFDS19TVEFUUykKICAgICBTdGFja1N0YXRzOjpQZXJUaHJlYWRTdGF0cyBtX3N0YWNr
U3RhdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxl
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nVGFibGUuY3BwCmluZGV4IGQ0
MjJiMDU0ZWI2ODg0NjM1OGFjN2NhYjI1MGMyMDA4ZjU1MmVjNDMuLmYwNjMwZDliZmVhODIzZTUx
MWE5MDM0YjJkYTQzMmYyYmRkNzgxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
QXRvbWljU3RyaW5nVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3Ry
aW5nVGFibGUuY3BwCkBAIC0yOSwzNSArMjksMTAgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXZv
aWQgQXRvbWljU3RyaW5nVGFibGU6OmNyZWF0ZShUaHJlYWQmIHRocmVhZCkKLXsKLSNpZiBVU0Uo
V0VCX1RIUkVBRCkKLSAgICAvLyBPbiBpT1MsIG9uZSBBdG9taWNTdHJpbmdUYWJsZSBpcyBzaGFy
ZWQgYmV0d2VlbiB0aGUgbWFpbiBVSSB0aHJlYWQgYW5kIHRoZSBXZWJUaHJlYWQuCi0gICAgc3Rh
dGljIEF0b21pY1N0cmluZ1RhYmxlKiBzaGFyZWRTdHJpbmdUYWJsZSA9IG5ldyBBdG9taWNTdHJp
bmdUYWJsZTsKLQotICAgIGlmIChpc1dlYlRocmVhZCgpIHx8IGlzVUlUaHJlYWQoKSkgewotICAg
ICAgICB0aHJlYWQubV9kZWZhdWx0QXRvbWljU3RyaW5nVGFibGUgPSBzaGFyZWRTdHJpbmdUYWJs
ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZiAvLyBVU0UoV0VCX1RIUkVBRCkKLSAg
ICB0aHJlYWQubV9kZWZhdWx0QXRvbWljU3RyaW5nVGFibGUgPSBuZXcgQXRvbWljU3RyaW5nVGFi
bGU7Ci19Ci0KIEF0b21pY1N0cmluZ1RhYmxlOjp+QXRvbWljU3RyaW5nVGFibGUoKQogewogICAg
IGZvciAoYXV0byogc3RyaW5nIDogbV90YWJsZSkKICAgICAgICAgc3RyaW5nLT5zZXRJc0F0b21p
YyhmYWxzZSk7CiB9CiAKLXZvaWQgQXRvbWljU3RyaW5nVGFibGU6OmRlc3Ryb3koQXRvbWljU3Ry
aW5nVGFibGUqIHRhYmxlKQotewotI2lmIFVTRShXRUJfVEhSRUFEKQotICAgIC8vIFdlIGRvIHRo
ZSBmb2xsb3dpbmcgc28gdGhhdCBkZXN0cnVjdGlvbiBvZiBkZWZhdWx0IGF0b21pYyBzdHJpbmcg
dGFibGUgaGFwcGVucyBvbmx5Ci0gICAgLy8gb25jZSAtIG9uIHRoZSBtYWluIFVJIHRocmVhZC4K
LSAgICBpZiAoaXNXZWJUaHJlYWQoKSkKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmIC8vIFVTRShX
RUJfVEhSRUFEKQotICAgIGRlbGV0ZSB0YWJsZTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5oIGIvU291cmNlL1dURi93dGYvdGV4dC9B
dG9taWNTdHJpbmdUYWJsZS5oCmluZGV4IDRmZDk3ZjI1Y2I3ZTliOTRkMWQyNGUxMDY4YzViMjEx
ODlkNzMwMTMuLmExMGE1NTRhMWQzMmEyYTRlYWMzY2VlY2YyNTI1NWI2YWM2MmQ1NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nVGFibGUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmgKQEAgLTM2LDggKzM2LDYgQEAgY2xh
c3MgQXRvbWljU3RyaW5nVGFibGUgewogcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB+
QXRvbWljU3RyaW5nVGFibGUoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZShUaHJlYWQmKTsK
LSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEF0b21pY1N0cmluZ1RhYmxlKik7CiAgICAgSGFzaFNl
dDxTdHJpbmdJbXBsKj4mIHRhYmxlKCkgeyByZXR1cm4gbV90YWJsZTsgfQogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339643</attachid>
            <date>2018-05-05 02:47:06 -0700</date>
            <delta_ts>2018-05-05 02:48:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185349-20180505184705.patch</filename>
            <type>text/plain</type>
            <size>5534</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIyYmVhNzVjMDRkOTczMmIxNWU1YTY0
ZGFmOWQzYTdjZDY1YzJkMTEuLjUzNDIxZGUzYzA2NGE2NWMzNGE2ZmYwZWFjZTZhNWJiODllZGNk
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgtMDUtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gRW1iZWQgZGVmYXVsdCBhdG9taWMg
c3RyaW5nIHRhYmxlIGluIFRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRG8gbm90IG5lZWQgdG8gYWxsb2NhdGUgQXRvbWljU3RyaW5nVGFibGUg
c2VwYXJhdGVseSBmcm9tIFRocmVhZAorICAgICAgICBzaW5jZSB0aGUgdGFibGUncyBsaWZldGlt
ZSBpcyBjb21wbGV0ZWx5IHRoZSBzYW1lIHRvIFRocmVhZC4KKworICAgICAgICBUaGlzIHBhdGNo
IGp1c3QgZW1iZWRzIGl0IGludG8gVGhyZWFkJ3MgZmllbGQuCisKKyAgICAgICAgKiB3dGYvVGhy
ZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjppbml0aWFsaXplSW5UaHJlYWQpOgor
ICAgICAgICAoV1RGOjpUaHJlYWQ6OmRpZEV4aXQpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcu
aDoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHA6CisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ1RhYmxlOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdUYWJsZTo6ZGVzdHJveSk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL3RleHQv
QXRvbWljU3RyaW5nVGFibGUuaDoKKwogMjAxOC0wNS0wNCAgVGltIEhvcnRvbiAgPHRpbW90aHlf
aG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGlmdCB0byBhIGxvd2VyLWxldmVsIGZyYW1l
d29yayBmb3Igc2ltcGxpZnlpbmcgVVJMcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhy
ZWFkaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggZDRjZTRmYzUy
NjRlZTVjMjliZWE2YWQxNjFjMDM5OGVlNDgwNjYzYS4uZTQxZTcxYTU4NTg5MGNlNTZmNWZiMTc5
ZTFmMTY3NWIzM2I3MDc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC05OCw4ICs5OCwxNSBAQCB2
b2lkIFRocmVhZDo6aW5pdGlhbGl6ZUluVGhyZWFkKCkKICAgICBpZiAobV9zdGFjay5pc0VtcHR5
KCkpCiAgICAgICAgIG1fc3RhY2sgPSBTdGFja0JvdW5kczo6Y3VycmVudFRocmVhZFN0YWNrQm91
bmRzKCk7CiAgICAgbV9zYXZlZExhc3RTdGFja1RvcCA9IHN0YWNrKCkub3JpZ2luKCk7Ci0gICAg
QXRvbWljU3RyaW5nVGFibGU6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgbV9jdXJyZW50QXRvbWljU3Ry
aW5nVGFibGUgPSBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZTsKKworICAgIG1fY3VycmVudEF0
b21pY1N0cmluZ1RhYmxlID0gJm1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlOworI2lmIFVTRShX
RUJfVEhSRUFEKQorICAgIC8vIE9uIGlPUywgb25lIEF0b21pY1N0cmluZ1RhYmxlIGlzIHNoYXJl
ZCBiZXR3ZWVuIHRoZSBtYWluIFVJIHRocmVhZCBhbmQgdGhlIFdlYlRocmVhZC4KKyAgICBzdGF0
aWMgQXRvbWljU3RyaW5nVGFibGUqIHNoYXJlZFN0cmluZ1RhYmxlID0gbmV3IEF0b21pY1N0cmlu
Z1RhYmxlOworCisgICAgaWYgKGlzV2ViVGhyZWFkKCkgfHwgaXNVSVRocmVhZCgpKQorICAgICAg
ICBtX2N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSA9IHNoYXJlZFN0cmluZ1RhYmxlOworI2VuZGlm
IC8vIFVTRShXRUJfVEhSRUFEKQogfQogCiB2b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJl
YWRDb250ZXh0KiBuZXdUaHJlYWRDb250ZXh0KQpAQCAtMTk2LDggKzIwMyw2IEBAIHZvaWQgVGhy
ZWFkOjpkaWRFeGl0KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIEF0b21pY1N0cmluZ1RhYmxl
OjpkZXN0cm95KG1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlKTsKLQogICAgIC8vIFdlIHdvdWxk
IGxpa2UgdG8gc2F5ICJ0aHJlYWQgaXMgZXhpdGVkIiBhZnRlciB1bnJlZ2lzdGVyaW5nIHRocmVh
ZHMgZnJvbSB0aHJlYWQgZ3JvdXBzLgogICAgIC8vIFNvIHdlIG5lZWQgdG8gc2VwYXJhdGUgbV9p
c1NodXR0aW5nRG93biBmcm9tIG1fZGlkRXhpdC4KICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2Nr
KG1fbXV0ZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAppbmRleCA0N2UwMTlmYjk1Yzg4ZDQ1NGZjMWI1NGY5MTRk
NjMzZjU3YjY0NDE3Li5kMDIwMTA0ZmJmY2I5YWNhOGI1M2UwNWQ3NDlmOGEyM2E1MjM0NmM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1
ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL0F0
b21pY1N0cmluZ1RhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0V4cGVjdGVkLmg+CiAjaW5jbHVkZSA8
d3RmL0Zhc3RUTFMuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KQEAgLTU0LDcgKzU1LDYg
QEAKIG5hbWVzcGFjZSBXVEYgewogCiBjbGFzcyBBYnN0cmFjdExvY2tlcjsKLWNsYXNzIEF0b21p
Y1N0cmluZ1RhYmxlOwogY2xhc3MgVGhyZWFkTWVzc2FnZURhdGE7CiAKIGVudW0gY2xhc3MgVGhy
ZWFkR3JvdXBBZGRSZXN1bHQ7CkBAIC03Nyw3ICs3Nyw2IEBAIFdURl9FWFBPUlRfUFJJVkFURSBp
bnQgd2FpdEZvclRocmVhZENvbXBsZXRpb24oVGhyZWFkSWRlbnRpZmllcik7CiBjbGFzcyBUaHJl
YWQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8VGhyZWFkPiB7CiBwdWJsaWM6CiAgICAg
ZnJpZW5kIGNsYXNzIFRocmVhZEdyb3VwOwotICAgIGZyaWVuZCBjbGFzcyBBdG9taWNTdHJpbmdU
YWJsZTsKICAgICBmcmllbmQgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRocmVh
ZGluZygpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgZnJpZW5kIFdURl9FWFBPUlRfUFJJVkFURSBp
bnQgd2FpdEZvclRocmVhZENvbXBsZXRpb24oVGhyZWFkSWRlbnRpZmllcik7CkBAIC0yOTAsNyAr
Mjg5LDcgQEAgY2xhc3MgVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVh
ZD4gewogI2VuZGlmCiAKICAgICBBdG9taWNTdHJpbmdUYWJsZSogbV9jdXJyZW50QXRvbWljU3Ry
aW5nVGFibGUgeyBudWxscHRyIH07Ci0gICAgQXRvbWljU3RyaW5nVGFibGUqIG1fZGVmYXVsdEF0
b21pY1N0cmluZ1RhYmxlIHsgbnVsbHB0ciB9OworICAgIEF0b21pY1N0cmluZ1RhYmxlIG1fZGVm
YXVsdEF0b21pY1N0cmluZ1RhYmxlOwogCiAjaWYgRU5BQkxFKFNUQUNLX1NUQVRTKQogICAgIFN0
YWNrU3RhdHM6OlBlclRocmVhZFN0YXRzIG1fc3RhY2tTdGF0czsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nVGFibGUuY3BwIGIvU291cmNlL1dURi93dGYvdGV4
dC9BdG9taWNTdHJpbmdUYWJsZS5jcHAKaW5kZXggZDQyMmIwNTRlYjY4ODQ2MzU4YWM3Y2FiMjUw
YzIwMDhmNTUyZWM0My4uZjA2MzBkOWJmZWE4MjNlNTExYTkwMzRiMmRhNDMyZjJiZGQ3ODE2ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHAKQEAgLTI5LDM1ICsy
OSwxMCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdm9pZCBBdG9taWNTdHJpbmdUYWJsZTo6Y3Jl
YXRlKFRocmVhZCYgdGhyZWFkKQotewotI2lmIFVTRShXRUJfVEhSRUFEKQotICAgIC8vIE9uIGlP
Uywgb25lIEF0b21pY1N0cmluZ1RhYmxlIGlzIHNoYXJlZCBiZXR3ZWVuIHRoZSBtYWluIFVJIHRo
cmVhZCBhbmQgdGhlIFdlYlRocmVhZC4KLSAgICBzdGF0aWMgQXRvbWljU3RyaW5nVGFibGUqIHNo
YXJlZFN0cmluZ1RhYmxlID0gbmV3IEF0b21pY1N0cmluZ1RhYmxlOwotCi0gICAgaWYgKGlzV2Vi
VGhyZWFkKCkgfHwgaXNVSVRocmVhZCgpKSB7Ci0gICAgICAgIHRocmVhZC5tX2RlZmF1bHRBdG9t
aWNTdHJpbmdUYWJsZSA9IHNoYXJlZFN0cmluZ1RhYmxlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmIC8vIFVTRShXRUJfVEhSRUFEKQotICAgIHRocmVhZC5tX2RlZmF1bHRBdG9taWNT
dHJpbmdUYWJsZSA9IG5ldyBBdG9taWNTdHJpbmdUYWJsZTsKLX0KLQogQXRvbWljU3RyaW5nVGFi
bGU6On5BdG9taWNTdHJpbmdUYWJsZSgpCiB7CiAgICAgZm9yIChhdXRvKiBzdHJpbmcgOiBtX3Rh
YmxlKQogICAgICAgICBzdHJpbmctPnNldElzQXRvbWljKGZhbHNlKTsKIH0KIAotdm9pZCBBdG9t
aWNTdHJpbmdUYWJsZTo6ZGVzdHJveShBdG9taWNTdHJpbmdUYWJsZSogdGFibGUpCi17Ci0jaWYg
VVNFKFdFQl9USFJFQUQpCi0gICAgLy8gV2UgZG8gdGhlIGZvbGxvd2luZyBzbyB0aGF0IGRlc3Ry
dWN0aW9uIG9mIGRlZmF1bHQgYXRvbWljIHN0cmluZyB0YWJsZSBoYXBwZW5zIG9ubHkKLSAgICAv
LyBvbmNlIC0gb24gdGhlIG1haW4gVUkgdGhyZWFkLgotICAgIGlmIChpc1dlYlRocmVhZCgpKQot
ICAgICAgICByZXR1cm47Ci0jZW5kaWYgLy8gVVNFKFdFQl9USFJFQUQpCi0gICAgZGVsZXRlIHRh
YmxlOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmlu
Z1RhYmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmgKaW5kZXgg
NGZkOTdmMjVjYjdlOWI5NGQxZDI0ZTEwNjhjNWIyMTE4OWQ3MzAxMy4uNmI1N2Y3YzEwZWIzNjZl
OTk5NDMyYjM0MDdkODhjNzc0ZWI0Y2QzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4
dC9BdG9taWNTdHJpbmdUYWJsZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3Ry
aW5nVGFibGUuaApAQCAtMjksMTUgKzI5LDEyIEBACiBuYW1lc3BhY2UgV1RGIHsKIAogY2xhc3Mg
U3RyaW5nSW1wbDsKLWNsYXNzIFRocmVhZDsKIAogY2xhc3MgQXRvbWljU3RyaW5nVGFibGUgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJ
VkFURSB+QXRvbWljU3RyaW5nVGFibGUoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZShUaHJl
YWQmKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEF0b21pY1N0cmluZ1RhYmxlKik7CiAgICAg
SGFzaFNldDxTdHJpbmdJbXBsKj4mIHRhYmxlKCkgeyByZXR1cm4gbV90YWJsZTsgfQogCiBwcml2
YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339644</attachid>
            <date>2018-05-05 02:48:15 -0700</date>
            <delta_ts>2018-05-06 19:49:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185349-20180505184814.patch</filename>
            <type>text/plain</type>
            <size>5536</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIyYmVhNzVjMDRkOTczMmIxNWU1YTY0
ZGFmOWQzYTdjZDY1YzJkMTEuLjUzNDIxZGUzYzA2NGE2NWMzNGE2ZmYwZWFjZTZhNWJiODllZGNk
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgtMDUtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gRW1iZWQgZGVmYXVsdCBhdG9taWMg
c3RyaW5nIHRhYmxlIGluIFRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRG8gbm90IG5lZWQgdG8gYWxsb2NhdGUgQXRvbWljU3RyaW5nVGFibGUg
c2VwYXJhdGVseSBmcm9tIFRocmVhZAorICAgICAgICBzaW5jZSB0aGUgdGFibGUncyBsaWZldGlt
ZSBpcyBjb21wbGV0ZWx5IHRoZSBzYW1lIHRvIFRocmVhZC4KKworICAgICAgICBUaGlzIHBhdGNo
IGp1c3QgZW1iZWRzIGl0IGludG8gVGhyZWFkJ3MgZmllbGQuCisKKyAgICAgICAgKiB3dGYvVGhy
ZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjppbml0aWFsaXplSW5UaHJlYWQpOgor
ICAgICAgICAoV1RGOjpUaHJlYWQ6OmRpZEV4aXQpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcu
aDoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHA6CisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ1RhYmxlOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpB
dG9taWNTdHJpbmdUYWJsZTo6ZGVzdHJveSk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL3RleHQv
QXRvbWljU3RyaW5nVGFibGUuaDoKKwogMjAxOC0wNS0wNCAgVGltIEhvcnRvbiAgPHRpbW90aHlf
aG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGlmdCB0byBhIGxvd2VyLWxldmVsIGZyYW1l
d29yayBmb3Igc2ltcGxpZnlpbmcgVVJMcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhy
ZWFkaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggZDRjZTRmYzUy
NjRlZTVjMjliZWE2YWQxNjFjMDM5OGVlNDgwNjYzYS4uZTQxZTcxYTU4NTg5MGNlNTZmNWZiMTc5
ZTFmMTY3NWIzM2I3MDc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC05OCw4ICs5OCwxNSBAQCB2
b2lkIFRocmVhZDo6aW5pdGlhbGl6ZUluVGhyZWFkKCkKICAgICBpZiAobV9zdGFjay5pc0VtcHR5
KCkpCiAgICAgICAgIG1fc3RhY2sgPSBTdGFja0JvdW5kczo6Y3VycmVudFRocmVhZFN0YWNrQm91
bmRzKCk7CiAgICAgbV9zYXZlZExhc3RTdGFja1RvcCA9IHN0YWNrKCkub3JpZ2luKCk7Ci0gICAg
QXRvbWljU3RyaW5nVGFibGU6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgbV9jdXJyZW50QXRvbWljU3Ry
aW5nVGFibGUgPSBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZTsKKworICAgIG1fY3VycmVudEF0
b21pY1N0cmluZ1RhYmxlID0gJm1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlOworI2lmIFVTRShX
RUJfVEhSRUFEKQorICAgIC8vIE9uIGlPUywgb25lIEF0b21pY1N0cmluZ1RhYmxlIGlzIHNoYXJl
ZCBiZXR3ZWVuIHRoZSBtYWluIFVJIHRocmVhZCBhbmQgdGhlIFdlYlRocmVhZC4KKyAgICBzdGF0
aWMgQXRvbWljU3RyaW5nVGFibGUqIHNoYXJlZFN0cmluZ1RhYmxlID0gbmV3IEF0b21pY1N0cmlu
Z1RhYmxlOworCisgICAgaWYgKGlzV2ViVGhyZWFkKCkgfHwgaXNVSVRocmVhZCgpKQorICAgICAg
ICBtX2N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSA9IHNoYXJlZFN0cmluZ1RhYmxlOworI2VuZGlm
IC8vIFVTRShXRUJfVEhSRUFEKQogfQogCiB2b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJl
YWRDb250ZXh0KiBuZXdUaHJlYWRDb250ZXh0KQpAQCAtMTk2LDggKzIwMyw2IEBAIHZvaWQgVGhy
ZWFkOjpkaWRFeGl0KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIEF0b21pY1N0cmluZ1RhYmxl
OjpkZXN0cm95KG1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlKTsKLQogICAgIC8vIFdlIHdvdWxk
IGxpa2UgdG8gc2F5ICJ0aHJlYWQgaXMgZXhpdGVkIiBhZnRlciB1bnJlZ2lzdGVyaW5nIHRocmVh
ZHMgZnJvbSB0aHJlYWQgZ3JvdXBzLgogICAgIC8vIFNvIHdlIG5lZWQgdG8gc2VwYXJhdGUgbV9p
c1NodXR0aW5nRG93biBmcm9tIG1fZGlkRXhpdC4KICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2Nr
KG1fbXV0ZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAppbmRleCA0N2UwMTlmYjk1Yzg4ZDQ1NGZjMWI1NGY5MTRk
NjMzZjU3YjY0NDE3Li5hYTY2MzA1NzNjNjBkOTgyN2JkZTA4MjU5MGVmZmZhZGU3YmFkMGZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuaApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVj
aWZpYy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvV29yZExvY2su
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5oPgogCiAjaWYgVVNFKFBU
SFJFQURTKSAmJiAhT1MoREFSV0lOKQogI2luY2x1ZGUgPHNpZ25hbC5oPgpAQCAtNTQsNyArNTUs
NiBAQAogbmFtZXNwYWNlIFdURiB7CiAKIGNsYXNzIEFic3RyYWN0TG9ja2VyOwotY2xhc3MgQXRv
bWljU3RyaW5nVGFibGU7CiBjbGFzcyBUaHJlYWRNZXNzYWdlRGF0YTsKIAogZW51bSBjbGFzcyBU
aHJlYWRHcm91cEFkZFJlc3VsdDsKQEAgLTc3LDcgKzc3LDYgQEAgV1RGX0VYUE9SVF9QUklWQVRF
IGludCB3YWl0Rm9yVGhyZWFkQ29tcGxldGlvbihUaHJlYWRJZGVudGlmaWVyKTsKIGNsYXNzIFRo
cmVhZCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxUaHJlYWQ+IHsKIHB1YmxpYzoKICAg
ICBmcmllbmQgY2xhc3MgVGhyZWFkR3JvdXA7Ci0gICAgZnJpZW5kIGNsYXNzIEF0b21pY1N0cmlu
Z1RhYmxlOwogICAgIGZyaWVuZCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBpbml0aWFsaXplVGhy
ZWFkaW5nKCk7CiAjaWYgT1MoV0lORE9XUykKICAgICBmcmllbmQgV1RGX0VYUE9SVF9QUklWQVRF
IGludCB3YWl0Rm9yVGhyZWFkQ29tcGxldGlvbihUaHJlYWRJZGVudGlmaWVyKTsKQEAgLTI5MCw3
ICsyODksNyBAQCBjbGFzcyBUaHJlYWQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8VGhy
ZWFkPiB7CiAjZW5kaWYKIAogICAgIEF0b21pY1N0cmluZ1RhYmxlKiBtX2N1cnJlbnRBdG9taWNT
dHJpbmdUYWJsZSB7IG51bGxwdHIgfTsKLSAgICBBdG9taWNTdHJpbmdUYWJsZSogbV9kZWZhdWx0
QXRvbWljU3RyaW5nVGFibGUgeyBudWxscHRyIH07CisgICAgQXRvbWljU3RyaW5nVGFibGUgbV9k
ZWZhdWx0QXRvbWljU3RyaW5nVGFibGU7CiAKICNpZiBFTkFCTEUoU1RBQ0tfU1RBVFMpCiAgICAg
U3RhY2tTdGF0czo6UGVyVGhyZWFkU3RhdHMgbV9zdGFja1N0YXRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmNwcAppbmRleCBkNDIyYjA1NGViNjg4NDYzNThhYzdjYWIy
NTBjMjAwOGY1NTJlYzQzLi5mMDYzMGQ5YmZlYTgyM2U1MTFhOTAzNGIyZGE0MzJmMmJkZDc4MTZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmNwcApAQCAtMjksMzUg
KzI5LDEwIEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi12b2lkIEF0b21pY1N0cmluZ1RhYmxlOjpj
cmVhdGUoVGhyZWFkJiB0aHJlYWQpCi17Ci0jaWYgVVNFKFdFQl9USFJFQUQpCi0gICAgLy8gT24g
aU9TLCBvbmUgQXRvbWljU3RyaW5nVGFibGUgaXMgc2hhcmVkIGJldHdlZW4gdGhlIG1haW4gVUkg
dGhyZWFkIGFuZCB0aGUgV2ViVGhyZWFkLgotICAgIHN0YXRpYyBBdG9taWNTdHJpbmdUYWJsZSog
c2hhcmVkU3RyaW5nVGFibGUgPSBuZXcgQXRvbWljU3RyaW5nVGFibGU7Ci0KLSAgICBpZiAoaXNX
ZWJUaHJlYWQoKSB8fCBpc1VJVGhyZWFkKCkpIHsKLSAgICAgICAgdGhyZWFkLm1fZGVmYXVsdEF0
b21pY1N0cmluZ1RhYmxlID0gc2hhcmVkU3RyaW5nVGFibGU7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0jZW5kaWYgLy8gVVNFKFdFQl9USFJFQUQpCi0gICAgdGhyZWFkLm1fZGVmYXVsdEF0b21p
Y1N0cmluZ1RhYmxlID0gbmV3IEF0b21pY1N0cmluZ1RhYmxlOwotfQotCiBBdG9taWNTdHJpbmdU
YWJsZTo6fkF0b21pY1N0cmluZ1RhYmxlKCkKIHsKICAgICBmb3IgKGF1dG8qIHN0cmluZyA6IG1f
dGFibGUpCiAgICAgICAgIHN0cmluZy0+c2V0SXNBdG9taWMoZmFsc2UpOwogfQogCi12b2lkIEF0
b21pY1N0cmluZ1RhYmxlOjpkZXN0cm95KEF0b21pY1N0cmluZ1RhYmxlKiB0YWJsZSkKLXsKLSNp
ZiBVU0UoV0VCX1RIUkVBRCkKLSAgICAvLyBXZSBkbyB0aGUgZm9sbG93aW5nIHNvIHRoYXQgZGVz
dHJ1Y3Rpb24gb2YgZGVmYXVsdCBhdG9taWMgc3RyaW5nIHRhYmxlIGhhcHBlbnMgb25seQotICAg
IC8vIG9uY2UgLSBvbiB0aGUgbWFpbiBVSSB0aHJlYWQuCi0gICAgaWYgKGlzV2ViVGhyZWFkKCkp
Ci0gICAgICAgIHJldHVybjsKLSNlbmRpZiAvLyBVU0UoV0VCX1RIUkVBRCkKLSAgICBkZWxldGUg
dGFibGU7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3Ry
aW5nVGFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nVGFibGUuaAppbmRl
eCA0ZmQ5N2YyNWNiN2U5Yjk0ZDFkMjRlMTA2OGM1YjIxMTg5ZDczMDEzLi42YjU3ZjdjMTBlYjM2
NmU5OTk0MzJiMzQwN2Q4OGM3NzRlYjRjZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNT
dHJpbmdUYWJsZS5oCkBAIC0yOSwxNSArMjksMTIgQEAKIG5hbWVzcGFjZSBXVEYgewogCiBjbGFz
cyBTdHJpbmdJbXBsOwotY2xhc3MgVGhyZWFkOwogCiBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZSB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9Q
UklWQVRFIH5BdG9taWNTdHJpbmdUYWJsZSgpOwogCi0gICAgc3RhdGljIHZvaWQgY3JlYXRlKFRo
cmVhZCYpOwotICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koQXRvbWljU3RyaW5nVGFibGUqKTsKICAg
ICBIYXNoU2V0PFN0cmluZ0ltcGwqPiYgdGFibGUoKSB7IHJldHVybiBtX3RhYmxlOyB9CiAKIHBy
aXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339702</attachid>
            <date>2018-05-06 19:49:57 -0700</date>
            <delta_ts>2018-05-06 22:20:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185349-20180507114956.patch</filename>
            <type>text/plain</type>
            <size>5531</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGIyYmVhNzVjMDRkOTczMmIxNWU1YTY0
ZGFmOWQzYTdjZDY1YzJkMTEuLjYxM2ZhZGQzZTNhMzFlMDM1MmZlNGU3M2UzZTBhMTQ5M2YzMmJh
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgtMDUtMDYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gRW1iZWQgZGVmYXVsdCBhdG9taWMg
c3RyaW5nIHRhYmxlIGluIFRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRG8gbm90IG5lZWQgdG8gYWxsb2NhdGUgQXRvbWljU3RyaW5nVGFibGUg
c2VwYXJhdGUgZnJvbSBUaHJlYWQKKyAgICAgICAgc2luY2UgdGhlIHRhYmxlJ3MgbGlmZXRpbWUg
aXMgY29tcGxldGVseSB0aGUgc2FtZSBhcyBUaHJlYWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBq
dXN0IGVtYmVkcyBpdCBhcyBhIGRhdGEgbWVtYmVyIG9mIFRocmVhZC4KKworICAgICAgICAqIHd0
Zi9UaHJlYWRpbmcuY3BwOgorICAgICAgICAoV1RGOjpUaHJlYWQ6OmluaXRpYWxpemVJblRocmVh
ZCk6CisgICAgICAgIChXVEY6OlRocmVhZDo6ZGlkRXhpdCk6CisgICAgICAgICogd3RmL1RocmVh
ZGluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmNwcDoKKyAgICAg
ICAgKFdURjo6QXRvbWljU3RyaW5nVGFibGU6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ1RhYmxlOjpkZXN0cm95KTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYv
dGV4dC9BdG9taWNTdHJpbmdUYWJsZS5oOgorCiAyMDE4LTA1LTA0ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNoaWZ0IHRvIGEgbG93ZXItbGV2ZWwg
ZnJhbWV3b3JrIGZvciBzaW1wbGlmeWluZyBVUkxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAppbmRleCBkNGNl
NGZjNTI2NGVlNWMyOWJlYTZhZDE2MWMwMzk4ZWU0ODA2NjNhLi4wNzhmNzNhYzgxMDBlODlmNzJm
MjAwNGVmZGQwMDU1MDQ0MTRiZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRp
bmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKQEAgLTk4LDggKzk4LDE1
IEBAIHZvaWQgVGhyZWFkOjppbml0aWFsaXplSW5UaHJlYWQoKQogICAgIGlmIChtX3N0YWNrLmlz
RW1wdHkoKSkKICAgICAgICAgbV9zdGFjayA9IFN0YWNrQm91bmRzOjpjdXJyZW50VGhyZWFkU3Rh
Y2tCb3VuZHMoKTsKICAgICBtX3NhdmVkTGFzdFN0YWNrVG9wID0gc3RhY2soKS5vcmlnaW4oKTsK
LSAgICBBdG9taWNTdHJpbmdUYWJsZTo6Y3JlYXRlKCp0aGlzKTsKLSAgICBtX2N1cnJlbnRBdG9t
aWNTdHJpbmdUYWJsZSA9IG1fZGVmYXVsdEF0b21pY1N0cmluZ1RhYmxlOworCisgICAgbV9jdXJy
ZW50QXRvbWljU3RyaW5nVGFibGUgPSAmbV9kZWZhdWx0QXRvbWljU3RyaW5nVGFibGU7CisjaWYg
VVNFKFdFQl9USFJFQUQpCisgICAgLy8gT24gaU9TLCBvbmUgQXRvbWljU3RyaW5nVGFibGUgaXMg
c2hhcmVkIGJldHdlZW4gdGhlIG1haW4gVUkgdGhyZWFkIGFuZCB0aGUgV2ViVGhyZWFkLgorICAg
IGlmIChpc1dlYlRocmVhZCgpIHx8IGlzVUlUaHJlYWQoKSkgeworICAgICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nVGFibGU+IHNoYXJlZFN0cmluZ1RhYmxlOworICAgICAg
ICBtX2N1cnJlbnRBdG9taWNTdHJpbmdUYWJsZSA9ICZzaGFyZWRTdHJpbmdUYWJsZS5nZXQoKTsK
KyAgICB9CisjZW5kaWYKIH0KIAogdm9pZCBUaHJlYWQ6OmVudHJ5UG9pbnQoTmV3VGhyZWFkQ29u
dGV4dCogbmV3VGhyZWFkQ29udGV4dCkKQEAgLTE5Niw4ICsyMDMsNiBAQCB2b2lkIFRocmVhZDo6
ZGlkRXhpdCgpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBBdG9taWNTdHJpbmdUYWJsZTo6ZGVz
dHJveShtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZSk7Ci0KICAgICAvLyBXZSB3b3VsZCBsaWtl
IHRvIHNheSAidGhyZWFkIGlzIGV4aXRlZCIgYWZ0ZXIgdW5yZWdpc3RlcmluZyB0aHJlYWRzIGZy
b20gdGhyZWFkIGdyb3Vwcy4KICAgICAvLyBTbyB3ZSBuZWVkIHRvIHNlcGFyYXRlIG1faXNTaHV0
dGluZ0Rvd24gZnJvbSBtX2RpZEV4aXQuCiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211
dGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oIGIvU291cmNlL1dU
Ri93dGYvVGhyZWFkaW5nLmgKaW5kZXggNDdlMDE5ZmI5NWM4OGQ0NTRmYzFiNTRmOTE0ZDYzM2Y1
N2I2NDQxNy4uYWE2NjMwNTczYzYwZDk4MjdiZGUwODI1OTBlZmZmYWRlN2JhZDBmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhy
ZWFkaW5nLmgKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmRMb2NrLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nVGFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFE
UykgJiYgIU9TKERBUldJTikKICNpbmNsdWRlIDxzaWduYWwuaD4KQEAgLTU0LDcgKzU1LDYgQEAK
IG5hbWVzcGFjZSBXVEYgewogCiBjbGFzcyBBYnN0cmFjdExvY2tlcjsKLWNsYXNzIEF0b21pY1N0
cmluZ1RhYmxlOwogY2xhc3MgVGhyZWFkTWVzc2FnZURhdGE7CiAKIGVudW0gY2xhc3MgVGhyZWFk
R3JvdXBBZGRSZXN1bHQ7CkBAIC03Nyw3ICs3Nyw2IEBAIFdURl9FWFBPUlRfUFJJVkFURSBpbnQg
d2FpdEZvclRocmVhZENvbXBsZXRpb24oVGhyZWFkSWRlbnRpZmllcik7CiBjbGFzcyBUaHJlYWQg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8VGhyZWFkPiB7CiBwdWJsaWM6CiAgICAgZnJp
ZW5kIGNsYXNzIFRocmVhZEdyb3VwOwotICAgIGZyaWVuZCBjbGFzcyBBdG9taWNTdHJpbmdUYWJs
ZTsKICAgICBmcmllbmQgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgZnJpZW5kIFdURl9FWFBPUlRfUFJJVkFURSBpbnQg
d2FpdEZvclRocmVhZENvbXBsZXRpb24oVGhyZWFkSWRlbnRpZmllcik7CkBAIC0yOTAsNyArMjg5
LDcgQEAgY2xhc3MgVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVhZD4g
ewogI2VuZGlmCiAKICAgICBBdG9taWNTdHJpbmdUYWJsZSogbV9jdXJyZW50QXRvbWljU3RyaW5n
VGFibGUgeyBudWxscHRyIH07Ci0gICAgQXRvbWljU3RyaW5nVGFibGUqIG1fZGVmYXVsdEF0b21p
Y1N0cmluZ1RhYmxlIHsgbnVsbHB0ciB9OworICAgIEF0b21pY1N0cmluZ1RhYmxlIG1fZGVmYXVs
dEF0b21pY1N0cmluZ1RhYmxlOwogCiAjaWYgRU5BQkxFKFNUQUNLX1NUQVRTKQogICAgIFN0YWNr
U3RhdHM6OlBlclRocmVhZFN0YXRzIG1fc3RhY2tTdGF0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvQXRvbWljU3RyaW5nVGFibGUuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9B
dG9taWNTdHJpbmdUYWJsZS5jcHAKaW5kZXggZDQyMmIwNTRlYjY4ODQ2MzU4YWM3Y2FiMjUwYzIw
MDhmNTUyZWM0My4uZjA2MzBkOWJmZWE4MjNlNTExYTkwMzRiMmRhNDMyZjJiZGQ3ODE2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5jcHAKQEAgLTI5LDM1ICsyOSwx
MCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdm9pZCBBdG9taWNTdHJpbmdUYWJsZTo6Y3JlYXRl
KFRocmVhZCYgdGhyZWFkKQotewotI2lmIFVTRShXRUJfVEhSRUFEKQotICAgIC8vIE9uIGlPUywg
b25lIEF0b21pY1N0cmluZ1RhYmxlIGlzIHNoYXJlZCBiZXR3ZWVuIHRoZSBtYWluIFVJIHRocmVh
ZCBhbmQgdGhlIFdlYlRocmVhZC4KLSAgICBzdGF0aWMgQXRvbWljU3RyaW5nVGFibGUqIHNoYXJl
ZFN0cmluZ1RhYmxlID0gbmV3IEF0b21pY1N0cmluZ1RhYmxlOwotCi0gICAgaWYgKGlzV2ViVGhy
ZWFkKCkgfHwgaXNVSVRocmVhZCgpKSB7Ci0gICAgICAgIHRocmVhZC5tX2RlZmF1bHRBdG9taWNT
dHJpbmdUYWJsZSA9IHNoYXJlZFN0cmluZ1RhYmxlOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
I2VuZGlmIC8vIFVTRShXRUJfVEhSRUFEKQotICAgIHRocmVhZC5tX2RlZmF1bHRBdG9taWNTdHJp
bmdUYWJsZSA9IG5ldyBBdG9taWNTdHJpbmdUYWJsZTsKLX0KLQogQXRvbWljU3RyaW5nVGFibGU6
On5BdG9taWNTdHJpbmdUYWJsZSgpCiB7CiAgICAgZm9yIChhdXRvKiBzdHJpbmcgOiBtX3RhYmxl
KQogICAgICAgICBzdHJpbmctPnNldElzQXRvbWljKGZhbHNlKTsKIH0KIAotdm9pZCBBdG9taWNT
dHJpbmdUYWJsZTo6ZGVzdHJveShBdG9taWNTdHJpbmdUYWJsZSogdGFibGUpCi17Ci0jaWYgVVNF
KFdFQl9USFJFQUQpCi0gICAgLy8gV2UgZG8gdGhlIGZvbGxvd2luZyBzbyB0aGF0IGRlc3RydWN0
aW9uIG9mIGRlZmF1bHQgYXRvbWljIHN0cmluZyB0YWJsZSBoYXBwZW5zIG9ubHkKLSAgICAvLyBv
bmNlIC0gb24gdGhlIG1haW4gVUkgdGhyZWFkLgotICAgIGlmIChpc1dlYlRocmVhZCgpKQotICAg
ICAgICByZXR1cm47Ci0jZW5kaWYgLy8gVVNFKFdFQl9USFJFQUQpCi0gICAgZGVsZXRlIHRhYmxl
OwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1Rh
YmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmgKaW5kZXggNGZk
OTdmMjVjYjdlOWI5NGQxZDI0ZTEwNjhjNWIyMTE4OWQ3MzAxMy4uNmI1N2Y3YzEwZWIzNjZlOTk5
NDMyYjM0MDdkODhjNzc0ZWI0Y2QzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9B
dG9taWNTdHJpbmdUYWJsZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5n
VGFibGUuaApAQCAtMjksMTUgKzI5LDEyIEBACiBuYW1lc3BhY2UgV1RGIHsKIAogY2xhc3MgU3Ry
aW5nSW1wbDsKLWNsYXNzIFRocmVhZDsKIAogY2xhc3MgQXRvbWljU3RyaW5nVGFibGUgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJVkFU
RSB+QXRvbWljU3RyaW5nVGFibGUoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZShUaHJlYWQm
KTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEF0b21pY1N0cmluZ1RhYmxlKik7CiAgICAgSGFz
aFNldDxTdHJpbmdJbXBsKj4mIHRhYmxlKCkgeyByZXR1cm4gbV90YWJsZTsgfQogCiBwcml2YXRl
Ogo=
</data>
<flag name="review"
          id="357935"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>