<?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>87853</bug_id>
          
          <creation_ts>2012-05-30 07:48:17 -0700</creation_ts>
          <short_desc>the imageSmoothingEnabled flag needs to be in the state object</short_desc>
          <delta_ts>2012-05-31 09:24:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Keyar Hood">keyar</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>mario</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>637212</commentid>
    <comment_count>0</comment_count>
    <who name="Keyar Hood">keyar</who>
    <bug_when>2012-05-30 07:48:17 -0700</bug_when>
    <thetext>Currently, the imageSmoothingEnabled is a property of the canvas. As per a recent update of the spec, this flag should be a property of a drawing state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637601</commentid>
    <comment_count>1</comment_count>
      <attachid>144903</attachid>
    <who name="Keyar Hood">keyar</who>
    <bug_when>2012-05-30 13:22:34 -0700</bug_when>
    <thetext>Created attachment 144903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637641</commentid>
    <comment_count>2</comment_count>
      <attachid>144903</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-05-30 13:38:40 -0700</bug_when>
    <thetext>Comment on attachment 144903
Patch

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

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:2283
&gt; +    modifiableState().m_imageSmoothingEnabled = enabled;

Could you put this line right below the realizeSaves() call?  Most other state modifiers seem to do that.

&gt; LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-expected.txt:10
&gt; +Test restore works. We save a false state; create, then save a true state; and then finally restore.

Nit:  &quot;Test restore works&quot; -&gt; &quot;Test that restore works&quot;.

&gt; LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-expected.txt:25
&gt; +Test restoring actually changes smoothing and not just the attribute value. We are restoring to a point where imageSmoothingEnabled is set to false.

Nit:  &quot;Test restoring&quot; -&gt; &quot;Test that restoring&quot;

&gt; LayoutTests/fast/canvas/script-tests/canvas-imageSmoothingEnabled.js:11
&gt; +debug(&quot;Test restore works. We save a false state; create, then save a true state; and then finally restore.&quot;);

Same as above.

&gt; LayoutTests/fast/canvas/script-tests/canvas-imageSmoothingEnabled.js:68
&gt; +debug(&quot;Test restoring actually changes smoothing and not just the attribute value. We are restoring to a point where imageSmoothingEnabled is set to false.&quot;);

Same as above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637754</commentid>
    <comment_count>3</comment_count>
      <attachid>144938</attachid>
    <who name="Keyar Hood">keyar</who>
    <bug_when>2012-05-30 15:26:05 -0700</bug_when>
    <thetext>Created attachment 144938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638356</commentid>
    <comment_count>4</comment_count>
      <attachid>144938</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-05-31 06:51:06 -0700</bug_when>
    <thetext>Comment on attachment 144938
Patch

Looks good (assuming the bots are ok with it).  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638393</commentid>
    <comment_count>5</comment_count>
      <attachid>144938</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-31 07:32:28 -0700</bug_when>
    <thetext>Comment on attachment 144938
Patch

Clearing flags on attachment: 144938

Committed r119100: &lt;http://trac.webkit.org/changeset/119100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638394</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-31 07:32:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638445</commentid>
    <comment_count>7</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-05-31 08:27:39 -0700</bug_when>
    <thetext>This is failing on the GTK bots for some reason, even if it looks like something that should work in a cross-platform basis.

Any idea?

The diff:
--- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/canvas/canvas-imageSmoothingEnabled-expected.txt 
+++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/canvas/canvas-imageSmoothingEnabled-actual.txt 
@@ -23,9 +23,9 @@
 PASS left_of_center_pixel.data[1] !== 0 is true
 PASS left_of_center_pixel.data[2] !== 0 is true
 Test that restoring actually changes smoothing and not just the attribute value. We are restoring to a point where imageSmoothingEnabled is set to false.
-PASS left_of_center_pixel.data[0] is 0
-PASS left_of_center_pixel.data[1] is 0
-PASS left_of_center_pixel.data[2] is 0
+FAIL left_of_center_pixel.data[0] should be 0. Was 63.
+FAIL left_of_center_pixel.data[1] should be 0. Was 63.
+FAIL left_of_center_pixel.data[2] should be 0. Was 63.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638448</commentid>
    <comment_count>8</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-05-31 08:30:13 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; This is failing on the GTK bots for some reason, even if it looks like something that should work in a cross-platform basis.
&gt; 
&gt; Any idea?
&gt; 
&gt; The diff:
&gt; --- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/canvas/canvas-imageSmoothingEnabled-expected.txt 
&gt; +++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/canvas/canvas-imageSmoothingEnabled-actual.txt 
&gt; @@ -23,9 +23,9 @@
&gt;  PASS left_of_center_pixel.data[1] !== 0 is true
&gt;  PASS left_of_center_pixel.data[2] !== 0 is true
&gt;  Test that restoring actually changes smoothing and not just the attribute value. We are restoring to a point where imageSmoothingEnabled is set to false.
&gt; -PASS left_of_center_pixel.data[0] is 0
&gt; -PASS left_of_center_pixel.data[1] is 0
&gt; -PASS left_of_center_pixel.data[2] is 0
&gt; +FAIL left_of_center_pixel.data[0] should be 0. Was 63.
&gt; +FAIL left_of_center_pixel.data[1] should be 0. Was 63.
&gt; +FAIL left_of_center_pixel.data[2] should be 0. Was 63.
&gt;  PASS successfullyParsed is true
&gt; 
&gt;  TEST COMPLETE

