<?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>108206</bug_id>
          
          <creation_ts>2013-01-29 10:59:58 -0800</creation_ts>
          <short_desc>Structure::m_outOfLineCapacity is unnecessary</short_desc>
          <delta_ts>2013-02-05 12:45:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>819099</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 10:59:58 -0800</bug_when>
    <thetext>We can calculate our out of line capacity by using the outOfLineSize and our knowledge about our resize policy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819123</commentid>
    <comment_count>1</comment_count>
      <attachid>185273</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 11:16:24 -0800</bug_when>
    <thetext>Created attachment 185273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819127</commentid>
    <comment_count>2</comment_count>
      <attachid>185273</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-29 11:25:37 -0800</bug_when>
    <thetext>Comment on attachment 185273
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/Structure.h:187
&gt; +            unsigned sizeOutOfLine = outOfLineSize();

It&apos;s a pet peeve of mine when we invent two words for the same thing just to avoid compiler problems.

I like to work around that issue by using &quot;this-&gt;&quot; instead of inventing a new name:

     unsigned outOfLineSize = this-&gt;outOfLineSize();

I&apos;d suggest that technique here.

&gt; Source/JavaScriptCore/runtime/Structure.h:196
&gt; +            return round(pow(outOfLineGrowthFactor, ceil(log(sizeOutOfLine) / log(outOfLineGrowthFactor))));

This math looks expensive. Are we sure it&apos;s not hot? Since we&apos;re working with powers of two, there are probably good bit shifty ways to save here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819131</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 11:29:41 -0800</bug_when>
    <thetext>&gt; I&apos;d suggest that technique here.

Okiedokie.

&gt; &gt; Source/JavaScriptCore/runtime/Structure.h:196
&gt; &gt; +            return round(pow(outOfLineGrowthFactor, ceil(log(sizeOutOfLine) / log(outOfLineGrowthFactor))));
&gt; 
&gt; This math looks expensive. Are we sure it&apos;s not hot? Since we&apos;re working with powers of two, there are probably good bit shifty ways to save here.

I thought about that, but there was nothing immediately available that I could see. WTF has roundUpToMultipleOf, but we need nextHighestPowerOfTwo or something. There&apos;s this guy here: http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 , which I could add to StdLibExtras.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819139</commentid>
    <comment_count>4</comment_count>
      <attachid>185273</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 11:41:28 -0800</bug_when>
    <thetext>Comment on attachment 185273
Patch

Attachment 185273 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16115313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819141</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-29 11:42:29 -0800</bug_when>
    <thetext>&gt; WTF has roundUpToMultipleOf, but we need nextHighestPowerOfTwo or something. There&apos;s this guy here: http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 , which I could add to StdLibExtras.h

Sure, let&apos;s do that, as template&lt;size_t exponent&gt; roundUpToPowerOf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819219</commentid>
    <comment_count>6</comment_count>
      <attachid>185288</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 12:41:29 -0800</bug_when>
    <thetext>Created attachment 185288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819236</commentid>
    <comment_count>7</comment_count>
      <attachid>185288</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-29 12:53:20 -0800</bug_when>
    <thetext>Comment on attachment 185288
Patch

Attachment 185288 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16217139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819241</commentid>
    <comment_count>8</comment_count>
      <attachid>185288</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-29 12:57:55 -0800</bug_when>
    <thetext>Comment on attachment 185288
Patch

Attachment 185288 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16201273</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819250</commentid>
    <comment_count>9</comment_count>
      <attachid>185288</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 13:05:49 -0800</bug_when>
    <thetext>Comment on attachment 185288
Patch

Attachment 185288 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16200290</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819267</commentid>
    <comment_count>10</comment_count>
      <attachid>185294</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 13:19:23 -0800</bug_when>
    <thetext>Created attachment 185294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819277</commentid>
    <comment_count>11</comment_count>
      <attachid>185294</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-29 13:27:11 -0800</bug_when>
    <thetext>Comment on attachment 185294
Patch

Attachment 185294 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16218126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819282</commentid>
    <comment_count>12</comment_count>
      <attachid>185297</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 13:30:21 -0800</bug_when>
    <thetext>Created attachment 185297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819347</commentid>
    <comment_count>13</comment_count>
      <attachid>185297</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-29 14:47:08 -0800</bug_when>
    <thetext>Comment on attachment 185297
Patch

Let&apos;s add a compile assert vs runtime assert version here, and remove the slow path since it&apos;s unused, like we do for roundUpToMultipleOf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819670</commentid>
    <comment_count>14</comment_count>
      <attachid>185372</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-29 18:42:34 -0800</bug_when>
    <thetext>Created attachment 185372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819810</commentid>
    <comment_count>15</comment_count>
      <attachid>185372</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-29 22:36:38 -0800</bug_when>
    <thetext>Comment on attachment 185372
Patch

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

&gt; Source/WTF/wtf/MathExtras.h:451
&gt; +#if USE(JSVALUE64)
&gt; +    v |= v &gt;&gt; 32;
&gt; +#endif

This doesn&apos;t seem like the right #ifdef for such a common header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820221</commentid>
    <comment_count>16</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-30 08:22:15 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 185372 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185372&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/MathExtras.h:451
&gt; &gt; +#if USE(JSVALUE64)
&gt; &gt; +    v |= v &gt;&gt; 32;
&gt; &gt; +#endif
&gt; 
&gt; This doesn&apos;t seem like the right #ifdef for such a common header.

Is there another way to say &quot;any 64-bit system&quot;? I looked through Platform.h and it didn&apos;t seem like there was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820352</commentid>
    <comment_count>17</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-30 11:30:54 -0800</bug_when>
    <thetext>Let&apos;s use #if sizeof(size_t) == 8. This code is so low-level, that&apos;s probably more appropriate than any abstract #ifdef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820353</commentid>
    <comment_count>18</comment_count>
      <attachid>185372</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-30 11:31:04 -0800</bug_when>
    <thetext>Comment on attachment 185372
Patch

r=me with that change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820394</commentid>
    <comment_count>19</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-30 12:06:44 -0800</bug_when>
    <thetext>Committed r141295: &lt;http://trac.webkit.org/changeset/141295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820879</commentid>
    <comment_count>20</comment_count>
      <attachid>185372</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-30 17:45:08 -0800</bug_when>
    <thetext>Comment on attachment 185372
Patch

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

&gt;&gt;&gt; Source/WTF/wtf/MathExtras.h:451
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; This doesn&apos;t seem like the right #ifdef for such a common header.
&gt; 
&gt; Is there another way to say &quot;any 64-bit system&quot;? I looked through Platform.h and it didn&apos;t seem like there was.

#if defined(__LP64__) &amp;&amp; __LP64__ isn&apos;t right either.

I think the right way to do this is to overload this function for both uint32_t and uint64_t rather than defining it for size_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820940</commentid>
    <comment_count>21</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-30 18:29:40 -0800</bug_when>
    <thetext>Reopening to address issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820943</commentid>
    <comment_count>22</comment_count>
      <attachid>185651</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-01-30 18:33:10 -0800</bug_when>
    <thetext>Created attachment 185651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821434</commentid>
    <comment_count>23</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-01-31 05:34:22 -0800</bug_when>
    <thetext>This is awesome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821938</commentid>
    <comment_count>24</comment_count>
      <attachid>185651</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-31 14:11:42 -0800</bug_when>
    <thetext>Comment on attachment 185651
Patch

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

r=me

&gt; Source/WTF/wtf/MathExtras.h:434
&gt; +#define BITWISE_LOG2_32(v) \

This should just be an inline function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822237</commentid>
    <comment_count>25</comment_count>
      <attachid>185651</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-31 19:11:44 -0800</bug_when>
    <thetext>Comment on attachment 185651
Patch

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

I’m not sure of the value of implementing all these unused specializations of the template function. Currently we are using only the uint32_t version of roundUpToThePowerOf&lt;2&gt;, and I am not sure it’s good to have a super-slow implementation that is more general yet likely to never be useful anywhere. Seems unlikely we would actually want to use the version that converts to double in practice. I’d rather see a compile time error. That “be careful” comment is a sure giveaway we might not want this.

&gt;&gt; Source/WTF/wtf/MathExtras.h:434
&gt;&gt; +#define BITWISE_LOG2_32(v) \
&gt; 
&gt; This should just be an inline function.

It would have to be an inline function template, not just a function, to accommodate both integer types. I’m not sure you really want that.

&gt; Source/WTF/wtf/MathExtras.h:442
&gt; +template&lt;uint64_t exponent&gt; inline uint64_t roundUpToPowerOf(uint64_t v)

Why does the exponent need to be the same type as the number we are rounding? That’s a little strange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824528</commentid>
    <comment_count>26</comment_count>
      <attachid>186415</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-02-04 10:28:53 -0800</bug_when>
    <thetext>Created attachment 186415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824616</commentid>
    <comment_count>27</comment_count>
      <attachid>186415</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-02-04 11:42:41 -0800</bug_when>
    <thetext>Comment on attachment 186415
Patch

OK. But you could still have uses a template, and just not implement it for all those other powers and types at this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825719</commentid>
    <comment_count>28</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-02-05 12:45:01 -0800</bug_when>
    <thetext>Committed r141916: &lt;http://trac.webkit.org/changeset/141916&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185273</attachid>
            <date>2013-01-29 11:16:24 -0800</date>
            <delta_ts>2013-01-29 12:41:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130129111310.patch</filename>
            <type>text/plain</type>
            <size>6167</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxMTM1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNzYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjYW4gY2Fs
