<?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>169266</bug_id>
          
          <creation_ts>2017-03-06 23:52:12 -0800</creation_ts>
          <short_desc>REGRESSION (r213412): JPEG premultiplication tests fail under GuardMalloc</short_desc>
          <delta_ts>2017-03-07 01:51:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>saam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1284232</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-03-06 23:52:12 -0800</bug_when>
    <thetext>REGRESSION (r213412): JPEG premultiplication tests fail under GuardMalloc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284234</commentid>
    <comment_count>1</comment_count>
      <attachid>303633</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-03-07 00:13:18 -0800</bug_when>
    <thetext>Created attachment 303633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284242</commentid>
    <comment_count>2</comment_count>
      <attachid>303633</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-03-07 00:59:35 -0800</bug_when>
    <thetext>Comment on attachment 303633
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp:530
&gt; +        premultipliedData = getPremultipliedImageData(IntRect(IntPoint(0, 0), logicalSize()));

Can drop the 0, 0

&gt; Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp:560
&gt; +static RetainPtr&lt;CFDataRef&gt; cfData(const ImageData&amp; source, const String&amp; mimeType, std::optional&lt;double&gt; quality)

This does seem like a better plan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284243</commentid>
    <comment_count>3</comment_count>
      <attachid>303636</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-03-07 01:10:22 -0800</bug_when>
    <thetext>Created attachment 303636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284248</commentid>
    <comment_count>4</comment_count>
      <attachid>303636</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-07 01:51:21 -0800</bug_when>
    <thetext>Comment on attachment 303636
Patch

Clearing flags on attachment: 303636

Committed r213508: &lt;http://trac.webkit.org/changeset/213508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284249</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-07 01:51:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303633</attachid>
            <date>2017-03-07 00:13:18 -0800</date>
            <delta_ts>2017-03-07 01:10:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169266-20170307001317.patch</filename>
            <type>text/plain</type>
            <size>9364</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRkMjNkMTRlZjM0OWZm
