<?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>136253</bug_id>
          
          <creation_ts>2014-08-26 08:25:28 -0700</creation_ts>
          <short_desc>Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.</short_desc>
          <delta_ts>2014-08-26 20:16:01 -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>Layout and Rendering</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136275</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031379</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-08-26 08:25:28 -0700</bug_when>
    <thetext>ceiledLayoutUnit()
roundedLayoutUnit()

These functions ceil/round float to LayoutUnit. Their usage are limited and can easily be confused with the snapping functions (snap to css/device pixels).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031404</commentid>
    <comment_count>1</comment_count>
      <attachid>237156</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-08-26 10:43:51 -0700</bug_when>
    <thetext>Created attachment 237156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031411</commentid>
    <comment_count>2</comment_count>
      <attachid>237156</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-08-26 10:59:28 -0700</bug_when>
    <thetext>Comment on attachment 237156
Patch

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

&gt; Source/WebCore/platform/LayoutUnit.h:926
&gt; +// When this occurs while accumulating converted LayoutUnit values, we can wind up with a result smaller than expected.

That doesn&apos;t explain the ceil though. This comment is pretty confusing. The caller really needs to know whether ceiling or flooring is appropriate for them.

&gt; Source/WebCore/platform/LayoutUnit.h:927
&gt; +inline LayoutUnit ceilFloatForSubPixelLayout(float value)

I don&apos;t think the &quot;ForSubPixelLayout&quot; adds anything. I think the name &quot;ceiledLayoutUnit&quot; is as good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031422</commentid>
    <comment_count>3</comment_count>
      <attachid>237158</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-08-26 11:16:27 -0700</bug_when>
    <thetext>Created attachment 237158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031432</commentid>
    <comment_count>4</comment_count>
      <attachid>237160</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-08-26 11:43:37 -0700</bug_when>
    <thetext>Created attachment 237160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031436</commentid>
    <comment_count>5</comment_count>
      <attachid>237160</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-08-26 11:48:50 -0700</bug_when>
    <thetext>Comment on attachment 237160
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:2902
&gt; +    preferredWidth = std::max(LayoutUnit::fromFloatCeil(result), preferredWidth);

You lost some of the comment here, which I think is useful to explain why this code uses ceil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031450</commentid>
    <comment_count>6</comment_count>
      <attachid>237160</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-26 12:29:22 -0700</bug_when>
    <thetext>Comment on attachment 237160
Patch

Clearing flags on attachment: 237160

Committed r172970: &lt;http://trac.webkit.org/changeset/172970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031451</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-26 12:29:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237156</attachid>
            <date>2014-08-26 10:43:51 -0700</date>
            <delta_ts>2014-08-26 11:16:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136253-20140826104344.patch</filename>
            <type>text/plain</type>
            <size>12802</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZlNDM1OTg2MDJhNDQ2
