<?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>51279</bug_id>
          
          <creation_ts>2010-12-17 15:48:46 -0800</creation_ts>
          <short_desc>Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces</short_desc>
          <delta_ts>2010-12-23 11:58:35 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</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="Matthew Delaney">mdelaney7</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>324022</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-17 15:48:46 -0800</bug_when>
    <thetext>Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324024</commentid>
    <comment_count>1</comment_count>
      <attachid>76922</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-17 15:54:41 -0800</bug_when>
    <thetext>Created attachment 76922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324025</commentid>
    <comment_count>2</comment_count>
      <attachid>76922</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-17 15:59:36 -0800</bug_when>
    <thetext>Comment on attachment 76922
Patch

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

&gt; WebCore/ChangeLog:9
&gt; +        No new tests. Current canvas layout tests sufficient.

If you&apos;re fixing a bug here, that&apos;s not true.

&gt; WebCore/platform/graphics/ImageBuffer.h:43
&gt; -#define USE_IOSURFACE 1
&gt; +#define WTF_USE_IOSURFACE 1

USE(IOSURFACE) is too vague when read out of context. It should be something like USE(IOSURFACE_CANVAS_BACKING_STORE) or something.

It&apos;s also rare, not not unknown, to #define a WTF macro outside of config.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325587</commentid>
    <comment_count>3</comment_count>
      <attachid>77240</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-22 11:11:27 -0800</bug_when>
    <thetext>Created attachment 77240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325596</commentid>
    <comment_count>4</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-22 11:21:38 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 76922 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76922&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:9
&gt; &gt; +        No new tests. Current canvas layout tests sufficient.
&gt; 
&gt; If you&apos;re fixing a bug here, that&apos;s not true.

Sorry, I should have pointed it out amongst all the similarly looking find-and-replace lines of the USE(IOSurface) renaming. This new patch has just the fix and I&apos;ll put the renaming in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325692</commentid>
    <comment_count>5</comment_count>
      <attachid>77240</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-22 14:16:54 -0800</bug_when>
    <thetext>Comment on attachment 77240
Patch

There is certainly a behavior change here, so it should be testable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325787</commentid>
    <comment_count>6</comment_count>
      <attachid>77275</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-22 16:39:34 -0800</bug_when>
    <thetext>Created attachment 77275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325791</commentid>
    <comment_count>7</comment_count>
      <attachid>77275</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-22 16:50:02 -0800</bug_when>
    <thetext>Comment on attachment 77275
Patch

We don&apos;t tend to use interCaps for layout test files. Please rename it to accelerated-canvas-compositing.html

Also add a few words to the text file to say what is being tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325826</commentid>
    <comment_count>8</comment_count>
      <attachid>77288</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-22 18:07:11 -0800</bug_when>
    <thetext>Created attachment 77288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325882</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 21:00:11 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 77288:

fast/history/history-subframe-with-name.html bug 51039 (author: mihaip@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325883</commentid>
    <comment_count>10</comment_count>
      <attachid>77288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 21:01:22 -0800</bug_when>
    <thetext>Comment on attachment 77288
Patch

Rejecting attachment 77288 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--ignore-builders&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 77288]&quot; exit_code: 2
Last 500 characters of output:
file
svnlook: Path &apos;trunk/LayoutTests/platform/mac-snowleopard/platform/mac/compositing/canvas&apos; is not a file

    The following files contain tab characters:

        trunk/LayoutTests/platform/mac/compositing/canvas/accelerated-canvas-compositing.html

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
 at /usr/local/git/libexec/git-core/git-svn line 573


Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7307122</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326192</commentid>
    <comment_count>11</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-23 11:58:35 -0800</bug_when>
    <thetext>Committed r74570: &lt;http://trac.webkit.org/changeset/74570&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76922</attachid>
            <date>2010-12-17 15:54:41 -0800</date>
            <delta_ts>2010-12-22 11:11:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51279-20101217155437.patch</filename>
            <type>text/plain</type>
            <size>6884</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDMwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTItMTcgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgc2V0TmVlZHNTdHlsZVJlY2FsYyBmb3IgZ2V0dGluZyBjYW52YXMgY29udGV4dHMgdGhh
