<?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>44886</bug_id>
          
          <creation_ts>2010-08-30 12:24:43 -0700</creation_ts>
          <short_desc>Reflected attribute input.size wraps on negative values (Chrome), or returns them (Safari)</short_desc>
          <delta_ts>2011-09-28 08:51:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aryeh Gregor">ayg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>rasamassen</cc>
    
    <cc>tabatkins</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xqb748</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>271562</commentid>
    <comment_count>0</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2010-08-30 12:24:43 -0700</bug_when>
    <thetext>Test case:

&lt;!doctype html&gt;
&lt;script&gt;
    var el = document.createElement(&quot;input&quot;);
    el.setAttribute(&quot;size&quot;, &quot;-1&quot;);
    alert(el.size);
&lt;/script&gt;

Chrome dev on Ubuntu alerts 4294967295, Safari 5 on XP alerts -1, IE8 alerts 20, Opera 10.60 alerts -1, recent Firefox nightly alerts 0.  The winner per the spec is Firefox:

&quot;&quot;&quot;
If a reflecting IDL attribute is an unsigned integer type (unsigned long) then, on getting, the content attribute must be parsed according to the rules for parsing non-negative integers, and if that is successful, and the value is in the range of the IDL attribute&apos;s type, the resulting value must be returned. If, on the other hand, it fails or returns an out of range value, or if the attribute is absent, the default value must be returned instead, or 0 if there is no default value.
&quot;&quot;&quot;
http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#reflecting-content-attributes-in-idl-attributes

There is no default value specified, so since parsing as a non-negative integer fails, it should return 0.  Both Chrome and Safari need to change here -- should I file separate bugs for both of them, or is this one fine by itself?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411053</commentid>
    <comment_count>1</comment_count>
    <who name="">rasamassen</who>
    <bug_when>2011-05-26 17:59:46 -0700</bug_when>
    <thetext>IE9 is, as of this date, actually the only browser that seems to parse this correctly.  IE9 throws an &quot;Invalid property value&quot; error upon setting size = -1.  Per rule 7 of the &quot;rules for parsing non-negative integers,&quot; this is the appropriate response.  Webkit should throw an error.  Only IE9 currently throws an error.

If that&apos;s a misreading, then Webkit should throw 20, but I think that&apos;s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411444</commentid>
    <comment_count>2</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-05-27 08:15:51 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; IE9 is, as of this date, actually the only browser that seems to parse this correctly.  IE9 throws an &quot;Invalid property value&quot; error upon setting size = -1.  Per rule 7 of the &quot;rules for parsing non-negative integers,&quot; this is the appropriate response.  Webkit should throw an error.  Only IE9 currently throws an error.

You mean that setAttribute() should throw?  setAttribute() never throws, if the first argument is a valid attribute name:

http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-element-setattribute

It will always set the content attribute to the given value, and getAttribute() will return exactly the string that was set (in this case, &quot;-1&quot;).  The question is what the IDL attribute (element.size) should return.

Rule 7 of the rules for parsing non-negative integers says that it has to return an error, as you say.  This doesn&apos;t mean throw an exception.  The rules for reflection cited in comment #0 explain what to do in this case: &quot;If, on the other hand, it fails or returns an out of range value, or if the attribute is absent, the default value must be returned instead, or 0 if there is no default value.&quot;

Whether to throw an exception when doing el.size = -1 is a separate issue.  I&apos;m talking about parsing the content attribute here, whether it&apos;s set by setAttribute() or just &lt;input size=&quot;-1&quot;&gt; (throwing in the latter case is of course impossible).


Actually, though, the spec has changed since I wrote comment #0.  See &lt;http://www.w3.org/Bugs/Public/show_bug.cgi?id=10517&gt;.  There&apos;s now a default value of 20:

&quot;The size IDL attribute is limited to only non-negative numbers greater than zero and has a default value of 20.&quot;
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#attr-input-size

So the correct thing to alert per spec is now 20, not 0.  Firefox 5.0a2 now alerts 20, as does IE9.  Opera 11.10 still alerts -1.  The spec/IE/Firefox behavior makes the most sense and is probably the most compatible, so it makes sense to go with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411453</commentid>
    <comment_count>3</comment_count>
    <who name="">rasamassen</who>
    <bug_when>2011-05-27 08:36:44 -0700</bug_when>
    <thetext>Being an beginning to intermediate javascript programmer, using jQuery 1.6 on the input element, the code $(&apos;input&apos;).prop(&apos;size&apos;,&apos;-1&apos;); results in IE9 throwing an &quot;Invalid property value&quot; exception.  That is not the correct response?  I assumed IE was wrong until the spec said through an error.  If that&apos;s not correct, then a bug should be reported to IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411505</commentid>
    <comment_count>4</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-05-27 09:54:27 -0700</bug_when>
    <thetext>jQuery is a huge, complicated third-party library built on top of standard browser APIs.  As far as I understand it, not being a jQuery user, .prop() sets IDL attributes and .attr() sets content attributes.  This bug discusses *reading* an IDL attribute when the content attribute is -1.  .prop(&quot;size&quot;, -1) *sets* the IDL attribute, which is an entirely separate thing.

What this bug in talking about:

* Standard: input.setAttribute(&quot;size&quot;, &quot;-1&quot;); alert(input.size)
* jQuery: input.attr(&quot;size&quot;, &quot;-1&quot;); alert(input.prop(&quot;size&quot;))

What you&apos;re talking about:

* Standard: input.size = -1
* jQuery: input.prop(&quot;size&quot;, -1)

These are separate things.  Behavior differences in the second case should probably be in a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472721</commentid>
    <comment_count>5</comment_count>
      <attachid>108576</attachid>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-23 22:22:02 -0700</bug_when>
    <thetext>Created attachment 108576
Patch

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472785</commentid>
    <comment_count>6</comment_count>
      <attachid>108576</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-24 12:16:13 -0700</bug_when>
    <thetext>Comment on attachment 108576
Patch

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

Patch is generally good, but not quite right.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1017
&gt;  int HTMLInputElement::size() const
&gt;  {
&gt; -    return m_size;
&gt; +    if (m_size &gt; 0)
&gt; +        return m_size;
&gt; +
&gt; +    return defaultSize;
&gt;  }

It’s not so great to have an m_size that is wrong rather than actually containing the size. This logic should instead go into HTMLInputElement::parseMappedAttribute in the code that sets m_size. That code could be further improved by only calling setNeedsLayoutAndPrefWidthsRecalc if m_size changes.

The alternative would be to remove m_size entirely and put all the parsing logic into HTMLInputElement::size. That would be good because it would make the object smaller. But it would make the optimization to call setNeedsLayoutAndPrefWidthsRecalc less often difficult.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472786</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-24 12:17:00 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; IE9 is, as of this date, actually the only browser that seems to parse this correctly.  IE9 throws an &quot;Invalid property value&quot; error upon setting size = -1.  Per rule 7 of the &quot;rules for parsing non-negative integers,&quot; this is the appropriate response.  Webkit should throw an error.  Only IE9 currently throws an error.

