<?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>106270</bug_id>
          
          <creation_ts>2013-01-07 15:46:10 -0800</creation_ts>
          <short_desc>Rationalize closure call heuristics and profiling</short_desc>
          <delta_ts>2013-01-07 17:25:18 -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>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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801750</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-07 15:46:10 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801757</commentid>
    <comment_count>1</comment_count>
      <attachid>181585</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-07 15:52:59 -0800</bug_when>
    <thetext>Created attachment 181585
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801879</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-07 17:25:18 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/139021</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181585</attachid>
            <date>2013-01-07 15:52:59 -0800</date>
            <delta_ts>2013-01-07 15:54:47 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>betterclosures.patch</filename>
            <type>text/plain</type>
            <size>14993</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM5MDAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBA
CisyMDEzLTAxLTA3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmF0aW9uYWxpemUgY2xvc3VyZSBjYWxsIGhldXJpc3RpY3MgYW5kIHByb2ZpbGluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjcwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBEaWQgYSBu
dW1iZXIgb2YgdGhpbmdzOgorICAgICAgICAKKyAgICAgICAgLSBDYWxsTGlua0luZm8gbm93IHJl
bWVtYmVycyBpZiBpdCB3YXMgZXZlciBhIGNsb3N1cmUgY2FsbCwgYW5kIENhbGxMaW5rU3RhdHVz
IHVzZXMKKyAgICAgICAgICB0aGlzLiBSZWR1Y2VzIHRoZSBsaWtlbGlob29kIHRoYXQgd2Ugd2ls
bCBpbmxpbmUgYSBjbG9zdXJlIGNhbGwgYXMgaWYgaXQgd2FzIGEKKyAgICAgICAgICBub3JtYWwg
Y2FsbC4KKyAgICAgICAgCisgICAgICAgIC0gTWFkZSBJbmxpbmVDYWxsRnJhbWUgcHJpbnQgaW5m
ZXJyZWQgZnVuY3Rpb24gbmFtZXMsIGFuZCByZWZhY3RvcmVkCisgICAgICAgICAgQ29kZUJsb2Nr
OjppbmZlcnJlZE5hbWUoKSB0byBiZXR0ZXIgdXNlIEZ1bmN0aW9uRXhlY3V0YWJsZSdzIEFQSS4K
KyAgICAgICAgCisgICAgICAgIC0gTWFkZSBieXRlY29kZSBkdW1waW5nIHByaW50IGZyZXF1ZW50
IGV4aXQgc2l0ZXMgdGhhdCBsZWQgdG8gcmVjb21waWxhdGlvbi4KKyAgICAgICAgCisgICAgICAg
IC0gTWFkZSBieXRlY29kZSBkdW1waW5nIGZvciBvcF9jYWxsIGFuZCBvcF9jb25zdHJ1Y3QgcHJp
bnQgd2hhdCB0aGUgQ2FsbExpbmtTdGF0dXMKKyAgICAgICAgICBzYXcuCisgICAgICAgIAorICAg
ICAgICAqIGJ5dGVjb2RlL0NhbGxMaW5rSW5mby5oOgorICAgICAgICAoSlNDOjpDYWxsTGlua0lu
Zm86OkNhbGxMaW5rSW5mbyk6CisgICAgICAgIChDYWxsTGlua0luZm8pOgorICAgICAgICAqIGJ5
dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6
OmNvbXB1dGVGb3IpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6aW5mZXJyZWROYW1lKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpkdW1wQnl0ZWNvZGVDb21tZW50QW5kTmV3TGluZSk6CisgICAgICAgIChKU0M6OkNvZGVCbG9j
azo6cHJpbnRDYWxsT3ApOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVPcmlnaW4uY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlT3JpZ2luOjpkdW1wKToKKyAgICAgICAgKEpTQzo6SW5saW5lQ2FsbEZy
YW1lOjppbmZlcnJlZE5hbWUpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SW5saW5l
Q2FsbEZyYW1lOjpkdW1wQnJpZWZGdW5jdGlvbkluZm9ybWF0aW9uKToKKyAgICAgICAgKEpTQzo6
SW5saW5lQ2FsbEZyYW1lOjpkdW1wKToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlT3JpZ2luLmg6
CisgICAgICAgIChJbmxpbmVDYWxsRnJhbWUpOgorICAgICAgICAqIGJ5dGVjb2RlL0RGR0V4aXRQ
cm9maWxlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpFeGl0UHJvZmlsZTo6ZXhpdFNpdGVzRm9y
KToKKyAgICAgICAgKERGRyk6CisgICAgICAgICogYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaDoK
KyAgICAgICAgKEV4aXRQcm9maWxlKToKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAg
ICAgICAoSlNDOjpERUZJTkVfU1RVQl9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9FeGVj
dXRhYmxlLmg6CisgICAgICAgIChGdW5jdGlvbkV4ZWN1dGFibGUpOgorCiAyMDEzLTAxLTA3ICBC
YWxhenMgS2lsdmFkeSAgPGtpbHZhZHliQGhvbWVqaW5uaS5jb20+CiAKICAgICAgICAgTUlQUyBM
TEludCBpbXBsZW1lbnRhdGlvbi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9DYWxsTGlua0luZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ2FsbExpbmtJbmZvLmgJKHJldmlzaW9uIDEzODkyNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiAr
NTcsNyBAQCBzdHJ1Y3QgQ2FsbExpbmtJbmZvIDogcHVibGljIEJhc2ljUmF3U2VuCiAgICAgQ2Fs
bExpbmtJbmZvKCkKICAgICAgICAgOiBoYXNTZWVuU2hvdWxkUmVwYXRjaChmYWxzZSkKICAgICAg
ICAgLCBpc0RGRyhmYWxzZSkKKyAgICAgICAgLCBoYXNTZWVuQ2xvc3VyZShmYWxzZSkKICAgICAg
ICAgLCBjYWxsVHlwZShOb25lKQogICAgIHsKICAgICB9CkBAIC04MCw3ICs4MSw4IEBAIHN0cnVj
dCBDYWxsTGlua0luZm8gOiBwdWJsaWMgQmFzaWNSYXdTZW4KICAgICBSZWZQdHI8Q2xvc3VyZUNh
bGxTdHViUm91dGluZT4gc3R1YjsKICAgICBib29sIGhhc1NlZW5TaG91bGRSZXBhdGNoIDogMTsK
ICAgICBib29sIGlzREZHIDogMTsKLSAgICBDYWxsVHlwZSBjYWxsVHlwZSA6IDY7CisgICAgYm9v
bCBoYXNTZWVuQ2xvc3VyZSA6IDE7CisgICAgQ2FsbFR5cGUgY2FsbFR5cGUgOiA1OwogICAgIHVu
c2lnbmVkIGNhbGxlZUdQUiA6IDg7CiAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luOwogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5j
cHAJKHJldmlzaW9uIDEzODkyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
YWxsTGlua1N0YXR1cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsOSBAQCBDYWxs
TGlua1N0YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvCiAgICAgSlNGdW5jdGlvbiogdGFy
Z2V0ID0gY2FsbExpbmtJbmZvLmxhc3RTZWVuQ2FsbGVlLmdldCgpOwogICAgIGlmICghdGFyZ2V0
KQogICAgICAgICByZXR1cm4gY29tcHV0ZUZyb21MTEludChwcm9maWxlZEJsb2NrLCBieXRlY29k
ZUluZGV4KTsKKyAgICAKKyAgICBpZiAoY2FsbExpbmtJbmZvLmhhc1NlZW5DbG9zdXJlKQorICAg
ICAgICByZXR1cm4gQ2FsbExpbmtTdGF0dXModGFyZ2V0LT5leGVjdXRhYmxlKCksIHRhcmdldC0+
c3RydWN0dXJlKCkpOwogCiAgICAgcmV0dXJuIENhbGxMaW5rU3RhdHVzKHRhcmdldCk7CiAjZWxz
ZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJ
KHJldmlzaW9uIDEzODkyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ29k
ZUJsb2NrLmgiCiAKICNpbmNsdWRlICJCeXRlY29kZUdlbmVyYXRvci5oIgorI2luY2x1ZGUgIkNh
bGxMaW5rU3RhdHVzLmgiCiAjaW5jbHVkZSAiREZHQ2FwYWJpbGl0aWVzLmgiCiAjaW5jbHVkZSAi
REZHQ29tbW9uLmgiCiAjaW5jbHVkZSAiREZHTm9kZS5oIgpAQCAtNDgsNiArNDksNyBAQAogI2lu
Y2x1ZGUgIlJlcGF0Y2hCdWZmZXIuaCIKICNpbmNsdWRlICJTbG90VmlzaXRvcklubGluZXMuaCIK
ICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNs
dWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFt
Lmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CkBAIC03Miw3ICs3NCw3IEBAIFN0cmlu
ZyBDb2RlQmxvY2s6OmluZmVycmVkTmFtZSgpIGNvbnN0CiAgICAgY2FzZSBFdmFsQ29kZToKICAg
ICAgICAgcmV0dXJuICI8ZXZhbD4iOwogICAgIGNhc2UgRnVuY3Rpb25Db2RlOgotICAgICAgICBy
ZXR1cm4ganNDYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KG93bmVyRXhlY3V0YWJsZSgpKS0+dW5s
aW5rZWRFeGVjdXRhYmxlKCktPmluZmVycmVkTmFtZSgpLnN0cmluZygpOworICAgICAgICByZXR1
cm4ganNDYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KG93bmVyRXhlY3V0YWJsZSgpKS0+aW5mZXJy
ZWROYW1lKCkuc3RyaW5nKCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQ1JBU0goKTsKICAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwpAQCAtMTU1LDYgKzE1NywxNSBAQCBzdGF0aWMgQ1N0cmluZyBp
ZE5hbWUoaW50IGlkMCwgY29uc3QgSWRlCiAKIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGVD
b21tZW50QW5kTmV3TGluZShQcmludFN0cmVhbSYgb3V0LCBpbnQgbG9jYXRpb24pCiB7CisjaWYg
RU5BQkxFKERGR19KSVQpCisgICAgVmVjdG9yPEZyZXF1ZW50RXhpdFNpdGU+IGV4aXRTaXRlcyA9
IGV4aXRQcm9maWxlKCkuZXhpdFNpdGVzRm9yKGxvY2F0aW9uKTsKKyAgICBpZiAoIWV4aXRTaXRl
cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgb3V0LnByaW50KCIgISEgZnJlcXVlbnQgZXhpdHM6ICIp
OworICAgICAgICBDb21tYVByaW50ZXIgY29tbWE7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBleGl0U2l0ZXMuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBvdXQucHJpbnQoY29t
bWEsIGV4aXRTaXRlc1tpXS5raW5kKCkpOworICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJ
VCkKICNpZiBFTkFCTEUoQllURUNPREVfQ09NTUVOVFMpCiAgICAgY29uc3QgY2hhciogY29tbWVu
dCA9IGNvbW1lbnRGb3JCeXRlY29kZU9mZnNldChsb2NhdGlvbik7CiAgICAgaWYgKGNvbW1lbnQp
CkBAIC00NzMsNiArNDg0LDcgQEAgdm9pZCBDb2RlQmxvY2s6OnByaW50Q2FsbE9wKFByaW50U3Ry
ZWFtJgogICAgICAgICAgICAgICAgIG91dC5wcmludGYoIiBqaXQoJXAsIGV4ZWMgJXApIiwgdGFy
Z2V0LCB0YXJnZXQtPmV4ZWN1dGFibGUoKSk7CiAgICAgICAgIH0KICNlbmRpZgorICAgICAgICBv
dXQucHJpbnQoIiBzdGF0dXMoIiwgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGb3IodGhpcywgbG9j
YXRpb24pLCAiKSIpOwogICAgIH0KICAgICBpdCArPSAyOwogfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmNwcAkocmV2aXNpb24gMTM4OTI0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02Miw4ICs2MiwxMSBAQCB2b2lkIENvZGVPcmlnaW46OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgCiAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgb3V0LnByaW50KCIgLS0+ICIp
OwogICAgICAgICAKLSAgICAgICAgaWYgKElubGluZUNhbGxGcmFtZSogZnJhbWUgPSBzdGFja1tp
XS5pbmxpbmVDYWxsRnJhbWUpCi0gICAgICAgICAgICBvdXQucHJpbnQoIiMiLCBmcmFtZS0+aGFz
aCgpLCAiOjwiLCBSYXdQb2ludGVyKGZyYW1lLT5leGVjdXRhYmxlLmdldCgpKSwgIj4gIik7Cisg
ICAgICAgIGlmIChJbmxpbmVDYWxsRnJhbWUqIGZyYW1lID0gc3RhY2tbaV0uaW5saW5lQ2FsbEZy
YW1lKSB7CisgICAgICAgICAgICBvdXQucHJpbnQoZnJhbWUtPmJyaWVmRnVuY3Rpb25JbmZvcm1h
dGlvbigpLCAiOjwiLCBSYXdQb2ludGVyKGZyYW1lLT5leGVjdXRhYmxlLmdldCgpKSwgIj4gIik7
CisgICAgICAgICAgICBpZiAoZnJhbWUtPmlzQ2xvc3VyZUNhbGwoKSkKKyAgICAgICAgICAgICAg
ICBvdXQucHJpbnQoIihjbG9zdXJlKSAiKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAg
b3V0LnByaW50KCJiYyMiLCBzdGFja1tpXS5ieXRlY29kZUluZGV4KTsKICAgICB9CkBAIC03NCwx
OCArNzcsMjkgQEAgQ29kZUJsb2NrSGFzaCBJbmxpbmVDYWxsRnJhbWU6Omhhc2goKSBjbwogICAg
IHJldHVybiBleGVjdXRhYmxlLT5oYXNoRm9yKHNwZWNpYWxpemF0aW9uS2luZCgpKTsKIH0KIAor
U3RyaW5nIElubGluZUNhbGxGcmFtZTo6aW5mZXJyZWROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1
cm4ganNDYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGV4ZWN1dGFibGUuZ2V0KCkpLT5pbmZlcnJl
ZE5hbWUoKS5zdHJpbmcoKTsKK30KKwogQ29kZUJsb2NrKiBJbmxpbmVDYWxsRnJhbWU6OmJhc2Vs
aW5lQ29kZUJsb2NrKCkgY29uc3QKIHsKICAgICByZXR1cm4ganNDYXN0PEZ1bmN0aW9uRXhlY3V0
YWJsZSo+KGV4ZWN1dGFibGUuZ2V0KCkpLT5iYXNlbGluZUNvZGVCbG9ja0ZvcihzcGVjaWFsaXph
dGlvbktpbmQoKSk7CiB9CiAKK3ZvaWQgSW5saW5lQ2FsbEZyYW1lOjpkdW1wQnJpZWZGdW5jdGlv
bkluZm9ybWF0aW9uKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50KGlu
ZmVycmVkTmFtZSgpLCAiIyIsIGhhc2goKSk7Cit9CisKIHZvaWQgSW5saW5lQ2FsbEZyYW1lOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KCIjIiwgaGFzaCgp
LCAiOjwiLCBSYXdQb2ludGVyKGV4ZWN1dGFibGUuZ2V0KCkpLCAiLCBiYyMiLCBjYWxsZXIuYnl0
ZWNvZGVJbmRleCwgIiwgIiwgc3BlY2lhbGl6YXRpb25LaW5kKCkpOworICAgIG91dC5wcmludChi
cmllZkZ1bmN0aW9uSW5mb3JtYXRpb24oKSwgIjo8IiwgUmF3UG9pbnRlcihleGVjdXRhYmxlLmdl
dCgpKSwgIiwgYmMjIiwgY2FsbGVyLmJ5dGVjb2RlSW5kZXgsICIsICIsIHNwZWNpYWxpemF0aW9u
S2luZCgpKTsKICAgICBpZiAoY2FsbGVlKQogICAgICAgICBvdXQucHJpbnQoIiwga25vd24gY2Fs
bGVlOiAiLCBKU1ZhbHVlKGNhbGxlZS5nZXQoKSkpOwogICAgIGVsc2UKICAgICAgICAgb3V0LnBy
aW50KCIsIGNsb3N1cmUgY2FsbCIpOworICAgIG91dC5wcmludCgiLCBudW1BcmdzK3RoaXMgPSAi
LCBhcmd1bWVudHMuc2l6ZSgpKTsKICAgICBvdXQucHJpbnQoIiwgc3RhY2sgPj0gciIsIHN0YWNr
T2Zmc2V0KTsKICAgICBvdXQucHJpbnQoIj4iKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAkocmV2aXNpb24gMTM4OTI0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAkod29ya2luZyBjb3B5KQpAQCAt
MTEwLDExICsxMTAsMTUgQEAgc3RydWN0IElubGluZUNhbGxGcmFtZSB7CiAgICAgCiAgICAgYm9v
bCBpc0Nsb3N1cmVDYWxsKCkgY29uc3QgeyByZXR1cm4gIWNhbGxlZTsgfQogICAgIAorICAgIFN0
cmluZyBpbmZlcnJlZE5hbWUoKSBjb25zdDsKICAgICBDb2RlQmxvY2tIYXNoIGhhc2goKSBjb25z
dDsKICAgICAKICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrKCkgY29uc3Q7CiAgICAg
CisgICAgdm9pZCBkdW1wQnJpZWZGdW5jdGlvbkluZm9ybWF0aW9uKFByaW50U3RyZWFtJikgY29u
c3Q7CiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CisKKyAgICBNQUtFX1BSSU5U
X01FVEhPRChJbmxpbmVDYWxsRnJhbWUsIGR1bXBCcmllZkZ1bmN0aW9uSW5mb3JtYXRpb24sIGJy
aWVmRnVuY3Rpb25JbmZvcm1hdGlvbik7CiB9OwogCiBzdHJ1Y3QgQ29kZU9yaWdpbkF0Q2FsbFJl
dHVybk9mZnNldCB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvREZHRXhp
dFByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9ERkdFeGl0UHJvZmlsZS5jcHAJKHJldmlzaW9uIDEzODkyNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDYgKzU1LDIxIEBAIGJvb2wgRXhpdFByb2ZpbGU6OmFkZChjb25zdCBGcmVxdWVudEV4aXQKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAorVmVjdG9yPEZyZXF1ZW50RXhpdFNpdGU+IEV4aXRQcm9maWxl
OjpleGl0U2l0ZXNGb3IodW5zaWduZWQgYnl0ZWNvZGVJbmRleCkKK3sKKyAgICBWZWN0b3I8RnJl
cXVlbnRFeGl0U2l0ZT4gcmVzdWx0OworICAgIAorICAgIGlmICghbV9mcmVxdWVudEV4aXRTaXRl
cykKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbV9mcmVxdWVudEV4aXRTaXRlcy0+c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKG1f
ZnJlcXVlbnRFeGl0U2l0ZXMtPmF0KGkpLmJ5dGVjb2RlT2Zmc2V0KCkgPT0gYnl0ZWNvZGVJbmRl
eCkKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQobV9mcmVxdWVudEV4aXRTaXRlcy0+YXQoaSkp
OworICAgIH0KKyAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBRdWVyeWFibGVFeGl0UHJv
ZmlsZTo6UXVlcnlhYmxlRXhpdFByb2ZpbGUoY29uc3QgRXhpdFByb2ZpbGUmIHByb2ZpbGUpCiB7
CiAgICAgaWYgKCFwcm9maWxlLm1fZnJlcXVlbnRFeGl0U2l0ZXMpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaAkocmV2aXNpb24gMTM4
OTI0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOSw2ICsxMjksMTAgQEAgcHVibGljOgogICAgIC8vIGFueXdh
eS4KICAgICBib29sIGFkZChjb25zdCBGcmVxdWVudEV4aXRTaXRlJik7CiAgICAgCisgICAgLy8g
R2V0IHRoZSBmcmVxdWVudCBleGl0IHNpdGVzIGZvciBhIGJ5dGVjb2RlIGluZGV4LiBUaGlzIGlz
IE8obiksIGFuZCBpcworICAgIC8vIG1lYW50IHRvIG9ubHkgYmUgdXNlZCBmcm9tIGRlYnVnZ2lu
Zy9wcm9maWxpbmcgY29kZS4KKyAgICBWZWN0b3I8RnJlcXVlbnRFeGl0U2l0ZT4gZXhpdFNpdGVz
Rm9yKHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgpOworICAgIAogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgUXVlcnlhYmxlRXhpdFByb2ZpbGU7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzLmNwcAkocmV2aXNpb24gMTM4OTI0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNjUsNiArMjE2NSw3
IEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKHZvaWQqLCB2bV9sYXp5TGlua0MKICAgICBpZiAoc2hv
dWxkTGluaykgewogICAgICAgICBBU1NFUlQoY29kZVB0cik7CiAgICAgICAgIEpJVDo6Y29tcGls
ZUNsb3N1cmVDYWxsKGdsb2JhbERhdGEsIGNhbGxMaW5rSW5mbywgY2FsbGVyQ29kZUJsb2NrLCBj
YWxsZWVDb2RlQmxvY2ssIHN0cnVjdHVyZSwgZXhlY3V0YWJsZSwgY29kZVB0cik7CisgICAgICAg
IGNhbGxMaW5rSW5mby0+aGFzU2VlbkNsb3N1cmUgPSB0cnVlOwogICAgIH0gZWxzZQogICAgICAg
ICBKSVQ6OmxpbmtTbG93Q2FsbChjYWxsZXJDb2RlQmxvY2ssIGNhbGxMaW5rSW5mbyk7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgJKHJldmlzaW9u
IDEzODkyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNTg1LDcgKzU4NSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB7CiAgICAgICAgICAgICByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUuZ2V0KCk7CiAgICAg
ICAgIH0KLQorICAgICAgICAKICAgICAgICAgLy8gUmV0dXJucyBlaXRoZXIgY2FsbCBvciBjb25z
dHJ1Y3QgYnl0ZWNvZGUuIFRoaXMgY2FuIGJlIGFwcHJvcHJpYXRlCiAgICAgICAgIC8vIGZvciBh
bnN3ZXJpbmcgcXVlc3Rpb25zIHRoYXQgdGhhdCBkb24ndCB2YXJ5IGJldHdlZW4gY2FsbCBhbmQg
Y29uc3RydWN0IC0tCiAgICAgICAgIC8vIGZvciBleGFtcGxlLCBhcmd1bWVudHNSZWdpc3Rlcigp
LgpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEzOTAwMykKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDEtMDcgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KKworICAgICAgICBSYXRpb25hbGl6ZSBjbG9zdXJlIGNhbGwgaGV1cmlz
dGljcyBhbmQgcHJvZmlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDYyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgCisgICAgICAgIEFkZCBhIG1hY3JvIHRvIGFkZCBhIG1ldGhvZCB0byBhIGNsYXNz
IHRoYXQgcmV0dXJucyBhIGR1bXBlci4gQWxsb3dzIHlvdSB0byBoYXZlCisgICAgICAgIHNlY29u
ZGFyeSBkdW1wKCkgbWV0aG9kcyBmb3IgZHVtcGluZyBlaXRoZXIgbW9yZSBvciBsZXNzIGluZm9y
bWF0aW9uLgorCisgICAgICAgICogd3RmL1ByaW50U3RyZWFtLmg6CisgICAgICAgIChXVEYpOgor
CiAyMDEzLTAxLTA3ICBCYWxhenMgS2lsdmFkeSAgPGtpbHZhZHliQGhvbWVqaW5uaS5jb20+CiAK
ICAgICAgICAgTUlQUyBMTEludCBpbXBsZW1lbnRhdGlvbi4KSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L1ByaW50U3RyZWFtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0u
aAkocmV2aXNpb24gMTM4OTI0KQorKysgU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAkod29y
a2luZyBjb3B5KQpAQCAtMjU4LDkgKzI1OCwxMyBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRT
dHJlYW0mIG91dCwgY29uCiAgICAgICAgICAgICBtX3ZhbHVlLm1ldGhvZChvdXQpOyAgICAgICAg
ICAgICAgICAgXAogICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBwcml2YXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIFR5cGUgbV92YWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICBjb25zdCBUeXBlJiBtX3ZhbHVlOyAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9CiAK
KyNkZWZpbmUgTUFLRV9QUklOVF9NRVRIT0QoVHlwZSwgZHVtcE1ldGhvZCwgbWV0aG9kKSBcCisg
ICAgTUFLRV9QUklOVF9NRVRIT0RfQURBUFRPUihEdW1wZXJGb3JfIyNtZXRob2QsIFR5cGUsIGR1
bXBNZXRob2QpOyAgICBcCisgICAgRHVtcGVyRm9yXyMjbWV0aG9kIG1ldGhvZCgpIGNvbnN0IHsg
cmV0dXJuIER1bXBlckZvcl8jI21ldGhvZCgqdGhpcyk7IH0KKwogLy8gVXNlIGFuIGFkYXB0b3It
YmFzZWQgZHVtcGVyIGZvciBjaGFyYWN0ZXJzIHRvIGF2b2lkIHNpdHVhdGlvbnMgd2hlcmUKIC8v
IHlvdSd2ZSAiY29tcHJlc3NlZCIgYW4gaW50ZWdlciB0byBhIGNoYXJhY3RlciBhbmQgaXQgZW5k
cyB1cCBwcmludGluZwogLy8gYXMgQVNDSUkgd2hlbiB5b3Ugd2FudGVkIGl0IHRvIHByaW50IGFz
IGEgbnVtYmVyLgpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0No
YW5nZUxvZwkocmV2aXNpb24gMTM5MDAzKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEtMDcgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFw
cGxlLmNvbT4KKworICAgICAgICBSYXRpb25hbGl6ZSBjbG9zdXJlIGNhbGwgaGV1cmlzdGljcyBh
bmQgcHJvZmlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDYyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgCisgICAgICAgIEFkZCBhYmlsaXR5IHRvIHVzZSBkaXNwbGF5LXByb2ZpbGVyLW91dHB1dCB2
aWEgYSBwaXBlLCBhbmQgYWRkIHRoZSBhYmlsaXR5IHRvIGR1bXAKKyAgICAgICAgYWxsIGdlbmVy
YXRlZCBjb2RlICgnZGlzcGxheSAqJyBvciAnZCAqJykuCisKKyAgICAgICAgKiBTY3JpcHRzL2Rp
c3BsYXktcHJvZmlsZXItb3V0cHV0OgorCiAyMDEzLTAxLTA3ICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY10gV2ViS2l0MSBjbGllbnRzIGNhbuKAmXQgdGVs
bCB3aGVuIGEgZnJhbWUgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBoaWVyYXJjaHkKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvZGlzcGxheS1wcm9maWxlci1vdXRwdXQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvU2NyaXB0cy9kaXNwbGF5LXByb2ZpbGVyLW91dHB1dAkocmV2aXNpb24gMTM4OTI0KQorKysg
VG9vbHMvU2NyaXB0cy9kaXNwbGF5LXByb2ZpbGVyLW91dHB1dAkod29ya2luZyBjb3B5KQpAQCAt
NDYwLDcgKzQ2MCwxMSBAQCBkZWYgc291cmNlT25PbmVMaW5lKHNvdXJjZSwgbGltaXQpCiBlbmQK
IAogZGVmIHNjcmVlbldpZHRoCi0gICAgSGlnaExpbmU6OlN5c3RlbUV4dGVuc2lvbnMudGVybWlu
YWxfc2l6ZVswXQorICAgIGlmICRzdGRpbi50dHk/CisgICAgICAgIEhpZ2hMaW5lOjpTeXN0ZW1F
eHRlbnNpb25zLnRlcm1pbmFsX3NpemVbMF0KKyAgICBlbHNlCisgICAgICAgIDIwMAorICAgIGVu
ZAogZW5kCiAKIGRlZiBzdW1tYXJ5KG1vZGUpCkBAIC03NjMsNyArNzY3LDExIEBAIGRlZiBleGVj
dXRlQ29tbWFuZCgqY29tbWFuZEFycmF5KQogICAgICAgICAKICAgICAgICAgY2FzZSBhcmdzLmxl
bmd0aAogICAgICAgICB3aGVuIDEKLSAgICAgICAgICAgIGhhc2ggPSBhcmdzWzBdCisgICAgICAg
ICAgICBpZiBhcmdzWzBdID09ICIqIgorICAgICAgICAgICAgICAgIGhhc2ggPSBuaWwKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBoYXNoID0gYXJnc1swXQorICAgICAgICAgICAg
ZW5kCiAgICAgICAgICAgICBlbmdpbmUgPSBuaWwKICAgICAgICAgd2hlbiAyCiAgICAgICAgICAg
ICBpZiBtYXlCZUhhc2goYXJnc1swXSkKQEAgLTc3OCw3ICs3ODYsNyBAQCBkZWYgZXhlY3V0ZUNv
bW1hbmQoKmNvbW1hbmRBcnJheSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbmQKICAg
ICAgICAgCi0gICAgICAgIGlmIGhhc2ggPX4gLy0oWzAtOV0rKS0vCisgICAgICAgIGlmIGhhc2gg
YW5kIGhhc2ggPX4gLy0oWzAtOV0rKS0vCiAgICAgICAgICAgICBoYXNoID0gJH4ucHJlX21hdGNo
CiAgICAgICAgICAgICBlbmdpbmUgPSAkfi5wb3N0X21hdGNoCiAgICAgICAgICAgICBjb21waWxh
dGlvbkluZGV4ID0gJDEudG9faQpAQCAtODA3LDcgKzgxNSw3IEBAIGRlZiBleGVjdXRlQ29tbWFu
ZCgqY29tbWFuZEFycmF5KQogICAgICAgICBmaXJzdCA9IHRydWUKICAgICAgICAgJGNvbXBpbGF0
aW9ucy5lYWNoIHsKICAgICAgICAgICAgIHwgY29tcGlsYXRpb24gfAotICAgICAgICAgICAgbmV4
dCB1bmxlc3MgY29tcGlsYXRpb24uYnl0ZWNvZGUubWF0Y2hlcyhoYXNoKQorICAgICAgICAgICAg
bmV4dCBpZiBoYXNoIGFuZCBub3QgY29tcGlsYXRpb24uYnl0ZWNvZGUubWF0Y2hlcyhoYXNoKQog
ICAgICAgICAgICAgbmV4dCBpZiBlbmdpbmUgYW5kIGNvbXBpbGF0aW9uLmVuZ2luZSAhPSBlbmdp
bmUKICAgICAgICAgICAgIG5leHQgaWYgY29tcGlsYXRpb25JbmRleCBhbmQgY29tcGlsYXRpb24u
Y29tcGlsYXRpb25JbmRleCAhPSBjb21waWxhdGlvbkluZGV4CiAgICAgICAgICAgICAKQEAgLTg5
OSw3ICs5MDcsOSBAQCBkZWYgZXhlY3V0ZUNvbW1hbmQoKmNvbW1hbmRBcnJheSkKICAgICBlbmQK
IGVuZAogCi1leGVjdXRlQ29tbWFuZCgiZnVsbCIpCitpZiAkc3RkaW4udHR5PworICAgIGV4ZWN1
dGVDb21tYW5kKCJmdWxsIikKK2VuZAogCiB3aGlsZSBjb21tYW5kTGluZSA9IFJlYWRsaW5lLnJl
YWRsaW5lKCI+ICIsIHRydWUpCiAgICAgZXhlY3V0ZUNvbW1hbmQoKmNvbW1hbmRMaW5lLnNwbGl0
KQo=
</data>
<flag name="review"
          id="199267"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>