Y3VsYXRlIG91ciBvdXQgb2YgbGluZSBjYXBhY2l0eSBieSB1c2luZyB0aGUgb3V0T2ZMaW5lU2l6
ZSBhbmQgb3VyIGtub3dsZWRnZSBhYm91dCBvdXIgcmVzaXplIHBvbGljeS4KKyAgICAgICAgQWNj
b3JkaW5nIHRvIEdEQiwgdGhpcyBrbm9ja3MgU3RydWN0dXJlcyBkb3duIGZyb20gMTM2IGJ5dGVz
IHRvIDEyOCBieXRlcyAoSSdtIGd1ZXNzaW5nIHRoZSBleHRyYSBieXRlcyBhcmUgZnJvbQorICAg
ICAgICBiZXR0ZXIgYWxpZ25tZW50IG9mIG9iamVjdCBmaWVsZHMpLCB3aGljaCBwdXRzIFN0cnVj
dHVyZXMgaW4gYSBzbWFsbGVyIHNpemUgY2xhc3MuIFdvb2hvbyEgTG9va3MgbmV1dHJhbCBvbiBv
dXIgCisgICAgICAgIGJlbmNobWFya3MuCisKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5j
cHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQyk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNh
cGFjaXR5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24p
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjp0b3RhbFN0b3JhZ2VDYXBhY2l0eSk6CisKIDIwMTMtMDEtMjkgIEFsbGFu
IFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0
XSBJbXBsZW1lbnQgR0NBY3Rpdml0eUNhbGxiYWNrCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDE0MTEyMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
Nyw3ICsxNTcsNiBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhCiAg
ICAgLCBtX3Byb3RvdHlwZShnbG9iYWxEYXRhLCB0aGlzLCBwcm90b3R5cGUpCiAgICAgLCBtX2Ns
YXNzSW5mbyhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KEluaXRp
YWxpemVkV2F0Y2hpbmcpCi0gICAgLCBtX291dE9mTGluZUNhcGFjaXR5KDApCiAgICAgLCBtX2lu
bGluZUNhcGFjaXR5KGlubGluZUNhcGFjaXR5KQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKQpAQCAtMTg0LDcg
KzE4Myw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmEKICAgICAs
IG1fcHJvdG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIGpzTnVsbCgpKQogICAgICwgbV9jbGFzc0lu
Zm8oJnNfaW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRX
YXRjaGluZykKLSAgICAsIG1fb3V0T2ZMaW5lQ2FwYWNpdHkoMCkKICAgICAsIG1faW5saW5lQ2Fw
YWNpdHkoMCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBtX2RpY3Rpb25h
cnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCkKQEAgLTIwNyw3ICsyMDUsNiBAQCBTdHJ1Y3R1cmU6
OlN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhCiAgICAgLCBtX3Byb3RvdHlwZShnbG9iYWxE
YXRhLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgLCBtX2NsYXNzSW5m
byhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0
KEluaXRpYWxpemVkV2F0Y2hpbmcpCi0gICAgLCBtX291dE9mTGluZUNhcGFjaXR5KHByZXZpb3Vz
LT5tX291dE9mTGluZUNhcGFjaXR5KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+
bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBt
X2RpY3Rpb25hcnlLaW5kKHByZXZpb3VzLT5tX2RpY3Rpb25hcnlLaW5kKQpAQCAtMjczLDE0ICsy
NzAsOSBAQCBpbmxpbmUgc2l6ZV90IG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpCiAgICAgcmV0
dXJuIGN1cnJlbnRDYXBhY2l0eSAqIG91dE9mTGluZUdyb3d0aEZhY3RvcjsKIH0KIAotdm9pZCBT
dHJ1Y3R1cmU6Omdyb3dPdXRPZkxpbmVDYXBhY2l0eSgpCi17Ci0gICAgbV9vdXRPZkxpbmVDYXBh
Y2l0eSA9IG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkobV9vdXRPZkxpbmVDYXBhY2l0eSk7
Ci19Ci0KIHNpemVfdCBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZE5ld091dE9mTGluZVN0b3JhZ2VDYXBh
Y2l0eSgpCiB7Ci0gICAgcmV0dXJuIG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkobV9vdXRP
ZkxpbmVDYXBhY2l0eSk7CisgICAgcmV0dXJuIG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHko
b3V0T2ZMaW5lQ2FwYWNpdHkoKSk7CiB9CiAgCiB2b2lkIFN0cnVjdHVyZTo6ZGVzcGVjaWZ5RGlj
dGlvbmFyeUZ1bmN0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKQEAgLTM2NSw4ICszNTcsNiBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRk
UHJvcGVydHlUcmFuc2l0CiAgICAgICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IHRvQ2FjaGVh
YmxlRGljdGlvbmFyeVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKICAgICAgICAg
QVNTRVJUKHN0cnVjdHVyZSAhPSB0cmFuc2l0aW9uKTsKICAgICAgICAgb2Zmc2V0ID0gdHJhbnNp
dGlvbi0+cHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0
ZXMsIHNwZWNpZmljVmFsdWUpOwotICAgICAgICBpZiAodHJhbnNpdGlvbi0+b3V0T2ZMaW5lU2l6
ZSgpID4gdHJhbnNpdGlvbi0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgIHRyYW5z
aXRpb24tPmdyb3dPdXRPZkxpbmVDYXBhY2l0eSgpOwogICAgICAgICByZXR1cm4gdHJhbnNpdGlv
bjsKICAgICB9CiAgICAgCkBAIC0zOTEsOCArMzgxLDYgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIH0KIAogICAgIG9mZnNldCA9IHRyYW5zaXRpb24tPnB1
dFNwZWNpZmljVmFsdWUoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzLCBzcGVj
aWZpY1ZhbHVlKTsKLSAgICBpZiAodHJhbnNpdGlvbi0+b3V0T2ZMaW5lU2l6ZSgpID4gdHJhbnNp
dGlvbi0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgdHJhbnNpdGlvbi0+Z3Jvd091dE9m
TGluZUNhcGFjaXR5KCk7CiAKICAgICB0cmFuc2l0aW9uLT5tX29mZnNldCA9IG9mZnNldDsKICAg
ICBjaGVja09mZnNldCh0cmFuc2l0aW9uLT5tX29mZnNldCwgdHJhbnNpdGlvbi0+aW5saW5lQ2Fw
YWNpdHkoKSk7CkBAIC02NjQsMTAgKzY1Miw3IEBAIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6
YWRkUHJvcGVydHlXaXQKICAgICAKICAgICBwaW4oKTsKIAotICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCA9IHB1dFNwZWNpZmljVmFsdWUoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1
dGVzLCBzcGVjaWZpY1ZhbHVlKTsKLSAgICBpZiAob3V0T2ZMaW5lU2l6ZSgpID4gb3V0T2ZMaW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgZ3Jvd091dE9mTGluZUNhcGFjaXR5KCk7Ci0gICAgcmV0dXJu
IG9mZnNldDsKKyAgICByZXR1cm4gcHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0
eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwogfQogCiBQcm9wZXJ0eU9mZnNldCBT
dHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDE0MTEyMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODIsMTEgKzE4MiwxOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgICAgICBib29s
IHRyYW5zaXRpdmVseVRyYW5zaXRpb25lZEZyb20oU3RydWN0dXJlKiBzdHJ1Y3R1cmVUb0ZpbmQp
OwogCi0gICAgICAgIHZvaWQgZ3Jvd091dE9mTGluZUNhcGFjaXR5KCk7CiAgICAgICAgIHVuc2ln
bmVkIG91dE9mTGluZUNhcGFjaXR5KCkgY29uc3QKICAgICAgICAgewotICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSAmc19pbmZvKTsKLSAgICAgICAgICAgIHJl
dHVybiBtX291dE9mTGluZUNhcGFjaXR5OworICAgICAgICAgICAgdW5zaWduZWQgc2l6ZU91dE9m
TGluZSA9IG91dE9mTGluZVNpemUoKTsKKworICAgICAgICAgICAgaWYgKCFzaXplT3V0T2ZMaW5l
KQorICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBpZiAoc2l6ZU91dE9m
TGluZSA8PSBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0eTsKKworICAgICAgICAgICAgQVNTRVJUKHNpemVPdXRP
ZkxpbmUgPiBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgcmV0dXJuIHJv
dW5kKHBvdyhvdXRPZkxpbmVHcm93dGhGYWN0b3IsIGNlaWwobG9nKHNpemVPdXRPZkxpbmUpIC8g
bG9nKG91dE9mTGluZUdyb3d0aEZhY3RvcikpKSk7CiAgICAgICAgIH0KICAgICAgICAgdW5zaWdu
ZWQgb3V0T2ZMaW5lU2l6ZSgpIGNvbnN0CiAgICAgICAgIHsKQEAgLTIyNiw3ICsyMzMsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgdW5zaWduZWQgdG90YWxTdG9yYWdlQ2FwYWNpdHkoKSBj
b25zdAogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmNsYXNzSW5m
bygpID09ICZzX2luZm8pOwotICAgICAgICAgICAgcmV0dXJuIG1fb3V0T2ZMaW5lQ2FwYWNpdHkg
KyBpbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgcmV0dXJuIG91dE9mTGluZUNhcGFjaXR5
KCkgKyBpbmxpbmVDYXBhY2l0eSgpOwogICAgICAgICB9CiAKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgZmlyc3RWYWxpZE9mZnNldCgpIGNvbnN0CkBAIC00MzUsNyArNDQyLDYgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIAogICAgICAgICBtdXRhYmxlIElubGluZVdhdGNocG9pbnRTZXQgbV90
cmFuc2l0aW9uV2F0Y2hwb2ludFNldDsKIAotICAgICAgICB1aW50MzJfdCBtX291dE9mTGluZUNh
cGFjaXR5OwogICAgICAgICB1aW50OF90IG1faW5saW5lQ2FwYWNpdHk7CiAgICAgICAgIENPTVBJ
TEVfQVNTRVJUKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IDwgMjU2LCBmaXJzdE91dE9mTGluZU9mZnNl
dF9maXRzKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185288</attachid>
            <date>2013-01-29 12:41:29 -0800</date>
            <delta_ts>2013-01-29 13:19:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130129123814.patch</filename>
            <type>text/plain</type>
            <size>7715</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxMTQzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNzYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjYW4gY2Fs