Is it possible that GTK&apos;s (cairo&apos;s?) implementation of GraphicsContext does not save/restore the ImageInterpolation correctly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638449</commentid>
    <comment_count>9</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-05-31 08:32:07 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; This is failing on the GTK bots for some reason, even if it looks like something that should work in a cross-platform basis.
&gt; &gt; 
&gt; &gt; Any idea?
&gt; &gt; 
&gt; &gt; The diff:
&gt; &gt; --- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/canvas/canvas-imageSmoothingEnabled-expected.txt 
&gt; &gt; +++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/canvas/canvas-imageSmoothingEnabled-actual.txt 
&gt; &gt; @@ -23,9 +23,9 @@
&gt; &gt;  PASS left_of_center_pixel.data[1] !== 0 is true
&gt; &gt;  PASS left_of_center_pixel.data[2] !== 0 is true
&gt; &gt;  Test that restoring actually changes smoothing and not just the attribute value. We are restoring to a point where imageSmoothingEnabled is set to false.
&gt; &gt; -PASS left_of_center_pixel.data[0] is 0
&gt; &gt; -PASS left_of_center_pixel.data[1] is 0
&gt; &gt; -PASS left_of_center_pixel.data[2] is 0
&gt; &gt; +FAIL left_of_center_pixel.data[0] should be 0. Was 63.
&gt; &gt; +FAIL left_of_center_pixel.data[1] should be 0. Was 63.
&gt; &gt; +FAIL left_of_center_pixel.data[2] should be 0. Was 63.
&gt; &gt;  PASS successfullyParsed is true
&gt; &gt; 
&gt; &gt;  TEST COMPLETE
&gt; 
&gt; Is it possible that GTK&apos;s (cairo&apos;s?) implementation of GraphicsContext does not save/restore the ImageInterpolation correctly?

Yes, it looks like PlatformContextCairo stores the interpolation quality directly, and it should be moved to PlatformContextCairo::State instead.  That would be my guess (assuming the GTK port uses Cairo).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638491</commentid>
    <comment_count>10</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-05-31 09:20:43 -0700</bug_when>
    <thetext>Thanks for the feedback. Unfortunately, I&apos;ve tried that suggestion locally and didn&apos;t seem to work, but it&apos;s mostly my fault, since I&apos;m not an expert in the graphics part and I&apos;m most likely doing it wrong.

Anyway, I will file a bug for this issue, add the test to test_expectations.txt and add the right people to CC, pointing back to this bug.

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638495</commentid>
    <comment_count>11</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-05-31 09:24:01 -0700</bug_when>
    <thetext>Bug for tracking the issue down for GTK: bug 87985</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144903</attachid>
            <date>2012-05-30 13:22:34 -0700</date>
            <delta_ts>2012-05-30 15:25:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87853-20120530162233.patch</filename>
            <type>text/plain</type>
            <size>8543</size>
            <attacher name="Keyar Hood">keyar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJiMGIyMGE3MGY3OTJh
