<?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>105498</bug_id>
          
          <creation_ts>2012-12-19 22:30:51 -0800</creation_ts>
          <short_desc>chromium nrwt: Pick the newest binary found in DEFAULT_BUILD_DIRECTORIES, not the first</short_desc>
          <delta_ts>2012-12-20 13:38:52 -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>New Bugs</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>
          
          <blocked>104434</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nico Weber">thakis</reporter>
          <assigned_to name="Nico Weber">thakis</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795195</commentid>
    <comment_count>0</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-19 22:30:51 -0800</bug_when>
    <thetext>chromium nrwt: Pick the newest binary found in DEFAULT_BUILD_DIRECTORIES, not the first</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795197</commentid>
    <comment_count>1</comment_count>
      <attachid>180280</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-19 22:31:42 -0800</bug_when>
    <thetext>Created attachment 180280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795198</commentid>
    <comment_count>2</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-19 22:32:05 -0800</bug_when>
    <thetext>webkitdirs.pm gets this right already, but nrwt didn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795200</commentid>
    <comment_count>3</comment_count>
      <attachid>180280</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-19 22:37:40 -0800</bug_when>
    <thetext>Comment on attachment 180280
Patch

Can we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795212</commentid>
    <comment_count>4</comment_count>
      <attachid>180283</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-19 23:08:32 -0800</bug_when>
    <thetext>Created attachment 180283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795214</commentid>
    <comment_count>5</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-19 23:09:25 -0800</bug_when>
    <thetext>rniwa showed me how to run python tests (Tools/Scripts/test-webkitpy webkitpy.layout_tests.port), so here&apos;s a patch that doesn&apos;t break the existing tests.

I&apos;ll add a test for my new feature tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795215</commentid>
    <comment_count>6</comment_count>
      <attachid>180283</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-19 23:16:43 -0800</bug_when>
    <thetext>Comment on attachment 180283
Patch

I don&apos;t understand why this is &quot;like webkitdir&quot;.  Does webkitdir support multiple build directories?  The /out vs. WebKitBuild thing is a chromium oddity, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795459</commentid>
    <comment_count>7</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 08:26:31 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 180283 [details])
&gt; I don&apos;t understand why this is &quot;like webkitdir&quot;.  Does webkitdir support multiple build directories?  The /out vs. WebKitBuild thing is a chromium oddity, no?

webkitdir.pm supports mutiple build directories in the chromium port (which uses webkitdir.pm for things like build-webkit and update-webkit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795467</commentid>
    <comment_count>8</comment_count>
      <attachid>180346</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 08:42:46 -0800</bug_when>
    <thetext>Created attachment 180346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795502</commentid>
    <comment_count>9</comment_count>
      <attachid>180346</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-20 09:44:51 -0800</bug_when>
    <thetext>Comment on attachment 180346
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        instead of an older xcodebuild binary.

I would probably rephrase this as something like &quot;use the newest binary available rather than always picking one build directory over another&quot;.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:95
&gt; +            return hits[0][1]  # Return the newest file found.

Do you really want to always pick the file under chromium_base before the file under webkit_base, even if the file under webkit_base is newer? That seems kinda wrong.

It seems like you can probably delete lines 93-95 and just let lines 103-105 do the work?

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:108
&gt; +        self.assertEqual(port._build_path(), &apos;/mock-checkout/xcodebuild/Release&apos;)

You should put this test in chromium_port_testcase.py, and then it&apos;ll be shared across all of the chromium port implementations by default; if you don&apos;t want one of the ports to implement this, then override the test in that port&apos;s _unittest.py file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795508</commentid>
    <comment_count>10</comment_count>
      <attachid>180346</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 09:51:35 -0800</bug_when>
    <thetext>Comment on attachment 180346
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:95
&gt;&gt; +            return hits[0][1]  # Return the newest file found.
&gt; 
&gt; Do you really want to always pick the file under chromium_base before the file under webkit_base, even if the file under webkit_base is newer? That seems kinda wrong.
&gt; 
&gt; It seems like you can probably delete lines 93-95 and just let lines 103-105 do the work?

A test explicitly tests for chromium_base always winning over webkit_base.

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:108
&gt;&gt; +        self.assertEqual(port._build_path(), &apos;/mock-checkout/xcodebuild/Release&apos;)
&gt; 
&gt; You should put this test in chromium_port_testcase.py, and then it&apos;ll be shared across all of the chromium port implementations by default; if you don&apos;t want one of the ports to implement this, then override the test in that port&apos;s _unittest.py file.

The DEFAULT_BUILD_DIRECTORIES are port-specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795518</commentid>
    <comment_count>11</comment_count>
      <attachid>180346</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-20 10:01:17 -0800</bug_when>
    <thetext>Comment on attachment 180346
Patch

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:95
&gt;&gt;&gt; +            return hits[0][1]  # Return the newest file found.
&gt;&gt; 
&gt;&gt; Do you really want to always pick the file under chromium_base before the file under webkit_base, even if the file under webkit_base is newer? That seems kinda wrong.
&gt;&gt; 
&gt;&gt; It seems like you can probably delete lines 93-95 and just let lines 103-105 do the work?
&gt; 
&gt; A test explicitly tests for chromium_base always winning over webkit_base.

I think we should probably update that test since we&apos;re changing the logic; I can&apos;t think of a reason to prefer older chromium binaries over newer webkit binaries.

&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:108
&gt;&gt;&gt; +        self.assertEqual(port._build_path(), &apos;/mock-checkout/xcodebuild/Release&apos;)
&gt;&gt; 
&gt;&gt; You should put this test in chromium_port_testcase.py, and then it&apos;ll be shared across all of the chromium port implementations by default; if you don&apos;t want one of the ports to implement this, then override the test in that port&apos;s _unittest.py file.
&gt; 
&gt; The DEFAULT_BUILD_DIRECTORIES are port-specific.

Ah, good point. I didn&apos;t read the individual tests closely enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795528</commentid>
    <comment_count>12</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 10:05:35 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 180346 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180346&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:95
&gt; &gt;&gt;&gt; +            return hits[0][1]  # Return the newest file found.
&gt; &gt;&gt; 
&gt; &gt;&gt; Do you really want to always pick the file under chromium_base before the file under webkit_base, even if the file under webkit_base is newer? That seems kinda wrong.
&gt; &gt;&gt; 
&gt; &gt;&gt; It seems like you can probably delete lines 93-95 and just let lines 103-105 do the work?
&gt; &gt; 
&gt; &gt; A test explicitly tests for chromium_base always winning over webkit_base.
&gt; 
&gt; I think we should probably update that test since we&apos;re changing the logic; I can&apos;t think of a reason to prefer older chromium binaries over newer webkit binaries.

I would think that the existing test is there for a reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795537</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-20 10:15:02 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 180346 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180346&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:95
&gt; &gt; &gt;&gt;&gt; +            return hits[0][1]  # Return the newest file found.
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; Do you really want to always pick the file under chromium_base before the file under webkit_base, even if the file under webkit_base is newer? That seems kinda wrong.
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; It seems like you can probably delete lines 93-95 and just let lines 103-105 do the work?
&gt; &gt; &gt; 
&gt; &gt; &gt; A test explicitly tests for chromium_base always winning over webkit_base.
&gt; &gt; 
&gt; &gt; I think we should probably update that test since we&apos;re changing the logic; I can&apos;t think of a reason to prefer older chromium binaries over newer webkit binaries.
&gt; 
&gt; I would think that the existing test is there for a reason.

Yeah, it was. I wrote it :). I also wrote the code that intentionally always picked xcodebuild over out. I&apos;m okay with changing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795685</commentid>
    <comment_count>14</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 12:47:06 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; (From update of attachment 180346 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180346&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:95
&gt; &gt; &gt; &gt;&gt;&gt; +            return hits[0][1]  # Return the newest file found.
&gt; &gt; &gt; &gt;&gt; 
&gt; &gt; &gt; &gt;&gt; Do you really want to always pick the file under chromium_base before the file under webkit_base, even if the file under webkit_base is newer? That seems kinda wrong.
&gt; &gt; &gt; &gt;&gt; 
&gt; &gt; &gt; &gt;&gt; It seems like you can probably delete lines 93-95 and just let lines 103-105 do the work?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; A test explicitly tests for chromium_base always winning over webkit_base.
&gt; &gt; &gt; 
&gt; &gt; &gt; I think we should probably update that test since we&apos;re changing the logic; I can&apos;t think of a reason to prefer older chromium binaries over newer webkit binaries.
&gt; &gt; 
&gt; &gt; I would think that the existing test is there for a reason.
&gt; 
&gt; Yeah, it was. I wrote it :). I also wrote the code that intentionally always picked xcodebuild over out. I&apos;m okay with changing it.