Y3VsYXRlIG91ciBvdXQgb2YgbGluZSBjYXBhY2l0eSBieSB1c2luZyB0aGUgb3V0T2ZMaW5lU2l6
ZSBhbmQgb3VyIGtub3dsZWRnZSBhYm91dCBvdXIgcmVzaXplIHBvbGljeS4KKyAgICAgICAgQWNj
b3JkaW5nIHRvIEdEQiwgdGhpcyBrbm9ja3MgU3RydWN0dXJlcyBkb3duIGZyb20gMTM2IGJ5dGVz
IHRvIDEyOCBieXRlcyAoSSdtIGd1ZXNzaW5nIHRoZSBleHRyYSBieXRlcyBhcmUgZnJvbQorICAg
ICAgICBiZXR0ZXIgYWxpZ25tZW50IG9mIG9iamVjdCBmaWVsZHMpLCB3aGljaCBwdXRzIFN0cnVj
dHVyZXMgaW4gYSBzbWFsbGVyIHNpemUgY2xhc3MuIFdvb2hvbyEgTG9va3MgbmV1dHJhbCBvbiBv
dXIgCisgICAgICAgIGJlbmNobWFya3MuCisKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5j
cHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQyk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNh
cGFjaXR5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24p
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjp0b3RhbFN0b3JhZ2VDYXBhY2l0eSk6CisKIDIwMTMtMDEtMjkgIEFsbGFu
IFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0
XSBJbXBsZW1lbnQgR0NBY3Rpdml0eUNhbGxiYWNrCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDE0MTEyMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
Nyw3ICsxNTcsNiBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhCiAg
ICAgLCBtX3Byb3RvdHlwZShnbG9iYWxEYXRhLCB0aGlzLCBwcm90b3R5cGUpCiAgICAgLCBtX2Ns
YXNzSW5mbyhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KEluaXRp
YWxpemVkV2F0Y2hpbmcpCi0gICAgLCBtX291dE9mTGluZUNhcGFjaXR5KDApCiAgICAgLCBtX2lu
bGluZUNhcGFjaXR5KGlubGluZUNhcGFjaXR5KQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKQpAQCAtMTg0LDcg
KzE4Myw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmEKICAgICAs
IG1fcHJvdG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIGpzTnVsbCgpKQogICAgICwgbV9jbGFzc0lu
Zm8oJnNfaW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRX
YXRjaGluZykKLSAgICAsIG1fb3V0T2ZMaW5lQ2FwYWNpdHkoMCkKICAgICAsIG1faW5saW5lQ2Fw
YWNpdHkoMCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBtX2RpY3Rpb25h
cnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCkKQEAgLTIwNyw3ICsyMDUsNiBAQCBTdHJ1Y3R1cmU6
OlN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhCiAgICAgLCBtX3Byb3RvdHlwZShnbG9iYWxE
YXRhLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgLCBtX2NsYXNzSW5m
byhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0
KEluaXRpYWxpemVkV2F0Y2hpbmcpCi0gICAgLCBtX291dE9mTGluZUNhcGFjaXR5KHByZXZpb3Vz
LT5tX291dE9mTGluZUNhcGFjaXR5KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+
bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBt
X2RpY3Rpb25hcnlLaW5kKHByZXZpb3VzLT5tX2RpY3Rpb25hcnlLaW5kKQpAQCAtMjczLDE0ICsy
NzAsOSBAQCBpbmxpbmUgc2l6ZV90IG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpCiAgICAgcmV0
dXJuIGN1cnJlbnRDYXBhY2l0eSAqIG91dE9mTGluZUdyb3d0aEZhY3RvcjsKIH0KIAotdm9pZCBT
dHJ1Y3R1cmU6Omdyb3dPdXRPZkxpbmVDYXBhY2l0eSgpCi17Ci0gICAgbV9vdXRPZkxpbmVDYXBh
Y2l0eSA9IG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkobV9vdXRPZkxpbmVDYXBhY2l0eSk7
Ci19Ci0KIHNpemVfdCBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZE5ld091dE9mTGluZVN0b3JhZ2VDYXBh
Y2l0eSgpCiB7Ci0gICAgcmV0dXJuIG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkobV9vdXRP
ZkxpbmVDYXBhY2l0eSk7CisgICAgcmV0dXJuIG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHko
b3V0T2ZMaW5lQ2FwYWNpdHkoKSk7CiB9CiAgCiB2b2lkIFN0cnVjdHVyZTo6ZGVzcGVjaWZ5RGlj
dGlvbmFyeUZ1bmN0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKQEAgLTM2NSw4ICszNTcsNiBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRk
UHJvcGVydHlUcmFuc2l0CiAgICAgICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IHRvQ2FjaGVh
YmxlRGljdGlvbmFyeVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKICAgICAgICAg
QVNTRVJUKHN0cnVjdHVyZSAhPSB0cmFuc2l0aW9uKTsKICAgICAgICAgb2Zmc2V0ID0gdHJhbnNp
dGlvbi0+cHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0
ZXMsIHNwZWNpZmljVmFsdWUpOwotICAgICAgICBpZiAodHJhbnNpdGlvbi0+b3V0T2ZMaW5lU2l6
ZSgpID4gdHJhbnNpdGlvbi0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgIHRyYW5z
aXRpb24tPmdyb3dPdXRPZkxpbmVDYXBhY2l0eSgpOwogICAgICAgICByZXR1cm4gdHJhbnNpdGlv
bjsKICAgICB9CiAgICAgCkBAIC0zOTEsOCArMzgxLDYgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIH0KIAogICAgIG9mZnNldCA9IHRyYW5zaXRpb24tPnB1
dFNwZWNpZmljVmFsdWUoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzLCBzcGVj
aWZpY1ZhbHVlKTsKLSAgICBpZiAodHJhbnNpdGlvbi0+b3V0T2ZMaW5lU2l6ZSgpID4gdHJhbnNp
dGlvbi0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgdHJhbnNpdGlvbi0+Z3Jvd091dE9m
TGluZUNhcGFjaXR5KCk7CiAKICAgICB0cmFuc2l0aW9uLT5tX29mZnNldCA9IG9mZnNldDsKICAg
ICBjaGVja09mZnNldCh0cmFuc2l0aW9uLT5tX29mZnNldCwgdHJhbnNpdGlvbi0+aW5saW5lQ2Fw
YWNpdHkoKSk7CkBAIC02NjQsMTAgKzY1Miw3IEBAIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6
YWRkUHJvcGVydHlXaXQKICAgICAKICAgICBwaW4oKTsKIAotICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCA9IHB1dFNwZWNpZmljVmFsdWUoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1
dGVzLCBzcGVjaWZpY1ZhbHVlKTsKLSAgICBpZiAob3V0T2ZMaW5lU2l6ZSgpID4gb3V0T2ZMaW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgZ3Jvd091dE9mTGluZUNhcGFjaXR5KCk7Ci0gICAgcmV0dXJu
IG9mZnNldDsKKyAgICByZXR1cm4gcHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0
eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwogfQogCiBQcm9wZXJ0eU9mZnNldCBT
dHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDE0MTEyMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODIsMTEgKzE4MiwxOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgICAgICBib29s
IHRyYW5zaXRpdmVseVRyYW5zaXRpb25lZEZyb20oU3RydWN0dXJlKiBzdHJ1Y3R1cmVUb0ZpbmQp
OwogCi0gICAgICAgIHZvaWQgZ3Jvd091dE9mTGluZUNhcGFjaXR5KCk7CiAgICAgICAgIHVuc2ln
bmVkIG91dE9mTGluZUNhcGFjaXR5KCkgY29uc3QKICAgICAgICAgewotICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSAmc19pbmZvKTsKLSAgICAgICAgICAgIHJl
dHVybiBtX291dE9mTGluZUNhcGFjaXR5OworICAgICAgICAgICAgdW5zaWduZWQgb3V0T2ZMaW5l
U2l6ZSA9IHRoaXMtPm91dE9mTGluZVNpemUoKTsKKworICAgICAgICAgICAgaWYgKCFvdXRPZkxp
bmVTaXplKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBpZiAob3V0
T2ZMaW5lU2l6ZSA8PSBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0eTsKKworICAgICAgICAgICAgQVNTRVJUKG91
dE9mTGluZVNpemUgPiBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgcmV0
dXJuIFdURjo6cm91bmRVcFRvUG93ZXJPZjxvdXRPZkxpbmVHcm93dGhGYWN0b3I+KG91dE9mTGlu
ZVNpemUpOwogICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIG91dE9mTGluZVNpemUoKSBjb25z
dAogICAgICAgICB7CkBAIC0yMjYsNyArMjMzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHVuc2lnbmVkIHRvdGFsU3RvcmFnZUNhcGFjaXR5KCkgY29uc3QKICAgICAgICAgewogICAgICAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSAmc19pbmZvKTsKLSAgICAg
ICAgICAgIHJldHVybiBtX291dE9mTGluZUNhcGFjaXR5ICsgaW5saW5lQ2FwYWNpdHkoKTsKKyAg
ICAgICAgICAgIHJldHVybiBvdXRPZkxpbmVDYXBhY2l0eSgpICsgaW5saW5lQ2FwYWNpdHkoKTsK
ICAgICAgICAgfQogCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGZpcnN0VmFsaWRPZmZzZXQoKSBj
b25zdApAQCAtNDM1LDcgKzQ0Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAg
ICAgbXV0YWJsZSBJbmxpbmVXYXRjaHBvaW50U2V0IG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQ7
CiAKLSAgICAgICAgdWludDMyX3QgbV9vdXRPZkxpbmVDYXBhY2l0eTsKICAgICAgICAgdWludDhf
dCBtX2lubGluZUNhcGFjaXR5OwogICAgICAgICBDT01QSUxFX0FTU0VSVChmaXJzdE91dE9mTGlu
ZU9mZnNldCA8IDI1NiwgZmlyc3RPdXRPZkxpbmVPZmZzZXRfZml0cyk7CiAKSW5kZXg6IFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxNDExNDMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE2IEBACisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVu
bmVjZXNzYXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDgyMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZSdyZSBhZGRpbmcgYSBuZXcgZnVuY3Rpb24gdGhhdCBnaXZlcyB1cyB0aGUgYWJpbGl0eSB0
byByb3VuZCBhIHZhbHVlIHVwIHRvIHRoZSBuZXh0IHBvd2VyIG9mIGEgY2VydGFpbiBiYXNlLgor
CisgICAgICAgICogd3RmL01hdGhFeHRyYXMuaDoKKyAgICAgICAgKFdURik6CisgICAgICAgIChX
VEY6OnJvdW5kVXBUb1Bvd2VyT2YpOgorCiAyMDEzLTAxLTI4ICBCZW5qYW1pbiBQb3VsYWluICA8
YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBTdHJpbmcgY29uc3RydWN0ZWQgZnJvbSBM
aXRlcmFscyBzaG91bGQgYmUgbm9uLWVtcHR5CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9NYXRoRXh0
cmFzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCShyZXZpc2lv
biAxNDExMjApCisrKyBTb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQyOSw0ICs0MjksMjYgQEAgaW5saW5lIHZvaWQgZG91YmxlVG9JbnRlZ2VyKGRvdWJsZSBk
LCB1bgogICAgIH0KIH0KIAorbmFtZXNwYWNlIFdURiB7CisKKy8vIEZyb20gaHR0cDovL2dyYXBo
aWNzLnN0YW5mb3JkLmVkdS9+c2VhbmRlci9iaXRoYWNrcy5odG1sI1JvdW5kVXBQb3dlck9mMgor
dGVtcGxhdGU8c2l6ZV90IGV4cG9uZW50PiBpbmxpbmUgc2l6ZV90IHJvdW5kVXBUb1Bvd2VyT2Yo
c2l6ZV90IHYpCit7CisgICAgaWYgKGV4cG9uZW50ID09IDIpIHsKKyAgICAgICAgdi0tOworICAg
ICAgICB2IHw9IHYgPj4gMTsKKyAgICAgICAgdiB8PSB2ID4+IDI7CisgICAgICAgIHYgfD0gdiA+
PiA0OworICAgICAgICB2IHw9IHYgPj4gODsKKyAgICAgICAgdiB8PSB2ID4+IDE2OworICAgICAg
ICB2IHw9IHYgPj4gMzI7CisgICAgICAgIHYrKzsKKyAgICAgICAgcmV0dXJuIHY7CisgICAgfQor
CisgICAgcmV0dXJuIHJvdW5kKHBvdyhzdGF0aWNfY2FzdDxkb3VibGU+KGV4cG9uZW50KSwgY2Vp
bChsb2coc3RhdGljX2Nhc3Q8ZG91YmxlPih2KSkgLyBsb2coc3RhdGljX2Nhc3Q8ZG91YmxlPihl
eHBvbmVudCkpKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwogI2VuZGlmIC8vICNpZm5k
ZWYgV1RGX01hdGhFeHRyYXNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185294</attachid>
            <date>2013-01-29 13:19:23 -0800</date>
            <delta_ts>2013-01-29 13:30:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130129131608.patch</filename>
            <type>text/plain</type>
            <size>7835</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxMTU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNzYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjYW4gY2Fs
