<?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>51834</bug_id>
          
          <creation_ts>2011-01-03 10:51:21 -0800</creation_ts>
          <short_desc>Enhancement: Add Regexp Debug Compare between JIT and Interpreter</short_desc>
          <delta_ts>2011-01-06 16:17:52 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>barraclough</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>328648</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-01-03 10:51:21 -0800</bug_when>
    <thetext>It makes sense to add debug code to compare the results from JIT regular expressions to interpreted regular expressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328801</commentid>
    <comment_count>1</comment_count>
      <attachid>77850</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-01-03 15:05:50 -0800</bug_when>
    <thetext>Created attachment 77850
Patch Adding Debug Code to Compare RegExp JIT with RegExp Interpreter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330368</commentid>
    <comment_count>2</comment_count>
      <attachid>77850</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-06 13:21:36 -0800</bug_when>
    <thetext>Comment on attachment 77850
Patch Adding Debug Code to Compare RegExp JIT with RegExp Interpreter.

Hi Michael,

Functionally the code all looks great.  I&apos;d like to suggest three stylistic changes.

 1027 #else
 1028 #define ENABLE_YARR_JIT_DEBUG 0

The ENABLE() macro returns false for flags that aren&apos;t defined, so there should be no need to define this id YARR_JIT is not enabled.  I think we should remove this redundant code.  (Explicitly setting the flag to 0 in the block that enables YARR_JIT is good through, to broadcast that the setting exists.)

 97 #if ENABLE(YARR_JIT_DEBUG)
 98             res = JITCode;
 99         else
 100             res = ByteCode;
 101 #else
 102         return JITCode;
 103 #endif

The return on line 102 is mis-indented.  I also think this code would be slightly clearer if you copied the if statement on the line just before this block into both the if and the else.

Finally, I think it would be great to move the #if ENABLE(YARR_JIT_DEBUG) code from RegExp::match out into a new function.  It&apos;s great to land this tool, but it would also be nice to keep the actual release code in match nice and clear.

cheers,
G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330450</commentid>
    <comment_count>3</comment_count>
      <attachid>78167</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-01-06 14:53:44 -0800</bug_when>
    <thetext>Created attachment 78167
Updated patch addressing reviewer&apos;s concerns

Cleaned up some other extraneous trailing and whole line white space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330519</commentid>
    <comment_count>4</comment_count>
      <attachid>78167</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-06 16:05:37 -0800</bug_when>
    <thetext>Comment on attachment 78167
Updated patch addressing reviewer&apos;s concerns