NWJhOGFlZmZiOWVmOThmMmU3MjliNmZkMC4uOWM0MTg3NTQwNjI2OWU1OTQyMGJmNDZmZGFjZGE3
YTMzYTU4MjJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTA4LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBN
YWtlIExheW91dFVuaXQgY2VpbC9yb3VuZCBvcGVyYXRpb25zIG1vcmUgZXhwbGljaXQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYyNTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBmdW5jdGlv
bnMgY2VpbC9yb3VuZCBmbG9hdCB0byBMYXlvdXRVbml0LgorICAgICAgICBUaGVpciB1c2FnZSBp
cyBsaW1pdGVkIGFuZCBjYW4gZWFzaWx5IGJlIGNvbmZ1c2VkIHdpdGggdGhlIHNuYXBwaW5nIGZ1
bmN0aW9ucyAoc25hcCB0byBjc3MvZGV2aWNlIHBpeGVscykuCisKKyAgICAgICAgQ292ZXJlZCBi
eSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL0xheW91dFVuaXQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNlaWxGbG9hdEZvclN1YlBpeGVsTGF5b3V0KToKKyAgICAgICAgKFdl
YkNvcmU6OnJvdW5kZWRMYXlvdXRVbml0KTogRGVsZXRlZC4gOiBUaGVyZSBzaG91bGQgbm90IGJl
IGFueSBuZWVkIHRvIHJvdW5kIExheW91dFVuaXQgZnJvbSBmbG9hdC4KKyAgICAgICAgSWYgaXQg
ZXZlciBleHBvc2VzIHNvbWUgYnVncywgdGhleSBuZWVkIHRvIG1lIGZpeGVkIHNlcGFyYXRlbHku
CisgICAgICAgIChXZWJDb3JlOjpjZWlsZWRMYXlvdXRVbml0KTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlUHJl
ZmVycmVkV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxp
bmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OmFkanVzdEZsb2F0
Rm9yU3ViUGl4ZWxMYXlvdXQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3gpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2ZUZsZXhpYmxlTGVuZ3Rocyk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bmxpbmU6Om9mZnNldEZvckluRmxvd1Bvc2l0aW9uZWRJbmxpbmUpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpwcmVmZXJyZWRDb250ZW50TG9naWNhbFdpZHRo
KToKKwogMjAxNC0wOC0yNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gU2VsZWN0aW9uIGJhY2tncm91bmQgaXMgcmVuZGVyZWQgd2hp
dGUgd2hlbiB1bmZvY3VzZWQgd2l0aCByZWNlbnQgR1RLKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5
b3V0VW5pdC5oCmluZGV4IDU2YzZiYzljMTQ0NDQ5MGY3NTViNzFmMGEzZDA5ODEzYjFmOTkxOGUu
LjhhYWYyYjk1ZTAzOGI1YWQ0YzFkZTJmZWUzNjRjZjQ4YjlhZmRmZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9MYXlvdXRVbml0LmgKQEAgLTkxMiwxNiArOTEyLDYgQEAgaW5saW5lIGZsb2F0IHNu
YXBTaXplVG9EZXZpY2VQaXhlbChMYXlvdXRVbml0IHNpemUsIExheW91dFVuaXQgbG9jYXRpb24s
IGZsb2F0IHAKICAgICByZXR1cm4gcm91bmRUb0RldmljZVBpeGVsKGZyYWN0aW9uICsgc2l6ZSwg
cGl4ZWxTbmFwcGluZ0ZhY3RvcikgLSByb3VuZFRvRGV2aWNlUGl4ZWwoZnJhY3Rpb24sIHBpeGVs
U25hcHBpbmdGYWN0b3IpOwogfQogCi1pbmxpbmUgTGF5b3V0VW5pdCByb3VuZGVkTGF5b3V0VW5p
dChmbG9hdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQo
dmFsdWUpOwotfQotCi1pbmxpbmUgTGF5b3V0VW5pdCBjZWlsZWRMYXlvdXRVbml0KGZsb2F0IHZh
bHVlKQotewotICAgIHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKHZhbHVlKTsKLX0K
LQogaW5saW5lIExheW91dFVuaXQgYWJzb2x1dGVWYWx1ZShjb25zdCBMYXlvdXRVbml0JiB2YWx1
ZSkKIHsKICAgICByZXR1cm4gdmFsdWUuYWJzKCk7CkBAIC05MzIsNiArOTIyLDE0IEBAIGlubGlu
ZSBib29sIGlzSW50ZWdlclZhbHVlKGNvbnN0IExheW91dFVuaXQgdmFsdWUpCiAgICAgcmV0dXJu
IHZhbHVlLnRvSW50KCkgPT0gdmFsdWU7CiB9CiAKKy8vIFdoZW4gY29udmVydGluZyBiZXR3ZWVu
IGZsb2F0aW5nIHBvaW50IGFuZCBMYXlvdXRVbml0cyB3ZSByaXNrIGxvc2luZyBwcmVjaXNpb24g
d2l0aCBlYWNoIGNvbnZlcnNpb24uCisvLyBXaGVuIHRoaXMgb2NjdXJzIHdoaWxlIGFjY3VtdWxh
dGluZyBjb252ZXJ0ZWQgTGF5b3V0VW5pdCB2YWx1ZXMsIHdlIGNhbiB3aW5kIHVwIHdpdGggYSBy
ZXN1bHQgc21hbGxlciB0aGFuIGV4cGVjdGVkLgoraW5saW5lIExheW91dFVuaXQgY2VpbEZsb2F0
Rm9yU3ViUGl4ZWxMYXlvdXQoZmxvYXQgdmFsdWUpCit7CisgICAgcmV0dXJuIExheW91dFVuaXQ6
OmZyb21GbG9hdENlaWwodmFsdWUpOworfQorCisKICNpZm5kZWYgTkRFQlVHCiAvLyBUaGlzIHN0
cnVjdHVyZSBpcyB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5nLgogdGVtcGxh
dGUgPD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGE0NTc3
ODY3MTAwNzg5MDM4YzIxODJiNTU2MzY2N2FiYzc4NjQxNzkuLmVmODY3MzYwNDg2Mzk2OTZiNTc0
MmJhMWE5ZDk1ZTM4Mzk4YjAwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMjg5OSwyNSArMjg5OSw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRy
YWlsaW5nU3BhY2UoZmxvYXQmIGlubGluZU1heCwgZmxvYXQmIGlubGluZU1pbiwKIAogc3RhdGlj
IGlubGluZSB2b2lkIHVwZGF0ZVByZWZlcnJlZFdpZHRoKExheW91dFVuaXQmIHByZWZlcnJlZFdp
ZHRoLCBmbG9hdCYgcmVzdWx0KQogewotICAgIExheW91dFVuaXQgc25hcHBlZFJlc3VsdCA9IGNl
aWxlZExheW91dFVuaXQocmVzdWx0KTsKLSAgICBwcmVmZXJyZWRXaWR0aCA9IHN0ZDo6bWF4KHNu
YXBwZWRSZXN1bHQsIHByZWZlcnJlZFdpZHRoKTsKKyAgICBwcmVmZXJyZWRXaWR0aCA9IHN0ZDo6
bWF4KGNlaWxGbG9hdEZvclN1YlBpeGVsTGF5b3V0KHJlc3VsdCksIHByZWZlcnJlZFdpZHRoKTsK
IH0KIAotLy8gV2l0aCBzdWItcGl4ZWwgZW5hYmxlZDogV2hlbiBjb252ZXJ0aW5nIGJldHdlZW4g
ZmxvYXRpbmcgcG9pbnQgYW5kIExheW91dFVuaXRzCi0vLyB3ZSByaXNrIGxvc2luZyBwcmVjaXNp
b24gd2l0aCBlYWNoIGNvbnZlcnNpb24uIFdoZW4gdGhpcyBvY2N1cnMgd2hpbGUKLS8vIGFjY3Vt
dWxhdGluZyBvdXIgcHJlZmVycmVkIHdpZHRocywgd2UgY2FuIHdpbmQgdXAgd2l0aCBhIGxpbmUg
d2lkdGggdGhhdCdzCi0vLyBsYXJnZXIgdGhhbiBvdXIgbWF4UHJlZmVycmVkV2lkdGggZHVlIHRv
IHB1cmUgZmxvYXQgYWNjdW11bGF0aW9uLgotLy8KLS8vIFdpdGggc3ViLXBpeGVsIGRpc2FibGVk
OiB2YWx1ZXMgZnJvbSBMZW5ndGhzIG9yIHRoZSByZW5kZXIgdHJlZSBhcmVuJ3Qgc3ViamVjdAot
Ly8gdG8gdGhlIHNhbWUgbG9zcyBvZiBwcmVjaXNpb24sIGFzIHRoZXkncmUgYWx3YXlzIHRydW5j
YXRlZCBhbmQgc3RvcmVkIGFzCi0vLyBpbnRlZ2Vycy4gV2UgbWlycm9yIHRoYXQgYmVoYXZpb3Ig
aGVyZSB0byBwcmV2ZW50IG92ZXItYWxsb2NhdGluZyBvdXIgcHJlZmVycmVkCi0vLyB3aWR0aC4K
LXN0YXRpYyBpbmxpbmUgTGF5b3V0VW5pdCBhZGp1c3RGbG9hdEZvclN1YlBpeGVsTGF5b3V0KGZs
b2F0IHZhbHVlKQotewotICAgIHJldHVybiBjZWlsZWRMYXlvdXRVbml0KHZhbHVlKTsKLX0KLQot
CiB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhM
YXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkK
IHsKICAgICBmbG9hdCBpbmxpbmVNYXggPSAwOwpAQCAtMzAxOSw5ICszMDAzLDkgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5p
dCYgbWluTG9naWNhbFdpZHQKICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFyZ2lu
ID0gY2hpbGRTdHlsZS5tYXJnaW5TdGFydCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGgg
ZW5kTWFyZ2luID0gY2hpbGRTdHlsZS5tYXJnaW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAg
aWYgKHN0YXJ0TWFyZ2luLmlzRml4ZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdp
bnMgKz0gYWRqdXN0RmxvYXRGb3JTdWJQaXhlbExheW91dChzdGFydE1hcmdpbi52YWx1ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbnMgKz0gY2VpbEZsb2F0Rm9yU3ViUGl4ZWxM
YXlvdXQoc3RhcnRNYXJnaW4udmFsdWUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChlbmRN
YXJnaW4uaXNGaXhlZCgpKQotICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2lucyArPSBhZGp1
c3RGbG9hdEZvclN1YlBpeGVsTGF5b3V0KGVuZE1hcmdpbi52YWx1ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG1hcmdpbnMgKz0gY2VpbEZsb2F0Rm9yU3ViUGl4ZWxMYXlvdXQoZW5kTWFy
Z2luLnZhbHVlKCkpOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiArPSBtYXJnaW5zLmNl
aWxUb0Zsb2F0KCk7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWF4ICs9IG1hcmdpbnMuY2Vp
bFRvRmxvYXQoKTsKICAgICAgICAgICAgICAgICB9CkBAIC0zMDYyLDcgKzMwNDYsNyBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhMYXlvdXRV
bml0JiBtaW5Mb2dpY2FsV2lkdAogICAgICAgICAgICAgICAgICAgICBjaGlsZE1heCArPSBjZWls
ZWRJbmRlbnQ7CiAKICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkTWluIDwgMCkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRleHRJbmRlbnQgPSBhZGp1c3RGbG9hdEZvclN1YlBpeGVsTGF5
b3V0KGNoaWxkTWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHRJbmRlbnQgPSBjZWls
RmxvYXRGb3JTdWJQaXhlbExheW91dChjaGlsZE1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGVkVGV4dEluZGVudCA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAy
NWYwMTljNThhODM1OWE3Y2ZjNGIyMDIxZTI4OTZkYTk5YTg3NTYwLi43NDYxMzEzZjVkZjc0MmE0
NjA1OWM1MTMyM2VlNTliNTlmOWFmNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcApAQCAtMjAzMSw3ICsyMDMxLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnBvc2l0aW9uTGlu
ZUJveChJbmxpbmVFbGVtZW50Qm94JiBib3gpCiAgICAgICAgICAgICAvLyBvdXIgb2JqZWN0IHdh
cyBpbmxpbmUgb3JpZ2luYWxseSwgc2luY2Ugb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgZW5kZWQg
dXAgdW5kZXJuZWF0aAogICAgICAgICAgICAgLy8gdGhlIGlubGluZXMuCiAgICAgICAgICAgICBS
b290SW5saW5lQm94JiByb290Qm94ID0gYm94LnJvb3QoKTsKLSAgICAgICAgICAgIHJvb3RCb3gu
YmxvY2tGbG93KCkuc2V0U3RhdGljSW5saW5lUG9zaXRpb25Gb3JDaGlsZCgqdGhpcywgcm9vdEJv
eC5saW5lVG9wV2l0aExlYWRpbmcoKSwgcm91bmRlZExheW91dFVuaXQoYm94LmxvZ2ljYWxMZWZ0
KCkpKTsKKyAgICAgICAgICAgIHJvb3RCb3guYmxvY2tGbG93KCkuc2V0U3RhdGljSW5saW5lUG9z
aXRpb25Gb3JDaGlsZCgqdGhpcywgcm9vdEJveC5saW5lVG9wV2l0aExlYWRpbmcoKSwgYm94Lmxv
Z2ljYWxMZWZ0KCkpOwogICAgICAgICAgICAgaWYgKHN0eWxlKCkuaGFzU3RhdGljSW5saW5lUG9z
aXRpb24oYm94LmlzSG9yaXpvbnRhbCgpKSkKICAgICAgICAgICAgICAgICBzZXRDaGlsZE5lZWRz
TGF5b3V0KE1hcmtPbmx5VGhpcyk7IC8vIEp1c3QgZ28gYWhlYWQgYW5kIG1hcmsgdGhlIHBvc2l0
aW9uZWQgb2JqZWN0IGFzIG5lZWRpbmcgbGF5b3V0LCBzbyBpdCB3aWxsIHVwZGF0ZSBpdHMgcG9z
aXRpb24gcHJvcGVybHkuCiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA3ZjgxZGJkM2UwMzBiYzE2NDNmZjM1
YTI2OThmZjBiZWUwNjExZWE4Li5lNmVmMmE4MjQ0MDU3YWUxMDRjMDEzMmU3ZDc4MGVjODczNjY2
NzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAKQEAgLTk0OCw3ICs5NDgsNyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxl
eGlibGVMZW5ndGhzKEZsZXhTaWduIGZsZXhTaWduLCBjb25zdCBPcmRlcmVkRgogICAgICAgICAg
ICAgZWxzZSBpZiAoYXZhaWxhYmxlRnJlZVNwYWNlIDwgMCAmJiB0b3RhbFdlaWdodGVkRmxleFNo
cmluayA+IDAgJiYgZmxleFNpZ24gPT0gTmVnYXRpdmVGbGV4aWJpbGl0eSAmJiBzdGQ6OmlzZmlu
aXRlKHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rKSkKICAgICAgICAgICAgICAgICBleHRyYVNwYWNl
ID0gYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQuc3R5bGUoKS5mbGV4U2hyaW5rKCkgKiBwcmVm
ZXJyZWRDaGlsZFNpemUgLyB0b3RhbFdlaWdodGVkRmxleFNocmluazsKICAgICAgICAgICAgIGlm
IChzdGQ6OmlzZmluaXRlKGV4dHJhU3BhY2UpKQotICAgICAgICAgICAgICAgIGNoaWxkU2l6ZSAr
PSByb3VuZGVkTGF5b3V0VW5pdChleHRyYVNwYWNlKTsKKyAgICAgICAgICAgICAgICBjaGlsZFNp
emUgKz0gTGF5b3V0VW5pdChleHRyYVNwYWNlKTsKIAogICAgICAgICAgICAgTGF5b3V0VW5pdCBh
ZGp1c3RlZENoaWxkU2l6ZSA9IGFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heChjaGlsZCwgY2hp
bGRTaXplKTsKICAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGFkanVzdGVkQ2hpbGRTaXpl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKaW5kZXggYjNjNzgw
MzIzNWQxODEwMjVkNjU3NjY2NGRhMjBkMDQ4ZDQ0MGNiZC4uNDA5NzkyNjcxZTY2MmRmNGNhMDkx
NTc0YWFiYjgyMmY4MjMxYTY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklu
bGluZS5jcHAKQEAgLTE0MjUsNyArMTQyNSw3IEBAIExheW91dFNpemUgUmVuZGVySW5saW5lOjpv
ZmZzZXRGb3JJbkZsb3dQb3NpdGlvbmVkSW5saW5lKGNvbnN0IFJlbmRlckJveCogY2hpbGQpCiAg
ICAgTGF5b3V0VW5pdCBpbmxpbmVQb3NpdGlvbjsKICAgICBMYXlvdXRVbml0IGJsb2NrUG9zaXRp
b247CiAgICAgaWYgKGZpcnN0TGluZUJveCgpKSB7Ci0gICAgICAgIGlubGluZVBvc2l0aW9uID0g
cm91bmRlZExheW91dFVuaXQoZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxMZWZ0KCkpOworICAgICAg
ICBpbmxpbmVQb3NpdGlvbiA9IGZpcnN0TGluZUJveCgpLT5sb2dpY2FsTGVmdCgpOwogICAgICAg
ICBibG9ja1Bvc2l0aW9uID0gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKTsKICAgICB9IGVs
c2UgewogICAgICAgICBpbmxpbmVQb3NpdGlvbiA9IGxheWVyKCktPnN0YXRpY0lubGluZVBvc2l0
aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDdhNTg2ODdlNTRlOTVmYWE2MTI4ODBkY2VkMTBj
NDM2M2FhZmNjMjEuLmRkM2UyNzU1MmMxZTM5M2RlMDA3YjhjMjM2NDU1ZmQ5ODkyOTgxNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuY3BwCkBAIC0zMzMsNyArMzMzLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmU6OnByZWZlcnJlZENvbnRlbnRMb2dpY2FsV2lkdGgoZmxvYXQgY2hh
clcKICAgICBpZiAoZmFjdG9yIDw9IDApCiAgICAgICAgIGZhY3RvciA9IDIwOwogCi0gICAgTGF5
b3V0VW5pdCByZXN1bHQgPSBjZWlsZWRMYXlvdXRVbml0KGNoYXJXaWR0aCAqIGZhY3Rvcik7Cisg
ICAgTGF5b3V0VW5pdCByZXN1bHQgPSBjZWlsRmxvYXRGb3JTdWJQaXhlbExheW91dChjaGFyV2lk
dGggKiBmYWN0b3IpOwogCiAgICAgZmxvYXQgbWF4Q2hhcldpZHRoID0gMC5mOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MDFlNGVjN2ZiMmU5ZTA1M2Q5ZGM2MThlOWFhZTU5YjUwOGVjMjY0OC4uN2EwZmMyYmI4NzQ4NWM4
MzE5NWU1ZmQ0YTVkOTc5NGZmMmU1MDgxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA4
LTI2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwg
bGF5b3V0OiBNYWtlIExheW91dFVuaXQgY2VpbC9yb3VuZCBvcGVyYXRpb25zIG1vcmUgZXhwbGlj
aXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYy
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvbWVudWxpc3Qtb3B0aW9uLXdyYXAt
ZXhwZWN0ZWQudHh0OgorCiAyMDE0LTA4LTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgRlRMIHNob3VsZCBiZSBhYmxlIHRvIGRvIHBvbHltb3JwaGljIGNhbGwg
aW5saW5pbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1z
L2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9mb3Jtcy9jb250cm9sLWNsaXAtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CmluZGV4
IDNjMDI0Y2FlYTNmMzBhMWI3YzY2N2E3Njc0MmJlNDM2MTUxYTc2OWIuLjk4ODU2Yjg0YTQzYzcz
N2QzNmU0MjExODRlZDk3NzA5YzFlNDdiY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvY29udHJvbC1jbGlwLW92ZXJm
bG93LWV4cGVjdGVkLnR4dApAQCAtMjIsMTQgKzIyLDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDgsOTQpIHNpemUgMTAweDUwCiAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDg2KSBzaXplIDEwMHg1MAogICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgw
LDIpIHNpemUgODB4MTggW2JnY29sb3I9I0ZGRkZGRl0KLSAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDApIHNpemUgODB4MTgKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgODF4MTgKICAgICAgICAgUmVuZGVyVGV4dCBhdCAoOCwyKSBzaXplIDE0
N3gxMwogICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDIpIHdpZHRoIDE0NzogIkxvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0IgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAogbGF5ZXIgYXQgKDgsMTY0KSBzaXplIDEwMHg1MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwxNTYpIHNpemUgMTAweDUwCiAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgwLDIpIHNp
emUgODB4MTggW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogbm9uZSAoMnB4IG91dHNldCAjQzBD
MEMwKSBub25lICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDgsMikgc2l6ZSA2NHgxMworICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDgsMikgc2l6ZSA2NXgxMwogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNDd4MTMKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDc6ICJMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1z
L21lbnVsaXN0LW9wdGlvbi13cmFwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Zvcm1zL21lbnVsaXN0LW9wdGlvbi13cmFwLWV4cGVjdGVkLnR4dAppbmRleCAx
ZDZhYzdiZmExYWUyMDA5YjAwZTQ5YTI1Mzg1ZTRhNjcyMWVkZWRkLi5mYzJjNDg4ZGFhNDA1NTA3
NDdjMWIxYmM5NGQwMjRiYzNlMDA4MDc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9mb3Jtcy9tZW51bGlzdC1vcHRpb24td3JhcC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvbWVudWxpc3Qtb3B0aW9uLXdyYXAt
ZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDk5LDApIHNpemUgOHgxOAogICAgICAg
ICAgIHRleHQgcnVuIGF0ICg5OSwwKSB3aWR0aCA4OiAiOiAiCiAgICAgICAgIFJlbmRlck1lbnVM
aXN0IHtTRUxFQ1R9IGF0ICgxMDcsMikgc2l6ZSAxMDB4MTUgW2JnY29sb3I9I0ZGRkZGRl0gW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMSwxKSBzaXplIDk4eDEzCisgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDEsMSkgc2l6ZSA5OXgxMwogICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDE3OHgxMwogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNzg6ICJW
ZXJ5IGxvbmcgb3B0aW9uIHRoYXQgZG9lcyBub3QgZml0IgogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKQEAgLTM3LDcgKzM3LDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoODcsMCkgc2l6ZSA4
eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDg3LDApIHdpZHRoIDg6ICI6ICIKICAgICAgICAg
UmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDk1LDIpIHNpemUgMTAweDE1IFtiZ2NvbG9yPSNG
RkZGRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCi0gICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDEsMSkgc2l6ZSA5OHgxMworICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgxLDEpIHNpemUgOTl4MTMKICAgICAgICAgICAgIFJlbmRlclRleHQg
YXQgKDAsMCkgc2l6ZSAxNzh4MTMKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMTc4OiAiVmVyeSBsb25nIG9wdGlvbiB0aGF0IGRvZXMgbm90IGZpdCIKICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237158</attachid>
            <date>2014-08-26 11:16:27 -0700</date>
            <delta_ts>2014-08-26 11:33:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136253-20140826111619.patch</filename>
            <type>text/plain</type>
            <size>12617</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZlNDM1OTg2MDJhNDQ2