Y3VsYXRlIG91ciBvdXQgb2YgbGluZSBjYXBhY2l0eSBieSB1c2luZyB0aGUgb3V0T2ZMaW5lU2l6
ZSBhbmQgb3VyIGtub3dsZWRnZSBhYm91dCBvdXIgcmVzaXplIHBvbGljeS4KKyAgICAgICAgQWNj
b3JkaW5nIHRvIEdEQiwgdGhpcyBrbm9ja3MgU3RydWN0dXJlcyBkb3duIGZyb20gMTM2IGJ5dGVz
IHRvIDEyOCBieXRlcyAoSSdtIGd1ZXNzaW5nIHRoZSBleHRyYSBieXRlcyBhcmUgZnJvbQorICAg
ICAgICBiZXR0ZXIgYWxpZ25tZW50IG9mIG9iamVjdCBmaWVsZHMpLCB3aGljaCBwdXRzIFN0cnVj
dHVyZXMgaW4gYSBzbWFsbGVyIHNpemUgY2xhc3MuIFdvb2hvbyEgTG9va3MgbmV1dHJhbCBvbiBv
dXIgCisgICAgICAgIGJlbmNobWFya3MuCisKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5j
cHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQyk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNh
cGFjaXR5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24p
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjp0b3RhbFN0b3JhZ2VDYXBhY2l0eSk6CisKIDIwMTMtMDEtMjkgIE9saXZl
ciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JjZSBkZWJ1ZyBidWlsZHMg
dG8gZG8gYm91bmRzIGNoZWNrcyBvbiBjb250aWd1b3VzIHByb3BlcnR5IHN0b3JhZ2UKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24g
MTQxMTUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTU3LDcgKzE1Nyw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpT
R2xvYmFsRGF0YSYgZ2xvYmEKICAgICAsIG1fcHJvdG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIHBy
b3RvdHlwZSkKICAgICAsIG1fY2xhc3NJbmZvKGNsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlv
bldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGluZykKLSAgICAsIG1fb3V0T2ZMaW5lQ2Fw
YWNpdHkoMCkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkoaW5saW5lQ2FwYWNpdHkpCiAgICAgLCBt
X29mZnNldChpbnZhbGlkT2Zmc2V0KQogICAgICwgbV9kaWN0aW9uYXJ5S2luZChOb25lRGljdGlv
bmFyeUtpbmQpCkBAIC0xODQsNyArMTgzLDYgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoSlNHbG9i
YWxEYXRhJiBnbG9iYQogICAgICwgbV9wcm90b3R5cGUoZ2xvYmFsRGF0YSwgdGhpcywganNOdWxs
KCkpCiAgICAgLCBtX2NsYXNzSW5mbygmc19pbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldChJbml0aWFsaXplZFdhdGNoaW5nKQotICAgICwgbV9vdXRPZkxpbmVDYXBhY2l0eSgw
KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eSgwKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKQpAQCAtMjA3LDcg
KzIwNSw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmEKICAgICAs
IG1fcHJvdG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUo
KSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJh
bnNpdGlvbldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGluZykKLSAgICAsIG1fb3V0T2ZM
aW5lQ2FwYWNpdHkocHJldmlvdXMtPm1fb3V0T2ZMaW5lQ2FwYWNpdHkpCiAgICAgLCBtX2lubGlu
ZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9vZmZzZXQoaW52
YWxpZE9mZnNldCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQocHJldmlvdXMtPm1fZGljdGlvbmFy
eUtpbmQpCkBAIC0yNzMsMTQgKzI3MCw5IEBAIGlubGluZSBzaXplX3QgbmV4dE91dE9mTGluZVN0
b3JhZ2VDYXBhY2kKICAgICByZXR1cm4gY3VycmVudENhcGFjaXR5ICogb3V0T2ZMaW5lR3Jvd3Ro
RmFjdG9yOwogfQogCi12b2lkIFN0cnVjdHVyZTo6Z3Jvd091dE9mTGluZUNhcGFjaXR5KCkKLXsK
LSAgICBtX291dE9mTGluZUNhcGFjaXR5ID0gbmV4dE91dE9mTGluZVN0b3JhZ2VDYXBhY2l0eSht
X291dE9mTGluZUNhcGFjaXR5KTsKLX0KLQogc2l6ZV90IFN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3
T3V0T2ZMaW5lU3RvcmFnZUNhcGFjaXR5KCkKIHsKLSAgICByZXR1cm4gbmV4dE91dE9mTGluZVN0
b3JhZ2VDYXBhY2l0eShtX291dE9mTGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gbmV4dE91dE9m
TGluZVN0b3JhZ2VDYXBhY2l0eShvdXRPZkxpbmVDYXBhY2l0eSgpKTsKIH0KICAKIHZvaWQgU3Ry
dWN0dXJlOjpkZXNwZWNpZnlEaWN0aW9uYXJ5RnVuY3Rpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQpAQCAtMzY1LDggKzM1Nyw2IEBAIFN0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICAgICAgU3RydWN0dXJlKiB0
cmFuc2l0aW9uID0gdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBz
dHJ1Y3R1cmUpOwogICAgICAgICBBU1NFUlQoc3RydWN0dXJlICE9IHRyYW5zaXRpb24pOwogICAg
ICAgICBvZmZzZXQgPSB0cmFuc2l0aW9uLT5wdXRTcGVjaWZpY1ZhbHVlKGdsb2JhbERhdGEsIHBy
b3BlcnR5TmFtZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7Ci0gICAgICAgIGlmICh0cmFu
c2l0aW9uLT5vdXRPZkxpbmVTaXplKCkgPiB0cmFuc2l0aW9uLT5vdXRPZkxpbmVDYXBhY2l0eSgp
KQotICAgICAgICAgICAgdHJhbnNpdGlvbi0+Z3Jvd091dE9mTGluZUNhcGFjaXR5KCk7CiAgICAg
ICAgIHJldHVybiB0cmFuc2l0aW9uOwogICAgIH0KICAgICAKQEAgLTM5MSw4ICszODEsNiBAQCBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgfQogCiAgICAgb2Zm
c2V0ID0gdHJhbnNpdGlvbi0+cHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0eU5h
bWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwotICAgIGlmICh0cmFuc2l0aW9uLT5vdXRP
ZkxpbmVTaXplKCkgPiB0cmFuc2l0aW9uLT5vdXRPZkxpbmVDYXBhY2l0eSgpKQotICAgICAgICB0
cmFuc2l0aW9uLT5ncm93T3V0T2ZMaW5lQ2FwYWNpdHkoKTsKIAogICAgIHRyYW5zaXRpb24tPm1f
b2Zmc2V0ID0gb2Zmc2V0OwogICAgIGNoZWNrT2Zmc2V0KHRyYW5zaXRpb24tPm1fb2Zmc2V0LCB0
cmFuc2l0aW9uLT5pbmxpbmVDYXBhY2l0eSgpKTsKQEAgLTY2NCwxMCArNjUyLDcgQEAgUHJvcGVy
dHlPZmZzZXQgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVdpdAogICAgIAogICAgIHBpbigpOwogCi0g
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gcHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBw
cm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwotICAgIGlmIChvdXRPZkxp
bmVTaXplKCkgPiBvdXRPZkxpbmVDYXBhY2l0eSgpKQotICAgICAgICBncm93T3V0T2ZMaW5lQ2Fw
YWNpdHkoKTsKLSAgICByZXR1cm4gb2Zmc2V0OworICAgIHJldHVybiBwdXRTcGVjaWZpY1ZhbHVl
KGdsb2JhbERhdGEsIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7CiB9
CiAKIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlXaXRob3V0VHJhbnNp
dGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNp
b24gMTQxMTUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE4MiwxMSArMTgyLDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB9CiAgICAgICAgIGJvb2wgdHJhbnNpdGl2ZWx5VHJhbnNpdGlvbmVkRnJvbShTdHJ1Y3R1
cmUqIHN0cnVjdHVyZVRvRmluZCk7CiAKLSAgICAgICAgdm9pZCBncm93T3V0T2ZMaW5lQ2FwYWNp
dHkoKTsKICAgICAgICAgdW5zaWduZWQgb3V0T2ZMaW5lQ2FwYWNpdHkoKSBjb25zdAogICAgICAg
ICB7Ci0gICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmNsYXNzSW5mbygpID09ICZzX2lu
Zm8pOwotICAgICAgICAgICAgcmV0dXJuIG1fb3V0T2ZMaW5lQ2FwYWNpdHk7CisgICAgICAgICAg
ICB1bnNpZ25lZCBvdXRPZkxpbmVTaXplID0gdGhpcy0+b3V0T2ZMaW5lU2l6ZSgpOworCisgICAg
ICAgICAgICBpZiAoIW91dE9mTGluZVNpemUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisK
KyAgICAgICAgICAgIGlmIChvdXRPZkxpbmVTaXplIDw9IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0
eSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5pdGlhbE91dE9mTGluZUNhcGFjaXR5OworCisg
ICAgICAgICAgICBBU1NFUlQob3V0T2ZMaW5lU2l6ZSA+IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0
eSk7CisgICAgICAgICAgICByZXR1cm4gV1RGOjpyb3VuZFVwVG9Qb3dlck9mPG91dE9mTGluZUdy
b3d0aEZhY3Rvcj4ob3V0T2ZMaW5lU2l6ZSk7CiAgICAgICAgIH0KICAgICAgICAgdW5zaWduZWQg
b3V0T2ZMaW5lU2l6ZSgpIGNvbnN0CiAgICAgICAgIHsKQEAgLTIyNiw3ICsyMzMsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdW5zaWduZWQgdG90YWxTdG9yYWdlQ2FwYWNpdHkoKSBjb25z
dAogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmNsYXNzSW5mbygp
ID09ICZzX2luZm8pOwotICAgICAgICAgICAgcmV0dXJuIG1fb3V0T2ZMaW5lQ2FwYWNpdHkgKyBp
bmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgcmV0dXJuIG91dE9mTGluZUNhcGFjaXR5KCkg
KyBpbmxpbmVDYXBhY2l0eSgpOwogICAgICAgICB9CiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQg
Zmlyc3RWYWxpZE9mZnNldCgpIGNvbnN0CkBAIC00MzUsNyArNDQyLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIAogICAgICAgICBtdXRhYmxlIElubGluZVdhdGNocG9pbnRTZXQgbV90cmFu
c2l0aW9uV2F0Y2hwb2ludFNldDsKIAotICAgICAgICB1aW50MzJfdCBtX291dE9mTGluZUNhcGFj
aXR5OwogICAgICAgICB1aW50OF90IG1faW5saW5lQ2FwYWNpdHk7CiAgICAgICAgIENPTVBJTEVf
QVNTRVJUKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IDwgMjU2LCBmaXJzdE91dE9mTGluZU9mZnNldF9m
aXRzKTsKIApJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTE1NikKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDEtMjkgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBTdHJ1Y3R1cmU6Om1fb3V0
T2ZMaW5lQ2FwYWNpdHkgaXMgdW5uZWNlc3NhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODIwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlJ3JlIGFkZGluZyBhIG5ldyBmdW5jdGlvbiB0aGF0IGdp
dmVzIHVzIHRoZSBhYmlsaXR5IHRvIHJvdW5kIGEgdmFsdWUgdXAgdG8gdGhlIG5leHQgcG93ZXIg
b2YgYSBjZXJ0YWluIGJhc2UuCisKKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorICAgICAg
ICAoV1RGKToKKyAgICAgICAgKFdURjo6cm91bmRVcFRvUG93ZXJPZik6CisKIDIwMTMtMDEtMjgg
IEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFN0cmlu
ZyBjb25zdHJ1Y3RlZCBmcm9tIExpdGVyYWxzIHNob3VsZCBiZSBub24tZW1wdHkKSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9N
YXRoRXh0cmFzLmgJKHJldmlzaW9uIDE0MTE1MSkKKysrIFNvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDI5LDQgKzQyOSwyOCBAQCBpbmxpbmUgdm9pZCBkb3Vi
bGVUb0ludGVnZXIoZG91YmxlIGQsIHVuCiAgICAgfQogfQogCituYW1lc3BhY2UgV1RGIHsKKwor
Ly8gRnJvbSBodHRwOi8vZ3JhcGhpY3Muc3RhbmZvcmQuZWR1L35zZWFuZGVyL2JpdGhhY2tzLmh0
bWwjUm91bmRVcFBvd2VyT2YyCit0ZW1wbGF0ZTxzaXplX3QgZXhwb25lbnQ+IGlubGluZSBzaXpl
X3Qgcm91bmRVcFRvUG93ZXJPZihzaXplX3QgdikKK3sKKyAgICBpZiAoZXhwb25lbnQgPT0gMikg
eworICAgICAgICB2LS07CisgICAgICAgIHYgfD0gdiA+PiAxOworICAgICAgICB2IHw9IHYgPj4g
MjsKKyAgICAgICAgdiB8PSB2ID4+IDQ7CisgICAgICAgIHYgfD0gdiA+PiA4OworICAgICAgICB2
IHw9IHYgPj4gMTY7CisgICAgICAgIC8vIHNpemVfdCBpcyBkaWZmZXJlbnQgc2l6ZXMgb24gZGlm
ZmVyZW50IHBsYXRmb3Jtcy4KKyAgICAgICAgaWYgKHNpemVvZihzaXplX3QpID09IDgpCisgICAg
ICAgICAgICB2IHw9IHYgPj4gMzI7CisgICAgICAgIHYrKzsKKyAgICAgICAgcmV0dXJuIHY7Cisg
ICAgfQorCisgICAgcmV0dXJuIHJvdW5kKHBvdyhzdGF0aWNfY2FzdDxkb3VibGU+KGV4cG9uZW50
KSwgY2VpbChsb2coc3RhdGljX2Nhc3Q8ZG91YmxlPih2KSkgLyBsb2coc3RhdGljX2Nhc3Q8ZG91
YmxlPihleHBvbmVudCkpKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwogI2VuZGlmIC8v
ICNpZm5kZWYgV1RGX01hdGhFeHRyYXNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185297</attachid>
            <date>2013-01-29 13:30:21 -0800</date>
            <delta_ts>2013-01-29 18:42:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130129132706.patch</filename>
            <type>text/plain</type>
            <size>7763</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxMTU5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNzYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjYW4gY2Fs
