<?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>9570</bug_id>
          
          <creation_ts>2006-06-24 20:48:25 -0700</creation_ts>
          <short_desc>Teach prepare-ChangeLog to operate on a list of files or directories</short_desc>
          <delta_ts>2006-06-24 22:56:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>47086</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-24 20:48:25 -0700</bug_when>
    <thetext>It would be nice to have prepare-ChangeLog work on a list of files or directories to limit its scope when creating ChangeLog entries.  I realize this is a double-edged sword since this means that some changes could be left out if someone runs prepare-ChangeLog incorrectly, but as all good command-line (UNIX) tools do, it would give you enough rope to hang yourself.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47087</commentid>
    <comment_count>1</comment_count>
      <attachid>9012</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-24 20:53:13 -0700</bug_when>
    <thetext>Created attachment 9012
Patch v1

Changes to prepare-ChangeLog:

- Copied canonicalizePath() and processPaths() subroutines from svn-create-patch and reformatted their curly braces.
- Added subroutine prototypes.
- Updated help message.
- Changed initial &quot;svn diff&quot; to use list of files and directories passed in (if any).

Changes to svn-create-patch:

- Removed unused $startDir variable.
- Tweaked help message.
- Extracted processPaths() subroutine to make it easier to copy to prepare-ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47093</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-24 22:56:30 -0700</bug_when>
    <thetext>Committed revision 15025.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9012</attachid>
            <date>2006-06-24 20:53:13 -0700</date>
            <delta_ts>2006-06-24 21:54:00 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-9570-v1.diff</filename>
            <type>text/plain</type>
            <size>7968</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1MDI0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDYtMjQgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NTcwCisgICAgICAgIFRlYWNoIHByZXBhcmUtQ2hhbmdlTG9nIHRvIG9wZXJhdGUgb24gYSBs