Ok. This seems like an unrelated change though, mind if I do that in a different patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795703</commentid>
    <comment_count>15</comment_count>
      <attachid>180346</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-20 13:00:18 -0800</bug_when>
    <thetext>Comment on attachment 180346
Patch

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

&gt; Ok. This seems like an unrelated change though, mind if I do that in a different patch?

Seems pretty related to me, but whatever is easiest for you (or you prefer) is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795709</commentid>
    <comment_count>16</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 13:06:02 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 180346 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180346&amp;action=review
&gt; 
&gt; &gt; Ok. This seems like an unrelated change though, mind if I do that in a different patch?
&gt; 
&gt; Seems pretty related to me, but whatever is easiest for you (or you prefer) is fine.

Cool, thanks. I&apos;ll send out the patch for that later today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795712</commentid>
    <comment_count>17</comment_count>
      <attachid>180395</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-12-20 13:07:57 -0800</bug_when>
    <thetext>Created attachment 180395
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795746</commentid>
    <comment_count>18</comment_count>
      <attachid>180395</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 13:38:48 -0800</bug_when>
    <thetext>Comment on attachment 180395
Patch for landing

Clearing flags on attachment: 180395

Committed r138294: &lt;http://trac.webkit.org/changeset/138294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795748</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 13:38:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180280</attachid>
            <date>2012-12-19 22:31:42 -0800</date>
            <delta_ts>2012-12-19 23:08:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105498-20121219222910.patch</filename>
            <type>text/plain</type>
            <size>2479</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDI3YTY5MTc2MTFkMTc5YjhiMWM3YmM1OGZlMTUwYzBi