NWJhOGFlZmZiOWVmOThmMmU3MjliNmZkMC4uOTk3ZTQwYzBlNzM1YjQ1YjUxMmZiNjhhNjMxZTc0
NTA2YmJmZDE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA4LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBS
ZW1vdmUgZmxvYXQgdG8gTGF5b3V0VW5pdCBjZWlsL3JvdW5kIGZ1bmN0aW9uIHdyYXBwZXJzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MjUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgZnVu
Y3Rpb25zIHdyYXAgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbC9mcm9tRmxvYXRSb3VuZCgpIGZ1
bmN0aW9ucyB0byBjZWlsL3JvdW5kIGZsb2F0IHRvIExheW91dFVuaXQuCisgICAgICAgIFRoZWly
IHVzYWdlIGlzIGxpbWl0ZWQgYW5kIGNhbiBlYXNpbHkgYmUgY29uZnVzZWQgd2l0aCB0aGUgc25h
cHBpbmcgZnVuY3Rpb25zIChzbmFwIHRvIGNzcy9kZXZpY2UgcGl4ZWxzKS4KKworICAgICAgICBD
b3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vTGF5b3V0VW5p
dC5oOgorICAgICAgICAoV2ViQ29yZTo6cm91bmRlZExheW91dFVuaXQpOiBEZWxldGVkLiA6IFRo
ZXJlIHNob3VsZCBub3QgYmUgYW55IG5lZWQgdG8gcm91bmQgTGF5b3V0VW5pdCBmcm9tIGZsb2F0
LgorICAgICAgICBJZiBpdCBldmVyIGV4cG9zZXMgc29tZSBidWdzLCB0aGV5IG5lZWQgdG8gbWUg
Zml4ZWQgc2VwYXJhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OmNlaWxlZExheW91dFVuaXQpOiBE
ZWxldGVkLiA6IENhbGxlcnMgdXNlIHRoZSBtb3JlIGV4cGxpY2l0IExheW91dFVuaXQ6OmZyb21G
bG9hdENlaWwoKSBmdW5jdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlUHJlZmVycmVkV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToK
KyAgICAgICAgKFdlYkNvcmU6OmFkanVzdEZsb2F0Rm9yU3ViUGl4ZWxMYXlvdXQpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cmVz
b2x2ZUZsZXhpYmxlTGVuZ3Rocyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6Om9mZnNldEZvckluRmxvd1Bvc2l0
aW9uZWRJbmxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
OjpwcmVmZXJyZWRDb250ZW50TG9naWNhbFdpZHRoKToKKwogMjAxNC0wOC0yNiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gU2VsZWN0
aW9uIGJhY2tncm91bmQgaXMgcmVuZGVyZWQgd2hpdGUgd2hlbiB1bmZvY3VzZWQgd2l0aCByZWNl
bnQgR1RLKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCmluZGV4IDU2YzZiYzljMTQ0
NDQ5MGY3NTViNzFmMGEzZDA5ODEzYjFmOTkxOGUuLjQ3OWM2YjhmOWQ0NGE0ZjQxYTk1NGY3OTll
YWQxMjAwODFkOGIxNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91
dFVuaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKQEAgLTkx
MiwxNiArOTEyLDYgQEAgaW5saW5lIGZsb2F0IHNuYXBTaXplVG9EZXZpY2VQaXhlbChMYXlvdXRV
bml0IHNpemUsIExheW91dFVuaXQgbG9jYXRpb24sIGZsb2F0IHAKICAgICByZXR1cm4gcm91bmRU
b0RldmljZVBpeGVsKGZyYWN0aW9uICsgc2l6ZSwgcGl4ZWxTbmFwcGluZ0ZhY3RvcikgLSByb3Vu
ZFRvRGV2aWNlUGl4ZWwoZnJhY3Rpb24sIHBpeGVsU25hcHBpbmdGYWN0b3IpOwogfQogCi1pbmxp
bmUgTGF5b3V0VW5pdCByb3VuZGVkTGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkKLXsKLSAgICByZXR1
cm4gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQodmFsdWUpOwotfQotCi1pbmxpbmUgTGF5b3V0
VW5pdCBjZWlsZWRMYXlvdXRVbml0KGZsb2F0IHZhbHVlKQotewotICAgIHJldHVybiBMYXlvdXRV
bml0Ojpmcm9tRmxvYXRDZWlsKHZhbHVlKTsKLX0KLQogaW5saW5lIExheW91dFVuaXQgYWJzb2x1
dGVWYWx1ZShjb25zdCBMYXlvdXRVbml0JiB2YWx1ZSkKIHsKICAgICByZXR1cm4gdmFsdWUuYWJz
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBhNDU3Nzg2
NzEwMDc4OTAzOGMyMTgyYjU1NjM2NjdhYmM3ODY0MTc5Li5lZWFkODYzNjVhYWEwZjI0YTJiODMw
YWIyZTI0NjliOTExOTRkNjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKQEAgLTI4OTksMjUgKzI4OTksOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc3RyaXBUcmFp
bGluZ1NwYWNlKGZsb2F0JiBpbmxpbmVNYXgsIGZsb2F0JiBpbmxpbmVNaW4sCiAKIHN0YXRpYyBp
bmxpbmUgdm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0aChMYXlvdXRVbml0JiBwcmVmZXJyZWRXaWR0
aCwgZmxvYXQmIHJlc3VsdCkKIHsKLSAgICBMYXlvdXRVbml0IHNuYXBwZWRSZXN1bHQgPSBjZWls
ZWRMYXlvdXRVbml0KHJlc3VsdCk7Ci0gICAgcHJlZmVycmVkV2lkdGggPSBzdGQ6Om1heChzbmFw
cGVkUmVzdWx0LCBwcmVmZXJyZWRXaWR0aCk7CisgICAgcHJlZmVycmVkV2lkdGggPSBzdGQ6Om1h
eChMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKHJlc3VsdCksIHByZWZlcnJlZFdpZHRoKTsKIH0K
IAotLy8gV2l0aCBzdWItcGl4ZWwgZW5hYmxlZDogV2hlbiBjb252ZXJ0aW5nIGJldHdlZW4gZmxv
YXRpbmcgcG9pbnQgYW5kIExheW91dFVuaXRzCi0vLyB3ZSByaXNrIGxvc2luZyBwcmVjaXNpb24g
d2l0aCBlYWNoIGNvbnZlcnNpb24uIFdoZW4gdGhpcyBvY2N1cnMgd2hpbGUKLS8vIGFjY3VtdWxh
dGluZyBvdXIgcHJlZmVycmVkIHdpZHRocywgd2UgY2FuIHdpbmQgdXAgd2l0aCBhIGxpbmUgd2lk
dGggdGhhdCdzCi0vLyBsYXJnZXIgdGhhbiBvdXIgbWF4UHJlZmVycmVkV2lkdGggZHVlIHRvIHB1
cmUgZmxvYXQgYWNjdW11bGF0aW9uLgotLy8KLS8vIFdpdGggc3ViLXBpeGVsIGRpc2FibGVkOiB2
YWx1ZXMgZnJvbSBMZW5ndGhzIG9yIHRoZSByZW5kZXIgdHJlZSBhcmVuJ3Qgc3ViamVjdAotLy8g
dG8gdGhlIHNhbWUgbG9zcyBvZiBwcmVjaXNpb24sIGFzIHRoZXkncmUgYWx3YXlzIHRydW5jYXRl
ZCBhbmQgc3RvcmVkIGFzCi0vLyBpbnRlZ2Vycy4gV2UgbWlycm9yIHRoYXQgYmVoYXZpb3IgaGVy
ZSB0byBwcmV2ZW50IG92ZXItYWxsb2NhdGluZyBvdXIgcHJlZmVycmVkCi0vLyB3aWR0aC4KLXN0
YXRpYyBpbmxpbmUgTGF5b3V0VW5pdCBhZGp1c3RGbG9hdEZvclN1YlBpeGVsTGF5b3V0KGZsb2F0
IHZhbHVlKQotewotICAgIHJldHVybiBjZWlsZWRMYXlvdXRVbml0KHZhbHVlKTsKLX0KLQotCiB2
b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhMYXlv
dXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkKIHsK
ICAgICBmbG9hdCBpbmxpbmVNYXggPSAwOwpAQCAtMzAxOSw5ICszMDAzLDkgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbFdpZHQKICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFyZ2luID0g
Y2hpbGRTdHlsZS5tYXJnaW5TdGFydCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggZW5k
TWFyZ2luID0gY2hpbGRTdHlsZS5tYXJnaW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAgaWYg
KHN0YXJ0TWFyZ2luLmlzRml4ZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbnMg
Kz0gYWRqdXN0RmxvYXRGb3JTdWJQaXhlbExheW91dChzdGFydE1hcmdpbi52YWx1ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbnMgKz0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2Vp
bChzdGFydE1hcmdpbi52YWx1ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZE1hcmdp
bi5pc0ZpeGVkKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5zICs9IGFkanVzdEZs
b2F0Rm9yU3ViUGl4ZWxMYXlvdXQoZW5kTWFyZ2luLnZhbHVlKCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgbWFyZ2lucyArPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGVuZE1hcmdpbi52
YWx1ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNaW4gKz0gbWFyZ2lucy5jZWlsVG9G
bG9hdCgpOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1heCArPSBtYXJnaW5zLmNlaWxUb0Zs
b2F0KCk7CiAgICAgICAgICAgICAgICAgfQpAQCAtMzA2Miw3ICszMDQ2LDcgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbFdpZHQKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNYXggKz0gY2VpbGVkSW5k
ZW50OwogCiAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZE1pbiA8IDApCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0ZXh0SW5kZW50ID0gYWRqdXN0RmxvYXRGb3JTdWJQaXhlbExheW91dChj
aGlsZE1pbik7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0SW5kZW50ID0gTGF5b3V0VW5p
dDo6ZnJvbUZsb2F0Q2VpbChjaGlsZE1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgICAgICAgICAgIGFkZGVkVGV4dEluZGVudCA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAyNWYwMTlj
NThhODM1OWE3Y2ZjNGIyMDIxZTI4OTZkYTk5YTg3NTYwLi43NDYxMzEzZjVkZjc0MmE0NjA1OWM1
MTMyM2VlNTliNTlmOWFmNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjAzMSw3ICsyMDMxLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnBvc2l0aW9uTGluZUJveChJ
bmxpbmVFbGVtZW50Qm94JiBib3gpCiAgICAgICAgICAgICAvLyBvdXIgb2JqZWN0IHdhcyBpbmxp
bmUgb3JpZ2luYWxseSwgc2luY2Ugb3RoZXJ3aXNlIGl0IHdvdWxkIGhhdmUgZW5kZWQgdXAgdW5k
ZXJuZWF0aAogICAgICAgICAgICAgLy8gdGhlIGlubGluZXMuCiAgICAgICAgICAgICBSb290SW5s
aW5lQm94JiByb290Qm94ID0gYm94LnJvb3QoKTsKLSAgICAgICAgICAgIHJvb3RCb3guYmxvY2tG
bG93KCkuc2V0U3RhdGljSW5saW5lUG9zaXRpb25Gb3JDaGlsZCgqdGhpcywgcm9vdEJveC5saW5l
VG9wV2l0aExlYWRpbmcoKSwgcm91bmRlZExheW91dFVuaXQoYm94LmxvZ2ljYWxMZWZ0KCkpKTsK
KyAgICAgICAgICAgIHJvb3RCb3guYmxvY2tGbG93KCkuc2V0U3RhdGljSW5saW5lUG9zaXRpb25G
b3JDaGlsZCgqdGhpcywgcm9vdEJveC5saW5lVG9wV2l0aExlYWRpbmcoKSwgYm94LmxvZ2ljYWxM
ZWZ0KCkpOwogICAgICAgICAgICAgaWYgKHN0eWxlKCkuaGFzU3RhdGljSW5saW5lUG9zaXRpb24o
Ym94LmlzSG9yaXpvbnRhbCgpKSkKICAgICAgICAgICAgICAgICBzZXRDaGlsZE5lZWRzTGF5b3V0
KE1hcmtPbmx5VGhpcyk7IC8vIEp1c3QgZ28gYWhlYWQgYW5kIG1hcmsgdGhlIHBvc2l0aW9uZWQg
b2JqZWN0IGFzIG5lZWRpbmcgbGF5b3V0LCBzbyBpdCB3aWxsIHVwZGF0ZSBpdHMgcG9zaXRpb24g
cHJvcGVybHkuCiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA3ZjgxZGJkM2UwMzBiYzE2NDNmZjM1YTI2OThm
ZjBiZWUwNjExZWE4Li5lNmVmMmE4MjQ0MDU3YWUxMDRjMDEzMmU3ZDc4MGVjODczNjY2NzgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAg
LTk0OCw3ICs5NDgsNyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVM
ZW5ndGhzKEZsZXhTaWduIGZsZXhTaWduLCBjb25zdCBPcmRlcmVkRgogICAgICAgICAgICAgZWxz
ZSBpZiAoYXZhaWxhYmxlRnJlZVNwYWNlIDwgMCAmJiB0b3RhbFdlaWdodGVkRmxleFNocmluayA+
IDAgJiYgZmxleFNpZ24gPT0gTmVnYXRpdmVGbGV4aWJpbGl0eSAmJiBzdGQ6OmlzZmluaXRlKHRv
dGFsV2VpZ2h0ZWRGbGV4U2hyaW5rKSkKICAgICAgICAgICAgICAgICBleHRyYVNwYWNlID0gYXZh
aWxhYmxlRnJlZVNwYWNlICogY2hpbGQuc3R5bGUoKS5mbGV4U2hyaW5rKCkgKiBwcmVmZXJyZWRD
aGlsZFNpemUgLyB0b3RhbFdlaWdodGVkRmxleFNocmluazsKICAgICAgICAgICAgIGlmIChzdGQ6
OmlzZmluaXRlKGV4dHJhU3BhY2UpKQotICAgICAgICAgICAgICAgIGNoaWxkU2l6ZSArPSByb3Vu
ZGVkTGF5b3V0VW5pdChleHRyYVNwYWNlKTsKKyAgICAgICAgICAgICAgICBjaGlsZFNpemUgKz0g
TGF5b3V0VW5pdChleHRyYVNwYWNlKTsKIAogICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3Rl
ZENoaWxkU2l6ZSA9IGFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heChjaGlsZCwgY2hpbGRTaXpl
KTsKICAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGFkanVzdGVkQ2hpbGRTaXplKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKaW5kZXggYjNjNzgwMzIzNWQx
ODEwMjVkNjU3NjY2NGRhMjBkMDQ4ZDQ0MGNiZC4uNDA5NzkyNjcxZTY2MmRmNGNhMDkxNTc0YWFi
YjgyMmY4MjMxYTY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5j
cHAKQEAgLTE0MjUsNyArMTQyNSw3IEBAIExheW91dFNpemUgUmVuZGVySW5saW5lOjpvZmZzZXRG
b3JJbkZsb3dQb3NpdGlvbmVkSW5saW5lKGNvbnN0IFJlbmRlckJveCogY2hpbGQpCiAgICAgTGF5
b3V0VW5pdCBpbmxpbmVQb3NpdGlvbjsKICAgICBMYXlvdXRVbml0IGJsb2NrUG9zaXRpb247CiAg
ICAgaWYgKGZpcnN0TGluZUJveCgpKSB7Ci0gICAgICAgIGlubGluZVBvc2l0aW9uID0gcm91bmRl
ZExheW91dFVuaXQoZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxMZWZ0KCkpOworICAgICAgICBpbmxp
bmVQb3NpdGlvbiA9IGZpcnN0TGluZUJveCgpLT5sb2dpY2FsTGVmdCgpOwogICAgICAgICBibG9j
a1Bvc2l0aW9uID0gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBpbmxpbmVQb3NpdGlvbiA9IGxheWVyKCktPnN0YXRpY0lubGluZVBvc2l0aW9uKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuY3BwCmluZGV4IDdhNTg2ODdlNTRlOTVmYWE2MTI4ODBkY2VkMTBjNDM2M2Fh
ZmNjMjEuLjRhMzllMjU3N2E5MmRmYmIyMDFmZmVmYTMyNzI1YTc4MzU3MjE1MjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuY3BwCkBAIC0zMzMsNyArMzMzLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnByZWZlcnJlZENvbnRlbnRMb2dpY2FsV2lkdGgoZmxvYXQgY2hhclcKICAg
ICBpZiAoZmFjdG9yIDw9IDApCiAgICAgICAgIGZhY3RvciA9IDIwOwogCi0gICAgTGF5b3V0VW5p
dCByZXN1bHQgPSBjZWlsZWRMYXlvdXRVbml0KGNoYXJXaWR0aCAqIGZhY3Rvcik7CisgICAgTGF5
b3V0VW5pdCByZXN1bHQgPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGNoYXJXaWR0aCAqIGZh
Y3Rvcik7CiAKICAgICBmbG9hdCBtYXhDaGFyV2lkdGggPSAwLmY7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMWU0ZWM3
ZmIyZTllMDUzZDlkYzYxOGU5YWFlNTliNTA4ZWMyNjQ4Li40NmIyNjRhNzE1ODg3YTQ5NzRjYWVk
ZGNkZDdlNDYyNTI0ZDBiMzYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQtMDgtMjYgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTdWJwaXhlbCBsYXlvdXQ6
IFJlbW92ZSBmbG9hdCB0byBMYXlvdXRVbml0IGNlaWwvcm91bmQgZnVuY3Rpb24gd3JhcHBlcnMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYyNTMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBm
dW5jdGlvbnMgd3JhcCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsL2Zyb21GbG9hdFJvdW5kKCkg
ZnVuY3Rpb25zIHRvIGNlaWwvcm91bmQgZmxvYXQgdG8gTGF5b3V0VW5pdC4KKyAgICAgICAgVGhl
aXIgdXNhZ2UgaXMgbGltaXRlZCBhbmQgY2FuIGVhc2lseSBiZSBjb25mdXNlZCB3aXRoIHRoZSBz
bmFwcGluZyBmdW5jdGlvbnMgKHNuYXAgdG8gY3NzL2RldmljZSBwaXhlbHMpLgorCisgICAgICAg
IENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9mb3Jtcy9jb250cm9sLWNsaXAtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Zvcm1zL21lbnVsaXN0LW9wdGlvbi13cmFwLWV4cGVjdGVkLnR4dDoK
KwogMjAxNC0wOC0yMyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAg
IEZUTCBzaG91bGQgYmUgYWJsZSB0byBkbyBwb2x5bW9ycGhpYyBjYWxsIGlubGluaW5nCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9jb250cm9sLWNsaXAt
b3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9y
bXMvY29udHJvbC1jbGlwLW92ZXJmbG93LWV4cGVjdGVkLnR4dAppbmRleCAzYzAyNGNhZWEzZjMw
YTFiN2M2NjdhNzY3NDJiZTQzNjE1MWE3NjliLi45ODg1NmI4NGE0M2M3MzdkMzZlNDIxMTg0ZWQ5
NzcwOWMxZTQ3YmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9jb250cm9sLWNsaXAtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy1leHBlY3RlZC50
eHQKQEAgLTIyLDE0ICsyMiwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICg4LDk0KSBzaXplIDEwMHg1MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4Nikgc2l6
ZSAxMDB4NTAKICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoMCwyKSBzaXplIDgweDE4
IFtiZ2NvbG9yPSNGRkZGRkZdCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCww
KSBzaXplIDgweDE4CisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXpl
IDgxeDE4CiAgICAgICAgIFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSAxNDd4MTMKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOCwyKSB3aWR0aCAxNDc6ICJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4
LDE2NCkgc2l6ZSAxMDB4NTAKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTU2KSBzaXplIDEw
MHg1MAogICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMCwyKSBzaXplIDgweDE4IFtiZ2Nv
bG9yPSNDMEMwQzBdIFtib3JkZXI6IG5vbmUgKDJweCBvdXRzZXQgI0MwQzBDMCkgbm9uZSAoMnB4
IG91dHNldCAjQzBDMEMwKV0KLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDIp
IHNpemUgNjR4MTMKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDIpIHNpemUg
NjV4MTMKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTQ3eDEzCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTQ3OiAiTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQiCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9tZW51bGlzdC1vcHRp
b24td3JhcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jt
cy9tZW51bGlzdC1vcHRpb24td3JhcC1leHBlY3RlZC50eHQKaW5kZXggMWQ2YWM3YmZhMWFlMjAw
OWIwMGU0OWEyNTM4NWU0YTY3MjFlZGVkZC4uZmMyYzQ4OGRhYTQwNTUwNzQ3YzFiMWJjOTRkMDI0
YmMzZTAwODA3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9y
bXMvbWVudWxpc3Qtb3B0aW9uLXdyYXAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Zvcm1zL21lbnVsaXN0LW9wdGlvbi13cmFwLWV4cGVjdGVkLnR4dApA
QCAtMjQsNyArMjQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICg5OSwwKSBzaXplIDh4MTgKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTksMCkgd2lkdGggODogIjogIgogICAgICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBh
dCAoMTA3LDIpIHNpemUgMTAweDE1IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwMDAwMCldCi0gICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDEsMSkg
c2l6ZSA5OHgxMworICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxLDEpIHNp
emUgOTl4MTMKICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAxNzh4MTMKICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTc4OiAiVmVyeSBsb25nIG9wdGlv
biB0aGF0IGRvZXMgbm90IGZpdCIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCkBAIC0zNyw3ICszNyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDg3LDApIHNpemUgOHgxOAogICAgICAgICAg
IHRleHQgcnVuIGF0ICg4NywwKSB3aWR0aCA4OiAiOiAiCiAgICAgICAgIFJlbmRlck1lbnVMaXN0
IHtTRUxFQ1R9IGF0ICg5NSwyKSBzaXplIDEwMHgxNSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDAwMDApXQotICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgxLDEpIHNpemUgOTh4MTMKKyAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMSwxKSBzaXplIDk5eDEzCiAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUg
MTc4eDEzCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE3ODogIlZlcnkg
bG9uZyBvcHRpb24gdGhhdCBkb2VzIG5vdCBmaXQiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237160</attachid>
            <date>2014-08-26 11:43:37 -0700</date>
            <delta_ts>2014-08-26 12:29:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136253-20140826114330.patch</filename>
            <type>text/plain</type>
            <size>8885</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZlNDM1OTg2MDJhNDQ2
