<?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>213055</bug_id>
          
          <creation_ts>2020-06-10 15:39:43 -0700</creation_ts>
          <short_desc>Linear Scan uses the wrong Interval for spills for tmps with roles of early def or late use</short_desc>
          <delta_ts>2020-06-11 17:29:36 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1661402</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-10 15:39:43 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661404</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-10 15:40:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/59874018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661466</commentid>
    <comment_count>2</comment_count>
      <attachid>401612</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-10 18:09:23 -0700</bug_when>
    <thetext>Created attachment 401612
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661793</commentid>
    <comment_count>3</comment_count>
      <attachid>401612</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-11 17:00:51 -0700</bug_when>
    <thetext>Comment on attachment 401612
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661801</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-11 17:29:34 -0700</bug_when>
    <thetext>Committed r262932: &lt;https://trac.webkit.org/changeset/262932&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401612.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401612</attachid>
            <date>2020-06-10 18:09:23 -0700</date>
            <delta_ts>2020-06-11 17:29:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>11326</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyODg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBA
CisyMDIwLTA2LTEwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IExpbmVhciBTY2FuIHVzZXMgdGhlIHdyb25nIEludGVydmFsIGZvciBzcGlsbHMgZm9yIHRtcHMg
d2l0aCByb2xlcyBvZiBlYXJseSBkZWYgb3IgbGF0ZSB1c2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzA1NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTk4NzQwMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlcmUgd2FzIGEgYnVnIGluIGxpbmVhciBzY2FuIHdoZW4gY29tcHV0aW5nIHRoZSBs
aXZlIHJhbmdlIGludGVydmFsIGZvcgorICAgICAgICBzcGlsbCB0bXBzIHRoYXQgaGFkIGVhcmx5
IGRlZnMgb3IgbGF0ZSB1c2VzLiAgV2hlbiBsaW5lYXIgc2NhbiBzcGlsbHMgYQorICAgICAgICB0
bXAsIGl0IGNyZWF0ZXMgYSBuZXcgdG1wIHRoYXQgaXQgbG9hZHMgdG8gYW5kIHN0b3JlcyBmcm9t
LCBhbmQgcmVwbGFjZXMgdGhlIG9sZCB0bXAKKyAgICAgICAgd2l0aCB0aGUgbmV3IHRtcCwgYW5k
IGVtaXRzIHN0b3Jlcy9sb2FkcyBhcm91bmQgcGVydGluZW50IGluc3RydWN0aW9ucy4gVGhlIGxp
dmUKKyAgICAgICAgaW50ZXJ2YWwgZm9yIHN1Y2ggdG1wcyBpcyBzbWFsbCBieSBuYXR1cmUsIGl0
J3MgY29udGFpbmVkIGluIHRoZSBpbnRlcnZhbCBmb3IgdGhlCisgICAgICAgIGluc3RydWN0aW9u
IGl0c2VsZi4gSG93ZXZlciwgd2UnZCBidWlsZCB0aGlzIGludGVydmFsIHB1cmVseSBiYXNlZCBv
ZmYgdGhlCisgICAgICAgIG9yaWdpbmFsIHRtcCdzIGFyZyB0aW1pbmcuIFNvLCBmb3IgZXhhbXBs
ZSwgbGV0J3MgY29uc2lkZXIgYSBwcm9ncmFtIGxpa2UgdGhpczoKKyAgICAgICAgCisgICAgICAg
IFJhbmRvSW5zbjogTGF0ZVVzZTpUbXAxLCBVc2U6VG1wMiwgW2Vhcmx5ID0gTiwgbGF0ZSA9IE4r
MV0KKyAgICAgICAgTGV0J3Mgc2F5IHRoYXQgVG1wMSdzIGxhc3QgdXNlIGlzIFJhbmRvSW5zbiwg
YW5kIGl0IGhhZCBhIGRlZiBiZWZvcmUKKyAgICAgICAgUmFuZG9JbnNuLCB0aGVyZWZvcmUsIGl0
cyBsaXZlIHJhbmdlIHdpbGwgYmUgc29tZXRoaW5nIGxpa2U6CisgICAgICAgIFtKIHdoZXJlIEog
PCBOLCBOKzFdCisgICAgICAgIAorICAgICAgICBhbmQgbm93IGltYWdpbmUgd2Ugc3BpbGxlZCBU
bXAxIGZvciBzb21lIHJlYXNvbiwgYW5kIHJld3JvdGUgdGhlCisgICAgICAgIHByb2dyYW0gdG8g
YmU6CisgICAgICAgIE1vdmUgQWRkcihzcGlsbCBmb3IgVG1wMSksIFRtcFNwaWxsCisgICAgICAg
IFJhbmRvSW5zbjogTGF0ZVVzZTpUbXBTcGlsbCwgVXNlOlRtcDIsIFtlYXJseSA9IE4sIGxhdGUg
PSBOKzFdCisgICAgICAgIAorICAgICAgICBXZSB1c2VkIHRvIGluY29ycmVjdGx5IG1hcmsgdGhl
IGxpdmUgcmFuZ2UgZm9yIFRtcFNwaWxsIHRvIGp1c3QgYmUgW04rMSwgTisyKS4KKyAgICAgICAg
SG93ZXZlciwgdGhlIGJ1ZyBoZXJlIGlzIHRoYXQgd2UgbmVnbGVjdGVkIHRoYXQgVG1wU3BpbGwg
YWN0dWFsbHkgaGFkIGFuIGVhcmxpZXIKKyAgICAgICAgZGVmIGF0IFtOLCBOKzEpLiBTbywgdGhl
IGxpdmUgcmFuZ2UgZm9yIFRtcFNwaWxsIHdhcyB3cm9uZy4gVGhpcyBjb3VsZCBpbmNvcnJlY3Rs
eQorICAgICAgICBsZWFkIHVzIHRvIGFsbG9jYXRlIFRtcDIgYW5kIFRtcFNwaWxsIHRvIHRoZSBz
YW1lIHJlZ2lzdGVyLCBzaW5jZSB0aGVpciBsaXZlCisgICAgICAgIHJhbmdlcyBtYXkgbm90IGlu
dGVyc2VjdCBpZiBUbXAyIGRpZXMgYXQgUmFuZG9JbnNuLgorICAgICAgICAKKyAgICAgICAgV2Ug
YWxzbyBoYWQgdGhlIHN5bW1ldHJpYyBidWcgZm9yIEVhcmx5RGVmczogd2Ugd291bGRuJ3QgYWNj
b3VudCBmb3IgdGhlCisgICAgICAgIHN0b3JlLXNwaWxsIHRoYXQnZCBoYXBwZW4gYWZ0ZXIgc29t
ZXRoaW5nIGxpa2UgUmFuZG9JbnNuLgorICAgICAgICAKKyAgICAgICAgVGhlIGZpeCBpcyB0byBh
Y2NvdW50IGZvciB0aGUgbG9hZHMvc3RvcmVzIG9mIHNwaWxsIHRtcHMgd2hlbiBhc3NpZ25pbmcK
KyAgICAgICAgdGhlbSBhIGxpdmUgcmFuZ2UuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNo
IGNvbnRhaW5zIGEgc3RhbmRhbG9uZSB0ZXN0IGluIHRlc3RhaXIuIEl0IGFsc28gZml4ZXMgY3Jh
c2hlcyB3ZSBoYWQgd2hlbgorICAgICAgICBydW5uaW5nIEIzTzEgdGVzdHMgdXNpbmcgdHlwZWQg
YXJyYXlzIG9uIGFybTY0ZSBzaW5jZSB3ZSBoYWQgcGF0Y2hwb2ludHMgdGhhdCB1dGlsaXplZAor
ICAgICAgICBMYXRlVXNlIGZvciBzaWduaW5nIGFuZCBhdXRoLgorCisgICAgICAgICogYjMvQjNQ
cm9jZWR1cmUuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFj
a0J5TGluZWFyU2Nhbi5jcHA6CisgICAgICAgICogYjMvYWlyL3Rlc3RhaXIuY3BwOgorCiAyMDIw
LTA2LTEwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pT
Q10gSlNDYWxsYmFja09iamVjdDo6ZGVsZXRlUHJvcGVydHkgc2hvdWxkIHJlZGlyZWN0IHRvIFBh
cmVudDo6ZGVsZXRlUHJvcGVydHlCeUluZGV4IGlmIHByb3BlcnR5TmFtZSBpcyBpbmRleApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgJKHJldmlzaW9uIDI2Mjg0NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgogICAgIFZhbHVlKiBhZGRJbnRDb25zdGFudChW
YWx1ZSosIGludDY0X3QgdmFsdWUpOwogCiAgICAgLy8gYml0cyBpcyBhIGJpdHdpc2VfY2FzdCBv
ZiB0aGUgY29uc3RhbnQgeW91IHdhbnQuCi0gICAgVmFsdWUqIGFkZENvbnN0YW50KE9yaWdpbiwg
VHlwZSwgdWludDY0X3QgYml0cyk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgVmFsdWUqIGFkZENv
bnN0YW50KE9yaWdpbiwgVHlwZSwgdWludDY0X3QgYml0cyk7CiAKICAgICAvLyBZb3UncmUgZ3Vh
cmFudGVlZCB0aGF0IGJvdHRvbSBpcyB6ZXJvLgogICAgIFZhbHVlKiBhZGRCb3R0b20oT3JpZ2lu
LCBUeXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVS
ZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJT
Y2FuLmNwcAkocmV2aXNpb24gMjYyODQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fp
ci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTgzLDE1ICsxODMsNDkgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGluZGV4
T2ZIZWFkKGJsb2NrKSArIGJsb2NrLT5zaXplKCkgKiAyOwogICAgIH0KICAgICAKLSAgICBJbnRl
cnZhbCBpbnRlcnZhbChzaXplX3QgaW5kZXhPZkVhcmx5LCBBcmc6OlRpbWluZyB0aW1pbmcpCisg
ICAgc3RhdGljIEludGVydmFsIGVhcmx5SW50ZXJ2YWwoc2l6ZV90IGluZGV4T2ZFYXJseSkKICAg
ICB7CisgICAgICAgIHJldHVybiBJbnRlcnZhbChpbmRleE9mRWFybHkpOworICAgIH0KKworICAg
IHN0YXRpYyBJbnRlcnZhbCBsYXRlSW50ZXJ2YWwoc2l6ZV90IGluZGV4T2ZFYXJseSkKKyAgICB7
CisgICAgICAgIHJldHVybiBJbnRlcnZhbChpbmRleE9mRWFybHkgKyAxKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgSW50ZXJ2YWwgZWFybHlBbmRMYXRlSW50ZXJ2YWwoc2l6ZV90IGluZGV4T2ZFYXJs
eSkKKyAgICB7CisgICAgICAgIHJldHVybiBlYXJseUludGVydmFsKGluZGV4T2ZFYXJseSkgfCBs
YXRlSW50ZXJ2YWwoaW5kZXhPZkVhcmx5KTsKKyAgICB9CisKKyAgICBzdGF0aWMgSW50ZXJ2YWwg
aW50ZXJ2YWwoc2l6ZV90IGluZGV4T2ZFYXJseSwgQXJnOjpUaW1pbmcgdGltaW5nKQorICAgIHsK
KyAgICAgICAgc3dpdGNoICh0aW1pbmcpIHsKKyAgICAgICAgY2FzZSBBcmc6Ok9ubHlFYXJseToK
KyAgICAgICAgICAgIHJldHVybiBlYXJseUludGVydmFsKGluZGV4T2ZFYXJseSk7CisgICAgICAg
IGNhc2UgQXJnOjpPbmx5TGF0ZToKKyAgICAgICAgICAgIHJldHVybiBsYXRlSW50ZXJ2YWwoaW5k
ZXhPZkVhcmx5KTsKKyAgICAgICAgY2FzZSBBcmc6OkVhcmx5QW5kTGF0ZToKKyAgICAgICAgICAg
IHJldHVybiBlYXJseUFuZExhdGVJbnRlcnZhbChpbmRleE9mRWFybHkpOworICAgICAgICB9Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gSW50ZXJ2YWwoKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgSW50ZXJ2YWwgaW50ZXJ2YWxGb3JTcGlsbChzaXplX3QgaW5k
ZXhPZkVhcmx5LCBBcmc6OlJvbGUgcm9sZSkKKyAgICB7CisgICAgICAgIEFyZzo6VGltaW5nIHRp
bWluZyA9IEFyZzo6dGltaW5nKHJvbGUpOwogICAgICAgICBzd2l0Y2ggKHRpbWluZykgewogICAg
ICAgICBjYXNlIEFyZzo6T25seUVhcmx5OgotICAgICAgICAgICAgcmV0dXJuIEludGVydmFsKGlu
ZGV4T2ZFYXJseSk7CisgICAgICAgICAgICBpZiAoQXJnOjppc0FueURlZihyb2xlKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZWFybHlBbmRMYXRlSW50ZXJ2YWwoaW5kZXhPZkVhcmx5KTsgLy8g
V2UgaGF2ZSBhIHNwaWxsIHN0b3JlIGFmdGVyIHRoaXMgaW5zbi4KKyAgICAgICAgICAgIHJldHVy
biBlYXJseUludGVydmFsKGluZGV4T2ZFYXJseSk7CiAgICAgICAgIGNhc2UgQXJnOjpPbmx5TGF0
ZToKLSAgICAgICAgICAgIHJldHVybiBJbnRlcnZhbChpbmRleE9mRWFybHkgKyAxKTsKKyAgICAg
ICAgICAgIGlmIChBcmc6OmlzQW55VXNlKHJvbGUpKQorICAgICAgICAgICAgICAgIHJldHVybiBl
YXJseUFuZExhdGVJbnRlcnZhbChpbmRleE9mRWFybHkpOyAvLyBXZSBoYWQgYSBzcGlsbCBsb2Fk
IGJlZm9yZSB0aGlzIGluc24uCisgICAgICAgICAgICByZXR1cm4gbGF0ZUludGVydmFsKGluZGV4
T2ZFYXJseSk7CiAgICAgICAgIGNhc2UgQXJnOjpFYXJseUFuZExhdGU6Ci0gICAgICAgICAgICBy
ZXR1cm4gSW50ZXJ2YWwoaW5kZXhPZkVhcmx5LCBpbmRleE9mRWFybHkgKyAyKTsKKyAgICAgICAg
ICAgIHJldHVybiBlYXJseUFuZExhdGVJbnRlcnZhbChpbmRleE9mRWFybHkpOwogICAgICAgICB9
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gSW50ZXJ2YWwo
KTsKQEAgLTU0OSw3ICs1ODMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCFzcGlsbGVkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgICAgICAgICAgICAgIE9wY29kZSBtb3ZlID0gYmFuayA9PSBHUCA/IE1vdmUgOiBNb3Zl
RG91YmxlOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gYWRkU3BpbGxUbXBXaXRoSW50
ZXJ2YWwoYmFuaywgaW50ZXJ2YWwoaW5kZXhPZkVhcmx5LCBBcmc6OnRpbWluZyhyb2xlKSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gYWRkU3BpbGxUbXBXaXRoSW50ZXJ2YWwoYmFu
aywgaW50ZXJ2YWxGb3JTcGlsbChpbmRleE9mRWFybHksIHJvbGUpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChyb2xlID09IEFyZzo6U2NyYXRjaCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnOjppc0FueVVz
ZShyb2xlKSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvdGVzdGFpci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAko
cmV2aXNpb24gMjYyODQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci90ZXN0YWly
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIzOCw2ICsyMjM4LDEyOCBAQCB2b2lkIHRlc3RFbGlk
ZU1vdmVUaGVuUmVhbGxvYygpCiAgICAgfQogfQogCit2b2lkIHRlc3RMaW5lYXJTY2FuU3BpbGxS
YW5nZXNMYXRlVXNlKCkKK3sKKyAgICBCMzo6UHJvY2VkdXJlIHByb2M7CisgICAgQ29kZSYgY29k
ZSA9IHByb2MuY29kZSgpOworCisgICAgQmFzaWNCbG9jayogcm9vdCA9IGNvZGUuYWRkQmxvY2so
KTsKKworICAgIEIzOjpBaXI6OlNwZWNpYWwqIHBhdGNocG9pbnRTcGVjaWFsID0gY29kZS5hZGRT
cGVjaWFsKG1ha2VVbmlxdWU8QjM6OlBhdGNocG9pbnRTcGVjaWFsPigpKTsKKworICAgIFZlY3Rv
cjxUbXA+IHRtcHM7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDEwMDsgKytpKSB7Cisg
ICAgICAgIFRtcCB0bXAgPSBjb2RlLm5ld1RtcChHUCk7CisgICAgICAgIHRtcHMuYXBwZW5kKHRt
cCk7CisgICAgICAgIHJvb3QtPmFwcGVuZChNb3ZlLCBudWxscHRyLCBBcmc6OmJpZ0ltbShpKSwg
dG1wKTsKKyAgICB9CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICsgMSA8IHRtcHMuc2l6
ZSgpOyArK2kpIHsKKyAgICAgICAgVG1wIHRtcDEgPSB0bXBzW2ldOworICAgICAgICBUbXAgdG1w
MiA9IHRtcHNbaSArIDFdOworCisgICAgICAgIEIzOjpWYWx1ZSogZHVtbXlWYWx1ZSA9IHByb2Mu
YWRkQ29uc3RhbnQoQjM6Ok9yaWdpbigpLCBCMzo6SW50NjQsIDApOworICAgICAgICBCMzo6VmFs
dWUqIGR1bW15VmFsdWUyID0gcHJvYy5hZGRDb25zdGFudChCMzo6T3JpZ2luKCksIEIzOjpJbnQ2
NCwgMCk7CisKKyAgICAgICAgQjM6OlBhdGNocG9pbnRWYWx1ZSogcGF0Y2hwb2ludCA9IHByb2Mu
YWRkPEIzOjpQYXRjaHBvaW50VmFsdWU+KEIzOjpWb2lkLCBCMzo6T3JpZ2luKCkpOworICAgICAg
ICBwYXRjaHBvaW50LT5hcHBlbmQoZHVtbXlWYWx1ZSwgQjM6OlZhbHVlUmVwOjpTb21lUmVnaXN0
ZXIpOworICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmQoZHVtbXlWYWx1ZTIsIEIzOjpWYWx1ZVJl
cDo6U29tZUxhdGVSZWdpc3Rlcik7CisgICAgICAgIHBhdGNocG9pbnQtPnNldEdlbmVyYXRvcihb
PV0gKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBCMzo6U3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1z
JiBwYXJhbXMpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBhcmFtc1swXS5ncHIoKSAh
PSBwYXJhbXNbMV0uZ3ByKCkpOworCisgICAgICAgICAgICBhdXRvIGdvb2QgPSBqaXQuYnJhbmNo
MzIoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgcGFyYW1zWzBdLmdwcigpLCBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW0zMihpKSk7CisgICAgICAgICAgICBqaXQuYnJlYWtwb2ludCgpOworICAgICAgICAg
ICAgZ29vZC5saW5rKCZqaXQpOworCisgICAgICAgICAgICBnb29kID0gaml0LmJyYW5jaDMyKEND
YWxsSGVscGVyczo6RXF1YWwsIHBhcmFtc1sxXS5ncHIoKSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoaSArIDEpKTsKKyAgICAgICAgICAgIGppdC5icmVha3BvaW50KCk7CisgICAgICAgICAg
ICBnb29kLmxpbmsoJmppdCk7CisKKyAgICAgICAgfSk7CisKKyAgICAgICAgSW5zdCBpbnN0KFBh
dGNoLCBwYXRjaHBvaW50LCBBcmc6OnNwZWNpYWwocGF0Y2hwb2ludFNwZWNpYWwpKTsKKyAgICAg
ICAgaW5zdC5hcmdzLmFwcGVuZCh0bXAxKTsKKyAgICAgICAgaW5zdC5hcmdzLmFwcGVuZCh0bXAy
KTsKKworICAgICAgICByb290LT5hcHBlbmQoaW5zdCk7CisgICAgfQorCisgICAgcm9vdC0+YXBw
ZW5kKE1vdmUzMiwgbnVsbHB0ciwgdG1wcy5sYXN0KCksIFRtcChHUFJJbmZvOjpyZXR1cm5WYWx1
ZUdQUikpOworICAgIHJvb3QtPmFwcGVuZChSZXQzMiwgbnVsbHB0ciwgVG1wKEdQUkluZm86OnJl
dHVyblZhbHVlR1BSKSk7CisKKyAgICBhdXRvIHJ1blJlc3VsdCA9IGNvbXBpbGVBbmRSdW48dWlu
dDMyX3Q+KHByb2MpOworICAgIENIRUNLKHJ1blJlc3VsdCA9PSA5OSk7Cit9CisKK3ZvaWQgdGVz
dExpbmVhclNjYW5TcGlsbFJhbmdlc0Vhcmx5RGVmKCkKK3sKKyAgICBCMzo6UHJvY2VkdXJlIHBy
b2M7CisgICAgQ29kZSYgY29kZSA9IHByb2MuY29kZSgpOworCisgICAgQmFzaWNCbG9jayogcm9v
dCA9IGNvZGUuYWRkQmxvY2soKTsKKworICAgIEIzOjpBaXI6OlNwZWNpYWwqIHBhdGNocG9pbnRT
cGVjaWFsID0gY29kZS5hZGRTcGVjaWFsKG1ha2VVbmlxdWU8QjM6OlBhdGNocG9pbnRTcGVjaWFs
PigpKTsKKworICAgIFZlY3RvcjxUbXA+IHRtcHM7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IDEwMDsgKytpKSB7CisgICAgICAgIFRtcCB0bXAgPSBjb2RlLm5ld1RtcChHUCk7CisgICAg
ICAgIHRtcHMuYXBwZW5kKHRtcCk7CisgICAgICAgIGlmICghaSkKKyAgICAgICAgICAgIHJvb3Qt
PmFwcGVuZChNb3ZlLCBudWxscHRyLCBBcmc6OmJpZ0ltbShpKSwgdG1wKTsKKyAgICB9CisKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICsgMSA8IHRtcHMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgVG1wIHRtcDEgPSB0bXBzW2ldOworICAgICAgICBUbXAgdG1wMiA9IHRtcHNbaSArIDFdOwor
CisgICAgICAgIEIzOjpWYWx1ZSogZHVtbXlWYWx1ZSA9IHByb2MuYWRkQ29uc3RhbnQoQjM6Ok9y
aWdpbigpLCBCMzo6SW50NjQsIDApOworCisgICAgICAgIEIzOjpQYXRjaHBvaW50VmFsdWUqIHBh
dGNocG9pbnQgPSBwcm9jLmFkZDxCMzo6UGF0Y2hwb2ludFZhbHVlPihCMzo6SW50MzIsIEIzOjpP
cmlnaW4oKSk7CisgICAgICAgIHBhdGNocG9pbnQtPnJlc3VsdENvbnN0cmFpbnRzID0geyBCMzo6
VmFsdWVSZXA6OlNvbWVFYXJseVJlZ2lzdGVyIH07CisgICAgICAgIHBhdGNocG9pbnQtPmFwcGVu
ZChkdW1teVZhbHVlLCBCMzo6VmFsdWVSZXA6OlNvbWVMYXRlUmVnaXN0ZXIpOworICAgICAgICBw
YXRjaHBvaW50LT5zZXRHZW5lcmF0b3IoWz1dIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQjM6
OlN0YWNrbWFwR2VuZXJhdGlvblBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChwYXJhbXNbMF0uZ3ByKCkgIT0gcGFyYW1zWzFdLmdwcigpKTsKKworICAgICAgICAg
ICAgYXV0byBnb29kID0gaml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6RXF1YWwsIHBhcmFtc1sx
XS5ncHIoKSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoaSkpOworICAgICAgICAgICAgaml0
LmJyZWFrcG9pbnQoKTsKKyAgICAgICAgICAgIGdvb2QubGluaygmaml0KTsKKworICAgICAgICAg
ICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoaSArIDEpLCBwYXJhbXNbMF0u
Z3ByKCkpOworICAgICAgICB9KTsKKworICAgICAgICBJbnN0IGluc3QoUGF0Y2gsIHBhdGNocG9p
bnQsIEFyZzo6c3BlY2lhbChwYXRjaHBvaW50U3BlY2lhbCkpOworICAgICAgICBpbnN0LmFyZ3Mu
YXBwZW5kKHRtcDIpOyAvLyBkZWYKKyAgICAgICAgaW5zdC5hcmdzLmFwcGVuZCh0bXAxKTsgLy8g
dXNlCisKKyAgICAgICAgcm9vdC0+YXBwZW5kKGluc3QpOworICAgIH0KKworICAgIC8vIE1ha2Ug
YWxsIHRtcHMgbGl2ZSB0aWxsIHRoZSBlbmQKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
dG1wcy5zaXplKCk7ICsraSkgeworICAgICAgICBUbXAgdG1wID0gdG1wc1tpXTsKKworICAgICAg
ICBCMzo6VmFsdWUqIGR1bW15VmFsdWUgPSBwcm9jLmFkZENvbnN0YW50KEIzOjpPcmlnaW4oKSwg
QjM6OkludDY0LCAwKTsKKworICAgICAgICBCMzo6UGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50
ID0gcHJvYy5hZGQ8QjM6OlBhdGNocG9pbnRWYWx1ZT4oQjM6OlZvaWQsIEIzOjpPcmlnaW4oKSk7
CisgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZChkdW1teVZhbHVlLCBCMzo6VmFsdWVSZXA6OlNv
bWVSZWdpc3Rlcik7CisgICAgICAgIHBhdGNocG9pbnQtPnNldEdlbmVyYXRvcihbPV0gKENDYWxs
SGVscGVycyYgaml0LCBjb25zdCBCMzo6U3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1zJiBwYXJhbXMp
IHsKKyAgICAgICAgICAgIGF1dG8gZ29vZCA9IGppdC5icmFuY2gzMihDQ2FsbEhlbHBlcnM6OkVx
dWFsLCBwYXJhbXNbMF0uZ3ByKCksIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKGkpKTsKKyAg
ICAgICAgICAgIGppdC5icmVha3BvaW50KCk7CisgICAgICAgICAgICBnb29kLmxpbmsoJmppdCk7
CisgICAgICAgIH0pOworCisgICAgICAgIEluc3QgaW5zdChQYXRjaCwgcGF0Y2hwb2ludCwgQXJn
OjpzcGVjaWFsKHBhdGNocG9pbnRTcGVjaWFsKSk7CisgICAgICAgIGluc3QuYXJncy5hcHBlbmQo
dG1wKTsKKyAgICAgICAgcm9vdC0+YXBwZW5kKGluc3QpOworICAgIH0KKworICAgIHJvb3QtPmFw
cGVuZChNb3ZlMzIsIG51bGxwdHIsIHRtcHMubGFzdCgpLCBUbXAoR1BSSW5mbzo6cmV0dXJuVmFs
dWVHUFIpKTsKKyAgICByb290LT5hcHBlbmQoUmV0MzIsIG51bGxwdHIsIFRtcChHUFJJbmZvOjpy
ZXR1cm5WYWx1ZUdQUikpOworCisgICAgYXV0byBydW5SZXN1bHQgPSBjb21waWxlQW5kUnVuPHVp
bnQzMl90Pihwcm9jKTsKKyAgICBDSEVDSyhydW5SZXN1bHQgPT0gOTkpOworfQorCiAjZGVmaW5l
IFBSRUZJWCAiTyIsIE9wdGlvbnM6OmRlZmF1bHRCM09wdExldmVsKCksICI6ICIKIAogI2RlZmlu
ZSBSVU4odGVzdCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTIz
MzAsNiArMjQ1Miw5IEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikKICAgICBSVU4odGVz
dEVsaWRlSGFuZGxlc0Vhcmx5Q2xvYmJlcigpKTsKICAgICBSVU4odGVzdEVsaWRlTW92ZVRoZW5S
ZWFsbG9jKCkpOwogCisgICAgUlVOKHRlc3RMaW5lYXJTY2FuU3BpbGxSYW5nZXNMYXRlVXNlKCkp
OworICAgIFJVTih0ZXN0TGluZWFyU2NhblNwaWxsUmFuZ2VzRWFybHlEZWYoKSk7CisKICAgICBp
ZiAodGFza3MuaXNFbXB0eSgpKQogICAgICAgICB1c2FnZSgpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>