<?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>135139</bug_id>
          
          <creation_ts>2014-07-21 17:47:59 -0700</creation_ts>
          <short_desc>Refactor ArrayPrototype to use getLength() and putLength() utility functions</short_desc>
          <delta_ts>2014-07-21 17:59:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1023839</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-21 17:47:59 -0700</bug_when>
    <thetext>This change only refactors the ArrayPrototype code to use 2 utility functions: getLength() and putLength().  There are no semantic changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023841</commentid>
    <comment_count>1</comment_count>
      <attachid>235260</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-21 17:51:41 -0700</bug_when>
    <thetext>Created attachment 235260
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1023846</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-21 17:59:09 -0700</bug_when>
    <thetext>Thanks.  Landed in r171328: &lt;http://trac.webkit.org/r171328&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235260</attachid>
            <date>2014-07-21 17:51:41 -0700</date>
            <delta_ts>2014-07-21 17:55:19 -0700</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-135139.patch</filename>
            <type>text/plain</type>
            <size>11044</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcxMzI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE0LTA3LTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBBcnJheVByb3RvdHlwZSB0byB1c2UgZ2V0TGVuZ3RoKCkgYW5kIHB1dExlbmd0aCgp
IHV0aWxpdHkgZnVuY3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM1MTM5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIC0gU3BlY2lhbGl6ZSBwdXRQcm9wZXJ0eSgpIHRvIHB1dExlbmd0aCgpIGJl
Y2F1c2UgaXQgaXMgb25seSB1c2VkIGZvciBzZXR0aW5nCisgICAgICAgICAgdGhlIGxlbmd0aCBw
cm9wZXJ0eS4KKyAgICAgICAgLSBBZGRlZCBhIGdldExlbmd0aCgpIHV0aWxpdHkgZnVuY3Rpb24g
dG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LgorICAgICAgICAtIFVzZSB0
aGVzZSBnZXRMZW5ndGgoKSBhbmQgcHV0TGVuZ3RoKCkgZnVuY3Rpb25zIGluc3RlYWQgb2YgdGhl
IGV4aXN0aW5nIGNvZGUKKyAgICAgICAgICB0byBnZXQgYW5kIHB1dCB0aGUgbGVuZ3RoIHByb3Bl
cnR5LiAgTGVzcyBjb2RlIHRvIHJlYWQsIGVhc2llciB0byB1bmRlcnN0YW5kLgorCisgICAgICAg
ICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmdldExlbmd0aCk6
CisgICAgICAgIChKU0M6OnB1dExlbmd0aCk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5j
VG9TdHJpbmcpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY1RvTG9jYWxlU3RyaW5nKToK
KyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNKb2luKToKKyAgICAgICAgKEpTQzo6YXJyYXlQ
cm90b0Z1bmNQb3ApOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY1B1c2gpOgorICAgICAg
ICAoSlNDOjphcnJheVByb3RvRnVuY1JldmVyc2UpOgorICAgICAgICAoSlNDOjphcnJheVByb3Rv
RnVuY1NoaWZ0KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTbGljZSk6CisgICAgICAg
IChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5j
U3BsaWNlKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNVblNoaWZ0KToKKyAgICAgICAg
KEpTQzo6YXJyYXlQcm90b0Z1bmNSZWR1Y2UpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVu
Y1JlZHVjZVJpZ2h0KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNJbmRleE9mKToKKyAg
ICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNMYXN0SW5kZXhPZik6CisgICAgICAgIChKU0M6OnB1
dFByb3BlcnR5KTogRGVsZXRlZC4KKwogMjAxNC0wNy0yMSAgRGllZ28gUGlubyBHYXJjaWEgIDxk
cGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIG5ldyBJbnQzMkFycmF5KG5ldyBBcnJheUJ1ZmZl
cigxMDApLCAxLCAxKSBzaG91bGRuJ3QgdGhyb3cgYW4gZXJyb3IgdGhhdCBzYXlzICJSYW5nZUVy
cm9yOiBCeXRlIG9mZnNldCBhbmQgbGVuZ3RoIG91dCBvZiByYW5nZSBvZiBidWZmZXIiCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3Bw
CShyZXZpc2lvbiAxNzEzMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NywxMCArMTU3LDE1IEBAIHN0YXRp
YyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUgZ2V0UHJvcGVydHkKICAgICByZXR1cm4gc2xvdC5nZXRW
YWx1ZShleGVjLCBpbmRleCk7CiB9CiAKLXN0YXRpYyB2b2lkIHB1dFByb3BlcnR5KEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIG9iaiwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1
ZSB2YWx1ZSkKK3N0YXRpYyBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIGdldExlbmd0aChFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiBvYmopCit7CisgICAgcmV0dXJuIG9iai0+Z2V0KGV4ZWMsIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOworfQorCitzdGF0aWMg
dm9pZCBwdXRMZW5ndGgoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb2JqLCBKU1ZhbHVlIHZh
bHVlKQogewogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KG9iaik7Ci0gICAgb2JqLT5tZXRob2RU
YWJsZSgpLT5wdXQob2JqLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKKyAgICBv
YmotPm1ldGhvZFRhYmxlKCktPnB1dChvYmosIGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5s
ZW5ndGgsIHZhbHVlLCBzbG90KTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGFyZ3VtZW50Q2xhbXBl
ZEluZGV4RnJvbVN0YXJ0T3JFbmQoRXhlY1N0YXRlKiBleGVjLCBpbnQgYXJndW1lbnQsIHVuc2ln
bmVkIGxlbmd0aCwgdW5zaWduZWQgdW5kZWZpbmVkVmFsdWUgPSAwKQpAQCAtMjk2LDcgKzMwMSw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICBBU1NFUlQo
aXNKU0FycmF5KHRoaXNWYWx1ZSkpOwogICAgIEpTQXJyYXkqIHRoaXNPYmogPSBhc0FycmF5KHRo
aXNWYWx1ZSk7CiAgICAgCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMs
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOworICAgIHVuc2ln
bmVkIGxlbmd0aCA9IGdldExlbmd0aChleGVjLCB0aGlzT2JqKTsKICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiAKQEAgLTMzNSw3ICszNDAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GCiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0g
dGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMy
KGV4ZWMpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IGdldExlbmd0aChleGVjLCB0aGlzT2JqKTsK
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CiAKQEAgLTM3Myw3ICszNzgsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycmF5UHJvdG9GdW5jSm9pbihFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNPYmplY3QqIHRo
aXNPYmogPSBleGVjLT50aGlzVmFsdWUoKS50b1RoaXMoZXhlYywgU3RyaWN0TW9kZSkudG9PYmpl
Y3QoZXhlYyk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOworICAgIHVuc2lnbmVkIGxl
bmd0aCA9IGdldExlbmd0aChleGVjLCB0aGlzT2JqKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAK
QEAgLTQ3NSwxMyArNDgwLDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQ
cm90b0YKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc0FycmF5KHRoaXNWYWx1ZSkt
PnBvcChleGVjKSk7CiAKICAgICBKU09iamVjdCogdGhpc09iaiA9IHRoaXNWYWx1ZS50b09iamVj
dChleGVjKTsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+
cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CisgICAgdW5zaWduZWQgbGVu
Z3RoID0gZ2V0TGVuZ3RoKGV4ZWMsIHRoaXNPYmopOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAog
ICAgIEpTVmFsdWUgcmVzdWx0OwogICAgIGlmIChsZW5ndGggPT0gMCkgewotICAgICAgICBwdXRQ
cm9wZXJ0eShleGVjLCB0aGlzT2JqLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051
bWJlcihsZW5ndGgpKTsKKyAgICAgICAgcHV0TGVuZ3RoKGV4ZWMsIHRoaXNPYmosIGpzTnVtYmVy
KGxlbmd0aCkpOwogICAgICAgICByZXN1bHQgPSBqc1VuZGVmaW5lZCgpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIHJlc3VsdCA9IHRoaXNPYmotPmdldChleGVjLCBsZW5ndGggLSAxKTsKQEAgLTQ5
MSw3ICs0OTYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAg
ICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBk
ZWxldGUgcHJvcGVydHkuIikpOwogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKICAgICAgICAgfQotICAgICAgICBwdXRQcm9wZXJ0eShleGVjLCB0aGlz
T2JqLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcihsZW5ndGggLSAxKSk7
CisgICAgICAgIHB1dExlbmd0aChleGVjLCB0aGlzT2JqLCBqc051bWJlcihsZW5ndGggLSAxKSk7
CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KQEAgLTUwNyw3
ICs1MTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAg
fQogICAgIAogICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMp
OwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBn
ZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCkBAIC01MjUs
MTQgKzUzMCwxNCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAg
ICAgfQogICAgIAogICAgIEpTVmFsdWUgbmV3TGVuZ3RoKHN0YXRpY19jYXN0PGludDY0X3Q+KGxl
bmd0aCkgKyBzdGF0aWNfY2FzdDxpbnQ2NF90PihleGVjLT5hcmd1bWVudENvdW50KCkpKTsKLSAg
ICBwdXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3Ro
LCBuZXdMZW5ndGgpOworICAgIHB1dExlbmd0aChleGVjLCB0aGlzT2JqLCBuZXdMZW5ndGgpOwog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUobmV3TGVuZ3RoKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1JldmVyc2UoRXhlY1N0YXRlKiBleGVjKQog
ewogICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMs
IFN0cmljdE1vZGUpLnRvT2JqZWN0KGV4ZWMpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNP
YmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVj
KTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogCkBAIC01NzAsMjAgKzU3NSwyMCBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GdW5jU2hpZnQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTT2JqZWN0KiB0aGlz
T2JqID0gZXhlYy0+dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUpLnRvT2JqZWN0
KGV4ZWMpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAgICB1bnNpZ25lZCBsZW5n
dGggPSBnZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAg
ICAgSlNWYWx1ZSByZXN1bHQ7CiAgICAgaWYgKGxlbmd0aCA9PSAwKSB7Ci0gICAgICAgIHB1dFBy
b3BlcnR5KGV4ZWMsIHRoaXNPYmosIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVt
YmVyKGxlbmd0aCkpOworICAgICAgICBwdXRMZW5ndGgoZXhlYywgdGhpc09iaiwganNOdW1iZXIo
bGVuZ3RoKSk7CiAgICAgICAgIHJlc3VsdCA9IGpzVW5kZWZpbmVkKCk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgcmVzdWx0ID0gdGhpc09iai0+Z2V0KGV4ZWMsIDApOwogICAgICAgICBzaGlmdDxK
U0FycmF5OjpTaGlmdENvdW50Rm9yU2hpZnQ+KGV4ZWMsIHRoaXNPYmosIDAsIDEsIDAsIGxlbmd0
aCk7CiAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgIHB1dFByb3BlcnR5KGV4
ZWMsIHRoaXNPYmosIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKGxlbmd0
aCAtIDEpKTsKKyAgICAgICAgcHV0TGVuZ3RoKGV4ZWMsIHRoaXNPYmosIGpzTnVtYmVyKGxlbmd0
aCAtIDEpKTsKICAgICB9CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQpA
QCAtNTkyLDcgKzU5Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90
b0YKIHsKICAgICAvLyBodHRwOi8vZGV2ZWxvcGVyLm5ldHNjYXBlLmNvbS9kb2NzL21hbnVhbHMv
anMvY2xpZW50L2pzcmVmL2FycmF5Lmh0bSMxMTkzNzEzIG9yIDE1LjQuNC4xMAogICAgIEpTT2Jq
ZWN0KiB0aGlzT2JqID0gZXhlYy0+dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUp
LnRvT2JqZWN0KGV4ZWMpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVj
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAgICB1bnNp
Z25lZCBsZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOwogCkBAIC03MDAsNyArNzA1LDcgQEAgc3RhdGljIGJvb2wgcGVyZm9ybVNsb3dTb3J0KEV4
ZWNTdGF0ZSogZQogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1Nv
cnQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+dGhp
c1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUpLnRvT2JqZWN0KGV4ZWMpOwotICAgIHVu
c2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
bGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBnZXRMZW5ndGgo
ZXhlYywgdGhpc09iaik7CiAgICAgaWYgKCFsZW5ndGggfHwgZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7CiAKQEAgLTc3NSw3ICs3
ODAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgLy8g
MTUuNC40LjEyCiAKICAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPnRoaXNWYWx1ZSgpLnRv
VGhpcyhleGVjLCBTdHJpY3RNb2RlKS50b09iamVjdChleGVjKTsKLSAgICB1bnNpZ25lZCBsZW5n
dGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9V
SW50MzIoZXhlYyk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gZ2V0TGVuZ3RoKGV4ZWMsIHRoaXNP
YmopOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICAKQEAgLTgyNCw3ICs4MjksNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KIAotICAgIHB1dFByb3BlcnR5
KGV4ZWMsIHRoaXNPYmosIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKGxl
bmd0aCAtIGRlbGV0ZUNvdW50ICsgYWRkaXRpb25hbEFyZ3MpKTsKKyAgICBwdXRMZW5ndGgoZXhl
YywgdGhpc09iaiwganNOdW1iZXIobGVuZ3RoIC0gZGVsZXRlQ291bnQgKyBhZGRpdGlvbmFsQXJn
cykpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApAQCAtODMzLDcg
KzgzOCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAv
LyAxNS40LjQuMTMKIAogICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+dGhpc1ZhbHVlKCku
dG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUpLnRvT2JqZWN0KGV4ZWMpOwotICAgIHVuc2lnbmVkIGxl
bmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50
b1VJbnQzMihleGVjKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhp
c09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCkBAIC04NDksMTQgKzg1NCwxNCBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KICAgICBKU1ZhbHVlIHJlc3Vs
dCA9IGpzTnVtYmVyKGxlbmd0aCArIG5yQXJncyk7Ci0gICAgcHV0UHJvcGVydHkoZXhlYywgdGhp
c09iaiwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwgcmVzdWx0KTsKKyAgICBwdXRMZW5n
dGgoZXhlYywgdGhpc09iaiwgcmVzdWx0KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNS
ZWR1Y2UoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+
dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUpLnRvT2JqZWN0KGV4ZWMpOwotICAg
IHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBnZXRMZW5n
dGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCkBAIC05MzMsNyArOTM4
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1JlZHVjZVJpZ2h0KEV4ZWNTdGF0ZSog
ZXhlYykKIHsKICAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPnRoaXNWYWx1ZSgpLnRvVGhp
cyhleGVjLCBTdHJpY3RNb2RlKS50b09iamVjdChleGVjKTsKLSAgICB1bnNpZ25lZCBsZW5ndGgg
PSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50
MzIoZXhlYyk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gZ2V0TGVuZ3RoKGV4ZWMsIHRoaXNPYmop
OwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIApAQCAtMTAxMCw3ICsxMDE1LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogewogICAgIC8vIDE1LjQuNC4xNAogICAg
IEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmlj
dE1vZGUpLnRvT2JqZWN0KGV4ZWMpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdl
dChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAg
ICB1bnNpZ25lZCBsZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOwogCkBAIC0xMDMzLDcgKzEwMzgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGFycmF5UHJvdG9GCiB7CiAgICAgLy8gMTUuNC40LjE1CiAgICAgSlNPYmplY3QqIHRo
aXNPYmogPSBleGVjLT50aGlzVmFsdWUoKS50b1RoaXMoZXhlYywgU3RyaWN0TW9kZSkudG9PYmpl
Y3QoZXhlYyk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOworICAgIHVuc2lnbmVkIGxl
bmd0aCA9IGdldExlbmd0aChleGVjLCB0aGlzT2JqKTsKICAgICBpZiAoIWxlbmd0aCkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcigtMSkpOwogCg==
</data>
<flag name="review"
          id="259819"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>