<?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>32865</bug_id>
          
          <creation_ts>2009-12-22 03:45:53 -0800</creation_ts>
          <short_desc>[Qt] QWebElement::attribute always returns empty result for input&apos;s values</short_desc>
          <delta_ts>2014-02-03 03:16:05 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Nichols">andy.nichols</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>douaberi</cc>
    
    <cc>hausmann</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>max.hong.shen</cc>
    
    <cc>mikelupow</cc>
    
    <cc>robert</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wolfram</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>174245</commentid>
    <comment_count>0</comment_count>
      <attachid>45380</attachid>
    <who name="Andy Nichols">andy.nichols</who>
    <bug_when>2009-12-22 03:45:53 -0800</bug_when>
    <thetext>Created attachment 45380
Example to demonstrat problem

How to reproduce the bug: 

1) Create simple application with QWebView and button. Add slot for button click event with code like the following: 

void onTestClick() 
{ 
QWebFrame* curFrame = m_webview-&gt;page()-&gt;currentFrame(); 
if (curFrame) 
{ 
QWebElement elem = curFrame-&gt;documentElement().findFirst(&quot;#login&quot;); 
if (!elem.isNull()) 
{ 
QString ret = elem.attribute(&quot;value&quot;, &quot;nothing :(&quot;); 
QMessageBox::information(0, &quot;Result&quot;, ret, QMessageBox::Ok); 
} 
} 
} 

2) Load any web page which contains &lt;input&gt; element with attribute &quot;id&quot; defined (for example &lt;input id=&quot;login&quot; name=&quot;login&quot;/&gt;) 
3) Enter any text to this field and press button. Messagebox will be shown but displayed text always will be &quot;nothing :(&quot; 

Note that if you inject JQuery to the page in slot connected to loadFinished() signal and place the following code to onTestClick(): 

QString ret = m_webview-&gt;evaluateJavaScript(&quot;$(&apos;#login&apos;).attr(&apos;value&apos;)&quot;).toString(); 
QMessageBox::information(0, &quot;Result&quot;, ret, QMessageBox::Ok); 

value will be extracted correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198036</commentid>
    <comment_count>1</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-10 06:27:57 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should only be used for bugs/features in the
    public QtWebKit API layer, not to signify that the bug is specific to
    the Qt port of WebKit

      http://trac.webkit.org/wiki/QtWebKitBugs#Component

  - Add the keyword &apos;Qt&apos; to signal that it&apos;s a Qt-related bug

      http://trac.webkit.org/wiki/QtWebKitBugs#Keywords</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198554</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-03-11 05:07:04 -0800</bug_when>
    <thetext>Reproduced against r55658.
On the initial click, hasAttribute(&quot;value&quot;) returns false, and attributeNames() returns only &quot;id&quot; and &quot;name&quot;.
setAttribute(&quot;value&quot;, ...) does cause the element to gain a &quot;value&quot; attribute, but it seems to be completely detached from the value of the input field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278387</commentid>
    <comment_count>3</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-09-13 12:18:02 -0700</bug_when>
    <thetext>That is because some HTMLInputElement (e.g. text input element) stores its value separately from element&apos;s attribute map, which means each value has two copies.

For QWebElement, it only can access the values in the element&apos;s attribute map.

Not sure whether it is a qtwebkit bug or &quot;features&quot; for security reasons.
(In reply to comment #2)
&gt; Reproduced against r55658.
&gt; On the initial click, hasAttribute(&quot;value&quot;) returns false, and attributeNames() returns only &quot;id&quot; and &quot;name&quot;.
&gt; setAttribute(&quot;value&quot;, ...) does cause the element to gain a &quot;value&quot; attribute, but it seems to be completely detached from the value of the input field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302369</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-10-31 05:03:08 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; That is because some HTMLInputElement (e.g. text input element) stores its value separately from element&apos;s attribute map, which means each value has two copies.
&gt; 
&gt; For QWebElement, it only can access the values in the element&apos;s attribute map.
&gt; 
&gt; Not sure whether it is a qtwebkit bug or &quot;features&quot; for security reasons.

I think there is method in the madness and that QWebElement just needs extra API specifically for the current value in an input element.

We don&apos;t want to modify the behaviour of attribute() because we might still want access to the initial value defined by the page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302372</commentid>
    <comment_count>5</comment_count>
      <attachid>72454</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-10-31 05:28:23 -0700</bug_when>
    <thetext>Created attachment 72454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302377</commentid>
    <comment_count>6</comment_count>
      <attachid>72454</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-31 05:58:05 -0700</bug_when>
    <thetext>Comment on attachment 72454
Patch

Isn&apos;t currentValue something like computeValue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302382</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-10-31 06:29:39 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 72454 [details])
&gt; Isn&apos;t currentValue something like computeValue?

Don&apos;t think so. AFAICT it&apos;s:

String HTMLInputElement::value() const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328171</commentid>
    <comment_count>8</comment_count>
      <attachid>72454</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-12-31 08:09:40 -0800</bug_when>
    <thetext>Comment on attachment 72454
Patch

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

r- for minor issue, otherwise LGTM.
In all cases, needs to be coordinated with Oslo as this involves API addition.

&gt; WebKit/qt/Api/qwebelement.cpp:400
&gt; +QString QWebElement::currentValue() const

New API function: require \since tag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341944</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-01-28 19:07:36 -0800</bug_when>
    <thetext>*** Bug 48230 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341947</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-01-28 19:12:18 -0800</bug_when>
    <thetext>*** Bug 53319 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341948</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-01-28 19:13:21 -0800</bug_when>
    <thetext>I would actually change ::attribute() and ::setAttribute() to work on the input value and not the original value.

Doing otherwise would give unexpected result from what one would expect. See #53319 for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386347</commentid>
    <comment_count>12</comment_count>
      <attachid>89729</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-14 21:15:58 -0700</bug_when>
    <thetext>Created attachment 89729
attribute/setAttribute patch to be compatible with html inputs&apos; values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386348</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-14 21:18:20 -0700</bug_when>
    <thetext>Attachment 89729 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;]&quot; exit_code: 1

Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386531</commentid>
    <comment_count>14</comment_count>
      <attachid>89729</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-04-15 05:35:26 -0700</bug_when>
    <thetext>Comment on attachment 89729
attribute/setAttribute patch to be compatible with html inputs&apos; values

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

R-: Missing changelog, and missing tests.
The idea look sane though, is value the only attribute behaving like that?

&gt; B/qwebelement.cpp:127
&gt; +

Empty line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387514</commentid>
    <comment_count>15</comment_count>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-17 21:05:14 -0700</bug_when>
    <thetext>&gt; R-: Missing changelog, 
How to add it?

&gt; and missing tests.
I think that no new tests are required but existing (WebKit/qt/tests/qwebelement/tst_qwebelement.cpp) will work fine.

&gt; The idea look sane though, is value the only attribute behaving like that?
Yes, only values of html inputs are broken

&gt; Empty line?
Just a typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387532</commentid>
    <comment_count>16</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-17 21:51:17 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; &gt; R-: Missing changelog, 
&gt; How to add it?

Tools/Scripts/prepare-ChangeLog --bug XXX --git-commit=SHA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391711</commentid>
    <comment_count>17</comment_count>
      <attachid>90906</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-25 01:09:14 -0700</bug_when>
    <thetext>Created attachment 90906
New patch, with &quot;checked&quot; attribute support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391712</commentid>
    <comment_count>18</comment_count>
      <attachid>90906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 01:10:06 -0700</bug_when>
    <thetext>Comment on attachment 90906
New patch, with &quot;checked&quot; attribute support

Rejecting attachment 90906 from review queue.

wolfram@ritsuka.org does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391713</commentid>
    <comment_count>19</comment_count>
      <attachid>90906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 01:11:54 -0700</bug_when>
    <thetext>Comment on attachment 90906
New patch, with &quot;checked&quot; attribute support

Rejecting attachment 90906 from commit-queue.

wolfram@ritsuka.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391720</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 01:29:53 -0700</bug_when>
    <thetext>Attachment 90906 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/qt/Api/qwebelement.cpp&apos;, u&apos;S...&quot; exit_code: 1

Source/WebKit/qt/Api/qwebelement.cpp:386:  This { should be at the end of the previous line  [whitespace/braces] [4]
Source/WebKit/qt/Api/qwebelement.cpp:391:  This { should be at the end of the previous line  [whitespace/braces] [4]
Source/WebKit/qt/Api/qwebelement.cpp:392:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebKit/qt/Api/qwebelement.cpp:425:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 4 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391721</commentid>
    <comment_count>21</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-25 01:42:11 -0700</bug_when>
    <thetext>Attachment 90906 did not build on qt:
Build output: http://queues.webkit.org/results/8508200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391722</commentid>
    <comment_count>22</comment_count>
      <attachid>90907</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-25 01:56:34 -0700</bug_when>
    <thetext>Created attachment 90907
style fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391724</commentid>
    <comment_count>23</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-25 02:04:18 -0700</bug_when>
    <thetext>Attachment 90907 did not build on qt:
Build output: http://queues.webkit.org/results/8504627</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391725</commentid>
    <comment_count>24</comment_count>
      <attachid>90908</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-25 02:16:03 -0700</bug_when>
    <thetext>Created attachment 90908
warning fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391774</commentid>
    <comment_count>25</comment_count>
      <attachid>90908</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-25 09:07:58 -0700</bug_when>
    <thetext>Comment on attachment 90908
warning fixed

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

I think we need tests, or if there are existing ones, please say it in the ChangeLog entry.

&gt; Source/WebKit/qt/ChangeLog:1
&gt; +2011-04-25    &lt;&gt;

Fix it, please</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393410</commentid>
    <comment_count>26</comment_count>
      <attachid>91244</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-27 00:18:43 -0700</bug_when>
    <thetext>Created attachment 91244
changelog and tests added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393413</commentid>
    <comment_count>27</comment_count>
      <attachid>91244</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-27 00:36:46 -0700</bug_when>
    <thetext>Comment on attachment 91244
changelog and tests added

Sorry, wrong file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393416</commentid>
    <comment_count>28</comment_count>
      <attachid>91245</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-27 00:37:46 -0700</bug_when>
    <thetext>Created attachment 91245
changelog and tests added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393418</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-27 00:40:34 -0700</bug_when>
    <thetext>Attachment 91245 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/qt/Api/qwebelement.cpp&apos;, u&apos;S...&quot; exit_code: 1

Last 3072 characters of output:
ce indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1063:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1064:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1065:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1066:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1067:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1068:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1071:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1072:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1073:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1074:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1075:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1076:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1077:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1078:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1079:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1080:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1081:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1082:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1083:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 35 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393426</commentid>
    <comment_count>30</comment_count>
      <attachid>91251</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-27 00:51:09 -0700</bug_when>
    <thetext>Created attachment 91251
changelog and tests added, style fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393427</commentid>
    <comment_count>31</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-27 00:52:03 -0700</bug_when>
    <thetext>Attachment 91245 did not build on qt:
Build output: http://queues.webkit.org/results/8507893</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393429</commentid>
    <comment_count>32</comment_count>
      <attachid>91252</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-27 01:00:32 -0700</bug_when>
    <thetext>Created attachment 91252
changelog and tests added, style fixed, typo fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395041</commentid>
    <comment_count>33</comment_count>
      <attachid>91252</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-28 19:29:34 -0700</bug_when>
    <thetext>Comment on attachment 91252
changelog and tests added, style fixed, typo fixed

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

Still one minor request:

&gt; Source/WebKit/qt/Api/qwebelement.cpp:391
&gt; +          htmlElement-&gt;setChecked(checked, true);

Please make this line like:

htmlElement-&gt;setChecked(checked, true /*explain shortly here, maybe in one or two words, what this boolean means*/);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395058</commentid>
    <comment_count>34</comment_count>
      <attachid>91626</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-28 20:30:14 -0700</bug_when>
    <thetext>Created attachment 91626
Short comment added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395070</commentid>
    <comment_count>35</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-28 20:40:41 -0700</bug_when>
    <thetext>Attachment 91626 did not build on qt:
Build output: http://queues.webkit.org/results/8516714</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395114</commentid>
    <comment_count>36</comment_count>
      <attachid>91636</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-28 22:25:47 -0700</bug_when>
    <thetext>Created attachment 91636
fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395139</commentid>
    <comment_count>37</comment_count>
      <attachid>91644</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-04-28 23:47:04 -0700</bug_when>
    <thetext>Created attachment 91644
I&apos;m awfully sorry for all these junk files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407625</commentid>
    <comment_count>38</comment_count>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-05-22 06:42:30 -0700</bug_when>
    <thetext>I&apos;m awfully sorry, but... any news?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407627</commentid>
    <comment_count>39</comment_count>
      <attachid>91644</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-05-22 07:13:41 -0700</bug_when>
    <thetext>Comment on attachment 91644
I&apos;m awfully sorry for all these junk files

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

&gt; Source/WebKit/qt/Api/qwebelement.cpp:392
&gt; +       HTMLInputElement* htmlElement = static_cast&lt;HTMLInputElement*&gt;(m_element);
&gt; +        if (HTMLNames::valueAttr == name)
&gt; +          htmlElement-&gt;setValue(value, true /* sendChangeEvent */);
&gt; +        else if (HTMLNames::checkedAttr == name) {
&gt; +          bool checked = !QString::compare(value, QString::fromLatin1(&quot;checked&quot;), Qt::CaseInsensitive);
&gt; +          htmlElement-&gt;setChecked(checked, true /* sendChangeEvent */);
&gt; +        }

Invalid indentation.

&gt; Source/WebKit/qt/Api/qwebelement.cpp:428
&gt; +    if (m_element-&gt;hasTagName(HTMLNames::inputTag)) {
&gt; +      HTMLInputElement* htmlElement = static_cast&lt;HTMLInputElement*&gt;(m_element);
&gt; +      if (HTMLNames::valueAttr == name)
&gt; +        return htmlElement-&gt;value();
&gt; +      else if (HTMLNames::checkedAttr == name)
&gt; +        return htmlElement-&gt;checked() ? QString::fromLatin1(&quot;checked&quot;) : QString();
&gt; +    }

This is not indented correctly.

&gt; Source/WebKit/qt/ChangeLog:1
&gt; +2011-04-29  wolfy  &lt;wolfram@ritsuka.org&gt;

You should probably put your name in here.

&gt; Source/WebKit/qt/ChangeLog:15
&gt; +        [Qt] QWebElement::attribute always returns empty result for input&apos;s values
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=32865

This, the title and url, usually goes above the description, not after.

&gt; Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1045
&gt; +    // No initial value

You should have a period at the end of sentences. (This one and the other comments).

&gt; Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1049
&gt; +    QCOMPARE(inputElement.attribute(&quot;value&quot;), QString());

I would think the correct value for inputElement.attribute(&quot;value&quot;) is empty but not null.
While a null string would be if there is no value attribute.

&gt; Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1076
&gt; +    QCOMPARE(inputElement.attribute(&quot;value&quot;), QString(&quot;&quot;));

Kind of reverse from the comment for the text, I would expect value to be null in this case, not empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407628</commentid>
    <comment_count>40</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-05-22 07:19:05 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; I&apos;m awfully sorry, but... any news?

It happens a patch is ignored, especially when it had lots of update for no good reason.

A good way out of the problem is to poke reviewers on IRC. Please come on #qtwebkit (and/or #webkit), and if you see your patch is not going forward, ask the reviewers for advices on how to improve the patch.

I am not sure your patch is correct yet, because the solution is maybe to change Element::value(). Other than that, the code and test looks sane. Just a few more iterations to get it to be perfect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408672</commentid>
    <comment_count>41</comment_count>
      <attachid>94570</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-05-23 23:09:21 -0700</bug_when>
    <thetext>Created attachment 94570
Patch refined according to last comment

(In reply to comment #39)
&gt; Invalid indentation.
Fixed.
 
&gt; This is not indented correctly.
Fixed.
 
&gt; &gt; Source/WebKit/qt/ChangeLog:1
&gt; &gt; +2011-04-29  wolfy  &lt;wolfram@ritsuka.org&gt;
&gt; 
&gt; You should probably put your name in here.
I don&apos;t want to do that. 

&gt; This, the title and url, usually goes above the description, not after.
Fixed.
 
&gt; &gt; Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp:1045
&gt; &gt; +    // No initial value
&gt; 
&gt; You should have a period at the end of sentences. (This one and the other comments).
Fixed. But I didn&apos;t see periods in any other comments in this file.


&gt; I would think the correct value for inputElement.attribute(&quot;value&quot;) is empty but not null.
&gt; While a null string would be if there is no value attribute.
&gt; 
&gt; Kind of reverse from the comment for the text, I would expect value to be null in this case, not empty.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408673</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-23 23:11:15 -0700</bug_when>
    <thetext>Attachment 94570 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/qt/Api/qwebelement.cpp&apos;, u&apos;S...&quot; exit_code: 1

Source/WebKit/qt/Api/qwebelement.cpp:425:  An else if statement should be written as an if statement when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408691</commentid>
    <comment_count>43</comment_count>
      <attachid>94576</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-05-23 23:51:12 -0700</bug_when>
    <thetext>Created attachment 94576
Style fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408692</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-23 23:53:41 -0700</bug_when>
    <thetext>Attachment 94576 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/qt/Api/qwebelement.cpp&apos;, u&apos;S...&quot; exit_code: 1

Source/WebKit/qt/Api/qwebelement.cpp:425:  An else if statement should be written as an if statement when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Source/WebKit/qt/Api/qwebelement.cpp:429:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408699</commentid>
    <comment_count>45</comment_count>
      <attachid>94578</attachid>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-05-24 00:25:48 -0700</bug_when>
    <thetext>Created attachment 94578
Style fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410097</commentid>
    <comment_count>46</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-05-25 18:15:25 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I would actually change ::attribute() and ::setAttribute() to work on the input value and not the original value.
&gt; 
&gt; Doing otherwise would give unexpected result from what one would expect. See #53319 for example.

Ok, so we have to distinguish between HTML attributes and DOM property attributes ( http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-642250288 )

The current implementation of setAttribute() and attribute() corresponds to HTML attributes, and the namespace &quot;overloads&quot; of these functions stress this. So the current behaviour is very well defined and I don&apos;t think we can change it without breaking the *NS() overloads or introducing inconsistencies.

Consequently I think what we need here are functions to change the DOM property attributes. 

The most logical way I think to implement this would be to add this when we change to V8 and introduce QtScript as dependency in the API. Then we can have property setters/getters that correspond to properties in JavaScript, which are a 1:1 mapping to DOM property attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410099</commentid>
    <comment_count>47</comment_count>
      <attachid>94578</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-05-25 18:18:26 -0700</bug_when>
    <thetext>Comment on attachment 94578
Style fixed

I&apos;m going to say r- because of the previous comment in the sense that this makes setAttribute() inconsistent to setAttributeNS() (and the same for the getters).

Unless someone comes up with a nicer proposal I&apos;d suggest we solve this when we introduce the QtScript dependency. Then we can have for example

    QScriptValue QWebElement::scriptObject()

and you can do

    element.setAttribute(&quot;value&quot;, &quot;this is the initial value&quot;);

    QScriptValue jsobject = element.scriptObject();
    jsobject.setProperty(&quot;value&quot;, &quot;current text&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410155</commentid>
    <comment_count>48</comment_count>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-05-25 20:41:54 -0700</bug_when>
    <thetext>Ok, it&apos;s very interesting idea, but... could you give us any quick advice which will allow to work with html inputs? They are mostly unusable now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410199</commentid>
    <comment_count>49</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-05-25 22:38:03 -0700</bug_when>
    <thetext>(In reply to comment #48)
&gt; Ok, it&apos;s very interesting idea, but... could you give us any quick advice which will allow to work with html inputs? They are mostly unusable now.

If you&apos;re just looking for a workaround, here&apos;s what you could try today (untested):

QString value = element-&gt;evaluateJavaScript(&quot;this.value&quot;);


...

element-&gt;evaluateJavaScript(&quot;this.value = &quot; + newValue);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410289</commentid>
    <comment_count>50</comment_count>
    <who name="wolfy">wolfram</who>
    <bug_when>2011-05-26 01:50:31 -0700</bug_when>
    <thetext>It&apos;s not a solution for me. JS calls are very slow, so I&apos;ll continue to use my patch.

Could you make some approximations about times when fix proposed by you will be done?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975101</commentid>
    <comment_count>51</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:16:05 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>45380</attachid>
            <date>2009-12-22 03:45:53 -0800</date>
            <delta_ts>2009-12-22 03:45:53 -0800</delta_ts>
            <desc>Example to demonstrat problem</desc>
            <filename>webelementtest.zip</filename>
            <type>application/zip</type>
            <size>2879</size>
            <attacher name="Andy Nichols">andy.nichols</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAC9kljsAAAAAAAAAAAAAAAAJABwAMDAwODIzNDUvVVQJAAOKrjBLiq4wS3V4CwAB
BOgDAAAE6AMAAFBLAwQUAAAACADgXpY71ooEjWQAAACCAAAAEwAcADAwMDgyMzQ1L2luZGV4Lmh0
bWxVVAkAA4SlMEvipTBLdXgLAAEE6AMAAAToAwAAPcxRCoAgEATQ7zyF7AFcoi9Du0uRmKCrlGHd
vizqa2bgMWrJwfMjeNo0LDmnHrGUIkon4mqxlVLi8RgOlfV+JKvBEPC/DaxRU5zPOxvlKO2Zu1mD
j9bdjMZgvoGV4msV1tuBXVBLAwQUAAAACAAHX5Y7xM3/WT8CAAB+BgAAFgAcADAwMDgyMzQ1L21h
aW53aW5kb3cudWlVVAkAA82lMEvOpTBLdXgLAAEE6AMAAAToAwAApVRNj9MwEL33V1g5wQG87e7S
gtyshAQcAImVCnt2kyG11rEre0Kbf8/Edj7a7kpouXnefPi9ifPE3bHW7A84r6xZZ/O3VxkDU9hS
mWqd/dx8frPK7vKZaNRYdENF+YyJQkvv8+9SmQdlSnsQPCKUOqiyAmQhXmf3Y03GjKxhnU0Qqmdi
7+weHLYpXYGtAV0bkkw4KDCcmDjmV4IfU9B2QZsCuhN3+fXNUvB4jPAOVLXDfHG7Ejydw0zeDxW8
v/wpJodAcqNQQyLj0dFyTnQn6HLY2R4eQtjvoACDTuoExuFatrYZG744VX4LUN9UjUgSqBBq5uxh
ndG3K6xuatMf/V7SeZEqL+nA9peC4ZscUpiqL1bROD3kmKBoCIalyC0R+7DV0jxOtxJr+KTldE8B
iOSSKN6puhA4nwp8RtSPxu8+NojW9LoQPCbkOWkIR5xoS8w31Hgu47+Jz/+dOBzVy4h/osaXExc8
vsL4noei6TEWlPBbNhoZPbMi+MW7jNXSVaqTOc94MInGo61jpw8Tp0i8L9pG/xxHG6EUyQNTdslQ
L3gPzOK/LUtw+T1S61eFfByRMkHB2YWnQLArB942rgAfKVtjyBvI6xLhIU4GQARo9vh1aNURimlV
GanzQqviEcpXrykbkd7KQJGVnvjHAMYB2iK1Ww+huYuiWmXiCtOZYbunJxCpa7mF4fckl1wsl4NP
dka5uF6OVsm79stJJb13ZWSn9GLc+9XpuNvrp8bFo097n+5tGlKezEDls79QSwMEFAAAAAgA+2GW
O7/x2XTfAAAAhwEAABUAHAAwMDA4MjM0NS9tYWlud2luZG93LmhVVAkAA2qqMEtqqjBLdXgLAAEE
6AMAAAToAwAAXZBNa8JAEEDv8ysGctFc7Dm2QmsFLagElBxluzuxQ+NscDfxUPS3d5sVTLqXgTdv
5yvhUgyVuH5dbYrV5n1bHJaQBMJCQwgJi64aQ/icrxVLwWLsZTbAtnG0aEn8DEDUiVytNOGe8Qcw
PF0p5/DxeQpXgP8QM6ybz4o19trcC+SH7dvHYr6DaGQdfFijvGBzJI9prc5hCnzBp/G0k249K6B7
B1dZ72KV1rJBKztyfh5S338W1GfrSXsyPUd/KTnGLUd5FzClKHOrPEV1z1nWGz9tOCwbpITEcImT
yfC4v1BLAwQUAAAACABuXZY7FVA6XacAAAA2AQAAFQAcADAwMDgyMzQ1LzAwMDgyMzQ1LnByb1VU
CQAD0KIwS9CiMEt1eAsAAQToAwAABOgDAACVjc0OgjAQhO/7FJtwNJhSMCoJB4JVDxKg1JsXfppY
jdCQGuLbaxUTr85tv5nZcdx/BQ44mA/9RTYGm0FWRrZYP7AwiT36ASkha9ejLqXC88LAD+nSlv5f
gkLgR7MIR1lflQEQMd8xgRESQlbUDxYgWJofYsFerNIaAMrsyBNW2tatUt280foE06c3GVXX9qPl
AHsWbxgv8ZuevDPANuNpOa3/OHcFT1BLAwQUAAAACABuXZY7XywtroIAAACxAAAAEQAcADAwMDgy
MzQ1L21haW4uY3BwVVQJAAPQojBL0KIwS3V4CwABBOgDAAAE6AMAAFPOzEvOKU1JVbAJLHEvzdQP
dCwoyMlMTizJzM+z41KGySrlJmbmlWfmpeSX62UocXFl5pUogIQ0QIzEovRkHYXkjMQiBS0guyw6
VpOrmksBCJBNU0jUgCgEKdG0Bsv7Ao0IB5uqUA4RKdcrzsgv14DKF6WWlBYBdeqlVqQmgwRruQBQ
SwMEFAAAAAgAFmOWOyCHPRf2AQAAYQQAABcAHAAwMDA4MjM0NS9tYWlud2luZG93LmNwcFVUCQAD
fKwwS32sMEt1eAsAAQToAwAABOgDAAB1U8Fu4jAQvfMV3nBxUEB7TneR2qpdrURbsYXluDLJQCwc
G9lj0lXFfvtOTAJJRXNJNO/NezPPzlDqTPkcWFQKqSupc1NNimgwPNe9/PMJ9G2+gvVvCdX0Q+3R
ihI+Fh8UlKCxV34C58QW7sxbr7y0ajoYPJHrKrim6eWbz1cy3wKy0V5Y0otZOmD0zDuUBkkC4CXX
ULGl7KrEg/cGHE8doN8vJcdCuvjmXK5OuwWcBuL1VDyibnibFFiqKL5GDpXMaA0Z8hpBcHjnEY1O
2OvPH8+3M54pme0g53GcsNqUgNnLghu9IO59DRJE4sd+Bv86G7bz56AAgUYI7IOROeu2ZIXQW3g4
UBp8Hl5sBG3v/DMmNIu5SmJWMA60xd890FDs1JkJB+ykl6YzavR0iPdB4XQYbSwW0ArtlEDoB1w/
awtid9OssRFeYXoNO17drBdWu1B79UYs8zZ8se/949nToDweTwmvr0jg8GYmuWG87YtD5f08T+cC
M4q8JN2WOp7mJvM10hB4PNnQlI/SOuTRUJmt1FFn79rnSy0yke7ZK0W5nrGLY3B9RSv1llGMZBha
BFJp7RF4dBDKQ5SwSBtKlmgp79qcjvj8g6Wp1BtjS4HSaP6V2n6Bo8xJgOSTPvVlR0I9pWBOf8Lt
Ff+Ft6ig6328nNx/UEsBAh4DCgAAAAAAL2SWOwAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BAAAA
ADAwMDgyMzQ1L1VUBQADiq4wS3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAAAIAOBeljvWigSNZAAA
AIIAAAATABgAAAAAAAEAAACkgUMAAAAwMDA4MjM0NS9pbmRleC5odG1sVVQFAAOEpTBLdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAAAAAgAB1+WO8TN/1k/AgAAfgYAABYAGAAAAAAAAQAAAKSB9AAAADAw
MDgyMzQ1L21haW53aW5kb3cudWlVVAUAA82lMEt1eAsAAQToAwAABOgDAABQSwECHgMUAAAACAD7
YZY7v/HZdN8AAACHAQAAFQAYAAAAAAABAAAApIGDAwAAMDAwODIzNDUvbWFpbndpbmRvdy5oVVQF
AANqqjBLdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAAAAgAbl2WOxVQOl2nAAAANgEAABUAGAAAAAAA
AQAAAKSBsQQAADAwMDgyMzQ1LzAwMDgyMzQ1LnByb1VUBQAD0KIwS3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAAAIAG5dljtfLC2uggAAALEAAAARABgAAAAAAAEAAACkgacFAAAwMDA4MjM0NS9tYWlu
LmNwcFVUBQAD0KIwS3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAAAIABZjljsghz0X9gEAAGEEAAAX
ABgAAAAAAAEAAACkgXQGAAAwMDA4MjM0NS9tYWlud2luZG93LmNwcFVUBQADfKwwS3V4CwABBOgD
AAAE6AMAAFBLBQYAAAAABwAHAG4CAAC7CAAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72454</attachid>
            <date>2010-10-31 05:28:23 -0700</date>
            <delta_ts>2010-12-31 08:09:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32865-20101031122821.patch</filename>
            <type>text/plain</type>
            <size>7533</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwIGIvV2ViS2l0L3F0L0Fw
aS9xd2ViZWxlbWVudC5jcHAKaW5kZXggNjhmYTE3YWYzNmVkMDk3MzU3MTIxNDBjNzc5MzFhOTEy
OTllMTY1Zi4uNmE4ZDY1ZTljMDdjODhjMGY2NTRlMjMzZjQ3YmJmNjJjNjQwZmMwOCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9x
d2ViZWxlbWVudC5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgor
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
ZiBVU0UoSlNDKQogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNIVE1M
RWxlbWVudC5oIgpAQCAtOTUsOSArOTcsOSBAQCBwdWJsaWM6CiAKICAgICBcc25pcHBldCB3ZWJr
aXRzbmlwcGV0cy93ZWJlbGVtZW50L21haW4uY3BwIFRyYXZlcnNpbmcgd2l0aCBRV2ViRWxlbWVu
dAogCi0gICAgSW5kaXZpZHVhbCBlbGVtZW50cyBjYW4gYmUgaW5zcGVjdGVkIG9yIGNoYW5nZWQg
dXNpbmcgbWV0aG9kcyBzdWNoIGFzIGF0dHJpYnV0ZSgpCi0gICAgb3Igc2V0QXR0cmlidXRlKCku
IEZvciBleGFtbGUsIHRvIGNhcHR1cmUgdGhlIHVzZXIncyBpbnB1dCBpbiBhIHRleHQgZmllbGQg
Zm9yIGxhdGVyCi0gICAgdXNlIChhdXRvLWNvbXBsZXRpb24pLCBhIGJyb3dzZXIgY291bGQgZG8g
c29tZXRoaW5nIGxpa2UgdGhpczoKKyAgICBJbmRpdmlkdWFsIGVsZW1lbnRzIGNhbiBiZSBpbnNw
ZWN0ZWQgb3IgY2hhbmdlZCB1c2luZyBtZXRob2RzIHN1Y2ggYXMgY3VycmVudFZhbHVlKCksCisg
ICAgYXR0cmlidXRlKCkgb3Igc2V0QXR0cmlidXRlKCkuIEZvciBleGFtcGxlLCB0byBjYXB0dXJl
IHRoZSB1c2VyJ3MgaW5wdXQgaW4gYSB0ZXh0CisgICAgZmllbGQgZm9yIGxhdGVyIHVzZSAoYXV0
by1jb21wbGV0aW9uKSwgYSBicm93c2VyIGNvdWxkIGRvIHNvbWV0aGluZyBsaWtlIHRoaXM6CiAK
ICAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy93ZWJlbGVtZW50L21haW4uY3BwIGF1dG9jb21w
bGV0ZTEKIApAQCAtMzg1LDE1ICszODcsMzUgQEAgdm9pZCBRV2ViRWxlbWVudDo6c2V0QXR0cmli
dXRlTlMoY29uc3QgUVN0cmluZyAmbmFtZXNwYWNlVXJpLCBjb25zdCBRU3RyaW5nICZuYW0KIH0K
IAogLyohCisgICAgUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiBhbiBpbnB1dCBlbGVtZW50
LiBUbyByZXRyaWV2ZSB0aGUgaW5pdGlhbCB2YWx1ZQorICAgIG9mIHRoZSBpbnB1dCBlbGVtZW50
IGFzIGRlZmluZWQgYnkgdGhlIEhUTUwgKGUuZy4gIjxpbnB1dCB0eXBlPSd0ZXh0JyB2YWx1ZT0n
aW5pdGlhbHZhbHVlJz4iKSwKKyAgICB1c2UgYXR0cmlidXRlKCkgb3IgYXR0cmlidXRlTlMoKS4K
KworICAgIFxub3RlIElmIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZWxlbWVudCBoYXMgbm90IGJl
ZW4gdXBkYXRlZCBieSB1c2VyIGlucHV0CisgICAgb3IgYnkgSmF2YXNjcmlwdCBhbmQgYW4gaW5p
dGlhbCB2YWx1ZSB3YXMgZGVmaW5lZCBmb3IgdGhlIGVsZW1lbnQsIHRoaXMKKyAgICBmdW5jdGlv
biB3aWxsIHJldHVybiB0aGUgaW5pdGlhbCB2YWx1ZS4KKworICAgIFxzYSBhdHRyaWJ1dGUoKSwg
YXR0cmlidXRlTlMoKQorKi8KK1FTdHJpbmcgUVdlYkVsZW1lbnQ6OmN1cnJlbnRWYWx1ZSgpIGNv
bnN0Cit7CisgICAgaWYgKCFtX2VsZW1lbnQgfHwgIW1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmlucHV0VGFnKSkKKyAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9lbGVtZW50KS0+dmFsdWUoKTsKK30K
KworLyohCiAgICAgUmV0dXJucyB0aGUgYXR0cmlidXRlIHdpdGggdGhlIGdpdmVuIFxhIG5hbWUu
IElmIHRoZSBhdHRyaWJ1dGUgZG9lcyBub3QKICAgICBleGlzdCwgXGEgZGVmYXVsdFZhbHVlIGlz
IHJldHVybmVkLgogCi0gICAgXHNhIHNldEF0dHJpYnV0ZSgpLCBzZXRBdHRyaWJ1dGVOUygpLCBh
dHRyaWJ1dGVOUygpCisgICAgXHNhIHNldEF0dHJpYnV0ZSgpLCBzZXRBdHRyaWJ1dGVOUygpLCBh
dHRyaWJ1dGVOUygpLCBjdXJyZW50VmFsdWUoKQogKi8KIFFTdHJpbmcgUVdlYkVsZW1lbnQ6OmF0
dHJpYnV0ZShjb25zdCBRU3RyaW5nICZuYW1lLCBjb25zdCBRU3RyaW5nICZkZWZhdWx0VmFsdWUp
IGNvbnN0CiB7CiAgICAgaWYgKCFtX2VsZW1lbnQpCiAgICAgICAgIHJldHVybiBRU3RyaW5nKCk7
CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1dGUobmFtZSkpCiAgICAgICAgIHJldHVy
biBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1lKTsKICAgICBlbHNlCkBAIC00MDQsMTIgKzQy
NiwxMyBAQCBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUoY29uc3QgUVN0cmluZyAmbmFt
ZSwgY29uc3QgUVN0cmluZyAmZGVmYXVsdFZhbHVlKQogICAgIFJldHVybnMgdGhlIGF0dHJpYnV0
ZSB3aXRoIHRoZSBnaXZlbiBcYSBuYW1lIGluIFxhIG5hbWVzcGFjZVVyaS4gSWYgdGhlCiAgICAg
YXR0cmlidXRlIGRvZXMgbm90IGV4aXN0LCBcYSBkZWZhdWx0VmFsdWUgaXMgcmV0dXJuZWQuCiAK
LSAgICBcc2Egc2V0QXR0cmlidXRlTlMoKSwgc2V0QXR0cmlidXRlKCksIGF0dHJpYnV0ZSgpCisg
ICAgXHNhIHNldEF0dHJpYnV0ZU5TKCksIHNldEF0dHJpYnV0ZSgpLCBhdHRyaWJ1dGUoKSwgY3Vy
cmVudFZhbHVlKCkKICovCiBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGVOUyhjb25zdCBR
U3RyaW5nICZuYW1lc3BhY2VVcmksIGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcg
JmRlZmF1bHRWYWx1ZSkgY29uc3QKIHsKICAgICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0
dXJuIFFTdHJpbmcoKTsKKwogICAgIGlmIChtX2VsZW1lbnQtPmhhc0F0dHJpYnV0ZU5TKG5hbWVz
cGFjZVVyaSwgbmFtZSkpCiAgICAgICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZU5T
KG5hbWVzcGFjZVVyaSwgbmFtZSk7CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0Fw
aS9xd2ViZWxlbWVudC5oIGIvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5oCmluZGV4IGI5NGMz
NzI2NmZhNzBiMGFlOGRiYzA1OTQ0YzU4NzFjYmZjYTNiNjMuLjBhMGMyMDFkNDYxNmZlYWRiNWE0
MTMzNDNlMjA0MjU5OTYxNTFkMDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1l
bnQuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmgKQEAgLTg5LDYgKzg5LDcgQEAg
cHVibGljOgogICAgIHZvaWQgcmVtb3ZlQXR0cmlidXRlTlMoY29uc3QgUVN0cmluZyYgbmFtZXNw
YWNlVXJpLCBjb25zdCBRU3RyaW5nJiBuYW1lKTsKICAgICBib29sIGhhc0F0dHJpYnV0ZXMoKSBj
b25zdDsKICAgICBRU3RyaW5nTGlzdCBhdHRyaWJ1dGVOYW1lcyhjb25zdCBRU3RyaW5nJiBuYW1l
c3BhY2VVcmkgPSBRU3RyaW5nKCkpIGNvbnN0OworICAgIFFTdHJpbmcgY3VycmVudFZhbHVlKCkg
Y29uc3Q7CiAKICAgICBRU3RyaW5nTGlzdCBjbGFzc2VzKCkgY29uc3Q7CiAgICAgYm9vbCBoYXND
bGFzcyhjb25zdCBRU3RyaW5nJiBuYW1lKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDA4ZWU5MDgxYTUxZTUwMGZmNzgx
MTU3MWE5YjcyZDA3ODRjOGFiMmIuLjUzYTlmNjc2OTA2Y2EwNjc0MjllMmU4MzViZjcwMWE2ZTBh
MDcyZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEwLTEwLTMxICBSb2JlcnQgSG9nYW4gIDxyb2Jl
cnRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbUXRdIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgYWx3YXlzIHJldHVybnMgZW1wdHkg
cmVzdWx0IGZvciBpbnB1dCdzIHZhbHVlcworCisgICAgICAgIE1vc3QgSFRNTElucHV0RWxlbWVu
dHMgc3RvcmUgdGhlaXIgdmFsdWUgc2VwYXJhdGVseSBmcm9tIHRoZQorICAgICAgICBhdHRyaWJ1
dGUgbWFwLCB3aGljaCBtZWFucyBlYWNoIHZhbHVlIGhhcyB0d28gY29waWVzLgorCisgICAgICAg
IENsaWVudHMgc2hvdWxkIHJldGFpbiBhY2Nlc3MgdG8gdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhl
IGlucHV0CisgICAgICAgIGVsZW1lbnQgdGhyb3VnaCBhdHRyaWJ1dGUoKSBhbmQgcmV0cmlldmUg
c3Vic2VxdWVudCB1c2VyIG9yCisgICAgICAgIEphdmFzY3JpcHQgdXBkYXRlcyB0byB0aGUgaW5w
dXQgZmllbGQgdGhyb3VnaCBhIGNhbGwgdG8KKyAgICAgICAgUVdlYkVsZW1lbnQ6OmN1cnJlbnRW
YWx1ZSgpLgorCisgICAgICAgIEFkZCBRV2ViRWxlbWVudDo6Y3VycmVudFZhbHVlKCkKKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI4NjUKKworICAg
ICAgICAqIEFwaS9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgIChRV2ViRWxlbWVudDo6Y3VycmVu
dFZhbHVlKToKKyAgICAgICAgKFFXZWJFbGVtZW50OjphdHRyaWJ1dGUpOgorICAgICAgICAoUVdl
YkVsZW1lbnQ6OmF0dHJpYnV0ZU5TKToKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1lbnQuaDoKKyAg
ICAgICAgKiBkb2NzL3dlYmtpdHNuaXBwZXRzL3dlYmVsZW1lbnQvbWFpbi5jcHA6CisgICAgICAg
IChhdXRvY29tcGxldGUxKToKKyAgICAgICAgKiB0ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVs
ZW1lbnQuY3BwOgorICAgICAgICAodHN0X1FXZWJFbGVtZW50OjpjdXJyZW50VmFsdWUpOgorCiAy
MDEwLTEwLTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L2RvY3Mvd2Vi
a2l0c25pcHBldHMvd2ViZWxlbWVudC9tYWluLmNwcCBiL1dlYktpdC9xdC9kb2NzL3dlYmtpdHNu
aXBwZXRzL3dlYmVsZW1lbnQvbWFpbi5jcHAKaW5kZXggYjE3ODFhNmY0NDhkOTg0NjQzZDljZDNk
MTQ2NzRiNjFjNjRhMGJmYy4uY2ZjYTZjMGI3ODUxYTkzMGIwZDk5NmQ3MGUyODgwOTY0MGRlMTkw
MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L2RvY3Mvd2Via2l0c25pcHBldHMvd2ViZWxlbWVudC9t
YWluLmNwcAorKysgYi9XZWJLaXQvcXQvZG9jcy93ZWJraXRzbmlwcGV0cy93ZWJlbGVtZW50L21h
aW4uY3BwCkBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyB2b2lkIGF1dG9jb21wbGV0ZTEoKQogCiAv
LyEgW2F1dG9jb21wbGV0ZTFdCiAgICAgUVdlYkVsZW1lbnQgZmlyc3RUZXh0SW5wdXQgPSBkb2N1
bWVudC5maW5kRmlyc3QoImlucHV0W3R5cGU9dGV4dF0iKTsKLSAgICBRU3RyaW5nIHN0b3JlZFRl
eHQgPSBmaXJzdFRleHRJbnB1dC5hdHRyaWJ1dGUoInZhbHVlIik7CisgICAgUVN0cmluZyBzdG9y
ZWRUZXh0ID0gZmlyc3RUZXh0SW5wdXQuY3VycmVudFZhbHVlKCk7CiAvLyEgW2F1dG9jb21wbGV0
ZTFdCiAKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdl
YmVsZW1lbnQuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVu
dC5jcHAKaW5kZXggOWJkMjU1ZmEwMzIzNTcyMWY2MWU4NjQzZDU5OTVjOGM0YTU3OWEyZS4uMTg5
NDllMjBlZTNiZTViMjQyMzQ3MWEzYzZmNGNmZmJlMmEyNmQwZSAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKKysrIGIvV2ViS2l0L3F0
L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKQEAgLTQzLDYgKzQzLDcgQEAg
cHVibGljIHNsb3RzOgogcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIHRleHRIdG1sKCk7CiAgICAg
dm9pZCBzaW1wbGVDb2xsZWN0aW9uKCk7CisgICAgdm9pZCBjdXJyZW50VmFsdWUoKTsKICAgICB2
b2lkIGF0dHJpYnV0ZXMoKTsKICAgICB2b2lkIGF0dHJpYnV0ZXNOUygpOwogICAgIHZvaWQgbGlz
dEF0dHJpYnV0ZXMoKTsKQEAgLTEyMyw2ICsxMjQsMjkgQEAgdm9pZCB0c3RfUVdlYkVsZW1lbnQ6
OnNpbXBsZUNvbGxlY3Rpb24oKQogICAgIFFDT01QQVJFKGxpc3QuYXQoMSkudG9QbGFpblRleHQo
KSwgUVN0cmluZygic2Vjb25kIHBhcmEiKSk7CiB9CiAKK3ZvaWQgdHN0X1FXZWJFbGVtZW50Ojpj
dXJyZW50VmFsdWUoKQoreworICAgIC8vIE5vbi1pbnB1dCBlbGVtZW50cyBhbHdheXMgcmV0dXJu
IGEgYmxhbmsgY3VycmVudFZhbHVlCisgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxib2R5Pjxw
PmZpcnN0IHBhcmE8L3A+PC9ib2R5PiIpOworICAgIFFXZWJFbGVtZW50IGlucHV0RWxlbWVudCA9
IG1fbWFpbkZyYW1lLT5kb2N1bWVudEVsZW1lbnQoKS5maW5kRmlyc3QoInAiKTsKKyAgICBRQ09N
UEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCkpOworCisgICAg
Ly8gTm8gaW5pdGlhbCB2YWx1ZSBhbmQgbm8gaW5wdXQsIGN1cnJlbnRWYWx1ZSBpcyBibGFuawor
ICAgIG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8Ym9keT48aW5wdXQgaWQ9J3Rlc3QnIG5hbWU9J3Rl
c3QnPjwvaW5wdXQ+PC9ib2R5PiIpOworICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5k
b2N1bWVudEVsZW1lbnQoKS5maW5kRmlyc3QoIiN0ZXN0Iik7CisgICAgUUNPTVBBUkUoaW5wdXRF
bGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygpKTsKKworICAgIC8vIEluaXRpYWwg
dmFsdWUgYnV0IG5vIGlucHV0LCBjdXJyZW50VmFsdWUgaXMgaW5pdGlhbCB2YWx1ZQorICAgIG1f
bWFpbkZyYW1lLT5zZXRIdG1sKCI8Ym9keT48aW5wdXQgaWQ9J3Rlc3QnIG5hbWU9J3Rlc3QnIHZh
bHVlPSdvdGhlcnRleHQnPjwvaW5wdXQ+PC9ib2R5PiIpOworICAgIGlucHV0RWxlbWVudCA9IG1f
bWFpbkZyYW1lLT5kb2N1bWVudEVsZW1lbnQoKS5maW5kRmlyc3QoIiN0ZXN0Iik7CisKKyAgICAv
LyBJbml0aWFsIHZhbHVlIGFuZCBzdWJzZXF1ZW50IGlucHV0LCBjdXJyZW50VmFsdWUgcmVmbGVj
dHMgaW5wdXQKKyAgICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0
ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUu
dmFsdWUgPSB0ZXh0OyB9Iik7CisgICAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgi
dGVzdG1lKCd0ZXh0JykiKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2
YWx1ZSIpLCBRU3RyaW5nKCJvdGhlcnRleHQiKSk7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50
LmN1cnJlbnRWYWx1ZSgpLCBRU3RyaW5nKCJ0ZXh0IikpOworfQorCiB2b2lkIHRzdF9RV2ViRWxl
bWVudDo6YXR0cmlidXRlcygpCiB7CiAgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxib2R5Pjxw
PlRlc3QiKTsK
</data>
<flag name="review"
          id="62709"
          type_id="1"
          status="-"
          setter="ariya.hidayat"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89729</attachid>
            <date>2011-04-14 21:15:58 -0700</date>
            <delta_ts>2011-04-25 01:09:14 -0700</delta_ts>
            <desc>attribute/setAttribute patch to be compatible with html inputs&apos; values</desc>
            <filename>quick_attr_patch.diff</filename>
            <type>text/plain</type>
            <size>1186</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtdSBBL3F3ZWJlbGVtZW50LmNwcCBCL3F3ZWJlbGVtZW50LmNwcAotLS0gQS9xd2ViZWxl
bWVudC5jcHAJRnJpIEFwciAxNSAxMToxMzowMiAyMDExCisrKyBCL3F3ZWJlbGVtZW50LmNwcAlU
aHUgQXByIDE0IDE3OjMwOjI1IDIwMTEKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCINCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiDQogI2luY2x1ZGUgIkhUTUxF
bGVtZW50LmgiDQorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCINCisjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiDQogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiDQogI2luY2x1ZGUgIkpTSFRN
TEVsZW1lbnQuaCINCiAjaW5jbHVkZSAiSlNPYmplY3QuaCINCkBAIC0xMjIsNiArMTI0LDcgQEAK
ICAgICBmZWF0dXJlcyBvZiB0aGlzIGNsYXNzIGFuZCBwcm92aWRlcyBzYW1wbGUgY29kZSB5b3Ug
Y2FuIHN0YXJ0IHdvcmtpbmcgd2l0aC4NCiAqLw0KIA0KKw0KIC8qIQ0KICAgICBDb25zdHJ1Y3Rz
IGEgbnVsbCB3ZWIgZWxlbWVudC4NCiAqLw0KQEAgLTM1Niw2ICszNTksOSBAQAogICAgICAgICBy
ZXR1cm47DQogICAgIEV4Y2VwdGlvbkNvZGUgZXhjZXB0aW9uID0gMDsNCiAgICAgbV9lbGVtZW50
LT5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIGV4Y2VwdGlvbik7DQorDQorICAgIGlmIChtX2Vs
ZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykgJiYgKEhUTUxOYW1lczo6dmFs
dWVBdHRyID09IG5hbWUpKQ0KKyAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+
KG1fZWxlbWVudCktPnNldFZhbHVlKHZhbHVlLCB0cnVlKTsNCiB9DQogDQogLyohDQpAQCAtMzgz
LDYgKzM4OSwxMCBAQAogew0KICAgICBpZiAoIW1fZWxlbWVudCkNCiAgICAgICAgIHJldHVybiBR
U3RyaW5nKCk7DQorDQorICAgIGlmIChtX2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpp
bnB1dFRhZykgJiYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5hbWUpKQ0KKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihtX2VsZW1lbnQpLT52YWx1ZSgpOw0K
Kw0KICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1dGUobmFtZSkpDQogICAgICAgICByZXR1
cm4gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUobmFtZSk7DQogICAgIGVsc2UNCg==
</data>
<flag name="review"
          id="82450"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90906</attachid>
            <date>2011-04-25 01:09:14 -0700</date>
            <delta_ts>2011-04-25 01:56:34 -0700</delta_ts>
            <desc>New patch, with &quot;checked&quot; attribute support</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>2252</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gODQ3NjQp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpZiBVU0UoSlNDKQogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudC5oIgpAQCAt
Mzc5LDYgKzM4MSwxOCBAQCB2b2lkIFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUoY29uc3QgUVN0
CiAgICAgICAgIHJldHVybjsKICAgICBFeGNlcHRpb25Db2RlIGV4Y2VwdGlvbiA9IDA7CiAgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIGV4Y2VwdGlvbik7CisKKyAgICBp
ZiAobV9lbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKQorICAgIHsKKyAg
ICAgICBIVE1MSW5wdXRFbGVtZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1
dEVsZW1lbnQqPihtX2VsZW1lbnQpOworICAgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1ZUF0dHIg
PT0gbmFtZSkKKyAgICAgICAgICBodG1sRWxlbWVudC0+c2V0VmFsdWUodmFsdWUsIHRydWUpOwor
ICAgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6OmNoZWNrZWRBdHRyID09IG5hbWUpCisgICAgICAg
IHsKKyAgICAgICAgICBib29sIGNoZWNrZWQgPSAoUVN0cmluZzo6Y29tcGFyZSh2YWx1ZSwgImNo
ZWNrZWQiLCBRdDo6Q2FzZUluc2Vuc2l0aXZlKSA9PSAwKTsKKyAgICAgICAgICBodG1sRWxlbWVu
dC0+c2V0Q2hlY2tlZChjaGVja2VkLCB0cnVlKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogLyoh
CkBAIC00MDYsNiArNDIwLDE2IEBAIFFTdHJpbmcgUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZShjb25z
dCBRU3QKIHsKICAgICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsK
KworICAgIGlmIChtX2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpCisg
ICAgeworICAgICAgSFRNTElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxI
VE1MSW5wdXRFbGVtZW50Kj4obV9lbGVtZW50KTsKKyAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVl
QXR0ciA9PSBuYW1lKQorICAgICAgICByZXR1cm4gaHRtbEVsZW1lbnQtPnZhbHVlKCk7CisgICAg
ICBlbHNlIGlmIChIVE1MTmFtZXM6OmNoZWNrZWRBdHRyID09IG5hbWUpCisgICAgICAgIHJldHVy
biBodG1sRWxlbWVudC0+Y2hlY2tlZCgpID8gImNoZWNrZWQiIDogIiI7CisgICAgfQorCiAgICAg
aWYgKG1fZWxlbWVudC0+aGFzQXR0cmlidXRlKG5hbWUpKQogICAgICAgICByZXR1cm4gbV9lbGVt
ZW50LT5nZXRBdHRyaWJ1dGUobmFtZSk7CiAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwko
cmV2aXNpb24gODQ3NjgpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA0LTI1ICAgIDw+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBRV2ViRWxlbWVudDo6YXR0cmli
dXRlIGFsd2F5cyByZXR1cm5zIGVtcHR5IHJlc3VsdCBmb3IgaW5wdXQncyB2YWx1ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyODY1CisKKyAgICAg
ICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnNldEF0dHJp
YnV0ZSk6CisgICAgICAgIChRV2ViRWxlbWVudDo6YXR0cmlidXRlKToKKwogMjAxMS0wNC0yMiAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg0NjI3Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90907</attachid>
            <date>2011-04-25 01:56:34 -0700</date>
            <delta_ts>2011-04-25 02:16:03 -0700</delta_ts>
            <desc>style fixed</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>2227</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gODQ3NjQp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpZiBVU0UoSlNDKQogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudC5oIgpAQCAt
Mzc5LDYgKzM4MSwxNiBAQCB2b2lkIFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUoY29uc3QgUVN0
CiAgICAgICAgIHJldHVybjsKICAgICBFeGNlcHRpb25Db2RlIGV4Y2VwdGlvbiA9IDA7CiAgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIGV4Y2VwdGlvbik7CisKKyAgICBp
ZiAobV9lbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7CisgICAgICAg
SFRNTElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVt
ZW50Kj4obV9lbGVtZW50KTsKKyAgICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5h
bWUpCisgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldFZhbHVlKHZhbHVlLCB0cnVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoSFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKSB7CisgICAgICAgICAg
Ym9vbCBjaGVja2VkID0gIVFTdHJpbmc6OmNvbXBhcmUodmFsdWUsICJjaGVja2VkIiwgUXQ6OkNh
c2VJbnNlbnNpdGl2ZSk7CisgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldENoZWNrZWQoY2hlY2tl
ZCwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIC8qIQpAQCAtNDA2LDYgKzQxOCwxNSBA
QCBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUoY29uc3QgUVN0CiB7CiAgICAgaWYgKCFt
X2VsZW1lbnQpCiAgICAgICAgIHJldHVybiBRU3RyaW5nKCk7CisKKyAgICBpZiAobV9lbGVtZW50
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7CisgICAgICBIVE1MSW5wdXRFbGVt
ZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihtX2VsZW1l
bnQpOworICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5hbWUpCisgICAgICAgIHJl
dHVybiBodG1sRWxlbWVudC0+dmFsdWUoKTsKKyAgICAgIGVsc2UgaWYgKEhUTUxOYW1lczo6Y2hl
Y2tlZEF0dHIgPT0gbmFtZSkKKyAgICAgICAgcmV0dXJuIGh0bWxFbGVtZW50LT5jaGVja2VkKCkg
PyAiY2hlY2tlZCIgOiAiIjsKKyAgICB9CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1
dGUobmFtZSkpCiAgICAgICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1lKTsK
ICAgICBlbHNlCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZw0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NDc2OCkKKysrIFNvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTEtMDQtMjUgICAgPD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbUXRdIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgYWx3YXlzIHJldHVybnMgZW1wdHkg
cmVzdWx0IGZvciBpbnB1dCdzIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzI4NjUKKworICAgICAgICAqIEFwaS9xd2ViZWxlbWVudC5jcHA6
CisgICAgICAgIChRV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKToKKyAgICAgICAgKFFXZWJFbGVt
ZW50OjphdHRyaWJ1dGUpOgorCiAyMDExLTA0LTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODQ2
MjcuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90908</attachid>
            <date>2011-04-25 02:16:03 -0700</date>
            <delta_ts>2011-04-27 00:18:43 -0700</delta_ts>
            <desc>warning fixed</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>2276</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gODQ3NjQp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpZiBVU0UoSlNDKQogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudC5oIgpAQCAt
Mzc5LDYgKzM4MSwxNiBAQCB2b2lkIFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUoY29uc3QgUVN0
CiAgICAgICAgIHJldHVybjsKICAgICBFeGNlcHRpb25Db2RlIGV4Y2VwdGlvbiA9IDA7CiAgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIGV4Y2VwdGlvbik7CisKKyAgICBp
ZiAobV9lbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7CisgICAgICAg
SFRNTElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVt
ZW50Kj4obV9lbGVtZW50KTsKKyAgICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5h
bWUpCisgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldFZhbHVlKHZhbHVlLCB0cnVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoSFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKSB7CisgICAgICAgICAg
Ym9vbCBjaGVja2VkID0gIVFTdHJpbmc6OmNvbXBhcmUodmFsdWUsIFFTdHJpbmc6OmZyb21MYXRp
bjEoImNoZWNrZWQiKSwgUXQ6OkNhc2VJbnNlbnNpdGl2ZSk7CisgICAgICAgICAgaHRtbEVsZW1l
bnQtPnNldENoZWNrZWQoY2hlY2tlZCwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIC8q
IQpAQCAtNDA2LDYgKzQxOCwxNSBAQCBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUoY29u
c3QgUVN0CiB7CiAgICAgaWYgKCFtX2VsZW1lbnQpCiAgICAgICAgIHJldHVybiBRU3RyaW5nKCk7
CisKKyAgICBpZiAobV9lbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7
CisgICAgICBIVE1MSW5wdXRFbGVtZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJ
bnB1dEVsZW1lbnQqPihtX2VsZW1lbnQpOworICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRy
ID09IG5hbWUpCisgICAgICAgIHJldHVybiBodG1sRWxlbWVudC0+dmFsdWUoKTsKKyAgICAgIGVs
c2UgaWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkKKyAgICAgICAgcmV0dXJuIGh0
bWxFbGVtZW50LT5jaGVja2VkKCkgPyBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIikgOiBR
U3RyaW5nKCk7CisgICAgfQorCiAgICAgaWYgKG1fZWxlbWVudC0+aGFzQXR0cmlidXRlKG5hbWUp
KQogICAgICAgICByZXR1cm4gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUobmFtZSk7CiAgICAgZWxz
ZQpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gODQ3NjgpCisrKyBTb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA0LTI1
ICAgIDw+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBRV2ViRWxlbWVudDo6YXR0cmlidXRlIGFsd2F5cyByZXR1cm5zIGVtcHR5IHJlc3VsdCBm
b3IgaW5wdXQncyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMyODY1CisKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAg
ICAoUVdlYkVsZW1lbnQ6OnNldEF0dHJpYnV0ZSk6CisgICAgICAgIChRV2ViRWxlbWVudDo6YXR0
cmlidXRlKToKKwogMjAxMS0wNC0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg0NjI3Lgo=
</data>
<flag name="review"
          id="83678"
          type_id="1"
          status="-"
          setter="tonikitoo"
    />
    <flag name="commit-queue"
          id="83679"
          type_id="3"
          status="-"
          setter="tonikitoo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>91244</attachid>
            <date>2011-04-27 00:18:43 -0700</date>
            <delta_ts>2011-04-27 00:36:45 -0700</delta_ts>
            <desc>changelog and tests added</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>2276</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gODQ3NjQp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpZiBVU0UoSlNDKQogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudC5oIgpAQCAt
Mzc5LDYgKzM4MSwxNiBAQCB2b2lkIFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUoY29uc3QgUVN0
CiAgICAgICAgIHJldHVybjsKICAgICBFeGNlcHRpb25Db2RlIGV4Y2VwdGlvbiA9IDA7CiAgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIGV4Y2VwdGlvbik7CisKKyAgICBp
ZiAobV9lbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7CisgICAgICAg
SFRNTElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVt
ZW50Kj4obV9lbGVtZW50KTsKKyAgICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5h
bWUpCisgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldFZhbHVlKHZhbHVlLCB0cnVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoSFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKSB7CisgICAgICAgICAg
Ym9vbCBjaGVja2VkID0gIVFTdHJpbmc6OmNvbXBhcmUodmFsdWUsIFFTdHJpbmc6OmZyb21MYXRp
bjEoImNoZWNrZWQiKSwgUXQ6OkNhc2VJbnNlbnNpdGl2ZSk7CisgICAgICAgICAgaHRtbEVsZW1l
bnQtPnNldENoZWNrZWQoY2hlY2tlZCwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIC8q
IQpAQCAtNDA2LDYgKzQxOCwxNSBAQCBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUoY29u
c3QgUVN0CiB7CiAgICAgaWYgKCFtX2VsZW1lbnQpCiAgICAgICAgIHJldHVybiBRU3RyaW5nKCk7
CisKKyAgICBpZiAobV9lbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7
CisgICAgICBIVE1MSW5wdXRFbGVtZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJ
bnB1dEVsZW1lbnQqPihtX2VsZW1lbnQpOworICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRy
ID09IG5hbWUpCisgICAgICAgIHJldHVybiBodG1sRWxlbWVudC0+dmFsdWUoKTsKKyAgICAgIGVs
c2UgaWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkKKyAgICAgICAgcmV0dXJuIGh0
bWxFbGVtZW50LT5jaGVja2VkKCkgPyBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIikgOiBR
U3RyaW5nKCk7CisgICAgfQorCiAgICAgaWYgKG1fZWxlbWVudC0+aGFzQXR0cmlidXRlKG5hbWUp
KQogICAgICAgICByZXR1cm4gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUobmFtZSk7CiAgICAgZWxz
ZQpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gODQ3NjgpCisrKyBTb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA0LTI1
ICAgIDw+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBRV2ViRWxlbWVudDo6YXR0cmlidXRlIGFsd2F5cyByZXR1cm5zIGVtcHR5IHJlc3VsdCBm
b3IgaW5wdXQncyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMyODY1CisKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAg
ICAoUVdlYkVsZW1lbnQ6OnNldEF0dHJpYnV0ZSk6CisgICAgICAgIChRV2ViRWxlbWVudDo6YXR0
cmlidXRlKToKKwogMjAxMS0wNC0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg0NjI3Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91245</attachid>
            <date>2011-04-27 00:37:46 -0700</date>
            <delta_ts>2011-04-27 00:51:09 -0700</delta_ts>
            <desc>changelog and tests added</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>5936</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCAxZGMzNGI5Li5kYzk1MTkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM3OSw2ICszODEsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVl
QXR0ciA9PSBuYW1lKQorICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwgdHJ1
ZSk7CisgICAgICAgIGVsc2UgaWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkgewor
ICAgICAgICAgIGJvb2wgY2hlY2tlZCA9ICFRU3RyaW5nOjpjb21wYXJlKHZhbHVlLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKCJjaGVja2VkIiksIFF0OjpDYXNlSW5zZW5zaXRpdmUpOworICAgICAgICAg
IGh0bWxFbGVtZW50LT5zZXRDaGVja2VkKGNoZWNrZWQsIHRydWUpOworICAgICAgICB9CisgICAg
fQogfQogCiAvKiEKQEAgLTQwNiw2ICs0MTgsMTUgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6YXR0
cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcgJmRlZmF1bHRWYWx1ZSkK
IHsKICAgICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAg
IGlmIChtX2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAg
IEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KG1fZWxlbWVudCk7CisgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1ZUF0dHIgPT0gbmFt
ZSkKKyAgICAgICAgcmV0dXJuIGh0bWxFbGVtZW50LT52YWx1ZSgpOworICAgICAgZWxzZSBpZiAo
SFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKQorICAgICAgICByZXR1cm4gaHRtbEVsZW1l
bnQtPmNoZWNrZWQoKSA/IFFTdHJpbmc6OmZyb21MYXRpbjEoImNoZWNrZWQiKSA6IFFTdHJpbmco
KTsKKyAgICB9CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1dGUobmFtZSkpCiAgICAg
ICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1lKTsKICAgICBlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IDQ1OTZlMTIuLjg4ZDlhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTEtMDQtMjYgIHdvbGZ5ICA8d29sZnJhbUByaXRzdWthLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3N0IEhUTUxJbnB1dEVs
ZW1lbnRzIHN0b3JlIHRoZWlyIHZhbHVlIGFuZCAiY2hlY2tlZCIgc3RhdGUKKyAgICAgICAgc2Vw
YXJhdGVseSBmcm9tIHRoZSBhdHRyaWJ1dGUgbWFwLCB3aGljaCBtZWFucyBlYWNoIHZhbHVlIGhh
cyB0d28gY29waWVzLgorCisgICAgICAgIENsaWVudHMgc2hvdWxkIGJlIGFibGUgdG8gZ2V0IGFj
dHVhbCB2YWx1ZXMgb2Ygc3VjaCBhdHRyaWJ1dGVzLCBzbworICAgICAgICBRV2ViRWxlbWVudDo6
c2V0QXR0cmlidXRlIGFuZCBRV2ViRWxlbWVudDo6YXR0cmlidXRlIHdhcyBtb2RpZmllZCB0bwor
ICAgICAgICBjYWxsIEhUTUxJbnB1dEVsZW1lbnQ6OmNoZWNrZWQsIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlLAorICAgICAgICBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZSwgYW5kIEhUTUxJbnB1
dEVsZW1lbnQ6OnNldENoZWNrZWQgdG8gbWFrZQorICAgICAgICB2YWx1ZXMgc3luYyB3aXRoIGF0
dHJpYnV0ZSBtYXAKKworICAgICAgICBbUXRdIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgYWx3YXlz
IHJldHVybnMgZW1wdHkgcmVzdWx0IGZvciBpbnB1dCdzIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI4NjUKKworICAgICAgICAqIEFwaS9x
d2ViZWxlbWVudC5jcHA6CisgICAgICAgIChRV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKToKKyAg
ICAgICAgKFFXZWJFbGVtZW50OjphdHRyaWJ1dGUpOgorICAgICAgICAqIHRlc3RzL3F3ZWJlbGVt
ZW50L3RzdF9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgICh0c3RfUVdlYkVsZW1lbnQ6Omh0bWxJ
bnB1dFZhbHVlcyk6CisKIDIwMTEtMDQtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NDYyNy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcAppbmRleCA5ZTk5NDhhLi4xZDRlNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCkBAIC03Miw2
ICs3Miw3IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBoYXNTZXRGb2N1cygpOwogICAgIHZv
aWQgcmVuZGVyKCk7CiAgICAgdm9pZCBhZGRFbGVtZW50VG9IZWFkKCk7CisgICAgdm9pZCBodG1s
SW5wdXRWYWx1ZXMoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyogbV92aWV3OwpAQCAtMTAz
OSw1ICsxMDQwLDQ5IEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjphZGRFbGVtZW50VG9IZWFkKCkK
ICAgICBRQ09NUEFSRShoZWFkLnRvSW5uZXJYbWwoKSwgYXBwZW5kKTsKIH0KIAordm9pZCB0c3Rf
UVdlYkVsZW1lbnQ6Omh0bWxJbnB1dFZhbHVlcygpCit7CisgIC8vIE5vIGluaXRpYWwgdmFsdWUK
KyAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQg
dHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIFw+PC9ib2R5PjwvaHRtbD4iKTsKKyAgUVdlYkVsZW1l
bnQgaW5wdXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7
CisgIFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgIFFDT01QQVJFKGlucHV0RWxl
bWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoKSk7CisKKyAgLy8gSW5pdGlhbCB2YWx1
ZSBhbmQgdXBkYXRlIGZyb20gY3BwIGNvZGUKKyAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1s
PjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cImluaXRpYWxf
dmFsdWVcIiBcPjwvYm9keT48L2h0bWw+Iik7CisgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1l
LT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIpOworICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNO
dWxsKCkpOworICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3Ry
aW5nKCJpbml0aWFsX3ZhbHVlIikpOworICBpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ2YWx1
ZSIsICJuZXdfdmFsdWUiKTsNCisgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZh
bHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsKKw0KKyAgLy8gSW5pdGlhbCB2YWx1ZSBhbmQg
dXBkYXRlIGZyb20gY3BwIGNvZGUsIHRoZW4gZnJvbSBqcyBjb2RlCisgIG1fbWFpbkZyYW1lLT5z
ZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IGlkPVwidGVzdFwiIHR5cGU9
XCJ0ZXh0XCIgdmFsdWU9XCJpbml0aWFsX3ZhbHVlXCIgXD48L2JvZHk+PC9odG1sPiIpOworICBp
bnB1dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAg
UVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgUUNPTVBBUkUoaW5wdXRFbGVtZW50
LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiaW5pdGlhbF92YWx1ZSIpKTsKKyAgaW5wdXRF
bGVtZW50LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAibmV3X3ZhbHVlIik7DQorICBRQ09NUEFSRShp
bnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJuZXdfdmFsdWUiKSk7DQor
ICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkg
eyB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUudmFsdWUgPSB0ZXh0
OyB9Iik7DQorICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJ2pzX3Zh
bHVlJykiKTsNCisgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFT
dHJpbmcoImpzX3ZhbHVlIikpOw0KKw0KKyAgLy8gY2hlY2tlZCBzdGF0ZSAKKyAgbV9tYWluRnJh
bWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIg
dHlwZT1cImNoZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIiBcPjwvYm9keT48L2h0bWw+Iik7
CisgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIp
OworICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOworICBRQ09NUEFSRShpbnB1dEVs
ZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNoZWNrZWQiKSk7CisgIGlucHV0
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiIik7DQorICBRQ09NUEFSRShpbnB1dEVs
ZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCIiKSk7DQorICBtX21haW5GcmFtZS0+
ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUuY2hlY2tlZCA9IHRleHQ7IH0iKTsNCisgIG1f
bWFpbkZyYW1lLT5ldmFsdWF0ZUphdmFTY3JpcHQoInRlc3RtZSgnJykiKTsNCisgIFFDT01QQVJF
KGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygpKTsNCisgIGlucHV0
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpOw0KKyAgUUNPTVBBUkUo
aW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCJjaGVja2VkIikpOw0K
KyAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCcnKSIpOw0KKyAgUUNP
TVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCkpOw0KK30K
KworCiBRVEVTVF9NQUlOKHRzdF9RV2ViRWxlbWVudCkKICNpbmNsdWRlICJ0c3RfcXdlYmVsZW1l
bnQubW9jIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91251</attachid>
            <date>2011-04-27 00:51:09 -0700</date>
            <delta_ts>2011-04-27 00:59:56 -0700</delta_ts>
            <desc>changelog and tests added, style fixed</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>6008</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCAxZGMzNGI5Li5kYzk1MTkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM3OSw2ICszODEsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVl
QXR0ciA9PSBuYW1lKQorICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwgdHJ1
ZSk7CisgICAgICAgIGVsc2UgaWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkgewor
ICAgICAgICAgIGJvb2wgY2hlY2tlZCA9ICFRU3RyaW5nOjpjb21wYXJlKHZhbHVlLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKCJjaGVja2VkIiksIFF0OjpDYXNlSW5zZW5zaXRpdmUpOworICAgICAgICAg
IGh0bWxFbGVtZW50LT5zZXRDaGVja2VkKGNoZWNrZWQsIHRydWUpOworICAgICAgICB9CisgICAg
fQogfQogCiAvKiEKQEAgLTQwNiw2ICs0MTgsMTUgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6YXR0
cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcgJmRlZmF1bHRWYWx1ZSkK
IHsKICAgICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAg
IGlmIChtX2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAg
IEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KG1fZWxlbWVudCk7CisgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1ZUF0dHIgPT0gbmFt
ZSkKKyAgICAgICAgcmV0dXJuIGh0bWxFbGVtZW50LT52YWx1ZSgpOworICAgICAgZWxzZSBpZiAo
SFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKQorICAgICAgICByZXR1cm4gaHRtbEVsZW1l
bnQtPmNoZWNrZWQoKSA/IFFTdHJpbmc6OmZyb21MYXRpbjEoImNoZWNrZWQiKSA6IFFTdHJpbmco
KTsKKyAgICB9CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1dGUobmFtZSkpCiAgICAg
ICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1lKTsKICAgICBlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IDQ1OTZlMTIuLjg4ZDlhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTEtMDQtMjYgIHdvbGZ5ICA8d29sZnJhbUByaXRzdWthLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3N0IEhUTUxJbnB1dEVs
ZW1lbnRzIHN0b3JlIHRoZWlyIHZhbHVlIGFuZCAiY2hlY2tlZCIgc3RhdGUKKyAgICAgICAgc2Vw
YXJhdGVseSBmcm9tIHRoZSBhdHRyaWJ1dGUgbWFwLCB3aGljaCBtZWFucyBlYWNoIHZhbHVlIGhh
cyB0d28gY29waWVzLgorCisgICAgICAgIENsaWVudHMgc2hvdWxkIGJlIGFibGUgdG8gZ2V0IGFj
dHVhbCB2YWx1ZXMgb2Ygc3VjaCBhdHRyaWJ1dGVzLCBzbworICAgICAgICBRV2ViRWxlbWVudDo6
c2V0QXR0cmlidXRlIGFuZCBRV2ViRWxlbWVudDo6YXR0cmlidXRlIHdhcyBtb2RpZmllZCB0bwor
ICAgICAgICBjYWxsIEhUTUxJbnB1dEVsZW1lbnQ6OmNoZWNrZWQsIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlLAorICAgICAgICBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZSwgYW5kIEhUTUxJbnB1
dEVsZW1lbnQ6OnNldENoZWNrZWQgdG8gbWFrZQorICAgICAgICB2YWx1ZXMgc3luYyB3aXRoIGF0
dHJpYnV0ZSBtYXAKKworICAgICAgICBbUXRdIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgYWx3YXlz
IHJldHVybnMgZW1wdHkgcmVzdWx0IGZvciBpbnB1dCdzIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI4NjUKKworICAgICAgICAqIEFwaS9x
d2ViZWxlbWVudC5jcHA6CisgICAgICAgIChRV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKToKKyAg
ICAgICAgKFFXZWJFbGVtZW50OjphdHRyaWJ1dGUpOgorICAgICAgICAqIHRlc3RzL3F3ZWJlbGVt
ZW50L3RzdF9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgICh0c3RfUVdlYkVsZW1lbnQ6Omh0bWxJ
bnB1dFZhbHVlcyk6CisKIDIwMTEtMDQtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NDYyNy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcAppbmRleCA5ZTk5NDhhLi4xZDRlNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCkBAIC03Miw2
ICs3Miw3IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBoYXNTZXRGb2N1cygpOwogICAgIHZv
aWQgcmVuZGVyKCk7CiAgICAgdm9pZCBhZGRFbGVtZW50VG9IZWFkKCk7CisgICAgdm9pZCBodG1s
SW5wdXRWYWx1ZXMoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyogbV92aWV3OwpAQCAtMTAz
OSw1ICsxMDQwLDQ5IEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjphZGRFbGVtZW50VG9IZWFkKCkK
ICAgICBRQ09NUEFSRShoZWFkLnRvSW5uZXJYbWwoKSwgYXBwZW5kKTsKIH0KIAordm9pZCB0c3Rf
UVdlYkVsZW1lbnQ6Omh0bWxJbnB1dFZhbHVlcygpCit7CisgICAgLy8gTm8gaW5pdGlhbCB2YWx1
ZQorICAgIG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlu
cHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiBcPjwvYm9keT48L2h0bWw+Iik7CisgICAgUVdl
YkVsZW1lbnQgaW5wdXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlu
cHV0Iik7CisgICAgUVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFS
RShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCkpOworCisgICAgLy8g
SW5pdGlhbCB2YWx1ZSBhbmQgdXBkYXRlIGZyb20gY3BwIGNvZGUKKyAgICBtX21haW5GcmFtZS0+
c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxpbnB1dCB0eXBlPVwidGV4dFwiIHZh
bHVlPVwiaW5pdGlhbF92YWx1ZVwiIFw+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1l
bnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZ
KCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRy
aWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoImluaXRpYWxfdmFsdWUiKSk7CisgICAgaW5wdXRFbGVt
ZW50LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAibmV3X3ZhbHVlIik7DQorICAgIFFDT01QQVJFKGlu
cHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsKKw0K
KyAgICAvLyBJbml0aWFsIHZhbHVlIGFuZCB1cGRhdGUgZnJvbSBjcHAgY29kZSwgdGhlbiBmcm9t
IGpzIGNvZGUKKyAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxi
b2R5PjxpbnB1dCBpZD1cInRlc3RcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiaW5pdGlhbF92YWx1
ZVwiIFw+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+
ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNO
dWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFT
dHJpbmcoImluaXRpYWxfdmFsdWUiKSk7CisgICAgaW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZSgi
dmFsdWUiLCAibmV3X3ZhbHVlIik7DQorICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1
dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsNCisgICAgbV9tYWluRnJhbWUtPmV2
YWx1YXRlSmF2YVNjcmlwdCgiZnVuY3Rpb24gdGVzdG1lKHRleHQpIHsgdmFyIGUgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOyBlLnZhbHVlID0gdGV4dDsgfSIpOw0KKyAgICBtX21h
aW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJ2pzX3ZhbHVlJykiKTsNCisgICAg
UUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygianNfdmFs
dWUiKSk7DQorDQorICAgIC8vIGNoZWNrZWQgc3RhdGUgCisgICAgbV9tYWluRnJhbWUtPnNldEh0
bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cImNo
ZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIiBcPjwvYm9keT48L2h0bWw+Iik7CisgICAgaW5w
dXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CisgICAg
UVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1l
bnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNoZWNrZWQiKSk7CisgICAgaW5wdXRF
bGVtZW50LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsICIiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRF
bGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiIikpOw0KKyAgICBtX21haW5GcmFt
ZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUuY2hlY2tlZCA9IHRleHQ7IH0iKTsNCisg
ICAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCcnKSIpOw0KKyAgICBR
Q09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoKSk7DQor
ICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpOw0KKyAg
ICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNo
ZWNrZWQiKSk7DQorICAgIG1fbWFpbkZyYW1lLT5ldmFsdWF0ZUphdmFTY3JpcHQoInRlc3RtZSgn
JykiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBR
U3RyaW5nKCkpOw0KK30KKworCiBRVEVTVF9NQUlOKHRzdF9RV2ViRWxlbWVudCkKICNpbmNsdWRl
ICJ0c3RfcXdlYmVsZW1lbnQubW9jIgo=
</data>
<flag name="review"
          id="84061"
          type_id="1"
          status="-"
          setter="wolfram"
    />
    <flag name="commit-queue"
          id="84062"
          type_id="3"
          status="-"
          setter="wolfram"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91252</attachid>
            <date>2011-04-27 01:00:32 -0700</date>
            <delta_ts>2011-04-28 20:30:14 -0700</delta_ts>
            <desc>changelog and tests added, style fixed, typo fixed</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>6008</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCAxZGMzNGI5Li5kYzk1MTkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM3OSw2ICszODEsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVl
QXR0ciA9PSBuYW1lKQorICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwgdHJ1
ZSk7CisgICAgICAgIGVsc2UgaWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkgewor
ICAgICAgICAgIGJvb2wgY2hlY2tlZCA9ICFRU3RyaW5nOjpjb21wYXJlKHZhbHVlLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKCJjaGVja2VkIiksIFF0OjpDYXNlSW5zZW5zaXRpdmUpOworICAgICAgICAg
IGh0bWxFbGVtZW50LT5zZXRDaGVja2VkKGNoZWNrZWQsIHRydWUpOworICAgICAgICB9CisgICAg
fQogfQogCiAvKiEKQEAgLTQwNiw2ICs0MTgsMTUgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6YXR0
cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcgJmRlZmF1bHRWYWx1ZSkK
IHsKICAgICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAg
IGlmIChtX2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAg
IEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KG1fZWxlbWVudCk7CisgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1ZUF0dHIgPT0gbmFt
ZSkKKyAgICAgICAgcmV0dXJuIGh0bWxFbGVtZW50LT52YWx1ZSgpOworICAgICAgZWxzZSBpZiAo
SFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKQorICAgICAgICByZXR1cm4gaHRtbEVsZW1l
bnQtPmNoZWNrZWQoKSA/IFFTdHJpbmc6OmZyb21MYXRpbjEoImNoZWNrZWQiKSA6IFFTdHJpbmco
KTsKKyAgICB9CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1dGUobmFtZSkpCiAgICAg
ICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1lKTsKICAgICBlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IDQ1OTZlMTIuLjg4ZDlhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTEtMDQtMjYgIHdvbGZ5ICA8d29sZnJhbUByaXRzdWthLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3N0IEhUTUxJbnB1dEVs
ZW1lbnRzIHN0b3JlIHRoZWlyIHZhbHVlIGFuZCAiY2hlY2tlZCIgc3RhdGUKKyAgICAgICAgc2Vw
YXJhdGVseSBmcm9tIHRoZSBhdHRyaWJ1dGUgbWFwLCB3aGljaCBtZWFucyBlYWNoIHZhbHVlIGhh
cyB0d28gY29waWVzLgorCisgICAgICAgIENsaWVudHMgc2hvdWxkIGJlIGFibGUgdG8gZ2V0IGFj
dHVhbCB2YWx1ZXMgb2Ygc3VjaCBhdHRyaWJ1dGVzLCBzbworICAgICAgICBRV2ViRWxlbWVudDo6
c2V0QXR0cmlidXRlIGFuZCBRV2ViRWxlbWVudDo6YXR0cmlidXRlIHdhcyBtb2RpZmllZCB0bwor
ICAgICAgICBjYWxsIEhUTUxJbnB1dEVsZW1lbnQ6OmNoZWNrZWQsIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlLAorICAgICAgICBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZSwgYW5kIEhUTUxJbnB1
dEVsZW1lbnQ6OnNldENoZWNrZWQgdG8gbWFrZQorICAgICAgICB2YWx1ZXMgc3luYyB3aXRoIGF0
dHJpYnV0ZSBtYXAKKworICAgICAgICBbUXRdIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgYWx3YXlz
IHJldHVybnMgZW1wdHkgcmVzdWx0IGZvciBpbnB1dCdzIHZhbHVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI4NjUKKworICAgICAgICAqIEFwaS9x
d2ViZWxlbWVudC5jcHA6CisgICAgICAgIChRV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKToKKyAg
ICAgICAgKFFXZWJFbGVtZW50OjphdHRyaWJ1dGUpOgorICAgICAgICAqIHRlc3RzL3F3ZWJlbGVt
ZW50L3RzdF9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgICh0c3RfUVdlYkVsZW1lbnQ6Omh0bWxJ
bnB1dFZhbHVlcyk6CisKIDIwMTEtMDQtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NDYyNy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcAppbmRleCA5ZTk5NDhhLi4xZDRlNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCkBAIC03Miw2
ICs3Miw3IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBoYXNTZXRGb2N1cygpOwogICAgIHZv
aWQgcmVuZGVyKCk7CiAgICAgdm9pZCBhZGRFbGVtZW50VG9IZWFkKCk7CisgICAgdm9pZCBodG1s
SW5wdXRWYWx1ZXMoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyogbV92aWV3OwpAQCAtMTAz
OSw1ICsxMDQwLDQ5IEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjphZGRFbGVtZW50VG9IZWFkKCkK
ICAgICBRQ09NUEFSRShoZWFkLnRvSW5uZXJYbWwoKSwgYXBwZW5kKTsKIH0KIAordm9pZCB0c3Rf
UVdlYkVsZW1lbnQ6Omh0bWxJbnB1dFZhbHVlcygpCit7CisgICAgLy8gTm8gaW5pdGlhbCB2YWx1
ZQorICAgIG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlu
cHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiAvPjwvYm9keT48L2h0bWw+Iik7CisgICAgUVdl
YkVsZW1lbnQgaW5wdXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlu
cHV0Iik7CisgICAgUVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFS
RShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCkpOworCisgICAgLy8g
SW5pdGlhbCB2YWx1ZSBhbmQgdXBkYXRlIGZyb20gY3BwIGNvZGUKKyAgICBtX21haW5GcmFtZS0+
c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxpbnB1dCB0eXBlPVwidGV4dFwiIHZh
bHVlPVwiaW5pdGlhbF92YWx1ZVwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1l
bnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZ
KCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRy
aWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoImluaXRpYWxfdmFsdWUiKSk7CisgICAgaW5wdXRFbGVt
ZW50LnNldEF0dHJpYnV0ZSgidmFsdWUiLCAibmV3X3ZhbHVlIik7DQorICAgIFFDT01QQVJFKGlu
cHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsKKw0K
KyAgICAvLyBJbml0aWFsIHZhbHVlIGFuZCB1cGRhdGUgZnJvbSBjcHAgY29kZSwgdGhlbiBmcm9t
IGpzIGNvZGUKKyAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxi
b2R5PjxpbnB1dCBpZD1cInRlc3RcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiaW5pdGlhbF92YWx1
ZVwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+
ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNO
dWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFT
dHJpbmcoImluaXRpYWxfdmFsdWUiKSk7CisgICAgaW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZSgi
dmFsdWUiLCAibmV3X3ZhbHVlIik7DQorICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1
dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsNCisgICAgbV9tYWluRnJhbWUtPmV2
YWx1YXRlSmF2YVNjcmlwdCgiZnVuY3Rpb24gdGVzdG1lKHRleHQpIHsgdmFyIGUgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOyBlLnZhbHVlID0gdGV4dDsgfSIpOw0KKyAgICBtX21h
aW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJ2pzX3ZhbHVlJykiKTsNCisgICAg
UUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygianNfdmFs
dWUiKSk7DQorDQorICAgIC8vIGNoZWNrZWQgc3RhdGUgCisgICAgbV9tYWluRnJhbWUtPnNldEh0
bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cImNo
ZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIiAvPjwvYm9keT48L2h0bWw+Iik7CisgICAgaW5w
dXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CisgICAg
UVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1l
bnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNoZWNrZWQiKSk7CisgICAgaW5wdXRF
bGVtZW50LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsICIiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRF
bGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiIikpOw0KKyAgICBtX21haW5GcmFt
ZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUuY2hlY2tlZCA9IHRleHQ7IH0iKTsNCisg
ICAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCcnKSIpOw0KKyAgICBR
Q09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoKSk7DQor
ICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpOw0KKyAg
ICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNo
ZWNrZWQiKSk7DQorICAgIG1fbWFpbkZyYW1lLT5ldmFsdWF0ZUphdmFTY3JpcHQoInRlc3RtZSgn
JykiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBR
U3RyaW5nKCkpOw0KK30KKworCiBRVEVTVF9NQUlOKHRzdF9RV2ViRWxlbWVudCkKICNpbmNsdWRl
ICJ0c3RfcXdlYmVsZW1lbnQubW9jIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91626</attachid>
            <date>2011-04-28 20:30:14 -0700</date>
            <delta_ts>2011-04-28 22:25:47 -0700</delta_ts>
            <desc>Short comment added</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>6052</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCAxZGMzNGI5Li4xODU1NTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM3OSw2ICszODEsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVl
QXR0ciA9PSBuYW1lKQorICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwgdHJ1
ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6OmNo
ZWNrZWRBdHRyID09IG5hbWUpIHsKKyAgICAgICAgICBib29sIGNoZWNrZWQgPSAhUVN0cmluZzo6
Y29tcGFyZSh2YWx1ZSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiY2hlY2tlZCIpLCBRdDo6Q2FzZUlu
c2Vuc2l0aXZlKTsKKyAgICAgICAgICBodG1sRWxlbWVudC0+c2V0Q2hlY2tlZChjaGVja2VkLCB0
cnVlIC8qIHNlbmRDaGFuZ2VFdmVudCAqLyk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIC8qIQpA
QCAtNDA2LDYgKzQxOCwxNSBAQCBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUoY29uc3Qg
UVN0cmluZyAmbmFtZSwgY29uc3QgUVN0cmluZyAmZGVmYXVsdFZhbHVlKQogewogICAgIGlmICgh
bV9lbGVtZW50KQogICAgICAgICByZXR1cm4gUVN0cmluZygpOworCisgICAgaWYgKG1fZWxlbWVu
dC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgeworICAgICAgSFRNTElucHV0RWxl
bWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9lbGVt
ZW50KTsKKyAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVlQXR0ciA9PSBuYW1lKQorICAgICAgICBy
ZXR1cm4gaHRtbEVsZW1lbnQtPnZhbHVlKCk7CisgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6OmNo
ZWNrZWRBdHRyID09IG5hbWUpCisgICAgICAgIHJldHVybiBodG1sRWxlbWVudC0+Y2hlY2tlZCgp
ID8gUVN0cmluZzo6ZnJvbUxhdGluMSgiY2hlY2tlZCIpIDogUVN0cmluZygpOworICAgIH0KKwog
ICAgIGlmIChtX2VsZW1lbnQtPmhhc0F0dHJpYnV0ZShuYW1lKSkKICAgICAgICAgcmV0dXJuIG1f
ZWxlbWVudC0+Z2V0QXR0cmlidXRlKG5hbWUpOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
NDU5NmUxMi4uODhkOWEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0w
NC0yOSAgd29sZnkgIDx3b2xmcmFtQHJpdHN1a2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vc3QgSFRNTElucHV0RWxlbWVudHMgc3RvcmUg
dGhlaXIgdmFsdWUgYW5kICJjaGVja2VkIiBzdGF0ZQorICAgICAgICBzZXBhcmF0ZWx5IGZyb20g
dGhlIGF0dHJpYnV0ZSBtYXAsIHdoaWNoIG1lYW5zIGVhY2ggdmFsdWUgaGFzIHR3byBjb3BpZXMu
CisKKyAgICAgICAgQ2xpZW50cyBzaG91bGQgYmUgYWJsZSB0byBnZXQgYWN0dWFsIHZhbHVlcyBv
ZiBzdWNoIGF0dHJpYnV0ZXMsIHNvCisgICAgICAgIFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUg
YW5kIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgd2FzIG1vZGlmaWVkIHRvCisgICAgICAgIGNhbGwg
SFRNTElucHV0RWxlbWVudDo6Y2hlY2tlZCwgSFRNTElucHV0RWxlbWVudDo6dmFsdWUsCisgICAg
ICAgIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlLCBhbmQgSFRNTElucHV0RWxlbWVudDo6c2V0
Q2hlY2tlZCB0byBtYWtlCisgICAgICAgIHZhbHVlcyBzeW5jIHdpdGggYXR0cmlidXRlIG1hcAor
CisgICAgICAgIFtRdF0gUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZSBhbHdheXMgcmV0dXJucyBlbXB0
eSByZXN1bHQgZm9yIGlucHV0J3MgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMjg2NQorCisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNw
cDoKKyAgICAgICAgKFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUpOgorICAgICAgICAoUVdlYkVs
ZW1lbnQ6OmF0dHJpYnV0ZSk6CisgICAgICAgICogdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRWxlbWVudDo6aHRtbElucHV0VmFsdWVzKToK
KwogMjAxMS0wNC0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg0NjI3LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCmlu
ZGV4IDllOTk0OGEuLjM4NjA1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMv
cXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDcgQEAgcHJp
dmF0ZSBzbG90czoKICAgICB2b2lkIGhhc1NldEZvY3VzKCk7CiAgICAgdm9pZCByZW5kZXIoKTsK
ICAgICB2b2lkIGFkZEVsZW1lbnRUb0hlYWQoKTsKKyAgICB2b2lkIGh0bWxJbnB1dFZhbHVlcygp
OwogCiBwcml2YXRlOgogICAgIFFXZWJWaWV3KiBtX3ZpZXc7CkBAIC0xMDM5LDUgKzEwNDAsNDkg
QEAgdm9pZCB0c3RfUVdlYkVsZW1lbnQ6OmFkZEVsZW1lbnRUb0hlYWQoKQogICAgIFFDT01QQVJF
KGhlYWQudG9Jbm5lclhtbCgpLCBhcHBlbmQpOwogfQogCit2b2lkIHRzdF9RV2ViRWxlbWVudDo6
aHRtbElucHV0VmFsdWVzKCkKK3sKKyAgICAvLyBObyBpbml0aWFsIHZhbHVlCisgICAgbV9tYWlu
RnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgdHlwZT1cInRl
eHRcIiB2YWx1ZT1cIlwiIFw+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBRV2ViRWxlbWVudCBpbnB1
dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBR
VkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVu
dC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoKSk7CisKKyAgICAvLyBJbml0aWFsIHZhbHVl
IGFuZCB1cGRhdGUgZnJvbSBjcHAgY29kZQorICAgIG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRt
bD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJpbml0aWFs
X3ZhbHVlXCIgXD48L2JvZHk+PC9odG1sPiIpOworICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZy
YW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIpOworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVu
dC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUi
KSwgUVN0cmluZygiaW5pdGlhbF92YWx1ZSIpKTsKKyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0cmli
dXRlKCJ2YWx1ZSIsICJuZXdfdmFsdWUiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0
dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygibmV3X3ZhbHVlIikpOworDQorICAgIC8vIEluaXRp
YWwgdmFsdWUgYW5kIHVwZGF0ZSBmcm9tIGNwcCBjb2RlLCB0aGVuIGZyb20ganMgY29kZQorICAg
IG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IGlk
PVwidGVzdFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJpbml0aWFsX3ZhbHVlXCIgXD48L2JvZHk+
PC9odG1sPiIpOworICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVt
ZW50KCJpbnB1dCIpOworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAg
UUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiaW5pdGlh
bF92YWx1ZSIpKTsKKyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJuZXdf
dmFsdWUiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwg
UVN0cmluZygibmV3X3ZhbHVlIikpOw0KKyAgICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2Ny
aXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0Jyk7IGUudmFsdWUgPSB0ZXh0OyB9Iik7DQorICAgIG1fbWFpbkZyYW1lLT5ldmFs
dWF0ZUphdmFTY3JpcHQoInRlc3RtZSgnanNfdmFsdWUnKSIpOw0KKyAgICBRQ09NUEFSRShpbnB1
dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJqc192YWx1ZSIpKTsNCisNCisg
ICAgLy8gY2hlY2tlZCBzdGF0ZSAKKyAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhl
YWQ+PC9oZWFkPjxib2R5PjxpbnB1dCBpZD1cInRlc3RcIiB0eXBlPVwiY2hlY2tib3hcIiBjaGVj
a2VkPVwiY2hlY2tlZFwiIFw+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1lbnQgPSBt
X21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1
dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUo
ImNoZWNrZWQiKSwgUVN0cmluZygiY2hlY2tlZCIpKTsKKyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0
cmlidXRlKCJjaGVja2VkIiwgIiIpOw0KKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmli
dXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCIiKSk7DQorICAgIG1fbWFpbkZyYW1lLT5ldmFsdWF0ZUph
dmFTY3JpcHQoImZ1bmN0aW9uIHRlc3RtZSh0ZXh0KSB7IHZhciBlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QnKTsgZS5jaGVja2VkID0gdGV4dDsgfSIpOw0KKyAgICBtX21haW5GcmFt
ZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJycpIik7DQorICAgIFFDT01QQVJFKGlucHV0
RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygpKTsNCisgICAgaW5wdXRFbGVt
ZW50LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsICJjaGVja2VkIik7DQorICAgIFFDT01QQVJFKGlu
cHV0RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygiY2hlY2tlZCIpKTsNCisg
ICAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCcnKSIpOw0KKyAgICBR
Q09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoKSk7DQor
fQorCisKIFFURVNUX01BSU4odHN0X1FXZWJFbGVtZW50KQogI2luY2x1ZGUgInRzdF9xd2ViZWxl
bWVudC5tb2MiCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>91636</attachid>
            <date>2011-04-28 22:25:47 -0700</date>
            <delta_ts>2011-04-28 23:34:54 -0700</delta_ts>
            <desc>fix</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>2458</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcAppbmRleCAzODYwNTc2Li43ODQ1YThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCkBAIC0xMDQz
LDEzICsxMDQzLDEzIEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjphZGRFbGVtZW50VG9IZWFkKCkK
IHZvaWQgdHN0X1FXZWJFbGVtZW50OjpodG1sSW5wdXRWYWx1ZXMoKQogewogICAgIC8vIE5vIGlu
aXRpYWwgdmFsdWUKLSAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFk
Pjxib2R5PjxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgXD48L2JvZHk+PC9odG1sPiIp
OworICAgIG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlu
cHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiAvPjwvYm9keT48L2h0bWw+Iik7CiAgICAgUVdl
YkVsZW1lbnQgaW5wdXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlu
cHV0Iik7CiAgICAgUVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKICAgICBRQ09NUEFS
RShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCkpOwogCiAgICAgLy8g
SW5pdGlhbCB2YWx1ZSBhbmQgdXBkYXRlIGZyb20gY3BwIGNvZGUKLSAgICBtX21haW5GcmFtZS0+
c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxpbnB1dCB0eXBlPVwidGV4dFwiIHZh
bHVlPVwiaW5pdGlhbF92YWx1ZVwiIFw+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBtX21haW5GcmFt
ZS0+c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxpbnB1dCB0eXBlPVwidGV4dFwi
IHZhbHVlPVwiaW5pdGlhbF92YWx1ZVwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKICAgICBpbnB1dEVs
ZW1lbnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKICAgICBRVkVS
SUZZKCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOwogICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5h
dHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoImluaXRpYWxfdmFsdWUiKSk7CkBAIC0xMDU3LDcg
KzEwNTcsNyBAQCB2b2lkIHRzdF9RV2ViRWxlbWVudDo6aHRtbElucHV0VmFsdWVzKCkKICAgICBR
Q09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJuZXdfdmFs
dWUiKSk7CiANCiAgICAgLy8gSW5pdGlhbCB2YWx1ZSBhbmQgdXBkYXRlIGZyb20gY3BwIGNvZGUs
IHRoZW4gZnJvbSBqcyBjb2RlCi0gICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFk
PjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cInRleHRcIiB2YWx1ZT1cImlu
aXRpYWxfdmFsdWVcIiBcPjwvYm9keT48L2h0bWw+Iik7CisgICAgbV9tYWluRnJhbWUtPnNldEh0
bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cInRl
eHRcIiB2YWx1ZT1cImluaXRpYWxfdmFsdWVcIiAvPjwvYm9keT48L2h0bWw+Iik7CiAgICAgaW5w
dXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CiAgICAg
UVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKICAgICBRQ09NUEFSRShpbnB1dEVsZW1l
bnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJpbml0aWFsX3ZhbHVlIikpOwpAQCAtMTA2
OCw3ICsxMDY4LDcgQEAgdm9pZCB0c3RfUVdlYkVsZW1lbnQ6Omh0bWxJbnB1dFZhbHVlcygpCiAg
ICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygianNf
dmFsdWUiKSk7DQogDQogICAgIC8vIGNoZWNrZWQgc3RhdGUgCi0gICAgbV9tYWluRnJhbWUtPnNl
dEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1c
ImNoZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIiBcPjwvYm9keT48L2h0bWw+Iik7CisgICAg
bV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9
XCJ0ZXN0XCIgdHlwZT1cImNoZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIiAvPjwvYm9keT48
L2h0bWw+Iik7CiAgICAgaW5wdXRFbGVtZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1l
bnQoImlucHV0Iik7CiAgICAgUVZFUklGWSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKICAgICBR
Q09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNoZWNr
ZWQiKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91644</attachid>
            <date>2011-04-28 23:47:04 -0700</date>
            <delta_ts>2011-05-23 23:09:39 -0700</delta_ts>
            <desc>I&apos;m awfully sorry for all these junk files</desc>
            <filename>32865.diff</filename>
            <type>text/plain</type>
            <size>6052</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCAxZGMzNGI5Li4xODU1NTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM3OSw2ICszODEsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGh0bWxFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KG1fZWxlbWVudCk7CisgICAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVl
QXR0ciA9PSBuYW1lKQorICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwgdHJ1
ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6OmNo
ZWNrZWRBdHRyID09IG5hbWUpIHsKKyAgICAgICAgICBib29sIGNoZWNrZWQgPSAhUVN0cmluZzo6
Y29tcGFyZSh2YWx1ZSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiY2hlY2tlZCIpLCBRdDo6Q2FzZUlu
c2Vuc2l0aXZlKTsKKyAgICAgICAgICBodG1sRWxlbWVudC0+c2V0Q2hlY2tlZChjaGVja2VkLCB0
cnVlIC8qIHNlbmRDaGFuZ2VFdmVudCAqLyk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIC8qIQpA
QCAtNDA2LDYgKzQxOCwxNSBAQCBRU3RyaW5nIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUoY29uc3Qg
UVN0cmluZyAmbmFtZSwgY29uc3QgUVN0cmluZyAmZGVmYXVsdFZhbHVlKQogewogICAgIGlmICgh
bV9lbGVtZW50KQogICAgICAgICByZXR1cm4gUVN0cmluZygpOworCisgICAgaWYgKG1fZWxlbWVu
dC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgeworICAgICAgSFRNTElucHV0RWxl
bWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9lbGVt
ZW50KTsKKyAgICAgIGlmIChIVE1MTmFtZXM6OnZhbHVlQXR0ciA9PSBuYW1lKQorICAgICAgICBy
ZXR1cm4gaHRtbEVsZW1lbnQtPnZhbHVlKCk7CisgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6OmNo
ZWNrZWRBdHRyID09IG5hbWUpCisgICAgICAgIHJldHVybiBodG1sRWxlbWVudC0+Y2hlY2tlZCgp
ID8gUVN0cmluZzo6ZnJvbUxhdGluMSgiY2hlY2tlZCIpIDogUVN0cmluZygpOworICAgIH0KKwog
ICAgIGlmIChtX2VsZW1lbnQtPmhhc0F0dHJpYnV0ZShuYW1lKSkKICAgICAgICAgcmV0dXJuIG1f
ZWxlbWVudC0+Z2V0QXR0cmlidXRlKG5hbWUpOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
NDU5NmUxMi4uYjUyMzViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0w
NC0yOSAgd29sZnkgIDx3b2xmcmFtQHJpdHN1a2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vc3QgSFRNTElucHV0RWxlbWVudHMgc3RvcmUg
dGhlaXIgdmFsdWUgYW5kICJjaGVja2VkIiBzdGF0ZQorICAgICAgICBzZXBhcmF0ZWx5IGZyb20g
dGhlIGF0dHJpYnV0ZSBtYXAsIHdoaWNoIG1lYW5zIGVhY2ggdmFsdWUgaGFzIHR3byBjb3BpZXMu
CisKKyAgICAgICAgQ2xpZW50cyBzaG91bGQgYmUgYWJsZSB0byBnZXQgYWN0dWFsIHZhbHVlcyBv
ZiBzdWNoIGF0dHJpYnV0ZXMsIHNvCisgICAgICAgIFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUg
YW5kIFFXZWJFbGVtZW50OjphdHRyaWJ1dGUgd2FzIG1vZGlmaWVkIHRvCisgICAgICAgIGNhbGwg
SFRNTElucHV0RWxlbWVudDo6Y2hlY2tlZCwgSFRNTElucHV0RWxlbWVudDo6dmFsdWUsCisgICAg
ICAgIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlLCBhbmQgSFRNTElucHV0RWxlbWVudDo6c2V0
Q2hlY2tlZCB0byBtYWtlCisgICAgICAgIHZhbHVlcyBzeW5jIHdpdGggYXR0cmlidXRlIG1hcAor
CisgICAgICAgIFtRdF0gUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZSBhbHdheXMgcmV0dXJucyBlbXB0
eSByZXN1bHQgZm9yIGlucHV0J3MgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMjg2NQorCisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNw
cDoKKyAgICAgICAgKFFXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUpOgorICAgICAgICAoUVdlYkVs
ZW1lbnQ6OmF0dHJpYnV0ZSk6CisgICAgICAgICogdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRWxlbWVudDo6aHRtbElucHV0VmFsdWVzKToK
KwogMjAxMS0wNC0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg0NjI3LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCmlu
ZGV4IDllOTk0OGEuLjc4NDVhOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMv
cXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDcgQEAgcHJp
dmF0ZSBzbG90czoKICAgICB2b2lkIGhhc1NldEZvY3VzKCk7CiAgICAgdm9pZCByZW5kZXIoKTsK
ICAgICB2b2lkIGFkZEVsZW1lbnRUb0hlYWQoKTsKKyAgICB2b2lkIGh0bWxJbnB1dFZhbHVlcygp
OwogCiBwcml2YXRlOgogICAgIFFXZWJWaWV3KiBtX3ZpZXc7CkBAIC0xMDM5LDUgKzEwNDAsNDkg
QEAgdm9pZCB0c3RfUVdlYkVsZW1lbnQ6OmFkZEVsZW1lbnRUb0hlYWQoKQogICAgIFFDT01QQVJF
KGhlYWQudG9Jbm5lclhtbCgpLCBhcHBlbmQpOwogfQogCit2b2lkIHRzdF9RV2ViRWxlbWVudDo6
aHRtbElucHV0VmFsdWVzKCkKK3sKKyAgICAvLyBObyBpbml0aWFsIHZhbHVlCisgICAgbV9tYWlu
RnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgdHlwZT1cInRl
eHRcIiB2YWx1ZT1cIlwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBRV2ViRWxlbWVudCBpbnB1
dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBR
VkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVu
dC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoKSk7CisKKyAgICAvLyBJbml0aWFsIHZhbHVl
IGFuZCB1cGRhdGUgZnJvbSBjcHAgY29kZQorICAgIG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRt
bD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJpbml0aWFs
X3ZhbHVlXCIgLz48L2JvZHk+PC9odG1sPiIpOworICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZy
YW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIpOworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVu
dC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUi
KSwgUVN0cmluZygiaW5pdGlhbF92YWx1ZSIpKTsKKyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0cmli
dXRlKCJ2YWx1ZSIsICJuZXdfdmFsdWUiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0
dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygibmV3X3ZhbHVlIikpOworDQorICAgIC8vIEluaXRp
YWwgdmFsdWUgYW5kIHVwZGF0ZSBmcm9tIGNwcCBjb2RlLCB0aGVuIGZyb20ganMgY29kZQorICAg
IG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IGlk
PVwidGVzdFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJpbml0aWFsX3ZhbHVlXCIgLz48L2JvZHk+
PC9odG1sPiIpOworICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVt
ZW50KCJpbnB1dCIpOworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAg
UUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiaW5pdGlh
bF92YWx1ZSIpKTsKKyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJuZXdf
dmFsdWUiKTsNCisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwg
UVN0cmluZygibmV3X3ZhbHVlIikpOw0KKyAgICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2Ny
aXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0Jyk7IGUudmFsdWUgPSB0ZXh0OyB9Iik7DQorICAgIG1fbWFpbkZyYW1lLT5ldmFs
dWF0ZUphdmFTY3JpcHQoInRlc3RtZSgnanNfdmFsdWUnKSIpOw0KKyAgICBRQ09NUEFSRShpbnB1
dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJqc192YWx1ZSIpKTsNCisNCisg
ICAgLy8gY2hlY2tlZCBzdGF0ZSAKKyAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhl
YWQ+PC9oZWFkPjxib2R5PjxpbnB1dCBpZD1cInRlc3RcIiB0eXBlPVwiY2hlY2tib3hcIiBjaGVj
a2VkPVwiY2hlY2tlZFwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1lbnQgPSBt
X21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1
dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUo
ImNoZWNrZWQiKSwgUVN0cmluZygiY2hlY2tlZCIpKTsKKyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0
cmlidXRlKCJjaGVja2VkIiwgIiIpOw0KKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmli
dXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCIiKSk7DQorICAgIG1fbWFpbkZyYW1lLT5ldmFsdWF0ZUph
dmFTY3JpcHQoImZ1bmN0aW9uIHRlc3RtZSh0ZXh0KSB7IHZhciBlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QnKTsgZS5jaGVja2VkID0gdGV4dDsgfSIpOw0KKyAgICBtX21haW5GcmFt
ZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJycpIik7DQorICAgIFFDT01QQVJFKGlucHV0
RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygpKTsNCisgICAgaW5wdXRFbGVt
ZW50LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsICJjaGVja2VkIik7DQorICAgIFFDT01QQVJFKGlu
cHV0RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygiY2hlY2tlZCIpKTsNCisg
ICAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCcnKSIpOw0KKyAgICBR
Q09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoKSk7DQor
fQorCisKIFFURVNUX01BSU4odHN0X1FXZWJFbGVtZW50KQogI2luY2x1ZGUgInRzdF9xd2ViZWxl
bWVudC5tb2MiCg==
</data>
<flag name="review"
          id="84500"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94570</attachid>
            <date>2011-05-23 23:09:21 -0700</date>
            <delta_ts>2011-05-23 23:22:35 -0700</delta_ts>
            <desc>Patch refined according to last comment</desc>
            <filename>32865_1.diff</filename>
            <type>text/plain</type>
            <size>6048</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCA2YjQ0MTE0Li44MGRlOTJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM4MCw2ICszODIsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhU
TUxJbnB1dEVsZW1lbnQqPihtX2VsZW1lbnQpOworICAgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1
ZUF0dHIgPT0gbmFtZSkKKyAgICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwg
dHJ1ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6
OmNoZWNrZWRBdHRyID09IG5hbWUpIHsKKyAgICAgICAgICAgIGJvb2wgY2hlY2tlZCA9ICFRU3Ry
aW5nOjpjb21wYXJlKHZhbHVlLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIiksIFF0OjpD
YXNlSW5zZW5zaXRpdmUpOworICAgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldENoZWNrZWQoY2hl
Y2tlZCwgdHJ1ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICB9CisgICAgfQogfQog
CiAvKiEKQEAgLTQwNyw2ICs0MTksMTUgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6YXR0cmlidXRl
KGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcgJmRlZmF1bHRWYWx1ZSkKIHsKICAg
ICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAgIGlmICht
X2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAgICAgSFRN
TElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50
Kj4obV9lbGVtZW50KTsKKyAgICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5hbWUp
CisgICAgICAgICAgICByZXR1cm4gaHRtbEVsZW1lbnQtPnZhbHVlKCk7CisgICAgICAgIGVsc2Ug
aWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkKKyAgICAgICAgICAgIHJldHVybiBo
dG1sRWxlbWVudC0+Y2hlY2tlZCgpID8gUVN0cmluZzo6ZnJvbUxhdGluMSgiY2hlY2tlZCIpIDog
UVN0cmluZygpOworICAgIH0KKwogICAgIGlmIChtX2VsZW1lbnQtPmhhc0F0dHJpYnV0ZShuYW1l
KSkKICAgICAgICAgcmV0dXJuIG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlKG5hbWUpOwogICAgIGVs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKaW5kZXggMmU3YmY3Yi4uMDEwMGM4ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNSBAQAorMjAxMS0wNS0yNCAgd29sZnkgIDx3b2xmcmFtQHJpdHN1a2Eub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorIAorICAgICAgICBbUXRdIFFX
ZWJFbGVtZW50OjphdHRyaWJ1dGUgYWx3YXlzIHJldHVybnMgZW1wdHkgcmVzdWx0IGZvciBpbnB1
dCdzIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzI4NjUKKworICAgICAgICBNb3N0IEhUTUxJbnB1dEVsZW1lbnRzIHN0b3JlIHRoZWlyIHZh
bHVlIGFuZCAiY2hlY2tlZCIgc3RhdGUKKyAgICAgICAgc2VwYXJhdGVseSBmcm9tIHRoZSBhdHRy
aWJ1dGUgbWFwLCB3aGljaCBtZWFucyBlYWNoIHZhbHVlIGhhcyB0d28gY29waWVzLgorCisgICAg
ICAgIENsaWVudHMgc2hvdWxkIGJlIGFibGUgdG8gZ2V0IGFjdHVhbCB2YWx1ZXMgb2Ygc3VjaCBh
dHRyaWJ1dGVzLCBzbworICAgICAgICBRV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlIGFuZCBRV2Vi
RWxlbWVudDo6YXR0cmlidXRlIHdhcyBtb2RpZmllZCB0bworICAgICAgICBjYWxsIEhUTUxJbnB1
dEVsZW1lbnQ6OmNoZWNrZWQsIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlLAorICAgICAgICBIVE1M
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZSwgYW5kIEhUTUxJbnB1dEVsZW1lbnQ6OnNldENoZWNrZWQg
dG8gbWFrZQorICAgICAgICB2YWx1ZXMgc3luYyB3aXRoIGF0dHJpYnV0ZSBtYXAKKyAKKyAgICAg
ICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnNldEF0dHJp
YnV0ZSk6CisgICAgICAgIChRV2ViRWxlbWVudDo6YXR0cmlidXRlKToKKyAgICAgICAgKiB0ZXN0
cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAodHN0X1FXZWJFbGVt
ZW50OjpodG1sSW5wdXRWYWx1ZXMpOgorIAogMjAxMS0wNS0yMyAgSm9lIFdpbGQgIDxqb3NlcGgu
d2lsZEBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVt
ZW50LmNwcAppbmRleCAwZjA1YjJiLi45ZTM3OTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCkBAIC03Miw2ICs3
Miw3IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBoYXNTZXRGb2N1cygpOwogICAgIHZvaWQg
cmVuZGVyKCk7CiAgICAgdm9pZCBhZGRFbGVtZW50VG9IZWFkKCk7CisgICAgdm9pZCBodG1sSW5w
dXRWYWx1ZXMoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyogbV92aWV3OwpAQCAtMTA0MCw1
ICsxMDQxLDQ5IEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjphZGRFbGVtZW50VG9IZWFkKCkKICAg
ICBRQ09NUEFSRShoZWFkLnRvSW5uZXJYbWwoKSwgYXBwZW5kKTsKIH0KIAordm9pZCB0c3RfUVdl
YkVsZW1lbnQ6Omh0bWxJbnB1dFZhbHVlcygpCit7CisgICAgLy8gTm8gaW5pdGlhbCB2YWx1ZS4K
KyAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxpbnB1
dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgLz48L2JvZHk+PC9odG1sPiIpOworICAgIFFXZWJF
bGVtZW50IGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1
dCIpOworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUo
aW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiIikpOworCisgICAgLy8g
SW5pdGlhbCB2YWx1ZSBhbmQgdXBkYXRlIGZyb20gY3BwIGNvZGUuCisgICAgbV9tYWluRnJhbWUt
PnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgdHlwZT1cInRleHRcIiB2
YWx1ZT1cImluaXRpYWxfdmFsdWVcIiAvPjwvYm9keT48L2h0bWw+Iik7CisgICAgaW5wdXRFbGVt
ZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CisgICAgUVZFUklG
WSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0
cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJpbml0aWFsX3ZhbHVlIikpOworICAgIGlucHV0RWxl
bWVudC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIm5ld192YWx1ZSIpOworICAgIFFDT01QQVJFKGlu
cHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsKKwor
ICAgIC8vIEluaXRpYWwgdmFsdWUgYW5kIHVwZGF0ZSBmcm9tIGNwcCBjb2RlLCB0aGVuIGZyb20g
anMgY29kZS4KKyAgICBtX21haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGhlYWQ+PC9oZWFkPjxi
b2R5PjxpbnB1dCBpZD1cInRlc3RcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiaW5pdGlhbF92YWx1
ZVwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKKyAgICBpbnB1dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+
ZmluZEZpcnN0RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNO
dWxsKCkpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFT
dHJpbmcoImluaXRpYWxfdmFsdWUiKSk7CisgICAgaW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZSgi
dmFsdWUiLCAibmV3X3ZhbHVlIik7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0
ZSgidmFsdWUiKSwgUVN0cmluZygibmV3X3ZhbHVlIikpOworICAgIG1fbWFpbkZyYW1lLT5ldmFs
dWF0ZUphdmFTY3JpcHQoImZ1bmN0aW9uIHRlc3RtZSh0ZXh0KSB7IHZhciBlID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsgZS52YWx1ZSA9IHRleHQ7IH0iKTsKKyAgICBtX21haW5G
cmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJ2pzX3ZhbHVlJykiKTsKKyAgICBRQ09N
UEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJqc192YWx1ZSIp
KTsKKworICAgIC8vIENoZWNrZWQgc3RhdGUuCisgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxo
dG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cImNoZWNrYm94
XCIgY2hlY2tlZD1cImNoZWNrZWRcIiAvPjwvYm9keT48L2h0bWw+Iik7CisgICAgaW5wdXRFbGVt
ZW50ID0gbV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CisgICAgUVZFUklG
WSghaW5wdXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0
cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoImNoZWNrZWQiKSk7CisgICAgaW5wdXRFbGVtZW50
LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsICIiKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQu
YXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCkpOworICAgIG1fbWFpbkZyYW1lLT5ldmFsdWF0
ZUphdmFTY3JpcHQoImZ1bmN0aW9uIHRlc3RtZSh0ZXh0KSB7IHZhciBlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QnKTsgZS5jaGVja2VkID0gdGV4dDsgfSIpOworICAgIG1fbWFpbkZy
YW1lLT5ldmFsdWF0ZUphdmFTY3JpcHQoInRlc3RtZSgnJykiKTsKKyAgICBRQ09NUEFSRShpbnB1
dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoKSk7CisgICAgaW5wdXRFbGVt
ZW50LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsICJjaGVja2VkIik7CisgICAgUUNPTVBBUkUoaW5w
dXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCJjaGVja2VkIikpOworICAg
IG1fbWFpbkZyYW1lLT5ldmFsdWF0ZUphdmFTY3JpcHQoInRlc3RtZSgnJykiKTsKKyAgICBRQ09N
UEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJjaGVja2VkIiksIFFTdHJpbmcoKSk7Cit9CisK
KwogUVRFU1RfTUFJTih0c3RfUVdlYkVsZW1lbnQpCiAjaW5jbHVkZSAidHN0X3F3ZWJlbGVtZW50
Lm1vYyIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94576</attachid>
            <date>2011-05-23 23:51:12 -0700</date>
            <delta_ts>2011-05-24 00:06:42 -0700</delta_ts>
            <desc>Style fixed</desc>
            <filename>32865_2.diff</filename>
            <type>text/plain</type>
            <size>6061</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCA2YjQ0MTE0Li5hNDcxNmFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM4MCw2ICszODIsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhU
TUxJbnB1dEVsZW1lbnQqPihtX2VsZW1lbnQpOworICAgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1
ZUF0dHIgPT0gbmFtZSkKKyAgICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwg
dHJ1ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6
OmNoZWNrZWRBdHRyID09IG5hbWUpIHsKKyAgICAgICAgICAgIGJvb2wgY2hlY2tlZCA9ICFRU3Ry
aW5nOjpjb21wYXJlKHZhbHVlLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIiksIFF0OjpD
YXNlSW5zZW5zaXRpdmUpOworICAgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldENoZWNrZWQoY2hl
Y2tlZCwgdHJ1ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICB9CisgICAgfQogfQog
CiAvKiEKQEAgLTQwNyw2ICs0MTksMTYgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6YXR0cmlidXRl
KGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcgJmRlZmF1bHRWYWx1ZSkKIHsKICAg
ICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAgIGlmICht
X2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAgICAgSFRN
TElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50
Kj4obV9lbGVtZW50KTsKKyAgICAgICAgaWYgKEhUTUxOYW1lczo6dmFsdWVBdHRyID09IG5hbWUp
CisgICAgICAgICAgICByZXR1cm4gaHRtbEVsZW1lbnQtPnZhbHVlKCk7CisgICAgICAgIGVsc2Ug
aWYgKEhUTUxOYW1lczo6Y2hlY2tlZEF0dHIgPT0gbmFtZSkgeworICAgICAgICAgICAgcmV0dXJu
IGh0bWxFbGVtZW50LT5jaGVja2VkKCkgPyBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIikg
OiBRU3RyaW5nKCk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNB
dHRyaWJ1dGUobmFtZSkpCiAgICAgICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShu
YW1lKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDJlN2JmN2IuLjAxMDBjOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMjQgIHdvbGZ5ICA8d29sZnJhbUBy
aXRzdWthLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAKKyAg
ICAgICAgW1F0XSBRV2ViRWxlbWVudDo6YXR0cmlidXRlIGFsd2F5cyByZXR1cm5zIGVtcHR5IHJl
c3VsdCBmb3IgaW5wdXQncyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMyODY1CisKKyAgICAgICAgTW9zdCBIVE1MSW5wdXRFbGVtZW50cyBz
dG9yZSB0aGVpciB2YWx1ZSBhbmQgImNoZWNrZWQiIHN0YXRlCisgICAgICAgIHNlcGFyYXRlbHkg
ZnJvbSB0aGUgYXR0cmlidXRlIG1hcCwgd2hpY2ggbWVhbnMgZWFjaCB2YWx1ZSBoYXMgdHdvIGNv
cGllcy4KKworICAgICAgICBDbGllbnRzIHNob3VsZCBiZSBhYmxlIHRvIGdldCBhY3R1YWwgdmFs
dWVzIG9mIHN1Y2ggYXR0cmlidXRlcywgc28KKyAgICAgICAgUVdlYkVsZW1lbnQ6OnNldEF0dHJp
YnV0ZSBhbmQgUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZSB3YXMgbW9kaWZpZWQgdG8KKyAgICAgICAg
Y2FsbCBIVE1MSW5wdXRFbGVtZW50OjpjaGVja2VkLCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZSwK
KyAgICAgICAgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUsIGFuZCBIVE1MSW5wdXRFbGVtZW50
OjpzZXRDaGVja2VkIHRvIG1ha2UKKyAgICAgICAgdmFsdWVzIHN5bmMgd2l0aCBhdHRyaWJ1dGUg
bWFwCisgCisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKFFXZWJFbGVt
ZW50OjpzZXRBdHRyaWJ1dGUpOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZSk6Cisg
ICAgICAgICogdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAg
KHRzdF9RV2ViRWxlbWVudDo6aHRtbElucHV0VmFsdWVzKToKKyAKIDIwMTEtMDUtMjMgIEpvZSBX
aWxkICA8am9zZXBoLndpbGRAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50
L3RzdF9xd2ViZWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50
L3RzdF9xd2ViZWxlbWVudC5jcHAKaW5kZXggMGYwNWIyYi4uOWUzNzk3ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNw
cApAQCAtNzIsNiArNzIsNyBAQCBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgaGFzU2V0Rm9jdXMo
KTsKICAgICB2b2lkIHJlbmRlcigpOwogICAgIHZvaWQgYWRkRWxlbWVudFRvSGVhZCgpOworICAg
IHZvaWQgaHRtbElucHV0VmFsdWVzKCk7CiAKIHByaXZhdGU6CiAgICAgUVdlYlZpZXcqIG1fdmll
dzsKQEAgLTEwNDAsNSArMTA0MSw0OSBAQCB2b2lkIHRzdF9RV2ViRWxlbWVudDo6YWRkRWxlbWVu
dFRvSGVhZCgpCiAgICAgUUNPTVBBUkUoaGVhZC50b0lubmVyWG1sKCksIGFwcGVuZCk7CiB9CiAK
K3ZvaWQgdHN0X1FXZWJFbGVtZW50OjpodG1sSW5wdXRWYWx1ZXMoKQoreworICAgIC8vIE5vIGlu
aXRpYWwgdmFsdWUuCisgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVh
ZD48Ym9keT48aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIC8+PC9ib2R5PjwvaHRtbD4i
KTsKKyAgICBRV2ViRWxlbWVudCBpbnB1dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0
RWxlbWVudCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOwor
ICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIiIp
KTsKKworICAgIC8vIEluaXRpYWwgdmFsdWUgYW5kIHVwZGF0ZSBmcm9tIGNwcCBjb2RlLgorICAg
IG1fbWFpbkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IHR5
cGU9XCJ0ZXh0XCIgdmFsdWU9XCJpbml0aWFsX3ZhbHVlXCIgLz48L2JvZHk+PC9odG1sPiIpOwor
ICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIp
OworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoaW5w
dXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiaW5pdGlhbF92YWx1ZSIpKTsK
KyAgICBpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJuZXdfdmFsdWUiKTsKKyAg
ICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJuZXdf
dmFsdWUiKSk7CisKKyAgICAvLyBJbml0aWFsIHZhbHVlIGFuZCB1cGRhdGUgZnJvbSBjcHAgY29k
ZSwgdGhlbiBmcm9tIGpzIGNvZGUuCisgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxo
ZWFkPjwvaGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cInRleHRcIiB2YWx1ZT1c
ImluaXRpYWxfdmFsdWVcIiAvPjwvYm9keT48L2h0bWw+Iik7CisgICAgaW5wdXRFbGVtZW50ID0g
bV9tYWluRnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CisgICAgUVZFUklGWSghaW5w
dXRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRl
KCJ2YWx1ZSIpLCBRU3RyaW5nKCJpbml0aWFsX3ZhbHVlIikpOworICAgIGlucHV0RWxlbWVudC5z
ZXRBdHRyaWJ1dGUoInZhbHVlIiwgIm5ld192YWx1ZSIpOworICAgIFFDT01QQVJFKGlucHV0RWxl
bWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsKKyAgICBtX21h
aW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIg
ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUudmFsdWUgPSB0ZXh0OyB9Iik7
CisgICAgbV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCdqc192YWx1ZScp
Iik7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmlu
ZygianNfdmFsdWUiKSk7CisKKyAgICAvLyBDaGVja2VkIHN0YXRlLgorICAgIG1fbWFpbkZyYW1l
LT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IGlkPVwidGVzdFwiIHR5
cGU9XCJjaGVja2JveFwiIGNoZWNrZWQ9XCJjaGVja2VkXCIgLz48L2JvZHk+PC9odG1sPiIpOwor
ICAgIGlucHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIp
OworICAgIFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoaW5w
dXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCJjaGVja2VkIikpOworICAg
IGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiIik7CisgICAgUUNPTVBBUkUo
aW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygpKTsKKyAgICBtX21haW5G
cmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUuY2hlY2tlZCA9IHRleHQ7IH0iKTsK
KyAgICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJycpIik7CisgICAg
UUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCkpOwor
ICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpOworICAg
IFFDT01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygiY2hl
Y2tlZCIpKTsKKyAgICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJycp
Iik7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3Ry
aW5nKCkpOworfQorCisKIFFURVNUX01BSU4odHN0X1FXZWJFbGVtZW50KQogI2luY2x1ZGUgInRz
dF9xd2ViZWxlbWVudC5tb2MiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94578</attachid>
            <date>2011-05-24 00:25:48 -0700</date>
            <delta_ts>2011-05-25 18:18:25 -0700</delta_ts>
            <desc>Style fixed</desc>
            <filename>32865_4.diff</filename>
            <type>text/plain</type>
            <size>6055</size>
            <attacher name="wolfy">wolfram</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAppbmRleCA2YjQ0MTE0Li41ZTEwODBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKQEAgLTM4MCw2ICszODIsMTYgQEAgdm9pZCBR
V2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJp
bmcgJnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb24g
PSAwOwogICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlLCBleGNlcHRpb24p
OworCisgICAgaWYgKG1fZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkg
eworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBodG1sRWxlbWVudCA9IHN0YXRpY19jYXN0PEhU
TUxJbnB1dEVsZW1lbnQqPihtX2VsZW1lbnQpOworICAgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1
ZUF0dHIgPT0gbmFtZSkKKyAgICAgICAgICAgIGh0bWxFbGVtZW50LT5zZXRWYWx1ZSh2YWx1ZSwg
dHJ1ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICBlbHNlIGlmIChIVE1MTmFtZXM6
OmNoZWNrZWRBdHRyID09IG5hbWUpIHsKKyAgICAgICAgICAgIGJvb2wgY2hlY2tlZCA9ICFRU3Ry
aW5nOjpjb21wYXJlKHZhbHVlLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIiksIFF0OjpD
YXNlSW5zZW5zaXRpdmUpOworICAgICAgICAgICAgaHRtbEVsZW1lbnQtPnNldENoZWNrZWQoY2hl
Y2tlZCwgdHJ1ZSAvKiBzZW5kQ2hhbmdlRXZlbnQgKi8pOworICAgICAgICB9CisgICAgfQogfQog
CiAvKiEKQEAgLTQwNyw2ICs0MTksMTcgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6YXR0cmlidXRl
KGNvbnN0IFFTdHJpbmcgJm5hbWUsIGNvbnN0IFFTdHJpbmcgJmRlZmF1bHRWYWx1ZSkKIHsKICAg
ICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKKworICAgIGlmICht
X2VsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAgICAgSFRN
TElucHV0RWxlbWVudCogaHRtbEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50
Kj4obV9lbGVtZW50KTsKKworICAgICAgICBpZiAoSFRNTE5hbWVzOjp2YWx1ZUF0dHIgPT0gbmFt
ZSkKKyAgICAgICAgICAgIHJldHVybiBodG1sRWxlbWVudC0+dmFsdWUoKTsKKworICAgICAgICBp
ZiAoSFRNTE5hbWVzOjpjaGVja2VkQXR0ciA9PSBuYW1lKQorICAgICAgICAgICAgcmV0dXJuIGh0
bWxFbGVtZW50LT5jaGVja2VkKCkgPyBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaGVja2VkIikgOiBR
U3RyaW5nKCk7ICAgICAgICAKKyAgICB9CisKICAgICBpZiAobV9lbGVtZW50LT5oYXNBdHRyaWJ1
dGUobmFtZSkpCiAgICAgICAgIHJldHVybiBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShuYW1lKTsK
ICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDJlN2JmN2IuLjAxMDBjOGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMjQgIHdvbGZ5ICA8d29sZnJhbUByaXRzdWth
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAKKyAgICAgICAg
W1F0XSBRV2ViRWxlbWVudDo6YXR0cmlidXRlIGFsd2F5cyByZXR1cm5zIGVtcHR5IHJlc3VsdCBm
b3IgaW5wdXQncyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMyODY1CisKKyAgICAgICAgTW9zdCBIVE1MSW5wdXRFbGVtZW50cyBzdG9yZSB0
aGVpciB2YWx1ZSBhbmQgImNoZWNrZWQiIHN0YXRlCisgICAgICAgIHNlcGFyYXRlbHkgZnJvbSB0
aGUgYXR0cmlidXRlIG1hcCwgd2hpY2ggbWVhbnMgZWFjaCB2YWx1ZSBoYXMgdHdvIGNvcGllcy4K
KworICAgICAgICBDbGllbnRzIHNob3VsZCBiZSBhYmxlIHRvIGdldCBhY3R1YWwgdmFsdWVzIG9m
IHN1Y2ggYXR0cmlidXRlcywgc28KKyAgICAgICAgUVdlYkVsZW1lbnQ6OnNldEF0dHJpYnV0ZSBh
bmQgUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZSB3YXMgbW9kaWZpZWQgdG8KKyAgICAgICAgY2FsbCBI
VE1MSW5wdXRFbGVtZW50OjpjaGVja2VkLCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZSwKKyAgICAg
ICAgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUsIGFuZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRD
aGVja2VkIHRvIG1ha2UKKyAgICAgICAgdmFsdWVzIHN5bmMgd2l0aCBhdHRyaWJ1dGUgbWFwCisg
CisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKFFXZWJFbGVtZW50Ojpz
ZXRBdHRyaWJ1dGUpOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OmF0dHJpYnV0ZSk6CisgICAgICAg
ICogdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9R
V2ViRWxlbWVudDo6aHRtbElucHV0VmFsdWVzKToKKyAKIDIwMTEtMDUtMjMgIEpvZSBXaWxkICA8
am9zZXBoLndpbGRAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9x
d2ViZWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9x
d2ViZWxlbWVudC5jcHAKaW5kZXggMGYwNWIyYi4uOWUzNzk3ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNwcApAQCAt
NzIsNiArNzIsNyBAQCBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgaGFzU2V0Rm9jdXMoKTsKICAg
ICB2b2lkIHJlbmRlcigpOwogICAgIHZvaWQgYWRkRWxlbWVudFRvSGVhZCgpOworICAgIHZvaWQg
aHRtbElucHV0VmFsdWVzKCk7CiAKIHByaXZhdGU6CiAgICAgUVdlYlZpZXcqIG1fdmlldzsKQEAg
LTEwNDAsNSArMTA0MSw0OSBAQCB2b2lkIHRzdF9RV2ViRWxlbWVudDo6YWRkRWxlbWVudFRvSGVh
ZCgpCiAgICAgUUNPTVBBUkUoaGVhZC50b0lubmVyWG1sKCksIGFwcGVuZCk7CiB9CiAKK3ZvaWQg
dHN0X1FXZWJFbGVtZW50OjpodG1sSW5wdXRWYWx1ZXMoKQoreworICAgIC8vIE5vIGluaXRpYWwg
dmFsdWUuCisgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9k
eT48aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIC8+PC9ib2R5PjwvaHRtbD4iKTsKKyAg
ICBRV2ViRWxlbWVudCBpbnB1dEVsZW1lbnQgPSBtX21haW5GcmFtZS0+ZmluZEZpcnN0RWxlbWVu
dCgiaW5wdXQiKTsKKyAgICBRVkVSSUZZKCFpbnB1dEVsZW1lbnQuaXNOdWxsKCkpOworICAgIFFD
T01QQVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIiIpKTsKKwor
ICAgIC8vIEluaXRpYWwgdmFsdWUgYW5kIHVwZGF0ZSBmcm9tIGNwcCBjb2RlLgorICAgIG1fbWFp
bkZyYW1lLT5zZXRIdG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IHR5cGU9XCJ0
ZXh0XCIgdmFsdWU9XCJpbml0aWFsX3ZhbHVlXCIgLz48L2JvZHk+PC9odG1sPiIpOworICAgIGlu
cHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIpOworICAg
IFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVt
ZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygiaW5pdGlhbF92YWx1ZSIpKTsKKyAgICBp
bnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJuZXdfdmFsdWUiKTsKKyAgICBRQ09N
UEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1ZSIpLCBRU3RyaW5nKCJuZXdfdmFsdWUi
KSk7CisKKyAgICAvLyBJbml0aWFsIHZhbHVlIGFuZCB1cGRhdGUgZnJvbSBjcHAgY29kZSwgdGhl
biBmcm9tIGpzIGNvZGUuCisgICAgbV9tYWluRnJhbWUtPnNldEh0bWwoIjxodG1sPjxoZWFkPjwv
aGVhZD48Ym9keT48aW5wdXQgaWQ9XCJ0ZXN0XCIgdHlwZT1cInRleHRcIiB2YWx1ZT1cImluaXRp
YWxfdmFsdWVcIiAvPjwvYm9keT48L2h0bWw+Iik7CisgICAgaW5wdXRFbGVtZW50ID0gbV9tYWlu
RnJhbWUtPmZpbmRGaXJzdEVsZW1lbnQoImlucHV0Iik7CisgICAgUVZFUklGWSghaW5wdXRFbGVt
ZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShpbnB1dEVsZW1lbnQuYXR0cmlidXRlKCJ2YWx1
ZSIpLCBRU3RyaW5nKCJpbml0aWFsX3ZhbHVlIikpOworICAgIGlucHV0RWxlbWVudC5zZXRBdHRy
aWJ1dGUoInZhbHVlIiwgIm5ld192YWx1ZSIpOworICAgIFFDT01QQVJFKGlucHV0RWxlbWVudC5h
dHRyaWJ1dGUoInZhbHVlIiksIFFTdHJpbmcoIm5ld192YWx1ZSIpKTsKKyAgICBtX21haW5GcmFt
ZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUudmFsdWUgPSB0ZXh0OyB9Iik7CisgICAg
bV9tYWluRnJhbWUtPmV2YWx1YXRlSmF2YVNjcmlwdCgidGVzdG1lKCdqc192YWx1ZScpIik7Cisg
ICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygianNf
dmFsdWUiKSk7CisKKyAgICAvLyBDaGVja2VkIHN0YXRlLgorICAgIG1fbWFpbkZyYW1lLT5zZXRI
dG1sKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGlucHV0IGlkPVwidGVzdFwiIHR5cGU9XCJj
aGVja2JveFwiIGNoZWNrZWQ9XCJjaGVja2VkXCIgLz48L2JvZHk+PC9odG1sPiIpOworICAgIGlu
cHV0RWxlbWVudCA9IG1fbWFpbkZyYW1lLT5maW5kRmlyc3RFbGVtZW50KCJpbnB1dCIpOworICAg
IFFWRVJJRlkoIWlucHV0RWxlbWVudC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoaW5wdXRFbGVt
ZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCJjaGVja2VkIikpOworICAgIGlucHV0
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiIik7CisgICAgUUNPTVBBUkUoaW5wdXRF
bGVtZW50LmF0dHJpYnV0ZSgidmFsdWUiKSwgUVN0cmluZygpKTsKKyAgICBtX21haW5GcmFtZS0+
ZXZhbHVhdGVKYXZhU2NyaXB0KCJmdW5jdGlvbiB0ZXN0bWUodGV4dCkgeyB2YXIgZSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7IGUuY2hlY2tlZCA9IHRleHQ7IH0iKTsKKyAgICBt
X21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJycpIik7CisgICAgUUNPTVBB
UkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCkpOworICAgIGlu
cHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpOworICAgIFFDT01Q
QVJFKGlucHV0RWxlbWVudC5hdHRyaWJ1dGUoImNoZWNrZWQiKSwgUVN0cmluZygiY2hlY2tlZCIp
KTsKKyAgICBtX21haW5GcmFtZS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ0ZXN0bWUoJycpIik7Cisg
ICAgUUNPTVBBUkUoaW5wdXRFbGVtZW50LmF0dHJpYnV0ZSgiY2hlY2tlZCIpLCBRU3RyaW5nKCkp
OworfQorCisKIFFURVNUX01BSU4odHN0X1FXZWJFbGVtZW50KQogI2luY2x1ZGUgInRzdF9xd2Vi
ZWxlbWVudC5tb2MiCg==
</data>
<flag name="review"
          id="87891"
          type_id="1"
          status="-"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="87892"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>