To change that we’d need to change the HTMLInputElement::setSize function. If a change is needed here, then we do need a separate function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472867</commentid>
    <comment_count>8</comment_count>
      <attachid>108602</attachid>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-25 01:12:13 -0700</bug_when>
    <thetext>Created attachment 108602
Patch

Modified patch with Darin&apos;s review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472937</commentid>
    <comment_count>9</comment_count>
      <attachid>108602</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-25 18:54:00 -0700</bug_when>
    <thetext>Comment on attachment 108602
Patch

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

Thanks for taking this approach.

&gt; Source/WebCore/html/HTMLInputElement.cpp:779
&gt; +        if (!attr-&gt;isNull()) {
&gt; +            int value = attr-&gt;value().toInt();
&gt; +            m_size = value &gt; 0 ? value : defaultSize;
&gt; +        }

The way this is written, it means that if the attribute is removed, m_size will keep its old value. That’s wrong. We want m_size to get set to defaultSize in that case. Given that 0 turns into defaultSize, we can just remove the isNull check entirely, since toInt will return 0 in that case.

We should make sure we have a test case for the transition from an attribute to not having an attribute, since that test case would have revealed this mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472968</commentid>
    <comment_count>10</comment_count>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-25 21:21:52 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 108602 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=108602&amp;action=review
&gt; 
&gt; Thanks for taking this approach.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.cpp:779
&gt; &gt; +        if (!attr-&gt;isNull()) {
&gt; &gt; +            int value = attr-&gt;value().toInt();
&gt; &gt; +            m_size = value &gt; 0 ? value : defaultSize;
&gt; &gt; +        }
&gt; 
&gt; The way this is written, it means that if the attribute is removed, m_size will keep its old value. That’s wrong. We want m_size to get set to defaultSize in that case. Given that 0 turns into defaultSize, we can just remove the isNull check entirely, since toInt will return 0 in that case.
&gt; 
Yes, I should have done away with the if check.But the only thought behind that was, since m_size is initialized with defaultSize it will have this value.
I will remove the if check in the next patch.

&gt; We should make sure we have a test case for the transition from an attribute to not having an attribute, since that test case would have revealed this mistake.

Are you talking of a test case which looks as :-

&lt;!doctype html&gt;
&lt;script&gt;
    var el = document.createElement(&quot;input&quot;);
    el.setAttribute(&quot;size&quot;, &quot;-1&quot;);
    alert(el.size);

    el.removeAttribute(&quot;size&quot;);
    alert(el.size);
&lt;/script&gt;

                 OR

&lt;!doctype html&gt;
&lt;script&gt;
    var el = document.createElement(&quot;input&quot;);
    alert(el.size);
&lt;/script&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473142</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-26 09:31:01 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Are you talking of a test case which looks as :-
&gt; 
&gt; &lt;!doctype html&gt;
&gt; &lt;script&gt;
&gt;     var el = document.createElement(&quot;input&quot;);
&gt;     el.setAttribute(&quot;size&quot;, &quot;-1&quot;);
&gt;     alert(el.size);
&gt; 
&gt;     el.removeAttribute(&quot;size&quot;);
&gt;     alert(el.size);
&gt; &lt;/script&gt;

Yes. A case roughly like the above, but the above case is fine. The bug will happen if the initial size is valid, so &quot;10&quot; instead of &quot;-1&quot;.

With theist last patch we will get 10 for el.size but we should get 20. And the element will also be the wrong size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473679</commentid>
    <comment_count>12</comment_count>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-26 22:32:58 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Yes. A case roughly like the above, but the above case is fine. The bug will happen if the initial size is valid, so &quot;10&quot; instead of &quot;-1&quot;.
&gt; 
&gt; With theist last patch we will get 10 for el.size but we should get 20. And the element will also be the wrong size.

Thanks for the review.Will Upload a modified patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473680</commentid>
    <comment_count>13</comment_count>
      <attachid>108788</attachid>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-26 22:34:35 -0700</bug_when>
    <thetext>Created attachment 108788
Patch

Patch after incorporating Darin&apos;s review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473681</commentid>
    <comment_count>14</comment_count>
      <attachid>108789</attachid>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-26 22:44:35 -0700</bug_when>
    <thetext>Created attachment 108789
Patch

Modified Patch with review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473994</commentid>
    <comment_count>15</comment_count>
      <attachid>108789</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-27 09:39:58 -0700</bug_when>
    <thetext>Comment on attachment 108789
Patch

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

r=me but I would prefer that the new test be improved as I describe in the comments, so I have not set commit-queue+

&gt; LayoutTests/fast/dom/HTMLInputElement/input-default-size.html:10
&gt; +&lt;script src=&quot;script-tests/input-default-size.js&quot;&gt;&lt;/script&gt;

This is no longer the preferred style for new tests. Instead we prefer to put the actual test inside the HTML file. The separate &quot;.js&quot; file structure is only useful for pure JavaScript tests, and even in that case, only useful in theory.

Also, the coverage in this test is too narrow. A while test just for this one case seems overkill. We should cover more transitions in size, to make sure we test all aspects of the code. Like size-attribute but with a focus on changing from previous values of the size attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474509</commentid>
    <comment_count>16</comment_count>
      <attachid>108965</attachid>
    <who name="Antaryami Pandia">xqb748</who>
    <bug_when>2011-09-27 22:40:25 -0700</bug_when>
    <thetext>Created attachment 108965
Patch

Patch with updated test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474728</commentid>
    <comment_count>17</comment_count>
      <attachid>108965</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-28 07:48:15 -0700</bug_when>
    <thetext>Comment on attachment 108965
Patch

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

&gt; LayoutTests/fast/dom/HTMLInputElement/input-size-attribute.html:20
&gt; +input.setAttribute(&quot;size&quot;, &quot;-1&quot;);
&gt; +shouldBe(&quot;input.size&quot;, &quot;20&quot;);

There’s another way to write this that makes the test output clearer:

    shouldBe(&quot;input.setAttribute(&apos;size&apos;, &apos;-1&apos;); input.size&quot;, &quot;20&quot;);

By putting the work inside the macro you can actually see it in the test output. We can always patch it to that new style after landing the initial version, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474748</commentid>
    <comment_count>18</comment_count>
      <attachid>108965</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-28 08:51:25 -0700</bug_when>
    <thetext>Comment on attachment 108965
Patch

Clearing flags on attachment: 108965

Committed r96224: &lt;http://trac.webkit.org/changeset/96224&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474749</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-28 08:51:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108576</attachid>
            <date>2011-09-23 22:22:02 -0700</date>
            <delta_ts>2011-09-25 01:12:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>44886.txt</filename>
            <type>text/plain</type>
            <size>4793</size>
            <attacher name="Antaryami Pandia">xqb748</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1OTAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMjMgIEFudGFyeWFt
aSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZWZs
ZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24gbmVnYXRpdmUgdmFsdWVzIChDaHJv
bWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFyaSkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNpemUpOgorCiAyMDExLTA5
LTIzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2FudmFzIHNl
Y3VyaXR5IGNoZWNrcyBzaG93IHVwIG9uIEhUTUw1R2FtaW5nVGVzdCBiZW5jaG1hcmsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gOTU2OTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDEwLDcgKzEwMTAsMTAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbmRl
dGVybWluYXRlKAogCiBpbnQgSFRNTElucHV0RWxlbWVudDo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIG1fc2l6ZTsKKyAgICBpZiAobV9zaXplID4gMCkKKyAgICAgICAgcmV0dXJuIG1fc2l6
ZTsKKworICAgIHJldHVybiBkZWZhdWx0U2l6ZTsKIH0KIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50
OjpzaXplU2hvdWxkSW5jbHVkZURlY29yYXRpb24oaW50JiBwcmVmZXJyZWRTaXplKSBjb25zdApJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gOTU5MDIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wOS0yMyAgQW50YXJ5YW1pIFBhbmRpYSAg
PGFudGFyeWFtaS5wYW5kaWFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJlZmxlY3RlZCBhdHRy
aWJ1dGUgaW5wdXQuc2l6ZSB3cmFwcyBvbiBuZWdhdGl2ZSB2YWx1ZXMgKENocm9tZSksIG9yCisg
ICAgICAgIHJldHVybnMgdGhlbSAoU2FmYXJpKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NjcmlwdC10
ZXN0cy9zaXplLWF0dHJpYnV0ZS5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MSW5wdXRFbGVt
ZW50L3NpemUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wOS0yMyAgSnVzdGluIE5v
dm9zYWQgIDxqdW5vdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW53YXJyYW50ZWQgRE9NIEV4
Y2VwdGlvbiB3aGVuIGNhbnZhczJEIGRyYXdJbWFnZSBpcyBjYWxsZWQgd2l0aCBzcmMgCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NpemUtYXR0cmlidXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRF
bGVtZW50L3NpemUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTU2OTgpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NpemUtYXR0cmlidXRlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCwyMCArNCwyMCBAQCBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFTUyBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpbnB1dCIpLnNpemUgaXMgMjAKLVBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIikgaXMgMAor
UEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIiKSBpcyAyMAogUEFTUyBzaXplQXR0cmlidXRlRWZm
ZWN0KCIxIikgaXMgMQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIyIikgaXMgMgogUEFTUyBz
aXplQXR0cmlidXRlRWZmZWN0KCIxMCIpIGlzIDEwCi1QQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3Qo
IjAiKSBpcyAwCi1QQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIi0xIikgaXMgLTEKK1BBU1Mgc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiMCIpIGlzIDIwCitQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIi0x
IikgaXMgMjAKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMXgiKSBpcyAxCiBQQVNTIHNpemVB
dHRyaWJ1dGVFZmZlY3QoIjEuIikgaXMgMQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxLjki
KSBpcyAxCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjJ4IikgaXMgMgogUEFTUyBzaXplQXR0
cmlidXRlRWZmZWN0KCIyLiIpIGlzIDIKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi45Iikg
aXMgMgotUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCJhIikgaXMgMAotUEFTUyBzaXplQXR0cmli
dXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpIGlzIDAKK1BBU1Mgc2l6ZUF0dHJpYnV0ZUVm
ZmVjdCgiYSIpIGlzIDIwCitQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoYXJhYmljSW5kaWNEaWdp
dE9uZSkgaXMgMjAKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIgKyBhcmFiaWNJbmRpY0Rp
Z2l0T25lKSBpcyAyCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0
cmlidXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVs
ZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCShyZXZpc2lvbiA5NTY5OCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUt
YXR0cmlidXRlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03LDE3ICs3LDE3IEBAIGZ1bmN0aW9uIHNp
emVBdHRyaWJ1dGVFZmZlY3QodmFsdWUpCiAgICAgcmV0dXJuIGVsZW1lbnQuc2l6ZTsKIH0KIAot
c2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iikuc2l6ZScsICcyMCcpOyAv
LyBHZWNrbyBhbmQgV2ViS2l0IGRvbid0IG1hdGNoLgorc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlucHV0Iikuc2l6ZScsICcyMCcpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0
ZUVmZmVjdCgiIiknLCAnMCcpOworc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIiIpJywg
JzIwJyk7CiAKIHNob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIxIiknLCAnMScpOwogc2hv
dWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIjIiKScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0
dHJpYnV0ZUVmZmVjdCgiMTAiKScsICcxMCcpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVm
ZmVjdCgiMCIpJywgJzAnKTsKK3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIwIiknLCAn
MjAnKTsKIAotc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIi0xIiknLCAnLTEnKTsgLy8g
R2Vja28gYW5kIFdlYktpdCBkb24ndCBtYXRjaC4KK3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZm
ZWN0KCItMSIpJywgJzIwJyk7CiAKIHNob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIxeCIp
JywgJzEnKTsKIHNob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIxLiIpJywgJzEnKTsKQEAg
LTI2LDEwICsyNiwxMCBAQCBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMngiKScsICcy
CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi4iKScsICcyJyk7CiBzaG91bGRCZSgn
c2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi45IiknLCAnMicpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJp
YnV0ZUVmZmVjdCgiYSIpJywgJzAnKTsKK3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCJh
IiknLCAnMjAnKTsKIAogdmFyIGFyYWJpY0luZGljRGlnaXRPbmUgPSBTdHJpbmcuZnJvbUNoYXJD
b2RlKDB4NjYxKTsKLXNob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGln
aXRPbmUpJywgJzAnKTsKK3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGlj
RGlnaXRPbmUpJywgJzIwJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIgKyBh
cmFiaWNJbmRpY0RpZ2l0T25lKScsICcyJyk7CiAKIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwo=
</data>
<flag name="review"
          id="105574"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108602</attachid>
            <date>2011-09-25 01:12:13 -0700</date>
            <delta_ts>2011-09-26 22:34:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>44886.txt</filename>
            <type>text/plain</type>
            <size>5168</size>
            <attacher name="Antaryami Pandia">xqb748</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1OTIwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMjUgIEFudGFyeWFt
aSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZWZs
ZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24gbmVnYXRpdmUgdmFsdWVzIChDaHJv
bWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFyaSkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKToKKwogMjAxMS0wOS0yNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEF0dGVtcHRlZCBidWlsZCBmaXhlcyBmb3IgR1RLIGFuZCBRdC4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gOTU2OTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03NzIsOCArNzcyLDEyIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWIKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBtYXhsZW5ndGhBdHRyKQogICAgICAg
ICBwYXJzZU1heExlbmd0aEF0dHJpYnV0ZShhdHRyKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gc2l6ZUF0dHIpIHsKLSAgICAgICAgbV9zaXplID0gYXR0ci0+aXNOdWxsKCkgPyBkZWZh
dWx0U2l6ZSA6IGF0dHItPnZhbHVlKCkudG9JbnQoKTsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkp
CisgICAgICAgIGludCBvbGRTaXplID0gbV9zaXplOworICAgICAgICBpZiAoIWF0dHItPmlzTnVs
bCgpKSB7CisgICAgICAgICAgICBpbnQgdmFsdWUgPSBhdHRyLT52YWx1ZSgpLnRvSW50KCk7Cisg
ICAgICAgICAgICBtX3NpemUgPSB2YWx1ZSA+IDAgPyB2YWx1ZSA6IGRlZmF1bHRTaXplOworICAg
ICAgICB9CisgICAgICAgIGlmIChtX3NpemUgIT0gb2xkU2l6ZSAmJiByZW5kZXJlcigpKQogICAg
ICAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7
CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gYWx0QXR0cikKICAgICAgICAgbV9pbnB1
dFR5cGUtPmFsdEF0dHJpYnV0ZUNoYW5nZWQoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1OTIwKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDktMjUgIEFudGFyeWFtaSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xh
LmNvbT4KKworICAgICAgICBSZWZsZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24g
bmVnYXRpdmUgdmFsdWVzIChDaHJvbWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFy
aSkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9kb20vSFRNTElucHV0RWxlbWVudC9zY3JpcHQtdGVzdHMvc2l6ZS1hdHRyaWJ1dGUuanM6Cisg
ICAgICAgICogZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0dHJpYnV0ZS1leHBlY3Rl
ZC50eHQ6CisKIDIwMTEtMDktMjQgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmVtb3ZlIENocm9taXVtIGZhaWxpbmcgZXhwZWN0YXRpb25zIGZvciBX
Q1NTIHRlc3RzIG5vdyB0aGF0IHRoZXkncmUgCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW5wdXRFbGVtZW50L3NpemUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NpemUtYXR0cmlidXRlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gOTU2OTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW5wdXRFbGVtZW50L3NpemUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNCwyMCArNCwyMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
CiAKIAogUEFTUyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLnNpemUgaXMgMjAKLVBB
U1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIikgaXMgMAorUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0
KCIiKSBpcyAyMAogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxIikgaXMgMQogUEFTUyBzaXpl
QXR0cmlidXRlRWZmZWN0KCIyIikgaXMgMgogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxMCIp
IGlzIDEwCi1QQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjAiKSBpcyAwCi1QQVNTIHNpemVBdHRy
aWJ1dGVFZmZlY3QoIi0xIikgaXMgLTEKK1BBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMCIpIGlz
IDIwCitQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIi0xIikgaXMgMjAKIFBBU1Mgc2l6ZUF0dHJp
YnV0ZUVmZmVjdCgiMXgiKSBpcyAxCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjEuIikgaXMg
MQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxLjkiKSBpcyAxCiBQQVNTIHNpemVBdHRyaWJ1
dGVFZmZlY3QoIjJ4IikgaXMgMgogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIyLiIpIGlzIDIK
IFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi45IikgaXMgMgotUEFTUyBzaXplQXR0cmlidXRl
RWZmZWN0KCJhIikgaXMgMAotUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGln
aXRPbmUpIGlzIDAKK1BBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpIGlzIDIwCitQQVNTIHNp
emVBdHRyaWJ1dGVFZmZlY3QoYXJhYmljSW5kaWNEaWdpdE9uZSkgaXMgMjAKIFBBU1Mgc2l6ZUF0
dHJpYnV0ZUVmZmVjdCgiMiIgKyBhcmFiaWNJbmRpY0RpZ2l0T25lKSBpcyAyCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJ
bnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUt
YXR0cmlidXRlLmpzCShyZXZpc2lvbiA5NTY5OCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC03LDE3ICs3LDE3IEBAIGZ1bmN0aW9uIHNpemVBdHRyaWJ1dGVFZmZlY3QodmFsdWUp
CiAgICAgcmV0dXJuIGVsZW1lbnQuc2l6ZTsKIH0KIAotc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlucHV0Iikuc2l6ZScsICcyMCcpOyAvLyBHZWNrbyBhbmQgV2ViS2l0IGRvbid0
IG1hdGNoLgorc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iikuc2l6ZScs
ICcyMCcpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIiknLCAnMCcpOworc2hv
dWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIiIpJywgJzIwJyk7CiAKIHNob3VsZEJlKCdzaXpl
QXR0cmlidXRlRWZmZWN0KCIxIiknLCAnMScpOwogc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZl
Y3QoIjIiKScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMTAiKScsICcx
MCcpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMCIpJywgJzAnKTsKK3Nob3Vs
ZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIwIiknLCAnMjAnKTsKIAotc2hvdWxkQmUoJ3NpemVB
dHRyaWJ1dGVFZmZlY3QoIi0xIiknLCAnLTEnKTsgLy8gR2Vja28gYW5kIFdlYktpdCBkb24ndCBt
YXRjaC4KK3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCItMSIpJywgJzIwJyk7CiAKIHNo
b3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIxeCIpJywgJzEnKTsKIHNob3VsZEJlKCdzaXpl
QXR0cmlidXRlRWZmZWN0KCIxLiIpJywgJzEnKTsKQEAgLTI2LDEwICsyNiwxMCBAQCBzaG91bGRC
ZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMngiKScsICcyCiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0
ZUVmZmVjdCgiMi4iKScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi45
IiknLCAnMicpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpJywgJzAnKTsK
K3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCJhIiknLCAnMjAnKTsKIAogdmFyIGFyYWJp
Y0luZGljRGlnaXRPbmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4NjYxKTsKLXNob3VsZEJlKCdz
aXplQXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpJywgJzAnKTsKK3Nob3VsZEJl
KCdzaXplQXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpJywgJzIwJyk7CiBzaG91
bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIgKyBhcmFiaWNJbmRpY0RpZ2l0T25lKScsICcy
Jyk7CiAKIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="105612"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="105613"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108788</attachid>
            <date>2011-09-26 22:34:35 -0700</date>
            <delta_ts>2011-09-26 22:44:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>44886.txt</filename>
            <type>text/plain</type>
            <size>5675</size>
            <attacher name="Antaryami Pandia">xqb748</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24g
OTYwNjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NjgsOCArNzY4LDEwIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWIKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBtYXhsZW5ndGhB
dHRyKQogICAgICAgICBwYXJzZU1heExlbmd0aEF0dHJpYnV0ZShhdHRyKTsKICAgICBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gc2l6ZUF0dHIpIHsKLSAgICAgICAgbV9zaXplID0gYXR0ci0+aXNO
dWxsKCkgPyBkZWZhdWx0U2l6ZSA6IGF0dHItPnZhbHVlKCkudG9JbnQoKTsKLSAgICAgICAgaWYg
KHJlbmRlcmVyKCkpCisgICAgICAgIGludCBvbGRTaXplID0gbV9zaXplOworICAgICAgICBpbnQg
dmFsdWUgPSBhdHRyLT52YWx1ZSgpLnRvSW50KCk7CisgICAgICAgIG1fc2l6ZSA9IHZhbHVlID4g
MCA/IHZhbHVlIDogZGVmYXVsdFNpemU7CisgICAgICAgIGlmIChtX3NpemUgIT0gb2xkU2l6ZSAm
JiByZW5kZXJlcigpKQogICAgICAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQ
cmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gYWx0QXR0
cikKICAgICAgICAgbV9pbnB1dFR5cGUtPmFsdEF0dHJpYnV0ZUNoYW5nZWQoKTsKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvaW5wdXQtZGVmYXVsdC1zaXplLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRF
bGVtZW50L2lucHV0LWRlZmF1bHQtc2l6ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2lucHV0LWRlZmF1bHQtc2l6ZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKK0hUTUxJbnB1dEVsZW1l
bnQgc2l6ZSBhdHRyaWJ1dGUgdGVzdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBjaGVja0RlZmF1bHRTaXplQXR0cmlidXRlKCIxMCIpIGlzIDIwCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9pbnB1dC1kZWZhdWx0LXNpemUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2lucHV0LWRlZmF1
bHQtc2l6ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElu
cHV0RWxlbWVudC9pbnB1dC1kZWZhdWx0LXNpemUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9pbnB1dC1kZWZhdWx0LXNpemUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXpl
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDk2MDY4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0
dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsMjAgKzQsMjAgQEAgT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiAKIFBBU1MgZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW5wdXQiKS5zaXplIGlzIDIwCi1QQVNTIHNpemVBdHRyaWJ1dGVFZmZl
Y3QoIiIpIGlzIDAKK1BBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIikgaXMgMjAKIFBBU1Mgc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiMSIpIGlzIDEKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIp
IGlzIDIKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMTAiKSBpcyAxMAotUEFTUyBzaXplQXR0
cmlidXRlRWZmZWN0KCIwIikgaXMgMAotUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCItMSIpIGlz
IC0xCitQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjAiKSBpcyAyMAorUEFTUyBzaXplQXR0cmli
dXRlRWZmZWN0KCItMSIpIGlzIDIwCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjF4IikgaXMg
MQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxLiIpIGlzIDEKIFBBU1Mgc2l6ZUF0dHJpYnV0
ZUVmZmVjdCgiMS45IikgaXMgMQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIyeCIpIGlzIDIK
IFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi4iKSBpcyAyCiBQQVNTIHNpemVBdHRyaWJ1dGVF
ZmZlY3QoIjIuOSIpIGlzIDIKLVBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpIGlzIDAKLVBB
U1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdChhcmFiaWNJbmRpY0RpZ2l0T25lKSBpcyAwCitQQVNTIHNp
emVBdHRyaWJ1dGVFZmZlY3QoImEiKSBpcyAyMAorUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KGFy
YWJpY0luZGljRGlnaXRPbmUpIGlzIDIwCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjIiICsg
YXJhYmljSW5kaWNEaWdpdE9uZSkgaXMgMgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NjcmlwdC10
ZXN0cy9pbnB1dC1kZWZhdWx0LXNpemUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTElucHV0RWxlbWVudC9zY3JpcHQtdGVzdHMvaW5wdXQtZGVmYXVsdC1zaXplLmpz
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9z
Y3JpcHQtdGVzdHMvaW5wdXQtZGVmYXVsdC1zaXplLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE0IEBACitkZXNjcmlwdGlvbigiSFRNTElucHV0RWxlbWVudCBzaXplIGF0dHJpYnV0ZSB0ZXN0
Iik7CisKK2Z1bmN0aW9uIGNoZWNrRGVmYXVsdFNpemVBdHRyaWJ1dGUodmFsdWUpCit7CisgICAg
dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOworICAgIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJzaXplIiwgdmFsdWUpOworCisgICAgZWxlbWVudC5yZW1vdmVBdHRy
aWJ1dGUoInNpemUiKTsKKyAgICByZXR1cm4gZWxlbWVudC5zaXplOworfQorCitzaG91bGRCZSgn
Y2hlY2tEZWZhdWx0U2l6ZUF0dHJpYnV0ZSgiMTAiKScsICcyMCcpOworCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVs
ZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmli
dXRlLmpzCShyZXZpc2lvbiA5NjA2OCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1
dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC03LDE3ICs3LDE3IEBAIGZ1bmN0aW9uIHNpemVBdHRyaWJ1dGVFZmZlY3QodmFsdWUpCiAgICAg
cmV0dXJuIGVsZW1lbnQuc2l6ZTsKIH0KIAotc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iikuc2l6ZScsICcyMCcpOyAvLyBHZWNrbyBhbmQgV2ViS2l0IGRvbid0IG1hdGNo
Lgorc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iikuc2l6ZScsICcyMCcp
OwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIiknLCAnMCcpOworc2hvdWxkQmUo
J3NpemVBdHRyaWJ1dGVFZmZlY3QoIiIpJywgJzIwJyk7CiAKIHNob3VsZEJlKCdzaXplQXR0cmli
dXRlRWZmZWN0KCIxIiknLCAnMScpOwogc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIjIi
KScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMTAiKScsICcxMCcpOwog
Ci1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMCIpJywgJzAnKTsKK3Nob3VsZEJlKCdz
aXplQXR0cmlidXRlRWZmZWN0KCIwIiknLCAnMjAnKTsKIAotc2hvdWxkQmUoJ3NpemVBdHRyaWJ1
dGVFZmZlY3QoIi0xIiknLCAnLTEnKTsgLy8gR2Vja28gYW5kIFdlYktpdCBkb24ndCBtYXRjaC4K
K3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCItMSIpJywgJzIwJyk7CiAKIHNob3VsZEJl
KCdzaXplQXR0cmlidXRlRWZmZWN0KCIxeCIpJywgJzEnKTsKIHNob3VsZEJlKCdzaXplQXR0cmli
dXRlRWZmZWN0KCIxLiIpJywgJzEnKTsKQEAgLTI2LDEwICsyNiwxMCBAQCBzaG91bGRCZSgnc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiMngiKScsICcyCiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVj
dCgiMi4iKScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi45IiknLCAn
MicpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpJywgJzAnKTsKK3Nob3Vs
ZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCJhIiknLCAnMjAnKTsKIAogdmFyIGFyYWJpY0luZGlj
RGlnaXRPbmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4NjYxKTsKLXNob3VsZEJlKCdzaXplQXR0
cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpJywgJzAnKTsKK3Nob3VsZEJlKCdzaXpl
QXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpJywgJzIwJyk7CiBzaG91bGRCZSgn
c2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIgKyBhcmFiaWNJbmRpY0RpZ2l0T25lKScsICcyJyk7CiAK
IHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108789</attachid>
            <date>2011-09-26 22:44:35 -0700</date>
            <delta_ts>2011-09-27 22:40:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>44886.txt</filename>
            <type>text/plain</type>
            <size>7442</size>
            <attacher name="Antaryami Pandia">xqb748</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2MDY5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDktMjYgIEFudGFyeWFt
aSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZWZs
ZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24gbmVnYXRpdmUgdmFsdWVzIChDaHJv
bWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFyaSkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxJbnB1dEVs
ZW1lbnQvaW5wdXQtZGVmYXVsdC1zaXplLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZSk6CisKIDIwMTEtMDktMDkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgVHJhbnNsdWNlbnQgc2Nyb2xsYmFycyBvbiBjb21wb3Np
dGVkIGxheWVycyByZW5kZXIgaW5jb3JyZWN0bHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gOTYwNjgpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjgsOCArNzY4LDEw
IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWIKICAgICB9IGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBtYXhsZW5ndGhBdHRyKQogICAgICAgICBwYXJzZU1heExlbmd0
aEF0dHJpYnV0ZShhdHRyKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gc2l6ZUF0dHIp
IHsKLSAgICAgICAgbV9zaXplID0gYXR0ci0+aXNOdWxsKCkgPyBkZWZhdWx0U2l6ZSA6IGF0dHIt
PnZhbHVlKCkudG9JbnQoKTsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgIGludCBv
bGRTaXplID0gbV9zaXplOworICAgICAgICBpbnQgdmFsdWUgPSBhdHRyLT52YWx1ZSgpLnRvSW50
KCk7CisgICAgICAgIG1fc2l6ZSA9IHZhbHVlID4gMCA/IHZhbHVlIDogZGVmYXVsdFNpemU7Cisg
ICAgICAgIGlmIChtX3NpemUgIT0gb2xkU2l6ZSAmJiByZW5kZXJlcigpKQogICAgICAgICAgICAg
cmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgfSBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gYWx0QXR0cikKICAgICAgICAgbV9pbnB1dFR5cGUtPmFs
dEF0dHJpYnV0ZUNoYW5nZWQoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2MDY5KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDkt
MjYgIEFudGFyeWFtaSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBSZWZsZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24gbmVnYXRpdmUg
dmFsdWVzIChDaHJvbWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFyaSkuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vSFRN
TElucHV0RWxlbWVudC9pbnB1dC1kZWZhdWx0LXNpemUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2lucHV0LWRlZmF1bHQtc2l6ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NjcmlwdC10ZXN0
cy9pbnB1dC1kZWZhdWx0LXNpemUuanM6IEFkZGVkLgorICAgICAgICAoY2hlY2tEZWZhdWx0U2l6
ZUF0dHJpYnV0ZSk6CisgICAgICAgICogZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zY3JpcHQt
dGVzdHMvc2l6ZS1hdHRyaWJ1dGUuanM6CisgICAgICAgICogZmFzdC9kb20vSFRNTElucHV0RWxl
bWVudC9zaXplLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisKIDIwMTEtMDktMDkgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVHJhbnNsdWNlbnQgc2Ny
b2xsYmFycyBvbiBjb21wb3NpdGVkIGxheWVycyByZW5kZXIgaW5jb3JyZWN0bHkKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvaW5wdXQtZGVmYXVsdC1zaXplLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRF
bGVtZW50L2lucHV0LWRlZmF1bHQtc2l6ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2lucHV0LWRlZmF1bHQtc2l6ZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKK0hUTUxJbnB1dEVsZW1l
bnQgc2l6ZSBhdHRyaWJ1dGUgdGVzdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBjaGVja0RlZmF1bHRTaXplQXR0cmlidXRlKCIxMCIpIGlzIDIwCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9pbnB1dC1kZWZhdWx0LXNpemUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2lucHV0LWRlZmF1
bHQtc2l6ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElu
cHV0RWxlbWVudC9pbnB1dC1kZWZhdWx0LXNpemUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9pbnB1dC1kZWZhdWx0LXNpemUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXpl
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDk2MDY4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0
dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsMjAgKzQsMjAgQEAgT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiAKIFBBU1MgZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW5wdXQiKS5zaXplIGlzIDIwCi1QQVNTIHNpemVBdHRyaWJ1dGVFZmZl
Y3QoIiIpIGlzIDAKK1BBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIikgaXMgMjAKIFBBU1Mgc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiMSIpIGlzIDEKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIp
IGlzIDIKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMTAiKSBpcyAxMAotUEFTUyBzaXplQXR0
cmlidXRlRWZmZWN0KCIwIikgaXMgMAotUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCItMSIpIGlz
IC0xCitQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjAiKSBpcyAyMAorUEFTUyBzaXplQXR0cmli
dXRlRWZmZWN0KCItMSIpIGlzIDIwCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjF4IikgaXMg
MQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxLiIpIGlzIDEKIFBBU1Mgc2l6ZUF0dHJpYnV0
ZUVmZmVjdCgiMS45IikgaXMgMQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIyeCIpIGlzIDIK
IFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi4iKSBpcyAyCiBQQVNTIHNpemVBdHRyaWJ1dGVF
ZmZlY3QoIjIuOSIpIGlzIDIKLVBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpIGlzIDAKLVBB
U1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdChhcmFiaWNJbmRpY0RpZ2l0T25lKSBpcyAwCitQQVNTIHNp
emVBdHRyaWJ1dGVFZmZlY3QoImEiKSBpcyAyMAorUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KGFy
YWJpY0luZGljRGlnaXRPbmUpIGlzIDIwCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjIiICsg
YXJhYmljSW5kaWNEaWdpdE9uZSkgaXMgMgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NjcmlwdC10
ZXN0cy9pbnB1dC1kZWZhdWx0LXNpemUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTElucHV0RWxlbWVudC9zY3JpcHQtdGVzdHMvaW5wdXQtZGVmYXVsdC1zaXplLmpz
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9z
Y3JpcHQtdGVzdHMvaW5wdXQtZGVmYXVsdC1zaXplLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE0IEBACitkZXNjcmlwdGlvbigiSFRNTElucHV0RWxlbWVudCBzaXplIGF0dHJpYnV0ZSB0ZXN0
Iik7CisKK2Z1bmN0aW9uIGNoZWNrRGVmYXVsdFNpemVBdHRyaWJ1dGUodmFsdWUpCit7CisgICAg
dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOworICAgIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJzaXplIiwgdmFsdWUpOworCisgICAgZWxlbWVudC5yZW1vdmVBdHRy
aWJ1dGUoInNpemUiKTsKKyAgICByZXR1cm4gZWxlbWVudC5zaXplOworfQorCitzaG91bGRCZSgn
Y2hlY2tEZWZhdWx0U2l6ZUF0dHJpYnV0ZSgiMTAiKScsICcyMCcpOworCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVs
ZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmli
dXRlLmpzCShyZXZpc2lvbiA5NjA2OCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1
dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NpemUtYXR0cmlidXRlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC03LDE3ICs3LDE3IEBAIGZ1bmN0aW9uIHNpemVBdHRyaWJ1dGVFZmZlY3QodmFsdWUpCiAgICAg
cmV0dXJuIGVsZW1lbnQuc2l6ZTsKIH0KIAotc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iikuc2l6ZScsICcyMCcpOyAvLyBHZWNrbyBhbmQgV2ViS2l0IGRvbid0IG1hdGNo
Lgorc2hvdWxkQmUoJ2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iikuc2l6ZScsICcyMCcp
OwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIiknLCAnMCcpOworc2hvdWxkQmUo
J3NpemVBdHRyaWJ1dGVFZmZlY3QoIiIpJywgJzIwJyk7CiAKIHNob3VsZEJlKCdzaXplQXR0cmli
dXRlRWZmZWN0KCIxIiknLCAnMScpOwogc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIjIi
KScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMTAiKScsICcxMCcpOwog
Ci1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMCIpJywgJzAnKTsKK3Nob3VsZEJlKCdz
aXplQXR0cmlidXRlRWZmZWN0KCIwIiknLCAnMjAnKTsKIAotc2hvdWxkQmUoJ3NpemVBdHRyaWJ1
dGVFZmZlY3QoIi0xIiknLCAnLTEnKTsgLy8gR2Vja28gYW5kIFdlYktpdCBkb24ndCBtYXRjaC4K
K3Nob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCItMSIpJywgJzIwJyk7CiAKIHNob3VsZEJl
KCdzaXplQXR0cmlidXRlRWZmZWN0KCIxeCIpJywgJzEnKTsKIHNob3VsZEJlKCdzaXplQXR0cmli
dXRlRWZmZWN0KCIxLiIpJywgJzEnKTsKQEAgLTI2LDEwICsyNiwxMCBAQCBzaG91bGRCZSgnc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiMngiKScsICcyCiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVj
dCgiMi4iKScsICcyJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi45IiknLCAn
MicpOwogCi1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpJywgJzAnKTsKK3Nob3Vs
ZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCJhIiknLCAnMjAnKTsKIAogdmFyIGFyYWJpY0luZGlj
RGlnaXRPbmUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4NjYxKTsKLXNob3VsZEJlKCdzaXplQXR0
cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpJywgJzAnKTsKK3Nob3VsZEJlKCdzaXpl
QXR0cmlidXRlRWZmZWN0KGFyYWJpY0luZGljRGlnaXRPbmUpJywgJzIwJyk7CiBzaG91bGRCZSgn
c2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIgKyBhcmFiaWNJbmRpY0RpZ2l0T25lKScsICcyJyk7CiAK
IHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="105833"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="105834"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108965</attachid>
            <date>2011-09-27 22:40:25 -0700</date>
            <delta_ts>2011-09-28 08:51:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>44886.txt</filename>
            <type>text/plain</type>
            <size>7542</size>
            <attacher name="Antaryami Pandia">xqb748</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2MTg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDktMjcgIEFudGFyeWFt
aSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZWZs
ZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24gbmVnYXRpdmUgdmFsdWVzIChDaHJv
bWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFyaSkuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxJbnB1dEVs
ZW1lbnQvaW5wdXQtc2l6ZS1hdHRyaWJ1dGUuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKToKKwogMjAxMS0wOS0yNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBTaW1wbGlmeSBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cG9z
aXRpb25BdFN0YXJ0T2ZJbnNlcnRlZENvbnRlbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gOTYxODcpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjgsOCArNzY4LDEw
IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWIKICAgICB9IGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBtYXhsZW5ndGhBdHRyKQogICAgICAgICBwYXJzZU1heExlbmd0
aEF0dHJpYnV0ZShhdHRyKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gc2l6ZUF0dHIp
IHsKLSAgICAgICAgbV9zaXplID0gYXR0ci0+aXNOdWxsKCkgPyBkZWZhdWx0U2l6ZSA6IGF0dHIt
PnZhbHVlKCkudG9JbnQoKTsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgIGludCBv
bGRTaXplID0gbV9zaXplOworICAgICAgICBpbnQgdmFsdWUgPSBhdHRyLT52YWx1ZSgpLnRvSW50
KCk7CisgICAgICAgIG1fc2l6ZSA9IHZhbHVlID4gMCA/IHZhbHVlIDogZGVmYXVsdFNpemU7Cisg
ICAgICAgIGlmIChtX3NpemUgIT0gb2xkU2l6ZSAmJiByZW5kZXJlcigpKQogICAgICAgICAgICAg
cmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgfSBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gYWx0QXR0cikKICAgICAgICAgbV9pbnB1dFR5cGUtPmFs
dEF0dHJpYnV0ZUNoYW5nZWQoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2MTg3KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDkt
MjcgIEFudGFyeWFtaSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBSZWZsZWN0ZWQgYXR0cmlidXRlIGlucHV0LnNpemUgd3JhcHMgb24gbmVnYXRpdmUg
dmFsdWVzIChDaHJvbWUpLCBvcgorICAgICAgICByZXR1cm5zIHRoZW0gKFNhZmFyaSkuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vSFRN
TElucHV0RWxlbWVudC9pbnB1dC1zaXplLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvaW5wdXQtc2l6ZS1hdHRyaWJ1dGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zY3JpcHQt
dGVzdHMvc2l6ZS1hdHRyaWJ1dGUuanM6CisgICAgICAgICogZmFzdC9kb20vSFRNTElucHV0RWxl
bWVudC9zaXplLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisKIDIwMTEtMDktMjcgIENocmlzIFJv
Z2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBBZGQgbGF5b3V0IHRlc3QgZm9y
IFdhdmVTaGFwZXJOb2RlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVt
ZW50L2lucHV0LXNpemUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2lucHV0LXNpemUtYXR0cmlidXRlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1
dEVsZW1lbnQvaW5wdXQtc2l6ZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE5IEBACitIVE1MSW5wdXRFbGVtZW50IHNpemUgYXR0cmlidXRlIHRlc3QKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW5wdXQuc2l6ZSBpcyAyMAorUEFT
UyBpbnB1dC5zaXplIGlzIDIwCitQQVNTIGlucHV0LnNpemUgaXMgMjAKK1BBU1MgaW5wdXQuc2l6
ZSBpcyAxCitQQVNTIGlucHV0LnNpemUgaXMgMgorUEFTUyBpbnB1dC5zaXplIGlzIDIwCitQQVNT
IGlucHV0LnNpemUgaXMgMjAKK1BBU1MgaW5wdXQuc2l6ZSBpcyAyMAorUEFTUyBpbnB1dC5zaXpl
IGlzIDIwCitQQVNTIGlucHV0LnNpemUgaXMgMTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW5wdXRFbGVtZW50L2lucHV0LXNpemUtYXR0cmlidXRlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9pbnB1dC1zaXplLWF0dHJpYnV0ZS5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVu
dC9pbnB1dC1zaXplLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxib2R5PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdIVE1MSW5wdXRFbGVtZW50IHNpemUgYXR0cmlidXRlIHRlc3QnKTsKKwordmFy
IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKworc2hvdWxkQmUoImlu
cHV0LnNpemUiLCAiMjAiKTsKKworaW5wdXQuc2V0QXR0cmlidXRlKCJzaXplIiwgIi0xIik7Citz
aG91bGRCZSgiaW5wdXQuc2l6ZSIsICIyMCIpOworCitpbnB1dC5yZW1vdmVBdHRyaWJ1dGUoInNp
emUiKTsKK3Nob3VsZEJlKCJpbnB1dC5zaXplIiwgIjIwIik7CisKK2lucHV0LnNldEF0dHJpYnV0
ZSgic2l6ZSIsICIxIik7CitzaG91bGRCZSgiaW5wdXQuc2l6ZSIsICIxIik7CisKK2lucHV0LnNl
dEF0dHJpYnV0ZSgic2l6ZSIsICIyIik7CitzaG91bGRCZSgiaW5wdXQuc2l6ZSIsICIyIik7CisK
K2lucHV0LnJlbW92ZUF0dHJpYnV0ZSgic2l6ZSIpOworc2hvdWxkQmUoImlucHV0LnNpemUiLCAi
MjAiKTsKKworaW5wdXQuc2V0QXR0cmlidXRlKCJzaXplIiwgImEiKTsKK3Nob3VsZEJlKCJpbnB1
dC5zaXplIiwgIjIwIik7CisKK2lucHV0LnJlbW92ZUF0dHJpYnV0ZSgic2l6ZSIpOworc2hvdWxk
QmUoImlucHV0LnNpemUiLCAiMjAiKTsKKworaW5wdXQuc2V0QXR0cmlidXRlKCJzaXplIiwgIjAi
KTsKK3Nob3VsZEJlKCJpbnB1dC5zaXplIiwgIjIwIik7CisKK2lucHV0LnNldEF0dHJpYnV0ZSgi
c2l6ZSIsICIxMCIpOworc2hvdWxkQmUoImlucHV0LnNpemUiLCAiMTAiKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXpl
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDk2MTg3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9zaXplLWF0
dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsMjAgKzQsMjAgQEAgT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiAKIFBBU1MgZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW5wdXQiKS5zaXplIGlzIDIwCi1QQVNTIHNpemVBdHRyaWJ1dGVFZmZl
Y3QoIiIpIGlzIDAKK1BBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiIikgaXMgMjAKIFBBU1Mgc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiMSIpIGlzIDEKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMiIp
IGlzIDIKIFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMTAiKSBpcyAxMAotUEFTUyBzaXplQXR0
cmlidXRlRWZmZWN0KCIwIikgaXMgMAotUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCItMSIpIGlz
IC0xCitQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjAiKSBpcyAyMAorUEFTUyBzaXplQXR0cmli
dXRlRWZmZWN0KCItMSIpIGlzIDIwCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjF4IikgaXMg
MQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIxLiIpIGlzIDEKIFBBU1Mgc2l6ZUF0dHJpYnV0
ZUVmZmVjdCgiMS45IikgaXMgMQogUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KCIyeCIpIGlzIDIK
IFBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMi4iKSBpcyAyCiBQQVNTIHNpemVBdHRyaWJ1dGVF
ZmZlY3QoIjIuOSIpIGlzIDIKLVBBU1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiYSIpIGlzIDAKLVBB
U1Mgc2l6ZUF0dHJpYnV0ZUVmZmVjdChhcmFiaWNJbmRpY0RpZ2l0T25lKSBpcyAwCitQQVNTIHNp
emVBdHRyaWJ1dGVFZmZlY3QoImEiKSBpcyAyMAorUEFTUyBzaXplQXR0cmlidXRlRWZmZWN0KGFy
YWJpY0luZGljRGlnaXRPbmUpIGlzIDIwCiBQQVNTIHNpemVBdHRyaWJ1dGVFZmZlY3QoIjIiICsg
YXJhYmljSW5kaWNEaWdpdE9uZSkgaXMgMgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3NjcmlwdC10
ZXN0cy9zaXplLWF0dHJpYnV0ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW5wdXRFbGVtZW50L3NjcmlwdC10ZXN0cy9zaXplLWF0dHJpYnV0ZS5qcwkocmV2aXNp
b24gOTYxODcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L3Njcmlw
dC10ZXN0cy9zaXplLWF0dHJpYnV0ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNywxNyArNywxNyBA
QCBmdW5jdGlvbiBzaXplQXR0cmlidXRlRWZmZWN0KHZhbHVlKQogICAgIHJldHVybiBlbGVtZW50
LnNpemU7CiB9CiAKLXNob3VsZEJlKCdkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLnNp
emUnLCAnMjAnKTsgLy8gR2Vja28gYW5kIFdlYktpdCBkb24ndCBtYXRjaC4KK3Nob3VsZEJlKCdk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLnNpemUnLCAnMjAnKTsKIAotc2hvdWxkQmUo
J3NpemVBdHRyaWJ1dGVFZmZlY3QoIiIpJywgJzAnKTsKK3Nob3VsZEJlKCdzaXplQXR0cmlidXRl
RWZmZWN0KCIiKScsICcyMCcpOwogCiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMSIp
JywgJzEnKTsKIHNob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCIyIiknLCAnMicpOwogc2hv
dWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIjEwIiknLCAnMTAnKTsKIAotc2hvdWxkQmUoJ3Np
emVBdHRyaWJ1dGVFZmZlY3QoIjAiKScsICcwJyk7CitzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVm
ZmVjdCgiMCIpJywgJzIwJyk7CiAKLXNob3VsZEJlKCdzaXplQXR0cmlidXRlRWZmZWN0KCItMSIp
JywgJy0xJyk7IC8vIEdlY2tvIGFuZCBXZWJLaXQgZG9uJ3QgbWF0Y2guCitzaG91bGRCZSgnc2l6
ZUF0dHJpYnV0ZUVmZmVjdCgiLTEiKScsICcyMCcpOwogCiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0
ZUVmZmVjdCgiMXgiKScsICcxJyk7CiBzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdCgiMS4i
KScsICcxJyk7CkBAIC0yNiwxMCArMjYsMTAgQEAgc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZl
Y3QoIjJ4IiknLCAnMgogc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIjIuIiknLCAnMicp
Owogc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoIjIuOSIpJywgJzInKTsKIAotc2hvdWxk
QmUoJ3NpemVBdHRyaWJ1dGVFZmZlY3QoImEiKScsICcwJyk7CitzaG91bGRCZSgnc2l6ZUF0dHJp
YnV0ZUVmZmVjdCgiYSIpJywgJzIwJyk7CiAKIHZhciBhcmFiaWNJbmRpY0RpZ2l0T25lID0gU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDY2MSk7Ci1zaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVjdChh
cmFiaWNJbmRpY0RpZ2l0T25lKScsICcwJyk7CitzaG91bGRCZSgnc2l6ZUF0dHJpYnV0ZUVmZmVj
dChhcmFiaWNJbmRpY0RpZ2l0T25lKScsICcyMCcpOwogc2hvdWxkQmUoJ3NpemVBdHRyaWJ1dGVF
ZmZlY3QoIjIiICsgYXJhYmljSW5kaWNEaWdpdE9uZSknLCAnMicpOwogCiB2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>