Y3VsYXRlIG91ciBvdXQgb2YgbGluZSBjYXBhY2l0eSBieSB1c2luZyB0aGUgb3V0T2ZMaW5lU2l6
ZSBhbmQgb3VyIGtub3dsZWRnZSBhYm91dCBvdXIgcmVzaXplIHBvbGljeS4KKyAgICAgICAgQWNj
b3JkaW5nIHRvIEdEQiwgdGhpcyBrbm9ja3MgU3RydWN0dXJlcyBkb3duIGZyb20gMTM2IGJ5dGVz
IHRvIDEyOCBieXRlcyAoSSdtIGd1ZXNzaW5nIHRoZSBleHRyYSBieXRlcyBhcmUgZnJvbQorICAg
ICAgICBiZXR0ZXIgYWxpZ25tZW50IG9mIG9iamVjdCBmaWVsZHMpLCB3aGljaCBwdXRzIFN0cnVj
dHVyZXMgaW4gYSBzbWFsbGVyIHNpemUgY2xhc3MuIFdvb2hvbyEgTG9va3MgbmV1dHJhbCBvbiBv
dXIgCisgICAgICAgIGJlbmNobWFya3MuCisKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5j
cHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQyk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNh
cGFjaXR5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24p
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjp0b3RhbFN0b3JhZ2VDYXBhY2l0eSk6CisKIDIwMTMtMDEtMjkgIE9saXZl
ciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JjZSBkZWJ1ZyBidWlsZHMg
dG8gZG8gYm91bmRzIGNoZWNrcyBvbiBjb250aWd1b3VzIHByb3BlcnR5IHN0b3JhZ2UKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24g
MTQxMTUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTU3LDcgKzE1Nyw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpT
R2xvYmFsRGF0YSYgZ2xvYmEKICAgICAsIG1fcHJvdG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIHBy
b3RvdHlwZSkKICAgICAsIG1fY2xhc3NJbmZvKGNsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlv
bldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGluZykKLSAgICAsIG1fb3V0T2ZMaW5lQ2Fw
YWNpdHkoMCkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkoaW5saW5lQ2FwYWNpdHkpCiAgICAgLCBt
X29mZnNldChpbnZhbGlkT2Zmc2V0KQogICAgICwgbV9kaWN0aW9uYXJ5S2luZChOb25lRGljdGlv
bmFyeUtpbmQpCkBAIC0xODQsNyArMTgzLDYgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoSlNHbG9i
YWxEYXRhJiBnbG9iYQogICAgICwgbV9wcm90b3R5cGUoZ2xvYmFsRGF0YSwgdGhpcywganNOdWxs
KCkpCiAgICAgLCBtX2NsYXNzSW5mbygmc19pbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldChJbml0aWFsaXplZFdhdGNoaW5nKQotICAgICwgbV9vdXRPZkxpbmVDYXBhY2l0eSgw
KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eSgwKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKQpAQCAtMjA3LDcg
KzIwNSw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmEKICAgICAs
IG1fcHJvdG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUo
KSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJh
bnNpdGlvbldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGluZykKLSAgICAsIG1fb3V0T2ZM
aW5lQ2FwYWNpdHkocHJldmlvdXMtPm1fb3V0T2ZMaW5lQ2FwYWNpdHkpCiAgICAgLCBtX2lubGlu
ZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9vZmZzZXQoaW52
YWxpZE9mZnNldCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQocHJldmlvdXMtPm1fZGljdGlvbmFy
eUtpbmQpCkBAIC0yNzMsMTQgKzI3MCw5IEBAIGlubGluZSBzaXplX3QgbmV4dE91dE9mTGluZVN0
b3JhZ2VDYXBhY2kKICAgICByZXR1cm4gY3VycmVudENhcGFjaXR5ICogb3V0T2ZMaW5lR3Jvd3Ro
RmFjdG9yOwogfQogCi12b2lkIFN0cnVjdHVyZTo6Z3Jvd091dE9mTGluZUNhcGFjaXR5KCkKLXsK
LSAgICBtX291dE9mTGluZUNhcGFjaXR5ID0gbmV4dE91dE9mTGluZVN0b3JhZ2VDYXBhY2l0eSht
X291dE9mTGluZUNhcGFjaXR5KTsKLX0KLQogc2l6ZV90IFN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3
T3V0T2ZMaW5lU3RvcmFnZUNhcGFjaXR5KCkKIHsKLSAgICByZXR1cm4gbmV4dE91dE9mTGluZVN0
b3JhZ2VDYXBhY2l0eShtX291dE9mTGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gbmV4dE91dE9m
TGluZVN0b3JhZ2VDYXBhY2l0eShvdXRPZkxpbmVDYXBhY2l0eSgpKTsKIH0KICAKIHZvaWQgU3Ry
dWN0dXJlOjpkZXNwZWNpZnlEaWN0aW9uYXJ5RnVuY3Rpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQpAQCAtMzY1LDggKzM1Nyw2IEBAIFN0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICAgICAgU3RydWN0dXJlKiB0
cmFuc2l0aW9uID0gdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBz
dHJ1Y3R1cmUpOwogICAgICAgICBBU1NFUlQoc3RydWN0dXJlICE9IHRyYW5zaXRpb24pOwogICAg
ICAgICBvZmZzZXQgPSB0cmFuc2l0aW9uLT5wdXRTcGVjaWZpY1ZhbHVlKGdsb2JhbERhdGEsIHBy
b3BlcnR5TmFtZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7Ci0gICAgICAgIGlmICh0cmFu
c2l0aW9uLT5vdXRPZkxpbmVTaXplKCkgPiB0cmFuc2l0aW9uLT5vdXRPZkxpbmVDYXBhY2l0eSgp
KQotICAgICAgICAgICAgdHJhbnNpdGlvbi0+Z3Jvd091dE9mTGluZUNhcGFjaXR5KCk7CiAgICAg
ICAgIHJldHVybiB0cmFuc2l0aW9uOwogICAgIH0KICAgICAKQEAgLTM5MSw4ICszODEsNiBAQCBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgfQogCiAgICAgb2Zm
c2V0ID0gdHJhbnNpdGlvbi0+cHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0eU5h
bWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwotICAgIGlmICh0cmFuc2l0aW9uLT5vdXRP
ZkxpbmVTaXplKCkgPiB0cmFuc2l0aW9uLT5vdXRPZkxpbmVDYXBhY2l0eSgpKQotICAgICAgICB0
cmFuc2l0aW9uLT5ncm93T3V0T2ZMaW5lQ2FwYWNpdHkoKTsKIAogICAgIHRyYW5zaXRpb24tPm1f
b2Zmc2V0ID0gb2Zmc2V0OwogICAgIGNoZWNrT2Zmc2V0KHRyYW5zaXRpb24tPm1fb2Zmc2V0LCB0
cmFuc2l0aW9uLT5pbmxpbmVDYXBhY2l0eSgpKTsKQEAgLTY2NCwxMCArNjUyLDcgQEAgUHJvcGVy
dHlPZmZzZXQgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVdpdAogICAgIAogICAgIHBpbigpOwogCi0g
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gcHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBw
cm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwotICAgIGlmIChvdXRPZkxp
bmVTaXplKCkgPiBvdXRPZkxpbmVDYXBhY2l0eSgpKQotICAgICAgICBncm93T3V0T2ZMaW5lQ2Fw
YWNpdHkoKTsKLSAgICByZXR1cm4gb2Zmc2V0OworICAgIHJldHVybiBwdXRTcGVjaWZpY1ZhbHVl
KGdsb2JhbERhdGEsIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7CiB9
CiAKIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlXaXRob3V0VHJhbnNp
dGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNp
b24gMTQxMTUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE4MiwxMSArMTgyLDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB9CiAgICAgICAgIGJvb2wgdHJhbnNpdGl2ZWx5VHJhbnNpdGlvbmVkRnJvbShTdHJ1Y3R1
cmUqIHN0cnVjdHVyZVRvRmluZCk7CiAKLSAgICAgICAgdm9pZCBncm93T3V0T2ZMaW5lQ2FwYWNp
dHkoKTsKICAgICAgICAgdW5zaWduZWQgb3V0T2ZMaW5lQ2FwYWNpdHkoKSBjb25zdAogICAgICAg
ICB7Ci0gICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmNsYXNzSW5mbygpID09ICZzX2lu
Zm8pOwotICAgICAgICAgICAgcmV0dXJuIG1fb3V0T2ZMaW5lQ2FwYWNpdHk7CisgICAgICAgICAg
ICB1bnNpZ25lZCBvdXRPZkxpbmVTaXplID0gdGhpcy0+b3V0T2ZMaW5lU2l6ZSgpOworCisgICAg
ICAgICAgICBpZiAoIW91dE9mTGluZVNpemUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisK
KyAgICAgICAgICAgIGlmIChvdXRPZkxpbmVTaXplIDw9IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0
eSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5pdGlhbE91dE9mTGluZUNhcGFjaXR5OworCisg
ICAgICAgICAgICBBU1NFUlQob3V0T2ZMaW5lU2l6ZSA+IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0
eSk7CisgICAgICAgICAgICByZXR1cm4gV1RGOjpyb3VuZFVwVG9Qb3dlck9mPG91dE9mTGluZUdy
b3d0aEZhY3Rvcj4ob3V0T2ZMaW5lU2l6ZSk7CiAgICAgICAgIH0KICAgICAgICAgdW5zaWduZWQg
b3V0T2ZMaW5lU2l6ZSgpIGNvbnN0CiAgICAgICAgIHsKQEAgLTIyNiw3ICsyMzMsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdW5zaWduZWQgdG90YWxTdG9yYWdlQ2FwYWNpdHkoKSBjb25z
dAogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmNsYXNzSW5mbygp
ID09ICZzX2luZm8pOwotICAgICAgICAgICAgcmV0dXJuIG1fb3V0T2ZMaW5lQ2FwYWNpdHkgKyBp
bmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgcmV0dXJuIG91dE9mTGluZUNhcGFjaXR5KCkg
KyBpbmxpbmVDYXBhY2l0eSgpOwogICAgICAgICB9CiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQg
Zmlyc3RWYWxpZE9mZnNldCgpIGNvbnN0CkBAIC00MzUsNyArNDQyLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIAogICAgICAgICBtdXRhYmxlIElubGluZVdhdGNocG9pbnRTZXQgbV90cmFu
c2l0aW9uV2F0Y2hwb2ludFNldDsKIAotICAgICAgICB1aW50MzJfdCBtX291dE9mTGluZUNhcGFj
aXR5OwogICAgICAgICB1aW50OF90IG1faW5saW5lQ2FwYWNpdHk7CiAgICAgICAgIENPTVBJTEVf
QVNTRVJUKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IDwgMjU2LCBmaXJzdE91dE9mTGluZU9mZnNldF9m
aXRzKTsKIApJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTE1OSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDEtMjkgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBTdHJ1Y3R1cmU6Om1fb3V0
T2ZMaW5lQ2FwYWNpdHkgaXMgdW5uZWNlc3NhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODIwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlJ3JlIGFkZGluZyBhIG5ldyBmdW5jdGlvbiB0aGF0IGdp
dmVzIHVzIHRoZSBhYmlsaXR5IHRvIHJvdW5kIGEgdmFsdWUgdXAgdG8gdGhlIG5leHQgcG93ZXIg
b2YgYSBjZXJ0YWluIGJhc2UuCisKKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorICAgICAg
ICAoV1RGKToKKyAgICAgICAgKFdURjo6cm91bmRVcFRvUG93ZXJPZik6CisKIDIwMTMtMDEtMjgg
IEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFN0cmlu
ZyBjb25zdHJ1Y3RlZCBmcm9tIExpdGVyYWxzIHNob3VsZCBiZSBub24tZW1wdHkKSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9N
YXRoRXh0cmFzLmgJKHJldmlzaW9uIDE0MTE1MSkKKysrIFNvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDI5LDQgKzQyOSwyOCBAQCBpbmxpbmUgdm9pZCBkb3Vi
bGVUb0ludGVnZXIoZG91YmxlIGQsIHVuCiAgICAgfQogfQogCituYW1lc3BhY2UgV1RGIHsKKwor
Ly8gRnJvbSBodHRwOi8vZ3JhcGhpY3Muc3RhbmZvcmQuZWR1L35zZWFuZGVyL2JpdGhhY2tzLmh0
bWwjUm91bmRVcFBvd2VyT2YyCit0ZW1wbGF0ZTxzaXplX3QgZXhwb25lbnQ+IGlubGluZSBzaXpl
X3Qgcm91bmRVcFRvUG93ZXJPZihzaXplX3QgdikKK3sKKyAgICBpZiAoZXhwb25lbnQgPT0gMikg
eworICAgICAgICB2LS07CisgICAgICAgIHYgfD0gdiA+PiAxOworICAgICAgICB2IHw9IHYgPj4g
MjsKKyAgICAgICAgdiB8PSB2ID4+IDQ7CisgICAgICAgIHYgfD0gdiA+PiA4OworICAgICAgICB2
IHw9IHYgPj4gMTY7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgdiB8PSB2ID4+IDMyOwor
I2VuZGlmCisgICAgICAgIHYrKzsKKyAgICAgICAgcmV0dXJuIHY7CisgICAgfQorCisgICAgcmV0
dXJuIHJvdW5kKHBvdyhzdGF0aWNfY2FzdDxkb3VibGU+KGV4cG9uZW50KSwgY2VpbChsb2coc3Rh
dGljX2Nhc3Q8ZG91YmxlPih2KSkgLyBsb2coc3RhdGljX2Nhc3Q8ZG91YmxlPihleHBvbmVudCkp
KSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwogI2VuZGlmIC8vICNpZm5kZWYgV1RGX01h
dGhFeHRyYXNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185372</attachid>
            <date>2013-01-29 18:42:34 -0800</date>
            <delta_ts>2013-01-30 18:33:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130129183920.patch</filename>
            <type>text/plain</type>
            <size>7753</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxMjA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNzYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjYW4gY2Fs
