<?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>28675</bug_id>
          
          <creation_ts>2009-08-24 00:23:01 -0700</creation_ts>
          <short_desc>Make prepare-ChangeLog notice property changes</short_desc>
          <delta_ts>2009-08-26 23:38:35 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron McCormack (:heycam)">heycam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>mitz</cc>
    
    <cc>wsiegrist</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142285</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-24 00:23:01 -0700</bug_when>
    <thetext>It would be good if prepare-ChangeLog would not bail if only properties have been modified.  It would be handy too if the property changes are noticed and included in the ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142286</commentid>
    <comment_count>1</comment_count>
      <attachid>38472</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-24 00:36:31 -0700</bug_when>
    <thetext>Created attachment 38472
Make prepare-ChangeLog work as described

This causes prepare-ChangeLog to add ChangeLog entries like this:

  * path/to/file: Added xxx property.
  * path/to/file: Modified xxx property.
  * path/to/file: Removed xxx property.

if one property was changed on the file, and:

  * path/to/file: Changed properties.

if more than one property was changed.  These descriptions are only inserted if there is no change to the file contents itself.

Also, now if the only changes to the repository are property changes, a ChangeLog entry will still be prepared, whereas currently it will bail and say &quot;No changes found&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142288</commentid>
    <comment_count>2</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-24 00:42:45 -0700</bug_when>
    <thetext>BTW I haven&apos;t tested this on a git checkout, where there should be no change in behaviour, since git doesn&apos;t have properties.

A small additional note: older versions of svn have output like this:

  Property changes on: blah
  -----------------------------
  Name: svn:executable
    + *

where it doesn&apos;t explicitly note if the property was added/modified/deleted.  The patch here falls back in this case to the description &quot;Changed properties&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142757</commentid>
    <comment_count>3</comment_count>
      <attachid>38585</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-25 19:03:53 -0700</bug_when>
    <thetext>Created attachment 38585
Make prepare-ChangeLog work as described

Sorry, just noticed there was some additional cruft left in the patch from a different bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142779</commentid>
    <comment_count>4</comment_count>
      <attachid>38585</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-08-25 21:46:53 -0700</bug_when>
    <thetext>Comment on attachment 38585
Make prepare-ChangeLog work as described

Thanks for taking this on!  This has been a long time in coming.

&gt; +    open INFO, &quot;$SVN diff &apos;$file&apos; |&quot; or die;

Please use &quot;DIFF&quot; for the file handle name instead of &quot;INFO&quot; here.

&gt; -        next unless $status;
&gt; +        next unless $status &amp;&amp; !(isUnmodifiedStatus($status) &amp;&amp; isUnmodifiedStatus($propertyStatus));

This logic is too negative.  Can we make it more positive?  Also, I think you need to check $propertyStatus since there are two cases (one for svn and one for git) where it may not be set.

    next if (!$status || isUnmodifiedStatus($status)) &amp;&amp; (!$propertyStatus || isUnmodifiedStatus($propertyStatus));

This may also be fixed by setting $propertyStatus to a default of &quot; &quot;.  That may work better for the code following this statement.

&gt; +sub propertyChangeDescription($)
&gt; +{
&gt; +    my ($propertyChanges) = @_;
&gt; +
&gt; +    my @properties = keys(%$propertyChanges);
&gt; +    my $property;
&gt; +    my $formatString;
&gt; +
&gt; +    if (@properties == 1) {
&gt; +        my %operation = (
&gt; +            &quot;A&quot; =&gt; &quot; Added %s property.&quot;,
&gt; +            &quot;M&quot; =&gt; &quot; Modified %s property.&quot;,
&gt; +            &quot;D&quot; =&gt; &quot; Removed %s property.&quot;,
&gt; +        );
&gt; +
&gt; +        ($property) = @properties;
&gt; +        my $propertyChange = $propertyChanges-&gt;{$property};
&gt; +        $formatString = $operation{$propertyChange};
&gt; +    } else {
&gt; +        $formatString = &quot; Changed properties.&quot;;
&gt; +    }
&gt; +
&gt; +    return sprintf($formatString, $property);
&gt; +}

I would rather see all property changes listed if there are more than one.  Please update this method to list all the property changes and just append the formatted strings to a $result string.

r- to make the above changes.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142825</commentid>
    <comment_count>5</comment_count>
      <attachid>38604</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-26 05:11:19 -0700</bug_when>
    <thetext>Created attachment 38604
Make prepare-ChangeLog work as described, v2

