<?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>96264</bug_id>
          
          <creation_ts>2012-09-10 05:26:09 -0700</creation_ts>
          <short_desc>Reuse floating point formatting of TextStream in RenderTreeAsText.cpp</short_desc>
          <delta_ts>2012-09-14 00:09: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>96330</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>benjamin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>715962</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-10 05:26:09 -0700</bug_when>
    <thetext>Reuse floating point formatting of TextStream in RenderTreeAsText.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715972</commentid>
    <comment_count>1</comment_count>
      <attachid>163100</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-10 05:44:53 -0700</bug_when>
    <thetext>Created attachment 163100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715987</commentid>
    <comment_count>2</comment_count>
      <attachid>163100</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-10 05:57:23 -0700</bug_when>
    <thetext>Comment on attachment 163100
Patch

Attachment 163100 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13796870</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715988</commentid>
    <comment_count>3</comment_count>
      <attachid>163100</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-09-10 05:59:09 -0700</bug_when>
    <thetext>Comment on attachment 163100
Patch

Attachment 163100 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13796869</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715990</commentid>
    <comment_count>4</comment_count>
      <attachid>163100</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-10 06:01:03 -0700</bug_when>
    <thetext>Comment on attachment 163100
Patch

Attachment 163100 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13800803</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715991</commentid>
    <comment_count>5</comment_count>
      <attachid>163100</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-10 06:01:16 -0700</bug_when>
    <thetext>Comment on attachment 163100
Patch

Attachment 163100 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13798785</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715998</commentid>
    <comment_count>6</comment_count>
      <attachid>163107</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-10 06:06:27 -0700</bug_when>
    <thetext>Created attachment 163107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716596</commentid>
    <comment_count>7</comment_count>
      <attachid>163107</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-10 15:23:27 -0700</bug_when>
    <thetext>Comment on attachment 163107
Patch

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

&gt; Source/WebCore/rendering/RenderTreeAsText.cpp:90
&gt; -String formatNumberRespectingIntegers(double value)
&gt; +void writeNumberRespectingIntegers(TextStream&amp; ts, float value)

The change double-&gt;float must be justified.

