<?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>89018</bug_id>
          
          <creation_ts>2012-06-13 10:30:55 -0700</creation_ts>
          <short_desc>[Chromium] webkitImageSmoothingEnabled canvas property does not work on redraw</short_desc>
          <delta_ts>2012-06-21 11:36:10 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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="Justin Novosad">junov</reporter>
          <assigned_to name="Justin Novosad">junov</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>648222</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-06-13 10:30:55 -0700</bug_when>
    <thetext>This is in reference to chromium bug: crbug.com/130925

Attached test page shows canvas to canvas copy that appears to be filtered despite having set the webkitImageSmoothingEnabled property set to false.
Eliminating the animation loop makes the problem go away.  The problem only manifests itself on redraw.

The source of the problem is that the accelerated compositor modifies the state of an openGL texture object (sets filtering to linear).  That object is shared with a skia rendering context and the compositor does not sending a state invalidation signal to skia. Therefore, the state cache maintained by skia is no longer in sync.  This explains why the problem only happens on redraw, i.e. the second draw happens after the compositor has drawn the source canvas to screen at least once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648227</commentid>
    <comment_count>1</comment_count>
      <attachid>147358</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-06-13 10:31:57 -0700</bug_when>
    <thetext>Created attachment 147358
test html file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649124</commentid>
    <comment_count>2</comment_count>
      <attachid>147573</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-06-14 06:41:02 -0700</bug_when>
    <thetext>Created attachment 147573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649144</commentid>
    <comment_count>3</comment_count>
      <attachid>147573</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-06-14 07:05:26 -0700</bug_when>
    <thetext>Comment on attachment 147573
Patch

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

Clean up the ChangeLog a bit, and you&apos;re good to go.

&gt; Source/WebCore/ChangeLog:10
&gt; +        When an accelerated canvas layer prepares it texture for the

Nit:  it -&gt; its

&gt; Source/WebCore/ChangeLog:12
&gt; +        proprties that are cached by skia, since the compositor may modify them.

Since the bug title above is not very precise, I&apos;d further describe the problematic case here.  Something like &quot;webkitImageSmoothingEnabled=false on a canvas used as a source for canvas-to-canvas draws does not work on compositor redraw, since the compositor sets the texture filtering mode back to linear at draw time.  Since texture attributes are associated with the texture object in GL, this leaves the value stored in the skia state cache out-of-date.&quot;

&gt; LayoutTests/fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js:72
&gt; +window.onload = onLoadHandler;

Thanks for taking the extra time to make a test for this tricky case!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649154</commentid>
    <comment_count>4</comment_count>
      <attachid>147579</attachid>
    <who name="Justin Novosad">junov</who>
    <bug_when>2012-06-14 07:25:22 -0700</bug_when>
    <thetext>Created attachment 147579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649177</commentid>
    <comment_count>5</comment_count>
      <attachid>147579</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-06-14 08:02:09 -0700</bug_when>
    <thetext>Comment on attachment 147579
Patch

Thanks.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649337</commentid>
    <comment_count>6</comment_count>
      <attachid>147579</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 11:33:17 -0700</bug_when>
    <thetext>Comment on attachment 147579
Patch

Clearing flags on attachment: 147579

Committed r120344: &lt;http://trac.webkit.org/changeset/120344&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649338</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 11:33:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654732</commentid>
    <comment_count>8</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-06-21 11:26:40 -0700</bug_when>
    <thetext>This test fails on the Mac bots. I will skip it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654745</commentid>
    <comment_count>9</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-06-21 11:36:10 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; This test fails on the Mac bots. I will skip it.

Skipped with r120952. Filed https://bugs.webkit.org/show_bug.cgi?id=89680</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>147358</attachid>
            <date>2012-06-13 10:31:57 -0700</date>
            <delta_ts>2012-06-13 10:31:57 -0700</delta_ts>
            <desc>test html file</desc>
            <filename>webkitImageSmoothing.html</filename>
            <type>text/html</type>
            <size>1754</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+IA0KPGh0bWw+DQoJPGhlYWQ+DQoJCTx0aXRsZT5JbWFnZVNtb290aGlu
