<?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>152817</bug_id>
          
          <creation_ts>2016-01-06 17:01:08 -0800</creation_ts>
          <short_desc>Directly-composited animated GIFs never resume once scrolled offscreen</short_desc>
          <delta_ts>2016-01-07 11:41:07 -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>Layout and Rendering</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1153280</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-06 17:01:08 -0800</bug_when>
    <thetext>Animated GIFs inside compositing layers never resume once scrolled offscreen.

Repro case:
1. Go to https://jsfiddle.net/a0xudfLw/5/
2. See how the image is animated in the lower left frame
3. Scroll that image out of the viewport
4. Scroll the image back inside the viewport
-&gt; The image animation is not properly resumed :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153281</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-06 17:01:30 -0800</bug_when>
    <thetext>rdar://problem/19982020</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153435</commentid>
    <comment_count>2</comment_count>
      <attachid>268461</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-07 10:03:17 -0800</bug_when>
    <thetext>Created attachment 268461
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153450</commentid>
    <comment_count>3</comment_count>
      <attachid>268461</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-07 10:37:26 -0800</bug_when>
    <thetext>Comment on attachment 268461
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        RenderBoxModelObject::contentChanched(ImageChanged) in addition to

contentChanched =&gt; contentChanged

&gt; Source/WebCore/ChangeLog:26
&gt; +        Call RenderBoxModelObject::contentChanched(ImageChanged) in addition to

Ditto

&gt; Source/WebCore/ChangeLog:38
&gt; +        to cover this bug as our rendering code believed it has unpaused the

Nit: &quot;has unpaused&quot; =&gt; &quot;had resumed&quot;

&gt; Source/WebCore/rendering/RenderElement.cpp:1519
&gt; +    // Calling repaint() does not suffice to restart the animation in the case of
&gt; +    // directly-composited animated GIFs so we need to do this.

Maybe a better way to write this is:

Mark the image as changed to resume directly-composited animated GIFs.

OR

For directly-composited animated GIFs it does not suffice to call repaint() to resume animation. We need to mark the image as changed.

&gt; LayoutTests/fast/images/composited-animated-gif-outside-viewport.html:7
&gt; +&lt;img id=&quot;testImage&quot; src=&quot;resources/animated.gif&quot; style=&quot;-webkit-transform: translatez(0);&quot; /&gt;

Please remove the trailing slash character as the img tag does not have a closing tag among other reasons.