dCB1c2UgSU9TdXJmYWNlcworICAgICAgICBUaGlzIHBhdGNoIGFsc28gY2hhbmdlcyBVU0VfSU9T
VVJGQUNFIHRvIGluc3RlYWQgZm9sbG93IFVTRShJT1NVUkZBQ0UpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTI3OQorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4gQ3VycmVudCBjYW52YXMgbGF5b3V0IHRlc3RzIHN1ZmZpY2llbnQuCisKKyAgICAgICAg
KiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDogRm9yIElPU3VyZmFjZSwgdXNlIHNldE5lZWRz
U3R5bGVSZWNhbGMKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuY3BwOiBVc2UgbmV3IGZsYWcKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1
ZmZlci5oOiBVc2UgbmV3IGZsYWcKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckNHLmNwcDogVXNlIG5ldyBmbGFnCisKIDIwMTAtMTItMTcgIENhcm9sIFN6YWJvICA8
Y2Fyb2wuc3phYm9Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiA3NDI5NSkKKysr
IFdlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
Nyw3ICsxNTcsNyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVuCiAg
ICAgICAgICAgICAgICAgdXNlc0Rhc2hiYXJkQ29tcGF0aWJpbGl0eU1vZGUgPSBzZXR0aW5ncy0+
dXNlc0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKTsKICNlbmRpZgogICAgICAg
ICAgICAgbV9jb250ZXh0ID0gYWRvcHRQdHIobmV3IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCh0
aGlzLCBkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgdXNlc0Rhc2hiYXJkQ29tcGF0aWJpbGl0
eU1vZGUpKTsKLSNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCisjaWYgVVNFKElPU1VSRkFDRSkgfHwgKEVOQUJMRShBQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICYmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykpCiAgICAgICAg
ICAgICBpZiAobV9jb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgLy8gTmVlZCB0byBtYWtlIHN1
cmUgYSBSZW5kZXJMYXllciBhbmQgY29tcG9zaXRpbmcgbGF5ZXIgZ2V0IGNyZWF0ZWQgZm9yIHRo
ZSBDYW52YXMKICAgICAgICAgICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKFN5bnRoZXRpY1N0
eWxlQ2hhbmdlKTsKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxDYW52YXNFbGVtZW50Ojpj
cmVhdGVJbWFnZUJ1ZmZlCiAgICAgaWYgKCFzaXplLndpZHRoKCkgfHwgIXNpemUuaGVpZ2h0KCkp
CiAgICAgICAgIHJldHVybjsKIAotI2lmIGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0Uo
SU9TVVJGQUNFKQogICAgIG1faW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUs
IENvbG9yU3BhY2VEZXZpY2VSR0IsIEFjY2VsZXJhdGVkKTsKICNlbHNlCiAgICAgbV9pbWFnZUJ1
ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3NDI5NSkK
KysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTQ0LDcgKzE0NCw3IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
fkNhbnZhc1JlbmRlcmkKIAogYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmlzQWNjZWxl
cmF0ZWQoKSBjb25zdAogewotI2lmIGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9T
VVJGQUNFKQogICAgIHJldHVybiB0cnVlOwogI2VsaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NB
TlZBUykKICAgICByZXR1cm4gbV9jb250ZXh0M0Q7CkBAIC0xODIzLDcgKzE4MjMsNyBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAgICAgICAgIC8vIEZJWE1FOiBU
aGUgcmVjdCBpcyBub3QgYmlnIGVub3VnaCBmb3IgbWl0ZXJzIG9uIHN0cm9rZWQgdGV4dC4KICAg
ICAgICAgSW50UmVjdCBtYXNrUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QodGV4dFJlY3QpOwogCi0j
aWYgZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAgIE93
blB0cjxJbWFnZUJ1ZmZlcj4gbWFza0ltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShtYXNrUmVj
dC5zaXplKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIEFjY2VsZXJhdGVkKTsKICNlbHNlCiAgICAg
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbWFza0ltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSht
YXNrUmVjdC5zaXplKCkpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1
ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXIuaAkocmV2aXNpb24gNzQyOTUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAKICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgUExBVEZPUk0oQ0EpICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpKQotI2RlZmluZSBVU0VfSU9T
VVJGQUNFIDEKKyNkZWZpbmUgV1RGX1VTRV9JT1NVUkZBQ0UgMQogI2VuZGlmCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZm
ZXJDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckNHLmNwcAkocmV2aXNpb24gNzQyOTUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBA
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPG1hdGguaD4KIAotI2lmIGRl
ZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFKQogI2luY2x1ZGUgPElPU3Vy
ZmFjZS9JT1N1cmZhY2UuaD4KICNlbmRpZgogCkBAIC01NCw3ICs1NCw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIGRlZmluZWQoVVNFX0lPU1VS
RkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFKQogc3RhdGljIFJldGFpblB0cjxJT1N1cmZhY2VSZWY+
IGNyZWF0ZUlPU3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplKQogewogICAgIHVuc2lnbmVkIHBp
eGVsRm9ybWF0ID0gJ0JHUkEnOwpAQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyB2b2lkIHJlbGVh
c2VJbWFnZURhdGEodm9pZCosIGNvbnMKIAogSW1hZ2VCdWZmZXJEYXRhOjpJbWFnZUJ1ZmZlckRh
dGEoY29uc3QgSW50U2l6ZSYpCiAgICAgOiBtX2RhdGEoMCkKLSNpZiBkZWZpbmVkKFVTRV9JT1NV
UkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRSkKICAgICAsIG1fc3VyZmFjZSgwKQogI2VuZGlmCiB7
CkBAIC0xMTEsNyArMTExLDcgQEAgSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKGNvbnN0IEludFNp
emUmIAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2FjY2VsZXJhdGVSZW5kZXJpbmcocmVu
ZGVyaW5nTW9kZSA9PSBBY2NlbGVyYXRlZCkKIHsKLSNpZiAhZGVmaW5lZChVU0VfSU9TVVJGQUNF
KQorI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgQVNTRVJUKHJlbmRlcmluZ01vZGUgPT0gVW5hY2Nl
bGVyYXRlZCk7CiAjZW5kaWYKICAgICBzdWNjZXNzID0gZmFsc2U7ICAvLyBNYWtlIGVhcmx5IHJl
dHVybiBtZWFuIGZhaWx1cmUuCkBAIC0xNDgsNyArMTQ4LDcgQEAgSW1hZ2VCdWZmZXI6OkltYWdl
QnVmZmVyKGNvbnN0IEludFNpemUmIAogICAgICAgICAvLyBDcmVhdGUgYSBsaXZlIGltYWdlIHRo
YXQgd3JhcHMgdGhlIGRhdGEuCiAgICAgICAgIG1fZGF0YS5tX2RhdGFQcm92aWRlci5hZG9wdENG
KENHRGF0YVByb3ZpZGVyQ3JlYXRlV2l0aERhdGEoMCwgbV9kYXRhLm1fZGF0YSwgZGF0YVNpemUs
IHJlbGVhc2VJbWFnZURhdGEpKTsKICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoVVNFX0lPU1VS
RkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFKQogICAgICAgICBtX2RhdGEubV9zdXJmYWNlID0gY3Jl
YXRlSU9TdXJmYWNlKHNpemUpOwogICAgICAgICBjZ0NvbnRleHQuYWRvcHRDRih3a0lPU3VyZmFj
ZUNvbnRleHRDcmVhdGUobV9kYXRhLm1fc3VyZmFjZS5nZXQoKSwgc2l6ZS53aWR0aCgpLCBzaXpl
LmhlaWdodCgpLCBtX2RhdGEubV9jb2xvclNwYWNlKSk7CiAjZWxzZQpAQCAtMTg1LDcgKzE4NSw3
IEBAIFBhc3NSZWZQdHI8SW1hZ2U+IEltYWdlQnVmZmVyOjpjb3B5SW1hZ2UKICAgICBDR0ltYWdl
UmVmIGN0eEltYWdlID0gMDsKICAgICBpZiAoIW1fYWNjZWxlcmF0ZVJlbmRlcmluZykKICAgICAg
ICAgY3R4SW1hZ2UgPSBDR0JpdG1hcENvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0KCktPnBsYXRm
b3JtQ29udGV4dCgpKTsKLSNpZiBkZWZpbmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VS
RkFDRSkKICAgICBlbHNlCiAgICAgICAgIGN0eEltYWdlID0gd2tJT1N1cmZhY2VDb250ZXh0Q3Jl
YXRlSW1hZ2UoY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKSk7CiAjZW5kaWYKQEAgLTI0MSw3
ICsyNDEsNyBAQCB2b2lkIEltYWdlQnVmZmVyOjpjbGlwKEdyYXBoaWNzQ29udGV4dCogCiAgICAg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlOwogICAgIGlmICghbV9hY2NlbGVyYXRlUmVuZGVy
aW5nKQogICAgICAgICBpbWFnZS5hZG9wdENGKGNnSW1hZ2UobV9zaXplLCBtX2RhdGEpKTsKLSNp
ZiBkZWZpbmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRSkKICAgICBlbHNlCiAg
ICAgICAgIGltYWdlLmFkb3B0Q0Yod2tJT1N1cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2UocGxhdGZv
cm1Db250ZXh0KSk7CiAjZW5kaWYKQEAgLTMwOSw3ICszMDksNyBAQCBQYXNzUmVmUHRyPEltYWdl
RGF0YT4gZ2V0SW1hZ2VEYXRhKGNvbnN0CiAgICAgICAgICAgICBkZXN0Um93cyArPSBkZXN0Qnl0
ZXNQZXJSb3c7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoVVNFX0lPU1VS
RkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFKQogICAgICAgICBJT1N1cmZhY2VSZWYgc3VyZmFjZSA9
IGltYWdlRGF0YS5tX3N1cmZhY2UuZ2V0KCk7CiAgICAgICAgIElPU3VyZmFjZUxvY2soc3VyZmFj
ZSwga0lPU3VyZmFjZUxvY2tSZWFkT25seSwgMCk7CiAgICAgICAgIHNyY0J5dGVzUGVyUm93ID0g
SU9TdXJmYWNlR2V0Qnl0ZXNQZXJSb3coc3VyZmFjZSk7CkBAIC00MTAsNyArNDEwLDcgQEAgdm9p
ZCBwdXRJbWFnZURhdGEoSW1hZ2VEYXRhKiYgc291cmNlLCBjbwogICAgICAgICAgICAgc3JjUm93
cyArPSBzcmNCeXRlc1BlclJvdzsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0jaWYgZGVmaW5l
ZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAgIElPU3VyZmFjZVJl
ZiBzdXJmYWNlID0gaW1hZ2VEYXRhLm1fc3VyZmFjZS5nZXQoKTsKICAgICAgICAgSU9TdXJmYWNl
TG9jayhzdXJmYWNlLCAwLCAwKTsKICAgICAgICAgZGVzdEJ5dGVzUGVyUm93ID0gSU9TdXJmYWNl
R2V0Qnl0ZXNQZXJSb3coc3VyZmFjZSk7CkBAIC00OTYsNyArNDk2LDcgQEAgU3RyaW5nIEltYWdl
QnVmZmVyOjp0b0RhdGFVUkwoY29uc3QgU3RyaQogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBp
bWFnZTsKICAgICBpZiAoIW1fYWNjZWxlcmF0ZVJlbmRlcmluZykKICAgICAgICAgaW1hZ2UuYWRv
cHRDRihDR0JpdG1hcENvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0KCktPnBsYXRmb3JtQ29udGV4
dCgpKSk7Ci0jaWYgZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0UpCiAg
ICAgZWxzZQogICAgICAgICBpbWFnZS5hZG9wdENGKHdrSU9TdXJmYWNlQ29udGV4dENyZWF0ZUlt
YWdlKGNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCkpKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77240</attachid>
            <date>2010-12-22 11:11:27 -0800</date>
            <delta_ts>2010-12-22 16:39:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51279-20101222111130.patch</filename>
            <type>text/plain</type>
            <size>1541</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDQ4NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMjIgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgc2V0TmVlZHNTdHlsZVJlY2FsYyBmb3IgZ2V0dGluZyBjYW52YXMgY29udGV4dHMgdGhh