Y3VsYXRlIG91ciBvdXQgb2YgbGluZSBjYXBhY2l0eSBieSB1c2luZyB0aGUgb3V0T2ZMaW5lU2l6
ZSBhbmQgb3VyIGtub3dsZWRnZSBhYm91dCBvdXIgcmVzaXplIHBvbGljeS4KKyAgICAgICAgQWNj
b3JkaW5nIHRvIEdEQiwgdGhpcyBrbm9ja3MgU3RydWN0dXJlcyBkb3duIGZyb20gMTM2IGJ5dGVz
IHRvIDEyOCBieXRlcyAoSSdtIGd1ZXNzaW5nIHRoZSBleHRyYSBieXRlcyBhcmUgZnJvbQorICAg
ICAgICBiZXR0ZXIgYWxpZ25tZW50IG9mIG9iamVjdCBmaWVsZHMpLCB3aGljaCBwdXRzIFN0cnVj
dHVyZXMgaW4gYSBzbWFsbGVyIHNpemUgY2xhc3MuIFdvb2hvbyEgTG9va3MgbmV1dHJhbCBvbiBv
dXIgCisgICAgICAgIGJlbmNobWFya3MuCisKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5j
cHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQyk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNh
cGFjaXR5KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24p
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjp0b3RhbFN0b3JhZ2VDYXBhY2l0eSk6CisKIDIwMTMtMDEtMjkgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxNDA5ODMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDE0MTIwMykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw3ICsx
NTcsNiBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhCiAgICAgLCBt
X3Byb3RvdHlwZShnbG9iYWxEYXRhLCB0aGlzLCBwcm90b3R5cGUpCiAgICAgLCBtX2NsYXNzSW5m
byhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KEluaXRpYWxpemVk
V2F0Y2hpbmcpCi0gICAgLCBtX291dE9mTGluZUNhcGFjaXR5KDApCiAgICAgLCBtX2lubGluZUNh
cGFjaXR5KGlubGluZUNhcGFjaXR5KQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKICAg
ICAsIG1fZGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKQpAQCAtMTg0LDcgKzE4Myw2
IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmEKICAgICAsIG1fcHJv
dG90eXBlKGdsb2JhbERhdGEsIHRoaXMsIGpzTnVsbCgpKQogICAgICwgbV9jbGFzc0luZm8oJnNf
aW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGlu
ZykKLSAgICAsIG1fb3V0T2ZMaW5lQ2FwYWNpdHkoMCkKICAgICAsIG1faW5saW5lQ2FwYWNpdHko
MCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBtX2RpY3Rpb25hcnlLaW5k
KE5vbmVEaWN0aW9uYXJ5S2luZCkKQEAgLTIwNyw3ICsyMDUsNiBAQCBTdHJ1Y3R1cmU6OlN0cnVj
dHVyZShKU0dsb2JhbERhdGEmIGdsb2JhCiAgICAgLCBtX3Byb3RvdHlwZShnbG9iYWxEYXRhLCB0
aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2
aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KEluaXRp
YWxpemVkV2F0Y2hpbmcpCi0gICAgLCBtX291dE9mTGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX291
dE9mTGluZUNhcGFjaXR5KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxp
bmVDYXBhY2l0eSkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBtX2RpY3Rp
b25hcnlLaW5kKHByZXZpb3VzLT5tX2RpY3Rpb25hcnlLaW5kKQpAQCAtMjczLDE0ICsyNzAsOSBA
QCBpbmxpbmUgc2l6ZV90IG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpCiAgICAgcmV0dXJuIGN1
cnJlbnRDYXBhY2l0eSAqIG91dE9mTGluZUdyb3d0aEZhY3RvcjsKIH0KIAotdm9pZCBTdHJ1Y3R1
cmU6Omdyb3dPdXRPZkxpbmVDYXBhY2l0eSgpCi17Ci0gICAgbV9vdXRPZkxpbmVDYXBhY2l0eSA9
IG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkobV9vdXRPZkxpbmVDYXBhY2l0eSk7Ci19Ci0K
IHNpemVfdCBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZE5ld091dE9mTGluZVN0b3JhZ2VDYXBhY2l0eSgp
CiB7Ci0gICAgcmV0dXJuIG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkobV9vdXRPZkxpbmVD
YXBhY2l0eSk7CisgICAgcmV0dXJuIG5leHRPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkob3V0T2ZM
aW5lQ2FwYWNpdHkoKSk7CiB9CiAgCiB2b2lkIFN0cnVjdHVyZTo6ZGVzcGVjaWZ5RGljdGlvbmFy
eUZ1bmN0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKQEAgLTM2NSw4ICszNTcsNiBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0CiAgICAgICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IHRvQ2FjaGVhYmxlRGlj
dGlvbmFyeVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKICAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZSAhPSB0cmFuc2l0aW9uKTsKICAgICAgICAgb2Zmc2V0ID0gdHJhbnNpdGlvbi0+
cHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIHNw
ZWNpZmljVmFsdWUpOwotICAgICAgICBpZiAodHJhbnNpdGlvbi0+b3V0T2ZMaW5lU2l6ZSgpID4g
dHJhbnNpdGlvbi0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgIHRyYW5zaXRpb24t
Pmdyb3dPdXRPZkxpbmVDYXBhY2l0eSgpOwogICAgICAgICByZXR1cm4gdHJhbnNpdGlvbjsKICAg
ICB9CiAgICAgCkBAIC0zOTEsOCArMzgxLDYgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFBy
b3BlcnR5VHJhbnNpdAogICAgIH0KIAogICAgIG9mZnNldCA9IHRyYW5zaXRpb24tPnB1dFNwZWNp
ZmljVmFsdWUoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzLCBzcGVjaWZpY1Zh
bHVlKTsKLSAgICBpZiAodHJhbnNpdGlvbi0+b3V0T2ZMaW5lU2l6ZSgpID4gdHJhbnNpdGlvbi0+
b3V0T2ZMaW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgdHJhbnNpdGlvbi0+Z3Jvd091dE9mTGluZUNh
cGFjaXR5KCk7CiAKICAgICB0cmFuc2l0aW9uLT5tX29mZnNldCA9IG9mZnNldDsKICAgICBjaGVj
a09mZnNldCh0cmFuc2l0aW9uLT5tX29mZnNldCwgdHJhbnNpdGlvbi0+aW5saW5lQ2FwYWNpdHko
KSk7CkBAIC02NjQsMTAgKzY1Miw3IEBAIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkUHJv
cGVydHlXaXQKICAgICAKICAgICBwaW4oKTsKIAotICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9
IHB1dFNwZWNpZmljVmFsdWUoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzLCBz
cGVjaWZpY1ZhbHVlKTsKLSAgICBpZiAob3V0T2ZMaW5lU2l6ZSgpID4gb3V0T2ZMaW5lQ2FwYWNp
dHkoKSkKLSAgICAgICAgZ3Jvd091dE9mTGluZUNhcGFjaXR5KCk7Ci0gICAgcmV0dXJuIG9mZnNl
dDsKKyAgICByZXR1cm4gcHV0U3BlY2lmaWNWYWx1ZShnbG9iYWxEYXRhLCBwcm9wZXJ0eU5hbWUs
IGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUpOwogfQogCiBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1
cmU6OnJlbW92ZVByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDE0MTIwMykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsMTEg
KzE4MiwxOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgICAgICBib29sIHRyYW5z
aXRpdmVseVRyYW5zaXRpb25lZEZyb20oU3RydWN0dXJlKiBzdHJ1Y3R1cmVUb0ZpbmQpOwogCi0g
ICAgICAgIHZvaWQgZ3Jvd091dE9mTGluZUNhcGFjaXR5KCk7CiAgICAgICAgIHVuc2lnbmVkIG91
dE9mTGluZUNhcGFjaXR5KCkgY29uc3QKICAgICAgICAgewotICAgICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSAmc19pbmZvKTsKLSAgICAgICAgICAgIHJldHVybiBt
X291dE9mTGluZUNhcGFjaXR5OworICAgICAgICAgICAgdW5zaWduZWQgb3V0T2ZMaW5lU2l6ZSA9
IHRoaXMtPm91dE9mTGluZVNpemUoKTsKKworICAgICAgICAgICAgaWYgKCFvdXRPZkxpbmVTaXpl
KQorICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBpZiAob3V0T2ZMaW5l
U2l6ZSA8PSBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0eTsKKworICAgICAgICAgICAgQVNTRVJUKG91dE9mTGlu
ZVNpemUgPiBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6cm91bmRVcFRvUG93ZXJPZjxvdXRPZkxpbmVHcm93dGhGYWN0b3I+KG91dE9mTGluZVNpemUp
OwogICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIG91dE9mTGluZVNpemUoKSBjb25zdAogICAg
ICAgICB7CkBAIC0yMjYsNyArMjMzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2ln
bmVkIHRvdGFsU3RvcmFnZUNhcGFjaXR5KCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAg
QVNTRVJUKHN0cnVjdHVyZSgpLT5jbGFzc0luZm8oKSA9PSAmc19pbmZvKTsKLSAgICAgICAgICAg
IHJldHVybiBtX291dE9mTGluZUNhcGFjaXR5ICsgaW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAg
ICAgIHJldHVybiBvdXRPZkxpbmVDYXBhY2l0eSgpICsgaW5saW5lQ2FwYWNpdHkoKTsKICAgICAg
ICAgfQogCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGZpcnN0VmFsaWRPZmZzZXQoKSBjb25zdApA
QCAtNDM1LDcgKzQ0Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgbXV0
YWJsZSBJbmxpbmVXYXRjaHBvaW50U2V0IG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQ7CiAKLSAg
ICAgICAgdWludDMyX3QgbV9vdXRPZkxpbmVDYXBhY2l0eTsKICAgICAgICAgdWludDhfdCBtX2lu
bGluZUNhcGFjaXR5OwogICAgICAgICBDT01QSUxFX0FTU0VSVChmaXJzdE91dE9mTGluZU9mZnNl
dCA8IDI1NiwgZmlyc3RPdXRPZkxpbmVPZmZzZXRfZml0cyk7CiAKSW5kZXg6IFNvdXJjZS9XVEYv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NDEyMDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDEzLTAxLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNz
YXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgy
MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSdy
ZSBhZGRpbmcgYSBuZXcgZnVuY3Rpb24gdGhhdCBnaXZlcyB1cyB0aGUgYWJpbGl0eSB0byByb3Vu
ZCBhIHZhbHVlIHVwIHRvIHRoZSBuZXh0IHBvd2VyIG9mIGEgY2VydGFpbiBiYXNlLgorCisgICAg
ICAgICogd3RmL01hdGhFeHRyYXMuaDoKKyAgICAgICAgKFdURjo6cm91bmRVcFRvUG93ZXJPZik6
CisKIDIwMTMtMDEtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNDA5ODMuCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvTWF0
aEV4dHJhcy5oCShyZXZpc2lvbiAxNDEyMDMpCisrKyBTb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyOSw0ICs0MjksMzAgQEAgaW5saW5lIHZvaWQgZG91Ymxl
VG9JbnRlZ2VyKGRvdWJsZSBkLCB1bgogICAgIH0KIH0KIAorbmFtZXNwYWNlIFdURiB7CisKKy8v
IEJlIGNhcmVmdWwsIHRoaXMgbWlnaHQgYmUgc3VwZXIgc2xvdyBpbiBhIGhvdCBsb29wLgordGVt
cGxhdGU8c2l6ZV90IGV4cG9uZW50PiBpbmxpbmUgc2l6ZV90IHJvdW5kVXBUb1Bvd2VyT2Yoc2l6
ZV90IHYpCit7CisgICAgcmV0dXJuIHJvdW5kKHBvdyhzdGF0aWNfY2FzdDxkb3VibGU+KGV4cG9u
ZW50KSwgY2VpbChsb2coc3RhdGljX2Nhc3Q8ZG91YmxlPih2KSkgLyBsb2coc3RhdGljX2Nhc3Q8
ZG91YmxlPihleHBvbmVudCkpKSkpOworfQorCisvLyBGcm9tIGh0dHA6Ly9ncmFwaGljcy5zdGFu
Zm9yZC5lZHUvfnNlYW5kZXIvYml0aGFja3MuaHRtbCNSb3VuZFVwUG93ZXJPZjIKK3RlbXBsYXRl
PD4gaW5saW5lIHNpemVfdCByb3VuZFVwVG9Qb3dlck9mPDI+KHNpemVfdCB2KQoreworICAgIHYt
LTsKKyAgICB2IHw9IHYgPj4gMTsKKyAgICB2IHw9IHYgPj4gMjsKKyAgICB2IHw9IHYgPj4gNDsK
KyAgICB2IHw9IHYgPj4gODsKKyAgICB2IHw9IHYgPj4gMTY7CisjaWYgVVNFKEpTVkFMVUU2NCkK
KyAgICB2IHw9IHYgPj4gMzI7CisjZW5kaWYKKyAgICB2Kys7CisgICAgcmV0dXJuIHY7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdURgorCiAjZW5kaWYgLy8gI2lmbmRlZiBXVEZfTWF0aEV4dHJhc19o
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185651</attachid>
            <date>2013-01-30 18:33:10 -0800</date>
            <delta_ts>2013-02-04 10:28:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130130182954.patch</filename>
            <type>text/plain</type>
            <size>2337</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNDEzNjApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAxLTMwICBNYXJrIEhhaG5lbmJlcmcgIDxt
aGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNh
cGFjaXR5IGlzIHVubmVjZXNzYXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDgyMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXhpbmcgc29tZSBpc3N1ZXMgd2l0aCB0aGUgY3Jvc3MgcGxhdGZvcm0t
bmVzcyBvZiBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNDEyOTUKKworICAgICAg
ICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAgIChXVEY6OnJvdW5kVXBUb1Bvd2VyT2YpOgor
CiAyMDEzLTAxLTMwICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5j
b20+CiAKICAgICAgICAgQWRkIGEgU3RyaW5nVHlwZUFkYXB0ZXIgZm9yIEFTQ0lJTGl0ZXJhbApJ
bmRleDogU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvd3RmL01hdGhFeHRyYXMuaAkocmV2aXNpb24gMTQxMzUyKQorKysgU291cmNlL1dURi93dGYv
TWF0aEV4dHJhcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MzEsMjggKzQzMSw0NiBAQCBpbmxpbmUg
dm9pZCBkb3VibGVUb0ludGVnZXIoZG91YmxlIGQsIHVuCiAKIG5hbWVzcGFjZSBXVEYgewogCisj
ZGVmaW5lIEJJVFdJU0VfTE9HMl8zMih2KSBcCisgICAgdiB8PSB2ID4+IDE7IFwKKyAgICB2IHw9
IHYgPj4gMjsgXAorICAgIHYgfD0gdiA+PiA0OyBcCisgICAgdiB8PSB2ID4+IDg7IFwKKyAgICB2
IHw9IHYgPj4gMTYKKwogLy8gQmUgY2FyZWZ1bCwgdGhpcyBtaWdodCBiZSBzdXBlciBzbG93IGlu
IGEgaG90IGxvb3AuCi10ZW1wbGF0ZTxzaXplX3QgZXhwb25lbnQ+IGlubGluZSBzaXplX3Qgcm91
bmRVcFRvUG93ZXJPZihzaXplX3QgdikKK3RlbXBsYXRlPHVpbnQ2NF90IGV4cG9uZW50PiBpbmxp
bmUgdWludDY0X3Qgcm91bmRVcFRvUG93ZXJPZih1aW50NjRfdCB2KQogewogICAgIHJldHVybiBy
b3VuZChwb3coc3RhdGljX2Nhc3Q8ZG91YmxlPihleHBvbmVudCksIGNlaWwobG9nKHN0YXRpY19j
YXN0PGRvdWJsZT4odikpIC8gbG9nKHN0YXRpY19jYXN0PGRvdWJsZT4oZXhwb25lbnQpKSkpKTsK
IH0KIAogLy8gRnJvbSBodHRwOi8vZ3JhcGhpY3Muc3RhbmZvcmQuZWR1L35zZWFuZGVyL2JpdGhh
Y2tzLmh0bWwjUm91bmRVcFBvd2VyT2YyCi10ZW1wbGF0ZTw+IGlubGluZSBzaXplX3Qgcm91bmRV
cFRvUG93ZXJPZjwyPihzaXplX3QgdikKK3RlbXBsYXRlPD4gaW5saW5lIHVpbnQ2NF90IHJvdW5k
VXBUb1Bvd2VyT2Y8Mj4odWludDY0X3QgdikKIHsKICAgICB2LS07Ci0gICAgdiB8PSB2ID4+IDE7
Ci0gICAgdiB8PSB2ID4+IDI7Ci0gICAgdiB8PSB2ID4+IDQ7Ci0gICAgdiB8PSB2ID4+IDg7Ci0g
ICAgdiB8PSB2ID4+IDE2OwotI2lmIGRlZmluZWQoX19MUDY0X18pICYmIF9fTFA2NF9fCisgICAg
QklUV0lTRV9MT0cyXzMyKHYpOwogICAgIHYgfD0gdiA+PiAzMjsKLSNlbmRpZgogICAgIHYrKzsK
ICAgICByZXR1cm4gdjsKIH0KIAorLy8gQmUgY2FyZWZ1bCwgdGhpcyBtaWdodCBiZSBzdXBlciBz
bG93IGluIGEgaG90IGxvb3AuCit0ZW1wbGF0ZTx1aW50MzJfdCBleHBvbmVudD4gaW5saW5lIHVp
bnQzMl90IHJvdW5kVXBUb1Bvd2VyT2YodWludDMyX3QgdikKK3sKKyAgICByZXR1cm4gcm91bmRV
cFRvUG93ZXJPZjxzdGF0aWNfY2FzdDx1aW50NjRfdD4oZXhwb25lbnQpPih2KTsKK30KKworLy8g
RnJvbSBodHRwOi8vZ3JhcGhpY3Muc3RhbmZvcmQuZWR1L35zZWFuZGVyL2JpdGhhY2tzLmh0bWwj
Um91bmRVcFBvd2VyT2YyCit0ZW1wbGF0ZTw+IGlubGluZSB1aW50MzJfdCByb3VuZFVwVG9Qb3dl
ck9mPDI+KHVpbnQzMl90IHYpCit7CisgICAgdi0tOworICAgIEJJVFdJU0VfTE9HMl8zMih2KTsK
KyAgICB2Kys7CisgICAgcmV0dXJuIHY7Cit9CisKKyN1bmRlZiBCSVRXSVNFX0xPRzJfMzIKKwog
fSAvLyBuYW1lc3BhY2UgV1RGCiAKICNlbmRpZiAvLyAjaWZuZGVmIFdURl9NYXRoRXh0cmFzX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186415</attachid>
            <date>2013-02-04 10:28:53 -0800</date>
            <delta_ts>2013-02-04 11:42:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108206-20130204102533.patch</filename>
            <type>text/plain</type>
            <size>3133</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxNzc4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEzLTAyLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZUNhcGFjaXR5IGlzIHVubmVjZXNzYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1wbGlmeWlu