MmIzMTgyOC4uOTVkMjMwOTgxYzY2MWM4NTZkM2U0NGQ1MTVkZmMwOGIxMGQ2YzI2MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTEyLTE5ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBjaHJvbWl1bSBucnd0OiBQaWNrIHRoZSBuZXdlc3QgYmluYXJ5IGZvdW5kIGluIERFRkFV
TFRfQlVJTERfRElSRUNUT1JJRVMsIG5vdCB0aGUgZmlyc3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGEgbmV3ZXIgbmluamEtYnVpbHQgYmluYXJ5
IGlzIGF2YWlsYWJsZSwgdGhhdCB3aWxsIG5vdyBiZSBwaWNrZWQKKyAgICAgICAgaW5zdGVhZCBv
ZiBhbiBvbGRlciB4Y29kZWJ1aWxkIGJpbmFyeS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgIChDaHJvbWl1bVBvcnQu
X3N0YXRpY19idWlsZF9wYXRoKToKKwogMjAxMi0xMi0xOSAgQWxleGlzIE1lbmFyZCAgPGFsZXhp
c0B3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDU1MgcGFyc2luZyBmb3IgQ1NTIHRy
YW5zaXRpb25zIHVucHJlZml4ZWQuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCAxOGZmMWFjMzUyNTIyOTAzODQxMzU0
NmQ3N2MwMzY4NDE5NmE2NjI0Li45MGJmNjU0OGQ4OWVhZmZmMjU3MTQ4NDhlNDlhM2NjNWRkODUx
YTg2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW0ucHkKQEAgLTMxLDYgKzMxLDcgQEAKIGltcG9ydCBiYXNlNjQKIGltcG9ydCBl
cnJubwogaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc2lnbmFs
CiBpbXBvcnQgc3VicHJvY2VzcwpAQCAtODQsMTUgKzg1LDIyIEBAIGNsYXNzIENocm9taXVtUG9y
dChQb3J0KToKICAgICAgICAgaWYgYnVpbGRfZGlyZWN0b3J5OgogICAgICAgICAgICAgcmV0dXJu
IGZpbGVzeXN0ZW0uam9pbihidWlsZF9kaXJlY3RvcnksIGNvbmZpZ3VyYXRpb24sICpjb21wcykK
IAorICAgICAgICBoaXRzID0gW10KICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBjbHMuREVGQVVM
VF9CVUlMRF9ESVJFQ1RPUklFUzoKICAgICAgICAgICAgIGJhc2VfZGlyID0gZmlsZXN5c3RlbS5q
b2luKGNocm9taXVtX2Jhc2UsIGRpcmVjdG9yeSwgY29uZmlndXJhdGlvbikKLSAgICAgICAgICAg
IGlmIGZpbGVzeXN0ZW0uZXhpc3RzKGJhc2VfZGlyKToKLSAgICAgICAgICAgICAgICByZXR1cm4g
ZmlsZXN5c3RlbS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCisgICAgICAgICAgICBwYXRoID0gZmls
ZXN5c3RlbS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCisgICAgICAgICAgICBpZiBmaWxlc3lzdGVt
LmV4aXN0cyhwYXRoKToKKyAgICAgICAgICAgICAgICBoaXRzLmFwcGVuZCgob3MucGF0aC5nZXRt
dGltZShwYXRoKSwgcGF0aCkpCiAKICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBjbHMuREVGQVVM
VF9CVUlMRF9ESVJFQ1RPUklFUzoKICAgICAgICAgICAgIGJhc2VfZGlyID0gZmlsZXN5c3RlbS5q
b2luKHdlYmtpdF9iYXNlLCBkaXJlY3RvcnksIGNvbmZpZ3VyYXRpb24pCi0gICAgICAgICAgICBp
ZiBmaWxlc3lzdGVtLmV4aXN0cyhiYXNlX2Rpcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZp
bGVzeXN0ZW0uam9pbihiYXNlX2RpciwgKmNvbXBzKQorICAgICAgICAgICAgcGF0aCA9IGZpbGVz
eXN0ZW0uam9pbihiYXNlX2RpciwgKmNvbXBzKQorICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5l
eGlzdHMocGF0aCk6CisgICAgICAgICAgICAgICAgaGl0cy5hcHBlbmQoKG9zLnBhdGguZ2V0bXRp
bWUocGF0aCksIHBhdGgpKQorCisgICAgICAgIGlmIGhpdHM6CisgICAgICAgICAgICBoaXRzLnNv
cnQocmV2ZXJzZT1UcnVlKQorICAgICAgICAgICAgcmV0dXJuIGhpdHNbMF1bMV0gICMgUmV0dXJu
IHRoZSBuZXdlc3QgZmlsZSBmb3VuZC4KIAogICAgICAgICAjIFdlIGhhdmUgdG8gZGVmYXVsdCB0
byBzb21ldGhpbmcsIHNvIHBpY2sgdGhlIGxhc3Qgb25lLgogICAgICAgICByZXR1cm4gZmlsZXN5
c3RlbS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180283</attachid>
            <date>2012-12-19 23:08:32 -0800</date>
            <delta_ts>2012-12-20 08:42:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105498-20121219230601.patch</filename>
            <type>text/plain</type>
            <size>2479</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDI3YTY5MTc2MTFkMTc5YjhiMWM3YmM1OGZlMTUwYzBi
