<?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>23976</bug_id>
          
          <creation_ts>2009-02-16 11:34:08 -0800</creation_ts>
          <short_desc>MessageQueue needs a way to wait for a message that satisfies an arbitrary criteria.</short_desc>
          <delta_ts>2009-02-19 11:47:11 -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>Web Template Framework</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>
          <dependson>23974</dependson>
          <blocked>23980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>109871</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-16 11:34:08 -0800</bug_when>
    <thetext>Needs patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109872</commentid>
    <comment_count>1</comment_count>
      <attachid>27703</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-16 11:39:52 -0800</bug_when>
    <thetext>Created attachment 27703
Patch for bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109938</commentid>
    <comment_count>2</comment_count>
      <attachid>27703</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-17 01:38:24 -0800</bug_when>
    <thetext>Comment on attachment 27703
Patch for bug.

As ap suggested, I should change MessageQueue to be linked list based.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110084</commentid>
    <comment_count>3</comment_count>
      <attachid>27754</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-18 10:18:55 -0800</bug_when>
    <thetext>Created attachment 27754
Part 1: Change MessageQueue to be linked list based.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110090</commentid>
    <comment_count>4</comment_count>
      <attachid>27754</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-18 10:41:29 -0800</bug_when>
    <thetext>Comment on attachment 27754
Part 1: Change MessageQueue to be linked list based.

ok, maybe not a linked list for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110091</commentid>
    <comment_count>5</comment_count>
      <attachid>27703</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-18 10:42:13 -0800</bug_when>
    <thetext>Comment on attachment 27703
Patch for bug.

We&apos;ll try this one to start with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110104</commentid>
    <comment_count>6</comment_count>
      <attachid>27703</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-18 11:39:17 -0800</bug_when>
    <thetext>Comment on attachment 27703
Patch for bug.

I&apos;ll consider a functor approach instead of a virtual method callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110160</commentid>
    <comment_count>7</comment_count>
      <attachid>27773</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-18 18:46:40 -0800</bug_when>
    <thetext>Created attachment 27773
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110190</commentid>
    <comment_count>8</comment_count>
      <attachid>27773</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-02-19 02:45:34 -0800</bug_when>
    <thetext>Comment on attachment 27773
Proposed fix.

r=me

&gt; +    inline DequeIterator&lt;T&gt; Deque&lt;T&gt;::findIf(Predicate predicate)
&gt; +    {
&gt; +        for (iterator it = begin(); it != end(); ++it) {

If may be better to make compiler&apos;s life easier, and precompute end().

&gt; +            if ((*predicate)(*it))

Shouldn&apos;t this be &quot;predicate(*it)&quot;?

&gt; +                return it;
&gt; +        }
&gt; +        return end();
&gt; +    }

+        MessageQueueWaitResult waitForMessageFiltered(DataType&amp;, Predicate);
         MessageQueueWaitResult waitForMessageTimed(DataType&amp;, double absoluteTime);

Have you verified that timers do not fire in Firefox when waiting for a sync XHR in a worker?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110257</commentid>
    <comment_count>9</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-19 11:47:11 -0800</bug_when>
    <thetext>&gt; Have you verified that timers do not fire in Firefox when waiting for a sync XHR in a worker?
Not yet.  But I&apos;ll look into adding a method to do that to reduce duplicate code in this class.

Commited as r41081.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27703</attachid>
            <date>2009-02-16 11:39:52 -0800</date>
            <delta_ts>2009-02-18 11:39:17 -0800</delta_ts>
            <desc>Patch for bug.</desc>
            <filename>bug23976.txt</filename>
            <type>text/plain</type>
            <size>2909</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAxNjBhOGUwLi5lMTU5MzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTgg
QEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBCdWcg
MjM5NzY6IE1lc3NhZ2VRdWV1ZSBuZWVkcyBhIHdheSB0byB3YWl0IGZvciBhIG1lc3NhZ2UgdGhh
dCBzYXRpc2ZpZXMgYW4gYXJiaXRyYXJ5IGNyaXRlcmlhLgorICAgICAgICA8aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTc2PgorCisgICAgICAgICogd3RmL01lc3Nh
Z2VRdWV1ZS5oOgorICAgICAgICAoV1RGOjpNZXNzYWdlUXVldWU6Ok1lc3NhZ2VRdWV1ZSk6Cisg
ICAgICAgIChXVEY6Ok1lc3NhZ2VRdWV1ZTo6RmlsdGVyOjp+RmlsdGVyKToKKyAgICAgICAgKFdU
Rjo6TWVzc2FnZVF1ZXVlOjp3YWl0Rm9yTWVzc2FnZUZpbHRlcmVkKToKKworMjAwOS0wMi0xNiAg
RGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKICAgICAgICAgQnVnIDIzOTc0OiBEZXF1ZTo6UmVtb3ZlIHdvdWxk
IGJlIGEgdXNlZnVsIG1ldGhvZC4KICAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk3ND4KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCmluZGV4IDE5
YzVjMTAuLmU0MzViN2IgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVl
dWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NSwxMSArNDYsMTggQEAg
bmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+CiAgICAgY2xh
c3MgTWVzc2FnZVF1ZXVlIDogTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKLSAgICAgICAgTWVz
c2FnZVF1ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkge30KLSAgICAgICAgCisgICAgICAgIE1lc3Nh
Z2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQorCisgICAgICAgIGNsYXNzIEZpbHRlciB7
CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIHZpcnR1YWwgfkZpbHRlcigpIHsgfQorICAg
ICAgICAgICAgdmlydHVhbCBEZXF1ZUNvbnN0SXRlcmF0b3I8RGF0YVR5cGU+IGZpbmQoY29uc3Qg
RGVxdWU8RGF0YVR5cGU+JikgPSAwOworICAgICAgICB9OworCiAgICAgICAgIHZvaWQgYXBwZW5k
KGNvbnN0IERhdGFUeXBlJik7CiAgICAgICAgIHZvaWQgcHJlcGVuZChjb25zdCBEYXRhVHlwZSYp
OwogICAgICAgICBib29sIHdhaXRGb3JNZXNzYWdlKERhdGFUeXBlJik7CisgICAgICAgIGJvb2wg
d2FpdEZvck1lc3NhZ2VGaWx0ZXJlZChEYXRhVHlwZSYsIEZpbHRlciYpOwogICAgICAgICBNZXNz
YWdlUXVldWVXYWl0UmVzdWx0IHdhaXRGb3JNZXNzYWdlVGltZWQoRGF0YVR5cGUmLCBkb3VibGUg
YWJzb2x1dGVUaW1lKTsKICAgICAgICAgdm9pZCBraWxsKCk7CiAKQEAgLTEwMCw2ICsxMDgsMjQg
QEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5
cGU+CisgICAgaW5saW5lIGJvb2wgTWVzc2FnZVF1ZXVlPERhdGFUeXBlPjo6d2FpdEZvck1lc3Nh
Z2VGaWx0ZXJlZChEYXRhVHlwZSYgcmVzdWx0LCBGaWx0ZXImIGZpbHRlcikKKyAgICB7CisgICAg
ICAgIE11dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7CisKKyAgICAgICAgRGVxdWVDb25zdEl0ZXJh
dG9yPERhdGFUeXBlPiBmb3VuZCA9IG1fcXVldWUuZW5kKCk7CisgICAgICAgIHdoaWxlICghbV9r
aWxsZWQgJiYgKGZvdW5kID0gZmlsdGVyLmZpbmQobV9xdWV1ZSkpID09IG1fcXVldWUuZW5kKCkp
CisgICAgICAgICAgICBtX2NvbmRpdGlvbi53YWl0KG1fbXV0ZXgpOworCisgICAgICAgIGlmICht
X2tpbGxlZCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBBU1NFUlQoZm91
bmQgIT0gbV9xdWV1ZS5lbmQoKSk7CisgICAgICAgIHJlc3VsdCA9ICpmb3VuZDsKKyAgICAgICAg
bV9xdWV1ZS5yZW1vdmUoZm91bmQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KICAgICBpbmxpbmUgTWVzc2FnZVF1ZXVlV2Fp
dFJlc3VsdCBNZXNzYWdlUXVldWU8RGF0YVR5cGU+Ojp3YWl0Rm9yTWVzc2FnZVRpbWVkKERhdGFU
eXBlJiByZXN1bHQsIGRvdWJsZSBhYnNvbHV0ZVRpbWUpCiAgICAgewogICAgICAgICBNdXRleExv
Y2tlciBsb2NrKG1fbXV0ZXgpOwpAQCAtMTU3LDcgKzE4Myw4IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgICAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwogICAgICAgICByZXR1cm4gbV9raWxs
ZWQ7CiAgICAgfQotfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpNZXNzYWdl
UXVldWU7CiAvLyBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IGVudW0gYW5kIGFsbCBpdHMgdmFsdWVz
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27754</attachid>
            <date>2009-02-18 10:18:55 -0800</date>
            <delta_ts>2009-02-18 10:41:29 -0800</delta_ts>
            <desc>Part 1: Change MessageQueue to be linked list based.</desc>
            <filename>bug23976-pt1.txt</filename>
            <type>text/plain</type>
            <size>6925</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3OTEwZDE3Li44ZGFiOTk1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMDktMDItMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMzk3NjogTWVz
