<?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>129772</bug_id>
          
          <creation_ts>2014-03-05 19:34:42 -0800</creation_ts>
          <short_desc>REGRESSION(r165141): &quot;broke ftl&quot; (Requested by olliej_ on #webkit).</short_desc>
          <delta_ts>2014-03-05 19:37:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>129519</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>987512</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-05 19:34:42 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/165141 broke the build:
&quot;broke ftl&quot; (Requested by olliej_ on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987514</commentid>
    <comment_count>1</comment_count>
      <attachid>225940</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-05 19:35:02 -0800</bug_when>
    <thetext>Created attachment 225940
ROLLOUT of r165141

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987517</commentid>
    <comment_count>2</comment_count>
      <attachid>225940</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-05 19:37:54 -0800</bug_when>
    <thetext>Comment on attachment 225940
ROLLOUT of r165141

Clearing flags on attachment: 225940

Committed r165167: &lt;http://trac.webkit.org/changeset/165167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987518</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-05 19:37:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225940</attachid>
            <date>2014-03-05 19:35:02 -0800</date>
            <delta_ts>2014-03-05 19:37:54 -0800</delta_ts>
            <desc>ROLLOUT of r165141</desc>
            <filename>bug-129772-20140305193502.patch</filename>
            <type>text/plain</type>
            <size>64858</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
Mzg5ZDI2ZWM5MWFiY2M4MDZhNTE1NTdhOTBkY2JiY2JjNWVkMGRjLi4zMmNiMDNiZjY4NTEzN2Qx
OWQ3M2MwMmY0OGFlMDU1MmYyNGM4NGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MyBAQAorMjAxNC0wMy0wNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2NTE0MSwgcjE2NTE1
NywgYW5kIHIxNjUxNTguCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzE2NTE0MQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNjUxNTcK
KyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTY1MTU4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3NzIKKworICAgICAg
ICAiYnJva2UgZnRsIiAoUmVxdWVzdGVkIGJ5IG9sbGllal8gb24gI3dlYmtpdCkuCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJ5dGVjb2RlL1BvbHltb3JwaGljUHV0QnlJZExpc3QuY3BwOgorICAgICAgICAoSlNDOjpQdXRC
eUlkQWNjZXNzOjp2aXNpdFdlYWspOgorICAgICAgICAoSlNDOjpQb2x5bW9ycGhpY1B1dEJ5SWRM
aXN0OjpQb2x5bW9ycGhpY1B1dEJ5SWRMaXN0KToKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNQ
dXRCeUlkTGlzdDo6ZnJvbSk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlk
TGlzdC5oOgorICAgICAgICAoSlNDOjpQdXRCeUlkQWNjZXNzOjp0cmFuc2l0aW9uKToKKyAgICAg
ICAgKEpTQzo6UHV0QnlJZEFjY2Vzczo6cmVwbGFjZSk6CisgICAgICAgIChKU0M6OlB1dEJ5SWRB
Y2Nlc3M6Om9sZFN0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OlB1dEJ5SWRBY2Nlc3M6OmNoYWlu
KToKKyAgICAgICAgKEpTQzo6UHV0QnlJZEFjY2Vzczo6c3R1YlJvdXRpbmUpOgorICAgICAgICAq
IGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVz
Ojpjb21wdXRlRm9yU3R1YkluZm8pOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1czo6ZHVtcCk6CisgICAgICAgICog
Ynl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpQ
dXRCeUlkU3RhdHVzKToKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1czo6dGFrZXNTbG93UGF0
aCk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaDoKKyAgICAgICAgKiBk
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgor
ICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
Qnl0ZUNvZGVQYXJzZXI6OmVtaXRQdXRCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29k
ZVBhcnNlcjo6aGFuZGxlUHV0QnlJZCk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHQ29tbW9u
Lmg6CisgICAgICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpDb25zdGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisgICAgICAg
ICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6
OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpOb2RlOjpoYXNJZGVudGlmaWVyKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAg
ICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAg
ICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhl
Y3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluKToKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQpOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWNoZWRQdXRCeUlkKToKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
YWNoZWRHZXRCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVk
UHV0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpmaXhGdW5j
dGlvbkJhc2VkT25TdGFja01hcHMpOgorICAgICAgICAqIGppdC9DQ2FsbEhlbHBlcnMuaDoKKyAg
ICAgICAgKEpTQzo6Q0NhbGxIZWxwZXJzOjpzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUpOgor
ICAgICAgICAqIGppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6
OkpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpKSVRQ
dXRCeUlkR2VuZXJhdG9yOjpKSVRQdXRCeUlkR2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6SklUR2V0QnlJZEdlbmVyYXRv
cjo6SklUR2V0QnlJZEdlbmVyYXRvcik6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3Bw
OgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgICogaml0L0pJVFByb3Bl
cnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2dldF9ieV9pZCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQpOgorICAgICAgICAqIGppdC9KSVRQ
cm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2dldF9i
eV9pZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQpOgorICAgICAgICAq
IGppdC9SZXBhdGNoLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVHZXRCeUlEKToKKyAgICAg
ICAgKEpTQzo6dHJ5QnVpbGRHZXRCeUlETGlzdCk6CisgICAgICAgIChKU0M6OnRyeUNhY2hlUHV0
QnlJRCk6CisgICAgICAgIChKU0M6OnRyeUJ1aWxkUHV0QnlJZExpc3QpOgorICAgICAgICAqIGpp
dC9TcGlsbFJlZ2lzdGVyc01vZGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6
CisgICAgICAgICogcnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6cHV0RW50cnkpOgor
ICAgICAgICAqIHJ1bnRpbWUvUHV0UHJvcGVydHlTbG90Lmg6CisgICAgICAgIChKU0M6OlB1dFBy
b3BlcnR5U2xvdDo6aXNDYWNoZWFibGUpOgorICAgICAgICAoSlNDOjpQdXRQcm9wZXJ0eVNsb3Q6
OmNhY2hlZE9mZnNldCk6CisKIDIwMTQtMDMtMDUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcmV2ZW50IHBvc3NpYmxlIGRl
YWRsb2NrIGluIHZpZXcgaW5kaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQwMmJiYzE3MDU4OWIzZjNj
YjlhMzg4YWVkYjBlYjY1MWNlYzY3YjEuLmI5ZWM5NDA0MzRhNGM2ODUxNzllYTMxODMyYTNlNjA4
NTRhNmRmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMy0wNSAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE2NTE0MSwgcjE2NTE1NywgYW5kIHIxNjUxNTguCisgICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE2NTE0MQorICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8xNjUxNTcKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTY1MTU4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjk3NzIKKworICAgICAgICAiYnJva2UgZnRsIiAoUmVxdWVzdGVkIGJ5IG9s
bGllal8gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9qaXQvU3Bp
bGxSZWdpc3RlcnNNb2RlLmg6IFJlbW92ZWQuCisKIDIwMTQtMDMtMDUgIE1hcnRpbiBSb2JpbnNv
biAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW0NNYWtlXSBUaGUgR09i
amVjdCBET00gYmluZGluZ3Mgc2hvdWxkIGFsd2F5cyBiZSBidWlsdApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCAwOWU1YmU2YjUxMDRhYTFiZDZjZjRhYzhiZjIzMTAxN2MwNTBlOTE0
Li43NTJkZjE1MWZiZjZmNmU0YjAyMGU1MTk3Yjg5ZGQ1MDY4ZTlhMjlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTE2Miw3ICsxMTYyLDYgQEAKIAkJQTc4NEEyNjQxMUQxNjYy
MjAwNTc3NkFDIC8qIFN5bnRheENoZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3QTdFRTc3MTFCOThCOEQwMDY1QTE0RiAvKiBTeW50YXhDaGVj
a2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QTc4NTA3RDYxN0NCQzZGRDAwMTFGNkU3IC8qIE1hcERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4NTA3RDQxN0NCQzZGRDAwMTFGNkU3IC8q
IE1hcERhdGEuY3BwICovOyB9OwogCQlBNzg1MDdENzE3Q0JDNkZEMDAxMUY2RTcgLyogTWFwRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4NTA3
RDUxN0NCQzZGRDAwMTFGNkU3IC8qIE1hcERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBNzg1RjZCQzE4QzU1M0ZFMDBGMTA2MjYgLyogU3Bp
bGxSZWdpc3RlcnNNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBN0ZGNjQ3QTE4QzUyRTg1MDBCNTUzMDcgLyogU3BpbGxSZWdpc3RlcnNNb2RlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTc4ODUz
RjkxNzk3MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4ODUzRjcxNzk3MjYyOTAw
MTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwICovOyB9OwogCQlBNzg4NTNGQTE3
OTcyNjI5MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4ODUzRjgxNzk3MjYyOTAwMTQ0MEU0
IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzhBOTc3NDE3OTczOEI4MDA5REY3NDQgLyogREZHRmFp
bGVkRmluYWxpemVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3OEE5NzZDMTc5NzM4QjgwMDlERjc0NCAvKiBERkdGYWlsZWRGaW5hbGl6ZXIuY3Bw
ICovOyB9OwpAQCAtMjgwMiw3ICsyODAxLDYgQEAKIAkJQTdGQjYwNEIxMDNGNUVBQjAwMTdBMjg2
IC8qIFByb3BlcnR5RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQcm9wZXJ0eURlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdG
QjYwQTMxMDNGN0RDMjAwMTdBMjg2IC8qIFByb3BlcnR5RGVzY3JpcHRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0ZDQzI2QzE3QTBCNkFBMDA3ODZEMUEgLyogRlRM
U3dpdGNoQ2FzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExTd2l0Y2hD
YXNlLmg7IHBhdGggPSBmdGwvRlRMU3dpdGNoQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlBN0ZGNjQ3QTE4QzUyRTg1MDBCNTUzMDcgLyogU3BpbGxSZWdpc3RlcnNNb2RlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNwaWxsUmVnaXN0ZXJzTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBOEE0NzQ4RDE1MUE4MzA2MDA0MTIzRkYgLyogbGliV1RGLmEgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRo
ID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUE4RTg5
NDMxMENEMDYwMjQwMDM2NzE3OSAvKiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThFODk0MzMwQ0QwNjAzRjAwMzY3MTc5IC8q
IEpTR2xvYmFsT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xv
YmFsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDcxLDcgKzM0Njks
NiBAQAogCQkJCUE3Mzg2NTUyMTE4Njk3QjQwMDU0MDI3OSAvKiBUaHVua0dlbmVyYXRvcnMuY3Bw
ICovLAogCQkJCUE3Mzg2NTUzMTE4Njk3QjQwMDU0MDI3OSAvKiBUaHVua0dlbmVyYXRvcnMuaCAq
LywKIAkJCQk2NTk4N0YyRjE2ODI4QTdFMDAzQzJGOEQgLyogVW51c2VkUG9pbnRlci5oICovLAot
CQkJCUE3RkY2NDdBMThDNTJFODUwMEI1NTMwNyAvKiBTcGlsbFJlZ2lzdGVyc01vZGUuaCAqLywK
IAkJCSk7CiAJCQlwYXRoID0gaml0OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTU1
MjYsNyArNTUyMyw2IEBACiAJCQkJODYxNThBQjMxNTVDOEI0MDAwQjQ1QzlDIC8qIFByb3BlcnR5
TmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NTQwRTE2RjVDRDAwQjM0NDYwIC8qIFBy
b3BlcnR5TmFtZUFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkY3MTY4QzE1QTNCMjM1MDA4
RjVEQUEgLyogUHJvcGVydHlPZmZzZXQuaCBpbiBIZWFkZXJzICovLAotCQkJCUE3ODVGNkJDMThD
NTUzRkUwMEYxMDYyNiAvKiBTcGlsbFJlZ2lzdGVyc01vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDU1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm9wZXJ0eVNsb3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGQjdGMzlDMTVFRDhFNDYwMEYxNjdCMiAvKiBQcm9wZXJ0eVN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMThDNDU2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBQcm90ZWN0LmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
b2x5bW9ycGhpY1B1dEJ5SWRMaXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qb2x5bW9ycGhpY1B1dEJ5SWRMaXN0LmNwcAppbmRleCBhMWU1M2Y2YzNiZjJiZjllZjBlMzEw
ZThjY2I0YTRkNzc1ZjQ1ZTkwLi5mZDNkOWE2M2NhMDlkZThhNTliYjcwOTcxNjgwMGEwMDI1YWQ1
YzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNQdXRCeUlkTGlzdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Bv
bHltb3JwaGljUHV0QnlJZExpc3QuY3BwCkBAIC03NywxMiArNzcsNiBAQCBib29sIFB1dEJ5SWRB
Y2Nlc3M6OnZpc2l0V2VhaygpIGNvbnN0CiAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQobV9j
aGFpbi5nZXQoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQ3VzdG9tU2V0dGVyOgotICAgICAgICBpZiAoIUhlYXA6OmlzTWFya2VkKG1fb2xk
U3RydWN0dXJlLmdldCgpKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYg
KG1fY2hhaW4gJiYgIUhlYXA6OmlzTWFya2VkKG1fY2hhaW4uZ2V0KCkpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05NCw4
ICs4OCw3IEBAIFBvbHltb3JwaGljUHV0QnlJZExpc3Q6OlBvbHltb3JwaGljUHV0QnlJZExpc3Qo
CiAgICAgUHV0S2luZCBwdXRLaW5kLCBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8pCiAgICAg
OiBtX2tpbmQocHV0S2luZCkKIHsKLSAgICBpZiAoc3R1YkluZm8uYWNjZXNzVHlwZSAhPSBhY2Nl
c3NfdW5zZXQpCi0gICAgICAgIG1fbGlzdC5hcHBlbmQoUHV0QnlJZEFjY2Vzczo6ZnJvbVN0cnVj
dHVyZVN0dWJJbmZvKHN0dWJJbmZvKSk7CisgICAgbV9saXN0LmFwcGVuZChQdXRCeUlkQWNjZXNz
Ojpmcm9tU3RydWN0dXJlU3R1YkluZm8oc3R1YkluZm8pKTsKIH0KIAogUG9seW1vcnBoaWNQdXRC
eUlkTGlzdCogUG9seW1vcnBoaWNQdXRCeUlkTGlzdDo6ZnJvbSgKQEAgLTEwNSw5ICs5OCw4IEBA
IFBvbHltb3JwaGljUHV0QnlJZExpc3QqIFBvbHltb3JwaGljUHV0QnlJZExpc3Q6OmZyb20oCiAg
ICAgICAgIHJldHVybiBzdHViSW5mby51LnB1dEJ5SWRMaXN0Lmxpc3Q7CiAgICAgCiAgICAgQVNT
RVJUKHN0dWJJbmZvLmFjY2Vzc1R5cGUgPT0gYWNjZXNzX3B1dF9ieV9pZF9yZXBsYWNlCi0gICAg
ICAgIHx8IHN0dWJJbmZvLmFjY2Vzc1R5cGUgPT0gYWNjZXNzX3B1dF9ieV9pZF90cmFuc2l0aW9u
X25vcm1hbAotICAgICAgICB8fCBzdHViSW5mby5hY2Nlc3NUeXBlID09IGFjY2Vzc19wdXRfYnlf
aWRfdHJhbnNpdGlvbl9kaXJlY3QKLSAgICAgICAgfHwgc3R1YkluZm8uYWNjZXNzVHlwZSA9PSBh
Y2Nlc3NfdW5zZXQpOworICAgICAgICAgICB8fCBzdHViSW5mby5hY2Nlc3NUeXBlID09IGFjY2Vz
c19wdXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWwKKyAgICAgICAgICAgfHwgc3R1YkluZm8uYWNj
ZXNzVHlwZSA9PSBhY2Nlc3NfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0KTsKICAgICAKICAg
ICBQb2x5bW9ycGhpY1B1dEJ5SWRMaXN0KiByZXN1bHQgPQogICAgICAgICBuZXcgUG9seW1vcnBo
aWNQdXRCeUlkTGlzdChwdXRLaW5kLCBzdHViSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljUHV0QnlJZExpc3QuaAppbmRleCBmOWRi
MjZhYWRlMTU1OGI0YTVjMzQ4YjUxYWJlMTMwYmE1OTY1YTRiLi4zMmU0OTg4NWZkMzI0ODliMzZl
Y2M4Y2EzNTExNjUyOTUxNmVlODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY1B1dEJ5SWRMaXN0LmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgogI2luY2x1
ZGUgIlB1dEtpbmQuaCIKLSNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJT
dHJ1Y3R1cmUuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQ2LDggKzQ1LDcgQEAg
cHVibGljOgogICAgIGVudW0gQWNjZXNzVHlwZSB7CiAgICAgICAgIEludmFsaWQsCiAgICAgICAg
IFRyYW5zaXRpb24sCi0gICAgICAgIFJlcGxhY2UsCi0gICAgICAgIEN1c3RvbVNldHRlcgorICAg
ICAgICBSZXBsYWNlCiAgICAgfTsKICAgICAKICAgICBQdXRCeUlkQWNjZXNzKCkKQEAgLTY4LDEx
ICs2NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJlc3VsdC5tX29sZFN0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBvbGRTdHJ1Y3R1cmUpOwogICAgICAgICByZXN1bHQubV9uZXdTdHJ1Y3R1cmUuc2V0
KHZtLCBvd25lciwgbmV3U3RydWN0dXJlKTsKICAgICAgICAgcmVzdWx0Lm1fY2hhaW4uc2V0KHZt
LCBvd25lciwgY2hhaW4pOwotICAgICAgICByZXN1bHQubV9jdXN0b21TZXR0ZXIgPSAwOwogICAg
ICAgICByZXN1bHQubV9zdHViUm91dGluZSA9IHN0dWJSb3V0aW5lOwogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KLQorICAgIAogICAgIHN0YXRpYyBQdXRCeUlkQWNjZXNzIHJlcGxhY2Uo
CiAgICAgICAgIFZNJiB2bSwKICAgICAgICAgSlNDZWxsKiBvd25lciwKQEAgLTgyLDI2ICs3OSw2
IEBAIHB1YmxpYzoKICAgICAgICAgUHV0QnlJZEFjY2VzcyByZXN1bHQ7CiAgICAgICAgIHJlc3Vs
dC5tX3R5cGUgPSBSZXBsYWNlOwogICAgICAgICByZXN1bHQubV9vbGRTdHJ1Y3R1cmUuc2V0KHZt
LCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgcmVzdWx0Lm1fY3VzdG9tU2V0dGVyID0gMDsK
LSAgICAgICAgcmVzdWx0Lm1fc3R1YlJvdXRpbmUgPSBzdHViUm91dGluZTsKLSAgICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICB9Ci0KLQotICAgIHN0YXRpYyBQdXRCeUlkQWNjZXNzIGN1c3RvbVNl
dHRlcigKLSAgICAgICAgVk0mIHZtLAotICAgICAgICBKU0NlbGwqIG93bmVyLAotICAgICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluLAotICAg
ICAgICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCi0gICAgICAg
IFBhc3NSZWZQdHI8SklUU3R1YlJvdXRpbmU+IHN0dWJSb3V0aW5lKQotICAgIHsKLSAgICAgICAg
UHV0QnlJZEFjY2VzcyByZXN1bHQ7Ci0gICAgICAgIHJlc3VsdC5tX29sZFN0cnVjdHVyZS5zZXQo
dm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICByZXN1bHQubV90eXBlID0gQ3VzdG9tU2V0
dGVyOwotICAgICAgICBpZiAoY2hhaW4pCi0gICAgICAgICAgICByZXN1bHQubV9jaGFpbi5zZXQo
dm0sIG93bmVyLCBjaGFpbik7Ci0gICAgICAgIHJlc3VsdC5tX2N1c3RvbVNldHRlciA9IGN1c3Rv
bVNldHRlcjsKICAgICAgICAgcmVzdWx0Lm1fc3R1YlJvdXRpbmUgPSBzdHViUm91dGluZTsKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC0xMTUsMTMgKzkyLDEyIEBAIHB1YmxpYzoK
ICAgICAKICAgICBib29sIGlzVHJhbnNpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBU
cmFuc2l0aW9uOyB9CiAgICAgYm9vbCBpc1JlcGxhY2UoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gUmVwbGFjZTsgfQotICAgIGJvb2wgaXNDdXN0b20oKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gQ3VzdG9tU2V0dGVyOyB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUoKSBj
b25zdAogICAgIHsKICAgICAgICAgLy8gVXNpbmcgdGhpcyBpbnN0ZWFkIG9mIGlzU2V0KCkgdG8g
bWFrZSB0aGlzIGFzc2VydGlvbiByb2J1c3QgYWdhaW5zdCB0aGUgcG9zc2liaWxpdHkKICAgICAg
ICAgLy8gb2YgYWRkaXRpb25hbCBhY2Nlc3MgdHlwZXMgYmVpbmcgYWRkZWQuCi0gICAgICAgIEFT
U0VSVChpc1RyYW5zaXRpb24oKSB8fCBpc1JlcGxhY2UoKSB8fCBpc0N1c3RvbSgpKTsKKyAgICAg
ICAgQVNTRVJUKGlzVHJhbnNpdGlvbigpIHx8IGlzUmVwbGFjZSgpKTsKICAgICAgICAgCiAgICAg
ICAgIHJldHVybiBtX29sZFN0cnVjdHVyZS5nZXQoKTsKICAgICB9CkBAIC0xNDAsMTggKzExNiwx
NiBAQCBwdWJsaWM6CiAgICAgCiAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluKCkgY29uc3QKICAg
ICB7Ci0gICAgICAgIEFTU0VSVChpc1RyYW5zaXRpb24oKSB8fCBpc0N1c3RvbSgpKTsKKyAgICAg
ICAgQVNTRVJUKGlzVHJhbnNpdGlvbigpKTsKICAgICAgICAgcmV0dXJuIG1fY2hhaW4uZ2V0KCk7
CiAgICAgfQogICAgIAogICAgIEpJVFN0dWJSb3V0aW5lKiBzdHViUm91dGluZSgpIGNvbnN0CiAg
ICAgewotICAgICAgICBBU1NFUlQoaXNUcmFuc2l0aW9uKCkgfHwgaXNSZXBsYWNlKCkgfHwgaXND
dXN0b20oKSk7CisgICAgICAgIEFTU0VSVChpc1RyYW5zaXRpb24oKSB8fCBpc1JlcGxhY2UoKSk7
CiAgICAgICAgIHJldHVybiBtX3N0dWJSb3V0aW5lLmdldCgpOwogICAgIH0KLQotICAgIFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlcigpIGNvbnN0IHsgQVNTRVJUKGlz
Q3VzdG9tKCkpOyByZXR1cm4gbV9jdXN0b21TZXR0ZXI7IH0KLQorICAgIAogICAgIGJvb2wgdmlz
aXRXZWFrKCkgY29uc3Q7CiAgICAgCiBwcml2YXRlOgpAQCAtMTYxLDcgKzEzNSw2IEBAIHByaXZh
dGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9vbGRTdHJ1Y3R1cmU7CiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uZXdTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZUNoYWluPiBtX2NoYWluOwotICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
IG1fY3VzdG9tU2V0dGVyOwogICAgIFJlZlB0cjxKSVRTdHViUm91dGluZT4gbV9zdHViUm91dGlu
ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRC
eUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmNwcAppbmRleCAxNzUwNGE2NzExYmM3MDA1YjlkMThkNDA4YmZjMTA0MTA4NjJmZTExLi5i
ZmZiZGU5MDU0NzM3OGI5NGFjZWY2NjIzZWQ5NGFiOTg3ZTczMGQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkBAIC0yMDUsOCArMjA1
LDYgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8oY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYsIENvZGUKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IFB1dEJ5SWRTdGF0dXMoVGFrZXNTbG93UGF0aCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlIFB1dEJ5SWRBY2Nlc3M6OkN1c3RvbVNldHRl
cjoKLSAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhNYWtlc0NhbGxzKTsKIAog
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1
cyhUYWtlc1Nsb3dQYXRoKTsKQEAgLTI2Nyw5ICsyNjUsNiBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5
SWRTdGF0dXM6OmNvbXB1dGVGb3IoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdAogICAgIEpTQ2VsbCogc3BlY2lmaWNWYWx1ZTsKICAgICBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh2bSwgdWlkLCBhdHRyaWJ1dGVzLCBzcGVj
aWZpY1ZhbHVlKTsKICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7Ci0gICAgICAgIGlm
IChhdHRyaWJ1dGVzICYgQ3VzdG9tQWNjZXNzb3IpCi0gICAgICAgICAgICByZXR1cm4gUHV0QnlJ
ZFN0YXR1cyhNYWtlc0NhbGxzKTsKLQogICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChBY2Nlc3Nv
ciB8IFJlYWRPbmx5KSkKICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKFRha2VzU2xv
d1BhdGgpOwogICAgICAgICBpZiAoc3BlY2lmaWNWYWx1ZSkgewpAQCAtMzQ3LDkgKzM0Miw2IEBA
IHZvaWQgUHV0QnlJZFN0YXR1czo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIGNh
c2UgVGFrZXNTbG93UGF0aDoKICAgICAgICAgb3V0LnByaW50KCIoVGFrZXNTbG93UGF0aCkiKTsK
ICAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTWFrZXNDYWxsczoKLSAgICAgICAgb3V0LnByaW50
KCIoTWFrZXNDYWxscykiKTsKLSAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9QdXRCeUlkU3RhdHVzLmgKaW5kZXggZDJkYjdhNmY0M2ZmNTQ2NWY4ZjU1ZTk0NmNjZTli
Y2UzZjc3MzVmOS4uMjMyOTM4NjA1ZGU4NjUzZTUxN2M0NDYwYTU3YzkzYmU0NGIzZmEyZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCkBAIC00
Nyw5ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gSXQncyBjYWNoZWQgYXMgYSBzaW1wbGUg
c3RvcmUgb2Ygc29tZSBraW5kLgogICAgICAgICBTaW1wbGUsCiAgICAgICAgIC8vIEl0J3Mga25v
d24gdG8gb2Z0ZW4gdGFrZSBzbG93IHBhdGguCi0gICAgICAgIFRha2VzU2xvd1BhdGgsCi0gICAg
ICAgIC8vIEl0J3Mga25vd24gdG8gdGFrZSBwYXRocyB0aGF0IG1ha2UgY2FsbHMuCi0gICAgICAg
IE1ha2VzQ2FsbHMKKyAgICAgICAgVGFrZXNTbG93UGF0aAogICAgIH07CiAgICAgCiAgICAgUHV0
QnlJZFN0YXR1cygpCkBAIC02MCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBQdXRC
eUlkU3RhdHVzKFN0YXRlIHN0YXRlKQogICAgICAgICA6IG1fc3RhdGUoc3RhdGUpCiAgICAgewot
ICAgICAgICBBU1NFUlQobV9zdGF0ZSA9PSBOb0luZm9ybWF0aW9uIHx8IG1fc3RhdGUgPT0gVGFr
ZXNTbG93UGF0aCB8fCBtX3N0YXRlID09IE1ha2VzQ2FsbHMpOworICAgICAgICBBU1NFUlQobV9z
dGF0ZSA9PSBOb0luZm9ybWF0aW9uIHx8IG1fc3RhdGUgPT0gVGFrZXNTbG93UGF0aCk7CiAgICAg
fQogICAgIAogICAgIFB1dEJ5SWRTdGF0dXMoY29uc3QgUHV0QnlJZFZhcmlhbnQmIHZhcmlhbnQp
CkBAIC03OSw4ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2V0KCkgY29uc3QgeyByZXR1
cm4gbV9zdGF0ZSAhPSBOb0luZm9ybWF0aW9uOyB9CiAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25z
dCB7IHJldHVybiBtX3N0YXRlID09IE5vSW5mb3JtYXRpb247IH0KICAgICBib29sIGlzU2ltcGxl
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSA9PSBTaW1wbGU7IH0KLSAgICBib29sIHRha2VzU2xv
d1BhdGgoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlID09IFRha2VzU2xvd1BhdGggfHwgbV9zdGF0
ZSA9PSBNYWtlc0NhbGxzOyB9Ci0gICAgYm9vbCBtYWtlc0NhbGxzKCkgY29uc3QgeyByZXR1cm4g
bV9zdGF0ZSA9PSBNYWtlc0NhbGxzOyB9CisgICAgYm9vbCB0YWtlc1Nsb3dQYXRoKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZSA9PSBUYWtlc1Nsb3dQYXRoOyB9CiAgICAgCiAgICAgc2l6ZV90IG51
bVZhcmlhbnRzKCkgY29uc3QgeyByZXR1cm4gbV92YXJpYW50cy5zaXplKCk7IH0KICAgICBjb25z
dCBWZWN0b3I8UHV0QnlJZFZhcmlhbnQsIDE+JiB2YXJpYW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
dmFyaWFudHM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
dHJ1Y3R1cmVTdHViSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVj
dHVyZVN0dWJJbmZvLmgKaW5kZXggNTJiM2VkMDNiODYzOTAxNDE2NTExZjBkMzRlM2QyNTk5ZWUw
M2ExMS4uOTUxMzVmM2E0YWQ5MWU0ZjI5NWZiNjZmZTY1ODFhODlkNjA5ZjFlNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJPcGNvZGUuaCIKICNpbmNsdWRlICJQb2x5bW9ycGhp
Y0FjY2Vzc1N0cnVjdHVyZUxpc3QuaCIKICNpbmNsdWRlICJSZWdpc3RlclNldC5oIgotI2luY2x1
ZGUgIlNwaWxsUmVnaXN0ZXJzTW9kZS5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CkBAIC0xOTQsNyArMTkzLDcgQEAgc3RydWN0IFN0cnVjdHVyZVN0dWJJbmZvIHsKICAg
ICBDb2RlT3JpZ2luIGNvZGVPcmlnaW47CiAKICAgICBzdHJ1Y3QgewotICAgICAgICBTcGlsbFJl
Z2lzdGVyc01vZGUgc3BpbGxNb2RlIDogODsKKyAgICAgICAgaW50OF90IHJlZ2lzdGVyc0ZsdXNo
ZWQ7CiAgICAgICAgIGludDhfdCBiYXNlR1BSOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAg
ICAgIGludDhfdCB2YWx1ZVRhZ0dQUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCBmNzdkYjFiNjI5
MTM1YjMxYTY5NWMyMmU4ZjFkMTQwMjU5YTdlNTEwLi5kYmY4OGZmYjU1N2Y4N2YyZjBkMjYzZTIw
ZDJlZTNiYTZhNDFlNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNzM3LDcgKzE3MzcsNiBA
QCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZm
ZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBQdXRC
eUlkOgotICAgIGNhc2UgUHV0QnlJZEZsdXNoOgogICAgIGNhc2UgUHV0QnlJZERpcmVjdDoKICAg
ICAgICAgbm9kZS0+c2V0Q2FuRXhpdCh0cnVlKTsKICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gZm9yTm9kZShub2RlLT5jaGlsZDEoKSkuYmVzdFByb3ZlblN0cnVjdHVyZSgpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmlu
ZGV4IDQyNDFjNzM3NjY5YWFjMzBkYTMxOTQ2N2EyZWM2YzdjY2QwODM3MjguLmI1YjI1MjFmYjY1
ZGIxNDhkMTcyNDRlNjM4NzE5YTgzYzc2ZWVkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgaW50IGRlc3RpbmF0aW9uT3BlcmFuZCwgU3BlY3VsYXRlZFR5cGUsIE5vZGUq
IGJhc2UsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsCiAgICAgICAgIGNvbnN0IEdldEJ5SWRT
dGF0dXMmKTsKICAgICB2b2lkIGVtaXRQdXRCeUlkKAotICAgICAgICBOb2RlKiBiYXNlLCB1bnNp
Z25lZCBpZGVudGlmaWVyTnVtYmVyLCBOb2RlKiB2YWx1ZSwgIGNvbnN0IFB1dEJ5SWRTdGF0dXMm
LCBib29sIGlzRGlyZWN0KTsKKyAgICAgICAgTm9kZSogYmFzZSwgdW5zaWduZWQgaWRlbnRpZmll
ck51bWJlciwgTm9kZSogdmFsdWUsIGJvb2wgaXNEaXJlY3QpOwogICAgIHZvaWQgaGFuZGxlUHV0
QnlJZCgKICAgICAgICAgTm9kZSogYmFzZSwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgTm9k
ZSogdmFsdWUsIGNvbnN0IFB1dEJ5SWRTdGF0dXMmLAogICAgICAgICBib29sIGlzRGlyZWN0KTsK
QEAgLTE5NDMsMTIgKzE5NDMsMTIgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlR2V0QnlJ
ZCgKIH0KIAogdm9pZCBCeXRlQ29kZVBhcnNlcjo6ZW1pdFB1dEJ5SWQoCi0gICAgTm9kZSogYmFz
ZSwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgTm9kZSogdmFsdWUsIGNvbnN0IFB1dEJ5SWRT
dGF0dXMmIHB1dEJ5SWRTdGF0dXMsIGJvb2wgaXNEaXJlY3QpCisgICAgTm9kZSogYmFzZSwgdW5z
aWduZWQgaWRlbnRpZmllck51bWJlciwgTm9kZSogdmFsdWUsIGJvb2wgaXNEaXJlY3QpCiB7CiAg
ICAgaWYgKGlzRGlyZWN0KQogICAgICAgICBhZGRUb0dyYXBoKFB1dEJ5SWREaXJlY3QsIE9wSW5m
byhpZGVudGlmaWVyTnVtYmVyKSwgYmFzZSwgdmFsdWUpOwogICAgIGVsc2UKLSAgICAgICAgYWRk
VG9HcmFwaChwdXRCeUlkU3RhdHVzLm1ha2VzQ2FsbHMoKSA/IFB1dEJ5SWRGbHVzaCA6IFB1dEJ5
SWQsIE9wSW5mbyhpZGVudGlmaWVyTnVtYmVyKSwgYmFzZSwgdmFsdWUpOworICAgICAgICBhZGRU
b0dyYXBoKFB1dEJ5SWQsIE9wSW5mbyhpZGVudGlmaWVyTnVtYmVyKSwgYmFzZSwgdmFsdWUpOwog
fQogCiB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVQdXRCeUlkKApAQCAtMTk1OCwxMyArMTk1
OCwxMyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVQdXRCeUlkKAogICAgIGlmICghcHV0
QnlJZFN0YXR1cy5pc1NpbXBsZSgpKSB7CiAgICAgICAgIGlmICghcHV0QnlJZFN0YXR1cy5pc1Nl
dCgpKQogICAgICAgICAgICAgYWRkVG9HcmFwaChGb3JjZU9TUkV4aXQpOwotICAgICAgICBlbWl0
UHV0QnlJZChiYXNlLCBpZGVudGlmaWVyTnVtYmVyLCB2YWx1ZSwgcHV0QnlJZFN0YXR1cywgaXNE
aXJlY3QpOworICAgICAgICBlbWl0UHV0QnlJZChiYXNlLCBpZGVudGlmaWVyTnVtYmVyLCB2YWx1
ZSwgaXNEaXJlY3QpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAogICAgIGlmIChwdXRC
eUlkU3RhdHVzLm51bVZhcmlhbnRzKCkgPiAxKSB7CiAgICAgICAgIGlmICghaXNGVEwobV9ncmFw
aC5tX3BsYW4ubW9kZSkpIHsKLSAgICAgICAgICAgIGVtaXRQdXRCeUlkKGJhc2UsIGlkZW50aWZp
ZXJOdW1iZXIsIHZhbHVlLCBwdXRCeUlkU3RhdHVzLCBpc0RpcmVjdCk7CisgICAgICAgICAgICBl
bWl0UHV0QnlJZChiYXNlLCBpZGVudGlmaWVyTnVtYmVyLCB2YWx1ZSwgaXNEaXJlY3QpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIApAQCAtMjAwMSwxMyArMjAwMSw5
IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVB1dEJ5SWQoCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgCi0gICAgaWYgKHZhcmlhbnQua2luZCgpICE9IFB1dEJ5SWRWYXJpYW50OjpU
cmFuc2l0aW9uKSB7Ci0gICAgICAgIGVtaXRQdXRCeUlkKGJhc2UsIGlkZW50aWZpZXJOdW1iZXIs
IHZhbHVlLCBwdXRCeUlkU3RhdHVzLCBpc0RpcmVjdCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KKyAgICBBU1NFUlQodmFyaWFudC5raW5kKCkgPT0gUHV0QnlJZFZhcmlhbnQ6OlRyYW5zaXRp
b24pOwogICAgIGlmICh2YXJpYW50LnN0cnVjdHVyZUNoYWluKCkgJiYgIXZhcmlhbnQuc3RydWN0
dXJlQ2hhaW4oKS0+aXNTdGlsbFZhbGlkKCkpIHsKLSAgICAgICAgZW1pdFB1dEJ5SWQoYmFzZSwg
aWRlbnRpZmllck51bWJlciwgdmFsdWUsIHB1dEJ5SWRTdGF0dXMsIGlzRGlyZWN0KTsKKyAgICAg
ICAgZW1pdFB1dEJ5SWQoYmFzZSwgaWRlbnRpZmllck51bWJlciwgdmFsdWUsIGlzRGlyZWN0KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDbG9iYmVyaXplLmgKaW5kZXggMGFmMmJkYWI3OGY3YWZhYzQzOTY5ZWRmMzZiMDhjZTM2NjQ2
YWZiZS4uY2EzN2M5MmM4ZTFhNDc2ODc1OTdkNmE3NjEyYjNhNTc3ZmNlZjFmZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTE5Niw3ICsxOTYsNiBAQCB2
b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBSZWFkRnVuY3RvciYgcmVh
ZCwgV3JpdGVGdW5jdG9yJiB3cml0ZQogICAgIGNhc2UgR2V0QnlJZDoKICAgICBjYXNlIEdldEJ5
SWRGbHVzaDoKICAgICBjYXNlIFB1dEJ5SWQ6Ci0gICAgY2FzZSBQdXRCeUlkRmx1c2g6CiAgICAg
Y2FzZSBQdXRCeUlkRGlyZWN0OgogICAgIGNhc2UgQXJyYXlQdXNoOgogICAgIGNhc2UgQXJyYXlQ
b3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaAppbmRleCA5Nzc4MjUyM2MzMzgy
MDliOGQxZjE1YTE3YzVhZDgyNjAxZGNkMTY4Li5lZDgyYzFjMDU4MDBkYjc2NDliZTVmYWI3MTk1
ZjlhMGFkY2IzMjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nv
bW1vbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKQEAgLTk2
LDYgKzk2LDggQEAgaW5saW5lIGJvb2wgZW5hYmxlSW50NTIoKQogI2VuZGlmCiB9CiAKK2VudW0g
U3BpbGxSZWdpc3RlcnNNb2RlIHsgTmVlZFRvU3BpbGwsIERvbnRTcGlsbCB9OworCiBlbnVtIE5v
UmVzdWx0VGFnIHsgTm9SZXN1bHQgfTsKIAogZW51bSBPcHRpbWl6YXRpb25GaXhwb2ludFN0YXRl
IHsgQmVmb3JlRml4cG9pbnQsIEZpeHBvaW50Tm90Q29udmVyZ2VkLCBGaXhwb2ludENvbnZlcmdl
ZCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZv
bGRpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9s
ZGluZ1BoYXNlLmNwcAppbmRleCBjYTdkM2ZlYzQzNGQ0NmI2NGFmNmE5MTdlMTI1OTlkZTAyZGU4
NzkzLi40NGQ0MTM2YzAwZTUzZmQ0MTA3MTk3NjRiODg2ZDc5MDQ4OGY4NTFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNw
cApAQCAtMjI0LDcgKzIyNCw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICBjYXNlIFB1dEJ5SWQ6Ci0gICAgICAgICAgICBjYXNlIFB1dEJ5
SWRGbHVzaDoKICAgICAgICAgICAgIGNhc2UgUHV0QnlJZERpcmVjdDogewogICAgICAgICAgICAg
ICAgIE5vZGVPcmlnaW4gb3JpZ2luID0gbm9kZS0+b3JpZ2luOwogICAgICAgICAgICAgICAgIEVk
Z2UgY2hpbGRFZGdlID0gbm9kZS0+Y2hpbGQxKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA4MjQ0YTRmNWFkYzc3MTA0OWVmYTlhYzNkYjg2NDU2
MjNlMDc3ZDYxLi41YzBhYTQyMGM3NGIyMTAxYzBkY2UzNzk3YWQxMDgwNzM0ZTk4NjA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTg1MSw3ICs4
NTEsNiBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBQ
dXRCeUlkOgotICAgICAgICBjYXNlIFB1dEJ5SWRGbHVzaDoKICAgICAgICAgY2FzZSBQdXRCeUlk
RGlyZWN0OiB7CiAgICAgICAgICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsK
ICAgICAgICAgICAgIGluc2VydFN0b3JlQmFycmllcihtX2luZGV4SW5CbG9jaywgbm9kZS0+Y2hp
bGQxKCksIG5vZGUtPmNoaWxkMigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5k
ZXggZTQ3MzBlMTU0YTVhMjI2ZjRmN2JkNTIyY2EwZGM0MjY3MGMzZGQxYy4uYjViOTU5MDY2OGRk
OTMwM2FiOTk1NjVlNDNmMDhkYmY2ZTE3ZTI2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdO
b2RlLmgKQEAgLTY1NCw3ICs2NTQsNiBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIGNhc2UgR2V0
QnlJZDoKICAgICAgICAgY2FzZSBHZXRCeUlkRmx1c2g6CiAgICAgICAgIGNhc2UgUHV0QnlJZDoK
LSAgICAgICAgY2FzZSBQdXRCeUlkRmx1c2g6CiAgICAgICAgIGNhc2UgUHV0QnlJZERpcmVjdDoK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDg0YTIzZTQ2ZTlmM2RmYzM3ZDlmYjRkMzUy
NzA3N2QxODBjZGRmNzUuLmNlNDNkMWFjZWZmZWNmYzNkMTFjMjNjODM0ZjA1OTk1YjhkOGIxYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTE0Niw3ICsxNDYs
NiBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oR2V0QnlJZCwg
Tm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSB8IE5vZGVDbG9iYmVyc1dvcmxkKSBcCiAg
ICAgbWFjcm8oR2V0QnlJZEZsdXNoLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlIHwg
Tm9kZUNsb2JiZXJzV29ybGQpIFwKICAgICBtYWNybyhQdXRCeUlkLCBOb2RlTXVzdEdlbmVyYXRl
IHwgTm9kZUNsb2JiZXJzV29ybGQpIFwKLSAgICBtYWNybyhQdXRCeUlkRmx1c2gsIE5vZGVNdXN0
R2VuZXJhdGUgfCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZUNsb2JiZXJzV29ybGQpIFwKICAgICBt
YWNybyhQdXRCeUlkRGlyZWN0LCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZUNsb2JiZXJzV29ybGQp
IFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1h
Y3JvKENoZWNrRXhlY3V0YWJsZSwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcAppbmRleCAzNTA0ZmQ5MzkzYzMzYjk1MTIxYzM3NTI5MzVhZWVkYTQwZWE2OTZjLi4yOGM4
MGU0MGQxZjg5NDBlMDkyNjVkYzViZDhmMmM1NjFiNzkwN2FhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcApAQCAtNTUwLDcgKzU1MCw2IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgUmV0dXJuOgog
ICAgICAgICBjYXNlIFRocm93OgogICAgICAgICBjYXNlIFB1dEJ5SWQ6Ci0gICAgICAgIGNhc2Ug
UHV0QnlJZEZsdXNoOgogICAgICAgICBjYXNlIFB1dEJ5SWREaXJlY3Q6CiAgICAgICAgIGNhc2Ug
UHV0QnlPZmZzZXQ6CiAgICAgICAgIGNhc2UgTXVsdGlQdXRCeU9mZnNldDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggZDgzYjkzYTU5YTMzZmY1
NmQ4NjZmM2Q2YWJkYmZlZjkxODc5YWFlNi4uMDZjMGQ0MGU5NGQzNjk5OTZiZTk4MDdlMzdjMWZm
YTRlY2Y1MTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZl
VG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVj
dXRlLmgKQEAgLTE1NSw3ICsxNTUsNiBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0
ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBHZXRCeUlk
OgogICAgIGNhc2UgR2V0QnlJZEZsdXNoOgogICAgIGNhc2UgUHV0QnlJZDoKLSAgICBjYXNlIFB1
dEJ5SWRGbHVzaDoKICAgICBjYXNlIFB1dEJ5SWREaXJlY3Q6CiAgICAgY2FzZSBDaGVja1N0cnVj
dHVyZToKICAgICBjYXNlIENoZWNrRXhlY3V0YWJsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggOTg0MTAxNTM3M2IzODg5ZmRhNTRh
NzEyZjQyMDM2NTY3OWY4ODdlMi4uMDkwNmIwMWQ0YWQ2M2FmMDIyYjdjMzRkZjEzNDJkZGY2N2Yz
ODA4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKQEAgLTg4MCw3ICs4ODAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW4o
Tm9kZSogbm9kZSkKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC5iYXNlR1BSID0gc3RhdGlj
X2Nhc3Q8aW50OF90PihiYXNlR1BSKTsKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC52YWx1
ZUdQUiA9IHN0YXRpY19jYXN0PGludDhfdD4ocmVzdWx0R1BSKTsKICAgICAgICAgICAgIHN0dWJJ
bmZvLT5wYXRjaC51c2VkUmVnaXN0ZXJzID0gdXNlZFJlZ2lzdGVycygpOwotICAgICAgICAgICAg
c3R1YkluZm8tPnBhdGNoLnNwaWxsTW9kZSA9IE5lZWRUb1NwaWxsOworICAgICAgICAgICAgc3R1
YkluZm8tPnBhdGNoLnJlZ2lzdGVyc0ZsdXNoZWQgPSBmYWxzZTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgbV9qaXQuYWRkSW4oSW5SZWNvcmQoanVtcCwgZG9uZSwgc2xvd1BhdGguZ2V0KCks
IHN0dWJJbmZvKSk7CiAgICAgICAgICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aC5y
ZWxlYXNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCmluZGV4IGYzOGVlODlhNThjODk1MWExMWY2NjU5ZWQ5NzgxM2ZhYjIyNTdlZTQuLjAyYmRh
YzcyOTU2ZDBhNWYzMTAxNDczMjMxNzAzZGRiZmYwZmMyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTcxNywxMCArNzE3LDEwIEBAIHB1
YmxpYzoKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgdm9pZCBjYWNoZWRHZXRCeUlkKENvZGVP
cmlnaW4sIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgcmVzdWx0R1BSLCB1bnNpZ25lZCBpZGVudGlm
aWVyTnVtYmVyLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCA9IEpJVENvbXBpbGVy
OjpKdW1wKCksIFNwaWxsUmVnaXN0ZXJzTW9kZSA9IE5lZWRUb1NwaWxsKTsKLSAgICB2b2lkIGNh
Y2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiwgR1BSUmVnIGJhc2UsIEdQUlJlZyB2YWx1ZSwgR1BSUmVn
IHNjcmF0Y2hHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQsIEpJVENvbXBp
bGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0ID0gSklUQ29tcGlsZXI6Okp1bXAoKSwgU3BpbGxSZWdp
c3RlcnNNb2RlID0gTmVlZFRvU3BpbGwpOworICAgIHZvaWQgY2FjaGVkUHV0QnlJZChDb2RlT3Jp
Z2luLCBHUFJSZWcgYmFzZSwgR1BSUmVnIHZhbHVlLCBHUFJSZWcgc2NyYXRjaEdQUiwgdW5zaWdu
ZWQgaWRlbnRpZmllck51bWJlciwgUHV0S2luZCwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhU
YXJnZXQgPSBKSVRDb21waWxlcjo6SnVtcCgpKTsKICNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAg
ICAgdm9pZCBjYWNoZWRHZXRCeUlkKENvZGVPcmlnaW4sIEdQUlJlZyBiYXNlVGFnR1BST3JOb25l
LCBHUFJSZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyByZXN1bHRUYWdHUFIsIEdQUlJlZyByZXN1
bHRQYXlsb2FkR1BSLCB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBKSVRDb21waWxlcjo6SnVt
cCBzbG93UGF0aFRhcmdldCA9IEpJVENvbXBpbGVyOjpKdW1wKCksIFNwaWxsUmVnaXN0ZXJzTW9k
ZSA9IE5lZWRUb1NwaWxsKTsKLSAgICB2b2lkIGNhY2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiwgR1BS
UmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgdmFsdWVUYWdHUFIsIEdQUlJlZyB2YWx1ZVBheWxv
YWRHUFIsIEdQUlJlZyBzY3JhdGNoR1BSLCB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBQdXRL
aW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCA9IEpJVENvbXBpbGVyOjpKdW1w
KCksIFNwaWxsUmVnaXN0ZXJzTW9kZSA9IE5lZWRUb1NwaWxsKTsKKyAgICB2b2lkIGNhY2hlZFB1
dEJ5SWQoQ29kZU9yaWdpbiwgR1BSUmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgdmFsdWVUYWdH
UFIsIEdQUlJlZyB2YWx1ZVBheWxvYWRHUFIsIEdQUlJlZyBzY3JhdGNoR1BSLCB1bnNpZ25lZCBp
ZGVudGlmaWVyTnVtYmVyLCBQdXRLaW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdl
dCA9IEpJVENvbXBpbGVyOjpKdW1wKCkpOwogI2VuZGlmCiAgICAgCiAgICAgdm9pZCBjb21waWxl
SW4oTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKaW5kZXggY2ZlMmIwYjBmZTRhODdjZTlkMmU4MjE3MjQwMWJiM2E3
NmI4MTk0NC4uZjY1Yzk1NTBjNjljNTExOGY0YTlhMjRlODVhYTIwNDExMzk4MzVlNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJ
ZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlVGFnR1BST3JOb24KICAgICBKSVRH
ZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmln
aW4sIHVzZWRSZWdpc3RlcnMoKSwKICAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZVRhZ0dQUk9yTm9u
ZSwgYmFzZVBheWxvYWRHUFIpLAotICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJl
c3VsdFBheWxvYWRHUFIpLCBzcGlsbE1vZGUpOworICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRU
YWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpLCBzcGlsbE1vZGUgIT0gTmVlZFRvU3BpbGwpOwogICAg
IAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsKICAgICAKQEAgLTIwMSwxMiArMjAx
LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBjb2Rl
T3JpZ2luLCBHUFJSZWcgYmFzZVRhZ0dQUk9yTm9uCiAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Io
c2xvd1BhdGgucmVsZWFzZSgpKTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0
QnlJZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlUGF5bG9hZEdQUiwgR1BSUmVn
IHZhbHVlVGFnR1BSLCBHUFJSZWcgdmFsdWVQYXlsb2FkR1BSLCBHUFJSZWcgc2NyYXRjaEdQUiwg
dW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgUHV0S2luZCBwdXRLaW5kLCBKSVRDb21waWxlcjo6
SnVtcCBzbG93UGF0aFRhcmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSkKK3ZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJS
ZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyB2YWx1ZVRhZ0dQUiwgR1BSUmVnIHZhbHVlUGF5bG9h
ZEdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtp
bmQgcHV0S2luZCwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQpCiB7CiAgICAgSklU
UHV0QnlJZEdlbmVyYXRvciBnZW4oCiAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3Jp
Z2luLCB1c2VkUmVnaXN0ZXJzKCksCiAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShi
YXNlUGF5bG9hZEdQUiksIEpTVmFsdWVSZWdzKHZhbHVlVGFnR1BSLCB2YWx1ZVBheWxvYWRHUFIp
LAotICAgICAgICBzY3JhdGNoR1BSLCBzcGlsbE1vZGUsIG1faml0LmVjbWFNb2RlRm9yKGNvZGVP
cmlnaW4pLCBwdXRLaW5kKTsKKyAgICAgICAgc2NyYXRjaEdQUiwgZmFsc2UsIG1faml0LmVjbWFN
b2RlRm9yKGNvZGVPcmlnaW4pLCBwdXRLaW5kKTsKICAgICAKICAgICBnZW4uZ2VuZXJhdGVGYXN0
UGF0aChtX2ppdCk7CiAgICAgCkBAIC0zOTE4LDIzICszOTE4LDYgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBub1Jlc3VsdChub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQotCi0gICAgY2FzZSBQdXRCeUlkRmx1c2g6IHsKLSAgICAgICAgU3Bl
Y3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIEpT
VmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgR1BSVGVt
cG9yYXJ5IHNjcmF0Y2godGhpcyk7Ci0KLSAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdw
cigpOwotICAgICAgICBHUFJSZWcgdmFsdWVUYWdHUFIgPSB2YWx1ZS50YWdHUFIoKTsKLSAgICAg
ICAgR1BSUmVnIHZhbHVlUGF5bG9hZEdQUiA9IHZhbHVlLnBheWxvYWRHUFIoKTsKLSAgICAgICAg
R1BSUmVnIHNjcmF0Y2hHUFIgPSBzY3JhdGNoLmdwcigpOwotICAgICAgICBmbHVzaFJlZ2lzdGVy
cygpOwotCi0gICAgICAgIGNhY2hlZFB1dEJ5SWQobm9kZS0+b3JpZ2luLnNlbWFudGljLCBiYXNl
R1BSLCB2YWx1ZVRhZ0dQUiwgdmFsdWVQYXlsb2FkR1BSLCBzY3JhdGNoR1BSLCBub2RlLT5pZGVu
dGlmaWVyTnVtYmVyKCksIE5vdERpcmVjdCwgTWFjcm9Bc3NlbWJsZXI6Okp1bXAoKSwgRG9udFNw
aWxsKTsKLQotICAgICAgICBub1Jlc3VsdChub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQog
ICAgICAgICAKICAgICBjYXNlIFB1dEJ5SWQ6IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJh
bmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCAzYjljMTA3N2MyNTU0Yzg3NTgw
NTM4MjVhYzNhMTM4ZjU0MWEzMzQ4Li41NGU0OTFmNjI5MTIzNDViNTg3MmI0YzRkYzg5NjQ0MzRk
OTBkMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKLSNpbmNs
dWRlICJTcGlsbFJlZ2lzdGVyc01vZGUuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBE
RkcgewogCkBAIC0xOTIsNyArMTkxLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0
QnlJZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcKIHsKICAg
ICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNv
ZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMoKSwgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksCi0gICAgICAg
IEpTVmFsdWVSZWdzKHJlc3VsdEdQUiksIHNwaWxsTW9kZSk7CisgICAgICAgIEpTVmFsdWVSZWdz
KHJlc3VsdEdQUiksIHNwaWxsTW9kZSAhPSBOZWVkVG9TcGlsbCk7CiAgICAgZ2VuLmdlbmVyYXRl
RmFzdFBhdGgobV9qaXQpOwogICAgIAogICAgIEpJVENvbXBpbGVyOjpKdW1wTGlzdCBzbG93Q2Fz
ZXM7CkBAIC0yMDgsMTIgKzIwNywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRC
eUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZwogICAgIGFk
ZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoLnJlbGVhc2UoKSk7CiB9CiAKLXZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFz
ZUdQUiwgR1BSUmVnIHZhbHVlR1BSLCBHUFJSZWcgc2NyYXRjaEdQUiwgdW5zaWduZWQgaWRlbnRp
Zmllck51bWJlciwgUHV0S2luZCBwdXRLaW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRh
cmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSkKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNhY2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BS
UmVnIHZhbHVlR1BSLCBHUFJSZWcgc2NyYXRjaEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJl
ciwgUHV0S2luZCBwdXRLaW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCkKIHsK
ICAgICBKSVRQdXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCks
IGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMoKSwgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksCi0gICAg
ICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgc2NyYXRjaEdQUiwgc3BpbGxNb2RlLCBtX2ppdC5l
Y21hTW9kZUZvcihjb2RlT3JpZ2luKSwgcHV0S2luZCk7Ci0KKyAgICAgICAgSlNWYWx1ZVJlZ3Mo
dmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBmYWxzZSwgbV9qaXQuZWNtYU1vZGVGb3IoY29kZU9yaWdp
biksIHB1dEtpbmQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsKICAgICAKICAg
ICBKSVRDb21waWxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOwpAQCAtNDI1MCwyMiArNDI0OCw2IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgbm9SZXN1
bHQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLQotICAgIGNhc2UgUHV0QnlJZEZsdXNo
OiB7Ci0gICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQx
KCkpOwotICAgICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7
Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwotCi0gICAgICAgIEdQUlJlZyBi
YXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAgICAgR1BSUmVnIHZhbHVlR1BSID0gdmFsdWUuZ3By
KCk7Ci0gICAgICAgIEdQUlJlZyBzY3JhdGNoR1BSID0gc2NyYXRjaC5ncHIoKTsKLSAgICAgICAg
Zmx1c2hSZWdpc3RlcnMoKTsKLQotICAgICAgICBjYWNoZWRQdXRCeUlkKG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYywgYmFzZUdQUiwgdmFsdWVHUFIsIHNjcmF0Y2hHUFIsIG5vZGUtPmlkZW50aWZpZXJO
dW1iZXIoKSwgTm90RGlyZWN0LCBNYWNyb0Fzc2VtYmxlcjo6SnVtcCgpLCBEb250U3BpbGwpOwot
Ci0gICAgICAgIG5vUmVzdWx0KG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9CiAgICAgICAg
IAogICAgIGNhc2UgUHV0QnlJZDogewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNl
KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBp
bGUuY3BwCmluZGV4IDdkZWViNjNhOTBmNTZhMWFlYjExZGY2NDFjZDg1OWE5ZTI0Nzg0ZDguLjEx
YTNhY2VlNDdkZTQ3ZTdiNzFhNjc1ZThmNzRiZGYwNmQyMWM0YzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcApAQCAtMzA4LDcgKzMwOCw3IEBAIHN0YXRpYyB2b2lk
IGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgICAgICAgICAgICAgY29k
ZUJsb2NrLCBnZXRCeUlkLmNvZGVPcmlnaW4oKSwgdXNlZFJlZ2lzdGVycywgSlNWYWx1ZVJlZ3Mo
YmFzZSksCi0gICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdCksIE5lZWRUb1Nw
aWxsKTsKKyAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MocmVzdWx0KSwgZmFsc2UpOwog
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBi
ZWdpbiA9IHNsb3dQYXRoSklULmxhYmVsKCk7CiAgICAgICAgICAgICAgICAgCkBAIC0zNDYsNyAr
MzQ2LDcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBzKAogICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAg
ICAgICAgICAgICAgICAgICBjb2RlQmxvY2ssIHB1dEJ5SWQuY29kZU9yaWdpbigpLCB1c2VkUmVn
aXN0ZXJzLCBKU1ZhbHVlUmVncyhiYXNlKSwKLSAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJl
Z3ModmFsdWUpLCBHUFJJbmZvOjpwYXRjaHBvaW50U2NyYXRjaFJlZ2lzdGVyLCBOZWVkVG9TcGls
bCwKKyAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWUpLCBHUFJJbmZvOjpwYXRj
aHBvaW50U2NyYXRjaFJlZ2lzdGVyLCBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgcHV0QnlJ
ZC5lY21hTW9kZSgpLCBwdXRCeUlkLnB1dEtpbmQoKSk7CiAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGJlZ2luID0gc2xvd1BhdGhKSVQubGFi
ZWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4IDBmOWY1
ZGM5NzQxNGFiOGFjNmYyZDA1ZDZlZTU4MjEwY2FhMjA0NmIuLmRiODJiOTNkNjEzYjdhYTkzY2Yy
NjBkNTRjYTdkNzEyMmQ1NWU4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhl
bHBlcnMuaApAQCAtMzcyLDE3ICszNzIsNiBAQCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1
bWVudChhcmczKTsKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzQpOwogICAgIH0KLSAgICAK
LSAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0
ZWRJbW1QdHIgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczLCBHUFJSZWcgYXJn
NCwgR1BSUmVnIGFyZzUpCi0gICAgewotICAgICAgICByZXNldENhbGxBcmd1bWVudHMoKTsKLSAg
ICAgICAgYWRkQ2FsbEFyZ3VtZW50KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAg
ICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzEpOwotICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7
Ci0gICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKLSAgICAgICAgYWRkQ2FsbEFyZ3VtZW50
KGFyZzQpOwotICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnNSk7Ci0gICAgfQogCiAgICAgQUxX
QVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwg
VHJ1c3RlZEltbVB0ciBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMywgR1BSUmVnIGFyZzQsIEdQUlJl
ZyBhcmc1KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVDYWNoZUdlbmVyYXRvci5jcHAKaW5kZXggZjhlZDUxZmJhMzY3MjMzMDExYTY5MmJiN2I1
Yzc5YTk4MWY4YzQzMi4uYjJmMjEyNzAzY2M0MDg1MWY5MWRhODVkYzA0ZTYzNzdhOGMzNWZmZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVy
YXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdl
bmVyYXRvci5jcHAKQEAgLTQ5LDEyICs0OSwxMiBAQCBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvcjo6
SklUSW5saW5lQ2FjaGVHZW5lcmF0b3IoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVPcmlnaQog
CiBKSVRCeUlkR2VuZXJhdG9yOjpKSVRCeUlkR2VuZXJhdG9yKAogICAgIENvZGVCbG9jayogY29k
ZUJsb2NrLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVn
aXN0ZXJzLAotICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBTcGlsbFJl
Z2lzdGVyc01vZGUgc3BpbGxNb2RlKQorICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdz
IHZhbHVlLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCiAgICAgOiBKSVRJbmxpbmVDYWNoZUdlbmVy
YXRvcihjb2RlQmxvY2ssIGNvZGVPcmlnaW4pCiAgICAgLCBtX2Jhc2UoYmFzZSkKICAgICAsIG1f
dmFsdWUodmFsdWUpCiB7Ci0gICAgbV9zdHViSW5mby0+cGF0Y2guc3BpbGxNb2RlID0gc3BpbGxN
b2RlOworICAgIG1fc3R1YkluZm8tPnBhdGNoLnJlZ2lzdGVyc0ZsdXNoZWQgPSByZWdpc3RlcnNG
bHVzaGVkOwogICAgIG1fc3R1YkluZm8tPnBhdGNoLnVzZWRSZWdpc3RlcnMgPSB1c2VkUmVnaXN0
ZXJzOwogICAgIAogICAgIC8vIFRoaXMgaXMgYSBjb252ZW5pZW5jZSAtIGluIGNhc2VzIHdoZXJl
IHRoZSBvbmx5IHJlZ2lzdGVycyB5b3UncmUgdXNpbmcgYXJlIGJhc2UvdmFsdWUsCkBAIC0xMjks
OSArMTI5LDkgQEAgdm9pZCBKSVRHZXRCeUlkR2VuZXJhdG9yOjpnZW5lcmF0ZUZhc3RQYXRoKE1h
Y3JvQXNzZW1ibGVyJiBqaXQpCiAKIEpJVFB1dEJ5SWRHZW5lcmF0b3I6OkpJVFB1dEJ5SWRHZW5l
cmF0b3IoCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVPcmlnaW4gY29kZU9yaWdpbiwg
Y29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsCi0gICAgSlNWYWx1ZVJlZ3MgYmFzZSwg
SlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3JhdGNoLCBTcGlsbFJlZ2lzdGVyc01vZGUgc3Bp
bGxNb2RlLAorICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBHUFJSZWcg
c2NyYXRjaCwgYm9vbCByZWdpc3RlcnNGbHVzaGVkLAogICAgIEVDTUFNb2RlIGVjbWFNb2RlLCBQ
dXRLaW5kIHB1dEtpbmQpCi0gICAgOiBKSVRCeUlkR2VuZXJhdG9yKGNvZGVCbG9jaywgY29kZU9y
aWdpbiwgdXNlZFJlZ2lzdGVycywgYmFzZSwgdmFsdWUsIHNwaWxsTW9kZSkKKyAgICA6IEpJVEJ5
SWRHZW5lcmF0b3IoY29kZUJsb2NrLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzLCBiYXNlLCB2
YWx1ZSwgcmVnaXN0ZXJzRmx1c2hlZCkKICAgICAsIG1fc2NyYXRjaChzY3JhdGNoKQogICAgICwg
bV9lY21hTW9kZShlY21hTW9kZSkKICAgICAsIG1fcHV0S2luZChwdXRLaW5kKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oCmluZGV4
IGI4YTVlMDhmZDZlMmJhMzRiNTQzMGUxYmYzMTliNzA1MWZhN2UxMWQuLjBlNDQ2ZTkwNzI1YjA1
ZjI0YWY4NWRkNjJmMTY4ZjE5Mzc2ZjcyYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHJv
dGVjdGVkOgogCiAgICAgSklUQnlJZEdlbmVyYXRvcigKICAgICAgICAgQ29kZUJsb2NrKiwgQ29k
ZU9yaWdpbiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBKU1ZhbHVlUmVncyBiYXNlLCBKU1ZhbHVlUmVn
cyB2YWx1ZSwKLSAgICAgICAgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSk7CisgICAgICAg
IGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCk7CiAgICAgCiBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRT
bG93UGF0aENhbGwoTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIHNsb3dQYXRoQmVnaW4sIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGwpCkBAIC05NSw5ICs5NSw5IEBAIHB1YmxpYzoKICAgICBKSVRHZXRC
eUlkR2VuZXJhdG9yKCkgeyB9CiAKICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yKAotICAgIENvZGVC
bG9jayogY29kZUJsb2NrLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0
JiB1c2VkUmVnaXN0ZXJzLAotICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVl
LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQotICAgIDogSklUQnlJZEdlbmVyYXRvcihj
b2RlQmxvY2ssIGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMsIGJhc2UsIHZhbHVlLCBzcGlsbE1v
ZGUpCisgICAgICAgIENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4s
IGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLAorICAgICAgICBKU1ZhbHVlUmVncyBi
YXNlLCBKU1ZhbHVlUmVncyB2YWx1ZSwgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQorICAgICAgICA6
IEpJVEJ5SWRHZW5lcmF0b3IoY29kZUJsb2NrLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzLCBi
YXNlLCB2YWx1ZSwgcmVnaXN0ZXJzRmx1c2hlZCkKICAgICB7CiAgICAgfQogICAgIApAQCAtMTEw
LDcgKzExMCw3IEBAIHB1YmxpYzoKIAogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IoCiAgICAgICAg
IENvZGVCbG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJz
LCBKU1ZhbHVlUmVncyBiYXNlLAotICAgICAgICBKU1ZhbHVlUmVncywgR1BSUmVnIHNjcmF0Y2gs
IFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUsIEVDTUFNb2RlLCBQdXRLaW5kKTsKKyAgICAg
ICAgSlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3JhdGNoLCBib29sIHJlZ2lzdGVyc0ZsdXNo
ZWQsIEVDTUFNb2RlLCBQdXRLaW5kKTsKICAgICAKICAgICB2b2lkIGdlbmVyYXRlRmFzdFBhdGgo
TWFjcm9Bc3NlbWJsZXImKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwCmluZGV4IGU4Yzk5YTc5ODY3YmUzOWJiMjk2MDBmMDhhMDIwYzczNjRmOWY3
ZmUuLjMzNmE0YWVlZDAzYjRiNjZkMTYyYmQ0NTNiYWIyZjI0ZDBiZjEzODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMTczMCw3ICsxNzMwLDcg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dFRvU2NvcGUoRXhlY1N0YXRlKiBleGVj
LCBJbnN0cnVjdGlvbiogYnl0ZWNvZGVQQykKIAogICAgIC8vIENvdmVycyBpbXBsaWNpdCBnbG9i
YWxzLiBTaW5jZSB0aGV5IGRvbid0IGV4aXN0IHVudGlsIHRoZXkgZmlyc3QgZXhlY3V0ZSwgd2Ug
ZGlkbid0IGtub3cgaG93IHRvIGNhY2hlIHRoZW0gYXQgY29tcGlsZSB0aW1lLgogICAgIGlmICht
b2RlQW5kVHlwZS50eXBlKCkgPT0gR2xvYmFsUHJvcGVydHkgfHwgbW9kZUFuZFR5cGUudHlwZSgp
ID09IEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcykgewotICAgICAgICBpZiAo
c2xvdC5pc0NhY2hlYWJsZVB1dCgpICYmIHNsb3QuYmFzZSgpID09IHNjb3BlICYmIHNjb3BlLT5z
dHJ1Y3R1cmUoKS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKSB7CisgICAgICAgIGlm
IChzbG90LmlzQ2FjaGVhYmxlKCkgJiYgc2xvdC5iYXNlKCkgPT0gc2NvcGUgJiYgc2NvcGUtPnN0
cnVjdHVyZSgpLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpIHsKICAgICAgICAgICAg
IENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKGNvZGVCbG9jay0+bV9sb2NrKTsKICAgICAgICAg
ICAgIHBjWzVdLnUuc3RydWN0dXJlLnNldChleGVjLT52bSgpLCBjb2RlQmxvY2stPm93bmVyRXhl
Y3V0YWJsZSgpLCBzY29wZS0+c3RydWN0dXJlKCkpOwogICAgICAgICAgICAgcGNbNl0udS5vcGVy
YW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmgKaW5kZXggYjg5MzE3ZGI5YzQyNDU1NmZiYzllZWQ1MWVlMzYyN2UxNGU4MWEz
ZC4uNTcyN2VjYjA2ZmU4MGQwOTlmOGIwMzY4M2Y3ZWRkMmQ4NTUxOWNiOCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTM1LDExICszNSw5IEBACiAjaW5j
bHVkZSAiSlNDSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCiAjaW5jbHVk
ZSAiUHV0S2luZC5oIgotI2luY2x1ZGUgIlNwaWxsUmVnaXN0ZXJzTW9kZS5oIgogI2luY2x1ZGUg
IlN0cnVjdHVyZVN0dWJJbmZvLmgiCiAjaW5jbHVkZSAiVmFyaWFibGVXYXRjaHBvaW50U2V0Lmgi
CiAKLQogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEFycmF5QWxsb2NhdGlvblByb2ZpbGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4
IDhlMTcwZGY2ODUxYzhlZjFlZjBmNTQ2YzdjZGY1MTAzM2Q4YTgxOTIuLmFiYWMwYWFjODg5NWQz
ZGQ4Y2ViMWIxNGE4NGQ2YWQ1NjU0NmNkNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC01MjEsNyArNTIxLDcgQEAgdm9pZCBKSVQ6
OmVtaXRfb3BfZ2V0X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAKICAg
ICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmln
aW4obV9ieXRlY29kZU9mZnNldCksIFJlZ2lzdGVyU2V0OjpzcGVjaWFsUmVnaXN0ZXJzKCksCi0g
ICAgICAgIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDApLCBEb250U3BpbGwp
OworICAgICAgICBKU1ZhbHVlUmVncyhyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QwKSwgdHJ1ZSk7
CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5z
bG93UGF0aEp1bXAoKSk7CiAgICAgbV9nZXRCeUlkcy5hcHBlbmQoZ2VuKTsKQEAgLTU2Nyw3ICs1
NjcsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbikKIAogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2Nv
ZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNp
YWxSZWdpc3RlcnMoKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3MocmVnVDApLCBKU1ZhbHVlUmVncyhy
ZWdUMSksIHJlZ1QyLCBEb250U3BpbGwsIG1fY29kZUJsb2NrLT5lY21hTW9kZSgpLAorICAgICAg
ICBKU1ZhbHVlUmVncyhyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxKSwgcmVnVDIsIHRydWUsIG1f
Y29kZUJsb2NrLT5lY21hTW9kZSgpLAogICAgICAgICBkaXJlY3QgPyBEaXJlY3QgOiBOb3REaXJl
Y3QpOwogICAgIAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4
IGIyMjUzYzdlMWI4NGE4NDQwOGI2NDExYThmNzZiODFiMTkyZmQ0ZWEuLmRhZjZkMmEwYzY3ZmYw
ZjkzOTIzMjZjZTExZjM4NjNkZTFmOWE3MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtNDc4LDcgKzQ3OCw3IEBA
IHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQogCiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCiAgICAgICAgIG1fY29kZUJsb2Nr
LCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBSZWdpc3RlclNldDo6c3BlY2lhbFJlZ2lz
dGVycygpLAotICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVl
UmVncyhyZWdUMSwgcmVnVDApLCBEb250U3BpbGwpOworICAgICAgICBKU1ZhbHVlUmVnczo6cGF5
bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCB0cnVlKTsKICAgICBn
ZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRo
SnVtcCgpKTsKICAgICBtX2dldEJ5SWRzLmFwcGVuZChnZW4pOwpAQCAtNTI3LDcgKzUyNyw3IEBA
IHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9jaywg
Q29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdpc3Rl
cnMoKSwKICAgICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJl
Z3MocmVnVDMsIHJlZ1QyKSwKLSAgICAgICAgcmVnVDEsIERvbnRTcGlsbCwgbV9jb2RlQmxvY2st
PmVjbWFNb2RlKCksIGRpcmVjdCA/IERpcmVjdCA6IE5vdERpcmVjdCk7CisgICAgICAgIHJlZ1Qx
LCB0cnVlLCBtX2NvZGVCbG9jay0+ZWNtYU1vZGUoKSwgZGlyZWN0ID8gRGlyZWN0IDogTm90RGly
ZWN0KTsKICAgICAKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xv
d0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwCmluZGV4IDg5MzkwMTZlNWQzODM1NDVjNjFhZTQ4N2I5ZWNjMzEyZWExZmJlMjMuLmNjZTA4
ZTcxZDJkZGIzOGNhNjRiYzZmZWE2MTEyOGFlMTU2MmYzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcApAQCAtNDQ5LDcgKzQ0OSw3IEBAIHN0YXRpYyBib29sIHRyeUNhY2hl
R2V0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGlm
aWVyCiAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIGlmIChzdHViSW5mby5wYXRjaC5zcGlsbE1vZGUgPT0gTmVlZFRvU3BpbGwp
IHsKKyAgICBpZiAoIXN0dWJJbmZvLnBhdGNoLnJlZ2lzdGVyc0ZsdXNoZWQpIHsKICAgICAgICAg
Ly8gV2UgY2Fubm90IGRvIGFzIG11Y2ggaW5saW5lIGNhY2hpbmcgaWYgdGhlIHJlZ2lzdGVycyB3
ZXJlIG5vdCBmbHVzaGVkIHByaW9yIHRvIHRoaXMgR2V0QnlJZC4gSW4gcGFydGljdWxhciwKICAg
ICAgICAgLy8gbm9uLVZhbHVlIGNhY2hlZCBwcm9wZXJ0aWVzIHJlcXVpcmUgcGxhbnRpbmcgY2Fs
bHMsIHdoaWNoIHJlcXVpcmVzIHJlZ2lzdGVycyB0byBoYXZlIGJlZW4gZmx1c2hlZC4gVGh1cywK
ICAgICAgICAgLy8gaWYgcmVnaXN0ZXJzIHdlcmUgbm90IGZsdXNoZWQsIGRvbid0IGRvIG5vbi1W
YWx1ZSBjYWNoaW5nLgpAQCAtNTUxLDcgKzU1MSw3IEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0
QnlJRExpc3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRp
CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlQ2VsbC0+c3RydWN0dXJlKCk7CiAgICAg
CiAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSA9PSBiYXNlVmFsdWUpIHsKLSAgICAgICAgaWYgKHN0
dWJJbmZvLnBhdGNoLnNwaWxsTW9kZSA9PSBOZWVkVG9TcGlsbCkgeworICAgICAgICBpZiAoIXN0
dWJJbmZvLnBhdGNoLnJlZ2lzdGVyc0ZsdXNoZWQpIHsKICAgICAgICAgICAgIC8vIFdlIGNhbm5v
dCBkbyBhcyBtdWNoIGlubGluZSBjYWNoaW5nIGlmIHRoZSByZWdpc3RlcnMgd2VyZSBub3QgZmx1
c2hlZCBwcmlvciB0byB0aGlzIEdldEJ5SWQuIEluIHBhcnRpY3VsYXIsCiAgICAgICAgICAgICAv
LyBub24tVmFsdWUgY2FjaGVkIHByb3BlcnRpZXMgcmVxdWlyZSBwbGFudGluZyBjYWxscywgd2hp
Y2ggcmVxdWlyZXMgcmVnaXN0ZXJzIHRvIGhhdmUgYmVlbiBmbHVzaGVkLiBUaHVzLAogICAgICAg
ICAgICAgLy8gaWYgcmVnaXN0ZXJzIHdlcmUgbm90IGZsdXNoZWQsIGRvbid0IGRvIG5vbi1WYWx1
ZSBjYWNoaW5nLgpAQCAtNzAyLDcgKzcwMiw3IEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0QnlJ
RExpc3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRpCiAg
ICAgICAgIHx8IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCktPmlzRGljdGlvbmFyeSgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0gICAgaWYgKHN0dWJJbmZvLnBhdGNoLnNw
aWxsTW9kZSA9PSBOZWVkVG9TcGlsbCkgeworICAgIGlmICghc3R1YkluZm8ucGF0Y2gucmVnaXN0
ZXJzRmx1c2hlZCkgewogICAgICAgICAvLyBXZSBjYW5ub3QgZG8gYXMgbXVjaCBpbmxpbmUgY2Fj
aGluZyBpZiB0aGUgcmVnaXN0ZXJzIHdlcmUgbm90IGZsdXNoZWQgcHJpb3IgdG8gdGhpcyBHZXRC
eUlkLiBJbiBwYXJ0aWN1bGFyLAogICAgICAgICAvLyBub24tVmFsdWUgY2FjaGVkIHByb3BlcnRp
ZXMgcmVxdWlyZSBwbGFudGluZyBjYWxscywgd2hpY2ggcmVxdWlyZXMgcmVnaXN0ZXJzIHRvIGhh
dmUgYmVlbiBmbHVzaGVkLiBUaHVzLAogICAgICAgICAvLyBpZiByZWdpc3RlcnMgd2VyZSBub3Qg
Zmx1c2hlZCwgZG9uJ3QgZG8gbm9uLVZhbHVlIGNhY2hpbmcuCkBAIC0xMTI5LDcxICsxMTI5LDYg
QEAgc3RhdGljIHZvaWQgZW1pdFB1dFRyYW5zaXRpb25TdHViKAogICAgICAgICAgICAgc3RydWN0
dXJlKTsKIH0KIAotc3RhdGljIHZvaWQgZW1pdEN1c3RvbVNldHRlclN0dWIoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QsCi0gICAgU3RydWN0dXJlU3R1YkluZm8m
IHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlw
ZUNoYWluLAotICAgIENvZGVMb2NhdGlvbkxhYmVsIGZhaWx1cmVMYWJlbCwgUmVmUHRyPEpJVFN0
dWJSb3V0aW5lPiYgc3R1YlJvdXRpbmUpCi17Ci0gICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0g
ICAgQVNTRVJUKHN0dWJJbmZvLnBhdGNoLnNwaWxsTW9kZSA9PSBEb250U3BpbGwpOwotICAgIEdQ
UlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5iYXNlR1BS
KTsKLSNpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgIEdQUlJlZyB2YWx1ZVRhZ0dQUiA9IHN0YXRp
Y19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVUYWdHUFIpOwotI2VuZGlmCi0gICAg
R1BSUmVnIHZhbHVlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC52YWx1
ZUdQUik7Ci0gICAgVGVtcFJlZ2lzdGVyU2V0IHRlbXBSZWdpc3RlcnMoc3R1YkluZm8ucGF0Y2gu
dXNlZFJlZ2lzdGVycyk7Ci0KLSAgICBDQ2FsbEhlbHBlcnMgc3R1YkppdCh2bSk7Ci0gICAgR1BS
UmVnIHNjcmF0Y2hHUFIgPSB0ZW1wUmVnaXN0ZXJzLmdldEZyZWVHUFIoKTsKLSAgICBSRUxFQVNF
X0FTU0VSVChzY3JhdGNoR1BSICE9IEludmFsaWRHUFJSZWcpOwotICAgIFJFTEVBU0VfQVNTRVJU
KHNjcmF0Y2hHUFIgIT0gYmFzZUdQUik7Ci0gICAgUkVMRUFTRV9BU1NFUlQoc2NyYXRjaEdQUiAh
PSB2YWx1ZUdQUik7Ci0gICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IGZhaWx1cmVDYXNlczsK
LSAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKGJyYW5jaFN0cnVjdHVyZShzdHViSml0LAotICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgIHN0cnVj
dHVyZSkpOwotICAgIAotICAgIGlmIChwcm90b3R5cGVDaGFpbikgewotICAgICAgICBmb3IgKFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBpdCA9IHByb3RvdHlwZUNoYWluLT5oZWFkKCk7ICppdDsg
KytpdCkKLSAgICAgICAgICAgIGFkZFN0cnVjdHVyZVRyYW5zaXRpb25DaGVjaygoKml0KS0+c3Rv
cmVkUHJvdG90eXBlKCksIGV4ZWMtPmNvZGVCbG9jaygpLCBzdHViSW5mbywgc3R1YkppdCwgZmFp
bHVyZUNhc2VzLCBzY3JhdGNoR1BSKTsKLSAgICB9Ci0KLSAgICAvLyB0eXBlZGVmIHZvaWQgKCpQ
dXRWYWx1ZUZ1bmMpKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlLCBFbmNvZGVkSlNWYWx1ZSB0
aGlzT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSk7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAg
ICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbVB0cihzbG90LmJhc2UoKSksIGJhc2VHUFIsIHZhbHVlR1BSKTsKLSNlbHNlCi0gICAg
c3R1YkppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0
ZWRJbW1QdHIoc2xvdC5iYXNlKCkpLCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZElt
bTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB2YWx1ZUdQUiwgdmFsdWVUYWdHUFIpOwotI2VuZGlmCi0K
LSAgICAvLyBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdoZW5ldmVyIHRoaXMgY2FsbCBpcyBtYWRl
IGluIHRoZSBmdXR1cmUsIHdlIHJlbWVtYmVyIHRoZQotICAgIC8vIHBsYWNlIHRoYXQgd2UgbWFk
ZSBpdCBmcm9tLiBJdCBqdXN0IHNvIGhhcHBlbnMgdG8gYmUgdGhlIHBsYWNlIHRoYXQgd2UgYXJl
IGF0Ci0gICAgLy8gcmlnaHQgbm93IQotICAgIHN0dWJKaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTMyKGV4ZWMtPmxvY2F0aW9uQXNSYXdCaXRzKCkpLAotICAgICAgICBDQ2Fs
bEhlbHBlcnM6OnRhZ0ZvcihzdGF0aWNfY2FzdDxWaXJ0dWFsUmVnaXN0ZXI+KEpTU3RhY2s6OkFy
Z3VtZW50Q291bnQpKSk7Ci0gICAgc3R1YkppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVS
ZWdpc3RlciwgJnZtLT50b3BDYWxsRnJhbWUpOwotCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
c2V0dGVyQ2FsbCA9IHN0dWJKaXQuY2FsbCgpOwotICAgIAotICAgIE1hY3JvQXNzZW1ibGVyOjpK
dW1wIHN1Y2Nlc3MgPSBzdHViSml0LmVtaXRFeGNlcHRpb25DaGVjayhDQ2FsbEhlbHBlcnM6Oklu
dmVydGVkRXhjZXB0aW9uQ2hlY2spOwotCi0gICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50cyhDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodm0pLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7
Ci0KLSAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBoYW5kbGVyQ2FsbCA9IHN0dWJKaXQuY2FsbCgp
OwotCi0gICAgc3R1YkppdC5qdW1wVG9FeGNlcHRpb25IYW5kbGVyKCk7Ci0gICAgTGlua0J1ZmZl
ciBwYXRjaEJ1ZmZlcigqdm0sICZzdHViSml0LCBleGVjLT5jb2RlQmxvY2soKSk7Ci0KLSAgICBw
YXRjaEJ1ZmZlci5saW5rKHN1Y2Nlc3MsIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJl
bEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvRG9uZSkpOwotICAgIHBhdGNoQnVm
ZmVyLmxpbmsoZmFpbHVyZUNhc2VzLCBmYWlsdXJlTGFiZWwpOwotICAgIHBhdGNoQnVmZmVyLmxp
bmsoc2V0dGVyQ2FsbCwgRnVuY3Rpb25QdHIoc2xvdC5jdXN0b21TZXR0ZXIoKSkpOwotICAgIHBh
dGNoQnVmZmVyLmxpbmsoaGFuZGxlckNhbGwsIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpOwotCi0g
ICAgc3R1YlJvdXRpbmUgPSBjcmVhdGVKSVRTdHViUm91dGluZSgKLSAgICAgICAgRklOQUxJWkVf
Q09ERV9GT1IoZXhlYy0+Y29kZUJsb2NrKCksIHBhdGNoQnVmZmVyLCAoIlB1dEJ5SWQgY3VzdG9t
IHNldHRlciBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwKLSAgICAgICAgdG9DU3RyaW5n
KCpleGVjLT5jb2RlQmxvY2soKSkuZGF0YSgpLCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24u
bGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZWx0YUNhbGxUb0RvbmUpLmV4ZWN1dGFibGVB
ZGRyZXNzKCkpKSwgKnZtLCBleGVjLT5jb2RlQmxvY2soKS0+b3duZXJFeGVjdXRhYmxlKCksIHN0
cnVjdHVyZSk7Ci19Ci0KLQogc3RhdGljIGJvb2wgdHJ5Q2FjaGVQdXRCeUlEKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQ
dXRQcm9wZXJ0eVNsb3QmIHNsb3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbywgUHV0S2lu
ZCBwdXRLaW5kKQogewogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2Nr
KCk7CkBAIC0xMjA1LDEzICsxMTQwLDEzIEBAIHN0YXRpYyBib29sIHRyeUNhY2hlUHV0QnlJRChF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGlmaWVyCiAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlQ2VsbC0+c3RydWN0dXJlKCk7CiAgICAgU3RydWN0
dXJlKiBvbGRTdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKTsKICAgICAKLSAgICBp
ZiAoIXNsb3QuaXNDYWNoZWFibGVQdXQoKSAmJiAhc2xvdC5pc0NhY2hlYWJsZUN1c3RvbVByb3Bl
cnR5KCkpCisgICAgaWYgKCFzbG90LmlzQ2FjaGVhYmxlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBPcHRpbWl6ZSBzZWxmIGFjY2Vzcy4KLSAg
ICBpZiAoc2xvdC5iYXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkg
eworICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNlVmFsdWUpIHsKICAgICAgICAgaWYgKHNsb3Qu
dHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6TmV3UHJvcGVydHkpIHsKICAgICAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKQEAgLTEyNTgsMzMgKzExOTMsNiBAQCBzdGF0aWMgYm9vbCB0cnlDYWNoZVB1dEJ5SUQoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRpZmllcgogICAgICAg
ICBzdHViSW5mby5pbml0UHV0QnlJZFJlcGxhY2UoKnZtLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0
YWJsZSgpLCBzdHJ1Y3R1cmUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVDdXN0b21Qcm9wZXJ0eSgpICYmIHN0dWJJbmZvLnBhdGNoLnNwaWxs
TW9kZSA9PSBEb250U3BpbGwpIHsKLSAgICAgICAgUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBzdHVi
Um91dGluZTsKLQotICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4gPSAwOwot
ICAgICAgICBpZiAoYmFzZVZhbHVlICE9IHNsb3QuYmFzZSgpKSB7Ci0gICAgICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXRJZ25vcmVkOwotICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZVByb3Rv
dHlwZUNoYWluRm9yQ2hhaW5BY2Nlc3MoZXhlYywgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCBpZGVu
dCwgb2Zmc2V0SWdub3JlZCkgPT0gSW52YWxpZFByb3RvdHlwZUNoYWluKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgcHJvdG90eXBlQ2hhaW4gPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpOwotICAgICAgICB9Ci0gICAgICAgIFBvbHltb3JwaGlj
UHV0QnlJZExpc3QqIGxpc3Q7Ci0gICAgICAgIGxpc3QgPSBQb2x5bW9ycGhpY1B1dEJ5SWRMaXN0
Ojpmcm9tKHB1dEtpbmQsIHN0dWJJbmZvKTsKLQotICAgICAgICBlbWl0Q3VzdG9tU2V0dGVyU3R1
YihleGVjLCBzbG90LCBzdHViSW5mbywKLSAgICAgICAgICAgIHN0cnVjdHVyZSwgcHJvdG90eXBl
Q2hhaW4sCi0gICAgICAgICAgICBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9m
ZnNldChzdHViSW5mby5wYXRjaC5kZWx0YUNhbGxUb1Nsb3dDYXNlKSwKLSAgICAgICAgICAgIHN0
dWJSb3V0aW5lKTsKLQotICAgICAgICBsaXN0LT5hZGRBY2Nlc3MoUHV0QnlJZEFjY2Vzczo6Y3Vz
dG9tU2V0dGVyKCp2bSwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgc3RydWN0dXJlLCBw
cm90b3R5cGVDaGFpbiwgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc3R1YlJvdXRpbmUpKTsKLQotICAg
ICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIoY29kZUJsb2NrKTsKLSAgICAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBBdE9mZnNl
dChzdHViSW5mby5wYXRjaC5kZWx0YUNhbGxUb0p1bXApLCBDb2RlTG9jYXRpb25MYWJlbChzdHVi
Um91dGluZS0+Y29kZSgpLmNvZGUoKSkpOwotICAgICAgICByZXBhdGNoQ2FsbChyZXBhdGNoQnVm
ZmVyLCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIGFwcHJvcHJpYXRlTGlzdEJ1aWxkaW5n
UHV0QnlJZEZ1bmN0aW9uKHNsb3QsIHB1dEtpbmQpKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IWxpc3QtPmlzRnVsbCgpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQogCiAgICAgcmV0
dXJuIGZhbHNlOwogfQpAQCAtMTMwOSwxNSArMTIxNywxMyBAQCBzdGF0aWMgYm9vbCB0cnlCdWls
ZFB1dEJ5SWRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IElk
ZW50aQogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZUNlbGwtPnN0cnVjdHVyZSgpOwog
ICAgIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCk7CiAg
ICAgCi0gICAgCi0gICAgaWYgKCFzbG90LmlzQ2FjaGVhYmxlUHV0KCkgJiYgIXNsb3QuaXNDYWNo
ZWFibGVDdXN0b21Qcm9wZXJ0eSgpKQorICAgIGlmICghc2xvdC5pc0NhY2hlYWJsZSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nl
c0FyZUNhY2hlYWJsZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBPcHRpbWl6
ZSBzZWxmIGFjY2Vzcy4KLSAgICBpZiAoc2xvdC5iYXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3Qu
aXNDYWNoZWFibGVQdXQoKSkgeworICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNlVmFsdWUpIHsK
ICAgICAgICAgUG9seW1vcnBoaWNQdXRCeUlkTGlzdCogbGlzdDsKICAgICAgICAgUmVmUHRyPEpJ
VFN0dWJSb3V0aW5lPiBzdHViUm91dGluZTsKICAgICAgICAgCkBAIC0xMzc5LDMzICsxMjg1LDYg
QEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRQdXRCeUlkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
Ci0gICAgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b21Qcm9wZXJ0eSgpICYmIHN0dWJJbmZvLnBh
dGNoLnNwaWxsTW9kZSA9PSBEb250U3BpbGwpIHsKLSAgICAgICAgUmVmUHRyPEpJVFN0dWJSb3V0
aW5lPiBzdHViUm91dGluZTsKLSAgICAgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWlu
ID0gMDsKLSAgICAgICAgaWYgKGJhc2VWYWx1ZSAhPSBzbG90LmJhc2UoKSkgewotICAgICAgICAg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0SWdub3JlZDsKLSAgICAgICAgICAgIGlmIChub3JtYWxp
emVQcm90b3R5cGVDaGFpbkZvckNoYWluQWNjZXNzKGV4ZWMsIGJhc2VDZWxsLCBzbG90LmJhc2Uo
KSwgcHJvcGVydHlOYW1lLCBvZmZzZXRJZ25vcmVkKSA9PSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4p
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAgICBwcm90b3R5cGVD
aGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7Ci0gICAgICAgIH0KLSAgICAg
ICAgUG9seW1vcnBoaWNQdXRCeUlkTGlzdCogbGlzdDsKLSAgICAgICAgbGlzdCA9IFBvbHltb3Jw
aGljUHV0QnlJZExpc3Q6OmZyb20ocHV0S2luZCwgc3R1YkluZm8pOwotCi0gICAgICAgIGVtaXRD
dXN0b21TZXR0ZXJTdHViKGV4ZWMsIHNsb3QsIHN0dWJJbmZvLAotICAgICAgICAgICAgc3RydWN0
dXJlLCBwcm90b3R5cGVDaGFpbiwKLSAgICAgICAgICAgIENvZGVMb2NhdGlvbkxhYmVsKGxpc3Qt
PmN1cnJlbnRTbG93UGF0aFRhcmdldCgpKSwKLSAgICAgICAgICAgIHN0dWJSb3V0aW5lKTsKLQot
ICAgICAgICBsaXN0LT5hZGRBY2Nlc3MoUHV0QnlJZEFjY2Vzczo6Y3VzdG9tU2V0dGVyKCp2bSwg
Y29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgc3RydWN0dXJlLCBwcm90b3R5cGVDaGFpbiwg
c2xvdC5jdXN0b21TZXR0ZXIoKSwgc3R1YlJvdXRpbmUpKTsKLQotICAgICAgICBSZXBhdGNoQnVm
ZmVyIHJlcGF0Y2hCdWZmZXIoY29kZUJsb2NrKTsKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5wYXRj
aC5kZWx0YUNhbGxUb0p1bXApLCBDb2RlTG9jYXRpb25MYWJlbChzdHViUm91dGluZS0+Y29kZSgp
LmNvZGUoKSkpOwotICAgICAgICBpZiAobGlzdC0+aXNGdWxsKCkpCi0gICAgICAgICAgICByZXBh
dGNoQ2FsbChyZXBhdGNoQnVmZmVyLCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIGFwcHJv
cHJpYXRlR2VuZXJpY1B1dEJ5SWRGdW5jdGlvbihzbG90LCBwdXRLaW5kKSk7Ci0KLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TcGlsbFJlZ2lzdGVyc01vZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvU3BpbGxSZWdpc3RlcnNNb2RlLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDE2MGRmMmMyZTYzYzY3NWVhNTg3ZmYzMjgwNjk4N2ZhMDU4YmYzN2UuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9TcGlsbFJlZ2lzdGVyc01vZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDM1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIFNwaWxsUmVnaXN0ZXJzTW9kZV9oCi0jZGVmaW5lIFNwaWxsUmVnaXN0ZXJzTW9kZV9o
Ci0KLW5hbWVzcGFjZSBKU0MgewotCi1lbnVtIFNwaWxsUmVnaXN0ZXJzTW9kZSB7IE5lZWRUb1Nw
aWxsLCBEb250U3BpbGwgfTsKLQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IGE3MjM5Mzg2OTFiNGE3MmUzNTNhOGYx
ZDk2MDVkZDEzZmYzNTdlYjMuLjI2MTVlZGVkYTVmNDRkYmM3Nzk0NjI0MTFlZTg3MzY2OTc4MzU5
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cApAQCAtNjM2LDcgKzYzNiw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRf
YnlfaWQpCiAgICAgCiAgICAgaWYgKCFMTElOVF9BTFdBWVNfQUNDRVNTX1NMT1cKICAgICAgICAg
JiYgYmFzZVZhbHVlLmlzQ2VsbCgpCi0gICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkg
eworICAgICAgICAmJiBzbG90LmlzQ2FjaGVhYmxlKCkpIHsKICAgICAgICAgCiAgICAgICAgIEpT
Q2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZUNlbGwtPnN0cnVjdHVyZSgpOwpAQCAtMTQxOCw3ICsxNDE4LDcgQEAg
TExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF90b19zY29wZSkKIAogICAgIC8vIENv
dmVycyBpbXBsaWNpdCBnbG9iYWxzLiBTaW5jZSB0aGV5IGRvbid0IGV4aXN0IHVudGlsIHRoZXkg
Zmlyc3QgZXhlY3V0ZSwgd2UgZGlkbid0IGtub3cgaG93IHRvIGNhY2hlIHRoZW0gYXQgY29tcGls
ZSB0aW1lLgogICAgIGlmIChtb2RlQW5kVHlwZS50eXBlKCkgPT0gR2xvYmFsUHJvcGVydHkgfHwg
bW9kZUFuZFR5cGUudHlwZSgpID09IEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNr
cykgewotICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVB1dCgpICYmIHNsb3QuYmFzZSgpID09
IHNjb3BlICYmIHNjb3BlLT5zdHJ1Y3R1cmUoKS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJs
ZSgpKSB7CisgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlKCkgJiYgc2xvdC5iYXNlKCkgPT0g
c2NvcGUgJiYgc2NvcGUtPnN0cnVjdHVyZSgpLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxl
KCkpIHsKICAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKGNvZGVCbG9jay0+
bV9sb2NrKTsKICAgICAgICAgICAgIHBjWzVdLnUuc3RydWN0dXJlLnNldChleGVjLT52bSgpLCBj
b2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBzY29wZS0+c3RydWN0dXJlKCkpOwogICAgICAg
ICAgICAgcGNbNl0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggYjVhYjk5ODQ3NGJlY2I3Y2E1NzJkMjliOGRh
NDE1OTJlZDhmZTRiOS4uZGJhMzg5ZTllMjQzZGQwZWNiMmJhOThmMzk0ZDQwNzlmOWRlYTkzNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTMwNiw3ICszMDYsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICAgICB0aGlzT2JqZWN0LT5wdXREaXJlY3Qo
ZXhlYy0+dm0oKSwgcHJvcGVydHlOYW1lLCB2YWx1ZSk7CiAgICAgICAgIH0gZWxzZSBpZiAoIShl
bnRyeS0+YXR0cmlidXRlcygpICYgUmVhZE9ubHkpKSB7CiAgICAgICAgICAgICBlbnRyeS0+cHJv
cGVydHlQdXR0ZXIoKShleGVjLCBiYXNlLCBKU1ZhbHVlOjplbmNvZGUoc2xvdC50aGlzVmFsdWUo
KSksIEpTVmFsdWU6OmVuY29kZSh2YWx1ZSkpOwotICAgICAgICAgICAgc2xvdC5zZXRDYWNoZWFi
bGVDdXN0b21Qcm9wZXJ0eShiYXNlLCBlbnRyeS0+cHJvcGVydHlQdXR0ZXIoKSk7CisgICAgICAg
ICAgICBzbG90LnNldEN1c3RvbVByb3BlcnR5KGJhc2UsIGVudHJ5LT5wcm9wZXJ0eVB1dHRlcigp
KTsKICAgICAgICAgfSBlbHNlIGlmIChzbG90LmlzU3RyaWN0TW9kZSgpKQogICAgICAgICAgICAg
dGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9y
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXRQ
cm9wZXJ0eVNsb3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dFByb3BlcnR5
U2xvdC5oCmluZGV4IDZhNTA1ZThmNWZkMjM4OTMwODVlNjg0Yjc2NTA5ZjRiNzVkYmFiYTEuLjIw
MDRiNDUxYTVmODIyNWE1Njc4NjE1NzlmNzJkYzUxYTExY2U4MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dFByb3BlcnR5U2xvdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dFByb3BlcnR5U2xvdC5oCkBAIC0zOCw3ICszOCw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIAogICAgIGNsYXNzIFB1dFByb3BlcnR5U2xvdCB7CiAgICAg
cHVibGljOgotICAgICAgICBlbnVtIFR5cGUgeyBVbmNhY2hhYmxlLCBFeGlzdGluZ1Byb3BlcnR5
LCBOZXdQcm9wZXJ0eSwgQ3VzdG9tUHJvcGVydHksIENhY2hlYWJsZUN1c3RvbVByb3BlcnR5IH07
CisgICAgICAgIGVudW0gVHlwZSB7IFVuY2FjaGFibGUsIEV4aXN0aW5nUHJvcGVydHksIE5ld1By
b3BlcnR5LCBDdXN0b21Qcm9wZXJ0eSB9OwogICAgICAgICBlbnVtIENvbnRleHQgeyBVbmtub3du
Q29udGV4dCwgUHV0QnlJZCwgUHV0QnlJZEV2YWwgfTsKICAgICAgICAgdHlwZWRlZiB2b2lkICgq
UHV0VmFsdWVGdW5jKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSwgRW5jb2RlZEpTVmFsdWUg
dGhpc09iamVjdCwgRW5jb2RlZEpTVmFsdWUgdmFsdWUpOwogCkBAIC03MiwxNSArNzIsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIG1fYmFzZSA9IGJhc2U7CiAgICAgICAgICAgICBt
X3B1dEZ1bmN0aW9uID0gZnVuY3Rpb247CiAgICAgICAgIH0KLQotICAgICAgICB2b2lkIHNldENh
Y2hlYWJsZUN1c3RvbVByb3BlcnR5KEpTT2JqZWN0KiBiYXNlLCBQdXRWYWx1ZUZ1bmMgZnVuY3Rp
b24pCi0gICAgICAgIHsKLSAgICAgICAgICAgIG1fdHlwZSA9IENhY2hlYWJsZUN1c3RvbVByb3Bl
cnR5OwotICAgICAgICAgICAgbV9iYXNlID0gYmFzZTsKLSAgICAgICAgICAgIG1fcHV0RnVuY3Rp
b24gPSBmdW5jdGlvbjsKLSAgICAgICAgfQotICAgICAgICBQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0
dGVyKCkgY29uc3QgeyByZXR1cm4gbV9wdXRGdW5jdGlvbjsgfQotCisgICAgICAgIAogICAgICAg
ICBDb250ZXh0IGNvbnRleHQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250ZXh0Piht
X2NvbnRleHQpOyB9CiAKICAgICAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBl
OyB9CkBAIC04OCwxMiArODAsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUg
dGhpc1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV90aGlzVmFsdWU7IH0KIAogICAgICAgICBib29s
IGlzU3RyaWN0TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNTdHJpY3RNb2RlOyB9Ci0gICAgICAg
IGJvb2wgaXNDYWNoZWFibGVQdXQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gTmV3UHJvcGVy
dHkgfHwgbV90eXBlID09IEV4aXN0aW5nUHJvcGVydHk7IH0KLSAgICAgICAgYm9vbCBpc0NhY2hl
YWJsZUN1c3RvbVByb3BlcnR5KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IENhY2hlYWJsZUN1
c3RvbVByb3BlcnR5OyB9Ci0KKyAgICAgICAgYm9vbCBpc0NhY2hlYWJsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSAhPSBVbmNhY2hhYmxlICYmIG1fdHlwZSAhPSBDdXN0b21Qcm9wZXJ0eTsgfQog
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBjYWNoZWRPZmZzZXQoKSBjb25zdAogICAgICAgICB7Ci0g
ICAgICAgICAgICBBU1NFUlQoaXNDYWNoZWFibGVQdXQoKSk7CisgICAgICAgICAgICBBU1NFUlQo
aXNDYWNoZWFibGUoKSk7CiAgICAgICAgICAgICByZXR1cm4gbV9vZmZzZXQ7CiAgICAgICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaml0L1NwaWxs
UmVnaXN0ZXJzTW9kZS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaml0L1Nw
aWxsUmVnaXN0ZXJzTW9kZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmUyMjQ5
NWQ1YTVkYTBjZjQyMDc3NmFjNWJmNzFlNDI1MzQ1M2E1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L2ppdC9TcGlsbFJlZ2lzdGVyc01vZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
I2lmbmRlZiBXZWJDb3JlX0ZXRF9KSVRDb2RlX2gKLSNkZWZpbmUgV2ViQ29yZV9GV0RfSklUQ29k
ZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3BpbGxSZWdpc3RlcnNNb2RlLmg+Ci0jZW5k
aWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBiMzQ5MmEwNWEzMjE4ZWM2NzgxYjkwYWQ5YmVkOGI0OTgyZGMxZjJhLi45ZTRj
ZTI4Njc0ZDM0NGJkZjFkYTk5ODY2NDhlOWUyYTg1YmFkNGNhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTQtMDMtMDUgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjUxNDEsIHIxNjUxNTcsIGFuZCBy
MTY1MTU4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNjUxNDEK
KyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTY1MTU3CisgICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE2NTE1OAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NzcyCisKKyAgICAgICAgImJyb2tl
IGZ0bCIgKFJlcXVlc3RlZCBieSBvbGxpZWpfIG9uICN3ZWJraXQpLgorCisgICAgICAgICoganMv
cmVncmVzcy9hc3NpZ24tY3VzdG9tLXNldHRlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICoganMvcmVncmVzcy9hc3NpZ24tY3VzdG9tLXNldHRlci1wb2x5bW9ycGhpYy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICoganMvcmVncmVzcy9hc3NpZ24tY3VzdG9tLXNldHRl
ci1wb2x5bW9ycGhpYy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvYXNzaWdu
LWN1c3RvbS1zZXR0ZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3Njcmlw
dC10ZXN0cy9hc3NpZ24tY3VzdG9tLXNldHRlci1wb2x5bW9ycGhpYy5qczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9hc3NpZ24tY3VzdG9tLXNldHRlci5qczog
UmVtb3ZlZC4KKwogMjAxNC0wMy0wNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgbGxpbnRfc2xvd19wYXRoX2NoZWNrX2hhc19pbnN0YW5jZSgpIHNob3VsZCBub3Qg
YWRqdXN0IFBDIGJlZm9yZSBhY2Nlc3Npbmcgb3BlcmFuZHMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL2Fzc2lnbi1jdXN0b20tc2V0dGVyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2pzL3JlZ3Jlc3MvYXNzaWduLWN1c3RvbS1zZXR0ZXItZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjgzMDU0MTlhOTAxM2FhNzNhMmZjMDQwMmQ1NDg1
ZDJiNDIzODM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXNzaWduLWN1c3RvbS1zZXR0ZXItZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotSlNSZWdyZXNzL2Fzc2lnbi1jdXN0b20t
c2V0dGVyCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIG5vIGV4Y2VwdGlv
biB0aHJvd24KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2Fzc2lnbi1jdXN0b20tc2V0
dGVyLXBvbHltb3JwaGljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXNz
aWduLWN1c3RvbS1zZXR0ZXItcG9seW1vcnBoaWMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAxNDZjZjM1NjNiMTllMjBhNjlkMTBiYzcwMjllOTFmNDhjYzUxNWJm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvYXNzaWduLWN1c3RvbS1zZXR0ZXItcG9seW1vcnBoaWMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotSlNSZWdyZXNzL2Fzc2lnbi1jdXN0
b20tc2V0dGVyLXBvbHltb3JwaGljCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Q
QVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2Fz
c2lnbi1jdXN0b20tc2V0dGVyLXBvbHltb3JwaGljLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL2Fzc2lnbi1jdXN0b20tc2V0dGVyLXBvbHltb3JwaGljLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI3ZGM2MjZiZGI3ZDdkOWVhM2I0ZGE1ZDBjODE2NWY2MTFjNmM2Y2Uu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9hc3NpZ24tY3VzdG9tLXNldHRlci1wb2x5bW9ycGhpYy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvYXNzaWduLWN1c3RvbS1zZXR0ZXItcG9seW1vcnBoaWMuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hc3NpZ24t
Y3VzdG9tLXNldHRlci5odG1sIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hc3NpZ24tY3VzdG9t
LXNldHRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTE2ZDZlZDFhYzAy
MjVkZmM2YmNkNmNjN2RmM2Q2NjE4NmVjZTBjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXNzaWduLWN1c3RvbS1z
ZXR0ZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Fzc2lnbi1jdXN0b20tc2V0dGVyLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2Ny
aXB0LXRlc3RzL2Fzc2lnbi1jdXN0b20tc2V0dGVyLXBvbHltb3JwaGljLmpzIGIvTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvYXNzaWduLWN1c3RvbS1zZXR0ZXItcG9seW1vcnBo
aWMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjMDk2YjZjNDA0ZDdjNWI4ZTQ1
YjdmOTQxOTlmNmVhMWU0ZDdkMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvYXNzaWduLWN1
c3RvbS1zZXR0ZXItcG9seW1vcnBoaWMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBA
Ci0KLW8gPSBSZWdFeHA7Ci1qID0gMDsKLWwgPSAyOwoteiA9IDA7Ci1mdW5jdGlvbiB0ZXN0KG8s
IHopIHsKLSAgICB2YXIgayA9IGFyZ3VtZW50c1soKChqIDw8IDEgfCBsKSA+PiAxKSBeIDEpICYg
KHogKj0gMSldOwotICAgIGsuaW5wdXQgPSAwOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjUw
MDA7IGkrKykgewotICAgICAgICBrLmlucHV0ID0gImZvbyI7Ci0gICAgfQotCi0gICAgcmV0dXJu
IGsuaW5wdXQ7Ci19Ci12YXIgcmVzdWx0ID0gdGVzdCh7X19wcm90b19fOiB7YmFyOiJ3aWJibGUi
LCBpbnB1dDoiZm9vIn19KTsKLXZhciByZXN1bHQgPSB0ZXN0KHtpbnB1dDoiZm9vIn0pOwotdmFy
IHJlc3VsdCA9IHRlc3QobykKLWZvciAodmFyIGsgPSAwOyBrIDwgNjsgaysrKSB7Ci0gICAgdmFy
IHN0YXJ0ID0gbmV3IERhdGU7Ci0gICAgdmFyIG5ld1Jlc3VsdCA9IHRlc3QobykKLSAgICB2YXIg
ZW5kID0gbmV3IERhdGU7Ci0gICAgaWYgKG5ld1Jlc3VsdCAhPSByZXN1bHQpCi0gICAgICAgIHRo
cm93ICJGYWlsZWQgYXQgIiArIGsgKyAid2l0aCAiICsgbmV3UmVzdWx0ICsgIiB2cy4gIiArIHJl
c3VsdAotICAgIHJlc3VsdCA9IG5ld1Jlc3VsdDsKLSAgICBvID0ge19fcHJvdG9fXyA6IG8gfQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvYXNzaWdu
LWN1c3RvbS1zZXR0ZXIuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9h
c3NpZ24tY3VzdG9tLXNldHRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNh
OGM5MDNhYjE2MjU4ZjI0Njc1NDlhNzZmYzFmMTBhZDA5YzdhZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Njcmlw
dC10ZXN0cy9hc3NpZ24tY3VzdG9tLXNldHRlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI0ICsw
LDAgQEAKLS8vIFJlZ0V4cC5pbnB1dCBpcyBhIGhhbmR5IHNldHRlcgotCi12YXIgbyA9IFJlZ0V4
cDsKLWZ1bmN0aW9uIHRlc3QobykgewotICAgIHZhciBrID0gMDsKLSAgICBvLmlucHV0ID0gImJh
ciI7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMDAwMDsgaSsrKQotICAgICAgICBvLmlucHV0
ID0gImZvbyI7Ci0KLSAgICByZXR1cm4gby5pbnB1dDsKLX0KLQotdmFyIHJlc3VsdCA9IHRlc3Qo
byk7Ci0KLWZvciAodmFyIGsgPSAwOyBrIDwgOTsgaysrKSB7Ci0gICAgdmFyIHN0YXJ0ID0gbmV3
IERhdGU7Ci0gICAgdmFyIG5ld1Jlc3VsdCA9IHRlc3QobykKLSAgICB2YXIgZW5kID0gbmV3IERh
dGU7Ci0gICAgaWYgKG5ld1Jlc3VsdCAhPSByZXN1bHQpCi0gICAgICAgIHRocm93ICJGYWlsZWQg
YXQgIiArIGsgKyAid2l0aCAiICtuZXdSZXN1bHQgKyAiIHZzLiAiICsgcmVzdWx0Ci0gICAgcmVz
dWx0ID0gbmV3UmVzdWx0OyAKLSAgICBvID0ge19fcHJvdG9fXyA6IG8gfQotfQotCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>