<?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>126524</bug_id>
          
          <creation_ts>2014-01-06 07:22:46 -0800</creation_ts>
          <short_desc>Remove using directives for the std namespace from WTF</short_desc>
          <delta_ts>2014-01-06 12:29:13 -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>New Bugs</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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>964624</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-06 07:22:46 -0800</bug_when>
    <thetext>Remove using directives for the std namespace from WTF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964626</commentid>
    <comment_count>1</comment_count>
      <attachid>220434</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-06 07:32:33 -0800</bug_when>
    <thetext>Created attachment 220434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964716</commentid>
    <comment_count>2</comment_count>
      <attachid>220434</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-06 12:29:07 -0800</bug_when>
    <thetext>Comment on attachment 220434
Patch

Clearing flags on attachment: 220434

Committed r161362: &lt;http://trac.webkit.org/changeset/161362&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964717</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-06 12:29:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220434</attachid>
            <date>2014-01-06 07:32:33 -0800</date>
            <delta_ts>2014-01-06 12:29:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126524-20140106073232.patch</filename>
            <type>text/plain</type>
            <size>19488</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk2MzEyNWY5ZTlmM2NjZTYzOTA1MmNl
ZGQ1MGVjODA3MjA1NzhmMDEuLjhlZWZiNDMwOThiMDEyMTc2NmIzMmNiNGNlYWRkZGVlNGRkMzM4
ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTQtMDEtMDYgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFJlbW92ZSB1c2luZyBkaXJlY3RpdmVzIGZvciB0
aGUgc3RkIG5hbWVzcGFjZSBmcm9tIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI2NTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSB1c2luZyBkaXJlY3RpdmVzIGZvciB0aGUgc3Rk
IG5hbWVzcGFjZSB0aHJvdWdob3V0IHRoZSBXVEYgY29kZS4KKyAgICAgICAgVGhlIG1vcmUgZXhw
bGljaXQgc3RkOjogbmVzdGVkIG5hbWUgc3BlY2lmaWVyIHNob3VsZCBiZSB1c2VkIGluc3RlYWQu
CisKKyAgICAgICAgKiB3dGYvTWVkaWFUaW1lLmNwcDoKKyAgICAgICAgKFdURjo6TWVkaWFUaW1l
OjpjcmVhdGVXaXRoRmxvYXQpOgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6OmNyZWF0ZVdpdGhE
b3VibGUpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV1RG
OjpTdHJpbmdJbXBsOjpjcmVhdGUpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpsb3dlcik6
CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OnVwcGVyKToKKyAgICAgICAgKFdURjo6U3RyaW5n
SW1wbDo6Zm9sZENhc2UpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpmaW5kKToKKyAgICAg
ICAgKFdURjo6U3RyaW5nSW1wbDo6ZmluZElnbm9yaW5nQ2FzZSk6CisgICAgICAgIChXVEY6OnJl
dmVyc2VGaW5kSW5uZXIpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpyZXZlcnNlRmluZCk6
CisgICAgICAgIChXVEY6OnJldmVyc2VGaW5kSWdub3JpbmdDYXNlSW5uZXIpOgorICAgICAgICAo
V1RGOjpTdHJpbmdJbXBsOjpyZXZlcnNlRmluZElnbm9yaW5nQ2FzZSk6CisgICAgICAgIChXVEY6
OlN0cmluZ0ltcGw6OnJlcGxhY2UpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjp1dGY4Rm9y
Q2hhcmFjdGVycyk6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OnV0ZjhGb3JSYW5nZSk6Cisg
ICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmNwcDoKKyAgICAgICAgKFdURjo6U3RyaW5nOjph
cHBlbmQpOgorICAgICAgICAoV1RGOjpTdHJpbmc6OmFwcGVuZEludGVybmFsKToKKyAgICAgICAg
KFdURjo6U3RyaW5nOjppbnNlcnQpOgorICAgICAgICAoV1RGOjpTdHJpbmc6OnN1YnN0cmluZ1No
YXJpbmdJbXBsKToKKyAgICAgICAgKFdURjo6U3RyaW5nOjpmcm9tVVRGOCk6CisgICAgICAgIChX
VEY6OnRvSW50ZWdyYWxUeXBlKToKKyAgICAgICAgKiB3dGYvd2luL1J1bkxvb3BXaW4uY3BwOgor
CiAyMDE0LTAxLTA0ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBFeHBsaWNpdGx5IHVzZSB0aGUgc3RkOjogbmVzdGVkIG5hbWUgc3BlY2lmaWVyIHdoZW4g
dXNpbmcgc3RkOjpwYWlyLCBzdGQ6Om1ha2VfcGFpcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvTWVkaWFUaW1lLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5jcHAKaW5kZXggZjMw
ZjNjMTAwMzg0Y2U5ZmY3ZDM4NzE3MzBkOWI2ZDQ4ZWI1ODc0Mi4uZjg1NjcxNGQwMTk2M2Y5ZDc0
ODk0NmU2OWU1ZTc3Y2Y2OTE5ODA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVkaWFU
aW1lLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuY3BwCkBAIC0zMyw4ICszMyw2
IEBACiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+CiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIFdURiB7CiAK
IHN0YXRpYyBpbnQzMl90IGdyZWF0ZXN0Q29tbW9uRGl2aXNvcihpbnQzMl90IGEsIGludDMyX3Qg
YikKQEAgLTkwLDEyICs4OCwxMiBAQCBNZWRpYVRpbWUgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRmxv
YXQoZmxvYXQgZmxvYXRUaW1lLCBpbnQzMl90IHRpbWVTY2FsZSkKICAgICAgICAgcmV0dXJuIGlu
dmFsaWRUaW1lKCk7CiAgICAgaWYgKHN0ZDo6aXNpbmYoZmxvYXRUaW1lKSkKICAgICAgICAgcmV0
dXJuIHN0ZDo6c2lnbmJpdChmbG9hdFRpbWUpID8gbmVnYXRpdmVJbmZpbml0ZVRpbWUoKSA6IHBv
c2l0aXZlSW5maW5pdGVUaW1lKCk7Ci0gICAgaWYgKGZsb2F0VGltZSA+IG51bWVyaWNfbGltaXRz
PGludDY0X3Q+OjptYXgoKSkKKyAgICBpZiAoZmxvYXRUaW1lID4gc3RkOjpudW1lcmljX2xpbWl0
czxpbnQ2NF90Pjo6bWF4KCkpCiAgICAgICAgIHJldHVybiBwb3NpdGl2ZUluZmluaXRlVGltZSgp
OwotICAgIGlmIChmbG9hdFRpbWUgPCBudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWluKCkpCisg
ICAgaWYgKGZsb2F0VGltZSA8IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1pbigpKQog
ICAgICAgICByZXR1cm4gbmVnYXRpdmVJbmZpbml0ZVRpbWUoKTsKIAotICAgIHdoaWxlIChmbG9h
dFRpbWUgKiB0aW1lU2NhbGUgPiBudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCkpCisgICAg
d2hpbGUgKGZsb2F0VGltZSAqIHRpbWVTY2FsZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRf
dD46Om1heCgpKQogICAgICAgICB0aW1lU2NhbGUgLz0gMjsKICAgICByZXR1cm4gTWVkaWFUaW1l
KHN0YXRpY19jYXN0PGludDY0X3Q+KGZsb2F0VGltZSAqIHRpbWVTY2FsZSksIHRpbWVTY2FsZSwg
VmFsaWQpOwogfQpAQCAtMTA2LDEyICsxMDQsMTIgQEAgTWVkaWFUaW1lIE1lZGlhVGltZTo6Y3Jl
YXRlV2l0aERvdWJsZShkb3VibGUgZG91YmxlVGltZSwgaW50MzJfdCB0aW1lU2NhbGUpCiAgICAg
ICAgIHJldHVybiBpbnZhbGlkVGltZSgpOwogICAgIGlmIChzdGQ6OmlzaW5mKGRvdWJsZVRpbWUp
KQogICAgICAgICByZXR1cm4gc3RkOjpzaWduYml0KGRvdWJsZVRpbWUpID8gbmVnYXRpdmVJbmZp
bml0ZVRpbWUoKSA6IHBvc2l0aXZlSW5maW5pdGVUaW1lKCk7Ci0gICAgaWYgKGRvdWJsZVRpbWUg
PiBudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCkpCisgICAgaWYgKGRvdWJsZVRpbWUgPiBz
dGQ6Om51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKSkKICAgICAgICAgcmV0dXJuIHBvc2l0
aXZlSW5maW5pdGVUaW1lKCk7Ci0gICAgaWYgKGRvdWJsZVRpbWUgPCBudW1lcmljX2xpbWl0czxp
bnQ2NF90Pjo6bWluKCkpCisgICAgaWYgKGRvdWJsZVRpbWUgPCBzdGQ6Om51bWVyaWNfbGltaXRz
PGludDY0X3Q+OjptaW4oKSkKICAgICAgICAgcmV0dXJuIG5lZ2F0aXZlSW5maW5pdGVUaW1lKCk7
CiAKLSAgICB3aGlsZSAoZG91YmxlVGltZSAqIHRpbWVTY2FsZSA+IG51bWVyaWNfbGltaXRzPGlu
dDY0X3Q+OjptYXgoKSkKKyAgICB3aGlsZSAoZG91YmxlVGltZSAqIHRpbWVTY2FsZSA+IHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpKQogICAgICAgICB0aW1lU2NhbGUgLz0gMjsK
ICAgICByZXR1cm4gTWVkaWFUaW1lKHN0YXRpY19jYXN0PGludDY0X3Q+KGRvdWJsZVRpbWUgKiB0
aW1lU2NhbGUpLCB0aW1lU2NhbGUsIFZhbGlkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwu
Y3BwCmluZGV4IGZjZjc4Y2EwM2RkM2E3NjZkMTAzMzE0ZTVjNmM3ZDZhZDFjZjk0MjAuLjljY2Zh
OTQ1ZmMzNDY4ZGY3ZTk2NmZiZTY0ODg3MWM2ZThlM2ZlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdJbXBsLmNwcApAQCAtNDAsOCArNDAsNiBAQAogI2luY2x1ZGUgPHd0Zi9EYXRhTG9nLmg+CiAj
ZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIFdURiB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBVbmljb2RlOwpAQCAtMjk3LDcgKzI5NSw3IEBAIFBhc3NSZWY8U3RyaW5nSW1w
bD4gU3RyaW5nSW1wbDo6Y3JlYXRlKGNvbnN0IExDaGFyKiBzdHJpbmcpCiAgICAgaWYgKCFzdHJp
bmcpCiAgICAgICAgIHJldHVybiAqZW1wdHkoKTsKICAgICBzaXplX3QgbGVuZ3RoID0gc3RybGVu
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHN0cmluZykpOwotICAgIGlmIChsZW5ndGgg
PiBudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpKQorICAgIGlmIChsZW5ndGggPiBzdGQ6
Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkpCiAgICAgICAgIENSQVNIKCk7CiAgICAg
cmV0dXJuIGNyZWF0ZShzdHJpbmcsIGxlbmd0aCk7CiB9CkBAIC00NDcsNyArNDQ1LDcgQEAgU2xv
d1BhdGg4Yml0TG93ZXI6CiAgICAgICAgIHJldHVybiBuZXdJbXBsOwogICAgIH0KIAotICAgIGlm
IChtX2xlbmd0aCA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihudW1lcmljX2xpbWl0czxpbnQzMl90
Pjo6bWF4KCkpKQorICAgIGlmIChtX2xlbmd0aCA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGQ6
Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpCiAgICAgICAgIENSQVNIKCk7CiAgICAg
aW50MzJfdCBsZW5ndGggPSBtX2xlbmd0aDsKIApAQCAtNDc0LDcgKzQ3Miw3IEBAIFBhc3NSZWY8
U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6dXBwZXIoKQogICAgIC8vIGJ1dCBpbiBlbXBpcmljYWwg
dGVzdGluZywgZmV3IGFjdHVhbCBjYWxscyB0byB1cHBlcigpIGFyZSBuby1vcHMsIHNvCiAgICAg
Ly8gaXQgd291bGRuJ3QgYmUgd29ydGggdGhlIGV4dHJhIHRpbWUgZm9yIHByZS1zY2FubmluZy4K
IAotICAgIGlmIChtX2xlbmd0aCA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihudW1lcmljX2xpbWl0
czxpbnQzMl90Pjo6bWF4KCkpKQorICAgIGlmIChtX2xlbmd0aCA+IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpCiAgICAgICAgIENSQVNI
KCk7CiAgICAgaW50MzJfdCBsZW5ndGggPSBtX2xlbmd0aDsKIApAQCAtNTkyLDcgKzU5MCw3IEBA
IFBhc3NSZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6bG93ZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBsb2NhbGVJZGVudGlmaWVyKQogICAgIC8vIHRoaXMgbGFzdCBwYXJ0IGludG8gYSBzaGFyZWQg
ZnVuY3Rpb24gdGhhdCB0YWtlcyBhIGxvY2FsZSBzdHJpbmcsIHNpbmNlIHRoaXMgaXMKICAgICAv
LyBqdXN0IGxpa2UgdGhlIGVuZCBvZiB0aGF0IGZ1bmN0aW9uLgogCi0gICAgaWYgKG1fbGVuZ3Ro
ID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkp
CisgICAgaWYgKG1fbGVuZ3RoID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50MzJfdD46Om1heCgpKSkKICAgICAgICAgQ1JBU0goKTsKICAgICBpbnQgbGVuZ3Ro
ID0gbV9sZW5ndGg7CiAKQEAgLTYyMiw3ICs2MjAsNyBAQCBQYXNzUmVmPFN0cmluZ0ltcGw+IFN0
cmluZ0ltcGw6OnVwcGVyKGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllcikKICAg
ICBpZiAoIW5lZWRzVHVya2lzaENhc2luZ1J1bGVzKGxvY2FsZUlkZW50aWZpZXIpIHx8IGZpbmQo
J2knKSA9PSBub3RGb3VuZCkKICAgICAgICAgcmV0dXJuIHVwcGVyKCk7CiAKLSAgICBpZiAobV9s
ZW5ndGggPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1h
eCgpKSkKKyAgICBpZiAobV9sZW5ndGggPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc3RkOjpudW1l
cmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkpKQogICAgICAgICBDUkFTSCgpOwogICAgIGludCBs
ZW5ndGggPSBtX2xlbmd0aDsKIApAQCAtNjYyLDcgKzY2MCw3IEBAIFBhc3NSZWY8U3RyaW5nSW1w
bD4gU3RyaW5nSW1wbDo6ZmlsbChVQ2hhciBjaGFyYWN0ZXIpCiAKIFBhc3NSZWY8U3RyaW5nSW1w
bD4gU3RyaW5nSW1wbDo6Zm9sZENhc2UoKQogewotICAgIGlmIChtX2xlbmd0aCA+IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkpKQorICAgIGlmICht
X2xlbmd0aCA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptYXgoKSkpCiAgICAgICAgIENSQVNIKCk7CiAgICAgaW50MzJfdCBsZW5ndGggPSBtX2xl
bmd0aDsKIApAQCAtOTgxLDExICs5NzksMTEgQEAgc2l6ZV90IFN0cmluZ0ltcGw6OmZpbmQoY29u
c3QgTENoYXIqIG1hdGNoU3RyaW5nLCB1bnNpZ25lZCBpbmRleCkKICAgICBpZiAoIW1hdGNoU3Ry
aW5nKQogICAgICAgICByZXR1cm4gbm90Rm91bmQ7CiAgICAgc2l6ZV90IG1hdGNoU3RyaW5nTGVu
Z3RoID0gc3RybGVuKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KG1hdGNoU3RyaW5nKSk7
Ci0gICAgaWYgKG1hdGNoU3RyaW5nTGVuZ3RoID4gbnVtZXJpY19saW1pdHM8dW5zaWduZWQ+Ojpt
YXgoKSkKKyAgICBpZiAobWF0Y2hTdHJpbmdMZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVu
c2lnbmVkPjo6bWF4KCkpCiAgICAgICAgIENSQVNIKCk7CiAgICAgdW5zaWduZWQgbWF0Y2hMZW5n
dGggPSBtYXRjaFN0cmluZ0xlbmd0aDsKICAgICBpZiAoIW1hdGNoTGVuZ3RoKQotICAgICAgICBy
ZXR1cm4gbWluKGluZGV4LCBsZW5ndGgoKSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1pbihpbmRl
eCwgbGVuZ3RoKCkpOwogCiAgICAgLy8gT3B0aW1pemF0aW9uIDE6IGZhc3QgY2FzZSBmb3Igc3Ry
aW5ncyBvZiBsZW5ndGggMS4KICAgICBpZiAobWF0Y2hMZW5ndGggPT0gMSkKQEAgLTEwMjksMTEg
KzEwMjcsMTEgQEAgc2l6ZV90IFN0cmluZ0ltcGw6OmZpbmRJZ25vcmluZ0Nhc2UoY29uc3QgTENo
YXIqIG1hdGNoU3RyaW5nLCB1bnNpZ25lZCBpbmRleCkKICAgICBpZiAoIW1hdGNoU3RyaW5nKQog
ICAgICAgICByZXR1cm4gbm90Rm91bmQ7CiAgICAgc2l6ZV90IG1hdGNoU3RyaW5nTGVuZ3RoID0g
c3RybGVuKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KG1hdGNoU3RyaW5nKSk7Ci0gICAg
aWYgKG1hdGNoU3RyaW5nTGVuZ3RoID4gbnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkK
KyAgICBpZiAobWF0Y2hTdHJpbmdMZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVk
Pjo6bWF4KCkpCiAgICAgICAgIENSQVNIKCk7CiAgICAgdW5zaWduZWQgbWF0Y2hMZW5ndGggPSBt
YXRjaFN0cmluZ0xlbmd0aDsKICAgICBpZiAoIW1hdGNoTGVuZ3RoKQotICAgICAgICByZXR1cm4g
bWluKGluZGV4LCBsZW5ndGgoKSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1pbihpbmRleCwgbGVu
Z3RoKCkpOwogCiAgICAgLy8gQ2hlY2sgaW5kZXggJiBtYXRjaExlbmd0aCBhcmUgaW4gcmFuZ2Uu
CiAgICAgaWYgKGluZGV4ID4gbGVuZ3RoKCkpCkBAIC0xMTQwLDcgKzExMzgsNyBAQCBzaXplX3Qg
U3RyaW5nSW1wbDo6ZmluZChTdHJpbmdJbXBsKiBtYXRjaFN0cmluZywgdW5zaWduZWQgaW5kZXgp
CiAgICAgfQogCiAgICAgaWYgKFVOTElLRUxZKCFtYXRjaExlbmd0aCkpCi0gICAgICAgIHJldHVy
biBtaW4oaW5kZXgsIGxlbmd0aCgpKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWluKGluZGV4LCBs
ZW5ndGgoKSk7CiAKICAgICAvLyBDaGVjayBpbmRleCAmIG1hdGNoTGVuZ3RoIGFyZSBpbiByYW5n
ZS4KICAgICBpZiAoaW5kZXggPiBsZW5ndGgoKSkKQEAgLTExODQsNyArMTE4Miw3IEBAIHNpemVf
dCBTdHJpbmdJbXBsOjpmaW5kSWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqIG1hdGNoU3RyaW5nLCB1
bnNpZ25lZCBpbmRleCkKICAgICAgICAgcmV0dXJuIG5vdEZvdW5kOwogICAgIHVuc2lnbmVkIG1h
dGNoTGVuZ3RoID0gbWF0Y2hTdHJpbmctPmxlbmd0aCgpOwogICAgIGlmICghbWF0Y2hMZW5ndGgp
Ci0gICAgICAgIHJldHVybiBtaW4oaW5kZXgsIGxlbmd0aCgpKTsKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bWluKGluZGV4LCBsZW5ndGgoKSk7CiAKICAgICAvLyBDaGVjayBpbmRleCAmIG1hdGNoTGVu
Z3RoIGFyZSBpbiByYW5nZS4KICAgICBpZiAoaW5kZXggPiBsZW5ndGgoKSkKQEAgLTEyMjYsNyAr
MTIyNCw3IEBAIEFMV0FZU19JTkxJTkUgc3RhdGljIHNpemVfdCByZXZlcnNlRmluZElubmVyKGNv
bnN0IFNlYXJjaENoYXJhY3RlclR5cGUqIHNlYXJjaENoCiAgICAgLy8gb25seSBjYWxsIGVxdWFs
IGlmIHRoZSBoYXNoZXMgbWF0Y2guCiAKICAgICAvLyBkZWx0YSBpcyB0aGUgbnVtYmVyIG9mIGFk
ZGl0aW9uYWwgdGltZXMgdG8gdGVzdDsgZGVsdGEgPT0gMCBtZWFucyB0ZXN0IG9ubHkgb25jZS4K
LSAgICB1bnNpZ25lZCBkZWx0YSA9IG1pbihpbmRleCwgbGVuZ3RoIC0gbWF0Y2hMZW5ndGgpOwor
ICAgIHVuc2lnbmVkIGRlbHRhID0gc3RkOjptaW4oaW5kZXgsIGxlbmd0aCAtIG1hdGNoTGVuZ3Ro
KTsKICAgICAKICAgICB1bnNpZ25lZCBzZWFyY2hIYXNoID0gMDsKICAgICB1bnNpZ25lZCBtYXRj
aEhhc2ggPSAwOwpAQCAtMTI1NCw3ICsxMjUyLDcgQEAgc2l6ZV90IFN0cmluZ0ltcGw6OnJldmVy
c2VGaW5kKFN0cmluZ0ltcGwqIG1hdGNoU3RyaW5nLCB1bnNpZ25lZCBpbmRleCkKICAgICB1bnNp
Z25lZCBtYXRjaExlbmd0aCA9IG1hdGNoU3RyaW5nLT5sZW5ndGgoKTsKICAgICB1bnNpZ25lZCBv
dXJMZW5ndGggPSBsZW5ndGgoKTsKICAgICBpZiAoIW1hdGNoTGVuZ3RoKQotICAgICAgICByZXR1
cm4gbWluKGluZGV4LCBvdXJMZW5ndGgpOworICAgICAgICByZXR1cm4gc3RkOjptaW4oaW5kZXgs
IG91ckxlbmd0aCk7CiAKICAgICAvLyBPcHRpbWl6YXRpb24gMTogZmFzdCBjYXNlIGZvciBzdHJp
bmdzIG9mIGxlbmd0aCAxLgogICAgIGlmIChtYXRjaExlbmd0aCA9PSAxKSB7CkBAIC0xMjgzLDcg
KzEyODEsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgU2VhcmNoQ2hhcmFjdGVyVHlwZSwgdHlwZW5h
bWUgTWF0Y2hDaGFyYWN0ZXJUeXBlPgogQUxXQVlTX0lOTElORSBzdGF0aWMgc2l6ZV90IHJldmVy
c2VGaW5kSWdub3JpbmdDYXNlSW5uZXIoY29uc3QgU2VhcmNoQ2hhcmFjdGVyVHlwZSogc2VhcmNo
Q2hhcmFjdGVycywgY29uc3QgTWF0Y2hDaGFyYWN0ZXJUeXBlKiBtYXRjaENoYXJhY3RlcnMsIHVu
c2lnbmVkIGluZGV4LCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIG1hdGNoTGVuZ3RoKQogewog
ICAgIC8vIGRlbHRhIGlzIHRoZSBudW1iZXIgb2YgYWRkaXRpb25hbCB0aW1lcyB0byB0ZXN0OyBk
ZWx0YSA9PSAwIG1lYW5zIHRlc3Qgb25seSBvbmNlLgotICAgIHVuc2lnbmVkIGRlbHRhID0gbWlu
KGluZGV4LCBsZW5ndGggLSBtYXRjaExlbmd0aCk7CisgICAgdW5zaWduZWQgZGVsdGEgPSBzdGQ6
Om1pbihpbmRleCwgbGVuZ3RoIC0gbWF0Y2hMZW5ndGgpOwogCiAgICAgLy8ga2VlcCBsb29waW5n
IHVudGlsIHdlIG1hdGNoCiAgICAgd2hpbGUgKCFlcXVhbElnbm9yaW5nQ2FzZShzZWFyY2hDaGFy
YWN0ZXJzICsgZGVsdGEsIG1hdGNoQ2hhcmFjdGVycywgbWF0Y2hMZW5ndGgpKSB7CkBAIC0xMzAy
LDcgKzEzMDAsNyBAQCBzaXplX3QgU3RyaW5nSW1wbDo6cmV2ZXJzZUZpbmRJZ25vcmluZ0Nhc2Uo
U3RyaW5nSW1wbCogbWF0Y2hTdHJpbmcsIHVuc2lnbmVkIGluZAogICAgIHVuc2lnbmVkIG1hdGNo
TGVuZ3RoID0gbWF0Y2hTdHJpbmctPmxlbmd0aCgpOwogICAgIHVuc2lnbmVkIG91ckxlbmd0aCA9
IGxlbmd0aCgpOwogICAgIGlmICghbWF0Y2hMZW5ndGgpCi0gICAgICAgIHJldHVybiBtaW4oaW5k
ZXgsIG91ckxlbmd0aCk7CisgICAgICAgIHJldHVybiBzdGQ6Om1pbihpbmRleCwgb3VyTGVuZ3Ro
KTsKIAogICAgIC8vIENoZWNrIGluZGV4ICYgbWF0Y2hMZW5ndGggYXJlIGluIHJhbmdlLgogICAg
IGlmIChtYXRjaExlbmd0aCA+IG91ckxlbmd0aCkKQEAgLTE0NTQsMTMgKzE0NTIsMTMgQEAgUGFz
c1JlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpyZXBsYWNlKFVDaGFyIG9sZEMsIFVDaGFyIG5l
d0MpCiAKIFBhc3NSZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6cmVwbGFjZSh1bnNpZ25lZCBw
b3NpdGlvbiwgdW5zaWduZWQgbGVuZ3RoVG9SZXBsYWNlLCBTdHJpbmdJbXBsKiBzdHIpCiB7Ci0g
ICAgcG9zaXRpb24gPSBtaW4ocG9zaXRpb24sIGxlbmd0aCgpKTsKLSAgICBsZW5ndGhUb1JlcGxh
Y2UgPSBtaW4obGVuZ3RoVG9SZXBsYWNlLCBsZW5ndGgoKSAtIHBvc2l0aW9uKTsKKyAgICBwb3Np
dGlvbiA9IHN0ZDo6bWluKHBvc2l0aW9uLCBsZW5ndGgoKSk7CisgICAgbGVuZ3RoVG9SZXBsYWNl
ID0gc3RkOjptaW4obGVuZ3RoVG9SZXBsYWNlLCBsZW5ndGgoKSAtIHBvc2l0aW9uKTsKICAgICB1
bnNpZ25lZCBsZW5ndGhUb0luc2VydCA9IHN0ciA/IHN0ci0+bGVuZ3RoKCkgOiAwOwogICAgIGlm
ICghbGVuZ3RoVG9SZXBsYWNlICYmICFsZW5ndGhUb0luc2VydCkKICAgICAgICAgcmV0dXJuICp0
aGlzOwogCi0gICAgaWYgKChsZW5ndGgoKSAtIGxlbmd0aFRvUmVwbGFjZSkgPj0gKG51bWVyaWNf
bGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLSBsZW5ndGhUb0luc2VydCkpCisgICAgaWYgKChsZW5n
dGgoKSAtIGxlbmd0aFRvUmVwbGFjZSkgPj0gKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+
OjptYXgoKSAtIGxlbmd0aFRvSW5zZXJ0KSkKICAgICAgICAgQ1JBU0goKTsKIAogICAgIGlmIChp
czhCaXQoKSAmJiAoIXN0ciB8fCBzdHItPmlzOEJpdCgpKSkgewpAQCAtMTUyNSwxMiArMTUyMywx
MiBAQCBQYXNzUmVmPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OnJlcGxhY2UoVUNoYXIgcGF0dGVy
biwgY29uc3QgTENoYXIqIHJlcGxhY2VtZW50LAogICAgIGlmICghbWF0Y2hDb3VudCkKICAgICAg
ICAgcmV0dXJuICp0aGlzOwogCi0gICAgaWYgKHJlcFN0ckxlbmd0aCAmJiBtYXRjaENvdW50ID4g
bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAvIHJlcFN0ckxlbmd0aCkKKyAgICBpZiAo
cmVwU3RyTGVuZ3RoICYmIG1hdGNoQ291bnQgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVk
Pjo6bWF4KCkgLyByZXBTdHJMZW5ndGgpCiAgICAgICAgIENSQVNIKCk7CiAKICAgICB1bnNpZ25l
ZCByZXBsYWNlU2l6ZSA9IG1hdGNoQ291bnQgKiByZXBTdHJMZW5ndGg7CiAgICAgdW5zaWduZWQg
bmV3U2l6ZSA9IG1fbGVuZ3RoIC0gbWF0Y2hDb3VudDsKLSAgICBpZiAobmV3U2l6ZSA+PSAobnVt
ZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAtIHJlcGxhY2VTaXplKSkKKyAgICBpZiAobmV3
U2l6ZSA+PSAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpIC0gcmVwbGFjZVNp
emUpKQogICAgICAgICBDUkFTSCgpOwogCiAgICAgbmV3U2l6ZSArPSByZXBsYWNlU2l6ZTsKQEAg
LTE2MDIsMTIgKzE2MDAsMTIgQEAgUGFzc1JlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpyZXBs
YWNlKFVDaGFyIHBhdHRlcm4sIGNvbnN0IFVDaGFyKiByZXBsYWNlbWVudCwKICAgICBpZiAoIW1h
dGNoQ291bnQpCiAgICAgICAgIHJldHVybiAqdGhpczsKIAotICAgIGlmIChyZXBTdHJMZW5ndGgg
JiYgbWF0Y2hDb3VudCA+IG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLyByZXBTdHJM
ZW5ndGgpCisgICAgaWYgKHJlcFN0ckxlbmd0aCAmJiBtYXRjaENvdW50ID4gc3RkOjpudW1lcmlj
X2xpbWl0czx1bnNpZ25lZD46Om1heCgpIC8gcmVwU3RyTGVuZ3RoKQogICAgICAgICBDUkFTSCgp
OwogCiAgICAgdW5zaWduZWQgcmVwbGFjZVNpemUgPSBtYXRjaENvdW50ICogcmVwU3RyTGVuZ3Ro
OwogICAgIHVuc2lnbmVkIG5ld1NpemUgPSBtX2xlbmd0aCAtIG1hdGNoQ291bnQ7Ci0gICAgaWYg
KG5ld1NpemUgPj0gKG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLSByZXBsYWNlU2l6
ZSkpCisgICAgaWYgKG5ld1NpemUgPj0gKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+Ojpt
YXgoKSAtIHJlcGxhY2VTaXplKSkKICAgICAgICAgQ1JBU0goKTsKIAogICAgIG5ld1NpemUgKz0g
cmVwbGFjZVNpemU7CkBAIC0xNjg5LDEwICsxNjg3LDEwIEBAIFBhc3NSZWY8U3RyaW5nSW1wbD4g
U3RyaW5nSW1wbDo6cmVwbGFjZShTdHJpbmdJbXBsKiBwYXR0ZXJuLCBTdHJpbmdJbXBsKiByZXBs
YWNlCiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICAKICAgICB1bnNpZ25lZCBuZXdTaXplID0g
bV9sZW5ndGggLSBtYXRjaENvdW50ICogcGF0dGVybkxlbmd0aDsKLSAgICBpZiAocmVwU3RyTGVu
Z3RoICYmIG1hdGNoQ291bnQgPiBudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpIC8gcmVw
U3RyTGVuZ3RoKQorICAgIGlmIChyZXBTdHJMZW5ndGggJiYgbWF0Y2hDb3VudCA+IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAvIHJlcFN0ckxlbmd0aCkKICAgICAgICAgQ1JB
U0goKTsKIAotICAgIGlmIChuZXdTaXplID4gKG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4
KCkgLSBtYXRjaENvdW50ICogcmVwU3RyTGVuZ3RoKSkKKyAgICBpZiAobmV3U2l6ZSA+IChzdGQ6
Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLSBtYXRjaENvdW50ICogcmVwU3RyTGVu
Z3RoKSkKICAgICAgICAgQ1JBU0goKTsKIAogICAgIG5ld1NpemUgKz0gbWF0Y2hDb3VudCAqIHJl
cFN0ckxlbmd0aDsKQEAgLTIwODIsNyArMjA4MCw3IEBAIENTdHJpbmcgU3RyaW5nSW1wbDo6dXRm
OEZvckNoYXJhY3RlcnMoCiB7CiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBDU3Ry
aW5nKCIiLCAwKTsKLSAgICBpZiAobGVuZ3RoID4gbnVtZXJpY19saW1pdHM8dW5zaWduZWQ+Ojpt
YXgoKSAvIDMpCisgICAgaWYgKGxlbmd0aCA+IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+
OjptYXgoKSAvIDMpCiAgICAgICAgIHJldHVybiBDU3RyaW5nKCk7CiAgICAgVmVjdG9yPGNoYXIs
IDEwMjQ+IGJ1ZmZlclZlY3RvcihsZW5ndGggKiAzKTsKICAgICBjaGFyKiBidWZmZXIgPSBidWZm
ZXJWZWN0b3IuZGF0YSgpOwpAQCAtMjEwOSw3ICsyMTA3LDcgQEAgQ1N0cmluZyBTdHJpbmdJbXBs
Ojp1dGY4Rm9yUmFuZ2UodW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgsIENvbnZlcnNp
b25Nb2QKICAgICAvLyAgKiBXZSBjb3VsZCBhbGxvY2F0ZSBhIENTdHJpbmdCdWZmZXIgd2l0aCBh
biBhcHByb3ByaWF0ZSBzaXplIHRvCiAgICAgLy8gICAgaGF2ZSBhIGdvb2QgY2hhbmNlIG9mIGJl
aW5nIGFibGUgdG8gd3JpdGUgdGhlIHN0cmluZyBpbnRvIHRoZQogICAgIC8vICAgIGJ1ZmZlciB3
aXRob3V0IHJlYWxsb2NpbmcgKHNheSwgMS41IHggbGVuZ3RoKS4KLSAgICBpZiAobGVuZ3RoID4g
bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAvIDMpCisgICAgaWYgKGxlbmd0aCA+IHN0
ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAvIDMpCiAgICAgICAgIHJldHVybiBD
U3RyaW5nKCk7CiAgICAgVmVjdG9yPGNoYXIsIDEwMjQ+IGJ1ZmZlclZlY3RvcihsZW5ndGggKiAz
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwIGIvU291
cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCmluZGV4IGJjNzczZGE5MWMxMmFkODE5NmY0
OWI5MWQ3ZWZlYWQwYmY4MzhhODQuLmFmNDRkODdjODlhODM1YWY1ZWE1MDI5NzhhMWEwZmE5Zjcx
OTVkYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKQEAgLTM3LDEyICszNyw5IEBACiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVVRGOC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNv
ZGUuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIFdURiB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBVbmljb2RlOwotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogLy8gQ29uc3RydWN0
IGEgc3RyaW5nIHdpdGggVVRGLTE2IGRhdGEuCiBTdHJpbmc6OlN0cmluZyhjb25zdCBVQ2hhciog
Y2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQpAQCAtMTA0LDcgKzEwMSw3IEBAIHZvaWQgU3Ry
aW5nOjphcHBlbmQoY29uc3QgU3RyaW5nJiBzdHIpCiAgICAgICAgIGlmIChtX2ltcGwpIHsKICAg
ICAgICAgICAgIGlmIChtX2ltcGwtPmlzOEJpdCgpICYmIHN0ci5tX2ltcGwtPmlzOEJpdCgpKSB7
CiAgICAgICAgICAgICAgICAgTENoYXIqIGRhdGE7Ci0gICAgICAgICAgICAgICAgaWYgKHN0ci5s
ZW5ndGgoKSA+IG51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLSBtX2ltcGwtPmxlbmd0
aCgpKQorICAgICAgICAgICAgICAgIGlmIChzdHIubGVuZ3RoKCkgPiBzdGQ6Om51bWVyaWNfbGlt
aXRzPHVuc2lnbmVkPjo6bWF4KCkgLSBtX2ltcGwtPmxlbmd0aCgpKQogICAgICAgICAgICAgICAg
ICAgICBDUkFTSCgpOwogICAgICAgICAgICAgICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBuZXdJbXBs
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChtX2ltcGwtPmxlbmd0aCgpICsgc3Ry
Lmxlbmd0aCgpLCBkYXRhKTsKICAgICAgICAgICAgICAgICBtZW1jcHkoZGF0YSwgbV9pbXBsLT5j
aGFyYWN0ZXJzOCgpLCBtX2ltcGwtPmxlbmd0aCgpICogc2l6ZW9mKExDaGFyKSk7CkBAIC0xMTMs
NyArMTEwLDcgQEAgdm9pZCBTdHJpbmc6OmFwcGVuZChjb25zdCBTdHJpbmcmIHN0cikKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBVQ2hhciogZGF0
YTsKLSAgICAgICAgICAgIGlmIChzdHIubGVuZ3RoKCkgPiBudW1lcmljX2xpbWl0czx1bnNpZ25l
ZD46Om1heCgpIC0gbV9pbXBsLT5sZW5ndGgoKSkKKyAgICAgICAgICAgIGlmIChzdHIubGVuZ3Ro
KCkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLSBtX2ltcGwtPmxlbmd0
aCgpKQogICAgICAgICAgICAgICAgIENSQVNIKCk7CiAgICAgICAgICAgICBSZWZQdHI8U3RyaW5n
SW1wbD4gbmV3SW1wbCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVVuaW5pdGlhbGl6ZWQobV9pbXBsLT5s
ZW5ndGgoKSArIHN0ci5sZW5ndGgoKSwgZGF0YSk7CiAgICAgICAgICAgICBtZW1jcHkoZGF0YSwg
bV9pbXBsLT5jaGFyYWN0ZXJzKCksIG1faW1wbC0+bGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpKTsK
QEAgLTEzMyw3ICsxMzAsNyBAQCBpbmxpbmUgdm9pZCBTdHJpbmc6OmFwcGVuZEludGVybmFsKENo
YXJhY3RlclR5cGUgYykKICAgICAvLyBjYWxsIHRvIGZhc3RNYWxsb2MgZXZlcnkgc2luZ2xlIHRp
bWUuCiAgICAgaWYgKG1faW1wbCkgewogICAgICAgICBVQ2hhciogZGF0YTsKLSAgICAgICAgaWYg
KG1faW1wbC0+bGVuZ3RoKCkgPj0gbnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkKKyAg
ICAgICAgaWYgKG1faW1wbC0+bGVuZ3RoKCkgPj0gc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25l
ZD46Om1heCgpKQogICAgICAgICAgICAgQ1JBU0goKTsKICAgICAgICAgUmVmUHRyPFN0cmluZ0lt
cGw+IG5ld0ltcGwgPSBTdHJpbmdJbXBsOjpjcmVhdGVVbmluaXRpYWxpemVkKG1faW1wbC0+bGVu
Z3RoKCkgKyAxLCBkYXRhKTsKICAgICAgICAgbWVtY3B5KGRhdGEsIG1faW1wbC0+Y2hhcmFjdGVy
cygpLCBtX2ltcGwtPmxlbmd0aCgpICogc2l6ZW9mKFVDaGFyKSk7CkBAIC0xODcsNyArMTg0LDcg
QEAgdm9pZCBTdHJpbmc6OmFwcGVuZChjb25zdCBMQ2hhciogY2hhcmFjdGVyc1RvQXBwZW5kLCB1
bnNpZ25lZCBsZW5ndGhUb0FwcGVuZCkKICAgICB1bnNpZ25lZCBzdHJMZW5ndGggPSBtX2ltcGwt
Pmxlbmd0aCgpOwogCiAgICAgaWYgKG1faW1wbC0+aXM4Qml0KCkpIHsKLSAgICAgICAgaWYgKGxl
bmd0aFRvQXBwZW5kID4gbnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAtIHN0ckxlbmd0
aCkKKyAgICAgICAgaWYgKGxlbmd0aFRvQXBwZW5kID4gc3RkOjpudW1lcmljX2xpbWl0czx1bnNp
Z25lZD46Om1heCgpIC0gc3RyTGVuZ3RoKQogICAgICAgICAgICAgQ1JBU0goKTsKICAgICAgICAg
TENoYXIqIGRhdGE7CiAgICAgICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBuZXdJbXBsID0gU3RyaW5n
SW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChzdHJMZW5ndGggKyBsZW5ndGhUb0FwcGVuZCwgZGF0
YSk7CkBAIC0xOTcsNyArMTk0LDcgQEAgdm9pZCBTdHJpbmc6OmFwcGVuZChjb25zdCBMQ2hhciog
Y2hhcmFjdGVyc1RvQXBwZW5kLCB1bnNpZ25lZCBsZW5ndGhUb0FwcGVuZCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIGlmIChsZW5ndGhUb0FwcGVuZCA+IG51bWVyaWNfbGltaXRzPHVu
c2lnbmVkPjo6bWF4KCkgLSBzdHJMZW5ndGgpCisgICAgaWYgKGxlbmd0aFRvQXBwZW5kID4gc3Rk
OjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpIC0gc3RyTGVuZ3RoKQogICAgICAgICBD
UkFTSCgpOwogICAgIFVDaGFyKiBkYXRhOwogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBuZXdJbXBs
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgoKSArIGxlbmd0aFRvQXBw
ZW5kLCBkYXRhKTsKQEAgLTIyMSw3ICsyMTgsNyBAQCB2b2lkIFN0cmluZzo6YXBwZW5kKGNvbnN0
IFVDaGFyKiBjaGFyYWN0ZXJzVG9BcHBlbmQsIHVuc2lnbmVkIGxlbmd0aFRvQXBwZW5kKQogICAg
IHVuc2lnbmVkIHN0ckxlbmd0aCA9IG1faW1wbC0+bGVuZ3RoKCk7CiAgICAgCiAgICAgQVNTRVJU
KGNoYXJhY3RlcnNUb0FwcGVuZCk7Ci0gICAgaWYgKGxlbmd0aFRvQXBwZW5kID4gbnVtZXJpY19s
aW1pdHM8dW5zaWduZWQ+OjptYXgoKSAtIHN0ckxlbmd0aCkKKyAgICBpZiAobGVuZ3RoVG9BcHBl
bmQgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgLSBzdHJMZW5ndGgpCiAg
ICAgICAgIENSQVNIKCk7CiAgICAgVUNoYXIqIGRhdGE7CiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+
IG5ld0ltcGwgPSBTdHJpbmdJbXBsOjpjcmVhdGVVbmluaXRpYWxpemVkKHN0ckxlbmd0aCArIGxl
bmd0aFRvQXBwZW5kLCBkYXRhKTsKQEAgLTI0OCw3ICsyNDUsNyBAQCB2b2lkIFN0cmluZzo6aW5z
ZXJ0KGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzVG9JbnNlcnQsIHVuc2lnbmVkIGxlbmd0aFRvSW5z
ZXJ0LCB1bgogCiAgICAgQVNTRVJUKGNoYXJhY3RlcnNUb0luc2VydCk7CiAgICAgVUNoYXIqIGRh
dGE7Ci0gICAgaWYgKGxlbmd0aFRvSW5zZXJ0ID4gbnVtZXJpY19saW1pdHM8dW5zaWduZWQ+Ojpt
YXgoKSAtIGxlbmd0aCgpKQorICAgIGlmIChsZW5ndGhUb0luc2VydCA+IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dW5zaWduZWQ+OjptYXgoKSAtIGxlbmd0aCgpKQogICAgICAgICBDUkFTSCgpOwogICAg
IFJlZlB0cjxTdHJpbmdJbXBsPiBuZXdJbXBsID0gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFs
aXplZChsZW5ndGgoKSArIGxlbmd0aFRvSW5zZXJ0LCBkYXRhKTsKICAgICBtZW1jcHkoZGF0YSwg
Y2hhcmFjdGVycygpLCBwb3NpdGlvbiAqIHNpemVvZihVQ2hhcikpOwpAQCAtMzE2LDggKzMxMyw4
IEBAIFN0cmluZyBTdHJpbmc6OnN1YnN0cmluZ1NoYXJpbmdJbXBsKHVuc2lnbmVkIG9mZnNldCwg
dW5zaWduZWQgbGVuZ3RoKSBjb25zdAogICAgIC8vIEZJWE1FOiBXZSB1c2VkIHRvIGNoZWNrIGFn
YWluc3QgYSBsaW1pdCBvZiBIZWFwOjptaW5FeHRyYUNvc3QgLyBzaXplb2YoVUNoYXIpLgogCiAg
ICAgdW5zaWduZWQgc3RyaW5nTGVuZ3RoID0gdGhpcy0+bGVuZ3RoKCk7Ci0gICAgb2Zmc2V0ID0g
bWluKG9mZnNldCwgc3RyaW5nTGVuZ3RoKTsKLSAgICBsZW5ndGggPSBtaW4obGVuZ3RoLCBzdHJp
bmdMZW5ndGggLSBvZmZzZXQpOworICAgIG9mZnNldCA9IHN0ZDo6bWluKG9mZnNldCwgc3RyaW5n
TGVuZ3RoKTsKKyAgICBsZW5ndGggPSBzdGQ6Om1pbihsZW5ndGgsIHN0cmluZ0xlbmd0aCAtIG9m
ZnNldCk7CiAKICAgICBpZiAoIW9mZnNldCAmJiBsZW5ndGggPT0gc3RyaW5nTGVuZ3RoKQogICAg
ICAgICByZXR1cm4gKnRoaXM7CkBAIC04MzMsNyArODMwLDcgQEAgU3RyaW5nIFN0cmluZzo6bWFr
ZTE2Qml0RnJvbThCaXRTb3VyY2UoY29uc3QgTENoYXIqIHNvdXJjZSwgc2l6ZV90IGxlbmd0aCkK
IAogU3RyaW5nIFN0cmluZzo6ZnJvbVVURjgoY29uc3QgTENoYXIqIHN0cmluZ1N0YXJ0LCBzaXpl
X3QgbGVuZ3RoKQogewotICAgIGlmIChsZW5ndGggPiBudW1lcmljX2xpbWl0czx1bnNpZ25lZD46
Om1heCgpKQorICAgIGlmIChsZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6
bWF4KCkpCiAgICAgICAgIENSQVNIKCk7CiAKICAgICBpZiAoIXN0cmluZ1N0YXJ0KQpAQCAtODk4
LDggKzg5NSw4IEBAIHN0YXRpYyBib29sIGlzQ2hhcmFjdGVyQWxsb3dlZEluQmFzZShVQ2hhciBj
LCBpbnQgYmFzZSkKIHRlbXBsYXRlIDx0eXBlbmFtZSBJbnRlZ3JhbFR5cGUsIHR5cGVuYW1lIENo
YXJUeXBlPgogc3RhdGljIGlubGluZSBJbnRlZ3JhbFR5cGUgdG9JbnRlZ3JhbFR5cGUoY29uc3Qg
Q2hhclR5cGUqIGRhdGEsIHNpemVfdCBsZW5ndGgsIGJvb2wqIG9rLCBpbnQgYmFzZSkKIHsKLSAg
ICBzdGF0aWMgY29uc3QgSW50ZWdyYWxUeXBlIGludGVncmFsTWF4ID0gbnVtZXJpY19saW1pdHM8
SW50ZWdyYWxUeXBlPjo6bWF4KCk7Ci0gICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTaWduZWQgPSBu
dW1lcmljX2xpbWl0czxJbnRlZ3JhbFR5cGU+Ojppc19zaWduZWQ7CisgICAgc3RhdGljIGNvbnN0
IEludGVncmFsVHlwZSBpbnRlZ3JhbE1heCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8SW50ZWdyYWxU
eXBlPjo6bWF4KCk7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTaWduZWQgPSBzdGQ6Om51bWVy
aWNfbGltaXRzPEludGVncmFsVHlwZT46OmlzX3NpZ25lZDsKICAgICBjb25zdCBJbnRlZ3JhbFR5
cGUgbWF4TXVsdGlwbGllciA9IGludGVncmFsTWF4IC8gYmFzZTsKIAogICAgIEludGVncmFsVHlw
ZSB2YWx1ZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5j
cHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKaW5kZXggMzM1MzFiNjM5NGM0
ODJmYzJkMzllZmQ2ZDA4MTZiYWQ1ZmYwZDQ2OS4uMTdiZWU2Zjc0YTgyZjU5ZWRmODg3OTA1ODIz
ZWJjNDBkODM5ZTJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcApAQCAtMjksOCArMjks
NiBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9XaW5kb3dz
RXh0cmFzLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXVEYgewogCiBz
dGF0aWMgY29uc3QgVUlOVCBQZXJmb3JtV29ya01lc3NhZ2UgPSBXTV9VU0VSICsgMTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>