&gt; LayoutTests/fast/images/composited-animated-gif-outside-viewport.html:36
&gt; +function scrollDown() {

Nit: The position of the opening curly brace for this function differs from the position of the opening curly brace used in other functions in this file (e.g. scrollUp). I suggest we place the opening brace on its own line. Regardless, we should pick one style and stick with it throughout this file.

&gt; LayoutTests/fast/images/composited-animated-gif-outside-viewport.html:42
&gt; +function runTest() {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153451</commentid>
    <comment_count>4</comment_count>
      <attachid>268461</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-07 10:40:13 -0800</bug_when>
    <thetext>Comment on attachment 268461
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Directly-composited animated GIFs would never resume once scrolled
&gt; +        offscreen. This is because calling repaint() in this case would not

Would this also affect SVG images? If so, we should add a test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153453</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-07 10:44:59 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 268461 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=268461&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Directly-composited animated GIFs would never resume once scrolled
&gt; &gt; +        offscreen. This is because calling repaint() in this case would not
&gt; 
&gt; Would this also affect SVG images? If so, we should add a test for this.

Tim Horton mentioned on IRC today that that this does not affect SVG images as they are not directly composited.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153459</commentid>
    <comment_count>6</comment_count>
      <attachid>268468</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-07 10:52:08 -0800</bug_when>
    <thetext>Created attachment 268468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153485</commentid>
    <comment_count>7</comment_count>
      <attachid>268468</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 11:41:03 -0800</bug_when>
    <thetext>Comment on attachment 268468
Patch

Clearing flags on attachment: 268468

Committed r194706: &lt;http://trac.webkit.org/changeset/194706&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153486</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 11:41:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268461</attachid>
            <date>2016-01-07 10:03:17 -0800</date>
            <delta_ts>2016-01-07 10:52:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152817-20160107100245.patch</filename>
            <type>text/plain</type>
            <size>10162</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY2ODRmMTE1NjlmM2Q3
ODZmYTliZmM1MDQzOWVhZTBjYTBjM2RhZi4uZjI4YjI3OTJlMDcwNDBiNWU5ZDhkNWI1OWZhNjBm
YmYyMzRhMjJkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTAxLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRGlyZWN0bHktY29tcG9zaXRl
ZCBhbmltYXRlZCBHSUZzIG5ldmVyIHJlc3VtZSBvbmNlIHNjcm9sbGVkIG9mZnNjcmVlbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyODE3CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xOTk4MjAyMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEaXJlY3RseS1jb21wb3NpdGVkIGFuaW1hdGVkIEdJRnMg
d291bGQgbmV2ZXIgcmVzdW1lIG9uY2Ugc2Nyb2xsZWQKKyAgICAgICAgb2Zmc2NyZWVuLiBUaGlz
IGlzIGJlY2F1c2UgY2FsbGluZyByZXBhaW50KCkgaW4gdGhpcyBjYXNlIHdvdWxkIG5vdAorICAg
ICAgICBjYXVzZSBCaXRtYXBJbWFnZTo6ZHJhdygpIHRvIGJlIGNhbGxlZCBhbmQgdGhlIGFuaW1h
dGlvbiB3b3VsZCB0aHVzCisgICAgICAgIG5vdCBiZSByZXN1bWVkLiBUbyBhZGRyZXNzIHRoZSBw
cm9ibGVtLAorICAgICAgICByZXBhaW50Rm9yUGF1c2VkSW1hZ2VBbmltYXRpb25zSWZOZWVkZWQo
KSBub3cgY2FsbHMKKyAgICAgICAgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbnRlbnRDaGFuY2hl
ZChJbWFnZUNoYW5nZWQpIGluIGFkZGl0aW9uIHRvCisgICAgICAgIHJlcGFpbnQoKSB0byBtYWtl
IHN1cmUgdGhlIGFuaW1hdGlvbiBhY3R1YWxseSBnZXRzIHJlc3VtZWQsIGV2ZW4gaW4KKyAgICAg
ICAgdGhlIGRpcmVjdGx5LWNvbXBvc2l0ZWQgYW5pbWF0ZWQgR0lGIGNhc2UuCisKKyAgICAgICAg
VGVzdDogZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1hbmltYXRlZC1naWYtb3V0c2lkZS12aWV3cG9y
dC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgorICAg
ICAgICBNYWtlIGN1cnJlbnRGcmFtZSgpIHB1YmxpYyBzbyBpdCBjYW4gYmUgZXhwb3NlZCB2aWEg
SW50ZXJuYWxzIGZvciB0aGUKKyAgICAgICAgcHVycG9zZSBvZiB0ZXN0aW5nLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6cmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKToKKyAgICAg
ICAgQ2FsbCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29udGVudENoYW5jaGVkKEltYWdlQ2hhbmdl
ZCkgaW4gYWRkaXRpb24gdG8KKyAgICAgICAgY2FsbGluZyByZXBhaW50KCkgdG8gbWFrZSBzdXJl
IHRoZSBhbmltYXRpb24gYWN0dWFsbHkgZ2V0cyByZXN1bWVkIGluCisgICAgICAgIHRoZSBkaXJl
Y3RseS1jb21wb3NpdGVkIGFuaW1hdGVkIEdJRnMgY2FzZS4KKworICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aW1hZ2VGcmFtZUlu
ZGV4KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKKyAgICAgICAgRXhwb3NlIG5ldyAidW5zaWduZWQgbG9uZyBpbWFnZUZy
YW1lSW5kZXgoRWxlbWVudCkiIG9wZXJhdGlvbiBvbgorICAgICAgICBJbnRlcm5hbHMgc28gbGF5
b3V0IHRlc3RzIGNhbiBiZXR0ZXIgY2hlY2sgaWYgYW4gaW1hZ2UgaXMgYWN0dWFsbHkKKyAgICAg
ICAgYW5pbWF0aW5nLiBQcmV2aW91c2x5LCB3ZSB3b3VsZCByZWx5IG9uIHRoZSBvdXRwdXQgb2YK
KyAgICAgICAgaW50ZXJuYWxzLmhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhFbGVtZW50KSBidXQg
dGhpcyBpcyBub3Qgc3VmZmljaWVudAorICAgICAgICB0byBjb3ZlciB0aGlzIGJ1ZyBhcyBvdXIg
cmVuZGVyaW5nIGNvZGUgYmVsaWV2ZWQgaXQgaGFzIHVucGF1c2VkIHRoZQorICAgICAgICBhbmlt
YXRpb25zIGJ1dCB0aGUgR0lGIHdhcyBub3QgYWN0dWFsbHkgYW5pbWF0aW5nIGR1ZSB0byBpdCBi
ZWluZworICAgICAgICBkaXJlY3RseS1jb21wb3NpdGVkLgorCiAyMDE2LTAxLTA1ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIE5VTEwgZGVm
ZXJlbmNlIGluIFBhZ2U6OnVwZGF0ZUlzUGxheWluZ01lZGlhCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA4OTFlOGM0MjNjYzU2YmFlZGM0
OWY4OTM1OTdhZGYxY2E4NTQyZjFhLi45ZWZkMjIxOTk2MTFkN2RlNGMwODIyYTA4ZGVmMTYyYzBk
NjEzMjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcElt
YWdlLmgKQEAgLTE4Myw2ICsxODMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGFsbG93U3Vic2Ft
cGxpbmcoKSBjb25zdCB7IHJldHVybiBtX2FsbG93U3Vic2FtcGxpbmc7IH0KICAgICB2b2lkIHNl
dEFsbG93U3Vic2FtcGxpbmcoYm9vbCBhbGxvd1N1YnNhbXBsaW5nKSB7IG1fYWxsb3dTdWJzYW1w
bGluZyA9IGFsbG93U3Vic2FtcGxpbmc7IH0KKworICAgIHNpemVfdCBjdXJyZW50RnJhbWUoKSBj
b25zdCB7IHJldHVybiBtX2N1cnJlbnRGcmFtZTsgfQogICAgIAogcHJpdmF0ZToKICAgICB2aXJ0
dWFsIGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
QEAgLTIxMCw3ICsyMTIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGNvbnN0IEZsb2F0UG9pbnQm
IHBoYXNlLCBjb25zdCBGbG9hdFNpemUmIHNwYWNpbmcsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25z
dCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKICNlbmRpZgogCi0gICAgc2l6ZV90IGN1cnJlbnRGcmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudEZyYW1lOyB9CiAgICAgc2l6ZV90IGZyYW1lQ291
bnQoKTsKIAogICAgIFBhc3NOYXRpdmVJbWFnZVB0ciBmcmFtZUF0SW5kZXgoc2l6ZV90LCBmbG9h
dCBwcmVzZW50YXRpb25TY2FsZUhpbnQgPSAxKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcAppbmRleCBhMGFlYmU4OThhMjAxZTVmOWZkNWMyMWYwZjMzZmYxMjE1
M2M0ZTVjLi5hYWI0NDg2OTBjNDg4ZDEwOTU1ZGE2MzMxNTFmZWEzYTc2NjE4MjhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xNTEyLDcgKzE1MTIs
MTQgQEAgYm9vbCBSZW5kZXJFbGVtZW50OjpyZXBhaW50Rm9yUGF1c2VkSW1hZ2VBbmltYXRpb25z
SWZOZWVkZWQoY29uc3QgSW50UmVjdCYgdmlzaWIKICAgICBBU1NFUlQobV9oYXNQYXVzZWRJbWFn
ZUFuaW1hdGlvbnMpOwogICAgIGlmICghc2hvdWxkUmVwYWludEZvckltYWdlQW5pbWF0aW9uKCp0
aGlzLCB2aXNpYmxlUmVjdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJlcGFpbnQo
KTsKKworICAgIC8vIENhbGxpbmcgcmVwYWludCgpIGRvZXMgbm90IHN1ZmZpY2UgdG8gcmVzdGFy
dCB0aGUgYW5pbWF0aW9uIGluIHRoZSBjYXNlIG9mCisgICAgLy8gZGlyZWN0bHktY29tcG9zaXRl
ZCBhbmltYXRlZCBHSUZzIHNvIHdlIG5lZWQgdG8gZG8gdGhpcy4KKyAgICBpZiAoaXM8UmVuZGVy
Qm94TW9kZWxPYmplY3Q+KCp0aGlzKSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVyQm94TW9kZWxP
YmplY3Q+KCp0aGlzKS5jb250ZW50Q2hhbmdlZChJbWFnZUNoYW5nZWQpOworCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAzMjlhN2Q4
YTJjZDU0MjkxY2FlODdiMWM4M2YxNmZiMDUwNmVlOTAwLi4xMTJiNjk4NDdhYThhY2Y0ZTc1YjE2
YmY4ZjQ1MDY5MDgyMTBmMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQW5pbWF0aW9uQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFn
ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21l
LmgiCkBAIC01ODgsNiArNTg5LDIxIEBAIHVuc2lnbmVkIEludGVybmFsczo6bWVtb3J5Q2FjaGVT
aXplKCkgY29uc3QKICAgICByZXR1cm4gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnNpemUoKTsK
IH0KIAorc2l6ZV90IEludGVybmFsczo6aW1hZ2VGcmFtZUluZGV4KEVsZW1lbnQqIGVsZW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXM8SFRNTEltYWdlRWxlbWVudD4oZWxl
bWVudCkpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIGF1dG8qIGNhY2hlZEltYWdlID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4o
KmVsZW1lbnQpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFjYWNoZWRJbWFnZSkKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICBhdXRvKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZSgpOworICAg
IHJldHVybiBpczxCaXRtYXBJbWFnZT4oaW1hZ2UpID8gZG93bmNhc3Q8Qml0bWFwSW1hZ2U+KCpp
bWFnZSkuY3VycmVudEZyYW1lKCkgOiAwOworfQorCiB2b2lkIEludGVybmFsczo6Y2xlYXJQYWdl
Q2FjaGUoKQogewogICAgIFBhZ2VDYWNoZTo6c2luZ2xldG9uKCkucHJ1bmVUb1NpemVOb3coMCwg
UHJ1bmluZ1JlYXNvbjo6Tm9uZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2
MTg0NGE2MzQ4YWI1M2ZiN2U4NWQ4NDY5MTAwZTcwNDZiNGFlYWQ2Li5lODFhYzNhMjVmZmYwZWRi
NTZjMzRmMTg1NjE5ZWRhNTllYjAyYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTEwNCw2ICsxMDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcnVuZU1lbW9yeUNhY2hlVG9T
aXplKHVuc2lnbmVkIHNpemUpOwogICAgIHVuc2lnbmVkIG1lbW9yeUNhY2hlU2l6ZSgpIGNvbnN0
OwogCisgICAgc2l6ZV90IGltYWdlRnJhbWVJbmRleChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYp
OworCiAgICAgdm9pZCBjbGVhclBhZ2VDYWNoZSgpOwogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNp
emUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDFiMDRl
M2FlYmJhNmI5NDEyMGIyNTk5N2EyY2ViM2IzY2YwYTBlMzguLjBmNTE1NTNmOTIwZmJkMGJhZTY0
NTNmY2Y2YmFiODg2NmViMjlhMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
QEAgLTIwNSw2ICsyMDUsOCBAQCBlbnVtIE1lZGlhQ29udHJvbEV2ZW50IHsKIAogICAgIFtSYWlz
ZXNFeGNlcHRpb25dIGJvb2xlYW4gaXNQYWdlQm94VmlzaWJsZShsb25nIHBhZ2VOdW1iZXIpOwog
CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBpbWFnZUZyYW1lSW5kZXgoRWxl
bWVudCBlbGVtZW50KTsKKwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJbnRlcm5hbFNldHRpbmdz
IHNldHRpbmdzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdvcmtlclRo
cmVhZENvdW50OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDdkY2YwZjBkNWRhNWI0M2Q3OGI1NTMxMGM5ZmVmMzk2OWI3
MWZiNS4uMmU2YzY0MTkwNGNkMGY2ZjQ0ODFhZDUyMmZiMzU1YmZkZGMwY2U4OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDE2LTAxLTA3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgRGlyZWN0bHktY29tcG9zaXRlZCBhbmltYXRlZCBHSUZzIG5ldmVyIHJlc3Vt
ZSBvbmNlIHNjcm9sbGVkIG9mZnNjcmVlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUyODE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTk4MjAy
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
YSBsYXlvdXQgdGVzdCB0byBjaGVjayB0aGF0IGRpcmVjdGx5LWNvbXBvc2l0ZWQgYW5pbWF0ZWQg
R0lGcyBhcmUKKyAgICAgICAgcHJvcGVybHkgc3VzcGVuZGVkIC8gcmVzdW1lZCBiYXNlZCBvbiB2
aXNpYmlsaXR5IGluc2lkZSB0aGUgdmlld3BvcnQuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9j
b21wb3NpdGVkLWFuaW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1hbmltYXRlZC1naWYtb3V0c2lk
ZS12aWV3cG9ydC5odG1sOiBBZGRlZC4KKwogMjAxNi0wMS0wNSAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCIFRlc3RFeHBlY3RhdGlvbnMgZ2Fy
ZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1h
bmltYXRlZC1naWYtb3V0c2lkZS12aWV3cG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2ltYWdlcy9jb21wb3NpdGVkLWFuaW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNTk4NTBlNjBkZTU4NzY5NTE4NGRhY2VmNjdmNjk5Nzc2NmE3
NTk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvY29tcG9zaXRl
ZC1hbmltYXRlZC1naWYtb3V0c2lkZS12aWV3cG9ydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorTWFrZSBzdXJlIGRpcmVjdGx5LWNvbXBvc2l0ZWQgYW5pbWF0ZWQgR0lGcyBwcm9wZXJs
eSBnZXQgc3VzcGVuZGVkIC8gcmVzdW1lZCBiYXNlZCBvbiB2aXNpYmlsaXR5IGluc2lkZSB2aWV3
cG9ydC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaXNJbWFnZUFuaW1h
dGVkKCkgYmVjYW1lIHRydWUKK1Njcm9sbCBkb3duIHNvIHRoYXQgdGhlIGltYWdlIGlzIG5vIGxv
bmdlciB2aXNpYmxlCitQQVNTIGlzSW1hZ2VBbmltYXRlZCgpIGJlY2FtZSBmYWxzZQorQW5pbWF0
aW9uIHdhcyBwYXVzZWQsIHNjcm9sbCB1cCBzbyB0aGF0IHRoZSBpbWFnZSBpcyB2aXNpYmxlIGFn
YWluCitQQVNTIGlzSW1hZ2VBbmltYXRlZCgpIGJlY2FtZSB0cnVlCitQQVNTIGludGVybmFscy5p
bWFnZUZyYW1lSW5kZXgodGVzdEltYWdlKSBiZWNhbWUgZGlmZmVyZW50IGZyb20gZnJhbWVJbmRl
eEltYWdlV2FzUGF1c2VkQXQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9jb21wb3Np
dGVkLWFuaW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9jb21wb3NpdGVkLWFuaW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmRkMDkzYjdjYzY2NGMwYjc4ZTMxYWIyMGE5NDU4Nzg4YzYxMWJhOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2NvbXBvc2l0ZWQtYW5pbWF0ZWQt
Z2lmLW91dHNpZGUtdmlld3BvcnQuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sIHN0eWxlPSJ3aWR0aDogMTYwMHB4OyBoZWlnaHQ6IDEyMDBweCI+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGltZyBpZD0idGVzdEltYWdlIiBz
cmM9InJlc291cmNlcy9hbmltYXRlZC5naWYiIHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTogdHJh
bnNsYXRleigwKTsiIC8+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBkaXJlY3Rs
eS1jb21wb3NpdGVkIGFuaW1hdGVkIEdJRnMgcHJvcGVybHkgZ2V0IHN1c3BlbmRlZCAvIHJlc3Vt
ZWQgYmFzZWQgb24gdmlzaWJpbGl0eSBpbnNpZGUgdmlld3BvcnQuIik7Citqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKwordmFyIHRlc3RJbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
SW1hZ2UiKTsKK3ZhciBmcmFtZUluZGV4SW1hZ2VXYXNQYXVzZWRBdCA9IDA7CisKK2Z1bmN0aW9u
IGlzSW1hZ2VBbmltYXRlZCgpCit7CisgIHJldHVybiAhaW50ZXJuYWxzLmhhc1BhdXNlZEltYWdl
QW5pbWF0aW9ucyh0ZXN0SW1hZ2UpOworfQorCitmdW5jdGlvbiBjaGVja0ZyYW1lSW5kZXhBbmRG
aW5pc2goKQoreworICAvLyBBY3R1YWxseSBtYWtlIHN1cmUgdGhhdCB0aGUgZnJhbWUgaW5kZXgg
Y2hhbmdlcy4KKyAgc2hvdWxkQmVjb21lRGlmZmVyZW50KCJpbnRlcm5hbHMuaW1hZ2VGcmFtZUlu
ZGV4KHRlc3RJbWFnZSkiLCAiZnJhbWVJbmRleEltYWdlV2FzUGF1c2VkQXQiLCBmaW5pc2hKU1Rl
c3QpOworfQorCitmdW5jdGlvbiBzY3JvbGxVcCgpCit7CisgIGZyYW1lSW5kZXhJbWFnZVdhc1Bh
dXNlZEF0ID0gaW50ZXJuYWxzLmltYWdlRnJhbWVJbmRleCh0ZXN0SW1hZ2UpOworICAKKyAgZGVi
dWcoIkFuaW1hdGlvbiB3YXMgcGF1c2VkLCBzY3JvbGwgdXAgc28gdGhhdCB0aGUgaW1hZ2UgaXMg
dmlzaWJsZSBhZ2FpbiIpOworICB3aW5kb3cuc2Nyb2xsQnkoMCwgLTYwMCk7CisKKyAgc2hvdWxk
QmVjb21lRXF1YWwoImlzSW1hZ2VBbmltYXRlZCgpIiwgInRydWUiLCBjaGVja0ZyYW1lSW5kZXhB
bmRGaW5pc2gpOworfQorCitmdW5jdGlvbiBzY3JvbGxEb3duKCkgeworICBkZWJ1ZygiU2Nyb2xs
IGRvd24gc28gdGhhdCB0aGUgaW1hZ2UgaXMgbm8gbG9uZ2VyIHZpc2libGUiKTsKKyAgd2luZG93
LnNjcm9sbEJ5KDAsIDYwMCk7CisgIHNob3VsZEJlY29tZUVxdWFsKCJpc0ltYWdlQW5pbWF0ZWQo
KSIsICJmYWxzZSIsIHNjcm9sbFVwKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgaWYg
KCF3aW5kb3cuaW50ZXJuYWxzKQorICAgIHJldHVybjsKKworICBzaG91bGRCZWNvbWVFcXVhbCgi
aXNJbWFnZUFuaW1hdGVkKCkiLCAidHJ1ZSIsIHNjcm9sbERvd24pOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268468</attachid>
            <date>2016-01-07 10:52:08 -0800</date>
            <delta_ts>2016-01-07 11:41:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152817-20160107105136.patch</filename>
            <type>text/plain</type>
            <size>10150</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY2ODRmMTE1NjlmM2Q3
ODZmYTliZmM1MDQzOWVhZTBjYTBjM2RhZi4uZDBmZTg3YmUzNDIwY2I4ODRlNmIyYzdhNTYxNmM0
MTE3MTMyMzZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTAxLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRGlyZWN0bHktY29tcG9zaXRl
ZCBhbmltYXRlZCBHSUZzIG5ldmVyIHJlc3VtZSBvbmNlIHNjcm9sbGVkIG9mZnNjcmVlbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyODE3CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xOTk4MjAyMD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYW5p
ZWwgQmF0ZXMuCisKKyAgICAgICAgRGlyZWN0bHktY29tcG9zaXRlZCBhbmltYXRlZCBHSUZzIHdv
dWxkIG5ldmVyIHJlc3VtZSBvbmNlIHNjcm9sbGVkCisgICAgICAgIG9mZnNjcmVlbi4gVGhpcyBp
cyBiZWNhdXNlIGNhbGxpbmcgcmVwYWludCgpIGluIHRoaXMgY2FzZSB3b3VsZCBub3QKKyAgICAg
ICAgY2F1c2UgQml0bWFwSW1hZ2U6OmRyYXcoKSB0byBiZSBjYWxsZWQgYW5kIHRoZSBhbmltYXRp
b24gd291bGQgdGh1cworICAgICAgICBub3QgYmUgcmVzdW1lZC4gVG8gYWRkcmVzcyB0aGUgcHJv
YmxlbSwKKyAgICAgICAgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKCkg
bm93IGNhbGxzCisgICAgICAgIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb250ZW50Q2hhbmdlZChJ
bWFnZUNoYW5nZWQpIGluIGFkZGl0aW9uIHRvCisgICAgICAgIHJlcGFpbnQoKSB0byBtYWtlIHN1
cmUgdGhlIGFuaW1hdGlvbiBhY3R1YWxseSBnZXRzIHJlc3VtZWQsIGV2ZW4gaW4KKyAgICAgICAg
dGhlIGRpcmVjdGx5LWNvbXBvc2l0ZWQgYW5pbWF0ZWQgR0lGIGNhc2UuCisKKyAgICAgICAgVGVz
dDogZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1hbmltYXRlZC1naWYtb3V0c2lkZS12aWV3cG9ydC5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgorICAgICAg
ICBNYWtlIGN1cnJlbnRGcmFtZSgpIHB1YmxpYyBzbyBpdCBjYW4gYmUgZXhwb3NlZCB2aWEgSW50
ZXJuYWxzIGZvciB0aGUKKyAgICAgICAgcHVycG9zZSBvZiB0ZXN0aW5nLgorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6cmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKToKKyAgICAgICAg
Q2FsbCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29udGVudENoYW5nZWQoSW1hZ2VDaGFuZ2VkKSBp
biBhZGRpdGlvbiB0bworICAgICAgICBjYWxsaW5nIHJlcGFpbnQoKSB0byBtYWtlIHN1cmUgdGhl
IGFuaW1hdGlvbiBhY3R1YWxseSBnZXRzIHJlc3VtZWQgaW4KKyAgICAgICAgdGhlIGRpcmVjdGx5
LWNvbXBvc2l0ZWQgYW5pbWF0ZWQgR0lGcyBjYXNlLgorCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppbWFnZUZyYW1lSW5kZXgp
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorICAgICAgICBFeHBvc2UgbmV3ICJ1bnNpZ25lZCBsb25nIGltYWdlRnJhbWVJ
bmRleChFbGVtZW50KSIgb3BlcmF0aW9uIG9uCisgICAgICAgIEludGVybmFscyBzbyBsYXlvdXQg
dGVzdHMgY2FuIGJldHRlciBjaGVjayBpZiBhbiBpbWFnZSBpcyBhY3R1YWxseQorICAgICAgICBh
bmltYXRpbmcuIFByZXZpb3VzbHksIHdlIHdvdWxkIHJlbHkgb24gdGhlIG91dHB1dCBvZgorICAg
ICAgICBpbnRlcm5hbHMuaGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKEVsZW1lbnQpIGJ1dCB0aGlz
IGlzIG5vdCBzdWZmaWNpZW50CisgICAgICAgIHRvIGNvdmVyIHRoaXMgYnVnIGFzIG91ciByZW5k
ZXJpbmcgY29kZSBiZWxpZXZlZCBpdCBoYXMgcmVzdW1lZCB0aGUKKyAgICAgICAgYW5pbWF0aW9u
cyBidXQgdGhlIEdJRiB3YXMgbm90IGFjdHVhbGx5IGFuaW1hdGluZyBkdWUgdG8gaXQgYmVpbmcK
KyAgICAgICAgZGlyZWN0bHktY29tcG9zaXRlZC4KKwogMjAxNi0wMS0wNSAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBOVUxMIGRlZmVyZW5j
ZSBpbiBQYWdlOjp1cGRhdGVJc1BsYXlpbmdNZWRpYQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggODkxZThjNDIzY2M1NmJhZWRjNDlmODkz
NTk3YWRmMWNhODU0MmYxYS4uOWVmZDIyMTk5NjExZDdkZTRjMDgyMmEwOGRlZjE2MmMwZDYxMzI4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CkBAIC0xODMsNiArMTgzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBhbGxvd1N1YnNhbXBsaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1N1YnNhbXBsaW5nOyB9CiAgICAgdm9pZCBzZXRBbGxv
d1N1YnNhbXBsaW5nKGJvb2wgYWxsb3dTdWJzYW1wbGluZykgeyBtX2FsbG93U3Vic2FtcGxpbmcg
PSBhbGxvd1N1YnNhbXBsaW5nOyB9CisKKyAgICBzaXplX3QgY3VycmVudEZyYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9jdXJyZW50RnJhbWU7IH0KICAgICAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIGlzQml0bWFwSW1hZ2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CkBAIC0y
MTAsNyArMjEyLDYgQEAgcHJvdGVjdGVkOgogICAgICAgICBjb25zdCBGbG9hdFBvaW50JiBwaGFz
ZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBDb21wb3NpdGVPcGVyYXRvciwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCk7CiAjZW5kaWYKIAotICAgIHNpemVfdCBjdXJyZW50RnJhbWUoKSBj
b25zdCB7IHJldHVybiBtX2N1cnJlbnRGcmFtZTsgfQogICAgIHNpemVfdCBmcmFtZUNvdW50KCk7
CiAKICAgICBQYXNzTmF0aXZlSW1hZ2VQdHIgZnJhbWVBdEluZGV4KHNpemVfdCwgZmxvYXQgcHJl
c2VudGF0aW9uU2NhbGVIaW50ID0gMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAKaW5kZXggYTBhZWJlODk4YTIwMWU1ZjlmZDVjMjFmMGYzM2ZmMTIxNTNjNGU1
Yy4uMzg2ZDc3MjJjZTk4YzA4ZWU0ZjEwMzE1M2RiNGVlYzFlZDJhYTMzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTUxMiw3ICsxNTEyLDEzIEBA
IGJvb2wgUmVuZGVyRWxlbWVudDo6cmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVl
ZGVkKGNvbnN0IEludFJlY3QmIHZpc2liCiAgICAgQVNTRVJUKG1faGFzUGF1c2VkSW1hZ2VBbmlt
YXRpb25zKTsKICAgICBpZiAoIXNob3VsZFJlcGFpbnRGb3JJbWFnZUFuaW1hdGlvbigqdGhpcywg
dmlzaWJsZVJlY3QpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXBhaW50KCk7CisK
KyAgICAvLyBGb3IgZGlyZWN0bHktY29tcG9zaXRlZCBhbmltYXRlZCBHSUZzIGl0IGRvZXMgbm90
IHN1ZmZpY2UgdG8gY2FsbCByZXBhaW50KCkgdG8gcmVzdW1lIGFuaW1hdGlvbi4gV2UgbmVlZCB0
byBtYXJrIHRoZSBpbWFnZSBhcyBjaGFuZ2VkLgorICAgIGlmIChpczxSZW5kZXJCb3hNb2RlbE9i
amVjdD4oKnRoaXMpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJCb3hNb2RlbE9iamVjdD4oKnRo
aXMpLmNvbnRlbnRDaGFuZ2VkKEltYWdlQ2hhbmdlZCk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDMyOWE3ZDhhMmNkNTQyOTFj
YWU4N2IxYzgzZjE2ZmIwNTA2ZWU5MDAuLjExMmI2OTg0N2FhOGFjZjRlNzViMTZiZjhmNDUwNjkw
ODIxMGYwODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMyLDYgKzMy
LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKQEAgLTU4
OCw2ICs1ODksMjEgQEAgdW5zaWduZWQgSW50ZXJuYWxzOjptZW1vcnlDYWNoZVNpemUoKSBjb25z
dAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuc2l6ZSgpOwogfQogCitzaXpl
X3QgSW50ZXJuYWxzOjppbWFnZUZyYW1lSW5kZXgoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgaWYgKCFpczxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50KSkgewor
ICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
YXV0byogY2FjaGVkSW1hZ2UgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqZWxlbWVudCku
Y2FjaGVkSW1hZ2UoKTsKKyAgICBpZiAoIWNhY2hlZEltYWdlKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIGF1dG8qIGltYWdlID0gY2FjaGVkSW1hZ2UtPmltYWdlKCk7CisgICAgcmV0dXJuIGlz
PEJpdG1hcEltYWdlPihpbWFnZSkgPyBkb3duY2FzdDxCaXRtYXBJbWFnZT4oKmltYWdlKS5jdXJy
ZW50RnJhbWUoKSA6IDA7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpjbGVhclBhZ2VDYWNoZSgpCiB7
CiAgICAgUGFnZUNhY2hlOjpzaW5nbGV0b24oKS5wcnVuZVRvU2l6ZU5vdygwLCBQcnVuaW5nUmVh
c29uOjpOb25lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDYxODQ0YTYzNDhh
YjUzZmI3ZTg1ZDg0NjkxMDBlNzA0NmI0YWVhZDYuLmU4MWFjM2EyNWZmZjBlZGI1NmMzNGYxODU2
MTllZGE1OWViMDJhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTA0LDYg
KzEwNCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHBydW5lTWVtb3J5Q2FjaGVUb1NpemUodW5zaWdu
ZWQgc2l6ZSk7CiAgICAgdW5zaWduZWQgbWVtb3J5Q2FjaGVTaXplKCkgY29uc3Q7CiAKKyAgICBz
aXplX3QgaW1hZ2VGcmFtZUluZGV4KEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CisKICAgICB2
b2lkIGNsZWFyUGFnZUNhY2hlKCk7CiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSgpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMWIwNGUzYWViYmE2Yjk0
MTIwYjI1OTk3YTJjZWIzYjNjZjBhMGUzOC4uMGY1MTU1M2Y5MjBmYmQwYmFlNjQ1M2ZjZjZiYWI4
ODY2ZWIyOWEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjA1LDYg
KzIwNSw4IEBAIGVudW0gTWVkaWFDb250cm9sRXZlbnQgewogCiAgICAgW1JhaXNlc0V4Y2VwdGlv
bl0gYm9vbGVhbiBpc1BhZ2VCb3hWaXNpYmxlKGxvbmcgcGFnZU51bWJlcik7CiAKKyAgICBbUmFp
c2VzRXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGltYWdlRnJhbWVJbmRleChFbGVtZW50IGVsZW1l
bnQpOworCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEludGVybmFsU2V0dGluZ3Mgc2V0dGluZ3M7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd29ya2VyVGhyZWFkQ291bnQ7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBkN2RjZjBmMGQ1ZGE1YjQzZDc4YjU1MzEwYzlmZWYzOTY5YjcxZmI1Li40Nzkw
MjAwYmY3NmE4ZWY4N2JhOWQzNTZmNDE0NjM0NzcyMWM0MWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMDEtMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBEaXJlY3RseS1jb21wb3NpdGVkIGFuaW1hdGVkIEdJRnMgbmV2ZXIgcmVzdW1lIG9uY2Ugc2Ny
b2xsZWQgb2Zmc2NyZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTI4MTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5OTgyMDIwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVz
dCB0byBjaGVjayB0aGF0IGRpcmVjdGx5LWNvbXBvc2l0ZWQgYW5pbWF0ZWQgR0lGcyBhcmUKKyAg
ICAgICAgcHJvcGVybHkgc3VzcGVuZGVkIC8gcmVzdW1lZCBiYXNlZCBvbiB2aXNpYmlsaXR5IGlu
c2lkZSB0aGUgdmlld3BvcnQuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9jb21wb3NpdGVkLWFu
aW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1hbmltYXRlZC1naWYtb3V0c2lkZS12aWV3cG9ydC5o
dG1sOiBBZGRlZC4KKwogMjAxNi0wMS0wNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgSW5kZXhlZERCIFRlc3RFeHBlY3RhdGlvbnMgZ2FyZGVuaW5nLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1hbmltYXRlZC1naWYt
b3V0c2lkZS12aWV3cG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9j
b21wb3NpdGVkLWFuaW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNTk4NTBlNjBkZTU4NzY5NTE4NGRhY2VmNjdmNjk5Nzc2NmE3NTk5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvY29tcG9zaXRlZC1hbmltYXRlZC1n
aWYtb3V0c2lkZS12aWV3cG9ydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorTWFrZSBz
dXJlIGRpcmVjdGx5LWNvbXBvc2l0ZWQgYW5pbWF0ZWQgR0lGcyBwcm9wZXJseSBnZXQgc3VzcGVu
ZGVkIC8gcmVzdW1lZCBiYXNlZCBvbiB2aXNpYmlsaXR5IGluc2lkZSB2aWV3cG9ydC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaXNJbWFnZUFuaW1hdGVkKCkgYmVjYW1l
IHRydWUKK1Njcm9sbCBkb3duIHNvIHRoYXQgdGhlIGltYWdlIGlzIG5vIGxvbmdlciB2aXNpYmxl
CitQQVNTIGlzSW1hZ2VBbmltYXRlZCgpIGJlY2FtZSBmYWxzZQorQW5pbWF0aW9uIHdhcyBwYXVz
ZWQsIHNjcm9sbCB1cCBzbyB0aGF0IHRoZSBpbWFnZSBpcyB2aXNpYmxlIGFnYWluCitQQVNTIGlz
SW1hZ2VBbmltYXRlZCgpIGJlY2FtZSB0cnVlCitQQVNTIGludGVybmFscy5pbWFnZUZyYW1lSW5k
ZXgodGVzdEltYWdlKSBiZWNhbWUgZGlmZmVyZW50IGZyb20gZnJhbWVJbmRleEltYWdlV2FzUGF1
c2VkQXQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9jb21wb3NpdGVkLWFuaW1hdGVk
LWdpZi1vdXRzaWRlLXZpZXdwb3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9jb21w
b3NpdGVkLWFuaW1hdGVkLWdpZi1vdXRzaWRlLXZpZXdwb3J0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4
OTVlNTRlZjkxOTJlZGYyNzQxNjU2ZWNlODRlNTg0NTNlNGE2YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2NvbXBvc2l0ZWQtYW5pbWF0ZWQtZ2lmLW91dHNpZGUt
dmlld3BvcnQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIHN0
eWxlPSJ3aWR0aDogMTYwMHB4OyBoZWlnaHQ6IDEyMDBweCI+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGltZyBpZD0idGVzdEltYWdlIiBzcmM9InJlc291cmNl
cy9hbmltYXRlZC5naWYiIHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRleigwKTsi
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgZGlyZWN0bHktY29tcG9zaXRlZCBh
bmltYXRlZCBHSUZzIHByb3Blcmx5IGdldCBzdXNwZW5kZWQgLyByZXN1bWVkIGJhc2VkIG9uIHZp
c2liaWxpdHkgaW5zaWRlIHZpZXdwb3J0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3Zh
ciB0ZXN0SW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEltYWdlIik7Cit2YXIg
ZnJhbWVJbmRleEltYWdlV2FzUGF1c2VkQXQgPSAwOworCitmdW5jdGlvbiBpc0ltYWdlQW5pbWF0
ZWQoKQoreworICByZXR1cm4gIWludGVybmFscy5oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnModGVz
dEltYWdlKTsKK30KKworZnVuY3Rpb24gY2hlY2tGcmFtZUluZGV4QW5kRmluaXNoKCkKK3sKKyAg
Ly8gQWN0dWFsbHkgbWFrZSBzdXJlIHRoYXQgdGhlIGZyYW1lIGluZGV4IGNoYW5nZXMuCisgIHNo
b3VsZEJlY29tZURpZmZlcmVudCgiaW50ZXJuYWxzLmltYWdlRnJhbWVJbmRleCh0ZXN0SW1hZ2Up
IiwgImZyYW1lSW5kZXhJbWFnZVdhc1BhdXNlZEF0IiwgZmluaXNoSlNUZXN0KTsKK30KKworZnVu
Y3Rpb24gc2Nyb2xsVXAoKQoreworICBmcmFtZUluZGV4SW1hZ2VXYXNQYXVzZWRBdCA9IGludGVy
bmFscy5pbWFnZUZyYW1lSW5kZXgodGVzdEltYWdlKTsKKyAgCisgIGRlYnVnKCJBbmltYXRpb24g
d2FzIHBhdXNlZCwgc2Nyb2xsIHVwIHNvIHRoYXQgdGhlIGltYWdlIGlzIHZpc2libGUgYWdhaW4i
KTsKKyAgd2luZG93LnNjcm9sbEJ5KDAsIC02MDApOworCisgIHNob3VsZEJlY29tZUVxdWFsKCJp
c0ltYWdlQW5pbWF0ZWQoKSIsICJ0cnVlIiwgY2hlY2tGcmFtZUluZGV4QW5kRmluaXNoKTsKK30K
KworZnVuY3Rpb24gc2Nyb2xsRG93bigpCit7CisgIGRlYnVnKCJTY3JvbGwgZG93biBzbyB0aGF0
IHRoZSBpbWFnZSBpcyBubyBsb25nZXIgdmlzaWJsZSIpOworICB3aW5kb3cuc2Nyb2xsQnkoMCwg
NjAwKTsKKyAgc2hvdWxkQmVjb21lRXF1YWwoImlzSW1hZ2VBbmltYXRlZCgpIiwgImZhbHNlIiwg
c2Nyb2xsVXApOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgaWYgKCF3aW5kb3cuaW50
ZXJuYWxzKQorICAgIHJldHVybjsKKworICBzaG91bGRCZWNvbWVFcXVhbCgiaXNJbWFnZUFuaW1h
dGVkKCkiLCAidHJ1ZSIsIHNjcm9sbERvd24pOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>