NWJhOGFlZmZiOWVmOThmMmU3MjliNmZkMC4uMWY4OTgxZWFkMzFjYmNmNGUxZTFjYzFjYzViYjZk
MWRmMWEzM2I3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTA4LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBS
ZW1vdmUgZmxvYXQgdG8gTGF5b3V0VW5pdCBjZWlsL3JvdW5kIGZ1bmN0aW9uIHdyYXBwZXJzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MjUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgZnVu
Y3Rpb25zIHdyYXAgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbC9mcm9tRmxvYXRSb3VuZCgpIGZ1
bmN0aW9ucyB0byBjZWlsL3JvdW5kIGZsb2F0IHRvIExheW91dFVuaXQuCisgICAgICAgIFRoZWly
IHVzYWdlIGlzIGxpbWl0ZWQgYW5kIGNhbiBlYXNpbHkgYmUgY29uZnVzZWQgd2l0aCB0aGUgc25h
cHBpbmcgZnVuY3Rpb25zIChzbmFwIHRvIGNzcy9kZXZpY2UgcGl4ZWxzKS4KKworICAgICAgICBO
byBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHBsYXRmb3JtL0xheW91dFVu
aXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OnJvdW5kZWRMYXlvdXRVbml0KTogRGVsZXRlZC4gOiBD
YWxsZXJzIHVzZSB0aGUgbW9yZSBleHBsaWNpdCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZCgp
IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Y2VpbGVkTGF5b3V0VW5pdCk6IERlbGV0ZWQu
IDogQ2FsbGVycyB1c2UgdGhlIG1vcmUgZXhwbGljaXQgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2Vp
bCgpIGZ1bmN0aW9uLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp1cGRhdGVQcmVmZXJyZWRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAg
ICAoV2ViQ29yZTo6YWRqdXN0RmxvYXRGb3JTdWJQaXhlbExheW91dCk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OnBvc2l0aW9uTGluZUJveCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxl
eGlibGVMZW5ndGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6b2Zmc2V0Rm9ySW5GbG93UG9zaXRpb25lZElu
bGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnByZWZl
cnJlZENvbnRlbnRMb2dpY2FsV2lkdGgpOgorCiAyMDE0LTA4LTI2ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBTZWxlY3Rpb24gYmFj
a2dyb3VuZCBpcyByZW5kZXJlZCB3aGl0ZSB3aGVuIHVuZm9jdXNlZCB3aXRoIHJlY2VudCBHVEsr
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKaW5kZXggNTZjNmJjOWMxNDQ0NDkwZjc1
NWI3MWYwYTNkMDk4MTNiMWY5OTE4ZS4uNDc5YzZiOGY5ZDQ0YTRmNDFhOTU0Zjc5OWVhZDEyMDA4
MWQ4YjE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaApAQCAtOTEyLDE2ICs5
MTIsNiBAQCBpbmxpbmUgZmxvYXQgc25hcFNpemVUb0RldmljZVBpeGVsKExheW91dFVuaXQgc2l6
ZSwgTGF5b3V0VW5pdCBsb2NhdGlvbiwgZmxvYXQgcAogICAgIHJldHVybiByb3VuZFRvRGV2aWNl
UGl4ZWwoZnJhY3Rpb24gKyBzaXplLCBwaXhlbFNuYXBwaW5nRmFjdG9yKSAtIHJvdW5kVG9EZXZp
Y2VQaXhlbChmcmFjdGlvbiwgcGl4ZWxTbmFwcGluZ0ZhY3Rvcik7CiB9CiAKLWlubGluZSBMYXlv
dXRVbml0IHJvdW5kZWRMYXlvdXRVbml0KGZsb2F0IHZhbHVlKQotewotICAgIHJldHVybiBMYXlv
dXRVbml0Ojpmcm9tRmxvYXRSb3VuZCh2YWx1ZSk7Ci19Ci0KLWlubGluZSBMYXlvdXRVbml0IGNl
aWxlZExheW91dFVuaXQoZmxvYXQgdmFsdWUpCi17Ci0gICAgcmV0dXJuIExheW91dFVuaXQ6OmZy
b21GbG9hdENlaWwodmFsdWUpOwotfQotCiBpbmxpbmUgTGF5b3V0VW5pdCBhYnNvbHV0ZVZhbHVl
KGNvbnN0IExheW91dFVuaXQmIHZhbHVlKQogewogICAgIHJldHVybiB2YWx1ZS5hYnMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGE0NTc3ODY3MTAwNzg5
MDM4YzIxODJiNTU2MzY2N2FiYzc4NjQxNzkuLmVlYWQ4NjM2NWFhYTBmMjRhMmI4MzBhYjJlMjQ2
OWI5MTE5NGQ2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApA
QCAtMjg5OSwyNSArMjg5OSw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3Bh
Y2UoZmxvYXQmIGlubGluZU1heCwgZmxvYXQmIGlubGluZU1pbiwKIAogc3RhdGljIGlubGluZSB2
b2lkIHVwZGF0ZVByZWZlcnJlZFdpZHRoKExheW91dFVuaXQmIHByZWZlcnJlZFdpZHRoLCBmbG9h
dCYgcmVzdWx0KQogewotICAgIExheW91dFVuaXQgc25hcHBlZFJlc3VsdCA9IGNlaWxlZExheW91
dFVuaXQocmVzdWx0KTsKLSAgICBwcmVmZXJyZWRXaWR0aCA9IHN0ZDo6bWF4KHNuYXBwZWRSZXN1
bHQsIHByZWZlcnJlZFdpZHRoKTsKKyAgICBwcmVmZXJyZWRXaWR0aCA9IHN0ZDo6bWF4KExheW91
dFVuaXQ6OmZyb21GbG9hdENlaWwocmVzdWx0KSwgcHJlZmVycmVkV2lkdGgpOwogfQogCi0vLyBX
aXRoIHN1Yi1waXhlbCBlbmFibGVkOiBXaGVuIGNvbnZlcnRpbmcgYmV0d2VlbiBmbG9hdGluZyBw
b2ludCBhbmQgTGF5b3V0VW5pdHMKLS8vIHdlIHJpc2sgbG9zaW5nIHByZWNpc2lvbiB3aXRoIGVh
Y2ggY29udmVyc2lvbi4gV2hlbiB0aGlzIG9jY3VycyB3aGlsZQotLy8gYWNjdW11bGF0aW5nIG91
ciBwcmVmZXJyZWQgd2lkdGhzLCB3ZSBjYW4gd2luZCB1cCB3aXRoIGEgbGluZSB3aWR0aCB0aGF0
J3MKLS8vIGxhcmdlciB0aGFuIG91ciBtYXhQcmVmZXJyZWRXaWR0aCBkdWUgdG8gcHVyZSBmbG9h
dCBhY2N1bXVsYXRpb24uCi0vLwotLy8gV2l0aCBzdWItcGl4ZWwgZGlzYWJsZWQ6IHZhbHVlcyBm
cm9tIExlbmd0aHMgb3IgdGhlIHJlbmRlciB0cmVlIGFyZW4ndCBzdWJqZWN0Ci0vLyB0byB0aGUg
c2FtZSBsb3NzIG9mIHByZWNpc2lvbiwgYXMgdGhleSdyZSBhbHdheXMgdHJ1bmNhdGVkIGFuZCBz
dG9yZWQgYXMKLS8vIGludGVnZXJzLiBXZSBtaXJyb3IgdGhhdCBiZWhhdmlvciBoZXJlIHRvIHBy
ZXZlbnQgb3Zlci1hbGxvY2F0aW5nIG91ciBwcmVmZXJyZWQKLS8vIHdpZHRoLgotc3RhdGljIGlu
bGluZSBMYXlvdXRVbml0IGFkanVzdEZsb2F0Rm9yU3ViUGl4ZWxMYXlvdXQoZmxvYXQgdmFsdWUp
Ci17Ci0gICAgcmV0dXJuIGNlaWxlZExheW91dFVuaXQodmFsdWUpOwotfQotCi0KIHZvaWQgUmVu
ZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKExheW91dFVuaXQm
IG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKQogewogICAgIGZs
b2F0IGlubGluZU1heCA9IDA7CkBAIC0zMDE5LDkgKzMwMDMsOSBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dp
Y2FsV2lkdAogICAgICAgICAgICAgICAgICAgICBMZW5ndGggc3RhcnRNYXJnaW4gPSBjaGlsZFN0
eWxlLm1hcmdpblN0YXJ0KCk7CiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBlbmRNYXJnaW4g
PSBjaGlsZFN0eWxlLm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRN
YXJnaW4uaXNGaXhlZCgpKQotICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2lucyArPSBhZGp1
c3RGbG9hdEZvclN1YlBpeGVsTGF5b3V0KHN0YXJ0TWFyZ2luLnZhbHVlKCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgbWFyZ2lucyArPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKHN0YXJ0
TWFyZ2luLnZhbHVlKCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoZW5kTWFyZ2luLmlzRml4
ZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbnMgKz0gYWRqdXN0RmxvYXRGb3JT
dWJQaXhlbExheW91dChlbmRNYXJnaW4udmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBtYXJnaW5zICs9IExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoZW5kTWFyZ2luLnZhbHVlKCkp
OwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiArPSBtYXJnaW5zLmNlaWxUb0Zsb2F0KCk7
CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWF4ICs9IG1hcmdpbnMuY2VpbFRvRmxvYXQoKTsK
ICAgICAgICAgICAgICAgICB9CkBAIC0zMDYyLDcgKzMwNDYsNyBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dp
Y2FsV2lkdAogICAgICAgICAgICAgICAgICAgICBjaGlsZE1heCArPSBjZWlsZWRJbmRlbnQ7CiAK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkTWluIDwgMCkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRleHRJbmRlbnQgPSBhZGp1c3RGbG9hdEZvclN1YlBpeGVsTGF5b3V0KGNoaWxkTWlu
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHRJbmRlbnQgPSBMYXlvdXRVbml0Ojpmcm9t
RmxvYXRDZWlsKGNoaWxkTWluKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgICAgICAgICAgYWRkZWRUZXh0SW5kZW50ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDI1ZjAxOWM1OGE4MzU5
YTdjZmM0YjIwMjFlMjg5NmRhOTlhODc1NjAuLjAzYzhjZmU4Zjc5NGQ5NmIxZTRkZGM0YzM2Y2M1
MzE3YmMzOTIyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0y
MDMxLDcgKzIwMzEsNyBAQCB2b2lkIFJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KElubGluZUVs
ZW1lbnRCb3gmIGJveCkKICAgICAgICAgICAgIC8vIG91ciBvYmplY3Qgd2FzIGlubGluZSBvcmln
aW5hbGx5LCBzaW5jZSBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBlbmRlZCB1cCB1bmRlcm5lYXRo
CiAgICAgICAgICAgICAvLyB0aGUgaW5saW5lcy4KICAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gm
IHJvb3RCb3ggPSBib3gucm9vdCgpOwotICAgICAgICAgICAgcm9vdEJveC5ibG9ja0Zsb3coKS5z
ZXRTdGF0aWNJbmxpbmVQb3NpdGlvbkZvckNoaWxkKCp0aGlzLCByb290Qm94LmxpbmVUb3BXaXRo
TGVhZGluZygpLCByb3VuZGVkTGF5b3V0VW5pdChib3gubG9naWNhbExlZnQoKSkpOworICAgICAg
ICAgICAgcm9vdEJveC5ibG9ja0Zsb3coKS5zZXRTdGF0aWNJbmxpbmVQb3NpdGlvbkZvckNoaWxk
KCp0aGlzLCByb290Qm94LmxpbmVUb3BXaXRoTGVhZGluZygpLCBMYXlvdXRVbml0Ojpmcm9tRmxv
YXRSb3VuZChib3gubG9naWNhbExlZnQoKSkpOwogICAgICAgICAgICAgaWYgKHN0eWxlKCkuaGFz
U3RhdGljSW5saW5lUG9zaXRpb24oYm94LmlzSG9yaXpvbnRhbCgpKSkKICAgICAgICAgICAgICAg
ICBzZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7IC8vIEp1c3QgZ28gYWhlYWQgYW5k
IG1hcmsgdGhlIHBvc2l0aW9uZWQgb2JqZWN0IGFzIG5lZWRpbmcgbGF5b3V0LCBzbyBpdCB3aWxs
IHVwZGF0ZSBpdHMgcG9zaXRpb24gcHJvcGVybHkuCiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA3ZjgxZGJk
M2UwMzBiYzE2NDNmZjM1YTI2OThmZjBiZWUwNjExZWE4Li4zNmFkNzFlOTdjMDQyY2UzYjc4MTUy
ZjRjMzhiNjllMGM2YzUzNTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHAKQEAgLTk0OCw3ICs5NDgsNyBAQCBib29sIFJlbmRlckZsZXhpYmxl
Qm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduIGZsZXhTaWduLCBjb25zdCBPcmRl
cmVkRgogICAgICAgICAgICAgZWxzZSBpZiAoYXZhaWxhYmxlRnJlZVNwYWNlIDwgMCAmJiB0b3Rh
bFdlaWdodGVkRmxleFNocmluayA+IDAgJiYgZmxleFNpZ24gPT0gTmVnYXRpdmVGbGV4aWJpbGl0
eSAmJiBzdGQ6OmlzZmluaXRlKHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rKSkKICAgICAgICAgICAg
ICAgICBleHRyYVNwYWNlID0gYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQuc3R5bGUoKS5mbGV4
U2hyaW5rKCkgKiBwcmVmZXJyZWRDaGlsZFNpemUgLyB0b3RhbFdlaWdodGVkRmxleFNocmluazsK
ICAgICAgICAgICAgIGlmIChzdGQ6OmlzZmluaXRlKGV4dHJhU3BhY2UpKQotICAgICAgICAgICAg
ICAgIGNoaWxkU2l6ZSArPSByb3VuZGVkTGF5b3V0VW5pdChleHRyYVNwYWNlKTsKKyAgICAgICAg
ICAgICAgICBjaGlsZFNpemUgKz0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Um91bmQoZXh0cmFTcGFj
ZSk7CiAKICAgICAgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRDaGlsZFNpemUgPSBhZGp1c3RD
aGlsZFNpemVGb3JNaW5BbmRNYXgoY2hpbGQsIGNoaWxkU2l6ZSk7CiAgICAgICAgICAgICBjaGls
ZFNpemVzLmFwcGVuZChhZGp1c3RlZENoaWxkU2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGIzYzc4MDMyMzVkMTgxMDI1ZDY1NzY2NjRkYTIwZDA0
OGQ0NDBjYmQuLjc0MGU3OWIyYzVkMDRkODlmOTg3NjVkZTkzZTI0ODgyYzc3ODU0ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC0xNDI1LDcgKzE0MjUs
NyBAQCBMYXlvdXRTaXplIFJlbmRlcklubGluZTo6b2Zmc2V0Rm9ySW5GbG93UG9zaXRpb25lZElu
bGluZShjb25zdCBSZW5kZXJCb3gqIGNoaWxkKQogICAgIExheW91dFVuaXQgaW5saW5lUG9zaXRp
b247CiAgICAgTGF5b3V0VW5pdCBibG9ja1Bvc2l0aW9uOwogICAgIGlmIChmaXJzdExpbmVCb3go
KSkgewotICAgICAgICBpbmxpbmVQb3NpdGlvbiA9IHJvdW5kZWRMYXlvdXRVbml0KGZpcnN0TGlu
ZUJveCgpLT5sb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgaW5saW5lUG9zaXRpb24gPSBMYXlvdXRV
bml0Ojpmcm9tRmxvYXRSb3VuZChmaXJzdExpbmVCb3goKS0+bG9naWNhbExlZnQoKSk7CiAgICAg
ICAgIGJsb2NrUG9zaXRpb24gPSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcCgpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGlubGluZVBvc2l0aW9uID0gbGF5ZXIoKS0+c3RhdGljSW5saW5lUG9z
aXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5jcHAKaW5kZXggN2E1ODY4N2U1NGU5NWZhYTYxMjg4MGRjZWQx
MGM0MzYzYWFmY2MyMS4uNGEzOWUyNTc3YTkyZGZiYjIwMWZmZWZhMzI3MjVhNzgzNTcyMTUyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZS5jcHAKQEAgLTMzMyw3ICszMzMsNyBAQCBMYXlvdXRVbml0IFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0aChmbG9hdCBj
aGFyVwogICAgIGlmIChmYWN0b3IgPD0gMCkKICAgICAgICAgZmFjdG9yID0gMjA7CiAKLSAgICBM
YXlvdXRVbml0IHJlc3VsdCA9IGNlaWxlZExheW91dFVuaXQoY2hhcldpZHRoICogZmFjdG9yKTsK
KyAgICBMYXlvdXRVbml0IHJlc3VsdCA9IExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoY2hhcldp
ZHRoICogZmFjdG9yKTsKIAogICAgIGZsb2F0IG1heENoYXJXaWR0aCA9IDAuZjsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>