<?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>57816</bug_id>
          
          <creation_ts>2011-04-04 22:23:06 -0700</creation_ts>
          <short_desc>REGRESSION(r82876): Caused a lot of test crashes (Requested by tkent on #webkit).</short_desc>
          <delta_ts>2011-04-04 23:58: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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          <blocked>57502</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>379330</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-04 22:23:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82876 broke the build:
Caused a lot of test crashes (Requested by tkent on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379331</commentid>
    <comment_count>1</comment_count>
      <attachid>88184</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-04 22:23:29 -0700</bug_when>
    <thetext>Created attachment 88184
ROLLOUT of r82876

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379332</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-04 22:24:49 -0700</bug_when>
    <thetext>What are the crashes?  Given the purpose of this patch was to detect buffer overruns, etc I&apos;d like to know exactly what is causing the crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379337</commentid>
    <comment_count>3</comment_count>
      <attachid>88184</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-04 22:33:56 -0700</bug_when>
    <thetext>Comment on attachment 88184
ROLLOUT of r82876

Clearing flags on attachment: 88184

Committed r82905: &lt;http://trac.webkit.org/changeset/82905&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379338</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-04 22:34:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379358</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-04 23:58:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82905 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88184</attachid>
            <date>2011-04-04 22:23:29 -0700</date>
            <delta_ts>2011-04-04 22:33:56 -0700</delta_ts>
            <desc>ROLLOUT of r82876</desc>
            <filename>bug-57816-20110405052055.patch</filename>
            <type>text/plain</type>
            <size>23651</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI5MDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDky
ZjgzMjE0NGIxNDNiMDUxNTU1YmEwZTNlYzA5NmRjM2E3Mjk5NzUuLjIzY2VhZTgwOThlNjhiYjg1
NzBiNWU5ODZiY2M2OGI1Zjk3N2IzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDQyIEBACisyMDExLTA0LTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODI4NzYuCisgICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgyODc2CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzgxNgorCisgICAgICAgIENhdXNl
ZCBhIGxvdCBvZiB0ZXN0IGNyYXNoZXMgKFJlcXVlc3RlZCBieSB0a2VudCBvbiAjd2Via2l0KS4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIHd0
Zi9GYXN0TWFsbG9jLmNwcDoKKyAgICAgICAgKFdURjo6dHJ5RmFzdE1hbGxvYyk6CisgICAgICAg
IChXVEY6OmZhc3RNYWxsb2MpOgorICAgICAgICAoV1RGOjp0cnlGYXN0Q2FsbG9jKToKKyAgICAg
ICAgKFdURjo6ZmFzdENhbGxvYyk6CisgICAgICAgIChXVEY6OmZhc3RGcmVlKToKKyAgICAgICAg
KFdURjo6dHJ5RmFzdFJlYWxsb2MpOgorICAgICAgICAoV1RGOjpmYXN0UmVhbGxvYyk6CisgICAg
ICAgIChXVEY6OmZhc3RNYWxsb2NTaXplKToKKyAgICAgICAgKFdURjo6VENNYWxsb2NfUGFnZUhl
YXA6OmlzU2NhdmVuZ2VyU3VzcGVuZGVkKToKKyAgICAgICAgKFdURjo6VENNYWxsb2NfUGFnZUhl
YXA6OnNjaGVkdWxlU2NhdmVuZ2VyKToKKyAgICAgICAgKFdURjo6VENNYWxsb2NfUGFnZUhlYXA6
OnN1c3BlbmRTY2F2ZW5nZXIpOgorICAgICAgICAoV1RGOjpUQ01hbGxvY19QYWdlSGVhcDo6c2ln
bmFsU2NhdmVuZ2VyKToKKyAgICAgICAgKFdURjo6VENNYWxsb2NTdGF0czo6bWFsbG9jKToKKyAg
ICAgICAgKFdURjo6VENNYWxsb2NTdGF0czo6ZnJlZSk6CisgICAgICAgIChXVEY6OlRDTWFsbG9j
U3RhdHM6OmZhc3RDYWxsb2MpOgorICAgICAgICAoV1RGOjpUQ01hbGxvY1N0YXRzOjp0cnlGYXN0
Q2FsbG9jKToKKyAgICAgICAgKFdURjo6VENNYWxsb2NTdGF0czo6Y2FsbG9jKToKKyAgICAgICAg
KFdURjo6VENNYWxsb2NTdGF0czo6ZmFzdFJlYWxsb2MpOgorICAgICAgICAoV1RGOjpUQ01hbGxv
Y1N0YXRzOjp0cnlGYXN0UmVhbGxvYyk6CisgICAgICAgIChXVEY6OlRDTWFsbG9jU3RhdHM6OnJl
YWxsb2MpOgorICAgICAgICAoV1RGOjpUQ01hbGxvY1N0YXRzOjpmYXN0TWFsbG9jU2l6ZSk6Cisg
ICAgICAgICogd3RmL0Zhc3RNYWxsb2MuaDoKKyAgICAgICAgKFdURjo6SW50ZXJuYWw6OmZhc3RN
YWxsb2NNYXRjaFZhbGlkYXRpb25UeXBlKToKKyAgICAgICAgKFdURjo6SW50ZXJuYWw6OmZhc3RN
YWxsb2NNYXRjaFZhbGlkYXRpb25WYWx1ZSk6CisgICAgICAgIChXVEY6OkludGVybmFsOjpzZXRG
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0aW9uVHlwZSk6CisgICAgICAgIChXVEY6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRlRnJlZSk6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTEtMDQt
MDQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CmluZGV4IGU2MWU4MzBlZTI4MGVmYTE4NGZjNWEzZTJlOWE5NGVmMmVhNzc0NTQuLmI5ZTUzNTQ5
Y2RmODk0YzIwMWFiNmFlZWVmYzk5MWE3ZDlkZTg2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmV4cApAQCAtNDkyLDcgKzQ5Miw2IEBAIF9fWk4zV1RGN3htbEF0b21F
CiBfX1pOM1dURjhDb2xsYXRvcjE4c2V0T3JkZXJMb3dlckZpcnN0RWIKIF9fWk4zV1RGOENvbGxh
dG9yQzFFUEtjCiBfX1pOM1dURjhDb2xsYXRvckQxRXYKLV9fWk4zV1RGOEludGVybmFsMjFmYXN0
TWFsbG9jTWF0Y2hGYWlsZWRFUHYKIF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM1dURjhtc1Rv
WWVhckVkCiBfX1pOM1dURjhudWxsQXRvbUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggMTNlMjNiZWMxNmViNWNjODk3NTYwZWQ0
ZTJkMjhhYWVmODBmMDVmMy4uNWM0YzM3NGFkNGMwZDQ4ZGNkYjQ1MzE2ZWRhZmNhYWI2YWI2ODIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJv
ai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5kZWYKQEAgLTE2MSw3ICsxNjEsNiBAQCBFWFBPUlRTCiAgICAgP2Zhc3RDYWxsb2NAV1RGQEBZ
QVBBWElJQFoKICAgICA/ZmFzdEZyZWVAV1RGQEBZQVhQQVhAWgogICAgID9mYXN0TWFsbG9jQFdU
RkBAWUFQQVhJQFoKLSAgICA/ZmFzdE1hbGxvY01hdGNoRmFpbGVkQEludGVybmFsQFdURkBAWUFY
UEFYQFoKICAgICA/ZmFzdE1hbGxvY1NpemVAV1RGQEBZQUlQQlhAWgogICAgID9mYXN0UmVhbGxv
Y0BXVEZAQFlBUEFYUEFYSUBaCiAgICAgP2Zhc3RTdHJEdXBAV1RGQEBZQVBBRFBCREBaCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcAppbmRleCBkMDU2ZjRhNjU5YWQyYjk1
NjM4ZDJiOGVmMzFiMTVlM2RjMGU5NzIxLi4zYjc5ZjZkNzliMDFmNjkzN2FjZThhZWY0ZTcwZTA0
ZDBkMWU0NDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxs
b2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAKQEAg
LTE2MSwxMyArMTYxLDEwIEBAIHZvaWQgZmFzdE1hbGxvY0FsbG93KCkKIAogbmFtZXNwYWNlIFdU
RiB7CiAKKyNpZiBFTkFCTEUoRkFTVF9NQUxMT0NfTUFUQ0hfVkFMSURBVElPTikKIAogbmFtZXNw
YWNlIEludGVybmFsIHsKLSNpZiAhRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLXZvaWQg
ZmFzdE1hbGxvY01hdGNoRmFpbGVkKHZvaWQqKTsKLSNlbHNlCi1DT01QSUxFX0FTU0VSVCgoKHNp
emVvZihWYWxpZGF0aW9uSGVhZGVyKSAlIHNpemVvZihBbGxvY0FsaWdubWVudEludGVnZXIpKSA9
PSAwKSwgVmFsaWRhdGlvbkhlYWRlcl9tdXN0X3Byb2R1Y2VfY29ycmVjdF9hbGlnbm1lbnQpOwot
I2VuZGlmCisKIHZvaWQgZmFzdE1hbGxvY01hdGNoRmFpbGVkKHZvaWQqKQogewogICAgIENSQVNI
KCk7CkBAIC0xNzUsNiArMTcyLDcgQEAgdm9pZCBmYXN0TWFsbG9jTWF0Y2hGYWlsZWQodm9pZCop
CiAKIH0gLy8gbmFtZXNwYWNlIEludGVybmFsCiAKKyNlbmRpZgogCiB2b2lkKiBmYXN0WmVyb2Vk
TWFsbG9jKHNpemVfdCBuKSAKIHsKQEAgLTIyMywyMCArMjIxLDE3IEBAIFRyeU1hbGxvY1JldHVy
blZhbHVlIHRyeUZhc3RNYWxsb2Moc2l6ZV90IG4pCiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJpZGRl
bigpKTsKIAotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgaWYgKHN0ZDo6
bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLSBJbnRlcm5hbDo6VmFsaWRhdGlvbkJ1ZmZl
clNpemUgPD0gbikgIC8vIElmIG92ZXJmbG93IHdvdWxkIG9jY3VyLi4uCisjaWYgRU5BQkxFKEZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCisgICAgaWYgKHN0ZDo6bnVtZXJpY19saW1pdHM8
c2l6ZV90Pjo6bWF4KCkgLSBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSA8PSBuKSAgLy8g
SWYgb3ZlcmZsb3cgd291bGQgb2NjdXIuLi4KICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICB2b2lk
KiByZXN1bHQgPSBtYWxsb2MobiArIEludGVybmFsOjpWYWxpZGF0aW9uQnVmZmVyU2l6ZSk7Cisg
ICAgdm9pZCogcmVzdWx0ID0gbWFsbG9jKG4gKyBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2Vy
KSk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiAwOwotICAgIEludGVybmFsOjpW
YWxpZGF0aW9uSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxJbnRlcm5hbDo6VmFsaWRhdGlv
bkhlYWRlcio+KHJlc3VsdCk7Ci0gICAgaGVhZGVyLT5tX3NpemUgPSBuOwotICAgIGhlYWRlci0+
bV90eXBlID0gSW50ZXJuYWw6OkFsbG9jVHlwZU1hbGxvYzsKLSAgICBoZWFkZXItPm1fcHJlZml4
ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEludGVybmFsOjpWYWxpZGF0aW9uUHJlZml4KTsKLSAg
ICByZXN1bHQgPSBoZWFkZXIgKyAxOwotICAgICpJbnRlcm5hbDo6ZmFzdE1hbGxvY1ZhbGlkYXRp
b25TdWZmaXgocmVzdWx0KSA9IEludGVybmFsOjpWYWxpZGF0aW9uU3VmZml4OwotICAgIGZhc3RN
YWxsb2NWYWxpZGF0ZShyZXN1bHQpOworCisgICAgKnN0YXRpY19jYXN0PEFsbG9jQWxpZ25tZW50
SW50ZWdlcio+KHJlc3VsdCkgPSBJbnRlcm5hbDo6QWxsb2NUeXBlTWFsbG9jOworICAgIHJlc3Vs
dCA9IHN0YXRpY19jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdlcio+KHJlc3VsdCkgKyAxOworCiAg
ICAgcmV0dXJuIHJlc3VsdDsKICNlbHNlCiAgICAgcmV0dXJuIG1hbGxvYyhuKTsKQEAgLTI0Nyw3
ICsyNDIsNyBAQCB2b2lkKiBmYXN0TWFsbG9jKHNpemVfdCBuKQogewogICAgIEFTU0VSVCghaXNG
b3JiaWRkZW4oKSk7CiAKLSNpZiBFTkFCTEUoV1RGX01BTExPQ19WQUxJREFUSU9OKQorI2lmIEVO
QUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OKQogICAgIFRyeU1hbGxvY1JldHVyblZh
bHVlIHJldHVyblZhbHVlID0gdHJ5RmFzdE1hbGxvYyhuKTsKICAgICB2b2lkKiByZXN1bHQ7CiAg
ICAgaWYgKCFyZXR1cm5WYWx1ZS5nZXRWYWx1ZShyZXN1bHQpKQpAQCAtMjczLDE3ICsyNjgsMTkg
QEAgVHJ5TWFsbG9jUmV0dXJuVmFsdWUgdHJ5RmFzdENhbGxvYyhzaXplX3Qgbl9lbGVtZW50cywg
c2l6ZV90IGVsZW1lbnRfc2l6ZSkKIHsKICAgICBBU1NFUlQoIWlzRm9yYmlkZGVuKCkpOwogCi0j
aWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKKyNpZiBFTkFCTEUoRkFTVF9NQUxMT0Nf
TUFUQ0hfVkFMSURBVElPTikKICAgICBzaXplX3QgdG90YWxCeXRlcyA9IG5fZWxlbWVudHMgKiBl
bGVtZW50X3NpemU7Ci0gICAgaWYgKG5fZWxlbWVudHMgPiAxICYmIGVsZW1lbnRfc2l6ZSAmJiAo
dG90YWxCeXRlcyAvIGVsZW1lbnRfc2l6ZSkgIT0gbl9lbGVtZW50cykKKyAgICBpZiAobl9lbGVt
ZW50cyA+IDEgJiYgZWxlbWVudF9zaXplICYmICh0b3RhbEJ5dGVzIC8gZWxlbWVudF9zaXplKSAh
PSBuX2VsZW1lbnRzIHx8IChzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIC0gc2l6
ZW9mKEFsbG9jQWxpZ25tZW50SW50ZWdlcikgPD0gdG90YWxCeXRlcykpCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgVHJ5TWFsbG9jUmV0dXJuVmFsdWUgcmV0dXJuVmFsdWUgPSB0cnlGYXN0TWFs
bG9jKHRvdGFsQnl0ZXMpOwotICAgIHZvaWQqIHJlc3VsdDsKLSAgICBpZiAoIXJldHVyblZhbHVl
LmdldFZhbHVlKHJlc3VsdCkpCisgICAgdG90YWxCeXRlcyArPSBzaXplb2YoQWxsb2NBbGlnbm1l
bnRJbnRlZ2VyKTsKKyAgICB2b2lkKiByZXN1bHQgPSBtYWxsb2ModG90YWxCeXRlcyk7CisgICAg
aWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiAwOworCiAgICAgbWVtc2V0KHJlc3VsdCwgMCwg
dG90YWxCeXRlcyk7Ci0gICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHJlc3VsdCk7CisgICAgKnN0YXRp
Y19jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdlcio+KHJlc3VsdCkgPSBJbnRlcm5hbDo6QWxsb2NU
eXBlTWFsbG9jOworICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdl
cio+KHJlc3VsdCkgKyAxOwogICAgIHJldHVybiByZXN1bHQ7CiAjZWxzZQogICAgIHJldHVybiBj
YWxsb2Mobl9lbGVtZW50cywgZWxlbWVudF9zaXplKTsKQEAgLTI5NCw3ICsyOTEsNyBAQCB2b2lk
KiBmYXN0Q2FsbG9jKHNpemVfdCBuX2VsZW1lbnRzLCBzaXplX3QgZWxlbWVudF9zaXplKQogewog
ICAgIEFTU0VSVCghaXNGb3JiaWRkZW4oKSk7CiAKLSNpZiBFTkFCTEUoV1RGX01BTExPQ19WQUxJ
REFUSU9OKQorI2lmIEVOQUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OKQogICAgIFRy
eU1hbGxvY1JldHVyblZhbHVlIHJldHVyblZhbHVlID0gdHJ5RmFzdENhbGxvYyhuX2VsZW1lbnRz
LCBlbGVtZW50X3NpemUpOwogICAgIHZvaWQqIHJlc3VsdDsKICAgICBpZiAoIXJldHVyblZhbHVl
LmdldFZhbHVlKHJlc3VsdCkpCkBAIC0zMjAsMTMgKzMxNywxMyBAQCB2b2lkIGZhc3RGcmVlKHZv
aWQqIHApCiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJpZGRlbigpKTsKIAotI2lmIEVOQUJMRShXVEZf
TUFMTE9DX1ZBTElEQVRJT04pCisjaWYgRU5BQkxFKEZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJ
T04pCiAgICAgaWYgKCFwKQogICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVGcmVlKHAsIEludGVybmFsOjpBbGxvY1R5cGVNYWxsb2MpOwotICAgIEludGVy
bmFsOjpWYWxpZGF0aW9uSGVhZGVyKiBoZWFkZXIgPSBJbnRlcm5hbDo6ZmFzdE1hbGxvY1ZhbGlk
YXRpb25IZWFkZXIocCk7Ci0gICAgbWVtc2V0KHAsIDB4Q0MsIGhlYWRlci0+bV9zaXplKTsKKwor
ICAgIEFsbG9jQWxpZ25tZW50SW50ZWdlciogaGVhZGVyID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRpb25WYWx1ZShwKTsKKyAgICBpZiAoKmhlYWRlciAhPSBJbnRlcm5hbDo6QWxs
b2NUeXBlTWFsbG9jKQorICAgICAgICBJbnRlcm5hbDo6ZmFzdE1hbGxvY01hdGNoRmFpbGVkKHAp
OwogICAgIGZyZWUoaGVhZGVyKTsKICNlbHNlCiAgICAgZnJlZShwKTsKQEAgLTMzNywxOCArMzM0
LDIwIEBAIFRyeU1hbGxvY1JldHVyblZhbHVlIHRyeUZhc3RSZWFsbG9jKHZvaWQqIHAsIHNpemVf
dCBuKQogewogICAgIEFTU0VSVCghaXNGb3JiaWRkZW4oKSk7CiAKLSNpZiBFTkFCTEUoV1RGX01B
TExPQ19WQUxJREFUSU9OKQorI2lmIEVOQUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9O
KQogICAgIGlmIChwKSB7Ci0gICAgICAgIGlmIChzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46
Om1heCgpIC0gSW50ZXJuYWw6OlZhbGlkYXRpb25CdWZmZXJTaXplIDw9IG4pICAvLyBJZiBvdmVy
ZmxvdyB3b3VsZCBvY2N1ci4uLgorICAgICAgICBpZiAoc3RkOjpudW1lcmljX2xpbWl0czxzaXpl
X3Q+OjptYXgoKSAtIHNpemVvZihBbGxvY0FsaWdubWVudEludGVnZXIpIDw9IG4pICAvLyBJZiBv
dmVyZmxvdyB3b3VsZCBvY2N1ci4uLgogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGZh
c3RNYWxsb2NWYWxpZGF0ZShwKTsKLSAgICAgICAgSW50ZXJuYWw6OlZhbGlkYXRpb25IZWFkZXIq
IHJlc3VsdCA9IHN0YXRpY19jYXN0PEludGVybmFsOjpWYWxpZGF0aW9uSGVhZGVyKj4ocmVhbGxv
YyhJbnRlcm5hbDo6ZmFzdE1hbGxvY1ZhbGlkYXRpb25IZWFkZXIocCksIG4gKyBJbnRlcm5hbDo6
VmFsaWRhdGlvbkJ1ZmZlclNpemUpKTsKKyAgICAgICAgQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKiBo
ZWFkZXIgPSBJbnRlcm5hbDo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGlvblZhbHVlKHApOworICAg
ICAgICBpZiAoKmhlYWRlciAhPSBJbnRlcm5hbDo6QWxsb2NUeXBlTWFsbG9jKQorICAgICAgICAg
ICAgSW50ZXJuYWw6OmZhc3RNYWxsb2NNYXRjaEZhaWxlZChwKTsKKyAgICAgICAgdm9pZCogcmVz
dWx0ID0gcmVhbGxvYyhoZWFkZXIsIG4gKyBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSk7
CiAgICAgICAgIGlmICghcmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJl
c3VsdC0+bV9zaXplID0gbjsKLSAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgMTsKLSAgICAgICAg
KmZhc3RNYWxsb2NWYWxpZGF0aW9uU3VmZml4KHJlc3VsdCkgPSBJbnRlcm5hbDo6VmFsaWRhdGlv
blN1ZmZpeDsKLSAgICAgICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHJlc3VsdCk7CisKKyAgICAgICAg
Ly8gVGhpcyBzaG91bGQgbm90IGJlIG5lZWRlZCBiZWNhdXNlIHRoZSB2YWx1ZSBpcyBhbHJlYWR5
IHRoZXJlOgorICAgICAgICAvLyAqc3RhdGljX2Nhc3Q8QWxsb2NBbGlnbm1lbnRJbnRlZ2VyKj4o
cmVzdWx0KSA9IEludGVybmFsOjpBbGxvY1R5cGVNYWxsb2M7CisgICAgICAgIHJlc3VsdCA9IHN0
YXRpY19jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdlcio+KHJlc3VsdCkgKyAxOwogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiBmYXN0TWFsbG9jKG4p
OwpAQCAtMzYyLDcgKzM2MSw3IEBAIHZvaWQqIGZhc3RSZWFsbG9jKHZvaWQqIHAsIHNpemVfdCBu
KQogewogICAgIEFTU0VSVCghaXNGb3JiaWRkZW4oKSk7CiAKLSNpZiBFTkFCTEUoV1RGX01BTExP
Q19WQUxJREFUSU9OKQorI2lmIEVOQUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OKQog
ICAgIFRyeU1hbGxvY1JldHVyblZhbHVlIHJldHVyblZhbHVlID0gdHJ5RmFzdFJlYWxsb2MocCwg
bik7CiAgICAgdm9pZCogcmVzdWx0OwogICAgIGlmICghcmV0dXJuVmFsdWUuZ2V0VmFsdWUocmVz
dWx0KSkKQEAgLTM4Niw5ICszODUsNyBAQCBGYXN0TWFsbG9jU3RhdGlzdGljcyBmYXN0TWFsbG9j
U3RhdGlzdGljcygpCiAKIHNpemVfdCBmYXN0TWFsbG9jU2l6ZShjb25zdCB2b2lkKiBwKQogewot
I2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgcmV0dXJuIEludGVybmFsOjpm
YXN0TWFsbG9jVmFsaWRhdGlvbkhlYWRlcihjb25zdF9jYXN0PHZvaWQqPihwKSktPm1fc2l6ZTsK
LSNlbGlmIE9TKERBUldJTikKKyNpZiBPUyhEQVJXSU4pCiAgICAgcmV0dXJuIG1hbGxvY19zaXpl
KHApOwogI2VsaWYgT1MoV0lORE9XUykgJiYgIVBMQVRGT1JNKEJSRVdNUCkKICAgICAvLyBCcmV3
IE1QIHVzZXMgaXRzIG93biBtZW1vcnkgYWxsb2NhdG9yLCBzbyBfbXNpemUgZG9lcyBub3Qgd29y
ayBvbiB0aGUgQnJldyBNUCBzaW11bGF0b3IuCkBAIC0xMzA2LDggKzEzMDMsNiBAQCBzdGF0aWMg
Y29uc3Qgc2l6ZV90IGtNaW5pbXVtRnJlZUNvbW1pdHRlZFBhZ2VDb3VudCA9IGtNaW5TcGFuTGlz
dHNXaXRoU3BhbnMgKiAoKAogCiAjZW5kaWYKIAotc3RhdGljIFNwaW5Mb2NrIHBhZ2VoZWFwX2xv
Y2sgPSBTUElOTE9DS19JTklUSUFMSVpFUjsKLQogY2xhc3MgVENNYWxsb2NfUGFnZUhlYXAgewog
IHB1YmxpYzoKICAgdm9pZCBpbml0KCk7CkBAIC0xNTM0LDEzICsxNTI5LDEzIEBAIHZvaWQgVENN
YWxsb2NfUGFnZUhlYXA6OmluaXRpYWxpemVTY2F2ZW5nZXIoKQogCiBBTFdBWVNfSU5MSU5FIGJv
b2wgVENNYWxsb2NfUGFnZUhlYXA6OmlzU2NhdmVuZ2VyU3VzcGVuZGVkKCkKIHsKLSAgICBBU1NF
UlQocGFnZWhlYXBfbG9jay5Jc0hlbGQoKSk7CisgICAgQVNTRVJUKElzSGVsZChwYWdlaGVhcF9s
b2NrKSk7CiAgICAgcmV0dXJuIG1fc2NhdmVuZ2luZ1N1c3BlbmRlZDsKIH0KIAogQUxXQVlTX0lO
TElORSB2b2lkIFRDTWFsbG9jX1BhZ2VIZWFwOjpzY2hlZHVsZVNjYXZlbmdlcigpCiB7Ci0gICAg
QVNTRVJUKHBhZ2VoZWFwX2xvY2suSXNIZWxkKCkpOworICAgIEFTU0VSVChJc0hlbGQocGFnZWhl
YXBfbG9jaykpOwogICAgIG1fc2NhdmVuZ2luZ1N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGRpc3Bh
dGNoX3Jlc3VtZShtX3NjYXZlbmdlVGltZXIpOwogfQpAQCAtMTU1Miw3ICsxNTQ3LDcgQEAgQUxX
QVlTX0lOTElORSB2b2lkIFRDTWFsbG9jX1BhZ2VIZWFwOjpyZXNjaGVkdWxlU2NhdmVuZ2VyKCkK
IAogQUxXQVlTX0lOTElORSB2b2lkIFRDTWFsbG9jX1BhZ2VIZWFwOjpzdXNwZW5kU2NhdmVuZ2Vy
KCkKIHsKLSAgICBBU1NFUlQocGFnZWhlYXBfbG9jay5Jc0hlbGQoKSk7CisgICAgQVNTRVJUKElz
SGVsZChwYWdlaGVhcF9sb2NrKSk7CiAgICAgbV9zY2F2ZW5naW5nU3VzcGVuZGVkID0gdHJ1ZTsK
ICAgICBkaXNwYXRjaF9zdXNwZW5kKG1fc2NhdmVuZ2VUaW1lcik7CiB9CkBAIC0yNDQ1LDYgKzI0
NDAsNyBAQCBjbGFzcyBUQ01hbGxvY19DZW50cmFsX0ZyZWVMaXN0UGFkZGVkIDogcHVibGljIFRD
TWFsbG9jX0NlbnRyYWxfRnJlZUxpc3Qgewogc3RhdGljIFRDTWFsbG9jX0NlbnRyYWxfRnJlZUxp
c3RQYWRkZWQgY2VudHJhbF9jYWNoZVtrTnVtQ2xhc3Nlc107CiAKIC8vIFBhZ2UtbGV2ZWwgYWxs
b2NhdG9yCitzdGF0aWMgU3BpbkxvY2sgcGFnZWhlYXBfbG9jayA9IFNQSU5MT0NLX0lOSVRJQUxJ
WkVSOwogc3RhdGljIEFsbG9jQWxpZ25tZW50SW50ZWdlciBwYWdlaGVhcF9tZW1vcnlbKHNpemVv
ZihUQ01hbGxvY19QYWdlSGVhcCkgKyBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSAtIDEp
IC8gc2l6ZW9mKEFsbG9jQWxpZ25tZW50SW50ZWdlcildOwogc3RhdGljIGJvb2wgcGhpbml0ZWQg
PSBmYWxzZTsKIApAQCAtMjQ4Miw3ICsyNDc4LDcgQEAgdm9pZCBUQ01hbGxvY19QYWdlSGVhcDo6
cGVyaW9kaWNTY2F2ZW5nZSgpCiAKIEFMV0FZU19JTkxJTkUgdm9pZCBUQ01hbGxvY19QYWdlSGVh
cDo6c2lnbmFsU2NhdmVuZ2VyKCkKIHsKLSAgICBBU1NFUlQocGFnZWhlYXBfbG9jay5Jc0hlbGQo
KSk7CisgICAgQVNTRVJUKElzSGVsZChwYWdlaGVhcF9sb2NrKSk7CiAgICAgaWYgKGlzU2NhdmVu
Z2VyU3VzcGVuZGVkKCkgJiYgc2hvdWxkU2NhdmVuZ2UoKSkKICAgICAgICAgc2NoZWR1bGVTY2F2
ZW5nZXIoKTsKIH0KQEAgLTM4MjgsMjAgKzM4MjQsMTYgQEAgdGVtcGxhdGUgPGJvb2wgY3Jhc2hP
bkZhaWx1cmU+CiBBTFdBWVNfSU5MSU5FCiAjZW5kaWYKIHZvaWQqIG1hbGxvYyhzaXplX3Qgc2l6
ZSkgewotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgaWYgKHN0ZDo6bnVt
ZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLSBJbnRlcm5hbDo6VmFsaWRhdGlvbkJ1ZmZlclNp
emUgPD0gc2l6ZSkgIC8vIElmIG92ZXJmbG93IHdvdWxkIG9jY3VyLi4uCisjaWYgRU5BQkxFKEZB
U1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCisgICAgaWYgKHN0ZDo6bnVtZXJpY19saW1pdHM8
c2l6ZV90Pjo6bWF4KCkgLSBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSA8PSBzaXplKSAg
Ly8gSWYgb3ZlcmZsb3cgd291bGQgb2NjdXIuLi4KICAgICAgICAgcmV0dXJuIDA7Ci0gICAgdm9p
ZCogcmVzdWx0ID0gZG9fbWFsbG9jKHNpemUgKyBJbnRlcm5hbDo6VmFsaWRhdGlvbkJ1ZmZlclNp
emUpOworICAgIHNpemUgKz0gc2l6ZW9mKEFsbG9jQWxpZ25tZW50SW50ZWdlcik7CisgICAgdm9p
ZCogcmVzdWx0ID0gZG9fbWFsbG9jKHNpemUpOwogICAgIGlmICghcmVzdWx0KQogICAgICAgICBy
ZXR1cm4gMDsKIAotICAgIEludGVybmFsOjpWYWxpZGF0aW9uSGVhZGVyKiBoZWFkZXIgPSBzdGF0
aWNfY2FzdDxJbnRlcm5hbDo6VmFsaWRhdGlvbkhlYWRlcio+KHJlc3VsdCk7Ci0gICAgaGVhZGVy
LT5tX3NpemUgPSBzaXplOwotICAgIGhlYWRlci0+bV90eXBlID0gSW50ZXJuYWw6OkFsbG9jVHlw
ZU1hbGxvYzsKLSAgICBoZWFkZXItPm1fcHJlZml4ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KElu
dGVybmFsOjpWYWxpZGF0aW9uUHJlZml4KTsKLSAgICByZXN1bHQgPSBoZWFkZXIgKyAxOwotICAg
ICpJbnRlcm5hbDo6ZmFzdE1hbGxvY1ZhbGlkYXRpb25TdWZmaXgocmVzdWx0KSA9IEludGVybmFs
OjpWYWxpZGF0aW9uU3VmZml4OwotICAgIGZhc3RNYWxsb2NWYWxpZGF0ZShyZXN1bHQpOworICAg
ICpzdGF0aWNfY2FzdDxBbGxvY0FsaWdubWVudEludGVnZXIqPihyZXN1bHQpID0gSW50ZXJuYWw6
OkFsbG9jVHlwZU1hbGxvYzsKKyAgICByZXN1bHQgPSBzdGF0aWNfY2FzdDxBbGxvY0FsaWdubWVu
dEludGVnZXIqPihyZXN1bHQpICsgMTsKICNlbHNlCiAgICAgdm9pZCogcmVzdWx0ID0gZG9fbWFs
bG9jKHNpemUpOwogI2VuZGlmCkBAIC0zODYwLDEzICszODUyLDEzIEBAIHZvaWQgZnJlZSh2b2lk
KiBwdHIpIHsKICAgTWFsbG9jSG9vazo6SW52b2tlRGVsZXRlSG9vayhwdHIpOwogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoV1RGX01BTExPQ19WQUxJREFUSU9OKQorI2lmIEVOQUJMRShGQVNUX01BTExP
Q19NQVRDSF9WQUxJREFUSU9OKQogICAgIGlmICghcHRyKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBmYXN0TWFsbG9jVmFsaWRhdGUocHRyKTsKLSAgICBJbnRlcm5hbDo6VmFsaWRhdGlvbkhlYWRl
ciogaGVhZGVyID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKHB0cik7Ci0g
ICAgbWVtc2V0KHB0ciwgMHhDQywgaGVhZGVyLT5tX3NpemUpOworICAgIEFsbG9jQWxpZ25tZW50
SW50ZWdlciogaGVhZGVyID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRpb25WYWx1
ZShwdHIpOworICAgIGlmICgqaGVhZGVyICE9IEludGVybmFsOjpBbGxvY1R5cGVNYWxsb2MpCisg
ICAgICAgIEludGVybmFsOjpmYXN0TWFsbG9jTWF0Y2hGYWlsZWQocHRyKTsKICAgICBkb19mcmVl
KGhlYWRlcik7CiAjZWxzZQogICAgIGRvX2ZyZWUocHRyKTsKQEAgLTM4ODEsMjAgKzM4NzMsMTIg
QEAgQUxXQVlTX0lOTElORSB2b2lkKiBjYWxsb2Moc2l6ZV90LCBzaXplX3QpOwogCiB2b2lkKiBm
YXN0Q2FsbG9jKHNpemVfdCBuLCBzaXplX3QgZWxlbV9zaXplKQogewotICAgIHZvaWQqIHJlc3Vs
dCA9IGNhbGxvYzx0cnVlPihuLCBlbGVtX3NpemUpOwotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZB
TElEQVRJT04pCi0gICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHJlc3VsdCk7Ci0jZW5kaWYKLSAgICBy
ZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBjYWxsb2M8dHJ1ZT4obiwgZWxlbV9zaXplKTsKIH0K
IAogVHJ5TWFsbG9jUmV0dXJuVmFsdWUgdHJ5RmFzdENhbGxvYyhzaXplX3Qgbiwgc2l6ZV90IGVs
ZW1fc2l6ZSkKIHsKLSAgICB2b2lkKiByZXN1bHQgPSBjYWxsb2M8ZmFsc2U+KG4sIGVsZW1fc2l6
ZSk7Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICBmYXN0TWFsbG9jVmFs
aWRhdGUocmVzdWx0KTsKLSNlbmRpZgotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGNh
bGxvYzxmYWxzZT4obiwgZWxlbV9zaXplKTsKIH0KIAogdGVtcGxhdGUgPGJvb2wgY3Jhc2hPbkZh
aWx1cmU+CkBAIC0zOTA3LDEzICszODkxLDE4IEBAIHZvaWQqIGNhbGxvYyhzaXplX3Qgbiwgc2l6
ZV90IGVsZW1fc2l6ZSkgewogICBpZiAobiA+IDEgJiYgZWxlbV9zaXplICYmICh0b3RhbEJ5dGVz
IC8gZWxlbV9zaXplKSAhPSBuKQogICAgIHJldHVybiAwOwogCi0jaWYgRU5BQkxFKFdURl9NQUxM
T0NfVkFMSURBVElPTikKLSAgICB2b2lkKiByZXN1bHQgPSBtYWxsb2M8Y3Jhc2hPbkZhaWx1cmU+
KHRvdGFsQnl0ZXMpOworI2lmIEVOQUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OKQor
ICAgIGlmIChzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIC0gc2l6ZW9mKEFsbG9j
QWxpZ25tZW50SW50ZWdlcikgPD0gdG90YWxCeXRlcykgIC8vIElmIG92ZXJmbG93IHdvdWxkIG9j
Y3VyLi4uCisgICAgICAgIHJldHVybiAwOworCisgICAgdG90YWxCeXRlcyArPSBzaXplb2YoQWxs
b2NBbGlnbm1lbnRJbnRlZ2VyKTsKKyAgICB2b2lkKiByZXN1bHQgPSBkb19tYWxsb2ModG90YWxC
eXRlcyk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgbWVtc2V0
KHJlc3VsdCwgMCwgdG90YWxCeXRlcyk7Ci0gICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHJlc3VsdCk7
CisgICAgKnN0YXRpY19jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdlcio+KHJlc3VsdCkgPSBJbnRl
cm5hbDo6QWxsb2NUeXBlTWFsbG9jOworICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PEFsbG9jQWxp
Z25tZW50SW50ZWdlcio+KHJlc3VsdCkgKyAxOwogI2Vsc2UKICAgICB2b2lkKiByZXN1bHQgPSBk
b19tYWxsb2ModG90YWxCeXRlcyk7CiAgICAgaWYgKHJlc3VsdCAhPSBOVUxMKSB7CkBAIC0zOTQ4
LDI2ICszOTM3LDEyIEBAIEFMV0FZU19JTkxJTkUgdm9pZCogcmVhbGxvYyh2b2lkKiwgc2l6ZV90
KTsKIAogdm9pZCogZmFzdFJlYWxsb2Modm9pZCogb2xkX3B0ciwgc2l6ZV90IG5ld19zaXplKQog
ewotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgZmFzdE1hbGxvY1ZhbGlk
YXRlKG9sZF9wdHIpOwotI2VuZGlmCi0gICAgdm9pZCogcmVzdWx0ID0gcmVhbGxvYzx0cnVlPihv
bGRfcHRyLCBuZXdfc2l6ZSk7Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAg
ICBmYXN0TWFsbG9jVmFsaWRhdGUocmVzdWx0KTsKLSNlbmRpZgotICAgIHJldHVybiByZXN1bHQ7
CisgICAgcmV0dXJuIHJlYWxsb2M8dHJ1ZT4ob2xkX3B0ciwgbmV3X3NpemUpOwogfQogCiBUcnlN
YWxsb2NSZXR1cm5WYWx1ZSB0cnlGYXN0UmVhbGxvYyh2b2lkKiBvbGRfcHRyLCBzaXplX3QgbmV3
X3NpemUpCiB7Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICBmYXN0TWFs
bG9jVmFsaWRhdGUob2xkX3B0cik7Ci0jZW5kaWYKLSAgICB2b2lkKiByZXN1bHQgPSByZWFsbG9j
PGZhbHNlPihvbGRfcHRyLCBuZXdfc2l6ZSk7Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURB
VElPTikKLSAgICBmYXN0TWFsbG9jVmFsaWRhdGUocmVzdWx0KTsKLSNlbmRpZgotICAgIHJldHVy
biByZXN1bHQ7CisgICAgcmV0dXJuIHJlYWxsb2M8ZmFsc2U+KG9sZF9wdHIsIG5ld19zaXplKTsK
IH0KIAogdGVtcGxhdGUgPGJvb2wgY3Jhc2hPbkZhaWx1cmU+CkBAIC0zOTc1LDggKzM5NTAsOCBA
QCBBTFdBWVNfSU5MSU5FCiAjZW5kaWYKIHZvaWQqIHJlYWxsb2Modm9pZCogb2xkX3B0ciwgc2l6
ZV90IG5ld19zaXplKSB7CiAgIGlmIChvbGRfcHRyID09IE5VTEwpIHsKLSNpZiBFTkFCTEUoV1RG
X01BTExPQ19WQUxJREFUSU9OKQotICAgIHZvaWQqIHJlc3VsdCA9IG1hbGxvYzxjcmFzaE9uRmFp
bHVyZT4obmV3X3NpemUpOworI2lmIEVOQUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9O
KQorICAgIHZvaWQqIHJlc3VsdCA9IG1hbGxvYyhuZXdfc2l6ZSk7CiAjZWxzZQogICAgIHZvaWQq
IHJlc3VsdCA9IGRvX21hbGxvYyhuZXdfc2l6ZSk7CiAjaWZuZGVmIFdURl9DSEFOR0VTCkBAIC0z
OTkzLDE0ICszOTY4LDE0IEBAIHZvaWQqIHJlYWxsb2Modm9pZCogb2xkX3B0ciwgc2l6ZV90IG5l
d19zaXplKSB7CiAgICAgcmV0dXJuIE5VTEw7CiAgIH0KIAotI2lmIEVOQUJMRShXVEZfTUFMTE9D
X1ZBTElEQVRJT04pCi0gICAgaWYgKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkg
LSBJbnRlcm5hbDo6VmFsaWRhdGlvbkJ1ZmZlclNpemUgPD0gbmV3X3NpemUpICAvLyBJZiBvdmVy
ZmxvdyB3b3VsZCBvY2N1ci4uLgorI2lmIEVOQUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFU
SU9OKQorICAgIGlmIChzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIC0gc2l6ZW9m
KEFsbG9jQWxpZ25tZW50SW50ZWdlcikgPD0gbmV3X3NpemUpICAvLyBJZiBvdmVyZmxvdyB3b3Vs
ZCBvY2N1ci4uLgogICAgICAgICByZXR1cm4gMDsKLSAgICBJbnRlcm5hbDo6VmFsaWRhdGlvbkhl
YWRlciogaGVhZGVyID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKG9sZF9w
dHIpOwotICAgIGZhc3RNYWxsb2NWYWxpZGF0ZShvbGRfcHRyKTsKKyAgICBuZXdfc2l6ZSArPSBz
aXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKTsKKyAgICBBbGxvY0FsaWdubWVudEludGVnZXIq
IGhlYWRlciA9IEludGVybmFsOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0aW9uVmFsdWUob2xkX3B0
cik7CisgICAgaWYgKCpoZWFkZXIgIT0gSW50ZXJuYWw6OkFsbG9jVHlwZU1hbGxvYykKKyAgICAg
ICAgSW50ZXJuYWw6OmZhc3RNYWxsb2NNYXRjaEZhaWxlZChvbGRfcHRyKTsKICAgICBvbGRfcHRy
ID0gaGVhZGVyOwotICAgIGhlYWRlci0+bV9zaXplID0gbmV3X3NpemU7Ci0gICAgbmV3X3NpemUg
Kz0gSW50ZXJuYWw6OlZhbGlkYXRpb25CdWZmZXJTaXplOwogI2VuZGlmCiAKICAgLy8gR2V0IHRo
ZSBzaXplIG9mIHRoZSBvbGQgZW50cnkKQEAgLTQwMzksMTUgKzQwMTQsMTMgQEAgdm9pZCogcmVh
bGxvYyh2b2lkKiBvbGRfcHRyLCBzaXplX3QgbmV3X3NpemUpIHsKICAgICAvLyB0aGF0IHdlIGFs
cmVhZHkga25vdyB0aGUgc2l6ZWNsYXNzIG9mIG9sZF9wdHIuICBUaGUgYmVuZWZpdAogICAgIC8v
IHdvdWxkIGJlIHNtYWxsLCBzbyBkb24ndCBib3RoZXIuCiAgICAgZG9fZnJlZShvbGRfcHRyKTsK
LSNpZiBFTkFCTEUoV1RGX01BTExPQ19WQUxJREFUSU9OKQotICAgIG5ld19wdHIgPSBzdGF0aWNf
Y2FzdDxJbnRlcm5hbDo6VmFsaWRhdGlvbkhlYWRlcio+KG5ld19wdHIpICsgMTsKLSAgICAqSW50
ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uU3VmZml4KG5ld19wdHIpID0gSW50ZXJuYWw6OlZh
bGlkYXRpb25TdWZmaXg7CisjaWYgRU5BQkxFKEZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04p
CisgICAgbmV3X3B0ciA9IHN0YXRpY19jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdlcio+KG5ld19w
dHIpICsgMTsKICNlbmRpZgogICAgIHJldHVybiBuZXdfcHRyOwogICB9IGVsc2UgewotI2lmIEVO
QUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgb2xkX3B0ciA9IHN0YXRpY19jYXN0PElu
dGVybmFsOjpWYWxpZGF0aW9uSGVhZGVyKj4ob2xkX3B0cikgKyAxOyAvLyBTZXQgb2xkX3B0ciBi
YWNrIHRvIHRoZSB1c2VyIHBvaW50ZXIuCi0gICAgKkludGVybmFsOjpmYXN0TWFsbG9jVmFsaWRh
dGlvblN1ZmZpeChvbGRfcHRyKSA9IEludGVybmFsOjpWYWxpZGF0aW9uU3VmZml4OworI2lmIEVO
QUJMRShGQVNUX01BTExPQ19NQVRDSF9WQUxJREFUSU9OKQorICAgIG9sZF9wdHIgPSBzdGF0aWNf
Y2FzdDxBbGxvY0FsaWdubWVudEludGVnZXIqPihvbGRfcHRyKSArIDE7IC8vIFNldCBvbGRfcHRy
IGJhY2sgdG8gdGhlIHVzZXIgcG9pbnRlci4KICNlbmRpZgogICAgIHJldHVybiBvbGRfcHRyOwog
ICB9CkBAIC00MzA4LDkgKzQyODEsNiBAQCBGYXN0TWFsbG9jU3RhdGlzdGljcyBmYXN0TWFsbG9j
U3RhdGlzdGljcygpCiAKIHNpemVfdCBmYXN0TWFsbG9jU2l6ZShjb25zdCB2b2lkKiBwdHIpCiB7
Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICByZXR1cm4gSW50ZXJuYWw6
OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKHApLT5tX3NpemU7Ci0jZWxzZQogICAgIGNvbnN0
IFBhZ2VJRCBwID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cikgPj4ga1BhZ2VTaGlm
dDsKICAgICBTcGFuKiBzcGFuID0gcGFnZWhlYXAtPkdldERlc2NyaXB0b3JFbnN1cmVTYWZlKHAp
OwogCkBAIC00MzI2LDcgKzQyOTYsNiBAQCBzaXplX3QgZmFzdE1hbGxvY1NpemUoY29uc3Qgdm9p
ZCogcHRyKQogICAgICAgICByZXR1cm4gQnl0ZVNpemVGb3JDbGFzcyhjbCk7CiAKICAgICByZXR1
cm4gc3Bhbi0+bGVuZ3RoIDw8IGtQYWdlU2hpZnQ7Ci0jZW5kaWYKIH0KIAogI2lmIE9TKERBUldJ
TikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmgKaW5kZXggMzdjZjA4NjhlYzBj
NTc1MmJiOTZiNzgwMDljYTdlN2ZhY2Q3NTQ4ZS4uOTcyOWJjMzZlNGVkNjRkNjgwZGZkNGIxZGU3
ZWJiNGU0MmM2OTg0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0
TWFsbG9jLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmgKQEAg
LTEwMywyNSArMTAzLDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgICAgICBBbGxvY1R5cGVO
ZXcsICAgICAgICAgICAgICAgICAgIC8vIEVuY29tcGFzc2VzIGdsb2JhbCBvcGVyYXRvciBuZXcu
CiAgICAgICAgICAgICBBbGxvY1R5cGVOZXdBcnJheSAgICAgICAgICAgICAgIC8vIEVuY29tcGFz
c2VzIGdsb2JhbCBvcGVyYXRvciBuZXdbXS4KICAgICAgICAgfTsKLQotICAgICAgICBlbnVtIHsK
LSAgICAgICAgICAgIFZhbGlkYXRpb25QcmVmaXggPSAweGYwMGRmMDBkLAotICAgICAgICAgICAg
VmFsaWRhdGlvblN1ZmZpeCA9IDB4MGJhZGYwMGQKLSAgICAgICAgfTsKLQotICAgICAgICB0eXBl
ZGVmIHVuc2lnbmVkIFZhbGlkYXRpb25UYWc7Ci0KLSAgICAgICAgc3RydWN0IFZhbGlkYXRpb25I
ZWFkZXIgewotICAgICAgICAgICAgQWxsb2NUeXBlIG1fdHlwZTsKLSAgICAgICAgICAgIHVuc2ln
bmVkIG1fc2l6ZTsKLSAgICAgICAgICAgIFZhbGlkYXRpb25UYWcgbV9wcmVmaXg7Ci0gICAgICAg
ICAgICB1bnNpZ25lZCBtX2FsaWdubWVudDsKLSAgICAgICAgfTsKLQotICAgICAgICBzdGF0aWMg
Y29uc3QgaW50IFZhbGlkYXRpb25CdWZmZXJTaXplID0gc2l6ZW9mKFZhbGlkYXRpb25IZWFkZXIp
ICsgc2l6ZW9mKFZhbGlkYXRpb25UYWcpOwogICAgIH0KIAotI2lmIEVOQUJMRShXVEZfTUFMTE9D
X1ZBTElEQVRJT04pCisjaWYgRU5BQkxFKEZBU1RfTUFMTE9DX01BVENIX1ZBTElEQVRJT04pCiAK
ICAgICAvLyBNYWxsb2MgdmFsaWRhdGlvbiBpcyBhIHNjaGVtZSB3aGVyZWJ5IGEgdGFnIGlzIGF0
dGFjaGVkIHRvIGFuCiAgICAgLy8gYWxsb2NhdGlvbiB3aGljaCBpZGVudGlmaWVzIGhvdyBpdCB3
YXMgb3JpZ2luYWxseSBhbGxvY2F0ZWQuCkBAIC0xMzYsMzYgKzEyMCwzMCBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAvLyBpcyBpbXBsZW1lbnRlZC4KIAogICAgIG5hbWVzcGFjZSBJbnRlcm5hbCB7
Ci0gICAgCi0gICAgICAgIC8vIEhhbmRsZSBhIGRldGVjdGVkIGFsbG9jL2ZyZWUgbWlzbWF0Y2gu
IEJ5IGRlZmF1bHQgdGhpcyBjYWxscyBDUkFTSCgpLgotICAgICAgICB2b2lkIGZhc3RNYWxsb2NN
YXRjaEZhaWxlZCh2b2lkKiBwKTsKIAotICAgICAgICBpbmxpbmUgVmFsaWRhdGlvbkhlYWRlciog
ZmFzdE1hbGxvY1ZhbGlkYXRpb25IZWFkZXIodm9pZCogcCkKLSAgICAgICAgewotICAgICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VmFsaWRhdGlvbkhlYWRlcio+KHN0YXRpY19jYXN0
PGNoYXIqPihwKSAtIHNpemVvZihWYWxpZGF0aW9uSGVhZGVyKSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBpbmxpbmUgVmFsaWRhdGlvblRhZyogZmFzdE1hbGxvY1ZhbGlkYXRpb25TdWZmaXgodm9p
ZCogcCkKKyAgICAgICAgLy8gUmV0dXJuIHRoZSBBbGxvY1R5cGUgdGFnIGFzc29jaWF0ZWQgd2l0
aCB0aGUgYWxsb2NhdGVkIGJsb2NrIHAuCisgICAgICAgIGlubGluZSBBbGxvY1R5cGUgZmFzdE1h
bGxvY01hdGNoVmFsaWRhdGlvblR5cGUoY29uc3Qgdm9pZCogcCkKICAgICAgICAgewotICAgICAg
ICAgICAgVmFsaWRhdGlvbkhlYWRlciogaGVhZGVyID0gZmFzdE1hbGxvY1ZhbGlkYXRpb25IZWFk
ZXIocCk7Ci0gICAgICAgICAgICBpZiAoaGVhZGVyLT5tX3ByZWZpeCAhPSBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oVmFsaWRhdGlvblByZWZpeCkpCi0gICAgICAgICAgICAgICAgZmFzdE1hbGxvY01h
dGNoRmFpbGVkKHApOwotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxWYWxpZGF0aW9uVGFnKj4oc3RhdGljX2Nhc3Q8Y2hhcio+KHApICsgaGVhZGVyLT5t
X3NpemUpOworICAgICAgICAgICAgY29uc3QgQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKiB0eXBlID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKj4ocCkgLSAxOworICAgICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEFsbG9jVHlwZT4oKnR5cGUpOwogICAgICAgICB9CiAK
LSAgICAgICAgLy8gUmV0dXJuIHRoZSBBbGxvY1R5cGUgdGFnIGFzc29jaWF0ZWQgd2l0aCB0aGUg
YWxsb2NhdGVkIGJsb2NrIHAuCi0gICAgICAgIGlubGluZSBBbGxvY1R5cGUgZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGlvblR5cGUodm9pZCogcCkKKyAgICAgICAgLy8gUmV0dXJuIHRoZSBhZGRyZXNz
IG9mIHRoZSBBbGxvY1R5cGUgdGFnIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxsb2NhdGVkIGJsb2Nr
IHAuCisgICAgICAgIGlubGluZSBBbGxvY0FsaWdubWVudEludGVnZXIqIGZhc3RNYWxsb2NNYXRj
aFZhbGlkYXRpb25WYWx1ZSh2b2lkKiBwKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4g
ZmFzdE1hbGxvY1ZhbGlkYXRpb25IZWFkZXIocCktPm1fdHlwZTsKKyAgICAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PEFsbG9jQWxpZ25tZW50SW50ZWdlcio+KHN0YXRpY19jYXN0PGNo
YXIqPihwKSAtIHNpemVvZihBbGxvY0FsaWdubWVudEludGVnZXIpKTsKICAgICAgICAgfQogCiAg
ICAgICAgIC8vIFNldCB0aGUgQWxsb2NUeXBlIHRhZyB0byBiZSBhc3NvY2lhZ2VkIHdpdGggdGhl
IGFsbG9jYXRlZCBibG9jayBwLgogICAgICAgICBpbmxpbmUgdm9pZCBzZXRGYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0aW9uVHlwZSh2b2lkKiBwLCBBbGxvY1R5cGUgYWxsb2NUeXBlKQogICAgICAgICB7
Ci0gICAgICAgICAgICBmYXN0TWFsbG9jVmFsaWRhdGlvbkhlYWRlcihwKS0+bV90eXBlID0gYWxs
b2NUeXBlOworICAgICAgICAgICAgQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKiB0eXBlID0gc3RhdGlj
X2Nhc3Q8QWxsb2NBbGlnbm1lbnRJbnRlZ2VyKj4ocCkgLSAxOworICAgICAgICAgICAgKnR5cGUg
PSBzdGF0aWNfY2FzdDxBbGxvY0FsaWdubWVudEludGVnZXI+KGFsbG9jVHlwZSk7CiAgICAgICAg
IH0KIAorICAgICAgICAvLyBIYW5kbGUgYSBkZXRlY3RlZCBhbGxvYy9mcmVlIG1pc21hdGNoLiBC
eSBkZWZhdWx0IHRoaXMgY2FsbHMgQ1JBU0goKS4KKyAgICAgICAgdm9pZCBmYXN0TWFsbG9jTWF0
Y2hGYWlsZWQodm9pZCogcCk7CisKICAgICB9IC8vIG5hbWVzcGFjZSBJbnRlcm5hbAogCiAgICAg
Ly8gVGhpcyBpcyBhIGhpZ2hlciBsZXZlbCBmdW5jdGlvbiB3aGljaCBpcyB1c2VkIGJ5IEZhc3RN
YWxsb2MtdXNpbmcgY29kZS4KQEAgLTE3OCwzNCArMTU2LDE2IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgIH0KIAogICAgIC8vIFRoaXMgaXMgYSBoaWdoZXIgbGV2ZWwgZnVuY3Rpb24gd2hpY2ggaXMg
dXNlZCBieSBGYXN0TWFsbG9jLXVzaW5nIGNvZGUuCi0gICAgaW5saW5lIHZvaWQgZmFzdE1hbGxv
Y01hdGNoVmFsaWRhdGVGcmVlKHZvaWQqIHAsIEludGVybmFsOjpBbGxvY1R5cGUpCisgICAgaW5s
aW5lIHZvaWQgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHZvaWQqIHAsIEludGVybmFsOjpB
bGxvY1R5cGUgYWxsb2NUeXBlKQogICAgIHsKICAgICAgICAgaWYgKCFwKQogICAgICAgICAgICAg
cmV0dXJuOwotICAgIAotICAgICAgICBJbnRlcm5hbDo6VmFsaWRhdGlvbkhlYWRlciogaGVhZGVy
ID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKHApOwotICAgICAgICBpZiAo
aGVhZGVyLT5tX3ByZWZpeCAhPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSW50ZXJuYWw6OlZhbGlk
YXRpb25QcmVmaXgpKQotICAgICAgICAgICAgSW50ZXJuYWw6OmZhc3RNYWxsb2NNYXRjaEZhaWxl
ZChwKTsKIAotICAgICAgICBpZiAoKkludGVybmFsOjpmYXN0TWFsbG9jVmFsaWRhdGlvblN1ZmZp
eChwKSAhPSBJbnRlcm5hbDo6VmFsaWRhdGlvblN1ZmZpeCkKKyAgICAgICAgaWYgKEludGVybmFs
OjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0aW9uVHlwZShwKSAhPSBhbGxvY1R5cGUpCiAgICAgICAg
ICAgICBJbnRlcm5hbDo6ZmFzdE1hbGxvY01hdGNoRmFpbGVkKHApOwotCiAgICAgICAgIEludGVy
bmFsOjpzZXRGYXN0TWFsbG9jTWF0Y2hWYWxpZGF0aW9uVHlwZShwLCBJbnRlcm5hbDo6QWxsb2NU
eXBlTWFsbG9jKTsgIC8vIFNldCBpdCB0byB0aGlzIHNvIHRoYXQgZmFzdEZyZWUgdGhpbmtzIGl0
J3MgT0suCiAgICAgfQogCi0gICAgaW5saW5lIHZvaWQgZmFzdE1hbGxvY1ZhbGlkYXRlKHZvaWQq
IHApCi0gICAgewotICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IAotICAgICAgICBJbnRlcm5hbDo6VmFsaWRhdGlvbkhlYWRlciogaGVhZGVyID0gSW50ZXJuYWw6
OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKHApOwotICAgICAgICBpZiAoaGVhZGVyLT5tX3By
ZWZpeCAhPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSW50ZXJuYWw6OlZhbGlkYXRpb25QcmVmaXgp
KQotICAgICAgICAgICAgSW50ZXJuYWw6OmZhc3RNYWxsb2NNYXRjaEZhaWxlZChwKTsKLSAgICAg
ICAgCi0gICAgICAgIGlmICgqSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uU3VmZml4KHAp
ICE9IEludGVybmFsOjpWYWxpZGF0aW9uU3VmZml4KQotICAgICAgICAgICAgSW50ZXJuYWw6OmZh
c3RNYWxsb2NNYXRjaEZhaWxlZChwKTsKLSAgICB9Ci0KICNlbHNlCiAKICAgICBpbmxpbmUgdm9p
ZCBmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyh2b2lkKiwgSW50ZXJuYWw6OkFsbG9jVHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCBkMWZlMTE5MzQwMGFlODE3
YmNhMzdmZmI1NGVmZTg3OWE3NzVkNzIxLi5lNDBiMWE2ZGYzOTM1MjM1NWJhZDVjMTY5ODlmNmE0
YTBhZWI5MWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC04NzUsMTIg
Kzg3NSw4IEBACiAKIC8qIGZhc3RNYWxsb2MgbWF0Y2ggdmFsaWRhdGlvbiBhbGxvd3MgZm9yIHJ1
bnRpbWUgdmVyaWZpY2F0aW9uIHRoYXQKICAgIG5ldyBpcyBtYXRjaGVkIGJ5IGRlbGV0ZSwgZmFz
dE1hbGxvYyBpcyBtYXRjaGVkIGJ5IGZhc3RGcmVlLCBldGMuICovCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1dURl9NQUxMT0NfVkFMSURBVElPTikKLSNpZm5kZWYgTkRFQlVHCi0jZGVmaW5lIEVOQUJM
RV9XVEZfTUFMTE9DX1ZBTElEQVRJT04gMQotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX1dURl9NQUxM
T0NfVkFMSURBVElPTiAwCi0jZW5kaWYKKyNpZiAhZGVmaW5lZChFTkFCTEVfRkFTVF9NQUxMT0Nf
TUFUQ0hfVkFMSURBVElPTikKKyNkZWZpbmUgRU5BQkxFX0ZBU1RfTUFMTE9DX01BVENIX1ZBTElE
QVRJT04gMAogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChFTkFCTEVfSUNPTkRBVEFCQVNFKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>