aXN0IG9mIGZpbGVzIG9yIGRpcmVjdG9yaWVzCisKKyAgICAgICAgKiBTY3JpcHRzL3ByZXBhcmUt
Q2hhbmdlTG9nOiBBY2NlcHQgYSBsaXN0IG9mIGZpbGVzIGFuZC9vciBkaXJlY3RvcmllcyB3aGVu
IHJ1bm5pbmcuCisgICAgICAgICogU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoOiBDb2RlIHJlZmFj
dG9yaW5nLgorCiAyMDA2LTA2LTI0ICBKYW1lcyBHLiBTcGV0aCAgPHNwZXRoQGVuZC5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4uCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3By
ZXBhcmUtQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvcHJlcGFy
ZS1DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDI0KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVw
YXJlLUNoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTMgQEAgdXNlIEZpbGU6
OlNwZWM7CiB1c2UgRmlsZTo6VGVtcDsKIHVzZSBHZXRvcHQ6Okxvbmc7CiAKK3N1YiBjYW5vbmlj
YWxpemVQYXRoKCQpOworc3ViIGdldF9mdW5jdGlvbl9saW5lX3JhbmdlcygkJCk7CitzdWIgZ2V0
X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzX2Zvcl9jKCQkKTsKK3N1YiBnZXRfZnVuY3Rpb25fbGluZV9y
YW5nZXNfZm9yX2phdmEoJCQpOworc3ViIG1ldGhvZF9kZWNsX3RvX3NlbGVjdG9yKCQpOworc3Vi
IHByb2Nlc3NQYXRocyhcQCk7CisKIG15ICRvcGVuQ2hhbmdlTG9ncyA9IDA7CiBteSAkc2hvd0hl
bHAgPSAwOwogbXkgJHNwZXdEaWZmID0gJEVOVnsiUFJFUEFSRV9DSEFOR0VMT0dfRElGRiJ9OwpA
QCAtNjcsMTMgKzc0LDE1IEBAIG15ICRwYXJzZU9wdGlvbnNSZXN1bHQgPQogICAgICAgICAgICAg
ICAgIm9wZW58byEiID0+IFwkb3BlbkNoYW5nZUxvZ3MpOwogaWYgKCEkcGFyc2VPcHRpb25zUmVz
dWx0IHx8ICRzaG93SGVscCkKICAgewotICAgIHByaW50IFNUREVSUiBiYXNlbmFtZSgkMCkgLiAi
IFstZHwtLWRpZmZdIFstaHwtLWhlbHBdIFstb3wtLW9wZW5dXG4iOworICAgIHByaW50IFNUREVS
UiBiYXNlbmFtZSgkMCkgLiAiIFstZHwtLWRpZmZdIFstaHwtLWhlbHBdIFstb3wtLW9wZW5dIFtz
dm5kaXIxIFtzdm5kaXIyIC4uLl1dXG4iOwogICAgIHByaW50IFNUREVSUiAiICAtZHwtLWRpZmYg
IFNwZXcgZGlmZiB0byBzdGRvdXQgd2hlbiBydW5uaW5nXG4iOwogICAgIHByaW50IFNUREVSUiAi
ICAtaHwtLWhlbHAgIFNob3cgdGhpcyBoZWxwIG1lc3NhZ2VcbiI7CiAgICAgcHJpbnQgU1RERVJS
ICIgIC1vfC0tb3BlbiAgT3BlbiBDaGFuZ2VMb2dzIGluIGFuIGVkaXRvciB3aGVuIGRvbmVcbiI7
CiAgICAgZXhpdCAxOwogICB9CiAKK215ICVwYXRocyA9IHByb2Nlc3NQYXRocyhAQVJHVik7CisK
ICMgRmluZCB0aGUgbGlzdCBvZiBtb2RpZmllZCBmaWxlcwogbXkgQGNoYW5nZWRfZmlsZXM7CiBt
eSAkY2hhbmdlZF9maWxlc19zdHJpbmc7CkBAIC05OSw3ICsxMDgsOCBAQCBteSAkZGlmZlRlbXBG
aWxlID0gJERJRkZPVVQtPmZpbGVuYW1lKCk7CiBteSBAZGlmZkZpbGVzOwogCiBwcmludCBTVERF
UlIgIiAgUnVubmluZyAnc3ZuIGRpZmYnIHRvIGZpbmQgY2hhbmdlZCwgYWRkZWQsIG9yIHJlbW92
ZWQgZmlsZXMuXG4iOwotb3BlbiBTVk5ESUZGLCAiJFNWTiBkaWZmIC0tZGlmZi1jbWQgZGlmZiAt
eCAtTiB8IiBvciBkaWUgIlRoZSBzdm4gZGlmZiBmYWlsZWQ6ICQhLlxuIjsKK29wZW4gU1ZORElG
RiwgIiRTVk4gZGlmZiAtLWRpZmYtY21kIGRpZmYgLXggLU4gJyIgLiBqb2luKCInICciLCBrZXlz
ICVwYXRocykgLiAiJ3wiCisgICAgb3IgZGllICJUaGUgc3ZuIGRpZmYgZmFpbGVkOiAkIS5cbiI7
CiB3aGlsZSAoPFNWTkRJRkY+KQogICB7CiAgICAgcHJpbnQgJERJRkZPVVQgJF87CkBAIC0zMzYs
NyArMzQ2LDMwIEBAIGlmICgkb3BlbkNoYW5nZUxvZ3MgJiYgJGxvZ3MpCiAjIERvbmUuCiBleGl0
OwogCi1zdWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzCitzdWIgY2Fub25pY2FsaXplUGF0aCgk
KQorICB7CisgICAgbXkgKCRmaWxlKSA9IEBfOworCisgICAgIyBSZW1vdmUgZXh0cmEgc2xhc2hl
cyBhbmQgJy4nIGRpcmVjdG9yaWVzIGluIHBhdGgKKyAgICAkZmlsZSA9IEZpbGU6OlNwZWMtPmNh
bm9ucGF0aCgkZmlsZSk7CisKKyAgICAjIFJlbW92ZSAnLi4nIGRpcmVjdG9yaWVzIGluIHBhdGgK
KyAgICBteSBAZGlycyA9ICgpOworICAgIGZvcmVhY2ggbXkgJGRpciAoRmlsZTo6U3BlYy0+c3Bs
aXRkaXIoJGZpbGUpKQorICAgICAgeworICAgICAgICBpZiAoJGRpciBlcSAnLi4nICYmICQjZGly
cyA+PSAwICYmICRkaXJzWyQjZGlyc10gbmUgJy4uJykKKyAgICAgICAgICB7CisgICAgICAgICAg
ICBwb3AoQGRpcnMpOworICAgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgIHsKKyAg
ICAgICAgICAgIHB1c2goQGRpcnMsICRkaXIpOworICAgICAgICAgIH0KKyAgICAgIH0KKyAgICBy
ZXR1cm4gKCQjZGlycyA+PSAwKSA/IEZpbGU6OlNwZWMtPmNhdGRpcihAZGlycykgOiAiLiI7Cisg
IH0KKworc3ViIGdldF9mdW5jdGlvbl9saW5lX3JhbmdlcygkJCkKICAgewogICAgIG15ICgkZmls
ZV9oYW5kbGUsICRmaWxlX25hbWUpID0gQF87CiAKQEAgLTM0OSw3ICszODIsNyBAQCBzdWIgZ2V0
X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzCiAgIH0KIAogCi1zdWIgbWV0aG9kX2RlY2xfdG9fc2VsZWN0
b3IKK3N1YiBtZXRob2RfZGVjbF90b19zZWxlY3RvcigkKQogICB7CiAgICAgKG15ICRtZXRob2Rf
ZGVjbCkgPSBAXzsKIApAQCAtMzg1LDcgKzQxOCw3IEBAIHN1YiBtZXRob2RfZGVjbF90b19zZWxl
Y3RvcgogIwogIyBSZXN1bHQgaXMgYSBsaXN0IG9mIHRyaXBsZXM6IFsgc3RhcnRfbGluZSwgZW5k
X2xpbmUsIGZ1bmN0aW9uX25hbWUgXS4KIAotc3ViIGdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19m
b3JfYworc3ViIGdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfYygkJCkKICAgewogICAgIG15
ICgkZmlsZV9oYW5kbGUsICRmaWxlX25hbWUpID0gQF87CiAKQEAgLTY5MSw3ICs3MjQsNyBAQCBz
dWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzX2Zvcl9jCiAjCiAjIFJlc3VsdCBpcyBhIGxpc3Qg
b2YgdHJpcGxlczogWyBzdGFydF9saW5lLCBlbmRfbGluZSwgZnVuY3Rpb25fbmFtZSBdLgogCi1z
dWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzX2Zvcl9qYXZhCitzdWIgZ2V0X2Z1bmN0aW9uX2xp
bmVfcmFuZ2VzX2Zvcl9qYXZhKCQkKQogICB7CiAgICAgbXkgKCRmaWxlX2hhbmRsZSwgJGZpbGVf
bmFtZSkgPSBAXzsKIApAQCAtOTAwLDMgKzkzMyw0MyBAQCBzdWIgZ2V0X2Z1bmN0aW9uX2xpbmVf
cmFuZ2VzX2Zvcl9qYXZhCiAKICAgICByZXR1cm4gQHJhbmdlczsKICAgfQorCitzdWIgcHJvY2Vz
c1BhdGhzKFxAKQorICB7CisgICAgbXkgKCRwYXRocykgPSBAXzsKKyAgICByZXR1cm4gKCIuIiA9
PiAxKSBpZiAoIUB7JHBhdGhzfSk7CisKKyAgICBteSAlcmVzdWx0ID0gKCk7CisKKyAgICBmb3Ig
bXkgJGZpbGUgKEB7JHBhdGhzfSkKKyAgICAgIHsKKyAgICAgICAgZGllICJjYW4ndCBoYW5kbGUg
YWJzb2x1dGUgcGF0aHMgbGlrZSBcIiRmaWxlXCJcbiIgaWYgRmlsZTo6U3BlYy0+ZmlsZV9uYW1l
X2lzX2Fic29sdXRlKCRmaWxlKTsKKyAgICAgICAgZGllICJjYW4ndCBoYW5kbGUgZW1wdHkgc3Ry
aW5nIHBhdGhcbiIgaWYgJGZpbGUgZXEgIiI7CisgICAgICAgIGRpZSAiY2FuJ3QgaGFuZGxlIHBh
dGggd2l0aCBzaW5nbGUgcXVvdGUgaW4gdGhlIG5hbWUgbGlrZSBcIiRmaWxlXCJcbiIgaWYgJGZp
bGUgPX4gLycvOyAjICcgKGtlZXAgWGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyBoYXBweSkKKwor
ICAgICAgICBteSAkdW50b3VjaGVkRmlsZSA9ICRmaWxlOworCisgICAgICAgICRmaWxlID0gY2Fu
b25pY2FsaXplUGF0aCgkZmlsZSk7CisKKyAgICAgICAgZGllICJjYW4ndCBoYW5kbGUgcGF0aHMg
d2l0aCAuLiBsaWtlIFwiJHVudG91Y2hlZEZpbGVcIlxuIiBpZiAkZmlsZSA9fiBtfC9cLlwuL3w7
CisKKyAgICAgICAgJHJlc3VsdHskZmlsZX0gPSAxOworICAgICAgfQorCisgICAgcmV0dXJuICgi
LiIgPT4gMSkgaWYgKCRyZXN1bHR7Ii4ifSk7CisKKyAgICAjIFJlbW92ZSBhbnkgcGF0aHMgdGhh
dCBhbHNvIGhhdmUgYSBwYXJlbnQgbGlzdGVkLgorICAgIGZvciBteSAkcGF0aCAoa2V5cyAlcmVz
dWx0KQorICAgICAgeworICAgICAgICBmb3IgKG15ICRwYXJlbnQgPSBkaXJuYW1lKCRwYXRoKTsg
JHBhcmVudCBuZSAnLic7ICRwYXJlbnQgPSBkaXJuYW1lKCRwYXJlbnQpKQorICAgICAgICAgewor
ICAgICAgICAgICAgaWYgKCRyZXN1bHR7JHBhcmVudH0pCisgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBkZWxldGUgJHJlc3VsdHskcGF0aH07CisgICAgICAgICAgICAgICAgbGFzdDsK
KyAgICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgIH0KKworICAgIHJldHVybiAlcmVz
dWx0OworICB9CkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2gKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoCShyZXZpc2lv
biAxNTAyNCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWNyZWF0ZS1wYXRjaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNTAgKzU4LDE2IEBAIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KCRcJVwlKTsK
IHN1YiBudW1lcmljY21wKCQkKTsKIHN1YiBvdXRwdXRCaW5hcnlDb250ZW50KCQpOwogc3ViIHBh
dGhjbXAoJCQpOworc3ViIHByb2Nlc3NQYXRocyhcQCk7CiBzdWIgc3BsaXRwYXRoKCQpOwogCiBt
eSAkc2hvd0hlbHA7CiBpZiAoIUdldE9wdGlvbnMoImhlbHAiID0+IFwkc2hvd0hlbHApIHx8ICRz
aG93SGVscCkgewotICAgIHByaW50IFNUREVSUiBiYXNlbmFtZSgkMCkgLiAiIFstaHwtLWhlbHBd
IHN2bmRpcjEgW3N2bmRpcjIgLi4uXVxuIjsKKyAgICBwcmludCBTVERFUlIgYmFzZW5hbWUoJDAp
IC4gIiBbLWh8LS1oZWxwXSBbc3ZuZGlyMSBbc3ZuZGlyMiAuLi5dXVxuIjsKICAgICBleGl0IDE7
CiB9CiAKLW15ICRzdGFydERpciA9IGdldGN3ZCgpOwotbXkgJXBhdGhzOwotCi0jIENyZWF0ZSBs
aXN0IG9mIHBhdGhzIHRvIGRpZmYuCi1pZiAoIUBBUkdWKSB7Ci0gICAgJHBhdGhzeyIuIn0gPSAx
OwotfSBlbHNlIHsKLSAgICBmb3IgbXkgJGZpbGUgKEBBUkdWKSB7Ci0gICAgICAgIGRpZSAiY2Fu
J3QgaGFuZGxlIGFic29sdXRlIHBhdGhzIGxpa2UgXCIkZmlsZVwiXG4iIGlmIEZpbGU6OlNwZWMt
PmZpbGVfbmFtZV9pc19hYnNvbHV0ZSgkZmlsZSk7Ci0gICAgICAgIGRpZSAiY2FuJ3QgaGFuZGxl
IGVtcHR5IHN0cmluZyBwYXRoXG4iIGlmICRmaWxlIGVxICIiOwotICAgICAgICBkaWUgImNhbid0
IGhhbmRsZSBwYXRoIHdpdGggc2luZ2xlIHF1b3RlIGluIHRoZSBuYW1lIGxpa2UgXCIkZmlsZVwi
XG4iIGlmICRmaWxlID1+IC8nLzsgIyAnIChrZWVwIFhjb2RlIHN5bnRheCBoaWdobGlnaHRpbmcg
aGFwcHkpCi0KLSAgICAgICAgbXkgJHVudG91Y2hlZEZpbGUgPSAkZmlsZTsKLQotICAgICAgICAk
ZmlsZSA9IGNhbm9uaWNhbGl6ZVBhdGgoJGZpbGUpOwotCi0gICAgICAgIGRpZSAiY2FuJ3QgaGFu
ZGxlIHBhdGhzIHdpdGggLi4gbGlrZSBcIiR1bnRvdWNoZWRGaWxlXCJcbiIgaWYgJGZpbGUgPX4g
bXwvXC5cLi98OwotCi0gICAgICAgICRwYXRoc3skZmlsZX0gPSAxOwotICAgIH0KLQotICAgIGlm
ICgkcGF0aHN7Ii4ifSkgewotICAgICAgICAlcGF0aHMgPSAoKTsKLSAgICAgICAgJHBhdGhzeyIu
In0gPSAxOwotICAgIH0gZWxzZSB7Ci0gICAgICAgICMgUmVtb3ZlIGFueSBwYXRocyB0aGF0IGFs
c28gaGF2ZSBhIHBhcmVudCBsaXN0ZWQuCi0gICAgICAgIGZvciBteSAkcGF0aCAoa2V5cyAlcGF0
aHMpIHsKLSAgICAgICAgICAgIGZvciAobXkgJHBhcmVudCA9IGRpcm5hbWUoJHBhdGgpOyAkcGFy
ZW50IG5lICcuJzsgJHBhcmVudCA9IGRpcm5hbWUoJHBhcmVudCkpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoJHBhdGhzeyRwYXJlbnR9KSB7Ci0gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSAkcGF0
aHN7JHBhdGh9OwotICAgICAgICAgICAgICAgICAgICBsYXN0OwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KK215ICVwYXRocyA9IHByb2Nlc3NQ
YXRocyhAQVJHVik7CiAKICMgR2VuZXJhdGUgYSBsaXN0IG9mIGZpbGVzIHJlcXVpcmluZyBkaWZm
cwogbXkgJXRleHRGaWxlczsKQEAgLTI0Nyw2ICsyMTMsNDIgQEAgc3ViIHBhdGhjbXAoJCQpCiAg
ICAgcmV0dXJuIG51bWVyaWNjbXAoJG5hbWVhLCAkbmFtZWIpOwogfQogCitzdWIgcHJvY2Vzc1Bh
dGhzKFxAKQoreworICAgIG15ICgkcGF0aHMpID0gQF87CisgICAgcmV0dXJuICgiLiIgPT4gMSkg
aWYgKCFAeyRwYXRoc30pOworCisgICAgbXkgJXJlc3VsdCA9ICgpOworCisgICAgZm9yIG15ICRm
aWxlIChAeyRwYXRoc30pIHsKKyAgICAgICAgZGllICJjYW4ndCBoYW5kbGUgYWJzb2x1dGUgcGF0
aHMgbGlrZSBcIiRmaWxlXCJcbiIgaWYgRmlsZTo6U3BlYy0+ZmlsZV9uYW1lX2lzX2Fic29sdXRl
KCRmaWxlKTsKKyAgICAgICAgZGllICJjYW4ndCBoYW5kbGUgZW1wdHkgc3RyaW5nIHBhdGhcbiIg
aWYgJGZpbGUgZXEgIiI7CisgICAgICAgIGRpZSAiY2FuJ3QgaGFuZGxlIHBhdGggd2l0aCBzaW5n
bGUgcXVvdGUgaW4gdGhlIG5hbWUgbGlrZSBcIiRmaWxlXCJcbiIgaWYgJGZpbGUgPX4gLycvOyAj
ICcgKGtlZXAgWGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyBoYXBweSkKKworICAgICAgICBteSAk
dW50b3VjaGVkRmlsZSA9ICRmaWxlOworCisgICAgICAgICRmaWxlID0gY2Fub25pY2FsaXplUGF0
aCgkZmlsZSk7CisKKyAgICAgICAgZGllICJjYW4ndCBoYW5kbGUgcGF0aHMgd2l0aCAuLiBsaWtl
IFwiJHVudG91Y2hlZEZpbGVcIlxuIiBpZiAkZmlsZSA9fiBtfC9cLlwuL3w7CisKKyAgICAgICAg
JHJlc3VsdHskZmlsZX0gPSAxOworICAgIH0KKworICAgIHJldHVybiAoIi4iID0+IDEpIGlmICgk
cmVzdWx0eyIuIn0pOworCisgICAgIyBSZW1vdmUgYW55IHBhdGhzIHRoYXQgYWxzbyBoYXZlIGEg
cGFyZW50IGxpc3RlZC4KKyAgICBmb3IgbXkgJHBhdGggKGtleXMgJXJlc3VsdCkgeworICAgICAg
ICBmb3IgKG15ICRwYXJlbnQgPSBkaXJuYW1lKCRwYXRoKTsgJHBhcmVudCBuZSAnLic7ICRwYXJl
bnQgPSBkaXJuYW1lKCRwYXJlbnQpKSB7CisgICAgICAgICAgICBpZiAoJHJlc3VsdHskcGFyZW50
fSkgeworICAgICAgICAgICAgICAgIGRlbGV0ZSAkcmVzdWx0eyRwYXRofTsKKyAgICAgICAgICAg
ICAgICBsYXN0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
ICVyZXN1bHQ7Cit9CisKICMgQnJlYWsgdXAgYSBwYXRoIGludG8gdGhlIGRpcmVjdG9yeSAod2l0
aCBzbGFzaCkgYW5kIGJhc2UgbmFtZS4KIHN1YiBzcGxpdHBhdGgoJCkKIHsK
</data>
<flag name="review"
          id="2668"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>