Z0VuYWJsZWQgYnVnPC90aXRsZT4NCgkJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkJCWNhbnZh
cyB7DQoJCQkJYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQoJCQkJYm9yZGVyLXN0eWxlOiBzb2xp
ZDsNCgkJCQlib3JkZXItY29sb3I6IGJsYWNrOw0KCQkJCWJvcmRlci13aWR0aDogMXB4Ow0KCQkJ
fQ0KCQk8L3N0eWxlPg0KCTwvaGVhZD4NCgk8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4NCgkJPHA+
UmVzaXplIGJyb3dzZXIgd2luZG93IHNvIHRoYXQgc291cmNlIGNhbnZhcyBpcyBmdWxseSBvYnNj
dXJlZC4gTWFraW5nIHRoZSBzb3VyY2UgY2FudmFzIHZpc2libGUgd2lsbCBicmVhayB3ZWJraXRJ
bWFnZVNtb290aGluZ0VuYWJsZWQuIENvbXBhcmUgd2l0aCBGaXJlZm94LjwvcD4NCg0KCQk8cD5E
ZXN0aW5hdGlvbiBjYW52YXM8L3A+DQoJCTxjYW52YXMgaWQ9ImRlc3RpbmF0aW9uIiB3aWR0aD0i
OTYwIiBoZWlnaHQ9IjcyMCI+PC9jYW52YXM+DQoJCTxwPlNvdXJjZSBjYW52YXM8L3A+DQoJCTxj
YW52YXMgaWQ9InNvdXJjZSIgd2lkdGg9IjMyMCIgaGVpZ2h0PSIyNDAiPjwvY2FudmFzPg0KDQoJ
CTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJCXZhciByYWY7DQoJCQl2YXIgc3Jj
Q2FudmFzLCBkZXN0Q2FudmFzLCBzcmNDb250ZXh0LCBkZXN0Q29udGV4dDsNCg0KCQkJZnVuY3Rp
b24gcGFpbnRDYWxsYmFjayAoKSB7DQoJCQkJc3JjQ29udGV4dC5jbGVhclJlY3QoMCwgMCwgMzIw
LCAyNDApOw0KDQoJCQkJZm9yICh2YXIgeSA9IDA7IHkgPCAyNDsgeSsrKSB7DQoJCQkJCWZvciAo
dmFyIHggPSAwOyB4IDwgMzI7IHgrKykgew0KCQkJCQkJc3JjQ29udGV4dC5maWxsU3R5bGUgPSAo
KCh4ICsgeSkgJSAyKSA9PSAwKSA/ICJibGFjayIgOiAid2hpdGUiOw0KCQkJCQkJc3JjQ29udGV4
dC5maWxsUmVjdCh4ICogMTAsIHkgKiAxMCwgKHggKyAxKSAqIDEwLCAoeSArIDEpICogMTApOw0K
CQkJCQl9DQoJCQkJfQ0KDQoJCQkJZGVzdENvbnRleHQud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFi
bGVkID0gZGVzdENvbnRleHQubW96SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7DQoJCQkJ
ZGVzdENvbnRleHQuZHJhd0ltYWdlKHNyY0NhbnZhcywgMCwgMCwgZGVzdENhbnZhcy53aWR0aCwg
ZGVzdENhbnZhcy5oZWlnaHQpOw0KDQoJCQkJcmFmKHBhaW50Q2FsbGJhY2spOw0KCQkJfQ0KDQoJ
CQlmdW5jdGlvbiBvbkxvYWQgKCkgew0KCQkJCXJhZiA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgfHwNCgkJCQkJd2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSB8fA0KCQkJCQl3
aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8DQoJCQkJCXdpbmRvdy5tc1JlcXVl
c3RBbmltYXRpb25GcmFtZSB8fA0KCQkJCQl3aW5kb3cub1JlcXVlc3RBbmltYXRpb25GcmFtZTsN
Cg0KCQkJCXNyY0NhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzb3VyY2UiKTsNCgkJ
CQlkZXN0Q2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc3RpbmF0aW9uIik7DQoN
CgkJCQlzcmNDb250ZXh0ID0gc3JjQ2FudmFzLmdldENvbnRleHQoIjJkIik7DQoJCQkJZGVzdENv
bnRleHQgPSBkZXN0Q2FudmFzLmdldENvbnRleHQoIjJkIik7DQoNCgkJCQlyYWYocGFpbnRDYWxs
YmFjayk7DQoJCQl9DQoJCTwvc2NyaXB0Pg0KCTwvYm9keT4NCjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147573</attachid>
            <date>2012-06-14 06:41:02 -0700</date>
            <delta_ts>2012-06-14 07:25:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89018-20120614094101.patch</filename>
            <type>text/plain</type>
            <size>8062</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDMxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTE0ICBKdXN0aW4g