dCB1c2UgSU9TdXJmYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTEyNzkKKworICAgICAgICBObyBuZXcgdGVzdHMuIFVzdWFsIGNhbnZhcyBsYXlv
dXRzIHRlc3RzIHN1ZmZpY2llbnQuCisKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToK
KwogMjAxMC0xMi0yMSAgVmFuZ2VsaXMgS29ra2V2aXMgIDx2YW5nZWxpc0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiA3NDM1NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw3ICsxNTcsNyBAQCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVuCiAgICAgICAgICAgICAgICAgdXNl
c0Rhc2hiYXJkQ29tcGF0aWJpbGl0eU1vZGUgPSBzZXR0aW5ncy0+dXNlc0Rhc2hib2FyZEJhY2t3
YXJkQ29tcGF0aWJpbGl0eU1vZGUoKTsKICNlbmRpZgogICAgICAgICAgICAgbV9jb250ZXh0ID0g
YWRvcHRQdHIobmV3IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCh0aGlzLCBkb2N1bWVudCgpLT5p
blF1aXJrc01vZGUoKSwgdXNlc0Rhc2hiYXJkQ29tcGF0aWJpbGl0eU1vZGUpKTsKLSNpZiBFTkFC
TEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CisjaWYgZGVmaW5lZChVU0VfSU9TVVJGQUNFKSB8fCAoRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJiYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSkKICAgICAgICAgICAgIGlmICht
X2NvbnRleHQpIHsKICAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIG1ha2Ugc3VyZSBhIFJlbmRl
ckxheWVyIGFuZCBjb21wb3NpdGluZyBsYXllciBnZXQgY3JlYXRlZCBmb3IgdGhlIENhbnZhcwog
ICAgICAgICAgICAgICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoU3ludGhldGljU3R5bGVDaGFuZ2Up
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77275</attachid>
            <date>2010-12-22 16:39:34 -0800</date>
            <delta_ts>2010-12-22 18:07:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51279-20101222163933.patch</filename>
            <type>text/plain</type>
            <size>9464</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkocmV2aXNpb24gNzQ0MjApCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcs
NyArMTU3LDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZhc0VsZW1lbgogICAg
ICAgICAgICAgICAgIHVzZXNEYXNoYmFyZENvbXBhdGliaWxpdHlNb2RlID0gc2V0dGluZ3MtPnVz
ZXNEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCk7CiAjZW5kaWYKICAgICAgICAg
ICAgIG1fY29udGV4dCA9IGFkb3B0UHRyKG5ldyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQodGhp
cywgZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIHVzZXNEYXNoYmFyZENvbXBhdGliaWxpdHlN
b2RlKSk7Ci0jaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJiYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQorI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUp
IHx8IChFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpKQogICAgICAgICAgICAgaWYgKG1fY29udGV4dCkgewogICAgICAgICAgICAgICAg
IC8vIE5lZWQgdG8gbWFrZSBzdXJlIGEgUmVuZGVyTGF5ZXIgYW5kIGNvbXBvc2l0aW5nIGxheWVy
IGdldCBjcmVhdGVkIGZvciB0aGUgQ2FudmFzCiAgICAgICAgICAgICAgICAgc2V0TmVlZHNTdHls
ZVJlY2FsYyhTeW50aGV0aWNTdHlsZUNoYW5nZSk7CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBI
VE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlSW1hZ2VCdWZmZQogICAgIGlmICghc2l6ZS53aWR0aCgp
IHx8ICFzaXplLmhlaWdodCgpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBkZWZpbmVkKFVTRV9J
T1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKICAgICBt
X2ltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBDb2xvclNwYWNlRGV2aWNl
UkdCLCBBY2NlbGVyYXRlZCk7CiAjZWxzZQogICAgIG1faW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHNpemUpOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24gNzQ0MjApCisrKyBXZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0
NCw3ICsxNDQsNyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6On5DYW52YXNSZW5kZXJpCiAK
IGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjppc0FjY2VsZXJhdGVkKCkgY29uc3QKIHsK
LSNpZiBkZWZpbmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFD
S0lOR19TVE9SRSkKICAgICByZXR1cm4gdHJ1ZTsKICNlbGlmIEVOQUJMRShBQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpCiAgICAgcmV0dXJuIG1fY29udGV4dDNEOwpAQCAtMTgyMyw3ICsxODIzLDcgQEAg
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgICAgICAvLyBGSVhN
RTogVGhlIHJlY3QgaXMgbm90IGJpZyBlbm91Z2ggZm9yIG1pdGVycyBvbiBzdHJva2VkIHRleHQu
CiAgICAgICAgIEludFJlY3QgbWFza1JlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHRleHRSZWN0KTsK
IAotI2lmIGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19C
QUNLSU5HX1NUT1JFKQogICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1hc2tJbWFnZSA9IElt
YWdlQnVmZmVyOjpjcmVhdGUobWFza1JlY3Quc2l6ZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBB
Y2NlbGVyYXRlZCk7CiAjZWxzZQogICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1hc2tJbWFn
ZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUobWFza1JlY3Quc2l6ZSgpKTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgJKHJldmlzaW9uIDc0NDIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3
ICs0MCw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogI2lmIChQTEFURk9STShN
QUMpICYmIFBMQVRGT1JNKENBKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19M
RU9QQVJEKSkKLSNkZWZpbmUgVVNFX0lPU1VSRkFDRSAxCisjZGVmaW5lIFdURl9VU0VfSU9TVVJG
QUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFIDEKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5j
cHAJKHJldmlzaW9uIDc0NDIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxtYXRoLmg+CiAKLSNpZiBkZWZpbmVkKFVTRV9J
T1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKICNpbmNs
dWRlIDxJT1N1cmZhY2UvSU9TdXJmYWNlLmg+CiAjZW5kaWYKIApAQCAtNTQsNyArNTQsNyBAQCB1
c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBkZWZpbmVk
KFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkK
IHN0YXRpYyBSZXRhaW5QdHI8SU9TdXJmYWNlUmVmPiBjcmVhdGVJT1N1cmZhY2UoY29uc3QgSW50
U2l6ZSYgc2l6ZSkKIHsKICAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCA9ICdCR1JBJzsKQEAgLTEw
MCw3ICsxMDAsNyBAQCBzdGF0aWMgdm9pZCByZWxlYXNlSW1hZ2VEYXRhKHZvaWQqLCBjb25zCiAK
IEltYWdlQnVmZmVyRGF0YTo6SW1hZ2VCdWZmZXJEYXRhKGNvbnN0IEludFNpemUmKQogICAgIDog
bV9kYXRhKDApCi0jaWYgZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0Vf
Q0FOVkFTX0JBQ0tJTkdfU1RPUkUpCiAgICAgLCBtX3N1cmZhY2UoMCkKICNlbmRpZgogewpAQCAt
MTExLDcgKzExMSw3IEBAIEltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcihjb25zdCBJbnRTaXplJiAK
ICAgICAsIG1fc2l6ZShzaXplKQogICAgICwgbV9hY2NlbGVyYXRlUmVuZGVyaW5nKHJlbmRlcmlu
Z01vZGUgPT0gQWNjZWxlcmF0ZWQpCiB7Ci0jaWYgIWRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNp
ZiAhVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKICAgICBBU1NFUlQocmVuZGVy
aW5nTW9kZSA9PSBVbmFjY2VsZXJhdGVkKTsKICNlbmRpZgogICAgIHN1Y2Nlc3MgPSBmYWxzZTsg
IC8vIE1ha2UgZWFybHkgcmV0dXJuIG1lYW4gZmFpbHVyZS4KQEAgLTE0OCw3ICsxNDgsNyBAQCBJ
bWFnZUJ1ZmZlcjo6SW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6ZSYgCiAgICAgICAgIC8vIENyZWF0
ZSBhIGxpdmUgaW1hZ2UgdGhhdCB3cmFwcyB0aGUgZGF0YS4KICAgICAgICAgbV9kYXRhLm1fZGF0
YVByb3ZpZGVyLmFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVhdGVXaXRoRGF0YSgwLCBtX2RhdGEu
bV9kYXRhLCBkYXRhU2l6ZSwgcmVsZWFzZUltYWdlRGF0YSkpOwogICAgIH0gZWxzZSB7Ci0jaWYg
ZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdf
U1RPUkUpCiAgICAgICAgIG1fZGF0YS5tX3N1cmZhY2UgPSBjcmVhdGVJT1N1cmZhY2Uoc2l6ZSk7
CiAgICAgICAgIGNnQ29udGV4dC5hZG9wdENGKHdrSU9TdXJmYWNlQ29udGV4dENyZWF0ZShtX2Rh
dGEubV9zdXJmYWNlLmdldCgpLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIG1fZGF0YS5t
X2NvbG9yU3BhY2UpKTsKICNlbHNlCkBAIC0xODUsNyArMTg1LDcgQEAgUGFzc1JlZlB0cjxJbWFn
ZT4gSW1hZ2VCdWZmZXI6OmNvcHlJbWFnZQogICAgIENHSW1hZ2VSZWYgY3R4SW1hZ2UgPSAwOwog
ICAgIGlmICghbV9hY2NlbGVyYXRlUmVuZGVyaW5nKQogICAgICAgICBjdHhJbWFnZSA9IENHQml0
bWFwQ29udGV4dENyZWF0ZUltYWdlKGNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCkpOwotI2lm
IGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5H
X1NUT1JFKQogICAgIGVsc2UKICAgICAgICAgY3R4SW1hZ2UgPSB3a0lPU3VyZmFjZUNvbnRleHRD
cmVhdGVJbWFnZShjb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpKTsKICNlbmRpZgpAQCAtMjQx
LDcgKzI0MSw3IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OmNsaXAoR3JhcGhpY3NDb250ZXh0KiAKICAg
ICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2U7CiAgICAgaWYgKCFtX2FjY2VsZXJhdGVSZW5k
ZXJpbmcpCiAgICAgICAgIGltYWdlLmFkb3B0Q0YoY2dJbWFnZShtX3NpemUsIG1fZGF0YSkpOwot
I2lmIGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNL
SU5HX1NUT1JFKQogICAgIGVsc2UKICAgICAgICAgaW1hZ2UuYWRvcHRDRih3a0lPU3VyZmFjZUNv
bnRleHRDcmVhdGVJbWFnZShwbGF0Zm9ybUNvbnRleHQpKTsKICNlbmRpZgpAQCAtMzA5LDcgKzMw
OSw3IEBAIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBnZXRJbWFnZURhdGEoY29uc3QKICAgICAgICAg
ICAgIGRlc3RSb3dzICs9IGRlc3RCeXRlc1BlclJvdzsKICAgICAgICAgfQogICAgIH0gZWxzZSB7
Ci0jaWYgZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JB
Q0tJTkdfU1RPUkUpCiAgICAgICAgIElPU3VyZmFjZVJlZiBzdXJmYWNlID0gaW1hZ2VEYXRhLm1f
c3VyZmFjZS5nZXQoKTsKICAgICAgICAgSU9TdXJmYWNlTG9jayhzdXJmYWNlLCBrSU9TdXJmYWNl
TG9ja1JlYWRPbmx5LCAwKTsKICAgICAgICAgc3JjQnl0ZXNQZXJSb3cgPSBJT1N1cmZhY2VHZXRC
eXRlc1BlclJvdyhzdXJmYWNlKTsKQEAgLTQxMCw3ICs0MTAsNyBAQCB2b2lkIHB1dEltYWdlRGF0
YShJbWFnZURhdGEqJiBzb3VyY2UsIGNvCiAgICAgICAgICAgICBzcmNSb3dzICs9IHNyY0J5dGVz
UGVyUm93OwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSNpZiBkZWZpbmVkKFVTRV9JT1NVUkZB
Q0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKICAgICAgICAgSU9T
dXJmYWNlUmVmIHN1cmZhY2UgPSBpbWFnZURhdGEubV9zdXJmYWNlLmdldCgpOwogICAgICAgICBJ
T1N1cmZhY2VMb2NrKHN1cmZhY2UsIDAsIDApOwogICAgICAgICBkZXN0Qnl0ZXNQZXJSb3cgPSBJ
T1N1cmZhY2VHZXRCeXRlc1BlclJvdyhzdXJmYWNlKTsKQEAgLTQ5Niw3ICs0OTYsNyBAQCBTdHJp
bmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVSTChjb25zdCBTdHJpCiAgICAgUmV0YWluUHRyPENHSW1h
Z2VSZWY+IGltYWdlOwogICAgIGlmICghbV9hY2NlbGVyYXRlUmVuZGVyaW5nKQogICAgICAgICBp
bWFnZS5hZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZUltYWdlKGNvbnRleHQoKS0+cGxhdGZv
cm1Db250ZXh0KCkpKTsKLSNpZiBkZWZpbmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VS
RkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKICAgICBlbHNlCiAgICAgICAgIGltYWdlLmFkb3B0
Q0Yod2tJT1N1cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2UoY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRl
eHQoKSkpOwogI2VuZGlmCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDUxOCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTEyLTIyICBN
YXR0aGV3IERlbGFuZXkgIDxtZGVsYW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNldE5lZWRzU3R5bGVSZWNhbGMgZm9y
IGdldHRpbmcgY2FudmFzIGNvbnRleHRzIHRoYXQgdXNlIElPU3VyZmFjZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMjc5CisKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvcGxhdGZvcm0vbWFjL2NvbXBvc2l0
aW5nL2NhbnZhczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvdGVzdENhbnZhc0luTGF5ZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzL3Rlc3RDYW52
YXNJbkxheWVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Nv
bXBvc2l0aW5nL2NhbnZhcy90ZXN0Q2FudmFzSW5MYXllci5odG1sOiBBZGRlZC4KKwogMjAxMC0x
Mi0yMiAgQXJpeWEgSGlkYXlhdCAgPGFyaXlhQHNlbmNoYS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNub3ds
ZW9wYXJkL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvdGVzdENhbnZhc0luTGF5ZXIt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93
bGVvcGFyZC9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzL3Rlc3RDYW52YXNJbkxheWVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1z
bm93bGVvcGFyZC9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzL3Rlc3RDYW52YXNJbkxh
eWVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzL3Rlc3RDYW52YXNJbkxheWVy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29t
cG9zaXRpbmcvY2FudmFzL3Rlc3RDYW52YXNJbkxheWVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvdGVzdENh
bnZhc0luTGF5ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACiso
R3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChj
aGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDgu
MDAgOC4wMCkKKyAgICAgICAgICAoYm91bmRzIDE3NC4wMCAxMzEuMDApCisgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvdGVzdENhbnZhc0lu
TGF5ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvY2FudmFzL3Rlc3RDYW52YXNJbkxheWVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzL3Rlc3RDYW52YXNJbkxheWVy
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPjxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBk
b1Rlc3QoKSB7CisgICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N2c19p
bWcyJyk7CisgICAgICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsMCwwLDEpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
MCxjLndpZHRoLCBjLmhlaWdodCk7CisKKyAgICAgIAlpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIAlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5u
ZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAg
IAlsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAJfQorICAgIH0KKwor
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY3ZzX2ltZzIiIHN0eWxlPSJkaXNw
bGF5OmJsb2NrIiB3aWR0aD0iMTc0IiBoZWlnaHQ9IjEzMSI+PC9jYW52YXM+Cis8cHJlIGlkPSJs
YXllcnMiPkxheWVyIHRyZWUgZ29lcyBoZXJlIGluIERSVDwvcHJlPgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77288</attachid>
            <date>2010-12-22 18:07:11 -0800</date>
            <delta_ts>2010-12-22 21:01:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51279-20101222180710.patch</filename>
            <type>text/plain</type>
            <size>10658</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDUyMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMjIgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgc2V0TmVlZHNTdHlsZVJlY2FsYyBmb3IgZ2V0dGluZyBjYW52YXMgY29udGV4dHMgdGhh
