<?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>66228</bug_id>
          
          <creation_ts>2011-08-15 08:04:32 -0700</creation_ts>
          <short_desc>REGRESSION (NRWT): Leaks Viewer can&apos;t load leaks from test runs that used NRWT</short_desc>
          <delta_ts>2011-09-01 19:56:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/LeaksViewer/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>34984</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</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>451070</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 08:04:32 -0700</bug_when>
    <thetext>To reproduce:

1. Go to http://build.webkit.org/LeaksViewer/?url=%2Fresults%2FSnowLeopard%20Intel%20Leaks%2Fr93040%20%2818578%29%2F

It just says &quot;Loading…&quot; forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451071</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 08:05:48 -0700</bug_when>
    <thetext>This is at least partly due to the leaks files being named differently in ORWT and NRWT. For comparison:

ORWT: http://build.webkit.org/old-results/SnowLeopard%20Intel%20Leaks/r92628%20(18480)/
NRWT: http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r93040%20(18578)/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451098</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-15 10:00:59 -0700</bug_when>
    <thetext>I&apos;m happy to name them however you&apos;d like, but I can&apos;t (because we use multiple processes) have a single increasing counter for the file numbers.

http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py#L103

Is where the name is generated.  That code is per-worker-instance.  (Well, it exists in both the worker and the master process), so we don&apos;t have any way to coordinate names except through the file system.  We could look at what files exist on disk, but then we&apos;d have to look between the workers or we could end up with a race condition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451112</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-15 10:22:18 -0700</bug_when>
    <thetext>I&apos;ve reverted back to ORWT for the Leaks bot for now: http://trac.webkit.org/changeset/93046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451130</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 10:42:06 -0700</bug_when>
    <thetext>We don&apos;t necessarily have to change the names. We could teach Leaks Viewer how to interpret the NRWT-style names.

One advantage of ORWT&apos;s serial test running + monotonically increasing leaks file numbers is that it&apos;s possible to figure out which leaks came from which tests. With NRWT it seems like that will be considerably harder. That&apos;s probably worth a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458354</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-29 12:20:22 -0700</bug_when>
    <thetext>How do we best move forward with this?  Seems the simplest thing is to make the new LeaksViewer understand the new filename pattern.  It&apos;s impossible (and meaningless) in a parallel environment for us to name the leaks files with increasing numbers in order of creation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458360</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-29 12:25:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Seems the simplest thing is to make the new LeaksViewer understand the new filename pattern.

That seems like a fine solution to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458385</commentid>
    <comment_count>7</comment_count>
      <attachid>105512</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-29 12:51:05 -0700</bug_when>
    <thetext>Created attachment 105512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458387</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-29 12:52:22 -0700</bug_when>
    <thetext>Dirk:  If you have suggestions on how to fix the integration tests, I&apos;m all ears.  But it appears that for most tests the skipped lists are not applied (or userscripts aren&apos;t skipped for the Mac port?), thus now that our glob() implementation works, we correctly end up trying to run this &quot;userscripts&quot; test, which then causes badness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458391</commentid>
    <comment_count>9</comment_count>
      <attachid>105512</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-08-29 13:02:34 -0700</bug_when>
    <thetext>Comment on attachment 105512
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:146
&gt; +        wildcard_index = glob_string.find(&apos;*&apos;)

Maybe we should rewrite this to the equivalent regexp, i.e., ([^\/]*), and just do a regexp match? Does that fix the test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458394</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-29 13:06:37 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 105512 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105512&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:146
&gt; &gt; +        wildcard_index = glob_string.find(&apos;*&apos;)
&gt; 
&gt; Maybe we should rewrite this to the equivalent regexp, i.e., ([^\/]*), and just do a regexp match? Does that fix the test?

I can try. I suspect that that would simply break the test in just the same way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458399</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-08-29 13:08:29 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 105512 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105512&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:146
&gt; &gt; &gt; +        wildcard_index = glob_string.find(&apos;*&apos;)
&gt; &gt; 
&gt; &gt; Maybe we should rewrite this to the equivalent regexp, i.e., ([^\/]*), and just do a regexp match? Does that fix the test?
&gt; 
&gt; I can try. I suspect that that would simply break the test in just the same way.