ZGY4ZDc0MjU3YzM4M2M2NjVlZTliMTRhZi4uMzkwZDA3ODBhMGI3OWRiNzVmZTVkMTI2NGI3MWQw
MWE4MDIwZjk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTMwICBLZXlh
ciBIb29kICA8a2V5YXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIHRoZSBpbWFnZVNtb290aGlu
Z0VuYWJsZWQgZmxhZyBuZWVkcyB0byBiZSBpbiB0aGUgc3RhdGUgb2JqZWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzg1MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZmFzdC9jYW52YXMv
Y2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC5odG1sIGluc3RlYWQgb2YKKyAgICAgICAgYWRk
aW5nIGEgbmV3IHRlc3QuCisKKyAgICAgICAgVGhlIGltYWdlU21vb3RoaW5nRW5hYmxlZCBmbGFn
IGlzIHNhdmVkIGluIHRoZSBkcmF3IHN0YXRlIG5vdy4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6U3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6b3BlcmF0b3I9KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6d2Via2l0SW1hZ2VTbW9v
dGhpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6c2V0V2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKKyAgICAgICAgKFN0YXRlKToKKwogMjAxMi0w
NS0zMCAgQWxleGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQWRkIHRyYWNlKCkgbWV0aG9kIHRvIHRoZSBXb3JrZXJDb25zb2xlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAppbmRleCA1NDMyMjFiZmI5Yzc4Yzg1ZTFmN2YzODM5OTljNjY0ZWYxNGUwZDUy
Li4wNzJiNTE3ZmM2OWVhNjcwMGU2ZWQ1MmNiMTEwZmRjZmY2ODdjNDEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAKQEAgLTEyMCw3ICsxMjAsNiBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRChIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBibwogI2lmIEVOQUJM
RShEQVNIQk9BUkRfU1VQUE9SVCkKICAgICAsIG1fdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlKHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKICNlbmRpZgotICAgICwgbV9pbWFn
ZVNtb290aGluZ0VuYWJsZWQodHJ1ZSkKIHsKICNpZiAhRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JU
KQogICAgIEFTU0VSVF9VTlVTRUQodXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlLCAhdXNl
c0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKTsKQEAgLTE4MSw2ICsxODAsNyBAQCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OlN0YXRlOjpTdGF0ZSgpCiAgICAgLCBtX2dsb2JhbENvbXBvc2l0
ZShDb21wb3NpdGVTb3VyY2VPdmVyKQogICAgICwgbV9pbnZlcnRpYmxlQ1RNKHRydWUpCiAgICAg
LCBtX2xpbmVEYXNoT2Zmc2V0KDApCisgICAgLCBtX2ltYWdlU21vb3RoaW5nRW5hYmxlZCh0cnVl
KQogICAgICwgbV90ZXh0QWxpZ24oU3RhcnRUZXh0QWxpZ24pCiAgICAgLCBtX3RleHRCYXNlbGlu
ZShBbHBoYWJldGljVGV4dEJhc2VsaW5lKQogICAgICwgbV91bnBhcnNlZEZvbnQoZGVmYXVsdEZv
bnQpCkBAIC0yMDYsNiArMjA2LDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6
U3RhdGUoY29uc3QgU3RhdGUmIG90aGVyKQogICAgICwgbV90cmFuc2Zvcm0ob3RoZXIubV90cmFu
c2Zvcm0pCiAgICAgLCBtX2ludmVydGlibGVDVE0ob3RoZXIubV9pbnZlcnRpYmxlQ1RNKQogICAg
ICwgbV9saW5lRGFzaE9mZnNldChvdGhlci5tX2xpbmVEYXNoT2Zmc2V0KQorICAgICwgbV9pbWFn
ZVNtb290aGluZ0VuYWJsZWQob3RoZXIubV9pbWFnZVNtb290aGluZ0VuYWJsZWQpCiAgICAgLCBt
X3RleHRBbGlnbihvdGhlci5tX3RleHRBbGlnbikKICAgICAsIG1fdGV4dEJhc2VsaW5lKG90aGVy
Lm1fdGV4dEJhc2VsaW5lKQogICAgICwgbV91bnBhcnNlZEZvbnQob3RoZXIubV91bnBhcnNlZEZv
bnQpCkBAIC0yMzksNiArMjQwLDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZSYg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6b3BlcmF0b3I9KGNvbnMKICAgICBtX2ds
b2JhbENvbXBvc2l0ZSA9IG90aGVyLm1fZ2xvYmFsQ29tcG9zaXRlOwogICAgIG1fdHJhbnNmb3Jt
ID0gb3RoZXIubV90cmFuc2Zvcm07CiAgICAgbV9pbnZlcnRpYmxlQ1RNID0gb3RoZXIubV9pbnZl
cnRpYmxlQ1RNOworICAgIG1faW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gb3RoZXIubV9pbWFnZVNt
b290aGluZ0VuYWJsZWQ7CiAgICAgbV90ZXh0QWxpZ24gPSBvdGhlci5tX3RleHRBbGlnbjsKICAg
ICBtX3RleHRCYXNlbGluZSA9IG90aGVyLm1fdGV4dEJhc2VsaW5lOwogICAgIG1fdW5wYXJzZWRG
b250ID0gb3RoZXIubV91bnBhcnNlZEZvbnQ7CkBAIC0yMjY4LDE2ICsyMjcwLDE3IEBAIFBsYXRm
b3JtTGF5ZXIqIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6cGxhdGZvcm1MYXllcigpIGNvbnN0
CiAKIGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjp3ZWJraXRJbWFnZVNtb290aGluZ0Vu
YWJsZWQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ltYWdlU21vb3RoaW5nRW5hYmxlZDsKKyAg
ICByZXR1cm4gc3RhdGUoKS5tX2ltYWdlU21vb3RoaW5nRW5hYmxlZDsKIH0KIAogdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFdlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZChib29s
IGVuYWJsZWQpCiB7Ci0gICAgaWYgKGVuYWJsZWQgPT0gbV9pbWFnZVNtb290aGluZ0VuYWJsZWQp
CisgICAgaWYgKGVuYWJsZWQgPT0gc3RhdGUoKS5tX2ltYWdlU21vb3RoaW5nRW5hYmxlZCkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgcmVhbGl6ZVNhdmVzKCk7CiAgICAgZHJhd2luZ0NvbnRleHQo
KS0+c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShlbmFibGVkID8gRGVmYXVsdEludGVycG9s
YXRpb25RdWFsaXR5IDogSW50ZXJwb2xhdGlvbk5vbmUpOwotICAgIG1faW1hZ2VTbW9vdGhpbmdF
bmFibGVkID0gZW5hYmxlZDsKKyAgICBtb2RpZmlhYmxlU3RhdGUoKS5tX2ltYWdlU21vb3RoaW5n
RW5hYmxlZCA9IGVuYWJsZWQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgK
aW5kZXggYzEwOWFlN2QyZWRhMjM5Njc0OTc2MTVkOWY0Mzk0YTIwMTEzOWZiMi4uYmZhOWE4OGI5
MDBlMjZkMTYwNzU4MDhjMGZiNTg2ZGY5ZmM1NmZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKQEAgLTI1Miw2ICsy
NTIsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1faW52ZXJ0aWJsZUNUTTsKICAgICAgICAg
RGFzaEFycmF5IG1fbGluZURhc2g7CiAgICAgICAgIGZsb2F0IG1fbGluZURhc2hPZmZzZXQ7Cisg
ICAgICAgIGJvb2wgbV9pbWFnZVNtb290aGluZ0VuYWJsZWQ7CiAKICAgICAgICAgLy8gVGV4dCBz
dGF0ZS4KICAgICAgICAgVGV4dEFsaWduIG1fdGV4dEFsaWduOwpAQCAtMzM2LDcgKzMzNyw2IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIGJvb2wgbV91c2Vz
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGU7CiAjZW5kaWYKLSAgICBib29sIG1faW1hZ2VTbW9v
dGhpbmdFbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQzMTMw
MWIwOTgwYTViNGQ5M2ZlN2NhNGQ3NThkZmNhZTg2Zjc2ZTUuLjMxNzU5ZTM5NzRiMTYxNDI2Mzg2
NDg3NzAwODg3ODY0OTQ0NzhiNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0zMCAg
S2V5YXIgSG9vZCAgPGtleWFyQGNocm9taXVtLm9yZz4KKworICAgICAgICB0aGUgaW1hZ2VTbW9v
dGhpbmdFbmFibGVkIGZsYWcgbmVlZHMgdG8gYmUgaW4gdGhlIHN0YXRlIG9iamVjdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc4NTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHRoZSB0ZXN0
IGZvciBpbWFnZVNtb290aGluZ0VuYWJsZWQgdG8gdGVzdCB0aGF0IGl0IGlzIHNhdmVkIGluCisg
ICAgICAgIHRoZSBkcmF3IHN0YXRlLgorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWlt
YWdlU21vb3RoaW5nRW5hYmxlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy1pbWFnZVNtb290aGluZ0VuYWJsZWQuanM6CisKIDIwMTItMDUt
MzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpbGUu
bGFzdE1vZGlmaWVkRGF0ZSBtdXN0IHJldHVybiBudWxsIGlmIHRoZSBtb2RpZmllZCB0aW1lIGlu
Zm8gaXMgbm90IGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLWV4cGVjdGVkLnR4dAppbmRl
eCBlM2Q4NTU4ZDE3NDgwZWY1NjcwY2FlNGYzODUwYWYxOTk1NWYxMWNhLi5lMWYyZDZiOWI0OTNm
OGM2MzBjYmFmYjQxNWRkZTQ0OWVkMjBiYTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLWV4cGVj
dGVkLnR4dApAQCAtNyw2ICs3LDggQEAgVGVzdCB0aGF0IHRoZSBkZWZhdWx0IHZhbHVlIGlzIHRy
dWUuCiBQQVNTIGN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgaXMgdHJ1ZQogVGVzdCB0
aGF0IGZhbHNlIGlzIHJldHVybmVkIGFmdGVyIGEgdGhlIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFs
c2UuCiBQQVNTIGN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgaXMgZmFsc2UKK1Rlc3Qg
cmVzdG9yZSB3b3Jrcy4gV2Ugc2F2ZSBhIGZhbHNlIHN0YXRlOyBjcmVhdGUsIHRoZW4gc2F2ZSBh
IHRydWUgc3RhdGU7IGFuZCB0aGVuIGZpbmFsbHkgcmVzdG9yZS4KK1BBU1MgY3R4LndlYmtpdElt
YWdlU21vb3RoaW5nRW5hYmxlZCBpcyBmYWxzZQogTmV3IGNhbnZhcyBlbGVtZW50IGNyZWF0ZWQu
CiBUZXN0IHRoYXQgdGhlIGltYWdlIGlzIHNtb290aGVkIGJ5IGRlZmF1bHQuIFdlIGNoZWNrIGJ5
IG1ha2luZyBzdXJlIHRoZSBwaXhlbCBqdXN0IHRvIHRoZSBsZWZ0IG9mIHRoZSBtaWRkbGUgbGlu
ZSBpcyBub3QgY29tcGxldGVseSBibGFjay4KIFBBU1MgbGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0
YVswXSAhPT0gMCBpcyB0cnVlCkBAIC0yMCw2ICsyMiwxMCBAQCBUZXN0IHRoYXQgdGhlIGltYWdl
IGlzIHNtb290aGVkIHdoZW4gaW1hZ2VTbW9vdGhpbmdFbmFibGVkIGlzIHNldCB0byB0cnVlLgog
UEFTUyBsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzBdICE9PSAwIGlzIHRydWUKIFBBU1MgbGVm
dF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsxXSAhPT0gMCBpcyB0cnVlCiBQQVNTIGxlZnRfb2ZfY2Vu
dGVyX3BpeGVsLmRhdGFbMl0gIT09IDAgaXMgdHJ1ZQorVGVzdCByZXN0b3JpbmcgYWN0dWFsbHkg
Y2hhbmdlcyBzbW9vdGhpbmcgYW5kIG5vdCBqdXN0IHRoZSBhdHRyaWJ1dGUgdmFsdWUuIFdlIGFy
ZSByZXN0b3JpbmcgdG8gYSBwb2ludCB3aGVyZSBpbWFnZVNtb290aGluZ0VuYWJsZWQgaXMgc2V0
IHRvIGZhbHNlLgorUEFTUyBsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzBdIGlzIDAKK1BBU1Mg
bGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsxXSBpcyAwCitQQVNTIGxlZnRfb2ZfY2VudGVyX3Bp
eGVsLmRhdGFbMl0gaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVz
dHMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLmpzCmluZGV4IGVi
NzgyNmFlZGQyNzk4NDIyMDM2NzIxZWE3YzNhMmMyNDJiZDQ0ODcuLjM3Nzg4YjUwMjQwZWJhOGRj
MzI5Mjk5ZTg2M2JhZTNkNmJlMWM5ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLmpzCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdF
bmFibGVkLmpzCkBAIC04LDYgKzgsMTIgQEAgZGVidWcoIlRlc3QgdGhhdCBmYWxzZSBpcyByZXR1
cm5lZCBhZnRlciBhIHRoZSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlLiIpOwogY3R4LndlYmtp
dEltYWdlU21vb3RoaW5nRW5hYmxlZCA9IGZhbHNlOwogc2hvdWxkQmUoImN0eC53ZWJraXRJbWFn
ZVNtb290aGluZ0VuYWJsZWQiLCAiZmFsc2UiKTsKIAorZGVidWcoIlRlc3QgcmVzdG9yZSB3b3Jr
cy4gV2Ugc2F2ZSBhIGZhbHNlIHN0YXRlOyBjcmVhdGUsIHRoZW4gc2F2ZSBhIHRydWUgc3RhdGU7
IGFuZCB0aGVuIGZpbmFsbHkgcmVzdG9yZS4iKTsKK2N0eC5zYXZlKCk7CitjdHgud2Via2l0SW1h
Z2VTbW9vdGhpbmdFbmFibGVkID0gdHJ1ZTsKK2N0eC5yZXN0b3JlKCk7CitzaG91bGRCZSgiY3R4
LndlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZCIsICJmYWxzZSIpOworCiB2YXIgaW1hZ2UgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKIGltYWdlLndpZHRoID0gMjsKIGltYWdl
LmhlaWdodCA9IDE7CkBAIC01OSwzICs2NSwxNCBAQCBzaG91bGRCZSgibGVmdF9vZl9jZW50ZXJf
cGl4ZWwuZGF0YVswXSAhPT0gMCIsICJ0cnVlIik7CiBzaG91bGRCZSgibGVmdF9vZl9jZW50ZXJf
cGl4ZWwuZGF0YVsxXSAhPT0gMCIsICJ0cnVlIik7CiBzaG91bGRCZSgibGVmdF9vZl9jZW50ZXJf
cGl4ZWwuZGF0YVsyXSAhPT0gMCIsICJ0cnVlIik7CiAKK2RlYnVnKCJUZXN0IHJlc3RvcmluZyBh
Y3R1YWxseSBjaGFuZ2VzIHNtb290aGluZyBhbmQgbm90IGp1c3QgdGhlIGF0dHJpYnV0ZSB2YWx1
ZS4gV2UgYXJlIHJlc3RvcmluZyB0byBhIHBvaW50IHdoZXJlIGltYWdlU21vb3RoaW5nRW5hYmxl
ZCBpcyBzZXQgdG8gZmFsc2UuIik7CitjdHgud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0g
ZmFsc2U7CitjdHguc2F2ZSgpOworY3R4LndlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZCA9IHRy
dWU7CitjdHgucmVzdG9yZSgpOworY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgY2FudmFzLndp
ZHRoLCBjYW52YXMuaGVpZ2h0KTsKK2xlZnRfb2ZfY2VudGVyX3BpeGVsID0gY3R4LmdldEltYWdl
RGF0YSgxLCAwLCAxLCAxKTsKK3Nob3VsZEJlKCJsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzBd
IiwgIjAiKTsKK3Nob3VsZEJlKCJsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzFdIiwgIjAiKTsK
K3Nob3VsZEJlKCJsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzJdIiwgIjAiKTsKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144938</attachid>
            <date>2012-05-30 15:26:05 -0700</date>
            <delta_ts>2012-05-31 07:32:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87853-20120530182604.patch</filename>
            <type>text/plain</type>
            <size>8563</size>
            <attacher name="Keyar Hood">keyar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJiMGIyMGE3MGY3OTJh