(In reply to comment #4)
&gt; &gt; +    open INFO, &quot;$SVN diff &apos;$file&apos; |&quot; or die;
&gt; 
&gt; Please use &quot;DIFF&quot; for the file handle name instead of &quot;INFO&quot; here.

Done.
 
&gt; &gt; -        next unless $status;
&gt; &gt; +        next unless $status &amp;&amp; !(isUnmodifiedStatus($status) &amp;&amp; isUnmodifiedStatus($propertyStatus));
&gt; 
&gt; This logic is too negative.  Can we make it more positive?  Also, I think you
&gt; need to check $propertyStatus since there are two cases (one for svn and one
&gt; for git) where it may not be set.
&gt; 
&gt;     next if (!$status || isUnmodifiedStatus($status)) &amp;&amp; (!$propertyStatus ||
&gt; isUnmodifiedStatus($propertyStatus));
&gt; 
&gt; This may also be fixed by setting $propertyStatus to a default of &quot; &quot;.  That
&gt; may work better for the code following this statement.

Solved this by ensuring that $propertyStatus is always set if $status is set,
and by changing it to a &quot;next if&quot; statement.

&gt; &gt; +sub propertyChangeDescription($)
&gt; &gt; ... 
&gt; I would rather see all property changes listed if there are more than one. 
&gt; Please update this method to list all the property changes and just append the
&gt; formatted strings to a $result string.

OK I&apos;ve made it output all changed properties.

It still only describes the property changes if there are no changes to the file contents, though.  Do you think that&apos;s the preferred thing to do?  Or should it always list the property changes?  One thing that looks confusing is if the file was modified and properties were changed.  Since the description for a file modification is empty, the description of the property changes by itself makes it look like that&apos;s the only change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142831</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-08-26 05:39:08 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; &gt; +sub propertyChangeDescription($)
&gt; &gt; &gt; ... 
&gt; &gt; I would rather see all property changes listed if there are more than one. 
&gt; &gt; Please update this method to list all the property changes and just append the
&gt; &gt; formatted strings to a $result string.
&gt; 
&gt; OK I&apos;ve made it output all changed properties.
&gt; 
&gt; It still only describes the property changes if there are no changes to the
&gt; file contents, though.  Do you think that&apos;s the preferred thing to do?  Or
&gt; should it always list the property changes?  One thing that looks confusing is
&gt; if the file was modified and properties were changed.  Since the description
&gt; for a file modification is empty, the description of the property changes by
&gt; itself makes it look like that&apos;s the only change.

Hmm...I think it would be nice to list all property changes regardless of other changes to the file.  When a new file is added, I think the main entry for the file says &quot;Added.&quot;, but all the new methods are also listed.  We could do something similar for properties.

Ultimately, the patch author has the responsibility to update the ChangeLog entry, so I think it&apos;s best to give them all the information possible (as long as the default behavior can also be used without modification).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143009</commentid>
    <comment_count>7</comment_count>
      <attachid>38649</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-26 17:14:05 -0700</bug_when>
    <thetext>Created attachment 38649
Make prepare-ChangeLog work as described, v3

(In reply to comment #6)
&gt; Hmm...I think it would be nice to list all property changes regardless of other
&gt; changes to the file.  When a new file is added, I think the main entry for the
&gt; file says &quot;Added.&quot;, but all the new methods are also listed.  We could do
&gt; something similar for properties.

I&apos;ve made it always list the property changes if that information is available.  I don&apos;t think adding a separate line for each property changed is really necessary, since often it will be clear what the property change is doing.  (For example adding svn:executable really only means one thing.)

I&apos;ve added some code to notice which properties have been added/deleted when doing an &apos;svn mv&apos; now, too.

For example, after doing:

  $ svn mv ChangeLog-2009-06-16 ChangeLog-Old
  $ svn propset svn:executable . ChangeLog-Old
  $ touch NewFile
  $ svn add NewFile
  $ svn propset blah . NewFile
  $ svn propset myprop . Scripts/build-webkit
  $ svn propdel svn:executable Scripts/build-webkit

the ChangeLog output is:

        * ChangeLog-2009-06-16: Removed.
        * ChangeLog-Old: Copied from ChangeLog-2009-06-16. Added property svn:executable.
        * NewFile: Added with property blah.
        * Scripts/build-webkit: Added property myprop. Removed property svn:executable.

&gt; Ultimately, the patch author has the responsibility to update the ChangeLog
&gt; entry, so I think it&apos;s best to give them all the information possible (as long
&gt; as the default behavior can also be used without modification).

OK.  Is there a need for me to wrap the generated lines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143022</commentid>
    <comment_count>8</comment_count>
      <attachid>38649</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-08-26 17:59:27 -0700</bug_when>
    <thetext>Comment on attachment 38649
Make prepare-ChangeLog work as described, v3

Wow!  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143024</commentid>
    <comment_count>9</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-08-26 18:27:37 -0700</bug_when>
    <thetext>Thanks!  I&apos;d advise someone to check that it doesn&apos;t do anything stupid when running in a git tree, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143070</commentid>
    <comment_count>10</comment_count>
      <attachid>38649</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-26 23:38:30 -0700</bug_when>
    <thetext>Comment on attachment 38649
Make prepare-ChangeLog work as described, v3

Clearing flags on attachment: 38649

Committed r47810: &lt;http://trac.webkit.org/changeset/47810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143071</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-26 23:38:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38472</attachid>
            <date>2009-08-24 00:36:31 -0700</date>
            <delta_ts>2009-08-25 19:03:53 -0700</delta_ts>
            <desc>Make prepare-ChangeLog work as described</desc>
            <filename>28675.patch</filename>
            <type>text/plain</type>
            <size>7414</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ3NzAxKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDgtMjQgIENhbWVyb24gTWNDb3JtYWNr
ICA8Y2FtQG1jYy5pZC5hdT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNYWtlIHByZXBhcmUtQ2hhbmdlTG9nIG5vdGljZSBwcm9wZXJ0eSBjaGFuZ2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY3NQor
CisgICAgICAgIE1ha2UgdGhlIGdlbmVyYXRlZCBDaGFuZ2VMb2cgZW50cnkgaW5jbHVkZSBhIHNo
b3J0IGRlc2NyaXB0aW9uIG9mCisgICAgICAgIHByb3BlcnR5IGNoYW5nZXMgaWYgdGhlcmUgd2Vy
ZSBzdWNoIGNoYW5nZXMgYW5kIG5vIG90aGVyIGF1dG9tYXRpY2FsbHkKKyAgICAgICAgZ2VuZXJh
dGVkIGRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZS4gIEFsc28gbWFrZSBwcmVwYXJlLUNoYW5nZUxv
ZyBub3QKKyAgICAgICAgYmFpbCBpZiB0aGUgb25seSBjaGFuZ2VzIGFyZSBwcm9wZXJ0eSBjaGFu
Z2VzLgorCisgICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoKKwogMjAwOS0wOC0y
MyAgSmFuIE1pY2hhZWwgQWxvbnpvICA8am1hbG9uem9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBYYW4gTG9wZXouCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUt
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFu
Z2VMb2cJKHJldmlzaW9uIDQ3Njk2KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNo
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtNzMsMTIgKzczLDE1IEBAIHN1YiBzdGF0dXNDb21t
YW5kKEApOwogc3ViIGNyZWF0ZVBhdGNoQ29tbWFuZCgkKTsKIHN1YiBkaWZmSGVhZGVyRm9ybWF0
KCk7CiBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCk7CitzdWIgZGV0ZXJtaW5lUHJvcGVy
dHlDaGFuZ2VzKCQpOwogc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKTsKIHN1YiBnaXRDb25m
aWcoJCk7CitzdWIgaXNVbm1vZGlmaWVkU3RhdHVzKCQpOwogc3ViIGlzTW9kaWZpZWRTdGF0dXMo
JCk7CiBzdWIgaXNBZGRlZFN0YXR1cygkKTsKIHN1YiBpc0NvbmZsaWN0U3RhdHVzKCQpOwotc3Vi
IHN0YXR1c0Rlc2NyaXB0aW9uKCQkKTsKK3N1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCQkKTsKK3N1
YiBwcm9wZXJ0eUNoYW5nZURlc2NyaXB0aW9uKCQpOwogc3ViIGV4dHJhY3RMaW5lUmFuZ2UoJCk7
CiBzdWIgY2Fub25pY2FsaXplUGF0aCgkKTsKIHN1YiB0ZXN0TGlzdEZvckNoYW5nZUxvZyhAKTsK
QEAgLTEzNDksNiArMTM1MiwyOSBAQCBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCkKICAg
ICByZXR1cm4gJHNvdXJjZUZpbGU7CiB9CiAKK3N1YiBkZXRlcm1pbmVQcm9wZXJ0eUNoYW5nZXMo
JCkKK3sKKyAgICBteSAoJGZpbGUpID0gQF87CisKKyAgICBteSAlY2hhbmdlczsKKyAgICBvcGVu
IElORk8sICIkU1ZOIGRpZmYgJyRmaWxlJyB8IiBvciBkaWU7CisgICAgd2hpbGUgKDxJTkZPPikg
eworICAgICAgICBpZiAoL15Qcm9wZXJ0eSBjaGFuZ2VzIG9uOi8pIHsKKyAgICAgICAgICAgIHdo
aWxlICg8SU5GTz4pIHsKKyAgICAgICAgICAgICAgICBpZiAoL15BZGRlZDogKFxTKikvKSB7Cisg
ICAgICAgICAgICAgICAgICAkY2hhbmdlc3skMX0gPSAiQSI7CisgICAgICAgICAgICAgICAgfSBl
bHNpZiAoL15Nb2RpZmllZDogKFxTKikvKSB7CisgICAgICAgICAgICAgICAgICAkY2hhbmdlc3sk
MX0gPSAiTSI7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAoL15EZWxldGVkOiAoXFMqKS8pIHsK
KyAgICAgICAgICAgICAgICAgICRjaGFuZ2VzeyQxfSA9ICJEIjsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgY2xvc2UgSU5GTzsKKyAgICBy
ZXR1cm4gXCVjaGFuZ2VzOworfQorCiBzdWIgZ2VuZXJhdGVGaWxlTGlzdChcQFxAXCUpCiB7CiAg
ICAgbXkgKCRjaGFuZ2VkRmlsZXMsICRjb25mbGljdEZpbGVzLCAkZnVuY3Rpb25MaXN0cykgPSBA
XzsKQEAgLTEzNTYsMjMgKzEzODIsMjggQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKQog
ICAgIG9wZW4gU1RBVCwgIi18Iiwgc3RhdHVzQ29tbWFuZChrZXlzICVwYXRocykgb3IgZGllICJU
aGUgc3RhdHVzIGZhaWxlZDogJCEuXG4iOwogICAgIHdoaWxlICg8U1RBVD4pIHsKICAgICAgICAg
bXkgJHN0YXR1czsKKyAgICAgICAgbXkgJHByb3BlcnR5U3RhdHVzOworICAgICAgICBteSAkcHJv
cGVydHlDaGFuZ2VzOwogICAgICAgICBteSAkb3JpZ2luYWw7CiAgICAgICAgIG15ICRmaWxlOwog
CiAgICAgICAgIGlmICgkaXNTVk4pIHsKICAgICAgICAgICAgIG15ICRtYXRjaGVzOwogICAgICAg
ICAgICAgaWYgKGV2YWwgInYkc3ZuVmVyc2lvbiIgZ2UgdjEuNikgewotICAgICAgICAgICAgICAg
ICRtYXRjaGVzID0gL14oW0FDRE1SXSkuezZ9ICguKz8pW1xyXG5dKiQvOworICAgICAgICAgICAg
ICAgICRtYXRjaGVzID0gL14oWyBBQ0RNUl0pKFsgQ01dKS57NX0gKC4rPylbXHJcbl0qJC87CiAg
ICAgICAgICAgICAgICAgJHN0YXR1cyA9ICQxOwotICAgICAgICAgICAgICAgICRmaWxlID0gJDI7
CisgICAgICAgICAgICAgICAgJHByb3BlcnR5U3RhdHVzID0gJDI7CisgICAgICAgICAgICAgICAg
JGZpbGUgPSAkMzsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgJG1hdGNo
ZXMgPSAvXihbQUNETVJdKS57NX0gKC4rPylbXHJcbl0qJC87CisgICAgICAgICAgICAgICAgJG1h
dGNoZXMgPSAvXihbIEFDRE1SXSkoWyBDTV0pLns0fSAoLis/KVtcclxuXSokLzsKICAgICAgICAg
ICAgICAgICAkc3RhdHVzID0gJDE7Ci0gICAgICAgICAgICAgICAgJGZpbGUgPSAkMjsKKyAgICAg
ICAgICAgICAgICAkcHJvcGVydHlTdGF0dXMgPSAkMjsKKyAgICAgICAgICAgICAgICAkZmlsZSA9
ICQzOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCRtYXRjaGVzKSB7CiAgICAgICAg
ICAgICAgICAgJGZpbGUgPSBub3JtYWxpemVQYXRoKCRmaWxlKTsKICAgICAgICAgICAgICAgICAk
b3JpZ2luYWwgPSBmaW5kT3JpZ2luYWxGaWxlRnJvbVN2bigkZmlsZSkgaWYgc3Vic3RyKCRfLCAz
LCAxKSBlcSAiKyI7CisgICAgICAgICAgICAgICAgJHByb3BlcnR5Q2hhbmdlcyA9IGRldGVybWlu
ZVByb3BlcnR5Q2hhbmdlcygkZmlsZSkgaWYgaXNNb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0
dXMpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBwcmludDsgICMgZXJy
b3Igb3V0cHV0IGZyb20gc3ZuIHN0YXQKICAgICAgICAgICAgIH0KQEAgLTEzODcsMTMgKzE0MTgs
MTQgQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKQogICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICBwcmludDsgICMgZXJyb3Igb3V0cHV0IGZyb20gZ2l0IGRpZmYKICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICRwcm9wZXJ0eVN0YXR1cyA9ICIgIjsgICMgZ2l0IGRv
ZXNuJ3QgaGF2ZSBwcm9wZXJ0aWVzCiAgICAgICAgIH0KIAotICAgICAgICBuZXh0IHVubGVzcyAk
c3RhdHVzOworICAgICAgICBuZXh0IHVubGVzcyAkc3RhdHVzICYmICEoaXNVbm1vZGlmaWVkU3Rh
dHVzKCRzdGF0dXMpICYmIGlzVW5tb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKTsKIAog
ICAgICAgICAkZmlsZSA9IG1ha2VGaWxlUGF0aFJlbGF0aXZlKCRmaWxlKTsKIAotICAgICAgICBp
ZiAoaXNNb2RpZmllZFN0YXR1cygkc3RhdHVzKSB8fCBpc0FkZGVkU3RhdHVzKCRzdGF0dXMpKSB7
CisgICAgICAgIGlmIChpc01vZGlmaWVkU3RhdHVzKCRzdGF0dXMpIHx8IGlzQWRkZWRTdGF0dXMo
JHN0YXR1cykgfHwgaXNNb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKSB7CiAgICAgICAg
ICAgICBteSBAY29tcG9uZW50cyA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKTsKICAgICAg
ICAgICAgIGlmICgkY29tcG9uZW50c1swXSBlcSAiTGF5b3V0VGVzdHMiKSB7CiAgICAgICAgICAg
ICAgICAgJGRpZENoYW5nZVJlZ3Jlc3Npb25UZXN0cyA9IDE7CkBAIC0xNDA0LDExICsxNDM2LDEx
IEBAIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFxAXEBcJSkKICAgICAgICAgICAgICAgICAgICAgICAg
JiYgIXNjYWxhcihncmVwKC9ecmVzb3VyY2VzJC9pLCBAY29tcG9uZW50cykpOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgcHVzaCBAeyRjaGFuZ2VkRmlsZXN9LCAkZmlsZSBpZiAkY29tcG9u
ZW50c1skI2NvbXBvbmVudHNdIG5lICJDaGFuZ2VMb2ciOwotICAgICAgICB9IGVsc2lmIChpc0Nv
bmZsaWN0U3RhdHVzKCRzdGF0dXMpKSB7CisgICAgICAgIH0gZWxzaWYgKGlzQ29uZmxpY3RTdGF0
dXMoJHN0YXR1cykgfHwgaXNDb25mbGljdFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKSB7CiAgICAg
ICAgICAgICBwdXNoIEB7JGNvbmZsaWN0RmlsZXN9LCAkZmlsZTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoYmFzZW5hbWUoJGZpbGUpIG5lICJDaGFuZ2VMb2ciKSB7Ci0gICAgICAgICAgICBteSAk
ZGVzY3JpcHRpb24gPSBzdGF0dXNEZXNjcmlwdGlvbigkc3RhdHVzLCAkb3JpZ2luYWwpOworICAg
ICAgICAgICAgbXkgJGRlc2NyaXB0aW9uID0gc3RhdHVzRGVzY3JpcHRpb24oJHN0YXR1cywgJHBy
b3BlcnR5U3RhdHVzLCAkb3JpZ2luYWwsICRwcm9wZXJ0eUNoYW5nZXMpOwogICAgICAgICAgICAg
JGZ1bmN0aW9uTGlzdHMtPnskZmlsZX0gPSAkZGVzY3JpcHRpb24gaWYgZGVmaW5lZCAkZGVzY3Jp
cHRpb247CiAgICAgICAgIH0KICAgICB9CkBAIC0xNDI5LDYgKzE0NjEsMTcgQEAgc3ViIGdpdENv
bmZpZygkKQogICAgIHJldHVybiAkcmVzdWx0OwogfQogCitzdWIgaXNVbm1vZGlmaWVkU3RhdHVz
KCQpCit7CisgICAgbXkgKCRzdGF0dXMpID0gQF87CisKKyAgICBteSAlc3RhdHVzQ29kZXMgPSAo
CisgICAgICAgICIgIiA9PiAxLAorICAgICk7CisKKyAgICByZXR1cm4gJHN0YXR1c0NvZGVzeyRz
dGF0dXN9OworfQorCiBzdWIgaXNNb2RpZmllZFN0YXR1cygkKQogewogICAgIG15ICgkc3RhdHVz
KSA9IEBfOwpAQCAtMTQ3MCwxNSArMTUxMywxNiBAQCBzdWIgaXNDb25mbGljdFN0YXR1cygkKQog
ICAgIHJldHVybiAkZ2l0eyRzdGF0dXN9IGlmICRpc0dpdDsKIH0KIAotc3ViIHN0YXR1c0Rlc2Ny
aXB0aW9uKCQkKQorc3ViIHN0YXR1c0Rlc2NyaXB0aW9uKCQkJCQpCiB7Ci0gICAgbXkgKCRzdGF0
dXMsICRvcmlnaW5hbCkgPSBAXzsKKyAgICBteSAoJHN0YXR1cywgJHByb3BlcnR5U3RhdHVzLCAk
b3JpZ2luYWwsICRwcm9wZXJ0eUNoYW5nZXMpID0gQF87CiAKICAgICBteSAlc3ZuID0gKAogICAg
ICAgICAiQSIgPT4gZGVmaW5lZCAkb3JpZ2luYWwgPyAiIENvcGllZCBmcm9tIFwlcy4iIDogIiBB
ZGRlZC4iLAogICAgICAgICAiRCIgPT4gIiBSZW1vdmVkLiIsCiAgICAgICAgICJNIiA9PiAiIiwK
ICAgICAgICAgIlIiID0+IGRlZmluZWQgJG9yaWdpbmFsID8gIiBSZXBsYWNlZCB3aXRoIFwlcy4i
IDogIiBSZXBsYWNlZC4iLAorICAgICAgICAiICIgPT4gZGVmaW5lZCAkcHJvcGVydHlDaGFuZ2Vz
ID8gcHJvcGVydHlDaGFuZ2VEZXNjcmlwdGlvbigkcHJvcGVydHlDaGFuZ2VzKSA6ICIiLAogICAg
ICk7CiAKICAgICBteSAlZ2l0ID0gJXN2bjsKQEAgLTE0OTEsNiArMTUzNSwzMSBAQCBzdWIgc3Rh
dHVzRGVzY3JpcHRpb24oJCQpCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCitzdWIgcHJvcGVydHlD
aGFuZ2VEZXNjcmlwdGlvbigkKQoreworICAgIG15ICgkcHJvcGVydHlDaGFuZ2VzKSA9IEBfOwor
CisgICAgbXkgQHByb3BlcnRpZXMgPSBrZXlzKCUkcHJvcGVydHlDaGFuZ2VzKTsKKyAgICBteSAk
cHJvcGVydHk7CisgICAgbXkgJGZvcm1hdFN0cmluZzsKKworICAgIGlmIChAcHJvcGVydGllcyA9
PSAxKSB7CisgICAgICAgIG15ICVvcGVyYXRpb24gPSAoCisgICAgICAgICAgICAiQSIgPT4gIiBB
ZGRlZCAlcyBwcm9wZXJ0eS4iLAorICAgICAgICAgICAgIk0iID0+ICIgTW9kaWZpZWQgJXMgcHJv
cGVydHkuIiwKKyAgICAgICAgICAgICJEIiA9PiAiIFJlbW92ZWQgJXMgcHJvcGVydHkuIiwKKyAg
ICAgICAgKTsKKworICAgICAgICAoJHByb3BlcnR5KSA9IEBwcm9wZXJ0aWVzOworICAgICAgICBt
eSAkcHJvcGVydHlDaGFuZ2UgPSAkcHJvcGVydHlDaGFuZ2VzLT57JHByb3BlcnR5fTsKKyAgICAg
ICAgJGZvcm1hdFN0cmluZyA9ICRvcGVyYXRpb257JHByb3BlcnR5Q2hhbmdlfTsKKyAgICB9IGVs
c2UgeworICAgICAgICAkZm9ybWF0U3RyaW5nID0gIiBDaGFuZ2VkIHByb3BlcnRpZXMuIjsKKyAg
ICB9CisKKyAgICByZXR1cm4gc3ByaW50ZigkZm9ybWF0U3RyaW5nLCAkcHJvcGVydHkpOworfQor
CiBzdWIgZXh0cmFjdExpbmVSYW5nZSgkKQogewogICAgIG15ICgkc3RyaW5nKSA9IEBfOwpJbmRl
eDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkocmV2aXNpb24gNDc2OTYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0wOC0yMyAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxj
YW1AbWNjLmlkLmF1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vZGlmeWluZyA8dGV4dCByb3RhdGU9IiI+IGRvZXNuJ3QgY2xlYXIgdGhlIGNvcnJl
c3BvbmRpbmcgU1ZHQW5pbWF0ZWROdW1iZXJMaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY3MworCisgICAgICAgICogc3ZnL2RvbS9yZXNvdXJj
ZXMvdGV4dC1yb3RhdGUtbGl2ZS5qczogQWRkZWQuCisgICAgICAgIChnZXRSb3RhdGUpOgorICAg
ICAgICAoZ2V0QW5kU2V0Um90YXRlKToKKyAgICAgICAgKiBzdmcvZG9tL3RleHQtcm90YXRlLWxp
dmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3RleHQtcm90YXRlLWxp
dmUuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMjMgIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxv
bnpvQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBTa2lwIG5ldyB0ZXN0cyBm
cm9tCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38585</attachid>
            <date>2009-08-25 19:03:53 -0700</date>
            <delta_ts>2009-08-26 05:11:19 -0700</delta_ts>
            <desc>Make prepare-ChangeLog work as described</desc>
            <filename>28675.patch</filename>
            <type>text/plain</type>
            <size>6665</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ3NzAxKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDgtMjQgIENhbWVyb24gTWNDb3JtYWNr
ICA8Y2FtQG1jYy5pZC5hdT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNYWtlIHByZXBhcmUtQ2hhbmdlTG9nIG5vdGljZSBwcm9wZXJ0eSBjaGFuZ2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY3NQor
CisgICAgICAgIE1ha2UgdGhlIGdlbmVyYXRlZCBDaGFuZ2VMb2cgZW50cnkgaW5jbHVkZSBhIHNo
b3J0IGRlc2NyaXB0aW9uIG9mCisgICAgICAgIHByb3BlcnR5IGNoYW5nZXMgaWYgdGhlcmUgd2Vy
ZSBzdWNoIGNoYW5nZXMgYW5kIG5vIG90aGVyIGF1dG9tYXRpY2FsbHkKKyAgICAgICAgZ2VuZXJh
dGVkIGRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZS4gIEFsc28gbWFrZSBwcmVwYXJlLUNoYW5nZUxv
ZyBub3QKKyAgICAgICAgYmFpbCBpZiB0aGUgb25seSBjaGFuZ2VzIGFyZSBwcm9wZXJ0eSBjaGFu
Z2VzLgorCisgICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoKKwogMjAwOS0wOC0y
MyAgSmFuIE1pY2hhZWwgQWxvbnpvICA8am1hbG9uem9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBYYW4gTG9wZXouCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUt
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFu
Z2VMb2cJKHJldmlzaW9uIDQ3Njk2KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNo
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtNzMsMTIgKzczLDE1IEBAIHN1YiBzdGF0dXNDb21t
YW5kKEApOwogc3ViIGNyZWF0ZVBhdGNoQ29tbWFuZCgkKTsKIHN1YiBkaWZmSGVhZGVyRm9ybWF0
KCk7CiBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCk7CitzdWIgZGV0ZXJtaW5lUHJvcGVy
dHlDaGFuZ2VzKCQpOwogc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKTsKIHN1YiBnaXRDb25m
aWcoJCk7CitzdWIgaXNVbm1vZGlmaWVkU3RhdHVzKCQpOwogc3ViIGlzTW9kaWZpZWRTdGF0dXMo
JCk7CiBzdWIgaXNBZGRlZFN0YXR1cygkKTsKIHN1YiBpc0NvbmZsaWN0U3RhdHVzKCQpOwotc3Vi
IHN0YXR1c0Rlc2NyaXB0aW9uKCQkKTsKK3N1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCQkKTsKK3N1
YiBwcm9wZXJ0eUNoYW5nZURlc2NyaXB0aW9uKCQpOwogc3ViIGV4dHJhY3RMaW5lUmFuZ2UoJCk7
CiBzdWIgY2Fub25pY2FsaXplUGF0aCgkKTsKIHN1YiB0ZXN0TGlzdEZvckNoYW5nZUxvZyhAKTsK
QEAgLTEzNDksNiArMTM1MiwyOSBAQCBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCkKICAg
ICByZXR1cm4gJHNvdXJjZUZpbGU7CiB9CiAKK3N1YiBkZXRlcm1pbmVQcm9wZXJ0eUNoYW5nZXMo
JCkKK3sKKyAgICBteSAoJGZpbGUpID0gQF87CisKKyAgICBteSAlY2hhbmdlczsKKyAgICBvcGVu
IElORk8sICIkU1ZOIGRpZmYgJyRmaWxlJyB8IiBvciBkaWU7CisgICAgd2hpbGUgKDxJTkZPPikg
eworICAgICAgICBpZiAoL15Qcm9wZXJ0eSBjaGFuZ2VzIG9uOi8pIHsKKyAgICAgICAgICAgIHdo
aWxlICg8SU5GTz4pIHsKKyAgICAgICAgICAgICAgICBpZiAoL15BZGRlZDogKFxTKikvKSB7Cisg
ICAgICAgICAgICAgICAgICAkY2hhbmdlc3skMX0gPSAiQSI7CisgICAgICAgICAgICAgICAgfSBl
bHNpZiAoL15Nb2RpZmllZDogKFxTKikvKSB7CisgICAgICAgICAgICAgICAgICAkY2hhbmdlc3sk
MX0gPSAiTSI7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAoL15EZWxldGVkOiAoXFMqKS8pIHsK
KyAgICAgICAgICAgICAgICAgICRjaGFuZ2VzeyQxfSA9ICJEIjsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgY2xvc2UgSU5GTzsKKyAgICBy
ZXR1cm4gXCVjaGFuZ2VzOworfQorCiBzdWIgZ2VuZXJhdGVGaWxlTGlzdChcQFxAXCUpCiB7CiAg
ICAgbXkgKCRjaGFuZ2VkRmlsZXMsICRjb25mbGljdEZpbGVzLCAkZnVuY3Rpb25MaXN0cykgPSBA
XzsKQEAgLTEzNTYsMjMgKzEzODIsMjggQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKQog
ICAgIG9wZW4gU1RBVCwgIi18Iiwgc3RhdHVzQ29tbWFuZChrZXlzICVwYXRocykgb3IgZGllICJU
aGUgc3RhdHVzIGZhaWxlZDogJCEuXG4iOwogICAgIHdoaWxlICg8U1RBVD4pIHsKICAgICAgICAg
bXkgJHN0YXR1czsKKyAgICAgICAgbXkgJHByb3BlcnR5U3RhdHVzOworICAgICAgICBteSAkcHJv
cGVydHlDaGFuZ2VzOwogICAgICAgICBteSAkb3JpZ2luYWw7CiAgICAgICAgIG15ICRmaWxlOwog
CiAgICAgICAgIGlmICgkaXNTVk4pIHsKICAgICAgICAgICAgIG15ICRtYXRjaGVzOwogICAgICAg
ICAgICAgaWYgKGV2YWwgInYkc3ZuVmVyc2lvbiIgZ2UgdjEuNikgewotICAgICAgICAgICAgICAg
ICRtYXRjaGVzID0gL14oW0FDRE1SXSkuezZ9ICguKz8pW1xyXG5dKiQvOworICAgICAgICAgICAg
ICAgICRtYXRjaGVzID0gL14oWyBBQ0RNUl0pKFsgQ01dKS57NX0gKC4rPylbXHJcbl0qJC87CiAg
ICAgICAgICAgICAgICAgJHN0YXR1cyA9ICQxOwotICAgICAgICAgICAgICAgICRmaWxlID0gJDI7
CisgICAgICAgICAgICAgICAgJHByb3BlcnR5U3RhdHVzID0gJDI7CisgICAgICAgICAgICAgICAg
JGZpbGUgPSAkMzsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgJG1hdGNo
ZXMgPSAvXihbQUNETVJdKS57NX0gKC4rPylbXHJcbl0qJC87CisgICAgICAgICAgICAgICAgJG1h
dGNoZXMgPSAvXihbIEFDRE1SXSkoWyBDTV0pLns0fSAoLis/KVtcclxuXSokLzsKICAgICAgICAg
ICAgICAgICAkc3RhdHVzID0gJDE7Ci0gICAgICAgICAgICAgICAgJGZpbGUgPSAkMjsKKyAgICAg
ICAgICAgICAgICAkcHJvcGVydHlTdGF0dXMgPSAkMjsKKyAgICAgICAgICAgICAgICAkZmlsZSA9
ICQzOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCRtYXRjaGVzKSB7CiAgICAgICAg
ICAgICAgICAgJGZpbGUgPSBub3JtYWxpemVQYXRoKCRmaWxlKTsKICAgICAgICAgICAgICAgICAk
b3JpZ2luYWwgPSBmaW5kT3JpZ2luYWxGaWxlRnJvbVN2bigkZmlsZSkgaWYgc3Vic3RyKCRfLCAz
LCAxKSBlcSAiKyI7CisgICAgICAgICAgICAgICAgJHByb3BlcnR5Q2hhbmdlcyA9IGRldGVybWlu
ZVByb3BlcnR5Q2hhbmdlcygkZmlsZSkgaWYgaXNNb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0
dXMpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBwcmludDsgICMgZXJy
b3Igb3V0cHV0IGZyb20gc3ZuIHN0YXQKICAgICAgICAgICAgIH0KQEAgLTEzODcsMTMgKzE0MTgs
MTQgQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKQogICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICBwcmludDsgICMgZXJyb3Igb3V0cHV0IGZyb20gZ2l0IGRpZmYKICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICRwcm9wZXJ0eVN0YXR1cyA9ICIgIjsgICMgZ2l0IGRv
ZXNuJ3QgaGF2ZSBwcm9wZXJ0aWVzCiAgICAgICAgIH0KIAotICAgICAgICBuZXh0IHVubGVzcyAk
c3RhdHVzOworICAgICAgICBuZXh0IHVubGVzcyAkc3RhdHVzICYmICEoaXNVbm1vZGlmaWVkU3Rh
dHVzKCRzdGF0dXMpICYmIGlzVW5tb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKTsKIAog
ICAgICAgICAkZmlsZSA9IG1ha2VGaWxlUGF0aFJlbGF0aXZlKCRmaWxlKTsKIAotICAgICAgICBp
ZiAoaXNNb2RpZmllZFN0YXR1cygkc3RhdHVzKSB8fCBpc0FkZGVkU3RhdHVzKCRzdGF0dXMpKSB7
CisgICAgICAgIGlmIChpc01vZGlmaWVkU3RhdHVzKCRzdGF0dXMpIHx8IGlzQWRkZWRTdGF0dXMo
JHN0YXR1cykgfHwgaXNNb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKSB7CiAgICAgICAg
ICAgICBteSBAY29tcG9uZW50cyA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKTsKICAgICAg
ICAgICAgIGlmICgkY29tcG9uZW50c1swXSBlcSAiTGF5b3V0VGVzdHMiKSB7CiAgICAgICAgICAg
ICAgICAgJGRpZENoYW5nZVJlZ3Jlc3Npb25UZXN0cyA9IDE7CkBAIC0xNDA0LDExICsxNDM2LDEx
IEBAIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFxAXEBcJSkKICAgICAgICAgICAgICAgICAgICAgICAg
JiYgIXNjYWxhcihncmVwKC9ecmVzb3VyY2VzJC9pLCBAY29tcG9uZW50cykpOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgcHVzaCBAeyRjaGFuZ2VkRmlsZXN9LCAkZmlsZSBpZiAkY29tcG9u
ZW50c1skI2NvbXBvbmVudHNdIG5lICJDaGFuZ2VMb2ciOwotICAgICAgICB9IGVsc2lmIChpc0Nv
bmZsaWN0U3RhdHVzKCRzdGF0dXMpKSB7CisgICAgICAgIH0gZWxzaWYgKGlzQ29uZmxpY3RTdGF0
dXMoJHN0YXR1cykgfHwgaXNDb25mbGljdFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKSB7CiAgICAg
ICAgICAgICBwdXNoIEB7JGNvbmZsaWN0RmlsZXN9LCAkZmlsZTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoYmFzZW5hbWUoJGZpbGUpIG5lICJDaGFuZ2VMb2ciKSB7Ci0gICAgICAgICAgICBteSAk
ZGVzY3JpcHRpb24gPSBzdGF0dXNEZXNjcmlwdGlvbigkc3RhdHVzLCAkb3JpZ2luYWwpOworICAg
ICAgICAgICAgbXkgJGRlc2NyaXB0aW9uID0gc3RhdHVzRGVzY3JpcHRpb24oJHN0YXR1cywgJHBy
b3BlcnR5U3RhdHVzLCAkb3JpZ2luYWwsICRwcm9wZXJ0eUNoYW5nZXMpOwogICAgICAgICAgICAg
JGZ1bmN0aW9uTGlzdHMtPnskZmlsZX0gPSAkZGVzY3JpcHRpb24gaWYgZGVmaW5lZCAkZGVzY3Jp
cHRpb247CiAgICAgICAgIH0KICAgICB9CkBAIC0xNDI5LDYgKzE0NjEsMTcgQEAgc3ViIGdpdENv
bmZpZygkKQogICAgIHJldHVybiAkcmVzdWx0OwogfQogCitzdWIgaXNVbm1vZGlmaWVkU3RhdHVz
KCQpCit7CisgICAgbXkgKCRzdGF0dXMpID0gQF87CisKKyAgICBteSAlc3RhdHVzQ29kZXMgPSAo
CisgICAgICAgICIgIiA9PiAxLAorICAgICk7CisKKyAgICByZXR1cm4gJHN0YXR1c0NvZGVzeyRz
dGF0dXN9OworfQorCiBzdWIgaXNNb2RpZmllZFN0YXR1cygkKQogewogICAgIG15ICgkc3RhdHVz
KSA9IEBfOwpAQCAtMTQ3MCwxNSArMTUxMywxNiBAQCBzdWIgaXNDb25mbGljdFN0YXR1cygkKQog
ICAgIHJldHVybiAkZ2l0eyRzdGF0dXN9IGlmICRpc0dpdDsKIH0KIAotc3ViIHN0YXR1c0Rlc2Ny
aXB0aW9uKCQkKQorc3ViIHN0YXR1c0Rlc2NyaXB0aW9uKCQkJCQpCiB7Ci0gICAgbXkgKCRzdGF0
dXMsICRvcmlnaW5hbCkgPSBAXzsKKyAgICBteSAoJHN0YXR1cywgJHByb3BlcnR5U3RhdHVzLCAk
b3JpZ2luYWwsICRwcm9wZXJ0eUNoYW5nZXMpID0gQF87CiAKICAgICBteSAlc3ZuID0gKAogICAg
ICAgICAiQSIgPT4gZGVmaW5lZCAkb3JpZ2luYWwgPyAiIENvcGllZCBmcm9tIFwlcy4iIDogIiBB
ZGRlZC4iLAogICAgICAgICAiRCIgPT4gIiBSZW1vdmVkLiIsCiAgICAgICAgICJNIiA9PiAiIiwK
ICAgICAgICAgIlIiID0+IGRlZmluZWQgJG9yaWdpbmFsID8gIiBSZXBsYWNlZCB3aXRoIFwlcy4i
IDogIiBSZXBsYWNlZC4iLAorICAgICAgICAiICIgPT4gZGVmaW5lZCAkcHJvcGVydHlDaGFuZ2Vz
ID8gcHJvcGVydHlDaGFuZ2VEZXNjcmlwdGlvbigkcHJvcGVydHlDaGFuZ2VzKSA6ICIiLAogICAg
ICk7CiAKICAgICBteSAlZ2l0ID0gJXN2bjsKQEAgLTE0OTEsNiArMTUzNSwzMSBAQCBzdWIgc3Rh
dHVzRGVzY3JpcHRpb24oJCQpCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCitzdWIgcHJvcGVydHlD
aGFuZ2VEZXNjcmlwdGlvbigkKQoreworICAgIG15ICgkcHJvcGVydHlDaGFuZ2VzKSA9IEBfOwor
CisgICAgbXkgQHByb3BlcnRpZXMgPSBrZXlzKCUkcHJvcGVydHlDaGFuZ2VzKTsKKyAgICBteSAk
cHJvcGVydHk7CisgICAgbXkgJGZvcm1hdFN0cmluZzsKKworICAgIGlmIChAcHJvcGVydGllcyA9
PSAxKSB7CisgICAgICAgIG15ICVvcGVyYXRpb24gPSAoCisgICAgICAgICAgICAiQSIgPT4gIiBB
ZGRlZCAlcyBwcm9wZXJ0eS4iLAorICAgICAgICAgICAgIk0iID0+ICIgTW9kaWZpZWQgJXMgcHJv
cGVydHkuIiwKKyAgICAgICAgICAgICJEIiA9PiAiIFJlbW92ZWQgJXMgcHJvcGVydHkuIiwKKyAg
ICAgICAgKTsKKworICAgICAgICAoJHByb3BlcnR5KSA9IEBwcm9wZXJ0aWVzOworICAgICAgICBt
eSAkcHJvcGVydHlDaGFuZ2UgPSAkcHJvcGVydHlDaGFuZ2VzLT57JHByb3BlcnR5fTsKKyAgICAg
ICAgJGZvcm1hdFN0cmluZyA9ICRvcGVyYXRpb257JHByb3BlcnR5Q2hhbmdlfTsKKyAgICB9IGVs
c2UgeworICAgICAgICAkZm9ybWF0U3RyaW5nID0gIiBDaGFuZ2VkIHByb3BlcnRpZXMuIjsKKyAg
ICB9CisKKyAgICByZXR1cm4gc3ByaW50ZigkZm9ybWF0U3RyaW5nLCAkcHJvcGVydHkpOworfQor
CiBzdWIgZXh0cmFjdExpbmVSYW5nZSgkKQogewogICAgIG15ICgkc3RyaW5nKSA9IEBfOwo=
</data>
<flag name="review"
          id="19590"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38604</attachid>
            <date>2009-08-26 05:11:19 -0700</date>
            <delta_ts>2009-08-26 17:14:05 -0700</delta_ts>
            <desc>Make prepare-ChangeLog work as described, v2</desc>
            <filename>28675-2.patch</filename>
            <type>text/plain</type>
            <size>7777</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ3Nzc1KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDgtMjYgIENhbWVyb24gTWNDb3JtYWNr
ICA8Y2FtQG1jYy5pZC5hdT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNYWtlIHByZXBhcmUtQ2hhbmdlTG9nIG5vdGljZSBwcm9wZXJ0eSBjaGFuZ2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY3NQor
CisgICAgICAgIE1ha2UgdGhlIGdlbmVyYXRlZCBDaGFuZ2VMb2cgZW50cnkgaW5jbHVkZSBhIHNo
b3J0IGRlc2NyaXB0aW9uIG9mCisgICAgICAgIHByb3BlcnR5IGNoYW5nZXMgaWYgdGhlcmUgd2Vy
ZSBzdWNoIGNoYW5nZXMgYW5kIG5vIG90aGVyIGF1dG9tYXRpY2FsbHkKKyAgICAgICAgZ2VuZXJh
dGVkIGRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZS4gIEFsc28gbWFrZSBwcmVwYXJlLUNoYW5nZUxv
ZyBub3QKKyAgICAgICAgYmFpbCBpZiB0aGUgb25seSBjaGFuZ2VzIGFyZSBwcm9wZXJ0eSBjaGFu
Z2VzLgorCisgICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoKKwogMjAwOS0wOC0y
NSAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxjYW1AbWNjLmlkLmF1PgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Nzc3NCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTczLDEyICs3MywxNiBAQCBzdWIgc3RhdHVzQ29tbWFuZChA
KTsKIHN1YiBjcmVhdGVQYXRjaENvbW1hbmQoJCk7CiBzdWIgZGlmZkhlYWRlckZvcm1hdCgpOwog
c3ViIGZpbmRPcmlnaW5hbEZpbGVGcm9tU3ZuKCQpOworc3ViIGRldGVybWluZVByb3BlcnR5Q2hh
bmdlcygkKTsKK3N1YiBwbHVyYWxpemVBbmRMaXN0KCQkQCk7CiBzdWIgZ2VuZXJhdGVGaWxlTGlz
dChcQFxAXCUpOwogc3ViIGdpdENvbmZpZygkKTsKK3N1YiBpc1VubW9kaWZpZWRTdGF0dXMoJCk7
CiBzdWIgaXNNb2RpZmllZFN0YXR1cygkKTsKIHN1YiBpc0FkZGVkU3RhdHVzKCQpOwogc3ViIGlz
Q29uZmxpY3RTdGF0dXMoJCk7Ci1zdWIgc3RhdHVzRGVzY3JpcHRpb24oJCQpOworc3ViIHN0YXR1
c0Rlc2NyaXB0aW9uKCQkJCQpOworc3ViIHByb3BlcnR5Q2hhbmdlRGVzY3JpcHRpb24oJCk7CiBz
dWIgZXh0cmFjdExpbmVSYW5nZSgkKTsKIHN1YiBjYW5vbmljYWxpemVQYXRoKCQpOwogc3ViIHRl
c3RMaXN0Rm9yQ2hhbmdlTG9nKEApOwpAQCAtMTM0OSw2ICsxMzUzLDUyIEBAIHN1YiBmaW5kT3Jp
Z2luYWxGaWxlRnJvbVN2bigkKQogICAgIHJldHVybiAkc291cmNlRmlsZTsKIH0KIAorc3ViIGRl
dGVybWluZVByb3BlcnR5Q2hhbmdlcygkKQoreworICAgIG15ICgkZmlsZSkgPSBAXzsKKworICAg
IG15ICVjaGFuZ2VzOworICAgIG9wZW4gRElGRiwgIiRTVk4gZGlmZiAnJGZpbGUnIHwiIG9yIGRp
ZTsKKyAgICB3aGlsZSAoPERJRkY+KSB7CisgICAgICAgIGlmICgvXlByb3BlcnR5IGNoYW5nZXMg
b246LykgeworICAgICAgICAgICAgd2hpbGUgKDxESUZGPikgeworICAgICAgICAgICAgICAgIG15
ICRvcGVyYXRpb247CisgICAgICAgICAgICAgICAgbXkgJHByb3BlcnR5OworICAgICAgICAgICAg
ICAgIGlmICgvXkFkZGVkOiAoXFMqKS8pIHsKKyAgICAgICAgICAgICAgICAgICAgJG9wZXJhdGlv
biA9ICJBIjsKKyAgICAgICAgICAgICAgICAgICAgJHByb3BlcnR5ID0gJDE7CisgICAgICAgICAg
ICAgICAgfSBlbHNpZiAoL15Nb2RpZmllZDogKFxTKikvKSB7CisgICAgICAgICAgICAgICAgICAg
ICRvcGVyYXRpb24gPSAiTSI7CisgICAgICAgICAgICAgICAgICAgICRwcm9wZXJ0eSA9ICQxOwor
ICAgICAgICAgICAgICAgIH0gZWxzaWYgKC9eRGVsZXRlZDogKFxTKikvKSB7CisgICAgICAgICAg
ICAgICAgICAgICRvcGVyYXRpb24gPSAiRCI7CisgICAgICAgICAgICAgICAgICAgICRwcm9wZXJ0
eSA9ICQxOworICAgICAgICAgICAgICAgIH0gZWxzaWYgKC9eTmFtZTogKFxTKikvKSB7CisgICAg
ICAgICAgICAgICAgICAgICMgT2xkZXIgdmVyc2lvbnMgb2Ygc3ZuIGp1c3Qgc2F5ICJOYW1lIiBp
bnN0ZWFkIG9mIHRoZSB0eXBlCisgICAgICAgICAgICAgICAgICAgICMgb2YgcHJvcGVydHkgY2hh
bmdlLgorICAgICAgICAgICAgICAgICAgICAkb3BlcmF0aW9uID0gIkMiOworICAgICAgICAgICAg
ICAgICAgICAkcHJvcGVydHkgPSAkMTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgaWYgKCRvcGVyYXRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgJGNoYW5nZXN7JG9wZXJh
dGlvbn0gPSBbXSB1bmxlc3MgZXhpc3RzICRjaGFuZ2VzeyRvcGVyYXRpb259OworICAgICAgICAg
ICAgICAgICAgICBwdXNoIEB7JGNoYW5nZXN7JG9wZXJhdGlvbn19LCAkcHJvcGVydHk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGNsb3Nl
IERJRkY7CisgICAgcmV0dXJuIFwlY2hhbmdlczsKK30KKworc3ViIHBsdXJhbGl6ZUFuZExpc3Qo
JCRAKQoreworICAgIG15ICgkc2luZ3VsYXIsICRwbHVyYWwsIEBpdGVtcykgPSBAXzsKKworICAg
IHJldHVybiBpZiBAaXRlbXMgPT0gMDsKKyAgICByZXR1cm4gIiRzaW5ndWxhciAkaXRlbXNbMF0i
IGlmIEBpdGVtcyA9PSAxOworICAgIHJldHVybiAiJHBsdXJhbCAiIC4gam9pbigiLCAiLCBAaXRl
bXNbMCAuLiAkI2l0ZW1zIC0gMV0pIC4gIiBhbmQgIiAuICRpdGVtc1stMV07Cit9CisKIHN1YiBn
ZW5lcmF0ZUZpbGVMaXN0KFxAXEBcJSkKIHsKICAgICBteSAoJGNoYW5nZWRGaWxlcywgJGNvbmZs
aWN0RmlsZXMsICRmdW5jdGlvbkxpc3RzKSA9IEBfOwpAQCAtMTM1NiwzMiArMTQwNiwzOSBAQCBz
dWIgZ2VuZXJhdGVGaWxlTGlzdChcQFxAXCUpCiAgICAgb3BlbiBTVEFULCAiLXwiLCBzdGF0dXND
b21tYW5kKGtleXMgJXBhdGhzKSBvciBkaWUgIlRoZSBzdGF0dXMgZmFpbGVkOiAkIS5cbiI7CiAg
ICAgd2hpbGUgKDxTVEFUPikgewogICAgICAgICBteSAkc3RhdHVzOworICAgICAgICBteSAkcHJv
cGVydHlTdGF0dXM7CisgICAgICAgIG15ICRwcm9wZXJ0eUNoYW5nZXM7CiAgICAgICAgIG15ICRv
cmlnaW5hbDsKICAgICAgICAgbXkgJGZpbGU7CiAKICAgICAgICAgaWYgKCRpc1NWTikgewogICAg
ICAgICAgICAgbXkgJG1hdGNoZXM7CiAgICAgICAgICAgICBpZiAoZXZhbCAidiRzdm5WZXJzaW9u
IiBnZSB2MS42KSB7Ci0gICAgICAgICAgICAgICAgJG1hdGNoZXMgPSAvXihbQUNETVJdKS57Nn0g
KC4rPylbXHJcbl0qJC87CisgICAgICAgICAgICAgICAgJG1hdGNoZXMgPSAvXihbIEFDRE1SXSko
WyBDTV0pLns1fSAoLis/KVtcclxuXSokLzsKICAgICAgICAgICAgICAgICAkc3RhdHVzID0gJDE7
Ci0gICAgICAgICAgICAgICAgJGZpbGUgPSAkMjsKKyAgICAgICAgICAgICAgICAkcHJvcGVydHlT
dGF0dXMgPSAkMjsKKyAgICAgICAgICAgICAgICAkZmlsZSA9ICQzOwogICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAkbWF0Y2hlcyA9IC9eKFtBQ0RNUl0pLns1fSAoLis/KVtc
clxuXSokLzsKKyAgICAgICAgICAgICAgICAkbWF0Y2hlcyA9IC9eKFsgQUNETVJdKShbIENNXSku
ezR9ICguKz8pW1xyXG5dKiQvOwogICAgICAgICAgICAgICAgICRzdGF0dXMgPSAkMTsKLSAgICAg
ICAgICAgICAgICAkZmlsZSA9ICQyOworICAgICAgICAgICAgICAgICRwcm9wZXJ0eVN0YXR1cyA9
ICQyOworICAgICAgICAgICAgICAgICRmaWxlID0gJDM7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiAoJG1hdGNoZXMpIHsKICAgICAgICAgICAgICAgICAkZmlsZSA9IG5vcm1hbGl6ZVBh
dGgoJGZpbGUpOwogICAgICAgICAgICAgICAgICRvcmlnaW5hbCA9IGZpbmRPcmlnaW5hbEZpbGVG
cm9tU3ZuKCRmaWxlKSBpZiBzdWJzdHIoJF8sIDMsIDEpIGVxICIrIjsKKyAgICAgICAgICAgICAg
ICAkcHJvcGVydHlDaGFuZ2VzID0gZGV0ZXJtaW5lUHJvcGVydHlDaGFuZ2VzKCRmaWxlKSBpZiBp
c01vZGlmaWVkU3RhdHVzKCRwcm9wZXJ0eVN0YXR1cyk7CiAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgIHByaW50OyAgIyBlcnJvciBvdXRwdXQgZnJvbSBzdm4gc3RhdAogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2lmICgkaXNHaXQpIHsKICAgICAgICAgICAgIGlmICgv
XihbQURNXSlcdCguKykkLykgewogICAgICAgICAgICAgICAgICRzdGF0dXMgPSAkMTsKKyAgICAg
ICAgICAgICAgICAkcHJvcGVydHlTdGF0dXMgPSAiICI7ICAjIGdpdCBkb2Vzbid0IGhhdmUgcHJv
cGVydGllcwogICAgICAgICAgICAgICAgICRmaWxlID0gbm9ybWFsaXplUGF0aCgkMik7CiAgICAg
ICAgICAgICB9IGVsc2lmICgvXihbQ1JdKVswLTldezEsM31cdChbXlx0XSspXHQoW15cdFxuXSsp
JC8pIHsgIyBmb3IgZXhhbXBsZTogUjkwJSAgICBuZXdmaWxlICAgIG9sZGZpbGUKICAgICAgICAg
ICAgICAgICAkc3RhdHVzID0gJDE7CisgICAgICAgICAgICAgICAgJHByb3BlcnR5U3RhdHVzID0g
IiAiOwogICAgICAgICAgICAgICAgICRvcmlnaW5hbCA9IG5vcm1hbGl6ZVBhdGgoJDIpOwogICAg
ICAgICAgICAgICAgICRmaWxlID0gbm9ybWFsaXplUGF0aCgkMyk7CiAgICAgICAgICAgICB9IGVs
c2UgewpAQCAtMTM4OSwxMSArMTQ0NiwxMSBAQCBzdWIgZ2VuZXJhdGVGaWxlTGlzdChcQFxAXCUp
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBuZXh0IHVubGVzcyAkc3RhdHVz
OworICAgICAgICBuZXh0IGlmICEkc3RhdHVzIHx8IGlzVW5tb2RpZmllZFN0YXR1cygkc3RhdHVz
KSAmJiBpc1VubW9kaWZpZWRTdGF0dXMoJHByb3BlcnR5U3RhdHVzKTsKIAogICAgICAgICAkZmls
ZSA9IG1ha2VGaWxlUGF0aFJlbGF0aXZlKCRmaWxlKTsKIAotICAgICAgICBpZiAoaXNNb2RpZmll
ZFN0YXR1cygkc3RhdHVzKSB8fCBpc0FkZGVkU3RhdHVzKCRzdGF0dXMpKSB7CisgICAgICAgIGlm
IChpc01vZGlmaWVkU3RhdHVzKCRzdGF0dXMpIHx8IGlzQWRkZWRTdGF0dXMoJHN0YXR1cykgfHwg
aXNNb2RpZmllZFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKSB7CiAgICAgICAgICAgICBteSBAY29t
cG9uZW50cyA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKTsKICAgICAgICAgICAgIGlmICgk
Y29tcG9uZW50c1swXSBlcSAiTGF5b3V0VGVzdHMiKSB7CiAgICAgICAgICAgICAgICAgJGRpZENo
YW5nZVJlZ3Jlc3Npb25UZXN0cyA9IDE7CkBAIC0xNDA0LDExICsxNDYxLDExIEBAIHN1YiBnZW5l
cmF0ZUZpbGVMaXN0KFxAXEBcJSkKICAgICAgICAgICAgICAgICAgICAgICAgJiYgIXNjYWxhcihn
cmVwKC9ecmVzb3VyY2VzJC9pLCBAY29tcG9uZW50cykpOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgcHVzaCBAeyRjaGFuZ2VkRmlsZXN9LCAkZmlsZSBpZiAkY29tcG9uZW50c1skI2NvbXBv
bmVudHNdIG5lICJDaGFuZ2VMb2ciOwotICAgICAgICB9IGVsc2lmIChpc0NvbmZsaWN0U3RhdHVz
KCRzdGF0dXMpKSB7CisgICAgICAgIH0gZWxzaWYgKGlzQ29uZmxpY3RTdGF0dXMoJHN0YXR1cykg
fHwgaXNDb25mbGljdFN0YXR1cygkcHJvcGVydHlTdGF0dXMpKSB7CiAgICAgICAgICAgICBwdXNo
IEB7JGNvbmZsaWN0RmlsZXN9LCAkZmlsZTsKICAgICAgICAgfQogICAgICAgICBpZiAoYmFzZW5h
bWUoJGZpbGUpIG5lICJDaGFuZ2VMb2ciKSB7Ci0gICAgICAgICAgICBteSAkZGVzY3JpcHRpb24g
PSBzdGF0dXNEZXNjcmlwdGlvbigkc3RhdHVzLCAkb3JpZ2luYWwpOworICAgICAgICAgICAgbXkg
JGRlc2NyaXB0aW9uID0gc3RhdHVzRGVzY3JpcHRpb24oJHN0YXR1cywgJHByb3BlcnR5U3RhdHVz
LCAkb3JpZ2luYWwsICRwcm9wZXJ0eUNoYW5nZXMpOwogICAgICAgICAgICAgJGZ1bmN0aW9uTGlz
dHMtPnskZmlsZX0gPSAkZGVzY3JpcHRpb24gaWYgZGVmaW5lZCAkZGVzY3JpcHRpb247CiAgICAg
ICAgIH0KICAgICB9CkBAIC0xNDI5LDYgKzE0ODYsMTcgQEAgc3ViIGdpdENvbmZpZygkKQogICAg
IHJldHVybiAkcmVzdWx0OwogfQogCitzdWIgaXNVbm1vZGlmaWVkU3RhdHVzKCQpCit7CisgICAg
bXkgKCRzdGF0dXMpID0gQF87CisKKyAgICBteSAlc3RhdHVzQ29kZXMgPSAoCisgICAgICAgICIg
IiA9PiAxLAorICAgICk7CisKKyAgICByZXR1cm4gJHN0YXR1c0NvZGVzeyRzdGF0dXN9OworfQor
CiBzdWIgaXNNb2RpZmllZFN0YXR1cygkKQogewogICAgIG15ICgkc3RhdHVzKSA9IEBfOwpAQCAt
MTQ3MCwxNSArMTUzOCwxNiBAQCBzdWIgaXNDb25mbGljdFN0YXR1cygkKQogICAgIHJldHVybiAk
Z2l0eyRzdGF0dXN9IGlmICRpc0dpdDsKIH0KIAotc3ViIHN0YXR1c0Rlc2NyaXB0aW9uKCQkKQor
c3ViIHN0YXR1c0Rlc2NyaXB0aW9uKCQkJCQpCiB7Ci0gICAgbXkgKCRzdGF0dXMsICRvcmlnaW5h
bCkgPSBAXzsKKyAgICBteSAoJHN0YXR1cywgJHByb3BlcnR5U3RhdHVzLCAkb3JpZ2luYWwsICRw
cm9wZXJ0eUNoYW5nZXMpID0gQF87CiAKICAgICBteSAlc3ZuID0gKAogICAgICAgICAiQSIgPT4g
ZGVmaW5lZCAkb3JpZ2luYWwgPyAiIENvcGllZCBmcm9tIFwlcy4iIDogIiBBZGRlZC4iLAogICAg
ICAgICAiRCIgPT4gIiBSZW1vdmVkLiIsCiAgICAgICAgICJNIiA9PiAiIiwKICAgICAgICAgIlIi
ID0+IGRlZmluZWQgJG9yaWdpbmFsID8gIiBSZXBsYWNlZCB3aXRoIFwlcy4iIDogIiBSZXBsYWNl
ZC4iLAorICAgICAgICAiICIgPT4gZGVmaW5lZCAkcHJvcGVydHlDaGFuZ2VzID8gcHJvcGVydHlD
aGFuZ2VEZXNjcmlwdGlvbigkcHJvcGVydHlDaGFuZ2VzKSA6ICIiLAogICAgICk7CiAKICAgICBt
eSAlZ2l0ID0gJXN2bjsKQEAgLTE0OTEsNiArMTU2MCwyNiBAQCBzdWIgc3RhdHVzRGVzY3JpcHRp
b24oJCQpCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCitzdWIgcHJvcGVydHlDaGFuZ2VEZXNjcmlw
dGlvbigkKQoreworICAgIG15ICgkcHJvcGVydHlDaGFuZ2VzKSA9IEBfOworCisgICAgbXkgJW9w
ZXJhdGlvbnMgPSAoCisgICAgICAgICJBIiA9PiAiQWRkZWQiLAorICAgICAgICAiTSIgPT4gIk1v
ZGlmaWVkIiwKKyAgICAgICAgIkQiID0+ICJSZW1vdmVkIiwKKyAgICAgICAgIkMiID0+ICJDaGFu
Z2VkIiwKKyAgICApOworCisgICAgbXkgJGRlc2NyaXB0aW9uID0gIiI7CisgICAgd2hpbGUgKG15
ICgkb3BlcmF0aW9uLCAkcHJvcGVydGllcykgPSBlYWNoICUkcHJvcGVydHlDaGFuZ2VzKSB7Cisg
ICAgICAgIG15ICR3b3JkID0gJG9wZXJhdGlvbnN7JG9wZXJhdGlvbn07CisgICAgICAgIG15ICRs
aXN0ID0gcGx1cmFsaXplQW5kTGlzdCgicHJvcGVydHkiLCAicHJvcGVydGllcyIsIEAkcHJvcGVy
dGllcyk7CisgICAgICAgICRkZXNjcmlwdGlvbiAuPSAiICR3b3JkICRsaXN0LiI7CisgICAgfQor
ICAgIHJldHVybiAkZGVzY3JpcHRpb247Cit9CisKIHN1YiBleHRyYWN0TGluZVJhbmdlKCQpCiB7
CiAgICAgbXkgKCRzdHJpbmcpID0gQF87Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38649</attachid>
            <date>2009-08-26 17:14:05 -0700</date>
            <delta_ts>2009-08-26 23:38:30 -0700</delta_ts>
            <desc>Make prepare-ChangeLog work as described, v3</desc>
            <filename>28675-3.patch</filename>
            <type>text/plain</type>
            <size>9835</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ3ODAwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDgtMjYgIENhbWVyb24gTWNDb3JtYWNr
ICA8Y2FtQG1jYy5pZC5hdT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNYWtlIHByZXBhcmUtQ2hhbmdlTG9nIG5vdGljZSBwcm9wZXJ0eSBjaGFuZ2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY3NQor
CisgICAgICAgIE1ha2UgdGhlIGdlbmVyYXRlZCBDaGFuZ2VMb2cgZW50cnkgaW5jbHVkZSBhIHNo
b3J0IGRlc2NyaXB0aW9uIG9mCisgICAgICAgIHByb3BlcnR5IGNoYW5nZXMgaWYgdGhlcmUgd2Vy
ZSBzdWNoIGNoYW5nZXMuICBBbHNvIG1ha2UKKyAgICAgICAgcHJlcGFyZS1DaGFuZ2VMb2cgbm90
IGJhaWwgaWYgdGhlIG9ubHkgY2hhbmdlcyBhcmUgcHJvcGVydHkgY2hhbmdlcy4KKworICAgICAg
ICAqIFNjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2c6CisKIDIwMDktMDgtMjYgIEpvaG4gR3JlZ2cg
IDxqb2hubnlnQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4u
CkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cJKHJldmlzaW9uIDQ3Mzk3
KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtNSw2ICs1LDcgQEAKICMgIENvcHlyaWdodCAoQykgMjAwMCwgMjAwMSBFYXplbCwgSW5j
LgogIyAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjICBDb3B5cmlnaHQgKEMpIDIwMDkgVG9y
Y2ggTW9iaWxlLCBJbmMuCisjICBDb3B5cmlnaHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sg
PGNhbUBtY2MuaWQuYXU+CiAjCiAjICBwcmVwYXJlLUNoYW5nZUxvZyBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICMgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwpAQCAtNzMsMTIgKzc0LDE2IEBAIHN1YiBz
dGF0dXNDb21tYW5kKEApOwogc3ViIGNyZWF0ZVBhdGNoQ29tbWFuZCgkKTsKIHN1YiBkaWZmSGVh
ZGVyRm9ybWF0KCk7CiBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCk7CitzdWIgZGV0ZXJt
aW5lUHJvcGVydHlDaGFuZ2VzKCQkJCk7CitzdWIgcGx1cmFsaXplQW5kTGlzdCgkJEApOwogc3Vi
IGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwlKTsKIHN1YiBnaXRDb25maWcoJCk7CitzdWIgaXNVbm1v
ZGlmaWVkU3RhdHVzKCQpOwogc3ViIGlzTW9kaWZpZWRTdGF0dXMoJCk7CiBzdWIgaXNBZGRlZFN0
YXR1cygkKTsKIHN1YiBpc0NvbmZsaWN0U3RhdHVzKCQpOwotc3ViIHN0YXR1c0Rlc2NyaXB0aW9u
KCQkKTsKK3N1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCQkKTsKK3N1YiBwcm9wZXJ0eUNoYW5nZURl
c2NyaXB0aW9uKCQpOwogc3ViIGV4dHJhY3RMaW5lUmFuZ2UoJCk7CiBzdWIgY2Fub25pY2FsaXpl
UGF0aCgkKTsKIHN1YiB0ZXN0TGlzdEZvckNoYW5nZUxvZyhAKTsKQEAgLTEzNDksNiArMTM1NCw3
NiBAQCBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCkKICAgICByZXR1cm4gJHNvdXJjZUZp
bGU7CiB9CiAKK3N1YiBkZXRlcm1pbmVQcm9wZXJ0eUNoYW5nZXMoJCQkKQoreworICAgIG15ICgk
ZmlsZSwgJGlzQWRkLCAkb3JpZ2luYWwpID0gQF87CisKKyAgICBteSAlY2hhbmdlczsKKyAgICBp
ZiAoJGlzQWRkKSB7CisgICAgICAgIG15ICVhZGRlZFByb3BlcnRpZXM7CisgICAgICAgIG15ICVy
ZW1vdmVkUHJvcGVydGllczsKKyAgICAgICAgb3BlbiBQUk9QTElTVCwgIiRTVk4gcHJvcGxpc3Qg
JyRmaWxlJyB8IiBvciBkaWU7CisgICAgICAgIHdoaWxlICg8UFJPUExJU1Q+KSB7CisgICAgICAg
ICAgICAkYWRkZWRQcm9wZXJ0aWVzeyQxfSA9IDEgaWYgL14gICguKz8pW1xyXG5dKiQvICYmICQx
IG5lICdzdm46bWVyZ2VpbmZvJzsKKyAgICAgICAgfQorICAgICAgICBjbG9zZSBQUk9QTElTVDsK
KyAgICAgICAgaWYgKCRvcmlnaW5hbCkgeworICAgICAgICAgICAgb3BlbiBQUk9QTElTVCwgIiRT
Vk4gcHJvcGxpc3QgJyRvcmlnaW5hbCcgfCIgb3IgZGllOworICAgICAgICAgICAgd2hpbGUgKDxQ
Uk9QTElTVD4pIHsKKyAgICAgICAgICAgICAgICBuZXh0IHVubGVzcyAvXiAgKC4rPylbXHJcbl0q
JC87CisgICAgICAgICAgICAgICAgbXkgJHByb3BlcnR5ID0gJDE7CisgICAgICAgICAgICAgICAg
aWYgKGV4aXN0cyAkYWRkZWRQcm9wZXJ0aWVzeyRwcm9wZXJ0eX0pIHsKKyAgICAgICAgICAgICAg
ICAgICAgZGVsZXRlICRhZGRlZFByb3BlcnRpZXN7JDF9OworICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICRyZW1vdmVkUHJvcGVydGllc3skMX0gPSAxOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAkY2hhbmdl
c3siQSJ9ID0gW3NvcnQga2V5cyAlYWRkZWRQcm9wZXJ0aWVzXSBpZiAlYWRkZWRQcm9wZXJ0aWVz
OworICAgICAgICAkY2hhbmdlc3siRCJ9ID0gW3NvcnQga2V5cyAlcmVtb3ZlZFByb3BlcnRpZXNd
IGlmICVyZW1vdmVkUHJvcGVydGllczsKKyAgICB9IGVsc2UgeworICAgICAgICBvcGVuIERJRkYs
ICIkU1ZOIGRpZmYgJyRmaWxlJyB8IiBvciBkaWU7CisgICAgICAgIHdoaWxlICg8RElGRj4pIHsK
KyAgICAgICAgICAgIGlmICgvXlByb3BlcnR5IGNoYW5nZXMgb246LykgeworICAgICAgICAgICAg
ICAgIHdoaWxlICg8RElGRj4pIHsKKyAgICAgICAgICAgICAgICAgICAgbXkgJG9wZXJhdGlvbjsK
KyAgICAgICAgICAgICAgICAgICAgbXkgJHByb3BlcnR5OworICAgICAgICAgICAgICAgICAgICBp
ZiAoL15BZGRlZDogKFxTKikvKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAkb3BlcmF0aW9u
ID0gIkEiOworICAgICAgICAgICAgICAgICAgICAgICAgJHByb3BlcnR5ID0gJDE7CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzaWYgKC9eTW9kaWZpZWQ6IChcUyopLykgeworICAgICAgICAgICAg
ICAgICAgICAgICAgJG9wZXJhdGlvbiA9ICJNIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICRw
cm9wZXJ0eSA9ICQxOworICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgvXkRlbGV0ZWQ6IChc
UyopLykgeworICAgICAgICAgICAgICAgICAgICAgICAgJG9wZXJhdGlvbiA9ICJEIjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICRwcm9wZXJ0eSA9ICQxOworICAgICAgICAgICAgICAgICAgICB9
IGVsc2lmICgvXk5hbWU6IChcUyopLykgeworICAgICAgICAgICAgICAgICAgICAgICAgIyBPbGRl
ciB2ZXJzaW9ucyBvZiBzdm4ganVzdCBzYXkgIk5hbWUiIGluc3RlYWQgb2YgdGhlIHR5cGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICMgb2YgcHJvcGVydHkgY2hhbmdlLgorICAgICAgICAgICAg
ICAgICAgICAgICAgJG9wZXJhdGlvbiA9ICJDIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICRw
cm9wZXJ0eSA9ICQxOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
IGlmICgkb3BlcmF0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAkY2hhbmdlc3skb3Bl
cmF0aW9ufSA9IFtdIHVubGVzcyBleGlzdHMgJGNoYW5nZXN7JG9wZXJhdGlvbn07CisgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoIEB7JGNoYW5nZXN7JG9wZXJhdGlvbn19LCAkcHJvcGVydHk7
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgY2xvc2UgRElGRjsKKyAgICB9CisgICAgcmV0dXJuIFwlY2hh
bmdlczsKK30KKworc3ViIHBsdXJhbGl6ZUFuZExpc3QoJCRAKQoreworICAgIG15ICgkc2luZ3Vs
YXIsICRwbHVyYWwsIEBpdGVtcykgPSBAXzsKKworICAgIHJldHVybiBpZiBAaXRlbXMgPT0gMDsK
KyAgICByZXR1cm4gIiRzaW5ndWxhciAkaXRlbXNbMF0iIGlmIEBpdGVtcyA9PSAxOworICAgIHJl
dHVybiAiJHBsdXJhbCAiIC4gam9pbigiLCAiLCBAaXRlbXNbMCAuLiAkI2l0ZW1zIC0gMV0pIC4g
IiBhbmQgIiAuICRpdGVtc1stMV07Cit9CisKIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFxAXEBcJSkK
IHsKICAgICBteSAoJGNoYW5nZWRGaWxlcywgJGNvbmZsaWN0RmlsZXMsICRmdW5jdGlvbkxpc3Rz
KSA9IEBfOwpAQCAtMTM1NiwzMiArMTQzMSw0MCBAQCBzdWIgZ2VuZXJhdGVGaWxlTGlzdChcQFxA
XCUpCiAgICAgb3BlbiBTVEFULCAiLXwiLCBzdGF0dXNDb21tYW5kKGtleXMgJXBhdGhzKSBvciBk
aWUgIlRoZSBzdGF0dXMgZmFpbGVkOiAkIS5cbiI7CiAgICAgd2hpbGUgKDxTVEFUPikgewogICAg
ICAgICBteSAkc3RhdHVzOworICAgICAgICBteSAkcHJvcGVydHlTdGF0dXM7CisgICAgICAgIG15
ICRwcm9wZXJ0eUNoYW5nZXM7CiAgICAgICAgIG15ICRvcmlnaW5hbDsKICAgICAgICAgbXkgJGZp
bGU7CiAKICAgICAgICAgaWYgKCRpc1NWTikgewogICAgICAgICAgICAgbXkgJG1hdGNoZXM7CiAg
ICAgICAgICAgICBpZiAoZXZhbCAidiRzdm5WZXJzaW9uIiBnZSB2MS42KSB7Ci0gICAgICAgICAg
ICAgICAgJG1hdGNoZXMgPSAvXihbQUNETVJdKS57Nn0gKC4rPylbXHJcbl0qJC87CisgICAgICAg
ICAgICAgICAgJG1hdGNoZXMgPSAvXihbIEFDRE1SXSkoWyBDTV0pLns1fSAoLis/KVtcclxuXSok
LzsKICAgICAgICAgICAgICAgICAkc3RhdHVzID0gJDE7Ci0gICAgICAgICAgICAgICAgJGZpbGUg
PSAkMjsKKyAgICAgICAgICAgICAgICAkcHJvcGVydHlTdGF0dXMgPSAkMjsKKyAgICAgICAgICAg
ICAgICAkZmlsZSA9ICQzOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAk
bWF0Y2hlcyA9IC9eKFtBQ0RNUl0pLns1fSAoLis/KVtcclxuXSokLzsKKyAgICAgICAgICAgICAg
ICAkbWF0Y2hlcyA9IC9eKFsgQUNETVJdKShbIENNXSkuezR9ICguKz8pW1xyXG5dKiQvOwogICAg
ICAgICAgICAgICAgICRzdGF0dXMgPSAkMTsKLSAgICAgICAgICAgICAgICAkZmlsZSA9ICQyOwor
ICAgICAgICAgICAgICAgICRwcm9wZXJ0eVN0YXR1cyA9ICQyOworICAgICAgICAgICAgICAgICRm
aWxlID0gJDM7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoJG1hdGNoZXMpIHsKICAg
ICAgICAgICAgICAgICAkZmlsZSA9IG5vcm1hbGl6ZVBhdGgoJGZpbGUpOwogICAgICAgICAgICAg
ICAgICRvcmlnaW5hbCA9IGZpbmRPcmlnaW5hbEZpbGVGcm9tU3ZuKCRmaWxlKSBpZiBzdWJzdHIo
JF8sIDMsIDEpIGVxICIrIjsKKyAgICAgICAgICAgICAgICBteSAkaXNBZGQgPSBpc0FkZGVkU3Rh
dHVzKCRzdGF0dXMpOworICAgICAgICAgICAgICAgICRwcm9wZXJ0eUNoYW5nZXMgPSBkZXRlcm1p
bmVQcm9wZXJ0eUNoYW5nZXMoJGZpbGUsICRpc0FkZCwgJG9yaWdpbmFsKSBpZiBpc01vZGlmaWVk
U3RhdHVzKCRwcm9wZXJ0eVN0YXR1cykgfHwgJGlzQWRkOwogICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICBwcmludDsgICMgZXJyb3Igb3V0cHV0IGZyb20gc3ZuIHN0YXQKICAg
ICAgICAgICAgIH0KICAgICAgICAgfSBlbHNpZiAoJGlzR2l0KSB7CiAgICAgICAgICAgICBpZiAo
L14oW0FETV0pXHQoLispJC8pIHsKICAgICAgICAgICAgICAgICAkc3RhdHVzID0gJDE7CisgICAg
ICAgICAgICAgICAgJHByb3BlcnR5U3RhdHVzID0gIiAiOyAgIyBnaXQgZG9lc24ndCBoYXZlIHBy
b3BlcnRpZXMKICAgICAgICAgICAgICAgICAkZmlsZSA9IG5vcm1hbGl6ZVBhdGgoJDIpOwogICAg
ICAgICAgICAgfSBlbHNpZiAoL14oW0NSXSlbMC05XXsxLDN9XHQoW15cdF0rKVx0KFteXHRcbl0r
KSQvKSB7ICMgZm9yIGV4YW1wbGU6IFI5MCUgICAgbmV3ZmlsZSAgICBvbGRmaWxlCiAgICAgICAg
ICAgICAgICAgJHN0YXR1cyA9ICQxOworICAgICAgICAgICAgICAgICRwcm9wZXJ0eVN0YXR1cyA9
ICIgIjsKICAgICAgICAgICAgICAgICAkb3JpZ2luYWwgPSBub3JtYWxpemVQYXRoKCQyKTsKICAg
ICAgICAgICAgICAgICAkZmlsZSA9IG5vcm1hbGl6ZVBhdGgoJDMpOwogICAgICAgICAgICAgfSBl
bHNlIHsKQEAgLTEzODksMTEgKzE0NzIsMTEgQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoXEBcQFwl
KQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgbmV4dCB1bmxlc3MgJHN0YXR1
czsKKyAgICAgICAgbmV4dCBpZiAhJHN0YXR1cyB8fCBpc1VubW9kaWZpZWRTdGF0dXMoJHN0YXR1
cykgJiYgaXNVbm1vZGlmaWVkU3RhdHVzKCRwcm9wZXJ0eVN0YXR1cyk7CiAKICAgICAgICAgJGZp
bGUgPSBtYWtlRmlsZVBhdGhSZWxhdGl2ZSgkZmlsZSk7CiAKLSAgICAgICAgaWYgKGlzTW9kaWZp
ZWRTdGF0dXMoJHN0YXR1cykgfHwgaXNBZGRlZFN0YXR1cygkc3RhdHVzKSkgeworICAgICAgICBp
ZiAoaXNNb2RpZmllZFN0YXR1cygkc3RhdHVzKSB8fCBpc0FkZGVkU3RhdHVzKCRzdGF0dXMpIHx8
IGlzTW9kaWZpZWRTdGF0dXMoJHByb3BlcnR5U3RhdHVzKSkgewogICAgICAgICAgICAgbXkgQGNv
bXBvbmVudHMgPSBGaWxlOjpTcGVjLT5zcGxpdGRpcigkZmlsZSk7CiAgICAgICAgICAgICBpZiAo
JGNvbXBvbmVudHNbMF0gZXEgIkxheW91dFRlc3RzIikgewogICAgICAgICAgICAgICAgICRkaWRD
aGFuZ2VSZWdyZXNzaW9uVGVzdHMgPSAxOwpAQCAtMTQwNCwxMSArMTQ4NywxMSBAQCBzdWIgZ2Vu
ZXJhdGVGaWxlTGlzdChcQFxAXCUpCiAgICAgICAgICAgICAgICAgICAgICAgICYmICFzY2FsYXIo
Z3JlcCgvXnJlc291cmNlcyQvaSwgQGNvbXBvbmVudHMpKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIHB1c2ggQHskY2hhbmdlZEZpbGVzfSwgJGZpbGUgaWYgJGNvbXBvbmVudHNbJCNjb21w
b25lbnRzXSBuZSAiQ2hhbmdlTG9nIjsKLSAgICAgICAgfSBlbHNpZiAoaXNDb25mbGljdFN0YXR1
cygkc3RhdHVzKSkgeworICAgICAgICB9IGVsc2lmIChpc0NvbmZsaWN0U3RhdHVzKCRzdGF0dXMp
IHx8IGlzQ29uZmxpY3RTdGF0dXMoJHByb3BlcnR5U3RhdHVzKSkgewogICAgICAgICAgICAgcHVz
aCBAeyRjb25mbGljdEZpbGVzfSwgJGZpbGU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGJhc2Vu
YW1lKCRmaWxlKSBuZSAiQ2hhbmdlTG9nIikgewotICAgICAgICAgICAgbXkgJGRlc2NyaXB0aW9u
ID0gc3RhdHVzRGVzY3JpcHRpb24oJHN0YXR1cywgJG9yaWdpbmFsKTsKKyAgICAgICAgICAgIG15
ICRkZXNjcmlwdGlvbiA9IHN0YXR1c0Rlc2NyaXB0aW9uKCRzdGF0dXMsICRwcm9wZXJ0eVN0YXR1
cywgJG9yaWdpbmFsLCAkcHJvcGVydHlDaGFuZ2VzKTsKICAgICAgICAgICAgICRmdW5jdGlvbkxp
c3RzLT57JGZpbGV9ID0gJGRlc2NyaXB0aW9uIGlmIGRlZmluZWQgJGRlc2NyaXB0aW9uOwogICAg
ICAgICB9CiAgICAgfQpAQCAtMTQyOSw2ICsxNTEyLDE3IEBAIHN1YiBnaXRDb25maWcoJCkKICAg
ICByZXR1cm4gJHJlc3VsdDsKIH0KIAorc3ViIGlzVW5tb2RpZmllZFN0YXR1cygkKQoreworICAg
IG15ICgkc3RhdHVzKSA9IEBfOworCisgICAgbXkgJXN0YXR1c0NvZGVzID0gKAorICAgICAgICAi
ICIgPT4gMSwKKyAgICApOworCisgICAgcmV0dXJuICRzdGF0dXNDb2Rlc3skc3RhdHVzfTsKK30K
Kwogc3ViIGlzTW9kaWZpZWRTdGF0dXMoJCkKIHsKICAgICBteSAoJHN0YXR1cykgPSBAXzsKQEAg
LTE0NzAsMTUgKzE1NjQsMTggQEAgc3ViIGlzQ29uZmxpY3RTdGF0dXMoJCkKICAgICByZXR1cm4g
JGdpdHskc3RhdHVzfSBpZiAkaXNHaXQ7CiB9CiAKLXN1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCkK
K3N1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCQkKQogewotICAgIG15ICgkc3RhdHVzLCAkb3JpZ2lu
YWwpID0gQF87CisgICAgbXkgKCRzdGF0dXMsICRwcm9wZXJ0eVN0YXR1cywgJG9yaWdpbmFsLCAk
cHJvcGVydHlDaGFuZ2VzKSA9IEBfOworCisgICAgbXkgJHByb3BlcnR5RGVzY3JpcHRpb24gPSBk
ZWZpbmVkICRwcm9wZXJ0eUNoYW5nZXMgPyBwcm9wZXJ0eUNoYW5nZURlc2NyaXB0aW9uKCRwcm9w
ZXJ0eUNoYW5nZXMpIDogIiI7CiAKICAgICBteSAlc3ZuID0gKAogICAgICAgICAiQSIgPT4gZGVm
aW5lZCAkb3JpZ2luYWwgPyAiIENvcGllZCBmcm9tIFwlcy4iIDogIiBBZGRlZC4iLAogICAgICAg
ICAiRCIgPT4gIiBSZW1vdmVkLiIsCiAgICAgICAgICJNIiA9PiAiIiwKICAgICAgICAgIlIiID0+
IGRlZmluZWQgJG9yaWdpbmFsID8gIiBSZXBsYWNlZCB3aXRoIFwlcy4iIDogIiBSZXBsYWNlZC4i
LAorICAgICAgICAiICIgPT4gIiIsCiAgICAgKTsKIAogICAgIG15ICVnaXQgPSAlc3ZuOwpAQCAt
MTQ4Niw5ICsxNTgzLDM0IEBAIHN1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCkKICAgICAkZ2l0eyJD
In0gPSAiIENvcGllZCBmcm9tIFwlcy4iOwogICAgICRnaXR7IlIifSA9ICIgUmVuYW1lZCBmcm9t
IFwlcy4iOwogCi0gICAgcmV0dXJuIHNwcmludGYoJHN2bnskc3RhdHVzfSwgJG9yaWdpbmFsKSBp
ZiAkaXNTVk4gJiYgZXhpc3RzICRzdm57JHN0YXR1c307Ci0gICAgcmV0dXJuIHNwcmludGYoJGdp
dHskc3RhdHVzfSwgJG9yaWdpbmFsKSBpZiAkaXNHaXQgJiYgZXhpc3RzICRnaXR7JHN0YXR1c307
Ci0gICAgcmV0dXJuIHVuZGVmOworICAgIG15ICRkZXNjcmlwdGlvbjsKKyAgICAkZGVzY3JpcHRp
b24gPSBzcHJpbnRmKCRzdm57JHN0YXR1c30sICRvcmlnaW5hbCkgaWYgJGlzU1ZOICYmIGV4aXN0
cyAkc3ZueyRzdGF0dXN9OworICAgICRkZXNjcmlwdGlvbiA9IHNwcmludGYoJGdpdHskc3RhdHVz
fSwgJG9yaWdpbmFsKSBpZiAkaXNHaXQgJiYgZXhpc3RzICRnaXR7JHN0YXR1c307CisgICAgcmV0
dXJuIHVubGVzcyBkZWZpbmVkICRkZXNjcmlwdGlvbjsKKworICAgICRkZXNjcmlwdGlvbiAuPSAk
cHJvcGVydHlEZXNjcmlwdGlvbjsKKyAgICAkZGVzY3JpcHRpb24gPX4gcy9eIEFkZGVkXC4gQWRk
ZWQgcHJvcGVydC8gQWRkZWQgd2l0aCBwcm9wZXJ0LzsKKyAgICByZXR1cm4gJGRlc2NyaXB0aW9u
OworfQorCitzdWIgcHJvcGVydHlDaGFuZ2VEZXNjcmlwdGlvbigkKQoreworICAgIG15ICgkcHJv
cGVydHlDaGFuZ2VzKSA9IEBfOworCisgICAgbXkgJW9wZXJhdGlvbnMgPSAoCisgICAgICAgICJB
IiA9PiAiQWRkZWQiLAorICAgICAgICAiTSIgPT4gIk1vZGlmaWVkIiwKKyAgICAgICAgIkQiID0+
ICJSZW1vdmVkIiwKKyAgICAgICAgIkMiID0+ICJDaGFuZ2VkIiwKKyAgICApOworCisgICAgbXkg
JGRlc2NyaXB0aW9uID0gIiI7CisgICAgd2hpbGUgKG15ICgkb3BlcmF0aW9uLCAkcHJvcGVydGll
cykgPSBlYWNoICUkcHJvcGVydHlDaGFuZ2VzKSB7CisgICAgICAgIG15ICR3b3JkID0gJG9wZXJh
dGlvbnN7JG9wZXJhdGlvbn07CisgICAgICAgIG15ICRsaXN0ID0gcGx1cmFsaXplQW5kTGlzdCgi
cHJvcGVydHkiLCAicHJvcGVydGllcyIsIEAkcHJvcGVydGllcyk7CisgICAgICAgICRkZXNjcmlw
dGlvbiAuPSAiICR3b3JkICRsaXN0LiI7CisgICAgfQorICAgIHJldHVybiAkZGVzY3JpcHRpb247
CiB9CiAKIHN1YiBleHRyYWN0TGluZVJhbmdlKCQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>