<?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>39073</bug_id>
          
          <creation_ts>2010-05-13 09:56:03 -0700</creation_ts>
          <short_desc>webkit-patch land --git-commit should support landing multiple patches for different bugs/reviewers</short_desc>
          <delta_ts>2017-07-18 08:27:29 -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>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>225351</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-05-13 09:56:03 -0700</bug_when>
    <thetext>Here&apos;s my current situation:

I have two local commits in my current branch. They each contain a fix for a different bug (and have different reviewers). They both need to have the reviewer&apos;s name added, and then they need to be committed.

It would be nice if I could just say &quot;webkit-patch land --git-commit=trunk..&quot; and all of this would happen automagically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225352</commentid>
    <comment_count>1</comment_count>
      <attachid>55990</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-05-13 09:57:44 -0700</bug_when>
    <thetext>Created attachment 55990
git-add-reviewer script

Here&apos;s a script that I wrote for myself to add reviewers to a set of git commits. Its interactive mode is similar to git-rebase -i. Maybe some of this code will be helpful in implementing this feature.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>55990</attachid>
            <date>2010-05-13 09:57:44 -0700</date>
            <delta_ts>2010-05-13 09:58:05 -0700</delta_ts>
            <desc>git-add-reviewer script</desc>
            <filename>git-add-reviewer</filename>
            <type>text/plain</type>
            <size>8635</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9wZXJsIC13Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgRmlsZTo6