&gt; Source/WebCore/rendering/RenderTreeAsText.cpp:121
&gt; -    ts &lt;&lt; &quot;(&quot; &lt;&lt; formatNumberRespectingIntegers(p.x());
&gt; -    ts &lt;&lt; &quot;,&quot; &lt;&lt; formatNumberRespectingIntegers(p.y());
&gt; +    ts &lt;&lt; &quot;(&quot;;
&gt; +    writeNumberRespectingIntegers(ts, p.x());
&gt; +    ts &lt;&lt; &quot;,&quot;;
&gt; +    writeNumberRespectingIntegers(ts, p.y());
&gt;      ts &lt;&lt; &quot;)&quot;;
&gt;      return ts;

I haven&apos;t looked at this code in detail yet so that is just an early comment.

To make the code more readable, could&apos;t you add an operator&lt;&lt; to TextStream taking an wrapper returned by formatNumberRespectingIntegers? Something like this:

struct TextStreamFormatNumberRespectingIntegers { double value; }

TextStream::operator&lt;&lt;(TextStreamFormatNumberRespectingIntegers value) {
    if (hasFractions(value)) {
        ...
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717292</commentid>
    <comment_count>8</comment_count>
      <attachid>163387</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-11 09:51:08 -0700</bug_when>
    <thetext>Created attachment 163387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717299</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 09:55:56 -0700</bug_when>
    <thetext>Attachment 163387 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/text/TextStream.h:38:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 5 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>717304</commentid>
    <comment_count>10</comment_count>
      <attachid>163390</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-11 09:57:24 -0700</bug_when>
    <thetext>Created attachment 163390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717312</commentid>
    <comment_count>11</comment_count>
      <attachid>163390</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-11 10:01:19 -0700</bug_when>
    <thetext>Comment on attachment 163390
Patch

Attachment 163390 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13818432</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717313</commentid>
    <comment_count>12</comment_count>
      <attachid>163390</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 10:02:47 -0700</bug_when>
    <thetext>Comment on attachment 163390
Patch

Attachment 163390 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13806825</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717316</commentid>
    <comment_count>13</comment_count>
      <attachid>163390</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-11 10:04:11 -0700</bug_when>
    <thetext>Comment on attachment 163390
Patch

Attachment 163390 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13806828</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717317</commentid>
    <comment_count>14</comment_count>
      <attachid>163390</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-11 10:04:11 -0700</bug_when>
    <thetext>Comment on attachment 163390
Patch

Attachment 163390 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13826303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717318</commentid>
    <comment_count>15</comment_count>
      <attachid>163394</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-11 10:04:42 -0700</bug_when>
    <thetext>Created attachment 163394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718731</commentid>
    <comment_count>16</comment_count>
      <attachid>163394</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-12 14:37:21 -0700</bug_when>
    <thetext>Comment on attachment 163394
Patch

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

I like this, it is a better encapsulation.

&gt; Source/WebCore/ChangeLog:10
&gt; +        RenderTreeAsText uses the same format for streaming out floats as
&gt; +        TextStream does. Replace formatNumberRespectingIntegers() with
&gt; +        a new overload to the operator&lt;&lt; to avoid code duplications.

I would like a bit more explanation.
1) What code duplication is saved.
2) Mention it takes advantage of StringBuilder::appendNumber() to avoid a temporary StringImpl.

&gt; Source/WebCore/platform/text/TextStream.cpp:29
&gt; +#include &lt;math.h&gt;

MathExtras.h for future proofing it?

&gt; Source/WebCore/platform/text/TextStream.cpp:119
&gt; +TextStream&amp; TextStream::operator&lt;&lt;(const FormatNumberRespectingIntegers&amp; value)

value -&gt; formattedValue or something like that?
The following &quot;value.value&quot; is a little unfortunate for readability.

&gt; Source/WebCore/rendering/RenderTreeAsText.h:-102
&gt; -String formatNumberRespectingIntegers(double);
&gt; -

Can you remove 
#include &lt;wtf/MathExtras.h&gt; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719316</commentid>
    <comment_count>17</comment_count>
      <attachid>163832</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-13 04:03:53 -0700</bug_when>
    <thetext>Created attachment 163832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720388</commentid>
    <comment_count>18</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-14 00:09:30 -0700</bug_when>
    <thetext>Committed r128564: &lt;http://trac.webkit.org/changeset/128564&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163100</attachid>
            <date>2012-09-10 05:44:53 -0700</date>
            <delta_ts>2012-09-10 06:06:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96264.patch</filename>
            <type>text/plain</type>
            <size>2396</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNGYyNmM0Li5iZDdhZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTItMDktMTAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV1c2UgZmxvYXRpbmcgcG9pbnQgZm9ybWF0dGluZyBvZiBUZXh0U3RyZWFtIGlu
IFJlbmRlclRyZWVBc1RleHQuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbmRlclRyZWVBc1RleHQgdXNlcyB0aGUgc2FtZSBmb3JtYXQgZm9yIHN0
cmVhbWluZyBvdXQgZmxvYXRzIGFzCisgICAgICAgIFRleHRTdHJlYW0gZG9lcy4gUmV1c2UgdGhl
IGNvZGUgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZU51bWJlclJlc3Bl
Y3RpbmdJbnRlZ2Vycyk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToKKwogMjAxMi0w
OS0wOSAgVGFpanUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgc3VjY2Vz
c0NhbGxiYWNrIG9mIFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwgc2hvdWxkIG5vdCBiZSBvcHRp
b25hbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNU
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApp
bmRleCAyNzYzNjZjLi5iNTc4YjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRyZWVBc1RleHQuY3BwCkBAIC04NywxMSArODcsMTIgQEAgc3RhdGljIGlubGluZSBib29s
IGhhc0ZyYWN0aW9ucyhkb3VibGUgdmFsKQogICAgIHJldHVybiBmYWJzKHZhbCAtIGR2YWwpID4g
c19lcHNpbG9uOwogfQogCi1TdHJpbmcgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKGRv
dWJsZSB2YWx1ZSkKK3ZvaWQgd3JpdGVOdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoVGV4dFN0cmVh
bSYgdHMsIGZsb2F0IHZhbHVlKQogewotICAgIGlmICghaGFzRnJhY3Rpb25zKHZhbHVlKSkKLSAg
ICAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHN0YXRpY19jYXN0PGludD4odmFsdWUpKTsKLSAg
ICByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUsIFNob3VsZFJvdW5kRGVjaW1hbFBsYWNlcywg
Mik7CisgICAgaWYgKGhhc0ZyYWN0aW9ucyh2YWx1ZSkpCisgICAgICAgIHRzIDw8IHZhbHVlOwor
ICAgIGVsc2UKKyAgICAgICAgdHMgPDwgc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSk7CiB9CiAKIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEludFJlY3QmIHIpCkBA
IC0xMTIsMTYgKzExMywyMCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0UG9pbnQmIHApCiAKIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEZsb2F0UG9pbnQmIHApCiB7Ci0gICAgdHMgPDwgIigi
IDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLngoKSk7Ci0gICAgdHMgPDwgIiwi
IDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLnkoKSk7CisgICAgdHMgPDwgIigi
OworICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCBwLngoKSk7CisgICAgdHMg
PDwgIiwiOworICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCBwLnkoKSk7CiAg
ICAgdHMgPDwgIikiOwogICAgIHJldHVybiB0czsKIH0KIAogVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmxvYXRTaXplJiBzKQogewotICAgIHRzIDw8ICJ3aWR0
aD0iIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhzLndpZHRoKCkpOwotICAgIHRz
IDw8ICIgaGVpZ2h0PSIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHMuaGVpZ2h0
KCkpOworICAgIHRzIDw8ICJ3aWR0aD0iOworICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVn
ZXJzKHRzLCBzLndpZHRoKCkpOworICAgIHRzIDw8ICIgaGVpZ2h0PSI7CisgICAgd3JpdGVOdW1i
ZXJSZXNwZWN0aW5nSW50ZWdlcnModHMsIHMuaGVpZ2h0KCkpOwogICAgIHJldHVybiB0czsKIH0K
IAo=
</data>
<flag name="commit-queue"
          id="174432"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163107</attachid>
            <date>2012-09-10 06:06:27 -0700</date>
            <delta_ts>2012-09-11 09:51:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96264.patch</filename>
            <type>text/plain</type>
            <size>4483</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNGYyNmM0Li40YzIwYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMDktMTAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV1c2UgZmxvYXRpbmcgcG9pbnQgZm9ybWF0dGluZyBvZiBUZXh0U3RyZWFtIGlu
IFJlbmRlclRyZWVBc1RleHQuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbmRlclRyZWVBc1RleHQgdXNlcyB0aGUgc2FtZSBmb3JtYXQgZm9yIHN0
cmVhbWluZyBvdXQgZmxvYXRzIGFzCisgICAgICAgIFRleHRTdHJlYW0gZG9lcy4gUmV1c2UgdGhl
IGNvZGUgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZU51bWJlclJlc3Bl
Y3RpbmdJbnRlZ2Vycyk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToK
KwogMjAxMi0wOS0wOSAgVGFpanUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgc3VjY2Vzc0NhbGxiYWNrIG9mIFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwgc2hvdWxkIG5v
dCBiZSBvcHRpb25hbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNU
ZXh0LmNwcAppbmRleCAyNzYzNjZjLi5iNTc4YjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC04NywxMSArODcsMTIgQEAgc3RhdGljIGlu
bGluZSBib29sIGhhc0ZyYWN0aW9ucyhkb3VibGUgdmFsKQogICAgIHJldHVybiBmYWJzKHZhbCAt
IGR2YWwpID4gc19lcHNpbG9uOwogfQogCi1TdHJpbmcgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0lu
dGVnZXJzKGRvdWJsZSB2YWx1ZSkKK3ZvaWQgd3JpdGVOdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMo
VGV4dFN0cmVhbSYgdHMsIGZsb2F0IHZhbHVlKQogewotICAgIGlmICghaGFzRnJhY3Rpb25zKHZh
bHVlKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHN0YXRpY19jYXN0PGludD4odmFs
dWUpKTsKLSAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUsIFNob3VsZFJvdW5kRGVjaW1h
bFBsYWNlcywgMik7CisgICAgaWYgKGhhc0ZyYWN0aW9ucyh2YWx1ZSkpCisgICAgICAgIHRzIDw8
IHZhbHVlOworICAgIGVsc2UKKyAgICAgICAgdHMgPDwgc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSk7
CiB9CiAKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEludFJl
Y3QmIHIpCkBAIC0xMTIsMTYgKzExMywyMCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mIHRzLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0UG9pbnQmIHApCiAKIFRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEZsb2F0UG9pbnQmIHApCiB7Ci0gICAg
dHMgPDwgIigiIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLngoKSk7Ci0gICAg
dHMgPDwgIiwiIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLnkoKSk7CisgICAg
dHMgPDwgIigiOworICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCBwLngoKSk7
CisgICAgdHMgPDwgIiwiOworICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCBw
LnkoKSk7CiAgICAgdHMgPDwgIikiOwogICAgIHJldHVybiB0czsKIH0KIAogVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmxvYXRTaXplJiBzKQogewotICAgIHRz
IDw8ICJ3aWR0aD0iIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhzLndpZHRoKCkp
OwotICAgIHRzIDw8ICIgaGVpZ2h0PSIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJz
KHMuaGVpZ2h0KCkpOworICAgIHRzIDw8ICJ3aWR0aD0iOworICAgIHdyaXRlTnVtYmVyUmVzcGVj
dGluZ0ludGVnZXJzKHRzLCBzLndpZHRoKCkpOworICAgIHRzIDw8ICIgaGVpZ2h0PSI7CisgICAg
d3JpdGVOdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnModHMsIHMuaGVpZ2h0KCkpOwogICAgIHJldHVy
biB0czsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgK
aW5kZXggODQ5OTQzMC4uMTIwMzhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRyZWVBc1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5oCkBAIC02MCw2ICs2MCw3IEBAIFN0cmluZyBleHRlcm5hbFJlcHJlc2Vu
dGF0aW9uKEZyYW1lKiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlv
CiBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiwgUmVuZGVyQXNUZXh0QmVo
YXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlKFRleHRTdHJl
YW0mLCBjb25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVo
YXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlSW5kZW50KFRl
eHRTdHJlYW0mLCBpbnQgaW5kZW50KTsKK3ZvaWQgd3JpdGVOdW1iZXJSZXNwZWN0aW5nSW50ZWdl
cnMoVGV4dFN0cmVhbSYsIGZsb2F0KTsKIAogY2xhc3MgUmVuZGVyVHJlZUFzVGV4dCB7CiAvLyBG
SVhNRTogVGhpcyBpcyBhIGNoZWVzeSBoYWNrIHRvIGFsbG93IGVhc3kgYWNjZXNzIHRvIFJlbmRl
clN0eWxlIGNvbG9ycy4gIEl0IHdvbid0IGJlIG5lZWRlZCBpZiB3ZSBjb252ZXJ0CkBAIC05OCw4
ICs5OSw2IEBAIFN0cmluZyBjb3VudGVyVmFsdWVGb3JFbGVtZW50KEVsZW1lbnQqKTsKIAogU3Ry
aW5nIG1hcmtlclRleHRGb3JMaXN0SXRlbShFbGVtZW50Kik7CiAKLVN0cmluZyBmb3JtYXROdW1i
ZXJSZXNwZWN0aW5nSW50ZWdlcnMoZG91YmxlKTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gUmVuZGVyVHJlZUFzVGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBlM2ZkODMzLi4wYjZi
MDQxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRy
ZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVy
VHJlZUFzVGV4dC5jcHAKQEAgLTEzNCwxMCArMTM0LDE0IEBAIHN0YXRpYyB2b2lkIHdyaXRlSWZO
b3REZWZhdWx0KFRleHRTdHJlYW0mIHRzLCBjb25zdCBjaGFyKiBuYW1lLCBWYWx1ZVR5cGUgdmFs
dWUsCiAKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEZsb2F0
UmVjdCYgcikKIHsKLSAgICB0cyA8PCAiYXQgKCIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0lu
dGVnZXJzKHIueCgpKTsgCi0gICAgdHMgPDwgIiwiIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJ
bnRlZ2VycyhyLnkoKSk7Ci0gICAgdHMgPDwgIikgc2l6ZSAiIDw8IGZvcm1hdE51bWJlclJlc3Bl
Y3RpbmdJbnRlZ2VycyhyLndpZHRoKCkpOwotICAgIHRzIDw8ICJ4IiA8PCBmb3JtYXROdW1iZXJS
ZXNwZWN0aW5nSW50ZWdlcnMoci5oZWlnaHQoKSk7CisgICAgdHMgPDwgImF0ICgiOworICAgIHdy
aXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCByLngoKSk7CisgICAgdHMgPDwgIiwiOwor
ICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCByLnkoKSk7CisgICAgdHMgPDwg
Iikgc2l6ZSAiOworICAgIHdyaXRlTnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHRzLCByLndpZHRo
KCkpOworICAgIHRzIDw8ICJ4IjsKKyAgICB3cml0ZU51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyh0
cywgci5oZWlnaHQoKSk7CiAgICAgcmV0dXJuIHRzOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163387</attachid>
            <date>2012-09-11 09:51:08 -0700</date>
            <delta_ts>2012-09-11 09:57:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96264.patch</filename>
            <type>text/plain</type>
            <size>6415</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNGYyNmM0Li4yZDYyYjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTItMDktMTEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV1c2UgZmxvYXRpbmcgcG9pbnQgZm9ybWF0dGluZyBvZiBUZXh0U3RyZWFtIGlu
IFtTVkddUmVuZGVyVHJlZUFzVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk2MjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVuZGVyVHJlZUFzVGV4dCB1c2VzIHRoZSBzYW1lIGZvcm1hdCBm
b3Igc3RyZWFtaW5nIG91dCBmbG9hdHMgYXMKKyAgICAgICAgVGV4dFN0cmVhbSBkb2VzLiBSZXBs
YWNlIGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycygpIHdpdGgKKyAgICAgICAgYSBuZXcg
b3ZlcmxvYWQgdG8gdGhlIG9wZXJhdG9yPDwgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbnMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6aGFzRnJhY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRTdHJlYW06Om9wZXJhdG9y
PDwpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9y
PDwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yPDwpOgorCiAyMDEyLTA5LTA5ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgb2YgUmVzb2x2ZUxvY2FsRmlsZVN5c3Rl
bVVSTCBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dFN0cmVhbS5jcHAKaW5kZXggZTBhYTlhMy4uODVjN2FlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwCkBAIC0zNSw2ICszNSwxNCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgcHJpbnRCdWZmZXJTaXplID0g
MTAwOyAvLyBsYXJnZSBlbm91Z2ggZm9yIGFueSBpbnRlZ2VyIG9yIGZsb2F0aW5nIHBvaW50IHZh
bHVlIGluIHN0cmluZyBmb3JtYXQsIGluY2x1ZGluZyB0cmFpbGluZyBudWxsIGNoYXJhY3Rlcgog
CitzdGF0aWMgaW5saW5lIGJvb2wgaGFzRnJhY3Rpb25zKGRvdWJsZSB2YWwpCit7CisgICAgc3Rh
dGljIGNvbnN0IGRvdWJsZSBzX2Vwc2lsb24gPSAwLjAwMDE7CisgICAgaW50IGl2YWwgPSBzdGF0
aWNfY2FzdDxpbnQ+KHZhbCk7CisgICAgZG91YmxlIGR2YWwgPSBzdGF0aWNfY2FzdDxkb3VibGU+
KGl2YWwpOworICAgIHJldHVybiBmYWJzKHZhbCAtIGR2YWwpID4gc19lcHNpbG9uOworfQorCiBU
ZXh0U3RyZWFtJiBUZXh0U3RyZWFtOjpvcGVyYXRvcjw8KGJvb2wgYikKIHsKICAgICByZXR1cm4g
KnRoaXMgPDwgKGIgPyAiMSIgOiAiMCIpOwpAQCAtMTA3LDYgKzExNSwxNSBAQCBUZXh0U3RyZWFt
JiBUZXh0U3RyZWFtOjpvcGVyYXRvcjw8KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHJldHVy
biAqdGhpczsKIH0KIAorVGV4dFN0cmVhbSYgVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBG
b3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMmIHZhbHVlKQoreworICAgIGlmIChoYXNGcmFj
dGlvbnModmFsdWUudmFsdWUpKQorICAgICAgICByZXR1cm4gKnRoaXMgPDwgdmFsdWUudmFsdWU7
CisKKyAgICBtX3RleHQuYXBwZW5kTnVtYmVyKHN0YXRpY19jYXN0PGludD4odmFsdWUudmFsdWUp
KTsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKIFN0cmluZyBUZXh0U3RyZWFtOjpyZWxlYXNlKCkK
IHsKICAgICBTdHJpbmcgcmVzdWx0ID0gbV90ZXh0LnRvU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oCmluZGV4IDIxZDM4MTguLjUwY2ZmNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oCkBAIC0zNCw2ICszNCwxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRleHRTdHJlYW0gewogcHVibGljOgorICAg
IHN0cnVjdCBGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMKKyAgICB7CisgICAgICAgIEZv
cm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyhkb3VibGUgbnVtYmVyKSA6IHZhbHVlKG51bWJl
cikgeyB9CisgICAgICAgIGRvdWJsZSB2YWx1ZTsKKyAgICB9OworCiAgICAgVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChib29sKTsKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGludCk7CiAgICAg
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PCh1bnNpZ25lZCk7CkBAIC00Niw2ICs1Miw3IEBAIHB1Ymxp
YzoKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGNvbnN0IGNoYXIqKTsKICAgICBUZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KGNvbnN0IHZvaWQqKTsKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KGNvbnN0IFN0cmluZyYpOworICAgIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgRm9ybWF0
TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzJik7CiAKICAgICBTdHJpbmcgcmVsZWFzZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggMjc2
MzY2Yy4uZWY2NTBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVl
QXNUZXh0LmNwcApAQCAtNzksMjEgKzc5LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IAogc3RhdGljIHZvaWQgd3JpdGVMYXllcnMoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlckxheWVy
KiByb290TGF5ZXIsIFJlbmRlckxheWVyKiwgY29uc3QgTGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJl
Y3QsIGludCBpbmRlbnQgPSAwLCBSZW5kZXJBc1RleHRCZWhhdmlvciA9IFJlbmRlckFzVGV4dEJl
aGF2aW9yTm9ybWFsKTsKIAotc3RhdGljIGlubGluZSBib29sIGhhc0ZyYWN0aW9ucyhkb3VibGUg
dmFsKQotewotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc19lcHNpbG9uID0gMC4wMDAxOwotICAg
IGludCBpdmFsID0gc3RhdGljX2Nhc3Q8aW50Pih2YWwpOwotICAgIGRvdWJsZSBkdmFsID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihpdmFsKTsKLSAgICByZXR1cm4gZmFicyh2YWwgLSBkdmFsKSA+IHNf
ZXBzaWxvbjsKLX0KLQotU3RyaW5nIGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyhkb3Vi
bGUgdmFsdWUpCi17Ci0gICAgaWYgKCFoYXNGcmFjdGlvbnModmFsdWUpKQotICAgICAgICByZXR1
cm4gU3RyaW5nOjpudW1iZXIoc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkpOwotICAgIHJldHVybiBT
dHJpbmc6Om51bWJlcih2YWx1ZSwgU2hvdWxkUm91bmREZWNpbWFsUGxhY2VzLCAyKTsKLX0KLQog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgSW50UmVjdCYgcikK
IHsKICAgICByZXR1cm4gdHMgPDwgImF0ICgiIDw8IHIueCgpIDw8ICIsIiA8PCByLnkoKSA8PCAi
KSBzaXplICIgPDwgci53aWR0aCgpIDw8ICJ4IiA8PCByLmhlaWdodCgpOwpAQCAtMTEyLDE2ICs5
NywxNiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBGcmFj
dGlvbmFsTGF5b3V0UG9pbnQmIHApCiAKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IEZsb2F0UG9pbnQmIHApCiB7Ci0gICAgdHMgPDwgIigiIDw8IGZvcm1hdE51
bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLngoKSk7Ci0gICAgdHMgPDwgIiwiIDw8IGZvcm1hdE51
bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLnkoKSk7CisgICAgdHMgPDwgIigiIDw8IFRleHRTdHJl
YW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLngoKSk7CisgICAgdHMgPDwgIiwi
IDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLnkoKSk7CiAg
ICAgdHMgPDwgIikiOwogICAgIHJldHVybiB0czsKIH0KIAogVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmxvYXRTaXplJiBzKQogewotICAgIHRzIDw8ICJ3aWR0
aD0iIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhzLndpZHRoKCkpOwotICAgIHRz
IDw8ICIgaGVpZ2h0PSIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHMuaGVpZ2h0
KCkpOworICAgIHRzIDw8ICJ3aWR0aD0iIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3Bl
Y3RpbmdJbnRlZ2VycyhzLndpZHRoKCkpOworICAgIHRzIDw8ICIgaGVpZ2h0PSIgPDwgVGV4dFN0
cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHMuaGVpZ2h0KCkpOwogICAgIHJl
dHVybiB0czsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0
LmgKaW5kZXggODQ5OTQzMC4uNjgxZGY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVHJlZUFzVGV4dC5oCkBAIC05OCw4ICs5OCw2IEBAIFN0cmluZyBjb3VudGVyVmFsdWVG
b3JFbGVtZW50KEVsZW1lbnQqKTsKIAogU3RyaW5nIG1hcmtlclRleHRGb3JMaXN0SXRlbShFbGVt
ZW50Kik7CiAKLVN0cmluZyBmb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoZG91YmxlKTsK
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVuZGVyVHJlZUFzVGV4dF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVB
c1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcAppbmRleCBlM2ZkODMzLi44MzhkOGExIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTEzNCwxMCArMTM0
LDEwIEBAIHN0YXRpYyB2b2lkIHdyaXRlSWZOb3REZWZhdWx0KFRleHRTdHJlYW0mIHRzLCBjb25z
dCBjaGFyKiBuYW1lLCBWYWx1ZVR5cGUgdmFsdWUsCiAKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwo
VGV4dFN0cmVhbSYgdHMsIGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKLSAgICB0cyA8PCAiYXQgKCIg
PDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIueCgpKTsgCi0gICAgdHMgPDwgIiwi
IDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhyLnkoKSk7Ci0gICAgdHMgPDwgIikg
c2l6ZSAiIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhyLndpZHRoKCkpOwotICAg
IHRzIDw8ICJ4IiA8PCBmb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoci5oZWlnaHQoKSk7
CisgICAgdHMgPDwgImF0ICgiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJ
bnRlZ2VycyhyLngoKSk7CisgICAgdHMgPDwgIiwiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJl
clJlc3BlY3RpbmdJbnRlZ2VycyhyLnkoKSk7CisgICAgdHMgPDwgIikgc2l6ZSAiIDw8IFRleHRT
dHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhyLndpZHRoKCkpOworICAgIHRz
IDw8ICJ4IiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoci5o
ZWlnaHQoKSk7CiAgICAgcmV0dXJuIHRzOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163390</attachid>
            <date>2012-09-11 09:57:24 -0700</date>
            <delta_ts>2012-09-11 10:04:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96264.patch</filename>
            <type>text/plain</type>
            <size>6410</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNGYyNmM0Li4yZDYyYjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTItMDktMTEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV1c2UgZmxvYXRpbmcgcG9pbnQgZm9ybWF0dGluZyBvZiBUZXh0U3RyZWFtIGlu
IFtTVkddUmVuZGVyVHJlZUFzVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk2MjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVuZGVyVHJlZUFzVGV4dCB1c2VzIHRoZSBzYW1lIGZvcm1hdCBm
b3Igc3RyZWFtaW5nIG91dCBmbG9hdHMgYXMKKyAgICAgICAgVGV4dFN0cmVhbSBkb2VzLiBSZXBs
YWNlIGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycygpIHdpdGgKKyAgICAgICAgYSBuZXcg
b3ZlcmxvYWQgdG8gdGhlIG9wZXJhdG9yPDwgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbnMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6aGFzRnJhY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRTdHJlYW06Om9wZXJhdG9y
PDwpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9y
PDwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yPDwpOgorCiAyMDEyLTA5LTA5ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgb2YgUmVzb2x2ZUxvY2FsRmlsZVN5c3Rl
bVVSTCBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dFN0cmVhbS5jcHAKaW5kZXggZTBhYTlhMy4uODVjN2FlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwCkBAIC0zNSw2ICszNSwxNCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgcHJpbnRCdWZmZXJTaXplID0g
MTAwOyAvLyBsYXJnZSBlbm91Z2ggZm9yIGFueSBpbnRlZ2VyIG9yIGZsb2F0aW5nIHBvaW50IHZh
bHVlIGluIHN0cmluZyBmb3JtYXQsIGluY2x1ZGluZyB0cmFpbGluZyBudWxsIGNoYXJhY3Rlcgog
CitzdGF0aWMgaW5saW5lIGJvb2wgaGFzRnJhY3Rpb25zKGRvdWJsZSB2YWwpCit7CisgICAgc3Rh
dGljIGNvbnN0IGRvdWJsZSBzX2Vwc2lsb24gPSAwLjAwMDE7CisgICAgaW50IGl2YWwgPSBzdGF0
aWNfY2FzdDxpbnQ+KHZhbCk7CisgICAgZG91YmxlIGR2YWwgPSBzdGF0aWNfY2FzdDxkb3VibGU+
KGl2YWwpOworICAgIHJldHVybiBmYWJzKHZhbCAtIGR2YWwpID4gc19lcHNpbG9uOworfQorCiBU
ZXh0U3RyZWFtJiBUZXh0U3RyZWFtOjpvcGVyYXRvcjw8KGJvb2wgYikKIHsKICAgICByZXR1cm4g
KnRoaXMgPDwgKGIgPyAiMSIgOiAiMCIpOwpAQCAtMTA3LDYgKzExNSwxNSBAQCBUZXh0U3RyZWFt
JiBUZXh0U3RyZWFtOjpvcGVyYXRvcjw8KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHJldHVy
biAqdGhpczsKIH0KIAorVGV4dFN0cmVhbSYgVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBG
b3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMmIHZhbHVlKQoreworICAgIGlmIChoYXNGcmFj
dGlvbnModmFsdWUudmFsdWUpKQorICAgICAgICByZXR1cm4gKnRoaXMgPDwgdmFsdWUudmFsdWU7
CisKKyAgICBtX3RleHQuYXBwZW5kTnVtYmVyKHN0YXRpY19jYXN0PGludD4odmFsdWUudmFsdWUp
KTsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKIFN0cmluZyBUZXh0U3RyZWFtOjpyZWxlYXNlKCkK
IHsKICAgICBTdHJpbmcgcmVzdWx0ID0gbV90ZXh0LnRvU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oCmluZGV4IDIxZDM4MTguLjUwY2ZmNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oCkBAIC0zNCw2ICszNCwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRleHRTdHJlYW0gewogcHVibGljOgorICAg
IHN0cnVjdCBGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMgeworICAgICAgICBGb3JtYXRO
dW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoZG91YmxlIG51bWJlcikgOiB2YWx1ZShudW1iZXIpIHsg
fQorICAgICAgICBkb3VibGUgdmFsdWU7CisgICAgfTsKKwogICAgIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoYm9vbCk7CiAgICAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChpbnQpOwogICAgIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwodW5zaWduZWQpOwpAQCAtNDYsNiArNTIsNyBAQCBwdWJsaWM6CiAg
ICAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChjb25zdCBjaGFyKik7CiAgICAgVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChjb25zdCB2b2lkKik7CiAgICAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChjb25z
dCBTdHJpbmcmKTsKKyAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGNvbnN0IEZvcm1hdE51bWJl
clJlc3BlY3RpbmdJbnRlZ2VycyYpOwogCiAgICAgU3RyaW5nIHJlbGVhc2UoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IDI3NjM2NmMu
LmVmNjUwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVl
QXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHAKQEAgLTc5LDIxICs3OSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIHN0
YXRpYyB2b2lkIHdyaXRlTGF5ZXJzKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJMYXllciogcm9v
dExheWVyLCBSZW5kZXJMYXllciosIGNvbnN0IExheW91dFJlY3QmIHBhaW50RGlydHlSZWN0LCBp
bnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlv
ck5vcm1hbCk7CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBoYXNGcmFjdGlvbnMoZG91YmxlIHZhbCkK
LXsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHNfZXBzaWxvbiA9IDAuMDAwMTsKLSAgICBpbnQg
aXZhbCA9IHN0YXRpY19jYXN0PGludD4odmFsKTsKLSAgICBkb3VibGUgZHZhbCA9IHN0YXRpY19j
YXN0PGRvdWJsZT4oaXZhbCk7Ci0gICAgcmV0dXJuIGZhYnModmFsIC0gZHZhbCkgPiBzX2Vwc2ls
b247Ci19Ci0KLVN0cmluZyBmb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoZG91YmxlIHZh
bHVlKQotewotICAgIGlmICghaGFzRnJhY3Rpb25zKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIFN0
cmluZzo6bnVtYmVyKHN0YXRpY19jYXN0PGludD4odmFsdWUpKTsKLSAgICByZXR1cm4gU3RyaW5n
OjpudW1iZXIodmFsdWUsIFNob3VsZFJvdW5kRGVjaW1hbFBsYWNlcywgMik7Ci19Ci0KIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEludFJlY3QmIHIpCiB7CiAg
ICAgcmV0dXJuIHRzIDw8ICJhdCAoIiA8PCByLngoKSA8PCAiLCIgPDwgci55KCkgPDwgIikgc2l6
ZSAiIDw8IHIud2lkdGgoKSA8PCAieCIgPDwgci5oZWlnaHQoKTsKQEAgLTExMiwxNiArOTcsMTYg
QEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRnJhY3Rpb25h
bExheW91dFBvaW50JiBwKQogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBGbG9hdFBvaW50JiBwKQogewotICAgIHRzIDw8ICIoIiA8PCBmb3JtYXROdW1iZXJS
ZXNwZWN0aW5nSW50ZWdlcnMocC54KCkpOwotICAgIHRzIDw8ICIsIiA8PCBmb3JtYXROdW1iZXJS
ZXNwZWN0aW5nSW50ZWdlcnMocC55KCkpOworICAgIHRzIDw8ICIoIiA8PCBUZXh0U3RyZWFtOjpG
b3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMocC54KCkpOworICAgIHRzIDw8ICIsIiA8PCBU
ZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMocC55KCkpOwogICAgIHRz
IDw8ICIpIjsKICAgICByZXR1cm4gdHM7CiB9CiAKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IEZsb2F0U2l6ZSYgcykKIHsKLSAgICB0cyA8PCAid2lkdGg9IiA8
PCBmb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMocy53aWR0aCgpKTsKLSAgICB0cyA8PCAi
IGhlaWdodD0iIDw8IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhzLmhlaWdodCgpKTsK
KyAgICB0cyA8PCAid2lkdGg9IiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5n
SW50ZWdlcnMocy53aWR0aCgpKTsKKyAgICB0cyA8PCAiIGhlaWdodD0iIDw8IFRleHRTdHJlYW06
OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhzLmhlaWdodCgpKTsKICAgICByZXR1cm4g
dHM7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVl
QXNUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oCmlu
ZGV4IDg0OTk0MzAuLjY4MWRmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuaApAQCAtOTgsOCArOTgsNiBAQCBTdHJpbmcgY291bnRlclZhbHVlRm9yRWxl
bWVudChFbGVtZW50Kik7CiAKIFN0cmluZyBtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oRWxlbWVudCop
OwogCi1TdHJpbmcgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKGRvdWJsZSk7Ci0KIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFJlbmRlclRyZWVBc1RleHRfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5j
cHAKaW5kZXggZTNmZDgzMy4uODM4ZDhhMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC0xMzQsMTAgKzEzNCwxMCBA
QCBzdGF0aWMgdm9pZCB3cml0ZUlmTm90RGVmYXVsdChUZXh0U3RyZWFtJiB0cywgY29uc3QgY2hh
ciogbmFtZSwgVmFsdWVUeXBlIHZhbHVlLAogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mIHRzLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7Ci0gICAgdHMgPDwgImF0ICgiIDw8IGZv
cm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhyLngoKSk7IAotICAgIHRzIDw8ICIsIiA8PCBm
b3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoci55KCkpOwotICAgIHRzIDw8ICIpIHNpemUg
IiA8PCBmb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoci53aWR0aCgpKTsKLSAgICB0cyA8
PCAieCIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIuaGVpZ2h0KCkpOworICAg
IHRzIDw8ICJhdCAoIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdl
cnMoci54KCkpOworICAgIHRzIDw8ICIsIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNw
ZWN0aW5nSW50ZWdlcnMoci55KCkpOworICAgIHRzIDw8ICIpIHNpemUgIiA8PCBUZXh0U3RyZWFt
OjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMoci53aWR0aCgpKTsKKyAgICB0cyA8PCAi
eCIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIuaGVpZ2h0
KCkpOwogICAgIHJldHVybiB0czsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="174820"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163394</attachid>
            <date>2012-09-11 10:04:42 -0700</date>
            <delta_ts>2012-09-13 04:03:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96264.patch</filename>
            <type>text/plain</type>
            <size>6561</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNGYyNmM0Li4yZDYyYjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTItMDktMTEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV1c2UgZmxvYXRpbmcgcG9pbnQgZm9ybWF0dGluZyBvZiBUZXh0U3RyZWFtIGlu
IFtTVkddUmVuZGVyVHJlZUFzVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk2MjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVuZGVyVHJlZUFzVGV4dCB1c2VzIHRoZSBzYW1lIGZvcm1hdCBm
b3Igc3RyZWFtaW5nIG91dCBmbG9hdHMgYXMKKyAgICAgICAgVGV4dFN0cmVhbSBkb2VzLiBSZXBs
YWNlIGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycygpIHdpdGgKKyAgICAgICAgYSBuZXcg
b3ZlcmxvYWQgdG8gdGhlIG9wZXJhdG9yPDwgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbnMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6aGFzRnJhY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRTdHJlYW06Om9wZXJhdG9y
PDwpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9y
PDwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yPDwpOgorCiAyMDEyLTA5LTA5ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgb2YgUmVzb2x2ZUxvY2FsRmlsZVN5c3Rl
bVVSTCBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dFN0cmVhbS5jcHAKaW5kZXggZTBhYTlhMy4uNWQ3MjQ0NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogCisjaW5jbHVkZSA8bWF0
aC5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIApAQCAtMzUsNiArMzYsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dGF0aWMgY29uc3Qgc2l6ZV90IHByaW50QnVmZmVyU2l6ZSA9IDEwMDsgLy8gbGFyZ2UgZW5vdWdo
IGZvciBhbnkgaW50ZWdlciBvciBmbG9hdGluZyBwb2ludCB2YWx1ZSBpbiBzdHJpbmcgZm9ybWF0
LCBpbmNsdWRpbmcgdHJhaWxpbmcgbnVsbCBjaGFyYWN0ZXIKIAorc3RhdGljIGlubGluZSBib29s
IGhhc0ZyYWN0aW9ucyhkb3VibGUgdmFsKQoreworICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc19l
cHNpbG9uID0gMC4wMDAxOworICAgIGludCBpdmFsID0gc3RhdGljX2Nhc3Q8aW50Pih2YWwpOwor
ICAgIGRvdWJsZSBkdmFsID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihpdmFsKTsKKyAgICByZXR1cm4g
ZmFicyh2YWwgLSBkdmFsKSA+IHNfZXBzaWxvbjsKK30KKwogVGV4dFN0cmVhbSYgVGV4dFN0cmVh
bTo6b3BlcmF0b3I8PChib29sIGIpCiB7CiAgICAgcmV0dXJuICp0aGlzIDw8IChiID8gIjEiIDog
IjAiKTsKQEAgLTEwNyw2ICsxMTYsMTUgQEAgVGV4dFN0cmVhbSYgVGV4dFN0cmVhbTo6b3BlcmF0
b3I8PChjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICByZXR1cm4gKnRoaXM7CiB9CiAKK1RleHRT
dHJlYW0mIFRleHRTdHJlYW06Om9wZXJhdG9yPDwoY29uc3QgRm9ybWF0TnVtYmVyUmVzcGVjdGlu
Z0ludGVnZXJzJiB2YWx1ZSkKK3sKKyAgICBpZiAoaGFzRnJhY3Rpb25zKHZhbHVlLnZhbHVlKSkK
KyAgICAgICAgcmV0dXJuICp0aGlzIDw8IHZhbHVlLnZhbHVlOworCisgICAgbV90ZXh0LmFwcGVu
ZE51bWJlcihzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlLnZhbHVlKSk7CisgICAgcmV0dXJuICp0aGlz
OworfQorCiBTdHJpbmcgVGV4dFN0cmVhbTo6cmVsZWFzZSgpCiB7CiAgICAgU3RyaW5nIHJlc3Vs
dCA9IG1fdGV4dC50b1N0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0U3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRT
dHJlYW0uaAppbmRleCAyMWQzODE4Li41MGNmZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRTdHJlYW0uaApAQCAtMzQsNiArMzQsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBUZXh0U3RyZWFtIHsKIHB1YmxpYzoKKyAgICBzdHJ1Y3QgRm9ybWF0TnVtYmVy
UmVzcGVjdGluZ0ludGVnZXJzIHsKKyAgICAgICAgRm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVn
ZXJzKGRvdWJsZSBudW1iZXIpIDogdmFsdWUobnVtYmVyKSB7IH0KKyAgICAgICAgZG91YmxlIHZh
bHVlOworICAgIH07CisKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGJvb2wpOwogICAgIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoaW50KTsKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KHVu
c2lnbmVkKTsKQEAgLTQ2LDYgKzUyLDcgQEAgcHVibGljOgogICAgIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoY29uc3QgY2hhciopOwogICAgIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3Qgdm9p
ZCopOwogICAgIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgU3RyaW5nJik7CisgICAgVGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChjb25zdCBGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMm
KTsKIAogICAgIFN0cmluZyByZWxlYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAyNzYzNjZjLi5lZjY1MGFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC03OSwyMSArNzks
NiBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBzdGF0aWMgdm9pZCB3cml0ZUxheWVy
cyhUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIq
LCBjb25zdCBMYXlvdXRSZWN0JiBwYWludERpcnR5UmVjdCwgaW50IGluZGVudCA9IDAsIFJlbmRl
ckFzVGV4dEJlaGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwpOwogCi1zdGF0aWMg
aW5saW5lIGJvb2wgaGFzRnJhY3Rpb25zKGRvdWJsZSB2YWwpCi17Ci0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzX2Vwc2lsb24gPSAwLjAwMDE7Ci0gICAgaW50IGl2YWwgPSBzdGF0aWNfY2FzdDxp
bnQ+KHZhbCk7Ci0gICAgZG91YmxlIGR2YWwgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGl2YWwpOwot
ICAgIHJldHVybiBmYWJzKHZhbCAtIGR2YWwpID4gc19lcHNpbG9uOwotfQotCi1TdHJpbmcgZm9y
bWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKGRvdWJsZSB2YWx1ZSkKLXsKLSAgICBpZiAoIWhh
c0ZyYWN0aW9ucyh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihzdGF0aWNf
Y2FzdDxpbnQ+KHZhbHVlKSk7Ci0gICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHZhbHVlLCBTaG91
bGRSb3VuZERlY2ltYWxQbGFjZXMsIDIpOwotfQotCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIHJldHVybiB0cyA8PCAiYXQg
KCIgPDwgci54KCkgPDwgIiwiIDw8IHIueSgpIDw8ICIpIHNpemUgIiA8PCByLndpZHRoKCkgPDwg
IngiIDw8IHIuaGVpZ2h0KCk7CkBAIC0xMTIsMTYgKzk3LDE2IEBAIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRQb2ludCYgcCkKIAog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmxvYXRQb2ludCYg
cCkKIHsKLSAgICB0cyA8PCAiKCIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHAu
eCgpKTsKLSAgICB0cyA8PCAiLCIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHAu
eSgpKTsKKyAgICB0cyA8PCAiKCIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGlu
Z0ludGVnZXJzKHAueCgpKTsKKyAgICB0cyA8PCAiLCIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVt
YmVyUmVzcGVjdGluZ0ludGVnZXJzKHAueSgpKTsKICAgICB0cyA8PCAiKSI7CiAgICAgcmV0dXJu
IHRzOwogfQogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBG
bG9hdFNpemUmIHMpCiB7Ci0gICAgdHMgPDwgIndpZHRoPSIgPDwgZm9ybWF0TnVtYmVyUmVzcGVj
dGluZ0ludGVnZXJzKHMud2lkdGgoKSk7Ci0gICAgdHMgPDwgIiBoZWlnaHQ9IiA8PCBmb3JtYXRO
dW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMocy5oZWlnaHQoKSk7CisgICAgdHMgPDwgIndpZHRoPSIg
PDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHMud2lkdGgoKSk7
CisgICAgdHMgPDwgIiBoZWlnaHQ9IiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0
aW5nSW50ZWdlcnMocy5oZWlnaHQoKSk7CiAgICAgcmV0dXJuIHRzOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaAppbmRleCA4NDk5NDMwLi42ODFkZjQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKQEAgLTk4
LDggKzk4LDYgQEAgU3RyaW5nIGNvdW50ZXJWYWx1ZUZvckVsZW1lbnQoRWxlbWVudCopOwogCiBT
dHJpbmcgbWFya2VyVGV4dEZvckxpc3RJdGVtKEVsZW1lbnQqKTsKIAotU3RyaW5nIGZvcm1hdE51
bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyhkb3VibGUpOwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBSZW5kZXJUcmVlQXNUZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IGUzZmQ4MzMuLjgz
OGQ4YTEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVy
VHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5k
ZXJUcmVlQXNUZXh0LmNwcApAQCAtMTM0LDEwICsxMzQsMTAgQEAgc3RhdGljIHZvaWQgd3JpdGVJ
Zk5vdERlZmF1bHQoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IGNoYXIqIG5hbWUsIFZhbHVlVHlwZSB2
YWx1ZSwKIAogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmxv
YXRSZWN0JiByKQogewotICAgIHRzIDw8ICJhdCAoIiA8PCBmb3JtYXROdW1iZXJSZXNwZWN0aW5n
SW50ZWdlcnMoci54KCkpOyAKLSAgICB0cyA8PCAiLCIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGlu
Z0ludGVnZXJzKHIueSgpKTsKLSAgICB0cyA8PCAiKSBzaXplICIgPDwgZm9ybWF0TnVtYmVyUmVz
cGVjdGluZ0ludGVnZXJzKHIud2lkdGgoKSk7Ci0gICAgdHMgPDwgIngiIDw8IGZvcm1hdE51bWJl
clJlc3BlY3RpbmdJbnRlZ2VycyhyLmhlaWdodCgpKTsKKyAgICB0cyA8PCAiYXQgKCIgPDwgVGV4
dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIueCgpKTsKKyAgICB0cyA8
PCAiLCIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIueSgp
KTsKKyAgICB0cyA8PCAiKSBzaXplICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVj
dGluZ0ludGVnZXJzKHIud2lkdGgoKSk7CisgICAgdHMgPDwgIngiIDw8IFRleHRTdHJlYW06OkZv
cm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhyLmhlaWdodCgpKTsKICAgICByZXR1cm4gdHM7
CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163832</attachid>
            <date>2012-09-13 04:03:53 -0700</date>
            <delta_ts>2012-09-13 04:03:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96264-20120913130324.patch</filename>
            <type>text/plain</type>
            <size>7293</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWYxN2M3OGIzYTEzZjI5
YzBlMDIxNzNiMjM0ZGM1YzIzNzYxYzcwYy4uM2I4ZTgxODNmZWNjY2Q0YmZkMzE3ZGYyZmMyNDJj
NDg0YTI5NzA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA5LTEzICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldXNlIGZsb2F0
aW5nIHBvaW50IGZvcm1hdHRpbmcgb2YgVGV4dFN0cmVhbSBpbiBbU1ZHXVJlbmRlclRyZWVBc1Rl
eHQuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjI2NAorCisgICAgICAgIFJldmlld2VkIGJ5IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAg
UmVuZGVyVHJlZUFzVGV4dCB1c2VzIHRoZSBzYW1lIGZvcm1hdCBmb3Igc3RyZWFtaW5nIG91dCBm
bG9hdHMgYXMgVGV4dFN0cmVhbQorICAgICAgICBkb2VzLiBSZXBsYWNlIGZvcm1hdE51bWJlclJl
c3BlY3RpbmdJbnRlZ2VycygpIHdpdGggYSBuZXcgb3ZlcmxvYWQgdG8gdGhlCisgICAgICAgIG9w
ZXJhdG9yPDwgdG8gcmV1c2UgdGhlIHNwZWNpYWwgY2FzZXMgZm9yIG51bWJlcnMgd2hpY2ggdGFr
ZSBhZHZhbnRhZ2Ugb2YKKyAgICAgICAgU3RyaW5nQnVpbGRlcjo6YXBwZW5kTnVtYmVyKCkgYW5k
IGF2b2lkIGEgdGVtcG9yYXJ5IFN0cmluZ0ltcGwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L1RleHRTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFzRnJhY3Rpb25zKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRTdHJlYW06Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvVGV4dFN0cmVhbS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJU
cmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorCiAyMDEyLTA5
LTEzICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgog
CiAgICAgICAgIFtFRkxdIFJFR1JFU1NJT04gKHIxMjgyNzQpOiBmYXN0L292ZXJmbG93L292ZXJm
bG93LWhlaWdodC1mbG9hdC1ub3QtcmVtb3ZlZC1jcmFzaC5odG1sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcAppbmRleCBlMGFhOWEzZWFmMDk3ZjY2NGY1YmY3
NjE1YmZhMDIwMDgyNDk2NTc3Li43MjY0MTEyODdkNzYwMWNjOTczNWIwOGUxMDM2MGI0ZGJhOGMx
ZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRTdHJlYW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dFN0cmVhbS5jcHAKQEAg
LTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUZXh0U3RyZWFt
LmgiCiAKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdF
eHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtMzUsNiArMzYs
MTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3Qgc2l6ZV90IHByaW50QnVm
ZmVyU2l6ZSA9IDEwMDsgLy8gbGFyZ2UgZW5vdWdoIGZvciBhbnkgaW50ZWdlciBvciBmbG9hdGlu
ZyBwb2ludCB2YWx1ZSBpbiBzdHJpbmcgZm9ybWF0LCBpbmNsdWRpbmcgdHJhaWxpbmcgbnVsbCBj
aGFyYWN0ZXIKIAorc3RhdGljIGlubGluZSBib29sIGhhc0ZyYWN0aW9ucyhkb3VibGUgdmFsKQor
eworICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc19lcHNpbG9uID0gMC4wMDAxOworICAgIGludCBp
dmFsID0gc3RhdGljX2Nhc3Q8aW50Pih2YWwpOworICAgIGRvdWJsZSBkdmFsID0gc3RhdGljX2Nh
c3Q8ZG91YmxlPihpdmFsKTsKKyAgICByZXR1cm4gZmFicyh2YWwgLSBkdmFsKSA+IHNfZXBzaWxv
bjsKK30KKwogVGV4dFN0cmVhbSYgVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChib29sIGIpCiB7CiAg
ICAgcmV0dXJuICp0aGlzIDw8IChiID8gIjEiIDogIjAiKTsKQEAgLTEwNyw2ICsxMTYsMTUgQEAg
VGV4dFN0cmVhbSYgVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBTdHJpbmcmIHN0cmluZykK
ICAgICByZXR1cm4gKnRoaXM7CiB9CiAKK1RleHRTdHJlYW0mIFRleHRTdHJlYW06Om9wZXJhdG9y
PDwoY29uc3QgRm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzJiBmb3JtYXROdW1iZXIpCit7
CisgICAgaWYgKGhhc0ZyYWN0aW9ucyhmb3JtYXROdW1iZXIudmFsdWUpKQorICAgICAgICByZXR1
cm4gKnRoaXMgPDwgZm9ybWF0TnVtYmVyLnZhbHVlOworCisgICAgbV90ZXh0LmFwcGVuZE51bWJl
cihzdGF0aWNfY2FzdDxpbnQ+KGZvcm1hdE51bWJlci52YWx1ZSkpOworICAgIHJldHVybiAqdGhp
czsKK30KKwogU3RyaW5nIFRleHRTdHJlYW06OnJlbGVhc2UoKQogewogICAgIFN0cmluZyByZXN1
bHQgPSBtX3RleHQudG9TdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
U3RyZWFtLmgKaW5kZXggMjFkMzgxODlmNmNjNzNkZjNkNjhmYmQ1MDYzNDMwMjQwYjExZWE5ZS4u
OWZmN2Q5NzBkNGQ1YWM4ZTllMTI3YmE1NTdjMjllNDkzY2FjYmQzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9UZXh0U3RyZWFtLmgKQEAgLTM0LDYgKzM0LDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgVGV4dFN0cmVhbSB7CiBwdWJsaWM6CisgICAgc3RydWN0IEZv
cm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyB7CisgICAgICAgIEZvcm1hdE51bWJlclJlc3Bl
Y3RpbmdJbnRlZ2Vycyhkb3VibGUgbnVtYmVyKSA6IHZhbHVlKG51bWJlcikgeyB9CisgICAgICAg
IGRvdWJsZSB2YWx1ZTsKKyAgICB9OworCiAgICAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChib29s
KTsKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGludCk7CiAgICAgVGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PCh1bnNpZ25lZCk7CkBAIC00Niw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICBUZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KGNvbnN0IGNoYXIqKTsKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KGNvbnN0IHZvaWQqKTsKICAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGNvbnN0IFN0cmluZyYp
OworICAgIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgRm9ybWF0TnVtYmVyUmVzcGVjdGlu
Z0ludGVnZXJzJik7CiAKICAgICBTdHJpbmcgcmVsZWFzZSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggMjc2MzY2YzBiMTJmOGE5NDdj
OTg0YTE2ZWNlNjBiZjNiYzFlYzM1YS4uZWY2NTBhZGVkYjMzNGUxYWY3MjRjNjZlZGNkNjMyZDM2
OGEwMmNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0
LmNwcApAQCAtNzksMjEgKzc5LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogc3Rh
dGljIHZvaWQgd3JpdGVMYXllcnMoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlckxheWVyKiByb290
TGF5ZXIsIFJlbmRlckxheWVyKiwgY29uc3QgTGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJlY3QsIGlu
dCBpbmRlbnQgPSAwLCBSZW5kZXJBc1RleHRCZWhhdmlvciA9IFJlbmRlckFzVGV4dEJlaGF2aW9y
Tm9ybWFsKTsKIAotc3RhdGljIGlubGluZSBib29sIGhhc0ZyYWN0aW9ucyhkb3VibGUgdmFsKQot
ewotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc19lcHNpbG9uID0gMC4wMDAxOwotICAgIGludCBp
dmFsID0gc3RhdGljX2Nhc3Q8aW50Pih2YWwpOwotICAgIGRvdWJsZSBkdmFsID0gc3RhdGljX2Nh
c3Q8ZG91YmxlPihpdmFsKTsKLSAgICByZXR1cm4gZmFicyh2YWwgLSBkdmFsKSA+IHNfZXBzaWxv
bjsKLX0KLQotU3RyaW5nIGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyhkb3VibGUgdmFs
dWUpCi17Ci0gICAgaWYgKCFoYXNGcmFjdGlvbnModmFsdWUpKQotICAgICAgICByZXR1cm4gU3Ry
aW5nOjpudW1iZXIoc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkpOwotICAgIHJldHVybiBTdHJpbmc6
Om51bWJlcih2YWx1ZSwgU2hvdWxkUm91bmREZWNpbWFsUGxhY2VzLCAyKTsKLX0KLQogVGV4dFN0
cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgSW50UmVjdCYgcikKIHsKICAg
ICByZXR1cm4gdHMgPDwgImF0ICgiIDw8IHIueCgpIDw8ICIsIiA8PCByLnkoKSA8PCAiKSBzaXpl
ICIgPDwgci53aWR0aCgpIDw8ICJ4IiA8PCByLmhlaWdodCgpOwpAQCAtMTEyLDE2ICs5NywxNiBA
QCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBGcmFjdGlvbmFs
TGF5b3V0UG9pbnQmIHApCiAKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IEZsb2F0UG9pbnQmIHApCiB7Ci0gICAgdHMgPDwgIigiIDw8IGZvcm1hdE51bWJlclJl
c3BlY3RpbmdJbnRlZ2VycyhwLngoKSk7Ci0gICAgdHMgPDwgIiwiIDw8IGZvcm1hdE51bWJlclJl
c3BlY3RpbmdJbnRlZ2VycyhwLnkoKSk7CisgICAgdHMgPDwgIigiIDw8IFRleHRTdHJlYW06OkZv
cm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLngoKSk7CisgICAgdHMgPDwgIiwiIDw8IFRl
eHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhwLnkoKSk7CiAgICAgdHMg
PDwgIikiOwogICAgIHJldHVybiB0czsKIH0KIAogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0
U3RyZWFtJiB0cywgY29uc3QgRmxvYXRTaXplJiBzKQogewotICAgIHRzIDw8ICJ3aWR0aD0iIDw8
IGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhzLndpZHRoKCkpOwotICAgIHRzIDw8ICIg
aGVpZ2h0PSIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHMuaGVpZ2h0KCkpOwor
ICAgIHRzIDw8ICJ3aWR0aD0iIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJ
bnRlZ2VycyhzLndpZHRoKCkpOworICAgIHRzIDw8ICIgaGVpZ2h0PSIgPDwgVGV4dFN0cmVhbTo6
Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHMuaGVpZ2h0KCkpOwogICAgIHJldHVybiB0
czsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKaW5k
ZXggODQ5OTQzMDY4ZWVhMmE3NWY3MThiMjlmOGQwNTk1ZWI5ZmRlNDI0MC4uNTNmMzQ4NzcyMWMz
Yjg5ZjIzNTgyNmRhMmQ3MTcwNDI5ZWEyNDU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVHJlZUFzVGV4dC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiVGV4dFN0
cmVhbS5oIgogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTk4LDggKzk3LDYgQEAgU3RyaW5n
IGNvdW50ZXJWYWx1ZUZvckVsZW1lbnQoRWxlbWVudCopOwogCiBTdHJpbmcgbWFya2VyVGV4dEZv
ckxpc3RJdGVtKEVsZW1lbnQqKTsKIAotU3RyaW5nIGZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRl
Z2Vycyhkb3VibGUpOwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBSZW5k
ZXJUcmVlQXNUZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IGUzZmQ4MzNhMmJiZjU4NzIxYzNkZTNmNjg3YmJh
NGVmMjVmMWU0YjguLjgzOGQ4YTE1MDQ1NWJlOGQ0YTMwYTM0YzYwYjFlYTY2NTk3OWFjMGQgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcApAQCAtMTM0LDEwICsxMzQsMTAgQEAgc3RhdGljIHZvaWQgd3JpdGVJZk5vdERlZmF1
bHQoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IGNoYXIqIG5hbWUsIFZhbHVlVHlwZSB2YWx1ZSwKIAog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmxvYXRSZWN0JiBy
KQogewotICAgIHRzIDw8ICJhdCAoIiA8PCBmb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMo
ci54KCkpOyAKLSAgICB0cyA8PCAiLCIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJz
KHIueSgpKTsKLSAgICB0cyA8PCAiKSBzaXplICIgPDwgZm9ybWF0TnVtYmVyUmVzcGVjdGluZ0lu
dGVnZXJzKHIud2lkdGgoKSk7Ci0gICAgdHMgPDwgIngiIDw8IGZvcm1hdE51bWJlclJlc3BlY3Rp
bmdJbnRlZ2VycyhyLmhlaWdodCgpKTsKKyAgICB0cyA8PCAiYXQgKCIgPDwgVGV4dFN0cmVhbTo6
Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIueCgpKTsKKyAgICB0cyA8PCAiLCIgPDwg
VGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHIueSgpKTsKKyAgICB0
cyA8PCAiKSBzaXplICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVn
ZXJzKHIud2lkdGgoKSk7CisgICAgdHMgPDwgIngiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJl
clJlc3BlY3RpbmdJbnRlZ2VycyhyLmhlaWdodCgpKTsKICAgICByZXR1cm4gdHM7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>