MmIzMTgyOC4uOTVkMjMwOTgxYzY2MWM4NTZkM2U0NGQ1MTVkZmMwOGIxMGQ2YzI2MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTEyLTE5ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBjaHJvbWl1bSBucnd0OiBQaWNrIHRoZSBuZXdlc3QgYmluYXJ5IGZvdW5kIGluIERFRkFV
TFRfQlVJTERfRElSRUNUT1JJRVMsIG5vdCB0aGUgZmlyc3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGEgbmV3ZXIgbmluamEtYnVpbHQgYmluYXJ5
IGlzIGF2YWlsYWJsZSwgdGhhdCB3aWxsIG5vdyBiZSBwaWNrZWQKKyAgICAgICAgaW5zdGVhZCBv
ZiBhbiBvbGRlciB4Y29kZWJ1aWxkIGJpbmFyeS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgIChDaHJvbWl1bVBvcnQu
X3N0YXRpY19idWlsZF9wYXRoKToKKwogMjAxMi0xMi0xOSAgQWxleGlzIE1lbmFyZCAgPGFsZXhp
c0B3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDU1MgcGFyc2luZyBmb3IgQ1NTIHRy
YW5zaXRpb25zIHVucHJlZml4ZWQuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCAxOGZmMWFjMzUyNTIyOTAzODQxMzU0
NmQ3N2MwMzY4NDE5NmE2NjI0Li42MTVhNWViNDZhMGQxMWQ4NmQ4YTQ3ZmRmNzRkOTI4ZTdiODRm
MTIzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW0ucHkKQEAgLTg0LDE1ICs4NCwyNSBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9y
dCk6CiAgICAgICAgIGlmIGJ1aWxkX2RpcmVjdG9yeToKICAgICAgICAgICAgIHJldHVybiBmaWxl
c3lzdGVtLmpvaW4oYnVpbGRfZGlyZWN0b3J5LCBjb25maWd1cmF0aW9uLCAqY29tcHMpCiAKKyAg
ICAgICAgaGl0cyA9IFtdCiAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gY2xzLkRFRkFVTFRfQlVJ
TERfRElSRUNUT1JJRVM6CiAgICAgICAgICAgICBiYXNlX2RpciA9IGZpbGVzeXN0ZW0uam9pbihj
aHJvbWl1bV9iYXNlLCBkaXJlY3RvcnksIGNvbmZpZ3VyYXRpb24pCi0gICAgICAgICAgICBpZiBm
aWxlc3lzdGVtLmV4aXN0cyhiYXNlX2Rpcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZpbGVz
eXN0ZW0uam9pbihiYXNlX2RpciwgKmNvbXBzKQorICAgICAgICAgICAgcGF0aCA9IGZpbGVzeXN0
ZW0uam9pbihiYXNlX2RpciwgKmNvbXBzKQorICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5leGlz
dHMocGF0aCk6CisgICAgICAgICAgICAgICAgaGl0cy5hcHBlbmQoKGZpbGVzeXN0ZW0ubXRpbWUo
cGF0aCksIHBhdGgpKQorICAgICAgICBpZiBoaXRzOgorICAgICAgICAgICAgaGl0cy5zb3J0KHJl
dmVyc2U9VHJ1ZSkKKyAgICAgICAgICAgIHJldHVybiBoaXRzWzBdWzFdICAjIFJldHVybiB0aGUg
bmV3ZXN0IGZpbGUgZm91bmQuCiAKICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBjbHMuREVGQVVM
VF9CVUlMRF9ESVJFQ1RPUklFUzoKICAgICAgICAgICAgIGJhc2VfZGlyID0gZmlsZXN5c3RlbS5q
b2luKHdlYmtpdF9iYXNlLCBkaXJlY3RvcnksIGNvbmZpZ3VyYXRpb24pCi0gICAgICAgICAgICBp
ZiBmaWxlc3lzdGVtLmV4aXN0cyhiYXNlX2Rpcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZp
bGVzeXN0ZW0uam9pbihiYXNlX2RpciwgKmNvbXBzKQorICAgICAgICAgICAgcGF0aCA9IGZpbGVz
eXN0ZW0uam9pbihiYXNlX2RpciwgKmNvbXBzKQorICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5l
eGlzdHMocGF0aCk6CisgICAgICAgICAgICAgICAgaGl0cy5hcHBlbmQoKGZpbGVzeXN0ZW0ubXRp
bWUocGF0aCksIHBhdGgpKQorCisgICAgICAgIGlmIGhpdHM6CisgICAgICAgICAgICBoaXRzLnNv
cnQocmV2ZXJzZT1UcnVlKQorICAgICAgICAgICAgcmV0dXJuIGhpdHNbMF1bMV0gICMgUmV0dXJu
IHRoZSBuZXdlc3QgZmlsZSBmb3VuZC4KIAogICAgICAgICAjIFdlIGhhdmUgdG8gZGVmYXVsdCB0
byBzb21ldGhpbmcsIHNvIHBpY2sgdGhlIGxhc3Qgb25lLgogICAgICAgICByZXR1cm4gZmlsZXN5
c3RlbS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180346</attachid>
            <date>2012-12-20 08:42:46 -0800</date>
            <delta_ts>2012-12-20 13:07:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105498-20121220084009.patch</filename>
            <type>text/plain</type>
            <size>6274</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDI3YTY5MTc2MTFkMTc5YjhiMWM3YmM1OGZlMTUwYzBi