NGU3M2IyMWQwZjU5YjFiMDNkNjYxODU1ZC4uNzFhYTg0MTM0ZDY0OGUxMjNlMWQ5YTI2MDY3ZWVm
MGNlZmQ2MmMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTAzLTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjEzNDEy
KTogSlBFRyBwcmVtdWx0aXBsaWNhdGlvbiB0ZXN0cyBmYWlsIHVuZGVyIEd1YXJkTWFsbG9jCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkyNjYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjEzNDEyIGFk
ZGVkIGZ1bmN0aW9ucyB0byBjcmVhdGUgYSBDR0ltYWdlUmVmIGZyb20gYSBjYW52YXMgaW1hZ2Ug
YnVmZmVyLCB3aGljaCB3ZXJlIHVzZWQKKyAgICAgICAgdG8gY3JlYXRlIGRhdGE6IFVSTHMgYW5k
IGJsb2JzLiBJZiBKUEVHIHByZW11bHRpcGxpY2F0aW9uIGlzIGFwcGxpZWQsIHRob3VnaCwKKyAg
ICAgICAgV2ViQ29yZTo6Y2dJbWFnZSgpIHdvdWxkIHJldHVybiBhbiBpbWFnZSB3aXRoIGEgZGF0
YSBwcm92aWRlciBwb2ludGluZyB0byBzdGFjayBtZW1vcnkuCisKKyAgICAgICAgcjIxMzQzNyBm
aXhlZCBhIHNpbWlsYXIgaXNzdWUgaW4gSW1hZ2VCdWZmZXI6OnRvQ0dJbWFnZSgpIGJ5IGxlYWtp
bmcgdGhlIHJlZmVyZW5jZSB0byBhCisgICAgICAgIFVpbnQ4Q2xhbXBlZEFycmF5IHRoZW4gY3Jl
YXRpbmcgYSBDR0RhdGFQcm92aWRlclJlZiB3aXRoIGEgcmVsZWFzZURhdGEgZnVuY3Rpb24gdGhh
dCBhZG9wdHMKKyAgICAgICAgdGhlIGxlYWtlZCByZWZlcmVuY2UuCisKKyAgICAgICAgV2UgY291
bGQgdGFrZSB0aGF0IGFwcHJvYWNoIGluIGNnSW1hZ2UoKSB0b28gYnkgYWxsb2NhdGluZyB0aGUg
cHJlbXVsdGlwbGllZCBkYXRhIGJ1ZmZlciBvbgorICAgICAgICB0aGUgaGVhcCB0aGVuIGZyZWVp
bmcgaXQgd2l0aCBhIHJlbGVhc2VEYXRhIGZ1bmN0aW9uLCBidXQgaXQncyBzaW1wbGVyIHRvIHJl
ZmFjdG9yCisgICAgICAgIHRvQ0dJbWFnZSgpL2NnSW1hZ2UoKSB0byByZXR1cm4gYW4gZW5jb2Rl
ZCBpbWFnZSBhcyBhIENGRGF0YVJlZiBpbnN0ZWFkIG9mIGEgQ0ZJbWFnZVJlZi4KKyAgICAgICAg
VGhpcyBlbnN1cmVzIHRoYXQgYSBDR0RhdGFQcm92aWRlclJlZiBuZXZlciBvdXRsaXZlcyB0aGUg
ZGF0YSBpdCBwb2ludHMgdG8uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6IFJlbmFtZWQgdG9D
R0ltYWdlKCkgdG8gdG9DRkRhdGEoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUJ1ZmZlckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRhdGFVUkwpOiBDaGFuZ2VkIHRv
IHRha2UgYSBDRkRhdGFSZWYuCisgICAgICAgIChXZWJDb3JlOjpkYXRhVmVjdG9yKTogUmVuYW1l
ZCBmcm9tIGRhdGEoKS4gQ2hhbmdlZCB0byB0YWtlIGEgQ0ZEYXRhUmVmLgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VCdWZmZXI6OnRvRGF0YVVSTCk6IENoYW5nZWQgdG8gY2FsbCB0b0NGRGF0YSgp
LgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRvRGF0YSk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRvQ0ZEYXRhKTogQ2hhbmdlZCB0byByZXR1cm4gYSBD
RkRhdGFSZWYgYWZ0ZXIgZW5jb2RpbmcgdGhlCisgICAgICAgIENHSW1hZ2VSZWYgdGhhdCB3YXMg
cHJldmlvdXNseSByZXR1cm5lZC4KKyAgICAgICAgKFdlYkNvcmU6OmNmRGF0YSk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6ZGF0YVVSTCk6IENoYW5nZWQgdG8gY2FsbCBjZkRhdGEoKS4KKyAg
ICAgICAgKFdlYkNvcmU6OmRhdGEpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVm
ZmVyOjp0b0NHSW1hZ2UpOiBSZW5hbWVkIHRvIEltYWdlQnVmZmVyOjp0b0NGRGF0YSgpLgorICAg
ICAgICAoV2ViQ29yZTo6Y2dJbWFnZSk6IFJlbmFtZWQgdG8gV2ViQ29yZTo6Y2ZEYXRhKCkuCisK
IDIwMTctMDMtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcGRhdGUgQ1NTRm9udFNlbGVjdG9yJ3MgbWF0Y2hpbmcgYWxnb3JpdGhtIHRvIHVu
ZGVyc3RhbmQgcmFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA2MDZhMTU0MDMzMjRhZmE4MzE5Y2Q0OGNkNTA4MTE0OTIyYmY1NDVl
Li41OWFjYjM5MjJmMTc3OTE5OGI2NGUxZDQ2MDI5MTk1YTI3MTY2ODdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTE3NSw3ICsxNzUs
NyBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIEltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
U2l6ZSYsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSwgUmVuZGVyaW5nTW9kZSwg
Ym9vbCYgc3VjY2Vzcyk7CiAjaWYgVVNFKENHKQogICAgIEltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
U2l6ZSYsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ0dDb2xvclNwYWNlUmVmLCBSZW5kZXJpbmdN
b2RlLCBib29sJiBzdWNjZXNzKTsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gdG9DR0ltYWdl
KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0OworICAgIFJldGFpblB0cjxDRkRhdGFSZWY+
IHRvQ0ZEYXRhKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBx
dWFsaXR5KSBjb25zdDsKICNlbGlmIFVTRShESVJFQ1QyRCkKICAgICBJbWFnZUJ1ZmZlcihjb25z
dCBGbG9hdFNpemUmLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIENvbG9yU3BhY2UsIFJlbmRlcmlu
Z01vZGUsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCosIGJvb2wmIHN1Y2Nlc3MpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZl
ckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
Q0cuY3BwCmluZGV4IDRmZDg5NWQ3MjE2MzdkNzRkNTQxYjk1ODQzMTdiMDlkM2RkMGU3ZGUuLjZk
YTIwMDkzMmIzMGJlMDQ3MDM1YmNkNDU4MmI5MjZlZGE4NTkwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCkBAIC00
ODMsNTAgKzQ4MywzNiBAQCBzdGF0aWMgYm9vbCBlbmNvZGVJbWFnZShDR0ltYWdlUmVmIGltYWdl
LCBDRlN0cmluZ1JlZiB1dGksIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPgogICAgIHJldHVybiBDR0lt
YWdlRGVzdGluYXRpb25GaW5hbGl6ZShkZXN0aW5hdGlvbi5nZXQoKSk7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgZGF0YVVSTChDR0ltYWdlUmVmIGltYWdlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBz
dGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSkKK3N0YXRpYyBTdHJpbmcgZGF0YVVSTChDRkRh
dGFSZWYgZGF0YSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKLSAgICBhdXRvIHV0aSA9IHV0
aUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Ci0gICAgQVNTRVJUKHV0aSk7Ci0KLSAgICBhdXRvIGRh
dGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgMCkp
OwotICAgIGlmICghZW5jb2RlSW1hZ2UoaW1hZ2UsIHV0aS5nZXQoKSwgcXVhbGl0eSwgZGF0YS5n
ZXQoKSkpCi0gICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImRhdGE6LCIpOwotCiAgICAgVmVj
dG9yPGNoYXI+IGJhc2U2NERhdGE7Ci0gICAgYmFzZTY0RW5jb2RlKENGRGF0YUdldEJ5dGVQdHIo
ZGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChkYXRhLmdldCgpKSwgYmFzZTY0RGF0YSk7Cisg
ICAgYmFzZTY0RW5jb2RlKENGRGF0YUdldEJ5dGVQdHIoZGF0YSksIENGRGF0YUdldExlbmd0aChk
YXRhKSwgYmFzZTY0RGF0YSk7CiAKICAgICByZXR1cm4gImRhdGE6IiArIG1pbWVUeXBlICsgIjti
YXNlNjQsIiArIGJhc2U2NERhdGE7CiB9CiAKLXN0YXRpYyBWZWN0b3I8dWludDhfdD4gZGF0YShD
R0ltYWdlUmVmIGltYWdlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gcXVhbGl0eSkKK3N0YXRpYyBWZWN0b3I8dWludDhfdD4gZGF0YVZlY3RvcihDRkRhdGFS
ZWYgY2ZEYXRhKQogewotICAgIGF1dG8gdXRpID0gdXRpRnJvbU1JTUVUeXBlKG1pbWVUeXBlKTsK
LSAgICBBU1NFUlQodXRpKTsKLQotICAgIGF1dG8gY2ZEYXRhID0gYWRvcHRDRihDRkRhdGFDcmVh
dGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDApKTsKLSAgICBpZiAoIWVuY29kZUltYWdl
KGltYWdlLCB1dGkuZ2V0KCksIHF1YWxpdHksIGNmRGF0YS5nZXQoKSkpCi0gICAgICAgIHJldHVy
biB7IH07Ci0KICAgICBWZWN0b3I8dWludDhfdD4gZGF0YTsKLSAgICBkYXRhLmFwcGVuZChDRkRh
dGFHZXRCeXRlUHRyKGNmRGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChjZkRhdGEuZ2V0KCkp
KTsKKyAgICBkYXRhLmFwcGVuZChDRkRhdGFHZXRCeXRlUHRyKGNmRGF0YSksIENGRGF0YUdldExl
bmd0aChjZkRhdGEpKTsKICAgICByZXR1cm4gZGF0YTsKIH0KIAogU3RyaW5nIEltYWdlQnVmZmVy
Ojp0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+
IHF1YWxpdHksIENvb3JkaW5hdGVTeXN0ZW0pIGNvbnN0CiB7Ci0gICAgaWYgKGF1dG8gaW1hZ2Ug
PSB0b0NHSW1hZ2UobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gZGF0YVVSTChpbWFnZS5nZXQo
KSwgbWltZVR5cGUsIHF1YWxpdHkpOworICAgIGlmIChhdXRvIGRhdGEgPSB0b0NGRGF0YShtaW1l
VHlwZSwgcXVhbGl0eSkpCisgICAgICAgIHJldHVybiBkYXRhVVJMKGRhdGEuZ2V0KCksIG1pbWVU
eXBlKTsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJkYXRhOiwiKTsKIH0KIAogVmVjdG9yPHVp
bnQ4X3Q+IEltYWdlQnVmZmVyOjp0b0RhdGEoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpv
cHRpb25hbDxkb3VibGU+IHF1YWxpdHkpIGNvbnN0CiB7Ci0gICAgaWYgKGF1dG8gaW1hZ2UgPSB0
b0NHSW1hZ2UobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gZGF0YShpbWFnZS5nZXQoKSwgbWlt
ZVR5cGUsIHF1YWxpdHkpOworICAgIGlmIChhdXRvIGRhdGEgPSB0b0NGRGF0YShtaW1lVHlwZSwg
cXVhbGl0eSkpCisgICAgICAgIHJldHVybiBkYXRhVmVjdG9yKGRhdGEuZ2V0KCkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKLVJldGFpblB0cjxDR0ltYWdlUmVmPiBJbWFnZUJ1ZmZlcjo6dG9DR0lt
YWdlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CitSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBJ
bWFnZUJ1ZmZlcjo6dG9DRkRhdGEoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25h
bDxkb3VibGU+IHF1YWxpdHkpIGNvbnN0CiB7CiAgICAgQVNTRVJUKE1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZUZvckVuY29kaW5nKG1pbWVUeXBlKSk7CiAKQEAgLTUz
NywxOSArNTIzLDE2IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBJbWFnZUJ1ZmZlcjo6dG9DR0lt
YWdlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgQVNTRVJUKHV0aSk7CiAKICAg
ICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2U7CisgICAgUmVmUHRyPFVpbnQ4Q2xhbXBlZEFy
cmF5PiBwcmVtdWx0aXBsaWVkRGF0YTsKIAogICAgIGlmIChDRkVxdWFsKHV0aS5nZXQoKSwganBl
Z1VUSSgpKSkgewogICAgICAgICAvLyBKUEVHcyBkb24ndCBoYXZlIGFuIGFscGhhIGNoYW5uZWws
IHNvIHdlIGhhdmUgdG8gbWFudWFsbHkgY29tcG9zaXRlIG9uIHRvcCBvZiBibGFjay4KLSAgICAg
ICAgLy8gcHJlbXVsdGlwbGllZERhdGEgaXMgbGVha2VkIGhlcmUsIHRoZW4gYWRvcHRlZCBpbiB0
aGUgcmVsZWFzZURhdGEgbGFtYmRhIHBhc3NlZCB0byBDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhE
YXRhKCkuCi0gICAgICAgIFVpbnQ4Q2xhbXBlZEFycmF5KiBwcmVtdWx0aXBsaWVkRGF0YSA9IGdl
dFByZW11bHRpcGxpZWRJbWFnZURhdGEoSW50UmVjdChJbnRQb2ludCgwLCAwKSwgbG9naWNhbFNp
emUoKSkpLmxlYWtSZWYoKTsKKyAgICAgICAgcHJlbXVsdGlwbGllZERhdGEgPSBnZXRQcmVtdWx0
aXBsaWVkSW1hZ2VEYXRhKEludFJlY3QoSW50UG9pbnQoMCwgMCksIGxvZ2ljYWxTaXplKCkpKTsK
ICAgICAgICAgaWYgKCFwcmVtdWx0aXBsaWVkRGF0YSkKICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgICAgIHNpemVfdCBkYXRhU2l6ZSA9IDQgKiBsb2dpY2FsU2l6ZSgpLndpZHRo
KCkgKiBsb2dpY2FsU2l6ZSgpLmhlaWdodCgpOwotICAgICAgICBhdXRvIGRhdGFQcm92aWRlciA9
IGFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVhdGVXaXRoRGF0YShwcmVtdWx0aXBsaWVkRGF0YSwg
cHJlbXVsdGlwbGllZERhdGEtPmRhdGEoKSwgZGF0YVNpemUsIFtdKHZvaWQqIGluZm8sIGNvbnN0
IHZvaWQqLCBzaXplX3QpIHsKLSAgICAgICAgICAgIEFTU0VSVChpbmZvKTsKLSAgICAgICAgICAg
IGFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8VWludDhDbGFtcGVkQXJyYXkqPihpbmZvKSk7Ci0g
ICAgICAgIH0pKTsKKyAgICAgICAgYXV0byBkYXRhUHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVBy
b3ZpZGVyQ3JlYXRlV2l0aERhdGEobnVsbHB0ciwgcHJlbXVsdGlwbGllZERhdGEtPmRhdGEoKSwg
ZGF0YVNpemUsIG51bGxwdHIpKTsKICAgICAgICAgaWYgKCFkYXRhUHJvdmlkZXIpCiAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtNTY3LDEwICs1NTAsMTQgQEAgUmV0YWluUHRyPENH
SW1hZ2VSZWY+IEltYWdlQnVmZmVyOjp0b0NHSW1hZ2UoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkg
Y29uc3QKICAgICAgICAgaW1hZ2UgPSBhZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZUltYWdl
KGNvbnRleHQuZ2V0KCkpKTsKICAgICB9CiAKLSAgICByZXR1cm4gaW1hZ2U7CisgICAgYXV0byBj
ZkRhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
MCkpOworICAgIGlmICghZW5jb2RlSW1hZ2UoaW1hZ2UuZ2V0KCksIHV0aS5nZXQoKSwgcXVhbGl0
eSwgY2ZEYXRhLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4g
V1RGTW92ZShjZkRhdGEpOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNnSW1h
Z2UoY29uc3QgSW1hZ2VEYXRhJiBzb3VyY2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCitzdGF0
aWMgUmV0YWluUHRyPENGRGF0YVJlZj4gY2ZEYXRhKGNvbnN0IEltYWdlRGF0YSYgc291cmNlLCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSkKIHsK
ICAgICBBU1NFUlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlRm9y
RW5jb2RpbmcobWltZVR5cGUpKTsKIApAQCAtNjEwLDIwICs1OTcsMjYgQEAgc3RhdGljIFJldGFp
blB0cjxDR0ltYWdlUmVmPiBjZ0ltYWdlKGNvbnN0IEltYWdlRGF0YSYgc291cmNlLCBjb25zdCBT
dHJpbmcmIG1pbWUKICAgICBpZiAoIWRhdGFQcm92aWRlcikKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKLSAgICByZXR1cm4gYWRvcHRDRihDR0ltYWdlQ3JlYXRlKHNvdXJjZS53aWR0aCgpLCBz
b3VyY2UuaGVpZ2h0KCksIDgsIDMyLCA0ICogc291cmNlLndpZHRoKCksIHNSR0JDb2xvclNwYWNl
UmVmKCksIGtDR0JpdG1hcEJ5dGVPcmRlckRlZmF1bHQgfCBkYXRhQWxwaGFJbmZvLCBkYXRhUHJv
dmlkZXIuZ2V0KCksIDAsIGZhbHNlLCBrQ0dSZW5kZXJpbmdJbnRlbnREZWZhdWx0KSk7CisgICAg
YXV0byBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZUNyZWF0ZShzb3VyY2Uud2lkdGgoKSwgc291cmNl
LmhlaWdodCgpLCA4LCAzMiwgNCAqIHNvdXJjZS53aWR0aCgpLCBzUkdCQ29sb3JTcGFjZVJlZigp
LCBrQ0dCaXRtYXBCeXRlT3JkZXJEZWZhdWx0IHwgZGF0YUFscGhhSW5mbywgZGF0YVByb3ZpZGVy
LmdldCgpLCAwLCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOworCisgICAgYXV0
byBjZkRhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgMCkpOworICAgIGlmICghZW5jb2RlSW1hZ2UoaW1hZ2UuZ2V0KCksIHV0aS5nZXQoKSwgcXVh
bGl0eSwgY2ZEYXRhLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1
cm4gV1RGTW92ZShjZkRhdGEpOwogfQogCiBTdHJpbmcgZGF0YVVSTChjb25zdCBJbWFnZURhdGEm
IHNvdXJjZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1
YWxpdHkpCiB7Ci0gICAgaWYgKGF1dG8gaW1hZ2UgPSBjZ0ltYWdlKHNvdXJjZSwgbWltZVR5cGUp
KQotICAgICAgICByZXR1cm4gZGF0YVVSTChpbWFnZS5nZXQoKSwgbWltZVR5cGUsIHF1YWxpdHkp
OworICAgIGlmIChhdXRvIGRhdGEgPSBjZkRhdGEoc291cmNlLCBtaW1lVHlwZSwgcXVhbGl0eSkp
CisgICAgICAgIHJldHVybiBkYXRhVVJMKGRhdGEuZ2V0KCksIG1pbWVUeXBlKTsKICAgICByZXR1
cm4gQVNDSUlMaXRlcmFsKCJkYXRhOiwiKTsKIH0KIAogVmVjdG9yPHVpbnQ4X3Q+IGRhdGEoY29u
c3QgSW1hZ2VEYXRhJiBzb3VyY2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBxdWFsaXR5KQogewotICAgIGlmIChhdXRvIGltYWdlID0gY2dJbWFnZShzb3Vy
Y2UsIG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIGRhdGEoaW1hZ2UuZ2V0KCksIG1pbWVUeXBl
LCBxdWFsaXR5KTsKKyAgICBpZiAoYXV0byBkYXRhID0gY2ZEYXRhKHNvdXJjZSwgbWltZVR5cGUs
IHF1YWxpdHkpKQorICAgICAgICByZXR1cm4gZGF0YVZlY3RvcihkYXRhLmdldCgpKTsKICAgICBy
ZXR1cm4geyB9OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303636</attachid>
            <date>2017-03-07 01:10:22 -0800</date>
            <delta_ts>2017-03-07 01:51:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169266-20170307011021.patch</filename>
            <type>text/plain</type>
            <size>9350</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRkMjNkMTRlZjM0OWZm
NGU3M2IyMWQwZjU5YjFiMDNkNjYxODU1ZC4uZTVjYjhmNWFlNTRhZWQwZGE5NTAxMzNhN2E1Nzc3
ZTI0YjYwNDYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTAzLTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjEzNDEy
KTogSlBFRyBwcmVtdWx0aXBsaWNhdGlvbiB0ZXN0cyBmYWlsIHVuZGVyIEd1YXJkTWFsbG9jCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkyNjYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIHIyMTM0MTIgYWRkZWQg
ZnVuY3Rpb25zIHRvIGNyZWF0ZSBhIENHSW1hZ2VSZWYgZnJvbSBhIGNhbnZhcyBpbWFnZSBidWZm
ZXIsIHdoaWNoIHdlcmUgdXNlZAorICAgICAgICB0byBjcmVhdGUgZGF0YTogVVJMcyBhbmQgYmxv
YnMuIElmIEpQRUcgcHJlbXVsdGlwbGljYXRpb24gaXMgYXBwbGllZCwgdGhvdWdoLAorICAgICAg
ICBXZWJDb3JlOjpjZ0ltYWdlKCkgd291bGQgcmV0dXJuIGFuIGltYWdlIHdpdGggYSBkYXRhIHBy
b3ZpZGVyIHBvaW50aW5nIHRvIHN0YWNrIG1lbW9yeS4KKworICAgICAgICBJIGZpeGVkIGEgc2lt
aWxhciBpc3N1ZSBpbiBJbWFnZUJ1ZmZlcjo6dG9DR0ltYWdlKCkgYnkgbGVha2luZyB0aGUgcmVm
ZXJlbmNlIHRvIGEKKyAgICAgICAgVWludDhDbGFtcGVkQXJyYXkgdGhlbiBjcmVhdGluZyBhIENH
RGF0YVByb3ZpZGVyUmVmIHdpdGggYSByZWxlYXNlRGF0YSBmdW5jdGlvbiB0aGF0IGFkb3B0cwor
ICAgICAgICB0aGUgbGVha2VkIHJlZmVyZW5jZS4KKworICAgICAgICBXZSBjb3VsZCB0YWtlIHRo
YXQgYXBwcm9hY2ggaW4gY2dJbWFnZSgpIHRvbyBieSBhbGxvY2F0aW5nIHRoZSBwcmVtdWx0aXBs
aWVkIGRhdGEgYnVmZmVyIG9uCisgICAgICAgIHRoZSBoZWFwIHRoZW4gZnJlZWluZyBpdCB3aXRo
IGEgcmVsZWFzZURhdGEgZnVuY3Rpb24sIGJ1dCBpdCdzIHNpbXBsZXIgdG8gcmVmYWN0b3IKKyAg
ICAgICAgdG9DR0ltYWdlKCkvY2dJbWFnZSgpIHRvIHJldHVybiBhbiBlbmNvZGVkIGltYWdlIGFz
IGEgQ0ZEYXRhUmVmIGluc3RlYWQgb2YgYSBDRkltYWdlUmVmLgorICAgICAgICBUaGlzIGVuc3Vy
ZXMgdGhhdCBhIENHRGF0YVByb3ZpZGVyUmVmIG5ldmVyIG91dGxpdmVzIHRoZSBkYXRhIGl0IHBv
aW50cyB0by4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDogUmVuYW1lZCB0b0NHSW1hZ2UoKSB0
byB0b0NGRGF0YSgpLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
Q0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGF0YVVSTCk6IENoYW5nZWQgdG8gdGFrZSBhIENG
RGF0YVJlZi4KKyAgICAgICAgKFdlYkNvcmU6OmRhdGFWZWN0b3IpOiBSZW5hbWVkIGZyb20gZGF0
YSgpLiBDaGFuZ2VkIHRvIHRha2UgYSBDRkRhdGFSZWYuCisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZUJ1ZmZlcjo6dG9EYXRhVVJMKTogQ2hhbmdlZCB0byBjYWxsIHRvQ0ZEYXRhKCkuCisgICAgICAg
IChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6dG9EYXRhKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpJbWFnZUJ1ZmZlcjo6dG9DRkRhdGEpOiBDaGFuZ2VkIHRvIHJldHVybiBhIENGRGF0YVJlZiBh
ZnRlciBlbmNvZGluZyB0aGUKKyAgICAgICAgQ0dJbWFnZVJlZiB0aGF0IHdhcyBwcmV2aW91c2x5
IHJldHVybmVkLgorICAgICAgICAoV2ViQ29yZTo6Y2ZEYXRhKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpkYXRhVVJMKTogQ2hhbmdlZCB0byBjYWxsIGNmRGF0YSgpLgorICAgICAgICAoV2Vi
Q29yZTo6ZGF0YSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRvQ0dJ
bWFnZSk6IFJlbmFtZWQgdG8gSW1hZ2VCdWZmZXI6OnRvQ0ZEYXRhKCkuCisgICAgICAgIChXZWJD
b3JlOjpjZ0ltYWdlKTogUmVuYW1lZCB0byBXZWJDb3JlOjpjZkRhdGEoKS4KKwogMjAxNy0wMy0w
NCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBDU1NGb250U2VsZWN0b3IncyBtYXRjaGluZyBhbGdvcml0aG0gdG8gdW5kZXJzdGFuZCBy
YW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5o
CmluZGV4IDYwNmExNTQwMzMyNGFmYTgzMTljZDQ4Y2Q1MDgxMTQ5MjJiZjU0NWUuLjU5YWNiMzky
MmYxNzc5MTk4YjY0ZTFkNDYwMjkxOTVhMjcxNjY4N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtMTc1LDcgKzE3NSw3IEBAIHByaXZh
dGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgZmxv
YXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlLCBSZW5kZXJpbmdNb2RlLCBib29sJiBzdWNj
ZXNzKTsKICNpZiBVU0UoQ0cpCiAgICAgSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgZmxv
YXQgcmVzb2x1dGlvblNjYWxlLCBDR0NvbG9yU3BhY2VSZWYsIFJlbmRlcmluZ01vZGUsIGJvb2wm
IHN1Y2Nlc3MpOwotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiB0b0NHSW1hZ2UoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSkgY29uc3Q7CisgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gdG9DRkRhdGEo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHkpIGNv
bnN0OwogI2VsaWYgVVNFKERJUkVDVDJEKQogICAgIEltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6
ZSYsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjZSwgUmVuZGVyaW5nTW9kZSwgY29u
c3QgR3JhcGhpY3NDb250ZXh0KiwgYm9vbCYgc3VjY2Vzcyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKaW5k
ZXggNGZkODk1ZDcyMTYzN2Q3NGQ1NDFiOTU4NDMxN2IwOWQzZGQwZTdkZS4uZmJiY2Y4NGUxYmU2
NGIxOGMwNTIyMzI1OWE0MjQ5NTk0ZjNkYjI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKQEAgLTQ4Myw1MCArNDgz
LDM2IEBAIHN0YXRpYyBib29sIGVuY29kZUltYWdlKENHSW1hZ2VSZWYgaW1hZ2UsIENGU3RyaW5n
UmVmIHV0aSwgc3RkOjpvcHRpb25hbDxkb3VibGU+CiAgICAgcmV0dXJuIENHSW1hZ2VEZXN0aW5h
dGlvbkZpbmFsaXplKGRlc3RpbmF0aW9uLmdldCgpKTsKIH0KIAotc3RhdGljIFN0cmluZyBkYXRh
VVJMKENHSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBxdWFsaXR5KQorc3RhdGljIFN0cmluZyBkYXRhVVJMKENGRGF0YVJlZiBkYXRh
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewotICAgIGF1dG8gdXRpID0gdXRpRnJvbU1JTUVU
eXBlKG1pbWVUeXBlKTsKLSAgICBBU1NFUlQodXRpKTsKLQotICAgIGF1dG8gZGF0YSA9IGFkb3B0
Q0YoQ0ZEYXRhQ3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwKSk7Ci0gICAgaWYg
KCFlbmNvZGVJbWFnZShpbWFnZSwgdXRpLmdldCgpLCBxdWFsaXR5LCBkYXRhLmdldCgpKSkKLSAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZGF0YTosIik7Ci0KICAgICBWZWN0b3I8Y2hhcj4g
YmFzZTY0RGF0YTsKLSAgICBiYXNlNjRFbmNvZGUoQ0ZEYXRhR2V0Qnl0ZVB0cihkYXRhLmdldCgp
KSwgQ0ZEYXRhR2V0TGVuZ3RoKGRhdGEuZ2V0KCkpLCBiYXNlNjREYXRhKTsKKyAgICBiYXNlNjRF
bmNvZGUoQ0ZEYXRhR2V0Qnl0ZVB0cihkYXRhKSwgQ0ZEYXRhR2V0TGVuZ3RoKGRhdGEpLCBiYXNl
NjREYXRhKTsKIAogICAgIHJldHVybiAiZGF0YToiICsgbWltZVR5cGUgKyAiO2Jhc2U2NCwiICsg
YmFzZTY0RGF0YTsKIH0KIAotc3RhdGljIFZlY3Rvcjx1aW50OF90PiBkYXRhKENHSW1hZ2VSZWYg
aW1hZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBxdWFs
aXR5KQorc3RhdGljIFZlY3Rvcjx1aW50OF90PiBkYXRhVmVjdG9yKENGRGF0YVJlZiBjZkRhdGEp
CiB7Ci0gICAgYXV0byB1dGkgPSB1dGlGcm9tTUlNRVR5cGUobWltZVR5cGUpOwotICAgIEFTU0VS
VCh1dGkpOwotCi0gICAgYXV0byBjZkRhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZU11dGFibGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgMCkpOwotICAgIGlmICghZW5jb2RlSW1hZ2UoaW1hZ2UsIHV0
aS5nZXQoKSwgcXVhbGl0eSwgY2ZEYXRhLmdldCgpKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLQog
ICAgIFZlY3Rvcjx1aW50OF90PiBkYXRhOwotICAgIGRhdGEuYXBwZW5kKENGRGF0YUdldEJ5dGVQ
dHIoY2ZEYXRhLmdldCgpKSwgQ0ZEYXRhR2V0TGVuZ3RoKGNmRGF0YS5nZXQoKSkpOworICAgIGRh
dGEuYXBwZW5kKENGRGF0YUdldEJ5dGVQdHIoY2ZEYXRhKSwgQ0ZEYXRhR2V0TGVuZ3RoKGNmRGF0
YSkpOwogICAgIHJldHVybiBkYXRhOwogfQogCiBTdHJpbmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVS
TChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSwg
Q29vcmRpbmF0ZVN5c3RlbSkgY29uc3QKIHsKLSAgICBpZiAoYXV0byBpbWFnZSA9IHRvQ0dJbWFn
ZShtaW1lVHlwZSkpCi0gICAgICAgIHJldHVybiBkYXRhVVJMKGltYWdlLmdldCgpLCBtaW1lVHlw
ZSwgcXVhbGl0eSk7CisgICAgaWYgKGF1dG8gZGF0YSA9IHRvQ0ZEYXRhKG1pbWVUeXBlLCBxdWFs
aXR5KSkKKyAgICAgICAgcmV0dXJuIGRhdGFVUkwoZGF0YS5nZXQoKSwgbWltZVR5cGUpOwogICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoImRhdGE6LCIpOwogfQogCiBWZWN0b3I8dWludDhfdD4gSW1h
Z2VCdWZmZXI6OnRvRGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gcXVhbGl0eSkgY29uc3QKIHsKLSAgICBpZiAoYXV0byBpbWFnZSA9IHRvQ0dJbWFnZSht
aW1lVHlwZSkpCi0gICAgICAgIHJldHVybiBkYXRhKGltYWdlLmdldCgpLCBtaW1lVHlwZSwgcXVh
bGl0eSk7CisgICAgaWYgKGF1dG8gZGF0YSA9IHRvQ0ZEYXRhKG1pbWVUeXBlLCBxdWFsaXR5KSkK
KyAgICAgICAgcmV0dXJuIGRhdGFWZWN0b3IoZGF0YS5nZXQoKSk7CiAgICAgcmV0dXJuIHsgfTsK
IH0KIAotUmV0YWluUHRyPENHSW1hZ2VSZWY+IEltYWdlQnVmZmVyOjp0b0NHSW1hZ2UoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKK1JldGFpblB0cjxDRkRhdGFSZWY+IEltYWdlQnVmZmVy
Ojp0b0NGRGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
cXVhbGl0eSkgY29uc3QKIHsKICAgICBBU1NFUlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWRJbWFnZU1JTUVUeXBlRm9yRW5jb2RpbmcobWltZVR5cGUpKTsKIApAQCAtNTM3LDE5ICs1MjMs
MTYgQEAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IEltYWdlQnVmZmVyOjp0b0NHSW1hZ2UoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKICAgICBBU1NFUlQodXRpKTsKIAogICAgIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZTsKKyAgICBSZWZQdHI8VWludDhDbGFtcGVkQXJyYXk+IHByZW11
bHRpcGxpZWREYXRhOwogCiAgICAgaWYgKENGRXF1YWwodXRpLmdldCgpLCBqcGVnVVRJKCkpKSB7
CiAgICAgICAgIC8vIEpQRUdzIGRvbid0IGhhdmUgYW4gYWxwaGEgY2hhbm5lbCwgc28gd2UgaGF2
ZSB0byBtYW51YWxseSBjb21wb3NpdGUgb24gdG9wIG9mIGJsYWNrLgotICAgICAgICAvLyBwcmVt
dWx0aXBsaWVkRGF0YSBpcyBsZWFrZWQgaGVyZSwgdGhlbiBhZG9wdGVkIGluIHRoZSByZWxlYXNl
RGF0YSBsYW1iZGEgcGFzc2VkIHRvIENHRGF0YVByb3ZpZGVyQ3JlYXRlV2l0aERhdGEoKS4KLSAg
ICAgICAgVWludDhDbGFtcGVkQXJyYXkqIHByZW11bHRpcGxpZWREYXRhID0gZ2V0UHJlbXVsdGlw
bGllZEltYWdlRGF0YShJbnRSZWN0KEludFBvaW50KDAsIDApLCBsb2dpY2FsU2l6ZSgpKSkubGVh
a1JlZigpOworICAgICAgICBwcmVtdWx0aXBsaWVkRGF0YSA9IGdldFByZW11bHRpcGxpZWRJbWFn
ZURhdGEoSW50UmVjdChJbnRQb2ludCgpLCBsb2dpY2FsU2l6ZSgpKSk7CiAgICAgICAgIGlmICgh
cHJlbXVsdGlwbGllZERhdGEpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAg
ICBzaXplX3QgZGF0YVNpemUgPSA0ICogbG9naWNhbFNpemUoKS53aWR0aCgpICogbG9naWNhbFNp
emUoKS5oZWlnaHQoKTsKLSAgICAgICAgYXV0byBkYXRhUHJvdmlkZXIgPSBhZG9wdENGKENHRGF0
YVByb3ZpZGVyQ3JlYXRlV2l0aERhdGEocHJlbXVsdGlwbGllZERhdGEsIHByZW11bHRpcGxpZWRE
YXRhLT5kYXRhKCksIGRhdGFTaXplLCBbXSh2b2lkKiBpbmZvLCBjb25zdCB2b2lkKiwgc2l6ZV90
KSB7Ci0gICAgICAgICAgICBBU1NFUlQoaW5mbyk7Ci0gICAgICAgICAgICBhZG9wdFJlZihyZWlu
dGVycHJldF9jYXN0PFVpbnQ4Q2xhbXBlZEFycmF5Kj4oaW5mbykpOwotICAgICAgICB9KSk7Cisg
ICAgICAgIGF1dG8gZGF0YVByb3ZpZGVyID0gYWRvcHRDRihDR0RhdGFQcm92aWRlckNyZWF0ZVdp
dGhEYXRhKG51bGxwdHIsIHByZW11bHRpcGxpZWREYXRhLT5kYXRhKCksIGRhdGFTaXplLCBudWxs
cHRyKSk7CiAgICAgICAgIGlmICghZGF0YVByb3ZpZGVyKQogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKQEAgLTU2NywxMCArNTUwLDE0IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBJbWFn
ZUJ1ZmZlcjo6dG9DR0ltYWdlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiAgICAgICAg
IGltYWdlID0gYWRvcHRDRihDR0JpdG1hcENvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0LmdldCgp
KSk7CiAgICAgfQogCi0gICAgcmV0dXJuIGltYWdlOworICAgIGF1dG8gY2ZEYXRhID0gYWRvcHRD
RihDRkRhdGFDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDApKTsKKyAgICBpZiAo
IWVuY29kZUltYWdlKGltYWdlLmdldCgpLCB1dGkuZ2V0KCksIHF1YWxpdHksIGNmRGF0YS5nZXQo
KSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIFdURk1vdmUoY2ZEYXRh
KTsKIH0KIAotc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjZ0ltYWdlKGNvbnN0IEltYWdl
RGF0YSYgc291cmNlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQorc3RhdGljIFJldGFpblB0cjxD
RkRhdGFSZWY+IGNmRGF0YShjb25zdCBJbWFnZURhdGEmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHkpCiB7CiAgICAgQVNTRVJUKE1J
TUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZUZvckVuY29kaW5nKG1pbWVU
eXBlKSk7CiAKQEAgLTYxMCwyMCArNTk3LDI2IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJl
Zj4gY2dJbWFnZShjb25zdCBJbWFnZURhdGEmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBtaW1lCiAg
ICAgaWYgKCFkYXRhUHJvdmlkZXIpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0
dXJuIGFkb3B0Q0YoQ0dJbWFnZUNyZWF0ZShzb3VyY2Uud2lkdGgoKSwgc291cmNlLmhlaWdodCgp
LCA4LCAzMiwgNCAqIHNvdXJjZS53aWR0aCgpLCBzUkdCQ29sb3JTcGFjZVJlZigpLCBrQ0dCaXRt
YXBCeXRlT3JkZXJEZWZhdWx0IHwgZGF0YUFscGhhSW5mbywgZGF0YVByb3ZpZGVyLmdldCgpLCAw
LCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIGF1dG8gaW1hZ2UgPSBh
ZG9wdENGKENHSW1hZ2VDcmVhdGUoc291cmNlLndpZHRoKCksIHNvdXJjZS5oZWlnaHQoKSwgOCwg
MzIsIDQgKiBzb3VyY2Uud2lkdGgoKSwgc1JHQkNvbG9yU3BhY2VSZWYoKSwga0NHQml0bWFwQnl0
ZU9yZGVyRGVmYXVsdCB8IGRhdGFBbHBoYUluZm8sIGRhdGFQcm92aWRlci5nZXQoKSwgMCwgZmFs
c2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1bHQpKTsKKworICAgIGF1dG8gY2ZEYXRhID0gYWRv
cHRDRihDRkRhdGFDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDApKTsKKyAgICBp
ZiAoIWVuY29kZUltYWdlKGltYWdlLmdldCgpLCB1dGkuZ2V0KCksIHF1YWxpdHksIGNmRGF0YS5n
ZXQoKSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIFdURk1vdmUoY2ZE
YXRhKTsKIH0KIAogU3RyaW5nIGRhdGFVUkwoY29uc3QgSW1hZ2VEYXRhJiBzb3VyY2UsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBxdWFsaXR5KQogewotICAg
IGlmIChhdXRvIGltYWdlID0gY2dJbWFnZShzb3VyY2UsIG1pbWVUeXBlKSkKLSAgICAgICAgcmV0
dXJuIGRhdGFVUkwoaW1hZ2UuZ2V0KCksIG1pbWVUeXBlLCBxdWFsaXR5KTsKKyAgICBpZiAoYXV0
byBkYXRhID0gY2ZEYXRhKHNvdXJjZSwgbWltZVR5cGUsIHF1YWxpdHkpKQorICAgICAgICByZXR1
cm4gZGF0YVVSTChkYXRhLmdldCgpLCBtaW1lVHlwZSk7CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiZGF0YTosIik7CiB9CiAKIFZlY3Rvcjx1aW50OF90PiBkYXRhKGNvbnN0IEltYWdlRGF0YSYg
c291cmNlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVh
bGl0eSkKIHsKLSAgICBpZiAoYXV0byBpbWFnZSA9IGNnSW1hZ2Uoc291cmNlLCBtaW1lVHlwZSkp
Ci0gICAgICAgIHJldHVybiBkYXRhKGltYWdlLmdldCgpLCBtaW1lVHlwZSwgcXVhbGl0eSk7Cisg
ICAgaWYgKGF1dG8gZGF0YSA9IGNmRGF0YShzb3VyY2UsIG1pbWVUeXBlLCBxdWFsaXR5KSkKKyAg
ICAgICAgcmV0dXJuIGRhdGFWZWN0b3IoZGF0YS5nZXQoKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>