c2FnZVF1ZXVlIG5lZWRzIGEgd2F5IHRvIHdhaXQgZm9yIGEgbWVzc2FnZSB0aGF0IHNhdGlzZmll
cyBhbiBhcmJpdHJhcnkgY3JpdGVyaWEuCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5NzY+CisKKyAgICAgICAgUGFydCAxOiBDaGFuZ2UgTWVzc2Fn
ZVF1ZXVlIHRvIGJlIGxpbmsgbGlzdCBiYXNlZC4KKworICAgICAgICAqIHd0Zi9NZXNzYWdlUXVl
dWUuaDoKKyAgICAgICAgKFdURjo6TWVzc2FnZVF1ZXVlOjpNZXNzYWdlUXVldWUpOgorICAgICAg
ICAoV1RGOjpNZXNzYWdlUXVldWU6Okxpc3ROb2RlOjpMaXN0Tm9kZSk6CisgICAgICAgIChXVEY6
Ok1lc3NhZ2VRdWV1ZTo6fk1lc3NhZ2VRdWV1ZSk6CisgICAgICAgIChXVEY6Ok1lc3NhZ2VRdWV1
ZTo6Y2hlY2tMaXN0VmFsaWRpdHkpOgorICAgICAgICAoV1RGOjpNZXNzYWdlUXVldWU6OmFwcGVu
ZCk6CisgICAgICAgIChXVEY6Ok1lc3NhZ2VRdWV1ZTo6cHJlcGVuZCk6CisgICAgICAgIChXVEY6
Ok1lc3NhZ2VRdWV1ZTo6cmVtb3ZlRmlyc3QpOgorICAgICAgICAoV1RGOjpNZXNzYWdlUXVldWU6
OmlzTGlzdEVtcHR5KToKKyAgICAgICAgKFdURjo6TWVzc2FnZVF1ZXVlOjp3YWl0Rm9yTWVzc2Fn
ZSk6CisgICAgICAgIChXVEY6Ok1lc3NhZ2VRdWV1ZTo6d2FpdEZvck1lc3NhZ2VUaW1lZCk6Cisg
ICAgICAgIChXVEY6Ok1lc3NhZ2VRdWV1ZTo6dHJ5R2V0TWVzc2FnZSk6CisgICAgICAgIChXVEY6
Ok1lc3NhZ2VRdWV1ZTo6aXNFbXB0eSk6CisKIDIwMDktMDItMTEgIERtaXRyeSBUaXRvdiAgPGRp
bWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRleCAxOWM1YzEwLi4zNTVlMDE4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsOCArMzEsOCBAQAogI2RlZmluZSBNZXNzYWdlUXVl
dWVfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTQ1LDgg
KzQ2LDE1IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBl
PgogICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6IE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHt9Ci0gICAgICAgIAorICAg
ICAgICBNZXNzYWdlUXVldWUoKQorICAgICAgICAgICAgOiBtX2ZpcnN0KDApCisgICAgICAgICAg
ICAsIG1fYXBwZW5kTG9jYXRpb24oJm1fZmlyc3QpCisgICAgICAgICAgICAsIG1fa2lsbGVkKGZh
bHNlKQorICAgICAgICB7CisgICAgICAgICAgICBjaGVja0xpc3RWYWxpZGl0eSgpOworICAgICAg
ICB9CisgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKKwogICAgICAgICB2b2lkIGFwcGVuZChjb25z
dCBEYXRhVHlwZSYpOwogICAgICAgICB2b2lkIHByZXBlbmQoY29uc3QgRGF0YVR5cGUmKTsKICAg
ICAgICAgYm9vbCB3YWl0Rm9yTWVzc2FnZShEYXRhVHlwZSYpOwpAQCAtNjAsMTcgKzY4LDY2IEBA
IG5hbWVzcGFjZSBXVEYgewogICAgICAgICBib29sIGlzRW1wdHkoKTsKIAogICAgIHByaXZhdGU6
CisgICAgICAgIGNsYXNzIExpc3ROb2RlIDogTm9uY29weWFibGUgeworICAgICAgICBwdWJsaWM6
CisgICAgICAgICAgICBMaXN0Tm9kZShjb25zdCBEYXRhVHlwZSYgZGF0YSkKKyAgICAgICAgICAg
ICAgICA6IG1fbmV4dCgwKQorICAgICAgICAgICAgICAgICwgbV9kYXRhKGRhdGEpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIExpc3ROb2RlKiBtX25leHQ7Cisg
ICAgICAgICAgICBEYXRhVHlwZSBtX2RhdGE7CisgICAgICAgIH07CisgICAgICAgIHZvaWQgY2hl
Y2tMaXN0VmFsaWRpdHkoKSBjb25zdDsKKyAgICAgICAgdm9pZCByZW1vdmVGaXJzdChEYXRhVHlw
ZSYpOworICAgICAgICBib29sIGlzTGlzdEVtcHR5KCkgY29uc3Q7CisKICAgICAgICAgbXV0YWJs
ZSBNdXRleCBtX211dGV4OwogICAgICAgICBUaHJlYWRDb25kaXRpb24gbV9jb25kaXRpb247Ci0g
ICAgICAgIERlcXVlPERhdGFUeXBlPiBtX3F1ZXVlOworICAgICAgICBMaXN0Tm9kZSogbV9maXJz
dDsKKyAgICAgICAgTGlzdE5vZGUqKiBtX2FwcGVuZExvY2F0aW9uOworCiAgICAgICAgIGJvb2wg
bV9raWxsZWQ7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgorICAg
IE1lc3NhZ2VRdWV1ZTxEYXRhVHlwZT46On5NZXNzYWdlUXVldWUoKQorICAgIHsKKyAgICAgICAg
Y2hlY2tMaXN0VmFsaWRpdHkoKTsKKyAgICAgICAgTGlzdE5vZGUqIGN1cnJlbnQgPSBtX2ZpcnN0
OworICAgICAgICB3aGlsZSAoY3VycmVudCkgeworICAgICAgICAgICAgTGlzdE5vZGUqIG5leHQg
PSBjdXJyZW50LT5tX25leHQ7CisgICAgICAgICAgICBkZWxldGUgY3VycmVudDsKKyAgICAgICAg
ICAgIGN1cnJlbnQgPSBuZXh0OworICAgICAgICB9CisgICAgfQorCisKKyNpZmRlZiBOREVCVUcK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4gaW5saW5lIHZvaWQgTWVzc2FnZVF1ZXVl
PERhdGFUeXBlPjo6Y2hlY2tMaXN0VmFsaWRpdHkoKSBjb25zdCB7IH0KKyNlbHNlCisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+CisgICAgaW5saW5lIHZvaWQgTWVzc2FnZVF1ZXVlPERh
dGFUeXBlPjo6Y2hlY2tMaXN0VmFsaWRpdHkoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KCEqbV9hcHBlbmRMb2NhdGlvbik7CisgICAgICAgIExpc3ROb2RlKiBjb25zdCogY3VycmVudCA9
ICZtX2ZpcnN0OworICAgICAgICB3aGlsZSAoKmN1cnJlbnQpIHsKKyAgICAgICAgICAgIGN1cnJl
bnQgPSAmKCpjdXJyZW50KS0+bV9uZXh0OworICAgICAgICB9CisgICAgICAgIEFTU0VSVChtX2Fw
cGVuZExvY2F0aW9uID09IGN1cnJlbnQpOworICAgIH0KKyNlbmRpZgorCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgRGF0YVR5cGU+CiAgICAgaW5saW5lIHZvaWQgTWVzc2FnZVF1ZXVlPERhdGFUeXBl
Pjo6YXBwZW5kKGNvbnN0IERhdGFUeXBlJiBtZXNzYWdlKQogICAgIHsKICAgICAgICAgTXV0ZXhM
b2NrZXIgbG9jayhtX211dGV4KTsKLSAgICAgICAgbV9xdWV1ZS5hcHBlbmQobWVzc2FnZSk7Cisg
ICAgICAgIGNoZWNrTGlzdFZhbGlkaXR5KCk7CisgICAgICAgIExpc3ROb2RlKiBub2RlID0gbmV3
IExpc3ROb2RlKG1lc3NhZ2UpOworICAgICAgICAqbV9hcHBlbmRMb2NhdGlvbiA9IG5vZGU7Cisg
ICAgICAgIG1fYXBwZW5kTG9jYXRpb24gPSAmbm9kZS0+bV9uZXh0OworICAgICAgICBjaGVja0xp
c3RWYWxpZGl0eSgpOwogICAgICAgICBtX2NvbmRpdGlvbi5zaWduYWwoKTsKICAgICB9CiAKQEAg
LTc4LDI0ICsxMzUsNDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgaW5saW5lIHZvaWQgTWVzc2Fn
ZVF1ZXVlPERhdGFUeXBlPjo6cHJlcGVuZChjb25zdCBEYXRhVHlwZSYgbWVzc2FnZSkKICAgICB7
CiAgICAgICAgIE11dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7Ci0gICAgICAgIG1fcXVldWUucHJl
cGVuZChtZXNzYWdlKTsKKyAgICAgICAgY2hlY2tMaXN0VmFsaWRpdHkoKTsKKyAgICAgICAgTGlz
dE5vZGUqIG5vZGUgPSBuZXcgTGlzdE5vZGUobWVzc2FnZSk7CisgICAgICAgIG5vZGUtPm1fbmV4
dCA9IG1fZmlyc3Q7CisgICAgICAgIG1fZmlyc3QgPSBub2RlOworICAgICAgICBpZiAobV9hcHBl
bmRMb2NhdGlvbiA9PSAmbV9maXJzdCkKKyAgICAgICAgICAgIG1fYXBwZW5kTG9jYXRpb24gPSAm
bm9kZS0+bV9uZXh0OworICAgICAgICBjaGVja0xpc3RWYWxpZGl0eSgpOwogICAgICAgICBtX2Nv
bmRpdGlvbi5zaWduYWwoKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlw
ZT4KKyAgICBpbmxpbmUgdm9pZCBNZXNzYWdlUXVldWU8RGF0YVR5cGU+OjpyZW1vdmVGaXJzdChE
YXRhVHlwZSYgcmVzdWx0KQorICAgIHsKKyAgICAgICAgY2hlY2tMaXN0VmFsaWRpdHkoKTsKKyAg
ICAgICAgT3duUHRyPExpc3ROb2RlPiBub2RlVG9CZVJlbW92ZWQobV9maXJzdCk7CisgICAgICAg
IHJlc3VsdCA9IG1fZmlyc3QtPm1fZGF0YTsKKyAgICAgICAgaWYgKG1fYXBwZW5kTG9jYXRpb24g
PT0gJm1fZmlyc3QtPm1fbmV4dCkKKyAgICAgICAgICAgIG1fYXBwZW5kTG9jYXRpb24gPSAmbV9m
aXJzdDsKKyAgICAgICAgbV9maXJzdCA9IG1fZmlyc3QtPm1fbmV4dDsKKyAgICAgICAgY2hlY2tM
aXN0VmFsaWRpdHkoKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4K
KyAgICBpbmxpbmUgYm9vbCBNZXNzYWdlUXVldWU8RGF0YVR5cGU+Ojppc0xpc3RFbXB0eSgpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fZmlyc3Q7CisgICAgfQorCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+CiAgICAgaW5saW5lIGJvb2wgTWVzc2FnZVF1ZXVlPERhdGFU
eXBlPjo6d2FpdEZvck1lc3NhZ2UoRGF0YVR5cGUmIHJlc3VsdCkKICAgICB7CiAgICAgICAgIE11
dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7CiAKLSAgICAgICAgd2hpbGUgKCFtX2tpbGxlZCAmJiBt
X3F1ZXVlLmlzRW1wdHkoKSkKKyAgICAgICAgd2hpbGUgKCFtX2tpbGxlZCAmJiBpc0xpc3RFbXB0
eSgpKQogICAgICAgICAgICAgbV9jb25kaXRpb24ud2FpdChtX211dGV4KTsKIAogICAgICAgICBp
ZiAobV9raWxsZWQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgQVNTRVJU
KCFtX3F1ZXVlLmlzRW1wdHkoKSk7Ci0gICAgICAgIHJlc3VsdCA9IG1fcXVldWUuZmlyc3QoKTsK
LSAgICAgICAgbV9xdWV1ZS5yZW1vdmVGaXJzdCgpOworICAgICAgICBBU1NFUlQoIWlzTGlzdEVt
cHR5KCkpOworICAgICAgICByZW1vdmVGaXJzdChyZXN1bHQpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKQEAgLTEwNSw3ICsxODUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAg
TXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgYm9vbCB0aW1lZE91dCA9IGZhbHNl
OwogCi0gICAgICAgIHdoaWxlICghbV9raWxsZWQgJiYgIXRpbWVkT3V0ICYmIG1fcXVldWUuaXNF
bXB0eSgpKQorICAgICAgICB3aGlsZSAoIW1fa2lsbGVkICYmICF0aW1lZE91dCAmJiBpc0xpc3RF
bXB0eSgpKQogICAgICAgICAgICAgdGltZWRPdXQgPSAhbV9jb25kaXRpb24udGltZWRXYWl0KG1f
bXV0ZXgsIGFic29sdXRlVGltZSk7CiAKICAgICAgICAgaWYgKG1fa2lsbGVkKQpAQCAtMTE0LDkg
KzE5NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBpZiAodGltZWRPdXQpCiAgICAgICAg
ICAgICByZXR1cm4gTWVzc2FnZVF1ZXVlVGltZW91dDsKIAotICAgICAgICBBU1NFUlQoIW1fcXVl
dWUuaXNFbXB0eSgpKTsKLSAgICAgICAgcmVzdWx0ID0gbV9xdWV1ZS5maXJzdCgpOwotICAgICAg
ICBtX3F1ZXVlLnJlbW92ZUZpcnN0KCk7CisgICAgICAgIEFTU0VSVCghaXNMaXN0RW1wdHkoKSk7
CisgICAgICAgIHJlbW92ZUZpcnN0KHJlc3VsdCk7CiAgICAgICAgIHJldHVybiBNZXNzYWdlUXVl
dWVNZXNzYWdlUmVjZWl2ZWQ7CiAgICAgfQogCkBAIC0xMjYsMTEgKzIwNSwxMCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgaWYg
KG1fa2lsbGVkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAobV9xdWV1
ZS5pc0VtcHR5KCkpCisgICAgICAgIGlmIChpc0xpc3RFbXB0eSgpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgICAgIHJlc3VsdCA9IG1fcXVldWUuZmlyc3QoKTsKLSAgICAgICAg
bV9xdWV1ZS5yZW1vdmVGaXJzdCgpOworICAgICAgICByZW1vdmVGaXJzdChyZXN1bHQpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTE0MCw3ICsyMTgsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgaWYgKG1f
a2lsbGVkKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHJldHVybiBtX3F1ZXVl
LmlzRW1wdHkoKTsKKyAgICAgICAgcmV0dXJuIGlzTGlzdEVtcHR5KCk7CiAgICAgfQogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27773</attachid>
            <date>2009-02-18 18:46:40 -0800</date>
            <delta_ts>2009-02-19 02:45:34 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug23976.txt</filename>
            <type>text/plain</type>
            <size>3883</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3YjE0ZDI4Li42OGRmMWNhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMDktMDItMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgogCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMzk3NjogTWVz