QmFzZW5hbWU7CnVzZSBGaWxlOjpUZW1wICgpOwp1c2UgR2V0b3B0OjpMb25nOwp1c2UgUE9TSVg7
CgpteSAkZGVmYXVsdFJldmlld2VyID0gIk5PQk9EWSI7CgpzdWIgYWRkUmV2aWV3ZXIoXCUpOwpz
dWIgYWRkUmV2aWV3ZXJUb0NoYW5nZUxvZygkJCQpOwpzdWIgYWRkUmV2aWV3ZXJUb0NvbW1pdE1l
c3NhZ2UoJCQkKTsKc3ViIGNoYW5nZUxvZ3NGb3JDb21taXQoJCk7CnN1YiBjaGVja291dCgkKTsK
c3ViIGNoZXJyeVBpY2soXCUpOwpzdWIgY29tbWl0KDskKTsKc3ViIGdldENvbmZpZ1ZhbHVlKCQp
OwpzdWIgZmFpbCg7JCk7CnN1YiBoZWFkKCk7CnN1YiBpbnRlcmFjdGl2ZSgpOwpzdWIgaXNBbmNl
c3RvcigkJCk7CnN1YiBub25JbnRlcmFjdGl2ZSgpOwpzdWIgcmViYXNlT250b0hlYWQoJCQpOwpz
dWIgcmVxdWlyZUNsZWFuV29ya1RyZWUoKTsKc3ViIHJlc2V0VG9Db21taXQoJCk7CnN1YiB0b0Nv
bW1pdCgkKTsKc3ViIHVzYWdlKCk7CnN1YiB3cml0ZUNvbW1pdE1lc3NhZ2VUb0ZpbGUoJCk7CgoK
bXkgJGludGVyYWN0aXZlID0gMDsKbXkgJHNob3dIZWxwID0gMDsKCm15ICRwcm9ncmFtTmFtZSA9
IGJhc2VuYW1lKCQwKTsKbXkgJHVzYWdlID0gPDxFT0Y7ClVzYWdlOiAkcHJvZ3JhbU5hbWUgLWl8
LS1pbnRlcmFjdGl2ZSB1cHN0cmVhbQogICAgICAgJHByb2dyYW1OYW1lIGNvbW1pdC1pc2ggcmV2
aWV3ZXIKCkFkZHMgYSByZXZpZXdlciB0byBhIGdpdCBjb21taXQgaW4gdGhlIFdlYktpdCByZXBv
c2l0b3J5CgpXaGVuIHJ1biBpbiBpbnRlcmFjdGl2ZSBtb2RlLCBgdXBzdHJlYW1gIHNwZWNpZmll
cyB0aGUgY29tbWl0IGFmdGVyIHdoaWNoCnJldmlld2VycyBzaG91bGQgYmUgYWRkZWQuCgpXaGVu
IHJ1biBpbiBub24taW50ZXJhY3RpdmUgbW9kZSwgYGNvbW1pdC1pc2hgIHNwZWNpZmllcyB0aGUg
Y29tbWl0IHRvIHdoaWNoCnRoZSBgcmV2aWV3ZXJgIHdpbGwgYmUgYWRkZWQuCgpPcHRpb25zOgog
IC1ofC0taGVscCAgICAgICAgICBEaXNwbGF5IHRoaXMgbWVzc2FnZQogIC1pfC0taW50ZXJhY3Rp
dmUgICBJbnRlcmFjdGl2ZSBtb2RlCkVPRgoKbXkgJGdldE9wdGlvbnNSZXN1bHQgPSBHZXRPcHRp
b25zKAogICAgJ2h8aGVscCcgPT4gXCRzaG93SGVscCwKICAgICdpfGludGVyYWN0aXZlJyA9PiBc
JGludGVyYWN0aXZlLAopOwoKdXNhZ2UoKSBpZiAhJGdldE9wdGlvbnNSZXN1bHQgfHwgJHNob3dI
ZWxwOwoKcmVxdWlyZUNsZWFuV29ya1RyZWUoKTsKJGludGVyYWN0aXZlID8gaW50ZXJhY3RpdmUo
KSA6IG5vbkludGVyYWN0aXZlKCk7CmV4aXQ7CgpzdWIgaW50ZXJhY3RpdmUoKSB7CiAgICBAQVJH
ViA9PSAxIG9yIHVzYWdlKCk7CgogICAgbXkgJHVwc3RyZWFtID0gdG9Db21taXQoJEFSR1ZbMF0p
OwogICAgbXkgJGhlYWQgPSBoZWFkKCk7CgogICAgaXNBbmNlc3RvcigkdXBzdHJlYW0sICRoZWFk
KSBvciBkaWUgIiRBUkdWWzBdIGlzIG5vdCBhbiBhbmNlc3RvciBvZiBIRUFELiI7CgogICAgbXkg
QHJldmxpc3QgPSBgZ2l0IHJldi1saXN0IC0tcmV2ZXJzZSAtLXByZXR0eT1vbmVsaW5lICR1cHN0
cmVhbS4uYDsKICAgIEByZXZsaXN0IG9yIGRpZSAiQ291bGRuJ3QgZGV0ZXJtaW5lIHJldmlzaW9u
cyI7CgogICAgbXkgJHRlbXBGaWxlID0gbmV3IEZpbGU6OlRlbXAoVU5MSU5LID0+IDEpOwogICAg
Zm9yZWFjaCBteSAkbGluZSAoQHJldmxpc3QpIHsKICAgICAgICBwcmludCAkdGVtcEZpbGUgIiRk
ZWZhdWx0UmV2aWV3ZXIgOiAkbGluZSI7CiAgICB9CgogICAgcHJpbnQgJHRlbXBGaWxlIDw8RU9G
OwoKIyBDaGFuZ2UgJ05PQk9EWScgdG8gdGhlIHJldmlld2VyIGZvciBlYWNoIGNvbW1pdAojCiMg
SWYgYW55IGxpbmUgc3RhcnRzIHdpdGggInJzIiBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBzcGFj
ZXMsIHRoZW4gdGhlIHBocmFzZQojICJSZXZpZXdlZCBieSIgaXMgY2hhbmdlZCB0byAiUnViYmVy
LXN0YW1wZWQgYnkiIGluIHRoZSBDaGFuZ2VMb2cocykvY29tbWl0CiMgbWVzc2FnZSBmb3IgdGhh
dCBjb21taXQuCiMKIyBDb21taXRzIG1heSBiZSByZW9yZGVyZWQKIyBPbWl0dGVkIGNvbW1pdHMg
d2lsbCBiZSBsb3N0CkVPRgoKICAgIGNsb3NlICR0ZW1wRmlsZTsKCiAgICBteSAkZWRpdG9yID0g
JEVOVntHSVRfRURJVE9SfSB8fCBnZXRDb25maWdWYWx1ZSgiY29yZS5lZGl0b3IiKSB8fCAkRU5W
e1ZJU1VBTH0gfHwgJEVOVntFRElUT1J9IHx8ICJ2aSI7CiAgICBteSAkcmVzdWx0ID0gc3lzdGVt
ICRlZGl0b3IsICR0ZW1wRmlsZS0+ZmlsZW5hbWU7CiAgICAhJHJlc3VsdCBvciBkaWUgIkVycm9y
IHNwYXduaW5nIGVkaXRvci4iOwoKICAgIG15IEB0b2RvID0gKCk7CiAgICBvcGVuIFRFTVBGSUxF
LCAnPCcsICR0ZW1wRmlsZS0+ZmlsZW5hbWUgb3IgZGllICJFcnJvciBvcGVuaW5nIHRlbXAgZmls
ZS4iOwogICAgZm9yZWFjaCBteSAkbGluZSAoPFRFTVBGSUxFPikgewogICAgICAgIG5leHQgaWYg
JGxpbmUgPX4gL14jLzsKICAgICAgICAkbGluZSA9fiAvXihyc1xzKyk/KC4qKVxzKzpccysoWzAt
OWEtZkEtRl0rKS8gb3IgbmV4dDsKICAgICAgICBwdXNoIEB0b2RvLCB7cnViYmVyc3RhbXAgPT4g
ZGVmaW5lZCAkMSAmJiBsZW5ndGggJDEsIHJldmlld2VyID0+ICQyLCBjb21taXQgPT4gJDN9Owog
ICAgfQogICAgY2xvc2UgVEVNUEZJTEU7CiAgICBAdG9kbyBvciBkaWUgIk5vIHJldmlzaW9ucyBz
cGVjaWZpZWQuIjsKCiAgICBmb3JlYWNoIG15ICRpdGVtIChAdG9kbykgewogICAgICAgICRpdGVt
LT57Y2hhbmdlTG9nc30gPSBjaGFuZ2VMb2dzRm9yQ29tbWl0KCRpdGVtLT57Y29tbWl0fSk7CiAg
ICB9CgogICAgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0IiwgImNoZWNrb3V0IiwgJHVwc3RyZWFtOwog
ICAgISRyZXN1bHQgb3IgZGllICJFcnJvciBjaGVja2luZyBvdXQgJEFSR1ZbMF0uIjsKCiAgICBt
eSAkc3VjY2VzcyA9IDE7CiAgICBmb3JlYWNoIG15ICRpdGVtIChAdG9kbykgewogICAgICAgICRz
dWNjZXNzID0gY2hlcnJ5UGljaygleyRpdGVtfSk7CiAgICAgICAgJHN1Y2Nlc3Mgb3IgbGFzdDsK
ICAgICAgICAkc3VjY2VzcyA9IGFkZFJldmlld2VyKCV7JGl0ZW19KTsKICAgICAgICAkc3VjY2Vz
cyBvciBsYXN0OwogICAgICAgICRzdWNjZXNzID0gY29tbWl0KCk7CiAgICAgICAgJHN1Y2Nlc3Mg
b3IgbGFzdDsKICAgIH0KCiAgICB1bmxlc3MgKCRzdWNjZXNzKSB7CiAgICAgICAgcmVzZXRUb0Nv
bW1pdCgkaGVhZCk7CiAgICAgICAgZXhpdCAxOwogICAgfQoKICAgICRyZXN1bHQgPSBzeXN0ZW0g
ImdpdCIsICJicmFuY2giLCAiLWYiLCAkaGVhZDsKICAgICEkcmVzdWx0IG9yIGRpZSAiRXJyb3Ig
dXBkYXRpbmcgJGhlYWQuIjsKICAgICRyZXN1bHQgPSBzeXN0ZW0gImdpdCIsICJjaGVja291dCIs
ICRoZWFkOwogICAgZXhpdCBXRVhJVFNUQVRVUygkcmVzdWx0KTsKfQoKc3ViIG5vbkludGVyYWN0
aXZlKCkgewogICAgQEFSR1YgPT0gMiBvciB1c2FnZSgpOwoKICAgIG15ICRjb21taXQgPSB0b0Nv
bW1pdCgkQVJHVlswXSk7CiAgICBteSAkcmV2aWV3ZXIgPSAkQVJHVlsxXTsKICAgIG15ICRoZWFk
ID0gaGVhZCgpOwogICAgbXkgJGhlYWRDb21taXQgPSB0b0NvbW1pdCgkaGVhZCk7CgogICAgaXNB
bmNlc3RvcigkY29tbWl0LCAkaGVhZCkgb3IgZGllICIkQVJHVlsxXSBpcyBub3QgYW4gYW5jZXN0
b3Igb2YgSEVBRC4iOwoKICAgIG15ICVpdGVtID0gKAogICAgICAgIHJldmlld2VyID0+ICRyZXZp
ZXdlciwKICAgICAgICBjb21taXQgPT4gJGNvbW1pdCwKICAgICk7CgogICAgJGl0ZW17Y2hhbmdl
TG9nc30gPSBjaGFuZ2VMb2dzRm9yQ29tbWl0KCRjb21taXQpOwogICAgJGl0ZW17Y2hhbmdlTG9n
c30gb3IgZGllOwoKICAgIHVubGVzcyAoKCgkY29tbWl0IGVxICRoZWFkQ29tbWl0KSBvciBjaGVj
a291dCgkY29tbWl0KSkKICAgICAgICAgICAgIyBGSVhNRTogV2UgbmVlZCB0byB1c2UgJEVOVntH
SVRfRElSfS8uZ2l0L01FUkdFX01TRwogICAgICAgICAgICAmJiB3cml0ZUNvbW1pdE1lc3NhZ2VU
b0ZpbGUoIi5naXQvTUVSR0VfTVNHIikKICAgICAgICAgICAgJiYgYWRkUmV2aWV3ZXIoJWl0ZW0p
CiAgICAgICAgICAgICYmIGNvbW1pdCgxKQogICAgICAgICAgICAmJiAoKCRjb21taXQgZXEgJGhl
YWRDb21taXQpIG9yIHJlYmFzZU9udG9IZWFkKCRjb21taXQsICRoZWFkKSkpIHsKICAgICAgICBy
ZXNldFRvQ29tbWl0KCRoZWFkKTsKICAgICAgICBleGl0IDE7CiAgICB9Cn0KCnN1YiB1c2FnZSgp
IHsKICAgIHByaW50IFNUREVSUiAkdXNhZ2U7CiAgICBleGl0IDE7Cn0KCnN1YiByZXF1aXJlQ2xl
YW5Xb3JrVHJlZSgpIHsKICAgIG15ICRyZXN1bHQgPSBzeXN0ZW0gImdpdCByZXYtcGFyc2UgLS12
ZXJpZnkgSEVBRCA+IC9kZXYvbnVsbCI7CiAgICAkcmVzdWx0IHx8PSBzeXN0ZW0gcXcoZ2l0IHVw
ZGF0ZS1pbmRleCAtLXJlZnJlc2gpOwogICAgJHJlc3VsdCB8fD0gc3lzdGVtIHF3KGdpdCBkaWZm
LWZpbGVzIC0tcXVpZXQpOwogICAgJHJlc3VsdCB8fD0gc3lzdGVtIHF3KGdpdCBkaWZmLWluZGV4
IC0tY2FjaGVkIC0tcXVpZXQgSEVBRCAtLSk7CiAgICAhJHJlc3VsdCBvciBkaWUgIldvcmtpbmcg
dHJlZSBpcyBkaXJ0eSIKfQoKc3ViIGZhaWwoOyQpIHsKICAgIG15ICgkbWVzc2FnZSkgPSBAXzsK
ICAgIHByaW50IFNUREVSUiAkbWVzc2FnZSwgIlxuIiBpZiBkZWZpbmVkICRtZXNzYWdlOwogICAg
cmV0dXJuIDA7Cn0KCnN1YiBjaGVycnlQaWNrKFwlKSB7CiAgICBteSAoJGl0ZW0pID0gQF87Cgog
ICAgbXkgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0IGNoZXJyeS1waWNrIC1uICRpdGVtLT57Y29tbWl0
fSA+IC9kZXYvbnVsbCI7CiAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGNo
ZXJyeS1waWNrICRpdGVtLT57Y29tbWl0fSIpOwoKICAgIHJldHVybiAxOwp9CgpzdWIgYWRkUmV2
aWV3ZXIoXCUpIHsKICAgIG15ICgkaXRlbSkgPSBAXzsKCiAgICByZXR1cm4gMSBpZiAkaXRlbS0+
e3Jldmlld2VyfSBlcSAkZGVmYXVsdFJldmlld2VyOwoKICAgIGZvcmVhY2ggbXkgJGxvZyAoQHsk
aXRlbS0+e2NoYW5nZUxvZ3N9fSkgewogICAgICAgIGFkZFJldmlld2VyVG9DaGFuZ2VMb2coJGl0
ZW0tPntyZXZpZXdlcn0sICRpdGVtLT57cnViYmVyc3RhbXB9LCAkbG9nKSBvciByZXR1cm4gZmFp
bCgpOwogICAgfQoKICAgIGFkZFJldmlld2VyVG9Db21taXRNZXNzYWdlKCRpdGVtLT57cmV2aWV3
ZXJ9LCAkaXRlbS0+e3J1YmJlcnN0YW1wfSwgIi5naXQvTUVSR0VfTVNHIikgb3IgcmV0dXJuIGZh
aWwoKTsKCiAgICByZXR1cm4gMTsKfQoKc3ViIGNvbW1pdCg7JCkgewogICAgbXkgKCRhbWVuZCkg
PSBAXzsKCiAgICBteSBAY29tbWFuZCA9IHF3KGdpdCBjb21taXQgLUYgLmdpdC9NRVJHRV9NU0cp
OwogICAgcHVzaCBAY29tbWFuZCwgIi0tYW1lbmQiIGlmICRhbWVuZDsKICAgIG15ICRyZXN1bHQg
PSBzeXN0ZW0gQGNvbW1hbmQ7CiAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRv
IGNvbW1pdCByZXZpc2lvbiIpOwoKICAgIHJldHVybiAxOwp9CgpzdWIgYWRkUmV2aWV3ZXJUb0No
YW5nZUxvZygkJCQpIHsKICAgIG15ICgkcmV2aWV3ZXIsICRydWJiZXJzdGFtcCwgJGxvZykgPSBA
XzsKCiAgICByZXR1cm4gYWRkUmV2aWV3ZXJUb0ZpbGUoJHJldmlld2VyLCAkcnViYmVyc3RhbXAs
ICRsb2csIDApOwp9CgpzdWIgYWRkUmV2aWV3ZXJUb0NvbW1pdE1lc3NhZ2UoJCQkKSB7CiAgICBt
eSAoJHJldmlld2VyLCAkcnViYmVyc3RhbXAsICRsb2cpID0gQF87CgogICAgcmV0dXJuIGFkZFJl
dmlld2VyVG9GaWxlKCRyZXZpZXdlciwgJHJ1YmJlcnN0YW1wLCAkbG9nLCAxKTsKfQoKc3ViIGFk
ZFJldmlld2VyVG9GaWxlIHsKICAgIG15ICgkcmV2aWV3ZXIsICRydWJiZXJzdGFtcCwgJGxvZywg
JGlzQ29tbWl0TWVzc2FnZSkgPSBAXzsKCiAgICBteSAkdGVtcEZpbGUgPSBuZXcgRmlsZTo6VGVt
cChVTkxJTksgPT4gMSk7CgogICAgb3BlbiBMT0csICI8IiwgJGxvZyBvciByZXR1cm4gZmFpbCgi
Q291bGRuJ3Qgb3BlbiAkbG9nLiIpOwoKICAgIG15ICRmaW5pc2hlZCA9IDA7CiAgICBmb3JlYWNo
IG15ICRsaW5lICg8TE9HPikgewogICAgICAgIGlmICghJGZpbmlzaGVkICYmICRsaW5lID1+IC9O
T0JPRFkgXChPT1BTIVwpLykgewogICAgICAgICAgICAkbGluZSA9fiBzL05PQk9EWSBcKE9PUFMh
XCkvJHJldmlld2VyLzsKICAgICAgICAgICAgJGxpbmUgPX4gcy9SZXZpZXdlZC9SdWJiZXItc3Rh
bXBlZC8gaWYgJHJ1YmJlcnN0YW1wOwogICAgICAgICAgICAkZmluaXNoZWQgPSAxIHVubGVzcyAk
aXNDb21taXRNZXNzYWdlOwogICAgICAgIH0KCiAgICAgICAgcHJpbnQgJHRlbXBGaWxlICRsaW5l
OwogICAgfQoKICAgIGNsb3NlICR0ZW1wRmlsZTsKICAgIGNsb3NlIExPRyBvciByZXR1cm4gZmFp
bCgiQ291bGRuJ3QgY2xvc2UgJGxvZyIpOwoKICAgIG15ICRyZXN1bHQgPSBzeXN0ZW0gIm12Iiwg
JHRlbXBGaWxlLT5maWxlbmFtZSwgJGxvZzsKICAgICEkcmVzdWx0IG9yIHJldHVybiBmYWlsKCJG
YWlsZWQgdG8gcmVuYW1lICR0ZW1wRmlsZSB0byAkbG9nIik7CgogICAgdW5sZXNzICgkaXNDb21t
aXRNZXNzYWdlKSB7CiAgICAgICAgbXkgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0IiwgImFkZCIsICRs
b2c7CiAgICAgICAgISRyZXN1bHQgb3IgcmV0dXJuIGZhaWwoIkZhaWxlZCB0byBnaXQgYWRkIik7
CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCnN1YiBoZWFkKCkgewogICAgbXkgJGhlYWQgPSBgZ2l0
IHN5bWJvbGljLXJlZiBIRUFEYDsKICAgICRoZWFkID1+IC9ecmVmc1wvaGVhZHNcLyguKikkLyBv
ciBkaWUgIkNvdWxkbid0IGRldGVybWluZSBjdXJyZW50IGJyYW5jaC4iOwogICAgJGhlYWQgPSAk
MTsKCiAgICByZXR1cm4gJGhlYWQ7Cn0KCnN1YiBpc0FuY2VzdG9yKCQkKSB7CiAgICBteSAoJGFu
Y2VzdG9yLCAkZGVzY2VuZGFudCkgPSBAXzsKCiAgICBjaG9tcChteSAkbWVyZ2VCYXNlID0gYGdp
dCBtZXJnZS1iYXNlICRhbmNlc3RvciAkZGVzY2VuZGFudGApOwogICAgcmV0dXJuICRtZXJnZUJh
c2UgZXEgJGFuY2VzdG9yOwp9CgpzdWIgdG9Db21taXQoJCkgewogICAgbXkgKCRhcmcpID0gQF87
CgogICAgY2hvbXAobXkgJGNvbW1pdCA9IGBnaXQgcmV2LXBhcnNlICRhcmdgKTsKICAgIHJldHVy
biAkY29tbWl0Owp9CgpzdWIgY2hhbmdlTG9nc0ZvckNvbW1pdCgkKSB7CiAgICBteSAoJGNvbW1p
dCkgPSBAXzsKCiAgICBteSBAZmlsZXMgPSBgZ2l0IGRpZmYgLXIgLS1uYW1lLXN0YXR1cyAkY29t
bWl0XiAkY29tbWl0YDsKICAgIEBmaWxlcyBvciByZXR1cm4gZmFpbCgiQ291bGRuJ3QgZGV0ZXJt
aW5lIGNoYW5nZWQgZmlsZXMgZm9yICRjb21taXQuIik7CgogICAgbXkgQGNoYW5nZUxvZ3MgPSBt
YXAgeyAvXltBQ01SXVxzKiguKikvOyAkMSB9IGdyZXAgeyAvXltBQ01SXS4qW14tXUNoYW5nZUxv
Zy8gfSBAZmlsZXM7CiAgICByZXR1cm4gXEBjaGFuZ2VMb2dzOwp9CgpzdWIgcmVzZXRUb0NvbW1p
dCgkKSB7CiAgICBteSAoJGNvbW1pdCkgPSBAXzsKCiAgICBteSAkcmVzdWx0ID0gc3lzdGVtICJn
aXQiLCAiY2hlY2tvdXQiLCAiLWYiLCAkY29tbWl0OwogICAgISRyZXN1bHQgb3IgcmV0dXJuIGZh
aWwoIkVycm9yIGNoZWNraW5nIG91dCAkY29tbWl0LiIpOwoKICAgIHJldHVybiAxOwp9CgpzdWIg
d3JpdGVDb21taXRNZXNzYWdlVG9GaWxlKCQpIHsKICAgIG15ICgkZmlsZSkgPSBAXzsKCiAgICBv
cGVuIEZJTEUsICI+IiwgJGZpbGUgb3IgcmV0dXJuIGZhaWwoIkNvdWxkbid0IG9wZW4gJGZpbGUu
Iik7CiAgICBvcGVuIE1FU1NBR0UsICItfCIsIHF3KGdpdCByZXYtbGlzdCAtLW1heC1jb3VudD0x
IC0tcHJldHR5PWZvcm1hdDolcyVuJW4lYiBIRUFEKSBvciByZXR1cm4gZmFpbCgiRXJyb3IgcnVu
bmluZyBnaXQgcmV2LWxpc3QuIik7CiAgICBteSAkY29tbWl0TGluZSA9IDxNRVNTQUdFPjsKICAg
IGZvcmVhY2ggbXkgJGxpbmUgKDxNRVNTQUdFPikgewogICAgICAgIHByaW50IEZJTEUgJGxpbmU7
CiAgICB9CiAgICBjbG9zZSBNRVNTQUdFOwogICAgY2xvc2UgRklMRSBvciByZXR1cm4gZmFpbCgi
Q291bGRuJ3QgY2xvc2UgJGZpbGUuIik7CgogICAgcmV0dXJuIDE7Cn0KCnN1YiByZWJhc2VPbnRv
SGVhZCgkJCkgewogICAgbXkgKCR1cHN0cmVhbSwgJGJyYW5jaCkgPSBAXzsKCiAgICBteSAkcmVz
dWx0ID0gc3lzdGVtIHF3KGdpdCByZWJhc2UgLS1vbnRvIEhFQUQpLCAkdXBzdHJlYW0sICRicmFu
Y2g7CiAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiQ291bGRuJ3QgcmViYXNlLiIpOwoKICAg
IHJldHVybiAxOwp9CgpzdWIgY2hlY2tvdXQoJCkgewogICAgbXkgKCRjb21taXQpID0gQF87Cgog
ICAgbXkgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0IiwgImNoZWNrb3V0IiwgJGNvbW1pdDsKICAgICEk
cmVzdWx0IG9yIHJldHVybiBmYWlsKCJFcnJvciBjaGVja2luZyBvdXQgJGNvbW1pdC4iKTsKCiAg
ICByZXR1cm4gMTsKfQoKc3ViIGdldENvbmZpZ1ZhbHVlKCQpIHsKICAgIG15ICgkdmFyaWFibGUp
ID0gQF87CgogICAgY2hvbXAobXkgJHZhbHVlID0gYGdpdCBjb25maWcgLS1nZXQgIiR2YXJpYWJs
ZSJgKTsKCiAgICByZXR1cm4gJHZhbHVlOwp9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>