MmIzMTgyOC4uN2Y2Y2FiMGRjZmU0ZTllMmQ3YmUyNzA1ZTM2Y2ZiZWZmOTk2Y2ZmZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTEyLTE5ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBjaHJvbWl1bSBucnd0OiBQaWNrIHRoZSBuZXdlc3QgYmluYXJ5IGZvdW5kIGluIERFRkFV
TFRfQlVJTERfRElSRUNUT1JJRVMsIG5vdCB0aGUgZmlyc3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGEgbmV3ZXIgbmluamEtYnVpbHQgYmluYXJ5
IGlzIGF2YWlsYWJsZSwgdGhhdCB3aWxsIG5vdyBiZSBwaWNrZWQKKyAgICAgICAgaW5zdGVhZCBv
ZiBhbiBvbGRlciB4Y29kZWJ1aWxkIGJpbmFyeS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgIChDaHJvbWl1bVBvcnQu
X3N0YXRpY19idWlsZF9wYXRoKToKKyAgICAgICAgQ2hlY2sgZm9yIHRpbWVzdGFtcHMuCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5p
dHRlc3QucHk6CisgICAgICAgIChDaHJvbWl1bU1hY1BvcnRUZXN0LnRlc3RfYnVpbGRfcGF0aF90
aW1lc3RhbXBzKToKKyAgICAgICAgVGVzdCB0aGF0IG91dCAvIHhjb2RlYnVpbGQgc2VsZWN0aW9u
IGhhcHBlbnMgYmFzZWQgb24gdGltZXN0YW1wcworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hy
b21pdW1XaW5Qb3J0VGVzdC50ZXN0X2J1aWxkX3BhdGhfdGltZXN0YW1wcyk6CisgICAgICAgIFRl
c3QgdGhhdCBvdXQgLyBidWlsZCBzZWxlY3Rpb24gaGFwcGVucyBiYXNlZCBvbiB0aW1lc3RhbXBz
CisKIDIwMTItMTItMTkgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBJbXBsZW1lbnQgQ1NTIHBhcnNpbmcgZm9yIENTUyB0cmFuc2l0aW9ucyB1bnByZWZpeGVk
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hy
b21pdW0ucHkKaW5kZXggMThmZjFhYzM1MjUyMjkwMzg0MTM1NDZkNzdjMDM2ODQxOTZhNjYyNC4u
NjE1YTVlYjQ2YTBkMTFkODZkOGE0N2ZkZjc0ZDkyOGU3Yjg0ZjEyMyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CkBAIC04
NCwxNSArODQsMjUgQEAgY2xhc3MgQ2hyb21pdW1Qb3J0KFBvcnQpOgogICAgICAgICBpZiBidWls
ZF9kaXJlY3Rvcnk6CiAgICAgICAgICAgICByZXR1cm4gZmlsZXN5c3RlbS5qb2luKGJ1aWxkX2Rp
cmVjdG9yeSwgY29uZmlndXJhdGlvbiwgKmNvbXBzKQogCisgICAgICAgIGhpdHMgPSBbXQogICAg
ICAgICBmb3IgZGlyZWN0b3J5IGluIGNscy5ERUZBVUxUX0JVSUxEX0RJUkVDVE9SSUVTOgogICAg
ICAgICAgICAgYmFzZV9kaXIgPSBmaWxlc3lzdGVtLmpvaW4oY2hyb21pdW1fYmFzZSwgZGlyZWN0
b3J5LCBjb25maWd1cmF0aW9uKQotICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5leGlzdHMoYmFz
ZV9kaXIpOgotICAgICAgICAgICAgICAgIHJldHVybiBmaWxlc3lzdGVtLmpvaW4oYmFzZV9kaXIs
ICpjb21wcykKKyAgICAgICAgICAgIHBhdGggPSBmaWxlc3lzdGVtLmpvaW4oYmFzZV9kaXIsICpj
b21wcykKKyAgICAgICAgICAgIGlmIGZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgorICAgICAgICAg
ICAgICAgIGhpdHMuYXBwZW5kKChmaWxlc3lzdGVtLm10aW1lKHBhdGgpLCBwYXRoKSkKKyAgICAg
ICAgaWYgaGl0czoKKyAgICAgICAgICAgIGhpdHMuc29ydChyZXZlcnNlPVRydWUpCisgICAgICAg
ICAgICByZXR1cm4gaGl0c1swXVsxXSAgIyBSZXR1cm4gdGhlIG5ld2VzdCBmaWxlIGZvdW5kLgog
CiAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gY2xzLkRFRkFVTFRfQlVJTERfRElSRUNUT1JJRVM6
CiAgICAgICAgICAgICBiYXNlX2RpciA9IGZpbGVzeXN0ZW0uam9pbih3ZWJraXRfYmFzZSwgZGly
ZWN0b3J5LCBjb25maWd1cmF0aW9uKQotICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5leGlzdHMo
YmFzZV9kaXIpOgotICAgICAgICAgICAgICAgIHJldHVybiBmaWxlc3lzdGVtLmpvaW4oYmFzZV9k
aXIsICpjb21wcykKKyAgICAgICAgICAgIHBhdGggPSBmaWxlc3lzdGVtLmpvaW4oYmFzZV9kaXIs
ICpjb21wcykKKyAgICAgICAgICAgIGlmIGZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgorICAgICAg
ICAgICAgICAgIGhpdHMuYXBwZW5kKChmaWxlc3lzdGVtLm10aW1lKHBhdGgpLCBwYXRoKSkKKwor
ICAgICAgICBpZiBoaXRzOgorICAgICAgICAgICAgaGl0cy5zb3J0KHJldmVyc2U9VHJ1ZSkKKyAg
ICAgICAgICAgIHJldHVybiBoaXRzWzBdWzFdICAjIFJldHVybiB0aGUgbmV3ZXN0IGZpbGUgZm91
bmQuCiAKICAgICAgICAgIyBXZSBoYXZlIHRvIGRlZmF1bHQgdG8gc29tZXRoaW5nLCBzbyBwaWNr
IHRoZSBsYXN0IG9uZS4KICAgICAgICAgcmV0dXJuIGZpbGVzeXN0ZW0uam9pbihiYXNlX2Rpciwg
KmNvbXBzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hY191bml0dGVzdC5weQppbmRleCBhOTY1NmE1MWE5
ZGIwM2Q1MGVkYmNmNjgxOTRlY2RiOGVjMTkyOTk2Li4yMDE4ZWE4NzVhYjgzMDg4MWJkY2EyYWMx
ZGQ4ZWZmOWViY2Q5OWM1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hY191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hY191bml0dGVzdC5weQpAQCAt
OTUsNiArOTUsMTggQEAgY2xhc3MgQ2hyb21pdW1NYWNQb3J0VGVzdChjaHJvbWl1bV9wb3J0X3Rl
c3RjYXNlLkNocm9taXVtUG9ydFRlc3RDYXNlKToKICAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRp
b25zKGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnLCBidWlsZF9kaXJlY3Rvcnk9Tm9uZSkKICAgICAg
ICAgc2VsZi5hc3NlcnRfYnVpbGRfcGF0aChvcHRpb25zLCBbJy9tb2NrLWNoZWNrb3V0L1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0veGNvZGVidWlsZC9SZWxlYXNlJywgJy9tb2NrLWNoZWNrb3V0L1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vb3V0L1JlbGVhc2UnXSwgJy9tb2NrLWNoZWNrb3V0L1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0veGNvZGVidWlsZC9SZWxlYXNlJykKIAorICAgIGRlZiB0ZXN0X2J1
aWxkX3BhdGhfdGltZXN0YW1wcyhzZWxmKToKKyAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25z
KGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnLCBidWlsZF9kaXJlY3Rvcnk9Tm9uZSkKKyAgICAgICAg
cG9ydCA9IHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgcG9ydC5ob3N0
LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3RvcnkoJy9tb2NrLWNoZWNrb3V0L291dC9SZWxl
YXNlJykKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3Rvcnko
Jy9tb2NrLWNoZWNrb3V0L3hjb2RlYnVpbGQvUmVsZWFzZScpCisgICAgICAgICMgQ2hlY2sgd2l0
aCAnb3V0JyBiZWluZyBuZXdlci4KKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubXRpbWUg
PSBsYW1iZGEgZjogNSBpZiAnL291dC8nIGluIGYgZWxzZSA0CisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocG9ydC5fYnVpbGRfcGF0aCgpLCAnL21vY2stY2hlY2tvdXQvb3V0L1JlbGVhc2UnKQor
ICAgICAgICAjIENoZWNrIHdpdGggJ3hjb2RlYnVpbGQnIGJlaW5nIG5ld2VyLgorICAgICAgICBw
b3J0Lmhvc3QuZmlsZXN5c3RlbS5tdGltZSA9IGxhbWJkYSBmOiA1IGlmICcveGNvZGVidWlsZC8n
IGluIGYgZWxzZSA0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5fYnVpbGRfcGF0aCgp
LCAnL21vY2stY2hlY2tvdXQveGNvZGVidWlsZC9SZWxlYXNlJykKKwogICAgIGRlZiB0ZXN0X2Ry
aXZlcl9uYW1lX29wdGlvbihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWFr
ZV9wb3J0KCkuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJ0R1bXBSZW5kZXJUcmVlJykpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1ha2VfcG9ydChvcHRpb25zPU1vY2tPcHRpb25z
KGRyaXZlcl9uYW1lPSdPdGhlckRyaXZlcicpKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgn
T3RoZXJEcml2ZXInKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKaW5kZXggYTg0
YjVlZTE1MWU5ODZiM2NiYmYzNDhlYzJmYjIzNDEyMmUyYTMwZC4uZmRjNzBlMmE5NjdhZWE3NGQw
Yzk0MDM4YzBiMDlmZGFlMDVmMzAwMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3Qu
cHkKQEAgLTExNCw2ICsxMTQsMTggQEAgY2xhc3MgQ2hyb21pdW1XaW5UZXN0KGNocm9taXVtX3Bv
cnRfdGVzdGNhc2UuQ2hyb21pdW1Qb3J0VGVzdENhc2UpOgogICAgICAgICBvcHRpb25zID0gTW9j
a09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScsIGJ1aWxkX2RpcmVjdG9yeT1Ob25lKQog
ICAgICAgICBzZWxmLmFzc2VydF9idWlsZF9wYXRoKG9wdGlvbnMsIFsnL21vY2stY2hlY2tvdXQv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9idWlsZC9SZWxlYXNlJywgJy9tb2NrLWNoZWNrb3V0L1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vb3V0J10sICcvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL2J1aWxkL1JlbGVhc2UnKQogCisgICAgZGVmIHRlc3RfYnVpbGRfcGF0aF90aW1l
c3RhbXBzKHNlbGYpOgorICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoY29uZmlndXJhdGlv
bj0nUmVsZWFzZScsIGJ1aWxkX2RpcmVjdG9yeT1Ob25lKQorICAgICAgICBwb3J0ID0gc2VsZi5t
YWtlX3BvcnQob3B0aW9ucz1vcHRpb25zKQorICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5t
YXliZV9tYWtlX2RpcmVjdG9yeSgnL21vY2stY2hlY2tvdXQvb3V0L1JlbGVhc2UnKQorICAgICAg
ICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeSgnL21vY2stY2hlY2tv
dXQvYnVpbGQvUmVsZWFzZScpCisgICAgICAgICMgQ2hlY2sgd2l0aCAnb3V0JyBiZWluZyBuZXdl
ci4KKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubXRpbWUgPSBsYW1iZGEgZjogNSBpZiAn
L291dC8nIGluIGYgZWxzZSA0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5fYnVpbGRf
cGF0aCgpLCAnL21vY2stY2hlY2tvdXQvb3V0L1JlbGVhc2UnKQorICAgICAgICAjIENoZWNrIHdp
dGggJ2J1aWxkJyBiZWluZyBuZXdlci4KKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubXRp
bWUgPSBsYW1iZGEgZjogNSBpZiAnL2J1aWxkLycgaW4gZiBlbHNlIDQKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChwb3J0Ll9idWlsZF9wYXRoKCksICcvbW9jay1jaGVja291dC9idWlsZC9SZWxl
YXNlJykKKwogICAgIGRlZiB0ZXN0X29wZXJhdGluZ19zeXN0ZW0oc2VsZik6CiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJ3dpbicsIHNlbGYubWFrZV9wb3J0KCkub3BlcmF0aW5nX3N5c3RlbSgp
KQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180395</attachid>
            <date>2012-12-20 13:07:57 -0800</date>
            <delta_ts>2012-12-20 13:38:47 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-105498-20121220130520.patch</filename>
            <type>text/plain</type>
            <size>6290</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDI3YTY5MTc2MTFkMTc5YjhiMWM3YmM1OGZlMTUwYzBi