c2FnZVF1ZXVlIG5lZWRzIGEgd2F5IHRvIHdhaXQgZm9yIGEgbWVzc2FnZSB0aGF0IHNhdGlzZmll
cyBhbiBhcmJpdHJhcnkgY3JpdGVyaWEuCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM5NzY+CisKKyAgICAgICAgKiB3dGYvRGVxdWUuaDoKKyAgICAg
ICAgKFdURjo6RGVxdWU8VD46OmZpbmRJZik6CisgICAgICAgICogd3RmL01lc3NhZ2VRdWV1ZS5o
OgorICAgICAgICAoV1RGOjpNZXNzYWdlUXVldWU8VD46OndhaXRGb3JNZXNzYWdlRmlsdGVyZWQp
OgorCisyMDA5LTAyLTE4ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgogCiAgICAgICAgIEJ1ZyAyMzk3
NDogRGVxdWU6OlJlbW92ZSB3b3VsZCBiZSBhIHVzZWZ1bCBtZXRob2QuCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCmlu
ZGV4IDIyYjI5YzkuLjZkYzUyM2MgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1
ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC04MSw2ICs4MSw5IEBAIG5h
bWVzcGFjZSBXVEYgewogCiAgICAgICAgIHZvaWQgY2xlYXIoKTsKIAorICAgICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBQcmVkaWNhdGU+CisgICAgICAgIGl0ZXJhdG9yIGZpbmRJZihQcmVkaWNhdGUp
OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIERlcXVlSXRlcmF0b3JCYXNl
PFQ+OwogCkBAIC0zNTMsNyArMzU2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGRlc3Ry
b3lBbGwoKTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgogICAgIGlubGluZSB2b2lkIERlcXVlPFQ+Ojpzd2FwKERlcXVlPFQ+JiBv
dGhlcikKICAgICB7CiAgICAgICAgIGNoZWNrVmFsaWRpdHkoKTsKQEAgLTM2Niw3ICszNjksNyBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgb3RoZXIuY2hlY2tWYWxpZGl0eSgpOwogICAgIH0K
IAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAg
ICAgaW5saW5lIHZvaWQgRGVxdWU8VD46OmNsZWFyKCkKICAgICB7CiAgICAgICAgIGNoZWNrVmFs
aWRpdHkoKTsKQEAgLTM3OCw2ICszODEsMTcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfQogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQcmVkaWNhdGU+
CisgICAgaW5saW5lIERlcXVlSXRlcmF0b3I8VD4gRGVxdWU8VD46OmZpbmRJZihQcmVkaWNhdGUg
cHJlZGljYXRlKQorICAgIHsKKyAgICAgICAgZm9yIChpdGVyYXRvciBpdCA9IGJlZ2luKCk7IGl0
ICE9IGVuZCgpOyArK2l0KSB7CisgICAgICAgICAgICBpZiAoKCpwcmVkaWNhdGUpKCppdCkpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGl0OworICAgICAgICB9CisgICAgICAgIHJldHVybiBlbmQo
KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIGlubGluZSB2b2lkIERl
cXVlPFQ+OjpleHBhbmRDYXBhY2l0eUlmTmVlZGVkKCkKICAgICB7CiAgICAgICAgIGlmIChtX3N0
YXJ0KSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKaW5kZXggMTljNWMxMC4uNDEzYTIzMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDYgKzUxLDggQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIHZvaWQgYXBwZW5kKGNvbnN0IERhdGFUeXBlJik7CiAgICAgICAgIHZvaWQgcHJlcGVu
ZChjb25zdCBEYXRhVHlwZSYpOwogICAgICAgICBib29sIHdhaXRGb3JNZXNzYWdlKERhdGFUeXBl
Jik7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRpY2F0ZT4KKyAgICAgICAgTWVzc2Fn
ZVF1ZXVlV2FpdFJlc3VsdCB3YWl0Rm9yTWVzc2FnZUZpbHRlcmVkKERhdGFUeXBlJiwgUHJlZGlj
YXRlKTsKICAgICAgICAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCB3YWl0Rm9yTWVzc2FnZVRpbWVk
KERhdGFUeXBlJiwgZG91YmxlIGFic29sdXRlVGltZSk7CiAgICAgICAgIHZvaWQga2lsbCgpOwog
CkBAIC0xMDAsNiArMTAzLDI1IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH0KIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIERhdGFUeXBlPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRpY2F0ZT4K
KyAgICBpbmxpbmUgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBNZXNzYWdlUXVldWU8RGF0YVR5cGU+
Ojp3YWl0Rm9yTWVzc2FnZUZpbHRlcmVkKERhdGFUeXBlJiByZXN1bHQsIFByZWRpY2F0ZSBwcmVk
aWNhdGUpCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOworCisgICAg
ICAgIERlcXVlQ29uc3RJdGVyYXRvcjxEYXRhVHlwZT4gZm91bmQgPSBtX3F1ZXVlLmVuZCgpOwor
ICAgICAgICB3aGlsZSAoIW1fa2lsbGVkICYmIChmb3VuZCA9IG1fcXVldWUuZmluZElmKHByZWRp
Y2F0ZSkpID09IG1fcXVldWUuZW5kKCkpCisgICAgICAgICAgICBtX2NvbmRpdGlvbi53YWl0KG1f
bXV0ZXgpOworCisgICAgICAgIGlmIChtX2tpbGxlZCkKKyAgICAgICAgICAgIHJldHVybiBNZXNz
YWdlUXVldWVUZXJtaW5hdGVkOworCisgICAgICAgIEFTU0VSVChmb3VuZCAhPSBtX3F1ZXVlLmVu
ZCgpKTsKKyAgICAgICAgcmVzdWx0ID0gKmZvdW5kOworICAgICAgICBtX3F1ZXVlLnJlbW92ZShm
b3VuZCk7CisgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVNZXNzYWdlUmVjZWl2ZWQ7CisgICAg
fQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+CiAgICAgaW5saW5lIE1lc3NhZ2VR
dWV1ZVdhaXRSZXN1bHQgTWVzc2FnZVF1ZXVlPERhdGFUeXBlPjo6d2FpdEZvck1lc3NhZ2VUaW1l
ZChEYXRhVHlwZSYgcmVzdWx0LCBkb3VibGUgYWJzb2x1dGVUaW1lKQogICAgIHsKICAgICAgICAg
TXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKQEAgLTE1Nyw3ICsxNzksNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgcmV0dXJu
IG1fa2lsbGVkOwogICAgIH0KLX0KK30gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6Ok1l
c3NhZ2VRdWV1ZTsKIC8vIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgZW51bSBhbmQgYWxsIGl0cyB2
YWx1ZXMuCg==
</data>
<flag name="review"
          id="13501"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>