ZyB0aGUgdXRpbGl0eSBmdW5jdGlvbnMgdGhhdCB3ZSB1c2Ugc2luY2Ugd2UgZG9uJ3QgbmVlZCBh
IAorICAgICAgICBidW5jaCBvZiBmYW5jeSB0ZW1wbGF0ZXMgZm9yIHRoaXMgb25lIHNwZWNpZmlj
IGNhbGwgc2l0ZS4KKworICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkpOgorCiAyMDEzLTAyLTA0ICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBl
bnRyaWVzIGZyb20gSmF2YVNjcmlwdENvcmUgWGNvZGUgcHJvamVjdApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDE0MTc3NSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTYsNyArMTk2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGluaXRpYWxPdXRPZkxpbmVDYXBhY2l0eTsKIAogICAgICAgICAgICAgQVNTRVJUKG91dE9mTGlu
ZVNpemUgPiBpbml0aWFsT3V0T2ZMaW5lQ2FwYWNpdHkpOwotICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6cm91bmRVcFRvUG93ZXJPZjxvdXRPZkxpbmVHcm93dGhGYWN0b3I+KG91dE9mTGluZVNpemUp
OworICAgICAgICAgICAgQ09NUElMRV9BU1NFUlQob3V0T2ZMaW5lR3Jvd3RoRmFjdG9yID09IDIs
IG91dE9mTGluZUdyb3d0aEZhY3Rvcl9pc190d28pOworICAgICAgICAgICAgcmV0dXJuIFdURjo6
cm91bmRVcFRvUG93ZXJPZlR3byhvdXRPZkxpbmVTaXplKTsKICAgICAgICAgfQogICAgICAgICB1
bnNpZ25lZCBvdXRPZkxpbmVTaXplKCkgY29uc3QKICAgICAgICAgewpJbmRleDogU291cmNlL1dU
Ri9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE0MTc3OCkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTMtMDItMDQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxl
LmNvbT4KKworICAgICAgICBTdHJ1Y3R1cmU6Om1fb3V0T2ZMaW5lQ2FwYWNpdHkgaXMgdW5uZWNl
c3NhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
ODIwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNp
bXBsaWZ5aW5nIHRoZSB1dGlsaXR5IGZ1bmN0aW9ucyB0aGF0IHdlIHVzZSBzaW5jZSB3ZSBkb24n
dCBuZWVkIGEgCisgICAgICAgIGJ1bmNoIG9mIGZhbmN5IHRlbXBsYXRlcyBmb3IgdGhpcyBvbmUg
c3BlY2lmaWMgY2FsbCBzaXRlLgorCisgICAgICAgICogd3RmL01hdGhFeHRyYXMuaDoKKyAgICAg
ICAgKFdURjo6cm91bmRVcFRvUG93ZXJPZlR3byk6CisKIDIwMTMtMDItMDQgIERhdmlkIEtpbHpl
ciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IFdURiBYY29kZSBwcm9qZWN0
IGZpbGUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgJKHJldmlzaW9uIDE0MTc3NSkKKysrIFNvdXJjZS9X
VEYvd3RmL01hdGhFeHRyYXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDMxLDE0ICs0MzEsOCBAQCBp
bmxpbmUgdm9pZCBkb3VibGVUb0ludGVnZXIoZG91YmxlIGQsIHVuCiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0vLyBCZSBjYXJlZnVsLCB0aGlzIG1pZ2h0IGJlIHN1cGVyIHNsb3cgaW4gYSBob3QgbG9v
cC4KLXRlbXBsYXRlPHNpemVfdCBleHBvbmVudD4gaW5saW5lIHNpemVfdCByb3VuZFVwVG9Qb3dl
ck9mKHNpemVfdCB2KQotewotICAgIHJldHVybiByb3VuZChwb3coc3RhdGljX2Nhc3Q8ZG91Ymxl
PihleHBvbmVudCksIGNlaWwobG9nKHN0YXRpY19jYXN0PGRvdWJsZT4odikpIC8gbG9nKHN0YXRp
Y19jYXN0PGRvdWJsZT4oZXhwb25lbnQpKSkpKTsKLX0KLQogLy8gRnJvbSBodHRwOi8vZ3JhcGhp
Y3Muc3RhbmZvcmQuZWR1L35zZWFuZGVyL2JpdGhhY2tzLmh0bWwjUm91bmRVcFBvd2VyT2YyCi10
ZW1wbGF0ZTw+IGlubGluZSBzaXplX3Qgcm91bmRVcFRvUG93ZXJPZjwyPihzaXplX3QgdikKK2lu
bGluZSB1aW50MzJfdCByb3VuZFVwVG9Qb3dlck9mVHdvKHVpbnQzMl90IHYpCiB7CiAgICAgdi0t
OwogICAgIHYgfD0gdiA+PiAxOwpAQCAtNDQ2LDkgKzQ0MCw2IEBAIHRlbXBsYXRlPD4gaW5saW5l
IHNpemVfdCByb3VuZFVwVG9Qb3dlck8KICAgICB2IHw9IHYgPj4gNDsKICAgICB2IHw9IHYgPj4g
ODsKICAgICB2IHw9IHYgPj4gMTY7Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19MUDY0X18K
LSAgICB2IHw9IHYgPj4gMzI7Ci0jZW5kaWYKICAgICB2Kys7CiAgICAgcmV0dXJuIHY7CiB9Cg==
</data>
<flag name="review"
          id="205847"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>