I think the test should now work, because the problem before with the &quot;broken&quot; implementation was that it wasn&apos;t recognizing directory separators as delimiters, and hence it was doing something a real glob wouldn&apos;t do. We should be bringing this closer to the real glob&apos;s semantics this way. If not, I&apos;m guessing some variation on my suggestion should work, at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458410</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-29 13:23:07 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (From update of attachment 105512 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105512&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:146
&gt; &gt; &gt; &gt; +        wildcard_index = glob_string.find(&apos;*&apos;)
&gt; &gt; &gt; 
&gt; &gt; &gt; Maybe we should rewrite this to the equivalent regexp, i.e., ([^\/]*), and just do a regexp match? Does that fix the test?
&gt; &gt; 
&gt; &gt; I can try. I suspect that that would simply break the test in just the same way.
&gt; 
&gt; I think the test should now work, because the problem before with the &quot;broken&quot; implementation was that it wasn&apos;t recognizing directory separators as delimiters, and hence it was doing something a real glob wouldn&apos;t do. We should be bringing this closer to the real glob&apos;s semantics this way. If not, I&apos;m guessing some variation on my suggestion should work, at least.

I&apos;m not sure I follow what you&apos;re saying?  I haven&apos;t tried the regexp approach.  I was looking at http://docs.python.org/library/fnmatch.html, but I worry it will do the wrong thing on windows.

Could you explain more?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458423</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-08-29 13:38:36 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; I&apos;m not sure I follow what you&apos;re saying?  I haven&apos;t tried the regexp approach.  I was looking at http://docs.python.org/library/fnmatch.html, but I worry it will do the wrong thing on windows.
&gt; 
&gt; Could you explain more?

Since we&apos;re actually implementing glob, you don&apos;t actually want fnmatch semantics, you want glob semantics (http://docs.python.org/library/glob.html#module-glob). This means that &apos;f*&apos; should match &apos;foo.html&apos; and &apos;foobar/&apos; but not &apos;foobar/baz.html&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458608</commentid>
    <comment_count>14</comment_count>
      <attachid>105512</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-29 17:51:51 -0700</bug_when>
    <thetext>Comment on attachment 105512
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:145
&gt; +        # FIXME: This only handles the simpliest of wildcard matches.

Typo: simplest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460619</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 11:05:58 -0700</bug_when>
    <thetext>The unittest failure was caused by me fixing the typo, and had nothing to do with the glob changes.

Made that commit in http://trac.webkit.org/changeset/94316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460627</commentid>
    <comment_count>16</comment_count>
      <attachid>105995</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 11:20:13 -0700</bug_when>
    <thetext>Created attachment 105995
Fix typo from Darin&apos;s review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460668</commentid>
    <comment_count>17</comment_count>
      <attachid>105995</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-09-01 12:07:17 -0700</bug_when>
    <thetext>Comment on attachment 105995
Fix typo from Darin&apos;s review

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

&gt; Tools/ChangeLog:19
&gt; +        * Scripts/webkitpy/layout_tests/port/test.py:

Nit. Doesn&apos;t look like you&apos;re actually changing port/test.py?

&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:154
&gt; +        # We could use fnmatch.fnmatch, but that might not do the right thing on windows.

Can you try my re.match suggestion instead ? If that passes the tests, I&apos;d prefer we do that, as the code is likely much cleaner than this (and will handle more cases to boot).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460673</commentid>
    <comment_count>18</comment_count>
      <attachid>105995</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 12:14:02 -0700</bug_when>
    <thetext>Comment on attachment 105995
Fix typo from Darin&apos;s review

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

&gt;&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:154
&gt;&gt; +        # We could use fnmatch.fnmatch, but that might not do the right thing on windows.
&gt; 
&gt; Can you try my re.match suggestion instead ? If that passes the tests, I&apos;d prefer we do that, as the code is likely much cleaner than this (and will handle more cases to boot).

Specifically you&apos;re suggesting that I do this:

pattern = re.compile(glob_string.replace(&apos;*&apos;, &apos;\w+&apos;))

Is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460686</commentid>
    <comment_count>19</comment_count>
      <attachid>105995</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 12:26:33 -0700</bug_when>
    <thetext>Comment on attachment 105995
Fix typo from Darin&apos;s review

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:154
&gt;&gt;&gt; +        # We could use fnmatch.fnmatch, but that might not do the right thing on windows.
&gt;&gt; 
&gt;&gt; Can you try my re.match suggestion instead ? If that passes the tests, I&apos;d prefer we do that, as the code is likely much cleaner than this (and will handle more cases to boot).
&gt; 
&gt; Specifically you&apos;re suggesting that I do this:
&gt; 
&gt; pattern = re.compile(glob_string.replace(&apos;*&apos;, &apos;\w+&apos;))
&gt; 
&gt; Is that correct?

I&apos;ve tried both that, and re.compile(re.escape(glob_string).replace(&apos;\*&apos;, &apos;\w+&apos;)) and failed to get it to pass the tests.

I&apos;d like to stick with this simpler solution unless you have a better suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460690</commentid>
    <comment_count>20</comment_count>
      <attachid>106009</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 12:28:55 -0700</bug_when>
    <thetext>Created attachment 106009
Removed extra entry from ChangeLog and removed spurious import glob statement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460730</commentid>
    <comment_count>21</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-09-01 13:20:25 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 105995 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105995&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:154
&gt; &gt;&gt;&gt; +        # We could use fnmatch.fnmatch, but that might not do the right thing on windows.
&gt; &gt;&gt; 
&gt; &gt;&gt; Can you try my re.match suggestion instead ? If that passes the tests, I&apos;d prefer we do that, as the code is likely much cleaner than this (and will handle more cases to boot).
&gt; &gt; 
&gt; &gt; Specifically you&apos;re suggesting that I do this:
&gt; &gt; 
&gt; &gt; pattern = re.compile(glob_string.replace(&apos;*&apos;, &apos;\w+&apos;))
&gt; &gt; 
&gt; &gt; Is that correct?
&gt; 
&gt; I&apos;ve tried both that, and re.compile(re.escape(glob_string).replace(&apos;\*&apos;, &apos;\w+&apos;)) and failed to get it to pass the tests.
&gt; 
&gt; I&apos;d like to stick with this simpler solution unless you have a better suggestion.

No, sorry, I meant pattern = re.compile(glob_string.replace(&apos;*&apos;, &apos;[^\/]*&apos;)). It would need to be &apos;*&apos;, not &apos;+&apos;, and  \w wouldn&apos;t handle files w/ spaces in them (and probably a bunch of other legal filename characters).

At any rate, thanks for trying. Up to you if you want to try my suggestion again (I&apos;ll try it out later while I&apos;m waiting for a compile or something). R+ otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460737</commentid>
    <comment_count>22</comment_count>
      <attachid>106009</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 13:28:46 -0700</bug_when>
    <thetext>Comment on attachment 106009
Removed extra entry from ChangeLog and removed spurious import glob statement

Thank you dirk.  I think we&apos;ll still have trouble escaping other possible regexp characters in the filename.  We can revisit this later if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460740</commentid>
    <comment_count>23</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-09-01 13:34:02 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 106009 [details])
&gt; Thank you dirk.  I think we&apos;ll still have trouble escaping other possible regexp characters in the filename.  We can revisit this later if needed.

Ah, right, yeah &apos;.&apos; would probably screw things up and hence need to be escaped ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460741</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-09-01 13:35:51 -0700</bug_when>
    <thetext>http://stackoverflow.com/questions/445910/create-regex-from-glob-expression probably gets us close, although one commenter actually suggests fnmatch().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460749</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 13:43:58 -0700</bug_when>
    <thetext>fnmatch is what glob uses under the covers. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460750</commentid>
    <comment_count>26</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-01 13:44:17 -0700</bug_when>
    <thetext>The problem with fnmatch is that it&apos;s platform-specific (according to the docs).  Which we don&apos;t want for a Mock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460787</commentid>
    <comment_count>27</comment_count>
      <attachid>106009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 14:28:58 -0700</bug_when>
    <thetext>Comment on attachment 106009
Removed extra entry from ChangeLog and removed spurious import glob statement

Clearing flags on attachment: 106009

Committed r94345: &lt;http://trac.webkit.org/changeset/94345&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460788</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 14:29:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461019</commentid>
    <comment_count>29</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-09-01 19:56:02 -0700</bug_when>
    <thetext>Okay, fixing glob turned out to be slightly more complicated, but it revealed that we actually had (at least) two different bugs. See bug 67462.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105512</attachid>
            <date>2011-08-29 12:51:05 -0700</date>
            <delta_ts>2011-09-01 11:20:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66228-20110829125104.patch</filename>
            <type>text/plain</type>
            <size>6813</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM5OTkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxYTYwMzI1MGJhYmYxZmIzNjk0NGRlYzEyYjA1ZTQxZjdk
MDY0ZmNmLi45ZDBjMDMyMGUwMjhiOGM5OTA3NDUxYWU4M2M1ZjNhMDRhNTRjYjJlIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMDgtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IFJFR1JFU1NJT04gKE5SV1QpOiBMZWFrcyBWaWV3ZXIgY2FuJ3QgbG9hZCBsZWFrcyBmcm9tIHRl
c3QgcnVucyB0aGF0IHVzZWQgTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBPUldUIHVzZWQgJChQUk9DRVNTKSQoTlVNQkVSKS1sZWFrcy50eHQgZm9y
IGxlYWtzIGZpbGVuYW1lcy4KKyAgICAgICAgVGhlIExlYWtzVmlld2VyIHRvb2wgZ2xvYnMgZm9y
IGFsbCAqLWxlYWtzLnR4dCBmaWxlcy4KKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBOUldUIG91
dHB1dCAkKFBST0NFU1MpLSQoUElEKS1sZWFrcy50eHQgd2hpY2ggc2hvdWxkIG1hdGNoLgorCisg
ICAgICAgIEluIG9yZGVyIHRvIHRlc3QgdGhpcyBJIGhhZCB0byBmaXggYSBsaW1pdGF0aW9uIGlu
IG91ciBNb2NrRmlsZVN5c3RlbS5nbG9iCisgICAgICAgIG1ldGhvZC4gIEhvd2V2ZXIsIGRvaW5n
IHNvIHVuY292ZXJlZCBhIHR5cG8gYW5kIGJ1ZyBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdHMuCisg
ICAgICAgIEkndmUgZGlzYWJsZWQgdGhlIG9mZmVuZGluZyBpbnRlZ3JhdGlvbiB0ZXN0cy4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2su
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0
ZWN0b3IucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9s
ZWFrZGV0ZWN0b3JfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC90ZXN0LnB5OgorCiAyMDExLTA4LTI2ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCBiZWdpbiBl
YWNoIHRlc3Qgd2l0aCBhbiBlbXB0eSBjb29raWUgc3RvcmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrLnB5CmluZGV4IGY5
MTJmYWNmYTkwNjYxZjZjOGRkNGFjOTA5MzI0MDhkNjhjZWY5NDQuLjI2YmFhOWYwNDVkNThjYjMy
NzZjMWFiYmRjZGI0ODgyYmMxMzM3ZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weQpAQCAtMTQyLDEwICsxNDIs
MTIgQEAgY2xhc3MgTW9ja0ZpbGVTeXN0ZW0ob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYu
Y3dkCiAKICAgICBkZWYgZ2xvYihzZWxmLCBnbG9iX3N0cmluZyk6Ci0gICAgICAgICMgRklYTUU6
IFRoaXMgb25seSBoYW5kbGVzIGEgd2lsZGNhcmQgJyonIGF0IHRoZSBlbmQgb2YgdGhlIHBhdGgu
Ci0gICAgICAgICMgTWF5YmUgaXQgc2hvdWxkIGhhbmRsZSBtb3JlPwotICAgICAgICBpZiBnbG9i
X3N0cmluZ1stMV0gPT0gJyonOgotICAgICAgICAgICAgcGF0aF9maWx0ZXIgPSBsYW1iZGEgcGF0
aDogcGF0aC5zdGFydHN3aXRoKGdsb2Jfc3RyaW5nWzotMV0pCisgICAgICAgICMgRklYTUU6IFRo
aXMgb25seSBoYW5kbGVzIHRoZSBzaW1wbGllc3Qgb2Ygd2lsZGNhcmQgbWF0Y2hlcy4KKyAgICAg
ICAgd2lsZGNhcmRfaW5kZXggPSBnbG9iX3N0cmluZy5maW5kKCcqJykKKyAgICAgICAgaWYgd2ls
ZGNhcmRfaW5kZXggIT0gLTE6CisgICAgICAgICAgICBiZWZvcmVfd2lsZGNhcmQgPSBnbG9iX3N0
cmluZ1s6d2lsZGNhcmRfaW5kZXggLSAxXQorICAgICAgICAgICAgYWZ0ZXJfd2lsZGNhcmQgPSBn
bG9iX3N0cmluZ1t3aWxkY2FyZF9pbmRleCArIDE6XQorICAgICAgICAgICAgcGF0aF9maWx0ZXIg
PSBsYW1iZGEgcGF0aDogcGF0aC5zdGFydHN3aXRoKGJlZm9yZV93aWxkY2FyZCkgYW5kIHBhdGgu
ZW5kc3dpdGgoYWZ0ZXJfd2lsZGNhcmQpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwYXRo
X2ZpbHRlciA9IGxhbWJkYSBwYXRoOiBnbG9iX3N0cmluZyA9PSBwYXRoCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3Iu
cHkKaW5kZXggY2E2MDBlMDE3NGFmNDg0NjNjN2ZiNjQ4ODc1ZTg2Y2IwMTMwZDVmNy4uODZhZGYz
NGE4ODhlMGJkMjJkMDRhNzE0NzJhZmNiOTRkN2JiOThlOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3IucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3IucHkKQEAg
LTkxLDExICs5MSwxMSBAQCBjbGFzcyBMZWFrRGV0ZWN0b3Iob2JqZWN0KToKICAgICAgICAgcmV0
dXJuIGludChjb3VudCksIGludChleGNsdWRlZCksIGludChieXRlcykKIAogICAgIGRlZiBsZWFr
c19maWxlc19pbl9kaXJlY3Rvcnkoc2VsZiwgZGlyZWN0b3J5KToKLSAgICAgICAgcmV0dXJuIHNl
bGYuX2ZpbGVzeXN0ZW0uZ2xvYihzZWxmLl9maWxlc3lzdGVtLmpvaW4oZGlyZWN0b3J5LCAibGVh
a3MtKiIpKQorICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5nbG9iKHNlbGYuX2ZpbGVz
eXN0ZW0uam9pbihkaXJlY3RvcnksICIqLWxlYWtzLnR4dCIpKQogCiAgICAgZGVmIGxlYWtzX2Zp
bGVfbmFtZShzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKICAgICAgICAgIyBXZSBp
bmNsdWRlIHRoZSBudW1iZXIgb2YgZmlsZXMgdGhpcyB3b3JrZXIgaGFzIGFscmVhZHkgd3JpdHRl
biBpbiB0aGUgbmFtZSB0byBwcmV2ZW50IG92ZXJ3cml0dGluZyBwcmV2aW91cyBsZWFrIHJlc3Vs
dHMuLgotICAgICAgICByZXR1cm4gImxlYWtzLSVzLSVzLnR4dCIgJSAocHJvY2Vzc19uYW1lLCBw
cm9jZXNzX3BpZCkKKyAgICAgICAgcmV0dXJuICIlcy0lcy1sZWFrcy50eHQiICUgKHByb2Nlc3Nf
bmFtZSwgcHJvY2Vzc19waWQpCiAKICAgICBkZWYgcGFyc2VfbGVha19maWxlcyhzZWxmLCBsZWFr
X2ZpbGVzKToKICAgICAgICAgbWVyZ2VfZGVwdGggPSA1ICAjIE9SV1QgaGFkIGEgLS1tZXJnZS1s
ZWFrLWRlcHRoIGFyZ3VtZW50LCBidXQgdGhhdCBzZWVtcyBvdXQgb2Ygc2NvcGUgZm9yIHRoZSBy
dW4td2Via2l0LXRlc3RzIHRvb2wuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvcl91bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDcyMGE5MzUwYzA5MjUwMjE0OWEwNDVjZTBiMmM0ZjY2NmIyZTE5YjAuLmU1YzQ2MGU1NTc5
MzljMTMxNjY0OGFlMWVmZjAwYzhjZjU3Mzk3ZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yX3Vu
aXR0ZXN0LnB5CkBAIC04NSw5ICs4NSw5IEBAIExlYWs6IDB4MjUxMDJmZTAgIHNpemU9MTc2ICB6
b25lOiBEZWZhdWx0TWFsbG9jWm9uZV8weDFkOTQwMDAgICBzdHJpbmcgJ05TRXhjZXB0CiAgICAg
ICAgIGRldGVjdG9yID0gc2VsZi5fbWFrZV9kZXRlY3RvcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKGRldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeSgnL2JvZ3VzLWRpcmVjdG9y
eScpLCBbXSkKICAgICAgICAgZGV0ZWN0b3IuX2ZpbGVzeXN0ZW0gPSBNb2NrRmlsZVN5c3RlbSh7
Ci0gICAgICAgICAgICAnL21vY2stcmVzdWx0cy9sZWFrcy1EdW1wUmVuZGVyVHJlZS0wLTEudHh0
JzogJycsCi0gICAgICAgICAgICAnL21vY2stcmVzdWx0cy9sZWFrcy1EdW1wUmVuZGVyVHJlZS0x
LTEudHh0JzogJycsCi0gICAgICAgICAgICAnL21vY2stcmVzdWx0cy9sZWFrcy1EdW1wUmVuZGVy
VHJlZS0wLTIudHh0JzogJycsCisgICAgICAgICAgICAnL21vY2stcmVzdWx0cy9EdW1wUmVuZGVy
VHJlZS0xMjM0LWxlYWtzLnR4dCc6ICcnLAorICAgICAgICAgICAgJy9tb2NrLXJlc3VsdHMvRHVt
cFJlbmRlclRyZWUtMjM0MjMtbGVha3MudHh0JzogJycsCisgICAgICAgICAgICAnL21vY2stcmVz
dWx0cy9EdW1wUmVuZGVyVHJlZS04MjMtbGVha3MudHh0JzogJycsCiAgICAgICAgIH0pCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihkZXRlY3Rvci5sZWFrc19maWxlc19pbl9kaXJlY3Rv
cnkoJy9tb2NrLXJlc3VsdHMnKSksIDMpCiAKQEAgLTEwMSw3ICsxMDEsNyBAQCBMZWFrOiAweDI1
MTAyZmUwICBzaXplPTE3NiAgem9uZTogRGVmYXVsdE1hbGxvY1pvbmVfMHgxZDk0MDAwICAgc3Ry
aW5nICdOU0V4Y2VwdAogdG90YWw6IDUsODg4IGJ5dGVzICgwIGJ5dGVzIGV4Y2x1ZGVkKS4iIiIK
ICAgICAgICAgZGV0ZWN0b3IuX3BvcnQuX3J1bl9zY3JpcHQgPSBtb2NrX3J1bl9zY3JpcHQKIAot
ICAgICAgICBsZWFrX2ZpbGVzID0gWycvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBSZW5kZXJUcmVl
LTEyMzQudHh0JywgJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVtcFJlbmRlclRyZWUtMTIzNS50eHQn
XQotICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiTU9DSyBfcnVuX3NjcmlwdDogcGFyc2UtbWFs
bG9jLWhpc3RvcnkgWyctLW1lcmdlLWRlcHRoJywgNSwgJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVt
cFJlbmRlclRyZWUtMTIzNC50eHQnLCAnL21vY2stcmVzdWx0cy9sZWFrcy1EdW1wUmVuZGVyVHJl
ZS0xMjM1LnR4dCddXG4iCisgICAgICAgIGxlYWtfZmlsZXMgPSBbJy9tb2NrLXJlc3VsdHMvRHVt
cFJlbmRlclRyZWUtMTIzNC1sZWFrcy50eHQnLCAnL21vY2stcmVzdWx0cy9EdW1wUmVuZGVyVHJl
ZS0xMjM1LWxlYWtzLnR4dCddCisgICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJNT0NLIF9ydW5f
c2NyaXB0OiBwYXJzZS1tYWxsb2MtaGlzdG9yeSBbJy0tbWVyZ2UtZGVwdGgnLCA1LCAnL21vY2st
cmVzdWx0cy9EdW1wUmVuZGVyVHJlZS0xMjM0LWxlYWtzLnR4dCcsICcvbW9jay1yZXN1bHRzL0R1
bXBSZW5kZXJUcmVlLTEyMzUtbGVha3MudHh0J11cbiIKICAgICAgICAgcmVzdWx0c190dXBsZSA9
IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBkZXRlY3Rvci5wYXJzZV9sZWFr
X2ZpbGVzLCBbbGVha19maWxlc10sIGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRvdXQpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3VsdHNfdHVwbGUsICgiNSw4ODggYnl0ZXMiLCAx
KSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvdGVzdC5w
eQppbmRleCA3MTA3Njg3ZjM3ZDVlMWI3NDY1ZGE0NDY5YzlmNzM1ZDY5MGU3ZWMwLi5lYjdiMzQw
MjU5NjVjZjMzYzdjNDNiMjc1YTY2NTk4NDViNDU3NDJjIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5CkBAIC0yNDQsOCArMjQ0LDEwIEBA
IFdPTlRGSVggU0tJUCA6IGZhaWx1cmVzL2V4cGVjdGVkL2tleWJvYXJkLmh0bWwgPSBDUkFTSAog
V09OVEZJWCBTS0lQIDogZmFpbHVyZXMvZXhwZWN0ZWQvZXhjZXB0aW9uLmh0bWwgPSBDUkFTSAog
IiIiCiAKKyAgICAjIEZJWE1FOiBUaGlzIHRlc3Qgd2FzIG9ubHkgYmVpbmcgaWdub3JlZCBieSBh
IHR5cG8gYW5kIGJyb2tlbiBtb2NrIGdsb2IoKSBpbXBsZW1lbnRhdGlvbgorICAgICMgTm93IHRo
YXQgd2UndmUgZml4ZWQgZ2xvYiwgdGhpcyB0ZXN0IGlzIG5vdCBza2lwcGVkIGluIGFsbCB0ZXN0
IHBhdGhzLCBhbmQgY2F1c2VzIGFzc2VydGlvbnMsIGRpc2FibGluZy4KICAgICAjIEFkZCBpbiBh
IGZpbGUgc2hvdWxkIGJlIGlnbm9yZWQgYnkgdGVzdF9maWxlcy5maW5kKCkuCi0gICAgZmlsZXNb
TEFZT1VUX1RFU1RfRElSICsgJ3VzZXJzY3JpcHRzL3Jlc291cmNlcy9pZnJhbWUuaHRtbCddID0g
J2lmcmFtZScKKyAgICAjZmlsZXNbTEFZT1VUX1RFU1RfRElSICsgJy91c2Vyc2NyaXB0cy9yZXNv
dXJjZXMvaWZyYW1lLmh0bWwnXSA9ICdpZnJhbWUnCiAKICAgICBmcyA9IGZpbGVzeXN0ZW1fbW9j
ay5Nb2NrRmlsZVN5c3RlbShmaWxlcywgZGlycz1zZXQoWycvbW9jay1jaGVja291dCddKSkgICMg
TWFrZSBzdXJlIGF0IGxlYXN0IHRoZSBjaGVja291dF9yb290IGV4aXN0cyBhcyBhIGRpcmVjdG9y
eS4KICAgICBmcy5fdGVzdHMgPSB0ZXN0X2xpc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105995</attachid>
            <date>2011-09-01 11:20:13 -0700</date>
            <delta_ts>2011-09-01 12:28:51 -0700</delta_ts>
            <desc>Fix typo from Darin&apos;s review</desc>
            <filename>bug-66228-20110901112012.patch</filename>
            <type>text/plain</type>
            <size>5977</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzMTYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhOWMyMTRlMDc0NzlhMGZhODE2Mzc3MDM0Y2Y2MmY3MjUw
OTJjOTM0Li40OWZmZmVjZjliNDBjNGQ2NjNhYjU5MDYwODBiZWVkNDcwOTMxNjM2IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMDgtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IFJFR1JFU1NJT04gKE5SV1QpOiBMZWFrcyBWaWV3ZXIgY2FuJ3QgbG9hZCBsZWFrcyBmcm9tIHRl
c3QgcnVucyB0aGF0IHVzZWQgTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBPUldUIHVzZWQgJChQUk9DRVNTKSQoTlVNQkVSKS1sZWFrcy50eHQgZm9y
IGxlYWtzIGZpbGVuYW1lcy4KKyAgICAgICAgVGhlIExlYWtzVmlld2VyIHRvb2wgZ2xvYnMgZm9y
IGFsbCAqLWxlYWtzLnR4dCBmaWxlcy4KKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBOUldUIG91
dHB1dCAkKFBST0NFU1MpLSQoUElEKS1sZWFrcy50eHQgd2hpY2ggc2hvdWxkIG1hdGNoLgorCisg
ICAgICAgIEluIG9yZGVyIHRvIHRlc3QgdGhpcyBJIGhhZCB0byBmaXggYSBsaW1pdGF0aW9uIGlu
IG91ciBNb2NrRmlsZVN5c3RlbS5nbG9iCisgICAgICAgIG1ldGhvZC4gIEhvd2V2ZXIsIGRvaW5n
IHNvIHVuY292ZXJlZCBhIHR5cG8gYW5kIGJ1ZyBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdHMuCisg
ICAgICAgIEkndmUgZGlzYWJsZWQgdGhlIG9mZmVuZGluZyBpbnRlZ3JhdGlvbiB0ZXN0cy4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2su
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0
ZWN0b3IucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9s
ZWFrZGV0ZWN0b3JfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC90ZXN0LnB5OgorCiAyMDExLTA5LTAxICBFcmljIFNlaWRlbCAgPGVyaWNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkKaW5kZXggZjkx
MmZhY2ZhOTA2NjFmNmM4ZGQ0YWM5MDkzMjQwOGQ2OGNlZjk0NC4uOGY3OWUzNmZlZTI2MTIxZGVj
YmRmMzA2NGM4M2JmOWEwMjBjNTA5OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrLnB5CkBAIC0xNDIsMTMgKzE0Miwx
NiBAQCBjbGFzcyBNb2NrRmlsZVN5c3RlbShvYmplY3QpOgogICAgICAgICByZXR1cm4gc2VsZi5j
d2QKIAogICAgIGRlZiBnbG9iKHNlbGYsIGdsb2Jfc3RyaW5nKToKLSAgICAgICAgIyBGSVhNRTog
VGhpcyBvbmx5IGhhbmRsZXMgYSB3aWxkY2FyZCAnKicgYXQgdGhlIGVuZCBvZiB0aGUgcGF0aC4K
LSAgICAgICAgIyBNYXliZSBpdCBzaG91bGQgaGFuZGxlIG1vcmU/Ci0gICAgICAgIGlmIGdsb2Jf
c3RyaW5nWy0xXSA9PSAnKic6Ci0gICAgICAgICAgICBwYXRoX2ZpbHRlciA9IGxhbWJkYSBwYXRo
OiBwYXRoLnN0YXJ0c3dpdGgoZ2xvYl9zdHJpbmdbOi0xXSkKKyAgICAgICAgIyBGSVhNRTogVGhp
cyBvbmx5IGhhbmRsZXMgdGhlIHNpbXBsZXN0IG9mIHdpbGRjYXJkIG1hdGNoZXMuCisgICAgICAg
IHdpbGRjYXJkX2luZGV4ID0gZ2xvYl9zdHJpbmcuZmluZCgnKicpCisgICAgICAgIGlmIHdpbGRj
YXJkX2luZGV4ICE9IC0xOgorICAgICAgICAgICAgYmVmb3JlX3dpbGRjYXJkID0gZ2xvYl9zdHJp
bmdbOndpbGRjYXJkX2luZGV4IC0gMV0KKyAgICAgICAgICAgIGFmdGVyX3dpbGRjYXJkID0gZ2xv
Yl9zdHJpbmdbd2lsZGNhcmRfaW5kZXggKyAxOl0KKyAgICAgICAgICAgIHBhdGhfZmlsdGVyID0g
bGFtYmRhIHBhdGg6IHBhdGguc3RhcnRzd2l0aChiZWZvcmVfd2lsZGNhcmQpIGFuZCBwYXRoLmVu
ZHN3aXRoKGFmdGVyX3dpbGRjYXJkKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcGF0aF9m
aWx0ZXIgPSBsYW1iZGEgcGF0aDogZ2xvYl9zdHJpbmcgPT0gcGF0aAogCisgICAgICAgICMgV2Ug
Y291bGQgdXNlIGZubWF0Y2guZm5tYXRjaCwgYnV0IHRoYXQgbWlnaHQgbm90IGRvIHRoZSByaWdo
dCB0aGluZyBvbiB3aW5kb3dzLgogICAgICAgICBleGlzdGluZ19maWxlcyA9IFtwYXRoIGZvciBw
YXRoLCBjb250ZW50cyBpbiBzZWxmLmZpbGVzLml0ZW1zKCkgaWYgY29udGVudHMgaXMgbm90IE5v
bmVdCiAgICAgICAgIHJldHVybiBmaWx0ZXIocGF0aF9maWx0ZXIsIGV4aXN0aW5nX2ZpbGVzKSAr
IGZpbHRlcihwYXRoX2ZpbHRlciwgc2VsZi5kaXJzKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yLnB5CmluZGV4IGNh
NjAwZTAxNzRhZjQ4NDYzYzdmYjY0ODg3NWU4NmNiMDEzMGQ1ZjcuLjg2YWRmMzRhODg4ZTBiZDIy
ZDA0YTcxNDcyYWZjYjk0ZDdiYjk4ZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yLnB5CkBAIC05MSwxMSArOTEs
MTEgQEAgY2xhc3MgTGVha0RldGVjdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBpbnQoY291
bnQpLCBpbnQoZXhjbHVkZWQpLCBpbnQoYnl0ZXMpCiAKICAgICBkZWYgbGVha3NfZmlsZXNfaW5f
ZGlyZWN0b3J5KHNlbGYsIGRpcmVjdG9yeSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lz
dGVtLmdsb2Ioc2VsZi5fZmlsZXN5c3RlbS5qb2luKGRpcmVjdG9yeSwgImxlYWtzLSoiKSkKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZ2xvYihzZWxmLl9maWxlc3lzdGVtLmpvaW4o
ZGlyZWN0b3J5LCAiKi1sZWFrcy50eHQiKSkKIAogICAgIGRlZiBsZWFrc19maWxlX25hbWUoc2Vs
ZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6CiAgICAgICAgICMgV2UgaW5jbHVkZSB0aGUg
bnVtYmVyIG9mIGZpbGVzIHRoaXMgd29ya2VyIGhhcyBhbHJlYWR5IHdyaXR0ZW4gaW4gdGhlIG5h
bWUgdG8gcHJldmVudCBvdmVyd3JpdHRpbmcgcHJldmlvdXMgbGVhayByZXN1bHRzLi4KLSAgICAg
ICAgcmV0dXJuICJsZWFrcy0lcy0lcy50eHQiICUgKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQp
CisgICAgICAgIHJldHVybiAiJXMtJXMtbGVha3MudHh0IiAlIChwcm9jZXNzX25hbWUsIHByb2Nl
c3NfcGlkKQogCiAgICAgZGVmIHBhcnNlX2xlYWtfZmlsZXMoc2VsZiwgbGVha19maWxlcyk6CiAg
ICAgICAgIG1lcmdlX2RlcHRoID0gNSAgIyBPUldUIGhhZCBhIC0tbWVyZ2UtbGVhay1kZXB0aCBh
cmd1bWVudCwgYnV0IHRoYXQgc2VlbXMgb3V0IG9mIHNjb3BlIGZvciB0aGUgcnVuLXdlYmtpdC10
ZXN0cyB0b29sLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9sZWFrZGV0ZWN0b3JfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvcl91bml0dGVzdC5weQppbmRleCA3MjBhOTM1
MGMwOTI1MDIxNDlhMDQ1Y2UwYjJjNGY2NjZiMmUxOWIwLi5lNWM0NjBlNTU3OTM5YzEzMTY2NDhh
ZTFlZmYwMGM4Y2Y1NzM5N2UyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvcl91bml0dGVzdC5weQpA
QCAtODUsOSArODUsOSBAQCBMZWFrOiAweDI1MTAyZmUwICBzaXplPTE3NiAgem9uZTogRGVmYXVs
dE1hbGxvY1pvbmVfMHgxZDk0MDAwICAgc3RyaW5nICdOU0V4Y2VwdAogICAgICAgICBkZXRlY3Rv
ciA9IHNlbGYuX21ha2VfZGV0ZWN0b3IoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhkZXRl
Y3Rvci5sZWFrc19maWxlc19pbl9kaXJlY3RvcnkoJy9ib2d1cy1kaXJlY3RvcnknKSwgW10pCiAg
ICAgICAgIGRldGVjdG9yLl9maWxlc3lzdGVtID0gTW9ja0ZpbGVTeXN0ZW0oewotICAgICAgICAg
ICAgJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVtcFJlbmRlclRyZWUtMC0xLnR4dCc6ICcnLAotICAg
ICAgICAgICAgJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVtcFJlbmRlclRyZWUtMS0xLnR4dCc6ICcn
LAotICAgICAgICAgICAgJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVtcFJlbmRlclRyZWUtMC0yLnR4
dCc6ICcnLAorICAgICAgICAgICAgJy9tb2NrLXJlc3VsdHMvRHVtcFJlbmRlclRyZWUtMTIzNC1s
ZWFrcy50eHQnOiAnJywKKyAgICAgICAgICAgICcvbW9jay1yZXN1bHRzL0R1bXBSZW5kZXJUcmVl
LTIzNDIzLWxlYWtzLnR4dCc6ICcnLAorICAgICAgICAgICAgJy9tb2NrLXJlc3VsdHMvRHVtcFJl
bmRlclRyZWUtODIzLWxlYWtzLnR4dCc6ICcnLAogICAgICAgICB9KQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhsZW4oZGV0ZWN0b3IubGVha3NfZmlsZXNfaW5fZGlyZWN0b3J5KCcvbW9jay1y
ZXN1bHRzJykpLCAzKQogCkBAIC0xMDEsNyArMTAxLDcgQEAgTGVhazogMHgyNTEwMmZlMCAgc2l6
ZT0xNzYgIHpvbmU6IERlZmF1bHRNYWxsb2Nab25lXzB4MWQ5NDAwMCAgIHN0cmluZyAnTlNFeGNl
cHQKIHRvdGFsOiA1LDg4OCBieXRlcyAoMCBieXRlcyBleGNsdWRlZCkuIiIiCiAgICAgICAgIGRl
dGVjdG9yLl9wb3J0Ll9ydW5fc2NyaXB0ID0gbW9ja19ydW5fc2NyaXB0CiAKLSAgICAgICAgbGVh
a19maWxlcyA9IFsnL21vY2stcmVzdWx0cy9sZWFrcy1EdW1wUmVuZGVyVHJlZS0xMjM0LnR4dCcs
ICcvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBSZW5kZXJUcmVlLTEyMzUudHh0J10KLSAgICAgICAg
ZXhwZWN0ZWRfc3Rkb3V0ID0gIk1PQ0sgX3J1bl9zY3JpcHQ6IHBhcnNlLW1hbGxvYy1oaXN0b3J5
IFsnLS1tZXJnZS1kZXB0aCcsIDUsICcvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBSZW5kZXJUcmVl
LTEyMzQudHh0JywgJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVtcFJlbmRlclRyZWUtMTIzNS50eHQn
XVxuIgorICAgICAgICBsZWFrX2ZpbGVzID0gWycvbW9jay1yZXN1bHRzL0R1bXBSZW5kZXJUcmVl
LTEyMzQtbGVha3MudHh0JywgJy9tb2NrLXJlc3VsdHMvRHVtcFJlbmRlclRyZWUtMTIzNS1sZWFr
cy50eHQnXQorICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiTU9DSyBfcnVuX3NjcmlwdDogcGFy
c2UtbWFsbG9jLWhpc3RvcnkgWyctLW1lcmdlLWRlcHRoJywgNSwgJy9tb2NrLXJlc3VsdHMvRHVt
cFJlbmRlclRyZWUtMTIzNC1sZWFrcy50eHQnLCAnL21vY2stcmVzdWx0cy9EdW1wUmVuZGVyVHJl
ZS0xMjM1LWxlYWtzLnR4dCddXG4iCiAgICAgICAgIHJlc3VsdHNfdHVwbGUgPSBPdXRwdXRDYXB0
dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgZGV0ZWN0b3IucGFyc2VfbGVha19maWxlcywgW2xl
YWtfZmlsZXNdLCBleHBlY3RlZF9zdGRvdXQ9ZXhwZWN0ZWRfc3Rkb3V0KQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhyZXN1bHRzX3R1cGxlLCAoIjUsODg4IGJ5dGVzIiwgMSkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106009</attachid>
            <date>2011-09-01 12:28:55 -0700</date>
            <delta_ts>2011-09-01 14:28:58 -0700</delta_ts>
            <desc>Removed extra entry from ChangeLog and removed spurious import glob statement</desc>
            <filename>bug-66228-20110901122854.patch</filename>
            <type>text/plain</type>
            <size>6506</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzMjkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0MmE1NmE1ZjhlMzA5ZDI3MTJhMjIzYWYyMGZiYWIyMjAw
ZjExN2EyLi43MThmNTZhMjdjMWMwYWQxMmFkMDcxMzg1MzBmYzFmMmY3NTgzM2JhIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTEtMDgtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IFJFR1JFU1NJT04gKE5SV1QpOiBMZWFrcyBWaWV3ZXIgY2FuJ3QgbG9hZCBsZWFrcyBmcm9tIHRl
c3QgcnVucyB0aGF0IHVzZWQgTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBPUldUIHVzZWQgJChQUk9DRVNTKSQoTlVNQkVSKS1sZWFrcy50eHQgZm9y
IGxlYWtzIGZpbGVuYW1lcy4KKyAgICAgICAgVGhlIExlYWtzVmlld2VyIHRvb2wgZ2xvYnMgZm9y
IGFsbCAqLWxlYWtzLnR4dCBmaWxlcy4KKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBOUldUIG91
dHB1dCAkKFBST0NFU1MpLSQoUElEKS1sZWFrcy50eHQgd2hpY2ggc2hvdWxkIG1hdGNoLgorCisg
ICAgICAgIEluIG9yZGVyIHRvIHRlc3QgdGhpcyBJIGhhZCB0byBmaXggYSBsaW1pdGF0aW9uIGlu
IG91ciBNb2NrRmlsZVN5c3RlbS5nbG9iCisgICAgICAgIG1ldGhvZC4gIEhvd2V2ZXIsIGRvaW5n
IHNvIHVuY292ZXJlZCBhIHR5cG8gYW5kIGJ1ZyBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdHMuCisg
ICAgICAgIEkndmUgZGlzYWJsZWQgdGhlIG9mZmVuZGluZyBpbnRlZ3JhdGlvbiB0ZXN0cy4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2su
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0
ZWN0b3IucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9s
ZWFrZGV0ZWN0b3JfdW5pdHRlc3QucHk6CisKIDIwMTEtMDktMDEgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdW51c2VkICJleHRlbnNpb24iIHBhcmFt
ZXRlciBmcm9tIHJlYmFzZWxpbmUgZ2FyZGVuaW5nc2VydmVyIGhhbmRsZXIKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrLnB5
CmluZGV4IGY5MTJmYWNmYTkwNjYxZjZjOGRkNGFjOTA5MzI0MDhkNjhjZWY5NDQuLjhmNzllMzZm
ZWUyNjEyMWRlY2JkZjMwNjRjODNiZjlhMDIwYzUwOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weQpAQCAtMTQy
LDEzICsxNDIsMTYgQEAgY2xhc3MgTW9ja0ZpbGVTeXN0ZW0ob2JqZWN0KToKICAgICAgICAgcmV0
dXJuIHNlbGYuY3dkCiAKICAgICBkZWYgZ2xvYihzZWxmLCBnbG9iX3N0cmluZyk6Ci0gICAgICAg
ICMgRklYTUU6IFRoaXMgb25seSBoYW5kbGVzIGEgd2lsZGNhcmQgJyonIGF0IHRoZSBlbmQgb2Yg
dGhlIHBhdGguCi0gICAgICAgICMgTWF5YmUgaXQgc2hvdWxkIGhhbmRsZSBtb3JlPwotICAgICAg
ICBpZiBnbG9iX3N0cmluZ1stMV0gPT0gJyonOgotICAgICAgICAgICAgcGF0aF9maWx0ZXIgPSBs
YW1iZGEgcGF0aDogcGF0aC5zdGFydHN3aXRoKGdsb2Jfc3RyaW5nWzotMV0pCisgICAgICAgICMg
RklYTUU6IFRoaXMgb25seSBoYW5kbGVzIHRoZSBzaW1wbGVzdCBvZiB3aWxkY2FyZCBtYXRjaGVz
LgorICAgICAgICB3aWxkY2FyZF9pbmRleCA9IGdsb2Jfc3RyaW5nLmZpbmQoJyonKQorICAgICAg
ICBpZiB3aWxkY2FyZF9pbmRleCAhPSAtMToKKyAgICAgICAgICAgIGJlZm9yZV93aWxkY2FyZCA9
IGdsb2Jfc3RyaW5nWzp3aWxkY2FyZF9pbmRleCAtIDFdCisgICAgICAgICAgICBhZnRlcl93aWxk
Y2FyZCA9IGdsb2Jfc3RyaW5nW3dpbGRjYXJkX2luZGV4ICsgMTpdCisgICAgICAgICAgICBwYXRo
X2ZpbHRlciA9IGxhbWJkYSBwYXRoOiBwYXRoLnN0YXJ0c3dpdGgoYmVmb3JlX3dpbGRjYXJkKSBh
bmQgcGF0aC5lbmRzd2l0aChhZnRlcl93aWxkY2FyZCkKICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgIHBhdGhfZmlsdGVyID0gbGFtYmRhIHBhdGg6IGdsb2Jfc3RyaW5nID09IHBhdGgKIAorICAg
ICAgICAjIFdlIGNvdWxkIHVzZSBmbm1hdGNoLmZubWF0Y2gsIGJ1dCB0aGF0IG1pZ2h0IG5vdCBk
byB0aGUgcmlnaHQgdGhpbmcgb24gd2luZG93cy4KICAgICAgICAgZXhpc3RpbmdfZmlsZXMgPSBb
cGF0aCBmb3IgcGF0aCwgY29udGVudHMgaW4gc2VsZi5maWxlcy5pdGVtcygpIGlmIGNvbnRlbnRz
IGlzIG5vdCBOb25lXQogICAgICAgICByZXR1cm4gZmlsdGVyKHBhdGhfZmlsdGVyLCBleGlzdGlu
Z19maWxlcykgKyBmaWx0ZXIocGF0aF9maWx0ZXIsIHNlbGYuZGlycykKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX2xvY2sucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfbG9jay5weQppbmRl
eCA1NGU3ODJhZWNhMDNkY2E1ZWM3Nzc4ZGIwZjFjODBjM2U3NTU3NWU4Li5lZTM0NDkxYzE2ZGNk
MDYxMzM5ZjliYTE2NWMyZWEwOTJiZjVmYTNhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfbG9jay5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfbG9jay5weQpAQCAtMjgsNyArMjgsNiBA
QAogIiIiVGhpcyBjbGFzcyBoZWxwcyB0byBibG9jayBOUldUIHRocmVhZHMgd2hlbiBtb3JlIE5S
V1RzIHJ1bgogaHR0cCBhbmQgd2Vic29ja2V0IHRlc3RzIGluIGEgc2FtZSB0aW1lLiIiIgogCi1p
bXBvcnQgZ2xvYgogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwogaW1wb3J0IHN5cwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0
b3IucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRl
Y3Rvci5weQppbmRleCBjYTYwMGUwMTc0YWY0ODQ2M2M3ZmI2NDg4NzVlODZjYjAxMzBkNWY3Li44
NmFkZjM0YTg4OGUwYmQyMmQwNGE3MTQ3MmFmY2I5NGQ3YmI5OGU4IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2xlYWtkZXRlY3Rvci5w
eQpAQCAtOTEsMTEgKzkxLDExIEBAIGNsYXNzIExlYWtEZXRlY3RvcihvYmplY3QpOgogICAgICAg
ICByZXR1cm4gaW50KGNvdW50KSwgaW50KGV4Y2x1ZGVkKSwgaW50KGJ5dGVzKQogCiAgICAgZGVm
IGxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLCBkaXJlY3RvcnkpOgotICAgICAgICByZXR1
cm4gc2VsZi5fZmlsZXN5c3RlbS5nbG9iKHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihkaXJlY3Rvcnks
ICJsZWFrcy0qIikpCisgICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmdsb2Ioc2VsZi5f
ZmlsZXN5c3RlbS5qb2luKGRpcmVjdG9yeSwgIiotbGVha3MudHh0IikpCiAKICAgICBkZWYgbGVh
a3NfZmlsZV9uYW1lKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpOgogICAgICAgICAj
IFdlIGluY2x1ZGUgdGhlIG51bWJlciBvZiBmaWxlcyB0aGlzIHdvcmtlciBoYXMgYWxyZWFkeSB3
cml0dGVuIGluIHRoZSBuYW1lIHRvIHByZXZlbnQgb3ZlcndyaXR0aW5nIHByZXZpb3VzIGxlYWsg
cmVzdWx0cy4uCi0gICAgICAgIHJldHVybiAibGVha3MtJXMtJXMudHh0IiAlIChwcm9jZXNzX25h
bWUsIHByb2Nlc3NfcGlkKQorICAgICAgICByZXR1cm4gIiVzLSVzLWxlYWtzLnR4dCIgJSAocHJv
Y2Vzc19uYW1lLCBwcm9jZXNzX3BpZCkKIAogICAgIGRlZiBwYXJzZV9sZWFrX2ZpbGVzKHNlbGYs
IGxlYWtfZmlsZXMpOgogICAgICAgICBtZXJnZV9kZXB0aCA9IDUgICMgT1JXVCBoYWQgYSAtLW1l
cmdlLWxlYWstZGVwdGggYXJndW1lbnQsIGJ1dCB0aGF0IHNlZW1zIG91dCBvZiBzY29wZSBmb3Ig
dGhlIHJ1bi13ZWJraXQtdGVzdHMgdG9vbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3JfdW5pdHRlc3Qu
cHkKaW5kZXggNzIwYTkzNTBjMDkyNTAyMTQ5YTA0NWNlMGIyYzRmNjY2YjJlMTliMC4uZTVjNDYw
ZTU1NzkzOWMxMzE2NjQ4YWUxZWZmMDBjOGNmNTczOTdlMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3JfdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0
b3JfdW5pdHRlc3QucHkKQEAgLTg1LDkgKzg1LDkgQEAgTGVhazogMHgyNTEwMmZlMCAgc2l6ZT0x
NzYgIHpvbmU6IERlZmF1bHRNYWxsb2Nab25lXzB4MWQ5NDAwMCAgIHN0cmluZyAnTlNFeGNlcHQK
ICAgICAgICAgZGV0ZWN0b3IgPSBzZWxmLl9tYWtlX2RldGVjdG9yKCkKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMoZGV0ZWN0b3IubGVha3NfZmlsZXNfaW5fZGlyZWN0b3J5KCcvYm9ndXMtZGly
ZWN0b3J5JyksIFtdKQogICAgICAgICBkZXRlY3Rvci5fZmlsZXN5c3RlbSA9IE1vY2tGaWxlU3lz
dGVtKHsKLSAgICAgICAgICAgICcvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBSZW5kZXJUcmVlLTAt
MS50eHQnOiAnJywKLSAgICAgICAgICAgICcvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBSZW5kZXJU
cmVlLTEtMS50eHQnOiAnJywKLSAgICAgICAgICAgICcvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBS
ZW5kZXJUcmVlLTAtMi50eHQnOiAnJywKKyAgICAgICAgICAgICcvbW9jay1yZXN1bHRzL0R1bXBS
ZW5kZXJUcmVlLTEyMzQtbGVha3MudHh0JzogJycsCisgICAgICAgICAgICAnL21vY2stcmVzdWx0
cy9EdW1wUmVuZGVyVHJlZS0yMzQyMy1sZWFrcy50eHQnOiAnJywKKyAgICAgICAgICAgICcvbW9j
ay1yZXN1bHRzL0R1bXBSZW5kZXJUcmVlLTgyMy1sZWFrcy50eHQnOiAnJywKICAgICAgICAgfSkK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKGRldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2Rp
cmVjdG9yeSgnL21vY2stcmVzdWx0cycpKSwgMykKIApAQCAtMTAxLDcgKzEwMSw3IEBAIExlYWs6
IDB4MjUxMDJmZTAgIHNpemU9MTc2ICB6b25lOiBEZWZhdWx0TWFsbG9jWm9uZV8weDFkOTQwMDAg
ICBzdHJpbmcgJ05TRXhjZXB0CiB0b3RhbDogNSw4ODggYnl0ZXMgKDAgYnl0ZXMgZXhjbHVkZWQp
LiIiIgogICAgICAgICBkZXRlY3Rvci5fcG9ydC5fcnVuX3NjcmlwdCA9IG1vY2tfcnVuX3Njcmlw
dAogCi0gICAgICAgIGxlYWtfZmlsZXMgPSBbJy9tb2NrLXJlc3VsdHMvbGVha3MtRHVtcFJlbmRl
clRyZWUtMTIzNC50eHQnLCAnL21vY2stcmVzdWx0cy9sZWFrcy1EdW1wUmVuZGVyVHJlZS0xMjM1
LnR4dCddCi0gICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJNT0NLIF9ydW5fc2NyaXB0OiBwYXJz
ZS1tYWxsb2MtaGlzdG9yeSBbJy0tbWVyZ2UtZGVwdGgnLCA1LCAnL21vY2stcmVzdWx0cy9sZWFr
cy1EdW1wUmVuZGVyVHJlZS0xMjM0LnR4dCcsICcvbW9jay1yZXN1bHRzL2xlYWtzLUR1bXBSZW5k
ZXJUcmVlLTEyMzUudHh0J11cbiIKKyAgICAgICAgbGVha19maWxlcyA9IFsnL21vY2stcmVzdWx0
cy9EdW1wUmVuZGVyVHJlZS0xMjM0LWxlYWtzLnR4dCcsICcvbW9jay1yZXN1bHRzL0R1bXBSZW5k
ZXJUcmVlLTEyMzUtbGVha3MudHh0J10KKyAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIk1PQ0sg
X3J1bl9zY3JpcHQ6IHBhcnNlLW1hbGxvYy1oaXN0b3J5IFsnLS1tZXJnZS1kZXB0aCcsIDUsICcv
bW9jay1yZXN1bHRzL0R1bXBSZW5kZXJUcmVlLTEyMzQtbGVha3MudHh0JywgJy9tb2NrLXJlc3Vs
dHMvRHVtcFJlbmRlclRyZWUtMTIzNS1sZWFrcy50eHQnXVxuIgogICAgICAgICByZXN1bHRzX3R1
cGxlID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGRldGVjdG9yLnBhcnNl
X2xlYWtfZmlsZXMsIFtsZWFrX2ZpbGVzXSwgZXhwZWN0ZWRfc3Rkb3V0PWV4cGVjdGVkX3N0ZG91
dCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzdWx0c190dXBsZSwgKCI1LDg4OCBieXRl
cyIsIDEpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>