dCB1c2UgSU9TdXJmYWNlcworICAgICAgICBUaGlzIHBhdGNoIGFsc28gY2hhbmdlcyBVU0VfSU9T
VVJGQUNFIHRvIGluc3RlYWQgZm9sbG93IFVTRShJT1NVUkZBQ0UpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTI3OQorCisgICAgICAgICogaHRtbC9I
VE1MQ2FudmFzRWxlbWVudC5jcHA6IEZvciBJT1N1cmZhY2UsIHVzZSBzZXROZWVkc1N0eWxlUmVj
YWxjCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDog
VXNlIG5ldyBmbGFnCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDog
VXNlIG5ldyBmbGFnCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJD
Ry5jcHA6IFVzZSBuZXcgZmxhZworCiAyMDEwLTEyLTIyICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5l
QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRl
eDogV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiA3NDUyMCkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw3ICsx
NTcsNyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVuCiAgICAgICAg
ICAgICAgICAgdXNlc0Rhc2hiYXJkQ29tcGF0aWJpbGl0eU1vZGUgPSBzZXR0aW5ncy0+dXNlc0Rh
c2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKTsKICNlbmRpZgogICAgICAgICAgICAg
bV9jb250ZXh0ID0gYWRvcHRQdHIobmV3IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCh0aGlzLCBk
b2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgdXNlc0Rhc2hiYXJkQ29tcGF0aWJpbGl0eU1vZGUp
KTsKLSNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkgfHwg
KEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICYmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykpCiAgICAgICAgICAgICBpZiAobV9jb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgLy8g
TmVlZCB0byBtYWtlIHN1cmUgYSBSZW5kZXJMYXllciBhbmQgY29tcG9zaXRpbmcgbGF5ZXIgZ2V0
IGNyZWF0ZWQgZm9yIHRoZSBDYW52YXMKICAgICAgICAgICAgICAgICBzZXROZWVkc1N0eWxlUmVj
YWxjKFN5bnRoZXRpY1N0eWxlQ2hhbmdlKTsKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEhUTUxD
YW52YXNFbGVtZW50OjpjcmVhdGVJbWFnZUJ1ZmZlCiAgICAgaWYgKCFzaXplLndpZHRoKCkgfHwg
IXNpemUuaGVpZ2h0KCkpCiAgICAgICAgIHJldHVybjsKIAotI2lmIGRlZmluZWQoVVNFX0lPU1VS
RkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAgIG1faW1h
Z2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIENvbG9yU3BhY2VEZXZpY2VSR0Is
IEFjY2VsZXJhdGVkKTsKICNlbHNlCiAgICAgbV9pbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpj
cmVhdGUoc2l6ZSk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3NDUyMCkKKysrIFdlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDcg
KzE0NCw3IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6fkNhbnZhc1JlbmRlcmkKIAogYm9v
bCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmlzQWNjZWxlcmF0ZWQoKSBjb25zdAogewotI2lm
IGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5H
X1NUT1JFKQogICAgIHJldHVybiB0cnVlOwogI2VsaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NB
TlZBUykKICAgICByZXR1cm4gbV9jb250ZXh0M0Q7CkBAIC0xODIzLDcgKzE4MjMsNyBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAgICAgICAgIC8vIEZJWE1FOiBU
aGUgcmVjdCBpcyBub3QgYmlnIGVub3VnaCBmb3IgbWl0ZXJzIG9uIHN0cm9rZWQgdGV4dC4KICAg
ICAgICAgSW50UmVjdCBtYXNrUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QodGV4dFJlY3QpOwogCi0j
aWYgZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJ
TkdfU1RPUkUpCiAgICAgICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbWFza0ltYWdlID0gSW1hZ2VC
dWZmZXI6OmNyZWF0ZShtYXNrUmVjdC5zaXplKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIEFjY2Vs
ZXJhdGVkKTsKICNlbHNlCiAgICAgICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbWFza0ltYWdlID0g
SW1hZ2VCdWZmZXI6OmNyZWF0ZShtYXNrUmVjdC5zaXplKCkpOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkocmV2aXNpb24gNzQ1MjApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQw
LDcgQEAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiAjaWYgKFBMQVRGT1JNKE1BQykg
JiYgUExBVEZPUk0oQ0EpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpKQotI2RlZmluZSBVU0VfSU9TVVJGQUNFIDEKKyNkZWZpbmUgV1RGX1VTRV9JT1NVUkZBQ0Vf
Q0FOVkFTX0JBQ0tJTkdfU1RPUkUgMQogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAko
cmV2aXNpb24gNzQ1MjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVm
ZmVyQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBACiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgogI2luY2x1ZGUgPG1hdGguaD4KIAotI2lmIGRlZmluZWQoVVNFX0lPU1VS
RkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogI2luY2x1ZGUg
PElPU3VyZmFjZS9JT1N1cmZhY2UuaD4KICNlbmRpZgogCkBAIC01NCw3ICs1NCw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIGRlZmluZWQoVVNF
X0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogc3Rh
dGljIFJldGFpblB0cjxJT1N1cmZhY2VSZWY+IGNyZWF0ZUlPU3VyZmFjZShjb25zdCBJbnRTaXpl
JiBzaXplKQogewogICAgIHVuc2lnbmVkIHBpeGVsRm9ybWF0ID0gJ0JHUkEnOwpAQCAtMTAwLDcg
KzEwMCw3IEBAIHN0YXRpYyB2b2lkIHJlbGVhc2VJbWFnZURhdGEodm9pZCosIGNvbnMKIAogSW1h
Z2VCdWZmZXJEYXRhOjpJbWFnZUJ1ZmZlckRhdGEoY29uc3QgSW50U2l6ZSYpCiAgICAgOiBtX2Rh
dGEoMCkKLSNpZiBkZWZpbmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5W
QVNfQkFDS0lOR19TVE9SRSkKICAgICAsIG1fc3VyZmFjZSgwKQogI2VuZGlmCiB7CkBAIC0xMTEs
NyArMTExLDcgQEAgSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKGNvbnN0IEludFNpemUmIAogICAg
ICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2FjY2VsZXJhdGVSZW5kZXJpbmcocmVuZGVyaW5nTW9k
ZSA9PSBBY2NlbGVyYXRlZCkKIHsKLSNpZiAhZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmICFV
U0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAgIEFTU0VSVChyZW5kZXJpbmdN
b2RlID09IFVuYWNjZWxlcmF0ZWQpOwogI2VuZGlmCiAgICAgc3VjY2VzcyA9IGZhbHNlOyAgLy8g
TWFrZSBlYXJseSByZXR1cm4gbWVhbiBmYWlsdXJlLgpAQCAtMTQ4LDcgKzE0OCw3IEBAIEltYWdl
QnVmZmVyOjpJbWFnZUJ1ZmZlcihjb25zdCBJbnRTaXplJiAKICAgICAgICAgLy8gQ3JlYXRlIGEg
bGl2ZSBpbWFnZSB0aGF0IHdyYXBzIHRoZSBkYXRhLgogICAgICAgICBtX2RhdGEubV9kYXRhUHJv
dmlkZXIuYWRvcHRDRihDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhEYXRhKDAsIG1fZGF0YS5tX2Rh
dGEsIGRhdGFTaXplLCByZWxlYXNlSW1hZ2VEYXRhKSk7CiAgICAgfSBlbHNlIHsKLSNpZiBkZWZp
bmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9S
RSkKICAgICAgICAgbV9kYXRhLm1fc3VyZmFjZSA9IGNyZWF0ZUlPU3VyZmFjZShzaXplKTsKICAg
ICAgICAgY2dDb250ZXh0LmFkb3B0Q0Yod2tJT1N1cmZhY2VDb250ZXh0Q3JlYXRlKG1fZGF0YS5t
X3N1cmZhY2UuZ2V0KCksIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSwgbV9kYXRhLm1fY29s
b3JTcGFjZSkpOwogI2Vsc2UKQEAgLTE4NSw3ICsxODUsNyBAQCBQYXNzUmVmUHRyPEltYWdlPiBJ
bWFnZUJ1ZmZlcjo6Y29weUltYWdlCiAgICAgQ0dJbWFnZVJlZiBjdHhJbWFnZSA9IDA7CiAgICAg
aWYgKCFtX2FjY2VsZXJhdGVSZW5kZXJpbmcpCiAgICAgICAgIGN0eEltYWdlID0gQ0dCaXRtYXBD
b250ZXh0Q3JlYXRlSW1hZ2UoY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKSk7Ci0jaWYgZGVm
aW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RP
UkUpCiAgICAgZWxzZQogICAgICAgICBjdHhJbWFnZSA9IHdrSU9TdXJmYWNlQ29udGV4dENyZWF0
ZUltYWdlKGNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCkpOwogI2VuZGlmCkBAIC0yNDEsNyAr
MjQxLDcgQEAgdm9pZCBJbWFnZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRleHQqIAogICAgIFJl
dGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZTsKICAgICBpZiAoIW1fYWNjZWxlcmF0ZVJlbmRlcmlu
ZykKICAgICAgICAgaW1hZ2UuYWRvcHRDRihjZ0ltYWdlKG1fc2l6ZSwgbV9kYXRhKSk7Ci0jaWYg
ZGVmaW5lZChVU0VfSU9TVVJGQUNFKQorI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdf
U1RPUkUpCiAgICAgZWxzZQogICAgICAgICBpbWFnZS5hZG9wdENGKHdrSU9TdXJmYWNlQ29udGV4
dENyZWF0ZUltYWdlKHBsYXRmb3JtQ29udGV4dCkpOwogI2VuZGlmCkBAIC0zMDksNyArMzA5LDcg
QEAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IGdldEltYWdlRGF0YShjb25zdAogICAgICAgICAgICAg
ZGVzdFJvd3MgKz0gZGVzdEJ5dGVzUGVyUm93OwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSNp
ZiBkZWZpbmVkKFVTRV9JT1NVUkZBQ0UpCisjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lO
R19TVE9SRSkKICAgICAgICAgSU9TdXJmYWNlUmVmIHN1cmZhY2UgPSBpbWFnZURhdGEubV9zdXJm
YWNlLmdldCgpOwogICAgICAgICBJT1N1cmZhY2VMb2NrKHN1cmZhY2UsIGtJT1N1cmZhY2VMb2Nr
UmVhZE9ubHksIDApOwogICAgICAgICBzcmNCeXRlc1BlclJvdyA9IElPU3VyZmFjZUdldEJ5dGVz
UGVyUm93KHN1cmZhY2UpOwpAQCAtNDEwLDcgKzQxMCw3IEBAIHZvaWQgcHV0SW1hZ2VEYXRhKElt
YWdlRGF0YSomIHNvdXJjZSwgY28KICAgICAgICAgICAgIHNyY1Jvd3MgKz0gc3JjQnl0ZXNQZXJS
b3c7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoVVNFX0lPU1VSRkFDRSkK
KyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAgICAgICBJT1N1cmZh
Y2VSZWYgc3VyZmFjZSA9IGltYWdlRGF0YS5tX3N1cmZhY2UuZ2V0KCk7CiAgICAgICAgIElPU3Vy
ZmFjZUxvY2soc3VyZmFjZSwgMCwgMCk7CiAgICAgICAgIGRlc3RCeXRlc1BlclJvdyA9IElPU3Vy
ZmFjZUdldEJ5dGVzUGVyUm93KHN1cmZhY2UpOwpAQCAtNDk2LDcgKzQ5Niw3IEBAIFN0cmluZyBJ
bWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0IFN0cmkKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJl
Zj4gaW1hZ2U7CiAgICAgaWYgKCFtX2FjY2VsZXJhdGVSZW5kZXJpbmcpCiAgICAgICAgIGltYWdl
LmFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRlSW1hZ2UoY29udGV4dCgpLT5wbGF0Zm9ybUNv
bnRleHQoKSkpOwotI2lmIGRlZmluZWQoVVNFX0lPU1VSRkFDRSkKKyNpZiBVU0UoSU9TVVJGQUNF
X0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAgIGVsc2UKICAgICAgICAgaW1hZ2UuYWRvcHRDRih3
a0lPU3VyZmFjZUNvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgp
KSk7CiAjZW5kaWYKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0NTIwKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTItMjIgIE1hdHRo
ZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2V0TmVlZHNTdHlsZVJlY2FsYyBmb3IgZ2V0
dGluZyBjYW52YXMgY29udGV4dHMgdGhhdCB1c2UgSU9TdXJmYWNlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEyNzkKKworICAgICAgICAqIHBsYXRm
b3JtL21hYy1zbm93bGVvcGFyZC9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmc6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcv
Y2FudmFzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvcGxhdGZv
cm0vbWFjL2NvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcv
Y2FudmFzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFz
L2FjY2VsZXJhdGVkLWNhbnZhcy1jb21wb3NpdGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvYWNjZWxlcmF0ZWQtY2FudmFz
LWNvbXBvc2l0aW5nLmh0bWw6IEFkZGVkLgorCiAyMDEwLTEyLTIyICBBcml5YSBIaWRheWF0ICA8
YXJpeWFAc2VuY2hhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvcGxhdGZvcm0vbWFjL2Nv
bXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmctZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9w
bGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvY2FudmFzL2FjY2VsZXJhdGVkLWNhbnZhcy1jb21wb3Np
dGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtc25vd2xlb3BhcmQvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVyYXRl
ZC1jYW52YXMtY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDMgQEAKK1Rlc3RzIHdoZXRoZXIgYW4gYWNjZWxlcmF0ZWQgY2FudmFzIGNyZWF0ZXMgYSBjb21w
b3NpdGluZyBsYXllci4KKworCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvY2FudmFzL2FjY2VsZXJhdGVkLWNhbnZhcy1jb21wb3NpdGluZy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2NhbnZh
cy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVy
YXRlZC1jYW52YXMtY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE3IEBACitUZXN0cyB3aGV0aGVyIGFuIGFjY2VsZXJhdGVkIGNhbnZhcyBjcmVhdGVzIGEg
Y29tcG9zaXRpbmcgbGF5ZXIuCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAu
MDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAw
LjAwIDYwMC4wMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAgICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKKyAgICAgICAgICAoYm91bmRzIDE3NC4wMCAx
MzEuMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICApCisg
ICAgKQorICApCispCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGlu
Zy9jYW52YXMvYWNjZWxlcmF0ZWQtY2FudmFzLWNvbXBvc2l0aW5nLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVyYXRl
ZC1jYW52YXMtY29tcG9zaXRpbmcuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvYWNjZWxlcmF0ZWQtY2FudmFzLWNvbXBvc2l0
aW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPjxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBkb1Rlc3QoKSB7CisgICAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N2
c19pbWcyJyk7CisgICAgICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsMCwwLDEpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsMCxjLndpZHRoLCBjLmhlaWdodCk7CisKKyAgICAgIAlpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgIAlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJyku
aW5uZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAg
ICAgIAlsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAJfQorICAgIH0K
KworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgd2hldGhlciBhbiBhY2NlbGVyYXRl
ZCBjYW52YXMgY3JlYXRlcyBhIGNvbXBvc2l0aW5nIGxheWVyLjwvcD4KKzxjYW52YXMgaWQ9ImN2
c19pbWcyIiB3aWR0aD0iMTc0IiBoZWlnaHQ9IjEzMSI+PC9jYW52YXM+Cis8cHJlIGlkPSJsYXll
cnMiPkxheWVyIHRyZWUgZ29lcyBoZXJlIGluIERSVDwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="68364"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="68375"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>