Tm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIHdlYmtp
dEltYWdlU21vb3RoaW5nRW5hYmxlZCBjYW52YXMgcHJvcGVydHkgZG9lcyBub3Qgd29yayBvbiBy
ZWRyYXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9jYW52YXMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50Lmh0bWwK
KworICAgICAgICBXaGVuIGFuIGFjY2VsZXJhdGVkIGNhbnZhcyBsYXllciBwcmVwYXJlcyBpdCB0
ZXh0dXJlIGZvciB0aGUKKyAgICAgICAgY29tcG9zaXRvciwgaXQgbXVzdCBzZW5kIGEgbm90aWZp
Y2F0aW9uIHRvIHNraWEgdG8gaW52YWxpZGF0ZSB0ZXh0dXJlCisgICAgICAgIHByb3BydGllcyB0
aGF0IGFyZSBjYWNoZWQgYnkgc2tpYSwgc2luY2UgdGhlIGNvbXBvc2l0b3IgbWF5IG1vZGlmeSB0
aGVtLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFzMkRMYXll
ckJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXMyRExheWVyQnJpZGdlOjpwcmVw
YXJlVGV4dHVyZSk6CisKIDIwMTItMDYtMTQgIEV1Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhcy5i
dWdAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZmFjdG9yIG1lc3NhZ2Ug
bG9vcCBpbnN0cnVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVyQnJpZGdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVyQnJpZGdl
LmNwcAkocmV2aXNpb24gMTIwMjE0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vQ2FudmFzMkRMYXllckJyaWRnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0
MSw2ICsxNDEsMTIgQEAgdW5zaWduZWQgQ2FudmFzMkRMYXllckJyaWRnZTo6cHJlcGFyZVRleAog
ICAgICAgICByZXR1cm4gbV9mcm9udEJ1ZmZlclRleHR1cmU7CiAgICAgfQogCisgICAgaWYgKG1f
Y2FudmFzKSB7CisgICAgICAgIC8vIE5vdGlmeSBza2lhIHRoYXQgdGhlIHN0YXRlIG9mIHRoZSBi
YWNraW5nIHN0b3JlIHRleHR1cmUgb2JqZWN0IHdpbGwgYmUgdG91Y2hlZCBieSB0aGUgY29tcG9z
aXRvcgorICAgICAgICBHclJlbmRlclRhcmdldCogcmVuZGVyVGFyZ2V0ID0gcmVpbnRlcnByZXRf
Y2FzdDxHclJlbmRlclRhcmdldCo+KG1fY2FudmFzLT5nZXREZXZpY2UoKS0+YWNjZXNzUmVuZGVy
VGFyZ2V0KCkpOworICAgICAgICBpZiAocmVuZGVyVGFyZ2V0KQorICAgICAgICAgICAgcmVuZGVy
VGFyZ2V0LT5hc1RleHR1cmUoKS0+aW52YWxpZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgfQogICAg
IHJldHVybiBtX2JhY2tCdWZmZXJUZXh0dXJlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkocmV2aXNpb24gMTIwMzE4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNi0xNCAgSnVzdGlu
IE5vdm9zYWQgIDxqdW5vdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSB3ZWJr
aXRJbWFnZVNtb290aGluZ0VuYWJsZWQgY2FudmFzIHByb3BlcnR5IGRvZXMgbm90IHdvcmsgb24g
cmVkcmF3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
OTAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJv
bGxpbmcgY2hyb21pdW0gREVQUyB0byAxNDE4ODQKKworICAgICAgICAqIERFUFM6CisKIDIwMTIt
MDYtMTQgIEV1Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhcy5idWdAZ21haWwuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFJlZmFjdG9yIG1lc3NhZ2UgbG9vcCBpbnN0cnVtZW50YXRpb24u
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0RFUFMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9ERVBTCShyZXZpc2lvbiAxMjAyMTQpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0RFUFMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAogdmFycyA9
IHsKICAgJ2Nocm9taXVtX3N2bic6ICdodHRwOi8vc3JjLmNocm9taXVtLm9yZy9zdm4vdHJ1bmsv
c3JjJywKLSAgJ2Nocm9taXVtX3Jldic6ICcxNDE0MTAnCisgICdjaHJvbWl1bV9yZXYnOiAnMTQx
ODg0JwogfQogCiBkZXBzID0gewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwMzE4KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDYt
MTQgIEp1c3RpbiBOb3Zvc2FkICA8anVub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJv
bWl1bV0gd2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkIGNhbnZhcyBwcm9wZXJ0eSBkb2VzIG5v
dCB3b3JrIG9uIHJlZHJhdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODkwMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBOZXcgbGF5b3V0IHRlc3QgdGhhdCB2ZXJpZmllcyB0aGF0IGRpc2FibGluZyBpbWFn
ZSBzbW9vdGhpbmcgb24gYSAyZAorICAgICAgICBjYW52YXMgY29udGludWVzIHRvIHdvcmsgYWZ0
ZXIgbXVsdGlwbGUgcGFpbnQgY3ljbGVzLgorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFz
LWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtaW1h
Z2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQuanM6IEFkZGVkLgorICAgICAgICAoZHJhdyk6Cisg
ICAgICAgICh0ZXN0UmVzdWx0KToKKyAgICAgICAgKFRlc3RDb250cm9sbGVyUGFpbnQpOgorICAg
ICAgICAoQnJvd3NlclBhaW50KToKKyAgICAgICAgKG9uTG9hZEhhbmRsZXIpOgorCiAyMDEyLTA2
LTE0ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogW0RldmljZSBNZXRyaWNzXSAiRml0IHdpbmRvdyIgcmVzdWx0cyBpbiBk
dXBsaWNhdGUgcmVzY2FsaW5nIGluIFdlYkRldlRvb2xzQWdlbnRJbXBsOjphdXRvWm9vbVBhZ2VU
b0ZpdFdpZHRoKCkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1pbWFnZVNt
b290aGluZ0VuYWJsZWQtcmVwYWludC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZh
cy1pbWFnZVNtb290aGluZ0VuYWJsZWQtcmVwYWludC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3RzIHRoYXQgZGlzYWJsaW5nIHRoZSBpbWFnZVNtb290aGlu
Z0VuYWJsZWQgYXR0cmlidXRlIHN0aWxsIHdvcmtzIGFmdGVyIG11bHRpcGxlIHJlcGFpbnRzCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IHRoYXQgdGhlIGltYWdlIGlzIG5v
dCBmaWx0ZXJlZAorUEFTUyBsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzBdIGlzIDI1NQorUEFT
UyBsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzFdIGlzIDAKK1BBU1MgbGVmdF9vZl9jZW50ZXJf
cGl4ZWwuZGF0YVsyXSBpcyAwCitQQVNTIHJpZ2h0X29mX2NlbnRlcl9waXhlbC5kYXRhWzBdIGlz
IDAKK1BBU1MgcmlnaHRfb2ZfY2VudGVyX3BpeGVsLmRhdGFbMV0gaXMgMjU1CitQQVNTIHJpZ2h0
X29mX2NlbnRlcl9waXhlbC5kYXRhWzJdIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBh
aW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
aW1hZ2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICA8Y2FudmFzIGlkPSJkZXN0aW5hdGlvbiIgd2lkdGg9IjMwMCIgaGVpZ2h0PSIzMDAiPjwv
Y2FudmFzPgorICA8Y2FudmFzIGlkPSJzb3VyY2UiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48
L2NhbnZhcz4KKyAgPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtaW1hZ2VTbW9vdGhp
bmdFbmFibGVkLXJlcGFpbnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWltYWdlU21vb3Ro
aW5nRW5hYmxlZC1yZXBhaW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2Fu
dmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50LmpzCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDczIEBACisvLyBUaGlzIGlzIGEgcmVncmVzc2lvbiB0ZXN0IGZvciBidWcgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MDE4CisKK2Rlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IGRpc2FibGluZyB0aGUgaW1hZ2VTbW9vdGhpbmdFbmFibGVkIGF0dHJpYnV0ZSBzdGls
bCB3b3JrcyBhZnRlciBtdWx0aXBsZSByZXBhaW50cyIpOwordmFyIGRzdENhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkZXN0aW5hdGlvbiIpOwordmFyIGRzdEN0eCA9IGRzdENhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwordmFyIHNyY0NhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzb3VyY2UiKTsKK3ZhciBzcmNDdHggPSBzcmNDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
KworCit2YXIgc3JjQ2FudmFzLCBzcmNDdHgsIGRzdENhbnZhcywgZHN0Q3R4OworCitmdW5jdGlv
biBkcmF3KCkKK3sKKyAgICBzcmNDdHguY2xlYXJSZWN0KDAsIDAsIDMwMCwgMzAwKTsKKyAgICBk
c3RDdHguY2xlYXJSZWN0KDAsIDAsIDMwMCwgMzAwKTsKKyAgICBzcmNDdHguZmlsbFN0eWxlID0g
InJnYigyNTUsIDAsIDApIjsKKyAgICBzcmNDdHguZmlsbFJlY3QoMCwgMCwgMSwgMSk7CisgICAg
c3JjQ3R4LmZpbGxTdHlsZSA9ICJyZ2IoMCwgMjU1LCAwKSI7CisgICAgc3JjQ3R4LmZpbGxSZWN0
KDEsIDAsIDEsIDEpOworICAgIGRzdEN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBm
YWxzZTsKKyAgICBkc3RDdHguZHJhd0ltYWdlKHNyY0NhbnZhcywgMCwgMCwgMiwgMSwgMCwgMCwg
MzAwLCAzMDApOworfQorCitmdW5jdGlvbiB0ZXN0UmVzdWx0KCkgeworICAgIGRlYnVnKCJUZXN0
IHRoYXQgdGhlIGltYWdlIGlzIG5vdCBmaWx0ZXJlZCIpOworCWxlZnRfb2ZfY2VudGVyX3BpeGVs
ID0gZHN0Q3R4LmdldEltYWdlRGF0YSgxNDksIDE1MCwgMSwgMSk7CisJc2hvdWxkQmUoImxlZnRf
b2ZfY2VudGVyX3BpeGVsLmRhdGFbMF0iLCAiMjU1Iik7CisJc2hvdWxkQmUoImxlZnRfb2ZfY2Vu
dGVyX3BpeGVsLmRhdGFbMV0iLCAiMCIpOworCXNob3VsZEJlKCJsZWZ0X29mX2NlbnRlcl9waXhl
bC5kYXRhWzJdIiwgIjAiKTsKKwlyaWdodF9vZl9jZW50ZXJfcGl4ZWwgPSBkc3RDdHguZ2V0SW1h
Z2VEYXRhKDE1MCwgMTUwLCAxLCAxKTsKKwlzaG91bGRCZSgicmlnaHRfb2ZfY2VudGVyX3BpeGVs
LmRhdGFbMF0iLCAiMCIpOworCXNob3VsZEJlKCJyaWdodF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsx
XSIsICIyNTUiKTsKKwlzaG91bGRCZSgicmlnaHRfb2ZfY2VudGVyX3BpeGVsLmRhdGFbMl0iLCAi
MCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCisvLyBCdWcgODkwMTggcmVxdWlyZXMgMiBk
cmF3IGl0ZXJhdGlvbiBpbiBvcmRlciB0byBtYW5pZmVzdCBpdHNlbGYuCit2YXIgZHJhd0l0ZXJh
dGlvbnMgPSAyOworCisvLyBVbnJvbGxlZCByZXBhaW50IGxvb3AgZm9yIHJ1bm5pbmcgdGhlIHRl
c3QgaW4gRHVtcFJlbmRlclRyZWUKK2Z1bmN0aW9uIFRlc3RDb250cm9sbGVyUGFpbnQoKSB7Cisg
ICAgd2hpbGUgKGRyYXdJdGVyYXRpb25zID4gMCkgeworICAgICAgICBkcmF3KCk7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmRpc3BsYXkoKTsKKyAgICAgICAgZHJhd0l0ZXJhdGlvbnMg
PSBkcmF3SXRlcmF0aW9ucyAtIDE7CisgICAgfQorICAgIGRyYXcoKTsKKyAgICB0ZXN0UmVzdWx0
KCk7Cit9CisKKy8vIFJlcGFpbnQgbG9vcCBmb3IgcnVubmluZyB0aGUgdGVzdCBpbiB0aGUgYnJv
d3NlcgorZnVuY3Rpb24gQnJvd3NlclBhaW50KCl7CisgICAgZHJhdygpOworCWlmIChkcmF3SXRl
cmF0aW9ucyA+IDApIHsKKwkJZHJhd0l0ZXJhdGlvbnMgPSBkcmF3SXRlcmF0aW9ucyAtIDE7CisJ
CXdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoQnJvd3NlclBhaW50KTsKKyAgICB9
IGVsc2UgeworCSAgICB0ZXN0UmVzdWx0KCk7CisJfQorfQorCitmdW5jdGlvbiBvbkxvYWRIYW5k
bGVyKCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IFRlc3RDb250cm9sbGVyUGFpbnQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBCcm93c2VyUGFp
bnQoKTsKKyAgICB9Cit9CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5v
bmxvYWQgPSBvbkxvYWRIYW5kbGVyOworCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147579</attachid>
            <date>2012-06-14 07:25:22 -0700</date>
            <delta_ts>2012-06-14 11:33:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89018-20120614102521.patch</filename>
            <type>text/plain</type>
            <size>8589</size>
            <attacher name="Justin Novosad">junov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDMxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTE0ICBKdXN0aW4g