MmIzMTgyOC4uOGFhZjcwMjY4N2UwNmFiMGQwMDQxYTA5N2UyY2Y4ZjkzODQ2OTY1ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTEyLTE5ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBjaHJvbWl1bSBucnd0OiBQaWNrIHRoZSBuZXdlc3QgYmluYXJ5IGZvdW5kIGluIERFRkFV
TFRfQlVJTERfRElSRUNUT1JJRVMsIG5vdCB0aGUgZmlyc3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IERpcmsgUHJhbmtlLgorCisgICAgICAgIFVzZSB0aGUgbmV3ZXN0IGJpbmFyeSBhdmFpbGFibGUg
cmF0aGVyIHRoYW4gYW4gdGhhbiBhbHdheXMgcGlja2luZyBvbmUKKyAgICAgICAgYnVpbGQgZGly
ZWN0b3J5IG92ZXIgYW5vdGhlciBiYXNlZCBvbiBpdGVyYXRpb24gb3JkZXIuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAg
ICAoQ2hyb21pdW1Qb3J0Ll9zdGF0aWNfYnVpbGRfcGF0aCk6CisgICAgICAgIENoZWNrIGZvciB0
aW1lc3RhbXBzLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fbWFjX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hyb21pdW1NYWNQb3J0VGVzdC50
ZXN0X2J1aWxkX3BhdGhfdGltZXN0YW1wcyk6CisgICAgICAgIFRlc3QgdGhhdCBvdXQgLyB4Y29k
ZWJ1aWxkIHNlbGVjdGlvbiBoYXBwZW5zIGJhc2VkIG9uIHRpbWVzdGFtcHMKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5w
eToKKyAgICAgICAgKENocm9taXVtV2luUG9ydFRlc3QudGVzdF9idWlsZF9wYXRoX3RpbWVzdGFt
cHMpOgorICAgICAgICBUZXN0IHRoYXQgb3V0IC8gYnVpbGQgc2VsZWN0aW9uIGhhcHBlbnMgYmFz
ZWQgb24gdGltZXN0YW1wcworCiAyMDEyLTEyLTE5ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IENTUyBwYXJzaW5nIGZvciBDU1MgdHJhbnNp
dGlvbnMgdW5wcmVmaXhlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CmluZGV4IDE4ZmYxYWMzNTI1MjI5MDM4NDEzNTQ2ZDc3
YzAzNjg0MTk2YTY2MjQuLjYxNWE1ZWI0NmEwZDExZDg2ZDhhNDdmZGY3NGQ5MjhlN2I4NGYxMjMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hy
b21pdW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bS5weQpAQCAtODQsMTUgKzg0LDI1IEBAIGNsYXNzIENocm9taXVtUG9ydChQb3J0KToK
ICAgICAgICAgaWYgYnVpbGRfZGlyZWN0b3J5OgogICAgICAgICAgICAgcmV0dXJuIGZpbGVzeXN0
ZW0uam9pbihidWlsZF9kaXJlY3RvcnksIGNvbmZpZ3VyYXRpb24sICpjb21wcykKIAorICAgICAg
ICBoaXRzID0gW10KICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBjbHMuREVGQVVMVF9CVUlMRF9E
SVJFQ1RPUklFUzoKICAgICAgICAgICAgIGJhc2VfZGlyID0gZmlsZXN5c3RlbS5qb2luKGNocm9t
aXVtX2Jhc2UsIGRpcmVjdG9yeSwgY29uZmlndXJhdGlvbikKLSAgICAgICAgICAgIGlmIGZpbGVz
eXN0ZW0uZXhpc3RzKGJhc2VfZGlyKToKLSAgICAgICAgICAgICAgICByZXR1cm4gZmlsZXN5c3Rl
bS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCisgICAgICAgICAgICBwYXRoID0gZmlsZXN5c3RlbS5q
b2luKGJhc2VfZGlyLCAqY29tcHMpCisgICAgICAgICAgICBpZiBmaWxlc3lzdGVtLmV4aXN0cyhw
YXRoKToKKyAgICAgICAgICAgICAgICBoaXRzLmFwcGVuZCgoZmlsZXN5c3RlbS5tdGltZShwYXRo
KSwgcGF0aCkpCisgICAgICAgIGlmIGhpdHM6CisgICAgICAgICAgICBoaXRzLnNvcnQocmV2ZXJz
ZT1UcnVlKQorICAgICAgICAgICAgcmV0dXJuIGhpdHNbMF1bMV0gICMgUmV0dXJuIHRoZSBuZXdl
c3QgZmlsZSBmb3VuZC4KIAogICAgICAgICBmb3IgZGlyZWN0b3J5IGluIGNscy5ERUZBVUxUX0JV
SUxEX0RJUkVDVE9SSUVTOgogICAgICAgICAgICAgYmFzZV9kaXIgPSBmaWxlc3lzdGVtLmpvaW4o
d2Via2l0X2Jhc2UsIGRpcmVjdG9yeSwgY29uZmlndXJhdGlvbikKLSAgICAgICAgICAgIGlmIGZp
bGVzeXN0ZW0uZXhpc3RzKGJhc2VfZGlyKToKLSAgICAgICAgICAgICAgICByZXR1cm4gZmlsZXN5
c3RlbS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCisgICAgICAgICAgICBwYXRoID0gZmlsZXN5c3Rl
bS5qb2luKGJhc2VfZGlyLCAqY29tcHMpCisgICAgICAgICAgICBpZiBmaWxlc3lzdGVtLmV4aXN0
cyhwYXRoKToKKyAgICAgICAgICAgICAgICBoaXRzLmFwcGVuZCgoZmlsZXN5c3RlbS5tdGltZShw
YXRoKSwgcGF0aCkpCisKKyAgICAgICAgaWYgaGl0czoKKyAgICAgICAgICAgIGhpdHMuc29ydChy
ZXZlcnNlPVRydWUpCisgICAgICAgICAgICByZXR1cm4gaGl0c1swXVsxXSAgIyBSZXR1cm4gdGhl
IG5ld2VzdCBmaWxlIGZvdW5kLgogCiAgICAgICAgICMgV2UgaGF2ZSB0byBkZWZhdWx0IHRvIHNv
bWV0aGluZywgc28gcGljayB0aGUgbGFzdCBvbmUuCiAgICAgICAgIHJldHVybiBmaWxlc3lzdGVt
LmpvaW4oYmFzZV9kaXIsICpjb21wcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkK
aW5kZXggYTk2NTZhNTFhOWRiMDNkNTBlZGJjZjY4MTk0ZWNkYjhlYzE5Mjk5Ni4uMjAxOGVhODc1
YWI4MzA4ODFiZGNhMmFjMWRkOGVmZjllYmNkOTljNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNf
dW5pdHRlc3QucHkKQEAgLTk1LDYgKzk1LDE4IEBAIGNsYXNzIENocm9taXVtTWFjUG9ydFRlc3Qo
Y2hyb21pdW1fcG9ydF90ZXN0Y2FzZS5DaHJvbWl1bVBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIG9w
dGlvbnMgPSBNb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJywgYnVpbGRfZGlyZWN0
b3J5PU5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2J1aWxkX3BhdGgob3B0aW9ucywgWycvbW9j
ay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3hjb2RlYnVpbGQvUmVsZWFzZScsICcv
bW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dC9SZWxlYXNlJ10sICcvbW9j
ay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3hjb2RlYnVpbGQvUmVsZWFzZScpCiAK
KyAgICBkZWYgdGVzdF9idWlsZF9wYXRoX3RpbWVzdGFtcHMoc2VsZik6CisgICAgICAgIG9wdGlv
bnMgPSBNb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJywgYnVpbGRfZGlyZWN0b3J5
PU5vbmUpCisgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydChvcHRpb25zPW9wdGlvbnMpCisg
ICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KCcvbW9jay1j
aGVja291dC9vdXQvUmVsZWFzZScpCisgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLm1heWJl
X21ha2VfZGlyZWN0b3J5KCcvbW9jay1jaGVja291dC94Y29kZWJ1aWxkL1JlbGVhc2UnKQorICAg
ICAgICAjIENoZWNrIHdpdGggJ291dCcgYmVpbmcgbmV3ZXIuCisgICAgICAgIHBvcnQuaG9zdC5m
aWxlc3lzdGVtLm10aW1lID0gbGFtYmRhIGY6IDUgaWYgJy9vdXQvJyBpbiBmIGVsc2UgNAorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuX2J1aWxkX3BhdGgoKSwgJy9tb2NrLWNoZWNrb3V0
L291dC9SZWxlYXNlJykKKyAgICAgICAgIyBDaGVjayB3aXRoICd4Y29kZWJ1aWxkJyBiZWluZyBu
ZXdlci4KKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubXRpbWUgPSBsYW1iZGEgZjogNSBp
ZiAnL3hjb2RlYnVpbGQvJyBpbiBmIGVsc2UgNAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBv
cnQuX2J1aWxkX3BhdGgoKSwgJy9tb2NrLWNoZWNrb3V0L3hjb2RlYnVpbGQvUmVsZWFzZScpCisK
ICAgICBkZWYgdGVzdF9kcml2ZXJfbmFtZV9vcHRpb24oc2VsZik6CiAgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShzZWxmLm1ha2VfcG9ydCgpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3aXRoKCdEdW1w
UmVuZGVyVHJlZScpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5tYWtlX3BvcnQob3B0
aW9ucz1Nb2NrT3B0aW9ucyhkcml2ZXJfbmFtZT0nT3RoZXJEcml2ZXInKSkuX3BhdGhfdG9fZHJp
dmVyKCkuZW5kc3dpdGgoJ090aGVyRHJpdmVyJykpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0
ZXN0LnB5CmluZGV4IGE4NGI1ZWUxNTFlOTg2YjNjYmJmMzQ4ZWMyZmIyMzQxMjJlMmEzMGQuLmZk
YzcwZTJhOTY3YWVhNzRkMGM5NDAzOGMwYjA5ZmRhZTA1ZjMwMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fd2luX3VuaXR0ZXN0LnB5CkBAIC0xMTQsNiArMTE0LDE4IEBAIGNsYXNzIENocm9taXVtV2lu
VGVzdChjaHJvbWl1bV9wb3J0X3Rlc3RjYXNlLkNocm9taXVtUG9ydFRlc3RDYXNlKToKICAgICAg
ICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnLCBidWlsZF9k
aXJlY3Rvcnk9Tm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRfYnVpbGRfcGF0aChvcHRpb25zLCBb
Jy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYnVpbGQvUmVsZWFzZScsICcv
bW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL291dCddLCAnL21vY2stY2hlY2tv
dXQvU291cmNlL1dlYktpdC9jaHJvbWl1bS9idWlsZC9SZWxlYXNlJykKIAorICAgIGRlZiB0ZXN0
X2J1aWxkX3BhdGhfdGltZXN0YW1wcyhzZWxmKToKKyAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRp
b25zKGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnLCBidWlsZF9kaXJlY3Rvcnk9Tm9uZSkKKyAgICAg
ICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgcG9ydC5o
b3N0LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3RvcnkoJy9tb2NrLWNoZWNrb3V0L291dC9S
ZWxlYXNlJykKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3Rv
cnkoJy9tb2NrLWNoZWNrb3V0L2J1aWxkL1JlbGVhc2UnKQorICAgICAgICAjIENoZWNrIHdpdGgg
J291dCcgYmVpbmcgbmV3ZXIuCisgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLm10aW1lID0g
bGFtYmRhIGY6IDUgaWYgJy9vdXQvJyBpbiBmIGVsc2UgNAorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHBvcnQuX2J1aWxkX3BhdGgoKSwgJy9tb2NrLWNoZWNrb3V0L291dC9SZWxlYXNlJykKKyAg
ICAgICAgIyBDaGVjayB3aXRoICdidWlsZCcgYmVpbmcgbmV3ZXIuCisgICAgICAgIHBvcnQuaG9z
dC5maWxlc3lzdGVtLm10aW1lID0gbGFtYmRhIGY6IDUgaWYgJy9idWlsZC8nIGluIGYgZWxzZSA0
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5fYnVpbGRfcGF0aCgpLCAnL21vY2stY2hl
Y2tvdXQvYnVpbGQvUmVsZWFzZScpCisKICAgICBkZWYgdGVzdF9vcGVyYXRpbmdfc3lzdGVtKHNl
bGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd3aW4nLCBzZWxmLm1ha2VfcG9ydCgpLm9w
ZXJhdGluZ19zeXN0ZW0oKSkKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>