Looks great Michael</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330524</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-01-06 16:17:52 -0800</bug_when>
    <thetext>Committed r75208: &lt;http://trac.webkit.org/changeset/75208&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77850</attachid>
            <date>2011-01-03 15:05:50 -0800</date>
            <delta_ts>2011-01-06 14:53:44 -0800</delta_ts>
            <desc>Patch Adding Debug Code to Compare RegExp JIT with RegExp Interpreter.</desc>
            <filename>51834.patch</filename>
            <type>text/plain</type>
            <size>6770</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDc0OTM5
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDEt
MDMgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5oYW5jZW1lbnQ6IEFkZCBSZWdleHAg
RGVidWcgQ29tcGFyZSBiZXR3ZWVuIEpJVCBhbmQgSW50ZXJwcmV0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxODM0CisKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZTogQ29waWVkIGZyb20gSmF2YVNjcmlwdENvcmUuCisKIDIwMTEtMDEtMDMgIFBh
dHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0
OTM5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI1IEBACisyMDExLTAxLTAzICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIGRlYnVnIGNvZGUgdG8gY29tcGFyZSB0aGUgcmVzdWx0cyBvZiBKSVQgcmVnZXhwIHdp
dGggCisgICAgICAgIGludGVycHJldGVkIHJlZ2V4cCBhbmQgZGlzcGxheXMgZGlzY3JlcGVuY2ll
cy4gIFRoaXMgZGVidWcgY29kZSBpcworICAgICAgICBjb250cm9sbGVkIGJ5IHRoZSBFTkFCTEVf
WUFSUl9KSVRfREVCVUcgbWFjcm8gaW4gd3RmL1BsYXRmb3JtLmggYW5kCisgICAgICAgIGlzIG9u
bHkgdmFsaWQgaWYgRU5BQkxFX1lBUlJfSklUIGlzIGVuYWJsZWQuCisKKyAgICAgICAgRml4ZWQg
YSBkaXNjb3ZlcmVkIHByb2JsZW0gaW4gUmVnRXhwOjpwcmludFRyYWNlRGF0YSwgY2hhbmdpbmcK
KyAgICAgICAgbV9wYXR0ZXJuIHRvIHRoZSBnZXR0ZXIgcGF0dGVybigpLgorICAgICAgICBBbHNv
IGRlbGV0ZWQgYW4gZXh0cmFuZW91cyBzZW1pY29sb24uCisKKyAgICAgICAgRW5oYW5jZW1lbnQ6
IEFkZCBSZWdleHAgRGVidWcgQ29tcGFyZSBiZXR3ZWVuIEpJVCBhbmQgSW50ZXJwcmV0ZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxODM0CisKKyAg
ICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAgICAgIChKU0M6OlJlZ0V4cDo6Y29tcGls
ZSk6CisgICAgICAgIChKU0M6OlJlZ0V4cDo6bWF0Y2gpOgorICAgICAgICAoSlNDOjpSZWdFeHA6
OnByaW50VHJhY2VEYXRhKToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxMS0wMS0w
MyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QnJhZHkgRWlkc29uLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAu
Y3BwCShyZXZpc2lvbiA3NDkzOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
Z0V4cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDE5ICs4NSwyOCBAQCBSZWdFeHA6OlJlZ0V4
cFN0YXRlIFJlZ0V4cDo6Y29tcGlsZShKU0dsCiAgICAgWWFycjo6UmVnZXhQYXR0ZXJuIHBhdHRl
cm4obV9wYXR0ZXJuU3RyaW5nLCBpZ25vcmVDYXNlKCksIG11bHRpbGluZSgpLCAmbV9jb25zdHJ1
Y3Rpb25FcnJvcik7CiAgICAgaWYgKG1fY29uc3RydWN0aW9uRXJyb3IpCiAgICAgICAgIHJldHVy
biBQYXJzZUVycm9yOwotCisgICAgCiAgICAgbV9udW1TdWJwYXR0ZXJucyA9IHBhdHRlcm4ubV9u
dW1TdWJwYXR0ZXJuczsKIAorICAgIFJlZ0V4cFN0YXRlIHJlcyA9IEJ5dGVDb2RlOworCiAjaWYg
RU5BQkxFKFlBUlJfSklUKQogICAgIGlmICghcGF0dGVybi5tX2NvbnRhaW5zQmFja3JlZmVyZW5j
ZXMgJiYgZ2xvYmFsRGF0YS0+Y2FuVXNlSklUKCkpIHsKICAgICAgICAgWWFycjo6aml0Q29tcGls
ZVJlZ2V4KHBhdHRlcm4sIGdsb2JhbERhdGEsIG1fcmVwcmVzZW50YXRpb24tPm1fcmVnRXhwSklU
Q29kZSk7CiAgICAgICAgIGlmICghbV9yZXByZXNlbnRhdGlvbi0+bV9yZWdFeHBKSVRDb2RlLmlz
RmFsbEJhY2soKSkKLSAgICAgICAgICAgIHJldHVybiBKSVRDb2RlOworI2lmIEVOQUJMRShZQVJS
X0pJVF9ERUJVRykKKyAgICAgICAgICAgIHJlcyA9IEpJVENvZGU7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHJlcyA9IEJ5dGVDb2RlOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIEpJVENvZGU7
CisjZW5kaWYKICAgICB9CiAjZW5kaWYKIAogICAgIG1fcmVwcmVzZW50YXRpb24tPm1fcmVnRXhw
Qnl0ZWNvZGUgPSBZYXJyOjpieXRlQ29tcGlsZVJlZ2V4KHBhdHRlcm4sICZnbG9iYWxEYXRhLT5t
X3JlZ2V4QWxsb2NhdG9yKTsKLSAgICByZXR1cm4gQnl0ZUNvZGU7CisKKyAgICByZXR1cm4gcmVz
OwogfQogCiBpbnQgUmVnRXhwOjptYXRjaChjb25zdCBVU3RyaW5nJiBzLCBpbnQgc3RhcnRPZmZz
ZXQsIFZlY3RvcjxpbnQsIDMyPiogb3ZlY3RvcikKQEAgLTEzMywxNCArMTQyLDU2IEBAIGludCBS
ZWdFeHA6Om1hdGNoKGNvbnN0IFVTdHJpbmcmIHMsIGludCAKIAogICAgICAgICBpbnQgcmVzdWx0
OwogI2lmIEVOQUJMRShZQVJSX0pJVCkKLSAgICAgICAgaWYgKG1fc3RhdGUgPT0gSklUQ29kZSkK
KyAgICAgICAgaWYgKG1fc3RhdGUgPT0gSklUQ29kZSkgewogICAgICAgICAgICAgcmVzdWx0ID0g
WWFycjo6ZXhlY3V0ZVJlZ2V4KG1fcmVwcmVzZW50YXRpb24tPm1fcmVnRXhwSklUQ29kZSwgcy5j
aGFyYWN0ZXJzKCksIHN0YXJ0T2Zmc2V0LCBzLmxlbmd0aCgpLCBvZmZzZXRWZWN0b3IpOwotICAg
ICAgICBlbHNlCisjaWYgRU5BQkxFKFlBUlJfSklUX0RFQlVHKQorICAgICAgICAgICAgVmVjdG9y
PGludCwgMzI+IGludGVycHJldGVyT3ZlY3RvcjsKKyAgICAgICAgICAgIGludGVycHJldGVyT3Zl
Y3Rvci5yZXNpemUob2Zmc2V0VmVjdG9yU2l6ZSk7CisgICAgICAgICAgICBpbnQqIGludGVycHJl
dGVyT2Zmc2V0VmVjdG9yID0gaW50ZXJwcmV0ZXJPdmVjdG9yLmRhdGEoKTsKKyAgICAgICAgICAg
IGludCBpbnRlcnByZXRlclJlc3VsdCA9IDA7CisgICAgICAgICAgICBpbnQgZGlmZmVyZW5jZXMg
PSAwOworCisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG9mZnNldFZlY3RvclNpemU7
IGkrKykKKyAgICAgICAgICAgICAgICBpbnRlcnByZXRlck9mZnNldFZlY3RvcltpXSA9IG9mZnNl
dFZlY3RvcltpXTsKKworICAgICAgICAgICAgaW50ZXJwcmV0ZXJSZXN1bHQgPSBZYXJyOjppbnRl
cnByZXRSZWdleChtX3JlcHJlc2VudGF0aW9uLT5tX3JlZ0V4cEJ5dGVjb2RlLmdldCgpLCBzLmNo
YXJhY3RlcnMoKSwgc3RhcnRPZmZzZXQsIHMubGVuZ3RoKCksIGludGVycHJldGVyT2Zmc2V0VmVj
dG9yKTsKKworICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBpbnRlcnByZXRlclJlc3VsdCkKKyAg
ICAgICAgICAgICAgICBkaWZmZXJlbmNlcysrOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGogPSAyLCBpID0gMDsgaSA8IG1fbnVtU3VicGF0dGVybnM7IGogKz0yLCBpKyspCisgICAgICAg
ICAgICAgICAgaWYgKChvZmZzZXRWZWN0b3Jbal0gIT0gaW50ZXJwcmV0ZXJPZmZzZXRWZWN0b3Jb
al0pCisgICAgICAgICAgICAgICAgICAgIHx8ICgob2Zmc2V0VmVjdG9yW2pdID49IDApICYmIChv
ZmZzZXRWZWN0b3JbaisxXSAhPSBpbnRlcnByZXRlck9mZnNldFZlY3RvcltqKzFdKSkpCisgICAg
ICAgICAgICAgICAgICAgIGRpZmZlcmVuY2VzKys7CisKKyAgICAgICAgICAgIGlmIChkaWZmZXJl
bmNlcykgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUmVnRXhwIERpc2NyZXBl
bmN5IGZvciAvJXMvXG4gICAgc3RyaW5nIGlucHV0ICIsIHBhdHRlcm4oKS51dGY4KCkuZGF0YSgp
KTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBzZWdtZW50TGVuID0gcy5sZW5ndGgoKSAtIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihzdGFydE9mZnNldCk7CisKKyAgICAgICAgICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgKHNlZ21lbnRMZW4gPCAxNTApID8gIlwiJXNcIlxuIiA6ICJcIiUxNDhzLi4u
XCJcbiIsIHMudXRmOCgpLmRhdGEoKSArIHN0YXJ0T2Zmc2V0KTsKKworICAgICAgICAgICAgICAg
IGlmIChyZXN1bHQgIT0gaW50ZXJwcmV0ZXJSZXN1bHQpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZnByaW50ZihzdGRlcnIsICIgICAgSklUIHJlc3VsdCA9ICVkLCBibGFoIGludGVycHJldGVkIHJl
c3VsdCA9ICVkXG4iLCByZXN1bHQsIGludGVycHJldGVyUmVzdWx0KTsKKyAgICAgICAgICAgICAg
ICAgICAgZGlmZmVyZW5jZXMtLTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgICBDb3JyZWN0IHJlc3VsdCA9ICVkXG4iLCBy
ZXN1bHQpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChkaWZmZXJl
bmNlcykgeworICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAyLCBpID0gMDsg
aSA8IG1fbnVtU3VicGF0dGVybnM7IGogKz0yLCBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChvZmZzZXRWZWN0b3Jbal0gIT0gaW50ZXJwcmV0ZXJPZmZzZXRWZWN0b3Jbal0pCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgICAgSklUIG9mZnNl
dFslZF0gPSAlZCwgaW50ZXJwcmV0ZWQgb2Zmc2V0WyVkXSA9ICVkXG4iLCBqLCBvZmZzZXRWZWN0
b3Jbal0sIGosIGludGVycHJldGVyT2Zmc2V0VmVjdG9yW2pdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICgob2Zmc2V0VmVjdG9yW2pdID49IDApICYmIChvZmZzZXRWZWN0b3JbaisxXSAh
PSBpbnRlcnByZXRlck9mZnNldFZlY3RvcltqKzFdKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgICBKSVQgb2Zmc2V0WyVkXSA9ICVkLCBpbnRlcnByZXRl
ZCBvZmZzZXRbJWRdID0gJWRcbiIsIGorMSwgb2Zmc2V0VmVjdG9yW2orMV0sIGorMSwgaW50ZXJw
cmV0ZXJPZmZzZXRWZWN0b3JbaisxXSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CiAjZW5kaWYKKyAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICByZXN1bHQgPSBZYXJyOjppbnRlcnByZXRSZWdleChtX3JlcHJlc2VudGF0aW9uLT5tX3Jl
Z0V4cEJ5dGVjb2RlLmdldCgpLCBzLmNoYXJhY3RlcnMoKSwgc3RhcnRPZmZzZXQsIHMubGVuZ3Ro
KCksIG9mZnNldFZlY3Rvcik7CisjZW5kaWYKKyAgICAgICAgQVNTRVJUKHJlc3VsdCA+PSAtMSk7
CiAKLSAgICAgICAgQVNTRVJUKHJlc3VsdCA+PSAtMSk7OwotICAgICAgICAKICNpZiBFTkFCTEUo
UkVHRVhQX1RSQUNJTkcpCiAgICAgICAgIGlmIChyZXN1bHQgIT0gLTEpCiAgICAgICAgICAgICBt
X3J0TWF0Y2hGb3VuZENvdW50Kys7CkBAIC0xNTgsNyArMjA5LDcgQEAgaW50IFJlZ0V4cDo6bWF0
Y2goY29uc3QgVVN0cmluZyYgcywgaW50IAogICAgICAgICBjaGFyIGZvcm1hdHRlZFBhdHRlcm5b
NDFdOwogICAgICAgICBjaGFyIHJhd1BhdHRlcm5bNDFdOwogICAgICAgICAKLSAgICAgICAgc3Ry
bmNweShyYXdQYXR0ZXJuLCBtX3BhdHRlcm4udXRmOCgpLmRhdGEoKSwgNDApOworICAgICAgICBz
dHJuY3B5KHJhd1BhdHRlcm4sIHBhdHRlcm4oKS51dGY4KCkuZGF0YSgpLCA0MCk7CiAgICAgICAg
IHJhd1BhdHRlcm5bNDBdPSAnXDAnOwogICAgICAgICAKICAgICAgICAgaW50IHBhdHRMZW4gPSBz
dHJsZW4ocmF3UGF0dGVybik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CShyZXZpc2lvbiA3NDkzOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aAkod29ya2luZyBjb3B5KQpAQCAtMTAyMSw2ICsxMDIxLDExIEBACiAvKiBZZXQgQW5vdGhlciBS
ZWdleCBSdW50aW1lIC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRz
LiAqLwogI2lmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkKICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDEKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklU
IHJlc3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLworI2RlZmluZSBFTkFCTEVfWUFS
Ul9KSVRfREVCVUcgMAorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAKICNl
bmRpZgogCiAjaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxFKFlBUlJfSklUKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78167</attachid>
            <date>2011-01-06 14:53:44 -0800</date>
            <delta_ts>2011-01-06 16:05:37 -0800</delta_ts>
            <desc>Updated patch addressing reviewer&apos;s concerns</desc>
            <filename>51834-2.patch</filename>
            <type>text/plain</type>
            <size>8079</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDc1MTk3
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDEt
MDYgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5oYW5jZW1lbnQ6IEFkZCBSZWdleHAg
RGVidWcgQ29tcGFyZSBiZXR3ZWVuIEpJVCBhbmQgSW50ZXJwcmV0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxODM0CisKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZTogQ29waWVkIGZyb20gSmF2YVNjcmlwdENvcmUuCisKIDIwMTEtMDEtMDYgIE1h
cnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFhhbiBMb3Blei4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzUx
OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTEtMDEtMDYgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZGVidWcgY29kZSB0byBjb21wYXJlIHRoZSByZXN1bHRzIG9mIEpJVCByZWdleHAgd2l0
aCAKKyAgICAgICAgaW50ZXJwcmV0ZWQgcmVnZXhwIGFuZCBkaXNwbGF5cyBkaXNjcmVwZW5jaWVz
LiAgVGhpcyBkZWJ1ZyBjb2RlIGlzCisgICAgICAgIGNvbnRyb2xsZWQgYnkgdGhlIEVOQUJMRV9Z
QVJSX0pJVF9ERUJVRyBtYWNybyBpbiB3dGYvUGxhdGZvcm0uaCBhbmQKKyAgICAgICAgaXMgb25s
eSB2YWxpZCBpZiBFTkFCTEVfWUFSUl9KSVQgaXMgZW5hYmxlZC4KKworICAgICAgICBGaXhlZCBh
IGRpc2NvdmVyZWQgcHJvYmxlbSBpbiBSZWdFeHA6OnByaW50VHJhY2VEYXRhLCBjaGFuZ2luZwor
ICAgICAgICBtX3BhdHRlcm4gdG8gdGhlIGdldHRlciBwYXR0ZXJuKCkuCisgICAgICAgIEFsc28g
ZGVsZXRlZCBhbiBleHRyYW5lb3VzIHNlbWljb2xvbi4KKworICAgICAgICBFbmhhbmNlbWVudDog
QWRkIFJlZ2V4cCBEZWJ1ZyBDb21wYXJlIGJldHdlZW4gSklUIGFuZCBJbnRlcnByZXRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE4MzQKKworICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwOjpjb21waWxl
KToKKyAgICAgICAgKEpTQzo6UmVnRXhwOjptYXRjaCk6CisgICAgICAgIChKU0M6OlJlZ0V4cDo6
cHJpbnRUcmFjZURhdGEpOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDExLTAxLTA2
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHAuY3BwCShyZXZpc2lvbiA3NTE5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4LDIzICs4OCwzMyBAQCBSZWdFeHA6
OlJlZ0V4cFN0YXRlIFJlZ0V4cDo6Y29tcGlsZShKU0dsCiAKICAgICBtX251bVN1YnBhdHRlcm5z
ID0gcGF0dGVybi5tX251bVN1YnBhdHRlcm5zOwogCisgICAgUmVnRXhwU3RhdGUgcmVzID0gQnl0
ZUNvZGU7CisKICNpZiBFTkFCTEUoWUFSUl9KSVQpCiAgICAgaWYgKCFwYXR0ZXJuLm1fY29udGFp
bnNCYWNrcmVmZXJlbmNlcyAmJiBnbG9iYWxEYXRhLT5jYW5Vc2VKSVQoKSkgewogICAgICAgICBZ
YXJyOjpqaXRDb21waWxlUmVnZXgocGF0dGVybiwgZ2xvYmFsRGF0YSwgbV9yZXByZXNlbnRhdGlv
bi0+bV9yZWdFeHBKSVRDb2RlKTsKKyNpZiBFTkFCTEUoWUFSUl9KSVRfREVCVUcpCisgICAgICAg
IGlmICghbV9yZXByZXNlbnRhdGlvbi0+bV9yZWdFeHBKSVRDb2RlLmlzRmFsbEJhY2soKSkKKyAg
ICAgICAgICAgIHJlcyA9IEpJVENvZGU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlcyA9
IEJ5dGVDb2RlOworI2Vsc2UKICAgICAgICAgaWYgKCFtX3JlcHJlc2VudGF0aW9uLT5tX3JlZ0V4
cEpJVENvZGUuaXNGYWxsQmFjaygpKQogICAgICAgICAgICAgcmV0dXJuIEpJVENvZGU7CisjZW5k
aWYKICAgICB9CiAjZW5kaWYKIAogICAgIG1fcmVwcmVzZW50YXRpb24tPm1fcmVnRXhwQnl0ZWNv
ZGUgPSBZYXJyOjpieXRlQ29tcGlsZVJlZ2V4KHBhdHRlcm4sICZnbG9iYWxEYXRhLT5tX3JlZ2V4
QWxsb2NhdG9yKTsKLSAgICByZXR1cm4gQnl0ZUNvZGU7CisKKyAgICByZXR1cm4gcmVzOwogfQog
CiBpbnQgUmVnRXhwOjptYXRjaChjb25zdCBVU3RyaW5nJiBzLCBpbnQgc3RhcnRPZmZzZXQsIFZl
Y3RvcjxpbnQsIDMyPiogb3ZlY3RvcikKIHsKICAgICBpZiAoc3RhcnRPZmZzZXQgPCAwKQogICAg
ICAgICBzdGFydE9mZnNldCA9IDA7Ci0gICAgCisKICNpZiBFTkFCTEUoUkVHRVhQX1RSQUNJTkcp
CiAgICAgbV9ydE1hdGNoQ2FsbENvdW50Kys7CiAjZW5kaWYKQEAgLTEzMywxNCArMTQzLDE2IEBA
IGludCBSZWdFeHA6Om1hdGNoKGNvbnN0IFVTdHJpbmcmIHMsIGludCAKIAogICAgICAgICBpbnQg
cmVzdWx0OwogI2lmIEVOQUJMRShZQVJSX0pJVCkKLSAgICAgICAgaWYgKG1fc3RhdGUgPT0gSklU
Q29kZSkKKyAgICAgICAgaWYgKG1fc3RhdGUgPT0gSklUQ29kZSkgewogICAgICAgICAgICAgcmVz
dWx0ID0gWWFycjo6ZXhlY3V0ZVJlZ2V4KG1fcmVwcmVzZW50YXRpb24tPm1fcmVnRXhwSklUQ29k
ZSwgcy5jaGFyYWN0ZXJzKCksIHN0YXJ0T2Zmc2V0LCBzLmxlbmd0aCgpLCBvZmZzZXRWZWN0b3Ip
OwotICAgICAgICBlbHNlCisjaWYgRU5BQkxFKFlBUlJfSklUX0RFQlVHKQorICAgICAgICAgICAg
bWF0Y2hDb21wYXJlV2l0aEludGVycHJldGVyKHMsIHN0YXJ0T2Zmc2V0LCBvZmZzZXRWZWN0b3Is
IHJlc3VsdCk7CisjZW5kaWYKKyAgICAgICAgfSBlbHNlCiAjZW5kaWYKICAgICAgICAgICAgIHJl
c3VsdCA9IFlhcnI6OmludGVycHJldFJlZ2V4KG1fcmVwcmVzZW50YXRpb24tPm1fcmVnRXhwQnl0
ZWNvZGUuZ2V0KCksIHMuY2hhcmFjdGVycygpLCBzdGFydE9mZnNldCwgcy5sZW5ndGgoKSwgb2Zm
c2V0VmVjdG9yKTsKKyAgICAgICAgQVNTRVJUKHJlc3VsdCA+PSAtMSk7CiAKLSAgICAgICAgQVNT
RVJUKHJlc3VsdCA+PSAtMSk7OwotICAgICAgICAKICNpZiBFTkFCTEUoUkVHRVhQX1RSQUNJTkcp
CiAgICAgICAgIGlmIChyZXN1bHQgIT0gLTEpCiAgICAgICAgICAgICBtX3J0TWF0Y2hGb3VuZENv
dW50Kys7CkBAIC0xNTIsMTcgKzE2NCw2OSBAQCBpbnQgUmVnRXhwOjptYXRjaChjb25zdCBVU3Ry
aW5nJiBzLCBpbnQgCiAgICAgcmV0dXJuIC0xOwogfQogCisKKyNpZiBFTkFCTEUoWUFSUl9KSVRf
REVCVUcpCit2b2lkIFJlZ0V4cDo6bWF0Y2hDb21wYXJlV2l0aEludGVycHJldGVyKGNvbnN0IFVT
dHJpbmcmIHMsIGludCBzdGFydE9mZnNldCwgaW50KiBvZmZzZXRWZWN0b3IsIGludCBqaXRSZXN1
bHQpCit7CisgICAgaW50IG9mZnNldFZlY3RvclNpemUgPSAobV9udW1TdWJwYXR0ZXJucyArIDEp
ICogMjsKKyAgICBWZWN0b3I8aW50LCAzMj4gaW50ZXJwcmV0ZXJPdmVjdG9yOworICAgIGludGVy
cHJldGVyT3ZlY3Rvci5yZXNpemUob2Zmc2V0VmVjdG9yU2l6ZSk7CisgICAgaW50KiBpbnRlcnBy
ZXRlck9mZnNldFZlY3RvciA9IGludGVycHJldGVyT3ZlY3Rvci5kYXRhKCk7CisgICAgaW50IGlu
dGVycHJldGVyUmVzdWx0ID0gMDsKKyAgICBpbnQgZGlmZmVyZW5jZXMgPSAwOworCisgICAgLy8g
SW5pdGlhbGl6ZSBpbnRlcnByZXRlck9mZnNldFZlY3RvciB3aXRoIHRoZSByZXR1cm4gdmFsdWUg
KGluZGV4IDApIGFuZCB0aGUgCisgICAgLy8gZmlyc3Qgc3VicGF0dGVybiBzdGFydCBpbmRpY2ll
cyAoZXZlbiBpbmRleCB2YWx1ZXMpIHNldCB0byAtMS4KKyAgICAvLyBObyBuZWVkIHRvIGluaXQg
dGhlIHN1YnBhdHRlcm4gZW5kIGluZGljaWVzLgorICAgIGZvciAodW5zaWduZWQgaiA9IDAsIGkg
PSAwOyBpIDwgbV9udW1TdWJwYXR0ZXJucyArIDE7IGogKz0gMiwgaSsrKQorICAgICAgICBpbnRl
cnByZXRlck9mZnNldFZlY3RvcltqXSA9IC0xOworCisgICAgaW50ZXJwcmV0ZXJSZXN1bHQgPSBZ
YXJyOjppbnRlcnByZXRSZWdleChtX3JlcHJlc2VudGF0aW9uLT5tX3JlZ0V4cEJ5dGVjb2RlLmdl
dCgpLCBzLmNoYXJhY3RlcnMoKSwgc3RhcnRPZmZzZXQsIHMubGVuZ3RoKCksIGludGVycHJldGVy
T2Zmc2V0VmVjdG9yKTsKKworICAgIGlmIChqaXRSZXN1bHQgIT0gaW50ZXJwcmV0ZXJSZXN1bHQp
CisgICAgICAgIGRpZmZlcmVuY2VzKys7CisKKyAgICBmb3IgKHVuc2lnbmVkIGogPSAyLCBpID0g
MDsgaSA8IG1fbnVtU3VicGF0dGVybnM7IGogKz0yLCBpKyspCisgICAgICAgIGlmICgob2Zmc2V0
VmVjdG9yW2pdICE9IGludGVycHJldGVyT2Zmc2V0VmVjdG9yW2pdKQorICAgICAgICAgICAgfHwg
KChvZmZzZXRWZWN0b3Jbal0gPj0gMCkgJiYgKG9mZnNldFZlY3RvcltqKzFdICE9IGludGVycHJl
dGVyT2Zmc2V0VmVjdG9yW2orMV0pKSkKKyAgICAgICAgICAgIGRpZmZlcmVuY2VzKys7CisKKyAg
ICBpZiAoZGlmZmVyZW5jZXMpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJSZWdFeHAgRGlz
Y3JlcGVuY3kgZm9yIC8lcy9cbiAgICBzdHJpbmcgaW5wdXQgIiwgcGF0dGVybigpLnV0ZjgoKS5k
YXRhKCkpOworICAgICAgICB1bnNpZ25lZCBzZWdtZW50TGVuID0gcy5sZW5ndGgoKSAtIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihzdGFydE9mZnNldCk7CisKKyAgICAgICAgZnByaW50ZihzdGRlcnIs
IChzZWdtZW50TGVuIDwgMTUwKSA/ICJcIiVzXCJcbiIgOiAiXCIlMTQ4cy4uLlwiXG4iLCBzLnV0
ZjgoKS5kYXRhKCkgKyBzdGFydE9mZnNldCk7CisKKyAgICAgICAgaWYgKGppdFJlc3VsdCAhPSBp
bnRlcnByZXRlclJlc3VsdCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgICAgSklU
IHJlc3VsdCA9ICVkLCBibGFoIGludGVycHJldGVkIHJlc3VsdCA9ICVkXG4iLCBqaXRSZXN1bHQs
IGludGVycHJldGVyUmVzdWx0KTsKKyAgICAgICAgICAgIGRpZmZlcmVuY2VzLS07CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgICBDb3JyZWN0IHJlc3Vs
dCA9ICVkXG4iLCBqaXRSZXN1bHQpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGRpZmZlcmVu
Y2VzKSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAyLCBpID0gMDsgaSA8IG1fbnVt
U3VicGF0dGVybnM7IGogKz0yLCBpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAob2Zmc2V0VmVj
dG9yW2pdICE9IGludGVycHJldGVyT2Zmc2V0VmVjdG9yW2pdKQorICAgICAgICAgICAgICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIiAgICBKSVQgb2Zmc2V0WyVkXSA9ICVkLCBpbnRlcnByZXRlZCBv
ZmZzZXRbJWRdID0gJWRcbiIsIGosIG9mZnNldFZlY3RvcltqXSwgaiwgaW50ZXJwcmV0ZXJPZmZz
ZXRWZWN0b3Jbal0pOworICAgICAgICAgICAgICAgIGlmICgob2Zmc2V0VmVjdG9yW2pdID49IDAp
ICYmIChvZmZzZXRWZWN0b3JbaisxXSAhPSBpbnRlcnByZXRlck9mZnNldFZlY3RvcltqKzFdKSkK
KyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgICAgSklUIG9mZnNldFslZF0g
PSAlZCwgaW50ZXJwcmV0ZWQgb2Zmc2V0WyVkXSA9ICVkXG4iLCBqKzEsIG9mZnNldFZlY3Rvcltq
KzFdLCBqKzEsIGludGVycHJldGVyT2Zmc2V0VmVjdG9yW2orMV0pOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorfQorI2VuZGlmCisKICNpZiBFTkFCTEUoUkVHRVhQX1RSQUNJTkcp
CiAgICAgdm9pZCBSZWdFeHA6OnByaW50VHJhY2VEYXRhKCkKICAgICB7CiAgICAgICAgIGNoYXIg
Zm9ybWF0dGVkUGF0dGVybls0MV07CiAgICAgICAgIGNoYXIgcmF3UGF0dGVybls0MV07Ci0gICAg
ICAgIAotICAgICAgICBzdHJuY3B5KHJhd1BhdHRlcm4sIG1fcGF0dGVybi51dGY4KCkuZGF0YSgp
LCA0MCk7CisKKyAgICAgICAgc3RybmNweShyYXdQYXR0ZXJuLCBwYXR0ZXJuKCkudXRmOCgpLmRh
dGEoKSwgNDApOwogICAgICAgICByYXdQYXR0ZXJuWzQwXT0gJ1wwJzsKLSAgICAgICAgCisKICAg
ICAgICAgaW50IHBhdHRMZW4gPSBzdHJsZW4ocmF3UGF0dGVybik7Ci0gICAgICAgIAorCiAgICAg
ICAgIHNucHJpbnRmKGZvcm1hdHRlZFBhdHRlcm4sIDQxLCAocGF0dExlbiA8PSAzOCkgPyAiLyUu
MzhzLyIgOiAiLyUuMzZzLi4uIiwgcmF3UGF0dGVybik7CiAKICNpZiBFTkFCTEUoWUFSUl9KSVQp
CkBAIC0xNzYsNyArMjQwLDcgQEAgaW50IFJlZ0V4cDo6bWF0Y2goY29uc3QgVVN0cmluZyYgcywg
aW50IAogI2Vsc2UKICAgICAgICAgY29uc3QgY2hhciogaml0QWRkciA9ICJKSVQgT2ZmIjsKICNl
bmRpZgotICAgICAgICAKKwogICAgICAgICBwcmludGYoIiUtNDAuNDBzICUxNi4xNnMgJTEwZCAl
MTBkXG4iLCBmb3JtYXR0ZWRQYXR0ZXJuLCBqaXRBZGRyLCBtX3J0TWF0Y2hDYWxsQ291bnQsIG1f
cnRNYXRjaEZvdW5kQ291bnQpOwogICAgIH0KICNlbmRpZgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwLmgJKHJldmlzaW9uIDc1MTk3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ0V4cFN0YXRlIGNvbXBpbGUoSlNHbG9iYWxE
YXRhKik7CiAKKyNpZiBFTkFCTEUoWUFSUl9KSVRfREVCVUcpCisgICAgICAgIHZvaWQgbWF0Y2hD
b21wYXJlV2l0aEludGVycHJldGVyKGNvbnN0IFVTdHJpbmcmLCBpbnQgc3RhcnRPZmZzZXQsIGlu
dCogb2Zmc2V0VmVjdG9yLCBpbnQgaml0UmVzdWx0KTsKKyNlbmRpZgorCiAgICAgICAgIGVudW0g
RmxhZ0JpdHMgeyBHbG9iYWwgPSAxLCBJZ25vcmVDYXNlID0gMiwgTXVsdGlsaW5lID0gNCB9Owog
ICAgICAgICBVU3RyaW5nIG1fcGF0dGVyblN0cmluZzsKICAgICAgICAgaW50IG1fZmxhZ0JpdHM7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiA3NTE5NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpA
QCAtMTAyMSw2ICsxMDIxLDkgQEAKIC8qIFlldCBBbm90aGVyIFJlZ2V4IFJ1bnRpbWUgLSB0dXJu
ZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICovCiAjaWYgRU5BQkxFKEpJ
VCkgJiYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKQogI2RlZmluZSBFTkFCTEVfWUFSUl9KSVQg
MQorCisvKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVy
cHJldGVyIHJlc3VsdHMuICovCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9ERUJVRyAwCiAjZW5k
aWYKIAogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkK
</data>
<flag name="review"
          id="69441"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>