Tm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIHdlYmtp
dEltYWdlU21vb3RoaW5nRW5hYmxlZCBjYW52YXMgcHJvcGVydHkgZG9lcyBub3Qgd29yayBvbiBy
ZWRyYXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9jYW52YXMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50Lmh0bWwK
KworICAgICAgICBXaGVuIGFuIGFjY2VsZXJhdGVkIGNhbnZhcyBsYXllciBwcmVwYXJlcyBpdHMg
dGV4dHVyZSBmb3IgdGhlCisgICAgICAgIGNvbXBvc2l0b3IsIGl0IG11c3Qgc2VuZCBhIG5vdGlm
aWNhdGlvbiB0byBza2lhIHRvIGludmFsaWRhdGUgdGV4dHVyZQorICAgICAgICBwcm9wcnRpZXMg
dGhhdCBhcmUgY2FjaGVkIGJ5IHNraWEsIHNpbmNlIHRoZSBjb21wb3NpdG9yIG1heSBtb2RpZnkg
dGhlbS4KKyAgICAgICAgVGhlIHVzZSBjYXNlIHRoaXMgZml4ZXMgaXMgd2hlbiBhIGNhbnZhcyB0
byBjYW52YXMgY29weSBpcyBwZXJmb3JtZWQKKyAgICAgICAgd2l0aCB3ZWJraXRJbWFnZVNtb290
aGluZ0VuYWJsZWQ9ZmFsc2Ugb24gdGhlIGRlc3RpbmF0aW9uIGNhbnZhcy4KKyAgICAgICAgVGhl
IGJhY2tpbmcgdGV4dHVyZSBvZiB0aGUgc291cmNlIGNhbnZhcyB3aWxsIGJlIHNldCB0byAibmVh
cmVzdCIKKyAgICAgICAgZmlsdGVyaW5nIGJ5IHNraWEgaW4gb3JkZXIgdG8gcGVyZm9ybSB0aGUg
Y29weS4gIFRoZW4sIHRoZSBjb21wb3NpdG9yCisgICAgICAgIHNldHMgZmlsdGVyaW5nIGJhY2sg
dG8gImxpbmVhciIgd2hlbiB0aGUgc291cmNlIGNhbnZhcyBpcyBkcmF3bi4KKyAgICAgICAgU2tp
YSBpcyBkZXNpZ25lZCB0byBvbmx5IHVwZGF0ZSBHTCBhdHRyaWJ1dGVzIHdoZW4gcmVxdWlyZWQs
IHNvIGVycm9ycworICAgICAgICBvY2N1ciB3aGVuIHRoZSBza2lhLXNpZGUgR0wgc3RhdGUgY2Fj
aGUgaXMgb3V0IG9mIHN5bmMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9DYW52YXMyRExheWVyQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhczJETGF5
ZXJCcmlkZ2U6OnByZXBhcmVUZXh0dXJlKToKKwogMjAxMi0wNi0xNCAgRXVnZW5lIEtseXVjaG5p
a292ICA8ZXVzdGFzLmJ1Z0BnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVm
YWN0b3IgbWVzc2FnZSBsb29wIGluc3RydW1lbnRhdGlvbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJCcmlkZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZh
czJETGF5ZXJCcmlkZ2UuY3BwCShyZXZpc2lvbiAxMjAyMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVyQnJpZGdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSwxMiBAQCB1bnNpZ25lZCBDYW52YXMyRExheWVyQnJpZGdl
OjpwcmVwYXJlVGV4CiAgICAgICAgIHJldHVybiBtX2Zyb250QnVmZmVyVGV4dHVyZTsKICAgICB9
CiAKKyAgICBpZiAobV9jYW52YXMpIHsKKyAgICAgICAgLy8gTm90aWZ5IHNraWEgdGhhdCB0aGUg
c3RhdGUgb2YgdGhlIGJhY2tpbmcgc3RvcmUgdGV4dHVyZSBvYmplY3Qgd2lsbCBiZSB0b3VjaGVk
IGJ5IHRoZSBjb21wb3NpdG9yCisgICAgICAgIEdyUmVuZGVyVGFyZ2V0KiByZW5kZXJUYXJnZXQg
PSByZWludGVycHJldF9jYXN0PEdyUmVuZGVyVGFyZ2V0Kj4obV9jYW52YXMtPmdldERldmljZSgp
LT5hY2Nlc3NSZW5kZXJUYXJnZXQoKSk7CisgICAgICAgIGlmIChyZW5kZXJUYXJnZXQpCisgICAg
ICAgICAgICByZW5kZXJUYXJnZXQtPmFzVGV4dHVyZSgpLT5pbnZhbGlkYXRlQ2FjaGVkU3RhdGUo
KTsKKyAgICB9CiAgICAgcmV0dXJuIG1fYmFja0J1ZmZlclRleHR1cmU7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjAzMTgpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEy
LTA2LTE0ICBKdXN0aW4gTm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBb
Q2hyb21pdW1dIHdlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZCBjYW52YXMgcHJvcGVydHkgZG9l
cyBub3Qgd29yayBvbiByZWRyYXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg5MDE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUm9sbGluZyBjaHJvbWl1bSBERVBTIHRvIDE0MTg4NAorCisgICAgICAgICog
REVQUzoKKwogMjAxMi0wNi0xNCAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVzdGFzLmJ1Z0BnbWFp
bC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVmYWN0b3IgbWVzc2FnZSBsb29wIGlu
c3RydW1lbnRhdGlvbi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0RFUFMJKHJldmlzaW9uIDEyMDIxNCkKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUwkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIs
NyBAQAogCiB2YXJzID0gewogICAnY2hyb21pdW1fc3ZuJzogJ2h0dHA6Ly9zcmMuY2hyb21pdW0u
b3JnL3N2bi90cnVuay9zcmMnLAotICAnY2hyb21pdW1fcmV2JzogJzE0MTQxMCcKKyAgJ2Nocm9t
aXVtX3Jldic6ICcxNDE4ODQnCiB9CiAKIGRlcHMgPSB7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjAz
MTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MiBAQAorMjAxMi0wNi0xNCAgSnVzdGluIE5vdm9zYWQgIDxqdW5vdkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW0Nocm9taXVtXSB3ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgY2FudmFzIHBy
b3BlcnR5IGRvZXMgbm90IHdvcmsgb24gcmVkcmF3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTAxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5ldyBsYXlvdXQgdGVzdCB0aGF0IHZlcmlmaWVzIHRoYXQg
ZGlzYWJsaW5nIGltYWdlIHNtb290aGluZyBvbiBhIDJkCisgICAgICAgIGNhbnZhcyBjb250aW51
ZXMgdG8gd29yayBhZnRlciBtdWx0aXBsZSBwYWludCBjeWNsZXMuCisKKyAgICAgICAgKiBmYXN0
L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFi
bGVkLXJlcGFpbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRl
c3RzL2NhbnZhcy1pbWFnZVNtb290aGluZ0VuYWJsZWQtcmVwYWludC5qczogQWRkZWQuCisgICAg
ICAgIChkcmF3KToKKyAgICAgICAgKHRlc3RSZXN1bHQpOgorICAgICAgICAoVGVzdENvbnRyb2xs
ZXJQYWludCk6CisgICAgICAgIChCcm93c2VyUGFpbnQpOgorICAgICAgICAob25Mb2FkSGFuZGxl
cik6CisKIDIwMTItMDYtMTQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRGV2aWNlIE1ldHJpY3NdICJGaXQgd2luZG93
IiByZXN1bHRzIGluIGR1cGxpY2F0ZSByZXNjYWxpbmcgaW4gV2ViRGV2VG9vbHNBZ2VudEltcGw6
OmF1dG9ab29tUGFnZVRvRml0V2lkdGgoKQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFi
bGVkLXJlcGFpbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1yZXBhaW50LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorVGVzdHMgdGhhdCBkaXNhYmxpbmcgdGhl
IGltYWdlU21vb3RoaW5nRW5hYmxlZCBhdHRyaWJ1dGUgc3RpbGwgd29ya3MgYWZ0ZXIgbXVsdGlw
bGUgcmVwYWludHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3QgdGhhdCB0
aGUgaW1hZ2UgaXMgbm90IGZpbHRlcmVkCitQQVNTIGxlZnRfb2ZfY2VudGVyX3BpeGVsLmRhdGFb
MF0gaXMgMjU1CitQQVNTIGxlZnRfb2ZfY2VudGVyX3BpeGVsLmRhdGFbMV0gaXMgMAorUEFTUyBs
ZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzJdIGlzIDAKK1BBU1MgcmlnaHRfb2ZfY2VudGVyX3Bp
eGVsLmRhdGFbMF0gaXMgMAorUEFTUyByaWdodF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsxXSBpcyAy
NTUKK1BBU1MgcmlnaHRfb2ZfY2VudGVyX3BpeGVsLmRhdGFbMl0gaXMgMAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhp
bmdFbmFibGVkLXJlcGFpbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1pbWFnZVNtb290aGluZ0VuYWJsZWQtcmVwYWludC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
IDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgIDxjYW52YXMgaWQ9ImRlc3RpbmF0aW9uIiB3aWR0aD0iMzAwIiBo
ZWlnaHQ9IjMwMCI+PC9jYW52YXM+CisgIDxjYW52YXMgaWQ9InNvdXJjZSIgd2lkdGg9IjMwMCIg
aGVpZ2h0PSIzMDAiPjwvY2FudmFzPgorICA8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NhbnZh
cy1pbWFnZVNtb290aGluZ0VuYWJsZWQtcmVwYWludC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52
YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1pbWFnZVNtb290aGluZ0VuYWJs
ZWQtcmVwYWludC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3Nj
cmlwdC10ZXN0cy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLXJlcGFpbnQuanMJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNzMgQEAKKy8vIFRoaXMgaXMgYSByZWdyZXNzaW9uIHRlc3QgZm9y
IGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwMTgKKworZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgZGlzYWJsaW5nIHRoZSBpbWFnZVNtb290aGluZ0VuYWJsZWQg
YXR0cmlidXRlIHN0aWxsIHdvcmtzIGFmdGVyIG11bHRpcGxlIHJlcGFpbnRzIik7Cit2YXIgZHN0
Q2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc3RpbmF0aW9uIik7Cit2YXIgZHN0
Q3R4ID0gZHN0Q2FudmFzLmdldENvbnRleHQoJzJkJyk7Cit2YXIgc3JjQ2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInNvdXJjZSIpOwordmFyIHNyY0N0eCA9IHNyY0NhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOworCisKK3ZhciBzcmNDYW52YXMsIHNyY0N0eCwgZHN0Q2FudmFzLCBkc3RD
dHg7CisKK2Z1bmN0aW9uIGRyYXcoKQoreworICAgIHNyY0N0eC5jbGVhclJlY3QoMCwgMCwgMzAw
LCAzMDApOworICAgIGRzdEN0eC5jbGVhclJlY3QoMCwgMCwgMzAwLCAzMDApOworICAgIHNyY0N0
eC5maWxsU3R5bGUgPSAicmdiKDI1NSwgMCwgMCkiOworICAgIHNyY0N0eC5maWxsUmVjdCgwLCAw
LCAxLCAxKTsKKyAgICBzcmNDdHguZmlsbFN0eWxlID0gInJnYigwLCAyNTUsIDApIjsKKyAgICBz
cmNDdHguZmlsbFJlY3QoMSwgMCwgMSwgMSk7CisgICAgZHN0Q3R4LndlYmtpdEltYWdlU21vb3Ro
aW5nRW5hYmxlZCA9IGZhbHNlOworICAgIGRzdEN0eC5kcmF3SW1hZ2Uoc3JjQ2FudmFzLCAwLCAw
LCAyLCAxLCAwLCAwLCAzMDAsIDMwMCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZXN1bHQoKSB7Cisg
ICAgZGVidWcoIlRlc3QgdGhhdCB0aGUgaW1hZ2UgaXMgbm90IGZpbHRlcmVkIik7CisJbGVmdF9v
Zl9jZW50ZXJfcGl4ZWwgPSBkc3RDdHguZ2V0SW1hZ2VEYXRhKDE0OSwgMTUwLCAxLCAxKTsKKwlz
aG91bGRCZSgibGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVswXSIsICIyNTUiKTsKKwlzaG91bGRC
ZSgibGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsxXSIsICIwIik7CisJc2hvdWxkQmUoImxlZnRf
b2ZfY2VudGVyX3BpeGVsLmRhdGFbMl0iLCAiMCIpOworCXJpZ2h0X29mX2NlbnRlcl9waXhlbCA9
IGRzdEN0eC5nZXRJbWFnZURhdGEoMTUwLCAxNTAsIDEsIDEpOworCXNob3VsZEJlKCJyaWdodF9v
Zl9jZW50ZXJfcGl4ZWwuZGF0YVswXSIsICIwIik7CisJc2hvdWxkQmUoInJpZ2h0X29mX2NlbnRl
cl9waXhlbC5kYXRhWzFdIiwgIjI1NSIpOworCXNob3VsZEJlKCJyaWdodF9vZl9jZW50ZXJfcGl4
ZWwuZGF0YVsyXSIsICIwIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKKy8vIEJ1ZyA4OTAx
OCByZXF1aXJlcyAyIGRyYXcgaXRlcmF0aW9uIGluIG9yZGVyIHRvIG1hbmlmZXN0IGl0c2VsZi4K
K3ZhciBkcmF3SXRlcmF0aW9ucyA9IDI7CisKKy8vIFVucm9sbGVkIHJlcGFpbnQgbG9vcCBmb3Ig
cnVubmluZyB0aGUgdGVzdCBpbiBEdW1wUmVuZGVyVHJlZQorZnVuY3Rpb24gVGVzdENvbnRyb2xs
ZXJQYWludCgpIHsKKyAgICB3aGlsZSAoZHJhd0l0ZXJhdGlvbnMgPiAwKSB7CisgICAgICAgIGRy
YXcoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheSgpOworICAgICAgICBk
cmF3SXRlcmF0aW9ucyA9IGRyYXdJdGVyYXRpb25zIC0gMTsKKyAgICB9CisgICAgZHJhdygpOwor
ICAgIHRlc3RSZXN1bHQoKTsKK30KKworLy8gUmVwYWludCBsb29wIGZvciBydW5uaW5nIHRoZSB0
ZXN0IGluIHRoZSBicm93c2VyCitmdW5jdGlvbiBCcm93c2VyUGFpbnQoKXsKKyAgICBkcmF3KCk7
CisJaWYgKGRyYXdJdGVyYXRpb25zID4gMCkgeworCQlkcmF3SXRlcmF0aW9ucyA9IGRyYXdJdGVy
YXRpb25zIC0gMTsKKwkJd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShCcm93c2Vy
UGFpbnQpOworICAgIH0gZWxzZSB7CisJICAgIHRlc3RSZXN1bHQoKTsKKwl9Cit9CisKK2Z1bmN0
aW9uIG9uTG9hZEhhbmRsZXIoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgVGVzdENvbnRyb2xsZXJQYWludCgpOworICAgIH0gZWxzZSB7CisgICAg
ICAgIEJyb3dzZXJQYWludCgpOworICAgIH0KK30KKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOword2luZG93Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>