<?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>31939</bug_id>
          
          <creation_ts>2009-11-27 11:32:29 -0800</creation_ts>
          <short_desc>style-queue should only process each patch once</short_desc>
          <delta_ts>2009-11-27 15:34:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166927</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 11:32:29 -0800</bug_when>
    <thetext>We need to integrate style-queue with the status web service to keep persistent state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166928</commentid>
    <comment_count>1</comment_count>
      <attachid>43963</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 11:34:40 -0800</bug_when>
    <thetext>Created attachment 43963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166929</commentid>
    <comment_count>2</comment_count>
      <attachid>43964</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 11:45:10 -0800</bug_when>
    <thetext>Created attachment 43964
initial status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166931</commentid>
    <comment_count>3</comment_count>
      <attachid>43965</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 11:51:07 -0800</bug_when>
    <thetext>Created attachment 43965
initial status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166964</commentid>
    <comment_count>4</comment_count>
      <attachid>43965</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-27 15:27:22 -0800</bug_when>
    <thetext>Comment on attachment 43965
initial status

.cached_scm was a name from a naiver time. :)  I think we shoudl just call it ._scm now.

I feel like PatchCollection hasn&apos;t quite figured out what it is yet. :(  Part of me thinks we shoudl make somethign that works perfectly for hte style queue and worry about abstracting it later, since I had to rip PatchCollection out of commit-queue already. :(

Looks OK though.  I&apos;d prefer we went with _scm and _statusbot though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166969</commentid>
    <comment_count>5</comment_count>
      <attachid>43965</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 15:34:51 -0800</bug_when>
    <thetext>Comment on attachment 43965
initial status

Clearing flags on attachment: 43965

Committed r51447: &lt;http://trac.webkit.org/changeset/51447&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166970</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 15:34:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43963</attachid>
            <date>2009-11-27 11:34:40 -0800</date>
            <delta_ts>2009-11-27 11:45:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31939-20091127113439.patch</filename>
            <type>text/plain</type>
            <size>7034</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyYWFkZDY4Li5kNzhhMGQxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjEgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBzdHlsZS1xdWV1ZSBzaG91
bGQgb25seSBwcm9jZXNzIGVhY2ggcGF0Y2ggb25jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MzkKKworICAgICAgICBCZWZvcmUgcHJvY2Vzc2lu
ZyBhIHBhdGNoLCB0aGUgdHJ5LXF1ZXVlcyBub3cgYXNrIHRoZSB3ZWIgc2VydmljZQorICAgICAg
ICB3aGV0aGVyIHRoZXkgaGF2ZSBhbHJlYWR5IHByb2Nlc3NlZCB0aGUgcGF0Y2guICBUaGlzIGlz
IGFuIGluaXRpYWwgY3V0CisgICAgICAgIG9mIHRoaXMgZnVuY3Rpb25hbGl0eS4gIEkgZXhwZWN0
IHdlJ3JlIG1ha2UgaXQgcmljaGVyIG92ZXIgdGltZS4KKworICAgICAgICAqIFNjcmlwdHMvYnVn
emlsbGEtdG9vbDoKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5
OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9wYXRjaGNvbGxlY3Rpb24ucHk6CisKKzIwMDkt
MTEtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBQYXRjaFN0YXR1cyBkb2VzIG5vdCByZXR1
cm4gc3RhdHVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMTkzOAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKaW5kZXggMzVhMzQ0YS4uYmEzMmIz
YSAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBC
dWd6aWxsYVRvb2woTXVsdGlDb21tYW5kVG9vbCk6CiAKICAgICAgICAgc2VsZi5idWdzID0gQnVn
emlsbGEoKQogICAgICAgICBzZWxmLmJ1aWxkYm90ID0gQnVpbGRCb3QoKQotICAgICAgICBzZWxm
LmNhY2hlZF9zY20gPSBOb25lCisgICAgICAgIHNlbGYuX2NhY2hlZF9zY20gPSBOb25lCisgICAg
ICAgIHNlbGYuX2NhY2hlZF9zdGF0dXMgPSBOb25lCiAgICAgICAgIHNlbGYuc3RlcHMgPSBCdWls
ZFN0ZXBzKCkKIAogICAgIGRlZiBkcnlfcnVuX2NhbGxiYWNrKHNlbGYsIG9wdGlvbiwgb3B0LCB2
YWx1ZSwgcGFyc2VyKToKQEAgLTU2LDE5ICs1NywyNCBAQCBjbGFzcyBCdWd6aWxsYVRvb2woTXVs
dGlDb21tYW5kVG9vbCk6CiAgICAgZGVmIHNjbShzZWxmKToKICAgICAgICAgIyBMYXppbHkgaW5p
dGlhbGl6ZSBTQ00gdG8gbm90IGVycm9yLW91dCBiZWZvcmUgY29tbWFuZCBsaW5lIHBhcnNpbmcg
KG9yIHdoZW4gcnVubmluZyBub24tc2NtIGNvbW1hbmRzKS4KICAgICAgICAgb3JpZ2luYWxfY3dk
ID0gb3MucGF0aC5hYnNwYXRoKCIuIikKLSAgICAgICAgaWYgbm90IHNlbGYuY2FjaGVkX3NjbToK
LSAgICAgICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IGRldGVjdF9zY21fc3lzdGVtKG9yaWdpbmFs
X2N3ZCkKKyAgICAgICAgaWYgbm90IHNlbGYuX2NhY2hlZF9zY206CisgICAgICAgICAgICBzZWxm
Ll9jYWNoZWRfc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0ob3JpZ2luYWxfY3dkKQogCi0gICAgICAg
IGlmIG5vdCBzZWxmLmNhY2hlZF9zY206CisgICAgICAgIGlmIG5vdCBzZWxmLl9jYWNoZWRfc2Nt
OgogICAgICAgICAgICAgc2NyaXB0X2RpcmVjdG9yeSA9IG9zLnBhdGguYWJzcGF0aChzeXMucGF0
aFswXSkKICAgICAgICAgICAgIHdlYmtpdF9kaXJlY3RvcnkgPSBvcy5wYXRoLmFic3BhdGgob3Mu
cGF0aC5qb2luKHNjcmlwdF9kaXJlY3RvcnksICIuLi8uLiIpKQotICAgICAgICAgICAgc2VsZi5j
YWNoZWRfc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0od2Via2l0X2RpcmVjdG9yeSkKLSAgICAgICAg
ICAgIGlmIHNlbGYuY2FjaGVkX3NjbToKKyAgICAgICAgICAgIHNlbGYuX2NhY2hlZF9zY20gPSBk
ZXRlY3Rfc2NtX3N5c3RlbSh3ZWJraXRfZGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgc2VsZi5f
Y2FjaGVkX3NjbToKICAgICAgICAgICAgICAgICBsb2coIlRoZSBjdXJyZW50IGRpcmVjdG9yeSAo
JXMpIGlzIG5vdCBhIFdlYktpdCBjaGVja291dCwgdXNpbmcgJXMiICUgKG9yaWdpbmFsX2N3ZCwg
d2Via2l0X2RpcmVjdG9yeSkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGVy
cm9yKCJGQVRBTDogRmFpbGVkIHRvIGRldGVybWluZSB0aGUgU0NNIHN5c3RlbSBmb3IgZWl0aGVy
ICVzIG9yICVzIiAlIChvcmlnaW5hbF9jd2QsIHdlYmtpdF9kaXJlY3RvcnkpKQogCi0gICAgICAg
IHJldHVybiBzZWxmLmNhY2hlZF9zY20KKyAgICAgICAgcmV0dXJuIHNlbGYuX2NhY2hlZF9zY20K
KworICAgIGRlZiBzdGF0dXMoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLl9jYWNoZWRfc3Rh
dHVzOgorICAgICAgICAgICAgc2VsZi5fY2FjaGVkX3N0YXR1cyA9IFN0YXR1c0JvdCgpCisgICAg
ICAgIHJldHVybiBzZWxmLl9jYWNoZWRfc3RhdHVzCiAKICAgICBkZWYgcGF0aChzZWxmKToKICAg
ICAgICAgcmV0dXJuIF9fZmlsZV9fCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2Nv
bW1hbmRzL3F1ZXVlcy5weQppbmRleCAxZjAyZTYxLi4wN2ViZTMyIDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9xdWV1ZXMucHkKQEAgLTQ3LDcgKzQ3LDcgQEAg
ZnJvbSBtb2R1bGVzLmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQogZnJvbSBtb2R1bGVzLmxhbmRp
bmdzZXF1ZW5jZSBpbXBvcnQgTGFuZGluZ1NlcXVlbmNlLCBDb25kaXRpb25hbExhbmRpbmdTZXF1
ZW5jZQogZnJvbSBtb2R1bGVzLmxvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2csIHRlZQogZnJvbSBt
b2R1bGVzLm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IE11bHRpQ29tbWFuZFRvb2wsIENvbW1hbmQK
LWZyb20gbW9kdWxlcy5wYXRjaGNvbGxlY3Rpb24gaW1wb3J0IFBhdGNoQ29sbGVjdGlvbgorZnJv
bSBtb2R1bGVzLnBhdGNoY29sbGVjdGlvbiBpbXBvcnQgUGF0Y2hDb2xsZWN0aW9uLCBQZXJzaXN0
ZW50UGF0Y2hDb2xsZWN0aW9uLCBQZXJzaXN0ZW50UGF0Y2hDb2xsZWN0aW9uRGVsZWdhdGUKIGZy
b20gbW9kdWxlcy5wcm9jZXNzdXRpbHMgaW1wb3J0IHJ1bl9hbmRfdGhyb3dfaWZfZmFpbAogZnJv
bSBtb2R1bGVzLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgZGV0ZWN0X3NjbV9zeXN0ZW0sIFNj
cmlwdEVycm9yLCBDaGVja291dE5lZWRzVXBkYXRlCiBmcm9tIG1vZHVsZXMuc3RhdHVzYm90IGlt
cG9ydCBTdGF0dXNCb3QKQEAgLTEzOSwyMCArMTM5LDMxIEBAIGNsYXNzIENvbW1pdFF1ZXVlKEFi
c3RyYWN0UXVldWUpOgogICAgICAgICBzZWxmLnRvb2wuYnVncy5yZWplY3RfcGF0Y2hfZnJvbV9j
b21taXRfcXVldWUocGF0Y2hbImlkIl0sIG1lc3NhZ2UpCiAKIAotY2xhc3MgQWJzdHJhY3RUcnlR
dWV1ZShBYnN0cmFjdFF1ZXVlKToKK2NsYXNzIEFic3RyYWN0VHJ5UXVldWUoQWJzdHJhY3RRdWV1
ZSwgUGVyc2lzdGVudFBhdGNoQ29sbGVjdGlvbkRlbGVnYXRlKToKICAgICBkZWYgX19pbml0X18o
c2VsZiwgb3B0aW9ucz1bXSk6CiAgICAgICAgIEFic3RyYWN0UXVldWUuX19pbml0X18oc2VsZiwg
b3B0aW9ucykKIAorICAgICMgUGVyc2lzdGVudFBhdGNoQ29sbGVjdGlvbkRlbGVnYXRlIG1ldGhv
ZHMKKworICAgIGRlZiBjb2xsZWN0aW9uX25hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxm
Lm5hbWUKKworICAgIGRlZiBmZXRjaF9wb3RlbnRpYWxfcGF0Y2hlcyhzZWxmKToKKyAgICAgICAg
cmV0dXJuIHNlbGYudG9vbC5idWdzLmZldGNoX3BhdGNoZXNfZnJvbV9yZXZpZXdfcXVldWUoKQor
CisgICAgZGVmIHN0YXR1c19zZXJ2ZXIoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnRvb2wu
c3RhdHVzKCkKKworICAgICMgQWJzdHJhY3RRdWV1ZSBtZXRob2RzCisKICAgICBkZWYgc3RhdHVz
X2hvc3Qoc2VsZik6CiAgICAgICAgIHJldHVybiBOb25lICMgRklYTUU6IEEgaGFjayB1bnRpbCB3
ZSBjb21lIHVwIHdpdGggYSBtb3JlIGdlbmVyaWMgc3RhdHVzIHBhZ2UuCiAKICAgICBkZWYgYmVn
aW5fd29ya19xdWV1ZShzZWxmKToKICAgICAgICAgQWJzdHJhY3RRdWV1ZS5iZWdpbl93b3JrX3F1
ZXVlKHNlbGYpCi0gICAgICAgIHNlbGYuX3BhdGNoZXMgPSBQYXRjaENvbGxlY3Rpb24oc2VsZi50
b29sLmJ1Z3MpCi0gICAgICAgIHNlbGYuX3BhdGNoZXMuYWRkX3BhdGNoZXMoc2VsZi50b29sLmJ1
Z3MuZmV0Y2hfcGF0Y2hlc19mcm9tX3Jldmlld19xdWV1ZShsaW1pdD0xMCkpCisgICAgICAgIHNl
bGYuX3BhdGNoZXMgPSBQZXJzaXN0ZW50UGF0Y2hDb2xsZWN0aW9uKHNlbGYpCiAKICAgICBkZWYg
bmV4dF93b3JrX2l0ZW0oc2VsZik6Ci0gICAgICAgIHNlbGYubG9nX3Byb2dyZXNzKHNlbGYuX3Bh
dGNoZXMucGF0Y2hfaWRzKCkpCiAgICAgICAgIHJldHVybiBzZWxmLl9wYXRjaGVzLm5leHQoKQog
CiAgICAgZGVmIHNob3VsZF9wcm9jZWVkX3dpdGhfd29ya19pdGVtKHNlbGYsIHBhdGNoKToKQEAg
LTE2Myw2ICsxNzQsNyBAQCBjbGFzcyBBYnN0cmFjdFRyeVF1ZXVlKEFic3RyYWN0UXVldWUpOgog
CiAgICAgZGVmIGhhbmRsZV91bmV4cGVjdGVkX2Vycm9yKHNlbGYsIHBhdGNoLCBtZXNzYWdlKToK
ICAgICAgICAgbG9nKG1lc3NhZ2UpCisgICAgICAgIHNlbGYuX3BhdGNoZXMuZG9uZShwYXRjaCkK
IAogCiBjbGFzcyBTdHlsZVF1ZXVlKEFic3RyYWN0VHJ5UXVldWUpOgpAQCAtMTc2LDYgKzE4OCw3
IEBAIGNsYXNzIFN0eWxlUXVldWUoQWJzdHJhY3RUcnlRdWV1ZSk6CiAKICAgICBkZWYgcHJvY2Vz
c193b3JrX2l0ZW0oc2VsZiwgcGF0Y2gpOgogICAgICAgICBzZWxmLnJ1bl9idWd6aWxsYV90b29s
KFsiY2hlY2stc3R5bGUiLCAiLS1mb3JjZS1jbGVhbiIsIHBhdGNoWyJpZCJdXSkKKyAgICAgICAg
c2VsZi5fcGF0Y2hlcy5kb25lKHBhdGNoKQogCiAKIGNsYXNzIEJ1aWxkUXVldWUoQWJzdHJhY3RU
cnlRdWV1ZSk6CkBAIC0xOTgsMyArMjExLDQgQEAgY2xhc3MgQnVpbGRRdWV1ZShBYnN0cmFjdFRy
eVF1ZXVlKToKIAogICAgIGRlZiBwcm9jZXNzX3dvcmtfaXRlbShzZWxmLCBwYXRjaCk6CiAgICAg
ICAgIHNlbGYucnVuX2J1Z3ppbGxhX3Rvb2woWyJidWlsZC1hdHRhY2htZW50Iiwgc2VsZi5wb3J0
LmZsYWcoKSwgIi0tZm9yY2UtY2xlYW4iLCAiLS1xdWlldCIsICItLW5vLXVwZGF0ZSIsIHBhdGNo
WyJpZCJdXSkKKyAgICAgICAgc2VsZi5fcGF0Y2hlcy5kb25lKHBhdGNoKQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3BhdGNoY29sbGVjdGlvbi5weSBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9wYXRjaGNvbGxlY3Rpb24ucHkKaW5kZXggMmFiOTMxMC4uMDNm
YmVhNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3BhdGNoY29sbGVj
dGlvbi5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvcGF0Y2hjb2xsZWN0aW9u
LnB5CkBAIC01NywzICs1NywzNCBAQCBjbGFzcyBQYXRjaENvbGxlY3Rpb246CiAKICAgICBkZWYg
X19sZW5fXyhzZWxmKToKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9wYXRjaGVzKQorCisKK2Ns
YXNzIFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rpb25EZWxlZ2F0ZToKKyAgICBkZWYgY29sbGVjdGlv
bl9uYW1lKHNlbGYpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yLCAic3ViY2xh
c3NlcyBtdXN0IGltcGxlbWVudCIKKworICAgIGRlZiBmZXRjaF9wb3RlbnRpYWxfcGF0Y2hlcyhz
ZWxmKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVz
dCBpbXBsZW1lbnQiCisKKyAgICBkZWYgc3RhdHVzX3NlcnZlcihzZWxmKToKKyAgICAgICAgcmFp
c2UgTm90SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCisKKwor
Y2xhc3MgUGVyc2lzdGVudFBhdGNoQ29sbGVjdGlvbjoKKyAgICBfaW5pdGlhbF9zdGF0dXMgPSAi
QXR0ZW1wdGVkIgorICAgIF90ZXJtaW5hbF9zdGF0dXMgPSAiRG9uZSIKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgZGVsZWdhdGUpOgorICAgICAgICBzZWxmLl9kZWxlZ2F0ZSA9IGRlbGVnYXRlCisg
ICAgICAgIHNlbGYuX25hbWUgPSBzZWxmLl9kZWxlZ2F0ZS5jb2xsZWN0aW9uX25hbWUoKQorICAg
ICAgICBzZWxmLl9zdGF0dXMgPSBzZWxmLl9kZWxlZ2F0ZS5zdGF0dXNfc2VydmVyKCkKKworICAg
IGRlZiBuZXh0KHNlbGYpOgorICAgICAgICBwYXRjaGVzID0gc2VsZi5fZGVsZWdhdGUuZmV0Y2hf
cG90ZW50aWFsX3BhdGNoZXMoKQorICAgICAgICBmb3IgcGF0Y2ggaW4gcGF0Y2hlczoKKyAgICAg
ICAgICAgIGxhc3Rfc3RhdHVzID0gc2VsZi5fc3RhdHVzLnBhdGNoX3N0YXR1cyhzZWxmLl9uYW1l
LCBwYXRjaFsiaWQiXSkKKyAgICAgICAgICAgIGlmIG5vdCBsYXN0X3N0YXR1czogIyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yICJUcnkgYWdhaW4iCisgICAgICAgICAgICAgICAgc2VsZi5fc3RhdHVz
LnVwZGF0ZV9zdGF0dXMoc2VsZi5fbmFtZSwgc2VsZi5faW5pdGlhbF9zdGF0dXMsIHBhdGNoKQor
ICAgICAgICAgICAgICAgIHJldHVybiBwYXRjaAorCisgICAgZGVmIGRvbmUoc2VsZiwgcGF0Y2gp
OgorICAgICAgICBzZWxmLl9zdGF0dXMudXBkYXRlX3N0YXR1cyhzZWxmLl9uYW1lLCBzZWxmLl90
ZXJtaW5hbF9zdGF0dXMsIHBhdGNoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43964</attachid>
            <date>2009-11-27 11:45:10 -0800</date>
            <delta_ts>2009-11-27 11:51:03 -0800</delta_ts>
            <desc>initial status</desc>
            <filename>bug-31939-20091127114507.patch</filename>
            <type>text/plain</type>
            <size>8380</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyYWFkZDY4Li5kNzhhMGQxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjEgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBzdHlsZS1xdWV1ZSBzaG91
bGQgb25seSBwcm9jZXNzIGVhY2ggcGF0Y2ggb25jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MzkKKworICAgICAgICBCZWZvcmUgcHJvY2Vzc2lu
ZyBhIHBhdGNoLCB0aGUgdHJ5LXF1ZXVlcyBub3cgYXNrIHRoZSB3ZWIgc2VydmljZQorICAgICAg
ICB3aGV0aGVyIHRoZXkgaGF2ZSBhbHJlYWR5IHByb2Nlc3NlZCB0aGUgcGF0Y2guICBUaGlzIGlz
IGFuIGluaXRpYWwgY3V0CisgICAgICAgIG9mIHRoaXMgZnVuY3Rpb25hbGl0eS4gIEkgZXhwZWN0
IHdlJ3JlIG1ha2UgaXQgcmljaGVyIG92ZXIgdGltZS4KKworICAgICAgICAqIFNjcmlwdHMvYnVn
emlsbGEtdG9vbDoKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5
OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9wYXRjaGNvbGxlY3Rpb24ucHk6CisKKzIwMDkt
MTEtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBQYXRjaFN0YXR1cyBkb2VzIG5vdCByZXR1
cm4gc3RhdHVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMTkzOAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKaW5kZXggMzVhMzQ0YS4uZjE4ZGQz
NCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbApAQCAtNDMsMzIgKzQzLDQ0IEBAIGNsYXNz
IEJ1Z3ppbGxhVG9vbChNdWx0aUNvbW1hbmRUb29sKToKICAgICBkZWYgX19pbml0X18oc2VsZik6
CiAgICAgICAgIE11bHRpQ29tbWFuZFRvb2wuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5n
bG9iYWxfb3B0aW9uX3BhcnNlci5hZGRfb3B0aW9uKCItLWRyeS1ydW4iLCBhY3Rpb249ImNhbGxi
YWNrIiwgaGVscD0iZG8gbm90IHRvdWNoIHJlbW90ZSBzZXJ2ZXJzIiwgY2FsbGJhY2s9c2VsZi5k
cnlfcnVuX2NhbGxiYWNrKQorICAgICAgICBzZWxmLmdsb2JhbF9vcHRpb25fcGFyc2VyLmFkZF9v
cHRpb24oIi0tc3RhdHVzLWhvc3QiLCBhY3Rpb249ImNhbGxiYWNrIiwgdHlwZT0ic3RyaW5nIiwg
aGVscD0iaG9zdCB0byBzdG9yZSBwZXJzaXN0ZW50IHN0YXRlIiwgY2FsbGJhY2s9c2VsZi5zdGF0
dXNfaG9zdF9jYWxsYmFjaykKKworICAgICAgICBzZWxmLl9zdGF0dXNfaG9zdCA9IE5vbmUKIAog
ICAgICAgICBzZWxmLmJ1Z3MgPSBCdWd6aWxsYSgpCiAgICAgICAgIHNlbGYuYnVpbGRib3QgPSBC
dWlsZEJvdCgpCi0gICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IE5vbmUKKyAgICAgICAgc2VsZi5f
Y2FjaGVkX3NjbSA9IE5vbmUKKyAgICAgICAgc2VsZi5fY2FjaGVkX3N0YXR1cyA9IE5vbmUKICAg
ICAgICAgc2VsZi5zdGVwcyA9IEJ1aWxkU3RlcHMoKQogCiAgICAgZGVmIGRyeV9ydW5fY2FsbGJh
Y2soc2VsZiwgb3B0aW9uLCBvcHQsIHZhbHVlLCBwYXJzZXIpOgogICAgICAgICBzZWxmLnNjbSgp
LmRyeXJ1biA9IFRydWUKICAgICAgICAgc2VsZi5idWdzLmRyeXJ1biA9IFRydWUKIAorICAgIGRl
ZiBzdGF0dXNfaG9zdF9jYWxsYmFjayhzZWxmLCBvcHRpb24sIG9wdCwgdmFsdWUsIHBhcnNlcik6
CisgICAgICAgIHNlbGYuX3N0YXR1c19ob3N0ID0gdmFsdWUKKwogICAgIGRlZiBzY20oc2VsZik6
CiAgICAgICAgICMgTGF6aWx5IGluaXRpYWxpemUgU0NNIHRvIG5vdCBlcnJvci1vdXQgYmVmb3Jl
IGNvbW1hbmQgbGluZSBwYXJzaW5nIChvciB3aGVuIHJ1bm5pbmcgbm9uLXNjbSBjb21tYW5kcyku
CiAgICAgICAgIG9yaWdpbmFsX2N3ZCA9IG9zLnBhdGguYWJzcGF0aCgiLiIpCi0gICAgICAgIGlm
IG5vdCBzZWxmLmNhY2hlZF9zY206Ci0gICAgICAgICAgICBzZWxmLmNhY2hlZF9zY20gPSBkZXRl
Y3Rfc2NtX3N5c3RlbShvcmlnaW5hbF9jd2QpCisgICAgICAgIGlmIG5vdCBzZWxmLl9jYWNoZWRf
c2NtOgorICAgICAgICAgICAgc2VsZi5fY2FjaGVkX3NjbSA9IGRldGVjdF9zY21fc3lzdGVtKG9y
aWdpbmFsX2N3ZCkKIAotICAgICAgICBpZiBub3Qgc2VsZi5jYWNoZWRfc2NtOgorICAgICAgICBp
ZiBub3Qgc2VsZi5fY2FjaGVkX3NjbToKICAgICAgICAgICAgIHNjcmlwdF9kaXJlY3RvcnkgPSBv
cy5wYXRoLmFic3BhdGgoc3lzLnBhdGhbMF0pCiAgICAgICAgICAgICB3ZWJraXRfZGlyZWN0b3J5
ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRfZGlyZWN0b3J5LCAiLi4vLi4i
KSkKLSAgICAgICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IGRldGVjdF9zY21fc3lzdGVtKHdlYmtp
dF9kaXJlY3RvcnkpCi0gICAgICAgICAgICBpZiBzZWxmLmNhY2hlZF9zY206CisgICAgICAgICAg
ICBzZWxmLl9jYWNoZWRfc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0od2Via2l0X2RpcmVjdG9yeSkK
KyAgICAgICAgICAgIGlmIHNlbGYuX2NhY2hlZF9zY206CiAgICAgICAgICAgICAgICAgbG9nKCJU
aGUgY3VycmVudCBkaXJlY3RvcnkgKCVzKSBpcyBub3QgYSBXZWJLaXQgY2hlY2tvdXQsIHVzaW5n
ICVzIiAlIChvcmlnaW5hbF9jd2QsIHdlYmtpdF9kaXJlY3RvcnkpKQogICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgICBlcnJvcigiRkFUQUw6IEZhaWxlZCB0byBkZXRlcm1pbmUgdGhl
IFNDTSBzeXN0ZW0gZm9yIGVpdGhlciAlcyBvciAlcyIgJSAob3JpZ2luYWxfY3dkLCB3ZWJraXRf
ZGlyZWN0b3J5KSkKIAotICAgICAgICByZXR1cm4gc2VsZi5jYWNoZWRfc2NtCisgICAgICAgIHJl
dHVybiBzZWxmLl9jYWNoZWRfc2NtCisKKyAgICBkZWYgc3RhdHVzKHNlbGYpOgorICAgICAgICBp
ZiBub3Qgc2VsZi5fY2FjaGVkX3N0YXR1czoKKyAgICAgICAgICAgIHNlbGYuX2NhY2hlZF9zdGF0
dXMgPSBTdGF0dXNCb3QoaG9zdD1zZWxmLl9zdGF0dXNfaG9zdCkKKyAgICAgICAgcmV0dXJuIHNl
bGYuX2NhY2hlZF9zdGF0dXMKIAogICAgIGRlZiBwYXRoKHNlbGYpOgogICAgICAgICByZXR1cm4g
X19maWxlX18KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWd6aWxs
YS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWd6aWxsYS5weQppbmRleCBlNjYz
Mzk4Li5iOTIzY2Y4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVn
emlsbGEucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1Z3ppbGxhLnB5CkBA
IC0zMjQsMTAgKzMyNCwxMCBAQCBjbGFzcyBCdWd6aWxsYToKICAgICAgICAgICAgIHBhdGNoZXNf
dG9fbGFuZCArPSBwYXRjaGVzCiAgICAgICAgIHJldHVybiBwYXRjaGVzX3RvX2xhbmQKIAotICAg
IGRlZiBmZXRjaF9wYXRjaGVzX2Zyb21fcmV2aWV3X3F1ZXVlKHNlbGYsIGxpbWl0KToKKyAgICBk
ZWYgZmV0Y2hfcGF0Y2hlc19mcm9tX3Jldmlld19xdWV1ZShzZWxmLCBsaW1pdD1Ob25lKToKICAg
ICAgICAgcGF0Y2hlc190b19yZXZpZXcgPSBbXQogICAgICAgICBmb3IgYnVnX2lkIGluIHNlbGYu
ZmV0Y2hfYnVnX2lkc19mcm9tX3Jldmlld19xdWV1ZSgpOgotICAgICAgICAgICAgaWYgbGVuKHBh
dGNoZXNfdG9fcmV2aWV3KSA+PSBsaW1pdDoKKyAgICAgICAgICAgIGlmIGxpbWl0IGFuZCBsZW4o
cGF0Y2hlc190b19yZXZpZXcpID49IGxpbWl0OgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
ICAgICAgICBwYXRjaGVzID0gc2VsZi5mZXRjaF91bnJldmlld2VkX3BhdGNoZXNfZnJvbV9idWco
YnVnX2lkKQogICAgICAgICAgICAgcGF0Y2hlc190b19yZXZpZXcgKz0gcGF0Y2hlcwpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXVlcy5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9xdWV1ZXMucHkKaW5kZXggMWYwMmU2
MS4uYjdmZjg3MSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1h
bmRzL3F1ZXVlcy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMv
cXVldWVzLnB5CkBAIC00Nyw3ICs0Nyw3IEBAIGZyb20gbW9kdWxlcy5ncmFtbWFyIGltcG9ydCBw
bHVyYWxpemUKIGZyb20gbW9kdWxlcy5sYW5kaW5nc2VxdWVuY2UgaW1wb3J0IExhbmRpbmdTZXF1
ZW5jZSwgQ29uZGl0aW9uYWxMYW5kaW5nU2VxdWVuY2UKIGZyb20gbW9kdWxlcy5sb2dnaW5nIGlt
cG9ydCBlcnJvciwgbG9nLCB0ZWUKIGZyb20gbW9kdWxlcy5tdWx0aWNvbW1hbmR0b29sIGltcG9y
dCBNdWx0aUNvbW1hbmRUb29sLCBDb21tYW5kCi1mcm9tIG1vZHVsZXMucGF0Y2hjb2xsZWN0aW9u
IGltcG9ydCBQYXRjaENvbGxlY3Rpb24KK2Zyb20gbW9kdWxlcy5wYXRjaGNvbGxlY3Rpb24gaW1w
b3J0IFBhdGNoQ29sbGVjdGlvbiwgUGVyc2lzdGVudFBhdGNoQ29sbGVjdGlvbiwgUGVyc2lzdGVu
dFBhdGNoQ29sbGVjdGlvbkRlbGVnYXRlCiBmcm9tIG1vZHVsZXMucHJvY2Vzc3V0aWxzIGltcG9y
dCBydW5fYW5kX3Rocm93X2lmX2ZhaWwKIGZyb20gbW9kdWxlcy5zY20gaW1wb3J0IENvbW1pdE1l
c3NhZ2UsIGRldGVjdF9zY21fc3lzdGVtLCBTY3JpcHRFcnJvciwgQ2hlY2tvdXROZWVkc1VwZGF0
ZQogZnJvbSBtb2R1bGVzLnN0YXR1c2JvdCBpbXBvcnQgU3RhdHVzQm90CkBAIC0xMzksMjAgKzEz
OSwzMSBAQCBjbGFzcyBDb21taXRRdWV1ZShBYnN0cmFjdFF1ZXVlKToKICAgICAgICAgc2VsZi50
b29sLmJ1Z3MucmVqZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVlKHBhdGNoWyJpZCJdLCBtZXNz
YWdlKQogCiAKLWNsYXNzIEFic3RyYWN0VHJ5UXVldWUoQWJzdHJhY3RRdWV1ZSk6CitjbGFzcyBB
YnN0cmFjdFRyeVF1ZXVlKEFic3RyYWN0UXVldWUsIFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rpb25E
ZWxlZ2F0ZSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnM9W10pOgogICAgICAgICBB
YnN0cmFjdFF1ZXVlLl9faW5pdF9fKHNlbGYsIG9wdGlvbnMpCiAKKyAgICAjIFBlcnNpc3RlbnRQ
YXRjaENvbGxlY3Rpb25EZWxlZ2F0ZSBtZXRob2RzCisKKyAgICBkZWYgY29sbGVjdGlvbl9uYW1l
KHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5uYW1lCisKKyAgICBkZWYgZmV0Y2hfcG90ZW50
aWFsX3BhdGNoZXMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnRvb2wuYnVncy5mZXRjaF9w
YXRjaGVzX2Zyb21fcmV2aWV3X3F1ZXVlKGxpbWl0PTMpCisKKyAgICBkZWYgc3RhdHVzX3NlcnZl
cihzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudG9vbC5zdGF0dXMoKQorCisgICAgIyBBYnN0
cmFjdFF1ZXVlIG1ldGhvZHMKKwogICAgIGRlZiBzdGF0dXNfaG9zdChzZWxmKToKICAgICAgICAg
cmV0dXJuIE5vbmUgIyBGSVhNRTogQSBoYWNrIHVudGlsIHdlIGNvbWUgdXAgd2l0aCBhIG1vcmUg
Z2VuZXJpYyBzdGF0dXMgcGFnZS4KIAogICAgIGRlZiBiZWdpbl93b3JrX3F1ZXVlKHNlbGYpOgog
ICAgICAgICBBYnN0cmFjdFF1ZXVlLmJlZ2luX3dvcmtfcXVldWUoc2VsZikKLSAgICAgICAgc2Vs
Zi5fcGF0Y2hlcyA9IFBhdGNoQ29sbGVjdGlvbihzZWxmLnRvb2wuYnVncykKLSAgICAgICAgc2Vs
Zi5fcGF0Y2hlcy5hZGRfcGF0Y2hlcyhzZWxmLnRvb2wuYnVncy5mZXRjaF9wYXRjaGVzX2Zyb21f
cmV2aWV3X3F1ZXVlKGxpbWl0PTEwKSkKKyAgICAgICAgc2VsZi5fcGF0Y2hlcyA9IFBlcnNpc3Rl
bnRQYXRjaENvbGxlY3Rpb24oc2VsZikKIAogICAgIGRlZiBuZXh0X3dvcmtfaXRlbShzZWxmKToK
LSAgICAgICAgc2VsZi5sb2dfcHJvZ3Jlc3Moc2VsZi5fcGF0Y2hlcy5wYXRjaF9pZHMoKSkKICAg
ICAgICAgcmV0dXJuIHNlbGYuX3BhdGNoZXMubmV4dCgpCiAKICAgICBkZWYgc2hvdWxkX3Byb2Nl
ZWRfd2l0aF93b3JrX2l0ZW0oc2VsZiwgcGF0Y2gpOgpAQCAtMTYzLDYgKzE3NCw3IEBAIGNsYXNz
IEFic3RyYWN0VHJ5UXVldWUoQWJzdHJhY3RRdWV1ZSk6CiAKICAgICBkZWYgaGFuZGxlX3VuZXhw
ZWN0ZWRfZXJyb3Ioc2VsZiwgcGF0Y2gsIG1lc3NhZ2UpOgogICAgICAgICBsb2cobWVzc2FnZSkK
KyAgICAgICAgc2VsZi5fcGF0Y2hlcy5kb25lKHBhdGNoKQogCiAKIGNsYXNzIFN0eWxlUXVldWUo
QWJzdHJhY3RUcnlRdWV1ZSk6CkBAIC0xNzYsNiArMTg4LDcgQEAgY2xhc3MgU3R5bGVRdWV1ZShB
YnN0cmFjdFRyeVF1ZXVlKToKIAogICAgIGRlZiBwcm9jZXNzX3dvcmtfaXRlbShzZWxmLCBwYXRj
aCk6CiAgICAgICAgIHNlbGYucnVuX2J1Z3ppbGxhX3Rvb2woWyJjaGVjay1zdHlsZSIsICItLWZv
cmNlLWNsZWFuIiwgcGF0Y2hbImlkIl1dKQorICAgICAgICBzZWxmLl9wYXRjaGVzLmRvbmUocGF0
Y2gpCiAKIAogY2xhc3MgQnVpbGRRdWV1ZShBYnN0cmFjdFRyeVF1ZXVlKToKQEAgLTE5OCwzICsy
MTEsNCBAQCBjbGFzcyBCdWlsZFF1ZXVlKEFic3RyYWN0VHJ5UXVldWUpOgogCiAgICAgZGVmIHBy
b2Nlc3Nfd29ya19pdGVtKHNlbGYsIHBhdGNoKToKICAgICAgICAgc2VsZi5ydW5fYnVnemlsbGFf
dG9vbChbImJ1aWxkLWF0dGFjaG1lbnQiLCBzZWxmLnBvcnQuZmxhZygpLCAiLS1mb3JjZS1jbGVh
biIsICItLXF1aWV0IiwgIi0tbm8tdXBkYXRlIiwgcGF0Y2hbImlkIl1dKQorICAgICAgICBzZWxm
Ll9wYXRjaGVzLmRvbmUocGF0Y2gpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvcGF0Y2hjb2xsZWN0aW9uLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3Bh
dGNoY29sbGVjdGlvbi5weQppbmRleCAyYWI5MzEwLi4wM2ZiZWE1IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvcGF0Y2hjb2xsZWN0aW9uLnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9wYXRjaGNvbGxlY3Rpb24ucHkKQEAgLTU3LDMgKzU3LDM0IEBA
IGNsYXNzIFBhdGNoQ29sbGVjdGlvbjoKIAogICAgIGRlZiBfX2xlbl9fKHNlbGYpOgogICAgICAg
ICByZXR1cm4gbGVuKHNlbGYuX3BhdGNoZXMpCisKKworY2xhc3MgUGVyc2lzdGVudFBhdGNoQ29s
bGVjdGlvbkRlbGVnYXRlOgorICAgIGRlZiBjb2xsZWN0aW9uX25hbWUoc2VsZik6CisgICAgICAg
IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IsICJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50Igor
CisgICAgZGVmIGZldGNoX3BvdGVudGlhbF9wYXRjaGVzKHNlbGYpOgorICAgICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yLCAic3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCIKKworICAgIGRl
ZiBzdGF0dXNfc2VydmVyKHNlbGYpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9y
LCAic3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCIKKworCitjbGFzcyBQZXJzaXN0ZW50UGF0Y2hD
b2xsZWN0aW9uOgorICAgIF9pbml0aWFsX3N0YXR1cyA9ICJBdHRlbXB0ZWQiCisgICAgX3Rlcm1p
bmFsX3N0YXR1cyA9ICJEb25lIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkZWxlZ2F0ZSk6Cisg
ICAgICAgIHNlbGYuX2RlbGVnYXRlID0gZGVsZWdhdGUKKyAgICAgICAgc2VsZi5fbmFtZSA9IHNl
bGYuX2RlbGVnYXRlLmNvbGxlY3Rpb25fbmFtZSgpCisgICAgICAgIHNlbGYuX3N0YXR1cyA9IHNl
bGYuX2RlbGVnYXRlLnN0YXR1c19zZXJ2ZXIoKQorCisgICAgZGVmIG5leHQoc2VsZik6CisgICAg
ICAgIHBhdGNoZXMgPSBzZWxmLl9kZWxlZ2F0ZS5mZXRjaF9wb3RlbnRpYWxfcGF0Y2hlcygpCisg
ICAgICAgIGZvciBwYXRjaCBpbiBwYXRjaGVzOgorICAgICAgICAgICAgbGFzdF9zdGF0dXMgPSBz
ZWxmLl9zdGF0dXMucGF0Y2hfc3RhdHVzKHNlbGYuX25hbWUsIHBhdGNoWyJpZCJdKQorICAgICAg
ICAgICAgaWYgbm90IGxhc3Rfc3RhdHVzOiAjIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgIlRyeSBh
Z2FpbiIKKyAgICAgICAgICAgICAgICBzZWxmLl9zdGF0dXMudXBkYXRlX3N0YXR1cyhzZWxmLl9u
YW1lLCBzZWxmLl9pbml0aWFsX3N0YXR1cywgcGF0Y2gpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHBhdGNoCisKKyAgICBkZWYgZG9uZShzZWxmLCBwYXRjaCk6CisgICAgICAgIHNlbGYuX3N0YXR1
cy51cGRhdGVfc3RhdHVzKHNlbGYuX25hbWUsIHNlbGYuX3Rlcm1pbmFsX3N0YXR1cywgcGF0Y2gp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43965</attachid>
            <date>2009-11-27 11:51:07 -0800</date>
            <delta_ts>2009-11-27 15:34:51 -0800</delta_ts>
            <desc>initial status</desc>
            <filename>bug-31939-20091127115106.patch</filename>
            <type>text/plain</type>
            <size>7823</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyYWFkZDY4Li5kNzhhMGQxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjEgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBzdHlsZS1xdWV1ZSBzaG91
bGQgb25seSBwcm9jZXNzIGVhY2ggcGF0Y2ggb25jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MzkKKworICAgICAgICBCZWZvcmUgcHJvY2Vzc2lu
ZyBhIHBhdGNoLCB0aGUgdHJ5LXF1ZXVlcyBub3cgYXNrIHRoZSB3ZWIgc2VydmljZQorICAgICAg
ICB3aGV0aGVyIHRoZXkgaGF2ZSBhbHJlYWR5IHByb2Nlc3NlZCB0aGUgcGF0Y2guICBUaGlzIGlz
IGFuIGluaXRpYWwgY3V0CisgICAgICAgIG9mIHRoaXMgZnVuY3Rpb25hbGl0eS4gIEkgZXhwZWN0
IHdlJ3JlIG1ha2UgaXQgcmljaGVyIG92ZXIgdGltZS4KKworICAgICAgICAqIFNjcmlwdHMvYnVn
emlsbGEtdG9vbDoKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5
OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9wYXRjaGNvbGxlY3Rpb24ucHk6CisKKzIwMDkt
MTEtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBQYXRjaFN0YXR1cyBkb2VzIG5vdCByZXR1
cm4gc3RhdHVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMTkzOAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKaW5kZXggMzVhMzQ0YS4uYmEzMmIz
YSAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBC
dWd6aWxsYVRvb2woTXVsdGlDb21tYW5kVG9vbCk6CiAKICAgICAgICAgc2VsZi5idWdzID0gQnVn
emlsbGEoKQogICAgICAgICBzZWxmLmJ1aWxkYm90ID0gQnVpbGRCb3QoKQotICAgICAgICBzZWxm
LmNhY2hlZF9zY20gPSBOb25lCisgICAgICAgIHNlbGYuX2NhY2hlZF9zY20gPSBOb25lCisgICAg
ICAgIHNlbGYuX2NhY2hlZF9zdGF0dXMgPSBOb25lCiAgICAgICAgIHNlbGYuc3RlcHMgPSBCdWls
ZFN0ZXBzKCkKIAogICAgIGRlZiBkcnlfcnVuX2NhbGxiYWNrKHNlbGYsIG9wdGlvbiwgb3B0LCB2
YWx1ZSwgcGFyc2VyKToKQEAgLTU2LDE5ICs1NywyNCBAQCBjbGFzcyBCdWd6aWxsYVRvb2woTXVs
dGlDb21tYW5kVG9vbCk6CiAgICAgZGVmIHNjbShzZWxmKToKICAgICAgICAgIyBMYXppbHkgaW5p
dGlhbGl6ZSBTQ00gdG8gbm90IGVycm9yLW91dCBiZWZvcmUgY29tbWFuZCBsaW5lIHBhcnNpbmcg
KG9yIHdoZW4gcnVubmluZyBub24tc2NtIGNvbW1hbmRzKS4KICAgICAgICAgb3JpZ2luYWxfY3dk
ID0gb3MucGF0aC5hYnNwYXRoKCIuIikKLSAgICAgICAgaWYgbm90IHNlbGYuY2FjaGVkX3NjbToK
LSAgICAgICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IGRldGVjdF9zY21fc3lzdGVtKG9yaWdpbmFs
X2N3ZCkKKyAgICAgICAgaWYgbm90IHNlbGYuX2NhY2hlZF9zY206CisgICAgICAgICAgICBzZWxm
Ll9jYWNoZWRfc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0ob3JpZ2luYWxfY3dkKQogCi0gICAgICAg
IGlmIG5vdCBzZWxmLmNhY2hlZF9zY206CisgICAgICAgIGlmIG5vdCBzZWxmLl9jYWNoZWRfc2Nt
OgogICAgICAgICAgICAgc2NyaXB0X2RpcmVjdG9yeSA9IG9zLnBhdGguYWJzcGF0aChzeXMucGF0
aFswXSkKICAgICAgICAgICAgIHdlYmtpdF9kaXJlY3RvcnkgPSBvcy5wYXRoLmFic3BhdGgob3Mu
cGF0aC5qb2luKHNjcmlwdF9kaXJlY3RvcnksICIuLi8uLiIpKQotICAgICAgICAgICAgc2VsZi5j
YWNoZWRfc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0od2Via2l0X2RpcmVjdG9yeSkKLSAgICAgICAg
ICAgIGlmIHNlbGYuY2FjaGVkX3NjbToKKyAgICAgICAgICAgIHNlbGYuX2NhY2hlZF9zY20gPSBk
ZXRlY3Rfc2NtX3N5c3RlbSh3ZWJraXRfZGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgc2VsZi5f
Y2FjaGVkX3NjbToKICAgICAgICAgICAgICAgICBsb2coIlRoZSBjdXJyZW50IGRpcmVjdG9yeSAo
JXMpIGlzIG5vdCBhIFdlYktpdCBjaGVja291dCwgdXNpbmcgJXMiICUgKG9yaWdpbmFsX2N3ZCwg
d2Via2l0X2RpcmVjdG9yeSkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGVy
cm9yKCJGQVRBTDogRmFpbGVkIHRvIGRldGVybWluZSB0aGUgU0NNIHN5c3RlbSBmb3IgZWl0aGVy
ICVzIG9yICVzIiAlIChvcmlnaW5hbF9jd2QsIHdlYmtpdF9kaXJlY3RvcnkpKQogCi0gICAgICAg
IHJldHVybiBzZWxmLmNhY2hlZF9zY20KKyAgICAgICAgcmV0dXJuIHNlbGYuX2NhY2hlZF9zY20K
KworICAgIGRlZiBzdGF0dXMoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLl9jYWNoZWRfc3Rh
dHVzOgorICAgICAgICAgICAgc2VsZi5fY2FjaGVkX3N0YXR1cyA9IFN0YXR1c0JvdCgpCisgICAg
ICAgIHJldHVybiBzZWxmLl9jYWNoZWRfc3RhdHVzCiAKICAgICBkZWYgcGF0aChzZWxmKToKICAg
ICAgICAgcmV0dXJuIF9fZmlsZV9fCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvYnVnemlsbGEucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGEu
cHkKaW5kZXggZTY2MzM5OC4uYjkyM2NmOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy9tb2R1bGVzL2J1Z3ppbGxhLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9i
dWd6aWxsYS5weQpAQCAtMzI0LDEwICszMjQsMTAgQEAgY2xhc3MgQnVnemlsbGE6CiAgICAgICAg
ICAgICBwYXRjaGVzX3RvX2xhbmQgKz0gcGF0Y2hlcwogICAgICAgICByZXR1cm4gcGF0Y2hlc190
b19sYW5kCiAKLSAgICBkZWYgZmV0Y2hfcGF0Y2hlc19mcm9tX3Jldmlld19xdWV1ZShzZWxmLCBs
aW1pdCk6CisgICAgZGVmIGZldGNoX3BhdGNoZXNfZnJvbV9yZXZpZXdfcXVldWUoc2VsZiwgbGlt
aXQ9Tm9uZSk6CiAgICAgICAgIHBhdGNoZXNfdG9fcmV2aWV3ID0gW10KICAgICAgICAgZm9yIGJ1
Z19pZCBpbiBzZWxmLmZldGNoX2J1Z19pZHNfZnJvbV9yZXZpZXdfcXVldWUoKToKLSAgICAgICAg
ICAgIGlmIGxlbihwYXRjaGVzX3RvX3JldmlldykgPj0gbGltaXQ6CisgICAgICAgICAgICBpZiBs
aW1pdCBhbmQgbGVuKHBhdGNoZXNfdG9fcmV2aWV3KSA+PSBsaW1pdDoKICAgICAgICAgICAgICAg
ICBicmVhawogICAgICAgICAgICAgcGF0Y2hlcyA9IHNlbGYuZmV0Y2hfdW5yZXZpZXdlZF9wYXRj
aGVzX2Zyb21fYnVnKGJ1Z19pZCkKICAgICAgICAgICAgIHBhdGNoZXNfdG9fcmV2aWV3ICs9IHBh
dGNoZXMKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9x
dWV1ZXMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5
CmluZGV4IDFmMDJlNjEuLmI3ZmY4NzEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy9jb21tYW5kcy9xdWV1ZXMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1
bGVzL2NvbW1hbmRzL3F1ZXVlcy5weQpAQCAtNDcsNyArNDcsNyBAQCBmcm9tIG1vZHVsZXMuZ3Jh
bW1hciBpbXBvcnQgcGx1cmFsaXplCiBmcm9tIG1vZHVsZXMubGFuZGluZ3NlcXVlbmNlIGltcG9y
dCBMYW5kaW5nU2VxdWVuY2UsIENvbmRpdGlvbmFsTGFuZGluZ1NlcXVlbmNlCiBmcm9tIG1vZHVs
ZXMubG9nZ2luZyBpbXBvcnQgZXJyb3IsIGxvZywgdGVlCiBmcm9tIG1vZHVsZXMubXVsdGljb21t
YW5kdG9vbCBpbXBvcnQgTXVsdGlDb21tYW5kVG9vbCwgQ29tbWFuZAotZnJvbSBtb2R1bGVzLnBh
dGNoY29sbGVjdGlvbiBpbXBvcnQgUGF0Y2hDb2xsZWN0aW9uCitmcm9tIG1vZHVsZXMucGF0Y2hj
b2xsZWN0aW9uIGltcG9ydCBQYXRjaENvbGxlY3Rpb24sIFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rp
b24sIFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rpb25EZWxlZ2F0ZQogZnJvbSBtb2R1bGVzLnByb2Nl
c3N1dGlscyBpbXBvcnQgcnVuX2FuZF90aHJvd19pZl9mYWlsCiBmcm9tIG1vZHVsZXMuc2NtIGlt
cG9ydCBDb21taXRNZXNzYWdlLCBkZXRlY3Rfc2NtX3N5c3RlbSwgU2NyaXB0RXJyb3IsIENoZWNr
b3V0TmVlZHNVcGRhdGUKIGZyb20gbW9kdWxlcy5zdGF0dXNib3QgaW1wb3J0IFN0YXR1c0JvdApA
QCAtMTM5LDIwICsxMzksMzEgQEAgY2xhc3MgQ29tbWl0UXVldWUoQWJzdHJhY3RRdWV1ZSk6CiAg
ICAgICAgIHNlbGYudG9vbC5idWdzLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRj
aFsiaWQiXSwgbWVzc2FnZSkKIAogCi1jbGFzcyBBYnN0cmFjdFRyeVF1ZXVlKEFic3RyYWN0UXVl
dWUpOgorY2xhc3MgQWJzdHJhY3RUcnlRdWV1ZShBYnN0cmFjdFF1ZXVlLCBQZXJzaXN0ZW50UGF0
Y2hDb2xsZWN0aW9uRGVsZWdhdGUpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPVtd
KToKICAgICAgICAgQWJzdHJhY3RRdWV1ZS5fX2luaXRfXyhzZWxmLCBvcHRpb25zKQogCisgICAg
IyBQZXJzaXN0ZW50UGF0Y2hDb2xsZWN0aW9uRGVsZWdhdGUgbWV0aG9kcworCisgICAgZGVmIGNv
bGxlY3Rpb25fbmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubmFtZQorCisgICAgZGVm
IGZldGNoX3BvdGVudGlhbF9wYXRjaGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi50b29s
LmJ1Z3MuZmV0Y2hfcGF0Y2hlc19mcm9tX3Jldmlld19xdWV1ZShsaW1pdD0zKQorCisgICAgZGVm
IHN0YXR1c19zZXJ2ZXIoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnRvb2wuc3RhdHVzKCkK
KworICAgICMgQWJzdHJhY3RRdWV1ZSBtZXRob2RzCisKICAgICBkZWYgc3RhdHVzX2hvc3Qoc2Vs
Zik6CiAgICAgICAgIHJldHVybiBOb25lICMgRklYTUU6IEEgaGFjayB1bnRpbCB3ZSBjb21lIHVw
IHdpdGggYSBtb3JlIGdlbmVyaWMgc3RhdHVzIHBhZ2UuCiAKICAgICBkZWYgYmVnaW5fd29ya19x
dWV1ZShzZWxmKToKICAgICAgICAgQWJzdHJhY3RRdWV1ZS5iZWdpbl93b3JrX3F1ZXVlKHNlbGYp
Ci0gICAgICAgIHNlbGYuX3BhdGNoZXMgPSBQYXRjaENvbGxlY3Rpb24oc2VsZi50b29sLmJ1Z3Mp
Ci0gICAgICAgIHNlbGYuX3BhdGNoZXMuYWRkX3BhdGNoZXMoc2VsZi50b29sLmJ1Z3MuZmV0Y2hf
cGF0Y2hlc19mcm9tX3Jldmlld19xdWV1ZShsaW1pdD0xMCkpCisgICAgICAgIHNlbGYuX3BhdGNo
ZXMgPSBQZXJzaXN0ZW50UGF0Y2hDb2xsZWN0aW9uKHNlbGYpCiAKICAgICBkZWYgbmV4dF93b3Jr
X2l0ZW0oc2VsZik6Ci0gICAgICAgIHNlbGYubG9nX3Byb2dyZXNzKHNlbGYuX3BhdGNoZXMucGF0
Y2hfaWRzKCkpCiAgICAgICAgIHJldHVybiBzZWxmLl9wYXRjaGVzLm5leHQoKQogCiAgICAgZGVm
IHNob3VsZF9wcm9jZWVkX3dpdGhfd29ya19pdGVtKHNlbGYsIHBhdGNoKToKQEAgLTE2Myw2ICsx
NzQsNyBAQCBjbGFzcyBBYnN0cmFjdFRyeVF1ZXVlKEFic3RyYWN0UXVldWUpOgogCiAgICAgZGVm
IGhhbmRsZV91bmV4cGVjdGVkX2Vycm9yKHNlbGYsIHBhdGNoLCBtZXNzYWdlKToKICAgICAgICAg
bG9nKG1lc3NhZ2UpCisgICAgICAgIHNlbGYuX3BhdGNoZXMuZG9uZShwYXRjaCkKIAogCiBjbGFz
cyBTdHlsZVF1ZXVlKEFic3RyYWN0VHJ5UXVldWUpOgpAQCAtMTc2LDYgKzE4OCw3IEBAIGNsYXNz
IFN0eWxlUXVldWUoQWJzdHJhY3RUcnlRdWV1ZSk6CiAKICAgICBkZWYgcHJvY2Vzc193b3JrX2l0
ZW0oc2VsZiwgcGF0Y2gpOgogICAgICAgICBzZWxmLnJ1bl9idWd6aWxsYV90b29sKFsiY2hlY2st
c3R5bGUiLCAiLS1mb3JjZS1jbGVhbiIsIHBhdGNoWyJpZCJdXSkKKyAgICAgICAgc2VsZi5fcGF0
Y2hlcy5kb25lKHBhdGNoKQogCiAKIGNsYXNzIEJ1aWxkUXVldWUoQWJzdHJhY3RUcnlRdWV1ZSk6
CkBAIC0xOTgsMyArMjExLDQgQEAgY2xhc3MgQnVpbGRRdWV1ZShBYnN0cmFjdFRyeVF1ZXVlKToK
IAogICAgIGRlZiBwcm9jZXNzX3dvcmtfaXRlbShzZWxmLCBwYXRjaCk6CiAgICAgICAgIHNlbGYu
cnVuX2J1Z3ppbGxhX3Rvb2woWyJidWlsZC1hdHRhY2htZW50Iiwgc2VsZi5wb3J0LmZsYWcoKSwg
Ii0tZm9yY2UtY2xlYW4iLCAiLS1xdWlldCIsICItLW5vLXVwZGF0ZSIsIHBhdGNoWyJpZCJdXSkK
KyAgICAgICAgc2VsZi5fcGF0Y2hlcy5kb25lKHBhdGNoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy9tb2R1bGVzL3BhdGNoY29sbGVjdGlvbi5weSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9wYXRjaGNvbGxlY3Rpb24ucHkKaW5kZXggMmFiOTMxMC4uMDNmYmVhNSAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3BhdGNoY29sbGVjdGlvbi5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvcGF0Y2hjb2xsZWN0aW9uLnB5CkBAIC01
NywzICs1NywzNCBAQCBjbGFzcyBQYXRjaENvbGxlY3Rpb246CiAKICAgICBkZWYgX19sZW5fXyhz
ZWxmKToKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9wYXRjaGVzKQorCisKK2NsYXNzIFBlcnNp
c3RlbnRQYXRjaENvbGxlY3Rpb25EZWxlZ2F0ZToKKyAgICBkZWYgY29sbGVjdGlvbl9uYW1lKHNl
bGYpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yLCAic3ViY2xhc3NlcyBtdXN0
IGltcGxlbWVudCIKKworICAgIGRlZiBmZXRjaF9wb3RlbnRpYWxfcGF0Y2hlcyhzZWxmKToKKyAg
ICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1l
bnQiCisKKyAgICBkZWYgc3RhdHVzX3NlcnZlcihzZWxmKToKKyAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCisKKworY2xhc3MgUGVy
c2lzdGVudFBhdGNoQ29sbGVjdGlvbjoKKyAgICBfaW5pdGlhbF9zdGF0dXMgPSAiQXR0ZW1wdGVk
IgorICAgIF90ZXJtaW5hbF9zdGF0dXMgPSAiRG9uZSIKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
ZGVsZWdhdGUpOgorICAgICAgICBzZWxmLl9kZWxlZ2F0ZSA9IGRlbGVnYXRlCisgICAgICAgIHNl
bGYuX25hbWUgPSBzZWxmLl9kZWxlZ2F0ZS5jb2xsZWN0aW9uX25hbWUoKQorICAgICAgICBzZWxm
Ll9zdGF0dXMgPSBzZWxmLl9kZWxlZ2F0ZS5zdGF0dXNfc2VydmVyKCkKKworICAgIGRlZiBuZXh0
KHNlbGYpOgorICAgICAgICBwYXRjaGVzID0gc2VsZi5fZGVsZWdhdGUuZmV0Y2hfcG90ZW50aWFs
X3BhdGNoZXMoKQorICAgICAgICBmb3IgcGF0Y2ggaW4gcGF0Y2hlczoKKyAgICAgICAgICAgIGxh
c3Rfc3RhdHVzID0gc2VsZi5fc3RhdHVzLnBhdGNoX3N0YXR1cyhzZWxmLl9uYW1lLCBwYXRjaFsi
aWQiXSkKKyAgICAgICAgICAgIGlmIG5vdCBsYXN0X3N0YXR1czogIyBGSVhNRTogQWRkIHN1cHBv
cnQgZm9yICJUcnkgYWdhaW4iCisgICAgICAgICAgICAgICAgc2VsZi5fc3RhdHVzLnVwZGF0ZV9z
dGF0dXMoc2VsZi5fbmFtZSwgc2VsZi5faW5pdGlhbF9zdGF0dXMsIHBhdGNoKQorICAgICAgICAg
ICAgICAgIHJldHVybiBwYXRjaAorCisgICAgZGVmIGRvbmUoc2VsZiwgcGF0Y2gpOgorICAgICAg
ICBzZWxmLl9zdGF0dXMudXBkYXRlX3N0YXR1cyhzZWxmLl9uYW1lLCBzZWxmLl90ZXJtaW5hbF9z
dGF0dXMsIHBhdGNoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>