ZGY4ZDc0MjU3YzM4M2M2NjVlZTliMTRhZi4uMzkwZDA3ODBhMGI3OWRiNzVmZTVkMTI2NGI3MWQw
MWE4MDIwZjk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTMwICBLZXlh
ciBIb29kICA8a2V5YXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIHRoZSBpbWFnZVNtb290aGlu
Z0VuYWJsZWQgZmxhZyBuZWVkcyB0byBiZSBpbiB0aGUgc3RhdGUgb2JqZWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzg1MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZmFzdC9jYW52YXMv
Y2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC5odG1sIGluc3RlYWQgb2YKKyAgICAgICAgYWRk
aW5nIGEgbmV3IHRlc3QuCisKKyAgICAgICAgVGhlIGltYWdlU21vb3RoaW5nRW5hYmxlZCBmbGFn
IGlzIHNhdmVkIGluIHRoZSBkcmF3IHN0YXRlIG5vdy4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6U3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6b3BlcmF0b3I9KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6d2Via2l0SW1hZ2VTbW9v
dGhpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6c2V0V2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKKyAgICAgICAgKFN0YXRlKToKKwogMjAxMi0w
NS0zMCAgQWxleGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQWRkIHRyYWNlKCkgbWV0aG9kIHRvIHRoZSBXb3JrZXJDb25zb2xlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAppbmRleCA1NDMyMjFiZmI5Yzc4Yzg1ZTFmN2YzODM5OTljNjY0ZWYxNGUwZDUy
Li5jNjVhZjI0OGI3ODRkNzZkYzg1YTNiMmYyNGJiN2U3MWVkNjVkZWE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAKQEAgLTEyMCw3ICsxMjAsNiBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRChIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBibwogI2lmIEVOQUJM
RShEQVNIQk9BUkRfU1VQUE9SVCkKICAgICAsIG1fdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlKHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKICNlbmRpZgotICAgICwgbV9pbWFn
ZVNtb290aGluZ0VuYWJsZWQodHJ1ZSkKIHsKICNpZiAhRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JU
KQogICAgIEFTU0VSVF9VTlVTRUQodXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlLCAhdXNl
c0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKTsKQEAgLTE4MSw2ICsxODAsNyBAQCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OlN0YXRlOjpTdGF0ZSgpCiAgICAgLCBtX2dsb2JhbENvbXBvc2l0
ZShDb21wb3NpdGVTb3VyY2VPdmVyKQogICAgICwgbV9pbnZlcnRpYmxlQ1RNKHRydWUpCiAgICAg
LCBtX2xpbmVEYXNoT2Zmc2V0KDApCisgICAgLCBtX2ltYWdlU21vb3RoaW5nRW5hYmxlZCh0cnVl
KQogICAgICwgbV90ZXh0QWxpZ24oU3RhcnRUZXh0QWxpZ24pCiAgICAgLCBtX3RleHRCYXNlbGlu
ZShBbHBoYWJldGljVGV4dEJhc2VsaW5lKQogICAgICwgbV91bnBhcnNlZEZvbnQoZGVmYXVsdEZv
bnQpCkBAIC0yMDYsNiArMjA2LDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6
U3RhdGUoY29uc3QgU3RhdGUmIG90aGVyKQogICAgICwgbV90cmFuc2Zvcm0ob3RoZXIubV90cmFu
c2Zvcm0pCiAgICAgLCBtX2ludmVydGlibGVDVE0ob3RoZXIubV9pbnZlcnRpYmxlQ1RNKQogICAg
ICwgbV9saW5lRGFzaE9mZnNldChvdGhlci5tX2xpbmVEYXNoT2Zmc2V0KQorICAgICwgbV9pbWFn
ZVNtb290aGluZ0VuYWJsZWQob3RoZXIubV9pbWFnZVNtb290aGluZ0VuYWJsZWQpCiAgICAgLCBt
X3RleHRBbGlnbihvdGhlci5tX3RleHRBbGlnbikKICAgICAsIG1fdGV4dEJhc2VsaW5lKG90aGVy
Lm1fdGV4dEJhc2VsaW5lKQogICAgICwgbV91bnBhcnNlZEZvbnQob3RoZXIubV91bnBhcnNlZEZv
bnQpCkBAIC0yMzksNiArMjQwLDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZSYg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpTdGF0ZTo6b3BlcmF0b3I9KGNvbnMKICAgICBtX2ds
b2JhbENvbXBvc2l0ZSA9IG90aGVyLm1fZ2xvYmFsQ29tcG9zaXRlOwogICAgIG1fdHJhbnNmb3Jt
ID0gb3RoZXIubV90cmFuc2Zvcm07CiAgICAgbV9pbnZlcnRpYmxlQ1RNID0gb3RoZXIubV9pbnZl
cnRpYmxlQ1RNOworICAgIG1faW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gb3RoZXIubV9pbWFnZVNt
b290aGluZ0VuYWJsZWQ7CiAgICAgbV90ZXh0QWxpZ24gPSBvdGhlci5tX3RleHRBbGlnbjsKICAg
ICBtX3RleHRCYXNlbGluZSA9IG90aGVyLm1fdGV4dEJhc2VsaW5lOwogICAgIG1fdW5wYXJzZWRG
b250ID0gb3RoZXIubV91bnBhcnNlZEZvbnQ7CkBAIC0yMjY4LDE2ICsyMjcwLDE3IEBAIFBsYXRm
b3JtTGF5ZXIqIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6cGxhdGZvcm1MYXllcigpIGNvbnN0
CiAKIGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjp3ZWJraXRJbWFnZVNtb290aGluZ0Vu
YWJsZWQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ltYWdlU21vb3RoaW5nRW5hYmxlZDsKKyAg
ICByZXR1cm4gc3RhdGUoKS5tX2ltYWdlU21vb3RoaW5nRW5hYmxlZDsKIH0KIAogdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFdlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZChib29s
IGVuYWJsZWQpCiB7Ci0gICAgaWYgKGVuYWJsZWQgPT0gbV9pbWFnZVNtb290aGluZ0VuYWJsZWQp
CisgICAgaWYgKGVuYWJsZWQgPT0gc3RhdGUoKS5tX2ltYWdlU21vb3RoaW5nRW5hYmxlZCkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgcmVhbGl6ZVNhdmVzKCk7CisgICAgbW9kaWZpYWJsZVN0YXRl
KCkubV9pbWFnZVNtb290aGluZ0VuYWJsZWQgPSBlbmFibGVkOwogICAgIGRyYXdpbmdDb250ZXh0
KCktPnNldEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoZW5hYmxlZCA/IERlZmF1bHRJbnRlcnBv
bGF0aW9uUXVhbGl0eSA6IEludGVycG9sYXRpb25Ob25lKTsKLSAgICBtX2ltYWdlU21vb3RoaW5n
RW5hYmxlZCA9IGVuYWJsZWQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgK
aW5kZXggYzEwOWFlN2QyZWRhMjM5Njc0OTc2MTVkOWY0Mzk0YTIwMTEzOWZiMi4uYmZhOWE4OGI5
MDBlMjZkMTYwNzU4MDhjMGZiNTg2ZGY5ZmM1NmZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKQEAgLTI1Miw2ICsy
NTIsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1faW52ZXJ0aWJsZUNUTTsKICAgICAgICAg
RGFzaEFycmF5IG1fbGluZURhc2g7CiAgICAgICAgIGZsb2F0IG1fbGluZURhc2hPZmZzZXQ7Cisg
ICAgICAgIGJvb2wgbV9pbWFnZVNtb290aGluZ0VuYWJsZWQ7CiAKICAgICAgICAgLy8gVGV4dCBz
dGF0ZS4KICAgICAgICAgVGV4dEFsaWduIG1fdGV4dEFsaWduOwpAQCAtMzM2LDcgKzMzNyw2IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIGJvb2wgbV91c2Vz
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGU7CiAjZW5kaWYKLSAgICBib29sIG1faW1hZ2VTbW9v
dGhpbmdFbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQzMTMw
MWIwOTgwYTViNGQ5M2ZlN2NhNGQ3NThkZmNhZTg2Zjc2ZTUuLjMxNzU5ZTM5NzRiMTYxNDI2Mzg2
NDg3NzAwODg3ODY0OTQ0NzhiNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0zMCAg
S2V5YXIgSG9vZCAgPGtleWFyQGNocm9taXVtLm9yZz4KKworICAgICAgICB0aGUgaW1hZ2VTbW9v
dGhpbmdFbmFibGVkIGZsYWcgbmVlZHMgdG8gYmUgaW4gdGhlIHN0YXRlIG9iamVjdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc4NTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHRoZSB0ZXN0
IGZvciBpbWFnZVNtb290aGluZ0VuYWJsZWQgdG8gdGVzdCB0aGF0IGl0IGlzIHNhdmVkIGluCisg
ICAgICAgIHRoZSBkcmF3IHN0YXRlLgorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWlt
YWdlU21vb3RoaW5nRW5hYmxlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy1pbWFnZVNtb290aGluZ0VuYWJsZWQuanM6CisKIDIwMTItMDUt
MzAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpbGUu
bGFzdE1vZGlmaWVkRGF0ZSBtdXN0IHJldHVybiBudWxsIGlmIHRoZSBtb2RpZmllZCB0aW1lIGlu
Zm8gaXMgbm90IGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLWV4cGVjdGVkLnR4dAppbmRl
eCBlM2Q4NTU4ZDE3NDgwZWY1NjcwY2FlNGYzODUwYWYxOTk1NWYxMWNhLi4zOTgwYjU2OGMxYTcy
YzVhZjlmZGVjYzU2OTM0NTdlMjMzMzI1ZTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtaW1hZ2VTbW9vdGhpbmdFbmFibGVkLWV4cGVj
dGVkLnR4dApAQCAtNyw2ICs3LDggQEAgVGVzdCB0aGF0IHRoZSBkZWZhdWx0IHZhbHVlIGlzIHRy
dWUuCiBQQVNTIGN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgaXMgdHJ1ZQogVGVzdCB0
aGF0IGZhbHNlIGlzIHJldHVybmVkIGFmdGVyIGEgdGhlIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFs
c2UuCiBQQVNTIGN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgaXMgZmFsc2UKK1Rlc3Qg
dGhhdCByZXN0b3JlIHdvcmtzLiBXZSBzYXZlIGEgZmFsc2Ugc3RhdGU7IGNyZWF0ZSwgdGhlbiBz
YXZlIGEgdHJ1ZSBzdGF0ZTsgYW5kIHRoZW4gZmluYWxseSByZXN0b3JlLgorUEFTUyBjdHgud2Vi
a2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkIGlzIGZhbHNlCiBOZXcgY2FudmFzIGVsZW1lbnQgY3Jl
YXRlZC4KIFRlc3QgdGhhdCB0aGUgaW1hZ2UgaXMgc21vb3RoZWQgYnkgZGVmYXVsdC4gV2UgY2hl
Y2sgYnkgbWFraW5nIHN1cmUgdGhlIHBpeGVsIGp1c3QgdG8gdGhlIGxlZnQgb2YgdGhlIG1pZGRs
ZSBsaW5lIGlzIG5vdCBjb21wbGV0ZWx5IGJsYWNrLgogUEFTUyBsZWZ0X29mX2NlbnRlcl9waXhl
bC5kYXRhWzBdICE9PSAwIGlzIHRydWUKQEAgLTIwLDYgKzIyLDEwIEBAIFRlc3QgdGhhdCB0aGUg
aW1hZ2UgaXMgc21vb3RoZWQgd2hlbiBpbWFnZVNtb290aGluZ0VuYWJsZWQgaXMgc2V0IHRvIHRy
dWUuCiBQQVNTIGxlZnRfb2ZfY2VudGVyX3BpeGVsLmRhdGFbMF0gIT09IDAgaXMgdHJ1ZQogUEFT
UyBsZWZ0X29mX2NlbnRlcl9waXhlbC5kYXRhWzFdICE9PSAwIGlzIHRydWUKIFBBU1MgbGVmdF9v
Zl9jZW50ZXJfcGl4ZWwuZGF0YVsyXSAhPT0gMCBpcyB0cnVlCitUZXN0IHRoYXQgcmVzdG9yaW5n
IGFjdHVhbGx5IGNoYW5nZXMgc21vb3RoaW5nIGFuZCBub3QganVzdCB0aGUgYXR0cmlidXRlIHZh
bHVlLiBXZSBhcmUgcmVzdG9yaW5nIHRvIGEgcG9pbnQgd2hlcmUgaW1hZ2VTbW9vdGhpbmdFbmFi
bGVkIGlzIHNldCB0byBmYWxzZS4KK1BBU1MgbGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVswXSBp
cyAwCitQQVNTIGxlZnRfb2ZfY2VudGVyX3BpeGVsLmRhdGFbMV0gaXMgMAorUEFTUyBsZWZ0X29m
X2NlbnRlcl9waXhlbC5kYXRhWzJdIGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy1pbWFnZVNtb290aGluZ0VuYWJsZWQuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC5q
cwppbmRleCBlYjc4MjZhZWRkMjc5ODQyMjAzNjcyMWVhN2MzYTJjMjQyYmQ0NDg3Li45OTZmNzgy
Y2U4YWQ2ODBjMTU4MjJiZjEyZDc1MmJmNWI1NWQ4ODVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWltYWdlU21vb3RoaW5nRW5hYmxlZC5q
cworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWltYWdl
U21vb3RoaW5nRW5hYmxlZC5qcwpAQCAtOCw2ICs4LDEyIEBAIGRlYnVnKCJUZXN0IHRoYXQgZmFs
c2UgaXMgcmV0dXJuZWQgYWZ0ZXIgYSB0aGUgYXR0cmlidXRlIGlzIHNldCB0byBmYWxzZS4iKTsK
IGN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBmYWxzZTsKIHNob3VsZEJlKCJjdHgu
d2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkIiwgImZhbHNlIik7CiAKK2RlYnVnKCJUZXN0IHRo
YXQgcmVzdG9yZSB3b3Jrcy4gV2Ugc2F2ZSBhIGZhbHNlIHN0YXRlOyBjcmVhdGUsIHRoZW4gc2F2
ZSBhIHRydWUgc3RhdGU7IGFuZCB0aGVuIGZpbmFsbHkgcmVzdG9yZS4iKTsKK2N0eC5zYXZlKCk7
CitjdHgud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gdHJ1ZTsKK2N0eC5yZXN0b3JlKCk7
CitzaG91bGRCZSgiY3R4LndlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZCIsICJmYWxzZSIpOwor
CiB2YXIgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKIGltYWdlLndp
ZHRoID0gMjsKIGltYWdlLmhlaWdodCA9IDE7CkBAIC01OSwzICs2NSwxNCBAQCBzaG91bGRCZSgi
bGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVswXSAhPT0gMCIsICJ0cnVlIik7CiBzaG91bGRCZSgi
bGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsxXSAhPT0gMCIsICJ0cnVlIik7CiBzaG91bGRCZSgi
bGVmdF9vZl9jZW50ZXJfcGl4ZWwuZGF0YVsyXSAhPT0gMCIsICJ0cnVlIik7CiAKK2RlYnVnKCJU
ZXN0IHRoYXQgcmVzdG9yaW5nIGFjdHVhbGx5IGNoYW5nZXMgc21vb3RoaW5nIGFuZCBub3QganVz
dCB0aGUgYXR0cmlidXRlIHZhbHVlLiBXZSBhcmUgcmVzdG9yaW5nIHRvIGEgcG9pbnQgd2hlcmUg
aW1hZ2VTbW9vdGhpbmdFbmFibGVkIGlzIHNldCB0byBmYWxzZS4iKTsKK2N0eC53ZWJraXRJbWFn
ZVNtb290aGluZ0VuYWJsZWQgPSBmYWxzZTsKK2N0eC5zYXZlKCk7CitjdHgud2Via2l0SW1hZ2VT
bW9vdGhpbmdFbmFibGVkID0gdHJ1ZTsKK2N0eC5yZXN0b3JlKCk7CitjdHguZHJhd0ltYWdlKGlt
YWdlLCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworbGVmdF9vZl9jZW50ZXJf
cGl4ZWwgPSBjdHguZ2V0SW1hZ2VEYXRhKDEsIDAsIDEsIDEpOworc2hvdWxkQmUoImxlZnRfb2Zf
Y2VudGVyX3BpeGVsLmRhdGFbMF0iLCAiMCIpOworc2hvdWxkQmUoImxlZnRfb2ZfY2VudGVyX3Bp
eGVsLmRhdGFbMV0iLCAiMCIpOworc2hvdWxkQmUoImxlZnRfb2ZfY2VudGVyX3BpeGVsLmRhdGFb
Ml0iLCAiMCIpOworCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>