<?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>171088</bug_id>
          
          <creation_ts>2017-04-20 16:03:46 -0700</creation_ts>
          <short_desc>Update the MASM probe to only take 1 arg instead of 2 (in addition to the callback function).</short_desc>
          <delta_ts>2017-04-20 17:21:40 -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></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>
          <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1299363</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-20 16:03:46 -0700</bug_when>
    <thetext>Experience shows that we never use the 2nd arg.  So, let&apos;s remove it to reduce the footprint at each probe site.

Also fix the MacroAssembler::print() function so that it is a no-op when !ENABLE(MASM_PROBE).  This will allow us to have print() statements in JIT code without a lot of #if ENABLE(MASM_PROBE)s later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299384</commentid>
    <comment_count>1</comment_count>
      <attachid>307660</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-20 16:43:49 -0700</bug_when>
    <thetext>Created attachment 307660
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299387</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-20 16:45:30 -0700</bug_when>
    <thetext>I&apos;ve done builds for ARMv7, ARM64, x86, and x86_64 with this patch, and ran a smoke test of printing something using the MASM print.

I also did a build with !ENABLE(MASM_PROBE) to confirm that MASM print becomes a no-op in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299389</commentid>
    <comment_count>3</comment_count>
      <attachid>307660</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-20 16:51:37 -0700</bug_when>
    <thetext>Comment on attachment 307660
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299390</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-20 16:52:05 -0700</bug_when>
    <thetext>r=me too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299396</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-20 16:57:02 -0700</bug_when>
    <thetext>Thanks for the reviews.  Landed in r215592: &lt;http://trac.webkit.org/r215592&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299407</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-04-20 17:11:31 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #5)
&gt; Thanks for the reviews.  Landed in r215592: &lt;http://trac.webkit.org/r215592&gt;.

This change appears to have broken the CLoop build:

https://build.webkit.org/builders/Apple%20Sierra%20LLINT%20CLoop%20%28BuildAndTest%29/builds/1009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299413</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-20 17:21:40 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #6)
&gt; (In reply to Mark Lam from comment #5)
&gt; &gt; Thanks for the reviews.  Landed in r215592: &lt;http://trac.webkit.org/r215592&gt;.
&gt; 
&gt; This change appears to have broken the CLoop build:
&gt; 
&gt; https://build.webkit.org/builders/
&gt; Apple%20Sierra%20LLINT%20CLoop%20%28BuildAndTest%29/builds/1009

Build fix for this landed in r215595: &lt;http://trac.webkit.org/r215595&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307660</attachid>
            <date>2017-04-20 16:43:49 -0700</date>
            <delta_ts>2017-04-20 16:51:37 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-171088.patch</filename>
            <type>text/plain</type>
            <size>37440</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1NTg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBA
CisyMDE3LTA0LTIwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBV
cGRhdGUgdGhlIE1BU00gcHJvYmUgdG8gb25seSB0YWtlIDEgYXJnIGluc3RlYWQgb2YgMiAoaW4g
YWRkaXRpb24gdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uKS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTA4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVyaWVuY2Ugc2hvd3MgdGhhdCB3ZSBuZXZl
ciB1c2UgdGhlIDJuZCBhcmcuICBTbywgbGV0J3MgcmVtb3ZlIGl0IHRvIHJlZHVjZQorICAgICAg
ICB0aGUgZm9vdHByaW50IGF0IGVhY2ggcHJvYmUgc2l0ZS4KKworICAgICAgICBBbHNvIGZpeCB0
aGUgTWFjcm9Bc3NlbWJsZXI6OnByaW50KCkgZnVuY3Rpb24gc28gdGhhdCBpdCBpcyBhIG5vLW9w
IHdoZW4KKyAgICAgICAgIUVOQUJMRShNQVNNX1BST0JFKS4gIFRoaXMgd2lsbCBhbGxvdyB1cyB0
byBoYXZlIHByaW50KCkgc3RhdGVtZW50cyBpbiBKSVQgY29kZQorICAgICAgICB3aXRob3V0IGEg
bG90IG9mICNpZiBFTkFCTEUoTUFTTV9QUk9CRSlzIGxhdGVyLgorCisgICAgICAgICogYXNzZW1i
bGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXIuY3BwOgorICAgICAgICAoSlNDOjpzdGRGdW5jdGlvbkNhbGxiYWNrKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3Bw
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6cHJvYmUpOgorICAgICAgICAqIGFz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTTY0LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6cHJv
YmUpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0Lmg6CisgICAgICAg
ICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3BwOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlckFSTXY3Ojpwcm9iZSk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNw
cDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJQcmludGVyOjpwcmludENhbGxiYWNrKToK
KyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmg6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyUHJpbnRlcjo6cHJpbnQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlcjo6cHJpbnQpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbi5jcHA6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpwcm9iZSk6
CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CisKIDIwMTct
MDQtMjAgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEFkZCByZWd1bGFyIGV4cHJlc3Npb24gc3VwcG9ydCB0byBYSFIgYnJlYWtwb2lu
dHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fz
c2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCShyZXZpc2lvbiAyMTU1NjEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtOTAyLDcgKzkwMiw3IEBAIHB1YmxpYzoKICAgICAvLyBOb3RlOiBwcm9iZSgpIHNo
b3VsZCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgdGFyZ2V0IHNwZWNpZmljIE1hY3JvQXNzZW1ibGVy
LgogICAgIC8vIFRoaXMgcHJvdG90eXBlIGlzIG9ubHkgcHJvdmlkZWQgaGVyZSB0byBkb2N1bWVu
dCB0aGUgaW50ZXJmYWNlLgogCi0gICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9uLCB2b2lkKiBh
cmcxLCB2b2lkKiBhcmcyKTsKKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFy
Zyk7CiAKICNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHAJKHJldmlzaW9u
IDIxNTU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMyArMzcsMTMgQEAgY29uc3QgZG91YmxlIE1h
Y3JvQXNzZW1ibGVyOjp0d29Ub1RoZTMyIAogI2lmIEVOQUJMRShNQVNNX1BST0JFKQogc3RhdGlj
IHZvaWQgc3RkRnVuY3Rpb25DYWxsYmFjayhQcm9iZUNvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAg
YXV0byBmdW5jID0gc3RhdGljX2Nhc3Q8Y29uc3Qgc3RkOjpmdW5jdGlvbjx2b2lkKFByb2JlQ29u
dGV4dCopPio+KGNvbnRleHQtPmFyZzEpOworICAgIGF1dG8gZnVuYyA9IHN0YXRpY19jYXN0PGNv
bnN0IHN0ZDo6ZnVuY3Rpb248dm9pZChQcm9iZUNvbnRleHQqKT4qPihjb250ZXh0LT5hcmcpOwog
ICAgICgqZnVuYykoY29udGV4dCk7CiB9CiAgICAgCiB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9i
ZShzdGQ6OmZ1bmN0aW9uPHZvaWQoUHJvYmVDb250ZXh0Kik+IGZ1bmMpCiB7Ci0gICAgcHJvYmUo
c3RkRnVuY3Rpb25DYWxsYmFjaywgbmV3IHN0ZDo6ZnVuY3Rpb248dm9pZChQcm9iZUNvbnRleHQq
KT4oZnVuYyksIDApOworICAgIHByb2JlKHN0ZEZ1bmN0aW9uQ2FsbGJhY2ssIG5ldyBzdGQ6OmZ1
bmN0aW9uPHZvaWQoUHJvYmVDb250ZXh0Kik+KGZ1bmMpKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUo
TUFTTV9QUk9CRSkKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXIuaAkocmV2aXNpb24gMjE1NTYxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODEz
LDEzICsxODEzLDE0IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICB1c2lu
ZyBNYWNyb0Fzc2VtYmxlckJhc2U6OnByb2JlOwogCisgICAgdm9pZCBwcm9iZShzdGQ6OmZ1bmN0
aW9uPHZvaWQoUHJvYmVDb250ZXh0Kik+KTsKKyNlbmRpZgorCiAgICAgLy8gTGV0J3MgeW91IHBy
aW50IGZyb20geW91ciBKSVQgZ2VuZXJhdGVkIGNvZGUuCisgICAgLy8gVGhpcyBvbmx5IHdvcmtz
IGlmIEVOQUJMRShNQVNNX1BST0JFKS4gT3RoZXJ3aXNlLCBwcmludCgpIGlzIGEgbm8tb3AuCiAg
ICAgLy8gU2VlIGNvbW1lbnRzIGluIE1hY3JvQXNzZW1ibGVyUHJpbnRlci5oIGZvciBleGFtcGxl
cyBvZiBob3cgdG8gdXNlIHRoaXMuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRz
PgogICAgIHZvaWQgcHJpbnQoQXJndW1lbnRzLi4uIGFyZ3MpOwotCi0gICAgdm9pZCBwcm9iZShz
dGQ6OmZ1bmN0aW9uPHZvaWQgKFByb2JlQ29udGV4dCopPik7Ci0jZW5kaWYKIH07CiAKICNpZiBF
TkFCTEUoTUFTTV9QUk9CRSkKQEAgLTE4MjksOCArMTgzMCw3IEBAIHN0cnVjdCBQcm9iZUNvbnRl
eHQgewogICAgIHVzaW5nIEZQUmVnaXN0ZXJJRCA9IE1hY3JvQXNzZW1ibGVyOjpGUFJlZ2lzdGVy
SUQ7CiAKICAgICBQcm9iZUZ1bmN0aW9uIHByb2JlRnVuY3Rpb247Ci0gICAgdm9pZCogYXJnMTsK
LSAgICB2b2lkKiBhcmcyOworICAgIHZvaWQqIGFyZzsKICAgICBDUFVTdGF0ZSBjcHU7CiAKICAg
ICAvLyBDb252ZW5pZW5jZSBtZXRob2RzOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwCShyZXZpc2lvbiAy
MTU1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
QVJNNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMCArNDQsOSBAQCB1c2luZyBuYW1lc3Bh
Y2UgQVJNNjRSZWdpc3RlcnM7CiAvLyBieSB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBzdHVi
LgogI2RlZmluZSBQVFJfU0laRSA4CiAjZGVmaW5lIFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNF
VCAoMCAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9BUkcxX09GRlNFVCAoMSAqIFBUUl9TSVpF
KQotI2RlZmluZSBQUk9CRV9BUkcyX09GRlNFVCAoMiAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9C
RV9BUkdfT0ZGU0VUICgxICogUFRSX1NJWkUpCiAKLSNkZWZpbmUgUFJPQkVfRklSU1RfR1BSRUdf
T0ZGU0VUICgzICogUFRSX1NJWkUpCisjZGVmaW5lIFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAo
MiAqIFBUUl9TSVpFKQogCiAjZGVmaW5lIEdQUkVHX1NJWkUgOAogI2RlZmluZSBQUk9CRV9DUFVf
WDBfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMCAqIEdQUkVHX1NJWkUpKQpA
QCAtMTI1LDEzICsxMjQsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIEFSTTY0UmVnaXN0ZXJzOwogI2Rl
ZmluZSBQUk9CRV9TSVpFIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMzIgKiBGUFJFR19T
SVpFKSkKICNkZWZpbmUgU0FWRURfQ0FMTEVSX1NQIFBST0JFX1NJWkUKICNkZWZpbmUgUFJPQkVf
U0laRV9QTFVTX1NBVkVEX0NBTExFUl9TUCAoU0FWRURfQ0FMTEVSX1NQICsgUFRSX1NJWkUpCisj
ZGVmaW5lIFBST0JFX0FMSUdORURfU0laRSAoUFJPQkVfU0laRV9QTFVTX1NBVkVEX0NBTExFUl9T
UCkKIAogLy8gVGhlc2UgQVNTRVJUcyByZW1pbmQgeW91IHRoYXQgaWYgeW91IGNoYW5nZSB0aGUg
bGF5b3V0IG9mIFByb2JlQ29udGV4dCwKIC8vIHlvdSBuZWVkIHRvIGNoYW5nZSBjdGlNYXNtUHJv
YmVUcmFtcG9saW5lIG9mZnNldHMgYWJvdmUgdG8gbWF0Y2guCiAjZGVmaW5lIFBST0JFX09GRlNF
VE9GKHgpIG9mZnNldG9mKHN0cnVjdCBQcm9iZUNvbnRleHQsIHgpCiBDT01QSUxFX0FTU0VSVChQ
Uk9CRV9PRkZTRVRPRihwcm9iZUZ1bmN0aW9uKSA9PSBQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZT
RVQsIFByb2JlQ29udGV4dF9wcm9iZUZ1bmN0aW9uX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOwotQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnMSkgPT0gUFJP
QkVfQVJHMV9PRkZTRVQsIFByb2JlQ29udGV4dF9hcmcxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOwotQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnMikgPT0g
UFJPQkVfQVJHMl9PRkZTRVQsIFByb2JlQ29udGV4dF9hcmcyX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnKSA9
PSBQUk9CRV9BUkdfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworCitDT01QSUxFX0FTU0VSVCghKFBST0JFX0NQVV9YMF9PRkZT
RVQgJiAweDcpLCBQcm9iZUNvbnRleHRfY3B1X3IwX29mZnNldF9zaG91bGRfYmVfOF9ieXRlX2Fs
aWduZWQpOwogCiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueDApID09IFBST0JF
X0NQVV9YMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfeDBfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueDEp
ID09IFBST0JFX0NQVV9YMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfeDFfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CkBAIC0xNzEsNiArMTcyLDggQEAgQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnBjKSA9PQogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1Lm56Y3YpID09IFBST0JFX0NQVV9OWkNWX09GRlNFVCwgUHJvYmVDb250ZXh0X2Nw
dV9uemN2X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmZwc3IpID09IFBST0JFX0NQVV9GUFNSX09GRlNFVCwg
UHJvYmVDb250ZXh0X2NwdV9mcHNyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOwogCitDT01QSUxFX0FTU0VSVCghKFBST0JFX0NQVV9RMF9PRkZTRVQgJiAweDcpLCBQcm9i
ZUNvbnRleHRfY3B1X3EwX29mZnNldF9zaG91bGRfYmVfOF9ieXRlX2FsaWduZWQpOworCiBDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucTApID09IFBST0JFX0NQVV9RMF9PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfcTBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucTEpID09IFBST0JFX0NQVV9R
MV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcTFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucTIpID09IFBS
T0JFX0NQVV9RMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcTJfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CkBAIC0yMDYsNiArMjA5LDcgQEAgQ09NUElMRV9BU1NFUlQo
UFJPQkVfT0ZGU0VUT0YoY3B1LnEzMCkgPQogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnEzMSkgPT0gUFJPQkVfQ1BVX1EzMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcTMxX29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogCiBDT01QSUxFX0FTU0VSVChz
aXplb2YoUHJvYmVDb250ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoIShQUk9CRV9BTElH
TkVEX1NJWkUgJiAweGYpLCBQcm9iZUNvbnRleHRfYWxpZ25lZF9zaXplX29mZnNldF9zaG91bGRf
YmVfMTZfYnl0ZV9hbGlnbmVkKTsKIAogI3VuZGVmIFBST0JFX09GRlNFVE9GCiAKQEAgLTIyMCwx
NyArMjI0LDE2IEBAIGFzbSAoCiAgICAgLy8gVGhlIHRvcCBvZiBzdGFjayAodGhlIGNhbGxlciBz
YXZlIGJ1ZmZlcikgbm93IGxvb2tzIGxpa2UgdGhpczoKICAgICAvLyAgICAgc3BbMCAqIHB0clNp
emVdOiBwcm9iZUZ1bmN0aW9uCiAgICAgLy8gICAgIHNwWzEgKiBwdHJTaXplXTogYXJnMQotICAg
IC8vICAgICBzcFsyICogcHRyU2l6ZV06IGFyZzIKLSAgICAvLyAgICAgc3BbMyAqIHB0clNpemVd
OiBhZGRyZXNzIG9mIGFybTY0UHJvYmVUcmFtcG9saW5lKCkKLSAgICAvLyAgICAgc3BbNCAqIHB0
clNpemVdOiBzYXZlZCB4MjcKLSAgICAvLyAgICAgc3BbNSAqIHB0clNpemVdOiBzYXZlZCB4MjgK
LSAgICAvLyAgICAgc3BbNiAqIHB0clNpemVdOiBzYXZlZCBscgotICAgIC8vICAgICBzcFs3ICog
cHRyU2l6ZV06IHNhdmVkIHNwCisgICAgLy8gICAgIHNwWzIgKiBwdHJTaXplXTogYWRkcmVzcyBv
ZiBhcm02NFByb2JlVHJhbXBvbGluZSgpCisgICAgLy8gICAgIHNwWzMgKiBwdHJTaXplXTogc2F2
ZWQgeDI3CisgICAgLy8gICAgIHNwWzQgKiBwdHJTaXplXTogc2F2ZWQgeDI4CisgICAgLy8gICAg
IHNwWzUgKiBwdHJTaXplXTogc2F2ZWQgbHIKKyAgICAvLyAgICAgc3BbNiAqIHB0clNpemVdOiBz
YXZlZCBzcAogCiAgICAgIm1vdiAgICAgICB4MjcsIHNwIiAiXG4iCiAgICAgIm1vdiAgICAgICB4
MjgsIHNwIiAiXG4iCiAKLSAgICAic3ViICAgICAgIHgyOCwgeDI4LCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfU0laRV9QTFVTX1NBVkVEX0NBTExFUl9TUCkgIlxuIgorICAgICJzdWIgICAg
ICAgeDI4LCB4MjgsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BTElHTkVEX1NJWkUpICJc
biIKIAogICAgIC8vIFRoZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sgbmVlZHMg
dG8gYmUgMTYgYnl0ZSBhbGlnbmVkLgogICAgICJiaWMgICAgICAgeDI4LCB4MjgsICMweGYiICJc
biIKQEAgLTI2NiwxNiArMjY5LDE2IEBAIGFzbSAoCiAgICAgInN0ciAgICAgICB4MjUsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YMjVfT0ZGU0VUKSAiXSIgIlxuIgogICAg
ICJzdHIgICAgICAgeDI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDI2
X09GRlNFVCkgIl0iICJcbiIKIAotICAgICJsZHIgICAgICAgeDAsIFt4MjcsICM0ICogIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgImxkciAgICAgICB4MCwgW3gy
NywgIzMgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKICAgICAic3Ry
ICAgICAgIHgwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDI3X09GRlNF
VCkgIl0iICJcbiIKLSAgICAibGRyICAgICAgIHgwLCBbeDI3LCAjNSAqICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgeDAsIFt4MjcsICM0ICog
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCiAgICAgInN0ciAgICAgICB4
MCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyOF9PRkZTRVQpICJdIiAi
XG4iCiAKICAgICAic3RyICAgICAgIGZwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRlBfT0ZGU0VUKSAiXSIgIlxuIgogCi0gICAgImxkciAgICAgICB4MCwgW3gyNywgIzYg
KiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAibGRyICAgICAg
IHgwLCBbeDI3LCAjNSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgog
ICAgICJzdHIgICAgICAgeDAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9M
Ul9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciAgICAgICB4MCwgW3gyNywgIzcgKiAiIFNUUklO
R0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIHgwLCBbeDI3
LCAjNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgogICAgICJzdHIg
ICAgICAgeDAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQp
ICJdIiAiXG4iCiAKICAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgpAQCAtMjg4LDkgKzI5MSw3IEBAIGFzbSAo
CiAgICAgImxkciAgICAgICB4MCwgW3gyNywgIzAgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJf
U0laRSkgIl0iICJcbiIKICAgICAic3RyICAgICAgIHgwLCBbc3AsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICJdIiAiXG4iCiAgICAgImxkciAgICAg
ICB4MCwgW3gyNywgIzEgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIK
LSAgICAic3RyICAgICAgIHgwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkcx
X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyICAgICAgIHgwLCBbeDI3LCAjMiAqICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgotICAgICJzdHIgICAgICAgeDAsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJz
dHIgICAgICAgeDAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSR19PRkZTRVQp
ICJdIiAiXG4iCiAKICAgICAic3RyICAgICAgIGQwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfUTBfT0ZGU0VUKSAiXSIgIlxuIgogICAgICJzdHIgICAgICAgZDEsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9RMV9PRkZTRVQpICJdIiAiXG4iCkBAIC00
NzEsMzMgKzQ3MiwzMSBAQCBzdGF0aWMgdm9pZCBhcm02NFByb2JlVHJhbXBvbGluZShQcm9iZUNv
CiAgICAgfQogfQogCi12b2lkIE1hY3JvQXNzZW1ibGVyQVJNNjQ6OnByb2JlKFByb2JlRnVuY3Rp
b24gZnVuY3Rpb24sIHZvaWQqIGFyZzEsIHZvaWQqIGFyZzIpCit2b2lkIE1hY3JvQXNzZW1ibGVy
QVJNNjQ6OnByb2JlKFByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFyZykKIHsKLSAgICBz
dWI2NChUcnVzdGVkSW1tMzIoOCAqIDgpLCBzcCk7CisgICAgc3ViNjQoVHJ1c3RlZEltbTMyKDcg
KiA4KSwgc3ApOwogCi0gICAgc3RvcmU2NCh4MjcsIEFkZHJlc3Moc3AsIDQgKiA4KSk7Ci0gICAg
c3RvcmU2NCh4MjgsIEFkZHJlc3Moc3AsIDUgKiA4KSk7Ci0gICAgc3RvcmU2NChsciwgQWRkcmVz
cyhzcCwgNiAqIDgpKTsKKyAgICBzdG9yZTY0KHgyNywgQWRkcmVzcyhzcCwgMyAqIDgpKTsKKyAg
ICBzdG9yZTY0KHgyOCwgQWRkcmVzcyhzcCwgNCAqIDgpKTsKKyAgICBzdG9yZTY0KGxyLCBBZGRy
ZXNzKHNwLCA1ICogOCkpOwogCi0gICAgYWRkNjQoVHJ1c3RlZEltbTMyKDggKiA4KSwgc3AsIHgy
OCk7Ci0gICAgc3RvcmU2NCh4MjgsIEFkZHJlc3Moc3AsIDcgKiA4KSk7IC8vIFNhdmUgb3JpZ2lu
YWwgc3AgdmFsdWUuCisgICAgYWRkNjQoVHJ1c3RlZEltbTMyKDcgKiA4KSwgc3AsIHgyOCk7Cisg
ICAgc3RvcmU2NCh4MjgsIEFkZHJlc3Moc3AsIDYgKiA4KSk7IC8vIFNhdmUgb3JpZ2luYWwgc3Ag
dmFsdWUuCiAKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o
ZnVuY3Rpb24pKSwgeDI4KTsKICAgICBzdG9yZTY0KHgyOCwgQWRkcmVzcyhzcCkpOwotICAgIG1v
dmUoVHJ1c3RlZEltbVB0cihhcmcxKSwgeDI4KTsKKyAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYXJn
KSwgeDI4KTsKICAgICBzdG9yZTY0KHgyOCwgQWRkcmVzcyhzcCwgMSAqIDgpKTsKLSAgICBtb3Zl
KFRydXN0ZWRJbW1QdHIoYXJnMiksIHgyOCk7Ci0gICAgc3RvcmU2NCh4MjgsIEFkZHJlc3Moc3As
IDIgKiA4KSk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KGFybTY0UHJvYmVUcmFtcG9saW5lKSksIHgyOCk7Ci0gICAgc3RvcmU2NCh4MjgsIEFkZHJlc3Mo
c3AsIDMgKiA4KSk7CisgICAgc3RvcmU2NCh4MjgsIEFkZHJlc3Moc3AsIDIgKiA4KSk7CiAKICAg
ICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSkpLCB4MjgpOwogICAgIG1fYXNzZW1ibGVyLmJscih4MjgpOwogCiAgICAgLy8g
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSBzaG91bGQgaGF2ZSByZXN0b3JlZCBldmVyeSByZWdpc3Rl
ciBleGNlcHQgZm9yCiAgICAgLy8gbHIgYW5kIHRoZSBzcC4KLSAgICBsb2FkNjQoQWRkcmVzcyhz
cCwgNiAqIDgpLCBscik7Ci0gICAgYWRkNjQoVHJ1c3RlZEltbTMyKDggKiA4KSwgc3ApOworICAg
IGxvYWQ2NChBZGRyZXNzKHNwLCA1ICogOCksIGxyKTsKKyAgICBhZGQ2NChUcnVzdGVkSW1tMzIo
NyAqIDgpLCBzcCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk02NC5oCShyZXZpc2lvbiAyMTU1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAkod29ya2luZyBjb3B5KQpAQCAtMzc0Nyw3ICszNzQ3
LDcgQEAgcHVibGljOgogICAgIH0KIAogI2lmIEVOQUJMRShNQVNNX1BST0JFKQotICAgIHZvaWQg
cHJvYmUoUHJvYmVGdW5jdGlvbiwgdm9pZCogYXJnMSwgdm9pZCogYXJnMik7CisgICAgdm9pZCBw
cm9iZShQcm9iZUZ1bmN0aW9uLCB2b2lkKiBhcmcpOwogI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BS
T0JFKQogCiBwcm90ZWN0ZWQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmNwcAkocmV2aXNpb24gMjE1NTYxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwNywxMCArMTA3LDkgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Q
cm9iZVRyYW1wb2xpbmUoKQogCiAjZGVmaW5lIFBUUl9TSVpFIDQKICNkZWZpbmUgUFJPQkVfUFJP
QkVfRlVOQ1RJT05fT0ZGU0VUICgwICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0FSRzFfT0ZG
U0VUICgxICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0FSRzJfT0ZGU0VUICgyICogUFRSX1NJ
WkUpCisjZGVmaW5lIFBST0JFX0FSR19PRkZTRVQgKDEgKiBQVFJfU0laRSkKIAotI2RlZmluZSBQ
Uk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKDQgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfRklS
U1RfR1BSRUdfT0ZGU0VUICgyICogUFRSX1NJWkUpCiAKICNkZWZpbmUgR1BSRUdfU0laRSA0CiAj
ZGVmaW5lIFBST0JFX0NQVV9SMF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgw
ICogR1BSRUdfU0laRSkpCkBAIC0xNTQsMTMgKzE1MywxNSBAQCBleHRlcm4gIkMiIHZvaWQgY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSgpCiAjZGVmaW5lIFBST0JFX0NQVV9EMTVfT0ZGU0VUIChQUk9C
RV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTUgKiBGUFJFR19TSVpFKSkKIAogI2RlZmluZSBQUk9C
RV9TSVpFIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTYgKiBGUFJFR19TSVpFKSkKKyNk
ZWZpbmUgUFJPQkVfQUxJR05FRF9TSVpFIChQUk9CRV9TSVpFKQogCiAvLyBUaGVzZSBBU1NFUlRz
IHJlbWluZCB5b3UgdGhhdCBpZiB5b3UgY2hhbmdlIHRoZSBsYXlvdXQgb2YgUHJvYmVDb250ZXh0
LAogLy8geW91IG5lZWQgdG8gY2hhbmdlIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgb2Zmc2V0cyBh
Ym92ZSB0byBtYXRjaC4KICNkZWZpbmUgUFJPQkVfT0ZGU0VUT0YoeCkgb2Zmc2V0b2Yoc3RydWN0
IFByb2JlQ29udGV4dCwgeCkKIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKHByb2JlRnVu
Y3Rpb24pID09IFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCwgUHJvYmVDb250ZXh0X3Byb2Jl
RnVuY3Rpb25fb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7Ci1DT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcxKSA9PSBQUk9CRV9BUkcxX09GRlNFVCwgUHJvYmVD
b250ZXh0X2FyZzFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7Ci1DT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcyKSA9PSBQUk9CRV9BUkcyX09GRlNFVCwgUHJv
YmVDb250ZXh0X2FyZzJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcpID09IFBST0JFX0FSR19PRkZTRVQsIFBy
b2JlQ29udGV4dF9hcmdfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CisK
K0NPTVBJTEVfQVNTRVJUKCEoUFJPQkVfQ1BVX1IwX09GRlNFVCAmIDB4MyksIFByb2JlQ29udGV4
dF9jcHVfcjBfb2Zmc2V0X3Nob3VsZF9iZV80X2J5dGVfYWxpZ25lZCk7CiAKIENPTVBJTEVfQVNT
RVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMCkgPT0gUFJPQkVfQ1BVX1IwX09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9yMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKIENP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMSkgPT0gUFJPQkVfQ1BVX1IxX09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9yMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKQEAgLTE4Miw2ICsxODMsOCBAQCBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihj
cHUucGMpID09CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuYXBzcikgPT0gUFJP
QkVfQ1BVX0FQU1JfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Fwc3Jfb2Zmc2V0X21hdGNoZXNf
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihj
cHUuZnBzY3IpID09IFBST0JFX0NQVV9GUFNDUl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZnBz
Y3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiAKK0NPTVBJTEVfQVNT
RVJUKCEoUFJPQkVfQ1BVX0QwX09GRlNFVCAmIDB4ZiksIFByb2JlQ29udGV4dF9jcHVfZDBfb2Zm
c2V0X3Nob3VsZF9iZV8xNl9ieXRlX2FsaWduZWQpOworCiBDT01QSUxFX0FTU0VSVChQUk9CRV9P
RkZTRVRPRihjcHUuZDApID09IFBST0JFX0NQVV9EMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZDEpID09IFBST0JFX0NQVV9EMV9PRkZTRVQsIFByb2JlQ29u
dGV4dF9jcHVfZDFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDIpID09IFBST0JFX0NQVV9EMl9PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfZDJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CkBAIC0xOTgsNyArMjAxLDkgQEAgQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1
LmQxMikgPQogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxMykgPT0gUFJPQkVf
Q1BVX0QxM19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDEzX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOwogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQx
NCkgPT0gUFJPQkVfQ1BVX0QxNF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDE0X29mZnNldF9t
YXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1LmQxNSkgPT0gUFJPQkVfQ1BVX0QxNV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDE1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCiBDT01QSUxFX0FT
U0VSVChzaXplb2YoUHJvYmVDb250ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6
ZV9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoIShQUk9C
RV9BTElHTkVEX1NJWkUgJiAweGYpLCBQcm9iZUNvbnRleHRfYWxpZ25lZF9zaXplX29mZnNldF9z
aG91bGRfYmVfMTZfYnl0ZV9hbGlnbmVkKTsKICN1bmRlZiBQUk9CRV9PRkZTRVRPRgogCiBhc20g
KApAQCAtMjExLDE2ICsyMTYsMTUgQEAgYXNtICgKICAgICAvLyBNYWNyb0Fzc2VtYmxlckFSTTo6
cHJvYmUoKSBoYXMgYWxyZWFkeSBnZW5lcmF0ZWQgY29kZSB0byBzdG9yZSBzb21lIHZhbHVlcy4K
ICAgICAvLyBUaGUgdG9wIG9mIHN0YWNrIG5vdyBsb29rcyBsaWtlIHRoaXM6CiAgICAgLy8gICAg
IGVzcFswICogcHRyU2l6ZV06IHByb2JlRnVuY3Rpb24KLSAgICAvLyAgICAgZXNwWzEgKiBwdHJT
aXplXTogYXJnMQotICAgIC8vICAgICBlc3BbMiAqIHB0clNpemVdOiBhcmcyCi0gICAgLy8gICAg
IGVzcFszICogcHRyU2l6ZV06IHNhdmVkIHIzIC8gUzAKLSAgICAvLyAgICAgZXNwWzQgKiBwdHJT
aXplXTogc2F2ZWQgaXAKLSAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgbHIKLSAg
ICAvLyAgICAgZXNwWzYgKiBwdHJTaXplXTogc2F2ZWQgc3AKKyAgICAvLyAgICAgZXNwWzEgKiBw
dHJTaXplXTogYXJnCisgICAgLy8gICAgIGVzcFsyICogcHRyU2l6ZV06IHNhdmVkIHIzIC8gUzAK
KyAgICAvLyAgICAgZXNwWzMgKiBwdHJTaXplXTogc2F2ZWQgaXAKKyAgICAvLyAgICAgZXNwWzQg
KiBwdHJTaXplXTogc2F2ZWQgbHIKKyAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQg
c3AKIAogICAgICJtb3YgICAgICAgaXAsIHNwIiAiXG4iCiAgICAgIm1vdiAgICAgICByMywgc3Ai
ICJcbiIKLSAgICAic3ViICAgICAgIHIzLCByMywgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X1NJWkUpICJcbiIKKyAgICAic3ViICAgICAgIHIzLCByMywgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0FMSUdORURfU0laRSkgIlxuIgogCiAgICAgLy8gVGhlIEFSTSBFQUJJIHNwZWNpZmll
cyB0aGF0IHRoZSBzdGFjayBuZWVkcyB0byBiZSAxNiBieXRlIGFsaWduZWQuCiAgICAgImJpYyAg
ICAgICByMywgcjMsICMweGYiICJcbiIKQEAgLTIzNywxNiArMjQxLDE0IEBAIGFzbSAoCiAgICAg
ImxkciAgICAgICBsciwgW2lwLCAjMCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAi
XSIgIlxuIgogICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0iICJcbiIKICAgICAibGRyICAgICAgIGxyLCBb
aXAsICMxICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCi0gICAgInN0
ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMV9PRkZTRVQp
ICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQVJHX09GRlNFVCkgIl0iICJcbiIKICAgICAibGRyICAgICAgIGxyLCBbaXAsICMyICog
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCi0gICAgInN0ciAgICAgICBs
ciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMl9PRkZTRVQpICJdIiAiXG4i
Ci0gICAgImxkciAgICAgICBsciwgW2lwLCAjMyAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9T
SVpFKSAiXSIgIlxuIgogICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0NQVV9SM19PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciAgICAgICBsciwgW2lw
LCAjNCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJsZHIg
ICAgICAgbHIsIFtpcCwgIzMgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJc
biIKICAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzUgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBb
aXAsICM0ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCiAgICAgInN0
ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09GRlNF
VCkgIl0iICJcbiIKLSAgICAibGRyICAgICAgIGxyLCBbaXAsICM2ICogIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgImxkciAgICAgICBsciwgW2lwLCAjNSAqICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgogICAgICJzdHIgICAgICAgbHIs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4i
CiAKICAgICAibGRyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfUENfT0ZGU0VUKSAiXSIgIlxuIgpAQCAtMzQ3LDE1ICszNDksMTQgQEAgYXNtICgKICk7CiAj
ZW5kaWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQogCi12b2lkIE1hY3JvQXNzZW1ibGVyQVJN
Ojpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcxLCB2b2lkKiBhcmcyKQor
dm9pZCBNYWNyb0Fzc2VtYmxlckFSTTo6cHJvYmUoUHJvYmVGdW5jdGlvbiBmdW5jdGlvbiwgdm9p
ZCogYXJnKQogewogICAgIHB1c2goUmVnaXN0ZXJJRDo6c3ApOwogICAgIHB1c2goUmVnaXN0ZXJJ
RDo6bHIpOwogICAgIHB1c2goUmVnaXN0ZXJJRDo6aXApOwogICAgIHB1c2goUmVnaXN0ZXJJRDo6
UzApOwogICAgIC8vIFRoZSBmb2xsb3dpbmcgdXNlcyBSZWdpc3RlcklEOjpTMC4gU28sIHRoZXkg
bXVzdCBjb21lIGFmdGVyIHdlIHB1c2ggUzAgYWJvdmUuCi0gICAgcHVzaCh0cnVzdGVkSW1tMzJG
cm9tUHRyKGFyZzIpKTsKLSAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoYXJnMSkpOworICAg
IHB1c2godHJ1c3RlZEltbTMyRnJvbVB0cihhcmcpKTsKICAgICBwdXNoKHRydXN0ZWRJbW0zMkZy
b21QdHIoZnVuY3Rpb24pKTsKIAogICAgIG1vdmUodHJ1c3RlZEltbTMyRnJvbVB0cihjdGlNYXNt
UHJvYmVUcmFtcG9saW5lKSwgUmVnaXN0ZXJJRDo6UzApOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAkocmV2aXNpb24g
MjE1NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTU5LDcgKzE1NTksNyBAQCBwdWJsaWM6CiAgICAg
fQogCiAjaWYgRU5BQkxFKE1BU01fUFJPQkUpCi0gICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9u
LCB2b2lkKiBhcmcxLCB2b2lkKiBhcmcyKTsKKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24s
IHZvaWQqIGFyZyk7CiAjZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKIHByb3RlY3RlZDoK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTXY3LmNwcAkocmV2aXNpb24gMjE1NTYxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDMsMTAgKzQzLDkgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUo
KQogCiAjZGVmaW5lIFBUUl9TSVpFIDQKICNkZWZpbmUgUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZG
U0VUICgwICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0FSRzFfT0ZGU0VUICgxICogUFRSX1NJ
WkUpCi0jZGVmaW5lIFBST0JFX0FSRzJfT0ZGU0VUICgyICogUFRSX1NJWkUpCisjZGVmaW5lIFBS
T0JFX0FSR19PRkZTRVQgKDEgKiBQVFJfU0laRSkKIAotI2RlZmluZSBQUk9CRV9GSVJTVF9HUFJF
R19PRkZTRVQgKDMgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VU
ICgyICogUFRSX1NJWkUpCiAKICNkZWZpbmUgR1BSRUdfU0laRSA0CiAjZGVmaW5lIFBST0JFX0NQ
VV9SMF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgwICogR1BSRUdfU0laRSkp
CkBAIC0xMDUsMTMgKzEwNCwxNSBAQCBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBv
bGluZSgpCiAjZGVmaW5lIFBST0JFX0NQVV9EMzBfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19P
RkZTRVQgKyAoMzAgKiBGUFJFR19TSVpFKSkKICNkZWZpbmUgUFJPQkVfQ1BVX0QzMV9PRkZTRVQg
KFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgzMSAqIEZQUkVHX1NJWkUpKQogI2RlZmluZSBQ
Uk9CRV9TSVpFIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMzIgKiBGUFJFR19TSVpFKSkK
KyNkZWZpbmUgUFJPQkVfQUxJR05FRF9TSVpFIChQUk9CRV9TSVpFKQogCiAvLyBUaGVzZSBBU1NF
UlRzIHJlbWluZCB5b3UgdGhhdCBpZiB5b3UgY2hhbmdlIHRoZSBsYXlvdXQgb2YgUHJvYmVDb250
ZXh0LAogLy8geW91IG5lZWQgdG8gY2hhbmdlIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgb2Zmc2V0
cyBhYm92ZSB0byBtYXRjaC4KICNkZWZpbmUgUFJPQkVfT0ZGU0VUT0YoeCkgb2Zmc2V0b2Yoc3Ry
dWN0IFByb2JlQ29udGV4dCwgeCkKIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKHByb2Jl
RnVuY3Rpb24pID09IFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCwgUHJvYmVDb250ZXh0X3By
b2JlRnVuY3Rpb25fb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7Ci1DT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcxKSA9PSBQUk9CRV9BUkcxX09GRlNFVCwgUHJv
YmVDb250ZXh0X2FyZzFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7Ci1D
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcyKSA9PSBQUk9CRV9BUkcyX09GRlNFVCwg
UHJvYmVDb250ZXh0X2FyZzJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7
CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcpID09IFBST0JFX0FSR19PRkZTRVQs
IFByb2JlQ29udGV4dF9hcmdfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7
CisKK0NPTVBJTEVfQVNTRVJUKCEoUFJPQkVfQ1BVX1IwX09GRlNFVCAmIDB4MyksIFByb2JlQ29u
dGV4dF9jcHVfcjBfb2Zmc2V0X3Nob3VsZF9iZV80X2J5dGVfYWxpZ25lZCk7CiAKIENPTVBJTEVf
QVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMCkgPT0gUFJPQkVfQ1BVX1IwX09GRlNFVCwgUHJv
YmVDb250ZXh0X2NwdV9yMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsK
IENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMSkgPT0gUFJPQkVfQ1BVX1IxX09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKQEAgLTEzMyw2ICsxMzQsOCBAQCBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUucGMpID09CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuYXBzcikgPT0g
UFJPQkVfQ1BVX0FQU1JfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Fwc3Jfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUuZnBzY3IpID09IFBST0JFX0NQVV9GUFNDUl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZnBzY3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiAKK0NPTVBJTEVf
QVNTRVJUKCEoUFJPQkVfQ1BVX0QwX09GRlNFVCAmIDB4ZiksIFByb2JlQ29udGV4dF9jcHVfZDBf
b2Zmc2V0X3Nob3VsZF9iZV8xNl9ieXRlX2FsaWduZWQpOworCiBDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUuZDApID09IFBST0JFX0NQVV9EMF9PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfZDBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDEpID09IFBST0JFX0NQVV9EMV9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfZDFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDIpID09IFBST0JFX0NQVV9EMl9PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfZDJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CkBAIC0xNjgsNiArMTcxLDcgQEAgQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LmQzMCkgPQogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQzMSkgPT0gUFJP
QkVfQ1BVX0QzMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDMxX29mZnNldF9tYXRjaGVzX2N0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogCiBDT01QSUxFX0FTU0VSVChzaXplb2YoUHJvYmVDb250
ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoIShQUk9CRV9BTElHTkVEX1NJWkUgJiAweGYp
LCBQcm9iZUNvbnRleHRfYWxpZ25lZF9zaXplX29mZnNldF9zaG91bGRfYmVfMTZfYnl0ZV9hbGln
bmVkKTsKIAogI3VuZGVmIFBST0JFX09GRlNFVE9GCiAgICAgCkBAIC0xODMsMTYgKzE4NywxNSBA
QCBhc20gKAogICAgIC8vIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnByb2JlKCkgaGFzIGFscmVhZHkg
Z2VuZXJhdGVkIGNvZGUgdG8gc3RvcmUgc29tZSB2YWx1ZXMuCiAgICAgLy8gVGhlIHRvcCBvZiBz
dGFjayBub3cgbG9va3MgbGlrZSB0aGlzOgogICAgIC8vICAgICBlc3BbMCAqIHB0clNpemVdOiBw
cm9iZUZ1bmN0aW9uCi0gICAgLy8gICAgIGVzcFsxICogcHRyU2l6ZV06IGFyZzEKLSAgICAvLyAg
ICAgZXNwWzIgKiBwdHJTaXplXTogYXJnMgotICAgIC8vICAgICBlc3BbMyAqIHB0clNpemVdOiBz
YXZlZCByMAotICAgIC8vICAgICBlc3BbNCAqIHB0clNpemVdOiBzYXZlZCBpcAotICAgIC8vICAg
ICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCBscgotICAgIC8vICAgICBlc3BbNiAqIHB0clNpemVd
OiBzYXZlZCBzcAorICAgIC8vICAgICBlc3BbMSAqIHB0clNpemVdOiBhcmcKKyAgICAvLyAgICAg
ZXNwWzIgKiBwdHJTaXplXTogc2F2ZWQgcjAKKyAgICAvLyAgICAgZXNwWzMgKiBwdHJTaXplXTog
c2F2ZWQgaXAKKyAgICAvLyAgICAgZXNwWzQgKiBwdHJTaXplXTogc2F2ZWQgbHIKKyAgICAvLyAg
ICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgc3AKIAogICAgICJtb3YgICAgICAgaXAsIHNwIiAi
XG4iCiAgICAgIm1vdiAgICAgICByMCwgc3AiICJcbiIKLSAgICAic3ViICAgICAgIHIwLCByMCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICJcbiIKKyAgICAic3ViICAgICAgIHIw
LCByMCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FMSUdORURfU0laRSkgIlxuIgogCiAg
ICAgLy8gVGhlIEFSTSBFQUJJIHNwZWNpZmllcyB0aGF0IHRoZSBzdGFjayBuZWVkcyB0byBiZSAx
NiBieXRlIGFsaWduZWQuCiAgICAgImJpYyAgICAgICByMCwgcjAsICMweGYiICJcbiIKQEAgLTIw
OSwxNiArMjEyLDE0IEBAIGFzbSAoCiAgICAgImxkciAgICAgICBsciwgW2lwLCAjMCAqICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgogICAgICJzdHIgICAgICAgbHIsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0i
ICJcbiIKICAgICAibGRyICAgICAgIGxyLCBbaXAsICMxICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICJdIiAiXG4iCi0gICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQVJHMV9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwg
W3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHX09GRlNFVCkgIl0iICJcbiIKICAg
ICAibGRyICAgICAgIGxyLCBbaXAsICMyICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUp
ICJdIiAiXG4iCi0gICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQVJHMl9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciAgICAgICBsciwgW2lwLCAjMyAq
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgogICAgICJzdHIgICAgICAg
bHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9SMF9PRkZTRVQpICJdIiAi
XG4iCi0gICAgImxkciAgICAgICBsciwgW2lwLCAjNCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBU
Ul9TSVpFKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzMgKiAiIFNUUklOR0la
RV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKICAgICAic3RyICAgICAgIGxyLCBbc3AsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJs
ZHIgICAgICAgbHIsIFtpcCwgIzUgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0i
ICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICM0ICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICJdIiAiXG4iCiAgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyICAgICAgIGxy
LCBbaXAsICM2ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAg
ImxkciAgICAgICBsciwgW2lwLCAjNSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAi
XSIgIlxuIgogICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCiAKICAgICAibGRyICAgICAgIGxyLCBbc3AsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgpAQCAtMzI0
LDcgKzMyNSw3IEBAIGFzbSAoCiApOwogI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykK
IAotdm9pZCBNYWNyb0Fzc2VtYmxlckFSTXY3Ojpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9u
LCB2b2lkKiBhcmcxLCB2b2lkKiBhcmcyKQordm9pZCBNYWNyb0Fzc2VtYmxlckFSTXY3Ojpwcm9i
ZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CiAgICAgcHVzaChSZWdpc3Rl
cklEOjpscik7CiAgICAgcHVzaChSZWdpc3RlcklEOjpscik7CkBAIC0zMzMsOCArMzM0LDcgQEAg
dm9pZCBNYWNyb0Fzc2VtYmxlckFSTXY3Ojpwcm9iZShQcm9iZUZ1bgogICAgIHB1c2goUmVnaXN0
ZXJJRDo6aXApOwogICAgIHB1c2goUmVnaXN0ZXJJRDo6cjApOwogICAgIC8vIFRoZSBmb2xsb3dp
bmcgdXNlcyBSZWdpc3RlcklEOjppcC4gU28sIHRoZXkgbXVzdCBjb21lIGFmdGVyIHdlIHB1c2gg
aXAgYWJvdmUuCi0gICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGFyZzIpKTsKLSAgICBwdXNo
KHRydXN0ZWRJbW0zMkZyb21QdHIoYXJnMSkpOworICAgIHB1c2godHJ1c3RlZEltbTMyRnJvbVB0
cihhcmcpKTsKICAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoZnVuY3Rpb24pKTsKIAogICAg
IG1vdmUodHJ1c3RlZEltbTMyRnJvbVB0cihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSwgUmVnaXN0
ZXJJRDo6aXApOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTXY3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgJKHJldmlzaW9uIDIxNTU2MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDE2LDcgKzIwMTYsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAjaWYgRU5BQkxFKE1B
U01fUFJPQkUpCi0gICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9uLCB2b2lkKiBhcmcxLCB2b2lk
KiBhcmcyKTsKKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFyZyk7CiAjZW5k
aWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKIHByb3RlY3RlZDoKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUHJpbnRl
ci5jcHAJKHJldmlzaW9uIDIxNTU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc1LDcgKzE3
NSw3IEBAIHZvaWQgTWFjcm9Bc3NlbWJsZXJQcmludGVyOjpwcmludENhbGxiYWMKIHsKICAgICB0
eXBlZGVmIFByaW50QXJnIEFyZzsKICAgICBQcmludEFyZ3NMaXN0JiBhcmdzTGlzdCA9Ci0gICAg
KnJlaW50ZXJwcmV0X2Nhc3Q8UHJpbnRBcmdzTGlzdCo+KGNvbnRleHQtPmFyZzEpOworICAgICpy
ZWludGVycHJldF9jYXN0PFByaW50QXJnc0xpc3QqPihjb250ZXh0LT5hcmcpOwogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYXJnc0xpc3Quc2l6ZSgpOyBpKyspIHsKICAgICAgICAgYXV0byYg
YXJnID0gYXJnc0xpc3RbaV07CiAgICAgICAgIHN3aXRjaCAoYXJnLnR5cGUpIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clByaW50ZXIuaAkocmV2aXNpb24gMjE1NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlclByaW50ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTIg
KzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCi0KICNp
bmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJM
RShNQVNNX1BST0JFKQorICAgIAogLy8gV2hhdCBpcyBNYWNyb0Fzc2VtYmxlcjo6cHJpbnQoKT8K
IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC8vIFRoZSBNYWNyb0Fzc3NlbWJs
ZXI6OnByaW50KCkgbWFrZXMgaXQgZWFzeSB0byBhZGQgcHJpbnQgbG9nZ2luZwpAQCAtMTY3LDcg
KzE2Nyw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGF1dG8gYXJnc0xpc3QgPSBzdGQ6Om1h
a2VfdW5pcXVlPFByaW50QXJnc0xpc3Q+KCk7CiAgICAgICAgIGFwcGVuZFByaW50QXJnKGFyZ3NM
aXN0LmdldCgpLCBhcmdzLi4uKTsKLSAgICAgICAgbWFzbS0+cHJvYmUocHJpbnRDYWxsYmFjaywg
YXJnc0xpc3QucmVsZWFzZSgpLCAwKTsKKyAgICAgICAgbWFzbS0+cHJvYmUocHJpbnRDYWxsYmFj
aywgYXJnc0xpc3QucmVsZWFzZSgpKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpAQCAtMjk2LDYg
KzI5NiwxMSBAQCB2b2lkIHByaW50UmVnaXN0ZXIoTWFjcm9Bc3NlbWJsZXI6OkNQVVN0CiB2b2lk
IHByaW50UmVnaXN0ZXIoTWFjcm9Bc3NlbWJsZXI6OkNQVVN0YXRlJiwgTWFjcm9Bc3NlbWJsZXI6
OkZQUmVnaXN0ZXJJRCk7CiB2b2lkIHByaW50TWVtb3J5KE1hY3JvQXNzZW1ibGVyOjpDUFVTdGF0
ZSYsIGNvbnN0IE1lbW9yeSYpOwogCi19IC8vIG5hbWVzcGFjZSBKU0MKKyNlbHNlIC8vIEVOQUJM
RShNQVNNX1BST0JFKQorCit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Cit2b2lkIE1h
Y3JvQXNzZW1ibGVyOjpwcmludChBcmd1bWVudHMuLi4pIHsgfQogCiAjZW5kaWYgLy8gRU5BQkxF
KE1BU01fUFJPQkUpCisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bi5jcHAJKHJldmlzaW9uIDIxNTU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMCAr
NDcsOSBAQCBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBvbGluZSgpCiAjZW5kaWYK
IAogI2RlZmluZSBQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQgKDAgKiBQVFJfU0laRSkKLSNk
ZWZpbmUgUFJPQkVfQVJHMV9PRkZTRVQgKDEgKiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfQVJH
Ml9PRkZTRVQgKDIgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQVJHX09GRlNFVCAoMSAqIFBU
Ul9TSVpFKQogCi0jZGVmaW5lIFBST0JFX0ZJUlNUX0dQUl9PRkZTRVQgKDMgKiBQVFJfU0laRSkK
KyNkZWZpbmUgUFJPQkVfRklSU1RfR1BSX09GRlNFVCAoMiAqIFBUUl9TSVpFKQogI2RlZmluZSBQ
Uk9CRV9DUFVfRUFYX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSX09GRlNFVCArICgwICogUFRSX1NJ
WkUpKQogI2RlZmluZSBQUk9CRV9DUFVfRUNYX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSX09GRlNF
VCArICgxICogUFRSX1NJWkUpKQogI2RlZmluZSBQUk9CRV9DUFVfRURYX09GRlNFVCAoUFJPQkVf
RklSU1RfR1BSX09GRlNFVCArICgyICogUFRSX1NJWkUpKQpAQCAtOTAsNiArODksNyBAQCBleHRl
cm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBvbGluZSgpCiAKICNpZiBDUFUoWDg2KQogI2Rl
ZmluZSBQUk9CRV9TSVpFIChQUk9CRV9DUFVfWE1NN19PRkZTRVQgKyBYTU1fU0laRSkKKyNkZWZp
bmUgUFJPQkVfQUxJR05FRF9TSVpFIChQUk9CRV9TSVpFICsgKDIgKiBYTU1fU0laRSkpCiAjZWxz
ZSAvLyBDUFUoWDg2XzY0KQogI2RlZmluZSBQUk9CRV9DUFVfWE1NOF9PRkZTRVQgKFBST0JFX0ZJ
UlNUX1hNTV9PRkZTRVQgKyAoOCAqIFhNTV9TSVpFKSkKICNkZWZpbmUgUFJPQkVfQ1BVX1hNTTlf
T0ZGU0VUIChQUk9CRV9GSVJTVF9YTU1fT0ZGU0VUICsgKDkgKiBYTU1fU0laRSkpCkBAIC0xMDAs
MTQgKzEwMCwxNCBAQCBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBvbGluZSgpCiAj
ZGVmaW5lIFBST0JFX0NQVV9YTU0xNF9PRkZTRVQgKFBST0JFX0ZJUlNUX1hNTV9PRkZTRVQgKyAo
MTQgKiBYTU1fU0laRSkpCiAjZGVmaW5lIFBST0JFX0NQVV9YTU0xNV9PRkZTRVQgKFBST0JFX0ZJ
UlNUX1hNTV9PRkZTRVQgKyAoMTUgKiBYTU1fU0laRSkpCiAjZGVmaW5lIFBST0JFX1NJWkUgKFBS
T0JFX0NQVV9YTU0xNV9PRkZTRVQgKyBYTU1fU0laRSkKKyNkZWZpbmUgUFJPQkVfQUxJR05FRF9T
SVpFIChQUk9CRV9TSVpFICsgKDQgKiBYTU1fU0laRSkpCiAjZW5kaWYgLy8gQ1BVKFg4Nl82NCkK
IAogLy8gVGhlc2UgQVNTRVJUcyByZW1pbmQgeW91IHRoYXQgaWYgeW91IGNoYW5nZSB0aGUgbGF5
b3V0IG9mIFByb2JlQ29udGV4dCwKIC8vIHlvdSBuZWVkIHRvIGNoYW5nZSBjdGlNYXNtUHJvYmVU
cmFtcG9saW5lIG9mZnNldHMgYWJvdmUgdG8gbWF0Y2guCiAjZGVmaW5lIFBST0JFX09GRlNFVE9G
KHgpIG9mZnNldG9mKHN0cnVjdCBQcm9iZUNvbnRleHQsIHgpCiBDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihwcm9iZUZ1bmN0aW9uKSA9PSBQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQs
IFByb2JlQ29udGV4dF9wcm9iZUZ1bmN0aW9uX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOwotQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnMSkgPT0gUFJPQkVf
QVJHMV9PRkZTRVQsIFByb2JlQ29udGV4dF9hcmcxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOwotQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnMikgPT0gUFJP
QkVfQVJHMl9PRkZTRVQsIFByb2JlQ29udGV4dF9hcmcyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnKSA9PSBQ
Uk9CRV9BUkdfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOwogCiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZWF4
KSA9PSBQUk9CRV9DUFVfRUFYX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9lYXhfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuZWN4KSA9PSBQUk9CRV9DUFVfRUNYX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9l
Y3hfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CkBAIC0xMzEsNiArMTMx
LDggQEAgQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxNCkgPQogQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxNSkgPT0gUFJPQkVfQ1BVX1IxNV9PRkZTRVQsIFBy
b2JlQ29udGV4dF9jcHVfcjE1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OwogI2VuZGlmIC8vIENQVShYODZfNjQpCiAKK0NPTVBJTEVfQVNTRVJUKCEoUFJPQkVfQ1BVX1hN
TTBfT0ZGU0VUICYgMHg3KSwgUHJvYmVDb250ZXh0X2NwdV94bW0wX29mZnNldF9zaG91bGRfYmVf
OF9ieXRlX2FsaWduZWQpOworCiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1t
MCkgPT0gUFJPQkVfQ1BVX1hNTTBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3htbTBfb2Zmc2V0
X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9P
RkZTRVRPRihjcHUueG1tMSkgPT0gUFJPQkVfQ1BVX1hNTTFfT0ZGU0VULCBQcm9iZUNvbnRleHRf
Y3B1X3htbTFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1tMikgPT0gUFJPQkVfQ1BVX1hNTTJfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X3htbTJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CkBAIC0xNTIsNiArMTU0LDcgQEAgQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnhtbTE1KQogI2VuZGlmIC8vIENQVShYODZfNjQpCiAKIENPTVBJTEVfQVNTRVJUKHNpemVv
ZihQcm9iZUNvbnRleHQpID09IFBST0JFX1NJWkUsIFByb2JlQ29udGV4dF9zaXplX21hdGNoZXNf
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVCghKFBST0JFX0FMSUdORURf
U0laRSAmIDB4MWYpLCBQcm9iZUNvbnRleHRfYWxpZ25lZF9zaXplX29mZnNldF9zaG91bGRfYmVf
MzJfYnl0ZV9hbGlnbmVkKTsKIAogI3VuZGVmIFBST0JFX09GRlNFVE9GCiAKQEAgLTE3MCwxMiAr
MTczLDExIEBAIGFzbSAoCiAgICAgLy8gICAgIGVzcFsxICogcHRyU2l6ZV06IHJldHVybiBhZGRy
ZXNzIC8gc2F2ZWQgZWlwCiAgICAgLy8gICAgIGVzcFsyICogcHRyU2l6ZV06IHByb2JlRnVuY3Rp
b24KICAgICAvLyAgICAgZXNwWzMgKiBwdHJTaXplXTogYXJnMQotICAgIC8vICAgICBlc3BbNCAq
IHB0clNpemVdOiBhcmcyCi0gICAgLy8gICAgIGVzcFs1ICogcHRyU2l6ZV06IHNhdmVkIGVheAot
ICAgIC8vICAgICBlc3BbNiAqIHB0clNpemVdOiBzYXZlZCBlc3AKKyAgICAvLyAgICAgZXNwWzQg
KiBwdHJTaXplXTogc2F2ZWQgZWF4CisgICAgLy8gICAgIGVzcFs1ICogcHRyU2l6ZV06IHNhdmVk
IGVzcAogCiAgICAgIm1vdmwgJWVzcCwgJWVheCIgIlxuIgotICAgICJzdWJsICQiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9TSVpFKSAiLCAlZXNwIiAiXG4iCisgICAgInN1YmwgJCIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0FMSUdORURfU0laRSkgIiwgJWVzcCIgIlxuIgogCiAgICAgLy8g
VGhlIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25t
ZW50IHJlcXVpcmVtZW50CiAgICAgLy8gaXMgMzIgYnl0ZXMuCkBAIC0xOTcsMTIgKzE5OSwxMCBA
QCBhc20gKAogICAgICJtb3ZsIDIgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIigl
ZWF4KSwgJWVjeCIgIlxuIgogICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIiglZWJwKSIgIlxuIgogICAgICJtb3ZsIDMgKiAi
IFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSwgJWVjeCIgIlxuIgotICAgICJt
b3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzFfT0ZGU0VUKSAiKCVlYnAp
IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHX09G
RlNFVCkgIiglZWJwKSIgIlxuIgogICAgICJtb3ZsIDQgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQ
VFJfU0laRSkgIiglZWF4KSwgJWVjeCIgIlxuIgotICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0FSRzJfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCi0gICAgIm1vdmwgNSAq
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVlYXgpLCAlZWN4IiAiXG4iCiAgICAg
Im1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIo
JWVicCkiICJcbiIKLSAgICAibW92bCA2ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUp
ICIoJWVheCksICVlY3giICJcbiIKKyAgICAibW92bCA1ICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICIoJWVheCksICVlY3giICJcbiIKICAgICAibW92bCAlZWN4LCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglZWJwKSIgIlxuIgogCiAgICAgIm1v
dnEgJXhtbTAsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU0wX09GRlNFVCkgIigl
ZWJwKSIgIlxuIgpAQCAtMjYzLDkgKzI2Myw5IEBAIGFzbSAoCiAKICAgICAvLyBMb2NhdGUgdGhl
ICJzYWZlIGFyZWEiIGF0IDJ4IHNpemVvZihQcm9iZUNvbnRleHQpIGJlbG93IHdoZXJlIHRoZSBu
ZXcKICAgICAvLyByc3Agd2lsbCBiZS4gVGhpcyB0aW1lIHdlIGRvbid0IGhhdmUgdG8gMzItYnl0
ZSBhbGlnbiBpdCBiZWNhdXNlIHdlJ3JlCi0gICAgLy8gbm90IHVzaW5nIHRvIHN0b3JlIGFueSB4
bW0gcmVncy4KKyAgICAvLyBub3QgdXNpbmcgdGhpcyBhcmVhIHRvIHN0b3JlIGFueSB4bW0gcmVn
cy4KICAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkg
IiglZWJwKSwgJWVheCIgIlxuIgotICAgICJzdWJsICQyICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfU0laRSkgIiwgJWVheCIgIlxuIgorICAgICJzdWJsICQyICogIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQUxJR05FRF9TSVpFKSAiLCAlZWF4IiAiXG4iCiAgICAgIm1vdmwgJWVheCwg
JWVzcCIgIlxuIgogCiAgICAgInN1YmwgJCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9F
QVhfT0ZGU0VUKSAiLCAlZWF4IiAiXG4iCkBAIC0zMjMsMTIgKzMyMywxMSBAQCBhc20gKAogICAg
IC8vICAgICBlc3BbMSAqIHB0clNpemVdOiByZXR1cm4gYWRkcmVzcyAvIHNhdmVkIHJpcAogICAg
IC8vICAgICBlc3BbMiAqIHB0clNpemVdOiBwcm9iZUZ1bmN0aW9uCiAgICAgLy8gICAgIGVzcFsz
ICogcHRyU2l6ZV06IGFyZzEKLSAgICAvLyAgICAgZXNwWzQgKiBwdHJTaXplXTogYXJnMgotICAg
IC8vICAgICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCByYXgKLSAgICAvLyAgICAgZXNwWzYgKiBw
dHJTaXplXTogc2F2ZWQgcnNwCisgICAgLy8gICAgIGVzcFs0ICogcHRyU2l6ZV06IHNhdmVkIHJh
eAorICAgIC8vICAgICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCByc3AKIAogICAgICJtb3ZxICVy
c3AsICVyYXgiICJcbiIKLSAgICAic3VicSAkIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfU0la
RSkgIiwgJXJzcCIgIlxuIgorICAgICJzdWJxICQiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9B
TElHTkVEX1NJWkUpICIsICVyc3AiICJcbiIKIAogICAgIC8vIFRoZSBYODZfNjQgQUJJIHNwZWNp
ZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudCByZXF1aXJlbWVudAogICAg
IC8vIGlzIDMyIGJ5dGVzLgpAQCAtMzUwLDEyICszNDksMTAgQEAgYXNtICgKICAgICAibW92cSAy
ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJheCksICVyY3giICJcbiIKICAg
ICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9QUk9CRV9GVU5DVElPTl9P
RkZTRVQpICIoJXJicCkiICJcbiIKICAgICAibW92cSAzICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICIoJXJheCksICVyY3giICJcbiIKLSAgICAibW92cSAlcmN4LCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9BUkcxX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAgICJtb3ZxICVy
Y3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSR19PRkZTRVQpICIoJXJicCkiICJcbiIK
ICAgICAibW92cSA0ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJheCksICVy
Y3giICJcbiIKLSAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkcy
X09GRlNFVCkgIiglcmJwKSIgIlxuIgotICAgICJtb3ZxIDUgKiAiIFNUUklOR0laRV9WQUxVRV9P
RihQVFJfU0laRSkgIiglcmF4KSwgJXJjeCIgIlxuIgogICAgICJtb3ZxICVyY3gsICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCi0gICAgIm1v
dnEgNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpLCAlcmN4IiAiXG4i
CisgICAgIm1vdnEgNSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpLCAl
cmN4IiAiXG4iCiAgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0VTUF9PRkZTRVQpICIoJXJicCkiICJcbiIKIAogICAgICJtb3ZxICVyOCwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX1I4X09GRlNFVCkgIiglcmJwKSIgIlxuIgpAQCAtNDQ4LDcgKzQ0
NSw3IEBAIGFzbSAoCiAgICAgLy8gcnNwIHdpbGwgYmUuIFRoaXMgdGltZSB3ZSBkb24ndCBoYXZl
IHRvIDMyLWJ5dGUgYWxpZ24gaXQgYmVjYXVzZSB3ZSdyZQogICAgIC8vIG5vdCB1c2luZyB0byBz
dG9yZSBhbnkgeG1tIHJlZ3MuCiAgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0VTUF9PRkZTRVQpICIoJXJicCksICVyYXgiICJcbiIKLSAgICAic3VicSAkMiAqICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICIsICVyYXgiICJcbiIKKyAgICAic3VicSAkMiAq
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FMSUdORURfU0laRSkgIiwgJXJheCIgIlxuIgog
ICAgICJtb3ZxICVyYXgsICVyc3AiICJcbiIKIAogICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCkBAIC01MzEsMTMg
KzUyOCwxMSBAQCBhc20gKAogLy8gcG9zaXRpb24gYmVmb3JlIHdlIHB1c2ggdGhlIFByb2JlQ29u
dGV4dCBmcmFtZS4gVGhlIHNhdmVkIHJpcCB3aWxsIHBvaW50IHRvCiAvLyB0aGUgYWRkcmVzcyBv
ZiB0aGUgaW5zdHJ1Y3Rpb24gaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZSBwcm9iZS4gCiAKLXZv
aWQgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnByb2JlKFByb2JlRnVuY3Rpb24gZnVuY3Rpb24s
IHZvaWQqIGFyZzEsIHZvaWQqIGFyZzIpCit2b2lkIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpw
cm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CiAgICAgcHVzaChSZWdp
c3RlcklEOjplc3ApOwogICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsKLSAgICBtb3ZlKFRydXN0
ZWRJbW1QdHIoYXJnMiksIFJlZ2lzdGVySUQ6OmVheCk7Ci0gICAgcHVzaChSZWdpc3RlcklEOjpl
YXgpOwotICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhcmcxKSwgUmVnaXN0ZXJJRDo6ZWF4KTsKKyAg
ICBtb3ZlKFRydXN0ZWRJbW1QdHIoYXJnKSwgUmVnaXN0ZXJJRDo6ZWF4KTsKICAgICBwdXNoKFJl
Z2lzdGVySUQ6OmVheCk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCo+KGZ1bmN0aW9uKSksIFJlZ2lzdGVySUQ6OmVheCk7CiAgICAgcHVzaChSZWdpc3RlcklE
OjplYXgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAkocmV2aXNpb24gMjE1NTYxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zOTUxLDcgKzM5NTEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAjaWYg
RU5BQkxFKE1BU01fUFJPQkUpCi0gICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9uLCB2b2lkKiBh
cmcxLCB2b2lkKiBhcmcyKTsKKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFy
Zyk7CiAjZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKIHByb3RlY3RlZDoK
</data>
<flag name="review"
          id="328910"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>