<?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>178528</bug_id>
          
          <creation_ts>2017-10-19 11:56:44 -0700</creation_ts>
          <short_desc>Use &quot;= default&quot; to denote default constructor or destructor</short_desc>
          <delta_ts>2017-11-15 13:02:16 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1362235</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-10-19 11:56:44 -0700</bug_when>
    <thetext>Use &quot;= default&quot; to denote default constructor or destructor instead of defining an empty function. This helps makes default constructors/destructors stand out from other functions as well as makes them searchable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362247</commentid>
    <comment_count>1</comment_count>
      <attachid>324261</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-10-19 12:13:23 -0700</bug_when>
    <thetext>Created attachment 324261
Patch

This a large change. ItIt is entirely mechanical. Mark default constructors and destructors with &quot;= default&quot; and remove their body. With the exception of Payment.h I left unnecesary explicit declarations of constructors and destructors in the code to keep this patch as consistent as possible to hopefully make it easy to review. In a follow up patch we can remove such declarations as the compiler will generate these functions for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362451</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-10-19 16:49:03 -0700</bug_when>
    <thetext>Committed r223728: &lt;https://trac.webkit.org/changeset/223728&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363186</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-10-22 18:14:50 -0700</bug_when>
    <thetext>Is there an advantage to this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363195</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-10-22 19:38:01 -0700</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #3)
&gt; Is there an advantage to this?

https://stackoverflow.com/questions/20828907/the-new-keyword-default-in-c11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363348</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-10-23 11:50:47 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #4)
&gt; (In reply to Joseph Pecoraro from comment #3)
&gt; &gt; Is there an advantage to this?
&gt; 
&gt; https://stackoverflow.com/questions/20828907/the-new-keyword-default-in-c11

Thanks.

Something to this effect should absolutely have been in the ChangeLog explaining why this change was made.

The reason stated in the bugzilla bug was &quot;This helps makes default constructors/destructors stand out from other functions as well as makes them searchable.&quot; which is not the same justification as the link you provided, nor would I necessarily agree with it. But using `= default` to make some classes be treated as POD / Trivial is an observable change that we might benefit from.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372323</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 13:02:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/35568661&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324261</attachid>
            <date>2017-10-19 12:13:23 -0700</date>
            <delta_ts>2017-10-19 16:35:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178528-20171019121323.patch</filename>
            <type>text/plain</type>
            <size>577915</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkyODdkNTg1ZDZlNDY5
YjIxNjJhMzdkZTk4YTI2ZDE1Yzc3NWJhMi4uOTEzMTcwZWM3YjBhN2QyNjhlNTM0ZDlmYTZjMmNj
MDZjZWEwNGVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE3LTEwLTE5ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgIj0gZGVmYXVsdCIg
dG8gZGVub3RlIGRlZmF1bHQgY29uc3RydWN0b3Igb3IgZGVzdHJ1Y3RvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NTI4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FpcnBsYXkvV2Vi
S2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5oOgorICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlFcnJvci5jcHA6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5jcHA6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcDoK
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZEV2ZW50LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVN
ZXJjaGFudEV2ZW50LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaDoK
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgor
ICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbHMvQmFzaWNDcmVkZW50aWFsLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL2NyZWRlbnRpYWxzL0ZlZGVyYXRlZENyZWRlbnRpYWwuY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvY3JlZGVudGlhbHMvTmF2aWdhdG9yQ3JlZGVudGlhbHMuY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvY3JlZGVudGlhbHMvUGFzc3dvcmRDcmVkZW50aWFsLmNwcDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUNsaWVudC5oOgorICAgICAgICAqIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETS5jcHA6CisgICAgICAgICogTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNUHJpdmF0ZS5oOgorICAgICAgICAqIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVByaXZhdGVDbGVhcktleS5oOgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVByaXZhdGVNZWRpYVBs
YXllci5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNE
TVNlc3Npb25DbGVhcktleS5jcHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9s
ZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwOgorICAgICAgICAqIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuY3BwOgorICAg
ICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHA6CisgICAgICAg
ICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHA6CisgICAgICAgICogTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlckNsaWVudC5oOgorICAgICAgICAqIE1vZHVsZXMvZ2FtZXBh
ZC9HYW1lcGFkLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEV2ZW50Lmg6
CisgICAgICAgICogTW9kdWxlcy9nYW1lcGFkL2RlcHJlY2F0ZWQvR2FtZXBhZC5jcHA6CisgICAg
ICAgIFsgdHJ1bmNhdGVkIF0KKwogMjAxNy0xMC0xOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtGcmFtZVZpZXc6OmxheW91dCBjbGVhbnVwXSBSZXBsYWNlIG1f
bmVzdGVkTGF5b3V0Q291bnQgd2l0aCBpc0xheW91dE5lc3RlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpp
bmRleCBkMjFmYzkzNDUzNWRlYjJhYTg3OGM2ZjM1NWYwODM5NWQ5ZjIxMzc5Li43ODdkMWU2MDhj
ZTMwMTg0M2RlODY1YTA2YmZiNzM5MTkwYjc4YWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0xMC0xOSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgVXNlICI9IGRlZmF1bHQiIHRvIGRlbm90ZSBkZWZhdWx0IGNvbnN0cnVjdG9y
IG9yIGRlc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3ODUyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGFsL0xvZ2dlci5oOgorICAgICAgICAoUEFMOjpMb2dnZXI6Ok9ic2VydmVyOjp+
T2JzZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBhbC9jcnlwdG8vZ2NyeXB0L0NyeXB0b0Rp
Z2VzdEdDcnlwdC5jcHA6CisgICAgICAgICogcGFsL3N5c3RlbS9TbGVlcERpc2FibGVyLmNwcDoK
KyAgICAgICAgKiBwYWwvc3lzdGVtL1N5c3RlbVNsZWVwTGlzdGVuZXIuaDoKKwogMjAxNy0xMC0x
NyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFu
Z2UgV2ViQ29yZSBzb3VyY2VzIHRvIHdvcmsgd2l0aCB1bmlmaWVkIHNvdXJjZSBidWlsZHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1Rh
cmdldEF2YWlsYWJpbGl0eUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FpcnBsYXkv
V2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5oCmluZGV4IGFjYmU3ZDFkZjQ4
ZGVhNTIzMWZhMzM1YzliMDQ4YTc4NTRjNzRhZGYuLjM2Y2I2ZDFhM2MwNmNlMTNlNTA4ZjU2N2Ew
NzIwYWZhODRmMTdkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYWlycGxh
eS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZl
bnQuaApAQCAtMzMsNyArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdlYktp
dFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGlj
OgotICAgIH5XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50KCkgeyB9CiAKICAg
ICBzdGF0aWMgUmVmPFdlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBhdmFpbGFibGUpCiAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5jcHAK
aW5kZXggMThhNGZmZTQxYzM4ZGY1ZWVlOTNhZDI3NDk5N2I5MzUzYjJkNTBmYi4uMGI1YmNmMDA1
YTM2NTVlYmYyNDlmYzM4MTJiMTkzODQzMTQzODdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuY3BwCkBAIC00Miw5ICs0Miw3IEBAIEFw
cGxlUGF5RXJyb3I6OkFwcGxlUGF5RXJyb3IoQ29kZSBjb2RlLCBzdGQ6Om9wdGlvbmFsPENvbnRh
Y3RGaWVsZD4gY29udGFjdEZpZWxkCiB7CiB9CiAKLUFwcGxlUGF5RXJyb3I6On5BcHBsZVBheUVy
cm9yKCkKLXsKLX0KK0FwcGxlUGF5RXJyb3I6On5BcHBsZVBheUVycm9yKCkgPSBkZWZhdWx0Owog
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcAppbmRleCA0MmI3ZDVkYzg4
MjQ5OTNjYjBlZmZlZDk5ODEwMjNhOGZmODM4MjE4Li5iYjkyYmMxYzNlNTA5YTk0MTMyN2Y2ZWJh
ZjhiODhjNmM0NzM5NzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuY3BwCkBA
IC0zOCw5ICszOCw3IEBAIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudDo6QXBwbGVQYXlQ
YXltZW50QXV0aG9yaXplZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiB7CiB9CiAKLUFwcGxlUGF5
UGF5bWVudEF1dGhvcml6ZWRFdmVudDo6fkFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudCgp
Ci17Ci19CitBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQ6On5BcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIEV2ZW50SW50ZXJmYWNlIEFwcGxlUGF5UGF5
bWVudEF1dGhvcml6ZWRFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RT
ZWxlY3RlZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5jcHAKaW5kZXggNGMzOGM1ZjNkNmY1YmVjMjVm
MjBjMGU0OGUwODU3ZWI5ZjQ2YTAzYS4uNmI2Y2QxYjYwZGY4M2RiYjQzNGUxYWU5MjFlNzMyYzkw
M2FiZDJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCkBA
IC0zOCw5ICszOCw3IEBAIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQ6OkFwcGxl
UGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQoY29uc3QgQXRvCiB7CiB9CiAKLUFwcGxlUGF5
UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQ6On5BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3Rl
ZEV2ZW50KCkKLXsKLX0KK0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQ6On5BcHBs
ZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50KCkgPSBkZWZhdWx0OwogCiBFdmVudEludGVy
ZmFjZSBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50OjpldmVudEludGVyZmFjZSgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5jcHAKaW5kZXggMWYxNWI5NTk0OWIxYjBmMDNjZWE5OGJjOTRjNzgyMWE4NDQ1
NzVmNC4uZjRjMzVjOWUxYjdmYjZlN2I4ZWU3ZjM0ZTUxNDBmM2ViZmM2NTU4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApA
QCAtNDYxLDkgKzQ2MSw3IEBAIEFwcGxlUGF5U2Vzc2lvbjo6QXBwbGVQYXlTZXNzaW9uKERvY3Vt
ZW50JiBkb2N1bWVudCwgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlCiAgICAgc3VzcGVuZElm
TmVlZGVkKCk7CiB9CiAKLUFwcGxlUGF5U2Vzc2lvbjo6fkFwcGxlUGF5U2Vzc2lvbigpCi17Ci19
CitBcHBsZVBheVNlc3Npb246On5BcHBsZVBheVNlc3Npb24oKSA9IGRlZmF1bHQ7CiAKIEV4Y2Vw
dGlvbk9yPGJvb2w+IEFwcGxlUGF5U2Vzc2lvbjo6c3VwcG9ydHNWZXJzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHVuc2lnbmVkIHZlcnNpb24pCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuY3BwCmluZGV4IDc1YTE2ZjNlOTNjZDBhM2Ni
YTczOWM2ODQ2OWYxMjQxOGVkNjJmZWUuLmFlYmY4NjFjNTBkM2Y5MzA0ZWU5ZDI1MTFkMmRmNGNl
YjYzNWRmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuY3BwCkBAIC0zMywxMyAr
MzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0OjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCgpCi17Ci19CitBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdDo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QoKSA9IGRl
ZmF1bHQ7CiAKLUFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Ojp+QXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3QoKQotewotfQorQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6On5B
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCgpID0gZGVmYXVsdDsKIAogYm9vbCBBcHBsZVBh
eVNlc3Npb25QYXltZW50UmVxdWVzdDo6aXNWYWxpZFN1cHBvcnRlZE5ldHdvcmsodW5zaWduZWQg
dmVyc2lvbiwgY29uc3QgU3RyaW5nJiBzdXBwb3J0ZWROZXR3b3JrKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwCmluZGV4IDQxYTg0NDdjNDhhNzdlYWFk
ZjExYjBiYjNlMTJhM2Q0YjgwNmFmNWEuLjEzMmE3NWNiMjY2ZGNmODUwNzM0ODRkMjFkMzU2NjBj
OTQ0YTFiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5j
cHAKQEAgLTM4LDkgKzM4LDcgQEAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50
OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQoY29uc3QKIHsKIH0KIAotQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50Ojp+QXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RTZWxlY3RlZEV2ZW50KCkKLXsKLX0KK0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRF
dmVudDo6fkFwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudCgpID0gZGVmYXVsdDsK
IAogRXZlbnRJbnRlcmZhY2UgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50Ojpl
dmVudEludGVyZmFjZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVj
dGVkRXZlbnQuY3BwCmluZGV4IGU5ZmZjNzFiODAzZDllNDliZTY1YjlmMjZkNjhkOTc0NjhlN2Qy
YTAuLjFhOWRjYWUyYmIxODNiYTM1ZmZiNWE4MzRhYmIzY2Q3Njk2NzE2NGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNl
bGVjdGVkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCkBAIC00OSw5ICs0OSw3IEBAIEFw
cGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50OjpBcHBsZVBheVNoaXBwaW5nTWV0aG9k
U2VsZWN0ZWRFdmVudChjb25zdCBBCiB7CiB9CiAKLUFwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxl
Y3RlZEV2ZW50Ojp+QXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQoKQotewotfQor
QXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQ6On5BcHBsZVBheVNoaXBwaW5nTWV0
aG9kU2VsZWN0ZWRFdmVudCgpID0gZGVmYXVsdDsKIAogRXZlbnRJbnRlcmZhY2UgQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0
ZU1lcmNoYW50RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5jcHAKaW5kZXggYzZjODYzNzQ4ZjRiOWQzY2E3Zjc0
MzBjNTFjYmQwNjg2ZWE5MTkzYS4uM2UzMmMyNzlhZTcxMDM4ZmE4YTI2YTExYzczOGM3MTFkY2Jh
OWQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5jcHAKQEAgLTM2LDkgKzM2LDcg
QEAgQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQ6OkFwcGxlUGF5VmFsaWRhdGVNZXJjaGFu
dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYKIHsKIH0KIAotQXBwbGVQYXlWYWxpZGF0ZU1lcmNo
YW50RXZlbnQ6On5BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudCgpCi17Ci19CitBcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudDo6fkFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50KCkg
PSBkZWZhdWx0OwogCiBFdmVudEludGVyZmFjZSBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVu
dDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnQuaAppbmRleCBmOGI3ZGEyNWViYjQzNTAzMjdjMjM5ZjY5M2RkY2ZjOGFmODFm
MzJlLi43M2ZmMmI5ZGZmYjBmN2ZlZjdjNDllZmNiMDlhMjZhYjEwYmM4YmYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaApAQCAtMzcsMTkgKzM3LDEzIEBAIHN0
cnVjdCBBcHBsZVBheVBheW1lbnQ7CiAKIGNsYXNzIFBheW1lbnQgewogcHVibGljOgotICAgIFBh
eW1lbnQoKQotICAgIHsKLSAgICB9CisgICAgUGF5bWVudCgpID0gZGVmYXVsdDsKIAogICAgIGV4
cGxpY2l0IFBheW1lbnQoUEtQYXltZW50ICpwa1BheW1lbnQpCiAgICAgICAgIDogbV9wa1BheW1l
bnQocGtQYXltZW50KQogICAgIHsKICAgICB9CiAKLSAgICB+UGF5bWVudCgpCi0gICAgewotICAg
IH0KLQogICAgIEFwcGxlUGF5UGF5bWVudCB0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0OwogCiAg
ICAgUEtQYXltZW50ICpwa1BheW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BrUGF5bWVudC5nZXQo
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5kZXggZDM1Y2YwNjZiZWZmZWQzNmNhYmFjM2MwNDE2
NTIxMTIxNjc3ZjcwNC4uOTZjZDU1NTJhZDhlM2Q0NDY0YTdhZDg0M2I0NDI0MzU2YTY3MGRjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRp
bmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRDb29yZGluYXRvckNsaWVudC5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcGF5bWVudENvb3JkaW5hdG9yRGVzdHJveWVkKCkgPSAwOwogCiBwcm90ZWN0ZWQ6
Ci0gICAgdmlydHVhbCB+UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KCkgeyB9CisgICAgdmlydHVh
bCB+UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFscy9CYXNpY0NyZWRlbnRpYWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFscy9CYXNpY0NyZWRlbnRpYWwu
Y3BwCmluZGV4IGUxM2M1ZTBjMmI0N2U0YTU4NmJiNmUzN2VlMjIxZjM4ZGEwOWFjNTUuLjZlZWI1
Njc5ZjcyMmMyOGFjOTdmODI3YWZmZjNjYWUzYjM4YmUwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbHMvQmFzaWNDcmVkZW50aWFsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxzL0Jhc2ljQ3JlZGVudGlhbC5jcHAKQEAgLTM0
LDkgKzM0LDcgQEAgQmFzaWNDcmVkZW50aWFsOjpCYXNpY0NyZWRlbnRpYWwoY29uc3QgQ3JlZGVu
dGlhbERhdGEmIGRhdGEsIFR5cGUgdHlwZSkKIHsKIH0KIAotQmFzaWNDcmVkZW50aWFsOjp+QmFz
aWNDcmVkZW50aWFsKCkKLXsKLX0KK0Jhc2ljQ3JlZGVudGlhbDo6fkJhc2ljQ3JlZGVudGlhbCgp
ID0gZGVmYXVsdDsKIAogU3RyaW5nIEJhc2ljQ3JlZGVudGlhbDo6dHlwZSgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxzL0ZlZGVyYXRlZENy
ZWRlbnRpYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFscy9GZWRlcmF0
ZWRDcmVkZW50aWFsLmNwcAppbmRleCBjMWM4YWZlMDU0ZmI2NDM0MGFjM2VlOGMzM2I0YWRiN2Nl
OGQ1ODFiLi4wYTBhYTU3MzNiN2UyNDFjZmIxNjgzM2NhNjNjMmVmMWNjMzkwOWQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxzL0ZlZGVyYXRlZENyZWRlbnRp
YWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbHMvRmVkZXJhdGVk
Q3JlZGVudGlhbC5jcHAKQEAgLTM3LDggKzM3LDYgQEAgRmVkZXJhdGVkQ3JlZGVudGlhbDo6RmVk
ZXJhdGVkQ3JlZGVudGlhbChjb25zdCBGZWRlcmF0ZWRDcmVkZW50aWFsSW5pdCYgaW5pdCkKIHsK
IH0KIAotRmVkZXJhdGVkQ3JlZGVudGlhbDo6fkZlZGVyYXRlZENyZWRlbnRpYWwoKQotewotfQor
RmVkZXJhdGVkQ3JlZGVudGlhbDo6fkZlZGVyYXRlZENyZWRlbnRpYWwoKSA9IGRlZmF1bHQ7CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY3JlZGVudGlhbHMvTmF2aWdhdG9yQ3JlZGVudGlhbHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jcmVkZW50aWFscy9OYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKaW5kZXggOTNkOTEx
MGU5MTEyZTRkOTdiYWM2NDVmNzk3NjU5Y2M0ZDY5ZDdhMC4uNzRhNzJjNzAxMmRkZjU0NmQxZGJh
MTQ5NjI3ZjI2ZjAxZjMwNmYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
cmVkZW50aWFscy9OYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jcmVkZW50aWFscy9OYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKQEAgLTMxLDEzICsz
MSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTmF2aWdhdG9yQ3JlZGVudGlhbHM6Ok5h
dmlnYXRvckNyZWRlbnRpYWxzKCkKLXsKLX0KK05hdmlnYXRvckNyZWRlbnRpYWxzOjpOYXZpZ2F0
b3JDcmVkZW50aWFscygpID0gZGVmYXVsdDsKIAotTmF2aWdhdG9yQ3JlZGVudGlhbHM6On5OYXZp
Z2F0b3JDcmVkZW50aWFscygpCi17Ci19CitOYXZpZ2F0b3JDcmVkZW50aWFsczo6fk5hdmlnYXRv
ckNyZWRlbnRpYWxzKCkgPSBkZWZhdWx0OwogCiBjb25zdCBjaGFyKiBOYXZpZ2F0b3JDcmVkZW50
aWFsczo6c3VwcGxlbWVudE5hbWUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jcmVkZW50aWFscy9QYXNzd29yZENyZWRlbnRpYWwuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jcmVkZW50aWFscy9QYXNzd29yZENyZWRlbnRpYWwuY3BwCmluZGV4IDM4YWM2NTM4
YTA1MGJjMjY0NjE1ODkzZDhkZmVhZTBlOWM0NTBmNjkuLjI0YTBjMTVmZGEwYmIzZGNlOWNmYjVh
Y2FhYjhhZWE1YmZmYTNlNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3Jl
ZGVudGlhbHMvUGFzc3dvcmRDcmVkZW50aWFsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NyZWRlbnRpYWxzL1Bhc3N3b3JkQ3JlZGVudGlhbC5jcHAKQEAgLTQxLDggKzQxLDYgQEAg
UGFzc3dvcmRDcmVkZW50aWFsOjpQYXNzd29yZENyZWRlbnRpYWwoY29uc3QgSFRNTEZvcm1FbGVt
ZW50JikKIHsKIH0KIAotUGFzc3dvcmRDcmVkZW50aWFsOjp+UGFzc3dvcmRDcmVkZW50aWFsKCkK
LXsKLX0KK1Bhc3N3b3JkQ3JlZGVudGlhbDo6flBhc3N3b3JkQ3JlZGVudGlhbCgpID0gZGVmYXVs
dDsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE1DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvQ0RNQ2xpZW50LmgKaW5kZXggMGY1MzVmOTU0ODhmMmQzYWVhOWQy
ZGJiZjRhZWViY2IyYTljZTBiYy4uM2E2NWM3ZjQ0Mjg0MjA1NjVlYmNmZmNiNmJhM2E4MzZiNDY2
ZDE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9D
RE1DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TUNsaWVudC5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIENETUluc3RhbmNlOwogCiBjbGFzcyBD
RE1DbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNETUNsaWVudCgpIHsgfQorICAgIHZp
cnR1YWwgfkNETUNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBjZG1DbGll
bnRBdHRlbXB0VG9SZXN1bWVQbGF5YmFja0lmTmVjZXNzYXJ5KCkgPSAwOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNE
TS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9MZWdh
Y3lDRE0uY3BwCmluZGV4IDJhNDIxZDBiYjQyYTllNTA3M2M2NDAzNjM5NTlmZjlmMTNlMDUzZDcu
LmM4NTI5NjFmMDViNGU2YTVlZDViOGY1NTQ0NjM0ZmZlOTNjMjAzNjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5
Q0RNLmNwcApAQCAtMTE3LDkgKzExNyw3IEBAIExlZ2FjeUNETTo6TGVnYWN5Q0RNKGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtKQogICAgIG1fcHJpdmF0ZSA9IENETUZhY3RvcnlGb3JLZXlTeXN0ZW0o
a2V5U3lzdGVtKS0+Y29uc3RydWN0b3IodGhpcyk7CiB9CiAKLUxlZ2FjeUNETTo6fkxlZ2FjeUNE
TSgpCi17Ci19CitMZWdhY3lDRE06On5MZWdhY3lDRE0oKSA9IGRlZmF1bHQ7CiAKIGJvb2wgTGVn
YWN5Q0RNOjpzdXBwb3J0c01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2Fj
eS9MZWdhY3lDRE0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVn
YWN5L0xlZ2FjeUNETS5oCmluZGV4IDA1ZWYzNTcwMTkxNTE0MDA4YTA0NWNjNDllNDU3MTBhOTk2
MWQ2OTIuLmQ0MmJiMDYxOGFiYzIwYzZiZTU5ODIxNzhiNWVmMmJlNTk2ZGEzMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNE
TS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xl
Z2FjeUNETS5oCkBAIC00NSw3ICs0NSw3IEBAIHR5cGVkZWYgYm9vbCAoKkNETVN1cHBvcnRzS2V5
U3lzdGVtQW5kTWltZVR5cGUpKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpOwogCiBjbGFz
cyBMZWdhY3lDRE1DbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkxlZ2FjeUNETUNsaWVu
dCgpIHsgfQorICAgIHZpcnR1YWwgfkxlZ2FjeUNETUNsaWVudCgpID0gZGVmYXVsdDsKIAogICAg
IHZpcnR1YWwgUmVmUHRyPE1lZGlhUGxheWVyPiBjZG1NZWRpYVBsYXllcihjb25zdCBMZWdhY3lD
RE0qKSBjb25zdCA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNUHJpdmF0ZS5oCmluZGV4IDM4
N2RkMjljMmNjY2VkYjBhYTEwNDU5MDZlY2Q4ZmZiMjFkY2UyZDguLjBhOGQ1NGU1YzU2NWYzNDUw
ODU2MmM1YThjMWUwMDM1YWYxNGE3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9MZWdhY3lDRE1Qcml2YXRlLmgK
QEAgLTM2LDggKzM2LDggQEAgY2xhc3MgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudDsKIAogY2xhc3Mg
Q0RNUHJpdmF0ZUludGVyZmFjZSB7CiBwdWJsaWM6Ci0gICAgQ0RNUHJpdmF0ZUludGVyZmFjZSgp
IHsgfQotICAgIHZpcnR1YWwgfkNETVByaXZhdGVJbnRlcmZhY2UoKSB7IH0KKyAgICBDRE1Qcml2
YXRlSW50ZXJmYWNlKCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgfkNETVByaXZhdGVJbnRlcmZh
Y2UoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNNSU1FVHlwZShjb25z
dCBTdHJpbmcmKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVByaXZhdGVDbGVhcktleS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNUHJpdmF0ZUNsZWFy
S2V5LmgKaW5kZXggYjRjMTgzYWQzZDdlOTI1YmQ3YWQ1ZjU2Yjk1NjcwNWMwN2Y1M2M1My4uNzY1
ZjA2NDE0NzdiMmMwMjIxNjRiZGJhMTA3Yzc3OTQ5NDY2MmUyMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNUHJpdmF0ZUNs
ZWFyS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdh
Y3kvTGVnYWN5Q0RNUHJpdmF0ZUNsZWFyS2V5LmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5MZWdhY3lDRE1Qcml2YXRlQ2xlYXJLZXkoKSB7
IH0KKyAgICB2aXJ0dWFsIH5MZWdhY3lDRE1Qcml2YXRlQ2xlYXJLZXkoKSA9IGRlZmF1bHQ7CiAK
ICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmKTsKICAgICBz
dGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBlKGNvbnN0IFN0cmluZyYga2V5
U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVByaXZhdGVNZWRpYVBs
YXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVn
YWN5Q0RNUHJpdmF0ZU1lZGlhUGxheWVyLmgKaW5kZXggMDkyOGE3NGFlNTk0ZjNmMzQzOWEyNWVl
MjY0ZjhlNmQ2ZDQyZGMyYS4uNjYwMmViZmU5MDQ0NWM1NTkzYzZlNWZmOGYxYTViMmUyZGQ5MmMx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdh
Y3kvTGVnYWN5Q0RNUHJpdmF0ZU1lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNUHJpdmF0ZU1lZGlhUGxheWVyLmgK
QEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lz
dGVtKGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtQW5k
TWltZVR5cGUoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
OwogCi0gICAgdmlydHVhbCB+Q0RNUHJpdmF0ZU1lZGlhUGxheWVyKCkgeyB9CisgICAgdmlydHVh
bCB+Q0RNUHJpdmF0ZU1lZGlhUGxheWVyKCkgPSBkZWZhdWx0OwogCiAgICAgYm9vbCBzdXBwb3J0
c01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIG92ZXJyaWRlOwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxMZWdhY3lDRE1TZXNzaW9uPiBjcmVhdGVTZXNzaW9uKExlZ2FjeUNETVNlc3Npb25D
bGllbnQqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Npb25DbGVhcktleS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9MZWdhY3lDRE1TZXNzaW9uQ2xl
YXJLZXkuY3BwCmluZGV4IDQ4ODg0OTYzMjEwNGIwNTBmOGE2NjQ3ZjJkMzEwNTNkNTAwOGIzOGMu
LmVmOTNhMTBlY2Q2NzNiMWNjMzNjZTE5ZDVkMzRkN2ZhNGI1MjhmNjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Np
b25DbGVhcktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5LmNwcApAQCAtNTUsOSArNTUsNyBAQCBD
RE1TZXNzaW9uQ2xlYXJLZXk6OkNETVNlc3Npb25DbGVhcktleShMZWdhY3lDRE1TZXNzaW9uQ2xp
ZW50KiBjbGllbnQpCiB7CiB9CiAKLUNETVNlc3Npb25DbGVhcktleTo6fkNETVNlc3Npb25DbGVh
cktleSgpCi17Ci19CitDRE1TZXNzaW9uQ2xlYXJLZXk6On5DRE1TZXNzaW9uQ2xlYXJLZXkoKSA9
IGRlZmF1bHQ7CiAKIFJlZlB0cjxVaW50OEFycmF5PiBDRE1TZXNzaW9uQ2xlYXJLZXk6OmdlbmVy
YXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5KiBpbml0RGF0
YSwgU3RyaW5nJiBkZXN0aW5hdGlvblVSTCwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdWlu
dDMyX3QmIHN5c3RlbUNvZGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eU1lc3NhZ2VFdmVudC5jcHAKaW5kZXggMmVmYWRmMTVjOWIzODg3MTZhNWYwNjU2OGFmZDZmZTVi
OTdmMTkyNy4uNDg4N2NhMmMxMzdiNjVjODA3NTg3Zjk1ODU4YmU1NzEyOWE4ZjUxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0
TWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcApAQCAtNDcs
OSArNDcsNyBAQCBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudDo6V2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLAogewogfQogCi1XZWJLaXRNZWRpYUtl
eU1lc3NhZ2VFdmVudDo6fldlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50KCkKLXsKLX0KK1dlYktp
dE1lZGlhS2V5TWVzc2FnZUV2ZW50Ojp+V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQoKSA9IGRl
ZmF1bHQ7CiAKIEV2ZW50SW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50OjpldmVu
dEludGVyZmFjZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5
TmVlZGVkRXZlbnQuY3BwCmluZGV4IGU1MzhjMWNjZWQ5M2I0ZTk2NDQ1ZWYwY2YzOWY0ZjA5YWYz
NWY0NDkuLjU5ZGUxOWQ3NGQ2Y2JhZDU1N2Q5M2VmMDY5ZmVlNGI5YzUxYzg2MTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5TmVlZGVkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuY3BwCkBAIC00NCw5ICs0
NCw3IEBAIFdlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQ6OldlYktpdE1lZGlhS2V5TmVlZGVkRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjCiB7CiB9CiAKLVdlYktpdE1lZGlhS2V5TmVl
ZGVkRXZlbnQ6On5XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50KCkKLXsKLX0KK1dlYktpdE1lZGlh
S2V5TmVlZGVkRXZlbnQ6On5XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50KCkgPSBkZWZhdWx0Owog
CiBFdmVudEludGVyZmFjZSBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50OjpldmVudEludGVyZmFj
ZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RE9NRmlsZVN5c3RlbS5jcHAKaW5kZXggMGU3NGZkZThmZWYxYmJiOTg5MDRhNjY4NWYyYTg0MjE0
MjM1ZjQ5Ni4uNmQyZWI4ODUyYzRkNzM5NmQ5N2ZlMThiYzI4MWU3MWM2YTQ0NDJiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNw
cApAQCAtMTQ5LDkgKzE0OSw3IEBAIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oUmVmPEZp
bGU+JiYgZmlsZSkKICAgICBBU1NFUlQoIW1fcm9vdFBhdGguZW5kc1dpdGgoJy8nKSk7CiB9CiAK
LURPTUZpbGVTeXN0ZW06On5ET01GaWxlU3lzdGVtKCkKLXsKLX0KK0RPTUZpbGVTeXN0ZW06On5E
T01GaWxlU3lzdGVtKCkgPSBkZWZhdWx0OwogCiBSZWY8RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5
PiBET01GaWxlU3lzdGVtOjpyb290KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3Rl
bURpcmVjdG9yeVJlYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAKaW5kZXggNDNmMjhhNDFhMDY5YjA4MDhkMGQ0
YzZkMDI1MWZkZGI4ZjBmYzA0OC4uODJjYmViMjIxNWJmNjhjOTcxZWFjZjU1MGM1MzMyYzAyMWQ3
M2U2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50
cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcApAQCAtNDMsOSArNDMsNyBAQCBG
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjpGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbgogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogfQogCi1GaWxl
U3lzdGVtRGlyZWN0b3J5UmVhZGVyOjp+RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcigpCi17Ci19
CitGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjp+RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcigp
ID0gZGVmYXVsdDsKIAogY29uc3QgY2hhciogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCmluZGV4IDgwOTQ5Y2VjMTJjYTEw
NzZiOWMwMzExZGY4MzhhZDk0YWVjNGI1YmQuLmI2YmJjNjNhNjM2NjVjNWQzMjQ4ZWU0ZTZhYWM2
YjAwNTUwOWQxODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCkBAIC00NSw5ICs0NSw3IEBAIEZpbGVTeXN0ZW1FbnRy
eTo6RmlsZVN5c3RlbUVudHJ5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIERPTUZp
bGVTeXN0ZW0mCiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CiB9CiAKLUZpbGVTeXN0ZW1FbnRyeTo6
fkZpbGVTeXN0ZW1FbnRyeSgpCi17Ci19CitGaWxlU3lzdGVtRW50cnk6On5GaWxlU3lzdGVtRW50
cnkoKSA9IGRlZmF1bHQ7CiAKIERPTUZpbGVTeXN0ZW0mIEZpbGVTeXN0ZW1FbnRyeTo6ZmlsZXN5
c3RlbSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyQ2xpZW50LmgKaW5kZXggY2JmZjliZDkxZmNjOGYzZjE0YWE1NjgwMDU4NjAzYmMxMzYz
N2NiNy4uZTZhZmM0MDg4M2M4YTU3MTMwMTg5ZjFiODQ3N2ZmMTBiYTQ4N2NlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXJDbGllbnQuaApAQCAtMzcs
NyArMzcsNyBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBjbGFzcyBGZXRjaExvYWRlckNs
aWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+RmV0Y2hMb2FkZXJDbGllbnQoKSB7IH0KKyAg
ICB2aXJ0dWFsIH5GZXRjaExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAKaW5kZXggZTY5YTM1OTlm
MGMxMjE1ZTQ4MTI5YWY1YTFlY2IxY2VkMDE5Mzc0MS4uOTY1MTk1ZGYyNGFhNzYxMTQyNjJkNTI1
ZGIzYTFhZmEwZGZkYmQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkL0dhbWVwYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1l
cGFkLmNwcApAQCAtNDYsOSArNDYsNyBAQCBHYW1lcGFkOjpHYW1lcGFkKGNvbnN0IFBsYXRmb3Jt
R2FtZXBhZCYgcGxhdGZvcm1HYW1lcGFkKQogICAgICAgICBtX2J1dHRvbnMuYXBwZW5kKEdhbWVw
YWRCdXR0b246OmNyZWF0ZSgpKTsKIH0KIAotR2FtZXBhZDo6fkdhbWVwYWQoKQotewotfQorR2Ft
ZXBhZDo6fkdhbWVwYWQoKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBHYW1l
cGFkOjpheGVzKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2FtZXBhZC9HYW1lcGFkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9H
YW1lcGFkRXZlbnQuaAppbmRleCBkNDNkYTU4YTk4ZTZlMmEwZWE3ZmJmYTQ4NGQwYTgxZjkxMDdm
YWQ4Li42ZDUwNzc4ZTU4ODU1ZjNmMjk2NWE2ZWU0NTVlODYyNzE3ODYyMTRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEV2ZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5oCkBAIC0zNSw3ICszNSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgR2FtZXBhZEV2ZW50IDogcHVibGljIEV2
ZW50IHsKIHB1YmxpYzoKLSAgICB+R2FtZXBhZEV2ZW50KCkgeyB9CisgICAgfkdhbWVwYWRFdmVu
dCgpID0gZGVmYXVsdDsKIAogICAgIHN0YXRpYyBSZWY8R2FtZXBhZEV2ZW50PiBjcmVhdGUoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEdhbWVwYWQmIGdhbWVwYWQpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL2RlcHJlY2F0ZWQvR2FtZXBh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvZGVwcmVjYXRlZC9HYW1lcGFk
LmNwcAppbmRleCA1MmUyNzQ5MDY3NzY0YzBmZDk0OTZmYmUxMjllZDQ0NzE3MjQ2MDRlLi45Mjli
ODJjOTE3Y2Y2M2ZhNzBkYTZjM2JjNDM2OTJmZGM3ZjM5MDczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvZGVwcmVjYXRlZC9HYW1lcGFkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvZGVwcmVjYXRlZC9HYW1lcGFkLmNwcApAQCAtNTIs
OSArNTIsNyBAQCB2b2lkIEdhbWVwYWQ6OmJ1dHRvbnModW5zaWduZWQgY291bnQsIGZsb2F0KiBk
YXRhKQogICAgICAgICBzdGQ6OmNvcHkoZGF0YSwgZGF0YSArIGNvdW50LCBtX2J1dHRvbnMuYmVn
aW4oKSk7CiB9CiAKLUdhbWVwYWQ6On5HYW1lcGFkKCkKLXsKLX0KK0dhbWVwYWQ6On5HYW1lcGFk
KCkgPSBkZWZhdWx0OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9kZXByZWNhdGVkL0dhbWVwYWRMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9kZXByZWNhdGVkL0dhbWVwYWRMaXN0LmNw
cAppbmRleCAyMmUwMjg4NjdlMzk4Y2RmMzMzMWI0MTU2MGUzYWM4ZmEwYjc4MzYwLi4xNTVmZWMy
NGI4YTFkMDMxODIzZmQ3YjZlYzg1MjIwMDhiODA1OWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2dhbWVwYWQvZGVwcmVjYXRlZC9HYW1lcGFkTGlzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL2RlcHJlY2F0ZWQvR2FtZXBhZExpc3QuY3BwCkBA
IC0zMiw5ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotR2FtZXBhZExpc3Q6On5H
YW1lcGFkTGlzdCgpCi17Ci19CitHYW1lcGFkTGlzdDo6fkdhbWVwYWRMaXN0KCkgPSBkZWZhdWx0
OwogCiB2b2lkIEdhbWVwYWRMaXN0OjpzZXQodW5zaWduZWQgaW5kZXgsIFJlZlB0cjxHYW1lcGFk
PiYmIGdhbWVwYWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVw
YWQvZGVwcmVjYXRlZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2FtZXBhZC9kZXByZWNhdGVkL05hdmlnYXRvckdhbWVwYWQuY3BwCmluZGV4IDIzMjFkNWFk
YTQ0MmY2ZjJmZjY3NTc0MzBiMjQxMzM2YWFhYzliYWMuLjg3ZDU0NmJhMTE1MjhiZjI4YWRhMWVj
N2U5OWY2Y2E2MTZhOWRhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Ft
ZXBhZC9kZXByZWNhdGVkL05hdmlnYXRvckdhbWVwYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2FtZXBhZC9kZXByZWNhdGVkL05hdmlnYXRvckdhbWVwYWQuY3BwCkBAIC0zNCwx
MyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLU5hdmlnYXRvckdhbWVwYWQ6Ok5h
dmlnYXRvckdhbWVwYWQoKQotewotfQorTmF2aWdhdG9yR2FtZXBhZDo6TmF2aWdhdG9yR2FtZXBh
ZCgpID0gZGVmYXVsdDsKIAotTmF2aWdhdG9yR2FtZXBhZDo6fk5hdmlnYXRvckdhbWVwYWQoKQot
ewotfQorTmF2aWdhdG9yR2FtZXBhZDo6fk5hdmlnYXRvckdhbWVwYWQoKSA9IGRlZmF1bHQ7CiAK
IGNvbnN0IGNoYXIqIE5hdmlnYXRvckdhbWVwYWQ6OnN1cHBsZW1lbnROYW1lKCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25DbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25DbGll
bnQuaAppbmRleCBmNzQwOWIyMGQyMGI4ODhmMmZiZWI2NDI4ZjNiYjc3NDNhMjZlODcwLi4yNWRh
NTYyNTYzM2YzN2Q3OTcyMzJhMDM2YWQzZDJlYzUwODQ0YWYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNsaWVudC5oCkBAIC01
Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHByb3ZpZGVHZW9sb2NhdGlvblRvKFBhZ2Uq
LCBHZW9sb2NhdGlvbkNsaWVudCYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+R2VvbG9j
YXRpb25DbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvbkNsaWVudCgpID0gZGVm
YXVsdDsKIH07CiAKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvdmlkZUdlb2xvY2F0aW9uVG8oUGFn
ZSosIEdlb2xvY2F0aW9uQ2xpZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2dlb2xvY2F0aW9uL05hdmlnYXRvckdlb2xvY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vTmF2aWdhdG9yR2VvbG9jYXRpb24uY3BwCmluZGV4IGFkNTZm
Y2FjZmUxYWM5MWM1NzM3MDkyOGNmNDY1NmZjYWQ5N2FjMGUuLjUxMjMyNTU2MjljYmE1MjYyMDBl
Y2FkNjllMmNhYjhmYTUxMTA0MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2VvbG9jYXRpb24vTmF2aWdhdG9yR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vTmF2aWdhdG9yR2VvbG9jYXRpb24uY3BwCkBAIC0zOCw5ICsz
OCw3IEBAIE5hdmlnYXRvckdlb2xvY2F0aW9uOjpOYXZpZ2F0b3JHZW9sb2NhdGlvbihGcmFtZSog
ZnJhbWUpCiB7CiB9CiAKLU5hdmlnYXRvckdlb2xvY2F0aW9uOjp+TmF2aWdhdG9yR2VvbG9jYXRp
b24oKQotewotfQorTmF2aWdhdG9yR2VvbG9jYXRpb246On5OYXZpZ2F0b3JHZW9sb2NhdGlvbigp
ID0gZGVmYXVsdDsKIAogY29uc3QgY2hhciogTmF2aWdhdG9yR2VvbG9jYXRpb246OnN1cHBsZW1l
bnROYW1lKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwCmluZGV4IDgwMzg0NDE1NjNlMmFi
YWQ3Mjc0MTE2YzNiZWRmNTM1MGMwNGNmNzIuLjg5YzFjODUxMWY5ZmJmNzMzNzk5YzhlN2E4MDc4
NmJmY2EzNzBlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcApAQCAtNDIsOSArNDIsNyBA
QCBET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6OkRPTVdpbmRvd0luZGV4ZWREYXRhYmFzZShET01X
aW5kb3cqIHdpbmRvdykKIHsKIH0KIAotRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjp+RE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlKCkKLXsKLX0KK0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6fkRP
TVdpbmRvd0luZGV4ZWREYXRhYmFzZSgpID0gZGVmYXVsdDsKIAogY29uc3QgY2hhciogRE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlOjpzdXBwbGVtZW50TmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JXaXRoVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yV2l0aFZhbHVlLmNwcAppbmRl
eCA2MDNmMWIyZmNjYzJjMWE3OTM1ZTBkMDczN2RkODVhNzIxZGY3MjgxLi43MjdiZTYyOTM2NjU1
Y2NiYmUwZTg1ZjRiYmRlN2IwYWYzMzM3MDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JXaXRoVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAKQEAgLTUyLDkgKzUy
LDcgQEAgSURCQ3Vyc29yV2l0aFZhbHVlOjpJREJDdXJzb3JXaXRoVmFsdWUoSURCVHJhbnNhY3Rp
b24mIHRyYW5zYWN0aW9uLCBJREJJbmRleCYgaW4KIHsKIH0KIAotSURCQ3Vyc29yV2l0aFZhbHVl
Ojp+SURCQ3Vyc29yV2l0aFZhbHVlKCkKLXsKLX0KK0lEQkN1cnNvcldpdGhWYWx1ZTo6fklEQkN1
cnNvcldpdGhWYWx1ZSgpID0gZGVmYXVsdDsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCmluZGV4
IGE1Y2QyNjUzZTQ2MTVjMmUzYTZiYzFjOTQ3MGViZjY5ZDE3ODM3NmUuLjVhMmI2ZWNkYTlkNzM4
NzI3NDE1MWQzYjA0ODNjM2VhZjhlNzc0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCkBAIC03MCw5ICs3MCw3IEBAIElEQkZhY3Rvcnk6
OklEQkZhY3RvcnkoSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkmIGNvbm5lY3Rpb25Qcm94
eSkKIHsKIH0KIAotSURCRmFjdG9yeTo6fklEQkZhY3RvcnkoKQotewotfQorSURCRmFjdG9yeTo6
fklEQkZhY3RvcnkoKSA9IGRlZmF1bHQ7CiAKIEV4Y2VwdGlvbk9yPFJlZjxJREJPcGVuREJSZXF1
ZXN0Pj4gSURCRmFjdG9yeTo6b3BlbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBTdHJpbmcmIG5hbWUsIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IHZlcnNpb24pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmNwcAppbmRleCAzZTYzODY4
NWM1YTk0NzU2MDczOTM1Y2RlYmVhZDc3YTg5Y2M0NTEzLi5lOGE1MzgyNmU3OWUyODljMmU1MWI3
ZDFhODZlOGQ1MTU1MzAzNzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQktleS5jcHAKQEAgLTgzLDkgKzgzLDcgQEAgSURCS2V5OjpJREJLZXkoY29uc3QgVGhyZWFk
U2FmZURhdGFCdWZmZXImIGJ1ZmZlcikKIHsKIH0KIAotSURCS2V5Ojp+SURCS2V5KCkKLXsKLX0K
K0lEQktleTo6fklEQktleSgpID0gZGVmYXVsdDsKIAogYm9vbCBJREJLZXk6OmlzVmFsaWQoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
S2V5UmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFu
Z2UuY3BwCmluZGV4IDNmZjg2MTY5OWU0Nzk1NjU3ODU5MGE5M2IyODAyYTE0YjJhZDQyYTcuLjMx
MmQ2MTcwMzg2MTk2ZGE2ODE5YTAyZmUxYmY3MGIxODQ2ZDNjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZS5jcHAKQEAgLTU3LDkgKzU3LDcg
QEAgSURCS2V5UmFuZ2U6OklEQktleVJhbmdlKFJlZlB0cjxJREJLZXk+JiYgbG93ZXIsIFJlZlB0
cjxJREJLZXk+JiYgdXBwZXIsIGJvb2wgaXMKIHsKIH0KIAotSURCS2V5UmFuZ2U6On5JREJLZXlS
YW5nZSgpCi17Ci19CitJREJLZXlSYW5nZTo6fklEQktleVJhbmdlKCkgPSBkZWZhdWx0OwogCiBF
eGNlcHRpb25PcjxSZWY8SURCS2V5UmFuZ2U+PiBJREJLZXlSYW5nZTo6b25seShSZWZQdHI8SURC
S2V5PiYmIGtleSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcApp
bmRleCA0YWI0MTU2NTMxZmE3ZTRlNWUwZDQwMTE0ZDA4Y2U3NzA0N2IyNDhhLi5hNDg1MDNiNGQy
ZDgwNDI5NDY4NGE2NWE2NWViZDY0ZjIzM2NkN2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGVJ
bmRleGVkRGF0YWJhc2UuY3BwCkBAIC00NCw5ICs0NCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlOjpXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZShXb3JrZXJHbG9i
YWxTCiB7CiB9CiAKLVdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjp+V29ya2VyR2xv
YmFsU2NvcGVJbmRleGVkRGF0YWJhc2UoKQotewotfQorV29ya2VyR2xvYmFsU2NvcGVJbmRleGVk
RGF0YWJhc2U6On5Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSgpID0gZGVmYXVsdDsK
IAogY29uc3QgY2hhciogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6OnN1cHBsZW1l
bnROYW1lKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgK
aW5kZXggYTYxYzI4M2EyNjViNTE1YmRlZmVjOWE5MTUxYzkzZTk5NmQ1N2NiYS4uZjIxNzkyNmFl
MDY5MTNhZGE4YzMwODNlNjFmYjJhY2VmZDgzNDFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKQEAgLTU1LDcgKzU1LDcgQEAgbmFtZXNwYWNlIElEQkNs
aWVudCB7CiAKIGNsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlIHsKIHB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSgpIHsgfQorICAgIHZp
cnR1YWwgfklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlKCkgPSBkZWZhdWx0OwogCiAgICAg
dmlydHVhbCB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJCYWNraW5nU3Rv
cmUuaAppbmRleCBmODhlZmEwMDI0ZTkzYzcyMTIzZGI4YzQ0NjM1MzE4MGQ3NmVlZmJkLi5kYzkx
ZjFlZjNmZjIxMmRlYTgyNDhiODBiOGI1NmM2MzgyMzc3MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFja2luZ1N0b3JlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkJhY2tpbmdTdG9yZS5o
CkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBJREJTZXJ2ZXIgewogCiBjbGFzcyBJREJCYWNr
aW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlciB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+SURC
QmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5JREJC
YWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcigpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFs
IHZvaWQgcHJlcGFyZUZvckFjY2Vzc1RvVGVtcG9yYXJ5RmlsZShjb25zdCBTdHJpbmcmIHBhdGgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzVG9UZW1wb3JhcnlGaWxlQ29tcGxldGUoY29u
c3QgU3RyaW5nJiBwYXRoKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xp
ZW50RGVsZWdhdGUuaAppbmRleCAxNmQ0MDA3ZGE2NzdhOGExYjFiNGQ4ZDJkNDdkMTJiOWYzOTEy
MzkyLi40Nzk3NDJhOWRhOTRlODU0OGQ3MmEyZDY0ZWI0ODU5NGZhYjVmYjQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRv
Q2xpZW50RGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaApAQCAtNDIsNyArNDIsNyBAQCBj
bGFzcyBVbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb247CiAKIGNsYXNzIElEQkNvbm5lY3Rpb25U
b0NsaWVudERlbGVnYXRlIHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5JREJDb25uZWN0aW9uVG9D
bGllbnREZWxlZ2F0ZSgpIHsgfQorICAgIHZpcnR1YWwgfklEQkNvbm5lY3Rpb25Ub0NsaWVudERl
bGVnYXRlKCkgPSBkZWZhdWx0OwogICAgIAogICAgIHZpcnR1YWwgdWludDY0X3QgaWRlbnRpZmll
cigpIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL01lbW9yeUlEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SURCQmFja2luZ1N0b3JlLmNwcAppbmRleCBj
NmFiYzhlYzU0ZWVlZGRiOTQzZGFhYTY4NzU0NmU3YjM4ZWU3YTcyLi5mN2Q2NjRmNDViYTA0NDIw
MTc1ZjE5MjA4MWMxMDM2YzlkYWIwNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SURCQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SURCQmFja2luZ1N0b3Jl
LmNwcApAQCAtNTYsOSArNTYsNyBAQCBNZW1vcnlJREJCYWNraW5nU3RvcmU6Ok1lbW9yeUlEQkJh
Y2tpbmdTdG9yZShjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImIGlkZW50aQogewogfQogCi1N
ZW1vcnlJREJCYWNraW5nU3RvcmU6On5NZW1vcnlJREJCYWNraW5nU3RvcmUoKQotewotfQorTWVt
b3J5SURCQmFja2luZ1N0b3JlOjp+TWVtb3J5SURCQmFja2luZ1N0b3JlKCkgPSBkZWZhdWx0Owog
CiBJREJFcnJvciBNZW1vcnlJREJCYWNraW5nU3RvcmU6OmdldE9yRXN0YWJsaXNoRGF0YWJhc2VJ
bmZvKElEQkRhdGFiYXNlSW5mbyYgaW5mbykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJbmRleC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SW5kZXguY3BwCmluZGV4IDhlM2JjMDEz
YjQ2YmIyZWI5M2M3Njc0MTBlMjU2MTMwYzU5YWQwMGQuLmQwODJiYzIzMmRiNzM2YjMzMDBkM2Yy
YTBkOTM2NjdmNDNkZWRhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9NZW1vcnlJbmRleC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUluZGV4LmNwcApAQCAtNTMsOSArNTMsNyBAQCBNZW1v
cnlJbmRleDo6TWVtb3J5SW5kZXgoY29uc3QgSURCSW5kZXhJbmZvJiBpbmZvLCBNZW1vcnlPYmpl
Y3RTdG9yZSYgb2JqZWN0U3RvcgogewogfQogCi1NZW1vcnlJbmRleDo6fk1lbW9yeUluZGV4KCkK
LXsKLX0KK01lbW9yeUluZGV4Ojp+TWVtb3J5SW5kZXgoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTWVt
b3J5SW5kZXg6OmN1cnNvckRpZEJlY29tZUNsZWFuKE1lbW9yeUluZGV4Q3Vyc29yJiBjdXJzb3Ip
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
TWVtb3J5SW5kZXhDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL01lbW9yeUluZGV4Q3Vyc29yLmNwcAppbmRleCA3MmI2ZWFiNTY3YmI3ZTE3YzgwMTQ3
ZmY1ZDNlOGRhMDMyY2I5NjYxLi44MWU5YWFhMmE1MmQ4NzBhYzdjZWQ0YjM1Yzg0Mjg2MTRhNzcz
ZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
TWVtb3J5SW5kZXhDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9NZW1vcnlJbmRleEN1cnNvci5jcHAKQEAgLTYyLDkgKzYyLDcgQEAgTWVtb3J5
SW5kZXhDdXJzb3I6Ok1lbW9yeUluZGV4Q3Vyc29yKE1lbW9yeUluZGV4JiBpbmRleCwgY29uc3Qg
SURCQ3Vyc29ySW5mbyYgaW4KICAgICAgICAgbV9jdXJyZW50SXRlcmF0b3IuaW52YWxpZGF0ZSgp
OwogfQogCi1NZW1vcnlJbmRleEN1cnNvcjo6fk1lbW9yeUluZGV4Q3Vyc29yKCkKLXsKLX0KK01l
bW9yeUluZGV4Q3Vyc29yOjp+TWVtb3J5SW5kZXhDdXJzb3IoKSA9IGRlZmF1bHQ7CiAKIHZvaWQg
TWVtb3J5SW5kZXhDdXJzb3I6OmN1cnJlbnREYXRhKElEQkdldFJlc3VsdCYgZ2V0UmVzdWx0KQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlh
Q29udHJvbHNIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9N
ZWRpYUNvbnRyb2xzSG9zdC5jcHAKaW5kZXggMThiODBjZGJiMTEzNzU3MTMxYTFkY2U5MGRjMTBh
NGY1NjAyMjEwNy4uNzQ4MWY2MDExMjA2ZTI5ZGU2ODViMzlkOWZlNWNiMzNhYmQ3YWIxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJv
bHNIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVk
aWFDb250cm9sc0hvc3QuY3BwCkBAIC04MCw5ICs4MCw3IEBAIE1lZGlhQ29udHJvbHNIb3N0OjpN
ZWRpYUNvbnRyb2xzSG9zdChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiAgICAgQVNT
RVJUKG1lZGlhRWxlbWVudCk7CiB9CiAKLU1lZGlhQ29udHJvbHNIb3N0Ojp+TWVkaWFDb250cm9s
c0hvc3QoKQotewotfQorTWVkaWFDb250cm9sc0hvc3Q6On5NZWRpYUNvbnRyb2xzSG9zdCgpID0g
ZGVmYXVsdDsKIAogVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PiBNZWRpYUNvbnRyb2xzSG9zdDo6
c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0JiB0cmFja0xpc3QpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVJlbW90ZUNv
bnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhUmVt
b3RlQ29udHJvbHMuY3BwCmluZGV4IDRhODI3NzViMDdkOTRmZDYzMDM1YmM3NWU3NTE0YzQ2NjE1
MmYzYTAuLjJlZDhiZmFmNTYzZjdmMTIxNWViNjg3MTA4MTA3ODJkMzJmNmYxNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhUmVtb3RlQ29udHJv
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhUmVt
b3RlQ29udHJvbHMuY3BwCkBAIC00Myw5ICs0Myw3IEBAIHZvaWQgTWVkaWFSZW1vdGVDb250cm9s
czo6Y2xlYXJTZXNzaW9uKCkKICAgICBtX3Nlc3Npb24gPSBudWxscHRyOwogfQogCi1NZWRpYVJl
bW90ZUNvbnRyb2xzOjp+TWVkaWFSZW1vdGVDb250cm9scygpCi17Ci19CitNZWRpYVJlbW90ZUNv
bnRyb2xzOjp+TWVkaWFSZW1vdGVDb250cm9scygpID0gZGVmYXVsdDsKIAogdm9pZCBNZWRpYVJl
bW90ZUNvbnRyb2xzOjpzZXRQcmV2aW91c1RyYWNrRW5hYmxlZChib29sIGlzRW5hYmxlZCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlh
U2Vzc2lvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24v
V2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggOWIwZWI5MjZkZTczNjVjYTgwZDE4NjA1
NzY1Y2FmNGI1NTU3ODZkYy4uNDIwOWZmYWVkODY5NjE4NmZiMTk5YzQ4OWMxZWY5YzZiYTFiMDEy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVk
aWFTZXNzaW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKQEAgLTEzMiw5ICsxMzIsNyBAQCBXZWJN
ZWRpYVNlc3Npb25NYW5hZ2VyOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyKCkKIHsKIH0KIAotV2Vi
TWVkaWFTZXNzaW9uTWFuYWdlcjo6fldlYk1lZGlhU2Vzc2lvbk1hbmFnZXIoKQotewotfQorV2Vi
TWVkaWFTZXNzaW9uTWFuYWdlcjo6fldlYk1lZGlhU2Vzc2lvbk1hbmFnZXIoKSA9IGRlZmF1bHQ7
CiAKIHVpbnQ2NF90IFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmFkZFBsYXliYWNrVGFyZ2V0UGlj
a2VyQ2xpZW50KFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwgdWludDY0X3Qg
Y29udGV4dElkKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudC5oCmluZGV4IDRk
YWQyMTE1MzI4MDZhZDUwNWFhYWQwYzRjODdlYTY0ZTkwZDg5ZDcuLmI3OGY5N2YyNDQ4MmM0MGU1
YTAyZjdmNWE5NjdlNDNiNjRiYThkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xp
ZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXZWJN
ZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyQ2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+V2ViTWVkaWFTZXNzaW9u
TWFuYWdlckNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQbGF5YmFj
a1RhcmdldCh1aW50NjRfdCwgUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UodWludDY0
X3QsIGJvb2wpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzRW51bWVyYXRpb25SZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzRW51bWVyYXRpb25SZXF1ZXN0LmNwcApp
bmRleCBkYjI4MTFiODliNGVkZThhMDBmYTkwYmM0NDY2YjJlMWM2ZDE5MTVjLi4wNTZkM2Y0NGJh
NDIyMzZiMmUzYTQ0ODhkMGFjY2ZjZjJmNTZmMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc0VudW1lcmF0aW9uUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNFbnVt
ZXJhdGlvblJlcXVlc3QuY3BwCkBAIC00OCw5ICs0OCw3IEBAIE1lZGlhRGV2aWNlc0VudW1lcmF0
aW9uUmVxdWVzdDo6TWVkaWFEZXZpY2VzRW51bWVyYXRpb25SZXF1ZXN0KFNjcmlwdEV4ZWN1dGlv
bkNvCiB7CiB9CiAKLU1lZGlhRGV2aWNlc0VudW1lcmF0aW9uUmVxdWVzdDo6fk1lZGlhRGV2aWNl
c0VudW1lcmF0aW9uUmVxdWVzdCgpCi17Ci19CitNZWRpYURldmljZXNFbnVtZXJhdGlvblJlcXVl
c3Q6On5NZWRpYURldmljZXNFbnVtZXJhdGlvblJlcXVlc3QoKSA9IGRlZmF1bHQ7CiAKIFNlY3Vy
aXR5T3JpZ2luKiBNZWRpYURldmljZXNFbnVtZXJhdGlvblJlcXVlc3Q6OnVzZXJNZWRpYURvY3Vt
ZW50T3JpZ2luKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uaAppbmRleCBlYzYyYjgxOWQ2NDg0YmFmZjVjYTUwOTgzNjYzZGMx
NGZlYzkxZGNkLi5mNjVkMDZkNjkwMDczNzAxODZkNzQ5NjRmZWVlYWFjMTI5ZTM4YjRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCkBA
IC01OSw3ICs1OSw3IEBAIGNsYXNzIE1lZGlhU3RyZWFtIGZpbmFsCiBwdWJsaWM6CiAgICAgY2xh
c3MgT2JzZXJ2ZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKSB7
IH0KKyAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaWRBZGRPclJlbW92ZVRyYWNrKCkgPSAwOwogICAgIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRXZlbnQuY3Bw
CmluZGV4IDA5NTg0YjJiYTYyMzA5MDg3OWY4YmU0YTdjYzk5NGM0ODBhNWRiYTkuLmMxY2UxOGJj
ZDljYjlmODNlMjU4NzlmNTZjZGVmZTY3MDAyNzUyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmNwcApAQCAtNTMs
OSArNTMsNyBAQCBNZWRpYVN0cmVhbUV2ZW50OjpNZWRpYVN0cmVhbUV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbAogewogfQogCi1NZWRpYVN0cmVhbUV2
ZW50Ojp+TWVkaWFTdHJlYW1FdmVudCgpCi17Ci19CitNZWRpYVN0cmVhbUV2ZW50Ojp+TWVkaWFT
dHJlYW1FdmVudCgpID0gZGVmYXVsdDsKIAogTWVkaWFTdHJlYW0qIE1lZGlhU3RyZWFtRXZlbnQ6
OnN0cmVhbSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IDc1MDk3M2UwZDNjNjIyMTZkZjdlZWRj
MWJiNDQyYjEwNjczODljNDMuLmVlNDQxNjJjMDkwYmI1OWZhYWVhNzBlMDEyMjY3MGY0ZjVkNDJk
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5oCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2sg
OgogcHVibGljOgogICAgIGNsYXNzIE9ic2VydmVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHZp
cnR1YWwgfk9ic2VydmVyKCkgeyB9CisgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCkgPSBkZWZh
dWx0OwogICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhY2tEaWRFbmQoKSA9IDA7CiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrRXZlbnQuY3BwCmluZGV4IGRlNDZlMGJjMmM1ZWIyMDRkNDdiMDY4Yzk3YTQ4
ZmNhNWFiZThmZTcuLmFiM2ZmODk0ZTQyMzk2MzdlYThjNjZlZmI5ZmUwMjU0NjI5ZjI4NzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFja0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2tFdmVudC5jcHAKQEAgLTUzLDkgKzUzLDcgQEAgTWVkaWFTdHJlYW1UcmFj
a0V2ZW50OjpNZWRpYVN0cmVhbVRyYWNrRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBj
b25zdCBJbmkKIHsKIH0KIAotTWVkaWFTdHJlYW1UcmFja0V2ZW50Ojp+TWVkaWFTdHJlYW1UcmFj
a0V2ZW50KCkKLXsKLX0KK01lZGlhU3RyZWFtVHJhY2tFdmVudDo6fk1lZGlhU3RyZWFtVHJhY2tF
dmVudCgpID0gZGVmYXVsdDsKIAogTWVkaWFTdHJlYW1UcmFjayogTWVkaWFTdHJlYW1UcmFja0V2
ZW50Ojp0cmFjaygpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5jcHAKaW5kZXggOGEwZjE2
YmE2OWQwMmE5MWY0NjZlNjU5ZDZlNjQyNTljYzZkMDhmNS4uMzQwMTVhZDc4NThmZjk2MTk2ZjJi
MTBhZWMzNTliZmFkM2E1ZjQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmNwcApAQCAtNDUsOSAr
NDUsNyBAQCBOYXZpZ2F0b3JNZWRpYURldmljZXM6Ok5hdmlnYXRvck1lZGlhRGV2aWNlcyhGcmFt
ZSogZnJhbWUpCiB7CiB9CiAKLU5hdmlnYXRvck1lZGlhRGV2aWNlczo6fk5hdmlnYXRvck1lZGlh
RGV2aWNlcygpCi17Ci19CitOYXZpZ2F0b3JNZWRpYURldmljZXM6On5OYXZpZ2F0b3JNZWRpYURl
dmljZXMoKSA9IGRlZmF1bHQ7CiAKIE5hdmlnYXRvck1lZGlhRGV2aWNlcyogTmF2aWdhdG9yTWVk
aWFEZXZpY2VzOjpmcm9tKE5hdmlnYXRvciogbmF2aWdhdG9yKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9PdmVyY29uc3RyYWluZWRFcnJvckV2ZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL092ZXJjb25zdHJhaW5lZEVy
cm9yRXZlbnQuaAppbmRleCA5YzRmMzk2NDA0YjhjODY1NGJkYTVlNzUxN2UxMjAwNDc2M2E4M2Vk
Li4zNzBiYTBhMzQyNDliY2Y0OWM4YWVkNzc0NWE1ZDc3NGY2ODgxMTc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL092ZXJjb25zdHJhaW5lZEVycm9yRXZl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL092ZXJjb25zdHJh
aW5lZEVycm9yRXZlbnQuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE92ZXJjb25zdHJhaW5lZEVycm9yRXZlbnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGlj
OgotICAgIHZpcnR1YWwgfk92ZXJjb25zdHJhaW5lZEVycm9yRXZlbnQoKSB7IH0KKyAgICB2aXJ0
dWFsIH5PdmVyY29uc3RyYWluZWRFcnJvckV2ZW50KCkgPSBkZWZhdWx0OwogCiAgICAgc3RhdGlj
IFJlZjxPdmVyY29uc3RyYWluZWRFcnJvckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBPdmVyY29uc3RyYWluZWRF
cnJvciogZXJyb3IpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKaW5kZXggNDY1ZGI4Njc4YmRi
MWJkN2M0MzRmY2RlMzNmNGU0Yzg1OGRhYjg2Ny4uZGY2NmY5MmQwOWQ5ZGYzMDU2YWM1NTBmMzE4
MmYwZmIwOWUzMTFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCkBAIC03NCw3ICs3NCw3IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQ3JlYXRlUGVlckNvbm5lY3Rpb25CYWNr
ZW5kIGNyZWF0ZTsKIAogICAgIGV4cGxpY2l0IFBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVy
Q29ubmVjdGlvbiYpOwotICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9uQmFja2VuZCgpIHsgfQor
ICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9uQmFja2VuZCgpID0gZGVmYXVsdDsKIAogICAgIHZv
aWQgY3JlYXRlT2ZmZXIoUlRDT2ZmZXJPcHRpb25zJiYsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9u
RGVzY3JpcHRpb25Qcm9taXNlJiYpOwogICAgIHZvaWQgY3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9w
dGlvbnMmJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5k
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVy
LmNwcAppbmRleCBiZjdkOGIwNzMyNTkwNDE5M2QzNWIzMDRlN2I5MjVkYzUwNTQzNTFhLi43OTRj
YThmNDkwNGRmYjY0ZGQ4NjdiY2M2ZjZkMTNjNzBiY2FmMTYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKQEAgLTUxLDkg
KzUxLDcgQEAgUlRDRFRNRlNlbmRlcjo6UlRDRFRNRlNlbmRlcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWZQdHI8TWVkaWFTdHJlYW0KIHsKIH0KIAotUlRDRFRNRlNlbmRlcjo6
flJUQ0RUTUZTZW5kZXIoKQotewotfQorUlRDRFRNRlNlbmRlcjo6flJUQ0RUTUZTZW5kZXIoKSA9
IGRlZmF1bHQ7CiAKIGJvb2wgUlRDRFRNRlNlbmRlcjo6Y2FuSW5zZXJ0RFRNRigpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZU
b25lQ2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAppbmRleCA4ZDczYzUwMmEwODQ2NTNjMzlkNTQ4ZWI5
ODQyMWQ0YzE3YTE4OWNkLi5kODRiMzU3MWYzZDQyODA4Y2ZkYTgwZjBiNzE4OWIzM2JhOTVjMmFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZU
b25lQ2hhbmdlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgUlRDRFRNRlRv
bmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVDaGFuZ2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGNvbnN0IEkKIHsKIH0KIAotUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6flJUQ0RUTUZU
b25lQ2hhbmdlRXZlbnQoKQotewotfQorUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6flJUQ0RUTUZU
b25lQ2hhbmdlRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IFN0cmluZyYgUlRDRFRNRlRvbmVD
aGFuZ2VFdmVudDo6dG9uZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaAppbmRleCA2MTM5ZjQ3OTMwMjQ1NGQy
MTdlMjEwZWIwOTliZjM4MjUwMjMyOTEyLi45NTI0YjQxMGQ0MmUzYTQ1MGZjNWEwYmE2ZDRjYTBk
YjEzODg5ZjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZVRyYW5zcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDSWNlVHJhbnNwb3J0LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNlVHJhbnNwb3J0KCkpOwogICAgIH0KLSAg
ICB2aXJ0dWFsIH5SVENJY2VUcmFuc3BvcnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5SVENJY2VUcmFu
c3BvcnQoKSA9IGRlZmF1bHQ7CiAKICAgICBSVENJY2VUcmFuc3BvcnRTdGF0ZSBzdGF0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHJhbnNwb3J0U3RhdGU7IH0KICAgICB2b2lkIHNldFN0YXRlKFJUQ0lj
ZVRyYW5zcG9ydFN0YXRlIHN0YXRlKSB7IG1fdHJhbnNwb3J0U3RhdGUgPSBzdGF0ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbkljZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb25JY2VFdmVudC5jcHAKaW5kZXggOGI0MDk1NTU0Y2NjOTUxNzgxNTY4YjAz
NGEyNGExMWExZjY1NTljNi4uZjJhZWRmZTk0YjYzOWUxYWZkNTFiNGFlMzEzNTFkZDUxMGMzZDFi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkljZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQuY3BwCkBAIC00Myw5ICs0Myw3IEBAIFJU
Q1BlZXJDb25uZWN0aW9uSWNlRXZlbnQ6OlJUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQoYm9vbCBj
YW5CdWJibGUsIGJvb2wgY2FuY2VsCiB7CiB9CiAKLVJUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQ6
On5SVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50KCkKLXsKLX0KK1JUQ1BlZXJDb25uZWN0aW9uSWNl
RXZlbnQ6On5SVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50KCkgPSBkZWZhdWx0OwogCiBSVENJY2VD
YW5kaWRhdGUqIFJUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQ6OmNhbmRpZGF0ZSgpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJl
Y2VpdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2Vp
dmVyLmgKaW5kZXggZDdmZTdhNjc1YjZkZTA0Yjc0OGE2NTJhNmRiYjJkMjk3NjE3ZmQ3OC4uMTRh
YjA2OTM0NzA5OWQ0YzhmMjYxYzg5NjIyOTBhYjcxN2EyYjJhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApAQCAtNDIsNyAr
NDIsNyBAQCBjbGFzcyBSVENSdHBSZWNlaXZlciA6IHB1YmxpYyBSVENSdHBTZW5kZXJSZWNlaXZl
ckJhc2UgewogcHVibGljOgogICAgIGNsYXNzIEJhY2tlbmQgewogICAgIHB1YmxpYzoKLSAgICAg
ICAgdmlydHVhbCB+QmFja2VuZCgpIHsgfQorICAgICAgICB2aXJ0dWFsIH5CYWNrZW5kKCkgPSBk
ZWZhdWx0OwogICAgICAgICB2aXJ0dWFsIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygp
IHsgcmV0dXJuIHsgfTsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCmluZGV4IDMwYTUxNWI4OWY2YmQxY2RkYTQ2YmNj
OTQxOGI0MDliOWRjZjI1MGQuLjMwZTk1OGI4ZjI0N2RhZTE3YTQ1YmE2ZGI0NmRhNzIxOWEwMWMz
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIHZvaWQgcmVwbGFjZVRyYWNrKFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJikgPSAwOwogICAgICAgICB2aXJ0
dWFsIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycyhSVENSdHBTZW5kZXImKSBjb25zdCA9
IDA7Ci0gICAgICAgIHZpcnR1YWwgfkJhY2tlbmQoKSB7IH0KKyAgICAgICAgdmlydHVhbCB+QmFj
a2VuZCgpID0gZGVmYXVsdDsKICAgICB9OwogCiAgICAgc3RhdGljIFJlZjxSVENSdHBTZW5kZXI+
IGNyZWF0ZShSZWY8TWVkaWFTdHJlYW1UcmFjaz4mJiwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0
cmVhbUlkcywgQmFja2VuZCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5oCmluZGV4IDM3MzdlNDc5Y2Y3MTg0MGU0OWJi
ZTBjMDk3YTE3MmFjYTEzMjhkNjAuLjFhMWNhYzkyYWE4NDhhNTQzMWQ1YTk4Mjg2Y2M0NmZiMDcz
MmU2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNjZWl2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFRyYW5zY2VpdmVyLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgUlRDUnRwVHJhbnNjZWl2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENSdHBUcmFu
c2NlaXZlcj4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8UlRDUnRwVHJhbnNjZWl2ZXI+IGNyZWF0ZShSZWY8UlRDUnRwU2VuZGVyPiYmIHNlbmRlciwg
UmVmPFJUQ1J0cFJlY2VpdmVyPiYmIHJlY2VpdmVyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFJU
Q1J0cFRyYW5zY2VpdmVyKFdURk1vdmUoc2VuZGVyKSwgV1RGTW92ZShyZWNlaXZlcikpKTsgfQot
ICAgIHZpcnR1YWwgflJUQ1J0cFRyYW5zY2VpdmVyKCkgeyB9CisgICAgdmlydHVhbCB+UlRDUnRw
VHJhbnNjZWl2ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICBib29sIGhhc1NlbmRpbmdEaXJlY3Rpb24o
KSBjb25zdDsKICAgICB2b2lkIGVuYWJsZVNlbmRpbmdEaXJlY3Rpb24oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNsaWVudC5oCmluZGV4
IGY4NjI3YWNlYzVhMWQ4NzY4M2I0MWQ1NDNlMzNhMWVmZDYwMmUyYjkuLjNlM2FkZTFhOGMyYmQ1
ZWE3MGMwMjc2MzJkNzYwZTNhMDE3MzdkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDbGllbnQuaApAQCAtNTAsNyArNTAsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbE1lZGlhRGV2aWNlc0VudW1lcmF0aW9uUmVx
dWVzdChNZWRpYURldmljZXNFbnVtZXJhdGlvblJlcXVlc3QmKSA9IDA7CiAKIHByb3RlY3RlZDoK
LSAgICB2aXJ0dWFsIH5Vc2VyTWVkaWFDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5Vc2VyTWVk
aWFDbGllbnQoKSA9IGRlZmF1bHQ7CiB9OwogCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb3ZpZGVV
c2VyTWVkaWFUbyhQYWdlKiwgVXNlck1lZGlhQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRleCBk
MmE4MjJiNGJlZDY2YTJmYzcwZDE2MmVkZjhhNTY1ZTc3Yjg3NjUxLi43N2E4NjBlY2U1YzkwZDFk
NWYwZDdjZTIxY2I1ZTYxODhlYWY0NzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTc0LDkgKzc0LDcg
QEAgVXNlck1lZGlhUmVxdWVzdDo6VXNlck1lZGlhUmVxdWVzdChEb2N1bWVudCYgZG9jdW1lbnQs
IFVzZXJNZWRpYUNvbnRyb2xsZXImIGNvbnQKIHsKIH0KIAotVXNlck1lZGlhUmVxdWVzdDo6flVz
ZXJNZWRpYVJlcXVlc3QoKQotewotfQorVXNlck1lZGlhUmVxdWVzdDo6flVzZXJNZWRpYVJlcXVl
c3QoKSA9IGRlZmF1bHQ7CiAKIFNlY3VyaXR5T3JpZ2luKiBVc2VyTWVkaWFSZXF1ZXN0Ojp1c2Vy
TWVkaWFEb2N1bWVudE9yaWdpbigpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENN
ZWRpYUVuZHBvaW50LmgKaW5kZXggNDdjMjY1M2RiY2FmNDQ5NjFkNjY4NDI5MjEwYWZmZWI1MjY2
ODU5Yy4uYjc0N2QyMDhmMGQxMTgxYWY2ZmRmNDk1ZjQ5ZGQ0ZWI2ODQ5MTEyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaApAQCAtNjcsNyArNjcsNyBAQCBjbGFz
cyBMaWJXZWJSVENNZWRpYUVuZHBvaW50CiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxMaWJX
ZWJSVENNZWRpYUVuZHBvaW50PiBjcmVhdGUoTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
JiBwZWVyQ29ubmVjdGlvbiwgTGliV2ViUlRDUHJvdmlkZXImIGNsaWVudCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBMaWJXZWJSVENNZWRpYUVuZHBvaW50KHBlZXJDb25uZWN0aW9uLCBjbGllbnQp
KTsgfQotICAgIHZpcnR1YWwgfkxpYldlYlJUQ01lZGlhRW5kcG9pbnQoKSB7IH0KKyAgICB2aXJ0
dWFsIH5MaWJXZWJSVENNZWRpYUVuZHBvaW50KCkgPSBkZWZhdWx0OwogCiAgICAgYm9vbCBzZXRD
b25maWd1cmF0aW9uKExpYldlYlJUQ1Byb3ZpZGVyJiwgd2VicnRjOjpQZWVyQ29ubmVjdGlvbklu
dGVyZmFjZTo6UlRDQ29uZmlndXJhdGlvbiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25C
YWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXggMThmNGY1NmVlNGU0OGU2
MzZkZWYyZDgzZGE2NjA1ZmQ1NzI1YTY5OS4uMDUzMjU2NTA4MmEwMzljMTMwNmIyYjcwOGVjYjc5
NjgxNWE4NzgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29u
bmVjdGlvbkJhY2tlbmQuY3BwCkBAIC02NSw5ICs2NSw3IEBAIExpYldlYlJUQ1BlZXJDb25uZWN0
aW9uQmFja2VuZDo6TGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kKFJUQ1BlZXJDb25uZWN0
aW9uCiB7CiB9CiAKLUxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZDo6fkxpYldlYlJUQ1Bl
ZXJDb25uZWN0aW9uQmFja2VuZCgpCi17Ci19CitMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ6On5MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9IGRlZmF1bHQ7CiAKIHN0YXRp
YyBpbmxpbmUgd2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZTo6QnVuZGxlUG9saWN5IGJ1
bmRsZVBvbGljeWZyb21Db25maWd1cmF0aW9uKGNvbnN0IE1lZGlhRW5kcG9pbnRDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRV
dGlscy5jcHAKaW5kZXggOWI0MTZhYjg1ZWI3NDhhMTYzNzM3YzJmNDY5YTkxMDFlMzE2OGUyOC4u
NDcxNjM5YmE4ZDAzZDA5YTA4NWIxMGNkZWU2ZmE0YTU4YWIyM2I3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVu
dFV0aWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1
dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwCkBAIC05Miw5ICs5Miw3IEBAIE5hdmlnYXRv
ckNvbnRlbnRVdGlscyogTmF2aWdhdG9yQ29udGVudFV0aWxzOjpmcm9tKFBhZ2UqIHBhZ2UpCiAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PE5hdmlnYXRvckNvbnRlbnRVdGlscyo+KFN1cHBsZW1lbnQ8
UGFnZT46OmZyb20ocGFnZSwgc3VwcGxlbWVudE5hbWUoKSkpOwogfQogCi1OYXZpZ2F0b3JDb250
ZW50VXRpbHM6On5OYXZpZ2F0b3JDb250ZW50VXRpbHMoKQotewotfQorTmF2aWdhdG9yQ29udGVu
dFV0aWxzOjp+TmF2aWdhdG9yQ29udGVudFV0aWxzKCkgPSBkZWZhdWx0OwogCiBFeGNlcHRpb25P
cjx2b2lkPiBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKE5h
dmlnYXRvciYgbmF2aWdhdG9yLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRv
ckNvbnRlbnRVdGlsc0NsaWVudC5oCmluZGV4IGI3MGU4OTZkYjczZGEyODM3ZTM3ZTE5Njk0Zjgx
MGNlZDhmNGJiOWYuLmI2MmQ5YWZhOGVhZTViNGY2ZmUzNGI0YzU4Y2RiNGZkY2NkNjVhMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oCkBAIC0z
Niw3ICszNiw3IEBAIGNsYXNzIFBhZ2U7CiAKIGNsYXNzIE5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
KCkgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KCkgPSBkZWZh
dWx0OwogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJp
bmcmIHNjaGVtZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IHRpdGxlKSA9IDA7CiAKICNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cAppbmRleCBmNDM5NDMxOGViMWZkN2NmMDg3ZDliM2NiMDhjNzFiOWY5YmQ3OTExLi4zODBmZDlk
ZTZlMTE1ZmE2ZDZmMzBhNzJiODdkNzMwMTYxOWQxZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzEsOSAr
NzEsNyBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IE9wdGlvbgogICAgIG1fdGFza1RpbWVyLT5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAotTm90aWZpY2F0aW9uOjp+Tm90aWZpY2F0aW9uKCkgCi17Ci19CitO
b3RpZmljYXRpb246On5Ob3RpZmljYXRpb24oKSAgPSBkZWZhdWx0OwogCiB2b2lkIE5vdGlmaWNh
dGlvbjo6c2hvdygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5kZXggNmI5YTk0M2U2MGYzNTE2YThj
NDcxMDkwZWNmZjkxNTM2NGQ5YWIyNi4uMGE0ZDZiOGY1YTJiMjdmNjI3ODI1NTIzM2MxMmNhODRj
MGJlNWYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KikgPSAwOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uQ2xpZW50
KCkgeyB9CisgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsK
IAogV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm92aWRlTm90aWZpY2F0aW9uKFBhZ2UqLCBOb3RpZmlj
YXRpb25DbGllbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCmluZGV4
IGE5YWZmN2RkNzdjNzgwY2VmZGRiYWFmMWU2NGU1Y2FlOTUyM2YyZmQuLmM5OTc5ZmFlMDRhZDM1
YzE0NTQ5NzAyOTAxNjAzMzkxMzBhZTIzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0
ZUV2ZW50LmNwcApAQCAtMzAsOSArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQ6On5QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50KCkKLXsK
LX0KK1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQ6On5QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50
KCkgPSBkZWZhdWx0OwogCiB2b2lkIFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQ6OnVwZGF0ZVdp
dGgoSlNDOjpKU1Byb21pc2UqKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wbHVnaW5zL1BsdWdpblJlcGxhY2VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bs
dWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAppbmRleCBiNTRjNjZiMGZkYWE3MzU3NWIyNmYwNjcz
MTI2NjYxZGI1NzM4NGRjLi42YjU1NDJlMDg5MDA3ZDlhNDk3MDRmMmZiM2NmNDM5OGEwZmI0ZTBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFj
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFj
ZW1lbnQuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFzcyBVUkw7CiAKIGNsYXNzIFBsdWdpblJlcGxh
Y2VtZW50IDogcHVibGljIFJlZkNvdW50ZWQ8UGx1Z2luUmVwbGFjZW1lbnQ+IHsKIHB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5QbHVnaW5SZXBsYWNlbWVudCgpIHsgfQorICAgIHZpcnR1YWwgflBsdWdp
blJlcGxhY2VtZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIGluc3RhbGxSZXBs
YWNlbWVudChTaGFkb3dSb290JikgPSAwOwogICAgIHZpcnR1YWwgSlNDOjpKU09iamVjdCogc2Ny
aXB0T2JqZWN0KCkgeyByZXR1cm4gbnVsbHB0cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcAppbmRleCBlYzdhMWIxMmViZDk5ZDQyYjEwOTZi
YjIwOWVhYTgxOWEyMzAyMTRmLi5hNjQyZDg5MjMxZjliMTk0MmM4MTg0OTc5YWU5MmY0YTYyYzdm
NjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1
b3RhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3Rh
LmNwcApAQCAtNDUsOSArNDUsNyBAQCBET01XaW5kb3dRdW90YTo6RE9NV2luZG93UXVvdGEoRE9N
V2luZG93KiB3aW5kb3cpCiB7CiB9CiAKLURPTVdpbmRvd1F1b3RhOjp+RE9NV2luZG93UXVvdGEo
KQotewotfQorRE9NV2luZG93UXVvdGE6On5ET01XaW5kb3dRdW90YSgpID0gZGVmYXVsdDsKIAog
Y29uc3QgY2hhciogRE9NV2luZG93UXVvdGE6OnN1cHBsZW1lbnROYW1lKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvTmF2aWdhdG9yU3RvcmFnZVF1b3RhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvTmF2aWdhdG9yU3RvcmFnZVF1b3RhLmNw
cAppbmRleCAwZDg2ZmU3MjkyNWRlYWM0ZWRlYmIzOTFmNmZhZTc1M2QxZDI5YjdlLi4zOTU3MWM5
NzY5ZjdkNWMyMTAzZDIyNTMxZjFjY2ExM2EwYTE1YjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL05hdmlnYXRvclN0b3JhZ2VRdW90YS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9xdW90YS9OYXZpZ2F0b3JTdG9yYWdlUXVvdGEuY3BwCkBAIC00NCw5
ICs0NCw3IEBAIE5hdmlnYXRvclN0b3JhZ2VRdW90YTo6TmF2aWdhdG9yU3RvcmFnZVF1b3RhKEZy
YW1lKiBmcmFtZSkKIHsKIH0KIAotTmF2aWdhdG9yU3RvcmFnZVF1b3RhOjp+TmF2aWdhdG9yU3Rv
cmFnZVF1b3RhKCkKLXsKLX0KK05hdmlnYXRvclN0b3JhZ2VRdW90YTo6fk5hdmlnYXRvclN0b3Jh
Z2VRdW90YSgpID0gZGVmYXVsdDsKIAogY29uc3QgY2hhciogTmF2aWdhdG9yU3RvcmFnZVF1b3Rh
OjpzdXBwbGVtZW50TmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3F1b3RhL1N0b3JhZ2VFcnJvckNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VFcnJvckNhbGxiYWNrLmgKaW5kZXggZGViMDg5N2RlNTRjYzJkM2M0MmQ1YjI5
MzA4OWYzMWYwZjRiMTJiMy4uMGJjM2RmNjhiMGU3NWQ0ZjQ2YTc2ZWM5ZThjYzcwMDFjNzUxNDhh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlRXJyb3JD
YWxsYmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9y
Q2FsbGJhY2suaApAQCAtNDMsNyArNDMsNyBAQCB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwog
CiBjbGFzcyBTdG9yYWdlRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFN0b3JhZ2VF
cnJvckNhbGxiYWNrPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U3RvcmFnZUVycm9yQ2FsbGJh
Y2soKSB7IH0KKyAgICB2aXJ0dWFsIH5TdG9yYWdlRXJyb3JDYWxsYmFjaygpID0gZGVmYXVsdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoRE9NRXhjZXB0aW9uKikgPSAwOwogCiAgICAg
Y2xhc3MgQ2FsbGJhY2tUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmNwcAppbmRleCA5
ZmMyOTk0YmRhODI3MTI1MmJkNzIxMmYwMjQyNzY2NTczNTkyZmE4Li41MTlmMDkxZGMwYTFkZDMz
NDYzMTJhYjZiM2FlMDk3ZWIwNWU2ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VJbmZvLmNwcApAQCAtNDMsMTMgKzQzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1TdG9yYWdlSW5mbzo6U3RvcmFnZUluZm8oKQotewotfQorU3RvcmFnZUluZm86OlN0
b3JhZ2VJbmZvKCkgPSBkZWZhdWx0OwogCi1TdG9yYWdlSW5mbzo6flN0b3JhZ2VJbmZvKCkKLXsK
LX0KK1N0b3JhZ2VJbmZvOjp+U3RvcmFnZUluZm8oKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU3RvcmFn
ZUluZm86OnF1ZXJ5VXNhZ2VBbmRRdW90YShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBpbnQgc3RvcmFnZVR5cGUsIFJlZlB0cjxTdG9yYWdlVXNhZ2VDYWxs
YmFjaz4mJiBzdWNjZXNzQ2FsbGJhY2ssIFJlZlB0cjxTdG9yYWdlRXJyb3JDYWxsYmFjaz4mJiBl
cnJvckNhbGxiYWNrKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90
YS9TdG9yYWdlUXVvdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuY3BwCmluZGV4IDliNDIzYzViOGRhMzk2ZTgwZjliMmQ5N2JlYjNlNDA4YzRmMWRhNGEu
LjhhNzA5ZjUxMGM0NTJkOWZkMTNmYWU4NjY3YTRiMGRiNTkyYjFmYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5jcHAKQEAgLTQxLDkgKzQxLDcgQEAg
U3RvcmFnZVF1b3RhOjpTdG9yYWdlUXVvdGEoVHlwZSB0eXBlKQogewogfQogCi1TdG9yYWdlUXVv
dGE6On5TdG9yYWdlUXVvdGEoKQotewotfQorU3RvcmFnZVF1b3RhOjp+U3RvcmFnZVF1b3RhKCkg
PSBkZWZhdWx0OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhQ2FsbGJhY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhQ2FsbGJhY2suaAppbmRleCBkY2Q3MzRj
N2I2MDIzZDI2NDBiZjU3NTczMmI3ZDE2ZjM0N2UzMTg3Li4xOGZlZjczMzdkMDAyZTQ0M2U3ODU0
MDQ2NjUzYjg0YmIwNmY5OWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VRdW90YUNhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9x
dW90YS9TdG9yYWdlUXVvdGFDYWxsYmFjay5oCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU3RvcmFnZVF1b3RhQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTdG9yYWdlUXVvdGFDYWxsYmFjaz4gewogcHVibGljOgotICAgIHZpcnR1YWwgflN0b3JhZ2VR
dW90YUNhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCB+U3RvcmFnZVF1b3RhQ2FsbGJhY2soKSA9
IGRlZmF1bHQ7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KHVuc2lnbmVkIGxvbmcgbG9u
ZyBncmFudGVkUXVvdGFJbkJ5dGVzKSA9IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmgKaW5kZXggYzQyNGRkNjE5Yzk1
OTYwN2RmMzA4NDUxNzU2MDg1MTY0NzE0NWRkNS4uYTI2NDEwZmNmNzAwZWZkNDQ2YzdhMWMxNjk2
NTA0OWRiMGQzNmM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9T
dG9yYWdlVXNhZ2VDYWxsYmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEv
U3RvcmFnZVVzYWdlQ2FsbGJhY2suaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFN0b3JhZ2VVc2FnZUNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8U3Rv
cmFnZVVzYWdlQ2FsbGJhY2s+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5TdG9yYWdlVXNhZ2VD
YWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgflN0b3JhZ2VVc2FnZUNhbGxiYWNrKCkgPSBkZWZh
dWx0OwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudCh1bnNpZ25lZCBsb25nIGxvbmcgY3Vy
cmVudFVzYWdlSW5CeXRlcywgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRRdW90YUluQnl0ZXMp
ID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvV29y
a2VyTmF2aWdhdG9yU3RvcmFnZVF1b3RhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVv
dGEvV29ya2VyTmF2aWdhdG9yU3RvcmFnZVF1b3RhLmNwcAppbmRleCBmZDVlZjRkMTdhZjFmZWEw
Nzk5YjU3NDIyMWM0Y2RiNGExNTUxYzQ3Li45NWMzZTQzNjQ3MzE2MmE1MGQ2MWI1Y2U3NTE2NWVl
NjhiMjFiNzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1dvcmtl
ck5hdmlnYXRvclN0b3JhZ2VRdW90YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9x
dW90YS9Xb3JrZXJOYXZpZ2F0b3JTdG9yYWdlUXVvdGEuY3BwCkBAIC0zOCwxMyArMzgsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdvcmtlck5hdmlnYXRvclN0b3JhZ2VRdW90YTo6V29y
a2VyTmF2aWdhdG9yU3RvcmFnZVF1b3RhKCkKLXsKLX0KK1dvcmtlck5hdmlnYXRvclN0b3JhZ2VR
dW90YTo6V29ya2VyTmF2aWdhdG9yU3RvcmFnZVF1b3RhKCkgPSBkZWZhdWx0OwogCi1Xb3JrZXJO
YXZpZ2F0b3JTdG9yYWdlUXVvdGE6On5Xb3JrZXJOYXZpZ2F0b3JTdG9yYWdlUXVvdGEoKQotewot
fQorV29ya2VyTmF2aWdhdG9yU3RvcmFnZVF1b3RhOjp+V29ya2VyTmF2aWdhdG9yU3RvcmFnZVF1
b3RhKCkgPSBkZWZhdWx0OwogCiBjb25zdCBjaGFyKiBXb3JrZXJOYXZpZ2F0b3JTdG9yYWdlUXVv
dGE6OnN1cHBsZW1lbnROYW1lKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3BlZWNoL0RPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9ET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3BwCmluZGV4IDVlZjg3MjM0
YTE1YTE5YzlhOGNmMWJiYTBkZmE2NjYxMzIwNjBiYmMuLmI2NTUzYjllZDQzYmZkZGM5Y2ZmMjk1
NDZmNDVhMTI2OGFmNjFlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL0RPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmNwcApAQCAtNDIsOSArNDIsNyBA
QCBET01XaW5kb3dTcGVlY2hTeW50aGVzaXM6OkRPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcyhET01X
aW5kb3cqIHdpbmRvdykKIHsKIH0KIAotRE9NV2luZG93U3BlZWNoU3ludGhlc2lzOjp+RE9NV2lu
ZG93U3BlZWNoU3ludGhlc2lzKCkKLXsKLX0KK0RPTVdpbmRvd1NwZWVjaFN5bnRoZXNpczo6fkRP
TVdpbmRvd1NwZWVjaFN5bnRoZXNpcygpID0gZGVmYXVsdDsKIAogY29uc3QgY2hhciogRE9NV2lu
ZG93U3BlZWNoU3ludGhlc2lzOjpzdXBwbGVtZW50TmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaAppbmRleCA3ZmFk
ZTBkMWQxZDA1YzU4OTk0MjlkMTRlZDljYTdmNzdmZWNiNWZjLi4zN2FhNTlmNzIwZTgzNGI0NzQ1
MDI4M2VhMGRmNWQzZGQ4YWM0NGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBTcGVlY2hTeW50aGVzaXNWb2ljZSA6IHB1YmxpYyBSZWZD
b3VudGVkPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U3Bl
ZWNoU3ludGhlc2lzVm9pY2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5TcGVlY2hTeW50aGVzaXNWb2lj
ZSgpID0gZGVmYXVsdDsKICAgICBzdGF0aWMgUmVmPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBjcmVh
dGUoUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZSYpOwogCiAgICAgY29uc3QgU3RyaW5nJiB2
b2ljZVVSSSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1Wb2ljZS0+dm9pY2VVUkkoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1T
b3VyY2UuaAppbmRleCA0MTAzYWM4Mjk1MDc2ZTk0OGVjM2M3M2FhYmQyZjVhYTJkODhmMmFkLi4z
ZDAzOTExM2NiOTNjODRjMmQ2Yjk2YmVmNjMyODc2ZTAyYjZmNjBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaApAQCAt
MzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlYWRhYmxlU3RyZWFt
U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVhZGFibGVTdHJlYW1Tb3VyY2U+IHsKIHB1Ymxp
YzoKLSAgICB2aXJ0dWFsIH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpIHsgfQorICAgIHZpcnR1YWwg
flJlYWRhYmxlU3RyZWFtU291cmNlKCkgPSBkZWZhdWx0OwogCiAgICAgdm9pZCBzdGFydChSZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
KTsKICAgICB2b2lkIHB1bGwoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50
LmNwcAppbmRleCAyNTcyNTA3MTBjZTU0N2UyNWQ0NTE3MzQ1ZWQ1NTAzNjJhMmJiNDkyLi43MjVj
ZGU2ZmJjMWFiZDI3NDg0Nzc4MjViNjZlNWY0ODM5NWFlZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcApA
QCAtMzMsOSArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudCgpCi17Ci19CitBdWRpb1Byb2Nlc3NpbmdFdmVu
dDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChSZWZQdHI8QXVkaW9CdWZmZXI+JiYgaW5wdXRCdWZm
ZXIsIFJlZlB0cjxBdWRpb0J1ZmZlcj4mJiBvdXRwdXRCdWZmZXIsIGRvdWJsZSBwbGF5YmFja1Rp
bWUpCiAgICAgOiBFdmVudChldmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZlbnQsIHRydWUsIGZh
bHNlKQpAQCAtNDUsOSArNDMsNyBAQCBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNz
aW5nRXZlbnQoUmVmUHRyPEF1ZGlvQnVmZmVyPiYmIGlucHV0QnVmZmVyLCBSZQogewogfQogCi1B
dWRpb1Byb2Nlc3NpbmdFdmVudDo6fkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCkKLXsKLX0KK0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50Ojp+QXVkaW9Qcm9jZXNzaW5nRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIEV2
ZW50SW50ZXJmYWNlIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZS5oCmluZGV4IDc1Mzg3Nzg4ZjFlNGY4YWIxZGVmMDg1NmVkOTZlNDc3
YjQyYWZlMzAuLjE4Yjk2ZTZiMmViZWUyOTA1ZTA3Yzg2MWVmZDVmZTkyNmYzYTg5NWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZS5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2UgZmluYWwgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZSB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlPiBjcmVhdGUoKTsKIAotICAgIH5NZWRpYVN0
cmVhbUF1ZGlvU291cmNlKCkgeyB9CisgICAgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UoKSA9IGRl
ZmF1bHQ7CiAKICAgICBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBjYXBh
YmlsaXRpZXMoKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0
dGluZ3MmIHNldHRpbmdzKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5j
cHAKaW5kZXggZjU2YWU1MWFhYTEwMDlkMDRlMjUxM2QwOWJmMWE1MjU2MzI0ZGVlMS4uZWFmNjM1
ZGJmOTVlNzgwNjVhNzc4ZjBkZGNhOGYyYzJlZDZkNDJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlv
bkV2ZW50LmNwcApAQCAtNDQsOSArNDQsNyBAQCBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ6
Ok9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudChSZWZQdHI8QXVkaW9CdWZmZXI+JiYgcgogewog
fQogCi1PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ6On5PZmZsaW5lQXVkaW9Db21wbGV0aW9u
RXZlbnQoKQotewotfQorT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Ojp+T2ZmbGluZUF1ZGlv
Q29tcGxldGlvbkV2ZW50KCkgPSBkZWZhdWx0OwogCiBFdmVudEludGVyZmFjZSBPZmZsaW5lQXVk
aW9Db21wbGV0aW9uRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3BwCmluZGV4
IDAzNWRjMmIyMGFkMWFkZDZiMmZjNzZkMzljNjRhNjQwMDk4NDliNDUuLmQyNjU3MzkyOWI1N2Rj
ZTg1ODQ5YTc1MTE2YTNiYjgxMjJhYzgyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcApAQCAtNjIsOSArNjIsNyBAQCBS
ZWFsdGltZUFuYWx5c2VyOjpSZWFsdGltZUFuYWx5c2VyKCkKICAgICBtX2FuYWx5c2lzRnJhbWUg
PSBzdGQ6Om1ha2VfdW5pcXVlPEZGVEZyYW1lPihEZWZhdWx0RkZUU2l6ZSk7CiB9CiAKLVJlYWx0
aW1lQW5hbHlzZXI6On5SZWFsdGltZUFuYWx5c2VyKCkKLXsKLX0KK1JlYWx0aW1lQW5hbHlzZXI6
On5SZWFsdGltZUFuYWx5c2VyKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlYWx0aW1lQW5hbHlzZXI6
OnJlc2V0KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VNYW5hZ2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlTWFuYWdlckNsaWVudC5oCmluZGV4IGFmZDU2OGZmNGZkZjRjYjM3OTJm
ODA0Zjk2ZmI4OTdlMzVhNjc4N2IuLmY5NGM3YWY1NTRiNzRjYzg2Y2RjOGZmZDNiM2E3MzQxNWNj
MTUwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VNYW5hZ2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZU1hbmFnZXJDbGllbnQuaApAQCAtMzMsNyArMzMsNyBAQCBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5EYXRhOwogCiBjbGFzcyBEYXRhYmFzZU1hbmFnZXJDbGllbnQgewogcHVibGlj
OgotICAgIHZpcnR1YWwgfkRhdGFiYXNlTWFuYWdlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwg
fkRhdGFiYXNlTWFuYWdlckNsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hEaWRNb2RpZnlPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZE1vZGlmeURhdGFiYXNlKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKSA9IDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxvY2suY3BwCmluZGV4IDZmMDg4
MzczYjE4MGQzYzYzNjQ2YWMxYmExOGJjM2QyODhmYzdhMzYuLjUxNmEyZDJmMjY0MTZiNDhmY2U2
YTA0YzNiYmY3YWFlNDJhMjc2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvT3JpZ2luTG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmNwcApAQCAtNDMsOSArNDMsNyBAQCBPcmlnaW5Mb2NrOjpP
cmlnaW5Mb2NrKFN0cmluZyBvcmlnaW5QYXRoKQogewogfQogCi1PcmlnaW5Mb2NrOjp+T3JpZ2lu
TG9jaygpCi17Ci19CitPcmlnaW5Mb2NrOjp+T3JpZ2luTG9jaygpID0gZGVmYXVsdDsKIAogdm9p
ZCBPcmlnaW5Mb2NrOjpsb2NrKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50LmNwcAppbmRleCBlMjQzZjhlMjdjZTIxZDgxNjhiMzE1
ZGM4ZDcyMGExMjNmZjlmNzZjLi4wOTFhMzBhMjZmNTE5YmRjNjgzOWQwYmM2N2YwNTg2NjNiNjc0
YWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0
YXRlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxT
dGF0ZW1lbnQuY3BwCkBAIC04Myw5ICs4Myw3IEBAIFNRTFN0YXRlbWVudDo6U1FMU3RhdGVtZW50
KERhdGFiYXNlJiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIFZlY3RvcjxTCiB7
CiB9CiAKLVNRTFN0YXRlbWVudDo6flNRTFN0YXRlbWVudCgpCi17Ci19CitTUUxTdGF0ZW1lbnQ6
On5TUUxTdGF0ZW1lbnQoKSA9IGRlZmF1bHQ7CiAKIFNRTEVycm9yKiBTUUxTdGF0ZW1lbnQ6OnNx
bEVycm9yKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5jcHAKaW5kZXggZjAyMTYyMDVhY2IyMTM4ZWQwMTAyYjNk
N2JmZmUwYTIzZDVkMzNhNC4uMTcxZTBkYjc4MWFjZTlmYzVlNzU0N2JlMTNiN2ZlNGIzNzY3MGI5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFu
c2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxU
cmFuc2FjdGlvbi5jcHAKQEAgLTY4LDkgKzY4LDcgQEAgU1FMVHJhbnNhY3Rpb246OlNRTFRyYW5z
YWN0aW9uKFJlZjxEYXRhYmFzZT4mJiBkYXRhYmFzZSwgUmVmUHRyPFNRTFRyYW5zYWN0aW9uQ2EK
IHsKIH0KIAotU1FMVHJhbnNhY3Rpb246On5TUUxUcmFuc2FjdGlvbigpCi17Ci19CitTUUxUcmFu
c2FjdGlvbjo6flNRTFRyYW5zYWN0aW9uKCkgPSBkZWZhdWx0OwogCiBFeGNlcHRpb25Pcjx2b2lk
PiBTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNxbChjb25zdCBTdHJpbmcmIHNxbFN0YXRlbWVudCwg
c3RkOjpvcHRpb25hbDxWZWN0b3I8U1FMVmFsdWU+PiYmIGFyZ3VtZW50cywgUmVmUHRyPFNRTFN0
YXRlbWVudENhbGxiYWNrPiYmIGNhbGxiYWNrLCBSZWZQdHI8U1FMU3RhdGVtZW50RXJyb3JDYWxs
YmFjaz4mJiBjYWxsYmFja0Vycm9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCmluZGV4IDY3YjU1NDBkODk5NTQ3NWMzOTdi
OGIyMmFmMTIwYWZmOWRhYzc2MGUuLmZkMjNkODczMmI1MzhhNTRkNmI4ZWJlOThlZTUyMTAxYTY0
Njg3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NR
TFRyYW5zYWN0aW9uLmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgVm9pZENhbGxiYWNrOwogCiBj
bGFzcyBTUUxUcmFuc2FjdGlvbldyYXBwZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
U1FMVHJhbnNhY3Rpb25XcmFwcGVyPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U1FMVHJhbnNh
Y3Rpb25XcmFwcGVyKCkgeyB9CisgICAgdmlydHVhbCB+U1FMVHJhbnNhY3Rpb25XcmFwcGVyKCkg
PSBkZWZhdWx0OwogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtUHJlZmxpZ2h0KFNRTFRyYW5zYWN0
aW9uJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtUG9zdGZsaWdodChTUUxUcmFuc2Fj
dGlvbiYpID0gMDsKICAgICB2aXJ0dWFsIFNRTEVycm9yKiBzcWxFcnJvcigpIGNvbnN0ID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNh
Y3Rpb25TdGF0ZU1hY2hpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
U1FMVHJhbnNhY3Rpb25TdGF0ZU1hY2hpbmUuaAppbmRleCBiNmI3ODA2YTNjNTZmZmQwZGFjZTU2
YjdhOWZjNDYzNDZiZDQyMzFlLi4yZWY1MTZiNmQ1YzM2ZDVjOTA5NWZlMGQ2NGM2NTZhNDY4NGVl
NWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRy
YW5zYWN0aW9uU3RhdGVNYWNoaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxUcmFuc2FjdGlvblN0YXRlTWFjaGluZS5oCkBAIC0zMiw3ICszMiw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBTUUxUcmFuc2Fj
dGlvblN0YXRlTWFjaGluZSB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U1FMVHJhbnNhY3Rpb25T
dGF0ZU1hY2hpbmUoKSB7IH0KKyAgICB2aXJ0dWFsIH5TUUxUcmFuc2FjdGlvblN0YXRlTWFjaGlu
ZSgpID0gZGVmYXVsdDsKIAogcHJvdGVjdGVkOgogICAgIFNRTFRyYW5zYWN0aW9uU3RhdGVNYWNo
aW5lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRyaXZlci9OYXZp
Z2F0b3JXZWJEcml2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkcml2ZXIvTmF2
aWdhdG9yV2ViRHJpdmVyLmNwcAppbmRleCBjNWJlY2FiZjM0OWE4ZGE4MjBmMjE2MTUyZTFlODI3
NjlmY2E2MDVmLi43OWFhNTYxODFmZmVmM2FiMWE5MmFhNTdmZWNkYjZmYmE1OWU2ZjBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRyaXZlci9OYXZpZ2F0b3JXZWJEcml2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZHJpdmVyL05hdmlnYXRvcldl
YkRyaXZlci5jcHAKQEAgLTM0LDEzICszNCw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCi1OYXZpZ2F0b3JXZWJEcml2ZXI6Ok5hdmlnYXRvcldlYkRyaXZl
cigpCi17Ci19CitOYXZpZ2F0b3JXZWJEcml2ZXI6Ok5hdmlnYXRvcldlYkRyaXZlcigpID0gZGVm
YXVsdDsKIAotTmF2aWdhdG9yV2ViRHJpdmVyOjp+TmF2aWdhdG9yV2ViRHJpdmVyKCkKLXsKLX0K
K05hdmlnYXRvcldlYkRyaXZlcjo6fk5hdmlnYXRvcldlYkRyaXZlcigpID0gZGVmYXVsdDsKIAog
Y29uc3QgY2hhciogTmF2aWdhdG9yV2ViRHJpdmVyOjpzdXBwbGVtZW50TmFtZSgpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDJlOTM1ZDg5NjcyNDVhOTZiYTczYzEwMzNlZmM4
YWJkZTM1ZGU1ZjkuLmNhNDA2YWY0YzZmNTIyNTFmOWY2Y2NhOGM0NWQ0NDNhYmI4ZDk4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9U
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXZWJTb2Nr
ZXRDaGFubmVsQ2xpZW50JiwgU29ja2V0UHJvdmlkZXImKTsKLSAgICBUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbCgpIHsgfQorICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgPSBkZWZh
dWx0OwogCiAgICAgdmlydHVhbCBib29sIGlzV2ViU29ja2V0Q2hhbm5lbCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGVyZWYo
KSB7IGRlcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKTsgfQogCiBwcm90ZWN0ZWQ6Ci0g
ICAgdmlydHVhbCB+VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSB7IH0KKyAgICB2aXJ0dWFs
IH5UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZv
aWQgcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRlcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWxDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsQ2xp
ZW50LmgKaW5kZXggZjQ5OTY5N2I4NDYwN2RlYTRmYTFhZGFlZWNmNjI1MjU5N2VlMDIyZC4uZDZh
ZjhiZTE2OTNlZjNmMGRkZDE2NDRhY2IxNzNkYjRjM2I2ZDY0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWxDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbENsaWVu
dC5oCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbENsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5l
bENsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfldlYlNvY2tldENoYW5uZWxDbGllbnQoKSA9IGRl
ZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbm5lY3QoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZUJpbmFyeURhdGEoVmVjdG9yPHVpbnQ4X3Q+JiYpID0gMDsKQEAgLTUxLDcg
KzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGdyYWRlVVJMKCkgPSAwOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgV2ViU29ja2V0Q2hhbm5lbENsaWVudCgpIHsgfQorICAgIFdlYlNv
Y2tldENoYW5uZWxDbGllbnQoKSA9IGRlZmF1bHQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0RGVmbGF0ZUZyYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0RGVmbGF0ZUZyYW1lci5jcHAKaW5kZXggOWE5MjUyMmJiYzAyZDU5YzE4M2M2NDFl
YzM4NTYzNzE5OTViODEwMS4uZjJmYTYyMDljMDQ4ZjUxNTE4YTI1ZWVjMTNhZWYyNTY0YzlmNGU3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dERlZmxhdGVGcmFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXREZWZsYXRlRnJhbWVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBXZWJT
b2NrZXRFeHRlbnNpb25EZWZsYXRlRnJhbWUgOiBwdWJsaWMgV2ViU29ja2V0RXh0ZW5zaW9uUHJv
Y2Vzc29yIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBXZWJTb2NrZXRFeHRlbnNpb25EZWZsYXRlRnJhbWUoV2ViU29ja2V0RGVmbGF0ZUZyYW1l
ciopOwotICAgIHZpcnR1YWwgfldlYlNvY2tldEV4dGVuc2lvbkRlZmxhdGVGcmFtZSgpIHsgfQor
ICAgIHZpcnR1YWwgfldlYlNvY2tldEV4dGVuc2lvbkRlZmxhdGVGcmFtZSgpID0gZGVmYXVsdDsK
IAogICAgIFN0cmluZyBoYW5kc2hha2VTdHJpbmcoKSBvdmVycmlkZTsKICAgICBib29sIHByb2Nl
c3NSZXNwb25zZShjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEV4dGVu
c2lvblByb2Nlc3Nvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldEV4dGVuc2lvblByb2Nlc3Nvci5oCmluZGV4IDQ1M2FiOTI5YzMyNjllYWVjODcxMzc3OGEy
Mjk5MDY3YTA3Yzk0OTYuLjU0OGNhMmU1ODk5MTk4NzkwZTdiNDE1NDlkZGRhNTJkNGM0NzliMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRF
eHRlbnNpb25Qcm9jZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29yLmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBXZWJTb2NrZXRFeHRlbnNpb25Qcm9jZXNzb3IgewogcHVi
bGljOgotICAgIHZpcnR1YWwgfldlYlNvY2tldEV4dGVuc2lvblByb2Nlc3NvcigpIHsgfQorICAg
IHZpcnR1YWwgfldlYlNvY2tldEV4dGVuc2lvblByb2Nlc3NvcigpID0gZGVmYXVsdDsKIAogICAg
IFN0cmluZyBleHRlbnNpb25Ub2tlbigpIGNvbnN0IHsgcmV0dXJuIG1fZXh0ZW5zaW9uVG9rZW47
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldEhhbmRzaGFrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmNwcAppbmRleCAxNWEzYjczOWMyMWJlM2M0OTVmY2U1NWQ1OWZjZTc5
YmMwNTBmNWVlLi4wZWE5MGY1ODliMmFiY2EyMmEyOWJiZjhhMjU1YjhlOTdlOWU4MDIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
SGFuZHNoYWtlLmNwcApAQCAtMTI5LDkgKzEyOSw3IEBAIFdlYlNvY2tldEhhbmRzaGFrZTo6V2Vi
U29ja2V0SGFuZHNoYWtlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sLCBE
CiAgICAgbV9leHBlY3RlZEFjY2VwdCA9IGdldEV4cGVjdGVkV2ViU29ja2V0QWNjZXB0KG1fc2Vj
V2ViU29ja2V0S2V5KTsKIH0KIAotV2ViU29ja2V0SGFuZHNoYWtlOjp+V2ViU29ja2V0SGFuZHNo
YWtlKCkKLXsKLX0KK1dlYlNvY2tldEhhbmRzaGFrZTo6fldlYlNvY2tldEhhbmRzaGFrZSgpID0g
ZGVmYXVsdDsKIAogY29uc3QgVVJMJiBXZWJTb2NrZXRIYW5kc2hha2U6OnVybCgpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL0dhbWVwYWRXZWJWUi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL0dhbWVwYWRXZWJWUi5jcHAKaW5kZXgg
YjMwYTAwMjA1OGFjNGViZWMxYTU3ODBlYjAzY2ZjZWIwZjNjY2RlMi4uMzNjYmE2MjA5NDU4MDUz
NTAwNWRiYTg4NDVkMDM0Y2UxYjMwNzk4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ2ci9HYW1lcGFkV2ViVlIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvR2FtZXBhZFdlYlZSLmNwcApAQCAtMzIsMTMgKzMyLDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1HYW1lcGFkV2ViVlI6OkdhbWVwYWRXZWJWUigpCi17Ci19CitHYW1lcGFkV2Vi
VlI6OkdhbWVwYWRXZWJWUigpID0gZGVmYXVsdDsKIAotR2FtZXBhZFdlYlZSOjp+R2FtZXBhZFdl
YlZSKCkKLXsKLX0KK0dhbWVwYWRXZWJWUjo6fkdhbWVwYWRXZWJWUigpID0gZGVmYXVsdDsKIAog
dW5zaWduZWQgR2FtZXBhZFdlYlZSOjpkaXNwbGF5SWQoY29uc3QgR2FtZXBhZCYpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0xvZ2dlci5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9Mb2dnZXIuaAppbmRleCA2MWM1MmZlMjk0NDI2OWRiNzNiZDQzNGVkNTdjNTgwMjE2
ZDcwZDRiLi5jYTI5NDcxMzU1ZmJiYmEyNmZmY2Y3NGI2MDZiMGFlOTA3ZTZlNWQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0xvZ2dlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvTG9nZ2VyLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogCiAgICAgY2xhc3Mg
T2JzZXJ2ZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKSB7IH0K
KyAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRMb2dNZXNzYWdlKGNvbnN0IFdURkxvZ0NoYW5uZWwmLCBXVEZMb2dMZXZlbCwgY29u
c3QgU3RyaW5nJikgPSAwOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY3J5cHRvL2djcnlwdC9DcnlwdG9EaWdlc3RHQ3J5cHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L0NyeXB0b0RpZ2VzdEdDcnlwdC5jcHAKaW5kZXggMGE3
OGFlMGMzYjhkNzAwODYwNzczMzVhZTNlMzJlZmFhOTEzOTZkOC4uZDI4NTY2YjkxMzM4YmQ4ZDYz
OTIzMWU1ODY3ZGI4N2YyM2ViNGE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jcnlwdG8vZ2NyeXB0L0NyeXB0b0RpZ2VzdEdDcnlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jcnlwdG8vZ2NyeXB0L0NyeXB0b0RpZ2VzdEdDcnlwdC5jcHAKQEAgLTQxLDkg
KzQxLDcgQEAgQ3J5cHRvRGlnZXN0OjpDcnlwdG9EaWdlc3QoKQogewogfQogCi1DcnlwdG9EaWdl
c3Q6On5DcnlwdG9EaWdlc3QoKQotewotfQorQ3J5cHRvRGlnZXN0Ojp+Q3J5cHRvRGlnZXN0KCkg
PSBkZWZhdWx0OwogCiBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvRGlnZXN0PiBDcnlwdG9EaWdlc3Q6
OmNyZWF0ZShDcnlwdG9EaWdlc3Q6OkFsZ29yaXRobSBhbGdvcml0aG0pCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3N5c3RlbS9TbGVlcERpc2FibGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3lzdGVtL1NsZWVwRGlzYWJsZXIuY3BwCmluZGV4IGMzY2QyNDc5
ZmQyMzkyODU5OTg1NTg1ZTQxZjA1ODA0NDBkMWViNDguLjEwMTg4ZWVkZmY0MTdiMmU2MjFhODAx
ZGRkNTI2Y2I1NjY2Zjc0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3lz
dGVtL1NsZWVwRGlzYWJsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3lzdGVt
L1NsZWVwRGlzYWJsZXIuY3BwCkBAIC00MCw4ICs0MCw2IEBAIFNsZWVwRGlzYWJsZXI6OlNsZWVw
RGlzYWJsZXIoY29uc3QgY2hhciosIFR5cGUgdHlwZSkKIHsKIH0KIAotU2xlZXBEaXNhYmxlcjo6
flNsZWVwRGlzYWJsZXIoKQotewotfQorU2xlZXBEaXNhYmxlcjo6flNsZWVwRGlzYWJsZXIoKSA9
IGRlZmF1bHQ7CiAKIH0gLy8gbmFtZXNwYWNlIFBBTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zeXN0ZW0vU3lzdGVtU2xlZXBMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zeXN0ZW0vU3lzdGVtU2xlZXBMaXN0ZW5lci5oCmluZGV4IDc4NzVhYmRhYmQzMmJj
YThjM2U1NmY2Y2JjNDNjNDc1NWM5YjA0YTcuLmI5NmNhYjE5OWM3ZDVjOGQ5NTFjZWQ2NmI5Nzcx
NTMyNTdjNDU3M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3lzdGVtL1N5
c3RlbVNsZWVwTGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3N5c3RlbS9T
eXN0ZW1TbGVlcExpc3RlbmVyLmgKQEAgLTMxLDEzICszMSwxMyBAQCBjbGFzcyBTeXN0ZW1TbGVl
cExpc3RlbmVyIHsKIHB1YmxpYzoKICAgICBjbGFzcyBDbGllbnQgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgdmlydHVhbCB+Q2xpZW50KCkgeyB9CisgICAgICAgIHZpcnR1YWwgfkNsaWVudCgpID0g
ZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5c3RlbVdpbGxTbGVlcCgpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHN5c3RlbURpZFdha2UoKSA9IDA7CiAgICAgfTsKIAogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU2xlZXBMaXN0ZW5lcj4gY3JlYXRlKENsaWVudCYp
OwotICAgIHZpcnR1YWwgflN5c3RlbVNsZWVwTGlzdGVuZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5T
eXN0ZW1TbGVlcExpc3RlbmVyKCkgPSBkZWZhdWx0OwogCiAgICAgQ2xpZW50JiBjbGllbnQoKSB7
IHJldHVybiBtX2NsaWVudDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCmluZGV4IGNlMmQwOGI3OTk0YjIzMTBjZWY5OGRlNWQ2MTAzMzc4YzkzZjNh
NDQuLmI3ZDNjYjA0M2YzM2UwOGRjZGU2M2FlOTg3NDgyOTI3NjVhM2Q4YjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xMTIsNyArMTEyLDcg
QEAgc3RydWN0IFZpc2libGVQb3NpdGlvbkluZGV4UmFuZ2UgewogCiBjbGFzcyBBY2Nlc3NpYmls
aXR5UmVwbGFjZWRUZXh0IHsKIHB1YmxpYzoKLSAgICBBY2Nlc3NpYmlsaXR5UmVwbGFjZWRUZXh0
KCkgeyB9CisgICAgQWNjZXNzaWJpbGl0eVJlcGxhY2VkVGV4dCgpID0gZGVmYXVsdDsKICAgICBB
Y2Nlc3NpYmlsaXR5UmVwbGFjZWRUZXh0KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKICAgICB2
b2lkIHBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb24oQVhPYmplY3RDYWNoZSosIEFYVGV4
dEVkaXRUeXBlLCBjb25zdCBTdHJpbmcmLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAgICAg
Y29uc3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSYgcmVwbGFjZWRSYW5nZSgpIHsgcmV0dXJu
IG1fcmVwbGFjZWRSYW5nZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwCmluZGV4IGIzYjQzNjU4NWE5MGYxODQ3NTk2
OTgwNjczNGQzZmQwZTZhMDFjNTcuLmFlOGFjNTc2YjFjY2E3YjBiMzhhNGZkOWRjYmVlZDU3M2Nl
ZmQ1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eUFSSUFHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlBUklBR3JpZC5jcHAKQEAgLTQ1LDkgKzQ1LDcgQEAgQWNjZXNzaWJpbGl0eUFSSUFH
cmlkOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKIH0K
IAotQWNjZXNzaWJpbGl0eUFSSUFHcmlkOjp+QWNjZXNzaWJpbGl0eUFSSUFHcmlkKCkKLXsKLX0K
K0FjY2Vzc2liaWxpdHlBUklBR3JpZDo6fkFjY2Vzc2liaWxpdHlBUklBR3JpZCgpID0gZGVmYXVs
dDsKIAogUmVmPEFjY2Vzc2liaWxpdHlBUklBR3JpZD4gQWNjZXNzaWJpbGl0eUFSSUFHcmlkOjpj
cmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwCmluZGV4
IGVmYmEwNGY4ODY1YmZkOTYwOGVhOWQ2NTZhOTUyZDBjMTFjYzVjYWIuLjIxNjNiOTZiNDMyMGE4
Zjg1MWNhMjQ3MjgzOTRhOWQ1YjcwNWNiNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcApAQCAtNDMs
OSArNDMsNyBAQCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsOjpBY2Nlc3NpYmlsaXR5QVJJQUdy
aWRDZWxsKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiB9CiAKLUFjY2Vzc2liaWxpdHlBUklB
R3JpZENlbGw6On5BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsKCkKLXsKLX0KK0FjY2Vzc2liaWxp
dHlBUklBR3JpZENlbGw6On5BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsKCkgPSBkZWZhdWx0Owog
CiBSZWY8QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbD4gQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2Vs
bDo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5jcHAKaW5k
ZXggNWMxNWVjMGRlZTllNDYyZDgzMzdhMjdhODliYzExZGUyOTFkYjYwMS4uNmRlMTcwMjdkNTg5
NTYxMWU3YzY3NTEzODlkODIxMzc1Mzc2Mjg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmNwcApAQCAtNDAs
OSArNDAsNyBAQCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3c6OkFjY2Vzc2liaWxpdHlBUklBR3Jp
ZFJvdyhSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogfQogCi1BY2Nlc3NpYmlsaXR5QVJJQUdy
aWRSb3c6On5BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3coKQotewotfQorQWNjZXNzaWJpbGl0eUFS
SUFHcmlkUm93Ojp+QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93KCkgPSBkZWZhdWx0OwogCiBSZWY8
QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93PiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3c6OmNyZWF0
ZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHAKaW5kZXggOTZi
YzEzOTJiNDc3MjBkNTQ1NGU3MTQ3YWI4MGJkZTJjNjhlOGIxNi4uOWFjNzQ0ZDBiYTY0NjRkNzM5
NmRkZTBjOTFlY2JjYTJiMTE1YzQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwCkBAIC00NSw5ICs0
NSw3IEBAIEFjY2Vzc2liaWxpdHlJbWFnZU1hcExpbms6OkFjY2Vzc2liaWxpdHlJbWFnZU1hcExp
bmsoKQogewogfQogCi1BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjp+QWNjZXNzaWJpbGl0eUlt
YWdlTWFwTGluaygpCi17Ci19ICAgIAorQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluazo6fkFjY2Vz
c2liaWxpdHlJbWFnZU1hcExpbmsoKSA9IGRlZmF1bHQ7CiAKIFJlZjxBY2Nlc3NpYmlsaXR5SW1h
Z2VNYXBMaW5rPiBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjpjcmVhdGUoKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGFiZWwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGFiZWwuY3BwCmlu
ZGV4IGMyZDUwMzg4NDkzNjU5NGE5OTY5MWVhZThhOTZmNDEwMTZlZGRlMWUuLjYxZGRhNGZiMjg4
YjMwMzlkMTUzZTY3MmNjZGE5MDYxOWQ4ODE5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxhYmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMYWJlbC5jcHAKQEAgLTQxLDkgKzQxLDcgQEAg
QWNjZXNzaWJpbGl0eUxhYmVsOjpBY2Nlc3NpYmlsaXR5TGFiZWwoUmVuZGVyT2JqZWN0KiByZW5k
ZXJlcikKIHsKIH0KIAotQWNjZXNzaWJpbGl0eUxhYmVsOjp+QWNjZXNzaWJpbGl0eUxhYmVsKCkK
LXsKLX0KK0FjY2Vzc2liaWxpdHlMYWJlbDo6fkFjY2Vzc2liaWxpdHlMYWJlbCgpID0gZGVmYXVs
dDsKIAogUmVmPEFjY2Vzc2liaWxpdHlMYWJlbD4gQWNjZXNzaWJpbGl0eUxhYmVsOjpjcmVhdGUo
UmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdC5jcHAKaW5kZXggZDBlNWIxNjUzOTA3YjcwMGE2ZDY5
YmI0OTc4MWRhNTJkNTIzNTkyMC4uZjkwY2VjYjljYTc0Y2NiOGU3NzFiOTU5MmQ2MzMwMjUxZWY3
ZTJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TGlzdC5jcHAKQEAgLTQ1LDkgKzQ1LDcgQEAgQWNjZXNzaWJpbGl0eUxpc3Q6OkFjY2Vzc2li
aWxpdHlMaXN0KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiB9CiAKLUFjY2Vzc2liaWxpdHlM
aXN0Ojp+QWNjZXNzaWJpbGl0eUxpc3QoKQotewotfQorQWNjZXNzaWJpbGl0eUxpc3Q6On5BY2Nl
c3NpYmlsaXR5TGlzdCgpID0gZGVmYXVsdDsKIAogUmVmPEFjY2Vzc2liaWxpdHlMaXN0PiBBY2Nl
c3NpYmlsaXR5TGlzdDo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3Bw
CmluZGV4IGRhMjZjZWVkMmEzOGI2NDRmYmJjMGVmOTBlMWM5ODA4MjU4MGQ5MDEuLjc3ZmNhZWIy
NmFiNTM2NDc0NDk5NzE3OGI3ZDcxNGZkYzg3NTY1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwCkBAIC00Niw5ICs0
Niw3IEBAIEFjY2Vzc2liaWxpdHlMaXN0Qm94OjpBY2Nlc3NpYmlsaXR5TGlzdEJveChSZW5kZXJP
YmplY3QqIHJlbmRlcmVyKQogewogfQogCi1BY2Nlc3NpYmlsaXR5TGlzdEJveDo6fkFjY2Vzc2li
aWxpdHlMaXN0Qm94KCkKLXsKLX0KK0FjY2Vzc2liaWxpdHlMaXN0Qm94Ojp+QWNjZXNzaWJpbGl0
eUxpc3RCb3goKSA9IGRlZmF1bHQ7CiAKIFJlZjxBY2Nlc3NpYmlsaXR5TGlzdEJveD4gQWNjZXNz
aWJpbGl0eUxpc3RCb3g6OmNyZWF0ZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveE9w
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0
Qm94T3B0aW9uLmNwcAppbmRleCA2YTYzODk0ZWY0NzM4NGM5MzEzZGY4YTFhM2NiYTE5NTBhMDY0
YzIyLi40MTdkNjI0ZDEzOTk1MjRmOGQwODM5Yjg4ZDk0MjMxZTRkYjRhZDJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0
Qm94T3B0aW9uLmNwcApAQCAtNTAsOSArNTAsNyBAQCBBY2Nlc3NpYmlsaXR5TGlzdEJveE9wdGlv
bjo6QWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24oKQogewogfQogCi1BY2Nlc3NpYmlsaXR5TGlz
dEJveE9wdGlvbjo6fkFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uKCkKLXsKLX0gICAgCitBY2Nl
c3NpYmlsaXR5TGlzdEJveE9wdGlvbjo6fkFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uKCkgPSBk
ZWZhdWx0OwogICAgIAogUmVmPEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uPiBBY2Nlc3NpYmls
aXR5TGlzdEJveE9wdGlvbjo6Y3JlYXRlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1hdGhNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWF0aE1MRWxlbWVudC5jcHAKaW5kZXgg
ZDljYmEyOTA1MmIwNWU2Nzk1NzZiZjYxOTk5NGU5NTEzZTFlOThkOC4uNGJlZWRmMTExODZkZTBi
NzJiZjFkYjgxZmFhYTJjMmU3ZGRmZjE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWF0aE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWF0aE1MRWxlbWVudC5jcHAKQEAgLTQx
LDkgKzQxLDcgQEAgQWNjZXNzaWJpbGl0eU1hdGhNTEVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlNYXRo
TUxFbGVtZW50KFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGIKIHsKIH0KIAotQWNjZXNzaWJpbGl0
eU1hdGhNTEVsZW1lbnQ6On5BY2Nlc3NpYmlsaXR5TWF0aE1MRWxlbWVudCgpCi17Ci19CitBY2Nl
c3NpYmlsaXR5TWF0aE1MRWxlbWVudDo6fkFjY2Vzc2liaWxpdHlNYXRoTUxFbGVtZW50KCkgPSBk
ZWZhdWx0OwogCiBSZWY8QWNjZXNzaWJpbGl0eU1hdGhNTEVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlN
YXRoTUxFbGVtZW50OjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgYm9vbCBpc0Fub255
bW91c09wZXJhdG9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oCmluZGV4IDA3ZmY5Y2IzMzJmNjE4Y2Vl
MTliOGEwNDdhMWNmZDkxYTZkMGViYzIuLjJmYmVjYzgzYjdjODJkNmEyOWQ3NGExMjcyYzIyZDU0
YjdkY2FkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU1lZGlhQ29udHJvbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbCA6IHB1YmxpYyBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFjY2Vzc2li
aWxpdHlPYmplY3Q+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKLSAgICB2aXJ0dWFsIH5BY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9sKCkgeyB9CisgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU1lZGlh
Q29udHJvbCgpID0gZGVmYXVsdDsKIAogICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgp
IGNvbnN0IG92ZXJyaWRlOwogCkBAIC02MCw3ICs2MCw3IEBAIHByaXZhdGU6CiBjbGFzcyBBY2Nl
c3NpYmlsaXR5TWVkaWFUaW1lbGluZSBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5U2xpZGVy
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNyZWF0ZShS
ZW5kZXJPYmplY3QqKTsKLSAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZSgp
IHsgfQorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lKCkgPSBkZWZhdWx0
OwogCiAgICAgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIHZh
bHVlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKQEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0
ZToKIGNsYXNzIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyIGZpbmFsIDogcHVi
bGljIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2wgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
QWNjZXNzaWJpbGl0eU9iamVjdD4gY3JlYXRlKFJlbmRlck9iamVjdCopOwotICAgIHZpcnR1YWwg
fkFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyKCkgeyB9CisgICAgdmlydHVhbCB+
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250YWluZXIoKSA9IGRlZmF1bHQ7CiAKICAgICBB
Y2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBUb29s
YmFyUm9sZTsgfQogCkBAIC05NCw3ICs5NCw3IEBAIHByaXZhdGU6CiBjbGFzcyBBY2Nlc3NpYmls
aXR5TWVkaWFUaW1lRGlzcGxheSBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5TWVkaWFDb250
cm9sIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNyZWF0
ZShSZW5kZXJPYmplY3QqKTsKLSAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlz
cGxheSgpIHsgfQorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlNZWRpYVRpbWVEaXNwbGF5KCkg
PSBkZWZhdWx0OwogCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gQXBwbGljYXRpb25UaW1lclJvbGU7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFPYmplY3QuY3Bw
CmluZGV4IGE3MGU4YWJjYmEzMTg3YTVjZDg5ODFjOTFjZTU2M2MxMTdjODVmMTUuLmE2OGFlNDRj
MDliYTY1MWNjNzg5YjNkNGJiNzI5NzBmMWZjZjliNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYU9iamVjdC5jcHAKQEAg
LTQ2LDkgKzQ2LDcgQEAgQWNjZXNzaWJpbGl0eU1lZGlhT2JqZWN0OjpBY2Nlc3NpYmlsaXR5TWVk
aWFPYmplY3QoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKIH0KIAotQWNjZXNzaWJpbGl0eU1l
ZGlhT2JqZWN0Ojp+QWNjZXNzaWJpbGl0eU1lZGlhT2JqZWN0KCkKLXsKLX0KK0FjY2Vzc2liaWxp
dHlNZWRpYU9iamVjdDo6fkFjY2Vzc2liaWxpdHlNZWRpYU9iamVjdCgpID0gZGVmYXVsdDsKIAog
UmVmPEFjY2Vzc2liaWxpdHlNZWRpYU9iamVjdD4gQWNjZXNzaWJpbGl0eU1lZGlhT2JqZWN0Ojpj
cmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5jcHAKaW5kZXggMGQ4
MDRjZWNiMWQyOTlkNTMxNTNmZGNlOGFiMzljZTdkMDlhMTE1YS4uODkyNzY2MzAyOWNmMmUxZWM3
ZGQ0ZTAzYjU0YmZlMGYxZTJmNDM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5jcHAKQEAgLTMzLDkgKzMzLDcg
QEAgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Q6OkFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0KCkKIHsK
IH0KIAotQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Q6On5BY2Nlc3NpYmlsaXR5TW9ja09iamVjdCgp
Ci17Ci19CitBY2Nlc3NpYmlsaXR5TW9ja09iamVjdDo6fkFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0
KCkgPSBkZWZhdWx0OwogICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcAppbmRleCAy
ZWJjMjI2Yjc1OWJkYWQzYjU0Mzg0NmFiYmQ1NDBhZTg4YzQ2ZTJhLi44OTRhNDRlNWU4YWNhYTJk
Y2QxMDNmMDI1MDFjOWYwODIzMzM4NmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcApAQCAtNDgsOSArNDgs
NyBAQCBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQoUmVu
ZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKIH0KIAotQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6On5B
Y2Nlc3NpYmlsaXR5U1ZHRWxlbWVudCgpCi17Ci19CitBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6
fkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50KCkgPSBkZWZhdWx0OwogCiBSZWY8QWNjZXNzaWJpbGl0
eVNWR0VsZW1lbnQ+IEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpjcmVhdGUoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5U1ZHUm9vdC5jcHAKaW5kZXggMTc3ZjFlYjZkOGU4ODE0OWY3YzNhZWY1NGNm
YmVhMzI5NWRjMmNiYy4uYjFkZDliZjVkMThlMWJjZTcyMTQyMmRlZmI0YmZiMzIwNjk2NzQ0OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZH
Um9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U1ZHUm9vdC5jcHAKQEAgLTM4LDkgKzM4LDcgQEAgQWNjZXNzaWJpbGl0eVNWR1Jvb3Q6OkFjY2Vz
c2liaWxpdHlTVkdSb290KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiB9CiAKLUFjY2Vzc2li
aWxpdHlTVkdSb290Ojp+QWNjZXNzaWJpbGl0eVNWR1Jvb3QoKQotewotfQorQWNjZXNzaWJpbGl0
eVNWR1Jvb3Q6On5BY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpID0gZGVmYXVsdDsKIAogUmVmPEFjY2Vz
c2liaWxpdHlTVkdSb290PiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdDo6Y3JlYXRlKFJlbmRlck9iamVj
dCogcmVuZGVyZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlTbGlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNsaWRlci5oCmluZGV4IDRiMjBmNzkzOTY1YTZhMzZlMTk1MGQ3OWNhNjVmMjQ3
ZjcwNWFhYWMuLjY3MmI0Y2EyODM3OTE4NzY0MGI4NDMxZTU4NGVhNjEwZDQwNzFhYmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5o
CkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiBjbGFzcyBBY2Nlc3Np
YmlsaXR5U2xpZGVyIDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVNsaWRlcj4gY3JlYXRlKFJlbmRlck9iamVj
dCopOwotICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTbGlkZXIoKSB7IH0KKyAgICB2aXJ0dWFs
IH5BY2Nlc3NpYmlsaXR5U2xpZGVyKCkgPSBkZWZhdWx0OwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhw
bGljaXQgQWNjZXNzaWJpbGl0eVNsaWRlcihSZW5kZXJPYmplY3QqKTsKQEAgLTY3LDcgKzY3LDcg
QEAgcHJpdmF0ZToKIGNsYXNzIEFjY2Vzc2liaWxpdHlTbGlkZXJUaHVtYiBmaW5hbCA6IHB1Ymxp
YyBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBY2Nl
c3NpYmlsaXR5U2xpZGVyVGh1bWI+IGNyZWF0ZSgpOwotICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxp
dHlTbGlkZXJUaHVtYigpIHsgfQorICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTbGlkZXJUaHVt
YigpID0gZGVmYXVsdDsKIAogICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIFNsaWRlclRodW1iUm9sZTsgfQogICAgIExheW91dFJlY3QgZWxl
bWVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAKaW5kZXggMTFiZThhOTE2
OWJkM2RhMjA4NDIyNDk0MDk5OTc0ODY2ZTgwYzQ1MS4uZWRjYWIzNTVlNTdmZGNkNmJmY2ZiYjIz
MzlmNTU1MDZlMWNkMzVhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAKQEAgLTQxLDkgKzQxLDcgQEAgQWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b246OkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCkKIHsKIH0KIAot
QWNjZXNzaWJpbGl0eVNwaW5CdXR0b246On5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbigpCi17Ci19
CitBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbjo6fkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCkgPSBk
ZWZhdWx0OwogICAgIAogQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVNwaW5CdXR0
b246OmluY3JlbWVudEJ1dHRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKaW5kZXggYmMwNDNiZTg1NmMwZWIy
ODhlZTVmZTc3ZjM5ODIyOWU4OTY5OTEzYy4uYzFmNDdiNzA2M2I2ZTk1ZWQzY2Y1ZjlkYzhiNGRj
Y2M5YWJjODEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaApAQCAtNTcsNyArNTcsNyBAQCBwcml2YXRlOgogY2xh
c3MgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0IGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxp
dHlNb2NrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uUGFydD4gY3JlYXRlKCk7Ci0gICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eVNwaW5CdXR0
b25QYXJ0KCkgeyB9CisgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0KCkg
PSBkZWZhdWx0OwogICAgIAogICAgIGJvb2wgaXNJbmNyZW1lbnRvcigpIGNvbnN0IHsgcmV0dXJu
IG1faXNJbmNyZW1lbnRvcjsgfQogICAgIHZvaWQgc2V0SXNJbmNyZW1lbnRvcihib29sIHZhbHVl
KSB7IG1faXNJbmNyZW1lbnRvciA9IHZhbHVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKaW5kZXggYzRjYWQzMGJmNDc5MzNm
ZDgyZGVjZTc1YzEzODI3OGUwOWZiZGI3ZS4uNGIxYzYxN2Y4Y2Q2MGU0MjM2NjYzNTM1YjNiMWNm
OGQyZDUwMWU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlLmNwcApAQCAtNTcsOSArNTcsNyBAQCBBY2Nlc3NpYmlsaXR5VGFibGU6
OkFjY2Vzc2liaWxpdHlUYWJsZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogfQogCi1BY2Nl
c3NpYmlsaXR5VGFibGU6On5BY2Nlc3NpYmlsaXR5VGFibGUoKQotewotfQorQWNjZXNzaWJpbGl0
eVRhYmxlOjp+QWNjZXNzaWJpbGl0eVRhYmxlKCkgPSBkZWZhdWx0OwogCiB2b2lkIEFjY2Vzc2li
aWxpdHlUYWJsZTo6aW5pdCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcAppbmRleCA5YWZjZWI1MGE3Zjc1MTkz
YWRkYmRhNmI2MjU0MDEyN2M4MWY3ZjBjLi5mODA1MTM5ZTBkMTg3ZjdjNWI2ZjZhNjY1ZjAxNWZk
ZGE1YzMzNWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAKQEAgLTQ4LDkgKzQ4LDcgQEAgQWNjZXNzaWJpbGl0
eVRhYmxlQ2VsbDo6QWNjZXNzaWJpbGl0eVRhYmxlQ2VsbChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KQogewogfQogCi1BY2Nlc3NpYmlsaXR5VGFibGVDZWxsOjp+QWNjZXNzaWJpbGl0eVRhYmxlQ2Vs
bCgpCi17Ci19CitBY2Nlc3NpYmlsaXR5VGFibGVDZWxsOjp+QWNjZXNzaWJpbGl0eVRhYmxlQ2Vs
bCgpID0gZGVmYXVsdDsKIAogUmVmPEFjY2Vzc2liaWxpdHlUYWJsZUNlbGw+IEFjY2Vzc2liaWxp
dHlUYWJsZUNlbGw6OmNyZWF0ZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1
bW4uY3BwCmluZGV4IDE2NjlhNmZjMDBiMmU3NjZhYzBiMDIyYzlhNzc4MmIwODc1YTJiMWQuLjYz
YzJiYjUzYTgzMTE2ZDBiMDc1MmFhYmIzNDU4MTg0MTEwODc0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5j
cHAKQEAgLTQyLDEzICs0Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIHVzaW5nIG5h
bWVzcGFjZSBIVE1MTmFtZXM7CiAKLUFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6QWNjZXNzaWJp
bGl0eVRhYmxlQ29sdW1uKCkKLXsKLX0KK0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6QWNjZXNz
aWJpbGl0eVRhYmxlQ29sdW1uKCkgPSBkZWZhdWx0OwogCi1BY2Nlc3NpYmlsaXR5VGFibGVDb2x1
bW46On5BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4oKQotewotfSAgICAKK0FjY2Vzc2liaWxpdHlU
YWJsZUNvbHVtbjo6fkFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbigpID0gZGVmYXVsdDsKIAogUmVm
PEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbj4gQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uOjpjcmVh
dGUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuY3BwCmluZGV4IDM5MDdlMTJh
NGQ4YjQ2N2U3YjE2NjRkNTBkMjhmMjZkNmE4MTVhMGYuLjU5YTNlZTcwMGM4NDlkNTQ0ZjVjNzM1
ZjUyMjBjYzc2ZGU4MTYwZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5jcHAK
QEAgLTM0LDEzICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQWNjZXNzaWJpbGl0
eVRhYmxlSGVhZGVyQ29udGFpbmVyOjpBY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIo
KQotewotfQorQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyOjpBY2Nlc3NpYmlsaXR5
VGFibGVIZWFkZXJDb250YWluZXIoKSA9IGRlZmF1bHQ7CiAKLUFjY2Vzc2liaWxpdHlUYWJsZUhl
YWRlckNvbnRhaW5lcjo6fkFjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcigpCi17Ci19
CitBY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXI6On5BY2Nlc3NpYmlsaXR5VGFibGVI
ZWFkZXJDb250YWluZXIoKSA9IGRlZmF1bHQ7CiAKIFJlZjxBY2Nlc3NpYmlsaXR5VGFibGVIZWFk
ZXJDb250YWluZXI+IEFjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcjo6Y3JlYXRlKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlUm93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlUm93LmNwcAppbmRleCBiNTFiMThjNDE4Mjg2Y2ExODVhYjE3YjcyMWJjZTViOGU0Yjc5
OGIwLi5iOWM2ZjZjNzA5NmU4N2E2OWQyNDE4NTM4ZWQ0MmY1M2FlYWY1YzJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cu
Y3BwCkBAIC00Nyw5ICs0Nyw3IEBAIEFjY2Vzc2liaWxpdHlUYWJsZVJvdzo6QWNjZXNzaWJpbGl0
eVRhYmxlUm93KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiB9CiAKLUFjY2Vzc2liaWxpdHlU
YWJsZVJvdzo6fkFjY2Vzc2liaWxpdHlUYWJsZVJvdygpCi17Ci19CitBY2Nlc3NpYmlsaXR5VGFi
bGVSb3c6On5BY2Nlc3NpYmlsaXR5VGFibGVSb3coKSA9IGRlZmF1bHQ7CiAKIFJlZjxBY2Nlc3Np
YmlsaXR5VGFibGVSb3c+IEFjY2Vzc2liaWxpdHlUYWJsZVJvdzo6Y3JlYXRlKFJlbmRlck9iamVj
dCogcmVuZGVyZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRyZWUuY3BwCmluZGV4IDA3ZjMxMzY1OGViNGE5NTY0ZjU5YTY1ZGExZTEwYzcy
OWRjOTk1MjAuLmIwZTllN2Y0MWMzMTM2ZDc5MGY2NDY1YWY1NTg4NzhhN2RjYzgxY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWUuY3Bw
CkBAIC00NSw5ICs0NSw3IEBAIEFjY2Vzc2liaWxpdHlUcmVlOjpBY2Nlc3NpYmlsaXR5VHJlZShS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogfQogICAgIAotQWNjZXNzaWJpbGl0eVRyZWU6On5B
Y2Nlc3NpYmlsaXR5VHJlZSgpCi17Ci19CitBY2Nlc3NpYmlsaXR5VHJlZTo6fkFjY2Vzc2liaWxp
dHlUcmVlKCkgPSBkZWZhdWx0OwogICAgIAogUmVmPEFjY2Vzc2liaWxpdHlUcmVlPiBBY2Nlc3Np
YmlsaXR5VHJlZTo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUcmVlSXRlbS5jcHAK
aW5kZXggY2QzNmMzOGJkYTAzMTA3YjhhZThmYmVhMDJlZGE3M2EwMjg3ZDEyYy4uYWY4YWNkYTlm
MjVlYzNmMzcwMjQwMzM1Y2IyNDEzN2E5OTdmYzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VHJlZUl0ZW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRyZWVJdGVtLmNwcApAQCAtNDEsOSAr
NDEsNyBAQCBBY2Nlc3NpYmlsaXR5VHJlZUl0ZW06OkFjY2Vzc2liaWxpdHlUcmVlSXRlbShSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKQogewogfQogICAgIAotQWNjZXNzaWJpbGl0eVRyZWVJdGVtOjp+
QWNjZXNzaWJpbGl0eVRyZWVJdGVtKCkKLXsKLX0KK0FjY2Vzc2liaWxpdHlUcmVlSXRlbTo6fkFj
Y2Vzc2liaWxpdHlUcmVlSXRlbSgpID0gZGVmYXVsdDsKICAgICAKIFJlZjxBY2Nlc3NpYmlsaXR5
VHJlZUl0ZW0+IEFjY2Vzc2liaWxpdHlUcmVlSXRlbTo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVu
ZGVyZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRN
b2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCmluZGV4IDU1MGViYjU1OWNhYmVkMWJkMWRi
NzYyZWZkYTUyZDdlMmUxY2NjNWYuLjdjNDE0ZDg5ZDRlOTczNTk5NTk5MTM3OTVmOGM3NTY1OTE1
MTg4MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCkBAIC0zMyw3ICszMyw3IEBAIGNsYXNzIENh
Y2hlZE1vZHVsZVNjcmlwdExvYWRlcjsKIAogY2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJD
bGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQo
KSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9k
dWxlU2NyaXB0TG9hZGVyJiwgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4pID0gMDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJm
YWNlLmNwcAppbmRleCA2MjRlMzlmMTlhYTMyYTRiZjNiZTJkMTdlNGJkYjY5MWNlNWIwMjA3Li5i
YzNiODYzOGRiNTQ5Y2M0YjllOGFkNDg5ZmRiZjk4YjAxYWZlZmYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5jcHAK
QEAgLTU0LDkgKzU0LDcgQEAgSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlOjpKU0N1c3RvbUVsZW1l
bnRJbnRlcmZhY2UoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgSlMKIHsKIH0KIAotSlNDdXN0
b21FbGVtZW50SW50ZXJmYWNlOjp+SlNDdXN0b21FbGVtZW50SW50ZXJmYWNlKCkKLXsKLX0KK0pT
Q3VzdG9tRWxlbWVudEludGVyZmFjZTo6fkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZSgpID0gZGVm
YXVsdDsKIAogc3RhdGljIFJlZlB0cjxFbGVtZW50PiBjb25zdHJ1Y3RDdXN0b21FbGVtZW50U3lu
Y2hyb25vdXNseShEb2N1bWVudCYsIFZNJiwgRXhlY1N0YXRlJiwgSlNPYmplY3QqIGNvbnN0cnVj
dG9yLCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAppbmRleCA5
ZGFlNjgzOGM3NDIwMzQ3MTM4Yzc0MDhlOThlMDA1YzY3NTE4YzlkLi4zYzQzYTBiMGY5YjgxMjk1
ODc5NGY1NjVkYWY0NTMxZDY5YmM4MjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC02MCw5ICs2MCw3IEBA
IEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpKU0N1c3RvbVhQYXRoTlNSZXNvbHZlcihWTSYgdm0s
IEpTT2JqZWN0KiBjdXN0b21SZXNvbHZlCiB7CiB9CiAKLUpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVy
Ojp+SlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIoKQotewotfQorSlNDdXN0b21YUGF0aE5TUmVzb2x2
ZXI6On5KU0N1c3RvbVhQYXRoTlNSZXNvbHZlcigpID0gZGVmYXVsdDsKIAogU3RyaW5nIEpTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkoY29uc3QgU3RyaW5nJiBwcmVm
aXgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2Jh
bE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKaW5kZXggMGY3N2E2OWRmOGVmNTUyMmRiMDI4ZGI3MGE3MDRiMDYxMzA5ODE3Zi4uODVh
ZTIyNmUyODUzNThmMjI0MzkxOTZjNzIzYmRiMWJiNDQwMTlmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNjUsOSArNjUsNyBA
QCBKU0RPTUdsb2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgUmVmPERPTVdyYXBwZQogewogfQogCi1KU0RPTUdsb2JhbE9iamVjdDo6fkpT
RE9NR2xvYmFsT2JqZWN0KCkKLXsKLX0KK0pTRE9NR2xvYmFsT2JqZWN0Ojp+SlNET01HbG9iYWxP
YmplY3QoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmRlc3Ryb3koSlND
ZWxsKiBjZWxsKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNF
cnJvckhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFcnJvckhhbmRs
ZXIuY3BwCmluZGV4IDIzODJjNjdlYjE3ZGIyMzM5OTMwY2Y2ODU5YTU2MGRiYjc4ZDViNTcuLjcx
N2M3MTY5YzJiMzY0NzNkYzEwMzQzYWU3ZjY1ZDcwYmRkOTE3OWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAKQEAgLTUzLDkgKzUzLDcgQEAgSlNF
cnJvckhhbmRsZXI6OkpTRXJyb3JIYW5kbGVyKEpTT2JqZWN0KiBmdW5jdGlvbiwgSlNPYmplY3Qq
IHdyYXBwZXIsIGJvb2wgaXNBdHQKIHsKIH0KIAotSlNFcnJvckhhbmRsZXI6On5KU0Vycm9ySGFu
ZGxlcigpCi17Ci19CitKU0Vycm9ySGFuZGxlcjo6fkpTRXJyb3JIYW5kbGVyKCkgPSBkZWZhdWx0
OwogCiB2b2lkIEpTRXJyb3JIYW5kbGVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBFdmVudCYgZXZlbnQpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAppbmRleCBlNDYzNmE3NWMw
NWU0OWVmNWMwZWIyNjQ4NWRhMDdiMzU2NDgxNzFkLi5jOGNlODQ0NjQ4NjU0NmQyMjgxOTY2YjBh
MjNlYzJkMGY4OTI1MjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRMaXN0ZW5lci5jcHAKQEAgLTU2LDkgKzU2LDcgQEAgSlNFdmVudExpc3RlbmVyOjpKU0V2ZW50
TGlzdGVuZXIoSlNPYmplY3QqIGZ1bmN0aW9uLCBKU09iamVjdCogd3JhcHBlciwgYm9vbCBpc0EK
ICAgICAgICAgQVNTRVJUKCFmdW5jdGlvbik7CiB9CiAKLUpTRXZlbnRMaXN0ZW5lcjo6fkpTRXZl
bnRMaXN0ZW5lcigpCi17Ci19CitKU0V2ZW50TGlzdGVuZXI6On5KU0V2ZW50TGlzdGVuZXIoKSA9
IGRlZmF1bHQ7CiAKIEpTT2JqZWN0KiBKU0V2ZW50TGlzdGVuZXI6OmluaXRpYWxpemVKU0Z1bmN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKaW5kZXggOTY4YjQ0YWFmMjNjOGU0MjZh
NGU5N2FlN2E2MDYxMDdkYzc2ZmI2Zi4uNTNlM2ZiYTM0ZmIxMGEwOGMzNzI5NGVhY2MzYzkyOTYx
YWQwMTdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVk
QWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rp
b24uY3BwCkBAIC02OSw5ICs2OSw3IEBAIFNjaGVkdWxlZEFjdGlvbjo6U2NoZWR1bGVkQWN0aW9u
KERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCwgU3RyaW5nJiYgY29kZSkKIHsKIH0KIAot
U2NoZWR1bGVkQWN0aW9uOjp+U2NoZWR1bGVkQWN0aW9uKCkKLXsKLX0KK1NjaGVkdWxlZEFjdGlv
bjo6flNjaGVkdWxlZEFjdGlvbigpID0gZGVmYXVsdDsKIAogdm9pZCBTY2hlZHVsZWRBY3Rpb246
OmFkZEFyZ3VtZW50cyhWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPj4mJiBhcmd1bWVu
dHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRXcmFw
cGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5oCmlu
ZGV4IGZjMGRjYTBhODg2MjlmOTIwZGQ2NWVjZTE1YWRjYjEzNmViMTUxMDAuLjQ2YTg4YjlhYTMz
MzRlMGZmNDg2NjM5MDI4MzUzMWRjN2Y1NzM2MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgcHRyZGlmZl90IG9mZnNldE9mV3JhcHBlcigpIHsgcmV0dXJuIENBU1RfT0ZGU0VUKERl
cml2ZWQqLCBTY3JpcHRXcmFwcGFibGUqKSArIE9CSkVDVF9PRkZTRVRPRihTY3JpcHRXcmFwcGFi
bGUsIG1fd3JhcHBlcik7IH0KIAogcHJvdGVjdGVkOgotICAgIH5TY3JpcHRXcmFwcGFibGUoKSB7
IH0KKyAgICB+U2NyaXB0V3JhcHBhYmxlKCkgPSBkZWZhdWx0OwogCiBwcml2YXRlOgogICAgIEpT
Qzo6V2VhazxKU0RPTU9iamVjdD4gbV93cmFwcGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggYzcwZWM2OTVmZTM5
NTMwNTlhMGNiMWIwNzI4YzI4ODA2MjY5YTdiZC4uMGUyNDY5ODlmZmNkMTBmZGYyOGQ0NTQ4NTA2
YjE0NmJhMWY0YjRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0zMTQzLDkgKzMxNDMsNyBAQCBlcnJvcjoKICAg
ICByZXR1cm4gc3RkOjptYWtlX3BhaXIoSlNWYWx1ZSgpLCBTZXJpYWxpemF0aW9uUmV0dXJuQ29k
ZTo6VmFsaWRhdGlvbkVycm9yKTsKIH0KIAotU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp+U2VyaWFs
aXplZFNjcmlwdFZhbHVlKCkKLXsKLX0KK1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6flNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSgpID0gZGVmYXVsdDsKIAogU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWUoVmVjdG9yPHVpbnQ4X3Q+JiYgYnVmZmVyKQogICAgIDogbV9kYXRh
KFdURk1vdmUoYnVmZmVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCmluZGV4IGEzYzkzODUxODE2NmI4
ODlhMTJlMjQ5YThkODM5NGJlMTQ5YWNlNDAuLjBjZWVhMGZmNThiMmY3MjZmMjUzYWIzNjg3YWU3
OTZhYzQyNzNjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcApAQCAtMzQsMTMgKzM0LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXI6OldlYkNv
cmVUeXBlZEFycmF5Q29udHJvbGxlcigpCi17Ci19CitXZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xs
ZXI6OldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlcigpID0gZGVmYXVsdDsKIAotV2ViQ29yZVR5
cGVkQXJyYXlDb250cm9sbGVyOjp+V2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyKCkKLXsKLX0K
K1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlcjo6fldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxl
cigpID0gZGVmYXVsdDsKIAogSlNDOjpKU0FycmF5QnVmZmVyKiBXZWJDb3JlVHlwZWRBcnJheUNv
bnRyb2xsZXI6OnRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6QXJyYXlCdWZmZXIqIGJ1ZmZlcikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9C
cmlkZ2UuaAppbmRleCBjNmMyNzYzZGI2Y2ZlNzUzMDJiMzFlMTJkOGMxMDY0ODg2NDBhNWE1Li40
MmYzYWIxZDdlMWI5MjQyZWVkMGI3NTgyZmVlYTFmN2QxNmQ2MTI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0Jy
aWRnZS5oCkBAIC0zNywxMCArMzcsMTAgQEAgbmFtZXNwYWNlIEJpbmRpbmdzIHsKIGNsYXNzIE1l
dGhvZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgTWV0aG9kKCkgeyB9CisgICAgTWV0aG9kKCkgPSBkZWZh
dWx0OwogICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKLSAgICB2
aXJ0dWFsIH5NZXRob2QoKSB7IH0KKyAgICB2aXJ0dWFsIH5NZXRob2QoKSA9IGRlZmF1bHQ7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBCaW5kaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2pzYy9CcmlkZ2VKU0MuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9Ccmlk
Z2VKU0MuY3BwCmluZGV4IGYxN2IxZGYxNDRlYTE3Y2Y1NDVlZTQyZmQxM2QxY2Y4MGY4ZDQ1NTQu
LjM2MjI4OTQ2MWEwYzhhZGY1NGU5YWJlNmNkNDFjOGNhMDhjNjRhNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5jcHAKQEAgLTQ0LDkgKzQ0LDcgQEAgQXJyYXk6OkFycmF5
KFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3QpCiAgICAgQVNTRVJUKG1fcm9vdE9iamVj
dCk7CiB9CiAKLUFycmF5Ojp+QXJyYXkoKQotewotfQorQXJyYXk6On5BcnJheSgpID0gZGVmYXVs
dDsKIAogSW5zdGFuY2U6Okluc3RhbmNlKFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3Qp
CiAgICAgOiBtX3Jvb3RPYmplY3QoV1RGTW92ZShyb290T2JqZWN0KSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IDVmZTg1ZjVmNGMxM2RiOGYxYjdiZmM1ZjA3NWMwYjlh
NWRjOWRlOTUuLmRjNWRlOWUwNDgxMTQ1ZWJkMzZjNDc0OGRjMGNlMTNiYTY0NGQ4NDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAtNTQsMTggKzU0LDE4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIEpTVmFsdWUgdmFsdWVGcm9tSW5zdGFuY2UoRXhlY1N0YXRlKiwgY29u
c3QgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIHNldFZhbHVlVG9JbnN0
YW5jZShFeGVjU3RhdGUqLCBjb25zdCBJbnN0YW5jZSosIEpTVmFsdWUpIGNvbnN0ID0gMDsKIAot
ICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CisgICAgdmlydHVhbCB+RmllbGQoKSA9IGRlZmF1bHQ7
CiB9OwogCiBjbGFzcyBDbGFzcyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3MpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBDbGFzcygpIHsgfQorICAgIENs
YXNzKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgTWV0aG9kKiBtZXRob2ROYW1lZChQcm9wZXJ0
eU5hbWUsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZpZWxkTmFt
ZWQoUHJvcGVydHlOYW1lLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEpTVmFs
dWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFuY2UqLCBQcm9wZXJ0eU5hbWUpIHsg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KIAotICAgIHZpcnR1YWwgfkNsYXNzKCkgeyB9CisgICAg
dmlydHVhbCB+Q2xhc3MoKSA9IGRlZmF1bHQ7CiB9OwogCiBjbGFzcyBJbnN0YW5jZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPEluc3RhbmNlPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9yb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3Qu
Y3BwCmluZGV4IGViZjg3N2VjMmVmMDg4OTdmZWNjZDE1ZTU5MTgyMjc4MzRiMzk1YjYuLjFhMTBj
YjNjZmE1MGM4MTFkZTY3ZWI1YjY4OTVjOTA1YjhjMThlNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuY3BwCkBAIC03NSw5ICs3NSw3IEBAIFJvb3RPYmplY3QqIGZpbmRSb290
T2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgcmV0dXJuIDA7CiB9CiAK
LVJvb3RPYmplY3Q6OkludmFsaWRhdGlvbkNhbGxiYWNrOjp+SW52YWxpZGF0aW9uQ2FsbGJhY2so
KQotewotfQorUm9vdE9iamVjdDo6SW52YWxpZGF0aW9uQ2FsbGJhY2s6On5JbnZhbGlkYXRpb25D
YWxsYmFjaygpID0gZGVmYXVsdDsKIAogUmVmPFJvb3RPYmplY3Q+IFJvb3RPYmplY3Q6OmNyZWF0
ZShjb25zdCB2b2lkKiBuYXRpdmVIYW5kbGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db21iaW5l
ZFVSTEZpbHRlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29tYmlu
ZWRVUkxGaWx0ZXJzLmNwcAppbmRleCBhMTQzMjNjMmFiODc1MGNiYzcyNjZiZDg1MGNmNWUzMjg5
YzRlNGM2Li43NTU4YjIyNzY1ZGYzODJhYjU4YjFjZDkwM2ZkMzY0NmZmYjhlNGE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db21iaW5lZFVSTEZpbHRlcnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbWJpbmVkVVJMRmls
dGVycy5jcHAKQEAgLTEzNyw5ICsxMzcsNyBAQCBDb21iaW5lZFVSTEZpbHRlcnM6OkNvbWJpbmVk
VVJMRmlsdGVycygpCiB7CiB9CiAKLUNvbWJpbmVkVVJMRmlsdGVyczo6fkNvbWJpbmVkVVJMRmls
dGVycygpCi17Ci19CitDb21iaW5lZFVSTEZpbHRlcnM6On5Db21iaW5lZFVSTEZpbHRlcnMoKSA9
IGRlZmF1bHQ7CiAKIGJvb2wgQ29tYmluZWRVUkxGaWx0ZXJzOjppc0VtcHR5KCkgY29uc3QKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbXBpbGVkQ29u
dGVudEV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db21w
aWxlZENvbnRlbnRFeHRlbnNpb24uY3BwCmluZGV4IGU1NzdhOTEyNzhjYmNiZjA1OGJhMTkyMzI4
NjhlZjNhMTI3Yzg3OTkuLmViZjMyNDQxZWY4ZDY1ZGQ4MjhhNDI1NTdkNjk0ZWJjZWE4NTBlZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbXBpbGVkQ29u
dGVudEV4dGVuc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMv
Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9uLmNwcApAQCAtMzIsOSArMzIsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIAotQ29tcGlsZWRDb250
ZW50RXh0ZW5zaW9uOjp+Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9uKCkKLXsKLX0KK0NvbXBpbGVk
Q29udGVudEV4dGVuc2lvbjo6fkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbigpID0gZGVmYXVsdDsK
ICAgICAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uQ29tcGlsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25z
L0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5oCmluZGV4IDJlMmY1NjhiMmY3YzE3NjNiOTJlNWY4
NDZhOTJlYmVlNTg3NGVmMjIuLjViODExYzlmZTI1OGVhZmUzNjVjNDM1NjE3ZGQ5ZjhlMGE1OWRj
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRF
eHRlbnNpb25Db21waWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25z
L0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBD
b250ZW50RXh0ZW5zaW9ucyB7CiAKIGNsYXNzIENvbnRlbnRFeHRlbnNpb25Db21waWxhdGlvbkNs
aWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+Q29udGVudEV4dGVuc2lvbkNvbXBpbGF0aW9u
Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+Q29udGVudEV4dGVuc2lvbkNvbXBpbGF0aW9uQ2xp
ZW50KCkgPSBkZWZhdWx0OwogICAgIAogICAgIC8vIEZ1bmN0aW9ucyBzaG91bGQgYmUgY2FsbGVk
IGluIHRoaXMgb3JkZXIuIEFsbCBleGNlcHQgd3JpdGVBY3Rpb25zIGFuZCBmaW5hbGl6ZSBjYW4g
YmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCB0aG91Z2guCiAgICAgdmlydHVhbCB2b2lkIHdyaXRl
U291cmNlKGNvbnN0IFN0cmluZyYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nv
bnRlbnRleHRlbnNpb25zL1VSTEZpbHRlclBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250
ZW50ZXh0ZW5zaW9ucy9VUkxGaWx0ZXJQYXJzZXIuY3BwCmluZGV4IGEyZTBkNjA0NTQ5NWQ0OGRi
ZjE4YzhmOTQ3YjIzYWU0YTc3OTlhN2UuLjIyZGZjMTNhODQ2ZjQ2YTgyYmZmNmMwNDc4NzQ5NDVl
ZWYzZGU5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL1VS
TEZpbHRlclBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMv
VVJMRmlsdGVyUGFyc2VyLmNwcApAQCAtMzM3LDkgKzMzNyw3IEBAIFVSTEZpbHRlclBhcnNlcjo6
VVJMRmlsdGVyUGFyc2VyKENvbWJpbmVkVVJMRmlsdGVycyYgY29tYmluZWRVUkxGaWx0ZXJzKQog
ewogfQogCi1VUkxGaWx0ZXJQYXJzZXI6On5VUkxGaWx0ZXJQYXJzZXIoKQotewotfQorVVJMRmls
dGVyUGFyc2VyOjp+VVJMRmlsdGVyUGFyc2VyKCkgPSBkZWZhdWx0OwogCiBVUkxGaWx0ZXJQYXJz
ZXI6OlBhcnNlU3RhdHVzIFVSTEZpbHRlclBhcnNlcjo6YWRkUGF0dGVybihjb25zdCBTdHJpbmcm
IHBhdHRlcm4sIGJvb2wgcGF0dGVybklzQ2FzZVNlbnNpdGl2ZSwgdWludDY0X3QgcGF0dGVybklk
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzLmgKaW5kZXggMGMxNTQ4NWM5ZTJmMTE3MDBhMGE0YmMyNjNmZWJmNTdiNGM5NjI3MC4uMjll
NTU3MjNhYTk2OGJjYWNjOTI4OWFlNWQ5YWI3MzZlMDlhYTZlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oCkBAIC01OCw3ICs1OCw3
IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbmFtZTsKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGlkZW50aWZpZXI7CiAKLSAgICB2aXJ0dWFsIH5DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
KCkgeyB9CisgICAgdmlydHVhbCB+Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycygpID0gZGVmYXVs
dDsKIAogICAgIHZpcnR1YWwgQ2xhc3MgcGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgeyByZXR1cm4g
Q2xhc3M6Ok5vbmU7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5
cHRvS2V5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuY3BwCmluZGV4IDY0
MjBlNTdiZWY4Y2NiYTFiMzhhMGQ3NmUwZjE1MTM5NDFhM2MxMjAuLmVkNDg4NzE2OTY4ZWYzMTE4
NmQ2MWU3YWVkZjlkMGVlMzI3ZWY2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9DcnlwdG9LZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuY3Bw
CkBAIC00MSw5ICs0MSw3IEBAIENyeXB0b0tleTo6Q3J5cHRvS2V5KENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIgYWxnb3JpdGhtSWRlbnRpZmllciwgVHlwZSB0eXBlLCBiCiB7CiB9CiAKLUNyeXB0
b0tleTo6fkNyeXB0b0tleSgpCi17Ci19CitDcnlwdG9LZXk6On5DcnlwdG9LZXkoKSA9IGRlZmF1
bHQ7CiAKIGF1dG8gQ3J5cHRvS2V5Ojp1c2FnZXMoKSBjb25zdCAtPiBWZWN0b3I8Q3J5cHRvS2V5
VXNhZ2U+CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRv
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uY3BwCmluZGV4IDg1OTgz
ZGFlYzQ4Y2ViNDFiZjdjOWE1Y2FhMTllMDAzYmQwNjlkM2IuLjM3YWI2NzI5NzUzYTNhOTE1Yjdj
ZWNlMWZjMmYzZjE5MjlmMDVjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9T
dWJ0bGVDcnlwdG8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8u
Y3BwCkBAIC02Myw5ICs2Myw3IEBAIFN1YnRsZUNyeXB0bzo6U3VidGxlQ3J5cHRvKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7CiB9CiAKLVN1YnRsZUNyeXB0bzo6flN1YnRsZUNy
eXB0bygpCi17Ci19CitTdWJ0bGVDcnlwdG86On5TdWJ0bGVDcnlwdG8oKSA9IGRlZmF1bHQ7CiAK
IGVudW0gY2xhc3MgT3BlcmF0aW9ucyB7CiAgICAgRW5jcnlwdCwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCmluZGV4IDE2NTgzYjdkNGU2NDZiMTZmNzcyZDU0
N2IwYWFmOGY0NDEzZmNjMmEuLjBkNTcyYTk5OGZjOTk1NTAyMjA4NWYyZGFjMGVmN2UzMzBiZTVj
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcApAQCAt
NTYsOSArNTYsNyBAQCBDcnlwdG9LZXlBRVM6OkNyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGFsZ29yaXRobSwgVmVjdG9yPHVpbnQ4X3Q+JgogICAgIEFTU0VSVChpc1ZhbGlk
QUVTQWxnb3JpdGhtKGFsZ29yaXRobSkpOwogfQogCi1DcnlwdG9LZXlBRVM6On5DcnlwdG9LZXlB
RVMoKQotewotfQorQ3J5cHRvS2V5QUVTOjp+Q3J5cHRvS2V5QUVTKCkgPSBkZWZhdWx0OwogCiBi
b29sIENyeXB0b0tleUFFUzo6aXNWYWxpZEFFU0FsZ29yaXRobShDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGFsZ29yaXRobSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUhNQUMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5SE1BQy5jcHAKaW5kZXggZTY2ODIyNjNmMTZjODQxMTkwNzYwN2YzYWRkM2E3ZTQ1MmRlOGU4
OC4uOWU2NTUwZGFkZmEwODg0ODc4NWUzM2Y0NjIxOWRhOWUxODRiMjU3ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKQEAgLTY3LDkgKzY3LDcgQEAg
Q3J5cHRvS2V5SE1BQzo6Q3J5cHRvS2V5SE1BQyhWZWN0b3I8dWludDhfdD4mJiBrZXksIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIgaGEKIHsKIH0KIAotQ3J5cHRvS2V5SE1BQzo6fkNyeXB0b0tl
eUhNQUMoKQotewotfQorQ3J5cHRvS2V5SE1BQzo6fkNyeXB0b0tleUhNQUMoKSA9IGRlZmF1bHQ7
CiAKIFJlZlB0cjxDcnlwdG9LZXlITUFDPiBDcnlwdG9LZXlITUFDOjpnZW5lcmF0ZShzaXplX3Qg
bGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0FDb21wb25lbnRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCmluZGV4IGIyZWFh
ZmNhZjQyNjMxMmJjOTYzZjY5MjI2NThiMWZmZTM1ZWJiZDEuLjNkNzQzNTU2NWRiYmNhYTRhNmZi
NGZkN2M4YWQxOGFjOTQ2YWU5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0tleVJTQUNvbXBvbmVudHMuY3BwCkBAIC04Niw5ICs4Niw3IEBAIENyeXB0
b0tleVJTQUNvbXBvbmVudHM6OkNyeXB0b0tleVJTQUNvbXBvbmVudHMoVmVjdG9yPHVpbnQ4X3Q+
JiYgbW9kdWx1cywgVmVjdG9yCiB7CiB9CiAKLUNyeXB0b0tleVJTQUNvbXBvbmVudHM6On5Dcnlw
dG9LZXlSU0FDb21wb25lbnRzKCkKLXsKLX0KK0NyeXB0b0tleVJTQUNvbXBvbmVudHM6On5Dcnlw
dG9LZXlSU0FDb21wb25lbnRzKCkgPSBkZWZhdWx0OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKaW5kZXggNmY0NDljYzcwNzE4NDFhYTM2
NjkwNGYwZDRhOTkyYmQ0OWY3NmNlZi4uZjliMWU0OGNiM2M1NTQwOGVmMmI5NTRlNDJkZDQ2OGQx
OGUyNWZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKQEAgLTU1LDEwICs1NSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBl
JikgY29uc3QgPSAwOwogCiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+Q1NTQmFzaWNTaGFwZSgpIHsg
fQorICAgIHZpcnR1YWwgfkNTU0Jhc2ljU2hhcGUoKSA9IGRlZmF1bHQ7CiAKIHByb3RlY3RlZDoK
LSAgICBDU1NCYXNpY1NoYXBlKCkgeyB9CisgICAgQ1NTQmFzaWNTaGFwZSgpID0gZGVmYXVsdDsK
ICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fcmVmZXJlbmNlQm94OwogfTsKIApAQCAt
MTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJvdHRvbUxlZnRSYWRpdXMoUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYmIHJhZGl1cykgeyBtX2JvdHRvbUxlZnRSYWRpdXMgPSBX
VEZNb3ZlKHJhZGl1cyk7IH0KIAogcHJpdmF0ZToKLSAgICBDU1NCYXNpY1NoYXBlSW5zZXQoKSB7
IH0KKyAgICBDU1NCYXNpY1NoYXBlSW5zZXQoKSA9IGRlZmF1bHQ7CiAKICAgICBUeXBlIHR5cGUo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NCYXNpY1NoYXBlSW5zZXRUeXBlOyB9CiAgICAgU3Ry
aW5nIGNzc1RleHQoKSBjb25zdCBmaW5hbDsKQEAgLTE0MCw3ICsxNDAsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRSYWRpdXMoUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIHJhZGl1cykgeyBtX3Jh
ZGl1cyA9IFdURk1vdmUocmFkaXVzKTsgfQogCiBwcml2YXRlOgotICAgIENTU0Jhc2ljU2hhcGVD
aXJjbGUoKSB7IH0KKyAgICBDU1NCYXNpY1NoYXBlQ2lyY2xlKCkgPSBkZWZhdWx0OwogCiAgICAg
VHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTQmFzaWNTaGFwZUNpcmNsZVR5cGU7
IH0KICAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IGZpbmFsOwpAQCAtMTY2LDcgKzE2Niw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFJhZGl1c1koUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIHJh
ZGl1c1kpIHsgbV9yYWRpdXNZID0gV1RGTW92ZShyYWRpdXNZKTsgfQogCiBwcml2YXRlOgotICAg
IENTU0Jhc2ljU2hhcGVFbGxpcHNlKCkgeyB9CisgICAgQ1NTQmFzaWNTaGFwZUVsbGlwc2UoKSA9
IGRlZmF1bHQ7CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NCYXNp
Y1NoYXBlRWxsaXBzZVR5cGU7IH0KICAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmgKaW5kZXggMmM3N2M2NDEzMGVh
ZmYzMzljNGRlMTJjMDc3NDM1ZDhhYjcxYWE0NS4uOTBlYjljZDEzMjI3ZjYzMDQ1M2YyMTc5ODU3
MmI3OGY3MGFiZDI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0
aW9uVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5o
CkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICAgICAgQ3NzQ2FsY09wZXJhdGlvbgogICAg
IH07CiAKLSAgICB2aXJ0dWFsIH5DU1NDYWxjRXhwcmVzc2lvbk5vZGUoKSB7IH0KKyAgICB2aXJ0
dWFsIH5DU1NDYWxjRXhwcmVzc2lvbk5vZGUoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCBib29s
IGlzWmVybygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDYWxjRXhw
cmVzc2lvbk5vZGU+IGNyZWF0ZUNhbGNFeHByZXNzaW9uKGNvbnN0IENTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBj
b25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IGIxNzNiOGNmNjMxZjNhZGNkNTcwOTgzMjUzNGY1YzJjOTFhNGM5
M2QuLjM5MmRmMzQyZWU2M2U3ZjU1NDJhYTAwNDYzNjAxZjQ4YmFmOTUxZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0x
NjYwLDkgKzE2NjAsNyBAQCBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OkNTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbihFbGVtZW50JiBlbGVtZW50LCBib29sCiAgICAgKHBzZXVkb0VsZW1l
bnROYW1lLnN1YnN0cmluZ1NoYXJpbmdJbXBsKG5hbWVXaXRob3V0Q29sb25zU3RhcnQpKSkpOwog
fQogCi1DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246On5DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24oKQotewotfQorQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp+Q1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uKCkgPSBkZWZhdWx0OwogCiB2b2lkIENTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6cmVmKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb250
ZW50RGlzdHJpYnV0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbnRlbnRE
aXN0cmlidXRpb25WYWx1ZS5jcHAKaW5kZXggZTg1MTBlYzJjNmFhYTk1OTgxY2Y5MmU2MDRiNTgz
Y2I2Yjk0MzQ2Yy4uOTFhZmFkNmJkNWIxZjgxMjkwYWIyMTRjZWVkMDgwNWM4MTgzMTRkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZS5j
cHAKQEAgLTM4LDkgKzM4LDcgQEAgQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlOjpDU1NDb250
ZW50RGlzdHJpYnV0aW9uVmFsdWUoQ1NTVmFsdWVJRCBkaXN0cmlidXRpb24KIHsKIH0KIAotQ1NT
Q29udGVudERpc3RyaWJ1dGlvblZhbHVlOjp+Q1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlKCkK
LXsKLX0KK0NTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZTo6fkNTU0NvbnRlbnREaXN0cmlidXRp
b25WYWx1ZSgpID0gZGVmYXVsdDsKIAogU3RyaW5nIENTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1
ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZpbHRlcklt
YWdlVmFsdWUuaAppbmRleCBhYmJiMWE1OWU3NjdlZDk1MWI0MDNjZTQ2ZWMxNzRkNzJiOTg1NWZi
Li4zZmZjNGYyODY3ODVjZDM1MTI3ZWJjMmQwZTFjOTg2OTVmMzQ1ZGQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmgKQEAgLTk0LDcgKzk0LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgewogICAgICAgICB9CiAKLSAgICAgICAgdmlydHVhbCB+RmlsdGVyU3ViaW1hZ2VP
YnNlcnZlclByb3h5KCkgeyB9CisgICAgICAgIHZpcnR1YWwgfkZpbHRlclN1YmltYWdlT2JzZXJ2
ZXJQcm94eSgpID0gZGVmYXVsdDsKICAgICAgICAgdm9pZCBpbWFnZUNoYW5nZWQoQ2FjaGVkSW1h
Z2UqLCBjb25zdCBJbnRSZWN0KiA9IG51bGxwdHIpIGZpbmFsOwogICAgICAgICB2b2lkIHNldFJl
YWR5KGJvb2wgcmVhZHkpIHsgbV9yZWFkeSA9IHJlYWR5OyB9CiAgICAgcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuY3BwCmluZGV4IDE5YzFmMzEwMzQxZjlhNGNmNjVjMTY1MjlkMGIz
MTJhYzYxNzc0MDQuLmMzMmQ3MGNjNmU1ZjFhYzNiOWZjN2MwN2RiNmQ4MTA5ZWEwNmFkNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApAQCAtOTgsOSArOTgsNyBAQCBDU1NGb250RmFj
ZTo6Q1NTRm9udEZhY2UoQ1NTRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IsIFN0eWxlUnVsZUZv
bnRGYWNlKiBjc3NDbwogewogfQogCi1DU1NGb250RmFjZTo6fkNTU0ZvbnRGYWNlKCkKLXsKLX0K
K0NTU0ZvbnRGYWNlOjp+Q1NTRm9udEZhY2UoKSA9IGRlZmF1bHQ7CiAKIGJvb2wgQ1NTRm9udEZh
Y2U6OnNldEZhbWlsaWVzKENTU1ZhbHVlJiBmYW1pbHkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZS5oCmluZGV4IDMzMDFlZjhmNTgzYWFhZGY3MDY5ZGQyMjFkODhjMmQxMjVkYTg3MmUuLjM3Njcz
YWI3NjdjZjQyNzlmMGFhNDcwYWRjZDZmNTU5MTNlYzU4MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZS5oCkBAIC0xMTcsNyArMTE3LDcgQEAgcHVibGljOgogCiAgICAgY2xhc3MgQ2xpZW50IHsK
ICAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkNsaWVudCgpIHsgfQorICAgICAgICB2aXJ0
dWFsIH5DbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250TG9hZGVk
KENTU0ZvbnRGYWNlJikgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250U3RhdGVDaGFuZ2Vk
KENTU0ZvbnRGYWNlJiwgU3RhdHVzIC8qb2xkU3RhdGUqLywgU3RhdHVzIC8qbmV3U3RhdGUqLykg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250UHJvcGVydHlDaGFuZ2VkKENTU0ZvbnRGYWNl
JiwgQ1NTVmFsdWVMaXN0KiAvKm9sZEZhbWlsaWVzKi8gPSBudWxscHRyKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlU2V0LmgKaW5kZXggYjYzYmE2YmZlZTU0MmY5MzZjNTU2ZjZhMGRhN2Q5
ZmJlOWY0NzEyYi4uZDhjOGMyNGZjMzE3MzM1OWZkMjJhNmE0YmI0YWVkZTgzM2JlMDI3OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgRm9u
dEZhY2VTZXQ7CiAKIGNsYXNzIENTU0ZvbnRGYWNlU2V0Q2xpZW50IHsKIHB1YmxpYzoKLSAgICB2
aXJ0dWFsIH5DU1NGb250RmFjZVNldENsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkNTU0ZvbnRG
YWNlU2V0Q2xpZW50KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgdm9pZCBmYWNlRmluaXNoZWQo
Q1NTRm9udEZhY2UmLCBDU1NGb250RmFjZTo6U3RhdHVzKSB7IH07CiAgICAgdmlydHVhbCB2b2lk
IGZvbnRNb2RpZmllZCgpIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRlZExvYWRpbmcoKSB7
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaApp
bmRleCBkNGI5ODY4MjkyZWQ0YmI5N2Q0YjY5ZWFkOGViNGE3MTA5YThmYzgxLi4wZTJmMGNmNzM2
YWVjMTgxNDdkNTA4Yzk5NWEyY2FhYTkyMTU2ZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKGdy
aWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQpKTsKICAgICB9CiAKLSAgICB+Q1NTR3Jp
ZFRlbXBsYXRlQXJlYXNWYWx1ZSgpIHsgfQorICAgIH5DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
KCkgPSBkZWZhdWx0OwogCiAgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDk4NDk0
OTEzNWYwYTBmMThiZDFkZDM4ZjA2MzUzY2FjZWQ5ZGUwNWEuLmUyMGFhMmY1ZjZiZjkwZGM1ZmNm
NzA0ZTM2MGVmMzFiZTdkNDc1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZUdlbmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTYzLDkgKzYzLDcgQEAgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShDbGFzc1R5cGUgY2xhc3NUeXBlKQogewogfQogCi1D
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjp+Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpCi17Ci19CitD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjp+Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpID0gZGVmYXVs
dDsKIAogdm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjphZGRDbGllbnQoUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VT
ZXRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKaW5k
ZXggYmJkNjA0MTI2NGIzYmE5NzZhYzBmOGI3YTMzMzZlYzdiZjRkNWNiMC4uYTY4MWI4YmYxMTlj
YmI1ODBkMTNiOWI2YTM2Y2JmZGZlNjVmZWE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZVNldFZhbHVlLmNwcApAQCAtNDMsOSArNDMsNyBAQCBDU1NJbWFnZVNldFZhbHVlOjpDU1NJbWFn
ZVNldFZhbHVlKCkKIHsKIH0KIAotQ1NTSW1hZ2VTZXRWYWx1ZTo6fkNTU0ltYWdlU2V0VmFsdWUo
KQotewotfQorQ1NTSW1hZ2VTZXRWYWx1ZTo6fkNTU0ltYWdlU2V0VmFsdWUoKSA9IGRlZmF1bHQ7
CiAKIHZvaWQgQ1NTSW1hZ2VTZXRWYWx1ZTo6ZmlsbEltYWdlU2V0KCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCBkZjliNTUzZGFlOWQ4NDcxNjdlMTJhOGNiOTFmNjZh
NWEyZTE0M2IxLi4zNzM2M2QwYmI0ZWFmMjBhODNjNzI2Njk5NTUyMTFlYTNkOWQxODBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCkBAIC01MCw5ICs1MCw3IEBAIENTU0ltYWdl
VmFsdWU6OkNTU0ltYWdlVmFsdWUoQ2FjaGVkSW1hZ2UmIGltYWdlKQogfQogCiAKLUNTU0ltYWdl
VmFsdWU6On5DU1NJbWFnZVZhbHVlKCkKLXsKLX0KK0NTU0ltYWdlVmFsdWU6On5DU1NJbWFnZVZh
bHVlKCkgPSBkZWZhdWx0OwogCiBib29sIENTU0ltYWdlVmFsdWU6OmlzUGVuZGluZygpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlmcmFtZVJ1bGUuY3BwCmluZGV4IGFlMDNlZWUyM2E4
OGM5Y2ZkMTQ3YWEzZDBiMmRhZmU5N2M0MTUyZmIuLjgxZTk5NThiZmFlMDU5MWVkYjMzNDBkM2Vi
ZDI2ZTM2MzM3MjU0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlmcmFt
ZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlmcmFtZVJ1bGUuY3BwCkBA
IC00Nyw5ICs0Nyw3IEBAIFN0eWxlUnVsZUtleWZyYW1lOjpTdHlsZVJ1bGVLZXlmcmFtZShzdGQ6
OnVuaXF1ZV9wdHI8VmVjdG9yPGRvdWJsZT4+IGtleXMsIFJlZjxTCiB7CiB9CiAgICAgCi1TdHls
ZVJ1bGVLZXlmcmFtZTo6flN0eWxlUnVsZUtleWZyYW1lKCkKLXsKLX0KK1N0eWxlUnVsZUtleWZy
YW1lOjp+U3R5bGVSdWxlS2V5ZnJhbWUoKSA9IGRlZmF1bHQ7CiAKIE11dGFibGVTdHlsZVByb3Bl
cnRpZXMmIFN0eWxlUnVsZUtleWZyYW1lOjptdXRhYmxlUHJvcGVydGllcygpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTS2V5ZnJhbWVzUnVsZS5jcHAKaW5kZXggNDIyZTA2MGNjYWVmMjIyMzhmMzA5
MmQyNjA5MjJkYTE2NTQ5Y2EyYi4uOWYwMDBkOWNmMjY4NzU0NDE2OGZlOWFhYjc3YzY2YzlmNjdh
MjM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0tleWZyYW1lc1J1bGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlmcmFtZXNSdWxlLmNwcApAQCAtNTksOSAr
NTksNyBAQCBTdHlsZVJ1bGVLZXlmcmFtZXM6OlN0eWxlUnVsZUtleWZyYW1lcyhjb25zdCBTdHls
ZVJ1bGVLZXlmcmFtZXMmIG8pCiAgICAgICAgIG1fa2V5ZnJhbWVzLnVuY2hlY2tlZEFwcGVuZChr
ZXlmcmFtZS5jb3B5UmVmKCkpOwogfQogCi1TdHlsZVJ1bGVLZXlmcmFtZXM6On5TdHlsZVJ1bGVL
ZXlmcmFtZXMoKQotewotfQorU3R5bGVSdWxlS2V5ZnJhbWVzOjp+U3R5bGVSdWxlS2V5ZnJhbWVz
KCkgPSBkZWZhdWx0OwogCiB2b2lkIFN0eWxlUnVsZUtleWZyYW1lczo6cGFyc2VEZWZlcnJlZFJ1
bGVzSWZOZWVkZWQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZVJ1bGUu
Y3BwCmluZGV4IDRhODhlZTljNWQ3Zjk2MGUwYzIyYzhiY2RhN2IzNjliOTZlMDE0ZDEuLjNkM2Vj
NmZmMDdkMjViOGIxZGIwZmE0NzdlNmRmZjkzYmY1Y2JhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2VSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTmFtZXNwYWNlUnVsZS5jcHAKQEAgLTM4LDkgKzM4LDcgQEAgQ1NTTmFtZXNwYWNlUnVsZTo6
Q1NTTmFtZXNwYWNlUnVsZShTdHlsZVJ1bGVOYW1lc3BhY2UmIG5hbWVzcGFjZVJ1bGUsIENTU1N0
eWxlU2gKIHsKIH0KIAotQ1NTTmFtZXNwYWNlUnVsZTo6fkNTU05hbWVzcGFjZVJ1bGUoKQotewot
fQorQ1NTTmFtZXNwYWNlUnVsZTo6fkNTU05hbWVzcGFjZVJ1bGUoKSA9IGRlZmF1bHQ7CiAKIEF0
b21pY1N0cmluZyBDU1NOYW1lc3BhY2VSdWxlOjpuYW1lc3BhY2VVUkkoKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmgKaW5kZXggMWM3YjFmM2I3YmMxMzdmYThmYmQwMGM3Yjg4YzRkOWI1MjRiOTJl
Yi4uZTlmNjM2ODdjNTkzOTNhNTMyMDFiNzJlMWZlMTJmNzQ4ODE1MDQwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5oCkBAIC0zNCw3ICszNCw3IEBAIHN0cnVjdCBDU1NQYXJzZXJDb250ZXh0OwogCiBjbGFz
cyBDU1NSdWxlIDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTUnVsZT4gewogcHVibGljOgotICAgIHZp
cnR1YWwgfkNTU1J1bGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5DU1NSdWxlKCkgPSBkZWZhdWx0Owog
CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVU5LTk9XTl9SVUxFLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlTGlzdC5jcHAKaW5kZXggNzM2ZmY0Mjc5NmQzMmRiYjYzNGQ3NGRmYzU3Y2Y0OTQ0NWZjMGY5
ZC4uYTA0MDEwOTE2OTg5MmYzNzM1MjZhMGQwYmU1ZTQxNjNmYzFkNmVmOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZUxpc3QuY3BwCkBAIC0yNiwyMiArMjYsMTYgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1DU1NSdWxlTGlzdDo6Q1NTUnVsZUxpc3QoKQotewotfQorQ1NTUnVsZUxpc3Q6OkNT
U1J1bGVMaXN0KCkgPSBkZWZhdWx0OwogCi1DU1NSdWxlTGlzdDo6fkNTU1J1bGVMaXN0KCkKLXsK
LX0KK0NTU1J1bGVMaXN0Ojp+Q1NTUnVsZUxpc3QoKSA9IGRlZmF1bHQ7CiAKIFN0YXRpY0NTU1J1
bGVMaXN0OjpTdGF0aWNDU1NSdWxlTGlzdCgpIAogICAgIDogbV9yZWZDb3VudCgxKQogeyAKIH0K
IAotU3RhdGljQ1NTUnVsZUxpc3Q6On5TdGF0aWNDU1NSdWxlTGlzdCgpCi17Ci19CitTdGF0aWND
U1NSdWxlTGlzdDo6flN0YXRpY0NTU1J1bGVMaXN0KCkgPSBkZWZhdWx0OwogCiB2b2lkIFN0YXRp
Y0NTU1J1bGVMaXN0OjpkZXJlZigpCiB7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5k
ZXggODNmMDdjOTQyNGFhODIxNzMzZmUxNzM5YjMzZjQwMjZkMDJlYWM5NC4uOGQyNjkxMmRkZWY1
ZTc1OTMwNGY1YTY0MzhlZDkxNWJjMWJhMGQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwCkBAIC04MjgsOSArODI4LDcgQEAgQ1NTU2VsZWN0b3I6OlJhcmVEYXRhOjpSYXJlRGF0YShB
dG9taWNTdHJpbmcmJiB2YWx1ZSkKIHsKIH0KIAotQ1NTU2VsZWN0b3I6OlJhcmVEYXRhOjp+UmFy
ZURhdGEoKQotewotfQorQ1NTU2VsZWN0b3I6OlJhcmVEYXRhOjp+UmFyZURhdGEoKSA9IGRlZmF1
bHQ7CiAKIC8vIGEgaGVscGVyIGZ1bmN0aW9uIGZvciBwYXJzaW5nIG50aC1hcmd1bWVudHMKIGJv
b2wgQ1NTU2VsZWN0b3I6OlJhcmVEYXRhOjpwYXJzZU50aCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlRGVjbGFyYXRpb24uaAppbmRleCA4Mzk5MTQyYzFkNmUyNDAzNzgzNGVjNzI3OThjYTFm
N2EyYjY1M2U1Li5kYmI5OTFhNmZhNzA0NmJhNjc2ZTJjZTQ2Mjc5NzhkN2Q3ZDliZGVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmgKQEAgLTQxLDcgKzQxLDcgQEAg
Y2xhc3MgU3R5bGVkRWxlbWVudDsKIGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb24gOiBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZURlY2xh
cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+
Q1NTU3R5bGVEZWNsYXJhdGlvbigpIHsgfQorICAgIHZpcnR1YWwgfkNTU1N0eWxlRGVjbGFyYXRp
b24oKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkZXJlZigpID0gMDsKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogICAgIFZlY3Rv
cjxBdG9taWNTdHJpbmc+IHN1cHBvcnRlZFByb3BlcnR5TmFtZXMoKSBjb25zdDsKIAogcHJvdGVj
dGVkOgotICAgIENTU1N0eWxlRGVjbGFyYXRpb24oKSB7IH0KKyAgICBDU1NTdHlsZURlY2xhcmF0
aW9uKCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N1cHBvcnRzUnVsZS5oCmluZGV4IDVlZGUxYWE1YzE5YzNiNDJjNzg0NTkxY2Q5MDA2
ODM1MTY1NjU3MjEuLmZlODM2NTBjMWY1MDlmNmI4M2I1MjU3ZGQxOGE5NzNkNTA5NDdiNzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdXBwb3J0c1J1bGUocnVsZSwgc2hl
ZXQpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5DU1NTdXBwb3J0c1J1bGUoKSB7IH0KKyAgICB2
aXJ0dWFsIH5DU1NTdXBwb3J0c1J1bGUoKSA9IGRlZmF1bHQ7CiAKICAgICBTdHJpbmcgY3NzVGV4
dCgpIGNvbnN0IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5r
bm93blJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5oCmluZGV4IGJl
MDY0NTMwYjcxM2Q2NDYxNGRmNjAzODc2ODk3NGIxMTM5MWU2MDguLmQwNDJjYTgxNzdiMzIxMWE1
MzQ2YjMxOTUwZWNmZTZhOTZjZDViMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NVbmtub3duUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5o
CkBAIC0zMiw3ICszMiw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB+
Q1NTVW5rbm93blJ1bGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5DU1NVbmtub3duUnVsZSgpID0gZGVm
YXVsdDsKIAogICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gU3RyaW5n
KCk7IH0KICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBmaW5hbCB7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmgKaW5kZXggMjQ4ZDAxZjg3MGQzYjZiNDMzZDFjMWMyMThlNGEwNjQ2YTY0YTBj
MS4uYTJmYmQwOTE3Y2U2NGJiOWU1ZjY2Y2E3MjcxZmFlMzFhMjY4ODc0OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmgKQEAgLTIxOCw3ICsyMTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTk9URTogVGhp
cyBjbGFzcyBpcyBub24tdmlydHVhbCBmb3IgbWVtb3J5IGFuZCBwZXJmb3JtYW5jZSByZWFzb25z
LgogICAgIC8vIERvbid0IGdvIG1ha2luZyBpdCB2aXJ0dWFsIGFnYWluIHVubGVzcyB5b3Uga25v
dyBleGFjdGx5IHdoYXQgeW91J3JlIGRvaW5nIQogCi0gICAgfkNTU1ZhbHVlKCkgeyB9CisgICAg
fkNTU1ZhbHVlKCkgPSBkZWZhdWx0OwogCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZGVzdHJveSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRD
U1NPTVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaApp
bmRleCBmMTdkOTZlMjkyZWNhODUzNDFhYjUwYzQ4ZGM2OTUwNjc0MzgyMDNlLi5mZGYwMTUxN2Rh
Y2FjYWE5YTYzNGY1MDA1NTUyZjE4ZDA2OWMzNWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVw
cmVjYXRlZENTU09NVmFsdWUuaApAQCAtODUsNyArODUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAv
LyBOT1RFOiBUaGlzIGNsYXNzIGlzIG5vbi12aXJ0dWFsIGZvciBtZW1vcnkgYW5kIHBlcmZvcm1h
bmNlIHJlYXNvbnMuCiAgICAgLy8gRG9uJ3QgZ28gbWFraW5nIGl0IHZpcnR1YWwgYWdhaW4gdW5s
ZXNzIHlvdSBrbm93IGV4YWN0bHkgd2hhdCB5b3UncmUgZG9pbmchCi0gICAgfkRlcHJlY2F0ZWRD
U1NPTVZhbHVlKCkgeyB9CisgICAgfkRlcHJlY2F0ZWRDU1NPTVZhbHVlKCkgPSBkZWZhdWx0Owog
CiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGVzdHJveSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNldHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0RvY3VtZW50UnVsZVNldHMuY3BwCmluZGV4IGUwZmNmYmMwMTVmOWIxMTk4Mzg2OWRk
ZTE1NmQ3ZTAwNzZjMDVlZWMuLjgzODEwOTYzN2NjNDFiYWI5Y2U1MDZjN2EzMzUwNjI5YzEwMzRk
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5jcHAKQEAgLTQ0LDkgKzQ0
LDcgQEAgRG9jdW1lbnRSdWxlU2V0czo6RG9jdW1lbnRSdWxlU2V0cyhTdHlsZVJlc29sdmVyJiBz
dHlsZVJlc29sdmVyKQogICAgIG1fYXV0aG9yU3R5bGUtPmRpc2FibGVBdXRvU2hyaW5rVG9GaXQo
KTsKIH0KIAotRG9jdW1lbnRSdWxlU2V0czo6fkRvY3VtZW50UnVsZVNldHMoKQotewotfQorRG9j
dW1lbnRSdWxlU2V0czo6fkRvY3VtZW50UnVsZVNldHMoKSA9IGRlZmF1bHQ7CiAKIFJ1bGVTZXQq
IERvY3VtZW50UnVsZVNldHM6OnVzZXJTdHlsZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
YWNlU2V0LmNwcAppbmRleCBlMjE5ZTJiN2FmYjdhYzNkMmY1OGY3MjUwOTlhMmUwNDdkMzcxYWIx
Li5mNGE3YmMwNDJlMDQ5N2JjODllNzZmOGEyYzJkMjkwNmE2YWZlYmU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Gb250RmFjZVNldC5jcHAKQEAgLTkwLDkgKzkwLDcgQEAgRm9udEZhY2VTZXQ6OlBlbmRpbmdQ
cm9taXNlOjpQZW5kaW5nUHJvbWlzZShMb2FkUHJvbWlzZSYmIHByb21pc2UpCiB7CiB9CiAKLUZv
bnRGYWNlU2V0OjpQZW5kaW5nUHJvbWlzZTo6flBlbmRpbmdQcm9taXNlKCkKLXsKLX0KK0ZvbnRG
YWNlU2V0OjpQZW5kaW5nUHJvbWlzZTo6flBlbmRpbmdQcm9taXNlKCkgPSBkZWZhdWx0OwogCiBi
b29sIEZvbnRGYWNlU2V0OjpoYXMoRm9udEZhY2UmIGZhY2UpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuY3BwCmluZGV4IGI3YzQ3NzRhNjkwNDc5ZjEwNGY2ZDFiMWE1NGQ2YjYwNDliYmQ5
YjkuLjgyZTdkZWZjZTUwZjY3OTU4Y2JmZGFhYTZlMDY4ODg0OWZhNWEyN2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYUxpc3QuY3BwCkBAIC02OSw5ICs2OSw3IEBAIFJlZjxNZWRpYVF1ZXJ5U2V0PiBNZWRp
YVF1ZXJ5U2V0OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBtZWRpYVN0cmluZykKICAgICByZXR1cm4g
TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VNZWRpYVF1ZXJ5U2V0KG1lZGlhU3RyaW5nKS5yZWxlYXNl
Tm9uTnVsbCgpOwogfQogCi1NZWRpYVF1ZXJ5U2V0OjpNZWRpYVF1ZXJ5U2V0KCkKLXsKLX0KK01l
ZGlhUXVlcnlTZXQ6Ok1lZGlhUXVlcnlTZXQoKSA9IGRlZmF1bHQ7CiAKIE1lZGlhUXVlcnlTZXQ6
Ok1lZGlhUXVlcnlTZXQoY29uc3QgTWVkaWFRdWVyeVNldCYgbykKICAgICA6IFJlZkNvdW50ZWQo
KQpAQCAtODAsOSArNzgsNyBAQCBNZWRpYVF1ZXJ5U2V0OjpNZWRpYVF1ZXJ5U2V0KGNvbnN0IE1l
ZGlhUXVlcnlTZXQmIG8pCiB7CiB9CiAKLU1lZGlhUXVlcnlTZXQ6On5NZWRpYVF1ZXJ5U2V0KCkK
LXsKLX0KK01lZGlhUXVlcnlTZXQ6On5NZWRpYVF1ZXJ5U2V0KCkgPSBkZWZhdWx0OwogCiBib29s
IE1lZGlhUXVlcnlTZXQ6OnNldChjb25zdCBTdHJpbmcmIG1lZGlhU3RyaW5nKQogewpAQCAtMTc3
LDkgKzE3Myw3IEBAIE1lZGlhTGlzdDo6TWVkaWFMaXN0KE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVl
cmllcywgQ1NTUnVsZSogcGFyZW50UnVsZSkKIHsKIH0KIAotTWVkaWFMaXN0Ojp+TWVkaWFMaXN0
KCkKLXsKLX0KK01lZGlhTGlzdDo6fk1lZGlhTGlzdCgpID0gZGVmYXVsdDsKIAogRXhjZXB0aW9u
T3I8dm9pZD4gTWVkaWFMaXN0OjpzZXRNZWRpYVRleHQoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCmluZGV4IDQwMTBjMjljN2E3ZDkzYWYy
NGU0YTU2MmMxNjVlOTg2YmEzMTVkZTguLmY0ZTEzODdlZmYyMWY0ZTlmMGM2MjBkM2ZiMTgxODhl
YWIzOWQ0N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmNwcApAQCAtNDEsOSAr
NDEsNyBAQCBSZWY8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlMaXN0OjpjcmVhdGUoTWVkaWFR
dWVyeU1hdGNoZXImIG1hdGNoZXIsIFJlZjxNZWRpYQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IE1lZGlhUXVlcnlMaXN0KG1hdGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRjaGVzKSk7CiB9CiAK
LU1lZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3QoKQotewotfQorTWVkaWFRdWVyeUxpc3Q6
On5NZWRpYVF1ZXJ5TGlzdCgpID0gZGVmYXVsdDsKIAogU3RyaW5nIE1lZGlhUXVlcnlMaXN0Ojpt
ZWRpYSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eU1hdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcApp
bmRleCA5ZTY2MTlkYmJiYWUwMzU2YjZkNWI2NGZiODAyNTEwOTAxNmJiNjhkLi4wODM0ZmNkOTdj
MWVmYjY1MWZiODQ1MjgzODgwODAyNjhkMjFhZWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TWF0Y2hlci5jcHAKQEAgLTQxLDkgKzQxLDcgQEAgTWVkaWFRdWVyeU1hdGNoZXI6Ok1l
ZGlhUXVlcnlNYXRjaGVyKERvY3VtZW50JiBkb2N1bWVudCkKIHsKIH0KIAotTWVkaWFRdWVyeU1h
dGNoZXI6On5NZWRpYVF1ZXJ5TWF0Y2hlcigpCi17Ci19CitNZWRpYVF1ZXJ5TWF0Y2hlcjo6fk1l
ZGlhUXVlcnlNYXRjaGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjpk
b2N1bWVudERlc3Ryb3llZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUGFp
ci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1BhaXIuaAppbmRleCAyMTY2ZTJlZjE3ZjE5MmIzZDY4
MTIwODUwMzgwMTBkNGNhZjA5ZTMzLi41NmFkMGQyYjA1YjU3YzJhMmQ3NjIyMzQwYzJkM2I3MjYz
M2EwOGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUGFpci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9QYWlyLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGFpcihXVEZNb3ZlKGZpcnN0KSwgV1RGTW92ZShz
ZWNvbmQpLCBlbmNvZGluZykpOwogICAgIH0KLSAgICB2aXJ0dWFsIH5QYWlyKCkgeyB9CisgICAg
dmlydHVhbCB+UGFpcigpID0gZGVmYXVsdDsKIAogICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBmaXJz
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlyc3QuZ2V0KCk7IH0KICAgICBDU1NQcmltaXRpdmVWYWx1
ZSogc2Vjb25kKCkgY29uc3QgeyByZXR1cm4gbV9zZWNvbmQuZ2V0KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9SZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUmVjdC5oCmlu
ZGV4IDdmMTE4ZjZhYWRkOThmOTg1ZGJmM2FiNWU4MTk0NWQ0Y2M3N2M2NDcuLmVjMWFhZTgyNTk1
ODE1MmY2YTMwOWRiNDI0NzVkYjA0OTIyYjViY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9SZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1JlY3QuaApAQCAtNDcsOCArNDcs
OCBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVjdEJhc2UoKSB7IH0KLSAg
ICB+UmVjdEJhc2UoKSB7IH0KKyAgICBSZWN0QmFzZSgpID0gZGVmYXVsdDsKKyAgICB+UmVjdEJh
c2UoKSA9IGRlZmF1bHQ7CiAKIHByaXZhdGU6CiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBtX3RvcDsKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAg
ICBSZWN0KCkgeyB9CisgICAgUmVjdCgpID0gZGVmYXVsdDsKICAgICBzdGF0aWMgU3RyaW5nIGdl
bmVyYXRlQ1NTU3RyaW5nKGNvbnN0IFN0cmluZyYgdG9wLCBjb25zdCBTdHJpbmcmIHJpZ2h0LCBj
b25zdCBTdHJpbmcmIGJvdHRvbSwgY29uc3QgU3RyaW5nJiBsZWZ0KQogICAgIHsKICAgICAgICAg
cmV0dXJuICJyZWN0KCIgKyB0b3AgKyAiLCAiICsgcmlnaHQgKyAiLCAiICsgYm90dG9tICsgIiwg
IiArIGxlZnQgKyAnKSc7CkBAIC04NCw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgUXVhZCgpIHsgfQorICAgIFF1YWQoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIFN0
cmluZyBnZW5lcmF0ZUNTU1N0cmluZyhjb25zdCBTdHJpbmcmIHRvcCwgY29uc3QgU3RyaW5nJiBy
aWdodCwgY29uc3QgU3RyaW5nJiBib3R0b20sIGNvbnN0IFN0cmluZyYgbGVmdCkKICAgICB7CiAg
ICAgICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCmluZGV4IDUy
YzlmOTg5ZWYzZmY5OTBkMzBkMzFjYzE3ZDA4OGFkYWM0OTJhMDMuLmMzYTU5NGYwZTk0Y2VlMmQx
MzRlMjBjZWViOWI4NmE4MjVmNTRlZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9S
dWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUnVsZVNldC5jcHAKQEAgLTE2Nywx
MyArMTY3LDkgQEAgUnVsZURhdGE6OlJ1bGVEYXRhKFN0eWxlUnVsZSogcnVsZSwgdW5zaWduZWQg
c2VsZWN0b3JJbmRleCwgdW5zaWduZWQgcG9zaXRpb24sIEEKICAgICBTZWxlY3RvckZpbHRlcjo6
Y29sbGVjdElkZW50aWZpZXJIYXNoZXMoc2VsZWN0b3IoKSwgbV9kZXNjZW5kYW50U2VsZWN0b3JJ
ZGVudGlmaWVySGFzaGVzLCBtYXhpbXVtSWRlbnRpZmllckNvdW50KTsKIH0KIAotUnVsZVNldDo6
UnVsZVNldCgpCi17Ci19CitSdWxlU2V0OjpSdWxlU2V0KCkgPSBkZWZhdWx0OwogCi1SdWxlU2V0
Ojp+UnVsZVNldCgpCi17Ci19CitSdWxlU2V0Ojp+UnVsZVNldCgpID0gZGVmYXVsdDsKIAogdm9p
ZCBSdWxlU2V0OjphZGRUb1J1bGVTZXQoY29uc3QgQXRvbWljU3RyaW5nJiBrZXksIEF0b21SdWxl
TWFwJiBtYXAsIGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0YSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUHJvcGVydGllcy5jcHAKaW5kZXggZWNmNWM4MTE0MWRiYjBhOWVmN2IxYzBkZGY2NjJiOTMz
MWI4ZDlhYS4uNjMxOTFlZGUzNzQ3MmNkMjliMjk0N2E3MmFkOTMyNDQ5YjY3YTE3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKQEAgLTg0LDkgKzg0LDcgQEAgTXV0YWJs
ZVN0eWxlUHJvcGVydGllczo6TXV0YWJsZVN0eWxlUHJvcGVydGllcyhjb25zdCBDU1NQcm9wZXJ0
eSogcHJvcGVydGllcywgdW4KICAgICAgICAgbV9wcm9wZXJ0eVZlY3Rvci51bmNoZWNrZWRBcHBl
bmQocHJvcGVydGllc1tpXSk7CiB9CiAKLU11dGFibGVTdHlsZVByb3BlcnRpZXM6On5NdXRhYmxl
U3R5bGVQcm9wZXJ0aWVzKCkKLXsKLX0KK011dGFibGVTdHlsZVByb3BlcnRpZXM6On5NdXRhYmxl
U3R5bGVQcm9wZXJ0aWVzKCkgPSBkZWZhdWx0OwogCiBJbW11dGFibGVTdHlsZVByb3BlcnRpZXM6
OkltbXV0YWJsZVN0eWxlUHJvcGVydGllcyhjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydGllcywg
dW5zaWduZWQgbGVuZ3RoLCBDU1NQYXJzZXJNb2RlIGNzc1BhcnNlck1vZGUpCiAgICAgOiBTdHls
ZVByb3BlcnRpZXMoY3NzUGFyc2VyTW9kZSwgbGVuZ3RoKQpAQCAtMTQyMSw5ICsxNDE5LDcgQEAg
RGVmZXJyZWRTdHlsZVByb3BlcnRpZXM6OkRlZmVycmVkU3R5bGVQcm9wZXJ0aWVzKGNvbnN0IENT
U1BhcnNlclRva2VuUmFuZ2UmIHJhbmcKICAgICBtX3Rva2Vucy5hcHBlbmQocmFuZ2UuYmVnaW4o
KSwgbGVuZ3RoKTsKIH0KICAgICAKLURlZmVycmVkU3R5bGVQcm9wZXJ0aWVzOjp+RGVmZXJyZWRT
dHlsZVByb3BlcnRpZXMoKQotewotfQorRGVmZXJyZWRTdHlsZVByb3BlcnRpZXM6On5EZWZlcnJl
ZFN0eWxlUHJvcGVydGllcygpID0gZGVmYXVsdDsKIAogUmVmPEltbXV0YWJsZVN0eWxlUHJvcGVy
dGllcz4gRGVmZXJyZWRTdHlsZVByb3BlcnRpZXM6OnBhcnNlRGVmZXJyZWRQcm9wZXJ0aWVzKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA0NGUzMzQ1NGQwZjU1ZWI5
NTRlMWYyN2M0ODU2MzA2MGUxNzdmYzQ1Li5lMjViZGU0NGRkZTBhZWFkZDBmZDQ3MWU1OTA4MzQ0
ZjU2YjJmYjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0yMDE4LDEz
ICsyMDE4LDkgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKGNv
bnN0IENTU1ZhbHVlJiBpblZhbHVlLCBGaWx0ZXJPcGVyYXQKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotaW5saW5lIFN0eWxlUmVzb2x2ZXI6Ok1hdGNoZWRQcm9wZXJ0aWVzOjpNYXRjaGVkUHJvcGVy
dGllcygpCi17Ci19CitpbmxpbmUgU3R5bGVSZXNvbHZlcjo6TWF0Y2hlZFByb3BlcnRpZXM6Ok1h
dGNoZWRQcm9wZXJ0aWVzKCkgPSBkZWZhdWx0OwogCi1TdHlsZVJlc29sdmVyOjpNYXRjaGVkUHJv
cGVydGllczo6fk1hdGNoZWRQcm9wZXJ0aWVzKCkKLXsKLX0KK1N0eWxlUmVzb2x2ZXI6Ok1hdGNo
ZWRQcm9wZXJ0aWVzOjp+TWF0Y2hlZFByb3BlcnRpZXMoKSA9IGRlZmF1bHQ7CiAKIFN0eWxlUmVz
b2x2ZXI6OkNhc2NhZGVkUHJvcGVydGllczo6Q2FzY2FkZWRQcm9wZXJ0aWVzKFRleHREaXJlY3Rp
b24gZGlyZWN0aW9uLCBXcml0aW5nTW9kZSB3cml0aW5nTW9kZSkKICAgICA6IG1fZGlyZWN0aW9u
KGRpcmVjdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggNWVlZTJjYWI4YmI4ZWEw
NWQxZGRkZWNkZTYzMDU5NzU5OGRkMWUxNS4uMWM1M2JkNDk2ZmE1YWNmZWI5YzA0ZmMyNzQ2NmQ3
YzgwNGZkZjYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTE5NCw5ICsxOTQsNyBA
QCBTdHlsZVJ1bGU6OlN0eWxlUnVsZShjb25zdCBTdHlsZVJ1bGUmIG8pCiB7CiB9CiAKLVN0eWxl
UnVsZTo6flN0eWxlUnVsZSgpCi17Ci19CitTdHlsZVJ1bGU6On5TdHlsZVJ1bGUoKSA9IGRlZmF1
bHQ7CiAKIGNvbnN0IFN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlOjpwcm9wZXJ0aWVzKCkgY29u
c3QKIHsKQEAgLTI2Myw5ICsyNjEsNyBAQCBTdHlsZVJ1bGVQYWdlOjpTdHlsZVJ1bGVQYWdlKGNv
bnN0IFN0eWxlUnVsZVBhZ2UmIG8pCiB7CiB9CiAKLVN0eWxlUnVsZVBhZ2U6On5TdHlsZVJ1bGVQ
YWdlKCkKLXsKLX0KK1N0eWxlUnVsZVBhZ2U6On5TdHlsZVJ1bGVQYWdlKCkgPSBkZWZhdWx0Owog
CiBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGVQYWdlOjptdXRhYmxlUHJvcGVydGll
cygpCiB7CkBAIC0yODYsOSArMjgyLDcgQEAgU3R5bGVSdWxlRm9udEZhY2U6OlN0eWxlUnVsZUZv
bnRGYWNlKGNvbnN0IFN0eWxlUnVsZUZvbnRGYWNlJiBvKQogewogfQogCi1TdHlsZVJ1bGVGb250
RmFjZTo6flN0eWxlUnVsZUZvbnRGYWNlKCkKLXsKLX0KK1N0eWxlUnVsZUZvbnRGYWNlOjp+U3R5
bGVSdWxlRm9udEZhY2UoKSA9IGRlZmF1bHQ7CiAKIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0
eWxlUnVsZUZvbnRGYWNlOjptdXRhYmxlUHJvcGVydGllcygpCiB7CkBAIC00MTYsOSArNDEwLDcg
QEAgU3R5bGVSdWxlVmlld3BvcnQ6OlN0eWxlUnVsZVZpZXdwb3J0KGNvbnN0IFN0eWxlUnVsZVZp
ZXdwb3J0JiBvKQogewogfQogCi1TdHlsZVJ1bGVWaWV3cG9ydDo6flN0eWxlUnVsZVZpZXdwb3J0
KCkKLXsKLX0KK1N0eWxlUnVsZVZpZXdwb3J0Ojp+U3R5bGVSdWxlVmlld3BvcnQoKSA9IGRlZmF1
bHQ7CiAKIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZVZpZXdwb3J0OjptdXRhYmxl
UHJvcGVydGllcygpCiB7CkBAIC00MzgsOSArNDMwLDcgQEAgU3R5bGVSdWxlQ2hhcnNldDo6U3R5
bGVSdWxlQ2hhcnNldChjb25zdCBTdHlsZVJ1bGVDaGFyc2V0JiBvKQogewogfQogCi1TdHlsZVJ1
bGVDaGFyc2V0Ojp+U3R5bGVSdWxlQ2hhcnNldCgpCi17Ci19CitTdHlsZVJ1bGVDaGFyc2V0Ojp+
U3R5bGVSdWxlQ2hhcnNldCgpID0gZGVmYXVsdDsKIAogU3R5bGVSdWxlTmFtZXNwYWNlOjpTdHls
ZVJ1bGVOYW1lc3BhY2UoQXRvbWljU3RyaW5nIHByZWZpeCwgQXRvbWljU3RyaW5nIHVyaSkKICAg
ICA6IFN0eWxlUnVsZUJhc2UoTmFtZXNwYWNlKQpAQCAtNDU2LDggKzQ0Niw2IEBAIFN0eWxlUnVs
ZU5hbWVzcGFjZTo6U3R5bGVSdWxlTmFtZXNwYWNlKGNvbnN0IFN0eWxlUnVsZU5hbWVzcGFjZSYg
bykKIHsKIH0KIAotU3R5bGVSdWxlTmFtZXNwYWNlOjp+U3R5bGVSdWxlTmFtZXNwYWNlKCkKLXsK
LX0KK1N0eWxlUnVsZU5hbWVzcGFjZTo6flN0eWxlUnVsZU5hbWVzcGFjZSgpID0gZGVmYXVsdDsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IDFhYzBi
M2FlZjJlNGIyZmZiNjgzOGRkZWE3YzIwM2Y2ZjQwYjE5YmUuLjM5OGUzYjk0NDEwNTg0MzQ3OTNl
MmFjNjc1Y2UzOWVhMWM2OGI1M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTk1LDcgKzk1
LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAsIG1fdHlwZShvLm1fdHlwZSkKICAgICAgICAgeyB9
CiAKLSAgICB+U3R5bGVSdWxlQmFzZSgpIHsgfQorICAgIH5TdHlsZVJ1bGVCYXNlKCkgPSBkZWZh
dWx0OwogCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGVzdHJveSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5oCmluZGV4IDI2NGQ1NzBiNDE4OWU3NTE4NjE0NDJh
N2FhNDcwYzMxMTQ4MTUxYmUuLjFiMjUzNzI0ODIwOGE4OWY0MGM5NTFkZThmOGJkYTNlZTcxZTUw
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmgKQEAgLTU4LDcgKzU4LDcgQEAg
cHJpdmF0ZToKIGNsYXNzIEltcG9ydGVkU3R5bGVTaGVldENsaWVudCBmaW5hbCA6IHB1YmxpYyBD
YWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIEltcG9ydGVkU3R5
bGVTaGVldENsaWVudChTdHlsZVJ1bGVJbXBvcnQqIG93bmVyUnVsZSkgOiBtX293bmVyUnVsZShv
d25lclJ1bGUpIHsgfQotICAgICAgICB2aXJ0dWFsIH5JbXBvcnRlZFN0eWxlU2hlZXRDbGllbnQo
KSB7IH0KKyAgICAgICAgdmlydHVhbCB+SW1wb3J0ZWRTdHlsZVNoZWV0Q2xpZW50KCkgPSBkZWZh
dWx0OwogICAgICAgICB2b2lkIHNldENTU1N0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBj
b25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQ2FjaGVkQ1NT
U3R5bGVTaGVldCogc2hlZXQpIGZpbmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIG1fb3duZXJS
dWxlLT5zZXRDU1NTdHlsZVNoZWV0KGhyZWYsIGJhc2VVUkwsIGNoYXJzZXQsIHNoZWV0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0LmNwcAppbmRleCBmNjY2NTZmZjk0OTBiMDFlMjZhNzdlZDMwY2My
Y2MxMTE0MDk0NDg2Li5lMTllMjBmMjU4MDQxYzA1ZmY1MmUxZmRlYzdkNGEzMjBkYzcyZWE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuY3BwCkBAIC0yMiw4ICsyMiw2IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotU3R5bGVTaGVldDo6flN0eWxlU2hlZXQoKQotewotfQorU3R5bGVTaGVl
dDo6flN0eWxlU2hlZXQoKSA9IGRlZmF1bHQ7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dExpc3QuY3BwCmluZGV4IGUzM2Q3YTU4YTQxYTMyNGFjZmI4ZjIyMTliNWZmNjRmM2UwYzI3ZDEu
LmRjNzkyZDU1ZDA2NTc3MmU4YWRkYzk0OGQ2MThlODU2YTBkMjZkYmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRMaXN0LmNwcApAQCAtMzcsOSArMzcsNyBAQCBTdHlsZVNoZWV0TGlzdDo6
U3R5bGVTaGVldExpc3QoRG9jdW1lbnQqIGRvY3VtZW50KQogewogfQogCi1TdHlsZVNoZWV0TGlz
dDo6flN0eWxlU2hlZXRMaXN0KCkKLXsKLX0KK1N0eWxlU2hlZXRMaXN0Ojp+U3R5bGVTaGVldExp
c3QoKSA9IGRlZmF1bHQ7CiAKIGlubGluZSBjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlU2hlZXQ+
PiYgU3R5bGVTaGVldExpc3Q6OnN0eWxlU2hlZXRzKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9WaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNDI1YTE5M2Y2YTE4NTY0ZWFl
NjkxYjk2ZDFlNDljNTNjYjQ4MzEyMi4uNzE5ZjBkYTA0ZDg2N2Q2NTJkZWY4ZTE2ODRiN2ZmZGJi
OWE5NzM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNv
bHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5j
cHAKQEAgLTQ3LDkgKzQ3LDcgQEAgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpWaWV3cG9ydFN0eWxl
UmVzb2x2ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIEFTU0VSVChtX2RvY3VtZW50KTsKIH0K
IAotVmlld3BvcnRTdHlsZVJlc29sdmVyOjp+Vmlld3BvcnRTdHlsZVJlc29sdmVyKCkKLXsKLX0K
K1ZpZXdwb3J0U3R5bGVSZXNvbHZlcjo6flZpZXdwb3J0U3R5bGVSZXNvbHZlcigpID0gZGVmYXVs
dDsKIAogdm9pZCBWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6OmFkZFZpZXdwb3J0UnVsZShTdHlsZVJ1
bGVWaWV3cG9ydCogdmlld3BvcnRSdWxlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU01hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0
cml4LmNwcAppbmRleCAwYzVkNjk1MGFiMWY1MGM3YzhkYmM3ZjZhNDI5ZWZkN2EzOTNkZmI0Li43
YmRlNjRkM2E1YzhhZjA1Yjk4MmQ0ZTc5YjM4NjQ1NzhkOWM5MDFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTTWF0cml4LmNwcApAQCAtNTcsOSArNTcsNyBAQCBFeGNlcHRpb25PcjxSZWY8
V2ViS2l0Q1NTTWF0cml4Pj4gV2ViS2l0Q1NTTWF0cml4OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAotV2ViS2l0Q1NTTWF0cml4
Ojp+V2ViS2l0Q1NTTWF0cml4KCkKLXsKLX0KK1dlYktpdENTU01hdHJpeDo6fldlYktpdENTU01h
dHJpeCgpID0gZGVmYXVsdDsKIAogRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0Q1NTTWF0cml4Ojpz
ZXRNYXRyaXhWYWx1ZShjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VyLmNwcAppbmRleCAyMDcyMjBjNzhkMTQ4ZWM4NDExZDMxYjliMjhkMTMw
OWZhNDk0ZGM0Li43MjBiMjZiYTNiYTZjNjI0NWQ3MmFiZmQ5Yjc4MDc3YzM1MDZjMzQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC0xMTcsOSArMTE3LDcgQEAg
Q1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsK
IH0KIAotQ1NTUGFyc2VyOjp+Q1NTUGFyc2VyKCkKLXsKLX0KK0NTU1BhcnNlcjo6fkNTU1BhcnNl
cigpID0gZGVmYXVsdDsKIAogdm9pZCBDU1NQYXJzZXI6OnBhcnNlU2hlZXQoU3R5bGVTaGVldENv
bnRlbnRzKiBzaGVldCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIFJ1bGVQYXJzaW5nIHJ1bGVQYXJz
aW5nKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9NZWRpYVF1ZXJ5
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvTWVkaWFRdWVyeVBhcnNlci5j
cHAKaW5kZXggNWNiNjM0MWY0YWIxZDhlZjg5NDcyOTExY2ZjZTA3ZGJlZWFkNmVkYy4uYTFlNGQz
MmM1YmE2ODUzNjE2NzViMjM0NTBhOGMxOWYzYWI1Y2Y3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL01lZGlhUXVlcnlQYXJzZXIuY3BwCkBAIC03NCw3ICs3NCw3IEBAIE1lZGlh
UXVlcnlQYXJzZXI6Ok1lZGlhUXVlcnlQYXJzZXIoUGFyc2VyVHlwZSBwYXJzZXJUeXBlKQogICAg
ICAgICBtX3N0YXRlID0gJk1lZGlhUXVlcnlQYXJzZXI6OnJlYWRNZWRpYU5vdDsKIH0KIAotTWVk
aWFRdWVyeVBhcnNlcjo6fk1lZGlhUXVlcnlQYXJzZXIoKSB7IH0KK01lZGlhUXVlcnlQYXJzZXI6
On5NZWRpYVF1ZXJ5UGFyc2VyKCkgPSBkZWZhdWx0OwogCiB2b2lkIE1lZGlhUXVlcnlQYXJzZXI6
OnNldFN0YXRlQW5kUmVzdHJpY3QoU3RhdGUgc3RhdGUsIE1lZGlhUXVlcnk6OlJlc3RyaWN0b3Ig
cmVzdHJpY3RvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydENvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5jcHAKaW5kZXgg
NGMxODRhZjBiY2E0NTY3N2E3Y2JmNzQ0MDlmN2FhNTlhYWQ4Yzc1Zi4uODYwYmFlNThmOWY2YWZj
Mzc4OWZlYTc5ZDBkNWI2ZmU3YzVkZjdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0Fib3J0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0Q29udHJv
bGxlci5jcHAKQEAgLTQwLDkgKzQwLDcgQEAgQWJvcnRDb250cm9sbGVyOjpBYm9ydENvbnRyb2xs
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKIH0KIAotQWJvcnRDb250cm9s
bGVyOjp+QWJvcnRDb250cm9sbGVyKCkKLXsKLX0KK0Fib3J0Q29udHJvbGxlcjo6fkFib3J0Q29u
dHJvbGxlcigpID0gZGVmYXVsdDsKIAogQWJvcnRTaWduYWwmIEFib3J0Q29udHJvbGxlcjo6c2ln
bmFsKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01DYWxsYmFj
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NQ2FsbGJhY2suY3BwCmluZGV4IDVi
MTc0MWUxMzE4M2IwZjZmZWE4MTI2Y2MyOTFjZGZmNDkyMDlmMjcuLmFlN2E0YTE1MDE0NTg3MWI5
NDE0YjQxZDM5NzY0NDkzY2JiODVhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01DYWxsYmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTUNh
bGxiYWNrLmNwcApAQCAtNDAsOSArNDAsNyBAQCBBY3RpdmVET01DYWxsYmFjazo6QWN0aXZlRE9N
Q2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKIH0KIAotQWN0aXZl
RE9NQ2FsbGJhY2s6On5BY3RpdmVET01DYWxsYmFjaygpCi17Ci19CitBY3RpdmVET01DYWxsYmFj
azo6fkFjdGl2ZURPTUNhbGxiYWNrKCkgPSBkZWZhdWx0OwogCiBib29sIEFjdGl2ZURPTUNhbGxi
YWNrOjpjYW5JbnZva2VDYWxsYmFjaygpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rhc2suY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0FjdGl2ZURPTUNhbGxiYWNrTWljcm90YXNrLmNwcAppbmRleCA2NmY1OTBhNDk3NWFlOTY4
M2M2MWExNjE1ZjI5YmQxZGQ3NGE3MDAyLi5kOWIzODQ2ODFhYjk2YmFlNzY2NmFhODU5NDk0ZTAx
NGUyNjIwMGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NQ2FsbGJh
Y2tNaWNyb3Rhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01DYWxsYmFj
a01pY3JvdGFzay5jcHAKQEAgLTM1LDkgKzM1LDcgQEAgQWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rh
c2s6OkFjdGl2ZURPTUNhbGxiYWNrTWljcm90YXNrKE1pY3JvdGFza1F1ZXVlJiBxdWV1ZSwgU2MK
IHsKIH0KIAotQWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rhc2s6On5BY3RpdmVET01DYWxsYmFja01p
Y3JvdGFzaygpCi17Ci19CitBY3RpdmVET01DYWxsYmFja01pY3JvdGFzazo6fkFjdGl2ZURPTUNh
bGxiYWNrTWljcm90YXNrKCkgPSBkZWZhdWx0OwogCiBNaWNyb3Rhc2s6OlJlc3VsdCBBY3RpdmVE
T01DYWxsYmFja01pY3JvdGFzazo6cnVuKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BbmltYXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQW5pbWF0aW9uRXZl
bnQuY3BwCmluZGV4IDY3ZDIwMDZmOTcxY2E0YjFiZDhmMTYzNDg4MjhjODIzYmY1YWFjYjUuLmIw
YjQwYTdhMmUzOGE0ZWZmMDgzOGM5ZGJhY2U4MTdlYWE5ODczMTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9BbmltYXRpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0FuaW1hdGlvbkV2ZW50LmNwcApAQCAtNDIsOSArNDIsNyBAQCBBbmltYXRpb25FdmVudDo6QW5p
bWF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGFuaW1h
dGlvbgogewogfQogCi1BbmltYXRpb25FdmVudDo6fkFuaW1hdGlvbkV2ZW50KCkKLXsKLX0KK0Fu
aW1hdGlvbkV2ZW50Ojp+QW5pbWF0aW9uRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IFN0cmlu
ZyYgQW5pbWF0aW9uRXZlbnQ6OmFuaW1hdGlvbk5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9CZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAKaW5kZXggODZmZjllMDIzZDll
MzJjOWVmYmZiNTMzMzhmNzcyOTBmOWEzMzg3YS4uMWFmZjYwODY0NDI4OGRjMmYzMDYwZWUzODcz
N2RmNzQyMWY3ZDkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2Vy
dGVkRXZlbnQuY3BwCkBAIC0zNSw5ICszNSw3IEBAIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50OjpC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudChjb25zdCBTdHJpbmcmIHRleHQpCiB7CiB9CiAKLUJlZm9y
ZVRleHRJbnNlcnRlZEV2ZW50Ojp+QmVmb3JlVGV4dEluc2VydGVkRXZlbnQoKQotewotfQorQmVm
b3JlVGV4dEluc2VydGVkRXZlbnQ6On5CZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudCgpID0gZGVmYXVs
dDsKIAogRXZlbnRJbnRlcmZhY2UgQmVmb3JlVGV4dEluc2VydGVkRXZlbnQ6OmV2ZW50SW50ZXJm
YWNlKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGlwYm9hcmRF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpcGJvYXJkRXZlbnQuY3BwCmluZGV4IGJk
YzRiOWE1M2M0ODM4MzhhNTBhM2MxYmYwMzVmOGY5OWQxYmE3Y2YuLmI5YWU0NWQ4ZjhiNDQwZTc0
MGJjZmU1N2EyMjBiZDlkNTRhNjEzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
bGlwYm9hcmRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsaXBib2FyZEV2ZW50
LmNwcApAQCAtMzMsOSArMzMsNyBAQCBDbGlwYm9hcmRFdmVudDo6Q2xpcGJvYXJkRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0LCBJc1RydQogewogfQogCi1D
bGlwYm9hcmRFdmVudDo6fkNsaXBib2FyZEV2ZW50KCkKLXsKLX0KK0NsaXBib2FyZEV2ZW50Ojp+
Q2xpcGJvYXJkRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIEV2ZW50SW50ZXJmYWNlIENsaXBib2FyZEV2
ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vQ29tcG9zaXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRp
b25FdmVudC5jcHAKaW5kZXggM2U1ZWM4OWY3N2IwZDZmNWE5YmZmYmViMDI1NzRkNThmYjNiZDJj
MS4uOTE1YmUwMjJhMjA4MDYwOGE2OTZiYjI4ODJiMGQ0Y2VjOTBiZGYwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50LmNwcApAQCAtMjksOSArMjksNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUNvbXBvc2l0aW9uRXZlbnQ6OkNvbXBvc2l0aW9uRXZlbnQoKQotewot
fQorQ29tcG9zaXRpb25FdmVudDo6Q29tcG9zaXRpb25FdmVudCgpID0gZGVmYXVsdDsKIAogQ29t
cG9zaXRpb25FdmVudDo6Q29tcG9zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IERPTVdpbmRvdyogdmlldywgY29uc3QgU3RyaW5nJiBkYXRhKQogICAgIDogVUlFdmVudCh0eXBl
LCB0cnVlLCB0cnVlLCB2aWV3LCAwKQpAQCAtNDUsOSArNDMsNyBAQCBDb21wb3NpdGlvbkV2ZW50
OjpDb21wb3NpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYg
aW5pdGlhbAogewogfQogCi1Db21wb3NpdGlvbkV2ZW50Ojp+Q29tcG9zaXRpb25FdmVudCgpCi17
Ci19CitDb21wb3NpdGlvbkV2ZW50Ojp+Q29tcG9zaXRpb25FdmVudCgpID0gZGVmYXVsdDsKIAog
dm9pZCBDb21wb3NpdGlvbkV2ZW50Ojppbml0Q29tcG9zaXRpb25FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIERPTVdpbmRvdyog
dmlldywgY29uc3QgU3RyaW5nJiBkYXRhKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9t
RWxlbWVudFJlZ2lzdHJ5LmNwcAppbmRleCBmMmYxMDhiODAzZmRlMzkwMjhkYWU1YjhlN2Q4NjQ5
NDllOGZjMWE0Li43OTFiODZmOWM4MzkwNGIwODYyMDc3MTM4ODM3ZWI2ZmQ0ZjRhMjFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcApAQCAtNDcsMTAg
KzQ3LDEwIEBAIFJlZjxDdXN0b21FbGVtZW50UmVnaXN0cnk+IEN1c3RvbUVsZW1lbnRSZWdpc3Ry
eTo6Y3JlYXRlKERPTVdpbmRvdyYgd2luZG93KQogCiBDdXN0b21FbGVtZW50UmVnaXN0cnk6OkN1
c3RvbUVsZW1lbnRSZWdpc3RyeShET01XaW5kb3cmIHdpbmRvdykKICAgICA6IG1fd2luZG93KHdp
bmRvdykKLXsgfQoreworfQogCi1DdXN0b21FbGVtZW50UmVnaXN0cnk6On5DdXN0b21FbGVtZW50
UmVnaXN0cnkoKQoteyB9CitDdXN0b21FbGVtZW50UmVnaXN0cnk6On5DdXN0b21FbGVtZW50UmVn
aXN0cnkoKSA9IGRlZmF1bHQ7CiAKIC8vIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jY29u
Y2VwdC1zaGFkb3ctaW5jbHVkaW5nLXRyZWUtb3JkZXIKIHN0YXRpYyB2b2lkIGVucXVldWVVcGdy
YWRlSW5TaGFkb3dJbmNsdWRpbmdUcmVlT3JkZXIoQ29udGFpbmVyTm9kZSYgbm9kZSwgSlNDdXN0
b21FbGVtZW50SW50ZXJmYWNlJiBlbGVtZW50SW50ZXJmYWNlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5jcHAKaW5kZXggMDgwY2FiNDU2N2I4MTdkYTE5ZDA2ODY1YzhmZjJjYjg4OTcxNDM4ZC4u
YmZjNTNlYTY4MjY5MGZlNWQzYTE1NmFjZTUxZWY3YTAyZWNmNzcwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Q3VzdG9tRXZlbnQuY3BwCkBAIC00MSw5ICs0MSw3IEBAIEN1c3RvbUV2ZW50OjpDdXN0b21FdmVu
dChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QK
IHsKIH0KIAotQ3VzdG9tRXZlbnQ6On5DdXN0b21FdmVudCgpCi17Ci19CitDdXN0b21FdmVudDo6
fkN1c3RvbUV2ZW50KCkgPSBkZWZhdWx0OwogCiB2b2lkIEN1c3RvbUV2ZW50Ojppbml0Q3VzdG9t
RXZlbnQoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJv
b2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIEpTQzo6SlNWYWx1ZSBkZXRhaWwpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdExpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVJlY3RMaXN0LmNwcAppbmRleCAzNmI5OWQxYzRkZmRjODhmMjQ3ZWZlMjU1
MWI3ODIzMDhjY2E4ZDI3Li43YzBhNjJjOTZhYjA4OWYyZGE2NDc1MGRlOGU1Y2JiMzBjMTk0Zjg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdExpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9ET01SZWN0TGlzdC5jcHAKQEAgLTQ0LDggKzQ0LDYgQEAgRE9NUmVj
dExpc3Q6OkRPTVJlY3RMaXN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKICAgICAg
ICAgbV9pdGVtcy51bmNoZWNrZWRBcHBlbmQoRE9NUmVjdDo6Y3JlYXRlKHJlY3QpKTsKIH0KIAot
RE9NUmVjdExpc3Q6On5ET01SZWN0TGlzdCgpCi17Ci19CitET01SZWN0TGlzdDo6fkRPTVJlY3RM
aXN0KCkgPSBkZWZhdWx0OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVySXRlbS5jcHAKaW5kZXggNjc4MzQ4NjFiZGU4YTViNDNlNzNkNmQ3Mzdl
NzA0YjgxOTg2ZGU4OC4uNDJiMDczMWZhOTlmZmIxYzk1ZDQ5NDI4YjZkYjY3M2NmNTg4ZTczZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmNwcApAQCAtNjcsOSArNjcsNyBA
QCBEYXRhVHJhbnNmZXJJdGVtOjpEYXRhVHJhbnNmZXJJdGVtKFdlYWtQdHI8RGF0YVRyYW5zZmVy
SXRlbUxpc3Q+JiYgbGlzdCwgY29uc3QgUwogewogfQogCi1EYXRhVHJhbnNmZXJJdGVtOjp+RGF0
YVRyYW5zZmVySXRlbSgpCi17Ci19CitEYXRhVHJhbnNmZXJJdGVtOjp+RGF0YVRyYW5zZmVySXRl
bSgpID0gZGVmYXVsdDsKIAogdm9pZCBEYXRhVHJhbnNmZXJJdGVtOjpjbGVhckxpc3RBbmRQdXRJ
bnRvRGlzYWJsZWRNb2RlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRh
VHJhbnNmZXJJdGVtTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bUxpc3QuY3BwCmluZGV4IDZkZTM2ODVlNzlhMDMzOGI1MzEzNWViN2VmOTBiMDk2YjljNTliY2Uu
LmU3YWM0MjNiMjY5MWQ4MGEyMTBkOGVhNmUxMjhmMWQ4MDlmNjE0YzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmNwcApAQCAtMzgsOSArMzgsNyBAQCBEYXRh
VHJhbnNmZXJJdGVtTGlzdDo6RGF0YVRyYW5zZmVySXRlbUxpc3QoRGF0YVRyYW5zZmVyJiBkYXRh
VHJhbnNmZXIpCiB7CiB9CiAKLURhdGFUcmFuc2Zlckl0ZW1MaXN0Ojp+RGF0YVRyYW5zZmVySXRl
bUxpc3QoKQotewotfQorRGF0YVRyYW5zZmVySXRlbUxpc3Q6On5EYXRhVHJhbnNmZXJJdGVtTGlz
dCgpID0gZGVmYXVsdDsKIAogdW5zaWduZWQgRGF0YVRyYW5zZmVySXRlbUxpc3Q6Omxlbmd0aCgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ2xpZW50LmgKaW5kZXggZGJl
OWFiZWU4MDU1OWEzNDVmNTk3YmVjOTg0MzZhM2NhNWI5MzdmMi4uNThkMjNlZDM3OWNhNzk1NWE2
YTdmNWIwNjY4OTM3MTIzYTA2NWI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25D
bGllbnQuaApAQCAtMzgsOCArMzgsOCBAQCBjbGFzcyBQYWdlOwogY2xhc3MgRGV2aWNlTW90aW9u
Q2xpZW50IDogcHVibGljIERldmljZUNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGV2aWNlTW90aW9uQ2xpZW50KTsKIHB1YmxpYzoKLSAgICBEZXZpY2VNb3Rpb25DbGllbnQoKSB7
IH0KLSAgICB2aXJ0dWFsIH5EZXZpY2VNb3Rpb25DbGllbnQoKSB7IH0KKyAgICBEZXZpY2VNb3Rp
b25DbGllbnQoKSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCB+RGV2aWNlTW90aW9uQ2xpZW50KCkg
PSBkZWZhdWx0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKERldmljZU1vdGlvbkNv
bnRyb2xsZXIqKSA9IDA7CiAgICAgdmlydHVhbCBEZXZpY2VNb3Rpb25EYXRhKiBsYXN0TW90aW9u
KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VNb3Rpb25Db250cm9sbGVyRGVz
dHJveWVkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVy
LmgKaW5kZXggOGNkMmUyOTQ2Mzc1MDRlNjg5ZDk1YzllYWQzNGM1Y2M1MDQ2YTEzNS4uMTMyNGRl
MzhmNDkwODgxMTVhYjZhZTAzZDQ1ZDNlNzc2NmI2MzM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIERldmlj
ZU1vdGlvbkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgRGV2aWNlQ29udHJvbGxlciB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRGV2aWNlTW90aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAg
ICAgZXhwbGljaXQgRGV2aWNlTW90aW9uQ29udHJvbGxlcihEZXZpY2VNb3Rpb25DbGllbnQqKTsK
LSAgICB2aXJ0dWFsIH5EZXZpY2VNb3Rpb25Db250cm9sbGVyKCkgeyB9CisgICAgdmlydHVhbCB+
RGV2aWNlTW90aW9uQ29udHJvbGxlcigpID0gZGVmYXVsdDsKIAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGxvb2sgdG8gcmVjb25jaWxlIHRoZSBpT1MgYW5kIE9w
ZW5Tb3VyY2UgZGlmZmVyZW5jZXMgd2l0aCB0aGlzIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmNwcAppbmRleCBkNmM4NThhYzg2ZTQ0YWYwOTg5ZDJmYjJiNWQxZTY3
MWM5OTY4ZjVlLi5lYjRiYmY3YzliZWUyYzdmYmNkZDYxMTNlOTA3ZDg4MTUxOGE0NGVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKQEAgLTMwLDkgKzMwLDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZXZpY2VNb3Rpb25FdmVudDo6fkRldmljZU1vdGlv
bkV2ZW50KCkKLXsKLX0KK0RldmljZU1vdGlvbkV2ZW50Ojp+RGV2aWNlTW90aW9uRXZlbnQoKSA9
IGRlZmF1bHQ7CiAKIERldmljZU1vdGlvbkV2ZW50OjpEZXZpY2VNb3Rpb25FdmVudCgpCiAgICAg
OiBtX2RldmljZU1vdGlvbkRhdGEoRGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCmluZGV4IDM3NzYzNjMzYjdh
NWUwZWZlZDZlYTZkYTkyMjgzZDNhOTI5MmQ5ZGEuLmZkMzhlNjgwZjhjOTAzZDQzN2IxZDFhZDQ0
YzczOTU2MGZhZGIzNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudC5oCkBAIC0zOSw4ICszOSw4IEBAIGNsYXNzIFBhZ2U7CiBjbGFzcyBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudCA6IHB1YmxpYyBEZXZpY2VDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERldmljZU9yaWVudGF0aW9uQ2xpZW50KTsKIHB1YmxpYzoKLSAgICBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudCgpIHsgfQotICAgIHZpcnR1YWwgfkRldmljZU9yaWVudGF0aW9uQ2xpZW50
KCkgeyB9CisgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQoKSA9IGRlZmF1bHQ7CisgICAgdmly
dHVhbCB+RGV2aWNlT3JpZW50YXRpb25DbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2
b2lkIHNldENvbnRyb2xsZXIoRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKikgPSAwOwogICAg
IHZpcnR1YWwgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBsYXN0T3JpZW50YXRpb24oKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3ll
ZCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXIuaAppbmRleCBmYjJjNmJiNTg2NzZjNWNhNWY4YmRlZGNlYWU3MGM4ZmI4YjJiYTBmLi45
NTRhNWEzODlkMTIwYzBkNDkxYjRjNzYzNzY3ODBlYzlhZGVjMTI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCkBAIC0zOSw3ICszOSw3
IEBAIGNsYXNzIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBEZXZp
Y2VDb250cm9sbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IERldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlcihEZXZpY2VPcmllbnRhdGlvbkNsaWVudCopOwotICAgIHZpcnR1YWwgfkRldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlcigpIHsgfQorICAgIHZpcnR1YWwgfkRldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlcigpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNlT3JpZW50
YXRpb24oRGV2aWNlT3JpZW50YXRpb25EYXRhKik7CiAgICAgRGV2aWNlT3JpZW50YXRpb25DbGll
bnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHAKaW5kZXggZTA2ZWMzMTcwZDU4ZjFkYzg2ODMyYmJlYzhl
OTM0NzkwN2JlOWM4OS4uYWRkOGViYzQ4NWFkZjNhYzQ1ZjU3YTQ1NjhiYmFkOWRhYTFmZjMwNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcApAQCAt
MzAsOSArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLURldmljZU9yaWVudGF0aW9u
RXZlbnQ6On5EZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkKLXsKLX0KK0RldmljZU9yaWVudGF0aW9u
RXZlbnQ6On5EZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgPSBkZWZhdWx0OwogCiBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkKICAgICA6IG1fb3JpZW50YXRp
b24oRGV2aWNlT3JpZW50YXRpb25EYXRhOjpjcmVhdGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXggYmQ5M2JhNjJjZTZlMjIxZDk0MGUwZTgwNjk3ODE1
ZWFlNTYyNGU5MS4uYTQ2NDYwZjllNmIxM2UzOGZjNDc2YWE1MzQ3MDg0NDFhMTVkMjFlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKQEAgLTY1LDkgKzY1LDcg
QEAgRG9jdW1lbnRFdmVudFF1ZXVlOjpEb2N1bWVudEV2ZW50UXVldWUoRG9jdW1lbnQmIGRvY3Vt
ZW50KQogICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwogfQogCi1E
b2N1bWVudEV2ZW50UXVldWU6On5Eb2N1bWVudEV2ZW50UXVldWUoKQotewotfQorRG9jdW1lbnRF
dmVudFF1ZXVlOjp+RG9jdW1lbnRFdmVudFF1ZXVlKCkgPSBkZWZhdWx0OwogCiBib29sIERvY3Vt
ZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAKaW5kZXggYTM3
ZTRkMTNjOTFiYWYxZWRjZDQxZWY3ZGEzMDM0OGNiNDEzMTYxNS4uMzk3NTRhMWFkMWIxZDExN2E2
MzczM2M3MjU2NGVmZTJiMjJhMDZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5jcHAKQEAgLTUyLDkgKzUyLDcgQEAgRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoRG9jdW1lbnQmIGRvY3VtZW50KQog
ewogfQogCi1Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6On5Eb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIoKQotewotfQorRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjp+RG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6ZGV0
YWNoKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmNwcAppbmRleCA2NTc2NzVmYjVjZTgyNjA4
YmM5YTRlZDNiNWYyN2RkYWVlNzU0MmY4Li4yZjNkZjc5OTQwYjY4ZGE4YzU5ZjkzNDQ1NDFkNzAy
NjNiYmFjOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vycm9yRXZlbnQuY3BwCkBAIC02MSw5ICs2MSw3IEBA
IEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGZpbGVOYW1lLCB1bnNpZ25lZCBsCiB7CiB9CiAKLUVycm9yRXZlbnQ6On5FcnJvckV2ZW50
KCkKLXsKLX0KK0Vycm9yRXZlbnQ6On5FcnJvckV2ZW50KCkgPSBkZWZhdWx0OwogCiBFdmVudElu
dGVyZmFjZSBFcnJvckV2ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcAppbmRleCBiOTdkMDAzOGZkZjlhNzViNjRkYTMxNTFkZmQ4MTM2MjMyMjUxYTA0Li5kMzNj
YmE2ZTA5OTllMzI0ZmY5Yzc1MTI5MTE5OTAwMDY0MDIwNGJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAK
QEAgLTcyLDkgKzcyLDcgQEAgRXZlbnQ6OkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBjb25zdCBFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1RydXMKIHsKIH0KIAotRXZlbnQ6
On5FdmVudCgpCi17Ci19CitFdmVudDo6fkV2ZW50KCkgPSBkZWZhdWx0OwogCiB2b2lkIEV2ZW50
Ojppbml0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGVBcmcsIGJvb2wgY2FuQnVi
YmxlQXJnLCBib29sIGNhbmNlbGFibGVBcmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQu
Y3BwCmluZGV4IGUwZWFkYjVkMDNkNDNmY2NhM2FjMDJlMjIyMTYzMjMzNzMzN2JjMjMuLmM3ZTQx
MzBmMzA5NjJkNTg1NzE0OGE4ZmJkZjJiNDRhMzhhZWIwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dENvbnRleHQuY3BwCkBAIC00Myw5ICs0Myw3IEBAIEV2ZW50Q29udGV4dDo6RXZlbnRDb250ZXh0
KE5vZGUqIG5vZGUsIEV2ZW50VGFyZ2V0KiBjdXJyZW50VGFyZ2V0LCBFdmVudFRhcmdldCoKICAg
ICBBU1NFUlQoIWlzVW5yZWFjaGFibGVOb2RlKG1fdGFyZ2V0LmdldCgpKSk7CiB9CiAKLUV2ZW50
Q29udGV4dDo6fkV2ZW50Q29udGV4dCgpCi17Ci19CitFdmVudENvbnRleHQ6On5FdmVudENvbnRl
eHQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgRXZlbnRDb250ZXh0OjpoYW5kbGVMb2NhbEV2ZW50cyhF
dmVudCYgZXZlbnQpIGNvbnN0CiB7CkBAIC02OSw5ICs2Nyw3IEBAIE1vdXNlT3JGb2N1c0V2ZW50
Q29udGV4dDo6TW91c2VPckZvY3VzRXZlbnRDb250ZXh0KE5vZGUqIG5vZGUsIEV2ZW50VGFyZ2V0
KiBjdXJyCiB7CiB9CiAKLU1vdXNlT3JGb2N1c0V2ZW50Q29udGV4dDo6fk1vdXNlT3JGb2N1c0V2
ZW50Q29udGV4dCgpCi17Ci19CitNb3VzZU9yRm9jdXNFdmVudENvbnRleHQ6On5Nb3VzZU9yRm9j
dXNFdmVudENvbnRleHQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTW91c2VPckZvY3VzRXZlbnRDb250
ZXh0OjpoYW5kbGVMb2NhbEV2ZW50cyhFdmVudCYgZXZlbnQpIGNvbnN0CiB7CkBAIC05NSw5ICs5
MSw3IEBAIFRvdWNoRXZlbnRDb250ZXh0OjpUb3VjaEV2ZW50Q29udGV4dChOb2RlKiBub2RlLCBF
dmVudFRhcmdldCogY3VycmVudFRhcmdldCwgRXZlCiB7CiB9CiAKLVRvdWNoRXZlbnRDb250ZXh0
Ojp+VG91Y2hFdmVudENvbnRleHQoKQotewotfQorVG91Y2hFdmVudENvbnRleHQ6On5Ub3VjaEV2
ZW50Q29udGV4dCgpID0gZGVmYXVsdDsKIAogdm9pZCBUb3VjaEV2ZW50Q29udGV4dDo6aGFuZGxl
TG9jYWxFdmVudHMoRXZlbnQmIGV2ZW50KSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3Rl
bmVyLmgKaW5kZXggNzQyOTVjZDllODA0Mzc2ZTk2NTZiYzA3Y2ZiMDAzOTcxM2JmMDk0YS4uNjIw
MTE1Y2E2NDAyMzZhYTIwYWFjNTkxY2U1YjkwNzdlZjMwMzNkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRMaXN0ZW5lci5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICAgICAgU1ZHVFJlZlRh
cmdldEV2ZW50TGlzdGVuZXJUeXBlLAogICAgIH07CiAKLSAgICB2aXJ0dWFsIH5FdmVudExpc3Rl
bmVyKCkgeyB9CisgICAgdmlydHVhbCB+RXZlbnRMaXN0ZW5lcigpID0gZGVmYXVsdDsKICAgICB2
aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJikgY29uc3QgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRXZl
bnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHdhc0NyZWF0ZWRGcm9tTWFya3VwKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1
ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRRdWV1ZS5oCmluZGV4IDFiYTA2YzUyYzM2
MzdiZTBlNDBmNjk5N2JiYWMxZmNjOTcyNzAwZDMuLjBkMGJlOWYwYzQzNjI0YTNjYmE4MDNmYzI0
NDE2NjNkZmFkYzg0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50UXVldWUuaApAQCAtMzQsNyArMzQsNyBA
QCBjbGFzcyBFdmVudDsKIAogY2xhc3MgRXZlbnRRdWV1ZSB7CiBwdWJsaWM6Ci0gICAgdmlydHVh
bCB+RXZlbnRRdWV1ZSgpIHsgfQorICAgIHZpcnR1YWwgfkV2ZW50UXVldWUoKSA9IGRlZmF1bHQ7
CiAgICAgdmlydHVhbCBib29sIGVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYpID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgY2FuY2VsRXZlbnQoRXZlbnQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNs
b3NlKCkgPSAwOyAvLyBEaXNjYXJkIGFjY3VtdWxhdGVkIGV2ZW50cyBhbmQgYWxsIGZ1dHVyZSBl
dmVudHMuIE5vIGV2ZW50cyB3aWxsIGJlIGRpc3BhdGNoZWQgYWZ0ZXIgdGhpcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCmluZGV4IGI0MzUwZjIwOWE3Mzk5MTA5ZTkw
OWZmMjVlYTI4OWU1N2UyZmFlMDEuLjg3MjlkMGFkNWNlNmQ0Yjc1OWM4ZGVlMjM4YWRmYjA3Zjll
ZWQ0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcApAQCAtNDAs
OSArNDAsNyBAQCBHZW5lcmljRXZlbnRRdWV1ZTo6R2VuZXJpY0V2ZW50UXVldWUoRXZlbnRUYXJn
ZXQmIG93bmVyKQogewogfQogCi1HZW5lcmljRXZlbnRRdWV1ZTo6fkdlbmVyaWNFdmVudFF1ZXVl
KCkKLXsKLX0KK0dlbmVyaWNFdmVudFF1ZXVlOjp+R2VuZXJpY0V2ZW50UXVldWUoKSA9IGRlZmF1
bHQ7CiAKIHZvaWQgR2VuZXJpY0V2ZW50UXVldWU6OmVucXVldWVFdmVudChSZWZQdHI8RXZlbnQ+
JiYgZXZlbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHAKaW5kZXggNDgwNGMx
ZDA1ZTU2Yjc4OGM2NGFlMzcyYTIxZjdlZDQ0NmYzNzQ0ZS4uYWU2ZWRmYjZmMThkYmM0MzFiOGUw
MzYwNzY5MWQ1MTUwMTM1MDg0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0tleWJv
YXJkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmNwcApA
QCAtMTQ2LDkgKzE0Niw3IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpCiB7CiB9CiAKLUtleWJv
YXJkRXZlbnQ6On5LZXlib2FyZEV2ZW50KCkKLXsKLX0KK0tleWJvYXJkRXZlbnQ6On5LZXlib2Fy
ZEV2ZW50KCkgPSBkZWZhdWx0OwogCiB2b2lkIEtleWJvYXJkRXZlbnQ6OmluaXRLZXlib2FyZEV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2Vs
YWJsZSwgRE9NV2luZG93KiB2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBTdHJpbmcgJmtleUlkZW50aWZpZXIsIHVuc2lnbmVkIGxvY2F0aW9uLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTGl2ZU5vZGVMaXN0LmNwcAppbmRleCAxNjlkNmRlMzMwZjViYzhkMWVlOTUwMTAx
ZjdlMzFkNDJlNDJlZTkzLi44NTRiODc1Y2E2ZTAxZTYyYTM3ZGQzOTJiN2RjNGJiYzRiMjI2OTFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTGl2ZU5vZGVMaXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTGl2ZU5vZGVMaXN0LmNwcApAQCAtMzgsOSArMzgsNyBAQCBMaXZl
Tm9kZUxpc3Q6OkxpdmVOb2RlTGlzdChDb250YWluZXJOb2RlJiBvd25lck5vZGUsIE5vZGVMaXN0
SW52YWxpZGF0aW9uVHlwZSBpbgogICAgIEFTU0VSVChtX2ludmFsaWRhdGlvblR5cGUgPT0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KGludmFsaWRhdGlvblR5cGUpKTsKIH0KIAotTGl2ZU5vZGVMaXN0
Ojp+TGl2ZU5vZGVMaXN0KCkKLXsKLX0KK0xpdmVOb2RlTGlzdDo6fkxpdmVOb2RlTGlzdCgpID0g
ZGVmYXVsdDsKIAogQ29udGFpbmVyTm9kZSYgTGl2ZU5vZGVMaXN0Ojpyb290Tm9kZSgpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVTY3JpcHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAppbmRleCBk
NzY5ZTgyMTIwYjgzNzUyMzI4YWMyMDYyZTU0NTI0ZmVmZDhkZDI4Li4yNjdmZjAxYmViNjU3Y2Ix
YzM4M2RiNmVlMDg1NTkwY2FlNjQ0OWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TG9hZGFibGVNb2R1bGVTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJs
ZU1vZHVsZVNjcmlwdC5jcHAKQEAgLTQ1LDkgKzQ1LDcgQEAgTG9hZGFibGVNb2R1bGVTY3JpcHQ6
OkxvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYg
aW4KIHsKIH0KIAotTG9hZGFibGVNb2R1bGVTY3JpcHQ6On5Mb2FkYWJsZU1vZHVsZVNjcmlwdCgp
Ci17Ci19CitMb2FkYWJsZU1vZHVsZVNjcmlwdDo6fkxvYWRhYmxlTW9kdWxlU2NyaXB0KCkgPSBk
ZWZhdWx0OwogCiBib29sIExvYWRhYmxlTW9kdWxlU2NyaXB0Ojppc0xvYWRlZCgpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZVNjcmlwdC5oCmluZGV4IGZlZjBmOTM2MDBkMWU2Njg3NGJi
ZjdhN2YxZDJmMjQ3YTNkZTcyYjMuLjNhN2JkZmRiNmNmZmY1ODVlZWViMWRjNDEwZmZmOWNkNGZl
MzkwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZVNjcmlwdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZVNjcmlwdC5oCkBAIC01NSw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICAgICAgc3RkOjpvcHRpb25hbDxDb25zb2xlTWVzc2FnZT4gY29uc29sZU1l
c3NhZ2U7CiAgICAgfTsKIAotICAgIHZpcnR1YWwgfkxvYWRhYmxlU2NyaXB0KCkgeyB9CisgICAg
dmlydHVhbCB+TG9hZGFibGVTY3JpcHQoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIGJvb2wg
aXNMb2FkZWQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEVycm9yPiBl
cnJvcigpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJs
ZVNjcmlwdENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlU2NyaXB0Q2xpZW50
LmgKaW5kZXggYzA0ZTljZmZiNmVkNDJmNzBhNmM1NjdlZmZjMWQxMGYxODE3NGU3Mi4uZTBlYWUz
ODQ0MDIzZTQ3MTFmMzVlMTRkNjNlODIwZjQzNTA0OTc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0xvYWRhYmxlU2NyaXB0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0xvYWRhYmxlU2NyaXB0Q2xpZW50LmgKQEAgLTMxLDcgKzMxLDcgQEAgY2xhc3MgTG9hZGFibGVT
Y3JpcHQ7CiAKIGNsYXNzIExvYWRhYmxlU2NyaXB0Q2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5Mb2FkYWJsZVNjcmlwdENsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkxvYWRhYmxlU2Ny
aXB0Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVk
KExvYWRhYmxlU2NyaXB0JikgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwu
Y3BwCmluZGV4IDNjZWQyZWI1ZTUyNDA0Yzk2NzM2MzI5MzdjOTk1ODE3OWE3ZTYzYzQuLmExNDA5
NTM5YzA0MDk3YWEzNjBhZDBiMzdlNDRkZmIwNmI0NTg2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VDaGFubmVsLmNwcApAQCAtMzksOCArMzksNiBAQCBNZXNzYWdlQ2hhbm5lbDo6TWVzc2Fn
ZUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICBNZXNzYWdlUG9y
dENoYW5uZWw6OmNyZWF0ZUNoYW5uZWwobV9wb3J0MS5nZXQoKSwgbV9wb3J0Mi5nZXQoKSk7CiB9
CiAKLU1lc3NhZ2VDaGFubmVsOjp+TWVzc2FnZUNoYW5uZWwoKQotewotfQorTWVzc2FnZUNoYW5u
ZWw6On5NZXNzYWdlQ2hhbm5lbCgpID0gZGVmYXVsdDsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcAppbmRleCA3MDMxODMzZDdlNjE0ZjI5NmU1
Y2VkN2UxMjYyYmUwZTcxOWQyMjU4Li5iNTE5NDVhOGI5ODcyYjU4MzdjODA2OGMyOWJiZmU3MDgx
NjFjZTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcApAQCAtMTMxLDkgKzEzMSw3
IEBAIFJlZjxNZXNzYWdlRXZlbnQ+IE1lc3NhZ2VFdmVudDo6Y3JlYXRlKEV4ZWNTdGF0ZSYgc3Rh
dGUsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVz
c2FnZUV2ZW50KHN0YXRlLCB0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVyKSwgaXNUcnVzdGVkKSk7
CiB9CiAKLU1lc3NhZ2VFdmVudDo6fk1lc3NhZ2VFdmVudCgpCi17Ci19CitNZXNzYWdlRXZlbnQ6
On5NZXNzYWdlRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTWVzc2FnZUV2ZW50Ojppbml0TWVz
c2FnZUV2ZW50KEV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9v
bCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgSlNWYWx1ZSBkYXRhLCBjb25zdCBTdHJpbmcm
IG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgc3RkOjpvcHRpb25hbDxNZXNzYWdl
RXZlbnRTb3VyY2U+JiYgc291cmNlLCBWZWN0b3I8UmVmUHRyPE1lc3NhZ2VQb3J0Pj4mJiBwb3J0
cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCBiODdkYTE2NTAxMWZmM2MxNzc5
MjM2NTc5MmMzMzYxN2UxMThmM2JmLi5jM2FkZTQ0YzE1YzQyMjk3YzhmZjhiZDM4MDFiYmJmMTcy
NmVmNzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC0zOCw5ICszOCw3IEBAIE1p
Y3JvdGFza1F1ZXVlOjpNaWNyb3Rhc2tRdWV1ZSgpCiB7CiB9CiAKLU1pY3JvdGFza1F1ZXVlOjp+
TWljcm90YXNrUXVldWUoKQotewotfQorTWljcm90YXNrUXVldWU6On5NaWNyb3Rhc2tRdWV1ZSgp
ID0gZGVmYXVsdDsKIAogTWljcm90YXNrUXVldWUmIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFk
UXVldWUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDlkYzY0MTI5NGI4MzVh
NDhhNmYxY2M1MWJhNTQyY2JkZDg5ZTNhZDUuLjhlYmQ0N2E3YmMxMmZlNzliMGM0ZTI1OWMzZmVh
YjA2ZmJhOWE3MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTc4LDkgKzc4LDcg
QEAgUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3Vz
ZUV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHsg
c2NyZWVuWCwgc2NyZWVuWSB9LCB7IGNsaWVudFgsIGNsaWVudFkgfSwgY3RybEtleSwgYWx0S2V5
LCBzaGlmdEtleSwgbWV0YUtleSwgYnV0dG9uLCBidXR0b25zLCBzeW50aGV0aWNDbGlja1R5cGUs
IHJlbGF0ZWRUYXJnZXQpKTsKIH0KIAotTW91c2VFdmVudDo6TW91c2VFdmVudCgpCi17Ci19CitN
b3VzZUV2ZW50OjpNb3VzZUV2ZW50KCkgPSBkZWZhdWx0OwogCiBNb3VzZUV2ZW50OjpNb3VzZUV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBj
YW5jZWxhYmxlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgRE9NV2luZG93KiB2aWV3LCBpbnQg
ZGV0YWlsLCBjb25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiB3
aW5kb3dMb2NhdGlvbiwKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQpAQCAtMTI3LDkgKzEyNSw3
IEBAIE1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUs
IGNvbnN0IE1vdXNlRXZlbnRJbml0JiBpbml0CiAgICAgaW5pdENvb3JkaW5hdGVzKHsgaW5pdGlh
bGl6ZXIuY2xpZW50WCwgaW5pdGlhbGl6ZXIuY2xpZW50WSB9KTsKIH0KIAotTW91c2VFdmVudDo6
fk1vdXNlRXZlbnQoKQotewotfQorTW91c2VFdmVudDo6fk1vdXNlRXZlbnQoKSA9IGRlZmF1bHQ7
CiAKIHZvaWQgTW91c2VFdmVudDo6aW5pdE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBET01XaW5kb3cqIHZpZXcsIGlu
dCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IGNsaWVudFgsIGludCBjbGll
bnRZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFL
ZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uUmVjb3JkLmNwcAppbmRleCAyMjk1NWU1NmIwZTM1ZmVk
Y2Y0ODgzZWZiMjE2OTdmNDFlMTYyM2IzLi4xYzcxNjZkN2I0MTIxYmE3OTY2OWE3MDdhYzc4NGY2
MDE2YmMyMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5jcHAKQEAgLTE4NCw4
ICsxODQsNiBAQCBSZWY8TXV0YXRpb25SZWNvcmQ+IE11dGF0aW9uUmVjb3JkOjpjcmVhdGVXaXRo
TnVsbE9sZFZhbHVlKE11dGF0aW9uUmVjb3JkJiByZWNvcgogICAgIHJldHVybiBhZG9wdFJlZihz
dGF0aWNfY2FzdDxNdXRhdGlvblJlY29yZCY+KCpuZXcgTXV0YXRpb25SZWNvcmRXaXRoTnVsbE9s
ZFZhbHVlKHJlY29yZCkpKTsKIH0KIAotTXV0YXRpb25SZWNvcmQ6On5NdXRhdGlvblJlY29yZCgp
Ci17Ci19CitNdXRhdGlvblJlY29yZDo6fk11dGF0aW9uUmVjb3JkKCkgPSBkZWZhdWx0OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZUZpbHRlckNvbmRpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVGaWx0ZXJDb25kaXRp
b24uaAppbmRleCA5MDNmMTUxYzk0NDc3YjQ5ZjAwNjVlZjA3MTQ1MTgxMTI0NGI4Njc4Li4wN2Vl
MmYyYWM4NmNhNTEzNmExNmFmNTNlOGYwMmE2YTc0Yjg2N2NjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZUZpbHRlckNvbmRpdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlRmlsdGVyQ29uZGl0aW9uLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgTm9kZTsKIAog
Y2xhc3MgTm9kZUZpbHRlckNvbmRpdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE5vZGVGaWx0ZXJD
b25kaXRpb24+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5Ob2RlRmlsdGVyQ29uZGl0aW9uKCkg
eyB9CisgICAgdmlydHVhbCB+Tm9kZUZpbHRlckNvbmRpdGlvbigpID0gZGVmYXVsdDsKICAgICB2
aXJ0dWFsIHVuc2lnbmVkIHNob3J0IGFjY2VwdE5vZGUoTm9kZSYpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgdmlzaXRBZ2dyZWdhdGUoSlNDOjpTbG90VmlzaXRvciYpIHsgfQogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGVMaXN0LmgKaW5kZXggMWI5OWNlNjAwNDYwZWQ2NGFkYzQ5ZDg1NTU2OGI1NjliZjA5
ZTQyMy4uYzY2ZjI0OTY5NjNhZDE5OWM2ZDM1ODI2ODE5MDA5NmQ5ZGNjYmYxMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVMaXN0LmgKQEAgLTMzLDcgKzMzLDcgQEAgY2xhc3MgTm9kZTsKIAogY2xhc3MgTm9kZUxp
c3QgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxOb2RlTGlzdD4g
ewogcHVibGljOgotICAgIHZpcnR1YWwgfk5vZGVMaXN0KCkgeyB9CisgICAgdmlydHVhbCB+Tm9k
ZUxpc3QoKSA9IGRlZmF1bHQ7CiAKICAgICAvLyBET00gbWV0aG9kcyAmIGF0dHJpYnV0ZXMgZm9y
IE5vZGVMaXN0CiAgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAKaW5kZXggOGQwNmNmNDA3M2Ni
MDI2NmI1OWEzZDhhZGFmNDMwNDcwOTZjNmEzNy4uNGQ4NjljY2MyYjAxZmY0MmIzOGI3YWRiM2Y1
YzRhNDA0ZDJjZDUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0
aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QYWdlVHJhbnNpdGlvbkV2ZW50
LmNwcApAQCAtNDAsOSArNDAsNyBAQCBQYWdlVHJhbnNpdGlvbkV2ZW50OjpQYWdlVHJhbnNpdGlv
bkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaQogewogfQogCi1Q
YWdlVHJhbnNpdGlvbkV2ZW50Ojp+UGFnZVRyYW5zaXRpb25FdmVudCgpCi17Ci19CitQYWdlVHJh
bnNpdGlvbkV2ZW50Ojp+UGFnZVRyYW5zaXRpb25FdmVudCgpID0gZGVmYXVsdDsKIAogRXZlbnRJ
bnRlcmZhY2UgUGFnZVRyYW5zaXRpb25FdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BlbmRpbmdTY3JpcHRDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0Q2xpZW50LmgKaW5kZXggZTk2NDQ0YThlMzgw
MGFiYmIwNGRkMzQ5ZmE3NjYxNDUwNmQxNWYwYy4uOGFhYjU2M2EzMjg3NTg4ZTQ0N2Y0MDI4MzZj
YWQ2OTdmNGJjYTdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BlbmRpbmdTY3Jp
cHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdENsaWVudC5o
CkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIFBlbmRpbmdTY3JpcHQ7CiAKIGNsYXNzIFBlbmRpbmdT
Y3JpcHRDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflBlbmRpbmdTY3JpcHRDbGllbnQo
KSB7IH0KKyAgICB2aXJ0dWFsIH5QZW5kaW5nU2NyaXB0Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3JpcHQmKSA9IDA7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCmluZGV4IGU0YzY0MzdhNTUwZjZlYjZlODgx
NzhhZDJiMjdkM2YyYTBiZGIwYzQuLjQ0OTFhNzcwNzJkNzUyYmY1OWViZWZjYjk3NzVmMjYzZDdh
NzE3YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAKQEAgLTQ2LDkgKzQ2LDcg
QEAgUG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudChSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiYmIHNlcmlhbGl6ZWRTdGF0ZSwgSGkKIHsKIH0KIAotUG9wU3RhdGVFdmVudDo6flBvcFN0
YXRlRXZlbnQoKQotewotfQorUG9wU3RhdGVFdmVudDo6flBvcFN0YXRlRXZlbnQoKSA9IGRlZmF1
bHQ7CiAKIFJlZjxQb3BTdGF0ZUV2ZW50PiBQb3BTdGF0ZUV2ZW50OjpjcmVhdGUoUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBzZXJpYWxpemVkU3RhdGUsIEhpc3RvcnkqIGhpc3Rvcnkp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvbWlzZVJlamVjdGlvbkV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCmluZGV4
IGNiM2ZkN2YzZGY4YmFlMGFkNDY4MzI2MmM4NzI1ZjJmY2Q2ZTU5ZWIuLmM5YWZiZDE4MmIwZWRm
MzJmZjU0YzljOTdmNTQzMDczNmZmMmMxMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Qcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9t
aXNlUmVqZWN0aW9uRXZlbnQuY3BwCkBAIC00MSw4ICs0MSw2IEBAIFByb21pc2VSZWplY3Rpb25F
dmVudDo6UHJvbWlzZVJlamVjdGlvbkV2ZW50KEV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IEF0b21p
Y1N0cmluCiB7CiB9CiAKLVByb21pc2VSZWplY3Rpb25FdmVudDo6flByb21pc2VSZWplY3Rpb25F
dmVudCgpCi17Ci19CitQcm9taXNlUmVqZWN0aW9uRXZlbnQ6On5Qcm9taXNlUmVqZWN0aW9uRXZl
bnQoKSA9IGRlZmF1bHQ7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9SYWRpb0J1dHRvbkdyb3Vwcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUmFkaW9CdXR0b25Hcm91cHMuY3BwCmluZGV4IGUxYWY0OTYwMmQ3OGQ3NzA1Yzk4YTQ3ZDNl
ZmY5ZGQyYjBjYTQ0YTMuLjc3OGFiMWE2NTFjMGNmMzA1ZmUyYzZlZDk1Y2I3NDdiY2U2MDRiNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYWRpb0J1dHRvbkdyb3Vwcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1JhZGlvQnV0dG9uR3JvdXBzLmNwcApAQCAtMTk3LDEzICsx
OTcsOSBAQCBib29sIFJhZGlvQnV0dG9uR3JvdXA6OmNvbnRhaW5zKEhUTUxJbnB1dEVsZW1lbnQq
IGJ1dHRvbikgY29uc3QKIC8vIEV4cGxpY2l0eSBkZWZpbmUgZW1wdHkgY29uc3RydWN0b3IgYW5k
IGRlc3RydWN0b3IgaW4gb3JkZXIgdG8gcHJldmVudCB0aGUKIC8vIGNvbXBpbGVyIGZyb20gZ2Vu
ZXJhdGluZyB0aGVtIGFzIGlubGluZXMuIFNvIHdlIGRvbid0IG5lZWQgdG8gdG8gZGVmaW5lCiAv
LyBSYWRpb0J1dHRvbkdyb3VwIGluIHRoZSBoZWFkZXIuCi1SYWRpb0J1dHRvbkdyb3Vwczo6UmFk
aW9CdXR0b25Hcm91cHMoKQotewotfQorUmFkaW9CdXR0b25Hcm91cHM6OlJhZGlvQnV0dG9uR3Jv
dXBzKCkgPSBkZWZhdWx0OwogCi1SYWRpb0J1dHRvbkdyb3Vwczo6flJhZGlvQnV0dG9uR3JvdXBz
KCkKLXsKLX0KK1JhZGlvQnV0dG9uR3JvdXBzOjp+UmFkaW9CdXR0b25Hcm91cHMoKSA9IGRlZmF1
bHQ7CiAKIHZvaWQgUmFkaW9CdXR0b25Hcm91cHM6OmFkZEJ1dHRvbihIVE1MSW5wdXRFbGVtZW50
KiBlbGVtZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JlamVjdGVkUHJv
bWlzZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1JlamVjdGVkUHJvbWlzZVRyYWNr
ZXIuY3BwCmluZGV4IDA4M2I4OWM1ODk2ODc5MDk2OTA0ZDUzZTgzZjJkODQ0NTNiMzA1NWEuLmE1
MmM4ODYwMGViNjgyNmNlMDhhN2EwZDZjZDUyMDlkYWEwNzUxOGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9SZWplY3RlZFByb21pc2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUmVqZWN0ZWRQcm9taXNlVHJhY2tlci5jcHAKQEAgLTg0LDkgKzg0LDcgQEAgUmVq
ZWN0ZWRQcm9taXNlVHJhY2tlcjo6UmVqZWN0ZWRQcm9taXNlVHJhY2tlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LAogewogfQogCi1SZWplY3RlZFByb21pc2VUcmFja2VyOjp+UmVq
ZWN0ZWRQcm9taXNlVHJhY2tlcigpCi17Ci19CitSZWplY3RlZFByb21pc2VUcmFja2VyOjp+UmVq
ZWN0ZWRQcm9taXNlVHJhY2tlcigpID0gZGVmYXVsdDsKIAogc3RhdGljIFJlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21SZWFzb24oRXhlY1N0YXRlJiBzdGF0
ZSwgSlNWYWx1ZSByZWFzb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCA2
YzgxYjNkNjg2OTdhY2MzZTRlM2UwMDIyYTc4OGIwNzFiOWFkNjQzLi43OWU4OGI4YjMyNTA4NzQ0
NDY2ZTA5MmFjYmJmZmJmNDhiMWY5ZDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgK
QEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgVVJMOwogCiBjbGFzcyBTY3JpcHRFbGVtZW50IHsKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIH5TY3JpcHRFbGVtZW50KCkgeyB9CisgICAgdmlydHVhbCB+U2Ny
aXB0RWxlbWVudCgpID0gZGVmYXVsdDsKIAogICAgIEVsZW1lbnQmIGVsZW1lbnQoKSB7IHJldHVy
biBtX2VsZW1lbnQ7IH0KICAgICBjb25zdCBFbGVtZW50JiBlbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9lbGVtZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDM5Y2RkNTcyNTdjNjRlYWI3MDMwNmQ0N2MxODQ0ODhh
YWVkMDg5ZmMuLjlhY2U5MDFmMTBjN2M2ZTM5Yjk4ZjNkNWRhZWE5OTI4YjM5ZjdmZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3Bw
CkBAIC02Myw5ICs2Myw3IEBAIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6U2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyKERvY3VtZW50JiBkb2N1bWVudCwgUGxhCiAgICAgd2luZG93U2Ny
ZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7CiB9CiAKLVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cjo6flNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcigpCi17Ci19CitTY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXI6On5TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CiAK
IGJvb2wgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZXF1ZXN0QW5pbWF0aW9uRnJhbWVF
bmFibGVkKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0
eUNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKaW5k
ZXggN2M0YzdjZDQ2ZGI2MDg5YTVmNGVmZGU0YmU2N2JhZTUxNDAyNmJkYi4uNGY4ZjFhODBlYmUy
ZTUzNDkyNzM1ZWU0MDkzMWU3Mjg5YjNkOGNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5
Q29udGV4dC5jcHAKQEAgLTM1LDEzICszNSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
U2VjdXJpdHlDb250ZXh0OjpTZWN1cml0eUNvbnRleHQoKQotewotfQorU2VjdXJpdHlDb250ZXh0
OjpTZWN1cml0eUNvbnRleHQoKSA9IGRlZmF1bHQ7CiAKLVNlY3VyaXR5Q29udGV4dDo6flNlY3Vy
aXR5Q29udGV4dCgpCi17Ci19CitTZWN1cml0eUNvbnRleHQ6On5TZWN1cml0eUNvbnRleHQoKSA9
IGRlZmF1bHQ7CiAKIHZvaWQgU2VjdXJpdHlDb250ZXh0OjpzZXRTZWN1cml0eU9yaWdpblBvbGlj
eShSZWZQdHI8U2VjdXJpdHlPcmlnaW5Qb2xpY3k+JiYgc2VjdXJpdHlPcmlnaW5Qb2xpY3kpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlPcmlnaW5Qb2xpY3kuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5T3JpZ2luUG9saWN5LmNwcAppbmRleCBmNDkw
NDQ1ZjY3YmFjZTJhZDgxYjcwODdlNjRmZjk1Y2RjOWI1NWI3Li45MDU2NGNjMmI2NTA3ODRkYmY0
MjFjYTlmMWQwZGI2NzQ4ZmYzZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Vj
dXJpdHlPcmlnaW5Qb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eU9y
aWdpblBvbGljeS5jcHAKQEAgLTQwLDggKzQwLDYgQEAgU2VjdXJpdHlPcmlnaW5Qb2xpY3k6OlNl
Y3VyaXR5T3JpZ2luUG9saWN5KFJlZjxTZWN1cml0eU9yaWdpbj4mJiBzZWN1cml0eU9yaWdpbikK
IHsKIH0KIAotU2VjdXJpdHlPcmlnaW5Qb2xpY3k6On5TZWN1cml0eU9yaWdpblBvbGljeSgpCi17
Ci19CitTZWN1cml0eU9yaWdpblBvbGljeTo6flNlY3VyaXR5T3JpZ2luUG9saWN5KCkgPSBkZWZh
dWx0OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2xvdEFzc2lnbm1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nsb3RBc3NpZ25tZW50LmNwcAppbmRleCAwN2IwYTNl
YzIwMTQxZTNiOWIyNDc0YmVhYTU2NGEzYzc4NWFmNGYxLi5kNTJhNWVkYWZkNzRlZDlmYjZmYjZk
NjUwODg0NDhiOTQ1Mzg0OWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2xvdEFz
c2lnbm1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TbG90QXNzaWdubWVudC5jcHAK
QEAgLTQ4LDEzICs0OCw5IEBAIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHNsb3ROYW1lRnJv
bVNsb3RBdHRyaWJ1dGUoY29uc3QgTm9kZSYgY2hpbGQpCiAgICAgcmV0dXJuIHNsb3ROYW1lRnJv
bUF0dHJpYnV0ZVZhbHVlKGRvd25jYXN0PEVsZW1lbnQ+KGNoaWxkKS5hdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKHNsb3RBdHRyKSk7CiB9CiAKLVNsb3RBc3NpZ25tZW50OjpTbG90QXNz
aWdubWVudCgpCi17Ci19CitTbG90QXNzaWdubWVudDo6U2xvdEFzc2lnbm1lbnQoKSA9IGRlZmF1
bHQ7CiAKLVNsb3RBc3NpZ25tZW50Ojp+U2xvdEFzc2lnbm1lbnQoKQotewotfQorU2xvdEFzc2ln
bm1lbnQ6On5TbG90QXNzaWdubWVudCgpID0gZGVmYXVsdDsKIAogSFRNTFNsb3RFbGVtZW50KiBT
bG90QXNzaWdubWVudDo6ZmluZEFzc2lnbmVkU2xvdChjb25zdCBOb2RlJiBub2RlLCBTaGFkb3dS
b290JiBzaGFkb3dSb290KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5k
ZXggMjZmYzk5MjI0YWIyNTg2Y2E5MjgwNDM5NmMyZTk1MzQ0NTA3MWRiMS4uMDU3ZmJmYzQ3ZThl
YmFhZTBjM2E4MGZkMjAyNmZkN2IzMTJiMDU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxp
dFN0cmluZy5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVF9XSVRI
X01FU1NBR0UobV9zaXplLCAiU3BhY2VTcGxpdFN0cmluZ0RhdGEgc2hvdWxkIG5ldmVyIGJlIGVt
cHR5IGJ5IGRlZmluaXRpb24uIFRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBlbXB0eSBh
bmQgbnVsbC4iKTsKICAgICB9CiAKLSAgICB+U3BhY2VTcGxpdFN0cmluZ0RhdGEoKSB7IH0KKyAg
ICB+U3BhY2VTcGxpdFN0cmluZ0RhdGEoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIHZvaWQgZGVz
dHJveShTcGFjZVNwbGl0U3RyaW5nRGF0YSopOwogCiAgICAgQXRvbWljU3RyaW5nKiB0b2tlbkFy
cmF5U3RhcnQoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEF0b21pY1N0cmluZyo+KHRoaXMg
KyAxKTsgfQpAQCAtOTgsNyArOTgsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBTcGFjZVNwbGl0U3Ry
aW5nIHsKIHB1YmxpYzoKLSAgICBTcGFjZVNwbGl0U3RyaW5nKCkgeyB9CisgICAgU3BhY2VTcGxp
dFN0cmluZygpID0gZGVmYXVsdDsKICAgICBTcGFjZVNwbGl0U3RyaW5nKGNvbnN0IEF0b21pY1N0
cmluZyYgc3RyaW5nLCBib29sIHNob3VsZEZvbGRDYXNlKSB7IHNldChzdHJpbmcsIHNob3VsZEZv
bGRDYXNlKTsgfQogCiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcm
IG90aGVyKSBjb25zdCB7IHJldHVybiBtX2RhdGEgIT0gb3RoZXIubV9kYXRhOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1N0YXRpY1JhbmdlLmNwcAppbmRleCA2ZjhlYjk0ZGRkMTkzYjgxYTBiYTY1NWRkMTE3OGUy
MWNlMTZjYTUxLi5iYTIxOTZlYTMzYzAzZDhhNGM2MjE0ZDA3MWQ5NTYzNmIwZGFkNWU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5jcHAKQEAgLTM5LDkgKzM5LDcgQEAgU3RhdGljUmFuZ2U6
OlN0YXRpY1JhbmdlKFJlZjxOb2RlPiYmIHN0YXJ0Q29udGFpbmVyLCB1bnNpZ25lZCBzdGFydE9m
ZnNldCwgUmVmPE4KIHsKIH0KIAotU3RhdGljUmFuZ2U6On5TdGF0aWNSYW5nZSgpCi17Ci19CitT
dGF0aWNSYW5nZTo6flN0YXRpY1JhbmdlKCkgPSBkZWZhdWx0OwogCiBSZWY8U3RhdGljUmFuZ2U+
IFN0YXRpY1JhbmdlOjpjcmVhdGUoUmVmPE5vZGU+JiYgc3RhcnRDb250YWluZXIsIHVuc2lnbmVk
IHN0YXJ0T2Zmc2V0LCBSZWY8Tm9kZT4mJiBlbmRDb250YWluZXIsIHVuc2lnbmVkIGVuZE9mZnNl
dCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0LmNwcAppbmRleCBmZThjOWQ0NjBiMGZjMzE5NmMyNmFiNDI0NmU2Zjg1
Yzc1ODI0MDBiLi4xMmQxZDI0MmU3NWYyODcxMzk0NDg5NDlhMjk5ZTBjN2Y0MmE4NjE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RleHQuY3BwCkBAIC01MCw5ICs1MCw3IEBAIFJlZjxUZXh0PiBUZXh0OjpjcmVhdGVFZGl0
aW5nVGV4dChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZGF0YSkKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBUZXh0KGRvY3VtZW50LCBkYXRhLCBDcmVhdGVFZGl0aW5nVGV4dCkp
OwogfQogCi1UZXh0Ojp+VGV4dCgpCi17Ci19CitUZXh0Ojp+VGV4dCgpID0gZGVmYXVsdDsKIAog
RXhjZXB0aW9uT3I8UmVmPFRleHQ+PiBUZXh0OjpzcGxpdFRleHQodW5zaWduZWQgb2Zmc2V0KQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAppbmRleCA5NTcxZDM2NGZhNjgwYTg0NDZjYmRlOGEw
OGZlNTM2NWJjOTc2OWMxLi5hZWM2MTZlY2NhOTAyMTVlMjhjNTMwNmU3ZGE1MTFkZTgyZmNjZDMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcApAQCAtMTAzLDkgKzEwMyw3IEBAIFRleHRFdmVu
dDo6VGV4dEV2ZW50KERPTVdpbmRvdyogdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBjb25zdCBW
ZWN0b3I8RGljdGF0aW9uCiB7CiB9CiAKLVRleHRFdmVudDo6flRleHRFdmVudCgpCi17Ci19CitU
ZXh0RXZlbnQ6On5UZXh0RXZlbnQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgVGV4dEV2ZW50Ojppbml0
VGV4dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgRE9NV2luZG93KiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVG91Y2hFdmVudC5jcHAKaW5kZXggODczZjI5NjRiZDQzYmM5YjMzZTBiYTc3NTAyOWFk
YjMyYWM4MmEwYi4uZTdkNjE2MDNjYmEwOWE1OWFhMjVhYzk4MDM1ZjYyNzkxMmUzZDU0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmNwcApAQCAtMzQsOSArMzQsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLVRvdWNoRXZlbnQ6OlRvdWNoRXZlbnQoKQotewotfQorVG91Y2hFdmVudDo6
VG91Y2hFdmVudCgpID0gZGVmYXVsdDsKIAogVG91Y2hFdmVudDo6VG91Y2hFdmVudChUb3VjaExp
c3QqIHRvdWNoZXMsIFRvdWNoTGlzdCogdGFyZ2V0VG91Y2hlcywKICAgICAgICAgVG91Y2hMaXN0
KiBjaGFuZ2VkVG91Y2hlcywgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCAKQEAgLTYyLDkgKzYw
LDcgQEAgVG91Y2hFdmVudDo6VG91Y2hFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNv
bnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXMKIHsKIH0KIAotVG91Y2hFdmVudDo6flRvdWNo
RXZlbnQoKQotewotfQorVG91Y2hFdmVudDo6flRvdWNoRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIHZv
aWQgVG91Y2hFdmVudDo6aW5pdFRvdWNoRXZlbnQoVG91Y2hMaXN0KiB0b3VjaGVzLCBUb3VjaExp
c3QqIHRhcmdldFRvdWNoZXMsCiAgICAgICAgIFRvdWNoTGlzdCogY2hhbmdlZFRvdWNoZXMsIGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJhbnNpdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmFuc2l0aW9uRXZlbnQu
Y3BwCmluZGV4IGRkMDZkNzhlNjUyY2IxMDY0MWQ4NDY1NTQ2M2VmZTc2ZDY1MzI1MWUuLmNmOGRl
YjlhMDgzODZjZmI2ZGU5ZGNhMjM1YmM5MjhiMzg5ODFmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UcmFuc2l0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9U
cmFuc2l0aW9uRXZlbnQuY3BwCkBAIC00NSw5ICs0NSw3IEBAIFRyYW5zaXRpb25FdmVudDo6VHJh
bnNpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlh
bGl6CiB7CiB9CiAKLVRyYW5zaXRpb25FdmVudDo6flRyYW5zaXRpb25FdmVudCgpCi17Ci19CitU
cmFuc2l0aW9uRXZlbnQ6On5UcmFuc2l0aW9uRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IFN0
cmluZyYgVHJhbnNpdGlvbkV2ZW50Ojpwcm9wZXJ0eU5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlLmNwcAppbmRleCA0NzNhMWIzMDA3M2M2ZDdmMWQ3NTBmMjA1NmIzZTg5YTVlMDU2
NjI4Li43ZjFkNDFiNjlmNWRlZmEwZGZjZjg0YTkzMmYwZTA1NGRmOGFiOTQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVHJlZVNjb3BlLmNwcApAQCAtNzcsOSArNzcsNyBAQCBUcmVlU2NvcGU6OlRyZWVTY29wZShE
b2N1bWVudCYgZG9jdW1lbnQpCiAgICAgZG9jdW1lbnQuc2V0VHJlZVNjb3BlKCp0aGlzKTsKIH0K
IAotVHJlZVNjb3BlOjp+VHJlZVNjb3BlKCkKLXsKLX0KK1RyZWVTY29wZTo6flRyZWVTY29wZSgp
ID0gZGVmYXVsdDsKIAogdm9pZCBUcmVlU2NvcGU6OmRlc3Ryb3lUcmVlU2NvcGVEYXRhKCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9VSUV2ZW50LmNwcAppbmRleCBlODE1YWY5N2FmZTRkMDhlNWVjMGI3N2YzMTNjYWI2
YWY4OWJmOWU4Li43YzZhNmE3M2NkOTI5NThlMjI1YTBhYzUyMjRmODYwMGUxOGY5MjkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1VJRXZlbnQuY3BwCkBAIC01Myw5ICs1Myw3IEBAIFVJRXZlbnQ6OlVJRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFVJRXZlbnRJbml0JiBpbml0aWFsaXpl
ciwKIHsKIH0KIAotVUlFdmVudDo6flVJRXZlbnQoKQotewotfQorVUlFdmVudDo6flVJRXZlbnQo
KSA9IGRlZmF1bHQ7CiAKIHZvaWQgVUlFdmVudDo6aW5pdFVJRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbCBjYW5jZWxhYmxlQXJnLCBET01X
aW5kb3cqIHZpZXdBcmcsIGludCBkZXRhaWxBcmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVmlzaWJpbGl0eUNoYW5nZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Zp
c2liaWxpdHlDaGFuZ2VDbGllbnQuaAppbmRleCBjYzc1NjNhNzRmZWYzMDQwNTZhN2FiMjFkY2Uz
ODE2NmYzNWRkYmM0Li44Njg2OGE4NThhZDNjNGYzYWRiN2U1ZWRlYmY0ZjhiM2I3YzhkMjY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlzaWJpbGl0eUNoYW5nZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaXNpYmlsaXR5Q2hhbmdlQ2xpZW50LmgKQEAgLTI5LDcg
KzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBWaXNpYmlsaXR5Q2hhbmdlQ2xp
ZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5WaXNpYmlsaXR5Q2hhbmdlQ2xpZW50KCkgeyB9
CisgICAgdmlydHVhbCB+VmlzaWJpbGl0eUNoYW5nZUNsaWVudCgpID0gZGVmYXVsdDsKIAogICAg
IHZpcnR1YWwgdm9pZCB2aXNpYmlsaXR5U3RhdGVDaGFuZ2VkKCkgPSAwOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwCmluZGV4IGJmMTE2ZjQ2YzY1M2M0
N2YwN2QzODFiNzFlYzE3OTIyZGQ5MjhkNmEuLjFiMmFiMmU2NTM3MDdjMjI5MTdjYTRhMjczYjdm
YjJiYzM3ODIxZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRp
b25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50
LmNwcApAQCAtNDIsOSArNDIsNyBAQCBXZWJLaXRBbmltYXRpb25FdmVudDo6V2ViS2l0QW5pbWF0
aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbgogewogfQogCi1X
ZWJLaXRBbmltYXRpb25FdmVudDo6fldlYktpdEFuaW1hdGlvbkV2ZW50KCkKLXsKLX0KK1dlYktp
dEFuaW1hdGlvbkV2ZW50Ojp+V2ViS2l0QW5pbWF0aW9uRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIGNv
bnN0IFN0cmluZyYgV2ViS2l0QW5pbWF0aW9uRXZlbnQ6OmFuaW1hdGlvbk5hbWUoKSBjb25zdAog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAppbmRleCBk
NDUxODJmN2NhMjU5MjI1MjI0MjJiYjkxMTIxZGRiNjQ5MTBkYjVjLi45OGRjZTkzMmZkZDFkN2M1
MjE1NWU1NWZkMTY2NTllODY2ZTg5OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
VHJhbnNpdGlvbkV2ZW50LmNwcApAQCAtNDQsOSArNDQsNyBAQCBXZWJLaXRUcmFuc2l0aW9uRXZl
bnQ6OldlYktpdFRyYW5zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0
IEluaQogewogfQogCi1XZWJLaXRUcmFuc2l0aW9uRXZlbnQ6On5XZWJLaXRUcmFuc2l0aW9uRXZl
bnQoKQotewotfQorV2ViS2l0VHJhbnNpdGlvbkV2ZW50Ojp+V2ViS2l0VHJhbnNpdGlvbkV2ZW50
KCkgPSBkZWZhdWx0OwogCiBjb25zdCBTdHJpbmcmIFdlYktpdFRyYW5zaXRpb25FdmVudDo6cHJv
cGVydHlOYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9kZWZh
dWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9k
ZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcAppbmRleCA5YmUwYzY1YmRmNTdh
YTIwNjI5MWRiZDUwZmNjNTkxMTVmMmI3ZjNkLi41YmU5ODFlZDViOTVmMDM3OGU2NWNkM2ZiNmI4
Yjc3ZjE5NGMzOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVsdC9QbGF0
Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL2RlZmF1
bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwCkBAIC0xNTAsOSArMTUwLDcgQEAgUGxh
dGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKE1lc3Nh
Z2VQb3J0UXVldWUqIGluY29taW4KIHsKIH0KIAotUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6
On5QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCgpCi17Ci19CitQbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbDo6flBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKCkgPSBkZWZhdWx0OwogCiB2b2lk
IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpzZXRSZW1vdGVQb3J0KE1lc3NhZ2VQb3J0KiBw
b3J0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0Q29tbWFuZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRDb21tYW5kLmNwcAppbmRleCAyY2UwOGM3
ZjBjNzI4NTQxMWNhNTE1YzIzMDQ0NjhlMGU5Y2UyN2U2Li45MmQ4ZWMxM2M0YmUyZDE5YTY5Mzg4
MWMzYzlhNGUwOTk0MDQ3MjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRDb21tYW5kLmNw
cApAQCAtMTM0LDkgKzEzNCw3IEBAIEVkaXRDb21tYW5kOjpFZGl0Q29tbWFuZChEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHN0YXJ0aW5nU2VsCiAgICAgc2V0RW5k
aW5nU2VsZWN0aW9uKGVuZGluZ1NlbGVjdGlvbik7CiB9CiAKLUVkaXRDb21tYW5kOjp+RWRpdENv
bW1hbmQoKQotewotfQorRWRpdENvbW1hbmQ6On5FZGl0Q29tbWFuZCgpID0gZGVmYXVsdDsKIAog
RnJhbWUmIEVkaXRDb21tYW5kOjpmcmFtZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRp
bmdTdHlsZS5jcHAKaW5kZXggYjE1ZDdkNWZmMjExNWJkZjcxNTllN2VkNGMyZDRiYzE4MzQ5ODhl
Yy4uMjI0ZTgxMTJmY2JlMDcwZTBiYjJmMGNiZDMzMGUxMDdkMjdiYzUzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcApAQCAtMTYwLDggKzE2MCw4IEBAIGNsYXNzIEhU
TUxFbGVtZW50RXF1aXZhbGVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50KENTU1Byb3BlcnR5SUQsIENTU1ZhbHVlSUQg
cHJpbWl0aXZlVmFsdWUsIGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUpOworICAgIHZpcnR1
YWwgfkhUTUxFbGVtZW50RXF1aXZhbGVudCgpID0gZGVmYXVsdDsKIAotICAgIHZpcnR1YWwgfkhU
TUxFbGVtZW50RXF1aXZhbGVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBtYXRjaGVzKGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0IHsgcmV0dXJuICFtX3RhZ05hbWUgfHwgZWxlbWVudC5o
YXNUYWdOYW1lKCptX3RhZ05hbWUpOyB9CiAgICAgdmlydHVhbCBib29sIGhhc0F0dHJpYnV0ZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHByb3BlcnR5RXhpc3Rz
SW5TdHlsZShjb25zdCBFZGl0aW5nU3R5bGUmIHN0eWxlKSBjb25zdCB7IHJldHVybiBzdHlsZS5t
X211dGFibGVTdHlsZSAmJiBzdHlsZS5tX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1
ZShtX3Byb3BlcnR5SUQpOyB9CkBAIC0zODAsOSArMzgwLDcgQEAgRWRpdGluZ1N0eWxlOjpFZGl0
aW5nU3R5bGUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBDU1NWYWx1ZUlEIHZhbHVlKQogICAg
IGV4dHJhY3RGb250U2l6ZURlbHRhKCk7CiB9CiAKLUVkaXRpbmdTdHlsZTo6fkVkaXRpbmdTdHls
ZSgpCi17Ci19CitFZGl0aW5nU3R5bGU6On5FZGl0aW5nU3R5bGUoKSA9IGRlZmF1bHQ7CiAKIHN0
YXRpYyBDb2xvciBjc3NWYWx1ZVRvQ29sb3IoQ1NTVmFsdWUqIGNvbG9yVmFsdWUpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMGFkOWVkZTU0MDViNjZiNWNlOTY1NzUzN2VlZDE5
NWFmODAwZTA1My4uZTYwZWNjOTEwMTExMzMzNTg1ZDlhMDIwYTIxYzE0ODY5ZTBiZTNhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTE1MSw5ICsxMTUxLDcgQEAgRWRpdG9yOjpF
ZGl0b3IoRnJhbWUmIGZyYW1lKQogewogfQogCi1FZGl0b3I6On5FZGl0b3IoKQotewotfQorRWRp
dG9yOjp+RWRpdG9yKCkgPSBkZWZhdWx0OwogCiB2b2lkIEVkaXRvcjo6Y2xlYXIoKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5oIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5oCmluZGV4IDliYzhiMzk5NTY3
ZWQ3NTJhYWQxOTRiNDZkODYxMzIyZDI2ZDc2MTAuLjc4Yzk1ZGE1NWQ2ZGE1MzhiMWQwZGEwMWU2
ZTRjZThiNWM1NzFmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5zZXJ0
VGV4dENvbW1hbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRDb21t
YW5kLmgKQEAgLTM0LDEwICszNCwxMCBAQCBjbGFzcyBUZXh0OwogCiBjbGFzcyBUZXh0SW5zZXJ0
aW9uTWFya2VyU3VwcGxpZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxUZXh0SW5zZXJ0aW9uTWFya2Vy
U3VwcGxpZXI+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5UZXh0SW5zZXJ0aW9uTWFya2VyU3Vw
cGxpZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5UZXh0SW5zZXJ0aW9uTWFya2VyU3VwcGxpZXIoKSA9
IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIGFkZE1hcmtlcnNUb1RleHROb2RlKFRleHQqLCB1
bnNpZ25lZCBvZmZzZXRPZkluc2VydGlvbiwgY29uc3QgU3RyaW5nJiB0ZXh0SW5zZXJ0ZWQpID0g
MDsKIHByb3RlY3RlZDoKLSAgICBUZXh0SW5zZXJ0aW9uTWFya2VyU3VwcGxpZXIoKSB7IH0KKyAg
ICBUZXh0SW5zZXJ0aW9uTWFya2VyU3VwcGxpZXIoKSA9IGRlZmF1bHQ7CiB9OwogCiBjbGFzcyBJ
bnNlcnRUZXh0Q29tbWFuZCA6IHB1YmxpYyBDb21wb3NpdGVFZGl0Q29tbWFuZCB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCmluZGV4IDk3OWNlNTNjYzNh
YjIwNDQyMjA5NjRjZGEzNTlkNWZiNjU3ZGM1N2UuLjE5ZDI1NGQyZDE3ZDRhZDViNDk5MzJkMDgz
Yzk0Y2ExZmM1MDA0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3Vw
QWNjdW11bGF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11
bGF0b3IuY3BwCkBAIC0xMjUsOSArMTI1LDcgQEAgTWFya3VwQWNjdW11bGF0b3I6Ok1hcmt1cEFj
Y3VtdWxhdG9yKFZlY3RvcjxOb2RlKj4qIG5vZGVzLCBFQWJzb2x1dGVVUkxzIHJlc29sdmUKIHsK
IH0KIAotTWFya3VwQWNjdW11bGF0b3I6On5NYXJrdXBBY2N1bXVsYXRvcigpCi17Ci19CitNYXJr
dXBBY2N1bXVsYXRvcjo6fk1hcmt1cEFjY3VtdWxhdG9yKCkgPSBkZWZhdWx0OwogCiBTdHJpbmcg
TWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6ZU5vZGVzKE5vZGUmIHRhcmdldE5vZGUsIEVDaGls
ZHJlbk9ubHkgY2hpbGRyZW5Pbmx5LCBWZWN0b3I8UXVhbGlmaWVkTmFtZT4qIHRhZ05hbWVzVG9T
a2lwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCmluZGV4IGEyOTRi
YjMwMzdhNDgxYjc0MDQyZmI3ZDUxYmQ2MjRmN2U5Zjk4YjIuLmE1YjYxNmQyNDhlMTFjODY0Mjc5
NTI2M2Q4OWNjNDBiMTNhOWNmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
U3BlbGxDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAKQEAgLTQ4LDkgKzQ4LDcgQEAgU3BlbGxDaGVja1JlcXVlc3Q6OlNwZWxsQ2hlY2tSZXF1
ZXN0KFJlZjxSYW5nZT4mJiBjaGVja2luZ1JhbmdlLCBSZWY8UmFuZ2U+JiYgcGEKIHsKIH0KIAot
U3BlbGxDaGVja1JlcXVlc3Q6On5TcGVsbENoZWNrUmVxdWVzdCgpCi17Ci19CitTcGVsbENoZWNr
UmVxdWVzdDo6flNwZWxsQ2hlY2tSZXF1ZXN0KCkgPSBkZWZhdWx0OwogCiBSZWZQdHI8U3BlbGxD
aGVja1JlcXVlc3Q+IFNwZWxsQ2hlY2tSZXF1ZXN0OjpjcmVhdGUoVGV4dENoZWNraW5nVHlwZU1h
c2sgdGV4dENoZWNraW5nT3B0aW9ucywgVGV4dENoZWNraW5nUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5
cGUsIFJlZjxSYW5nZT4mJiBjaGVja2luZ1JhbmdlLCBSZWY8UmFuZ2U+JiYgcGFyYWdyYXBoUmFu
Z2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hl
bHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAK
aW5kZXggZjY1NDEwNjRiZmUzODk1YjkwMjIwZTRhNTMxYzllZmQxYjJmOTM2ZS4uZWQ5YmVlNDlj
YTcyMmYzZjg2OGE0YTU5MjViOGM5OTc0ZTMwZmM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmNwcApAQCAtMjE3LDkgKzIxNyw3IEBAIFRleHRDaGVj
a2luZ0hlbHBlcjo6VGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCYgY2xpZW50LCBSYW5n
ZSYgcmFuZ2UpCiB7CiB9CiAKLVRleHRDaGVja2luZ0hlbHBlcjo6flRleHRDaGVja2luZ0hlbHBl
cigpCi17Ci19CitUZXh0Q2hlY2tpbmdIZWxwZXI6On5UZXh0Q2hlY2tpbmdIZWxwZXIoKSA9IGRl
ZmF1bHQ7CiAKIFN0cmluZyBUZXh0Q2hlY2tpbmdIZWxwZXI6OmZpbmRGaXJzdE1pc3NwZWxsaW5n
KGludCYgZmlyc3RNaXNzcGVsbGluZ09mZnNldCwgYm9vbCBtYXJrQWxsLCBSZWZQdHI8UmFuZ2U+
JiBmaXJzdE1pc3NwZWxsaW5nUmFuZ2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVy
YXRvci5jcHAKaW5kZXggNGZkNDFiMWZhZmM2YWYyZjQ0ZGM2OTgwNzBiMjZhNWRkMzI4YWJlMC4u
NzE2ZDZkYmRiNmQyYmY1NmY0OWFlNmM3ZDczZDU3N2Y4NzkwMzUyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtMTQ3LDkgKzE0Nyw3IEBAIEJpdFN0YWNrOjpC
aXRTdGFjaygpCiB7CiB9CiAKLUJpdFN0YWNrOjp+Qml0U3RhY2soKQotewotfQorQml0U3RhY2s6
On5CaXRTdGFjaygpID0gZGVmYXVsdDsKIAogdm9pZCBCaXRTdGFjazo6cHVzaChib29sIGJpdCkK
IHsKQEAgLTM3OSw5ICszNzcsNyBAQCBUZXh0SXRlcmF0b3I6OlRleHRJdGVyYXRvcihjb25zdCBS
YW5nZSogcmFuZ2UsIFRleHRJdGVyYXRvckJlaGF2aW9yIGJlaGF2aW9yKQogICAgIGFkdmFuY2Uo
KTsKIH0KIAotVGV4dEl0ZXJhdG9yOjp+VGV4dEl0ZXJhdG9yKCkKLXsKLX0KK1RleHRJdGVyYXRv
cjo6flRleHRJdGVyYXRvcigpID0gZGVmYXVsdDsKIAogc3RhdGljIEhUTUxTbG90RWxlbWVudCog
YXNzaWduZWRBdXRob3JTbG90KE5vZGUmIG5vZGUpCiB7CkBAIC0yNDA0LDkgKzI0MDAsNyBAQCBp
bmxpbmUgU2VhcmNoQnVmZmVyOjpTZWFyY2hCdWZmZXIoY29uc3QgU3RyaW5nJiB0YXJnZXQsIEZp
bmRPcHRpb25zIG9wdGlvbnMpCiAgICAgZm9sZFF1b3RlTWFya3MobV90YXJnZXQpOwogfQogCi1p
bmxpbmUgU2VhcmNoQnVmZmVyOjp+U2VhcmNoQnVmZmVyKCkKLXsKLX0KK2lubGluZSBTZWFyY2hC
dWZmZXI6On5TZWFyY2hCdWZmZXIoKSA9IGRlZmF1bHQ7CiAKIGlubGluZSB2b2lkIFNlYXJjaEJ1
ZmZlcjo6cmVhY2hlZEJyZWFrKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVW5kb1N0ZXAuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVW5kb1N0ZXAuaAppbmRleCBm
ZjEwZjI3OTk2YTljODhlYWUzZWRlZDdlMDAyZTIyZjZhOWU3OWVkLi4wMGMxNzAwMTA3YjJjYzc5
Y2MxMzI2NzlkODk4ZDcwNWJhNzg3ZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1VuZG9TdGVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9VbmRvU3RlcC5oCkBA
IC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVW5kb1N0ZXAgOiBw
dWJsaWMgUmVmQ291bnRlZDxVbmRvU3RlcD4gewogcHVibGljOgotICAgIHZpcnR1YWwgflVuZG9T
dGVwKCkgeyB9CisgICAgdmlydHVhbCB+VW5kb1N0ZXAoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0
dWFsIHZvaWQgdW5hcHBseSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVhcHBseSgpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyQ2xpZW50LmgKaW5k
ZXggYzJmYWFiYTEwMGFkYmMyMDUyYmVmZDNjMzVhZDg2ZDE5ZDlmMGJhNi4uNGY2N2UzMWIxMjI3
NTc4ZGQ2YzIwYWYxZDRjYzZjMGE4ZWMzNTBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlUmVhZGVyTG9hZGVyQ2xpZW50LmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBGaWxlUmVhZGVyTG9hZGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5GaWxlUmVhZGVyTG9hZGVyQ2xpZW50KCkge30KKyAgICB2aXJ0dWFsIH5GaWxl
UmVhZGVyTG9hZGVyQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIGRpZFN0
YXJ0TG9hZGluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5jcHAK
aW5kZXggMWJjOGI1YTVmNjcyZTFjZTQ4YTBiNTVlYzNmOGMxY2QxNzM0YmI4YS4uZjQ1MDkyNjNj
MDQwMThiZGZhOGQ1MjVlYmIxNzZhOWViNmE5MTYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmNwcApAQCAtMzcsOSArMzcsNyBAQCBCYWNr
Rm9yd2FyZENvbnRyb2xsZXI6OkJhY2tGb3J3YXJkQ29udHJvbGxlcihQYWdlJiBwYWdlLCBSZWY8
QmFja0ZvcndhcmRDbGllbnQ+JgogewogfQogCi1CYWNrRm9yd2FyZENvbnRyb2xsZXI6On5CYWNr
Rm9yd2FyZENvbnRyb2xsZXIoKQotewotfQorQmFja0ZvcndhcmRDb250cm9sbGVyOjp+QmFja0Zv
cndhcmRDb250cm9sbGVyKCkgPSBkZWZhdWx0OwogCiBib29sIEJhY2tGb3J3YXJkQ29udHJvbGxl
cjo6Y2FuR29CYWNrT3JGb3J3YXJkKGludCBkaXN0YW5jZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaAppbmRleCA1NmY0NDMx
YjkwZTgzYzJmZjY1MjhjZjI5NDMyMTdlYjhjYzc1N2MwLi5mOTczYmE2NGNkNDY1MThkZGZjYmRk
Njk0OWMzNzdjOGQxZjlmMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0Nh
Y2hlZEZyYW1lUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNo
ZWRGcmFtZVBsYXRmb3JtRGF0YS5oCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEgewogcHVibGljOgotICAgIHZpcnR1
YWwgfkNhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKCkgeyB9CisgICAgdmlydHVhbCB+Q2FjaGVkRnJh
bWVQbGF0Zm9ybURhdGEoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyKCkgeyB9
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuY3BwCmluZGV4IDAwMWU1YThj
OTAxY2I4OTU0NmNlYzMwYTk0YmIzMzBlNmNjOWMyZDAuLjcxOTg2YzRhMGE5M2YxYzU3NDY0NTBj
N2VhYjUxZmU1YTBiZjdlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuY3Bw
CkBAIC0zNjMsMTMgKzM2Myw5IEBAIHZvaWQgRm9ybUtleUdlbmVyYXRvcjo6d2lsbERlbGV0ZUZv
cm0oSFRNTEZvcm1FbGVtZW50KiBmb3JtKQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLUZv
cm1Db250cm9sbGVyOjpGb3JtQ29udHJvbGxlcigpCi17Ci19CitGb3JtQ29udHJvbGxlcjo6Rm9y
bUNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CiAKLUZvcm1Db250cm9sbGVyOjp+Rm9ybUNvbnRyb2xs
ZXIoKQotewotfQorRm9ybUNvbnRyb2xsZXI6On5Gb3JtQ29udHJvbGxlcigpID0gZGVmYXVsdDsK
IAogdW5zaWduZWQgRm9ybUNvbnRyb2xsZXI6OmZvcm1FbGVtZW50c0NoYXJhY3RlckNvdW50KCkg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybU5hbWVkSXRlbS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtTmFtZWRJdGVtLmgKaW5kZXggNDQxODQ2MTdiYTM5
MGY4Yzg4OWFkZjY2NmM3M2VkODI1NGI0ZTE3Ni4uYzhlNTk1ZTIyMDcyY2RiZTAxNzlmNzRkYzc2
NDI2ZDFmODQ0N2E1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtTmFtZWRJ
dGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtTmFtZWRJdGVtLmgKQEAgLTI2LDcg
KzI2LDcgQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiAKIGNsYXNzIEZvcm1OYW1lZEl0ZW0gewogcHVi
bGljOgotICAgIHZpcnR1YWwgfkZvcm1OYW1lZEl0ZW0oKSB7IH0KKyAgICB2aXJ0dWFsIH5Gb3Jt
TmFtZWRJdGVtKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQmIGFzSFRNTEVs
ZW1lbnQoKSA9IDA7CiAgICAgdmlydHVhbCBjb25zdCBIVE1MRWxlbWVudCYgYXNIVE1MRWxlbWVu
dCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNGb3JtQXNzb2NpYXRlZEVsZW1lbnQo
KSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRhY2ht
ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRhY2htZW50RWxlbWVu
dC5jcHAKaW5kZXggMDJlNmRiNzk5NGQwNzkyZGRjNDg2MDMwMmI4NWZhMzY1MDcxOGEwNy4uYTZl
ZDk2MTU2YWNkYTcyMzMzYmIzNmZhN2I1ZjUzYWFmYzlhMDI5YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0YWNobWVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcApAQCAtNDIsOSArNDIsNyBAQCBIVE1M
QXR0YWNobWVudEVsZW1lbnQ6OkhUTUxBdHRhY2htZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bQogICAgIEFTU0VSVChoYXNUYWdOYW1lKGF0dGFjaG1lbnRUYWcp
KTsKIH0KIAotSFRNTEF0dGFjaG1lbnRFbGVtZW50Ojp+SFRNTEF0dGFjaG1lbnRFbGVtZW50KCkK
LXsKLX0KK0hUTUxBdHRhY2htZW50RWxlbWVudDo6fkhUTUxBdHRhY2htZW50RWxlbWVudCgpID0g
ZGVmYXVsdDsKIAogUmVmPEhUTUxBdHRhY2htZW50RWxlbWVudD4gSFRNTEF0dGFjaG1lbnRFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3Vt
ZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCmluZGV4IGUxZjJi
MGRiN2IxZDE2NDcyMGJiNTRkZmRkODEyMzQ3YTJlYTFhNzUuLjk1YTc4MjhiZjA5OTM0M2VmZjY3
NTlkOWU1ZDc3NGNmMzU2NzhkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJvZHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVu
dC5jcHAKQEAgLTY2LDkgKzY2LDcgQEAgUmVmPEhUTUxCb2R5RWxlbWVudD4gSFRNTEJvZHlFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW0KICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBIVE1MQm9keUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKIH0K
IAotSFRNTEJvZHlFbGVtZW50Ojp+SFRNTEJvZHlFbGVtZW50KCkKLXsKLX0KK0hUTUxCb2R5RWxl
bWVudDo6fkhUTUxCb2R5RWxlbWVudCgpID0gZGVmYXVsdDsKIAogYm9vbCBIVE1MQm9keUVsZW1l
bnQ6OmlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNv
bnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKaW5kZXggMjAxMjhm
ZDRjYmY2ZTk1ZjkzOTFjYjk0NDgwOTgwNDQ1OTQxN2NiOC4uNzYxYzkzMTU4ZjA5YzhiMzg5Mzdl
MGY1MmE3ZWE3NzIzYmM3NjNlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1l
bnQuaApAQCAtNjEsNyArNjEsNyBAQCB1c2luZyBBc1RleHRGbGFncyA9IHVuc2lnbmVkOwogCiBj
bGFzcyBDYW52YXNPYnNlcnZlciB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+Q2FudmFzT2JzZXJ2
ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5DYW52YXNPYnNlcnZlcigpID0gZGVmYXVsdDsKIAogICAg
IHZpcnR1YWwgYm9vbCBpc0NhbnZhc09ic2VydmVyUHJveHkoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKaW5kZXggMmU3OTJkOTEwZGU2
N2NjMzkwMDYwZmEzMzhiODE0MDZlYzEwNjk4NS4uOTY1ZTZkZTQ3NDIwN2NkZmFmOGQxMzZiZmUx
OTVmN2M0ZWJlYWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcApAQCAtODgs
OSArODgsNyBAQCBIVE1MRG9jdW1lbnQ6OkhUTUxEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0
IFVSTCYgdXJsLCBEb2N1bWVudENsYXNzRmxhZ3MgZG9jdQogICAgIGNsZWFyWE1MVmVyc2lvbigp
OwogfQogCi1IVE1MRG9jdW1lbnQ6On5IVE1MRG9jdW1lbnQoKQotewotfQorSFRNTERvY3VtZW50
Ojp+SFRNTERvY3VtZW50KCkgPSBkZWZhdWx0OwogCiBpbnQgSFRNTERvY3VtZW50Ojp3aWR0aCgp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50V2l0aFN0YXRlLmNwcAppbmRleCBmMGIxZGQxYzA5MTY3MzZiNzM2Mjc3NjQwOThiODY1YTc5
MjllODZhLi45NjViMmM1NjA0YTY3NGIwNDgyNmRkMWMwZjA1ODVkZjg5YjM2ZDRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhT
dGF0ZS5jcHAKQEAgLTM2LDkgKzM2LDcgQEAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0
ZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZShjb25zdCBRdWFsaWZpZWQKIHsKIH0K
IAotSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6fkhUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGUoKQotewotfQorSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6fkhU
TUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoKSA9IGRlZmF1bHQ7CiAKIE5vZGU6Okluc2Vy
dGVkSW50b1Jlc3VsdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjppbnNlcnRlZElu
dG8oSW5zZXJ0aW9uVHlwZSBpbnNlcnRpb25UeXBlLCBDb250YWluZXJOb2RlJiBwYXJlbnRPZklu
c2VydGVkVHJlZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sc0NvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xzQ29sbGVjdGlvbi5jcHAKaW5kZXggZWU0M2RkMjQ1MWIwMzIwZmQ1Nzk3OGM0ODU2MWFhMGQy
NDdiNzBiMi4uN2YwZTdjYWE3MWZlMDk2MzZlNDk5ZTc0MmViYmM2YmMyYmZhN2M2MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAK
QEAgLTQ4LDkgKzQ4LDcgQEAgUmVmPEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uPiBIVE1MRm9y
bUNvbnRyb2xzQ29sbGVjdGlvbjo6Y3JlYXRlKENvbnRhaW5lck5vZGUKICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbihvd25lck5vZGUpKTsKIH0KIAot
SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb246On5IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbigp
Ci17Ci19CitIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbjo6fkhUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uKCkgPSBkZWZhdWx0OwogCiBzdGQ6Om9wdGlvbmFsPFZhcmlhbnQ8UmVmUHRyPFJhZGlv
Tm9kZUxpc3Q+LCBSZWZQdHI8RWxlbWVudD4+PiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbjo6
bmFtZWRJdGVtT3JJdGVtcyhjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUxvYWRlci5jcHAKaW5kZXggN2Y5MDhkMjJiMDk0OTI4MzcwNzdiYjQ2
ZGJkZWJhYjk1MWUyMDY1Mi4uODZkZjc2Nzk4YTFmODViMzFiMzExZWUyYzY1OTdkZjI1Y2I1ZjQ3
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlTG9hZGVyLmNwcApAQCAtNDUsOSArNDUs
NyBAQCBIVE1MSW1hZ2VMb2FkZXI6OkhUTUxJbWFnZUxvYWRlcihFbGVtZW50JiBlbGVtZW50KQog
ewogfQogCi1IVE1MSW1hZ2VMb2FkZXI6On5IVE1MSW1hZ2VMb2FkZXIoKQotewotfQorSFRNTElt
YWdlTG9hZGVyOjp+SFRNTEltYWdlTG9hZGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIEhUTUxJbWFn
ZUxvYWRlcjo6ZGlzcGF0Y2hMb2FkRXZlbnQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWFwRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBF
bGVtZW50LmNwcAppbmRleCBhZmJlYTQ3YmZjNjM3ODE5MjcyMzY5YzU5NDU2NTgxMDI0ZjA0Y2Jm
Li4zZWI4MTg2OWM0ZjRmNDQ2MGE1MTA4ODk5MzU5N2E5ZWZlYWU0ZDg1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNYXBFbGVtZW50LmNwcApAQCAtNTIsOSArNTIsNyBAQCBSZWY8SFRNTE1hcEVs
ZW1lbnQ+IEhUTUxNYXBFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbgogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhUTUxNYXBFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KSk7CiB9CiAKLUhUTUxNYXBFbGVtZW50Ojp+SFRNTE1hcEVsZW1lbnQoKQot
ewotfQorSFRNTE1hcEVsZW1lbnQ6On5IVE1MTWFwRWxlbWVudCgpID0gZGVmYXVsdDsKIAogYm9v
bCBIVE1MTWFwRWxlbWVudDo6bWFwTW91c2VFdmVudChMYXlvdXRQb2ludCBsb2NhdGlvbiwgY29u
c3QgTGF5b3V0U2l6ZSYgc2l6ZSwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0KQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKaW5kZXggOGNiMzY5YjdjYmFhMWJhZGRiOWZj
OTJlNmNlODU5MmU0ZTA3OTc0MS4uNDk4Y2I1MGVlMzBkZjY2M2FjZWY0MDRiMzEyZWQyNTNmYWIy
ZThiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCkBAIC00Niw5
ICs0Niw3IEBAIEhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
bWV0ZXJUYWcpKTsKIH0KIAotSFRNTE1ldGVyRWxlbWVudDo6fkhUTUxNZXRlckVsZW1lbnQoKQot
ewotfQorSFRNTE1ldGVyRWxlbWVudDo6fkhUTUxNZXRlckVsZW1lbnQoKSA9IGRlZmF1bHQ7CiAK
IFJlZjxIVE1MTWV0ZXJFbGVtZW50PiBIVE1MTWV0ZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKaW5kZXggNmE3MjFkNWJjYmVjYmZmOGI0
YWZmNWZhZjg1ZDRjZjRlZWYwZmFhNC4uZjY1YTA1NGEzZTc5NjI4NmViMTI1YWU1MjM0ZmYyZTk1
ZWI5NzE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3Bw
CkBAIC00Myw5ICs0Myw3IEBAIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkhUTUxQcm9ncmVzc0VsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmCiAgICAgc2V0SGFzQ3Vz
dG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CiAKLUhUTUxQcm9ncmVzc0VsZW1lbnQ6On5I
VE1MUHJvZ3Jlc3NFbGVtZW50KCkKLXsKLX0KK0hUTUxQcm9ncmVzc0VsZW1lbnQ6On5IVE1MUHJv
Z3Jlc3NFbGVtZW50KCkgPSBkZWZhdWx0OwogCiBSZWY8SFRNTFByb2dyZXNzRWxlbWVudD4gSFRN
TFByb2dyZXNzRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50JiBkb2N1bWVudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggZGRhNDc4ZDJjMjU0YjUwZjVlMzNmYWVkYjRl
YjUxMmQ4NWYwYzZmNi4uMzUyMDQzOTMwOTAyZWM1MjliNGMwMWFiMmYzMDZhMDNmODcwYTM5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5jcHAKQEAgLTY3LDkgKzY3LDcgQEAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ04KIHsKIH0KIAot
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6On5IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCgp
Ci17Ci19CitIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6fkhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50KCkgPSBkZWZhdWx0OwogCiBib29sIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojpj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlQml0bWFwLmNwcAppbmRleCBhYTdlMzhiYWY2Yjc5MDYzYTk5YTA2ZDA4
YTRmMjY1MmMzMmFjYjM1Li40YTMxNjA1YTczZGEyZjRjMzg0NTNiZTVlODM1M2MxM2Y1ZWMzYzcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmNwcApAQCAtMzI1LDEzICszMjUsOSBAQCB2
b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBS
ZWZQdHI8SW1hZ2VEYXRhPiYgaW1hZwogICAgIHByb21pc2UucmVzb2x2ZShpbWFnZUJpdG1hcCk7
CiB9CiAKLUltYWdlQml0bWFwOjpJbWFnZUJpdG1hcCgpCi17Ci19CitJbWFnZUJpdG1hcDo6SW1h
Z2VCaXRtYXAoKSA9IGRlZmF1bHQ7CiAKLUltYWdlQml0bWFwOjp+SW1hZ2VCaXRtYXAoKQotewot
fQorSW1hZ2VCaXRtYXA6On5JbWFnZUJpdG1hcCgpID0gZGVmYXVsdDsKIAogdW5zaWduZWQgSW1h
Z2VCaXRtYXA6OndpZHRoKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRl
eCAwY2EyZjNiYjMxZDA0YWNjYTk0MmFjNTgyNTcyMzc4NTJhZjQ0YzkzLi45OWRmNjI5YWFjYjFj
NTQ0NzIzM2QyNmJhZjFlOTgyZmJlNDdlYjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3Bw
CkBAIC0xNjQsOSArMTY0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPElucHV0VHlwZT4gSW5wdXRUeXBl
OjpjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIHN0ZDo6
bWFrZV91bmlxdWU8VGV4dElucHV0VHlwZT4oZWxlbWVudCk7CiB9CiAKLUlucHV0VHlwZTo6fklu
cHV0VHlwZSgpCi17Ci19CitJbnB1dFR5cGU6On5JbnB1dFR5cGUoKSA9IGRlZmF1bHQ7CiAKIGJv
b2wgSW5wdXRUeXBlOjp0aGVtZVN1cHBvcnRzRGF0YUxpc3RVSShJbnB1dFR5cGUqIHR5cGUpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhYmVsYWJsZUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcAppbmRleCAyN2Y2Y2FmZjVm
NzAzNjA0YjE3M2QzNDZkN2VmZmEyOTE5YTA3MjhiLi4wMDAxMWVkM2RmMDM0ODhlZDljNzU0YjEy
ODgxMDNkMjk0MWY2NWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhYmVsYWJs
ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGFiZWxhYmxlRWxlbWVudC5j
cHAKQEAgLTM2LDkgKzM2LDcgQEAgTGFiZWxhYmxlRWxlbWVudDo6TGFiZWxhYmxlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW0KIHsKIH0KIAotTGFi
ZWxhYmxlRWxlbWVudDo6fkxhYmVsYWJsZUVsZW1lbnQoKQotewotfQorTGFiZWxhYmxlRWxlbWVu
dDo6fkxhYmVsYWJsZUVsZW1lbnQoKSA9IGRlZmF1bHQ7CiAKIFJlZlB0cjxOb2RlTGlzdD4gTGFi
ZWxhYmxlRWxlbWVudDo6bGFiZWxzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmNwcAppbmRleCBlNGZhNjBkMDdiMzNlOWJjYTA5NjkzNzM2NzE0NGY2MGM3NzJiMzA1Li40
Y2IyZjM1NmJkODA4NTQ5ZDk3ZmVmNTRmNzcyOWMwN2Y5MTExZWYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC02MSw5ICs2MSw3IEBAIE1lZGlhQ29udHJvbGxl
cjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7CiB9
CiAKLU1lZGlhQ29udHJvbGxlcjo6fk1lZGlhQ29udHJvbGxlcigpCi17Ci19CitNZWRpYUNvbnRy
b2xsZXI6On5NZWRpYUNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTWVkaWFDb250cm9s
bGVyOjphZGRNZWRpYUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggZDg4ZjI3MGVkNTM5ZTJj
MDcxZGVmNmRlNjgzMjE0MTIxZmEyMTU4My4uNDAxYmQ0MGViOWE1OTU1YTZhYzUyYTBkNWExMGVj
MmE3ZTA4N2NmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgK
QEAgLTU1LDcgKzU1LDcgQEAgY2xhc3MgTWVkaWFFbGVtZW50U2Vzc2lvbiBmaW5hbCA6IHB1Ymxp
YyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgTWVkaWFFbGVtZW50U2Vzc2lvbihIVE1MTWVkaWFFbGVtZW50
Jik7Ci0gICAgdmlydHVhbCB+TWVkaWFFbGVtZW50U2Vzc2lvbigpIHsgfQorICAgIHZpcnR1YWwg
fk1lZGlhRWxlbWVudFNlc3Npb24oKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIHJlZ2lzdGVyV2l0
aERvY3VtZW50KERvY3VtZW50Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyV2l0aERvY3VtZW50KERv
Y3VtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKaW5kZXggYjQ0
ODE3ZmU5ZGVhZGI4YjY3YjNiZGYyMGY5NTgzMmNjNjUwYTdjMy4uZGQyMmFiMDFlNTIzN2QxYjRh
ZDEyNDc5OTY0ZjZlZmFmYjc0YjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9T
ZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRU
eXBlLmNwcApAQCAtNTIsOSArNTIsNyBAQCBTZWFyY2hJbnB1dFR5cGU6OlNlYXJjaElucHV0VHlw
ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogfQogCi1TZWFyY2hJbnB1dFR5cGU6On5T
ZWFyY2hJbnB1dFR5cGUoKQotewotfQorU2VhcmNoSW5wdXRUeXBlOjp+U2VhcmNoSW5wdXRUeXBl
KCkgPSBkZWZhdWx0OwogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6YWRkU2VhcmNoUmVzdWx0KCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVHlwZUFoZWFkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1R5cGVBaGVhZC5oCmluZGV4IDA0NmMwMDFlNTcxNzQ1ZjdiZTFmOWU0NjI3
YzZmNzRkZTZhYzI1OGYuLjc4OGViYzA2ZTVjYWE4NjE1YTRiYzBjOTU5MzUxYzdkOTY4ZGMzYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVHlwZUFoZWFkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9UeXBlQWhlYWQuaApAQCAtMzUsNyArMzUsNyBAQCBjbGFzcyBLZXlib2Fy
ZEV2ZW50OwogCiBjbGFzcyBUeXBlQWhlYWREYXRhU291cmNlIHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5UeXBlQWhlYWREYXRhU291cmNlKCkgeyB9CisgICAgdmlydHVhbCB+VHlwZUFoZWFkRGF0
YVNvdXJjZSgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgaW50IGluZGV4T2ZTZWxlY3RlZE9w
dGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGludCBvcHRpb25Db3VudCgpIGNvbnN0ID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVVJMUmVnaXN0cnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVVJMUmVnaXN0cnkuaAppbmRleCA2YzdjYTM1ZDkzYTc1ZTIwODkwNzBh
ZjNhN2ZiYTZmMDg3ZTFjY2U1Li5iZDc3MmNlNWYxN2E2Yjg3ZGMyZjQ2MjViNzFiZTAxMTAzYzM3
NzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1VSTFJlZ2lzdHJ5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9VUkxSZWdpc3RyeS5oCkBAIC00MCwxNCArNDAsMTQgQEAgY2xh
c3MgVVJMUmVnaXN0cnk7CiAKIGNsYXNzIFVSTFJlZ2lzdHJhYmxlIHsKIHB1YmxpYzoKLSAgICB2
aXJ0dWFsIH5VUkxSZWdpc3RyYWJsZSgpIHsgfQorICAgIHZpcnR1YWwgflVSTFJlZ2lzdHJhYmxl
KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgVVJMUmVnaXN0cnkmIHJlZ2lzdHJ5KCkgY29uc3Qg
PSAwOwogfTsKIAogY2xhc3MgVVJMUmVnaXN0cnkgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIHZpcnR1YWwgflVSTFJlZ2lzdHJ5KCkgeyB9CisgICAgdmlydHVh
bCB+VVJMUmVnaXN0cnkoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyVVJM
KFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgVVJMJiwgVVJMUmVnaXN0cmFibGUmKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHVucmVnaXN0ZXJVUkwoY29uc3QgVVJMJikgPSAwOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFycmF5cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFycmF5cy5jcHAKaW5kZXgg
YWVkN2RhNmE5ZDE3NzRhYTJkMjY1OWRiNzFmOTAxYmQ3OTA1NGE0My4uMmEwYTdjM2M3MzU2Zjcx
M2U0ZmY3MTViYjRkZjA2ZWU2MmNmMTgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0FOR0xFSW5zdGFuY2VkQXJyYXlzLmNwcApAQCAtMzksOSArMzksNyBAQCBBTkdM
RUluc3RhbmNlZEFycmF5czo6QU5HTEVJbnN0YW5jZWRBcnJheXMoV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZSYgY29udGV4dCkKIHsKIH0KIAotQU5HTEVJbnN0YW5jZWRBcnJheXM6On5BTkdMRUlu
c3RhbmNlZEFycmF5cygpCi17Ci19CitBTkdMRUluc3RhbmNlZEFycmF5czo6fkFOR0xFSW5zdGFu
Y2VkQXJyYXlzKCkgPSBkZWZhdWx0OwogCiBXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBB
TkdMRUluc3RhbmNlZEFycmF5czo6Z2V0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNQYXRoLmgKaW5kZXggYTc3YWJiMWViNmYxYWRlMmIwYmE4MmUyYzUxYmJm
MGM0N2ZlMzVmYS4uMzc5YjA3ZDQzNTcxM2M5YmJjMTJhYzkzNDMzYTI2MjM1OTg0NTIwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGguaApAQCAtMzUsNyArMzUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhbnZhc1BhdGggewogcHVibGljOgotICAgIHZp
cnR1YWwgfkNhbnZhc1BhdGgoKSB7IH0KKyAgICB2aXJ0dWFsIH5DYW52YXNQYXRoKCkgPSBkZWZh
dWx0OwogCiAgICAgdm9pZCBjbG9zZVBhdGgoKTsKICAgICB2b2lkIG1vdmVUbyhmbG9hdCB4LCBm
bG9hdCB5KTsKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIGZsb2F0IGN1cnJlbnRZKCkg
Y29uc3Q7CiAKIHByb3RlY3RlZDoKLSAgICBDYW52YXNQYXRoKCkgeyB9CisgICAgQ2FudmFzUGF0
aCgpID0gZGVmYXVsdDsKICAgICBDYW52YXNQYXRoKGNvbnN0IFBhdGgmIHBhdGgpCiAgICAgICAg
IDogbV9wYXRoKHBhdGgpCiAgICAgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1BhdHRlcm4uY3BwCmluZGV4IGU5NWViNjMzMDE2NGRiZDM1NzBlZjJjOTI5OTNkMjgxNmRh
MzRlMzYuLjE0MzMzNmFiZTZkMTk2NjA3NzNlNDQzNTE2MmFmY2M0ODVjYzJiYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uY3BwCkBAIC00Myw5ICs0Myw3
IEBAIENhbnZhc1BhdHRlcm46OkNhbnZhc1BhdHRlcm4oUmVmPEltYWdlPiYmIGltYWdlLCBib29s
IHJlcGVhdFgsIGJvb2wgcmVwZWF0WSwgYm9vCiB7CiB9CiAKLUNhbnZhc1BhdHRlcm46On5DYW52
YXNQYXR0ZXJuKCkKLXsKLX0KK0NhbnZhc1BhdHRlcm46On5DYW52YXNQYXR0ZXJuKCkgPSBkZWZh
dWx0OwogCiBib29sIENhbnZhc1BhdHRlcm46OnBhcnNlUmVwZXRpdGlvblR5cGUoY29uc3QgU3Ry
aW5nJiB0eXBlLCBib29sJiByZXBlYXRYLCBib29sJiByZXBlYXRZKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDUx
Yjk5NGY1NjMxZWNjNDEwYjM1MjhmNTdiOGVjY2ZkMmZlNzJmNzIuLjUxMWNlOTNjYzNkMTRlYWU5
MzA4ZjhjNWM4MjY2ZTVkNmM0NDIyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3Mg
V2ViR0xPYmplY3Q7CiBjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIFNjcmlw
dFdyYXBwYWJsZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHZpcnR1YWwgfkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KKyAgICB2aXJ0dWFsIH5DYW52YXNSZW5kZXJpbmdD
b250ZXh0KCkgPSBkZWZhdWx0OwogCiAgICAgdm9pZCByZWYoKSB7IG1fY2FudmFzLnJlZigpOyB9
CiAgICAgdm9pZCBkZXJlZigpIHsgbV9jYW52YXMuZGVyZWYoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUQmxlbmRNaW5NYXguY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvRVhUQmxlbmRNaW5NYXguY3BwCmluZGV4IDc2MmE1ZDlmNjc1YTYyZjBk
NzUxOTEzMmI4MDgxYjgwZWE1MDhlNmYuLjQ0MDUxZGEzMjJlNzc4MTE0OWVlNGZiZWM3N2ExMDBl
NjYxZjY1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VYVEJsZW5k
TWluTWF4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFRCbGVuZE1pbk1h
eC5jcHAKQEAgLTM1LDkgKzM1LDcgQEAgRVhUQmxlbmRNaW5NYXg6OkVYVEJsZW5kTWluTWF4KFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAKLUVYVEJsZW5kTWluTWF4
Ojp+RVhUQmxlbmRNaW5NYXgoKQotewotfQorRVhUQmxlbmRNaW5NYXg6On5FWFRCbGVuZE1pbk1h
eCgpID0gZGVmYXVsdDsKIAogV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgRVhUQmxlbmRN
aW5NYXg6OmdldE5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvRVhURnJhZ0RlcHRoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VY
VEZyYWdEZXB0aC5jcHAKaW5kZXggNjI2MzA5YzgzYmQxYzc0ZDU3NmQ1ODAyMmJlMTM0OTY2NGJl
ZGExYy4uODUxM2UzMDBhMmE4OWY0ZjU4OGU1YTNhYzA1ZjFmYTVjNjdmN2M4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhURnJhZ0RlcHRoLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFRGcmFnRGVwdGguY3BwCkBAIC0zNSw5ICszNSw3IEBA
IEVYVEZyYWdEZXB0aDo6RVhURnJhZ0RlcHRoKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNv
bnRleHQpCiB7CiB9CiAKLUVYVEZyYWdEZXB0aDo6fkVYVEZyYWdEZXB0aCgpCi17Ci19CitFWFRG
cmFnRGVwdGg6On5FWFRGcmFnRGVwdGgoKSA9IGRlZmF1bHQ7CiAKIFdlYkdMRXh0ZW5zaW9uOjpF
eHRlbnNpb25OYW1lIEVYVEZyYWdEZXB0aDo6Z2V0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFRTaGFkZXJUZXh0dXJlTE9ELmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VYVFNoYWRlclRleHR1cmVMT0QuY3BwCmluZGV4IDQ2
ZTQwNmE0MzQ4ZWZlZDg5OWIyMDcxMDAzNzQzZmRjM2Y3NjY0NjkuLmEyZTkxOGM3OTBhOTc3NmVm
M2QxM2EyYWI5MjQ4NWIzYmI1YmI0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0VYVFNoYWRlclRleHR1cmVMT0QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0VYVFNoYWRlclRleHR1cmVMT0QuY3BwCkBAIC0zNSw5ICszNSw3IEBAIEVYVFNoYWRl
clRleHR1cmVMT0Q6OkVYVFNoYWRlclRleHR1cmVMT0QoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZSYgY29udGV4dCkKIHsKIH0KIAotRVhUU2hhZGVyVGV4dHVyZUxPRDo6fkVYVFNoYWRlclRleHR1
cmVMT0QoKQotewotfQorRVhUU2hhZGVyVGV4dHVyZUxPRDo6fkVYVFNoYWRlclRleHR1cmVMT0Qo
KSA9IGRlZmF1bHQ7CiAKIFdlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEVYVFNoYWRlclRl
eHR1cmVMT0Q6OmdldE5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5jcHAKaW5kZXggMGJk
M2RmYTJiZTc1NzQ5M2I1NDdlN2YyNGM4ZDA3ZThlZjM2MWViNi4uZGU4MmMwNmRjMWYwYTg1MDc4
ZDM4NzQ5ZjdmZmY0MjdhNzkyODE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCkBAIC0zNiw5ICsz
Niw3IEBAIEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzo6RVhUVGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhCiB7CiB9CiAKLUVYVFRleHR1cmVGaWx0ZXJB
bmlzb3Ryb3BpYzo6fkVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYygpCi17Ci19CitFWFRUZXh0
dXJlRmlsdGVyQW5pc290cm9waWM6On5FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMoKSA9IGRl
ZmF1bHQ7CiAKIFdlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEVYVFRleHR1cmVGaWx0ZXJB
bmlzb3Ryb3BpYzo6Z2V0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9FWFRzUkdCLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VY
VHNSR0IuY3BwCmluZGV4IGU0ZWRmNTFjNzQ1YTBiODcwODU2MjAyMzgxOGQ5M2EzYzA2ZjVjOTcu
LjNkZDg2MTU4MmFmYzg1YzRiOTc2YmQwNTA1MDNlMGIyNGJiZDEzMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VYVHNSR0IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0VYVHNSR0IuY3BwCkBAIC0zNSw5ICszNSw3IEBAIEVYVHNSR0I6OkVYVHNS
R0IoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKIHsKIH0KIAotRVhUc1JHQjo6
fkVYVHNSR0IoKQotewotfQorRVhUc1JHQjo6fkVYVHNSR0IoKSA9IGRlZmF1bHQ7CiAKIFdlYkdM
RXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEVYVHNSR0I6OmdldE5hbWUoKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcApp
bmRleCAxMDFjNWYxMGQ3NTAwZjdiZjJmOTkxMWMzNjYzYTEwMDI0NTQ0NTg5Li45MjEzYTg5MGU2
ZDY4NDA1MTIyNjQ5ZTY2ZDI3MzFmZjk1YTg4YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcApAQCAtMzYsOSArMzYsNyBAQCBP
RVNFbGVtZW50SW5kZXhVaW50OjpPRVNFbGVtZW50SW5kZXhVaW50KFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAKLU9FU0VsZW1lbnRJbmRleFVpbnQ6On5PRVNFbGVt
ZW50SW5kZXhVaW50KCkKLXsKLX0KK09FU0VsZW1lbnRJbmRleFVpbnQ6On5PRVNFbGVtZW50SW5k
ZXhVaW50KCkgPSBkZWZhdWx0OwogCiBXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNF
bGVtZW50SW5kZXhVaW50OjpnZXROYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKaW5kZXggZGNiYjgx
OWUzNDhlNDQ3OGY2ZWU0NWZmMTA3NDkwMjNjNDAzZGRmMS4uZDFhYThkNjhjNjI0MWEzOTg1MDI5
MTVjMjhhN2JhNTU5ZWMwNTgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKQEAgLTM2LDkgKzM2LDcgQEAgT0VTU3Rh
bmRhcmREZXJpdmF0aXZlczo6T0VTU3RhbmRhcmREZXJpdmF0aXZlcyhXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlJiBjb250ZXgKIHsKIH0KIAotT0VTU3RhbmRhcmREZXJpdmF0aXZlczo6fk9FU1N0
YW5kYXJkRGVyaXZhdGl2ZXMoKQotewotfQorT0VTU3RhbmRhcmREZXJpdmF0aXZlczo6fk9FU1N0
YW5kYXJkRGVyaXZhdGl2ZXMoKSA9IGRlZmF1bHQ7CiAKIFdlYkdMRXh0ZW5zaW9uOjpFeHRlbnNp
b25OYW1lIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXM6OmdldE5hbWUoKSBjb25zdAogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAKaW5kZXggNjBkMmY3
YjUwYjhiYTAyYzQxNjc5M2UyYjljMzg5OThkMWE1ZThjZC4uMzg1MWIwYjkxOTM2ZDdmNWM0OGNk
OWNjZTk1N2YxMjU1ZmYwZWMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9P
RVNUZXh0dXJlRmxvYXQuY3BwCkBAIC0zNiw5ICszNiw3IEBAIE9FU1RleHR1cmVGbG9hdDo6T0VT
VGV4dHVyZUZsb2F0KFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAK
LU9FU1RleHR1cmVGbG9hdDo6fk9FU1RleHR1cmVGbG9hdCgpCi17Ci19CitPRVNUZXh0dXJlRmxv
YXQ6On5PRVNUZXh0dXJlRmxvYXQoKSA9IGRlZmF1bHQ7CiAKIFdlYkdMRXh0ZW5zaW9uOjpFeHRl
bnNpb25OYW1lIE9FU1RleHR1cmVGbG9hdDo6Z2V0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcAppbmRl
eCBmY2U5MTc5MDg0ZGQzMmIwMTVjYzcwOTFlZjkxNzUwNDM2ZTgzYmNmLi42MjZiZGNkNWFjMTBj
MmI5YTlmOTg3MWM5MWRmYWE5YjA5MzFjYTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTM1LDkgKzM1LDcgQEAg
T0VTVGV4dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIoV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZSYgY29udGV4dCkKIHsKIH0KIAotT0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+
T0VTVGV4dHVyZUZsb2F0TGluZWFyKCkKLXsKLX0KK09FU1RleHR1cmVGbG9hdExpbmVhcjo6fk9F
U1RleHR1cmVGbG9hdExpbmVhcigpID0gZGVmYXVsdDsKIAogV2ViR0xFeHRlbnNpb246OkV4dGVu
c2lvbk5hbWUgT0VTVGV4dHVyZUZsb2F0TGluZWFyOjpnZXROYW1lKCkgY29uc3QKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKaW5k
ZXggZjFmNzQ5NmRkMmRjZTBlZjEyNzBhMzRhNDAxOTU1OGJjNmMyMTk1Yi4uOGJiZTZhYzU5MTY2
Y2MyYjYxMTc4MmMwZWU0MWViZmJhNDRiNGJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKQEAgLTM2LDkgKzM2LDcgQEAgT0VT
VGV4dHVyZUhhbGZGbG9hdDo6T0VTVGV4dHVyZUhhbGZGbG9hdChXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlJiBjb250ZXh0KQogewogfQogCi1PRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVy
ZUhhbGZGbG9hdCgpCi17Ci19CitPRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVyZUhhbGZG
bG9hdCgpID0gZGVmYXVsdDsKIAogV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgT0VTVGV4
dHVyZUhhbGZGbG9hdDo6Z2V0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwCmluZGV4IDM1
OWUzMDAxNmUzOTZiOTU2NTY4OTAwMzE2MDkyODhiYTc2NzIxYjYuLjk1ODQwZGIyZWRhNjBjZWUz
YzIxM2FjYWRkNWZiNDJhZjRhZjVhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIuY3BwCkBAIC0zNSw5ICszNSw3
IEBAIE9FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXI6Ok9FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIo
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYKIHsKIH0KIAotT0VTVGV4dHVyZUhhbGZGbG9hdExp
bmVhcjo6fk9FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIoKQotewotfQorT0VTVGV4dHVyZUhhbGZG
bG9hdExpbmVhcjo6fk9FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXIoKSA9IGRlZmF1bHQ7CiAKIFdl
YkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIE9FU1RleHR1cmVIYWxmRmxvYXRMaW5lYXI6Omdl
dE5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
UGF0aDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1BhdGgyRC5jcHAKaW5kZXgg
MzkyMmQ1MTc3MzA1MzVhNDdlZjUwZmJhY2Y4MWYxYzlhYThmN2Q3OS4uMjE1YjdkM2JhZDJiODU0
MzMxZjY0YjNmMWMwMzM0NWYyYzJjZTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvUGF0aDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9QYXRo
MkQuY3BwCkBAIC0zNCw5ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGF0aDJE
Ojp+UGF0aDJEKCkKLXsKLX0KK1BhdGgyRDo6flBhdGgyRCgpID0gZGVmYXVsdDsKIAogRXhjZXB0
aW9uT3I8dm9pZD4gUGF0aDJEOjphZGRQYXRoKFBhdGgyRCYgcGF0aCwgRE9NTWF0cml4MkRJbml0
JiYgbWF0cml4SW5pdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAKaW5kZXggZWVmMTlkMzc1MzRlZmM5ZDBi
NjJlNTMzZDAzMjdmY2JjYTNmMjQwYS4uMWE1MGZiN2Y2OTI2NDE4MTIzMTllMGMzOGI4MmVmMDBj
NTA4Y2M2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAKQEAgLTQxLDkgKzQxLDcgQEAgV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQzo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlJgogICAgIGNvbnRleHQuYWRkQ29tcHJlc3NlZFRleHR1cmVGb3JtYXQoRXh0ZW5z
aW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9BTUQpOwogfQog
Ci1XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQygp
Ci17Ci19CitXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVy
ZUFUQygpID0gZGVmYXVsdDsKIAogV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQzo6Z2V0TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNw
cAppbmRleCAxNGI2NmY1ZmM4ZTZmMzA5NTM4YWMwZjZkOGEzNGFmMDliMWQwYjJmLi45YjA3NmFl
YjA1NGUxZmU1NGIwNjhiMWUzOWIwNGU5NWE3NmU3YWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAK
QEAgLTQzLDkgKzQzLDcgQEAgV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDOjpXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUFZSVEMoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmEKICAgICBjb250ZXh0LmFk
ZENvbXByZXNzZWRUZXh0dXJlRm9ybWF0KEV4dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9SR0JBX1BW
UlRDXzJCUFBWMV9JTUcpOwogfQogCi1XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEM6On5XZWJH
TENvbXByZXNzZWRUZXh0dXJlUFZSVEMoKQotewotfQorV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBW
UlRDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDKCkgPSBkZWZhdWx0OwogCiBXZWJHTEV4
dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEM6OmdldE5h
bWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwCmluZGV4IDQwYjdmNTNhODg0NjQwNTg2ZDU3
NzQyNGZhZTdiZWMxNmE3YjZiOTkuLmU4MGZlYmYyNjIwYTAwZmM0MTg1NGQ1NGY0ZGQ5MDdjYTQ2
NDAzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVTM1RDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TENvbXByZXNzZWRUZXh0dXJlUzNUQy5jcHAKQEAgLTQzLDkgKzQzLDcgQEAgV2ViR0xDb21wcmVz
c2VkVGV4dHVyZVMzVEM6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDKFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UKICAgICBjb250ZXh0LmFkZENvbXByZXNzZWRUZXh0dXJlRm9ybWF0KEV4dGVu
c2lvbnMzRDo6Q09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFQpOwogfQogCi1XZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUzNUQzo6fldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDKCkKLXsKLX0KK1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMoKSA9
IGRlZmF1bHQ7CiAKIFdlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVTM1RDOjpnZXROYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcAppbmRleCAxM2ExMmVlMTU2MmYwOGRkMTdm
ZjZkODhiOGVmYjg1MzViMDRjYzUyLi5lMDE4YjljYzI5YmM2MWEwOTUyNTE5OGQzY2I1MzMyZjhm
YjVmODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRl
eHRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0
RXZlbnQuY3BwCkBAIC00Miw5ICs0Miw3IEBAIFdlYkdMQ29udGV4dEV2ZW50OjpXZWJHTENvbnRl
eHRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXRpCiB7CiB9
CiAKLVdlYkdMQ29udGV4dEV2ZW50Ojp+V2ViR0xDb250ZXh0RXZlbnQoKQotewotfQorV2ViR0xD
b250ZXh0RXZlbnQ6On5XZWJHTENvbnRleHRFdmVudCgpID0gZGVmYXVsdDsKIAogRXZlbnRJbnRl
cmZhY2UgV2ViR0xDb250ZXh0RXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdSZW5kZXJlckluZm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5j
cHAKaW5kZXggOWRmN2ZiZDUxZGY0ZTUyMmZmMWQ1NWU4YTVjYzdkNmY3NDNkOWZmMS4uYzliZDlm
MTRjMzNkNGM4YTgzZmNmNDY4ZWU1Y2M4N2ZiN2U1ZDM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAKQEAgLTM4LDkg
KzM4LDcgQEAgV2ViR0xEZWJ1Z1JlbmRlcmVySW5mbzo6V2ViR0xEZWJ1Z1JlbmRlcmVySW5mbyhX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJiBjb250ZXgKIHsKIH0KIAotV2ViR0xEZWJ1Z1JlbmRl
cmVySW5mbzo6fldlYkdMRGVidWdSZW5kZXJlckluZm8oKQotewotfQorV2ViR0xEZWJ1Z1JlbmRl
cmVySW5mbzo6fldlYkdMRGVidWdSZW5kZXJlckluZm8oKSA9IGRlZmF1bHQ7CiAKIFdlYkdMRXh0
ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYkdMRGVidWdSZW5kZXJlckluZm86OmdldE5hbWUoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1
Z1NoYWRlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1NoYWRl
cnMuY3BwCmluZGV4IGVkNDI4MTMwOTlmNjA1MmJiZWY4ZWU5MDZmMDk2OTRlMzFmMzJjNzIuLjY4
ZGJkYmY2NWJiMWZmYzUyNDk1ZGQ0NTM3YjFlYmRiMzcyMjg1MmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdTaGFkZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERlYnVnU2hhZGVycy5jcHAKQEAgLTQwLDkgKzQwLDcg
QEAgV2ViR0xEZWJ1Z1NoYWRlcnM6OldlYkdMRGVidWdTaGFkZXJzKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAKLVdlYkdMRGVidWdTaGFkZXJzOjp+V2ViR0xEZWJ1
Z1NoYWRlcnMoKQotewotfQorV2ViR0xEZWJ1Z1NoYWRlcnM6On5XZWJHTERlYnVnU2hhZGVycygp
ID0gZGVmYXVsdDsKIAogV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xEZWJ1Z1No
YWRlcnM6OmdldE5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xEZXB0aFRleHR1cmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xEZXB0aFRleHR1cmUuY3BwCmluZGV4IDI5ZjliNjRlNGYyNTY0NmVkOTVmMTUzMTc5
MzAyZTU3MWY4ZDg5YjkuLmZmYTNlNzFhMDQyM2NjZDI4YmUwN2MwMDIzNDMwMDJhZTllYTEyOGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVwdGhUZXh0dXJl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERlcHRoVGV4dHVyZS5j
cHAKQEAgLTM4LDkgKzM4LDcgQEAgV2ViR0xEZXB0aFRleHR1cmU6OldlYkdMRGVwdGhUZXh0dXJl
KFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAKLVdlYkdMRGVwdGhU
ZXh0dXJlOjp+V2ViR0xEZXB0aFRleHR1cmUoKQotewotfQorV2ViR0xEZXB0aFRleHR1cmU6On5X
ZWJHTERlcHRoVGV4dHVyZSgpID0gZGVmYXVsdDsKIAogV2ViR0xFeHRlbnNpb246OkV4dGVuc2lv
bk5hbWUgV2ViR0xEZXB0aFRleHR1cmU6OmdldE5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERyYXdCdWZmZXJzLmNwcAppbmRleCAwODkxYzAyYTli
ODg5ZDBlN2JhOGU5MDU1ZjJiZjFhNmMxZTEwOWU0Li4wZTM2MWViMDljZGJhZDM2ZmNhMTEyMTUz
OWQwZTYwM2Q1Yjk2ZDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTERyYXdCdWZmZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TERyYXdCdWZmZXJzLmNwcApAQCAtMzcsOSArMzcsNyBAQCBXZWJHTERyYXdCdWZmZXJzOjpXZWJH
TERyYXdCdWZmZXJzKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAK
LVdlYkdMRHJhd0J1ZmZlcnM6On5XZWJHTERyYXdCdWZmZXJzKCkKLXsKLX0KK1dlYkdMRHJhd0J1
ZmZlcnM6On5XZWJHTERyYXdCdWZmZXJzKCkgPSBkZWZhdWx0OwogCiBXZWJHTEV4dGVuc2lvbjo6
RXh0ZW5zaW9uTmFtZSBXZWJHTERyYXdCdWZmZXJzOjpnZXROYW1lKCkgY29uc3QKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmNwcAppbmRleCBjOWYwYTQy
NTFjNzBlMDIzNThkZjRkMjQxYzhjYmI0NzI0Mzc3OTBkLi5iNDRiY2Y4MjIwOWU4NGFhYTZjZDBi
Nzg1ODJhOGM3YjhlZTFiMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTEV4dGVuc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xFeHRlbnNpb24uY3BwCkBAIC0zNiw5ICszNiw3IEBAIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTEV4
dGVuc2lvbihXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJiBjb250ZXh0KQogewogfQogCi1XZWJH
TEV4dGVuc2lvbjo6fldlYkdMRXh0ZW5zaW9uKCkKLXsKLX0KK1dlYkdMRXh0ZW5zaW9uOjp+V2Vi
R0xFeHRlbnNpb24oKSA9IGRlZmF1bHQ7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAppbmRleCBl
MmQ1ZjljNzVhMDVhZWIyNTc1ODNkNDkwY2RmNDgyZGQwNTZmZTliLi42YWRhMzNjYTFmZTAzN2Y4
MzA4NDEzYTVlMDdlMTI4OTgwOTFmNDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcApAQCAtMjYwLDEzICsyNjAsOSBAQCBuYW1lc3BhY2Ug
ewogCiB9IC8vIGFub255bW91cyBuYW1lc3BhY2UKIAotV2ViR0xGcmFtZWJ1ZmZlcjo6V2ViR0xB
dHRhY2htZW50OjpXZWJHTEF0dGFjaG1lbnQoKQotewotfQorV2ViR0xGcmFtZWJ1ZmZlcjo6V2Vi
R0xBdHRhY2htZW50OjpXZWJHTEF0dGFjaG1lbnQoKSA9IGRlZmF1bHQ7CiAKLVdlYkdMRnJhbWVi
dWZmZXI6OldlYkdMQXR0YWNobWVudDo6fldlYkdMQXR0YWNobWVudCgpCi17Ci19CitXZWJHTEZy
YW1lYnVmZmVyOjpXZWJHTEF0dGFjaG1lbnQ6On5XZWJHTEF0dGFjaG1lbnQoKSA9IGRlZmF1bHQ7
CiAKIFJlZjxXZWJHTEZyYW1lYnVmZmVyPiBXZWJHTEZyYW1lYnVmZmVyOjpjcmVhdGUoV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZSYgY3R4KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTExvc2VDb250ZXh0LmNwcAppbmRleCA5YmNiMDQ5YjQwOTA5ZjUxNTliY2NlMmNh
NTI5MDJmYjA2ZDk2MjQ1Li5kNmEwMWQzZjE1YzRhZWU0MWVlMDllMjhhZTU0MDZkMTNkZGI3ZTE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0LmNw
cApAQCAtMzgsOSArMzgsNyBAQCBXZWJHTExvc2VDb250ZXh0OjpXZWJHTExvc2VDb250ZXh0KFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNvbnRleHQpCiB7CiB9CiAKLVdlYkdMTG9zZUNvbnRl
eHQ6On5XZWJHTExvc2VDb250ZXh0KCkKLXsKLX0KK1dlYkdMTG9zZUNvbnRleHQ6On5XZWJHTExv
c2VDb250ZXh0KCkgPSBkZWZhdWx0OwogCiBXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBX
ZWJHTExvc2VDb250ZXh0OjpnZXROYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTE9iamVjdC5oCmluZGV4IDY5ZGJiNWFhMDdlYjkyOTk1ZDNjZWU3MTFmNGIyODdj
NjYzZTQ1YTkuLjNhOWVkNDFiMzM3NGZiNDNkYWZhYTI4Y2FiYmVkNzlkZGY3M2VmZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuaApAQCAtMzQsNyArMzQsNyBAQCBj
bGFzcyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOwogCiBjbGFzcyBXZWJHTE9iamVjdCA6IHB1
YmxpYyBSZWZDb3VudGVkPFdlYkdMT2JqZWN0PiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+V2Vi
R0xPYmplY3QoKSB7IH0KKyAgICB2aXJ0dWFsIH5XZWJHTE9iamVjdCgpID0gZGVmYXVsdDsKIAog
ICAgIFBsYXRmb3JtM0RPYmplY3Qgb2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAppbmRleCBmMzgzNDk5ZDllYWRjMDU2OWI1YzViNmRjMTZlODg2OTQ0
YWNkNWQ0Li4yZWI2MmU4M2MwYjU0NjcwNTgxNmQyNzZjNTUwMGZkYTYxODMyOGI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcApAQCAtMzM0LDggKzMzNCw5IEBAIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4
dExvc3RDYWxsYmFjayA6IHB1YmxpYyBHcmFwaGljc0NvbnRleHQzRDo6Q29udGV4dExvc3RDCiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0TG9zdENhbGxiYWNrKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UqIGNi
KSA6IG1fY29udGV4dChjYikgeyB9CisgICAgdmlydHVhbCB+V2ViR0xSZW5kZXJpbmdDb250ZXh0
TG9zdENhbGxiYWNrKCkgPSBkZWZhdWx0OworCiAgICAgdm9pZCBvbkNvbnRleHRMb3N0KCkgb3Zl
cnJpZGUgeyBtX2NvbnRleHQtPmZvcmNlTG9zdENvbnRleHQoV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpSZWFsTG9zdENvbnRleHQpOyB9Ci0gICAgdmlydHVhbCB+V2ViR0xSZW5kZXJpbmdDb250ZXh0
TG9zdENhbGxiYWNrKCkge30KIHByaXZhdGU6CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZSogbV9jb250ZXh0OwogfTsKQEAgLTM0NCwxMiArMzQ1LDEzIEBAIGNsYXNzIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEVycm9yTWVzc2FnZUNhbGxiYWNrIDogcHVibGljIEdyYXBoaWNzQ29udGV4dDNE
OjpFcnJvCiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgV2ViR0xSZW5kZXJpbmdDb250ZXh0RXJyb3JNZXNzYWdlQ2FsbGJhY2soV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZSogY2IpIDogbV9jb250ZXh0KGNiKSB7IH0KKyAgICB2aXJ0dWFsIH5XZWJH
TFJlbmRlcmluZ0NvbnRleHRFcnJvck1lc3NhZ2VDYWxsYmFjaygpID0gZGVmYXVsdDsKKwogICAg
IHZvaWQgb25FcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBHQzNEaW50KSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgaWYgKG1fY29udGV4dC0+bV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSkKICAgICAgICAgICAgIG1fY29udGV4dC0+cHJpbnRUb0NvbnNvbGUoTWVzc2FnZUxl
dmVsOjpFcnJvciwgbWVzc2FnZSk7CiAgICAgfQotICAgIHZpcnR1YWwgfldlYkdMUmVuZGVyaW5n
Q29udGV4dEVycm9yTWVzc2FnZUNhbGxiYWNrKCkgeyB9CiBwcml2YXRlOgogICAgIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UqIG1fY29udGV4dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaAppbmRleCA1MTMwYmUwZGQ0MmZlMWUx
ZGFhNTEzZTZhYTZhYjFiMTdiNDgyZTRmLi5hOTgwYzlmZmFkOTRmZGRiYjc3NTQ0NDg4NTM5ZDBk
NDMzOTRkYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVu
aWZvcm1Mb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5p
Zm9ybUxvY2F0aW9uLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdM
VW5pZm9ybUxvY2F0aW9uPiB7CiBwdWJsaWM6Ci0gICAgfldlYkdMVW5pZm9ybUxvY2F0aW9uKCkg
eyB9CisgICAgfldlYkdMVW5pZm9ybUxvY2F0aW9uKCkgPSBkZWZhdWx0OwogCiAgICAgc3RhdGlj
IFJlZjxXZWJHTFVuaWZvcm1Mb2NhdGlvbj4gY3JlYXRlKFdlYkdMUHJvZ3JhbSosIEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RlbnVtIHR5cGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVQnVmZmVyLmNwcAppbmRleCA2ZWZjM2Q5NGU2YmIyNWE1ZjBiZDg2Y2U0MGY0YmQwN2Zi
YTEzMjhiLi4zYWNmNWRkMzdlZDRhOTMyMmE5ZDAyZDQ2ODlhM2QxZjNkNjRhZGMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUJ1ZmZlci5jcHAKQEAgLTQ1LDkgKzQ1LDcg
QEAgV2ViR1BVQnVmZmVyOjpXZWJHUFVCdWZmZXIoV2ViR1BVUmVuZGVyaW5nQ29udGV4dCogY29u
dGV4dCwgQXJyYXlCdWZmZXJWaWV3KiBkYXQKICAgICBtX2J1ZmZlciA9IGNvbnRleHQtPmRldmlj
ZSgpLT5jcmVhdGVCdWZmZXJGcm9tRGF0YShkYXRhKTsKIH0KIAotV2ViR1BVQnVmZmVyOjp+V2Vi
R1BVQnVmZmVyKCkKLXsKLX0KK1dlYkdQVUJ1ZmZlcjo6fldlYkdQVUJ1ZmZlcigpID0gZGVmYXVs
dDsKIAogdW5zaWduZWQgbG9uZyBXZWJHUFVCdWZmZXI6Omxlbmd0aCgpIGNvbnN0CiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmNwcAppbmRl
eCBjZDQ0MjFhNDI4NTRlOGRjODc1YjgwOWFmODVkOTQ4NjlkMGVjODJmLi41ZmRkOWRmYWE2MGM5
OTVkMTZiNzY1ZDkyY2Q1OTc5YWYyM2QzNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5jcHAKQEAgLTQ1LDkgKzQ1LDcgQEAgV2ViR1BV
Q29tbWFuZFF1ZXVlOjpXZWJHUFVDb21tYW5kUXVldWUoV2ViR1BVUmVuZGVyaW5nQ29udGV4dCog
Y29udGV4dCkKICAgICBtX2NvbW1hbmRRdWV1ZSA9IGNvbnRleHQtPmRldmljZSgpLT5jcmVhdGVD
b21tYW5kUXVldWUoKTsKIH0KIAotV2ViR1BVQ29tbWFuZFF1ZXVlOjp+V2ViR1BVQ29tbWFuZFF1
ZXVlKCkKLXsKLX0KK1dlYkdQVUNvbW1hbmRRdWV1ZTo6fldlYkdQVUNvbW1hbmRRdWV1ZSgpID0g
ZGVmYXVsdDsKIAogU3RyaW5nIFdlYkdQVUNvbW1hbmRRdWV1ZTo6bGFiZWwoKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVD
b21tYW5kRW5jb2Rlci5jcHAKaW5kZXggMzZmZWUwMDYxMGQ5MTljMTJiMDMwMmVjNjI4ZDBkZmUw
NzAzNjEzZC4uM2Q1NWVlNTdjMTQyNTNkOTg4ZmFmYzA4YTI2MWIzNTg0ZjZmOGRhYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXIuY3BwCkBAIC01NCw5ICs1NCw3IEBAIFdlYkdQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlcjo6V2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKFdlYkdQVVJlbmRlcmluZ0NvbnRleHQq
CiAgICAgbV9jb21wdXRlQ29tbWFuZEVuY29kZXIgPSBidWZmZXItPmNvbW1hbmRCdWZmZXIoKS0+
Y3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCk7CiB9CiAgICAgCi1XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXI6On5XZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoKQotewotfQorV2ViR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyOjp+V2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCkgPSBk
ZWZhdWx0OwogICAgIAogdm9pZCBXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OnNldENvbXB1
dGVQaXBlbGluZVN0YXRlKFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiBwaXBlbGluZVN0YXRl
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29t
cHV0ZVBpcGVsaW5lU3RhdGUuY3BwCmluZGV4IDlmMzY0YzJhYTczNzUyNTE2ZTA0MDBhZWY0NDlj
YzBhYWQ2ZDhkYTAuLjU3YzAzZTdiNjJlODkxYWI2ZGVjZmY5OTgxYTU1OGFiNDM1NWMxNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRl
UGlwZWxpbmVTdGF0ZS5jcHAKQEAgLTQ3LDkgKzQ3LDcgQEAgV2ViR1BVQ29tcHV0ZVBpcGVsaW5l
U3RhdGU6OldlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKFdlYkdQVVJlbmRlcmluZ0NvbnRleHQq
IGMKICAgICBtX2NvbXB1dGVQaXBlbGluZVN0YXRlID0gR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6
OmNyZWF0ZShjb250ZXh0LT5kZXZpY2UoKS5nZXQoKSwgZnVuY3Rpb24tPmZ1bmN0aW9uKCkpOwog
fQogCi1XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6fldlYkdQVUNvbXB1dGVQaXBlbGluZVN0
YXRlKCkKLXsKLX0KK1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlOjp+V2ViR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGUoKSA9IGRlZmF1bHQ7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yLmNwcAppbmRleCA4YWMwZDk5MDMwYzdmYzExYWRmMjU1ZjlkMWI3ODU5OTAy
MDA4YjEwLi4yYjkwMTQ1MmZiN2M1ZWUwZjAxMWIxY2MzY2Q0ZjlhYzM0NWE1MTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlw
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yLmNwcApAQCAtNDQsOSArNDQsNyBAQCBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yOjpXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKCkKICAgICBtX2RlcHRoU3RlbmNp
bERlc2NyaXB0b3IgPSBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpjcmVhdGUoKTsKIH0KIAot
V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6fldlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0
b3IoKQotewotfQorV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6fldlYkdQVURlcHRoU3Rl
bmNpbERlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7CiAKIGJvb2wgV2ViR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCmluZGV4IDcw
MmFhYjhlZjM4MDdkYTM3N2EyOGQ2ZGU0NWIzOGJhYWNkNTdmODcuLjJkZTljZjY0YmMyMzAxMWY1
ZDFlNDJjZjM5YmVlNTczYTY4MjliMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKQEAgLTQ3LDkgKzQ3LDcgQEAg
V2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU6OldlYkdQVURlcHRoU3RlbmNpbFN0YXRlKFdlYkdQVVJl
bmRlcmluZ0NvbnRleHQqIGNvbnRleHQKICAgICBtX2RlcHRoU3RlbmNpbFN0YXRlID0gR1BVRGVw
dGhTdGVuY2lsU3RhdGU6OmNyZWF0ZShjb250ZXh0LT5kZXZpY2UoKS5nZXQoKSwgZGVzY3JpcHRv
ci0+ZGVwdGhTdGVuY2lsRGVzY3JpcHRvcigpKTsKIH0KIAotV2ViR1BVRGVwdGhTdGVuY2lsU3Rh
dGU6On5XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZSgpCi17Ci19CitXZWJHUFVEZXB0aFN0ZW5jaWxT
dGF0ZTo6fldlYkdQVURlcHRoU3RlbmNpbFN0YXRlKCkgPSBkZWZhdWx0OwogCiBTdHJpbmcgV2Vi
R1BVRGVwdGhTdGVuY2lsU3RhdGU6OmxhYmVsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmNwcAppbmRleCAzMmE3NDk3YjdhNjgxYzRmM2Yw
NjViZDU0MDE0NGJiY2I4ZGNkOTIxLi5lMWQxMmI5Y2UxNzc3NWJhNDc3MWQxODUyMTRiYTJjMzA3
ZDAzZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3
YWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUu
Y3BwCkBAIC01MSw5ICs1MSw3IEBAIFdlYkdQVURyYXdhYmxlOjpXZWJHUFVEcmF3YWJsZShXZWJH
UFVSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQogICAgIG1fdGV4dHVyZSA9IFdlYkdQVVRleHR1
cmU6OmNyZWF0ZUZyb21EcmF3YWJsZVRleHR1cmUoY29udGV4dCwgV1RGTW92ZShkcmF3YWJsZVRl
eHR1cmUpKTsKIH0KIAotV2ViR1BVRHJhd2FibGU6On5XZWJHUFVEcmF3YWJsZSgpCi17Ci19CitX
ZWJHUFVEcmF3YWJsZTo6fldlYkdQVURyYXdhYmxlKCkgPSBkZWZhdWx0OwogCiBXZWJHUFVUZXh0
dXJlKiBXZWJHUFVEcmF3YWJsZTo6dGV4dHVyZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5jcHAKaW5kZXggNjNlOGJmODAyMTFmMDIyZjZiZmU4NTQx
ZGU5M2VjNDJmNjgwMjExNy4uYTdhYTQwNjIwOGI5ODhmZjczZmVlYzBjZTk0MWJiMTdkNmRmOGIw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmNwcApA
QCAtNDYsOSArNDYsNyBAQCBXZWJHUFVGdW5jdGlvbjo6V2ViR1BVRnVuY3Rpb24oV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCwgV2ViR1BVTGlicmFyeSogbAogICAgIG1fZnVuY3Rpb24g
PSBsaWJyYXJ5LT5saWJyYXJ5KCktPmZ1bmN0aW9uV2l0aE5hbWUobmFtZSk7CiB9CiAKLVdlYkdQ
VUZ1bmN0aW9uOjp+V2ViR1BVRnVuY3Rpb24oKQotewotfQorV2ViR1BVRnVuY3Rpb246On5XZWJH
UFVGdW5jdGlvbigpID0gZGVmYXVsdDsKIAogU3RyaW5nIFdlYkdQVUZ1bmN0aW9uOjpuYW1lKCkg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxp
YnJhcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAK
aW5kZXggNmQzNzU3OTM1YzViNGExM2MyNmY0N2VmYTAzODlkZTk1YTRlMmRmNC4uZDE5OGVkYjZh
NTNkOGNiMzQ0YjEyN2NlMzhiOTMxOTc5MGQwNzVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAKQEAgLTQ2LDkgKzQ2LDcgQEAgV2ViR1BVTGlicmFy
eTo6V2ViR1BVTGlicmFyeShXZWJHUFVSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBT
dHJpbmcmIHNvdXIKICAgICBtX2xpYnJhcnkgPSBjb250ZXh0LT5kZXZpY2UoKS0+Y3JlYXRlTGli
cmFyeShzb3VyY2VDb2RlKTsKIH0KIAotV2ViR1BVTGlicmFyeTo6fldlYkdQVUxpYnJhcnkoKQot
ewotfQorV2ViR1BVTGlicmFyeTo6fldlYkdQVUxpYnJhcnkoKSA9IGRlZmF1bHQ7CiAKIFN0cmlu
ZyBXZWJHUFVMaWJyYXJ5OjpsYWJlbCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVT2JqZWN0LmNwcAppbmRleCBiMTcyYmVjMDVmNTY5MzM3OWVlMjE5MWE4ZjRl
MmQzODJlNTBjMDQ1Li4xYTY4Y2E4OWI3NjE5NGYxNTkxZmJlMzI2ZmNkNDQwYjAzNzgxNzIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVU9iamVjdC5jcHAKQEAgLTM3LDkg
KzM3LDcgQEAgV2ViR1BVT2JqZWN0OjpXZWJHUFVPYmplY3QoV2ViR1BVUmVuZGVyaW5nQ29udGV4
dCogY29udGV4dCkKIHsKIH0KIAotV2ViR1BVT2JqZWN0Ojp+V2ViR1BVT2JqZWN0KCkKLXsKLX0K
K1dlYkdQVU9iamVjdDo6fldlYkdQVU9iamVjdCgpID0gZGVmYXVsdDsKIAogdm9pZCBXZWJHUFVP
YmplY3Q6OmRlbGV0ZU9iamVjdChHUFVEZXZpY2UqKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwCmluZGV4
IDliNjk0ZDk3MjQ4ODY4YTQ3NzY1ZTg3YmQxNTk4YWU3NzhkODlkMDYuLjZlYmQ2NzRmOTE5M2Ix
NDFhODQ4ZjBlMGEyNjk3MzBmNmZhN2Y4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTUxLDkg
KzUxLDcgQEAgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OldlYkdQVVJlbmRlckNvbW1hbmRF
bmNvZGVyKFdlYkdQVVJlbmRlcmluZ0NvbnRleHQqIGMKICAgICBtX3JlbmRlckNvbW1hbmRFbmNv
ZGVyID0gYnVmZmVyLT5jb21tYW5kQnVmZmVyKCktPmNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVy
KGRlc2NyaXB0b3ItPnJlbmRlclBhc3NEZXNjcmlwdG9yKCkpOwogfQogCi1XZWJHUFVSZW5kZXJD
b21tYW5kRW5jb2Rlcjo6fldlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKCkKLXsKLX0KK1dlYkdQ
VVJlbmRlckNvbW1hbmRFbmNvZGVyOjp+V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKSA9IGRl
ZmF1bHQ7CiAKIHZvaWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldFJlbmRlclBpcGVs
aW5lU3RhdGUoV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSYgcGlwZWxpbmVTdGF0ZSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCmluZGV4IDBmNTI2Nzk1ZTZhYTJmM2Jm
NWJmYWNjYTU3YzhjN2E4NDdkNmQwYTEuLmVhYjMzMjAzODU5MjAyM2ViZDllODY0NjM2MDNjZjkz
MzIxZmQ3MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApAQCAtNDEs
OSArNDEsNyBAQCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OldlYkdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcihXZWJHUAogewogfQogCi1XZWJHUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IoKQotewotfQorV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp+V2Vi
R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwogCiB1bnNpZ25l
ZCBsb25nIFdlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6bG9hZEFjdGlvbigp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAK
aW5kZXggYmJiMDY4YzNhYzg1MGM4NTQyOGM1ZTJkZGNhZTIyN2ZlZjg2M2VhNC4uODNjZGRhNmFh
YmYwOWY5YzFkY2UyZTc4NDAyNDZlNTQwN2ZmMjIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApAQCAtNDUsOSArNDUsNyBAQCBXZWJHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaQogewogfQogCi1XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvcjo6fldlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkKLXsKLX0K
K1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7CiAKIEdQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKiBXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6cmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSBjb25z
dAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCmluZGV4
IDJmYmVkMjY2NDJiMjNiYzMwNTY0YmE0NGU0YWY1MTljNGI1MzgxMjQuLjVjNGY4MzQ3YTQ1MzBh
NmJiNzc3ODdmOTRkYmUwYzQ0ZDdiNmFhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTQ1LDkgKzQ1LDcgQEAgV2ViR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3I6OldlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmkKIHsKIH0KIAotV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6
On5XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcigpCi17Ci19CitXZWJH
UFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwogCiBkb3VibGUgV2ViR1BVUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyRGVwdGgoKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuY3BwCmluZGV4IGY0ZTVmNGIwY2Y3ZGM3ZGVkM2U5MmI4MmQwMTM5ZGY5ZGYz
OTMzZGQuLmU3YmVmODUyYzljY2RlNmY3M2Y0ZTYzNWEwYTAzNTZjMzc2ZDQ3ZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvci5jcHAKQEAgLTQ4LDkgKzQ4LDcgQEAgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6
OldlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkKICAgICBtX3JlbmRlclBhc3NEZXNjcmlwdG9y
ID0gR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNyZWF0ZSgpOwogfQogCi1XZWJHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkKLXsKLX0KK1dlYkdQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKSA9IGRl
ZmF1bHQ7CiAKIFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
cj4gV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudCgpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAppbmRleCAx
Zjg5ZGVjYTVmNDNmYTkxMGI3MWI1MWFjMDE4OTgwNWI4MGFiMzJiLi5mODY4ODgyYjJmZTlkZThm
OTk0MGMxMzZjYzQ3OTkzMzk5NmMxNjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTQ0LDkgKzQ0LDcgQEAgV2ViR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJHUFVSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWUKIHsKIH0KIAotV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
KCkKLXsKLX0KK1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6
fldlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpID0gZGVmYXVs
dDsKIAogdW5zaWduZWQgbG9uZyBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3I6OnBpeGVsRm9ybWF0KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3Bw
CmluZGV4IDU4ZmVhY2YzMzg0ZjQ4NmEyMzZmZmIwYmQ5MTc3ZjdlZDYwMzkyMDguLmJlMjljOGJh
NTMwNTAwOGI0MTYxODA5YzVmMjZjNzMyNDI3NTUyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
LmNwcApAQCAtNDgsOSArNDgsNyBAQCBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6Oldl
YkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpCiAgICAgbV9yZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IgPSBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmNyZWF0ZSgpOwogfQogCi1XZWJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6On5XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IoKQotewotfQorV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwogCiBSZWZQdHI8V2ViR1BVRnVuY3Rpb24+
IFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6dmVydGV4RnVuY3Rpb24oKSBjb25zdAog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlw
ZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
aXBlbGluZVN0YXRlLmNwcAppbmRleCA0MTBjMTAyMTM4NDc3YzU0MTg2N2M5OWZmZmIwNDFhNjgz
MGZhMGI4Li5lMmIxYWZkMGU5MDcwM2ZkNjdiYmVlNDQzY2JkNmNmYTdjMjkxNTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGlu
ZVN0YXRlLmNwcApAQCAtNDcsOSArNDcsNyBAQCBXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpX
ZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlKFdlYkdQVVJlbmRlcmluZ0NvbnRleHQqIGNvbgogICAg
IG1fcmVuZGVyUGlwZWxpbmVTdGF0ZSA9IEdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OmNyZWF0ZShj
b250ZXh0LT5kZXZpY2UoKS5nZXQoKSwgZGVzY3JpcHRvci0+cmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yKCkpOwogfQogCi1XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjp+V2ViR1BVUmVuZGVyUGlw
ZWxpbmVTdGF0ZSgpCi17Ci19CitXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjp+V2ViR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZSgpID0gZGVmYXVsdDsKIAogU3RyaW5nIFdlYkdQVVJlbmRlclBpcGVs
aW5lU3RhdGU6OmxhYmVsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVVGV4dHVyZS5jcHAKaW5kZXggMGMwMDQ4NGQ4OGNlZjc3MjAyNGMwOWU2ZWVmODMxOGJi
MWMwNGU5MS4uNjU4OGRmOGQ4MGUzNjdiYjYxMjA0NmFiMjg0ZGQxZTVhMGUwNjZjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAKQEAgLTU2LDkgKzU2
LDcgQEAgV2ViR1BVVGV4dHVyZTo6V2ViR1BVVGV4dHVyZShXZWJHUFVSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0LCBXZWJHUFVUZXh0dXJlRGVzY3IKICAgICBtX3RleHR1cmUgPSBjb250ZXh0LT5k
ZXZpY2UoKS0+Y3JlYXRlVGV4dHVyZShkZXNjcmlwdG9yLT50ZXh0dXJlRGVzY3JpcHRvcigpKTsK
IH0KIAotV2ViR1BVVGV4dHVyZTo6fldlYkdQVVRleHR1cmUoKQotewotfQorV2ViR1BVVGV4dHVy
ZTo6fldlYkdQVVRleHR1cmUoKSA9IGRlZmF1bHQ7CiAKIHVuc2lnbmVkIGxvbmcgV2ViR1BVVGV4
dHVyZTo6d2lkdGgoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCmluZGV4IDgwNjc5MzlhYjViMzIwMmM5
OGM1OGEyOTQxYTUxZjA1NjU1OTNhNzcuLmY3YTMzYzYyZmVmMmQwNTFiMDgyMzRhM2Q1Yzg1YTI4
NGMwOGQyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRl
eHR1cmVEZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKQEAgLTQ0LDkgKzQ0LDcgQEAgV2ViR1BVVGV4dHVyZURl
c2NyaXB0b3I6OldlYkdQVVRleHR1cmVEZXNjcmlwdG9yKHVuc2lnbmVkIGxvbmcgcGl4ZWxGb3Jt
YXQsIHVuc2kKICAgICBtX3RleHR1cmVEZXNjcmlwdG9yID0gR1BVVGV4dHVyZURlc2NyaXB0b3I6
OmNyZWF0ZShwaXhlbEZvcm1hdCwgd2lkdGgsIGhlaWdodCwgbWlwbWFwcGVkKTsKIH0KIAotV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3I6On5XZWJHUFVUZXh0dXJlRGVzY3JpcHRvcigpCi17Ci19CitX
ZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6fldlYkdQVVRleHR1cmVEZXNjcmlwdG9yKCkgPSBkZWZh
dWx0OwogCiB1bnNpZ25lZCBsb25nIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjp3aWR0aCgpIGNv
bnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Zvcm1zL0ZpbGVJY29uTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Zvcm1zL0ZpbGVJY29uTG9hZGVyLmgKaW5kZXgg
N2RhNzNmYzkyZTE2Y2UzYWNkYmU0OGIyYWUzYzQwMTM2OTA4MjgzMy4uYzFhZDNlYTZlMzkzMGEx
MDRmYzEzODVlZGJmMGNjNWY2OTZjODdhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9mb3Jtcy9GaWxlSWNvbkxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvZm9ybXMv
RmlsZUljb25Mb2FkZXIuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBJY29uOwogCiBjbGFzcyBG
aWxlSWNvbkxvYWRlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+RmlsZUljb25Mb2Fk
ZXJDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5GaWxlSWNvbkxvYWRlckNsaWVudCgpID0gZGVm
YXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgaWNvbkxvYWRlZChSZWZQdHI8SWNvbj4mJikgPSAwOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNj
YW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIu
Y3BwCmluZGV4IDgwMjc5NDhiMWZiM2JjOWJmYmJkMjJiNjZlNWIzYTEzYmQ0NGRhNGMuLmQxZDUw
NzgxZDVhMDA1NjViOTgxYzdhYzIwMDFjOTBiOGI1MWUwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTM5LDkgKzM5LDcgQEAg
Q1NTUHJlbG9hZFNjYW5uZXI6OkNTU1ByZWxvYWRTY2FubmVyKCkKIHsKIH0KIAotQ1NTUHJlbG9h
ZFNjYW5uZXI6On5DU1NQcmVsb2FkU2Nhbm5lcigpCi17Ci19CitDU1NQcmVsb2FkU2Nhbm5lcjo6
fkNTU1ByZWxvYWRTY2FubmVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIENTU1ByZWxvYWRTY2FubmVy
OjpyZXNldCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Q29uc3RydWN0aW9uU2l0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5jcHAKaW5kZXggMmRmMmI3NGZkMmY3ZDNjOTk2MTU2NGMyNmE2OWE3OWEy
OTNjZmJjYi4uYzgxYTlhZjBlMjk1OGQyNDMyYzM2ZjM3NWU3MzNlNzExZGEzNTM2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNw
cApAQCAtMjUwLDkgKzI1MCw3IEBAIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpIVE1MQ29uc3RydWN0
aW9uU2l0ZShEb2N1bWVudEZyYWdtZW50JiBmcmFnbWVudCwgUGFyc2VyQ29uCiAgICAgQVNTRVJU
KG1fZG9jdW1lbnQuaXNIVE1MRG9jdW1lbnQoKSB8fCBtX2RvY3VtZW50LmlzWEhUTUxEb2N1bWVu
dCgpKTsKIH0KIAotSFRNTENvbnN0cnVjdGlvblNpdGU6On5IVE1MQ29uc3RydWN0aW9uU2l0ZSgp
Ci17Ci19CitIVE1MQ29uc3RydWN0aW9uU2l0ZTo6fkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCkgPSBk
ZWZhdWx0OwogCiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpzZXRGb3JtKEhUTUxGb3JtRWxl
bWVudCogZm9ybSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxFbGVtZW50U3RhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1l
bnRTdGFjay5jcHAKaW5kZXggNzA1NzAzZWZjOTEzODNiMTBjZWIzYTU0YWY5ODMzYjRlMWI2ZTQw
My4uMDk5NTdkMjI2OTk4ZmI3YjZiZjFjMmYwOTBkYmI0MjM1MTYxMTE4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAKQEAgLTEyMSw5ICsx
MjEsNyBAQCBIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkOjpFbGVtZW50UmVjb3JkKFJl
ZjxIVE1MU3RhY2tJdGVtPiYmIGl0ZW0sIHN0ZDo6dQogewogfQogCi1IVE1MRWxlbWVudFN0YWNr
OjpFbGVtZW50UmVjb3JkOjp+RWxlbWVudFJlY29yZCgpCi17Ci19CitIVE1MRWxlbWVudFN0YWNr
OjpFbGVtZW50UmVjb3JkOjp+RWxlbWVudFJlY29yZCgpID0gZGVmYXVsdDsKIAogdm9pZCBIVE1M
RWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkOjpyZXBsYWNlRWxlbWVudChSZWY8SFRNTFN0YWNr
SXRlbT4mJiBpdGVtKQogewpAQCAtMTQxLDkgKzEzOSw3IEBAIGJvb2wgSFRNTEVsZW1lbnRTdGFj
azo6RWxlbWVudFJlY29yZDo6aXNBYm92ZShFbGVtZW50UmVjb3JkJiBvdGhlcikgY29uc3QKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKLUhUTUxFbGVtZW50U3RhY2s6On5IVE1MRWxlbWVudFN0YWNr
KCkKLXsKLX0KK0hUTUxFbGVtZW50U3RhY2s6On5IVE1MRWxlbWVudFN0YWNrKCkgPSBkZWZhdWx0
OwogCiBib29sIEhUTUxFbGVtZW50U3RhY2s6Omhhc09ubHlPbmVFbGVtZW50KCkgY29uc3QKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5jcHAKaW5kZXggMTM5ZGExODY2YjYwODViN2E5ZGRlMmZkZjEwMDQ1Mzg3MDM2
NjY2Ni4uY2FiMTZmMTFkODM5Yzk5ZTNhOTM2N2I3YmM0YjkzNWQ0NTJmNGI3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50
TGlzdC5jcHAKQEAgLTM3LDEzICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIE5vYWgn
cyBBcmsgb2YgRm9ybWF0dGluZyBFbGVtZW50cyBjYW4gZml0IHRocmVlIG9mIGVhY2ggZWxlbWVu
dC4KIHN0YXRpYyBjb25zdCBzaXplX3Qga05vYWhzQXJrQ2FwYWNpdHkgPSAzOwogCi1IVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0OjpIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCkKLXsKLX0KK0hU
TUxGb3JtYXR0aW5nRWxlbWVudExpc3Q6OkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKSA9IGRl
ZmF1bHQ7CiAKLUhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3Q6On5IVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0KCkKLXsKLX0KK0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3Q6On5IVE1MRm9ybWF0dGlu
Z0VsZW1lbnRMaXN0KCkgPSBkZWZhdWx0OwogCiBFbGVtZW50KiBIVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0OjpjbG9zZXN0RWxlbWVudEluU2NvcGVXaXRoTmFtZShjb25zdCBBdG9taWNTdHJpbmcm
IHRhcmdldE5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDkwN2EyNzJlMmZmYTBkOTQxNDdmYWQzMTBkZTcxZDkw
MDRhZTRiNWUuLjFhMmNmZjRhNDBiNjg1ZWUwMzg2YmIwNTIzNjAxMjEyNmFhYzM5NjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3Bw
CkBAIC03NCw5ICs3NCw3IEBAIFB1bXBTZXNzaW9uOjpQdW1wU2Vzc2lvbih1bnNpZ25lZCYgbmVz
dGluZ0xldmVsLCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiB9CiAKLVB1bXBTZXNzaW9uOjp+UHVt
cFNlc3Npb24oKQotewotfQorUHVtcFNlc3Npb246On5QdW1wU2Vzc2lvbigpID0gZGVmYXVsdDsK
IAogSFRNTFBhcnNlclNjaGVkdWxlcjo6SFRNTFBhcnNlclNjaGVkdWxlcihIVE1MRG9jdW1lbnRQ
YXJzZXImIHBhcnNlcikKICAgICA6IG1fcGFyc2VyKHBhcnNlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXJIb3N0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVySG9zdC5oCmluZGV4IDBmMTVmNTM3YzI4
MjE1OGI4N2Q5MTZkNTZhYTVhNmM5M2IxMDM3ODIuLmZkMmM0OWJkMzI4NmU3Yjg4Mjc2MzE5ZGNh
MmNlOTg4YzhhOWVmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxTY3JpcHRSdW5uZXJIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFNjcmlwdFJ1bm5lckhvc3QuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBQZW5kaW5nU2NyaXB0
OwogCiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+
SFRNTFNjcmlwdFJ1bm5lckhvc3QoKSB7IH0KKyAgICB2aXJ0dWFsIH5IVE1MU2NyaXB0UnVubmVy
SG9zdCgpID0gZGVmYXVsdDsKIAogICAgIC8vIEltcGxlbWVudG9ycyBzaG91bGQgY2FsbCBjYWNo
ZWRSZXNvdXJjZS0+YWRkQ2xpZW50KCkgaGVyZSBvciBzb29uIGFmdGVyLgogICAgIHZpcnR1YWwg
dm9pZCB3YXRjaEZvckxvYWQoUGVuZGluZ1NjcmlwdCYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGU4YTE2NGRiMzMyNDg3NWEy
YWFlMDljYzliMjdkZTE0NDgyZTNjMmUuLjE1YjJlNDE3ZmY0YWJiNzg1NGNkNWRjYzkwMWM2YjRh
MTYxMmI3MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVl
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWls
ZGVyLmNwcApAQCAtNjIsOSArNjIsNyBAQCBDdXN0b21FbGVtZW50Q29uc3RydWN0aW9uRGF0YTo6
Q3VzdG9tRWxlbWVudENvbnN0cnVjdGlvbkRhdGEoUmVmPEpTQ3VzdG9tRWxlbWVudAogewogfQog
Ci1DdXN0b21FbGVtZW50Q29uc3RydWN0aW9uRGF0YTo6fkN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rp
b25EYXRhKCkKLXsKLX0KK0N1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rpb25EYXRhOjp+Q3VzdG9tRWxl
bWVudENvbnN0cnVjdGlvbkRhdGEoKSA9IGRlZmF1bHQ7CiAKIG5hbWVzcGFjZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0F1dG9GaWxsQnV0dG9uRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQXV0b0ZpbGxCdXR0b25FbGVtZW50LmgKaW5k
ZXggNThjNDc0ZWFiMTI3ZDBlZTg3NWUzZTkwNDlkZjQyZmMxZWZlYmZjYi4uOGIwMDYyZjI1ODAw
NGMzMGQ1NWE3YWRkOGVmMDlkYTcwYjdkMDc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvQXV0b0ZpbGxCdXR0b25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvQXV0b0ZpbGxCdXR0b25FbGVtZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAgY2xh
c3MgQXV0b0ZpbGxCdXR0b25FbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsK
IHB1YmxpYzoKICAgICBjbGFzcyBBdXRvRmlsbEJ1dHRvbk93bmVyIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIHZpcnR1YWwgfkF1dG9GaWxsQnV0dG9uT3duZXIoKSB7IH0KKyAgICAgICAgdmlydHVh
bCB+QXV0b0ZpbGxCdXR0b25Pd25lcigpID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGF1dG9GaWxsQnV0dG9uRWxlbWVudFdhc0NsaWNrZWQoKSA9IDA7CiAgICAgfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0ltYWdlQ29udHJvbHNSb290RWxlbWVu
dC5jcHAKaW5kZXggZjE3OGRmYWQ4MjhjYjBjMWVmZTY4N2JiNzFhMzYzMjBmMDNhNDkwYS4uMWRi
NzM2M2YxOTljMjJiOTEwOTgxNDJlZWJjZjU4YTQ0OTUxNzdmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwCkBA
IC00Miw5ICs0Miw3IEBAIEltYWdlQ29udHJvbHNSb290RWxlbWVudDo6SW1hZ2VDb250cm9sc1Jv
b3RFbGVtZW50KERvY3VtZW50JiBkb2N1bWVudCkKIHsKIH0KIAotSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50Ojp+SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkKLXsKLX0KK0ltYWdlQ29udHJvbHNS
b290RWxlbWVudDo6fkltYWdlQ29udHJvbHNSb290RWxlbWVudCgpID0gZGVmYXVsdDsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5oCmluZGV4IDQxZWM2NDU0OWJlYjRkNDg4NjQ5
YjAxZGM1M2Q5ZDc2NmQ2YmY5YzcuLmM5NTljOTRjMDkwZjlmOGNkYmRiOGVhMDM4ZTgwMGVkYzMy
ODliMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRUeXBlcy5oCkBAIC05Miw3ICs5Miw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVk
OgogICAgIGV4cGxpY2l0IE1lZGlhQ29udHJvbEVsZW1lbnQoTWVkaWFDb250cm9sRWxlbWVudFR5
cGUsIEhUTUxFbGVtZW50Kik7Ci0gICAgfk1lZGlhQ29udHJvbEVsZW1lbnQoKSB7IH0KKyAgICB+
TWVkaWFDb250cm9sRWxlbWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRE
aXNwbGF5VHlwZShNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSk7CiAgICAgdmlydHVhbCBib29sIGlz
TWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaAppbmRleCA1NDJiM2FiMTU2ZTk1MTA0Yzlk
NGZjNjQ5NDhjZmVmOThhOTZkYzAyLi5jMmJhZTk3NGU0ZjdlODE3YjMzMDQ1OTcwYjIwNGI1OWFi
NzNkY2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCkBA
IC00OSw3ICs0OSw3IEBAIGNsYXNzIFJlbmRlck1lZGlhOwogLy8gQW4gYWJzdHJhY3QgY2xhc3Mg
d2l0aCB0aGUgbWVkaWEgY29udHJvbCBlbGVtZW50cyB0aGF0IGFsbCBwb3J0cyBzdXBwb3J0Lgog
Y2xhc3MgTWVkaWFDb250cm9scyA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CiAgIHB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5NZWRpYUNvbnRyb2xzKCkge30KKyAgICB2aXJ0dWFsIH5NZWRpYUNvbnRy
b2xzKCkgPSBkZWZhdWx0OwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB0byBiZSBpbXBsZW1l
bnRlZCBpbiB5b3VyIHBvcnQtc3BlY2lmaWMgbWVkaWEKICAgICAvLyBjb250cm9scyBpbXBsZW1l
bnRhdGlvbiBzaW5jZSBpdCB3aWxsIHJldHVybiBhIGNoaWxkIGluc3RhbmNlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmgKaW5kZXggY2VkNTMyZTU2
Mzk3NTRjNmYzODllNmE5NjdmZTU1YTYxZTQ3MTRhNy4uMmYyN2VkZmNmZWVmODJjYmIzNGUyYmJj
MGVjOGExZWZhNWUzMDU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
U3BpbkJ1dHRvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGlu
QnV0dG9uRWxlbWVudC5oCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKIAogICAgIGNsYXNzIFNw
aW5CdXR0b25Pd25lciB7CiAgICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5TcGluQnV0dG9u
T3duZXIoKSB7IH0KKyAgICAgICAgdmlydHVhbCB+U3BpbkJ1dHRvbk93bmVyKCkgPSBkZWZhdWx0
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNBbmRTZWxlY3RTcGluQnV0dG9uT3duZXIoKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTcGluQnV0dG9uUmVzcG9uZFRvTW91c2VF
dmVudHMoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTcGluQnV0dG9uUmVzcG9u
ZFRvV2hlZWxFdmVudHMoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9tYWMvSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjLmNwcAppbmRl
eCBlMjJiMmEwMjAzYWFiZTUwMjZhZTYyZThkZmUzNmJmOGUwYTM2ZmI5Li44MzFjY2Y1ZDgyZmUz
OWVkYThiOTkyZGNkN2IzOWFhZmZmODM0ZmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1h
Yy5jcHAKQEAgLTYwLDkgKzYwLDcgQEAgUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbjo6UmVuZGVy
SW1hZ2VDb250cm9sc0J1dHRvbihIVE1MRWxlbWVudCYgZWxlbWVudCwgUmVuZGUKIHsKIH0KIAot
UmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbjo6flJlbmRlckltYWdlQ29udHJvbHNCdXR0b24oKQot
ewotfQorUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbjo6flJlbmRlckltYWdlQ29udHJvbHNCdXR0
b24oKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbjo6dXBkYXRl
TG9naWNhbFdpZHRoKCkKIHsKQEAgLTg1LDkgKzgzLDcgQEAgSW1hZ2VDb250cm9sc0J1dHRvbkVs
ZW1lbnRNYWM6OkltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjKERvY3VtZW50JiBkb2N1bWVu
dCkKIHsKIH0KIAotSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWM6On5JbWFnZUNvbnRyb2xz
QnV0dG9uRWxlbWVudE1hYygpCi17Ci19CitJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYzo6
fkltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjKCkgPSBkZWZhdWx0OwogCiBSZWZQdHI8SW1h
Z2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWM+IEltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFj
Ojp0cnlDcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFj
LmNwcAppbmRleCBjZjJjZGI1OWRkMTA2MjlmNjAzZWVjMTE2MTY2MmFmNDUyN2YyYjYzLi5mZTA3
OWNiNThmNDliMjNkMzIyOGMwNDRjNTFhZjk4ZjBlMjBkNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50TWFjLmNwcApAQCAtNTMsOSArNTMsNyBAQCBSZW5kZXJJbWFnZUNvbnRyb2xzOjpSZW5kZXJJ
bWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eQogewog
fQogCi1SZW5kZXJJbWFnZUNvbnRyb2xzOjp+UmVuZGVySW1hZ2VDb250cm9scygpCi17Ci19CitS
ZW5kZXJJbWFnZUNvbnRyb2xzOjp+UmVuZGVySW1hZ2VDb250cm9scygpID0gZGVmYXVsdDsKIAog
dm9pZCBSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgoKQogewpAQCAtOTgs
OSArOTYsNyBAQCBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNSb290
RWxlbWVudE1hYyhEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiB9CiAKLUltYWdlQ29udHJvbHNSb290
RWxlbWVudE1hYzo6fkltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYygpCi17Ci19CitJbWFnZUNv
bnRyb2xzUm9vdEVsZW1lbnRNYWM6On5JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMoKSA9IGRl
ZmF1bHQ7CiAKIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBS
ZW5kZXJUcmVlUG9zaXRpb24mKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9BdWRpb1RyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2su
aAppbmRleCBiY2UwMTNmMGE2N2U2YzgwYjc4MDE3MzNiZjQwMThhN2I0ZmY3ZjIzLi41NmFkMTQ4
N2E2OGQ0Y2E1Nzk3NGJjMTU4NDMzNjZjZjE1YzI1MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL0F1ZGlvVHJhY2suaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBBdWRpb1RyYWNrOwogCiBj
bGFzcyBBdWRpb1RyYWNrQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5BdWRpb1RyYWNr
Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+QXVkaW9UcmFja0NsaWVudCgpID0gZGVmYXVsdDsK
ICAgICB2aXJ0dWFsIHZvaWQgYXVkaW9UcmFja0VuYWJsZWRDaGFuZ2VkKEF1ZGlvVHJhY2smKSA9
IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2tMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svQXVkaW9UcmFja0xpc3QuY3Bw
CmluZGV4IDcxMTU1NjkwYWQ0MDdiNTdlMGY4NWFmMTI5MjRjNzc5OWJlZmJiMWQuLjNiMDdmMDUx
ZWYwMGRjOGIyZDQ1MzEwMDFlNTBkYzE4MDc0YjcxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svQXVkaW9UcmFja0xpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svQXVkaW9UcmFja0xpc3QuY3BwCkBAIC0zOCw5ICszOCw3IEBAIEF1ZGlvVHJhY2tM
aXN0OjpBdWRpb1RyYWNrTGlzdChIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50LCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0CiB7CiB9CiAKLUF1ZGlvVHJhY2tMaXN0Ojp+QXVkaW9UcmFja0xpc3QoKQot
ewotfQorQXVkaW9UcmFja0xpc3Q6On5BdWRpb1RyYWNrTGlzdCgpID0gZGVmYXVsdDsKIAogdm9p
ZCBBdWRpb1RyYWNrTGlzdDo6YXBwZW5kKFJlZjxBdWRpb1RyYWNrPiYmIHRyYWNrKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9JbmJhbmREYXRhVGV4dFRyYWNrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svSW5iYW5kRGF0YVRleHRUcmFjay5jcHAKaW5k
ZXggMzk3M2VlMGJhOTE3MjU5MmYyZWIxOTMzZTlhMzMyNzU3NGQzYjM1NS4uZGUwYmZhYTcwYzk4
MWI2OTZmODUzNGJmYzhmYjRlNTk4NzY1MjIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9JbmJhbmREYXRhVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0luYmFuZERhdGFUZXh0VHJhY2suY3BwCkBAIC00NSw5ICs0NSw3IEBAIFJlZjxJ
bmJhbmREYXRhVGV4dFRyYWNrPiBJbmJhbmREYXRhVGV4dFRyYWNrOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29uCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW5iYW5kRGF0YVRl
eHRUcmFjayhjb250ZXh0LCBjbGllbnQsIHRyYWNrUHJpdmF0ZSkpOwogfQogCi1JbmJhbmREYXRh
VGV4dFRyYWNrOjp+SW5iYW5kRGF0YVRleHRUcmFjaygpCi17Ci19CitJbmJhbmREYXRhVGV4dFRy
YWNrOjp+SW5iYW5kRGF0YVRleHRUcmFjaygpID0gZGVmYXVsdDsKIAogdm9pZCBJbmJhbmREYXRh
VGV4dFRyYWNrOjphZGREYXRhQ3VlKGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlh
VGltZSYgZW5kLCBjb25zdCB2b2lkKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0luYmFuZEdlbmVyaWNUZXh0VHJhY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9JbmJhbmRHZW5lcmljVGV4dFRyYWNrLmNwcApp
bmRleCBkZjU3ZWNlZmE4ZDEzMGFhZDFmNzU3Y2Q2Y2VlNjI0NzA4MTFjMTNhLi4wMTdhNmEwYWZk
YmFhY2Y0NDBmNjU2ODY0ZjcxYjI5NzhmZjYyYjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL0luYmFuZEdlbmVyaWNUZXh0VHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svSW5iYW5kR2VuZXJpY1RleHRUcmFjay5jcHAKQEAgLTc2LDkgKzc2LDcg
QEAgUmVmPEluYmFuZEdlbmVyaWNUZXh0VHJhY2s+IEluYmFuZEdlbmVyaWNUZXh0VHJhY2s6OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXgKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbmJh
bmRHZW5lcmljVGV4dFRyYWNrKGNvbnRleHQsIGNsaWVudCwgdHJhY2tQcml2YXRlKSk7CiB9CiAK
LUluYmFuZEdlbmVyaWNUZXh0VHJhY2s6On5JbmJhbmRHZW5lcmljVGV4dFRyYWNrKCkKLXsKLX0K
K0luYmFuZEdlbmVyaWNUZXh0VHJhY2s6On5JbmJhbmRHZW5lcmljVGV4dFRyYWNrKCkgPSBkZWZh
dWx0OwogCiB2b2lkIEluYmFuZEdlbmVyaWNUZXh0VHJhY2s6OnVwZGF0ZUN1ZUZyb21DdWVEYXRh
KFRleHRUcmFja0N1ZUdlbmVyaWMmIGN1ZSwgR2VuZXJpY0N1ZURhdGEmIGN1ZURhdGEpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0luYmFuZFdlYlZUVFRleHRUcmFj
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0luYmFuZFdlYlZUVFRleHRUcmFjay5j
cHAKaW5kZXggYWIzZjE5OGNjZDFjZWU4N2I5MmY0YjQzZGE4ZTk3MGMwMjhmMTA0My4uMzNkNDAx
ZWNlZjM3MGQ5M2MxYTRlYTUwN2I5Mjg1ZTVkMWIwZTBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9JbmJhbmRXZWJWVFRUZXh0VHJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmNwcApAQCAtNDYsOSArNDYs
NyBAQCBSZWY8SW5iYW5kVGV4dFRyYWNrPiBJbmJhbmRXZWJWVFRUZXh0VHJhY2s6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElu
YmFuZFdlYlZUVFRleHRUcmFjayhjb250ZXh0LCBjbGllbnQsIHRyYWNrUHJpdmF0ZSkpOwogfQog
Ci1JbmJhbmRXZWJWVFRUZXh0VHJhY2s6On5JbmJhbmRXZWJWVFRUZXh0VHJhY2soKQotewotfQor
SW5iYW5kV2ViVlRUVGV4dFRyYWNrOjp+SW5iYW5kV2ViVlRUVGV4dFRyYWNrKCkgPSBkZWZhdWx0
OwogCiBXZWJWVFRQYXJzZXImIEluYmFuZFdlYlZUVFRleHRUcmFjazo6cGFyc2VyKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCmluZGV4IDJjZTE3YTU1ZGY2NTI3Y2ZkNjM4
MTBmODZkYTRiMGVlNTgyMWRjMjEuLmE3ZWY3MTVhNTIwYjI4OTk3ZTBmOGY2YjNmMmMzZmIyNGFj
MzQ5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaApAQCAtNDIsNyArNDIs
NyBAQCBjbGFzcyBWVFRSZWdpb25MaXN0OwogCiBjbGFzcyBUZXh0VHJhY2tDbGllbnQgewogcHVi
bGljOgotICAgIHZpcnR1YWwgflRleHRUcmFja0NsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgflRl
eHRUcmFja0NsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgdGV4dFRyYWNrS2lu
ZENoYW5nZWQoVGV4dFRyYWNrJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXh0VHJhY2tNb2Rl
Q2hhbmdlZChUZXh0VHJhY2smKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRleHRUcmFja0FkZEN1
ZXMoVGV4dFRyYWNrJiwgY29uc3QgVGV4dFRyYWNrQ3VlTGlzdCYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCmluZGV4IDdkYTdkNTExNzg1ZDRmYzJjYjBjMjk2
ODgzZTM5ZTA4MmZkMDc5ZjMuLmNiZjk3YTVmMWNjZDhkYmI2MDJmNzUyYzFlZmRjNjAxZmU4Mzhh
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcApAQCAtNjAsOSAr
NjAsNyBAQCBUcmFja0V2ZW50OjpUcmFja0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwg
SW5pdCYmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaQogewogfQogCi1UcmFja0V2ZW50Ojp+VHJh
Y2tFdmVudCgpCi17Ci19CitUcmFja0V2ZW50Ojp+VHJhY2tFdmVudCgpID0gZGVmYXVsdDsKIAog
RXZlbnRJbnRlcmZhY2UgVHJhY2tFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDhkZjRkMDMzYTUwMmVhYzg3
Mzc1ZTRkM2IyYWY3ODc3N2Q3OTFkYWYuLmU4NThjZmMwZWEwMTk1ZjBmODM4Y2E4ODEyMGNlMDc3
M2Q1MTMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTY0
LDkgKzY0LDcgQEAgVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkKIHsKIH0KIAotVlRUUmVnaW9uOjp+VlRUUmVnaW9uKCkKLXsKLX0KK1ZUVFJlZ2lv
bjo6flZUVFJlZ2lvbigpID0gZGVmYXVsdDsKIAogdm9pZCBWVFRSZWdpb246OnNldFRyYWNrKFRl
eHRUcmFjayogdHJhY2spCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1ZpZGVvVHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlkZW9UcmFjay5oCmlu
ZGV4IDVjZDM2YjMzNzgwNWE5YTU1MTI2N2M0NzE2ZWZiZjgxOGE3NjQ0MWYuLmViYWIwMjRhNGNh
OTEyNjU2YjlhYjVhYTc3ZWEwYWYwMzgwYmYzNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVmlkZW9UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VmlkZW9UcmFjay5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIFZpZGVvVHJhY2s7CiAKIGNsYXNz
IFZpZGVvVHJhY2tDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflZpZGVvVHJhY2tDbGll
bnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5WaWRlb1RyYWNrQ2xpZW50KCkgPSBkZWZhdWx0OwogICAg
IHZpcnR1YWwgdm9pZCB2aWRlb1RyYWNrU2VsZWN0ZWRDaGFuZ2VkKFZpZGVvVHJhY2smKSA9IDA7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZpZGVvVHJhY2tM
aXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlkZW9UcmFja0xpc3QuY3BwCmlu
ZGV4IDMwNGM2MDFiOGU5MTAzOGEzYmVjNGZkNjA2NmExZDRmNjUwMTA2YzQuLjNjNWI1ZjFjNmQ3
YmFkYTg4MWE5YTY2NGViZmY4Y2Y3ZDhjMmU4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVmlkZW9UcmFja0xpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVmlkZW9UcmFja0xpc3QuY3BwCkBAIC0zOCw5ICszOCw3IEBAIFZpZGVvVHJhY2tMaXN0
OjpWaWRlb1RyYWNrTGlzdChIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50LCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0CiB7CiB9CiAKLVZpZGVvVHJhY2tMaXN0Ojp+VmlkZW9UcmFja0xpc3QoKQotewot
fQorVmlkZW9UcmFja0xpc3Q6On5WaWRlb1RyYWNrTGlzdCgpID0gZGVmYXVsdDsKIAogdm9pZCBW
aWRlb1RyYWNrTGlzdDo6YXBwZW5kKFJlZjxWaWRlb1RyYWNrPiYmIHRyYWNrKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmgKaW5kZXggYjJjZTM1ZTMyNzdmZjljNzAx
NTA2MDExODAxZWI4ZjI2ODcyODg4MS4uZGM5NjRhMmUzY2UzMDdjMTg5YTJjOGI4NjE1ZTM3ZTBl
ZGZhZWFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJz
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oCkBAIC01
Myw3ICs1Myw3IEBAIGNsYXNzIFZUVFNjYW5uZXI7CiAKIGNsYXNzIFdlYlZUVFBhcnNlckNsaWVu
dCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViVlRUUGFyc2VyQ2xpZW50KCkgeyB9CisgICAg
dmlydHVhbCB+V2ViVlRUUGFyc2VyQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2
b2lkIG5ld0N1ZXNQYXJzZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG5ld1JlZ2lvbnNQYXJz
ZWQoKSA9IDA7CkBAIC02NCw3ICs2NCw3IEBAIGNsYXNzIFdlYlZUVEN1ZURhdGEgZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJWVFRDdWVEYXRhPiB7CiBwdWJsaWM6CiAKICAgICBzdGF0aWMg
UmVmPFdlYlZUVEN1ZURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViVlRU
Q3VlRGF0YSgpKTsgfQotICAgIH5XZWJWVFRDdWVEYXRhKCkgeyB9CisgICAgfldlYlZUVEN1ZURh
dGEoKSA9IGRlZmF1bHQ7CiAKICAgICBNZWRpYVRpbWUgc3RhcnRUaW1lKCkgY29uc3QgeyByZXR1
cm4gbV9zdGFydFRpbWU7IH0KICAgICB2b2lkIHNldFN0YXJ0VGltZShjb25zdCBNZWRpYVRpbWUm
IHN0YXJ0VGltZSkgeyBtX3N0YXJ0VGltZSA9IHN0YXJ0VGltZTsgfQpAQCAtODUsNyArODUsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRPcmlnaW5hbFN0YXJ0VGltZShjb25zdCBNZWRpYVRpbWUm
IHRpbWUpIHsgbV9vcmlnaW5hbFN0YXJ0VGltZSA9IHRpbWU7IH0KIAogcHJpdmF0ZToKLSAgICBX
ZWJWVFRDdWVEYXRhKCkgeyB9CisgICAgV2ViVlRUQ3VlRGF0YSgpID0gZGVmYXVsdDsKIAogICAg
IE1lZGlhVGltZSBtX3N0YXJ0VGltZTsKICAgICBNZWRpYVRpbWUgbV9lbmRUaW1lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcAppbmRleCA2NTkz
NGEyOTQxMmY5YTMyOThjZWFlZGM2OTc3NjllMmU1MmY0MzRlLi4zMzc4YTRhODg5ZTI1MGYyYmI5
OTI3YWZlNjkyOWI5OGJkMmQ5NjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29tbWFuZExpbmVBUElIb3N0LmNwcApAQCAtNjUsOSArNjUsNyBAQCBDb21tYW5kTGluZUFQSUhv
c3Q6OkNvbW1hbmRMaW5lQVBJSG9zdCgpCiB7CiB9CiAKLUNvbW1hbmRMaW5lQVBJSG9zdDo6fkNv
bW1hbmRMaW5lQVBJSG9zdCgpCi17Ci19CitDb21tYW5kTGluZUFQSUhvc3Q6On5Db21tYW5kTGlu
ZUFQSUhvc3QoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgQ29tbWFuZExpbmVBUElIb3N0OjpkaXNjb25u
ZWN0KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGlu
ZUFQSUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aAppbmRleCBiMjFmNzE4YWVlZmVlMjFkMWMxZDU1YjQwOTAwZTJmYjVhNmFhZThhLi4wODlmZDgz
OWI1ZTg4ZTQwODNhM2U4ODI4NzU3ZTdiMjA5NjY3M2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIEpTQzo6SlNWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUmKTsKLSAgICAgICAgdmlydHVh
bCB+SW5zcGVjdGFibGVPYmplY3QoKSB7IH0KKyAgICAgICAgdmlydHVhbCB+SW5zcGVjdGFibGVP
YmplY3QoKSA9IGRlZmF1bHQ7CiAgICAgfTsKICAgICB2b2lkIGFkZEluc3BlY3RlZE9iamVjdChz
dGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdGFibGVPYmplY3Q+KTsKICAgICBKU0M6OkpTVmFsdWUgaW5z
cGVjdGVkT2JqZWN0KEpTQzo6RXhlY1N0YXRlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01F
ZGl0b3IuY3BwCmluZGV4IDNmZDM3MDMxMjlhYjYwMTU1ZThhYWE0YzZkNTY1NWYzZmViZmNkMDEu
LmRmYmU0YzNmNTRiYmMxZmUzYTQzM2MxMzQ4ZWQzMjZjNDRlYzcwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9ET01FZGl0b3IuY3BwCkBAIC0zNDIsOSArMzQyLDcgQEAgRE9NRWRpdG9yOjpE
T01FZGl0b3IoSW5zcGVjdG9ySGlzdG9yeSYgaGlzdG9yeSkKIHsKIH0KIAotRE9NRWRpdG9yOjp+
RE9NRWRpdG9yKCkKLXsKLX0KK0RPTUVkaXRvcjo6fkRPTUVkaXRvcigpID0gZGVmYXVsdDsKIAog
RXhjZXB0aW9uT3I8dm9pZD4gRE9NRWRpdG9yOjppbnNlcnRCZWZvcmUoTm9kZSYgcGFyZW50Tm9k
ZSwgUmVmPE5vZGU+JiYgbm9kZSwgTm9kZSogYW5jaG9yTm9kZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQu
aAppbmRleCA0ODc1MmVmYTBjZDVmNmE3NjJkZTUzZGMyYTExMmVmZjQ2NGY3MmZiLi42ZjFmYmU4
MGE0MmZjMGQ3YTQxM2Q1YjUwYzgxODNhZjQ1Y2ZmNzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCkBA
IC00OCw3ICs0OCw3IEBAIGNsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCBmaW5h
bCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBJCiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KFdl
YkFnZW50Q29udGV4dCYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwotICAgIHZpcnR1YWwgfkluc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQorICAgIHZpcnR1YWwgfkluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudCgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuaAppbmRleCA0Zjc5
ZGE3ZWNlNjNmZWJlMGI4OTVlODI3YmMzYWUwN2VkY2E3ZTAxLi4xMWE1ZTY2ZjBmYTQzYTY4YzRk
MjcwMDI3MmM3NTJhNDlhNTUzY2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzQWdlbnQuaApAQCAtNjAsNyArNjAsNyBAQCBjbGFzcyBJbnNwZWN0b3JD
YW52YXNBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBDYW52
YXNPYnNlcgogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGV4cGxp
Y2l0IEluc3BlY3RvckNhbnZhc0FnZW50KFdlYkFnZW50Q29udGV4dCYpOwotICAgIHZpcnR1YWwg
fkluc3BlY3RvckNhbnZhc0FnZW50KCkgeyB9CisgICAgdmlydHVhbCB+SW5zcGVjdG9yQ2FudmFz
QWdlbnQoKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciopIG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5z
cGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDbGllbnQuaAppbmRleCA0ZGUzNTZjYjFhYTdhMzAwYjFhN2FkZjFkNThj
MzJkYzc2YjdmN2I4Li5iNWVhNGIyNjQyYTc2Mjc1Mjk1ZjYzZjk2ZGQwODRiNDc4YThkNWMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCkBAIC00MSw3ICs0
MSw3IEBAIGNsYXNzIFBhZ2U7CiAKIGNsYXNzIEluc3BlY3RvckNsaWVudCB7CiBwdWJsaWM6Ci0g
ICAgdmlydHVhbCB+SW5zcGVjdG9yQ2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+SW5zcGVjdG9y
Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RlZFBhZ2VEZXN0
cm95ZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKaW5kZXggNmU1YTM0MzM4YTQ4MWVlNDlmOGE3NTY4ZWViODY0OGVmNjY3NTk1Zi4uYTIx
NmY1NmVmNDZiMGY0YmFkNTExZmZjODE2ZTllNDU0MjI4MTg5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTkyLDcgKzkyLDcgQEAgY2xhc3Mg
SW5zcGVjdG9yRE9NQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJs
aWMgSW5zcGVjdG9yOjpET00KICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBzdHJ1Y3QgRE9NTGlzdGVuZXIgewotICAgICAgICB2aXJ0dWFsIH5ET01MaXN0ZW5lcigp
IHsgfQorICAgICAgICB2aXJ0dWFsIH5ET01MaXN0ZW5lcigpID0gZGVmYXVsdDsKICAgICAgICAg
dmlydHVhbCB2b2lkIGRpZFJlbW92ZURPTU5vZGUoTm9kZSYsIGludCBub2RlSWQpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZE1vZGlmeURPTUF0dHIoRWxlbWVudCYpID0gMDsKICAgICB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQuaAppbmRleCA0ZWViMzg4ODY0NGVmY2FkYmM1MTkwMjA5NWI4NmNhMjk2ZTg1YWYzLi5iMjcx
YTcwYmE3NmRjMzAxYjJiODk4MDVmOGYzZDAxOTMwMTc1MjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaApAQCAtNDUsNyArNDUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIEJvdHRvbSwKICAgICB9OwogCi0gICAgdmlydHVhbCB+SW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVu
ZENsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCB3
aW5kb3dPYmplY3RDbGVhcmVkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZExvYWRl
ZCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IGNlNmE1NGE2OGQyZjk0Yjc5ZDc5MDBjNzI2Mzhi
Yjg1NzRlZTdiNTkuLmRmZGYzZmNkZmY5NWUxNDFlZDc0MzU2YzA4MTIwZmU1YTRiYmIzNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaApAQCAtNDksOCArNDksOCBAQCBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50IHsKIHB1YmxpYzoKICAg
ICBjbGFzcyBXRUJDT1JFX0VYUE9SVCBTZXR0aW5ncyB7CiAgICAgcHVibGljOgotICAgICAgICBT
ZXR0aW5ncygpIHsgfQotICAgICAgICB2aXJ0dWFsIH5TZXR0aW5ncygpIHsgfQorICAgICAgICBT
ZXR0aW5ncygpID0gZGVmYXVsdDsKKyAgICAgICAgdmlydHVhbCB+U2V0dGluZ3MoKSA9IGRlZmF1
bHQ7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGdldFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFt
ZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgdmFsdWUpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAppbmRleCBjMTdiODY5ODAxYzMz
MmJkNjg0MWJhZDEwZDlmYmZhNjYwZTYyZDQ0Li40NGExMjM4ZTgzYTFhZTVkNzgyNTk3MGJmZjRl
OGQ0NjBlNGZiMjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5kZXhlZERCQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgY2xhc3MgRXhlY3V0YWJs
ZVdpdGhEYXRhYmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV4ZWN1dGFibGVXaXRoRGF0YWJhc2U+
IHsKIHB1YmxpYzoKICAgICBFeGVjdXRhYmxlV2l0aERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KGNvbnRleHQpIHsgfQotICAgIHZp
cnR1YWwgfkV4ZWN1dGFibGVXaXRoRGF0YWJhc2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5FeGVjdXRh
YmxlV2l0aERhdGFiYXNlKCkgPSBkZWZhdWx0OwogICAgIHZvaWQgc3RhcnQoSURCRmFjdG9yeSos
IFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUpOwogICAgIHZpcnR1
YWwgdm9pZCBleGVjdXRlKElEQkRhdGFiYXNlJikgPSAwOwogICAgIHZpcnR1YWwgUmVxdWVzdENh
bGxiYWNrJiByZXF1ZXN0Q2FsbGJhY2soKSA9IDA7CkBAIC0yMTYsNyArMjE2LDcgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBEYXRhYmFzZUxvYWRlcihjb250ZXh0LCBX
VEZNb3ZlKHJlcXVlc3RDYWxsYmFjaykpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5EYXRhYmFz
ZUxvYWRlcigpIHsgfQorICAgIHZpcnR1YWwgfkRhdGFiYXNlTG9hZGVyKCkgPSBkZWZhdWx0Owog
CiAgICAgdm9pZCBleGVjdXRlKElEQkRhdGFiYXNlJiBkYXRhYmFzZSkgb3ZlcnJpZGUKICAgICB7
CkBAIC0zNTAsNyArMzUwLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBPcGVuQ3Vyc29yQ2FsbGJhY2soaW5qZWN0ZWRTY3JpcHQsIFdURk1vdmUocmVxdWVzdENhbGxi
YWNrKSwgc2tpcENvdW50LCBwYWdlU2l6ZSkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgfk9wZW5D
dXJzb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgfk9wZW5DdXJzb3JDYWxsYmFjaygpID0g
ZGVmYXVsdDsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJiBvdGhl
cikgY29uc3Qgb3ZlcnJpZGUKICAgICB7CkBAIC00MzcsNyArNDM3LDcgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBEYXRhTG9hZGVyKGNvbnRleHQsIFdURk1vdmUocmVx
dWVzdENhbGxiYWNrKSwgaW5qZWN0ZWRTY3JpcHQsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1l
LCBXVEZNb3ZlKGlkYktleVJhbmdlKSwgc2tpcENvdW50LCBwYWdlU2l6ZSkpOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgfkRhdGFMb2FkZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5EYXRhTG9hZGVyKCkg
PSBkZWZhdWx0OwogCiAgICAgdm9pZCBleGVjdXRlKElEQkRhdGFiYXNlJiBkYXRhYmFzZSkgb3Zl
cnJpZGUKICAgICB7CkBAIC01MTcsOSArNTE3LDcgQEAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6
Okluc3BlY3RvckluZGV4ZWREQkFnZW50KFdlYkFnZW50Q29udGV4dCYgY29udGV4dCwgSW5zcGUK
IHsKIH0KIAotSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6On5JbnNwZWN0b3JJbmRleGVkREJBZ2Vu
dCgpCi17Ci19CitJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6fkluc3BlY3RvckluZGV4ZWREQkFn
ZW50KCkgPSBkZWZhdWx0OwogCiB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rv
cjo6QmFja2VuZERpc3BhdGNoZXIqKQogewpAQCAtNjM1LDcgKzYzMyw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2xlYXJPYmplY3RTdG9yZUxpc3RlbmVyKFdURk1v
dmUocmVxdWVzdENhbGxiYWNrKSkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgfkNsZWFyT2JqZWN0
U3RvcmVMaXN0ZW5lcigpIHsgfQorICAgIHZpcnR1YWwgfkNsZWFyT2JqZWN0U3RvcmVMaXN0ZW5l
cigpID0gZGVmYXVsdDsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVy
JiBvdGhlcikgY29uc3Qgb3ZlcnJpZGUKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwCmluZGV4
IGI5OWE0MGYzM2FiNWQyNTkyZGI2OWMzZDhkYmFlNGVkODFlYzdjZjUuLjI0MDM0MGQ0YWI4MDM5
ZWVhNjdlZTkwYzJmNDc2OTM5YThlOTUwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwCkBAIC02
Miw4ICs2Miw2IEBAIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llOjpvcGVyYXRvcj0oY29uc3QKICAgICByZXR1cm4gKnRoaXM7CiB9
CiAKLUluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZTo6fkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSgpCi17Ci19CitJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWU6On5JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSA9IGRlZmF1bHQ7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JN
ZW1vcnlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFn
ZW50LmgKaW5kZXggOTUwZDNkYTEzMTliZDQwMDA4MWE2YjUwNGRhMGIzZDljZWYwMDE3Mi4uZGM2
MjcyMWY1ZDU0OWYwMDI4MGEyMjU5ZTk3MjUxZjJlNDM4NTM5MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgKQEAgLTQyLDcgKzQyLDcgQEAg
Y2xhc3MgSW5zcGVjdG9yTWVtb3J5QWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRC
YXNlLCBwdWJsaWMgSW5zcGVjdG9yOjoKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBJbnNwZWN0b3JNZW1vcnlBZ2VudChQYWdlQWdlbnRDb250ZXh0Jik7Ci0gICAg
dmlydHVhbCB+SW5zcGVjdG9yTWVtb3J5QWdlbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5JbnNwZWN0
b3JNZW1vcnlBZ2VudCgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAppbmRleCBiNDRi
ZDJkNGYzNzQ3Yzk2YjU2NDk5ODc4MTc1NWQyOGFjYmRmMTNjLi4yNzVkYjY0NjA3NTU4YTU4OTI5
NWUwN2IzNmY0ZThhMmZlMzEzMmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yVGhyZWFkYWJsZUxvYWRlckNsaWVudChSZWZQdHI8TG9hZFJlc291cmNlQ2Fs
bGJhY2s+JiYgY2FsbGJhY2spCiAgICAgICAgIDogbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNr
KSkgeyB9CiAKLSAgICB2aXJ0dWFsIH5JbnNwZWN0b3JUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkg
eyB9CisgICAgdmlydHVhbCB+SW5zcGVjdG9yVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpID0gZGVm
YXVsdDsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKSBvdmVycmlkZQogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCBkMDMxMjcyNTQ4ZTE0
ZTY3NzI3OTQyNTE3NzM2YTkxNWIzYWY0ZWRjLi5iY2ViOGYwMzRjYWZhODZjZGQ5ZjIxOTYwYmM1
NzYwNTIwZDkyMWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwCkBAIC0xNzAsOSArMTcwLDcgQEAgSW5zcGVjdG9yT3ZlcmxheTo6SW5zcGVjdG9y
T3ZlcmxheShQYWdlJiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKIHsKIH0KIAotSW5z
cGVjdG9yT3ZlcmxheTo6fkluc3BlY3Rvck92ZXJsYXkoKQotewotfQorSW5zcGVjdG9yT3Zlcmxh
eTo6fkluc3BlY3Rvck92ZXJsYXkoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgSW5zcGVjdG9yT3Zlcmxh
eTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclNoYWRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFkZXJQcm9ncmFtLmgKaW5kZXggNjg3N2YyZjNlZjIw
ZTc5YTI0MTI2NGMzMTdkMmNlOWU1ZmU4ZTBjMS4uNmJhNTZhZDE4ZGNiMmRhYjE2NWE1NzkwNTNk
NDM4NjdkZDc0YTg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclNoYWRlclByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yU2hhZGVyUHJvZ3JhbS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBib29sIGRp
c2FibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlZDsgfQogICAgIHZvaWQgc2V0RGlzYWJs
ZWQoYm9vbCBkaXNhYmxlZCkgeyBtX2Rpc2FibGVkID0gZGlzYWJsZWQ7IH0KIAotICAgIH5JbnNw
ZWN0b3JTaGFkZXJQcm9ncmFtKCkgeyB9CisgICAgfkluc3BlY3RvclNoYWRlclByb2dyYW0oKSA9
IGRlZmF1bHQ7CiAKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbShXZWJHTFBy
b2dyYW0mLCBJbnNwZWN0b3JDYW52YXMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA3MDFkNGUxZDcyOGFlZDFhN2VlNTNhNGRk
NmJkZGQzODg3MjI1OGZkLi5kN2UyZTkzZDNkODFjN2M5NjI3MDViNDFhZGE0ZTVhNzdlZjk3NjFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQu
Y3BwCkBAIC01MjksOSArNTI5LDcgQEAgSW5zcGVjdG9yU3R5bGU6Okluc3BlY3RvclN0eWxlKGNv
bnN0IEluc3BlY3RvckNTU0lkJiBzdHlsZUlkLCBSZWY8Q1NTU3R5bGVEZWNsYXIKIHsKIH0KIAot
SW5zcGVjdG9yU3R5bGU6On5JbnNwZWN0b3JTdHlsZSgpCi17Ci19CitJbnNwZWN0b3JTdHlsZTo6
fkluc3BlY3RvclN0eWxlKCkgPSBkZWZhdWx0OwogCiBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6Q1NTOjpDU1NTdHlsZT4gSW5zcGVjdG9yU3R5bGU6OmJ1aWxkT2JqZWN0Rm9yU3R5bGUoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0
eWxlU2hlZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0
LmgKaW5kZXggMmYzMWYzMGI5N2JlNDhiY2I4NWVmN2I4YjY1NzQ3ZDAyOGM1MGI4OC4uMTg1NDEy
MGU2ODU2ZDI3MTNlOTM5MWQ3YWEyMjVjZTg5MTNlYTMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oCkBAIC00OSw3ICs0OSw3IEBAIHR5cGVk
ZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogCiBjbGFzcyBJbnNwZWN0b3JDU1NJZCB7CiBwdWJsaWM6
Ci0gICAgSW5zcGVjdG9yQ1NTSWQoKSB7IH0KKyAgICBJbnNwZWN0b3JDU1NJZCgpID0gZGVmYXVs
dDsKIAogICAgIGV4cGxpY2l0IEluc3BlY3RvckNTU0lkKGNvbnN0IEluc3BlY3Rvcjo6SW5zcGVj
dG9yT2JqZWN0JiB2YWx1ZSkKICAgICB7CkBAIC0xNTEsOCArMTUxLDggQEAgY2xhc3MgSW5zcGVj
dG9yU3R5bGVTaGVldCA6IHB1YmxpYyBSZWZDb3VudGVkPEluc3BlY3RvclN0eWxlU2hlZXQ+IHsK
IHB1YmxpYzoKICAgICBjbGFzcyBMaXN0ZW5lciB7CiAgICAgcHVibGljOgotICAgICAgICBMaXN0
ZW5lcigpIHsgfQotICAgICAgICB2aXJ0dWFsIH5MaXN0ZW5lcigpIHsgfQorICAgICAgICBMaXN0
ZW5lcigpID0gZGVmYXVsdDsKKyAgICAgICAgdmlydHVhbCB+TGlzdGVuZXIoKSA9IGRlZmF1bHQ7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdHlsZVNoZWV0Q2hhbmdlZChJbnNwZWN0b3JTdHlsZVNo
ZWV0KikgPSAwOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBkNTkwOWFiMWZkMjEyMDZhM2M3MDdlNzI3
MjVjNzJjNDg3NTY4MjFjLi44ZDRlMDk4OTdjNmQ4OGY4ZWRkYzZjYTg3ZmM5YjdlZTc3OWE3Y2Ix
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwCkBAIC05Myw5ICs5Myw3IEBAIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0CiB7CiB9
CiAKLUluc3BlY3RvclRpbWVsaW5lQWdlbnQ6On5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCkKLXsK
LX0KK0luc3BlY3RvclRpbWVsaW5lQWdlbnQ6On5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCkgPSBk
ZWZhdWx0OwogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciopCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV29ya2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
b3JrZXJBZ2VudC5oCmluZGV4IDQwMGJiNTk5YzJhMjI2NDNiZTAzMDU2YTgxNzk3ODJlOWFhMDU0
M2MuLjJiZTVhOWJmNzQ1NjE1NDBhZGE4NmQ3MjQyNWE0ZjkyZTNjYmI2MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIEluc3BlY3RvcldvcmtlckFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3Rv
ckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQoUGFnZUFnZW50Q29udGV4dCYp
OwotICAgIHZpcnR1YWwgfkluc3BlY3RvcldvcmtlckFnZW50KCkgeyB9CisgICAgdmlydHVhbCB+
SW5zcGVjdG9yV29ya2VyQWdlbnQoKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpC
YWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVu
ZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCmluZGV4IDg2OGJm
NjRhNDJkNWI5OTVlYTI0ZWIwNjE4MTVhZTMyOGRiOWYwOTkuLmVkMDM3MDZhZDNkMWRjY2QzOGNi
ZDU3NDU5ZTQxZDZlZTE5MmE0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuaApAQCAtNzIsNyArNzIsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbnN0cnVtZW50aW5nQWdlbnRzKGVudmlyb25tZW50
KSk7CiAgICAgfQotICAgIH5JbnN0cnVtZW50aW5nQWdlbnRzKCkgeyB9CisgICAgfkluc3RydW1l
bnRpbmdBZ2VudHMoKSA9IGRlZmF1bHQ7CiAgICAgdm9pZCByZXNldCgpOwogCiAgICAgSW5zcGVj
dG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYgaW5zcGVjdG9yRW52aXJvbm1lbnQoKSBjb25zdCB7
IHJldHVybiBtX2Vudmlyb25tZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VD
b25zb2xlQWdlbnQuaAppbmRleCBiMGMxY2E3NTNmMmQwZTE5YzEwMDg0Mjk2YzcwY2U0M2JkNDI5
ZTdlLi5kNWY1NTllNWIwMDI2YWQxNTI2NzJhNTYwMjg1NGU0NmM4YTkyMTE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKQEAgLTQzLDcgKzQzLDcgQEAg
Y2xhc3MgUGFnZUNvbnNvbGVBZ2VudCBmaW5hbCA6IHB1YmxpYyBXZWJDb25zb2xlQWdlbnQgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFBhZ2VDb25zb2xlQWdl
bnQoV2ViQWdlbnRDb250ZXh0JiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQqLCBJbnNw
ZWN0b3JET01BZ2VudCopOwotICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKSB7IH0KKyAg
ICB2aXJ0dWFsIH5QYWdlQ29uc29sZUFnZW50KCkgPSBkZWZhdWx0OwogCiBwcml2YXRlOgogICAg
IHZvaWQgY2xlYXJNZXNzYWdlcyhFcnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAppbmRleCA2NzFiM2E0ODZiZTljNzA2
ZDc2YTYzNzNlMGJjNDVmZmFmNzkzMTBhLi4zMWEyNGE3YTJjYjVjMzYxNDQzMzlmYmIxNmZlMTdi
MjA1MmEzNzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVn
Z2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdl
bnQuaApAQCAtNDksNyArNDksNyBAQCBjbGFzcyBQYWdlRGVidWdnZXJBZ2VudCBmaW5hbCA6IHB1
YmxpYyBXZWJEZWJ1Z2dlckFnZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBQYWdlRGVidWdnZXJBZ2VudChQYWdlQWdlbnRDb250ZXh0JiwgSW5zcGVjdG9y
UGFnZUFnZW50KiwgSW5zcGVjdG9yT3ZlcmxheSopOwotICAgIHZpcnR1YWwgflBhZ2VEZWJ1Z2dl
ckFnZW50KCkgeyB9CisgICAgdmlydHVhbCB+UGFnZURlYnVnZ2VyQWdlbnQoKSA9IGRlZmF1bHQ7
CiAKICAgICB2b2lkIGRpZENsZWFyTWFpbkZyYW1lV2luZG93T2JqZWN0KCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSGVhcEFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZUhlYXBBZ2VudC5oCmluZGV4IDEwMDRhMTk3ZGRiYTI2MjdiZGJh
MDZjMGVhODlmMzU4YmY2NDI3YjEuLjhkMTAxNzdiOTlkZTY2MDg0YzM0YzZjOTE2N2M4Mzk0Yzgx
M2U4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSGVhcEFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VIZWFwQWdlbnQuaApAQCAtMzgs
NyArMzgsNyBAQCBjbGFzcyBQYWdlSGVhcEFnZW50IGZpbmFsIDogcHVibGljIFdlYkhlYXBBZ2Vu
dCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGFnZUhlYXBB
Z2VudChQYWdlQWdlbnRDb250ZXh0Jik7Ci0gICAgdmlydHVhbCB+UGFnZUhlYXBBZ2VudCgpIHsg
fQorICAgIHZpcnR1YWwgflBhZ2VIZWFwQWdlbnQoKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIGVu
YWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmlu
ZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VS
dW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50
LmgKaW5kZXggYzZkMmVlM2QyNGYzMmE4MGM2ODY5ZGM4ZmYyM2IzYjRhNjY3OTc4OC4uMTQwNjFk
ZWJmYTk0NDk3NDU1NWNmYWYxYzkyOGU1NTI5YjYzOGMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCkBAIC01MSw3ICs1MSw3IEBAIGNsYXNzIFBhZ2VS
dW50aW1lQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JSdW50aW1lQWdl
bnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFBhZ2VSdW50
aW1lQWdlbnQoUGFnZUFnZW50Q29udGV4dCYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwotICAgIHZp
cnR1YWwgflBhZ2VSdW50aW1lQWdlbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5QYWdlUnVudGltZUFn
ZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQo
SW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIq
KSBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggN2Y1OGM2YzhiMDQ4YmYzZGMy
NzdhYjlkZjY1ZmVhMjQ2ODIyYjdjNi4uY2M2ZGZlZjk4NTEzZmMwOTQ3MWE3Yzc0NWMxYTUzZjlh
NTExNjhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VTY3JpcHRE
ZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVi
dWdTZXJ2ZXIuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIg
ZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlciB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGFnZVNjcmlwdERlYnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBQYWdl
U2NyaXB0RGVidWdTZXJ2ZXIoUGFnZSYpOwotICAgIHZpcnR1YWwgflBhZ2VTY3JpcHREZWJ1Z1Nl
cnZlcigpIHsgfQorICAgIHZpcnR1YWwgflBhZ2VTY3JpcHREZWJ1Z1NlcnZlcigpID0gZGVmYXVs
dDsKIAogICAgIHZvaWQgcmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCmluZGV4IGE0ZmZjOWU5MTQ0
OGI1YzAyOGIzMzQ3YjE3NmUwNzIzZmU4ZjI3ODAuLjVhM2U2ZGQ4YWZhNDVjZDE0MTFjNjUxNjhk
NmZjNGYyYzkwYjY3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJD
b25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFn
ZW50LmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgV2ViQ29uc29sZUFnZW50IDogcHVibGljIElu
c3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBXZWJDb25zb2xlQWdlbnQoSW5zcGVjdG9yOjpBZ2VudENvbnRl
eHQmLCBJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudCopOwotICAgIHZpcnR1YWwgfldlYkNv
bnNvbGVBZ2VudCgpIHsgfQorICAgIHZpcnR1YWwgfldlYkNvbnNvbGVBZ2VudCgpID0gZGVmYXVs
dDsKIAogICAgIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcmLCBib29s
IGVuYWJsZWQpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V2ViRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkRlYnVnZ2Vy
QWdlbnQuaAppbmRleCA3NzI0YmJlY2I5MWE4ZTYzMzE4ZTM5YmVjMTdkOGRhOTY5ZmVlNzFiLi4y
ZTY3YmEwYWY2NjVjZGQyYjc0ODdmOGM1NDgxYThjMzY1NTUxNzFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3Mg
V2ViRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3I6Okluc3BlY3RvckRlYnVnZ2VyQWdl
bnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFdlYkRlYnVn
Z2VyQWdlbnQoV2ViQWdlbnRDb250ZXh0Jik7Ci0gICAgdmlydHVhbCB+V2ViRGVidWdnZXJBZ2Vu
dCgpIHsgfQorICAgIHZpcnR1YWwgfldlYkRlYnVnZ2VyQWdlbnQoKSA9IGRlZmF1bHQ7CiAKIHBy
b3RlY3RlZDoKICAgICB2b2lkIGVuYWJsZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IDZiNGFkN2Ni
OWM2N2MyMTc1MWRhMmEyNDQ4ODE1NmQwOTU1MGUzNTEuLjhhZTkxYzc5NDc5MzllMTVlMGVkOGY3
YjRlYzZiYmE0ODBjNWU5MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgRE9NV2lu
ZG93OwogY2xhc3MgV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIGZpbmFsIDogcHVibGljIEluc3Bl
Y3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIHsKIHB1YmxpYzoKICAgICBXZWJJbmplY3RlZFNj
cmlwdE1hbmFnZXIoSW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYsIFJlZjxJbnNwZWN0
b3I6OkluamVjdGVkU2NyaXB0SG9zdD4mJik7Ci0gICAgdmlydHVhbCB+V2ViSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKCkgeyB9CisgICAgdmlydHVhbCB+V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKCkg
PSBkZWZhdWx0OwogCiAgICAgQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3Qo
KSBjb25zdCB7IHJldHVybiBtX2NvbW1hbmRMaW5lQVBJSG9zdC5nZXQoKTsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmgKaW5kZXggNWExZGMyMzA4
YzEwYWEzMWYxNjViNTZiMjJmNjkxYWJlM2Y1YTViMC4uNmJkZmMzY2Y1OTdmMjM3NGVmZmEzNzBk
MzY5ZmEzYmNlZTFjYzg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dv
cmtlckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJD
b25zb2xlQWdlbnQuaApAQCAtMzUsNyArMzUsNyBAQCBjbGFzcyBXb3JrZXJDb25zb2xlQWdlbnQg
ZmluYWwgOiBwdWJsaWMgV2ViQ29uc29sZUFnZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBXb3JrZXJDb25zb2xlQWdlbnQoV29ya2VyQWdlbnRDb250ZXh0
JiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQqKTsKLSAgICB+V29ya2VyQ29uc29sZUFn
ZW50KCkgeyB9CisgICAgfldvcmtlckNvbnNvbGVBZ2VudCgpID0gZGVmYXVsdDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCA1OGQ3YTRkYjY2YTE5OTE1MDk2ODNlMmRiZjkyN2Uw
ODBjNzNkNWY0Li40NTI5YzJkOTU5Yzk4NTkwNmM2YmQ1M2QyNjAxZDExZTJiYWYzYWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCkBA
IC00NSw5ICs0NSw3IEBAIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OldvcmtlckRlYnVnZ2VyQWdlbnQo
V29ya2VyQWdlbnRDb250ZXh0JiBjb250ZXh0KQogewogfQogCi1Xb3JrZXJEZWJ1Z2dlckFnZW50
Ojp+V29ya2VyRGVidWdnZXJBZ2VudCgpCi17Ci19CitXb3JrZXJEZWJ1Z2dlckFnZW50Ojp+V29y
a2VyRGVidWdnZXJBZ2VudCgpID0gZGVmYXVsdDsKIAogdm9pZCBXb3JrZXJEZWJ1Z2dlckFnZW50
OjpicmVha3BvaW50QWN0aW9uTG9nKEV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50
aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQu
aAppbmRleCBiMzY0OWMxZTMwNjRlZjdjNGQxMTZmYWQ3YmFmZTA1Y2NiODIzOTIxLi4xYzk0MjNi
ZGE3ZTE5NmZiZDE4YWVlMGY3NDQ1YzM2ZjQzMDEwMzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCkBAIC00Miw3ICs0Miw3IEBAIHR5cGVkZWYg
U3RyaW5nIEVycm9yU3RyaW5nOwogY2xhc3MgV29ya2VyUnVudGltZUFnZW50IGZpbmFsIDogcHVi
bGljIEluc3BlY3Rvcjo6SW5zcGVjdG9yUnVudGltZUFnZW50IHsKIHB1YmxpYzoKICAgICBXb3Jr
ZXJSdW50aW1lQWdlbnQoV29ya2VyQWdlbnRDb250ZXh0Jik7Ci0gICAgfldvcmtlclJ1bnRpbWVB
Z2VudCgpIHsgfQorICAgIH5Xb3JrZXJSdW50aW1lQWdlbnQoKSA9IGRlZmF1bHQ7CiAKICAgICB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZvaWQgd2ls
bERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclNjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggYzQ5ZDA5ZGVjMmUyYWU0MTBjZjg0NmNmZDEzZjc1ZWE2MWY2ZDQz
Yy4uNzg1ZTVjYThjNjc4NTBlNjI2ZWJjNzE3NzljODVlYjRkMGE2NTVmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQx
LDcgKzQxLDcgQEAgY2xhc3MgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIgZmluYWwgOiBwdWJsaWMg
SW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIpOwogcHVibGljOgogICAgIFdvcmtlclNjcmlwdERlYnVn
U2VydmVyKFdvcmtlckdsb2JhbFNjb3BlJik7Ci0gICAgfldvcmtlclNjcmlwdERlYnVnU2VydmVy
KCkgeyB9CisgICAgfldvcmtlclNjcmlwdERlYnVnU2VydmVyKCkgPSBkZWZhdWx0OwogCiAgICAg
dm9pZCByZWNvbXBpbGVBbGxKU0Z1bmN0aW9ucygpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmgKaW5k
ZXggYTM3ZDZkYTMwOTVmMDNlNGNlMjkzN2RkOWI5ZGI3MmJmNjcyYmMzZC4uOWJjOTI2MWRjNzYx
ODY2NjExOWExMjBkMzRjNTRjY2M0YjIwMGZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlclRvUGFnZUZyb250ZW5kQ2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJUb1BhZ2VGcm9udGVuZENoYW5uZWwuaApAQCAtMzksNyArMzks
NyBAQCBwdWJsaWM6CiAgICAgICAgIDogbV93b3JrZXJHbG9iYWxTY29wZSh3b3JrZXJHbG9iYWxT
Y29wZSkKICAgICB7CiAgICAgfQotICAgIH5Xb3JrZXJUb1BhZ2VGcm9udGVuZENoYW5uZWwoKSB7
IH0KKyAgICB+V29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsKCkgPSBkZWZhdWx0OwogCiBwcml2
YXRlOgogICAgIENvbm5lY3Rpb25UeXBlIGNvbm5lY3Rpb25UeXBlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gQ29ubmVjdGlvblR5cGU6OkxvY2FsOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDhlMjlkNjE5NDE5MDg2YTdlNDJmMGZjZmQ0ZmQzYjgz
ZjYxMzkxMjEuLjYwMGJmY2I2MmY2ZjVhMzBkMGE1M2NkNTgwYWU3YTgwOTBmNjZiOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC0xMDksNyArMTA5LDcg
QEAgcHVibGljOgogICAgIC8vIGRvbid0IHdhbnQgdG8gZG8gaXQgaW4gV2ViS2l0LgogICAgIHZp
cnR1YWwgYm9vbCBoYXNIVE1MVmlldygpIGNvbnN0OwogCi0gICAgdmlydHVhbCB+RnJhbWVMb2Fk
ZXJDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5GcmFtZUxvYWRlckNsaWVudCgpID0gZGVmYXVs
dDsKIAogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpID0gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKaW5kZXggMmJhYzhhODI4
ZDBjMzNkY2RkNDRlMGMxYmMyZGZhNDI5MWI4NmJjZC4uMzZmY2QzNDVkYmRmNWVlYzlkOWRhMDU0
MDhhZDFhOTg4MzVlNzhhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRy
b2xsZXIuY3BwCkBAIC02NSw5ICs2NSw3IEBAIEhpc3RvcnlDb250cm9sbGVyOjpIaXN0b3J5Q29u
dHJvbGxlcihGcmFtZSYgZnJhbWUpCiB7CiB9CiAKLUhpc3RvcnlDb250cm9sbGVyOjp+SGlzdG9y
eUNvbnRyb2xsZXIoKQotewotfQorSGlzdG9yeUNvbnRyb2xsZXI6On5IaXN0b3J5Q29udHJvbGxl
cigpID0gZGVmYXVsdDsKIAogdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6c2F2ZVNjcm9sbFBvc2l0
aW9uQW5kVmlld1N0YXRlVG9JdGVtKEhpc3RvcnlJdGVtKiBpdGVtKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9MaW5rTG9hZGVyQ2xpZW50LmgKaW5kZXggZjJmMThlMjM4MzAxNjU3ODA3M2UxYTU4
NjNlYzE3ZDk5MTVlODNjMy4uMjE5YzRjMzFlNjQ3YmU3ZDFlYzUyMTBhNDE5YjNlODgyYjE1YWY1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oCkBAIC0zNSw3ICsz
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTGlua0xvYWRlckNsaWVudCB7CiBw
dWJsaWM6Ci0gICAgdmlydHVhbCB+TGlua0xvYWRlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwg
fkxpbmtMb2FkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
TG9hZExpbmsoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5r
UHJlbG9hZFJlc291cmNlQ2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtQcmVs
b2FkUmVzb3VyY2VDbGllbnRzLmgKaW5kZXggYzA5YmZiMTUzOTc2YjFkMDEwYzU0YTc0ZTgxMjQz
MzkwYmI5MmFkYS4uNTY1NDg1MzJlM2M3YWVhYzlhNDM1MmUxNjY3OGYyNWM0OTU4OGNmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnRz
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgTGlua0xvYWRlcjsKIAogY2xhc3MgTGlua1ByZWxv
YWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+TGlua1ByZWxvYWRSZXNv
dXJjZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkxpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQo
KSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIHRyaWdnZXJFdmVudHMoY29uc3QgQ2FjaGVkUmVzb3Vy
Y2UmKTsKIApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBzdGQ6OnVu
aXF1ZV9wdHI8TGlua1ByZWxvYWRTY3JpcHRSZXNvdXJjZUNsaWVudD4obmV3IExpbmtQcmVsb2Fk
U2NyaXB0UmVzb3VyY2VDbGllbnQobG9hZGVyLCByZXNvdXJjZSkpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgfkxpbmtQcmVsb2FkU2NyaXB0UmVzb3VyY2VDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFs
IH5MaW5rUHJlbG9hZFNjcmlwdFJlc291cmNlQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAKICAgICB2
b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkgb3ZlcnJpZGUgeyB0
cmlnZ2VyRXZlbnRzKHJlc291cmNlKTsgfQpAQCAtMTA2LDcgKzEwNiw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFN0eWxlUmVzb3VyY2VDbGll
bnQ+KG5ldyBMaW5rUHJlbG9hZFN0eWxlUmVzb3VyY2VDbGllbnQobG9hZGVyLCByZXNvdXJjZSkp
OwogICAgIH0KIAotICAgIHZpcnR1YWwgfkxpbmtQcmVsb2FkU3R5bGVSZXNvdXJjZUNsaWVudCgp
IHsgfQorICAgIHZpcnR1YWwgfkxpbmtQcmVsb2FkU3R5bGVSZXNvdXJjZUNsaWVudCgpID0gZGVm
YXVsdDsKIAogICAgIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmLCBjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBDYWNoZWRDU1NTdHlsZVNoZWV0KiByZXNvdXJjZSkg
b3ZlcnJpZGUKICAgICB7CkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkSW1hZ2VSZXNvdXJjZUNsaWVudD4obmV3IExp
bmtQcmVsb2FkSW1hZ2VSZXNvdXJjZUNsaWVudChsb2FkZXIsIHJlc291cmNlKSk7CiAgICAgfQog
Ci0gICAgdmlydHVhbCB+TGlua1ByZWxvYWRJbWFnZVJlc291cmNlQ2xpZW50KCkgeyB9CisgICAg
dmlydHVhbCB+TGlua1ByZWxvYWRJbWFnZVJlc291cmNlQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAg
ICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpIG92ZXJyaWRl
IHsgdHJpZ2dlckV2ZW50cyhyZXNvdXJjZSk7IH0KIApAQCAtMTU1LDcgKzE1NSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZEZvbnRSZXNvdXJj
ZUNsaWVudD4obmV3IExpbmtQcmVsb2FkRm9udFJlc291cmNlQ2xpZW50KGxvYWRlciwgcmVzb3Vy
Y2UpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5MaW5rUHJlbG9hZEZvbnRSZXNvdXJjZUNsaWVu
dCgpIHsgfQorICAgIHZpcnR1YWwgfkxpbmtQcmVsb2FkRm9udFJlc291cmNlQ2xpZW50KCkgPSBk
ZWZhdWx0OwogCiAgICAgdm9pZCBmb250TG9hZGVkKENhY2hlZEZvbnQmIHJlc291cmNlKSBvdmVy
cmlkZQogICAgIHsKQEAgLTE4MSw3ICsxODEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSYXdSZXNvdXJjZUNsaWVudD4obmV3IExpbmtQcmVs
b2FkUmF3UmVzb3VyY2VDbGllbnQobG9hZGVyLCByZXNvdXJjZSkpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgfkxpbmtQcmVsb2FkUmF3UmVzb3VyY2VDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5M
aW5rUHJlbG9hZFJhd1Jlc291cmNlQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdm9pZCBub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpIG92ZXJyaWRlIHsgdHJpZ2dlckV2
ZW50cyhyZXNvdXJjZSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xv
YWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Mb2FkZXJTdHJhdGVneS5j
cHAKaW5kZXggNzVhYWU0Mjg1M2JlNGM2MDBhYzU2YzU5OTU5YWZhNDJmZTI5YTYwNi4uMTgxNjQw
ZGIzNmRkNDJmN2U3ZGE0ZDJhZjA4ZTEzNjkzYzFlZDY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC0zMCw5ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotTG9hZGVyU3RyYXRlZ3k6On5Mb2FkZXJTdHJhdGVneSgpCi17Ci19CitMb2FkZXJT
dHJhdGVneTo6fkxvYWRlclN0cmF0ZWd5KCkgPSBkZWZhdWx0OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMDg4ZDUxNjQyYTcxMjRjMzkyNWJmMjg5MDM4MjlhZjMzZDlkYjI1Li5kNzNiMWI1
MGViNmFiYjFlM2RhNzg2ZTFiMzUyOWYyNWNmYmQ1ZDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICBtX2luaXRpYXRlZEJ5TWFpbkZyYW1lID0gSW5pdGlhdGVkQnlNYWlu
RnJhbWU6OlllczsKICAgICAgICAgfQogICAgIH0KLSAgICB2aXJ0dWFsIH5TY2hlZHVsZWROYXZp
Z2F0aW9uKCkgeyB9CisgICAgdmlydHVhbCB+U2NoZWR1bGVkTmF2aWdhdGlvbigpID0gZGVmYXVs
dDsKIAogICAgIHZpcnR1YWwgdm9pZCBmaXJlKEZyYW1lJikgPSAwOwogCkBAIC0zMzUsOSArMzM1
LDcgQEAgTmF2aWdhdGlvblNjaGVkdWxlcjo6TmF2aWdhdGlvblNjaGVkdWxlcihGcmFtZSYgZnJh
bWUpCiB7CiB9CiAKLU5hdmlnYXRpb25TY2hlZHVsZXI6On5OYXZpZ2F0aW9uU2NoZWR1bGVyKCkK
LXsKLX0KK05hdmlnYXRpb25TY2hlZHVsZXI6On5OYXZpZ2F0aW9uU2NoZWR1bGVyKCkgPSBkZWZh
dWx0OwogCiBib29sIE5hdmlnYXRpb25TY2hlZHVsZXI6OnJlZGlyZWN0U2NoZWR1bGVkRHVyaW5n
TG9hZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVn
SW5TdHJlYW1Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyLmNwcAppbmRleCBjMzIzMDc3ZmRmMjMwODQzZGU2NDk2OWQyMDc2MGEyMmIz
YmM3NzM1Li5lYjc2ZjYwZWM4MzY5ZDllZTQ2ZmUwMDMzNzJkM2ZlNjRiYzYwYzRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5j
cHAKQEAgLTUxLDkgKzUxLDcgQEAgTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBl
UGx1Z0luU3RyZWFtTG9hZGVyKEZyYW1lJiBmcmFtZSwgTmV0c2NhcGVQbHUKICNlbmRpZgogfQog
Ci1OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6fk5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVy
KCkKLXsKLX0KK05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyOjp+TmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXIoKSA9IGRlZmF1bHQ7CiAKIFJlZlB0cjxOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRl
cj4gTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6OmNyZWF0ZShGcmFtZSYgZnJhbWUsIE5ldHNj
YXBlUGx1Z0luU3RyZWFtTG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2Fw
ZVBsdWdJblN0cmVhbUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyLmgKaW5kZXggYzlkYzE5ZmYzYWJkNDkwODhkODg2OTE0MGFlN2Q3MGI0
YTJkOTBlNi4uM2U3MTlhNmU0NTcyMWNiMGVmNTA3ODY0ZTE3ZTVjOTkzOWE4MzBmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmgK
QEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB3YW50c0FsbFN0cmVh
bXMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+
TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXJDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5OZXRz
Y2FwZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKIH07CiAKIGNsYXNzIE5l
dHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlTG9hZGVyIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaAppbmRleCA0
ZTMxZmUyODIyYThkYjRlZTU1NGI5Njk2YmJhZTYzMzFlMWYwNWY5Li4zMGRlMjY1NDYzYjQwYzhm
OWI0YmMwNWUzNTc4ZGM5ZTZkNzEyMjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1By
b2dyZXNzVHJhY2tlckNsaWVudC5oCkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIEZyYW1lOwogCiBj
bGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQgewogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgflBy
b2dyZXNzVHJhY2tlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgflByb2dyZXNzVHJhY2tlckNs
aWVudCgpID0gZGVmYXVsdDsKIAogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwcm9ncmVzc1Ry
YWNrZXJEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJzdGl0dXRlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlUmVz
b3VyY2UuaAppbmRleCAwZThkZDM1ZTJkNTA3YWJjNTFjOGZhMjc3ODJlYjM1NDEzMTg1NDM5Li44
NTM0YmNlN2Y5MzRkZjFhMDQwYTJkY2YzMjdiMDNjMTUwNGE0NzcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZVJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnN0aXR1dGVSZXNvdXJjZS5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU3Vic3RpdHV0ZVJlc291cmNlIDogcHVibGljIFJlZkNvdW50
ZWQ8U3Vic3RpdHV0ZVJlc291cmNlPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U3Vic3RpdHV0
ZVJlc291cmNlKCkgeyB9CisgICAgdmlydHVhbCB+U3Vic3RpdHV0ZVJlc291cmNlKCkgPSBkZWZh
dWx0OwogCiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAg
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNw
b25zZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURl
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3Bw
CmluZGV4IDNmYTlhMDY5NGU5ODA3YWI2YmM4YjJlNWI2ZjAwYTgxZjRjNTNkZWMuLjVkMDljMjM4
ZWMwZjI5ZGUyNGVkNjRjN2MzN2RiMjEwNTg5MWE5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHAKQEAgLTMzNiw5ICszMzYsNyBAQCBUZXh0UmVz
b3VyY2VEZWNvZGVyOjpUZXh0UmVzb3VyY2VEZWNvZGVyKGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IGNvbnN0IFRleHRFbmNvZAogewogfQogCi1UZXh0UmVzb3VyY2VEZWNvZGVyOjp+VGV4dFJlc291
cmNlRGVjb2RlcigpCi17Ci19CitUZXh0UmVzb3VyY2VEZWNvZGVyOjp+VGV4dFJlc291cmNlRGVj
b2RlcigpID0gZGVmYXVsdDsKIAogdm9pZCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRFbmNvZGlu
Zyhjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nLCBFbmNvZGluZ1NvdXJjZSBzb3VyY2UpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKaW5kZXggMzM3YzhlMTMxYzQx
YzA2MGEyZjg4NmE4MmQ2MjQ0MTE3YmY3ODFmYi4uNjAwMWQ1YzQ0OWJiMjFmZjAzMDFmZGY3Yzdm
OGU1NmMzNTcyMTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaApA
QCAtNDIsNyArNDIsNyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBU
ZXh0VHJhY2tMb2FkZXJDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflRleHRUcmFja0xv
YWRlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgflRleHRUcmFja0xvYWRlckNsaWVudCgpID0g
ZGVmYXVsdDsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbmV3Q3Vlc0F2YWlsYWJsZShUZXh0VHJh
Y2tMb2FkZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGN1ZUxvYWRpbmdDb21wbGV0ZWQoVGV4
dFRyYWNrTG9hZGVyKiwgYm9vbCBsb2FkaW5nRmFpbGVkKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNzUzOGVlY2M0MzRhNjliNmI4ODQ3ZjA5
OGVjNzBjYjRmNDc0ZDRkYS4uOTJjZDZkNTg3MmNlNWM0ZDViNjJjYjNmOWJmMzRiN2U2Y2IwZjJh
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNDcs
OSArNDcsNyBAQCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6VGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMoKQogICAgIG1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47CiB9CiAKLVRo
cmVhZGFibGVMb2FkZXJPcHRpb25zOjp+VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMoKQotewotfQor
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6On5UaHJlYWRhYmxlTG9hZGVyT3B0aW9ucygpID0gZGVm
YXVsdDsKIAogVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6OlRocmVhZGFibGVMb2FkZXJPcHRpb25z
KGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgYmFzZU9wdGlvbnMsIFByZWZsaWdodFBvbGlj
eSBwcmVmbGlnaHRQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTdHJpbmcmJiBpbml0aWF0b3IsIFJlc3BvbnNl
RmlsdGVyaW5nUG9saWN5IGZpbHRlcmluZ1BvbGljeSkKICAgICA6IFJlc291cmNlTG9hZGVyT3B0
aW9ucyhiYXNlT3B0aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5o
CmluZGV4IDYzMGRjYTA1Zjk5ZGNmM2JiNDgyYmNhYTkzMWNiODNmYjMzNjAwZTYuLjMwYjIxY2Zi
OWJlY2Y3ODI5MGRlNTYyNDAxNzA2MjdhNWFlZTljMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtODksOCArODksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvZ0Vycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBj
b25zdCBSZXNvdXJjZUVycm9yJiwgY29uc3QgU3RyaW5nJik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KLSAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJs
ZUxvYWRlcigpIHsgfQorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgPSBkZWZhdWx0OworICAg
ICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgPSBkZWZhdWx0OwogICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggMmQ1OGM5MjBkYjYwM2E2Y2Q0
MGE0YWY0NmJkYTk3OWVmMDcwOWIwMS4uMDE3ZjBhMWU4MzIyMGI3Nzc1NWYwNTBhZmMxNjk2YzE0
MWI0MjVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNs
aWVudC5oCkBAIC00OCw4ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpZEZpbmlzaFRpbWluZyhjb25zdCBSZXNvdXJjZVRpbWluZyYpIHsgfQogCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9Ci0gICAg
ICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0KKyAgICAgICAgVGhyZWFk
YWJsZUxvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKKyAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJs
ZUxvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmUuY3BwCmluZGV4IDVlMDVi
ZTIyYzdkNGVhN2YxMjJiYTQxMTc4NjkzZjI1ZWQyZTBlZGEuLjM5YzY5YTQ3OGY2ZDgxMDM2ZTJj
OTU0NGY3NzAzMjc4Zjc2N2FhOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cmNoaXZlL0FyY2hpdmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmUuY3BwCkBAIC0zMSw5ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQXJj
aGl2ZTo6fkFyY2hpdmUoKQotewotfQorQXJjaGl2ZTo6fkFyY2hpdmUoKSA9IGRlZmF1bHQ7CiAK
IHZvaWQgQXJjaGl2ZTo6Y2xlYXJBbGxTdWJmcmFtZUFyY2hpdmVzKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAppbmRleCA4OGM1MDgzYzZmZTAzNWZmYTlh
ZmM0OTU2NDg1MGEyOWZiNjZhOTA4Li4xM2YwYjQwNWNmMTJkYjFlMjJjN2EzMTIzOWUxZmRlN2Nk
YmU4NmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9u
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCkBA
IC01Miw5ICs1Miw3IEBAIENhY2hlZEZvbnQ6OkNhY2hlZEZvbnQoQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0JiYgcmVxdWVzdCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklECiB7CiB9CiAKLUNhY2hlZEZv
bnQ6On5DYWNoZWRGb250KCkKLXsKLX0KK0NhY2hlZEZvbnQ6On5DYWNoZWRGb250KCkgPSBkZWZh
dWx0OwogCiB2b2lkIENhY2hlZEZvbnQ6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXImKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnRDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250Q2xpZW50LmgKaW5kZXgg
YTEzODhmYjg4ZWI3ODViZTA2OGIwODBhODRmMjM5MTczZDk2OTQyOC4uNTBlNjNmNTljYTM0NDdj
MjJhOTZmYzlmYzcxNjE4ZDMxYjZkMjBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZEZvbnRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkRm9udENsaWVudC5oCkBAIC0zMyw3ICszMyw3IEBAIGNsYXNzIENhY2hlZEZv
bnQ7CiAKIGNsYXNzIENhY2hlZEZvbnRDbGllbnQgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNhY2hlZEZvbnRDbGllbnQoKSB7IH0KKyAgICB2
aXJ0dWFsIH5DYWNoZWRGb250Q2xpZW50KCkgPSBkZWZhdWx0OwogICAgIHN0YXRpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudFR5cGUgZXhwZWN0ZWRUeXBlKCkgeyByZXR1cm4gRm9udFR5cGU7IH0KICAg
ICBDYWNoZWRSZXNvdXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZXhwZWN0ZWRUeXBlKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZm9udExv
YWRlZChDYWNoZWRGb250JikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkSW1hZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRJbWFnZUNsaWVudC5oCmluZGV4IDRiZThlZTQ2MDVhMjVhN2RlNjcyODU5OWYwMjA4MmZi
NTE1Y2EyNDUuLjEzYmUwMmQ3M2Y0NTFhMjkwMDVmM2ZhNjE4ZGJhZmY5YmE1ZWEwNjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZUNsaWVudC5oCkBAIC0z
NCw3ICszNCw3IEBAIGVudW0gY2xhc3MgVmlzaWJsZUluVmlld3BvcnRTdGF0ZSB7IFVua25vd24s
IFllcywgTm8gfTsKIAogY2xhc3MgQ2FjaGVkSW1hZ2VDbGllbnQgOiBwdWJsaWMgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNhY2hlZEltYWdlQ2xpZW50KCkg
eyB9CisgICAgdmlydHVhbCB+Q2FjaGVkSW1hZ2VDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgc3Rh
dGljIENhY2hlZFJlc291cmNlQ2xpZW50VHlwZSBleHBlY3RlZFR5cGUoKSB7IHJldHVybiBJbWFn
ZVR5cGU7IH0KICAgICBDYWNoZWRSZXNvdXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBl
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZXhwZWN0ZWRUeXBlKCk7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaApp
bmRleCAyZTlmYWM1OTFlYjA4MGY5ZDVhNGEwZWQyOTYwYTQ2ZTkwNmE4MzZlLi41MmYyYjY2MzZh
MTJjYzE0YjhiMjA0YWM4ODc2MTJiMjQwNGNiNDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQuaApAQCAtMzMsNyArMzMs
NyBAQCBjbGFzcyBSZXNvdXJjZVRpbWluZzsKIAogY2xhc3MgQ2FjaGVkUmF3UmVzb3VyY2VDbGll
bnQgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwg
fkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+Q2FjaGVkUmF3UmVz
b3VyY2VDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIENhY2hlZFJlc291cmNlQ2xpZW50
VHlwZSBleHBlY3RlZFR5cGUoKSB7IHJldHVybiBSYXdSZXNvdXJjZVR5cGU7IH0KICAgICBDYWNo
ZWRSZXNvdXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gZXhwZWN0ZWRUeXBlKCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCBmNWIxYjliY2Q3ZDAyNmUxMWRk
MDJlODNiODg2YzhlNWM5MzZjZGIzLi4zMGJiMWU4NzY1YjFhNzIxYTU3MzU4MjkxMTljZGI0Mjk5
MWFhYjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJhd1Jlc291
cmNlVHlwZQogICAgIH07CiAKLSAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQorICAgIHZpcnR1YWwgfkNhY2hlZFJlc291cmNlQ2xpZW50KCkgPSBkZWZhdWx0OwogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBkZXByZWNhdGVkRGlkUmVjZWl2ZUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNl
JikgeyB9CiAgICAgdmlydHVhbCBib29sIGlzWE1MSHR0cFJlcXVlc3QoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQpAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNo
b3VsZE1hcmtBc1JlZmVyZW5jZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKIHByb3RlY3Rl
ZDoKLSAgICBDYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQorICAgIENhY2hlZFJlc291cmNlQ2xp
ZW50KCkgPSBkZWZhdWx0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAKaW5kZXggNmI2NjMwNDMwYmZmNjEzNDdhNjUzMWQ3
ZmM3MjZiYTQ5ZWEwZjY2NC4uNjVkNjg4MWY5YTE3OTYyZjZkNWRiM2YzZDcyYjY5MjM4ODRmNmFk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1l
bnQuY3BwCkBAIC0zMyw5ICszMyw3IEBAIENhY2hlZFNWR0RvY3VtZW50OjpDYWNoZWRTVkdEb2N1
bWVudChDYWNoZWRSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBQQUw6OlNlc3NpCiB7CiB9CiAK
LUNhY2hlZFNWR0RvY3VtZW50Ojp+Q2FjaGVkU1ZHRG9jdW1lbnQoKQotewotfQorQ2FjaGVkU1ZH
RG9jdW1lbnQ6On5DYWNoZWRTVkdEb2N1bWVudCgpID0gZGVmYXVsdDsKIAogdm9pZCBDYWNoZWRT
VkdEb2N1bWVudDo6c2V0RW5jb2RpbmcoY29uc3QgU3RyaW5nJiBjaHMpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudENsaWVudC5oCmlu
ZGV4IDQ5OWRjZDEwZWYxMjZjMTMyZmY4ODM5NGQxNTM3NjMyNTkwZTU0MzkuLjhlMTc4OGZmMTQ4
NGVlMTRhMGQ2NTM3ZTNhMjcxZDc2MzY2NzIyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudENsaWVudC5oCkBAIC0yOCw3ICsyOCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQg
OiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNh
Y2hlZFNWR0RvY3VtZW50Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+Q2FjaGVkU1ZHRG9jdW1l
bnRDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIENhY2hlZFJlc291cmNlQ2xpZW50VHlw
ZSBleHBlY3RlZFR5cGUoKSB7IHJldHVybiBTVkdEb2N1bWVudFR5cGU7IH0KICAgICBDYWNoZWRS
ZXNvdXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gZXhwZWN0ZWRUeXBlKCk7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTY3JpcHQuY3BwCmluZGV4IDUxZDYwZmYxZjYxZTE0YjRiODMxMzRkNDI0YjQ5N2Zi
MGIxMGM4MmEuLmVkNjNjMTVjYWJmMWE4ZTE5MjExOTIzNGNiNjQxOGRjZGNiODc0MGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCkBAIC00Miw5ICs0
Miw3IEBAIENhY2hlZFNjcmlwdDo6Q2FjaGVkU2NyaXB0KENhY2hlZFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QsIFBBTDo6U2Vzc2lvbklEIHNlc3NpCiB7CiB9CiAKLUNhY2hlZFNjcmlwdDo6fkNh
Y2hlZFNjcmlwdCgpCi17Ci19CitDYWNoZWRTY3JpcHQ6On5DYWNoZWRTY3JpcHQoKSA9IGRlZmF1
bHQ7CiAKIHZvaWQgQ2FjaGVkU2NyaXB0OjpzZXRFbmNvZGluZyhjb25zdCBTdHJpbmcmIGNocykK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNo
ZWV0Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVl
dENsaWVudC5oCmluZGV4IGMyZjE4NzM4OWUyOWYzMzdjOGZlMDAwMTE2MmJjZDhiODJiYjJlYzgu
LmRmNDZiZTJkMzc3ZTRjMWRlMTgyYWRhZjE0ZDczOWExZjk3Y2RjMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaApAQCAt
MzUsNyArMzUsNyBAQCBjbGFzcyBVUkw7CiAKIGNsYXNzIENhY2hlZFN0eWxlU2hlZXRDbGllbnQg
OiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNh
Y2hlZFN0eWxlU2hlZXRDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZWRTdHlsZVNoZWV0
Q2xpZW50KCkgPSBkZWZhdWx0OwogICAgIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUNsaWVudFR5cGUg
ZXhwZWN0ZWRUeXBlKCkgeyByZXR1cm4gU3R5bGVTaGVldFR5cGU7IH0KICAgICBDYWNoZWRSZXNv
dXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZXhwZWN0ZWRUeXBlKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIC8qIGhyZWYgKi8sIGNvbnN0IFVSTCYgLyogYmFzZVVSTCAqLywgY29uc3Qg
U3RyaW5nJiAvKiBjaGFyc2V0ICovLCBjb25zdCBDYWNoZWRDU1NTdHlsZVNoZWV0KikgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVl
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5j
cHAKaW5kZXggOTRmMWQxMDZkNjVlMGMzNmYwYjg2MzAyMTFkMWQ0OWM5MTNkMzYzZi4uODk1ZjRk
YjEyNTc2MTgzMWU1ZjdjZWNjZTJiMWZiMTM2NTY4ZTg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcApAQCAtNDIsOSArNDIs
NyBAQCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpDYWNoZWRYU0xTdHlsZVNoZWV0KENhY2hlZFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFBBTDo6UwogewogfQogCi1DYWNoZWRYU0xTdHlsZVNoZWV0
Ojp+Q2FjaGVkWFNMU3R5bGVTaGVldCgpCi17Ci19CitDYWNoZWRYU0xTdHlsZVNoZWV0Ojp+Q2Fj
aGVkWFNMU3R5bGVTaGVldCgpID0gZGVmYXVsdDsKIAogdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0
OjpkaWRBZGRDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmIGNsaWVudCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDU1ZWEyZmI1MjVlYmU0
MjgxZTdlMmQ3M2YwOGZlN2Q0NGYwYTZhODUuLjkzNTU5Mzc4OGY5ODk5YzllMjI1MTA4OGI0ZTc2
ZDAwNWQzZDJmOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BbHRlcm5hdGl2ZVRleHRDbGll
bnQuaApAQCAtNTcsNyArNTcsNyBAQCBlbnVtIGNsYXNzIEF1dG9jb3JyZWN0aW9uUmVzcG9uc2Ug
ewogCiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwg
fkFsdGVybmF0aXZlVGV4dENsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkFsdGVybmF0aXZlVGV4
dENsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpID0g
MDsKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpCiAgICAgdmlydHVhbCB2b2lkIHNob3dD
b3JyZWN0aW9uQWx0ZXJuYXRpdmUoQWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgRmxvYXRSZWN0
JiBib3VuZGluZ0JveE9mUmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjbWVudFN0cmluZywgY29uc3QgVmVjdG9yPFN0cmluZz4m
IGFsdGVybmF0aXZlUmVwbGFjZW1lbnRTdHJpbmdzKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCBiYWUwYjNiYWFjZTU5ODA3NTdh
YWI2ZGQ0Zjc5MGFhMGRjM2U5MjA5Li5iMWNjNzAxZDZmZWViMWU2NzY4MDcyNmNkYmM1NmZlZWEy
NDRlZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVy
ZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
cy5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvblVz
ZXJQcmVmZXJlbmNlcyhQYWdlR3JvdXAmIGdyb3VwKQogewogfQogCi1DYXB0aW9uVXNlclByZWZl
cmVuY2VzOjp+Q2FwdGlvblVzZXJQcmVmZXJlbmNlcygpCi17Ci19CitDYXB0aW9uVXNlclByZWZl
cmVuY2VzOjp+Q2FwdGlvblVzZXJQcmVmZXJlbmNlcygpID0gZGVmYXVsdDsKIAogdm9pZCBDYXB0
aW9uVXNlclByZWZlcmVuY2VzOjp0aW1lckZpcmVkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCmluZGV4IDMwNjUyN2I2NzMyMWNkNTk2MGMxNWFhNjVjNTRhMWY3NTcyNDA2ODMuLmQ2
NTg3NWZiOWMzMTJiODFkMmJiYTc2ZGMzNTQyMzQ3YmIyOTVkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaApAQCAtNDY3LDcgKzQ2Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdFN0b3JhZ2VBY2Nlc3MoU3RyaW5nJiYgLypzdWJGcmFtZUhvc3QqLywgU3RyaW5n
JiYgLyp0b3BGcmFtZUhvc3QqLywgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjYWxsYmFj
aykgeyBjYWxsYmFjayhmYWxzZSk7IH0KIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgfkNocm9t
ZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVmYXVsdDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGV4dE1lbnVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVD
bGllbnQuaAppbmRleCBiOWE3NWE1Njg3NmNhOGNmMTcyMDUyYzYxYTAwYTIwZjU4MTg4OWQzLi41
ZTdjMzVjOTc3MThkODhmODQxYmY0MTgwNDUyNDk0YWQ4Zjc1MTkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNsaWVudC5oCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIENvbnRleHRNZW51Q2xpZW50IHsKICAgICBwdWJsaWM6Ci0gICAg
ICAgIHZpcnR1YWwgfkNvbnRleHRNZW51Q2xpZW50KCkgeyAgfQorICAgICAgICB2aXJ0dWFsIH5D
b250ZXh0TWVudUNsaWVudCgpID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRl
eHRNZW51RGVzdHJveWVkKCkgPSAwOwogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIGRv
d25sb2FkVVJMKGNvbnN0IFVSTCYgdXJsKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NyeXB0by5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAKaW5kZXgg
MGRkM2M5ZDNlNTM4N2RhNzUyMTA2OGMxNGExNmM0NzY4MDRlZGJiMy4uNWY3ZWUwODA0ZWY0ODhj
NThlMjRhOGU4ZjQ3NDRmZWU5YjU4YjY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DcnlwdG8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmNwcApAQCAtNTAs
OSArNTAsNyBAQCBDcnlwdG86OkNyeXB0byhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KQogewogfQogCi1DcnlwdG86On5DcnlwdG8oKQotewotfQorQ3J5cHRvOjp+Q3J5cHRvKCkgPSBk
ZWZhdWx0OwogCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG86OmdldFJhbmRvbVZhbHVlcyhBcnJh
eUJ1ZmZlclZpZXcmIGFycmF5KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAppbmRleCAzYjEw
ZDkzYzk3Njg2NDdiMzRmY2ZlYTRkZGQ3ZmU2YWQzNTBlM2RjLi44NGE2MmMwZmRhNDA2YTNmODQ0
MTYyMzgzZWZmZDVmYWU3OTQzMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcApAQCAtMjEy
LDkgKzIxMiw3IEBAIERPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0CiAgICAgICAgIHN0YXJ0UmVwZWF0
aW5nKG1fY3VycmVudFRpbWVySW50ZXJ2YWwpOwogfQogCi1ET01UaW1lcjo6fkRPTVRpbWVyKCkK
LXsKLX0KK0RPTVRpbWVyOjp+RE9NVGltZXIoKSA9IGRlZmF1bHQ7CiAKIGludCBET01UaW1lcjo6
aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EYXRhYmFzZVByb3ZpZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGF0YWJhc2VQcm92aWRlci5jcHAKaW5kZXggZTM3YThh
ODcyMGZmMTIzMDQ1ZmM2ZmZlMDk4OTNhZTkyN2JlMzQ0Mi4uM2FkZjBmZjBlNjMzYjI1NzY3YWZh
YzEwNDQwNGZmMGRhMWU2Y2QwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EYXRh
YmFzZVByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RhdGFiYXNlUHJvdmlk
ZXIuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRGF0YWJh
c2VQcm92aWRlcjo6fkRhdGFiYXNlUHJvdmlkZXIoKQotewotfQorRGF0YWJhc2VQcm92aWRlcjo6
fkRhdGFiYXNlUHJvdmlkZXIoKSA9IGRlZmF1bHQ7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGV2aWNlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNs
aWVudC5oCmluZGV4IDYzYmYwZWNlNTQyZTBmZDVkNzViODQ1MDkzYjMzY2ZhNDBlNzIwN2IuLjc3
MDYzZDZjNGJlNDU0N2JhMDA0MzM3NTZhODg3OGRmOWY3OGMwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
ZXZpY2VDbGllbnQuaApAQCAtMzEsNyArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBEZXZpY2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIHZpcnR1YWwgfkRldmljZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkRldmljZUNsaWVu
dCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2
aWNlQ29udHJvbGxlci5oCmluZGV4IGMxMGRiMzQ0YzE2NDFhMzIwM2I5ZjMxMWIyNjM5OWFmNGI2
N2MwYjIuLjIwMGYzMTg5Yzc3NWY1OGM2OWFlZGE5Y2UyZTJiNmY3ZjE1MTMxNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIERl
dmljZUNvbnRyb2xsZXIgOiBwdWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRGV2aWNlQ29udHJvbGxlcihE
ZXZpY2VDbGllbnQqKTsKLSAgICB2aXJ0dWFsIH5EZXZpY2VDb250cm9sbGVyKCkgeyB9CisgICAg
dmlydHVhbCB+RGV2aWNlQ29udHJvbGxlcigpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgYWRkRGV2
aWNlRXZlbnRMaXN0ZW5lcihET01XaW5kb3cqKTsKICAgICB2b2lkIHJlbW92ZURldmljZUV2ZW50
TGlzdGVuZXIoRE9NV2luZG93Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmgKaW5kZXggMDA1OTZjNzhiYmVjMzBkMGMxZWI3NDNkZDJiNzNkMTc4MjQx
N2RhNS4uMzE5M2E2MjNiYTQ2NWUzNWYyYzgzOTA3YmNkODQ0ODBhZjdhZGUxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDQsNyArNDQs
NyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgYm9vbCBzaG91bGRMb2dBZnRlclNhbXBsaW5nKFNo
b3VsZFNhbXBsZSk7CiAKLSAgICB2aXJ0dWFsIH5EaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpIHsg
fQorICAgIHZpcnR1YWwgfkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsK
IAogaW5saW5lIGJvb2wgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OnNob3VsZExvZ0FmdGVyU2Ft
cGxpbmcoU2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgK
aW5kZXggZWNlNWE5MDNiYzA2ZTJhNjI2OGUyM2E1OWY5NDdjOWE5ZWNlNGFkOC4uOTUzODcxNzQ3
MGI1ZTg4NjFmODY3YmNkNDNhN2UwYmU3NGUwNDcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50
LmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogI2VuZGlmCiAjZW5kaWYKIAotICAgIHZpcnR1
YWwgfkRyYWdDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5EcmFnQ2xpZW50KCkgPSBkZWZhdWx0
OwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNs
aWVudC5oCmluZGV4IGUwODQwYjEzYTAwNjdlYTE3NDRkZjNmNGFlOGJiMDFmNDBhMzhhNmUuLjMw
YzA5ZDIxYzNkN2RjYzE0MzZlZmVhODk5ZGY4YTE1MGNlZTY3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
ZGl0b3JDbGllbnQuaApAQCAtNTEsNyArNTEsNyBAQCBzdHJ1Y3QgR3JhbW1hckRldGFpbDsKIAog
Y2xhc3MgRWRpdG9yQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5FZGl0b3JDbGllbnQo
KSB7ICB9CisgICAgdmlydHVhbCB+RWRpdG9yQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmly
dHVhbCBib29sIHNob3VsZERlbGV0ZVJhbmdlKFJhbmdlKikgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKSA9IDA7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVkaWFDYW5TdGFydExpc3RlbmVyLmgKaW5kZXggODkwZTQ0MTY3NWJkNDFkYzJlMTY2YjRiNDNi
MTk2NjA0ZTEyMzhjZi4uOTc1YTNhZDQ1YzRhYTc0ZWU3MWQyZWU3Y2NlMzNlMDI4MjRhMTQ1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oCkBAIC0zMyw3
ICszMyw3IEBAIGNsYXNzIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9jdW1lbnQmKSA9IDA7CiBwcm90ZWN0ZWQ6Ci0gICAg
dmlydHVhbCB+TWVkaWFDYW5TdGFydExpc3RlbmVyKCkgeyB9CisgICAgdmlydHVhbCB+TWVkaWFD
YW5TdGFydExpc3RlbmVyKCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAppbmRleCBmNDZlMTRiNjIzNTlkYTVjMTM5
MDk4MGYyMDYxNGJjOTNlYmZiMGE5Li45OTlhMmZkMzFkNmFlNzkzZmQ2NmFiYWJlMzJhYmY4MmQx
YjgxYjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaApAQCAtNzAsNyArNzAsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCkgPSAw
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+TWVkaWFQcm9kdWNlcigpIHsgfQorICAgIHZp
cnR1YWwgfk1lZGlhUHJvZHVjZXIoKSA9IGRlZmF1bHQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggODEzMWJjMGViNzM2MTkyNDc2
MTgxNzI2MTJlMjQ0ODk2NTU3OTIyNi4uNTg0NmRiNjg0NTdlODU4YzI0NjEzNDY3YzAyN2NhYzhl
MTdiNWI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtNDksOSArNDksNyBAQCBO
YXZpZ2F0b3I6Ok5hdmlnYXRvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGcmFt
ZSYgZnJhbWUpCiB7CiB9CiAKLU5hdmlnYXRvcjo6fk5hdmlnYXRvcigpCi17Ci19CitOYXZpZ2F0
b3I6On5OYXZpZ2F0b3IoKSA9IGRlZmF1bHQ7CiAKIC8vIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJu
cyB0cnVlLCB3ZSBuZWVkIHRvIGhpZGUgdGhlIHN1YnN0cmluZyAiNC4iIHRoYXQgd291bGQgb3Ro
ZXJ3aXNlCiAvLyBhcHBlYXIgaW4gdGhlIGFwcFZlcnNpb24gc3RyaW5nLiBUaGlzIGlzIHRvIGF2
b2lkIHByb2JsZW1zIHdpdGggb2xkIHZlcnNpb25zIG9mIGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvckJhc2UuY3BwCmluZGV4IDIyMmE4ZWY0YzY4ZjFiMjYyYWZkZjgxMjJkOGFjOTRjZDhiODIz
ZDcuLjY5MzM2NWVjZjlmOTc1ZDdlNGJmYTJiY2Q0ZmFkMmUzNTI3ZjZjYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcApAQCAtODYsOSArODYsNyBAQCBOYXZpZ2F0b3JCYXNl
OjpOYXZpZ2F0b3JCYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAjZW5kaWYK
IH0KIAotTmF2aWdhdG9yQmFzZTo6fk5hdmlnYXRvckJhc2UoKQotewotfQorTmF2aWdhdG9yQmFz
ZTo6fk5hdmlnYXRvckJhc2UoKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBOYXZpZ2F0b3JCYXNlOjph
cHBOYW1lKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5k
ZXggZjFiODI3ZGNmYmFhZTZlNmM4ZGNjYWQ5ZDE4ZDQ5Mzc5ZGM5NTFjNC4uY2Q0MDA1YjU2Mzcz
Yzg4NDNjZTk3MTI2YmIzZmUzMDEyNzE4OTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5jcHAKQEAgLTUyLDggKzUyLDYgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBS
ZWYKIHsKIH0KIAotUGFnZUNvbmZpZ3VyYXRpb246On5QYWdlQ29uZmlndXJhdGlvbigpCi17Ci19
CitQYWdlQ29uZmlndXJhdGlvbjo6flBhZ2VDb25maWd1cmF0aW9uKCkgPSBkZWZhdWx0OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCmluZGV4IGEyYzUzNmEx
YTU5NWVkMDUwOTc0NWQ3YWNhNjgzOGI1MjZiNzg2YTguLjkxNzU4MTBmMTk0MTQwOWIwOWE5ZTk5
YzZjN2NjNzAwMTFjNDE5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGll
bnQuY3BwCkBAIC01NCw5ICs1NCw3IEBAIFBhZ2VDb25zb2xlQ2xpZW50OjpQYWdlQ29uc29sZUNs
aWVudChQYWdlJiBwYWdlKQogewogfQogCi1QYWdlQ29uc29sZUNsaWVudDo6flBhZ2VDb25zb2xl
Q2xpZW50KCkKLXsKLX0KK1BhZ2VDb25zb2xlQ2xpZW50Ojp+UGFnZUNvbnNvbGVDbGllbnQoKSA9
IGRlZmF1bHQ7CiAKIHN0YXRpYyBpbnQgbXV0ZUNvdW50ID0gMDsKIHN0YXRpYyBib29sIHByaW50
RXhjZXB0aW9ucyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
RGVidWdnYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJsZS5oCmluZGV4
IDZmNWUxOTA5YzFkZTFkOTc1ZjI1NWQxZTAzNmExMDhhZjFiMDViZTguLmRjZTYxYjgyNzc3ODdh
MWEyOGUzMzQwOGY4MzhmMmNiMDAwYjhiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZURlYnVnZ2FibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dh
YmxlLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgUGFnZURlYnVnZ2FibGUgZmluYWwgOiBwdWJs
aWMgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0IHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYWdlRGVidWdnYWJsZSk7CiBwdWJsaWM6CiAgICAgUGFnZURlYnVnZ2FibGUoUGFn
ZSYpOwotICAgIH5QYWdlRGVidWdnYWJsZSgpIHsgfQorICAgIH5QYWdlRGVidWdnYWJsZSgpID0g
ZGVmYXVsdDsKIAogICAgIEluc3BlY3Rvcjo6UmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0OjpUeXBl
IHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBJbnNwZWN0b3I6OlJlbW90ZUNvbnRyb2xs
YWJsZVRhcmdldDo6VHlwZTo6V2ViOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAppbmRl
eCA1YWE0MzUxNDFjMzJkMmI2YTZmODJiNGJhMjVjYTNlNDFlZGE1MWU3Li41OWU5OTk4NzAyYTcx
MTBkNGRmYTRkYWZkNjFiNWQ4ZDNhOTY0Yjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
CkBAIC02Niw5ICs2Niw3IEBAIFBhZ2VHcm91cDo6UGFnZUdyb3VwKFBhZ2UmIHBhZ2UpCiAgICAg
YWRkUGFnZShwYWdlKTsKIH0KIAotUGFnZUdyb3VwOjp+UGFnZUdyb3VwKCkKLXsKLX0KK1BhZ2VH
cm91cDo6flBhZ2VHcm91cCgpID0gZGVmYXVsdDsKIAogdHlwZWRlZiBIYXNoTWFwPFN0cmluZywg
UGFnZUdyb3VwKj4gUGFnZUdyb3VwTWFwOwogc3RhdGljIFBhZ2VHcm91cE1hcCogcGFnZUdyb3Vw
cyA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IDk2ZTI0NDli
YjgxNWNlMWU2ZTQ2NTM4ZGVhODZhMDY2YjEyNDI5MDMuLjkzMmExMWU1NjIzNWUyMDA4M2I0NjBm
YjM5NWIyZGU0YmQxM2QyYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92
ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC02
MSw5ICs2MSw3IEBAIFBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheShDbGllbnQmIGNsaWVudCwgT3Zl
cmxheVR5cGUgb3ZlcmxheVR5cGUpCiB7CiB9CiAKLVBhZ2VPdmVybGF5Ojp+UGFnZU92ZXJsYXko
KQotewotfQorUGFnZU92ZXJsYXk6On5QYWdlT3ZlcmxheSgpID0gZGVmYXVsdDsKIAogUGFnZU92
ZXJsYXlDb250cm9sbGVyKiBQYWdlT3ZlcmxheTo6Y29udHJvbGxlcigpIGNvbnN0CiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VPdmVybGF5LmgKaW5kZXggZTE2ZDY2OTZmMDY3NzBhY2M1NjE4Njg0MDdiMGUz
NmE0MzViZDUzMy4uYTQ3ZjZmMGU5Y2Y4ZGRlMDgzZjQyNjAwMTIzMzUxZWM2ZTIzNWU3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBQYWdlT3Zl
cmxheSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFBhZ2VPdmVybGF5PiB7CiBwdWJsaWM6CiAg
ICAgY2xhc3MgQ2xpZW50IHsKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgfkNsaWVu
dCgpIHsgfQorICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgCiAgICAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkm
LCBQYWdlKikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xs
ZXIuY3BwCmluZGV4IDJjYTdlZjA1NjExMmViNTQyY2YyMDIyNzg2NDg3NjhiN2U5MGYxMTguLjZm
ZmNlMjA5NDllODE4ZGI0OTUzZmE3OWQyNzYzMTBmNjJjYmE3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKQEAgLTQ5LDEwICs0OSw3IEBAIFBh
Z2VPdmVybGF5Q29udHJvbGxlcjo6UGFnZU92ZXJsYXlDb250cm9sbGVyKE1haW5GcmFtZSYgbWFp
bkZyYW1lKQogewogfQogCi1QYWdlT3ZlcmxheUNvbnRyb2xsZXI6On5QYWdlT3ZlcmxheUNvbnRy
b2xsZXIoKQotewotCi19CitQYWdlT3ZlcmxheUNvbnRyb2xsZXI6On5QYWdlT3ZlcmxheUNvbnRy
b2xsZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUGFnZU92ZXJsYXlDb250cm9sbGVyOjpjcmVhdGVS
b290TGF5ZXJzSWZOZWVkZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRl
eCBjOGYxMmY1NGRmOGMwMzFhYjQ5OTJlOTAxOWRhOTliZjhjNDE2NzYwLi45YjBhNTFlZjNhYzc3
NGZkYTA1YzJhNzBjODI1YTA0M2JiNGExYjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcApAQCAtNTgsOSArNTgsNyBAQCBQZXJmb3JtYW5jZTo6UGVyZm9ybWFuY2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgTW9ub3RvbmljVGltZSB0aW1lT3JpZwogICAgIEFTU0VS
VChtX3RpbWVPcmlnaW4pOwogfQogCi1QZXJmb3JtYW5jZTo6flBlcmZvcm1hbmNlKCkKLXsKLX0K
K1BlcmZvcm1hbmNlOjp+UGVyZm9ybWFuY2UoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUGVyZm9ybWFu
Y2U6OmNvbnRleHREZXN0cm95ZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHAKaW5kZXggYWU4NDk3NjY2NzU4ZTUyODU4MTcyODNjOThhNzk2NjNjY2M4YzU0Ni4u
N2ZjODFhYjFiZTlmOGQ2ODM5NWRkYjE2Y2MwYTI3NjgwYTIwYTQyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCkBAIC00NCw5ICs0NCw3IEBAIFBlcmZvcm1hbmNl
RW50cnk6OlBlcmZvcm1hbmNlRW50cnkoVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYKIHsKIH0KIAotUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnko
KQotewotfQorUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKSA9IGRlZmF1bHQ7
CiAKIHN0ZDo6b3B0aW9uYWw8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gUGVyZm9ybWFuY2VFbnRy
eTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaAppbmRleCAyZGJl
NTgyNjQ0ODJjNjEwNzE1OWQ4ZDRlYjk4NDM2YWFiNThjNjI3Li5jODUyOTNiNTZhMWIzNzMwOWI1
NzY3MmU0ZjViMmJkZjE2OTI0OWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnNBc1N0
cmluZyhTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMpOwogCi0gICAgdmlydHVhbCB+UGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+UGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50KCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKaW5kZXggMTgyOThkMmZjODBlNzc2OGM4YzM3Mjdm
MzA0YjU5NmVlZjBlZWNhOS4uNmVmZGYzMDcxYTBlZDUyMWE3M2RiOGNmNzViNDVjMzU2NGJjODdk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWFyay5oCkBAIC00MCw3ICs0MCw3IEBA
IHByaXZhdGU6CiAgICAgewogICAgIH0KIAotICAgIH5QZXJmb3JtYW5jZU1hcmsoKSB7IH0KKyAg
ICB+UGVyZm9ybWFuY2VNYXJrKCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmgKaW5kZXggMDA5MDEz
NzRlOWMzNDFhMjc5ZGFmZmYzODlhYjVhOTVhZmUyYzdiMi4uMDg4YzFjMWRiOGJiNGM4NjE5MTcz
ODgwNDdhNWY0OWI5ZGY2MDdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU1lYXN1cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVh
c3VyZS5oCkBAIC00MCw3ICs0MCw3IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAotICAgIH5Q
ZXJmb3JtYW5jZU1lYXN1cmUoKSB7IH0KKyAgICB+UGVyZm9ybWFuY2VNZWFzdXJlKCkgPSBkZWZh
dWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggNGMxZGE2NzdkNWNmMzZl
MDRmMDkzYTFhZWZiZTUyMWU2ZmNlYmVmNC4uMTUyYTljNzYyYjBkZWU0NGEwODhjY2YxZWJjYjY4
Y2JkODA5N2IxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwCkBAIC04Miw5ICs4Miw3IEBAIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBS
CiB7CiB9CiAKLVBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6On5QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nKCkKLXsKLX0KK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6On5QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nKCkgPSBkZWZhdWx0OwogCiBTdHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6bmV4dEhvcFByb3RvY29sKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGx1Z0luQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdJbkNsaWVu
dC5oCmluZGV4IGZhNWVkOGU4YjRmMmQ3NGY4OTgwZjE4ZTUxOWNkZjcyZjg3NWE5NGIuLjQ3ZWFm
Yzc2MTU4ZDdlZmUwZGUwNzA1MDE4MWUzN2Y1ZWFhNjhmOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGx1Z0luQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVn
SW5DbGllbnQuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFN0YXJ0RnJvbU9yaWdpbihjb25zdCBTdHJpbmcmIHBhZ2VPcmlnaW4sIGNvbnN0IFN0cmluZyYg
cGx1Z2luT3JpZ2luLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBQQUw6OlNlc3Npb25JRCkgPSAw
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+UGx1Z0luQ2xpZW50KCkgeyB9CisgICAgdmly
dHVhbCB+UGx1Z0luQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3B1cE9wZW5pbmdPYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3B1cE9wZW5pbmdPYnNlcnZlci5oCmluZGV4IDI1
NzQ2NWVjNTVhNDFmNTYwMmZiN2NlYTg3NGQzYmZlNTQxMGFkY2UuLjgxNWUxYTJlZjlmMTM4ODRl
MGEyYWY4MGY5NTQxMTk3NGUyMWQ3MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvcHVwT3Bl
bmluZ09ic2VydmVyLmgKQEAgLTMyLDcgKzMyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsT3BlblBvcHVwKCkgPSAwOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+UG9wdXBP
cGVuaW5nT2JzZXJ2ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5Qb3B1cE9wZW5pbmdPYnNlcnZlcigp
ID0gZGVmYXVsdDsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzQmFzZS5jcHAKaW5kZXggYzJhZWUwZjJlNmY3YTc1NmQyOTAyYjI5N2EzYTc4
YjAzOGJiYWI4Yy4uY2QyNDk3MjkxNTYwNWFmZGY5MzI2ZTIzYjE3MjE5YzViN2I0NGE1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcApAQCAtMTQyLDkgKzE0Miw3IEBAIFNldHRp
bmdzQmFzZTo6U2V0dGluZ3NCYXNlKFBhZ2UqIHBhZ2UpCiAgICAgbV9wYWdlID0gcGFnZTsgLy8g
UGFnZSBpcyBub3QgeWV0IGZ1bGx5IGluaXRpYWxpemVkIHdoZW4gY29uc3RydWN0aW5nIFNldHRp
bmdzLCBzbyBrZWVwaW5nIG1fcGFnZSBudWxsIG92ZXIgaW5pdGlhbGl6ZURlZmF1bHRGb250RmFt
aWxpZXMoKSBjYWxsLgogfQogCi1TZXR0aW5nc0Jhc2U6On5TZXR0aW5nc0Jhc2UoKQotewotfQor
U2V0dGluZ3NCYXNlOjp+U2V0dGluZ3NCYXNlKCkgPSBkZWZhdWx0OwogCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQogdm9pZCBTZXR0aW5nc0Jhc2U6OmluaXRpYWxpemVEZWZhdWx0Rm9udEZhbWlsaWVz
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDI4NzYyODZj
OGMwNzE4ZjgzNjJkYWJjMTVmMmJmM2Q0MTFkMGYyMzguLjc2ZWQxOTdhZmJhMzIzNjJhNDFlMjA2
MzM1MDFkZTNjNDIxOGMyYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVu
ZGFibGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVy
LmNwcApAQCAtMzYsOSArMzYsNyBAQCBTdXNwZW5kYWJsZVRpbWVyOjpTdXNwZW5kYWJsZVRpbWVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7CiB9CiAKLVN1c3BlbmRhYmxlVGlt
ZXI6On5TdXNwZW5kYWJsZVRpbWVyKCkKLXsKLX0KK1N1c3BlbmRhYmxlVGltZXI6On5TdXNwZW5k
YWJsZVRpbWVyKCkgPSBkZWZhdWx0OwogCiBib29sIFN1c3BlbmRhYmxlVGltZXI6Omhhc1BlbmRp
bmdBY3Rpdml0eSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Rl
eHRJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmNwcApp
bmRleCBlOGIzODlmZTAwNzQ4OGYzZWY2YTEyNzgyNDU3OGY1MzkwNjE2NWY3Li4zYmZhODkzNTQz
MmIyMTk5ODU4YmViNzZiYzM1YjU2N2I3M2M0YmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1RleHRJbmRpY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dElu
ZGljYXRvci5jcHAKQEAgLTYxLDkgKzYxLDcgQEAgVGV4dEluZGljYXRvcjo6VGV4dEluZGljYXRv
cihjb25zdCBUZXh0SW5kaWNhdG9yRGF0YSYgZGF0YSkKIHsKIH0KIAotVGV4dEluZGljYXRvcjo6
flRleHRJbmRpY2F0b3IoKQotewotfQorVGV4dEluZGljYXRvcjo6flRleHRJbmRpY2F0b3IoKSA9
IGRlZmF1bHQ7CiAKIFJlZjxUZXh0SW5kaWNhdG9yPiBUZXh0SW5kaWNhdG9yOjpjcmVhdGUoY29u
c3QgVGV4dEluZGljYXRvckRhdGEmIGRhdGEpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Vz
ZXJDb250ZW50Q29udHJvbGxlci5jcHAKaW5kZXggYzNmMzczMTUyNzcwOWM4OTk4OWQ0MDdiMDZh
ZWE1NzJhZjczZWNkOC4uMzliMzEwMTYzZGRhOTNhMTk3NTdiZTZiN2NmY2E1NGMyOTdiYTU1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcApAQCAt
NDQsMTMgKzQ0LDkgQEAgUmVmPFVzZXJDb250ZW50Q29udHJvbGxlcj4gVXNlckNvbnRlbnRDb250
cm9sbGVyOjpjcmVhdGUoKQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVzZXJDb250ZW50Q29u
dHJvbGxlcik7CiB9CiAKLVVzZXJDb250ZW50Q29udHJvbGxlcjo6VXNlckNvbnRlbnRDb250cm9s
bGVyKCkKLXsKLX0KK1VzZXJDb250ZW50Q29udHJvbGxlcjo6VXNlckNvbnRlbnRDb250cm9sbGVy
KCkgPSBkZWZhdWx0OwogCi1Vc2VyQ29udGVudENvbnRyb2xsZXI6On5Vc2VyQ29udGVudENvbnRy
b2xsZXIoKQotewotfQorVXNlckNvbnRlbnRDb250cm9sbGVyOjp+VXNlckNvbnRlbnRDb250cm9s
bGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIFVzZXJDb250ZW50Q29udHJvbGxlcjo6Zm9yRWFjaFVz
ZXJTY3JpcHQoRnVuY3Rpb248dm9pZChET01XcmFwcGVyV29ybGQmLCBjb25zdCBVc2VyU2NyaXB0
Jik+JiYgZnVuY3RvcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VI
YW5kbGVyLmNwcAppbmRleCBhNGQwNWQwNjQwZjlkZjMyYTE4OGJiYTcyODg0M2YzOTI5YWFlYjJl
Li5iMDdkYjhiNmIxNDEzMTNkMjJlODZjNzg0MDY3MmQ1ZDNiMWRkMjIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuY3BwCkBAIC0zOSw5ICszOSw3IEBAIFVzZXJN
ZXNzYWdlSGFuZGxlcjo6VXNlck1lc3NhZ2VIYW5kbGVyKEZyYW1lJiBmcmFtZSwgVXNlck1lc3Nh
Z2VIYW5kbGVyRGVzY3JpcHRvCiB7CiB9CiAKLVVzZXJNZXNzYWdlSGFuZGxlcjo6flVzZXJNZXNz
YWdlSGFuZGxlcigpCi17Ci19CitVc2VyTWVzc2FnZUhhbmRsZXI6On5Vc2VyTWVzc2FnZUhhbmRs
ZXIoKSA9IGRlZmF1bHQ7CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IFVzZXJNZXNzYWdlSGFuZGxlcjo6
cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiB2YWx1ZSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3Iu
Y3BwCmluZGV4IDcyMzc4MmM0YmNiZDA4NWY4ZDlmNzZlMGRiNjMzMGFkY2E5OWMyZDkuLmQ5Mzlm
N2VlNjQ5Y2FkNWU0ZjExZWJlNjE4YzlhYWJiNzJiMjVhNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcApAQCAtMzgsOSAr
MzgsNyBAQCBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yOjpVc2VyTWVzc2FnZUhhbmRsZXJE
ZXNjcmlwdG9yKGNvbnN0IEF0b21pY1N0cmluZyYgbgogewogfQogCi1Vc2VyTWVzc2FnZUhhbmRs
ZXJEZXNjcmlwdG9yOjp+VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcigpCi17Ci19CitVc2Vy
TWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yOjp+VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcigp
ID0gZGVmYXVsdDsKIAogY29uc3QgQXRvbWljU3RyaW5nJiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNj
cmlwdG9yOjpuYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlclNjcmlwdC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggZTA5
MzVmYWUxYTFmNjMzMDFkOTlkMTJjODYxM2IzNjY5N2YzMDBlYy4uODUxMGMxZjMzOTkwMWU5OTVm
MzIwY2NjOWJmNzE5YjJlNDlhZTQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9V
c2VyU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKQEAgLTM1
LDggKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgVXNlclNjcmlwdCB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgVXNlclNjcmlwdCgpIHsgfQot
ICAgIH5Vc2VyU2NyaXB0KCkgeyB9CisgICAgVXNlclNjcmlwdCgpID0gZGVmYXVsdDsKKyAgICB+
VXNlclNjcmlwdCgpID0gZGVmYXVsdDsKIAogICAgIFVzZXJTY3JpcHQoU3RyaW5nJiYgc291cmNl
LCBVUkwmJiB1cmwsIFZlY3RvcjxTdHJpbmc+JiYgd2hpdGVsaXN0LCBWZWN0b3I8U3RyaW5nPiYm
IGJsYWNrbGlzdCwgVXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5qZWN0aW9uVGltZSwgVXNlckNv
bnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcykKICAgICAgICAgOiBtX3NvdXJjZShX
VEZNb3ZlKHNvdXJjZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZhbGlkYXRp
b25NZXNzYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZhbGlkYXRpb25NZXNzYWdl
Q2xpZW50LmgKaW5kZXggNjMwY2RlM2ZkNDM4OGYzMmMwZTJhYjZjZmY5YTA2ZTMwMWQxNWNkNi4u
NDdkZTBmYmJiOTQ5NjJmOGVjZDJjYzNjMGZhNzZjN2QyZDM5MTZjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9WYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuaApAQCAtMzQsNyArMzQsNyBAQCBj
bGFzcyBFbGVtZW50OwogCiBjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudCB7CiBwdWJsaWM6
Ci0gICAgdmlydHVhbCB+VmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFs
IH5WYWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIC8vIFNob3cgdmFs
aWRhdGlvbiBtZXNzYWdlIGZvciB0aGUgc3BlY2lmaWVkIGFuY2hvciBlbGVtZW50LiBBbgogICAg
IC8vIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24gbWF5IGhpZGUgdGhlIG1lc3NhZ2Ug
YXV0b21hdGljYWxseSBhZnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJL
aXROYW1lc3BhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXROYW1lc3BhY2UuY3Bw
CmluZGV4IGExYzZlMTQxYWRlMzBkZTlhZjEzZmExMDdiMTgwZWY1MzE2MWIwY2QuLjVmOWRiMGFl
Y2U1NDQ0NGI2MzYzNWY2ZjdjOWEyMGZlOTM0Y2NhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dl
YktpdE5hbWVzcGFjZS5jcHAKQEAgLTM5LDkgKzM5LDcgQEAgV2ViS2l0TmFtZXNwYWNlOjpXZWJL
aXROYW1lc3BhY2UoRnJhbWUmIGZyYW1lLCBVc2VyQ29udGVudFByb3ZpZGVyJiB1c2VyQ29udGVu
dFAKIHsKIH0KIAotV2ViS2l0TmFtZXNwYWNlOjp+V2ViS2l0TmFtZXNwYWNlKCkKLXsKLX0KK1dl
YktpdE5hbWVzcGFjZTo6fldlYktpdE5hbWVzcGFjZSgpID0gZGVmYXVsdDsKIAogVXNlck1lc3Nh
Z2VIYW5kbGVyc05hbWVzcGFjZSogV2ViS2l0TmFtZXNwYWNlOjptZXNzYWdlSGFuZGxlcnMoKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0ZXIuY3BwCmluZGV4
IDA0ZTI4ZWJjZjJmNTg3ZTQ0YWQ4ODMxNjQ5YTAzN2YyZWU1ZDU5MzMuLmYyNTlhZWIxYTBhOWU1
Y2U3YTEzNGYwZDEyNjllYzMxNGM5YTljMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1do
ZWVsRXZlbnREZWx0YUZpbHRlci5jcHAKQEAgLTM2LDEzICszNiw5IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKLVdoZWVsRXZlbnREZWx0YUZpbHRlcjo6V2hlZWxFdmVudERlbHRhRmls
dGVyKCkKLXsKLX0KK1doZWVsRXZlbnREZWx0YUZpbHRlcjo6V2hlZWxFdmVudERlbHRhRmlsdGVy
KCkgPSBkZWZhdWx0OwogCi1XaGVlbEV2ZW50RGVsdGFGaWx0ZXI6On5XaGVlbEV2ZW50RGVsdGFG
aWx0ZXIoKQotewotfQorV2hlZWxFdmVudERlbHRhRmlsdGVyOjp+V2hlZWxFdmVudERlbHRhRmls
dGVyKCkgPSBkZWZhdWx0OwogCiBzdGQ6OnVuaXF1ZV9wdHI8V2hlZWxFdmVudERlbHRhRmlsdGVy
PiBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmNyZWF0ZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IDI0MjIyOGI0ZDZiOTA0Mzc4
ZDBhOTdmOWI3YTgyYWZiNTlkNDA3ZjEuLmU2OTdkMzk2MTlhZmYwOTg4YjBhNGI3YTE0N2U5ZTRl
ZjgwM2ZmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkJhc2UuY3BwCkBAIC04Niw5ICs4Niw3IEBAIEFuaW1hdGlvbkJhc2U6OkFuaW1hdGlvbkJhc2Uo
Y29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24sIEVsZW1lbnQmIGVsZW1lbnQsIENvbXBvCiAgICAg
ICAgIG1fdG90YWxEdXJhdGlvbiA9IG1fYW5pbWF0aW9uLT5kdXJhdGlvbigpICogbV9hbmltYXRp
b24tPml0ZXJhdGlvbkNvdW50KCk7CiB9CiAKLUFuaW1hdGlvbkJhc2U6On5BbmltYXRpb25CYXNl
KCkKLXsKLX0KK0FuaW1hdGlvbkJhc2U6On5BbmltYXRpb25CYXNlKCkgPSBkZWZhdWx0OwogCiBj
b25zdCBSZW5kZXJTdHlsZSYgQW5pbWF0aW9uQmFzZTo6Y3VycmVudFN0eWxlKCkgY29uc3QKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKaW5kZXggODNhZGExN2ZhMjQ5Njg0ZTY3M2Q4ODI2MTE0MjNjZGFmNDM2
YmU4NS4uYjc1YjU2NjI3ZDZhYjY1ZmE2NmExZmRlYjI3NjZjZjQ4MGZmYmEzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTc5LDkgKzc5LDcgQEAgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lJiBmcmFtZSkKIHsKIH0KIAotQ1NT
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6On5DU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZSgpCi17Ci19CitDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6fkNTU0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlKCkgPSBkZWZhdWx0OwogCiBDb21wb3NpdGVBbmltYXRpb24mIENTU0Fu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjplbnN1cmVDb21wb3NpdGVBbmltYXRpb24oRWxlbWVu
dCYgZWxlbWVudCkKIHsKQEAgLTYzMCw5ICs2MjgsNyBAQCBDU1NBbmltYXRpb25Db250cm9sbGVy
OjpDU1NBbmltYXRpb25Db250cm9sbGVyKEZyYW1lJiBmcmFtZSkKIHsKIH0KIAotQ1NTQW5pbWF0
aW9uQ29udHJvbGxlcjo6fkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIoKQotewotfQorQ1NTQW5pbWF0
aW9uQ29udHJvbGxlcjo6fkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CiAKIHZv
aWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQW5pbWF0aW9ucyhFbGVtZW50JiBlbGVt
ZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJv
cGVydHlBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJv
cGVydHlBbmltYXRpb24uY3BwCmluZGV4IDY3ZDRiODdhZDJhYmU2OTJhNGQyMWNlMTNkM2ViMDBm
MDZlODllMmEuLjAyMDRiOTY3MGQ0ODgyZDdiOWYxNmNkMmFjOGQ4OWI1NjIzN2NkMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1h
dGlvbi5jcHAKQEAgLTQwNCw4ICs0MDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9wcm9wKHBy
b3ApCiAgICAgewogICAgIH0KLQotICAgIHZpcnR1YWwgfkFuaW1hdGlvblByb3BlcnR5V3JhcHBl
ckJhc2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5BbmltYXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlKCkg
PSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIGlzU2hvcnRoYW5kV3JhcHBlcigpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBSZW5kZXJT
dHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIpIGNvbnN0ID0gMDsKQEAgLTk2NiwxMCArOTY1
LDkgQEAgcHVibGljOgogICAgICAgICA6IG1fcHJvcGVydHkocHJvcGVydHkpCiAgICAgewogICAg
IH0KLSAgICAKLSAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KCkgY29uc3QgeyByZXR1cm4gbV9w
cm9wZXJ0eTsgfQorICAgIHZpcnR1YWwgfkZpbGxMYXllckFuaW1hdGlvblByb3BlcnR5V3JhcHBl
ckJhc2UoKSA9IGRlZmF1bHQ7CiAKLSAgICB2aXJ0dWFsIH5GaWxsTGF5ZXJBbmltYXRpb25Qcm9w
ZXJ0eVdyYXBwZXJCYXNlKCkgeyB9CisgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvcGVydHk7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3Qg
RmlsbExheWVyKiwgY29uc3QgRmlsbExheWVyKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBibGVuZChjb25zdCBBbmltYXRpb25CYXNlKiwgRmlsbExheWVyKiwgY29uc3QgRmlsbExheWVy
KiwgY29uc3QgRmlsbExheWVyKiwgZG91YmxlKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCAwMjkyOTRmZWJh
Mzg3NDQ3ZTE4OTc3NTliZDk4M2Q0ZjYwM2I2NDc5Li42MTAxZmZhZTAwMzQwOTNiYTI4YWRiN2Mx
NWFlZjk5YmUyN2EwZmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTEwMyw5ICsxMDMsNyBAQCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OkNvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJp
dHlPcmlnaQogICAgIHVwZGF0ZVNvdXJjZVNlbGYoc2VjdXJpdHlPcmlnaW4pOwogfQogCi1Db250
ZW50U2VjdXJpdHlQb2xpY3k6On5Db250ZW50U2VjdXJpdHlQb2xpY3koKQotewotfQorQ29udGVu
dFNlY3VyaXR5UG9saWN5Ojp+Q29udGVudFNlY3VyaXR5UG9saWN5KCkgPSBkZWZhdWx0OwogCiB2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6Y29weVN0YXRlRnJvbShjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3kqIG90aGVyKSAKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bGludXgvUmVzb3VyY2VVc2FnZU92ZXJsYXlMaW51eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2xpbnV4L1Jlc291cmNlVXNhZ2VPdmVybGF5TGludXguY3BwCmluZGV4IDk3ZjMwYjI2ODAzZGUy
MzIwMDI5NjRlOWNkMDRkNDExZThmYTRlYmMuLjEzMWVhMTRiMGU5Zjg1YWU1Yjc1MzM4NzhhZWI0
NWVmMmE2YWU4YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGludXgvUmVzb3Vy
Y2VVc2FnZU92ZXJsYXlMaW51eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9S
ZXNvdXJjZVVzYWdlT3ZlcmxheUxpbnV4LmNwcApAQCAtODAsOSArODAsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIG1fdGV4dEZvbnQudXBkYXRlKG51bGxwdHIpOwogICAgIH0KIAotICAgIH5SZXNvdXJj
ZVVzYWdlT3ZlcmxheVBhaW50ZXIoKQotICAgIHsKLSAgICB9CisgICAgflJlc291cmNlVXNhZ2VP
dmVybGF5UGFpbnRlcigpID0gZGVmYXVsdDsKIAogcHJpdmF0ZToKICAgICB2b2lkIHBhaW50Q29u
dGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2UsIGNvbnN0IEZsb2F0UmVjdCYgY2xpcCwgR3JhcGhpY3NM
YXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDA0
ZjQ0OWM0MzAyZGZhODQ1YTM3NTg3NGJhMzc0NGVmZGViMGM1NmYuLmNkMGFlNDdhOGVmODhiNzA2
NDBmMDczNTU4ZGExM2M3ZTNiYjNjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC01OCw5
ICs1OCw3IEBAIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OkFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IoUGFnZSogcGFnZSkKIHsKIH0KIAotQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6fkFz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IoKQotewotfQorQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
cjo6fkFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nU3RhdGVUcmVlUHJvcGVydGllc0NoYW5nZWQo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsTGF0
Y2hpbmdTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxMYXRj
aGluZ1N0YXRlLmNwcAppbmRleCAwMWU2NTI5YjAyYzhjMWQ3MGFlNzczMjgzZWI3ZjczMDA1NzRm
OTg1Li4xZTYyMDgwZmY2NjkxZDEzODY3NGU1NDY4M2FjOTJmNTFmZjFhNmFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxMYXRjaGluZ1N0YXRlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxMYXRjaGluZ1N0YXRlLmNw
cApAQCAtMzAsMTMgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TY3JvbGxMYXRj
aGluZ1N0YXRlOjpTY3JvbGxMYXRjaGluZ1N0YXRlKCkKLXsKLX0KK1Njcm9sbExhdGNoaW5nU3Rh
dGU6OlNjcm9sbExhdGNoaW5nU3RhdGUoKSA9IGRlZmF1bHQ7CiAgICAgCi1TY3JvbGxMYXRjaGlu
Z1N0YXRlOjp+U2Nyb2xsTGF0Y2hpbmdTdGF0ZSgpCi17Ci19CitTY3JvbGxMYXRjaGluZ1N0YXRl
Ojp+U2Nyb2xsTGF0Y2hpbmdTdGF0ZSgpID0gZGVmYXVsdDsKIAogdm9pZCBTY3JvbGxMYXRjaGlu
Z1N0YXRlOjpjbGVhcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdDb25zdHJhaW50cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29uc3RyYWludHMuaAppbmRleCBmYjY5NjcwZWJkYWYzZGI5ZTk5MjY5YzU1
Y2U2MzIyYjA5YTczYTZhLi5iZGQ4MzE3ZDNjMGYzNjUxYzUzNmFlNjFlMmI5ZTYxZmNjNWExMmM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb25z
dHJhaW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
bnN0cmFpbnRzLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fYW5jaG9y
RWRnZXMob3RoZXIubV9hbmNob3JFZGdlcykKICAgICB7IH0KICAgICAKLSAgICB2aXJ0dWFsIH5W
aWV3cG9ydENvbnN0cmFpbnRzKCkgeyB9CisgICAgdmlydHVhbCB+Vmlld3BvcnRDb25zdHJhaW50
cygpID0gZGVmYXVsdDsKICAgICAKICAgICB2aXJ0dWFsIENvbnN0cmFpbnRUeXBlIGNvbnN0cmFp
bnRUeXBlKCkgY29uc3QgPSAwOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3IuaAppbmRleCBhODJh
ZmFhNjYxZjc3MWRkOGQzMjM3MDBmOGNhOGJkYjhkNWUyYzM4Li4xZDNkODM5NWUzOTkzZjEzMzUz
YTlhYjI4MzZkNDA5MmUzMzg1ZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3IuaApAQCAtNDMsNyAr
NDMsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yKGNvbnN0IEZs
b2F0U2l6ZSYgdmlld3BvcnRTaXplLCBjb25zdCBGbG9hdFNpemUmIGNvbnRlbnRTaXplLCBjb25z
dCBGbG9hdFBvaW50JiBpbml0aWFsT2Zmc2V0LCBjb25zdCBGbG9hdFNpemUmIGluaXRpYWxEZWx0
YSwgY29uc3QgRmxvYXRTaXplJiBpbml0aWFsVmVsb2NpdHkpOwogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yPiBjcmVhdGUoY29uc3QgRmxvYXRT
aXplJiB2aWV3cG9ydFNpemUsIGNvbnN0IEZsb2F0U2l6ZSYgY29udGVudFNpemUsIGNvbnN0IEZs
b2F0UG9pbnQmIGluaXRpYWxPZmZzZXQsIGNvbnN0IEZsb2F0U2l6ZSYgaW5pdGlhbERlbHRhLCBj
b25zdCBGbG9hdFNpemUmIGluaXRpYWxWZWxvY2l0eSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgc2V0UGxhdGZvcm1Nb21lbnR1bVNjcm9sbGluZ1ByZWRpY3Rpb25FbmFibGVkKGJv
b2wpOwotICAgIHZpcnR1YWwgflNjcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvcigpIHsgfQorICAg
IHZpcnR1YWwgflNjcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvcigpID0gZGVmYXVsdDsKIAogICAg
IHZpcnR1YWwgRmxvYXRQb2ludCBzY3JvbGxPZmZzZXRBZnRlckVsYXBzZWRUaW1lKFNlY29uZHMp
ID0gMDsKICAgICB2aXJ0dWFsIFNlY29uZHMgYW5pbWF0aW9uRHVyYXRpb24oKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVk
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZS5jcHAKaW5kZXggMjc3YTAwMDJjNjk3MzAxOTYxMjE3NjAzNzIwNGQ5YzkyZDFhNGVj
My4uZTA2YTU2YTc0YTUyOTc5N2I2MDY2Mzg0NDMzNDI0NzA1Y2IxMzRkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcApAQCAtNTEsOSArNTEsNyBAQCBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6U2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUmCiB7CiB9CiAK
LVNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjp+U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoKQotewot
fQorU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6On5TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgpID0g
ZGVmYXVsdDsKIAogUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9s
bGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IGVhYTA0NDZkOWI2ZDA0YjFlYzA4YjhjNjBh
YjkzMzMyYjQ3NTIyZWUuLjk5NjZkNTZmODRiOWEzZjE0ZGZhMDkxYzZkYjUxMTYyOTE0ZmEyMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTgwLDkgKzgwLDcgQEAg
U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlKGNvbnN0IFNjcm9sbGkKICAgICAgICAgc2V0Rm9vdGVyTGF5ZXIoc3RhdGVOb2Rl
LmZvb3RlckxheWVyKCkudG9SZXByZXNlbnRhdGlvbihhZG9wdGl2ZVRyZWUucHJlZmVycmVkTGF5
ZXJSZXByZXNlbnRhdGlvbigpKSk7CiB9CiAKLVNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlOjp+U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUoKQotewotfQorU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6On5TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZSgpID0gZGVmYXVsdDsKIAogUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVl
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlTm9kZS5jcHAKaW5kZXggMGQ5YzQ4MjFiM2ZiMjM3Y2E4Y2MzNDNmYTFkMWZmZTI5YzIwYTlk
Ny4uMDZiMGE0MDIyYjgzZjIwZmEwNmZiYmZkY2RiZTMxMDcwZWRmZDljOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCkBA
IC01OSw5ICs1OSw3IEBAIFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKGNv
bnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYgc3RhdGVOb2RlLCBTY3JvCiAgICAgc2Nyb2xsaW5nU3Rh
dGVUcmVlKCkuYWRkTm9kZSh0aGlzKTsKIH0KIAotU2Nyb2xsaW5nU3RhdGVOb2RlOjp+U2Nyb2xs
aW5nU3RhdGVOb2RlKCkKLXsKLX0KK1Njcm9sbGluZ1N0YXRlTm9kZTo6flNjcm9sbGluZ1N0YXRl
Tm9kZSgpID0gZGVmYXVsdDsKIAogdm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5
Q2hhbmdlZCh1bnNpZ25lZCBwcm9wZXJ0eUJpdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlLmNwcAppbmRleCBiOTVhZWYwMGRkZDdkMmI4MjM1NzJiMGUxZDQxYzVkNWJk
YWU0NjNkLi45MzFmNTdhNDQzYjUwYTkzZjM0MmVkYjk2YzA3Y2M5MWJiNTk1MzVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCkBAIC00OCw5ICs0OCw3IEBAIFNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZShjb25zdCBTCiB7CiB9CiAKLVNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjp+U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKQotewotfQor
U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6On5TY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZSgpID0gZGVmYXVsdDsKIAogUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4g
U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRl
VHJlZSYgYWRvcHRpdmVUcmVlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggOGJi
NjNhMWY3NWU0NDhlOTgwMTI4NzFkZjRhZDU5ZDBkZjk1MmU2OC4uMmUyNmE3OTgxYzA2MzljZWFi
MmQyODUzNmM0OTM0M2FkNzgwMGZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCkBAIC01
Nyw5ICs1Nyw3IEBAIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlU2NyCiAgICAgICAgIHNldFNjcm9sbGVk
Q29udGVudHNMYXllcihzdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkudG9SZXByZXNl
bnRhdGlvbihhZG9wdGl2ZVRyZWUucHJlZmVycmVkTGF5ZXJSZXByZXNlbnRhdGlvbigpKSk7CiB9
CiAKLVNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZSgpCi17Ci19CitTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6On5TY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlOjpzZXRTY3JvbGxhYmxlQXJlYVNpemUoY29uc3QgRmxvYXRTaXplJiBzaXplKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVT
dGlja3lOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5jcHAKaW5kZXggM2MzYjcyNjM2ODE3NWM4NzJkOWMwZGU5ZDdiMGNhYjRj
OTQwZTllOS4uMWFkNjAxMjRmMjFlY2Y0YzAxZGYyNTY3YWE1M2NiNGI4MTVhODkzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuY3BwCkBAIC01MSw5ICs1MSw3IEBAIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZTo6U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
CiB7CiB9CiAKLVNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6flNjcm9sbGluZ1N0YXRlU3RpY2t5
Tm9kZSgpCi17Ci19CitTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6On5TY3JvbGxpbmdTdGF0ZVN0
aWNreU5vZGUoKSA9IGRlZmF1bHQ7CiAKIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVUcmVlLmNwcAppbmRleCA5MDYwNDBkMzAwZjUzOWYxM2RmOWI4M2Q5YzE4MjgyOTRiZTJlMGQy
Li4yYmJhMmNhMmM4NzAzOWQ2OTk2N2Y1NDBhNDZkZWI3MmVhYTJkNGY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKQEAg
LTQ5LDkgKzQ5LDcgQEAgU2Nyb2xsaW5nU3RhdGVUcmVlOjpTY3JvbGxpbmdTdGF0ZVRyZWUoQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmQKIHsKIH0KIAotU2Nyb2xsaW5n
U3RhdGVUcmVlOjp+U2Nyb2xsaW5nU3RhdGVUcmVlKCkKLXsKLX0KK1Njcm9sbGluZ1N0YXRlVHJl
ZTo6flNjcm9sbGluZ1N0YXRlVHJlZSgpID0gZGVmYXVsdDsKIAogdm9pZCBTY3JvbGxpbmdTdGF0
ZVRyZWU6OnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKGJvb2wgY2hhbmdlZFByb3BlcnRpZXMpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmlu
ZGV4IDZhZDFlZTI0OWUwZTJhMzAxMTc5MWQyODljZjAyMzVkM2MxYWUyODcuLmVmNGQ1YzQ0NjIx
YTljNjUxZmU0NGE2YzY0MDU0MDgwODk0ZjYxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC00MCwxMyArNDAsOSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVNjcm9sbGluZ1RyZWU6OlNjcm9sbGluZ1RyZWUoKQotewotfQor
U2Nyb2xsaW5nVHJlZTo6U2Nyb2xsaW5nVHJlZSgpID0gZGVmYXVsdDsKIAotU2Nyb2xsaW5nVHJl
ZTo6flNjcm9sbGluZ1RyZWUoKQotewotfQorU2Nyb2xsaW5nVHJlZTo6flNjcm9sbGluZ1RyZWUo
KSA9IGRlZmF1bHQ7CiAKIGJvb2wgU2Nyb2xsaW5nVHJlZTo6c2hvdWxkSGFuZGxlV2hlZWxFdmVu
dFN5bmNocm9ub3VzbHkoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAxNzkxMWU3ZmE5ZDQ0MTk1N2Vh
MzA1N2YyODc4YmQ0OWFhZTI3OGY4Li5iZmNiZmY5ZTU0MzM1OWQ3MTZjZDc3YTQzNDExNWI1NmMy
OTFlMjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtNDEsOSArNDEs
NyBAQCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlKFNjcm9sbGluZ1RyZWUmCiB7CiB9CiAKLVNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGU6On5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlKCkKLXsKLX0KK1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6On5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlKCkgPSBkZWZhdWx0OwogCiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU6OmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBz
dGF0ZU5vZGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlTm9kZS5jcHAKaW5kZXggMjRkOGUwNDFjN2Q0M2MyNGZkOGI4NjhmOTUxMzc1NGM0
MjQ5MzM4ZC4uNmMzNzU2OTA5NmNhNzE2M2EyMTBlODNlNjA3Y2Q3OWMwNWJlOWU2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmNw
cApAQCAtNDIsOSArNDIsNyBAQCBTY3JvbGxpbmdUcmVlTm9kZTo6U2Nyb2xsaW5nVHJlZU5vZGUo
U2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZQogewogfQogCi1TY3Jv
bGxpbmdUcmVlTm9kZTo6flNjcm9sbGluZ1RyZWVOb2RlKCkKLXsKLX0KK1Njcm9sbGluZ1RyZWVO
b2RlOjp+U2Nyb2xsaW5nVHJlZU5vZGUoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU2Nyb2xsaW5nVHJl
ZU5vZGU6OmFwcGVuZENoaWxkKFJlZjxTY3JvbGxpbmdUcmVlTm9kZT4mJiBjaGlsZE5vZGUpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCmluZGV4IDAxM2UzNTBlNjU0
MzQ5NWFlMDM0NmYzNWI1ZmFjNjJhZDJkZGFjNjQuLjA0ZjRmZmY5ODk4MmE1NTVkZWQ5MmNhMWYz
OTEyNzBiZjlhM2FiMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3Bw
CkBAIC0zOCw5ICszOCw3IEBAIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OlNj
cm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGUoU2Nyb2xsaW5nCiB7CiB9CiAKLVNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6On5TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlKCkKLXsKLX0KK1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6On5T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCkgPSBkZWZhdWx0OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCBhM2Y5ZmExNmFh
MDhjMWU4ZGI3NGM0YTMyMzMwYzVlOWE1YmJiMDcyLi4zYTljMTlhY2ZiOGI4NjhhOGFjZTFhZTA5
MTczMjNkNTkzYzkwNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0zOSw5ICszOSw3
IEBAIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUCiB7CiB9CiAKLVNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlOjp+U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUoKQotewotfQorU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGU6On5TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSgpID0gZGVmYXVsdDsK
IAogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVCZWZvcmVDaGls
ZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmIHN0YXRlTm9kZSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZS5jcHAKaW5kZXggZDQyNGQzZjk0Y2U3NzdlNWUzYTk2MjE5
ZTcyODdhNmU5NjAxOTA3Zi4uZjE0Yjc5ZGU3YjdlOTdhMjE3YzQ5YjY0Zjc5M2ZhZGMwZWNmMzY5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZS5jcHAKQEAgLTM3LDkgKzM3
LDcgQEAgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZTo6U2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZShTY3JvbGxpbmcKIHsKIH0KIAotU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZTo6flNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUoKQot
ewotfQorU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZTo6flNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGUoKSA9IGRlZmF1bHQ7CiAKIFNjcm9sbGluZ1RyZWUmIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGU6OnNjcm9sbGluZ1RyZWUoKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFw
aGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29y
ZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IDc1NWMyOGYzMDdmNDMxODE1ZmUw
ZDVjNWQxY2MxNTRlYmYzYTMwNzguLmUwNGI0NDVhMDUzMGYwMzg2YTNmZmU0NWQ3NGZlYjdhNDVl
NDk1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5h
dGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTQ4LDkgKzQ4LDcg
QEAgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpTY3JvbGxpbmdDb29y
ZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MKIHsKIH0KIAotU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzOjp+U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBo
aWNzKCkKLXsKLX0KK1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6flNj
cm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpID0gZGVmYXVsdDsKIAogU2Ny
b2xsaW5nTm9kZUlEIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6YXR0
YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJ
RCBuZXdOb2RlSUQsIFNjcm9sbGluZ05vZGVJRCBwYXJlbnRJRCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuaAppbmRleCBjYjg4M2Q3ZWM2Nzc5Y2ZiOTljODhm
MzBjYTJlNjBiZjlhNDUxMjE4Li41MjNkMjUyZjhiNDIyY2Q2MmViMDBmYWIyMzFiOTk3OWY4ZWYw
MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5oCkBAIC02
NCw3ICs2NCw3IEBAIGNsYXNzIENhbGNFeHByZXNzaW9uTm9kZSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ2FsY0V4cHJlc3Npb25Ob2RlKENh
bGNFeHByZXNzaW9uTm9kZVR5cGUgPSBDYWxjRXhwcmVzc2lvbk5vZGVVbmRlZmluZWQpOwotICAg
IHZpcnR1YWwgfkNhbGNFeHByZXNzaW9uTm9kZSgpIHsgfQorICAgIHZpcnR1YWwgfkNhbGNFeHBy
ZXNzaW9uTm9kZSgpID0gZGVmYXVsdDsKIAogICAgIENhbGNFeHByZXNzaW9uTm9kZVR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Db2xvckNob29zZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbG9y
Q2hvb3Nlci5oCmluZGV4IGI3Y2Y1ZGVlMzFkMDExOWUzYjc0ODM2MWRhYWUyYTVlNjc2NGM4ZTcu
LjRjZTdjMzBmZTQ1OTlhYjAzYjk2MWM2ZmU1YzQyZjQ1OTVjN2U3ZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbG9yQ2hvb3Nlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NvbG9yQ2hvb3Nlci5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIENvbG9yOwog
CiBjbGFzcyBDb2xvckNob29zZXIgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNvbG9yQ2hvb3Nl
cigpIHsgfQorICAgIHZpcnR1YWwgfkNvbG9yQ2hvb3NlcigpID0gZGVmYXVsdDsKIAogICAgIHZp
cnR1YWwgdm9pZCByZWF0dGFjaENvbG9yQ2hvb3Nlcihjb25zdCBDb2xvciYpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBzZXRTZWxlY3RlZENvbG9yKGNvbnN0IENvbG9yJikgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db2xvckNob29zZXJDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NvbG9yQ2hvb3NlckNsaWVudC5oCmluZGV4IDA3NGNjYzExNzAzZTlh
Y2ExMWNiNWVlOTM4ZDY1YjBkZDdhYTk1NWQuLjQ4ZDRiMjdiNDYyYjkxY2Q1OGI2ZGY3NTdlZDRm
OTQ0MDEzOTQyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbG9yQ2hv
b3NlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbG9yQ2hvb3NlckNs
aWVudC5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIENvbG9yOwogCiBjbGFzcyBDb2xvckNob29z
ZXJDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkNvbG9yQ2hvb3NlckNsaWVudCgpIHsg
fQorICAgIHZpcnR1YWwgfkNvbG9yQ2hvb3NlckNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaG9vc2VDb2xvcihjb25zdCBDb2xvciYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkRW5kQ2hvb3NlcigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uY3BwCmluZGV4IDNiY2M4M2IwYzc5YmFhMzcyMWFlNTcwMzUzOGZlYWYyYjZl
YWYxMGYuLjJjNTAxZDA0MjVlMWYxNzcwMTFlODg4M2M5MGRkZTA3NzdiODA2NmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcApAQCAtNzAsOSArNzAsNyBA
QCBDb250ZXh0TWVudUl0ZW06OkNvbnRleHRNZW51SXRlbSgpCiB7CiB9CiAKLUNvbnRleHRNZW51
SXRlbTo6fkNvbnRleHRNZW51SXRlbSgpCi17Ci19CitDb250ZXh0TWVudUl0ZW06On5Db250ZXh0
TWVudUl0ZW0oKSA9IGRlZmF1bHQ7CiAKIGJvb2wgQ29udGV4dE1lbnVJdGVtOjppc051bGwoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29va2llc1N0cmF0
ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db29raWVzU3RyYXRlZ3kuaAppbmRleCA4
OGZkYWE4OWVkMWViZDI2NjZjOTExYTUzNjQ5OGUzOTljNDY3MDNiLi5hNmNjMmNlMDJhNTRlZTBl
ZTAyYWI3YjQxMzc3ZjEzMThiZjQ0M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db29raWVzU3RyYXRlZ3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db29r
aWVzU3RyYXRlZ3kuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRlbGV0ZUNvb2tpZShjb25zdCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mLCBjb25zdCBVUkwmLCBj
b25zdCBTdHJpbmcmIGNvb2tpZU5hbWUpID0gMDsKIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwg
fkNvb2tpZXNTdHJhdGVneSgpIHsgfQorICAgIHZpcnR1YWwgfkNvb2tpZXNTdHJhdGVneSgpID0g
ZGVmYXVsdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmgKaW5kZXggZWU5NDhjZmE4MzU0OWE0OTM4MGY0MjM1NzA4
ZjUwNDA5ZmM4OThiZS4uZTVjNWZhZDRjZTE5NjYwNzRhYWQ3ZTFlNmE4ZjUyYzlmMDE4ODkwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmgKQEAgLTYwLDcgKzYw
LDcgQEAgc3RydWN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMgewogLy8gRm9yIHBpY2tlcnMg
bGlrZSBjb2xvciBwaWNrZXJzIGFuZCBkYXRlIHBpY2tlcnMuCiBjbGFzcyBEYXRlVGltZUNob29z
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxEYXRlVGltZUNob29zZXI+IHsKIHB1YmxpYzoKLSAgICB2
aXJ0dWFsIH5EYXRlVGltZUNob29zZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5EYXRlVGltZUNob29z
ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5kQ2hvb3NlcigpID0gMDsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3NlckNsaWVudC5oCmlu
ZGV4IDIzMGQwNDU0NDMyMTYwZWYyMWY5NjljYmE5NTQ0MTdhNmU4ZjJiZDcuLmYzMTkxNGYzMDE0
MTgyNGE1ZGZmMGZiNjkyYTFhYjU4NjRmNTg2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3NlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RhdGVUaW1lQ2hvb3NlckNsaWVudC5oCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50IHsKIHB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5EYXRlVGltZUNob29zZXJDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5EYXRl
VGltZUNob29zZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKICAgICAvLyBDYWxsZWQgd2hlbiB1c2Vy
IHBpY2tlZCBhIHZhbHVlLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaG9vc2VWYWx1ZShjb25zdCBT
dHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hv
b3Nlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKaW5kZXgg
ZjMwYzQ5ZjE1YWJmMzg1ODg4NGVkZGNmMDRhYzM1ZmQ5ZjAzM2ZlZC4uNWM4OThjZGQ1M2VmN2Jl
ZTM4NDFjNzYxNjk4NjIwYzQwYWY1Yzc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRmlsZUNob29zZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVD
aG9vc2VyLmNwcApAQCAtNDIsOSArNDIsNyBAQCBSZWY8RmlsZUNob29zZXI+IEZpbGVDaG9vc2Vy
OjpjcmVhdGUoRmlsZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZQogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVDaG9vc2VyKGNsaWVudCwgc2V0dGluZ3MpKTsKIH0K
IAotRmlsZUNob29zZXI6On5GaWxlQ2hvb3NlcigpCi17Ci19CitGaWxlQ2hvb3Nlcjo6fkZpbGVD
aG9vc2VyKCkgPSBkZWZhdWx0OwogCiB2b2lkIEZpbGVDaG9vc2VyOjppbnZhbGlkYXRlKCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCmluZGV4IDM1ZDE5ZTMxNjUzMTQ1NTFl
YTUyZTM0YzA2ZjRjMjYwZmU0OTMyOGEuLjUyNDQ0YWQ5M2Q2YzlkMGI0YmY5Y2VmYzI4NjZiMzI1
MGNhMGJmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaApAQCAtNzQsNyAr
NzQsNyBAQCBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5ncyB7CiAKIGNsYXNzIEZpbGVDaG9vc2Vy
Q2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5GaWxlQ2hvb3NlckNsaWVudCgpIHsgfQor
ICAgIHZpcnR1YWwgfkZpbGVDaG9vc2VyQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVh
bCB2b2lkIGZpbGVzQ2hvc2VuKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYsIGNv
bnN0IFN0cmluZyYgZGlzcGxheVN0cmluZyA9IHsgfSwgSWNvbiogPSBudWxscHRyKSA9IDA7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZU1vbml0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZU1vbml0b3IuY3BwCmluZGV4IDY4MzM1ZjE5NGM2
YjdjNWZlZTE0NmQ5MGM4MjQzMDYwZTFiNjFmNjkuLmYyYWYwYTIwMjNkZDgzZjQ4ODM5Y2ZlMTA4
MzY0MmIxM2Q1MjcxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVN
b25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTW9uaXRvci5jcHAK
QEAgLTM0LDkgKzM0LDcgQEAgRmlsZU1vbml0b3I6OkZpbGVNb25pdG9yKGNvbnN0IFN0cmluZyYs
IFJlZjxXb3JrUXVldWU+JiYsIFdURjo6RnVuY3Rpb248dm9pZChGaWwKIHsKIH0KIAotRmlsZU1v
bml0b3I6On5GaWxlTW9uaXRvcigpCi17Ci19CitGaWxlTW9uaXRvcjo6fkZpbGVNb25pdG9yKCkg
PSBkZWZhdWx0OwogCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRmlsZVN0cmVhbUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0cmVh
bUNsaWVudC5oCmluZGV4IGNiNjNhNzI4MmU3NDAwOWRhY2UwN2VmYjBkODQ2YjdhZDViY2RiNDgu
LjU2YTk2Y2NhMTExYjEzMzI0NTljODE0MGQwYzZjODU3MzA2ODAyMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW1DbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlU3RyZWFtQ2xpZW50LmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRUcnVuY2F0ZShib29sKSB7IH0gLy8gZmFsc2Ugc2lnbmFs
cyBmYWlsdXJlLgogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+RmlsZVN0cmVhbUNsaWVudCgp
IHsgfQorICAgIHZpcnR1YWwgfkZpbGVTdHJlYW1DbGllbnQoKSA9IGRlZmF1bHQ7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5k
ZXggMjhjNmQ4MmFiNzEyZTlhOTE1MzhmZmM2MWZmMjBhMjFiYzJkOGZhZC4uYmQxYmQzYjgzMjA0
ZGNhNDE1M2QxYTI5N2M3ODNiZTBmZDNhYjViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vSG9zdFdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RX
aW5kb3cuaApAQCAtMzUsOCArMzUsOCBAQCBjbGFzcyBDdXJzb3I7CiBjbGFzcyBIb3N0V2luZG93
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgSG9zdFdpbmRvdygpIHsgfQotICAgIHZpcnR1YWwgfkhv
c3RXaW5kb3coKSB7IH0KKyAgICBIb3N0V2luZG93KCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwg
fkhvc3RXaW5kb3coKSA9IGRlZmF1bHQ7CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZh
bGlkYXRlIHRoZSByb290IHZpZXcsIG5vdCB0aGUgY29udGVudHMuCiAgICAgdmlydHVhbCB2b2lk
IGludmFsaWRhdGVSb290Vmlldyhjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0KSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXllZENvZGluZy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS2V5ZWRDb2RpbmcuaAppbmRleCA2MzFhYjA0NTZmNWMyZjUwZmNkYTAy
M2FkYTVmMmY0NzUwMTg5MWMwLi45MTg0MDFhYTRkZDM2MjJlMDhmNGUxOTMwNzcxMzlmMjdjMDAy
NTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXllZENvZGluZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWVkQ29kaW5nLmgKQEAgLTM3LDcgKzM3LDcg
QEAgY2xhc3MgS2V5ZWREZWNvZGVyIHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPEtleWVkRGVjb2Rlcj4gZGVjb2Rlcihjb25zdCB1aW50OF90KiBk
YXRhLCBzaXplX3QpOwogCi0gICAgdmlydHVhbCB+S2V5ZWREZWNvZGVyKCkgeyB9CisgICAgdmly
dHVhbCB+S2V5ZWREZWNvZGVyKCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIGRlY29k
ZUJ5dGVzKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCB1aW50OF90KiYsIHNpemVfdCYpID0gMDsK
ICAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlQm9vbChjb25zdCBTdHJpbmcmIGtleSwgYm9vbCYpID0g
MDsKQEAgLTE0NCw3ICsxNDQsNyBAQCBjbGFzcyBLZXllZEVuY29kZXIgewogcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8S2V5ZWRFbmNvZGVyPiBlbmNv
ZGVyKCk7CiAKLSAgICB2aXJ0dWFsIH5LZXllZEVuY29kZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5L
ZXllZEVuY29kZXIoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlQnl0ZXMo
Y29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZW5jb2RlQm9vbChjb25zdCBTdHJpbmcmIGtleSwgYm9vbCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuY3BwCmluZGV4IGU1
ODhkNWY3NGFiYjMwNzk4NTQ2MjgxMTZhMzA4NmNkNzkwZDYxNjQuLmRhYmU3MzI1Y2ZmMzZjODU5
YThlMjc5OGJhYzJiZThjNzkxM2U5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb3dQb3dlck1vZGVOb3RpZmllci5jcHAKQEAgLTM0LDkgKzM0LDcgQEAgTG93UG93ZXJNb2Rl
Tm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyKExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNr
JiYpCiB7CiB9CiAKLUxvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2RlTm90aWZpZXIo
KQotewotfQorTG93UG93ZXJNb2RlTm90aWZpZXI6On5Mb3dQb3dlck1vZGVOb3RpZmllcigpID0g
ZGVmYXVsdDsKIAogYm9vbCBMb3dQb3dlck1vZGVOb3RpZmllcjo6aXNMb3dQb3dlck1vZGVFbmFi
bGVkKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
RGVzY3JpcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhRGVzY3JpcHRpb24u
aAppbmRleCA0ZGFjMDRjNWIyMTUwZjRkMWFjODlhODRkM2I5Nzg3YjQwYTYzMWI1Li5jYTRhMDli
MGM0OTYwNjkwZjZlMGUwNWMxOTZlZjk0OWYyMGZjZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYURlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTWVkaWFEZXNjcmlwdGlvbi5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgTWVkaWFEZXNjcmlwdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlh
RGVzY3JpcHRpb24+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5NZWRpYURlc2NyaXB0aW9uKCkg
eyB9CisgICAgdmlydHVhbCB+TWVkaWFEZXNjcmlwdGlvbigpID0gZGVmYXVsdDsKIAogICAgIHZp
cnR1YWwgQXRvbWljU3RyaW5nIGNvZGVjKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBp
c1ZpZGVvKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFTYW1wbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKaW5k
ZXggNWIzOGNhOWYxNDQ5NGEyMjhmODU5ZmQyMDYyYzU5OWMyNTVkMWJhMS4uOWYzZmNmZDA3NjYz
NDBlNzRjMTg1NjMyNDRlZjc0OWI4NzJhYjYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTWVkaWFTYW1wbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRp
YVNhbXBsZS5oCkBAIC01Miw3ICs1Miw3IEBAIHN0cnVjdCBQbGF0Zm9ybVNhbXBsZSB7CiAKIGNs
YXNzIE1lZGlhU2FtcGxlIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTYW1wbGU+IHsKIHB1Ymxp
YzoKLSAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZSgpIHsgfQorICAgIHZpcnR1YWwgfk1lZGlhU2Ft
cGxlKCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGlt
ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIE1lZGlhVGltZSBvdXRwdXRQcmVzZW50YXRpb25U
aW1lKCkgY29uc3QgeyByZXR1cm4gcHJlc2VudGF0aW9uVGltZSgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RSZWRCbGFja1RyZWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IGQyYjgwZGE1ZjYwZDQ0NjRlMjU3YzI0
MmU5ZDkyN2Y0NGUzMjIwNTEuLjEzMWYzMWFmNWZkZTk0OTM2YTgyYjMxZjJmZTE5NjE5OGZkYmI1
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPRFJlZEJsYWNrVHJlZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPRFJlZEJsYWNrVHJlZS5oCkBAIC05Myw3
ICs5Myw3IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNp
dChjb25zdCBUJiBkYXRhKSA9IDA7CiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIH5W
aXNpdG9yKCkgeyB9CisgICAgICAgIHZpcnR1YWwgflZpc2l0b3IoKSA9IGRlZmF1bHQ7CiAgICAg
fTsKIAogICAgIFBPRFJlZEJsYWNrVHJlZSgpCkBAIC0yMDUsNyArMjA1LDcgQEAgcHVibGljOgog
ICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIH5Ob2RlKCkgeyB9CisgICAg
ICAgIHZpcnR1YWwgfk5vZGUoKSA9IGRlZmF1bHQ7CiAKICAgICAgICAgQ29sb3IgY29sb3IoKSBj
b25zdCB7IHJldHVybiBtX2NvbG9yOyB9CiAgICAgICAgIHZvaWQgc2V0Q29sb3IoQ29sb3IgY29s
b3IpIHsgbV9jb2xvciA9IGNvbG9yOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
aW5kZXggMGQxNGMxNmQ0M2M1NmY0YTk1MmIzYjE5YTVkN2E2MDk3MDA1MjE2OS4uMjFiZjkwM2Qw
OGRhYWM1M2FjNTg4MGM0NjdkY2U1YmYzYTk2ZGY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaApAQCAtMTMwLDcgKzEzMCw3IEBAIGNsYXNzIFBhc3RlYm9hcmRXZWJDb250ZW50
UmVhZGVyIHsKIHB1YmxpYzoKICAgICBTdHJpbmcgY29udGVudE9yaWdpbjsKIAotICAgIHZpcnR1
YWwgflBhc3RlYm9hcmRXZWJDb250ZW50UmVhZGVyKCkgeyB9CisgICAgdmlydHVhbCB+UGFzdGVi
b2FyZFdlYkNvbnRlbnRSZWFkZXIoKSA9IGRlZmF1bHQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICB2aXJ0dWFsIGJvb2wgcmVhZFdlYkFyY2hpdmUoU2hhcmVkQnVmZmVyJikgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFdyaXRlckRhdGEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFdyaXRlckRhdGEuY3BwCmluZGV4
IGQwMDYxZTg4Y2VhZmIxYjFlOGU2Yjc0YTQ2MGZlMjUyNmIxMTJiM2YuLjNkMmRjZWVkN2M1NmU4
NzA5Njc4OTgwN2E2N2JlZTJlZDAzMjkyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Bhc3RlYm9hcmRXcml0ZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkV3JpdGVyRGF0YS5jcHAKQEAgLTMwLDIxICszMCwxMSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3RlYm9hcmRXcml0ZXJEYXRhOjpQYXN0ZWJvYXJkV3JpdGVy
RGF0YSgpCi17Ci19Ci0KLVBhc3RlYm9hcmRXcml0ZXJEYXRhOjp+UGFzdGVib2FyZFdyaXRlckRh
dGEoKQotewotfQorUGFzdGVib2FyZFdyaXRlckRhdGE6OlBhc3RlYm9hcmRXcml0ZXJEYXRhKCkg
PSBkZWZhdWx0OworUGFzdGVib2FyZFdyaXRlckRhdGE6On5QYXN0ZWJvYXJkV3JpdGVyRGF0YSgp
ID0gZGVmYXVsdDsKIAotUGFzdGVib2FyZFdyaXRlckRhdGE6OldlYkNvbnRlbnQ6OldlYkNvbnRl
bnQoKQotewotfQotCi1QYXN0ZWJvYXJkV3JpdGVyRGF0YTo6V2ViQ29udGVudDo6fldlYkNvbnRl
bnQoKQotewotfQorUGFzdGVib2FyZFdyaXRlckRhdGE6OldlYkNvbnRlbnQ6OldlYkNvbnRlbnQo
KSA9IGRlZmF1bHQ7CitQYXN0ZWJvYXJkV3JpdGVyRGF0YTo6V2ViQ29udGVudDo6fldlYkNvbnRl
bnQoKSA9IGRlZmF1bHQ7CiAKIGJvb2wgUGFzdGVib2FyZFdyaXRlckRhdGE6OmlzRW1wdHkoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Db250
ZW50RmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUNvbnRlbnRGaWx0
ZXIuaAppbmRleCBkYThlMzk5YmI1ZjBkYmJiYmNiYjMzMWIzYmJiYTNmNGViNjRlMTk5Li41OGNm
MTQwNDhkMzU1MzAyMDc3ZjFjNGVkNTE0OTI1YTVjN2Q5MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaApAQCAtNTEsNyArNTEsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBuZWVkc01vcmVEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSA9
PSBTdGF0ZTo6RmlsdGVyaW5nOyB9CiAgICAgYm9vbCBkaWRCbG9ja0RhdGEoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlID09IFN0YXRlOjpCbG9ja2VkOyB9CiAKLSAgICB2aXJ0dWFsIH5QbGF0Zm9y
bUNvbnRlbnRGaWx0ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5QbGF0Zm9ybUNvbnRlbnRGaWx0ZXIo
KSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGFkZERhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5oCmlu
ZGV4IGFhYjVkNmQyM2U5MTczMmM5MzBjYWVlZTQxN2FhNGU4MThiZmE1MTQuLjkwZGZlOWM3ZTI1
NjZkNWVmYTdjNzgxOTNhZTY5ZmM5MDNiOWY3NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyLmgKQEAgLTU1LDcgKzU1LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBib3VuZGFyeUV2ZW50T2NjdXJyZWQoUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2UmLCBTcGVlY2hCb3VuZGFyeSwgdW5zaWduZWQgY2hhcklu
ZGV4KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHZvaWNlc0RpZENoYW5nZSgpID0gMDsKIHByb3Rl
Y3RlZDoKLSAgICB2aXJ0dWFsIH5QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyQ2xpZW50KCkgeyB9
CisgICAgdmlydHVhbCB+UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplckNsaWVudCgpID0gZGVmYXVs
dDsKIH07CiAKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXIg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnUuaAppbmRleCA4ZWJiYTAzMWZhZjg4MWMyNjJk
M2U5N2M1NjQzN2RhZTgzZGEzMjFhLi5kN2U1ODEwODY1NTkxMjA0ODExZTU5ODM0YzBmNDQ5Mzgx
MjA4Njk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnUuaApAQCAtMzAsNyArMzAsNyBA
QCBjbGFzcyBJbnRSZWN0OwogCiBjbGFzcyBQb3B1cE1lbnUgOiBwdWJsaWMgUmVmQ291bnRlZDxQ
b3B1cE1lbnU+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5Qb3B1cE1lbnUoKSB7fQorICAgIHZp
cnR1YWwgflBvcHVwTWVudSgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25z
dCBJbnRSZWN0JiwgRnJhbWVWaWV3KiwgaW50IGluZGV4KSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGhpZGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAppbmRleCA4NGFlYmI2NjQy
YjE2YjlhNWY3MWU3YTIxNmIxMDkzYjc4YmZhZDQ4Li4xNDFjOGU1NjkyYTA2NWNkZjczODQzZTI1
NjA1YjE1OGRiOGIxNTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1
cE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGll
bnQuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIAogY2xhc3MgUG9w
dXBNZW51Q2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5Qb3B1cE1lbnVDbGllbnQoKSB7
fQorICAgIHZpcnR1YWwgflBvcHVwTWVudUNsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFs
IHZvaWQgdmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0g
dHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkIGxp
c3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
ZWxlY3Rpb25DbGVhcmVkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1v
dGVDb21tYW5kTGlzdGVuZXIuaAppbmRleCA4ZDBiNWRiMjUzNTQ3MTY3MDQzYWZkMjdmMmRmN2Iz
YjIzMzBiYzI2Li5hM2FlMDBlYWM2NzBhZDkyNDNhNGQ1MzRlYWY3ZGM2OWM2Y2E4YTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuaApAQCAt
MzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwg
flJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb21tYW5kQXJndW1lbnQqKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Vla2lu
ZygpIGNvbnN0ID0gMDsKIH07CkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFJlbW90ZUNvbW1hbmRM
aXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IGNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJD
bGllbnQmKTsKICAgICBSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q2xpZW50JiBjbGllbnQpIDogbV9jbGllbnQoY2xpZW50KSB7IH0KLSAgICB2aXJ0dWFsIH5SZW1v
dGVDb21tYW5kTGlzdGVuZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5kTGlzdGVu
ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uS2luZXRpYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRp
b25LaW5ldGljLmNwcAppbmRleCBhMWVhMTRmNDRkODViYjU5NmMxN2ViMzNlNWRlZjU0M2VhZDM3
NDQwLi43ZjkzNjUzYmRjZDg0NTNjYzIwY2EyOWViY2NkYWIwNDllNjVjMmI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25LaW5ldGljLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25LaW5ldGljLmNwcApAQCAt
MTEwLDkgKzExMCw3IEBAIFNjcm9sbEFuaW1hdGlvbktpbmV0aWM6OlNjcm9sbEFuaW1hdGlvbktp
bmV0aWMoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBzCiB7CiB9CiAKLVNjcm9sbEFu
aW1hdGlvbktpbmV0aWM6On5TY3JvbGxBbmltYXRpb25LaW5ldGljKCkKLXsKLX0KK1Njcm9sbEFu
aW1hdGlvbktpbmV0aWM6On5TY3JvbGxBbmltYXRpb25LaW5ldGljKCkgPSBkZWZhdWx0OwogCiB2
b2lkIFNjcm9sbEFuaW1hdGlvbktpbmV0aWM6OnN0b3AoKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKaW5kZXggZTBmYjEyYzQ5MTdh
OTAxY2UwYzI0OGNkMzQ4Y2JmMGY1ZjlmMzI2MC4uMGUxNzZmNTM0Nzg0YzRjNzNjODU3NDBiN2Vh
MGYwNzg5YTUzYWUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0aW9uU21vb3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRpb25TbW9vdGguY3BwCkBAIC04Niw5ICs4Niw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjpzZXRDdXJyZW50UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiAg
ICAgbV92ZXJ0aWNhbERhdGEgPSBQZXJBeGlzRGF0YShwb3NpdGlvbi55KCksIG1fdmVydGljYWxE
YXRhLnZpc2libGVMZW5ndGgpOwogfQogCi1TY3JvbGxBbmltYXRpb25TbW9vdGg6On5TY3JvbGxB
bmltYXRpb25TbW9vdGgoKQotewotfQorU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp+U2Nyb2xsQW5p
bWF0aW9uU21vb3RoKCkgPSBkZWZhdWx0OwogCiBzdGF0aWMgaW5saW5lIGRvdWJsZSBjdXJ2ZUF0
KFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3VydmUgY3VydmUsIGRvdWJsZSB0KQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IDBhOGJmOGI0OTVhNmUz
MTUzZjFjYjcyMTEwNzk5ZDkzY2RlNjlmNDQuLjQxMWVmNjRiZjRmY2MxODQ5MDg1NzUzZTE0MzJi
YzFjNzZjN2RhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKQEAgLTU1LDkgKzU1LDcgQEAgU2Nyb2xsQW5pbWF0b3I6OlNjcm9sbEFuaW1hdG9yKFNjcm9s
bGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSkKIHsKIH0KIAotU2Nyb2xsQW5pbWF0b3I6On5TY3Jv
bGxBbmltYXRvcigpCi17Ci19CitTY3JvbGxBbmltYXRvcjo6flNjcm9sbEFuaW1hdG9yKCkgPSBk
ZWZhdWx0OwogCiBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRp
b24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0
aXBsaWVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3JTbW9vdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JT
bW9vdGguY3BwCmluZGV4IDMxY2VlOGNkYjUzNjA2MmY2MDBjMTM2M2ExMzM0NWFlZjFiZTNjNzAu
LjI3NTYyZDQ2MDk0MzM1NWE2ZGIzNWNhNDdkNjU5NmU1ZTQyZmQzOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yU21vb3RoLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvclNtb290aC5jcHAKQEAgLTU2LDkgKzU2
LDcgQEAgU2Nyb2xsQW5pbWF0b3JTbW9vdGg6OlNjcm9sbEFuaW1hdG9yU21vb3RoKFNjcm9sbGFi
bGVBcmVhJiBzY3JvbGxhYmxlQXJlYSkKIHsKIH0KIAotU2Nyb2xsQW5pbWF0b3JTbW9vdGg6On5T
Y3JvbGxBbmltYXRvclNtb290aCgpCi17Ci19CitTY3JvbGxBbmltYXRvclNtb290aDo6flNjcm9s
bEFuaW1hdG9yU21vb3RoKCkgPSBkZWZhdWx0OwogCiBib29sIFNjcm9sbEFuaW1hdG9yU21vb3Ro
OjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFy
aXR5IGdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCA5ZWVlNDQyYzFlMmFjZTdjODE5MmZi
OWU3ODk2NjA3YzdkNzk5M2QwLi40YjVhNzYxZjZiNzMwYzI3MjEzYmVkZjY4OTRjZDEwNjhkNzg4
Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtNDAsMTMgKzQw
LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TY3JvbGxWaWV3OjpTY3JvbGxWaWV3KCkK
LXsKLX0KK1Njcm9sbFZpZXc6OlNjcm9sbFZpZXcoKSA9IGRlZmF1bHQ7CiAKLVNjcm9sbFZpZXc6
On5TY3JvbGxWaWV3KCkKLXsKLX0KK1Njcm9sbFZpZXc6On5TY3JvbGxWaWV3KCkgPSBkZWZhdWx0
OwogCiB2b2lkIFNjcm9sbFZpZXc6OmFkZENoaWxkKFdpZGdldCYgY2hpbGQpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggYzA1MzI2NWVjZjlmNzcz
MGRkNzc1NDc2M2FhNjhmODJjNDQ0ZDIyMC4uNjVjMTFlMWJmMTdmNWFhMTQ1MjJmYzI3MWYxNzc1
ODhmNGY1NmRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cApAQCAtNzAsOSArNzAsNyBAQCBTY3JvbGxhYmxlQXJlYTo6U2Nyb2xsYWJsZUFyZWEoKQogewog
fQogCi1TY3JvbGxhYmxlQXJlYTo6flNjcm9sbGFibGVBcmVhKCkKLXsKLX0KK1Njcm9sbGFibGVB
cmVhOjp+U2Nyb2xsYWJsZUFyZWEoKSA9IGRlZmF1bHQ7CiAKIFNjcm9sbEFuaW1hdG9yJiBTY3Jv
bGxhYmxlQXJlYTo6c2Nyb2xsQW5pbWF0b3IoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggZjRmYjVkMDU1N2JiODQ0ZWU0OWYzMmU3NWQxMjUy
ZDA5YTZiZjkzOS4uYjUzM2Q3ZmQyNTQyNjFiMTYwZGRkZWM3MzgzMWQ5NjEwMDgyZDMzZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC00Myw3ICs0Myw3IEBA
IGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiBjbGFzcyBTY3JvbGxiYXJUaGVtZSB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQorICAgIFNjcm9sbGJhclRoZW1lKCkg
PSBkZWZhdWx0OwogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlRW5hYmxlZFN0YXRlKFNjcm9sbGJhciYpIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TZWFyY2hQb3B1cE1lbnUuaAppbmRleCAzZTk1NWU1MzQ2MmJhNjZhMGNjNTVl
MTc3NmY4ZDBhMjcxYTIyZjhlLi5mN2NiOTgzMTY2NTU5Y2U4Y2E2NmU4YWVhZmVhNzE1NjkyZjUz
OTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TZWFyY2hQb3B1cE1lbnUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TZWFyY2hQb3B1cE1lbnUuaApAQCAtMzYs
NyArMzYsNyBAQCBzdHJ1Y3QgUmVjZW50U2VhcmNoIHsKIAogY2xhc3MgU2VhcmNoUG9wdXBNZW51
IDogcHVibGljIFJlZkNvdW50ZWQ8U2VhcmNoUG9wdXBNZW51PiB7CiBwdWJsaWM6Ci0gICAgdmly
dHVhbCB+U2VhcmNoUG9wdXBNZW51KCkgeyB9CisgICAgdmlydHVhbCB+U2VhcmNoUG9wdXBNZW51
KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgUG9wdXBNZW51KiBwb3B1cE1lbnUoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNhdmVSZWNlbnRTZWFyY2hlcyhjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUsIGNvbnN0IFZlY3RvcjxSZWNlbnRTZWFyY2g+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBs
b2FkUmVjZW50U2VhcmNoZXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBWZWN0b3I8UmVjZW50
U2VhcmNoPiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nlcmlh
bGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
ZXJpYWxpemVkUGxhdGZvcm1SZXByZXNlbnRhdGlvbi5oCmluZGV4IGI3YmViNmQxZmFkMGFlYzA2
NzYxMTE1ZWMzNzU3MWIxNWZjNmViYmQuLjBkYWRkZWE0Mjc4YzY1YzAwMjQ4NzRmZDYwY2E4OTVk
YmY4YmM1YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NlcmlhbGl6ZWRQ
bGF0Zm9ybVJlcHJlc2VudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Vy
aWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb24uaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uIDog
cHVibGljIFJlZkNvdW50ZWQ8U2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb24+IHsKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIH5TZXJpYWxpemVkUGxhdGZvcm1SZXByZXNlbnRhdGlvbigpIHsg
fQorICAgIHZpcnR1YWwgflNlcmlhbGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uKCkgPSBkZWZh
dWx0OwogCiAgICAgdmlydHVhbCBKU0M6OkpTVmFsdWUgZGVzZXJpYWxpemUoSlNDOjpFeGVjU3Rh
dGUqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gZGF0
YSgpIGNvbnN0ID0gMDsKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGxh
dGZvcm1UeXBlIHBsYXRmb3JtVHlwZSgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgotICAgIFNl
cmlhbGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uKCkgeyB9CisgICAgU2VyaWFsaXplZFBsYXRm
b3JtUmVwcmVzZW50YXRpb24oKSA9IGRlZmF1bHQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAppbmRleCA0NDQ1ZTNiNzJlNzZh
OTIxYzBiZThmM2U4Nzc5ZTU1NTM2MmU3MDQ5Li4zM2Q4NjkzMTE0ODRiZGFhOGU4ZWE4YWY2NWJh
MmI0ZGI3ODNiZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRU
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTQw
LDcgKzQwLDcgQEAgY2xhc3MgU2hhcmVkVGltZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNoYXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hh
cmVkVGltZXIoKSA9IGRlZmF1bHQ7Ci0gICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7IH0KKyAg
ICB2aXJ0dWFsIH5TaGFyZWRUaW1lcigpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
RmlyZWRGdW5jdGlvbihXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgPSAwOwogCiAgICAgLy8gVGhl
IGZpcmUgaW50ZXJ2YWwgaXMgaW4gc2Vjb25kcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBtb25v
dG9uaWMgY2xvY2sgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1
cHBsZW1lbnRhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdXBwbGVtZW50YWJsZS5o
CmluZGV4IGNmYmU0OWE1ZGMzM2E0MDIzNDJhOWY0MzRhMDg3ZjcwYTZjZDk4MmEuLjMzZjY5YTJk
MWVkNWViODAwY2JkOTUwMDRmMTg2MmFlODE4ZjEzMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N1cHBsZW1lbnRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU3VwcGxlbWVudGFibGUuaApAQCAtNzcsNyArNzcsNyBAQCBjbGFzcyBTdXBwbGVtZW50YWJs
ZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBTdXBwbGVtZW50IHsKIHB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5TdXBwbGVtZW50KCkgeyB9CisgICAgdmlydHVhbCB+U3VwcGxlbWVudCgpID0g
ZGVmYXVsdDsKICNpZiAhQVNTRVJUX0RJU0FCTEVEIHx8IEVOQUJMRShTRUNVUklUWV9BU1NFUlRJ
T05TKQogICAgIHZpcnR1YWwgYm9vbCBpc1JlZkNvdW50ZWRXcmFwcGVyKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNThkODA5OGMz
ZTNmMDI3YzgxYTFhYjA2NjZiNmEyN2UwYjY2ZTg2NC4uYmU0YjRjOWU1OWIwYjIxNTYzNzJhODM3
ZjZjNjVhNmFjMTQ5OTA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC04MSw3ICs4MSw3
IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIFRoZW1lKCkgPSBkZWZhdWx0OwotICAgIHZp
cnR1YWwgflRoZW1lKCkgeyB9CisgICAgdmlydHVhbCB+VGhlbWUoKSA9IGRlZmF1bHQ7CiAKIHBy
aXZhdGU6CiAgICAgVGhlbWUoY29uc3QgVGhlbWUmKSA9IGRlbGV0ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5jcHAKaW5kZXggZmEyZGE0OTQ1YjkwOWQwOWRm
NjQ5MTVlNjBiNTg1YjUxODQwMzgzOC4uNjQwMmMzY2Y5MmVkNDNhZmI0MGQ2NzY5ZDE1OTQzZDJk
MmQ5M2E4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFs
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5j
cHAKQEAgLTYzLDkgKzYzLDcgQEAgVGhyZWFkR2xvYmFsRGF0YTo6VGhyZWFkR2xvYmFsRGF0YSgp
CiAgICAgVGhyZWFkOjpjdXJyZW50KCk7CiB9CiAKLVRocmVhZEdsb2JhbERhdGE6On5UaHJlYWRH
bG9iYWxEYXRhKCkKLXsKLX0KK1RocmVhZEdsb2JhbERhdGE6On5UaHJlYWRHbG9iYWxEYXRhKCkg
PSBkZWZhdWx0OwogCiB2b2lkIFRocmVhZEdsb2JhbERhdGE6OmRlc3Ryb3koKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmNwcAppbmRleCA4MDkz
YjZmMjk0MjZkOTYwMzM4YTc1MmQ5ZDQ3Yjg0ZDEyMmFkNWU0Li5jZjZjY2ViYmYxOWQ1ZmRiZmE2
MTY2MDE0MmU1MzI5ZWFmYTE5NDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
bmltYXRpb24vQW5pbWF0aW9uLmNwcApAQCAtMTI1LDkgKzEyNSw3IEBAIEFuaW1hdGlvbiYgQW5p
bWF0aW9uOjpvcGVyYXRvcj0oY29uc3QgQW5pbWF0aW9uJiBvKQogICAgIHJldHVybiAqdGhpczsK
IH0KIAotQW5pbWF0aW9uOjp+QW5pbWF0aW9uKCkKLXsKLX0KK0FuaW1hdGlvbjo6fkFuaW1hdGlv
bigpID0gZGVmYXVsdDsKIAogYm9vbCBBbmltYXRpb246OmFuaW1hdGlvbnNNYXRjaChjb25zdCBB
bmltYXRpb24mIG90aGVyLCBib29sIG1hdGNoUGxheVN0YXRlcykgY29uc3QKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25UcmlnZ2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uVHJpZ2dlci5oCmlu
ZGV4IDVlYTAxYjIwYjI2MjdiOGQ5N2JhMzVmM2UyZDdjYmU0YTU1Mjk0NzQuLmQxZWFkNzlmNTA2
NzBmNGRkMjQ1ZTQyZTIxNDk0MWNkNTY3OTIxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25UcmlnZ2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblRyaWdnZXIuaApAQCAtMzgsNyArMzgsNyBA
QCBjbGFzcyBBbmltYXRpb25UcmlnZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8QW5pbWF0aW9uVHJp
Z2dlcj4gewogcHVibGljOgogICAgIHZpcnR1YWwgUmVmPEFuaW1hdGlvblRyaWdnZXI+IGNsb25l
KCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCB+QW5pbWF0aW9uVHJpZ2dlcigpIHsgfQorICAg
IHZpcnR1YWwgfkFuaW1hdGlvblRyaWdnZXIoKSA9IGRlZmF1bHQ7CiAKICAgICBlbnVtIGNsYXNz
IEFuaW1hdGlvblRyaWdnZXJUeXBlIHsgQXV0b0FuaW1hdGlvblRyaWdnZXJUeXBlLCBTY3JvbGxB
bmltYXRpb25UcmlnZ2VyVHlwZSB9OwogICAgIEFuaW1hdGlvblRyaWdnZXJUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX3R5cGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmgKaW5kZXggOGQ2OWQ4MGJiN2JhNjg4MjIyMGFhZGZh
ZTZlNTYxZWU0ZjM2MTEyOS4uOWYzNTY4NDllN2FlNmIyNDY0MzJmZDVlNWIxN2MwYmM1OGFkZDVh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1
bmN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1
bmN0aW9uLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgVGltaW5nRnVuY3Rpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxUaW1pbmdGdW5jdGlvbj4gewogcHVibGljOgogICAgIHZpcnR1YWwgUmVmPFRp
bWluZ0Z1bmN0aW9uPiBjbG9uZSgpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgflRpbWluZ0Z1
bmN0aW9uKCkgeyB9CisgICAgdmlydHVhbCB+VGltaW5nRnVuY3Rpb24oKSA9IGRlZmF1bHQ7CiAK
ICAgICBlbnVtIFRpbWluZ0Z1bmN0aW9uVHlwZSB7IExpbmVhckZ1bmN0aW9uLCBDdWJpY0Jlemll
ckZ1bmN0aW9uLCBTdGVwc0Z1bmN0aW9uLCBTcHJpbmdGdW5jdGlvbiB9OwogICAgIFRpbWluZ0Z1
bmN0aW9uVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgKaW5kZXggMTA2MzlkYWQy
NGQwYTBmMTk5MzQ1MDA3NTZiNjM0YTA1OWEwZWQ3Yy4uMjA2NWFjNDMyNmIyOGJlYTE4MmJiYTNj
NDI2YjAyM2E0MTI5MTY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9EZXN0aW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvRGVzdGluYXRpb24uaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgLy8gUG9y
dC1zcGVjaWZpYyBkZXZpY2UgaWRlbnRpZmljYXRpb24gaW5mb3JtYXRpb24gZm9yIGxpdmUvbG9j
YWwgaW5wdXQgc3RyZWFtcyBjYW4gYmUgcGFzc2VkIGluIHRoZSBpbnB1dERldmljZUlkLgogICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9EZXN0aW5hdGlvbj4gY3JlYXRlKEF1ZGlvSU9D
YWxsYmFjayYsIGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJZCwgdW5zaWduZWQgbnVtYmVyT2ZJ
bnB1dENoYW5uZWxzLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dENoYW5uZWxzLCBmbG9hdCBzYW1w
bGVSYXRlKTsKIAotICAgIHZpcnR1YWwgfkF1ZGlvRGVzdGluYXRpb24oKSB7IH0KKyAgICB2aXJ0
dWFsIH5BdWRpb0Rlc3RpbmF0aW9uKCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIHN0
YXJ0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uQ29uc3VtZXIuaApp
bmRleCA0ZjFmODk5N2IyNzUwZWQzM2ExNGFlMjcxZDAzNzc0N2Y3ZTU0NGM3Li5mN2MzMzg3NmYz
MGI4MjdmMzRhMDZiYTY5ZTJmYWEwZmU0NWEzM2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uQ29uc3VtZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uQ29uc3VtZXIuaApAQCAtMzks
NyArMzksNyBAQCBjbGFzcyBBdWRpb0J1czsKIAogY2xhc3MgQXVkaW9EZXN0aW5hdGlvbkNvbnN1
bWVyIDogcHVibGljIFJlZkNvdW50ZWQ8QXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyPiB7CiBwdWJs
aWM6Ci0gICAgdmlydHVhbCB+QXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyKCkgeyB9CisgICAgdmly
dHVhbCB+QXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyKCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVh
bCB2b2lkIHNldEZvcm1hdChzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0
ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb25zdW1lQXVkaW8oQXVkaW9CdXMqLCBzaXplX3Qg
bnVtYmVyT2ZGcmFtZXMpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmgKaW5kZXggYTU5YmMyMGYwODE0MjBhNjE1MTMw
Mjk3ZDNjNThkMjBhZjY2OGZkYy4uYWU5ZDk0ZDc2NzVlYjUxNDdiNDRhNmU1NzhmNWNhOGM2ZWEz
ZDk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9IYXJk
d2FyZUxpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9I
YXJkd2FyZUxpc3RlbmVyLmgKQEAgLTQyLDE0ICs0MiwxNCBAQCBjbGFzcyBBdWRpb0hhcmR3YXJl
TGlzdGVuZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxBdWRpb0hhcmR3YXJlTGlzdGVuZXI+IHsKIHB1
YmxpYzoKICAgICBjbGFzcyBDbGllbnQgewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+
Q2xpZW50KCkgeyB9CisgICAgICAgIHZpcnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVBY3RpdmUoKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBhdWRpb091dHB1dERldmljZUNoYW5nZWQoKSA9IDA7CiAgICAg
fTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8QXVkaW9IYXJkd2FyZUxpc3RlbmVy
PiBjcmVhdGUoQ2xpZW50Jik7Ci0gICAgdmlydHVhbCB+QXVkaW9IYXJkd2FyZUxpc3RlbmVyKCkg
eyB9CisgICAgdmlydHVhbCB+QXVkaW9IYXJkd2FyZUxpc3RlbmVyKCkgPSBkZWZhdWx0OwogICAg
IAogICAgIEF1ZGlvSGFyZHdhcmVBY3Rpdml0eVR5cGUgaGFyZHdhcmVBY3Rpdml0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fYWN0aXZpdHk7IH0KICAgICBib29sIG91dHB1dERldmljZVN1cHBvcnRzTG93
UG93ZXJNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9vdXRwdXREZXZpY2VTdXBwb3J0c0xvd1Bvd2Vy
TW9kZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9J
T0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0lPQ2FsbGJh
Y2suaAppbmRleCBhZDIzY2VmNmE4ZTVkOWM3NDUwNDEzNjQ5YTliYzcyY2RmNGZkNGYwLi5hNDM4
OTFmMGJmNDJmZDJiZGUwNmRkMDBjOTMyNGNmMWRhMjBjNWIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0lPQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0lPQ2FsbGJhY2suaApAQCAtNDIsNyArNDIsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgaXNQbGF5aW5nRGlkQ2hhbmdlKCkgPSAwOwogCi0g
ICAgdmlydHVhbCB+QXVkaW9JT0NhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCB+QXVkaW9JT0Nh
bGxiYWNrKCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Byb2Nlc3Nvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9Qcm9jZXNzb3IuaAppbmRleCA1ODliN2Y5OWE3NjhkMTFk
YjlkZGMyZWIyMWM3NmVlMjQxYjBjMDc2Li5jNzJkZjdiZGVjYjFhZjEzMzY5MTIyZTYwNWNiZjRj
NWQ3NmQyZGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Byb2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUHJv
Y2Vzc29yLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIH5BdWRpb1Byb2Nlc3NvcigpIHsgfQorICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc29y
KCkgPSBkZWZhdWx0OwogCiAgICAgLy8gRnVsbCBpbml0aWFsaXphdGlvbiBjYW4gYmUgZG9uZSBo
ZXJlIGluc3RlYWQgb2YgaW4gdGhlIGNvbnN0cnVjdG9yLgogICAgIHZpcnR1YWwgdm9pZCBpbml0
aWFsaXplKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9SZXNhbXBsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUmVz
YW1wbGVyLmgKaW5kZXggMjZlOGNjNzY2Mzg5YzE5Y2MxOWExOThhOTc5MTdjM2E0YzRiYWViZC4u
ZDExZmE5M2ViYWFjYmQ4ZTU2Yjk4ZGEzMzc1ZmFlMTQwNjhlM2JjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Jlc2FtcGxlci5oCkBAIC00MSw3ICs0MSw3IEBA
IGNsYXNzIEF1ZGlvUmVzYW1wbGVyIHsKIHB1YmxpYzoKICAgICBBdWRpb1Jlc2FtcGxlcigpOwog
ICAgIEF1ZGlvUmVzYW1wbGVyKHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMpOwotICAgIH5BdWRp
b1Jlc2FtcGxlcigpIHsgfQorICAgIH5BdWRpb1Jlc2FtcGxlcigpID0gZGVmYXVsdDsKICAgICAK
ICAgICAvLyBHaXZlbiBhbiBBdWRpb1NvdXJjZVByb3ZpZGVyLCBwcm9jZXNzKCkgcmVzYW1wbGVz
IHRoZSBzb3VyY2Ugc3RyZWFtIGludG8gZGVzdGluYXRpb25CdXMuCiAgICAgdm9pZCBwcm9jZXNz
KEF1ZGlvU291cmNlUHJvdmlkZXIqLCBBdWRpb0J1cyogZGVzdGluYXRpb25CdXMsIHNpemVfdCBm
cmFtZXNUb1Byb2Nlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
U2Vzc2lvbi5jcHAKaW5kZXggMzFjNWQ3ZmJlYzM2MzgyZjhmMzZlNzkxZTQxYjRiMmVlZmYyNTUw
Yi4uZmM2YTBhNTJjZDhhNzVmYTgwMjY1NmI2ODliMDFkZjJhMTRmNTdkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCkBAIC00OSw5ICs0OSw3
IEBAIEF1ZGlvU2Vzc2lvbjo6QXVkaW9TZXNzaW9uKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwog
fQogCi1BdWRpb1Nlc3Npb246On5BdWRpb1Nlc3Npb24oKQotewotfQorQXVkaW9TZXNzaW9uOjp+
QXVkaW9TZXNzaW9uKCkgPSBkZWZhdWx0OwogCiB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0Q2F0ZWdv
cnkoQ2F0ZWdvcnlUeXBlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9TZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Nlc3Npb24uaAppbmRleCA2NWE0ZDcwYjM4Y2UzMTJlODVlNDE1ZmM5ZmM1N2NlMDYyNmE5M2I5
Li4yN2ViOWM0YWQ3NDJlYzIzY2NlZmMyZGY4M2M4ZTZkMTlmOWZmNWI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaApAQCAtNzAsNyArNzAsNyBAQCBw
dWJsaWM6CiAKICAgICBjbGFzcyBNdXRlZFN0YXRlT2JzZXJ2ZXIgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgdmlydHVhbCB+TXV0ZWRTdGF0ZU9ic2VydmVyKCkgeyB9CisgICAgICAgIHZpcnR1YWwg
fk11dGVkU3RhdGVPYnNlcnZlcigpID0gZGVmYXVsdDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
aGFyZHdhcmVNdXRlZFN0YXRlRGlkQ2hhbmdlKEF1ZGlvU2Vzc2lvbiopID0gMDsKICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9Tb3VyY2VQcm92
aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9Tb3VyY2VQcm92aWRl
ci5oCmluZGV4IDc3MDhiNTI2NGEwYzNjYzg5NzM5MTZjN2FhMDBlZDRmODI4ZTkyYzguLmIyMjQ0
OWExY2EwY2Q5NWM0NDhlNTNjOGI4MDcxZDU0YmE4M2M0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU291cmNlUHJvdmlkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1NvdXJjZVByb3ZpZGVyLmgKQEAgLTQzLDcgKzQz
LDcgQEAgcHVibGljOgogICAgIC8vIElmIGEgY2xpZW50IGlzIHNldCwgd2UgY2FsbCBpdCBiYWNr
IHdoZW4gdGhlIGF1ZGlvIGZvcm1hdCBpcyBhdmFpbGFibGUgb3IgY2hhbmdlcy4KICAgICB2aXJ0
dWFsIHZvaWQgc2V0Q2xpZW50KEF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQqKSB7IH07CiAKLSAg
ICB2aXJ0dWFsIH5BdWRpb1NvdXJjZVByb3ZpZGVyKCkgeyB9CisgICAgdmlydHVhbCB+QXVkaW9T
b3VyY2VQcm92aWRlcigpID0gZGVmYXVsdDsKIH07CiAKIH0gLy8gV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9Tb3VyY2VQcm92aWRlckNs
aWVudC5oCmluZGV4IDI4NDg5ZTBlNjExOTUzMTc5MmIzOGQwMTZjYTQyYzA4OWRmZDliZWYuLjA0
NzA1OGYxY2YxYzMxZDI0N2I4YmVkOWQ0MjRjM2UwZjhhOTNiMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50
LmgKQEAgLTMxLDcgKzMxLDcgQEAgY2xhc3MgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEZvcm1hdChzaXplX3QgbnVtYmVyT2ZDaGFubmVs
cywgZmxvYXQgc2FtcGxlUmF0ZSkgPSAwOwogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgfkF1ZGlv
U291cmNlUHJvdmlkZXJDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5BdWRpb1NvdXJjZVByb3Zp
ZGVyQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcAppbmRleCA3NjUzODY4OTYxYWI4OTU4NTk5MzgwMmY2
ODJkMjdmODNiODQ5NjMwLi4wMDE4N2FlNjJhMmRlODgyNDFlZjBjZGRhYjhiZWNkZGY5NDU0ZjMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHAKQEAgLTYzLDkgKzYz
LDcgQEAgQmlxdWFkOjpCaXF1YWQoKQogICAgIHJlc2V0KCk7IC8vIGNsZWFyIGZpbHRlciBtZW1v
cnkKIH0KIAotQmlxdWFkOjp+QmlxdWFkKCkKLXsKLX0KK0JpcXVhZDo6fkJpcXVhZCgpID0gZGVm
YXVsdDsKIAogdm9pZCBCaXF1YWQ6OnByb2Nlc3MoY29uc3QgZmxvYXQqIHNvdXJjZVAsIGZsb2F0
KiBkZXN0UCwgc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURlBhbm5lci5jcHAKaW5kZXggY2QzMDRjNjc4M2MxMTQ2OTZiZWQxMWM5
Y2E5MWQzNWU1M2JkOTM3MC4uNmM4NzRhM2E1YWRiMDVjNGUyNTAxMmZmYmYzZTAzYjBlN2M0NTUx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5jcHAKQEAg
LTY5LDkgKzY5LDcgQEAgSFJURlBhbm5lcjo6SFJURlBhbm5lcihmbG9hdCBzYW1wbGVSYXRlLCBI
UlRGRGF0YWJhc2VMb2FkZXIqIGRhdGFiYXNlTG9hZGVyKQogICAgIEFTU0VSVChkYXRhYmFzZUxv
YWRlcik7CiB9CiAKLUhSVEZQYW5uZXI6On5IUlRGUGFubmVyKCkKLXsKLX0KK0hSVEZQYW5uZXI6
On5IUlRGUGFubmVyKCkgPSBkZWZhdWx0OwogCiBzaXplX3QgSFJURlBhbm5lcjo6ZmZ0U2l6ZUZv
clNhbXBsZVJhdGUoZmxvYXQgc2FtcGxlUmF0ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IDhlMzM1YWRlYjcy
NGJlMGQxYzQ1ZjcyMWRlYjU4NzhmNDA0NWFkNzcuLmVjNThhYjYwYjQwYWZjYmEyNmJhOWE1YjZj
Nzg3MDMxNDkxZTJhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTk1LDcgKzE5NSw3IEBAIHByaXZhdGU6CiBj
bGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQpOwogcHVibGljOgotICAgIFBsYXRmb3JtTWVk
aWFTZXNzaW9uQ2xpZW50KCkgeyB9CisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQoKSA9
IGRlZmF1bHQ7CiAgICAgCiAgICAgdmlydHVhbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFU
eXBlIG1lZGlhVHlwZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpNZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0ID0gMDsKQEAgLTIzNiw3ICsy
MzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZUZv
ck1lZGlhKCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+UGxhdGZvcm1N
ZWRpYVNlc3Npb25DbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5QbGF0Zm9ybU1lZGlhU2Vzc2lv
bkNsaWVudCgpID0gZGVmYXVsdDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXgg
YzI3MWQ5NTRhZjgyZGFjYmU5MjI1ZDAwNDJjOTcwNTNlMzg3MWQ2Mi4uM2ViZmFhMmUwMGVmYTBj
OWM4NTQxZGFmNDc3Y2E5NzEyM2Y1N2ExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTQ4
LDcgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgdXBkYXRlTm93UGxheWluZ0lu
Zm9JZk5lY2Vzc2FyeSgpOwogCi0gICAgdmlydHVhbCB+UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyKCkgeyB9CisgICAgdmlydHVhbCB+UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyKCkgPSBk
ZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlVXBkYXRlTm93UGxheWluZ0luZm8o
KSB7IH0KICAgICBib29sIGhhcyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZv
bHZlclN0YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZv
bHZlclN0YWdlLmNwcAppbmRleCAxMGRlNTY2ZDZkNWQzYzQzM2U1YTZkZjE1NjAzODg0Y2RlY2Rl
NTRjLi4wZmRlNDIxYWYyZjgyZmQ0ODc0ZDk0ZjZhZjFkNjM0NzIzOWM2NTZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXJTdGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyU3RhZ2Uu
Y3BwCkBAIC05NSw5ICs5NSw3IEBAIFJldmVyYkNvbnZvbHZlclN0YWdlOjpSZXZlcmJDb252b2x2
ZXJTdGFnZShjb25zdCBmbG9hdCogaW1wdWxzZVJlc3BvbnNlLCBzaXplX3QsCiAgICAgbV9wcmVE
ZWxheUJ1ZmZlci5hbGxvY2F0ZShkZWxheUJ1ZmZlclNpemUpOwogfQogCi1SZXZlcmJDb252b2x2
ZXJTdGFnZTo6flJldmVyYkNvbnZvbHZlclN0YWdlKCkKLXsKLX0KK1JldmVyYkNvbnZvbHZlclN0
YWdlOjp+UmV2ZXJiQ29udm9sdmVyU3RhZ2UoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmV2ZXJiQ29u
dm9sdmVyU3RhZ2U6OnByb2Nlc3NJbkJhY2tncm91bmQoUmV2ZXJiQ29udm9sdmVyKiBjb252b2x2
ZXIsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCmluZGV4IGQwYTVlODM4ODA2
MGM5NjJjNDc4MzUzYzM1MGM1NGZkMGE0MzhiNWIuLmY5NWY5Y2VhNzA3OTAyNzg1YTNlYWVlNzVj
MjUyMWRmNDU1M2RkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCkBAIC02NCw5ICs2NCw3IEBAIEF1ZGlvU2Vzc2lv
bjo6QXVkaW9TZXNzaW9uKCkKIHsKIH0KIAotQXVkaW9TZXNzaW9uOjp+QXVkaW9TZXNzaW9uKCkK
LXsKLX0KK0F1ZGlvU2Vzc2lvbjo6fkF1ZGlvU2Vzc2lvbigpID0gZGVmYXVsdDsKIAogQXVkaW9T
ZXNzaW9uOjpDYXRlZ29yeVR5cGUgQXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVh
bURlc2NyaXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9DQUF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24uY3BwCmluZGV4IDg2YmJjYjkzZjkwODYwZTJhOGViNjU3MzY5
YjdjNTA1ZTQ1YzA4MDcuLjVkM2JjN2Q2YjNlMDAzOGY4ZTczOGNkMDMwYTkyNTY2MTYzMjg2ZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9DQUF1ZGlvU3Ry
ZWFtRGVzY3JpcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uY3BwCkBAIC0zMyw5ICszMyw3IEBAIENBQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKCkKIHsKIH0KICAgICAK
LUNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbjo6fkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbigpCi17
Ci19CitDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb246On5DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24o
KSA9IGRlZmF1bHQ7CiAKIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uKGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiAmZGVzYykKICAgICA6
IG1fc3RyZWFtRGVzY3JpcHRpb24oZGVzYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9tYWMvRkZURnJhbWVNYWMuY3BwCmluZGV4IGFlMTAyM2VjMjY4ZmM1OTE2ZmIzZWFi
MzE0Zjg4OWNiZTQxYzliM2MuLjk5MDNjODMyNjNjZjM2NTQ5YmI5MjJkOTc2YTBmNjY0MmQyY2M1
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFt
ZU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0ZGVEZyYW1l
TWFjLmNwcApAQCAtOTQsOSArOTQsNyBAQCBGRlRGcmFtZTo6RkZURnJhbWUoY29uc3QgRkZURnJh
bWUmIGZyYW1lKQogICAgIG1lbWNweShpbWFnRGF0YSgpLCBmcmFtZS5tX2ZyYW1lLmltYWdwLCBu
Ynl0ZXMpOwogfQogCi1GRlRGcmFtZTo6fkZGVEZyYW1lKCkKLXsKLX0KK0ZGVEZyYW1lOjp+RkZU
RnJhbWUoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgRkZURnJhbWU6Om11bHRpcGx5KGNvbnN0IEZGVEZy
YW1lJiBmcmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1Njcm9sbENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIuaAppbmRleCAwZTQ0Nzg5ZjBhMTI2YWU4YTQyNzU0NjMxY2RmZjQwNmM5Yjk0
YjYwLi5iM2Y3NGI5MTQwMjMyM2RhNDI4MjAxY2I5NjkxNTJjYTk2MmVhZTY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCkBAIC00OSw3
ICs0OSw3IEBAIGNsYXNzIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjsKIAogY2xhc3MgU2Nyb2xsQ29u
dHJvbGxlckNsaWVudCB7CiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+U2Nyb2xsQ29udHJvbGxl
ckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgflNjcm9sbENvbnRyb2xsZXJDbGllbnQoKSA9IGRl
ZmF1bHQ7CiAKIHB1YmxpYzoKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWwuaAppbmRl
eCBhYzg0OWZjMjBkYTBjYjQyYmQ5Mjc2MTdmMTQxOGY5Yjc3MzBjMjcyLi4zODdmNzUzMzkxZGEy
MDEwNzk2NGE2MTUxNDcxNzg5OTFjOWI2MWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1vZGVsLmgKQEAgLTU1LDcgKzU1LDcgQEAg
cHVibGljOgogCiBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5Nb2RlbENsaWVudCB7CiBwdWJsaWM6Ci0g
ICAgdmlydHVhbCB+VmlkZW9GdWxsc2NyZWVuTW9kZWxDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFs
IH5WaWRlb0Z1bGxzY3JlZW5Nb2RlbENsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZv
aWQgaGFzVmlkZW9DaGFuZ2VkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdmlkZW9EaW1l
bnNpb25zQ2hhbmdlZChjb25zdCBGbG9hdFNpemUmKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNSW5zdGFuY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUluc3RhbmNlLmgKaW5kZXggYTcy
MzhmNGQ4ZjZlNWQ5NTZiNzZmMjQ1YmY0ZDFiZWVmYzEzNDE2MC4uMDRkZWJhYTdjMThiMGUxMjc1
NDRjYzFiODRmN2NiZjBhZmQ4YjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZW5jcnlwdGVkbWVkaWEvQ0RNSW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oCkBAIC00NSw3ICs0NSw3IEBAIHN0cnVj
dCBDRE1LZXlTeXN0ZW1Db25maWd1cmF0aW9uOwogCiBjbGFzcyBDRE1JbnN0YW5jZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPENETUluc3RhbmNlPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+Q0RNSW5z
dGFuY2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5DRE1JbnN0YW5jZSgpID0gZGVmYXVsdDsKIAogICAg
IGVudW0gY2xhc3MgSW1wbGVtZW50YXRpb25UeXBlIHsKICAgICAgICAgTW9jaywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByaXZhdGUuaAppbmRl
eCA1YzQ4NjVkYzJjNzU0NTc3OTEwZGQ0OTNmZGY4ZDcxZWVjNjRhNTExLi5iNmRmMTNhOTA1MTAy
MTg4MzU3NjhkOTlmYjYyNzNjY2RlMGIwOWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oCkBAIC0zOSw3ICszOSw3IEBAIHN0
cnVjdCBDRE1SZXN0cmljdGlvbnM7CiAKIGNsYXNzIENETVByaXZhdGUgewogcHVibGljOgotICAg
IHZpcnR1YWwgfkNETVByaXZhdGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5DRE1Qcml2YXRlKCkgPSBk
ZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzSW5pdERhdGFUeXBlKGNvbnN0IEF0
b21pY1N0cmluZyYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb25maWd1
cmF0aW9uKGNvbnN0IENETUtleVN5c3RlbUNvbmZpZ3VyYXRpb24mKSBjb25zdCA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL0dhbWVwYWRQcm92aWRlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9HYW1lcGFkUHJvdmlkZXIuaAppbmRl
eCBmMDUwMjQxMjU3YWNhODYxMDIwZDlmMjI4YmU3ZWJlODM0ZmU2MWU2Li5jM2I5MzlmZDg4MTg2
MzNiNWVkZDUzZmNhMmVhMDEzZDIwYzJiNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL0dhbWVwYWRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvR2FtZXBhZFByb3ZpZGVyLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3Mg
UGxhdGZvcm1HYW1lcGFkOwogCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBHYW1lcGFkUHJvdmlkZXIg
ewogcHVibGljOgotICAgIHZpcnR1YWwgfkdhbWVwYWRQcm92aWRlcigpIHsgfQorICAgIHZpcnR1
YWwgfkdhbWVwYWRQcm92aWRlcigpID0gZGVmYXVsdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBHYW1lcGFkUHJvdmlkZXImIHNpbmdsZXRvbigpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyB2b2lkIHNldFNoYXJlZFByb3ZpZGVyKEdhbWVwYWRQcm92aWRlciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9HYW1lcGFkUHJvdmlkZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvR2FtZXBhZFByb3ZpZGVyQ2xpZW50
LmgKaW5kZXggYmJiZjU5NzQ4ZmNmM2RiNDc4OTJmOTUwYzUzYjhiOTY2MWY2NDgyYi4uMDZlYzQ5
YWVmM2U0NDA1YzJkN2EyYTVkZmI3YzI4Yzk1ODU0NmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9HYW1lcGFkUHJvdmlkZXJDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL0dhbWVwYWRQcm92aWRlckNsaWVudC5oCkBAIC0z
NSw3ICszNSw3IEBAIGNsYXNzIFBsYXRmb3JtR2FtZXBhZDsKIAogY2xhc3MgR2FtZXBhZFByb3Zp
ZGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5HYW1lcGFkUHJvdmlkZXJDbGllbnQo
KSB7IH0KKyAgICB2aXJ0dWFsIH5HYW1lcGFkUHJvdmlkZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5pdGlhbENvbm5lY3RlZEdhbWVwYWRzKGNvbnN0IFZlY3Rv
cjxQbGF0Zm9ybUdhbWVwYWQqPiYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUdhbWVw
YWRDb25uZWN0ZWQoUGxhdGZvcm1HYW1lcGFkJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvUGxhdGZvcm1HYW1lcGFkLmgKaW5kZXggZWIyNWZjMzg2MDcwN2E4
N2NiODRlYTY5OTM4YzA0NDI2YzJhYjg0Ny4uZDRiZDJlNWNhYjI0NzEzMTc2ODc2MzZkYTkyNjgz
MDNjMGM2MzFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9Q
bGF0Zm9ybUdhbWVwYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL1Bs
YXRmb3JtR2FtZXBhZC5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgUGxhdGZvcm1HYW1lcGFkIHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5QbGF0Zm9ybUdh
bWVwYWQoKSB7IH0KKyAgICB2aXJ0dWFsIH5QbGF0Zm9ybUdhbWVwYWQoKSA9IGRlZmF1bHQ7CiAK
ICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQogICAgIHVuc2ln
bmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAK
aW5kZXggNzc4MGVhOGZkYjNhZjMwZTQwNzg4ZmUyYzQ4MTNlZjg0MGU3NzJiMC4uMjlmODk5Nzk4
ODI2OTM1NDI4M2U4MTI5OTFjNjM5Njc1NGYyYzVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBA
IC02Niw5ICs2Niw3IEBAIERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6RGlzcGxheVJlZnJlc2hNb25p
dG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKIHsKIH0KIAotRGlzcGxheVJlZnJlc2hN
b25pdG9yOjp+RGlzcGxheVJlZnJlc2hNb25pdG9yKCkKLXsKLX0KK0Rpc3BsYXlSZWZyZXNoTW9u
aXRvcjo6fkRpc3BsYXlSZWZyZXNoTW9uaXRvcigpID0gZGVmYXVsdDsKIAogdm9pZCBEaXNwbGF5
UmVmcmVzaE1vbml0b3I6OmhhbmRsZURpc3BsYXlSZWZyZXNoZWROb3RpZmljYXRpb25Pbk1haW5U
aHJlYWQodm9pZCogZGF0YSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKaW5k
ZXggZjA4YWViZTcyZTdlMjk0YWI0OWZkZDVhZDcwM2JlNWQyNjFmMmI4Zi4uNTk0ZDFmMDRhZjA1
MDUwZDVmMmU5NWNmNmNlY2UyNWJmMTI5MDM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFu
YWdlci5jcHAKQEAgLTM0LDkgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjp+RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcigp
Ci17Ci19CitEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjp+RGlzcGxheVJlZnJlc2hNb25p
dG9yTWFuYWdlcigpID0gZGVmYXVsdDsKIAogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlciYg
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IDg3ZWU1
NWQ3ZWI3YTM1MWM2Y2ZlMjNmNGRiNjA4ZTI1ZTVmZmNhNjcuLjAwNDhmZTg5ZmFiYTJhYmY3M2Jh
ODZhODQwNjRhNmI3MzgxMWZmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC00Myw3ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIC8vIHRoaXMgc2l0dWF0aW9uLCBpZiB0aGUgZnVuY3Rpb24gaGFzIGEgcmV0dXJuIHZhbHVl
LCAwIGlzIHJldHVybmVkLgogY2xhc3MgRXh0ZW5zaW9uczNEIHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5FeHRlbnNpb25zM0QoKSB7fQorICAgIHZpcnR1YWwgfkV4dGVuc2lvbnMzRCgpID0gZGVm
YXVsdDsKIAogICAgIC8vIFN1cHBvcnRlZCBleHRlbnNpb25zOgogICAgIC8vICAgR0xfRVhUX3Rl
eHR1cmVfZm9ybWF0X0JHUkE4ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFBvbHlnb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UG9seWdvbi5oCmluZGV4IGFiYTRiZDllZWZhN2U4NTU3Yjk5ZWYxODcwZDJhZjRm
MWRkZGNjMzMuLmEwY2Y4YzZjZTkwNmUwNzQ1MWNlZDU3ZjBjYWM5ZWMyYjUzOGIyNjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9seWdvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9seWdvbi5oCkBAIC03
Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFZlcnRleFBhaXIgewogcHVibGljOgotICAg
IHZpcnR1YWwgflZlcnRleFBhaXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5WZXJ0ZXhQYWlyKCkgPSBk
ZWZhdWx0OwogCiAgICAgdmlydHVhbCBjb25zdCBGbG9hdFBvaW50JiB2ZXJ0ZXgxKCkgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgY29uc3QgRmxvYXRQb2ludCYgdmVydGV4MigpIGNvbnN0ID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4
IGE0NDY5OTkyYWE1OGUwMzQ1N2RmNTliYTgyYTMwZjEzNjVjMmUzNTguLjFiYTIyMjlmMDk2Yjdl
NmI2NGNhNTY2MmRmNGFkNjFhZjI0NTg1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaApAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBleHRlbnRzKCkgPSAwOwogICAgIHZpcnR1
YWwgR2x5cGhVbmRlcmxpbmVUeXBlIHVuZGVybGluZVR5cGUoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGFkdmFuY2UoKSA9IDA7Ci0gICAgdmlydHVhbCB+R2x5cGhUb1BhdGhUcmFuc2xhdG9yKCkg
eyB9CisgICAgdmlydHVhbCB+R2x5cGhUb1BhdGhUcmFuc2xhdG9yKCkgPSBkZWZhdWx0OwogfTsK
IEdseXBoVG9QYXRoVHJhbnNsYXRvcjo6R2x5cGhVbmRlcmxpbmVUeXBlIGNvbXB1dGVVbmRlcmxp
bmVUeXBlKGNvbnN0IFRleHRSdW4mLCBjb25zdCBHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGluZGV4
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZUZvbnRzLmNwcAppbmRleCBiNDAwZDgwOTQyYTI2ZTE1YzFkNWE3MDJlOWU0ZDc5NTFmODg2
MzRlLi4zN2RjYmYwMDkyOWMzMjE3MTUxODM4ZmQwZjljNjFlYzgyNDRkNDY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNw
cApAQCAtMTEzLDkgKzExMyw3IEBAIEZvbnRDYXNjYWRlRm9udHM6OkZvbnRDYXNjYWRlRm9udHMo
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhKQogICAgIG1fcmVhbGl6ZWRGYWxs
YmFja1Jhbmdlcy5hcHBlbmQoRm9udFJhbmdlcyhGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRG
b3JQbGF0Zm9ybURhdGEocGxhdGZvcm1EYXRhKSkpOwogfQogCi1Gb250Q2FzY2FkZUZvbnRzOjp+
Rm9udENhc2NhZGVGb250cygpCi17Ci19CitGb250Q2FzY2FkZUZvbnRzOjp+Rm9udENhc2NhZGVG
b250cygpID0gZGVmYXVsdDsKIAogdm9pZCBGb250Q2FzY2FkZUZvbnRzOjpkZXRlcm1pbmVQaXRj
aChjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRSYW5nZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHAKaW5kZXggNGZmZDBm
NjBkZmZjNDY3YjZmM2I4ZjlkYWI4NzY3ZWUzMTgzZDU0My4uYThlZWMxMGQ4YTcyMDBlZDVmMDk3
NTQyYzdhZDIxYTY3MjI5NjA0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFJhbmdlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFJhbmdlcy5jcHAKQEAgLTM4LDkgKzM4LDcgQEAgY29uc3QgRm9udCogRm9udFJh
bmdlczo6UmFuZ2U6OmZvbnQoRXh0ZXJuYWxSZXNvdXJjZURvd25sb2FkUG9saWN5IHBvbGljeSkg
Y29uc3QKICAgICByZXR1cm4gbV9mb250QWNjZXNzb3ItPmZvbnQocG9saWN5KTsKIH0KIAotRm9u
dFJhbmdlczo6Rm9udFJhbmdlcygpCi17Ci19CitGb250UmFuZ2VzOjpGb250UmFuZ2VzKCkgPSBk
ZWZhdWx0OwogCiBjbGFzcyBUcml2aWFsRm9udEFjY2Vzc29yIGZpbmFsIDogcHVibGljIEZvbnRB
Y2Nlc3NvciB7CiBwdWJsaWM6CkBAIC03NCw5ICs3Miw3IEBAIEZvbnRSYW5nZXM6OkZvbnRSYW5n
ZXMoUmVmUHRyPEZvbnQ+JiYgZm9udCkKICAgICAgICAgbV9yYW5nZXMuYXBwZW5kKFJhbmdlIHsg
MCwgMHg3RkZGRkZGRiwgVHJpdmlhbEZvbnRBY2Nlc3Nvcjo6Y3JlYXRlKGZvbnQucmVsZWFzZU5v
bk51bGwoKSkgfSk7CiB9CiAKLUZvbnRSYW5nZXM6On5Gb250UmFuZ2VzKCkKLXsKLX0KK0ZvbnRS
YW5nZXM6On5Gb250UmFuZ2VzKCkgPSBkZWZhdWx0OwogCiBHbHlwaERhdGEgRm9udFJhbmdlczo6
Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgY2hhcmFjdGVyLCBFeHRlcm5hbFJlc291cmNl
RG93bmxvYWRQb2xpY3kgcG9saWN5KSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3IuaAppbmRleCA4ZjdjYmIwNmJiOWEwODdlOGNmYWEw
ODk0YWUyMmQzMzRlZTExYjNiLi5jZTgzOTEyZTNkMzllYjU3ZWM4YzJiN2Q2YjA3YTEzNTVkNzM0
MzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2Vs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0
b3IuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBGb250U2VsZWN0b3JDbGllbnQ7CiAKIGNsYXNz
IEZvbnRBY2Nlc3NvciA6IHB1YmxpYyBSZWZDb3VudGVkPEZvbnRBY2Nlc3Nvcj4gewogcHVibGlj
OgotICAgIHZpcnR1YWwgfkZvbnRBY2Nlc3NvcigpIHsgfQorICAgIHZpcnR1YWwgfkZvbnRBY2Nl
c3NvcigpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgY29uc3QgRm9udCogZm9udChFeHRlcm5h
bFJlc291cmNlRG93bmxvYWRQb2xpY3kpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNM
b2FkaW5nKCkgY29uc3QgPSAwOwpAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAKIGNsYXNzIEZv
bnRTZWxlY3RvciA6IHB1YmxpYyBSZWZDb3VudGVkPEZvbnRTZWxlY3Rvcj4gewogcHVibGljOgot
ICAgIHZpcnR1YWwgfkZvbnRTZWxlY3RvcigpIHsgfQorICAgIHZpcnR1YWwgfkZvbnRTZWxlY3Rv
cigpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgRm9udFJhbmdlcyBmb250UmFuZ2VzRm9yRmFt
aWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYpID0gMDsKICAg
ICB2aXJ0dWFsIFJlZlB0cjxGb250PiBmYWxsYmFja0ZvbnRBdChjb25zdCBGb250RGVzY3JpcHRp
b24mLCBzaXplX3QpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRTZWxlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFNlbGVjdG9yQ2xpZW50LmgKaW5kZXggYTgzNDY4NTgwYjRlYzMxNWE1YTUwMDA0
YzgxZjM5YjRhMmJkYzRiYi4uODk3ZDQ2OWI0ZjVjYzU1NzRlMmZmYTBlZmZhNWVmM2I0Mzk0MTIy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVj
dG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNl
bGVjdG9yQ2xpZW50LmgKQEAgLTMxLDcgKzMxLDcgQEAgY2xhc3MgRm9udFNlbGVjdG9yOwogCiBj
bGFzcyBGb250U2VsZWN0b3JDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgfkZvbnRTZWxl
Y3RvckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkZvbnRTZWxlY3RvckNsaWVudCgpID0gZGVm
YXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBmb250c05lZWRVcGRhdGUoRm9udFNlbGVjdG9yJikg
PSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YWRpZW50SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGll
bnRJbWFnZS5jcHAKaW5kZXggNzYwZGI2NjRmZjBlZmU0YjgxMWMxMTExNDlhOWQyNzlkOTk1Mjhm
Yi4uZjMxZTVhNDdkYjU5OWYxYTEzNjE3YWMxMDRjOWZhNWU2NjQ2NWZjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnRJbWFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnRJbWFnZS5jcHAKQEAgLTM3
LDkgKzM3LDcgQEAgR3JhZGllbnRJbWFnZTo6R3JhZGllbnRJbWFnZShHcmFkaWVudCYgZ2VuZXJh
dG9yLCBjb25zdCBGbG9hdFNpemUmIHNpemUpCiAgICAgc2V0Q29udGFpbmVyU2l6ZShzaXplKTsK
IH0KIAotR3JhZGllbnRJbWFnZTo6fkdyYWRpZW50SW1hZ2UoKQotewotfQorR3JhZGllbnRJbWFn
ZTo6fkdyYWRpZW50SW1hZ2UoKSA9IGRlZmF1bHQ7CiAKIEltYWdlRHJhd1Jlc3VsdCBHcmFkaWVu
dEltYWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCYgZGVzdENvbnRleHQsIGNvbnN0IEZsb2F0UmVj
dCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Ig
Y29tcG9zaXRlT3AsIEJsZW5kTW9kZSBibGVuZE1vZGUsIERlY29kaW5nTW9kZSwgSW1hZ2VPcmll
bnRhdGlvbkRlc2NyaXB0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggMmNjN2U1YWRlNTE1YjFkYjQ2YzA2
ZDBkYzEyZmJjMGMwNWE3YzZhMy4uYmE4NmJjMjAwMGRlOGUzNDFiYWJmMzQ2NjlmNzMxN2NmMWE5
YTBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQzRC5oCkBAIC03MzEsMTMgKzczMSwxMyBAQCBwdWJsaWM6CiAgICAgY2xhc3Mg
Q29udGV4dExvc3RDYWxsYmFjayB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQg
b25Db250ZXh0TG9zdCgpID0gMDsKLSAgICAgICAgdmlydHVhbCB+Q29udGV4dExvc3RDYWxsYmFj
aygpIHt9CisgICAgICAgIHZpcnR1YWwgfkNvbnRleHRMb3N0Q2FsbGJhY2soKSA9IGRlZmF1bHQ7
CiAgICAgfTsKIAogICAgIGNsYXNzIEVycm9yTWVzc2FnZUNhbGxiYWNrIHsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBvbkVycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIEdDM0RpbnQgaWQpID0gMDsKLSAgICAgICAgdmlydHVhbCB+RXJyb3JNZXNzYWdlQ2FsbGJh
Y2soKSB7IH0KKyAgICAgICAgdmlydHVhbCB+RXJyb3JNZXNzYWdlQ2FsbGJhY2soKSA9IGRlZmF1
bHQ7CiAgICAgfTsKIAogICAgIHZvaWQgc2V0Q29udGV4dExvc3RDYWxsYmFjayhzdGQ6OnVuaXF1
ZV9wdHI8Q29udGV4dExvc3RDYWxsYmFjaz4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDA1OGVmMmExOWMzM2ViOWI1NTdjYWYw
NGY2MWE0NmVkZWZjYjQ2ZWQuLjRmNGE0M2M5YzMyNWM0N2JjODkwZjEwN2ZlMzY2MjdhOWE0M2M0
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTY4LDcgKzY4LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBBc1RleHRGbGFnczsKIGNs
YXNzIEFuaW1hdGlvblZhbHVlIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICB2aXJ0dWFsIH5BbmltYXRpb25WYWx1ZSgpIHsgfQorICAgIHZpcnR1YWwgfkFuaW1h
dGlvblZhbHVlKCkgPSBkZWZhdWx0OwogCiAgICAgZG91YmxlIGtleVRpbWUoKSBjb25zdCB7IHJl
dHVybiBtX2tleVRpbWU7IH0KICAgICBjb25zdCBUaW1pbmdGdW5jdGlvbiogdGltaW5nRnVuY3Rp
b24oKSBjb25zdCB7IHJldHVybiBtX3RpbWluZ0Z1bmN0aW9uLmdldCgpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgK
aW5kZXggOWYyY2UxMWEzYzY0MDc4YTEwNzJkYmNhZGFiMzBlMzI4MzY5MDU2Ni4uM2NhNDY3OGZl
NzU3N2MyNjE2MThmYTg4MjFkN2MxZTZmYTQ0MTk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtODQsNyAr
ODQsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yOwogICAg
IAogY2xhc3MgR3JhcGhpY3NMYXllckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+R3Jh
cGhpY3NMYXllckNsaWVudCgpIHt9CisgICAgdmlydHVhbCB+R3JhcGhpY3NMYXllckNsaWVudCgp
ID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCB0aWxlZEJhY2tpbmdVc2FnZUNoYW5nZWQo
Y29uc3QgR3JhcGhpY3NMYXllciosIGJvb2wgLyp1c2luZ1RpbGVkQmFja2luZyovKSB7IH0KICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXJGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyRmFjdG9yeS5oCmluZGV4IGJjMDljYWYwNmI1NmIzN2RhMjUyNjdhOGM1MjExOWRlYzJh
NTU1MzQuLmE3NDA1ZmMyMzAxMzAyMWNhZmQ5ZjFkOGRiYjk0ZDVmMDljN2NlYzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJGYWN0b3J5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckZh
Y3RvcnkuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdy
YXBoaWNzTGF5ZXJGYWN0b3J5IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5HcmFwaGljc0xheWVy
RmFjdG9yeSgpIHsgfQorICAgIHZpcnR1YWwgfkdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgPSBkZWZh
dWx0OwogCiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gY3JlYXRl
R3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyOjpUeXBlLCBHcmFwaGljc0xheWVyQ2xpZW50Jikg
PSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXJVcGRhdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyVXBkYXRlci5oCmluZGV4IDQ3MmYyZDNiMGM5OGM4MmFjODg0NWFhOTUyOTBh
MjhmZDE4ZWVmMzIuLjliNzBhYzllYTAxZjA0OGJhYzgwMWMwNWYyNjZkMTM1MDBkNDQ3ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJV
cGRhdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllclVwZGF0ZXIuaApAQCAtMzQsNyArMzQsNyBAQCBjbGFzcyBHcmFwaGljc0xheWVyVXBkYXRl
cjsKIAogY2xhc3MgR3JhcGhpY3NMYXllclVwZGF0ZXJDbGllbnQgewogcHVibGljOgotICAgIHZp
cnR1YWwgfkdyYXBoaWNzTGF5ZXJVcGRhdGVyQ2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+R3Jh
cGhpY3NMYXllclVwZGF0ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIGZs
dXNoTGF5ZXJzU29vbihHcmFwaGljc0xheWVyVXBkYXRlciYpID0gMDsKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHZpcnR1YWwgUmVmUHRyPERp
c3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3Jt
RGlzcGxheUlEKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZS5jcHAKaW5kZXggMGZlYjJkMjdiZGRlMTI4NTVlNjYyOTdkYzAxYzMzM2Q4NTdkOGIzNC4u
MTkxOGE2ZDdmZGYyMDYyMmJiNTU4NGQ4MWVlNzcwODZiMTk2ZTlhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcApAQCAtNTIsOSArNTIsNyBAQCBJbWFnZTo6
SW1hZ2UoSW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIpCiB7CiB9CiAKLUltYWdlOjp+SW1hZ2UoKQot
ewotfQorSW1hZ2U6On5JbWFnZSgpID0gZGVmYXVsdDsKIAogSW1hZ2UmIEltYWdlOjpudWxsSW1h
Z2UoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPYnNl
cnZlci5oCmluZGV4IDY5ODc2ZGJiODQzOWM3NDcwNDY5Y2Y5MTkyNzU2NjBiMmU5ODM5MWIuLjgy
NjljYzRlZGMzN2NlNWY0ZGMxNjVmYmQ0ZDYxYzM2OThhNDI3ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9ic2VydmVyLmgKQEAgLTM4LDcgKzM4LDcg
QEAgY2xhc3MgVVJMOwogLy8gZHJhd2luZywgYW5kIGFuaW1hdGluZy4KIGNsYXNzIEltYWdlT2Jz
ZXJ2ZXIgewogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgfkltYWdlT2JzZXJ2ZXIoKSB7fQorICAg
IHZpcnR1YWwgfkltYWdlT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CiBwdWJsaWM6CiAgICAgdmlydHVh
bCBVUkwgc291cmNlVXJsKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIG1pbWVUeXBl
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuY3BwCmluZGV4IGI5NzY5OGViMjRhYzc3Y2IzZDg3NWE5ZjhiZjJjNjdjMDI1MzNm
NjguLjhiM2ZhYTQ2NDZjNzNjMzgyZDkxYWIyYTg1MmE2M2JmYTE5OGRlODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKQEAgLTU5LDkg
KzU5LDcgQEAgSW1hZ2VTb3VyY2U6OkltYWdlU291cmNlKEltYWdlKiBpbWFnZSwgQWxwaGFPcHRp
b24gYWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQcm8KIHsKIH0KIAotSW1hZ2VTb3VyY2U6On5J
bWFnZVNvdXJjZSgpCi17Ci19CitJbWFnZVNvdXJjZTo6fkltYWdlU291cmNlKCkgPSBkZWZhdWx0
OwogCiB2b2lkIEltYWdlU291cmNlOjpjbGVhckZyYW1lQnVmZmVyQ2FjaGUoc2l6ZV90IGNsZWFy
QmVmb3JlRnJhbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgKaW5kZXggMGNmMGEwYjJmODEyNTgwZTE1
NzY1NjU3OTYyODk4N2E1Y2ZmYjc5ZS4uZDQxYTU5N2ZiNTA5NzFhNzBlYzg2MmU3ZGI4MmNkYWU4
NzMyZWUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0luYmFuZFRleHRUcmFja1ByaXZhdGUuaApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFdlYlZUVAogICAgIH07CiAgICAgc3RhdGljIFJlZlB0cjxJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlPiBjcmVhdGUoQ3VlRm9ybWF0IGZvcm1hdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IElu
YmFuZFRleHRUcmFja1ByaXZhdGUoZm9ybWF0KSk7IH0KLSAgICB2aXJ0dWFsIH5JbmJhbmRUZXh0
VHJhY2tQcml2YXRlKCkgeyB9CisgICAgdmlydHVhbCB+SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZSgp
ID0gZGVmYXVsdDsKIAogICAgIEluYmFuZFRleHRUcmFja1ByaXZhdGVDbGllbnQqIGNsaWVudCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fY2xpZW50OyB9CiAgICAgdm9pZCBzZXRDbGllbnQo
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUNsaWVudCogY2xpZW50KSB7IG1fY2xpZW50ID0gY2xpZW50
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQ2xpZW50LmgKaW5kZXggMTdiNmZlMzYzNjAzYzFjMWY3
M2MxOTMyOGNmZTg5ODBmZjFlY2RmOC4uMGM1NGM4OWEzNzMwZTJhOWU1NGI5ODU2MjRmZDcxNzM3
YWNiZGExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0luYmFuZFRleHRUcmFja1ByaXZhdGVDbGllbnQuaApAQCAtMjQzLDcgKzI0Myw3
IEBAIGlubGluZSBib29sIEdlbmVyaWNDdWVEYXRhOjpkb2VzRXh0ZW5kQ3VlRGF0YShjb25zdCBH
ZW5lcmljQ3VlRGF0YSYgb3RoZXIpIGNvbnN0CiAgICAgCiBjbGFzcyBJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlQ2xpZW50IDogcHVibGljIFRyYWNrUHJpdmF0ZUJhc2VDbGllbnQgewogcHVibGljOgot
ICAgIHZpcnR1YWwgfkluYmFuZFRleHRUcmFja1ByaXZhdGVDbGllbnQoKSB7IH0KKyAgICB2aXJ0
dWFsIH5JbmJhbmRUZXh0VHJhY2tQcml2YXRlQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmly
dHVhbCB2b2lkIGFkZERhdGFDdWUoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFU
aW1lJiBlbmQsIGNvbnN0IHZvaWQqLCB1bnNpZ25lZCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9MZWdhY3lDRE1TZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9MZWdhY3lDRE1TZXNzaW9uLmgKaW5kZXggYWYwYjIz
NTM2NGRjZjRmMjcwMWY3ODQyMGZjNjY2N2M2Nzc2NTcwOS4uN2Q3N2RiYTFlYTM0MGM4YjMzMzQw
OTdmYzc3YmFlYWNmM2Q0MTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTGVnYWN5Q0RNU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0xlZ2FjeUNETVNlc3Npb24uaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIExlZ2FjeUNETVNlc3Npb25DbGllbnQgewogcHVibGljOgotICAg
IHZpcnR1YWwgfkxlZ2FjeUNETVNlc3Npb25DbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5MZWdh
Y3lDRE1TZXNzaW9uQ2xpZW50KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgdm9pZCBzZW5kTWVz
c2FnZShVaW50OEFycmF5KiwgU3RyaW5nIGRlc3RpbmF0aW9uVVJMKSA9IDA7CiAKICAgICBlbnVt
IHsKQEAgLTYxLDcgKzYxLDcgQEAgZW51bSBMZWdhY3lDRE1TZXNzaW9uVHlwZSB7CiAKIGNsYXNz
IExlZ2FjeUNETVNlc3Npb24gewogcHVibGljOgotICAgIHZpcnR1YWwgfkxlZ2FjeUNETVNlc3Np
b24oKSB7IH0KKyAgICB2aXJ0dWFsIH5MZWdhY3lDRE1TZXNzaW9uKCkgPSBkZWZhdWx0OwogCiAg
ICAgdmlydHVhbCBMZWdhY3lDRE1TZXNzaW9uVHlwZSB0eXBlKCkgeyByZXR1cm4gQ0RNU2Vzc2lv
blR5cGVVbmtub3duOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldENsaWVudChMZWdhY3lDRE1TZXNz
aW9uQ2xpZW50KikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldC5oCmluZGV4IDNjODE3NWM3YThjMmNmODZkMWVhYWYy
NDRmNDM1OTE0ZjEyOTZmZDYuLjM2YjcyOTQ0ZDcxNjNkMjAxYTVmNmVmM2Y2MzI3MjFjNjNiNzY2
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWJhY2tUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXliYWNrVGFyZ2V0LmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgTWVkaWFQbGF5YmFja1Rh
cmdldENvbnRleHQ7CiAKIGNsYXNzIE1lZGlhUGxheWJhY2tUYXJnZXQgOiBwdWJsaWMgUmVmQ291
bnRlZDxNZWRpYVBsYXliYWNrVGFyZ2V0PiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+TWVkaWFQ
bGF5YmFja1RhcmdldCgpIHsgfQorICAgIHZpcnR1YWwgfk1lZGlhUGxheWJhY2tUYXJnZXQoKSA9
IGRlZmF1bHQ7CiAKICAgICBlbnVtIFRhcmdldFR5cGUgeyBBVkZvdW5kYXRpb24sIE1vY2sgfTsK
ICAgICB2aXJ0dWFsIFRhcmdldFR5cGUgdGFyZ2V0VHlwZSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tU
YXJnZXRDbGllbnQuaAppbmRleCBmYjAzOGY2MDk0ZDhhN2ExYjRmY2EzOGFjYWRhYzA5ZDQ2ODll
OTBlLi5lMjljOWU2NmVlNzQ4NWEyMzU1ZGJlM2MyZDZmMmM0NmIzNTAzYmY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0Q2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldENsaWVudC5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIE1lZGlhUGxheWJhY2tUYXJn
ZXQ7CiAKIGNsYXNzIE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQgewogcHVibGljOgotICAgIHZp
cnR1YWwgfk1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5NZWRp
YVBsYXliYWNrVGFyZ2V0Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFBsYXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKGJvb2wpID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuaAppbmRleCBhZmUwYmQzZWU0ZjBlMzdlZmI2YWU3ZWU5
NTAwYzA0YzdiZjYyMjQ1Li41NDIwMTNkMDU5YWU4ODUxZGU2Y2U4OTllNzJlNDE4ZGE1NDNhYzQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIE1lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXIgewogcHVibGljOgogICAgIGNsYXNzIENsaWVudCB7CiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSB7IH0KKyAgICAgICAgdmlydHVh
bCB+Q2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZv
aWQgc2V0UGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDQ5
ZGUwZTRhNDBiNTVmZGYwODRiNGVkNDQzMDY4MzMzNDE2MzJkYTAuLmM1YmM0MzhhNTdiY2EyMTFh
ZmQyMDVkZWUwMzMyYWJhZmNmZDc5NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBQbGF0Zm9y
bU1lZGlhIHsKIAogc3RydWN0IE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMgewogCi0gICAg
TWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycygpIHsgfQorICAgIE1lZGlhRW5naW5lU3VwcG9y
dFBhcmFtZXRlcnMoKSA9IGRlZmF1bHQ7CiAKICAgICBDb250ZW50VHlwZSB0eXBlOwogICAgIFVS
TCB1cmw7CkBAIC0xNjEsNyArMTYxLDcgQEAgY2xhc3MgTWVkaWFQbGF5ZXJSZXF1ZXN0SW5zdGFs
bE1pc3NpbmdQbHVnaW5zQ2FsbGJhY2s7CiAKIGNsYXNzIE1lZGlhUGxheWVyQ2xpZW50IHsKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIH5NZWRpYVBsYXllckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwg
fk1lZGlhUGxheWVyQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgLy8gdGhlIG5ldHdvcmsgc3Rh
dGUgaGFzIGNoYW5nZWQKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJOZXR3b3JrU3RhdGVD
aGFuZ2VkKE1lZGlhUGxheWVyKikgeyB9CkBAIC0zMDksNyArMzA5LDcgQEAgcHVibGljOgogCiBj
bGFzcyBNZWRpYVBsYXllclN1cHBvcnRzVHlwZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVh
bCB+TWVkaWFQbGF5ZXJTdXBwb3J0c1R5cGVDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5NZWRp
YVBsYXllclN1cHBvcnRzVHlwZUNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgYm9v
bCBtZWRpYVBsYXllck5lZWRzU2l0ZVNwZWNpZmljSGFja3MoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyRG9jdW1lbnRIb3N0KCkgY29uc3Qg
eyByZXR1cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMDI5ZjgzYWU3MzhhNGFjNWE5NjY5
OTJmMmNiMDc4MTZmOTQ5YjE4Zi4uMjMwOGI3ZDhkYWFmMjFiODlkZGM1NzQwZTk5OTg4Mjg5MTA0
YWUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQzLDggKzQzLDggQEAgY2xhc3MgUGxhdGZvcm1UZXh0VHJh
Y2s7CiBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgotICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQot
ICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQorICAgIE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZSgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIH5NZWRpYVBs
YXllclByaXZhdGVJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgbG9h
ZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0
ZS5oCmluZGV4IDcxODY1ODkxMGJjZTM5MmI5NWRhNTQ3NmU2ODk4OTk5ZTY0NTc4NDcuLmRiNTVk
MTFlMTI4OGE3MzZlNmRkMmYzZmFhYjExM2VjNzgwZjQ2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCkBAIC00Niw4
ICs0Niw4IEBAIGNsYXNzIE1lZGlhU291cmNlUHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPE1l
ZGlhU291cmNlUHJpdmF0ZT4gewogcHVibGljOgogICAgIHR5cGVkZWYgVmVjdG9yPFN0cmluZz4g
Q29kZWNzQXJyYXk7CiAKLSAgICBNZWRpYVNvdXJjZVByaXZhdGUoKSB7IH0KLSAgICB2aXJ0dWFs
IH5NZWRpYVNvdXJjZVByaXZhdGUoKSB7IH0KKyAgICBNZWRpYVNvdXJjZVByaXZhdGUoKSA9IGRl
ZmF1bHQ7CisgICAgdmlydHVhbCB+TWVkaWFTb3VyY2VQcml2YXRlKCkgPSBkZWZhdWx0OwogCiAg
ICAgZW51bSBBZGRTdGF0dXMgeyBPaywgTm90U3VwcG9ydGVkLCBSZWFjaGVkSWRMaW1pdCB9Owog
ICAgIHZpcnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYs
IFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmgK
aW5kZXggM2Y2ODYzNTkzYTY4ZWZjMWZiMjMwZTJkOWIwMzIyZDI2NWI3MWU2ZS4uZGEyYWI1MzY2
ODY2MDRkODVkOGY1ZmM2MmU4NmE5NWVlMWUzOGViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmgK
QEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOwogCiBjbGFzcyBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQ+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQoKSA9IGRlZmF1
bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlhU291cmNl
UHJpdmF0ZT4mJikgPSAwOwogICAgIHZpcnR1YWwgTWVkaWFUaW1lIGR1cmF0aW9uKCkgY29uc3Qg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZv
cm1NZWRpYVJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9QbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaAppbmRleCBiYzA2MzE2MjZlNDk1ODIxNjk1
NDRlYjc1YTRjZGM3MzdlMTYwM2JjLi5mOWZhZGU0NTFjNzFlYmQ2NGRmMzIyMGZmNTdiYzE2ZWJk
NDFjNTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0
Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9QbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNyArNDAsNyBAQCBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBjbGFzcyBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VDbGll
bnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflBsYXRmb3JtTWVkaWFSZXNvdXJjZUNsaWVudCgp
IHsgfQorICAgIHZpcnR1YWwgflBsYXRmb3JtTWVkaWFSZXNvdXJjZUNsaWVudCgpID0gZGVmYXVs
dDsKIAogICAgIHZpcnR1YWwgdm9pZCByZXNwb25zZVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNv
dXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVk
aXJlY3RSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmLCBSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9CkBAIC02NCwxOSArNjQsMTkgQEAgcHVibGljOgog
ICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBMb2FkT3B0aW9uczsKIAotICAgIHZpcnR1YWwg
flBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcigpIHsgfQorICAgIHZpcnR1YWwgflBsYXRmb3Jt
TWVkaWFSZXNvdXJjZUxvYWRlcigpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgUmVmUHRyPFBs
YXRmb3JtTWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFJlc291cmNlUmVxdWVzdCYmLCBM
b2FkT3B0aW9ucykgPSAwOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyKCkgeyB9CisgICAgUGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyKCkgPSBkZWZhdWx0
OwogfTsKIAogY2xhc3MgUGxhdGZvcm1NZWRpYVJlc291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8
UGxhdGZvcm1NZWRpYVJlc291cmNlPiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZv
cm1NZWRpYVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAg
UGxhdGZvcm1NZWRpYVJlc291cmNlKCkgeyB9Ci0gICAgdmlydHVhbCB+UGxhdGZvcm1NZWRpYVJl
c291cmNlKCkgeyB9CisgICAgUGxhdGZvcm1NZWRpYVJlc291cmNlKCkgPSBkZWZhdWx0OworICAg
IHZpcnR1YWwgflBsYXRmb3JtTWVkaWFSZXNvdXJjZSgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFs
IHZvaWQgc3RvcCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJvb2wp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBkaWRQYXNzQWNjZXNzQ29udHJvbENoZWNrKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1BsYXRmb3JtVGV4dFRyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9QbGF0Zm9ybVRleHRUcmFjay5oCmluZGV4IDk1ZjY1NTNlZmRjYmNlMjg1NWNmYjgwZWVl
MDdjZTdkNDBkYzcwZWIuLmI1MzRiYmYzNTNiZTYzNWU4NDc5Njg3YjkwYTFlOWI3OGM2NTY0NWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtVGV4
dFRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1U
ZXh0VHJhY2suaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBJbmJhbmRUZXh0VHJhY2tQcml2YXRl
OwogCiBjbGFzcyBQbGF0Zm9ybVRleHRUcmFja0NsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVh
bCB+UGxhdGZvcm1UZXh0VHJhY2tDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5QbGF0Zm9ybVRl
eHRUcmFja0NsaWVudCgpID0gZGVmYXVsdDsKICAgICAKICAgICB2aXJ0dWFsIFRleHRUcmFjayog
cHVibGljVHJhY2soKSA9IDA7CiAgICAgdmlydHVhbCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlKiBw
cml2YXRlVHJhY2soKSB7IHJldHVybiAwOyB9CkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGxhdGZvcm1UZXh0VHJhY2sobnVsbHB0ciwgbGFi
ZWwsIGxhbmd1YWdlLCB1cmwsIG1vZGUsIGtpbmQsIE91dE9mQmFuZCwgdW5pcXVlSWQsIGlzRGVm
YXVsdCkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgflBsYXRmb3JtVGV4dFRyYWNrKCkgeyB9Cisg
ICAgdmlydHVhbCB+UGxhdGZvcm1UZXh0VHJhY2soKSA9IGRlZmF1bHQ7CiAgICAgCiAgICAgVHJh
Y2tUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICBUcmFja0tpbmQga2lu
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCmluZGV4IDU2ODZlNGIxY2Ux
MzhkMGFmZmY2ZDhjYzdiOWZlYTExNzU4ODMyZDUuLjVmMjIwYWY3ZGQ0OWNlZjNlYWQ3ODQyNzk0
YTZhZmFlNDk2N2IzOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDsKIAogY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlKCkgeyB9CisgICAgdmlydHVhbCB+U291cmNlQnVmZmVy
UHJpdmF0ZSgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDbGllbnQoU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudCopID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCmluZGV4
IGRkM2E5N2U3YjNmOTg2ZDFhY2VlMzFkMzJlMDM4OTQ0NzAzMmIwNjUuLjExZTlhMjdjNTMyNTAy
OTZkYWJkZTFhZGE3ZjQ3ZTg4ZTUzODgyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKQEAg
LTQwLDcgKzQwLDcgQEAgY2xhc3MgVmlkZW9UcmFja1ByaXZhdGU7CiAKIGNsYXNzIFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
KCkgPSBkZWZhdWx0OwogCiAgICAgc3RydWN0IEluaXRpYWxpemF0aW9uU2VnbWVudCB7CiAgICAg
ICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1N0cm9rZVN0eWxlQXBwbGllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU3Ryb2tlU3R5bGVBcHBsaWVyLmgKaW5kZXggZTQwZDNkMWFjMzQxZGJiYmY4
NmQ2ZWUzNTc3NGQ3YThiZDYzYWMwMy4uYTNmNWU3OGIzZDgzYjI5ZDhmMWJhNzJiNzQxMTg2NjJk
ZDI2MjQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Ry
b2tlU3R5bGVBcHBsaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U3Ryb2tlU3R5bGVBcHBsaWVyLmgKQEAgLTI5LDggKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgc3Ryb2tlU3R5bGUoR3JhcGhpY3NDb250ZXh0KikgPSAw
OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICBTdHJva2VTdHlsZUFwcGxpZXIoKSB7fQotICAg
ICAgICB2aXJ0dWFsIH5TdHJva2VTdHlsZUFwcGxpZXIoKSB7fQorICAgICAgICBTdHJva2VTdHls
ZUFwcGxpZXIoKSA9IGRlZmF1bHQ7CisgICAgICAgIHZpcnR1YWwgflN0cm9rZVN0eWxlQXBwbGll
cigpID0gZGVmYXVsdDsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5jcHAKaW5kZXgg
ZDA2ZDNhMmRlMDZkMzA3Y2EwNjQ0NTMzZmZjYTkyYWY3NzliN2UwOC4uMWJjNTc2MWYzM2FjYjdj
YTdhYmY3OGFmZjRmNzU0ODkyZDQ2NDNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcApAQCAt
MzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE51bGxUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbiA6IHB1YmxpYyBUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiB7CiBwdWJsaWM6
Ci0gICAgdmlydHVhbCB+TnVsbFRleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgeyB9CisgICAgdmly
dHVhbCB+TnVsbFRleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgPSBkZWZhdWx0OwogICAgIHZvaWQg
dXBkYXRlKCkgb3ZlcnJpZGUgeyB9CiAgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigp
IG92ZXJyaWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2b2lkIHNldENvbnRlbnRTY2FsZShm
bG9hdCkgb3ZlcnJpZGUgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCA3MjExNzA0OGEyNjMy
NmQ4MDFmMTQyMjgzYWQxZDlmOTY2MDlmODQ3Li4zY2RlNzNhMGJmNGYzMGVjOWE1ZTQwMDM2Zjk2
YTBkMDAzNzhiZTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xh
c3MgSW50UmVjdDsKIAogY2xhc3MgVGV4dFRyYWNrUmVwcmVzZW50YXRpb25DbGllbnQgewogcHVi
bGljOgotICAgIHZpcnR1YWwgflRleHRUcmFja1JlcHJlc2VudGF0aW9uQ2xpZW50KCkgeyB9Cisg
ICAgdmlydHVhbCB+VGV4dFRyYWNrUmVwcmVzZW50YXRpb25DbGllbnQoKSA9IGRlZmF1bHQ7CiAK
ICAgICB2aXJ0dWFsIFJlZlB0cjxJbWFnZT4gY3JlYXRlVGV4dFRyYWNrUmVwcmVzZW50YXRpb25J
bWFnZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGV4dFRyYWNrUmVwcmVzZW50YXRpb25Cb3Vu
ZHNDaGFuZ2VkKGNvbnN0IEludFJlY3QmKSA9IDA7CkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFRl
eHRUcmFja1JlcHJlc2VudGF0aW9uIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFRleHRUcmFja1JlcHJlc2VudGF0aW9uPiBjcmVhdGUoVGV4dFRyYWNrUmVwcmVzZW50YXRp
b25DbGllbnQmKTsKIAotICAgIHZpcnR1YWwgflRleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgeyB9
CisgICAgdmlydHVhbCB+VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSA9IGRlZmF1bHQ7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlKCkgPSAwOwogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nLmgKaW5kZXggMDhmNTMxMTI0OTkyNjc1Yzg1N2IwNmI2ZmJiMWY2NGRl
NTBhMTY2Ny4uMDJiNzUyY2M2ZDkwMTNiNTQ4MTRmZTljNzYxMTcwZDc5NGJhNjVjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmgKQEAgLTcx
LDcgKzcxLDcgQEAgc3RydWN0IFZlbG9jaXR5RGF0YSAgewogCiBjbGFzcyBUaWxlZEJhY2tpbmcg
ewogcHVibGljOgotICAgIHZpcnR1YWwgflRpbGVkQmFja2luZygpIHsgfQorICAgIHZpcnR1YWwg
flRpbGVkQmFja2luZygpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxl
UmVjdChjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCBGbG9hdFJlY3QgdmlzaWJs
ZVJlY3QoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UcmFja1ByaXZhdGVCYXNlLmgKaW5kZXggOWUxNzkyYWU2ODc4NDFiMTZiZjVlZDI4NmQy
NTlhYjFhYzIzY2U5NS4uNTA1ZGUyMmM2MzBlMDZhZWIyYzA2MWE4YzhjODNkYzhjYTEyMzZkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRl
QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0
ZUJhc2UuaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRy
YWNrUHJpdmF0ZUJhc2VDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflRyYWNrUHJpdmF0
ZUJhc2VDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5UcmFja1ByaXZhdGVCYXNlQ2xpZW50KCkg
PSBkZWZhdWx0OwogICAgIHZpcnR1YWwgdm9pZCBpZENoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5n
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBsYWJlbENoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5n
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBsYW5ndWFnZUNoYW5nZWQoY29uc3QgQXRvbWljU3Ry
aW5nJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL0luYmFuZE1ldGFkYXRhVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kTWV0YWRhdGFU
ZXh0VHJhY2tQcml2YXRlQVZGLmNwcAppbmRleCBlNzY4NWM1MGMwZTYzMTBkZDVmMWJiNjY4MWNk
Y2Y1YTAzMzVlMDgyLi45N2IyNjEzNDlkMzE1Nzk4OTNkZmM4YjYyMjEyM2IxZTg2M2MzMTkzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
SW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQcml2YXRlQVZGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQ
cml2YXRlQVZGLmNwcApAQCAtNTAsOSArNTAsNyBAQCBJbmJhbmRNZXRhZGF0YVRleHRUcmFja1By
aXZhdGVBVkY6OkluYmFuZE1ldGFkYXRhVGV4dFRyYWNrUHJpdmF0ZUFWRihJbmJhbmRUZXh0VAog
ewogfQogCi1JbmJhbmRNZXRhZGF0YVRleHRUcmFja1ByaXZhdGVBVkY6On5JbmJhbmRNZXRhZGF0
YVRleHRUcmFja1ByaXZhdGVBVkYoKQotewotfQorSW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQcml2
YXRlQVZGOjp+SW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQcml2YXRlQVZGKCkgPSBkZWZhdWx0Owog
CiAjaWYgRU5BQkxFKERBVEFDVUVfVkFMVUUpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcAppbmRleCAyZDg2MWQzZDJmMjkzODE3ZTZiNmJmMjVj
YjUyMTVlNzU3YWRmYWI2Li5lMDFiMDdlMmIzOTExYmZjNjllNTBkNGZkNDBjYTU1ZmYwN2M2ZTc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3Bw
CkBAIC00Niw5ICs0Niw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQVZGSW5iYW5kVHJh
Y2tQYXJlbnQ6On5BVkZJbmJhbmRUcmFja1BhcmVudCgpCi17Ci19CitBVkZJbmJhbmRUcmFja1Bh
cmVudDo6fkFWRkluYmFuZFRyYWNrUGFyZW50KCkgPSBkZWZhdWx0OwogCiBJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZGOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGKEFWRkluYmFuZFRyYWNrUGFy
ZW50KiBvd25lciwgQ3VlRm9ybWF0IGZvcm1hdCkKICAgICA6IEluYmFuZFRleHRUcmFja1ByaXZh
dGUoZm9ybWF0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2FtcGxlQVZGT2JqQy5oCmluZGV4IDU0ODAz
NGQ4MDc1Y2U5NTk0YzhmNTVkOGJlYjBhMTU3NzkxYTRhNjcuLmQ4M2RlNjM4ZjA3N2NkZDEyZGZk
MDdjOWVhM2YyYjlmZmIzOGM4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNhbXBsZUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTYW1wbGVBVkZPYmpD
LmgKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVh
bCB+TWVkaWFTYW1wbGVBVkZPYmpDKCkgeyB9CisgICAgdmlydHVhbCB+TWVkaWFTYW1wbGVBVkZP
YmpDKCkgPSBkZWZhdWx0OwogCiAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWUoKSBjb25z
dCBvdmVycmlkZTsKICAgICBNZWRpYVRpbWUgb3V0cHV0UHJlc2VudGF0aW9uVGltZSgpIGNvbnN0
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXJN
YWMuY3BwCmluZGV4IGZmYjNkZjNlNTI1MGNhNTMwMjE0NjRkOTExYmY1NDg5ZDQ2ZWQzMzkuLjQ0
ODJhZjNjYjEzYmZhOTFlYjhiMTBhZDhiODJjYWQ1ZjY4ZjMwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9XZWJNZWRpYVNlc3Npb25N
YW5hZ2VyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5jcHAKQEAgLTQ0LDkgKzQ0LDcgQEAg
V2ViTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlck1hYygpCiB7
CiB9CiAKLVdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6On5XZWJNZWRpYVNlc3Npb25NYW5hZ2Vy
TWFjKCkKLXsKLX0KK1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6On5XZWJNZWRpYVNlc3Npb25N
YW5hZ2VyTWFjKCkgPSBkZWZhdWx0OwogCiBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyJiBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjpwbGF0Zm9ybVBpY2tlcigpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2Yv
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5oCmluZGV4
IDFhM2RmOTE3Y2RhNDdhMDE0Y2JmMzc5OTFkNTI5MGVlYmE5Y2Q0ZDUuLjRiODA3MzVhYTI1MWNl
ZTEzMTNkOWZmMmVjMDIxNDMyNmRjYTExYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZD
Ri5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5oCkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0Yo
cGxheWVyLCBzZWxlY3Rpb24sIGZvcm1hdCkpOwogICAgIH0KIAotICAgIH5JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZDRigpIHsgfQorICAgIH5JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRigpID0g
ZGVmYXVsdDsKIAogICAgIEluYmFuZFRleHRUcmFja1ByaXZhdGU6OktpbmQga2luZCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgaXNDbG9zZWRDYXB0aW9ucygpIGNvbnN0IG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L2NmL0luYmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxl
Z2FjeUFWQ0YuaAppbmRleCBjM2EwZTg4ZjRjMGJmMjQzZDI5ZjA4OTgyOTBmMTI2NzA3ZGJmZjU0
Li45MWZmNTQ3ZjNiYjRmYzcwN2E1ZjA2OTJjNzFhNWRkNTRhNTZhMDNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0Yu
aApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEluYmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkNGKHBsYXllciwgdHJhY2spKTsKICAgICB9
CiAKLSAgICB+SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YoKSB7IH0KKyAgICB+SW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YoKSA9IGRlZmF1bHQ7CiAKICAgICBJbmJhbmRU
ZXh0VHJhY2tQcml2YXRlOjpLaW5kIGtpbmQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlz
Q2xvc2VkQ2FwdGlvbnMoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1By
aXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5oCmluZGV4IDE4YTk0YWQz
Y2MxNThmMDE0MjA5ODUzYzM1MmZhYzAwZjRjYjU4NGQuLmQzNTM1ZTQ3ZGUwZTI2MTVjYzI2ZWJi
ZGY0Mjc5N2NkMjFjYTIzY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRk9iakMuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkZP
YmpDKHBsYXllciwgc2VsZWN0aW9uLCBmb3JtYXQpKTsKICAgICB9CiAKLSAgICB+SW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZUFWRk9iakMoKSB7IH0KKyAgICB+SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFW
Rk9iakMoKSA9IGRlZmF1bHQ7CiAKICAgICBJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpLaW5kIGtp
bmQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2xvc2VkQ2FwdGlvbnMoKSBjb25zdCBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZGT2JqQy5oCmluZGV4IGI4NDE1NGM2OWU3MGI4YjliYjA1
ZGQ5ODE4NjA3YTA2YWIxN2MyNDUuLjgxM2I5YjU1ZDIwZDhjOGYzNmZiNzA4M2RkOGUxZmMzZGVi
OGM3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVMZWdhY3lBVkZPYmpDLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWRk9iakMuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEluYmFuZFRleHRUcmFja1ByaXZhdGVMZWdh
Y3lBVkZPYmpDKHBsYXllciwgdHJhY2spKTsKICAgICB9CiAKLSAgICB+SW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUxlZ2FjeUFWRk9iakMoKSB7IH0KKyAgICB+SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxl
Z2FjeUFWRk9iakMoKSA9IGRlZmF1bHQ7CiAKICAgICBJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpL
aW5kIGtpbmQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ2xvc2VkQ2FwdGlvbnMoKSBj
b25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQy5oCmluZGV4IDk1MDNjOWJiYjE3NDU2ZjI2MDQyYjUzNGQ3OTliNTQ5
Yzc2YjRmYzkuLjA3ZGRkODcyMzQzYTJlOWU1MzY3MmJhZTJmNTJkMjNiYTFkMWRmZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
aApAQCAtNjYsNyArNjYsNyBAQCBjbGFzcyBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb247CiAK
IGNsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDRXJyb3JDbGllbnQgewogcHVibGljOgot
ICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDRXJyb3JDbGllbnQoKSB7IH0K
KyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQ0Vycm9yQ2xpZW50KCkgPSBk
ZWZhdWx0OwogICAgIHZpcnR1YWwgdm9pZCBsYXllckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllciAqLCBOU0Vycm9yICosIGJvb2wmIHNob3VsZElnbm9yZSkgPSAwOwog
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBp
Z25vcmVkICItV3Vua25vd24tcHJhZ21hcyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyRmx1c2hTY2hlZHVsZXJDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyRmx1c2hTY2hlZHVsZXJDbGllbnQuaApp
bmRleCBhM2Q5N2I5MDZiZTdkYWM2YWM2Njg2NzAwYzBkMDQyZTc5NDhjZDhmLi44ZGVmOTJiZDQ5
MzdlNmFhY2FiMzYzMDlkM2NkYmEzMjllN2NiM2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllckZsdXNoU2NoZWR1bGVyQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJGbHVzaFNjaGVkdWxlckNs
aWVudC5oCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTGF5
ZXJGbHVzaFNjaGVkdWxlckNsaWVudCB7CiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+TGF5ZXJG
bHVzaFNjaGVkdWxlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfkxheWVyRmx1c2hTY2hlZHVs
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAKIHB1YmxpYzoKICAgICAvLyBGbHVzaCB0aGUgbGF5ZXJz
LiBSZXR1cm5zIHRydWUgb24gc3VjY2Vzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uaAppbmRleCA3OTljMzYx
NmVmOTg4ZTE1Y2ZiODdjMmNhNzk0YzExZDA5NDFlZWRhLi40M2IxYjc4ZWQxOGRhNzhiNzNhOTIx
ZjUxYjdhZjMzNGE5NDBkOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9QbGF0Zm9ybUNBQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUFuaW1hdGlvbi5oCkBAIC00NSw3ICs0NSw3IEBA
IHB1YmxpYzoKICAgICBlbnVtIEZpbGxNb2RlVHlwZSB7IE5vRmlsbE1vZGUsIEZvcndhcmRzLCBC
YWNrd2FyZHMsIEJvdGggfTsKICAgICBlbnVtIFZhbHVlRnVuY3Rpb25UeXBlIHsgTm9WYWx1ZUZ1
bmN0aW9uLCBSb3RhdGVYLCBSb3RhdGVZLCBSb3RhdGVaLCBTY2FsZVgsIFNjYWxlWSwgU2NhbGVa
LCBTY2FsZSwgVHJhbnNsYXRlWCwgVHJhbnNsYXRlWSwgVHJhbnNsYXRlWiwgVHJhbnNsYXRlIH07
CiAKLSAgICB2aXJ0dWFsIH5QbGF0Zm9ybUNBQW5pbWF0aW9uKCkgeyB9CisgICAgdmlydHVhbCB+
UGxhdGZvcm1DQUFuaW1hdGlvbigpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgYm9vbCBpc1Bs
YXRmb3JtQ0FBbmltYXRpb25Db2NvYSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBib29sIGlzUGxhdGZvcm1DQUFuaW1hdGlvbldpbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0
Zm9ybUNBTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1BsYXRmb3JtQ0FMYXllckNsaWVudC5oCmluZGV4IGZkMzMyZjBiMWZiNjQ0MmNmNmIzNzZiOTE2
YmVkYWExYWYwMjA5ZWYuLjIyNmY3MDNlMjYwODhjZTNjNzBmNDM4ZWEwOTZlNjcxZjE4NGQ0ZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1BsYXRmb3JtQ0FMYXllckNsaWVudC5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgcGxhdGZvcm1DQUxheWVyTG9nRmlsbGVkVmlzaWJsZUZyZXNoVGlsZSh1bnNp
Z25lZCAvKiBibGFua1BpeGVsQ291bnQgKi8pIHsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVh
bCB+UGxhdGZvcm1DQUxheWVyQ2xpZW50KCkge30KKyAgICB2aXJ0dWFsIH5QbGF0Zm9ybUNBTGF5
ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9MYXllckZsdXNoU2NoZWR1bGVyTWFjLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL0xheWVyRmx1c2hTY2hl
ZHVsZXJNYWMuY3BwCmluZGV4IDM3NGViMjIwN2ZlZDE0NDhiZWRmOWEzYzM2ZjI3OTc1M2E4NGI1
ZWIuLmZiNGNiZDdlYmRhMDBjNGY0MDJiZDgyMzQzMzU2ZjcwN2UxMTQ0OWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL0xheWVyRmx1c2hTY2hl
ZHVsZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2Nv
Y29hL0xheWVyRmx1c2hTY2hlZHVsZXJNYWMuY3BwCkBAIC02NSw5ICs2NSw3IEBAIExheWVyRmx1
c2hTY2hlZHVsZXI6OkxheWVyRmx1c2hTY2hlZHVsZXIoTGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVu
dCogY2xpZW50KQogICAgIH0pOwogfQogCi1MYXllckZsdXNoU2NoZWR1bGVyOjp+TGF5ZXJGbHVz
aFNjaGVkdWxlcigpCi17Ci19CitMYXllckZsdXNoU2NoZWR1bGVyOjp+TGF5ZXJGbHVzaFNjaGVk
dWxlcigpID0gZGVmYXVsdDsKIAogdm9pZCBMYXllckZsdXNoU2NoZWR1bGVyOjpsYXllckZsdXNo
Q2FsbGJhY2soKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Evd2luL0Fic3RyYWN0Q0FDRkxheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9BYnN0cmFjdENBQ0ZMYXllclRyZWVIb3N0LmgKaW5kZXgg
MGFiNThlN2UyY2ZkYmZlMDM3OGJkODcxMjE1MDdkNjYwNTFiN2ZmNS4uMWJhNzU4NGViOTg3N2U3
YzczMGJhOTk3ZThhNTY0NWRhNDFjMjlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Evd2luL0Fic3RyYWN0Q0FDRkxheWVyVHJlZUhvc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQWJzdHJhY3RDQUNGTGF5ZXJU
cmVlSG9zdC5oCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzTm93KCkgPSAwOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVh
bCB+QWJzdHJhY3RDQUNGTGF5ZXJUcmVlSG9zdCgpIHsgfQorICAgIHZpcnR1YWwgfkFic3RyYWN0
Q0FDRkxheWVyVHJlZUhvc3QoKSA9IGRlZmF1bHQ7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3RDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJU
cmVlSG9zdENsaWVudC5oCmluZGV4IGQ1OGZkZWFhZDFlNjc4OTFlMDc5MzUyMjMyYmQ2Nzc3ZTcz
ZDFjNDYuLjdlY2E3ZWIwY2ZhMWYyYTdmOTQ4ZTViOTdiYzY3NmJmMjQ3NjkwODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJUcmVl
SG9zdENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9DQUNGTGF5ZXJUcmVlSG9zdENsaWVudC5oCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQ0FDRkxheWVyVHJlZUhvc3RDbGllbnQgewogcHVibGljOgotICAg
IHZpcnR1YWwgfkNBQ0ZMYXllclRyZWVIb3N0Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+Q0FD
RkxheWVyVHJlZUhvc3RDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIGZsdXNo
UGVuZGluZ0dyYXBoaWNzTGF5ZXJDaGFuZ2VzKCkgeyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldp
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1D
QUFuaW1hdGlvbldpbi5jcHAKaW5kZXggOTBhODNmMGE1MjFhMmFlMGYyZTcwYzA1MGRhMTEyYWVk
ZTMxNTUwNC4uZTRhM2Y2NjYwMmZjMzhkNzFmZDNiMDc4ZjkwOGExYjE0MWI0OGRhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FB
bmltYXRpb25XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcApAQCAtMjA3LDkgKzIwNyw3IEBAIFJlZjxQ
bGF0Zm9ybUNBQW5pbWF0aW9uPiBQbGF0Zm9ybUNBQW5pbWF0aW9uV2luOjpjb3B5KCkgY29uc3QK
ICAgICByZXR1cm4gYW5pbWF0aW9uOwogfQogCi1QbGF0Zm9ybUNBQW5pbWF0aW9uV2luOjp+UGxh
dGZvcm1DQUFuaW1hdGlvbldpbigpCi17Ci19CitQbGF0Zm9ybUNBQW5pbWF0aW9uV2luOjp+UGxh
dGZvcm1DQUFuaW1hdGlvbldpbigpID0gZGVmYXVsdDsKIAogUGxhdGZvcm1BbmltYXRpb25SZWYg
UGxhdGZvcm1DQUFuaW1hdGlvbldpbjo6cGxhdGZvcm1BbmltYXRpb24oKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3Jt
Q0FMYXllcldpbkludGVybmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW5JbnRlcm5hbC5jcHAKaW5kZXggMjgwNjA4OTA3MGMy
YzcwNjM2MmRiNjFhNTNhODQ3MDI1ZWQyZGU3MS4uYTVkNWEyYTM5MjdjYzU5MTEyMTVlNzE2Njc4
MzA5MDIwNGM2NjljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbkludGVybmFsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luSW50ZXJuYWwu
Y3BwCkBAIC00NCw5ICs0NCw3IEBAIFBsYXRmb3JtQ0FMYXllcldpbkludGVybmFsOjpQbGF0Zm9y
bUNBTGF5ZXJXaW5JbnRlcm5hbChQbGF0Zm9ybUNBTGF5ZXIqIG93bmVyKQogewogfQogCi1QbGF0
Zm9ybUNBTGF5ZXJXaW5JbnRlcm5hbDo6flBsYXRmb3JtQ0FMYXllcldpbkludGVybmFsKCkKLXsK
LX0KK1BsYXRmb3JtQ0FMYXllcldpbkludGVybmFsOjp+UGxhdGZvcm1DQUxheWVyV2luSW50ZXJu
YWwoKSA9IGRlZmF1bHQ7CiAKIHN0cnVjdCBEaXNwbGF5T25NYWluVGhyZWFkQ29udGV4dCB7CiAg
ICAgUmV0YWluUHRyPENBQ0ZMYXllclJlZj4gbGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vV2ViVGlsZWRCYWNraW5nTGF5ZXJXaW4uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1dlYlRpbGVkQmFja2lu
Z0xheWVyV2luLmNwcAppbmRleCA1MGEwZDkwMmRlZDJiMjAzMDFhNTZlNzQ1Y2ZhZmYyMjZjOTAx
YWMzLi4yMjRkOGJiZWVkMzk5MmFlZWZjOTMyYTFiZWU4MGRjNjNmY2EyZjhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vV2ViVGlsZWRCYWNraW5n
TGF5ZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9XZWJUaWxlZEJhY2tpbmdMYXllcldpbi5jcHAKQEAgLTQyLDkgKzQyLDcgQEAgV2ViVGlsZWRC
YWNraW5nTGF5ZXJXaW46OldlYlRpbGVkQmFja2luZ0xheWVyV2luKFBsYXRmb3JtQ0FMYXllciog
b3duZXIpCiB7CiB9CiAKLVdlYlRpbGVkQmFja2luZ0xheWVyV2luOjp+V2ViVGlsZWRCYWNraW5n
TGF5ZXJXaW4oKQotewotfQorV2ViVGlsZWRCYWNraW5nTGF5ZXJXaW46On5XZWJUaWxlZEJhY2tp
bmdMYXllcldpbigpID0gZGVmYXVsdDsKIAogc3RydWN0IERpc3BsYXlPbk1haW5UaHJlYWRDb250
ZXh0IHsKICAgICBSZXRhaW5QdHI8Q0FDRkxheWVyUmVmPiBsYXllcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRD
YWlyby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0
b3JlQmFja2VuZENhaXJvLmgKaW5kZXggNjM4MjhjNzYxYTFiNmMwNzU1ZWJmMDYwZGJkM2I5MTVm
ZDM1MjdlYS4uODg5OTIzZGQ0NDgxODMzYTY0NjMxMmUwMTcwY2NlZDQ0YjM1M2I5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3Jl
QmFja2VuZENhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgQmFj
a2luZ1N0b3JlQmFja2VuZENhaXJvIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNraW5n
U3RvcmVCYWNrZW5kQ2Fpcm8pOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgotICAgIHZpcnR1YWwgfkJhY2tpbmdTdG9yZUJhY2tlbmRDYWlybygpIHsgfQorICAgIHZpcnR1
YWwgfkJhY2tpbmdTdG9yZUJhY2tlbmRDYWlybygpID0gZGVmYXVsdDsKIAogICAgIGNhaXJvX3N1
cmZhY2VfdCogc3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VyZmFjZS5nZXQoKTsgfQogICAg
IGNvbnN0IEludFNpemUmIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJh
Y2tlbmRDYWlyb0ltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKaW5kZXggMWE4MWNkYzdiMTBkMzUx
MGU0MjA4MDBmNTkxMjRlMTYxZDI0NzQxZS4uMWNlYzQwZjUwY2E3NmY3NTRlY2ViZDIxNDJjYWFm
Y2JiOWE5OWI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5j
cHAKQEAgLTQ4LDkgKzQ4LDcgQEAgQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbDo6QmFja2lu
Z1N0b3JlQmFja2VuZENhaXJvSW1wbChjb25zdCBJbnRTaXplJiBzaXplLAogICAgIG1fc3VyZmFj
ZSA9IGNyZWF0ZUNhaXJvSW1hZ2VTdXJmYWNlV2l0aEZhc3RNYWxsb2Moc2NhbGVkU2l6ZSwgZGV2
aWNlU2NhbGVGYWN0b3IpOwogfQogCi1CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsOjp+QmFj
a2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbCgpCi17Ci19CitCYWNraW5nU3RvcmVCYWNrZW5kQ2Fp
cm9JbXBsOjp+QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbCgpID0gZGVmYXVsdDsKIAogdm9p
ZCBCYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsOjpzY3JvbGwoY29uc3QgSW50UmVjdCYgc2Ny
b2xsUmVjdCwgY29uc3QgSW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJv
LmNwcAppbmRleCAwYjYwZjhiMmE4ZTFkMDhkNzQyYWI5OWRmZGMyN2RmN2FmOWEwYzAxLi41NDZh
MDA1OTZlZmNhYjgxMWRhZTE5MDk1NDYyZGM4NmE2M2M3ZTk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJv
LmNwcApAQCAtMjQ4LDkgKzI0OCw3IEBAIEltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcihjb25zdCBG
bG9hdFNpemUmIHNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjCiAgICAgc3Vj
Y2VzcyA9IHRydWU7CiB9CiAKLUltYWdlQnVmZmVyOjp+SW1hZ2VCdWZmZXIoKQotewotfQorSW1h
Z2VCdWZmZXI6On5JbWFnZUJ1ZmZlcigpID0gZGVmYXVsdDsKIAogc3RkOjp1bmlxdWVfcHRyPElt
YWdlQnVmZmVyPiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihjb25zdCBGbG9h
dFNpemUmIHNpemUsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4
dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRm
b3JtQ29udGV4dENhaXJvLmNwcAppbmRleCBlNmJmMGRjNDkzMDZjYTRhM2NhZmVlZWI3OWVjNmM4
ZGViMDQ0NjM5Li5jODI4MTc0ZDYxZTU1YzM1NmY5NjY4ODY1OTM0Yzk4MzM1NmE4OTk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybUNv
bnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vUGxhdGZvcm1Db250ZXh0Q2Fpcm8uY3BwCkBAIC0xMDQsOSArMTA0LDcgQEAgdm9pZCBQbGF0
Zm9ybUNvbnRleHRDYWlybzo6cmVzdG9yZSgpCiAgICAgY2Fpcm9fcmVzdG9yZShtX2NyLmdldCgp
KTsKIH0KIAotUGxhdGZvcm1Db250ZXh0Q2Fpcm86On5QbGF0Zm9ybUNvbnRleHRDYWlybygpCi17
Ci19CitQbGF0Zm9ybUNvbnRleHRDYWlybzo6flBsYXRmb3JtQ29udGV4dENhaXJvKCkgPSBkZWZh
dWx0OwogCiB2b2lkIFBsYXRmb3JtQ29udGV4dENhaXJvOjpzYXZlKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtUGF0aENhaXJv
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybVBhdGhD
YWlyby5oCmluZGV4IDVmMTA1OTQ0NjQ1MjY3ZmRjNWQ4YzMxMDI2ZTc3MDc1MDk5OTE4YjkuLjM4
ZDcyZjUzZWRiNTQzM2ZjNGNiYTE4NDc2MTg1MjEzODcxYmRmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtUGF0aENhaXJvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1QYXRoQ2Fp
cm8uaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBDYWlyb1BhdGggewogcHVibGljOgogICAgIENh
aXJvUGF0aCgpOwogCi0gICAgfkNhaXJvUGF0aCgpIHt9CisgICAgfkNhaXJvUGF0aCgpID0gZGVm
YXVsdDsKIAogICAgIGNhaXJvX3QqIGNvbnRleHQoKSB7IHJldHVybiBtX2NyLmdldCgpOyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNz
Q29udGV4dDNEQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0M0RDRy5jcHAKaW5kZXggYzNjYjc4YmMyYmQ2ZWNiMDgzMGJkNzU3NmJmNWZk
NDRhNjdhMWZjOC4uZjVhMzY4NGFlOWI0NmQ1ODdhODc0NjE3YTJlYzBmOThiNTZiNTIxNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0M0RDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0M0RDRy5jcHAKQEAgLTMxNyw5ICszMTcsNyBAQCB2b2lkIGNvbnZlcnQxNkJp
dEZvcm1hdFRvUkdCQTgoR3JhcGhpY3NDb250ZXh0M0Q6OkRhdGFGb3JtYXQgc3JjRm9ybWF0LCBj
b25zdCB1aQogCiB9CiAKLUdyYXBoaWNzQ29udGV4dDNEOjpJbWFnZUV4dHJhY3Rvcjo6fkltYWdl
RXh0cmFjdG9yKCkKLXsKLX0KK0dyYXBoaWNzQ29udGV4dDNEOjpJbWFnZUV4dHJhY3Rvcjo6fklt
YWdlRXh0cmFjdG9yKCkgPSBkZWZhdWx0OwogCiBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpJbWFn
ZUV4dHJhY3Rvcjo6ZXh0cmFjdEltYWdlKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25v
cmVHYW1tYUFuZENvbG9yUHJvZmlsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKaW5kZXggYzljNDQzMjA5YTNkN2Mz
MTc3NTM0NGExMTM1OWQxZGM5NmFlMWIzMy4uMmY3NDlhOGRkYzA5ZDhmYzlhMmVkMDU4MmYxZjhi
M2Q1MzI1MDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW1hZ2VCdWZmZXJDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKQEAgLTE5OCw5ICsxOTgsNyBAQCBJbWFnZUJ1ZmZlcjo6
SW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUs
IENvbG9yU3BhYwogewogfQogCi1JbWFnZUJ1ZmZlcjo6fkltYWdlQnVmZmVyKCkKLXsKLX0KK0lt
YWdlQnVmZmVyOjp+SW1hZ2VCdWZmZXIoKSA9IGRlZmF1bHQ7CiAKIEZsb2F0U2l6ZSBJbWFnZUJ1
ZmZlcjo6c2l6ZUZvckRlc3RpbmF0aW9uU2l6ZShGbG9hdFNpemUgZGVzdGluYXRpb25TaXplKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
UERGRG9jdW1lbnRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9QREZEb2N1bWVudEltYWdlLmNwcAppbmRleCBlYzg0ZjZmMDFlNTEyZGE4MWVhMGY3ZGRhMmMy
YjE2NjI1Njk2OTg1Li4wNDQ2ZmMyNGU0M2I4MTJmOTA3NDFlNmM4NGJiNjY5NWRhZmRkZWU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVu
dEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZE
b2N1bWVudEltYWdlLmNwcApAQCAtNjIsOSArNjIsNyBAQCBQREZEb2N1bWVudEltYWdlOjpQREZE
b2N1bWVudEltYWdlKEltYWdlT2JzZXJ2ZXIqIG9ic2VydmVyKQogewogfQogCi1QREZEb2N1bWVu
dEltYWdlOjp+UERGRG9jdW1lbnRJbWFnZSgpCi17Ci19CitQREZEb2N1bWVudEltYWdlOjp+UERG
RG9jdW1lbnRJbWFnZSgpID0gZGVmYXVsdDsKIAogU3RyaW5nIFBERkRvY3VtZW50SW1hZ2U6OmZp
bGVuYW1lRXh0ZW5zaW9uKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udEZhbWlseVNwZWNp
ZmljYXRpb25Db3JlVGV4dC5jcHAKaW5kZXggM2M1OTQ0Mzg3ZWY5NTE0NWNhNTIxNzkzNzk1YTUy
OTlhNmI0MGYzOC4uOWU3MTFlM2Q2YzE0NzliNWNjNDhmOTc4N2NhNTlhMGZhMGM4YTMzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udEZhbWls
eVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHAKQEAgLTM5
LDkgKzM5LDcgQEAgRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dDo6Rm9udEZhbWlseVNw
ZWNpZmljYXRpb25Db3JlVGV4dChDVEZvbnREZXNjcmlwdG8KIHsKIH0KIAotRm9udEZhbWlseVNw
ZWNpZmljYXRpb25Db3JlVGV4dDo6fkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQoKQot
ewotfQorRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dDo6fkZvbnRGYW1pbHlTcGVjaWZp
Y2F0aW9uQ29yZVRleHQoKSA9IGRlZmF1bHQ7CiAKIEZvbnRSYW5nZXMgRm9udEZhbWlseVNwZWNp
ZmljYXRpb25Db3JlVGV4dDo6Zm9udFJhbmdlcyhjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnRE
ZXNjcmlwdGlvbikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCmluZGV4
IDVlMTc2ZjdjODY5YTcxMWQ0NTZmZmMzYzQ2NzJiNjdmNDY4ODU4ZjguLjJhMDMzMzA2MGFkZWNk
ZGU5YzU3YWNmMWI4YzBmY2UwZmQ1ZTczN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRl
bXMuaApAQCAtMTEzLDcgKzExMyw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmly
dHVhbCB+SXRlbSgpIHsgfQorICAgIHZpcnR1YWwgfkl0ZW0oKSA9IGRlZmF1bHQ7CiAKICAgICBJ
dGVtVHlwZSB0eXBlKCkgY29uc3QKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RS
ZXBsYXllci5jcHAKaW5kZXggZWIyZDcyNzg4MWI3NmUwMWNlZmEwYjAzMDFjNzJiODA0YTYzMWVj
YS4uOWFlMzA5NDE1OTRmNjE0YWQyMzMxNzRiNDBjMjBjMzU1ZTEwZGYzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
UmVwbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmNwcApAQCAtNDAsOSArNDAsNyBAQCBSZXBsYXll
cjo6UmVwbGF5ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBEaXNwbGF5TGlzdCYg
ZGlzcGxheUxpc3QpCiB7CiB9CiAKLVJlcGxheWVyOjp+UmVwbGF5ZXIoKQotewotfQorUmVwbGF5
ZXI6On5SZXBsYXllcigpID0gZGVmYXVsdDsKIAogc3RkOjp1bmlxdWVfcHRyPERpc3BsYXlMaXN0
PiBSZXBsYXllcjo6cmVwbGF5KGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlhbENsaXAsIGJvb2wgdHJh
Y2tSZXBsYXlMaXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRURpZmZ1c2VMaWdodGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlmZnVzZUxpZ2h0aW5nLmNwcAppbmRleCA1ODM5NzVj
NWU0OTI1MDIxNjQ5NTQxZDllNzg1ZTRmMmM5NzhlNGIyLi45MzJmNjFkMzA2NDY0NzZlZWEwZmRm
MTUwMjkzM2VkNGE2ZmU4ZDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFRGlmZnVzZUxpZ2h0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlmZnVzZUxpZ2h0aW5nLmNwcApAQCAtMzcs
OSArMzcsNyBAQCBSZWY8RkVEaWZmdXNlTGlnaHRpbmc+IEZFRGlmZnVzZUxpZ2h0aW5nOjpjcmVh
dGUoRmlsdGVyJiBmaWx0ZXIsIGNvbnN0IENvbG9yJiBsaQogICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEZFRGlmZnVzZUxpZ2h0aW5nKGZpbHRlciwgbGlnaHRpbmdDb2xvciwgc3VyZmFjZVNjYWxl
LCBkaWZmdXNlQ29uc3RhbnQsIGtlcm5lbFVuaXRMZW5ndGhYLCBrZXJuZWxVbml0TGVuZ3RoWSwg
V1RGTW92ZShsaWdodFNvdXJjZSkpKTsKIH0KIAotRkVEaWZmdXNlTGlnaHRpbmc6On5GRURpZmZ1
c2VMaWdodGluZygpCi17Ci19CitGRURpZmZ1c2VMaWdodGluZzo6fkZFRGlmZnVzZUxpZ2h0aW5n
KCkgPSBkZWZhdWx0OwogCiBjb25zdCBDb2xvciYgRkVEaWZmdXNlTGlnaHRpbmc6OmxpZ2h0aW5n
Q29sb3IoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRVNwZWN1bGFyTGlnaHRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVNwZWN1bGFyTGlnaHRpbmcuY3BwCmluZGV4IDkzMWE5
MmRkOThiZjljODMxN2IyMGMxMDA0MDM1NmJhNTQwMmZkMTguLmMwZWZkYWFjMGQyZDFhMjYzYTk5
NDZiNWE0NGI5ZDJmZTAzOGUxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVTcGVjdWxhckxpZ2h0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFU3BlY3VsYXJMaWdodGluZy5jcHAKQEAg
LTM3LDkgKzM3LDcgQEAgUmVmPEZFU3BlY3VsYXJMaWdodGluZz4gRkVTcGVjdWxhckxpZ2h0aW5n
OjpjcmVhdGUoRmlsdGVyJiBmaWx0ZXIsIGNvbnN0IENvbG9yJgogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEZFU3BlY3VsYXJMaWdodGluZyhmaWx0ZXIsIGxpZ2h0aW5nQ29sb3IsIHN1cmZhY2VT
Y2FsZSwgc3BlY3VsYXJDb25zdGFudCwgc3BlY3VsYXJFeHBvbmVudCwga2VybmVsVW5pdExlbmd0
aFgsIGtlcm5lbFVuaXRMZW5ndGhZLCBXVEZNb3ZlKGxpZ2h0U291cmNlKSkpOwogfQogCi1GRVNw
ZWN1bGFyTGlnaHRpbmc6On5GRVNwZWN1bGFyTGlnaHRpbmcoKQotewotfQorRkVTcGVjdWxhckxp
Z2h0aW5nOjp+RkVTcGVjdWxhckxpZ2h0aW5nKCkgPSBkZWZhdWx0OwogCiBjb25zdCBDb2xvciYg
RkVTcGVjdWxhckxpZ2h0aW5nOjpsaWdodGluZ0NvbG9yKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCmluZGV4IDZkMzQ0
ZWQ4NzY1MTQ4OTBkOGFmOTNjMGRkYTdlNDkxZjg5NWU1MDUuLjhlOGQ1ZTI3OTc4ZjhiYTc4YjRj
NDVjYTU5NzIyNWY2NWQ2YTBjYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaApAQCAtMzEsNyArMzEsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIDogbV9hYnNvbHV0ZVRyYW5zZm9ybShhYnNvbHV0ZVRyYW5zZm9ybSkKICAgICAgICAgLCBt
X2ZpbHRlclNjYWxlKGZpbHRlclNjYWxlKQogICAgIHsgfQotICAgIHZpcnR1YWwgfkZpbHRlcigp
IHsgfQorICAgIHZpcnR1YWwgfkZpbHRlcigpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgc2V0U291
cmNlSW1hZ2Uoc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBzb3VyY2VJbWFnZSkgeyBtX3Nv
dXJjZUltYWdlID0gV1RGTW92ZShzb3VyY2VJbWFnZSk7IH0KICAgICBJbWFnZUJ1ZmZlciogc291
cmNlSW1hZ2UoKSB7IHJldHVybiBtX3NvdXJjZUltYWdlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5j
cHAKaW5kZXggODMwNTJiMWEzNTg1NjBkN2I2YzBiNzM3ZTI3Y2E0MGE3MzgzMGMxNS4uYmFjMmVk
NGQ1ZTAyMjM4NGQxOTk5MTcyMjk3ZWMwMjg3NGU1ZGRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcApA
QCAtNTAsOSArNTAsNyBAQCBGaWx0ZXJFZmZlY3Q6OkZpbHRlckVmZmVjdChGaWx0ZXImIGZpbHRl
cikKIHsKIH0KIAotRmlsdGVyRWZmZWN0Ojp+RmlsdGVyRWZmZWN0KCkKLXsKLX0KK0ZpbHRlckVm
ZmVjdDo6fkZpbHRlckVmZmVjdCgpID0gZGVmYXVsdDsKIAogdm9pZCBGaWx0ZXJFZmZlY3Q6OmRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcAppbmRl
eCBlNThiZjEyOTkyMDRmMzZiYmEyYzQ5ZjRkNTM5N2JmM2IxMzQ0MTQ1Li4yMmQ3NzM3N2ZmOTE1
ZGVkNjdjNmY1Mzg5MTZlZTczY2FlNTliMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uY3BwCkBA
IC01MCw5ICs1MCw3IEBAIFJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbjo6UmVmZXJlbmNlRmlsdGVy
T3BlcmF0aW9uKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpCiB7CiB9CiAKLVJlZmVyZW5j
ZUZpbHRlck9wZXJhdGlvbjo6flJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbigpCi17Ci19CitSZWZl
cmVuY2VGaWx0ZXJPcGVyYXRpb246On5SZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24oKSA9IGRlZmF1
bHQ7CiAgICAgCiBib29sIFJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbjo6b3BlcmF0b3I9PShjb25z
dCBGaWx0ZXJPcGVyYXRpb24mIG9wZXJhdGlvbikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5o
CmluZGV4IDgzOGE4MzJjNzg0NTY1OGQ0MGU3MmNlOTM4ODg2NjYwMjRlNzkyM2YuLmQ5ZWI1MzA5
MjEyY2MwOWZhNmQyNzI3OGU1MmJjYzJjZThkYzhmNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaApA
QCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIE5PTkUKICAgICB9OwogCi0gICAgdmly
dHVhbCB+RmlsdGVyT3BlcmF0aW9uKCkgeyB9CisgICAgdmlydHVhbCB+RmlsdGVyT3BlcmF0aW9u
KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBSZWY8RmlsdGVyT3BlcmF0aW9uPiBjbG9uZSgp
IGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9MaWdodFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9MaWdodFNvdXJjZS5oCmluZGV4IDVlZjY4ODZkMjdmNjA1Mzg1MmE4YjY2ZTcw
N2FhOWQ4MGU3YTBkN2IuLjE0NTAyOTAyNGEzNjA5ZjJhMWVlMTNlYzM5OGZiYjQ0Zjk1OWRmZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvTGln
aHRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0xpZ2h0U291cmNlLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgICAgICA6IG1fdHlw
ZSh0eXBlKQogICAgIHsgfQogCi0gICAgdmlydHVhbCB+TGlnaHRTb3VyY2UoKSB7IH0KKyAgICB2
aXJ0dWFsIH5MaWdodFNvdXJjZSgpID0gZGVmYXVsdDsKIAogICAgIExpZ2h0VHlwZSB0eXBlKCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgdmlydHVhbCBXVEY6OlRleHRTdHJlYW0mIGV4
dGVybmFsUmVwcmVzZW50YXRpb24oV1RGOjpUZXh0U3RyZWFtJikgY29uc3QgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRm
b3JtRGF0YUZyZWVUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zy
ZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAKaW5kZXggMjQ3NjNjZGFkNDA4ZjBj
YmQ2N2ZmOTBmMDdhZmU5YmZkZjU3ODEzYi4uZTNhNmIyYThmMzExZmY5OGVjMjQxMDZkYjRhY2Y2
YTg1ZGFmZDcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3Bw
CkBAIC0yMDQsOSArMjA0LDcgQEAgRm9udFBsYXRmb3JtRGF0YSYgRm9udFBsYXRmb3JtRGF0YTo6
b3BlcmF0b3I9KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKQogICAgIHJldHVybiAqdGhp
czsKIH0KIAotRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQotewotfQorRm9u
dFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKSA9IGRlZmF1bHQ7CiAKIEZvbnRQbGF0
Zm9ybURhdGEgRm9udFBsYXRmb3JtRGF0YTo6Y2xvbmVXaXRoT3JpZW50YXRpb24oY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgc291cmNlLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5i
YW5kTWV0YWRhdGFUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKaW5kZXggNTI2MGJlZTIxODI5MDE0MmFlODNlY2M4OGVkMjBmYTk5MTI0MGY1
Ny4uMzEzYjQwZDFkYzJmYjVmMzMyYjQ1MTU0ZWJmNTQ1Mzc4MTc5ZTNkOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZE1ldGFkYXRh
VGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRNZXRhZGF0YVRleHRUcmFja1ByaXZhdGVHU3RyZWFt
ZXIuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEluYmFuZE1ldGFkYXRhVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihraW5kLCBjdWVGb3Jt
YXQsIGlkKSk7CiAgICAgfQogCi0gICAgfkluYmFuZE1ldGFkYXRhVGV4dFRyYWNrUHJpdmF0ZUdT
dHJlYW1lcigpIHsgfQorICAgIH5JbmJhbmRNZXRhZGF0YVRleHRUcmFja1ByaXZhdGVHU3RyZWFt
ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICBLaW5kIGtpbmQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2tpbmQ7IH0KICAgICBBdG9taWNTdHJpbmcgaWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2lkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmlu
ZGV4IDk1YWVjMjhkM2Y0OGYwYWU4NmQ3YzVmNmU5ZjNmMGQ5ZmFmOWFiM2MuLjJkNjI4Mjk3NmIw
Yzg1ZGM1NWRiZmFlYWJlMzIzOTUzNDc0YmYzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC03NjMsOSArNzYzLDcgQEAgQ2FjaGVkUmVzb3VyY2VT
dHJlYW1pbmdDbGllbnQ6OkNhY2hlZFJlc291cmNlU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNy
Yyogc3JjLAogewogfQogCi1DYWNoZWRSZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6fkNhY2hlZFJl
c291cmNlU3RyZWFtaW5nQ2xpZW50KCkKLXsKLX0KK0NhY2hlZFJlc291cmNlU3RyZWFtaW5nQ2xp
ZW50Ojp+Q2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGllbnQoKSA9IGRlZmF1bHQ7CiAKICNpZiBV
U0UoU09VUCkKIGNoYXIqIENhY2hlZFJlc291cmNlU3RyZWFtaW5nQ2xpZW50OjpnZXRPckNyZWF0
ZVJlYWRCdWZmZXIoUGxhdGZvcm1NZWRpYVJlc291cmNlJiwgc2l6ZV90IHJlcXVlc3RlZFNpemUs
IHNpemVfdCYgYWN0dWFsU2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCA3
ODNiYmVhOTEwZmU3YjBkNDA5NjQzNmJkYWUxMWQ0NDcxMTg0MjkzLi4wNjlhNzk1MmI5YTUzM2Mw
OGQ0OWM0OTk5MjQ1MjUzNjgyODJmNDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3Bw
CkBAIC0zMCw5ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRm9udEN1c3RvbVBs
YXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQotewotfQorRm9udEN1c3RvbVBs
YXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSA9IGRlZmF1bHQ7CiAKIEZvbnRQ
bGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxp
YywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9u
dFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3Bl
bkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNp
b25zM0RPcGVuR0wuY3BwCmluZGV4IDVkYTYzMjAzNTRjMTRlODJjYzk1N2NhZDc4NDA3MzYxYTI0
NTgyZjguLmUwNWRlYzFjZGI5MGQyYzIwODAxOGU0YmJkZWM0NjNkMmEwMjA5ZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9F
eHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC01MCw5ICs1MCw3IEBAIEV4dGVuc2lvbnMzRE9wZW5H
TDo6RXh0ZW5zaW9uczNET3BlbkdMKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBib29sIHVz
ZUluZGV4CiB7CiB9CiAKLUV4dGVuc2lvbnMzRE9wZW5HTDo6fkV4dGVuc2lvbnMzRE9wZW5HTCgp
Ci17Ci19CitFeHRlbnNpb25zM0RPcGVuR0w6On5FeHRlbnNpb25zM0RPcGVuR0woKSA9IGRlZmF1
bHQ7CiAKIAogdm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmJsaXRGcmFtZWJ1ZmZlcihsb25nIHNy
Y1gwLCBsb25nIHNyY1kwLCBsb25nIHNyY1gxLCBsb25nIHNyY1kxLCBsb25nIGRzdFgwLCBsb25n
IGRzdFkwLCBsb25nIGRzdFgxLCBsb25nIGRzdFkxLCB1bnNpZ25lZCBsb25nIG1hc2ssIHVuc2ln
bmVkIGxvbmcgZmlsdGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcApp
bmRleCA5MmJkZTZmNzRjZmM5Y2NhNTlmZjk0YWJmYzM0OWNmMzM1MTRkY2MyLi5lYzUzODNhMGIy
NmVmMDViZmU3YjdlNTQzZWQ1MzNkYTAyMzM2NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNE
T3BlbkdMQ29tbW9uLmNwcApAQCAtOTIsOSArOTIsNyBAQCBFeHRlbnNpb25zM0RPcGVuR0xDb21t
b246OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwg
YgogI2VuZGlmCiB9CiAKLUV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6fkV4dGVuc2lvbnMzRE9w
ZW5HTENvbW1vbigpCi17Ci19CitFeHRlbnNpb25zM0RPcGVuR0xDb21tb246On5FeHRlbnNpb25z
M0RPcGVuR0xDb21tb24oKSA9IGRlZmF1bHQ7CiAKIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdMQ29t
bW9uOjpzdXBwb3J0cyhjb25zdCBTdHJpbmcmIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9w
ZW5HTEVTLmNwcAppbmRleCBmM2U5ZWE5MWM1NTAxM2M1OTJkZTljYjRiZmRkNWI3MDgzZDZmZDcz
Li4xNWI4OWZiZDZiYzBlYzI2OGQyM2E1YWU4NzA4ZjU2Yzc3NzE4NWM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdM
RVMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0xFUy5jcHAKQEAgLTY0LDkgKzY0LDcgQEAgRXh0ZW5zaW9uczNET3BlbkdM
RVM6OkV4dGVuc2lvbnMzRE9wZW5HTEVTKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBib29s
IHVzZUkKIHsKIH0KIAotRXh0ZW5zaW9uczNET3BlbkdMRVM6On5FeHRlbnNpb25zM0RPcGVuR0xF
UygpCi17Ci19CitFeHRlbnNpb25zM0RPcGVuR0xFUzo6fkV4dGVuc2lvbnMzRE9wZW5HTEVTKCkg
PSBkZWZhdWx0OwogCiB2b2lkIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjpmcmFtZWJ1ZmZlclRleHR1
cmUyRE11bHRpc2FtcGxlSU1HKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCB1bnNpZ25lZCBsb25nIGF0
dGFjaG1lbnQsIHVuc2lnbmVkIGxvbmcgdGV4dGFyZ2V0LCB1bnNpZ25lZCBpbnQgdGV4dHVyZSwg
aW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHNhbXBsZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERh
dGEuY3BwCmluZGV4IDk2Y2RlOGE1ZDI5MmZiMzY5YWRlZDk1MzgzMjFmYmVkYWU3NmJmNzQuLmYx
MGU0MDA5OTVkN2E3YTI1YjAxMzMxOTMzNjg5ZTRjYWNiODY3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
TWF0aERhdGEuY3BwCkBAIC0yNjksOSArMjY5LDcgQEAgT3BlblR5cGVNYXRoRGF0YTo6T3BlblR5
cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikKICNlbmRpZgogfQogCi1PcGVuVHlw
ZU1hdGhEYXRhOjp+T3BlblR5cGVNYXRoRGF0YSgpCi17Ci19CitPcGVuVHlwZU1hdGhEYXRhOjp+
T3BlblR5cGVNYXRoRGF0YSgpID0gZGVmYXVsdDsKIAogI2lmIEVOQUJMRShPUEVOVFlQRV9NQVRI
KQogZmxvYXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aENvbnN0YW50KGNvbnN0IEZvbnQmIGZv
bnQsIE1hdGhDb25zdGFudCBjb25zdGFudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZS5oCmluZGV4IGRjNTkz
MWVkZmM1YjY1NzdiOGU5MTIwOTU5MjEyZWUyN2EwNzVmZjguLjY2Yzg4ODI1YjViNTQyZDAwMmE4
MThlNTMxYzFlNWFmMTU5OTEyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmUuaApAQCAtNjEsNyArNjEsNyBAQCBw
dWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1YWwgfkJpdG1hcFRleHR1cmUoKSB7IH0K
KyAgICB2aXJ0dWFsIH5CaXRtYXBUZXh0dXJlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgYm9v
bCBpc0JhY2tlZEJ5T3BlbkdMKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1
YWwgSW50U2l6ZSBzaXplKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2lu
Z1N0b3JlLmgKaW5kZXggZjliYzhlNzJjMGJhYTQ4YWU5MDhlMTA2ZTM4NGM5ZDA5MWRkOGIxNy4u
ZmRhNjA3MmYzZmY3OTNkNjdlNzc4NzQ0N2NiYWY5NGQ2NjVmMGNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5n
U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5oCkBAIC0zNCw3ICszNCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlKCkgY29uc3QgPSAwOwogICAgIHZv
aWQgcGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciYsIGNvbnN0IEZsb2F0UmVjdCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQpIG92ZXJyaWRlID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZHJhd1JlcGFpbnRDb3VudGVyKFRleHR1cmVNYXBwZXImLCBpbnQgLyogcmVw
YWludENvdW50ICovLCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JikgeyB9Ci0gICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlckJhY2tpbmdT
dG9yZSgpIHsgfQorICAgIHZpcnR1YWwgflRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUoKSA9IGRl
ZmF1bHQ7CiAKIHByb3RlY3RlZDoKICAgICBzdGF0aWMgdW5zaWduZWQgY2FsY3VsYXRlRXhwb3Nl
ZFRpbGVFZGdlcyhjb25zdCBGbG9hdFJlY3QmIHRvdGFsUmVjdCwgY29uc3QgRmxvYXRSZWN0JiB0
aWxlUmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllci5oCmluZGV4IGRk
YWNiZmQwYTNkMWY3YjBlYTM2YjUyMjJiOGJkMmI0MGNkZjI1YTYuLmY5NWQ3MGY1YTg4Y2JlZDA2
ZWI0ZTRiM2UwZjUzMmY1ZDQ3OGE2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZv
cm1MYXllci5oCkBAIC0zNiw3ICszNiw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgVGV4dHVy
ZU1hcHBlclBsYXRmb3JtTGF5ZXIoKSA6IG1fY2xpZW50KDApIHsgfQotICAgIHZpcnR1YWwgflRl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKCkgeyB9CisgICAgdmlydHVhbCB+VGV4dHVyZU1hcHBl
clBsYXRmb3JtTGF5ZXIoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9UZXh0
dXJlTWFwcGVyKFRleHR1cmVNYXBwZXImLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwg
ZmxvYXQgb3BhY2l0eSA9IDEuMCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzd2FwQnVmZmVycygp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKFRleHR1cmVNYXBwZXImIHRleHR1cmVN
YXBwZXIsIGNvbnN0IENvbG9yJiBjb2xvciwgZmxvYXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0
UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyVGlsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJUaWxlLmgKaW5kZXggY2JmNzdmMWFhZTE0NTA5NzVlNTEwMDAwZjI1MTIz
OTUxOGEwM2MwZS4uZTk3MjRjZGUxYzdhYjg2NmU0MmZlYzUwMTJhMDkwM2RmZTg1ZGZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJUaWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJUaWxlLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogICAgIHZvaWQg
dXBkYXRlQ29udGVudHMoVGV4dHVyZU1hcHBlciYsIEltYWdlKiwgY29uc3QgSW50UmVjdCYsIEJp
dG1hcFRleHR1cmU6OlVwZGF0ZUNvbnRlbnRzRmxhZyBVcGRhdGVDYW5Nb2RpZnlPcmlnaW5hbElt
YWdlRGF0YSk7CiAgICAgdm9pZCB1cGRhdGVDb250ZW50cyhUZXh0dXJlTWFwcGVyJiwgR3JhcGhp
Y3NMYXllciosIGNvbnN0IEludFJlY3QmLCBCaXRtYXBUZXh0dXJlOjpVcGRhdGVDb250ZW50c0Zs
YWcgVXBkYXRlQ2FuTW9kaWZ5T3JpZ2luYWxJbWFnZURhdGEsIGZsb2F0IHNjYWxlID0gMSk7CiAg
ICAgdmlydHVhbCB2b2lkIHBhaW50KFRleHR1cmVNYXBwZXImLCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYsIGZsb2F0LCBjb25zdCB1bnNpZ25lZCBleHBvc2VkRWRnZXMpOwotICAgIHZpcnR1
YWwgflRleHR1cmVNYXBwZXJUaWxlKCkgeyB9CisgICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlclRp
bGUoKSA9IGRlZmF1bHQ7CiAKICAgICBleHBsaWNpdCBUZXh0dXJlTWFwcGVyVGlsZShjb25zdCBG
bG9hdFJlY3QmIHJlY3QpCiAgICAgICAgIDogbV9yZWN0KHJlY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGVkQmFj
a2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNDIzOGM1ZDhlNGRhMDJhOTM0NzQw
MjMyZTVmMGExYTA0M2U2N2VhOS4uZmM5NDM4ZDYwODI5YTJmMTM2MDhmMjEwNDA0YjQyYzRmMWI1
NTUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJUaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUuaApA
QCAtMzMsNyArMzMsNyBAQCBjbGFzcyBUZXh0dXJlTWFwcGVyOwogY2xhc3MgVGV4dHVyZU1hcHBl
clRpbGVkQmFja2luZ1N0b3JlIDogcHVibGljIFRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUgewog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8VGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlPiBj
cmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFRleHR1cmVNYXBwZXJUaWxlZEJhY2tpbmdT
dG9yZSk7IH0KLSAgICB2aXJ0dWFsIH5UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUoKSB7
IH0KKyAgICB2aXJ0dWFsIH5UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUoKSA9IGRlZmF1
bHQ7CiAKICAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gdGV4dHVyZSgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZvaWQgcGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciYsIGNvbnN0IEZs
b2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQpIG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb250ZW50c1RvSW1hZ2UoSW1h
Z2UqIGltYWdlKSB7IG1faW1hZ2UgPSBpbWFnZTsgfQogCiBwcml2YXRlOgotICAgIFRleHR1cmVN
YXBwZXJUaWxlZEJhY2tpbmdTdG9yZSgpIHsgfQorICAgIFRleHR1cmVNYXBwZXJUaWxlZEJhY2tp
bmdTdG9yZSgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgY3JlYXRlT3JEZXN0cm95VGlsZXNJZk5l
ZWRlZChjb25zdCBGbG9hdFNpemUmIGJhY2tpbmdTdG9yZVNpemUsIGNvbnN0IEludFNpemUmIHRp
bGVTaXplLCBib29sIGhhc0FscGhhKTsKICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzRnJvbUltYWdl
SWZOZWVkZWQoVGV4dHVyZU1hcHBlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKaW5kZXggNTYwYzJlMTY3MjFjNjY4MjczZWZm
ZDI3ZWMxOTI5YTE1MjZiYzkyMi4uZDAzZjRmM2M0M2JjMTg2NjFjZjgwYTIxYjA2MjMwMzMzNjM4
ZjA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFn
ZUJhY2tpbmcuY3BwCkBAIC03Niw5ICs3Niw3IEBAIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjpD
b29yZGluYXRlZEltYWdlQmFja2luZyhDbGllbnQmIGNsaWVudCwgUmVmPEltYWdlPiYmIGltCiAg
ICAgbV9jbGllbnQtPmNyZWF0ZUltYWdlQmFja2luZyhpZCgpKTsKIH0KIAotQ29vcmRpbmF0ZWRJ
bWFnZUJhY2tpbmc6On5Db29yZGluYXRlZEltYWdlQmFja2luZygpCi17Ci19CitDb29yZGluYXRl
ZEltYWdlQmFja2luZzo6fkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nKCkgPSBkZWZhdWx0OwogCiB2
b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjphZGRIb3N0KEhvc3QqIGhvc3QpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRTdXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRTdXJmYWNlLmgKaW5kZXggZDQzYzQxZTBj
YTUzOWQ4Y2Y5M2M1ZWVkNmE2ZDU2M2MwNjY5MDQ4MC4uZjNmYjYwZmNjOTFhNzIwMWI5NjdhODdm
ZTI1Y2E4M2EzN2U0ZTVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkU3VyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZFN1cmZhY2UuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAKICAgICBjbGFzcyBDbGllbnQg
ewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgeyB9CisgICAgICAgIHZp
cnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9T
dXJmYWNlQ29udGV4dChHcmFwaGljc0NvbnRleHQmKSA9IDA7CiAgICAgfTsKIApAQCAtNDgsNyAr
NDgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0RmFjdG9yeShGYWN0b3J5KTsKICAg
ICBzdGF0aWMgUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4gY3JlYXRlKGNvbnN0IEludFNpemUm
LCBGbGFncyk7CiAKLSAgICB2aXJ0dWFsIH5Db29yZGluYXRlZFN1cmZhY2UoKSB7IH0KKyAgICB2
aXJ0dWFsIH5Db29yZGluYXRlZFN1cmZhY2UoKSA9IGRlZmF1bHQ7CiAKICAgICBib29sIHN1cHBv
cnRzQWxwaGEoKSBjb25zdCB7IHJldHVybiBmbGFncygpICYgU3VwcG9ydHNBbHBoYTsgfQogICAg
IEludFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFj
a2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggZWNiMzFiNDU3ZTg0NzNhMjg5
NmM0OTc0ZjM3MTY1YTJlNTVlOGE5MC4uYzFmYTRjODViMGU3MzE5MjlhYzVhY2IyNmM0ODM5Yzg4
ZGMxYmEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUu
Y3BwCkBAIC00Niw5ICs0Niw3IEBAIFRpbGVkQmFja2luZ1N0b3JlOjpUaWxlZEJhY2tpbmdTdG9y
ZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCogY2xpZW50LCBmbG9hdCBjb250CiB7CiB9CiAKLVRp
bGVkQmFja2luZ1N0b3JlOjp+VGlsZWRCYWNraW5nU3RvcmUoKQotewotfQorVGlsZWRCYWNraW5n
U3RvcmU6On5UaWxlZEJhY2tpbmdTdG9yZSgpID0gZGVmYXVsdDsKIAogdm9pZCBUaWxlZEJhY2tp
bmdTdG9yZTo6c2V0VHJhamVjdG9yeVZlY3Rvcihjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5
VmVjdG9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3Rv
cmVDbGllbnQuaAppbmRleCA2MTkzNmZmOWNjM2FiY2M1MGU3ZGY1MDM2NzM5MDE2YTI2NjAzMTNj
Li5kNTcxOWU3MmI5NTRjNDU1ODhkMDNlNmJhYTI0ZjQwMzBlNDg1OTYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRC
YWNraW5nU3RvcmVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmVDbGllbnQuaApAQCAtMzEsNyAr
MzEsNyBAQCBjbGFzcyBTdXJmYWNlVXBkYXRlSW5mbzsKIAogY2xhc3MgVGlsZWRCYWNraW5nU3Rv
cmVDbGllbnQgewogcHVibGljOgotICAgIHZpcnR1YWwgflRpbGVkQmFja2luZ1N0b3JlQ2xpZW50
KCkgeyB9CisgICAgdmlydHVhbCB+VGlsZWRCYWNraW5nU3RvcmVDbGllbnQoKSA9IGRlZmF1bHQ7
CiAgICAgdmlydHVhbCB2b2lkIHRpbGVkQmFja2luZ1N0b3JlUGFpbnQoR3JhcGhpY3NDb250ZXh0
JiwgY29uc3QgSW50UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlVGlsZUJ1
ZmZlcnMoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRpbGVkQmFja2luZ1N0b3JlSGFzUGVuZGlu
Z1RpbGVDcmVhdGlvbigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbi5oCmluZGV4
IDUzNjNiZTAzZmUwZjhjNTkzMDI5MWVjNWRhMTM3YzQzZWYzZjQ3OGQuLjNjZDZhNWFhZjUwZmQ2
YTQwM2M2NGZhMDBjZjY4ZmEwNzg5NjA0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRp
b24uaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIDogbV90eXBlKHR5cGUpCiAg
ICAgewogICAgIH0KLSAgICB2aXJ0dWFsIH5UcmFuc2Zvcm1PcGVyYXRpb24oKSB7IH0KKyAgICB2
aXJ0dWFsIH5UcmFuc2Zvcm1PcGVyYXRpb24oKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIFJl
ZjxUcmFuc2Zvcm1PcGVyYXRpb24+IGNsb25lKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Z1bGxTY3JlZW5Db250
cm9sbGVyLmNwcAppbmRleCA2ODAxYzE2YWNiZDM1ZWYzNWYzYzVhOTM5NzkyNTBiZDM4ODBmNTZl
Li5jYTA3YTc4NDk3NzE4MjA0OTUzMGZmZGFiNmE0NzM5MjhhY2Y3NmI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9GdWxsU2NyZWVu
Q29udHJvbGxlci5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1faXNF
eGl0aW5nRnVsbFNjcmVlbihmYWxzZSkKICAgICB7CiAgICAgfQotICAgIHZpcnR1YWwgflByaXZh
dGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5Qcml2YXRlKCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVh
bCBMUkVTVUxUIGZ1bGxzY3JlZW5DbGllbnRXbmRQcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBB
UkFNKTsKICAgICAKQEAgLTEwOCw5ICsxMDgsNyBAQCBGdWxsU2NyZWVuQ29udHJvbGxlcjo6RnVs
bFNjcmVlbkNvbnRyb2xsZXIoRnVsbFNjcmVlbkNvbnRyb2xsZXJDbGllbnQqIGNsaWVudCkKICAg
ICBBU1NFUlRfQVJHKGNsaWVudCwgY2xpZW50KTsKIH0KIAotRnVsbFNjcmVlbkNvbnRyb2xsZXI6
On5GdWxsU2NyZWVuQ29udHJvbGxlcigpCi17Ci19CitGdWxsU2NyZWVuQ29udHJvbGxlcjo6fkZ1
bGxTY3JlZW5Db250cm9sbGVyKCkgPSBkZWZhdWx0OwogCiBib29sIEZ1bGxTY3JlZW5Db250cm9s
bGVyOjppc0Z1bGxTY3JlZW4oKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Z1bGxTY3JlZW5Db250cm9sbGVyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNvbnRyb2xsZXJDbGll
bnQuaAppbmRleCBiNTNiYWRlYzY4YzgyMTI2Y2Y0OTliMGE5Njg3NjVkZjI3ZGNmMWNiLi4wYmJj
Njk2NDI5ZTgxZTkyMWRiOTIzNjE2MzljMzA5Mzk1NDU4ODAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNvbnRyb2xsZXJDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNv
bnRyb2xsZXJDbGllbnQuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGZ1bGxTY3JlZW5DbGllbnRTYXZlU2Nyb2xsUG9zaXRpb24oKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGZ1bGxTY3JlZW5DbGllbnRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSA9IDA7CiBwcm90
ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+RnVsbFNjcmVlbkNvbnRyb2xsZXJDbGllbnQoKSB7IH0KKyAg
ICB2aXJ0dWFsIH5GdWxsU2NyZWVuQ29udHJvbGxlckNsaWVudCgpID0gZGVmYXVsdDsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFn
ZUJ1ZmZlckRpcmVjdDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9JbWFnZUJ1ZmZlckRpcmVjdDJELmNwcAppbmRleCA3MDFlZTY0OTE3YjU1YWMyZWZhZjQxMGY4
MTU5ODJiNjMzYzk0NzM2Li5mZGM2ZjZmNDRjMzdiOWM1YzRjZDgyZjYzNDNjYWNiNjliZjU2NzQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VC
dWZmZXJEaXJlY3QyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlQnVmZmVyRGlyZWN0MkQuY3BwCkBAIC0xMjAsOSArMTIwLDcgQEAgSW1hZ2VCdWZm
ZXI6OkltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1dGlvblNj
YWxlLCBDb2xvclNwYWMKIHsKIH0KIAotSW1hZ2VCdWZmZXI6On5JbWFnZUJ1ZmZlcigpCi17Ci19
CitJbWFnZUJ1ZmZlcjo6fkltYWdlQnVmZmVyKCkgPSBkZWZhdWx0OwogCiBGbG9hdFNpemUgSW1h
Z2VCdWZmZXI6OnNpemVGb3JEZXN0aW5hdGlvblNpemUoRmxvYXRTaXplIGRlc3RpbmF0aW9uU2l6
ZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9NZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuV2luZG93LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbldpbmRv
dy5oCmluZGV4IDRhMjBkOWUwYTdiY2NlMjA1MGM0NzRmMTc4NDBhMjBmMTZhMmJmYjguLmUwNjYz
MTBhMGFjYTcxYmQ5YWM4MWRkMTZiYTBkYjE1YTdkNTExZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVu
V2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlh
UGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFzcyBN
ZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IExSRVNVTFQgZnVsbHNjcmVlbkNsaWVudFduZFByb2MoSFdORCwgVUlOVCBtZXNzYWdlLCBXUEFS
QU0sIExQQVJBTSkgPSAwOwogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJp
dmF0ZUZ1bGxzY3JlZW5DbGllbnQoKSB7fSAKKyAgICB2aXJ0dWFsIH5NZWRpYVBsYXllclByaXZh
dGVGdWxsc2NyZWVuQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKIAogY2xhc3MgTWVkaWFQbGF5ZXJQ
cml2YXRlRnVsbHNjcmVlbldpbmRvdyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb24uY3BwCmluZGV4IDI0MWE4NmI0YTg0MGUwM2NlN2E0NjA2ZDcxMmM4Y2Nj
MzM1OTljMTIuLjNkMjViODU3MDM1NWRhMjI1MmQxNjc3MjJlOWY4ZWM2ZmRiOTEwNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCkBAIC0yNjg4
LDkgKzI2ODgsNyBAQCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNE
UHJlc2VudGVyOjpEaXJlY3QzRFByZXNlbnRlcigpCiAgICAgY3JlYXRlRDNERGV2aWNlKCk7CiB9
CiAKLU1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6
On5EaXJlY3QzRFByZXNlbnRlcigpCi17Ci19CitNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjp+RGlyZWN0M0RQcmVzZW50ZXIoKSA9IGRlZmF1bHQ7
CiAKIEhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFBy
ZXNlbnRlcjo6Z2V0U2VydmljZShSRUZHVUlEIGd1aWRTZXJ2aWNlLCBSRUZJSUQgcmlpZCwgdm9p
ZCoqIHBwdikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24u
aAppbmRleCA5MzU0MWY1NjU5YTU5OGM1YThhZmRjMzYzMzMzN2I5N2U4NzUyYzNmLi45Y2U1OTEw
MmVhMmFlOTRkOGM5YjNlZTk2MTI5YzM1YmIzODdkYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5oCkBAIC0xNzAsOCArMTcwLDggQEAgcHJpdmF0ZToK
IAogICAgIGNsYXNzIE1lZGlhUGxheWVyTGlzdGVuZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAg
TWVkaWFQbGF5ZXJMaXN0ZW5lcigpIHsgfQotICAgICAgICB2aXJ0dWFsIH5NZWRpYVBsYXllckxp
c3RlbmVyKCkgeyB9CisgICAgICAgIE1lZGlhUGxheWVyTGlzdGVuZXIoKSA9IGRlZmF1bHQ7Cisg
ICAgICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyTGlzdGVuZXIoKSA9IGRlZmF1bHQ7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIG9uTWVkaWFQbGF5ZXJEZWxldGVkKCkgeyB9CiAgICAgfTsKQEAgLTIw
MSw4ICsyMDEsOCBAQCBwcml2YXRlOgogCiAgICAgY2xhc3MgVmlkZW9TYW1wbGVQb29sIHsKICAg
ICBwdWJsaWM6Ci0gICAgICAgIFZpZGVvU2FtcGxlUG9vbCgpIHsgfQotICAgICAgICB2aXJ0dWFs
IH5WaWRlb1NhbXBsZVBvb2woKSB7IH0KKyAgICAgICAgVmlkZW9TYW1wbGVQb29sKCkgPSBkZWZh
dWx0OworICAgICAgICB2aXJ0dWFsIH5WaWRlb1NhbXBsZVBvb2woKSA9IGRlZmF1bHQ7CiAKICAg
ICAgICAgSFJFU1VMVCBpbml0aWFsaXplKFZpZGVvU2FtcGxlTGlzdCYgc2FtcGxlcyk7CiAgICAg
ICAgIHZvaWQgY2xlYXIoKTsKQEAgLTIyMiw4ICsyMjIsOCBAQCBwcml2YXRlOgogCiAgICAgY2xh
c3MgVmlkZW9TY2hlZHVsZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgVmlkZW9TY2hlZHVsZXIo
KSB7IH0KLSAgICAgICAgdmlydHVhbCB+VmlkZW9TY2hlZHVsZXIoKSB7IH0KKyAgICAgICAgVmlk
ZW9TY2hlZHVsZXIoKSA9IGRlZmF1bHQ7CisgICAgICAgIHZpcnR1YWwgflZpZGVvU2NoZWR1bGVy
KCkgPSBkZWZhdWx0OwogCiAgICAgICAgIHZvaWQgc2V0UHJlc2VudGVyKERpcmVjdDNEUHJlc2Vu
dGVyKiBwcmVzZW50ZXIpIHsgbV9wcmVzZW50ZXIgPSBwcmVzZW50ZXI7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1BhdGhEaXJlY3QyRC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUGF0aERpcmVjdDJELmNwcApp
bmRleCAxOGU2ZDVlOTQzODk4ZGIxMjc4NjI0NjEyMDc0ODkxZGM0ZmY5MGNhLi4xYjg4ZmU3MDkw
ODk4ZDVlODkxYjYxN2RhMmMzODBjMjJmZjZlNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUGF0aERpcmVjdDJELmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUGF0aERpcmVjdDJELmNwcApAQCAtNjksMTMgKzY5
LDkgQEAgUGF0aCBQYXRoOjpwb2x5Z29uUGF0aEZyb21Qb2ludHMoY29uc3QgVmVjdG9yPEZsb2F0
UG9pbnQ+JiBwb2ludHMpCiAgICAgcmV0dXJuIHBhdGg7CiB9CiAKLVBhdGg6OlBhdGgoKQotewot
fQorUGF0aDo6UGF0aCgpID0gZGVmYXVsdDsKIAotUGF0aDo6flBhdGgoKQotewotfQorUGF0aDo6
flBhdGgoKSA9IGRlZmF1bHQ7CiAKIFBsYXRmb3JtUGF0aFB0ciBQYXRoOjplbnN1cmVQbGF0Zm9y
bVBhdGgoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d3BlL0ljb25XUEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3BlL0lj
b25XUEUuY3BwCmluZGV4IGQzYzM3YmRmOGFhMzJjNmRmOTBmZTdhYjhjZGMxYzg2MjU5ODMzNWYu
Ljc2YTIxZGEzNmYzNmVmOTFhYTE3ODg5YjhmYzExOWIyMjJlNzI1YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dwZS9JY29uV1BFLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93cGUvSWNvbldQRS5jcHAKQEAgLTI4LDkgKzI4
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JY29uOjp+SWNvbigpCi17Ci19CitJY29u
Ojp+SWNvbigpID0gZGVmYXVsdDsKIAogdm9pZCBJY29uOjpwYWludChHcmFwaGljc0NvbnRleHQm
LCBjb25zdCBGbG9hdFJlY3QmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bh
c3RlYm9hcmRHdGsuY3BwCmluZGV4IGFjMjZhN2ZmZmNkNGY3MmQ2YjA4ZTg1MmM0ZjViMGMzNWU0
MGEwY2YuLmE4ZDVlNTk5Yzg1NzNmMGRhODYyNjNmN2I2ZTZhYjJjZGFlNGI4NzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAgLTc5LDkgKzc5
LDcgQEAgUGFzdGVib2FyZDo6UGFzdGVib2FyZCgpCiB7CiB9CiAKLVBhc3RlYm9hcmQ6On5QYXN0
ZWJvYXJkKCkKLXsKLX0KK1Bhc3RlYm9hcmQ6On5QYXN0ZWJvYXJkKCkgPSBkZWZhdWx0OwogCiBj
b25zdCBTZWxlY3Rpb25EYXRhJiBQYXN0ZWJvYXJkOjpzZWxlY3Rpb25EYXRhKCkgY29uc3QKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVyLmNwcApp
bmRleCBkMjUxZTY4OTI3NDllZWQ4MDhmMTU4N2RiMDM1ZTI5OGNmNmI1MzU0Li5kNTlhMmRiNjBl
MjI3Yzg5YWU1NjMwNWZhZjc3NGRlM2Q2YWUzNTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEhlbHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuY3BwCkBAIC03NCw5ICs3NCw3IEBAIFBhc3Rl
Ym9hcmRIZWxwZXI6OlBhc3RlYm9hcmRIZWxwZXIoKQogICAgIGd0a190YXJnZXRfbGlzdF9hZGQo
bV90YXJnZXRMaXN0LmdldCgpLCB1bmtub3duQXRvbSwgMCwgUGFzdGVib2FyZEhlbHBlcjo6VGFy
Z2V0VHlwZVVua25vd24pOwogfQogCi1QYXN0ZWJvYXJkSGVscGVyOjp+UGFzdGVib2FyZEhlbHBl
cigpCi17Ci19CitQYXN0ZWJvYXJkSGVscGVyOjp+UGFzdGVib2FyZEhlbHBlcigpID0gZGVmYXVs
dDsKIAogR3RrVGFyZ2V0TGlzdCogUGFzdGVib2FyZEhlbHBlcjo6dGFyZ2V0TGlzdCgpIGNvbnN0
CiB7CkBAIC0yNzQsOSArMjcyLDcgQEAgc3RydWN0IENsaXBib2FyZFNldERhdGEgewogICAgIHsK
ICAgICB9CiAKLSAgICB+Q2xpcGJvYXJkU2V0RGF0YSgpCi0gICAgewotICAgIH0KKyAgICB+Q2xp
cGJvYXJkU2V0RGF0YSgpID0gZGVmYXVsdDsKIAogICAgIFJlZjxTZWxlY3Rpb25EYXRhPiBzZWxl
Y3Rpb25EYXRhOwogICAgIFdURjo6RnVuY3Rpb248dm9pZCgpPiBzZWxlY3Rpb25DbGVhcmVkQ2Fs
bGJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhl
bWVHYWRnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR2Fk
Z2V0LmNwcAppbmRleCBhOTUwNTliYzAyOGZhYTM2YTA1MDBjOGZiMWZmZjM0NmMyNzZhYmYxLi42
YTI5MDNiODc1MTNiNjBlMGYwODI5MjFmM2ZjYzM2ZmFiNzg0YjA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHYWRnZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUdhZGdldC5jcHAKQEAgLTg1LDkgKzg1
LDcgQEAgUmVuZGVyVGhlbWVHYWRnZXQ6OlJlbmRlclRoZW1lR2FkZ2V0KGNvbnN0IFJlbmRlclRo
ZW1lR2FkZ2V0OjpJbmZvJiBpbmZvLCBSZW5kZXIKICAgICBtX2NvbnRleHQgPSBjcmVhdGVTdHls
ZUNvbnRleHQocGF0aC5nZXQoKSwgcGFyZW50ID8gcGFyZW50LT5jb250ZXh0KCkgOiBudWxscHRy
KTsKIH0KIAotUmVuZGVyVGhlbWVHYWRnZXQ6On5SZW5kZXJUaGVtZUdhZGdldCgpCi17Ci19CitS
ZW5kZXJUaGVtZUdhZGdldDo6flJlbmRlclRoZW1lR2FkZ2V0KCkgPSBkZWZhdWx0OwogCiBHdGtC
b3JkZXIgUmVuZGVyVGhlbWVHYWRnZXQ6Om1hcmdpbkJveCgpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVXaWRnZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lV2lkZ2V0LmNwcAppbmRleCBjMTli
ZmQyZmJlNjY2NTM1ZTAyNDQ2Y2Y0NGQ4YzdiODgwMzA1MWFjLi44OGY3MDhlN2Y0MjA4YWM1OTI2
MDRmYTI5YmQxZDYzMTM2ZTQ2NDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvUmVuZGVyVGhlbWVXaWRnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9SZW5kZXJUaGVtZVdpZGdldC5jcHAKQEAgLTk3LDkgKzk3LDcgQEAgdm9pZCBSZW5kZXJU
aGVtZVdpZGdldDo6Y2xlYXJDYWNoZSgpCiAgICAgd2lkZ2V0TWFwKCkuY2xlYXIoKTsKIH0KIAot
UmVuZGVyVGhlbWVXaWRnZXQ6On5SZW5kZXJUaGVtZVdpZGdldCgpCi17Ci19CitSZW5kZXJUaGVt
ZVdpZGdldDo6flJlbmRlclRoZW1lV2lkZ2V0KCkgPSBkZWZhdWx0OwogCiBSZW5kZXJUaGVtZVNj
cm9sbGJhcjo6UmVuZGVyVGhlbWVTY3JvbGxiYXIoR3RrT3JpZW50YXRpb24gb3JpZW50YXRpb24s
IE1vZGUgbW9kZSwgVmVydGljYWxQb3NpdGlvbiB2ZXJ0aWNhbFBvc2l0aW9uKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKaW5kZXgg
NDNkZjIzMDNmZDg3MTEwZDAwMTg5OTc1Yzk5YTFmZWJjNDQzYjI0My4uOGY3ZWU2Zjk2ZjZjZGQx
MDk1MmM4ZTgyMGNkN2EwMjYxOWE3NWM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCkBAIC02Niw5ICs2Niw3IEBAIFNjcm9sbEFu
aW1hdG9yR3RrOjpTY3JvbGxBbmltYXRvckd0ayhTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFy
ZWEpCiAjZW5kaWYKIH0KIAotU2Nyb2xsQW5pbWF0b3JHdGs6On5TY3JvbGxBbmltYXRvckd0aygp
Ci17Ci19CitTY3JvbGxBbmltYXRvckd0azo6flNjcm9sbEFuaW1hdG9yR3RrKCkgPSBkZWZhdWx0
OwogCiAjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCiB2b2lkIFNjcm9sbEFuaW1hdG9yR3Rr
OjplbnN1cmVTbW9vdGhTY3JvbGxpbmdBbmltYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0ay5jcHAKaW5kZXggYzgyY2FmZjEzY2VmMDQ4
ODk4ZGFkMThlMTBiYTEzYzU5YjNmN2Y0Yy4uODQ2NmFhY2RmNzQ1MjlkZjczMjEzZTczMGIzODYy
ODBhMWU2MzZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bGJhclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
YmFyVGhlbWVHdGsuY3BwCkBAIC00NCw5ICs0NCw3IEBAIFNjcm9sbGJhclRoZW1lJiBTY3JvbGxi
YXJUaGVtZTo6bmF0aXZlVGhlbWUoKQogICAgIHJldHVybiB0aGVtZTsKIH0KIAotU2Nyb2xsYmFy
VGhlbWVHdGs6On5TY3JvbGxiYXJUaGVtZUd0aygpCi17Ci19CitTY3JvbGxiYXJUaGVtZUd0azo6
flNjcm9sbGJhclRoZW1lR3RrKCkgPSBkZWZhdWx0OwogCiAjaWZuZGVmIEdUS19BUElfVkVSU0lP
Tl8yCiBzdGF0aWMgdm9pZCB0aGVtZUNoYW5nZWRDYWxsYmFjaygpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURl
Y29kZXIuY3BwCmluZGV4IDk5ZTk1N2VmOGMxNzhmNjc2ZTJjNTk1MjNmMjczMzUzYzc5ZTc3MjUu
LjgyYjgyZjdkNjQ3ZTY3NGRjMzc1YzJkMzJmNzQ0N2UwNjJjYmI3ZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJ
bWFnZURlY29kZXIuY3BwCkBAIC0zNiw5ICszNiw3IEBAIEdJRkltYWdlRGVjb2Rlcjo6R0lGSW1h
Z2VEZWNvZGVyKEFscGhhT3B0aW9uIGFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZU9w
CiB7CiB9CiAKLUdJRkltYWdlRGVjb2Rlcjo6fkdJRkltYWdlRGVjb2RlcigpCi17Ci19CitHSUZJ
bWFnZURlY29kZXI6On5HSUZJbWFnZURlY29kZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgR0lGSW1h
Z2VEZWNvZGVyOjpzZXREYXRhKFNoYXJlZEJ1ZmZlciYgZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2
ZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCmluZGV4IDIwNmZlN2M0MDdmMTMzMjhl
ZTY4NTEzNWE4ZWEzMWVjYWE5MjUzOTEuLmZhNjhmMmJkZTg1NTI1Zjk2ODFkM2Y4YjIwMDY0NDA1
NzEyZjRhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCkBAIC01MCw5ICs1MCw3IEBA
IElDT0ltYWdlRGVjb2Rlcjo6SUNPSW1hZ2VEZWNvZGVyKEFscGhhT3B0aW9uIGFscGhhT3B0aW9u
LCBHYW1tYUFuZENvbG9yUHJvZmlsZU9wCiB7CiB9CiAKLUlDT0ltYWdlRGVjb2Rlcjo6fklDT0lt
YWdlRGVjb2RlcigpCi17Ci19CitJQ09JbWFnZURlY29kZXI6On5JQ09JbWFnZURlY29kZXIoKSA9
IGRlZmF1bHQ7CiAKIHZvaWQgSUNPSW1hZ2VEZWNvZGVyOjpzZXREYXRhKFNoYXJlZEJ1ZmZlciYg
ZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVy
LmNwcAppbmRleCBlMzY4YjY5MDZlNmYwOTZhYTE2YThmMzUxYjhjZTcyMjg0ZTg3NTgyLi5mYmMx
YjRhNmM3MzU2NWZjZjk2NjdmMTk1ZGM1OGMxNDM0ZDk1M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0lt
YWdlRGVjb2Rlci5jcHAKQEAgLTUwNiw5ICs1MDYsNyBAQCBKUEVHSW1hZ2VEZWNvZGVyOjpKUEVH
SW1hZ2VEZWNvZGVyKEFscGhhT3B0aW9uIGFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmls
ZQogewogfQogCi1KUEVHSW1hZ2VEZWNvZGVyOjp+SlBFR0ltYWdlRGVjb2RlcigpCi17Ci19CitK
UEVHSW1hZ2VEZWNvZGVyOjp+SlBFR0ltYWdlRGVjb2RlcigpID0gZGVmYXVsdDsKIAogYm9vbCBK
UEVHSW1hZ2VEZWNvZGVyOjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VE
ZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9Q
TkdJbWFnZURlY29kZXIuY3BwCmluZGV4IGM5YTE0MjFiMjQ0MGYxNWI4YTVlMmRlYjRiNDM1YTNm
NzgyMWE3YmIuLmExZDVhNDcyNGMzZTkyZTQ1NWNmY2RiZGY3ODQyMzk0MDdhMmU5MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFn
ZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L3BuZy9QTkdJbWFnZURlY29kZXIuY3BwCkBAIC0yMzEsOSArMjMxLDcgQEAgUE5HSW1hZ2VEZWNv
ZGVyOjpQTkdJbWFnZURlY29kZXIoQWxwaGFPcHRpb24gYWxwaGFPcHRpb24sIEdhbW1hQW5kQ29s
b3JQcm9maWxlT3AKIHsKIH0KIAotUE5HSW1hZ2VEZWNvZGVyOjp+UE5HSW1hZ2VEZWNvZGVyKCkK
LXsKLX0KK1BOR0ltYWdlRGVjb2Rlcjo6flBOR0ltYWdlRGVjb2RlcigpID0gZGVmYXVsdDsKIAog
I2lmIEVOQUJMRShBUE5HKQogUmVwZXRpdGlvbkNvdW50IFBOR0ltYWdlRGVjb2Rlcjo6cmVwZXRp
dGlvbkNvdW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwCmluZGV4IDQ3
YTM0YTZhOWUwMTM0ODA1OTllZGViYWIwMDUzMjgyODllMTdhNGEuLmQxNmY2YzJhYTQzMzJhZmY1
MDAzNmQ1ODk0ZDNkZGE0ZmI4OTczM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNw
cApAQCAtMzgsOSArMzgsNyBAQCBXRUJQSW1hZ2VEZWNvZGVyOjpXRUJQSW1hZ2VEZWNvZGVyKEFs
cGhhT3B0aW9uIGFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZQogewogfQogCi1XRUJQ
SW1hZ2VEZWNvZGVyOjp+V0VCUEltYWdlRGVjb2RlcigpCi17Ci19CitXRUJQSW1hZ2VEZWNvZGVy
Ojp+V0VCUEltYWdlRGVjb2RlcigpID0gZGVmYXVsdDsKIAogdm9pZCBXRUJQSW1hZ2VEZWNvZGVy
OjpzZXREYXRhKFNoYXJlZEJ1ZmZlciYgZGF0YSwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2VsZWN0aW9uUmVjdC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1NlbGVjdGlvblJlY3QuaAppbmRleCA2N2Q4MTBm
ZmRjYzI0ODBiZWMxY2VkZTkyMDAwOWY1MDAxMzhlN2IyLi40OTgyYzYzYTAwMzNmNTc1NGNlMzc5
MmU4NjEyYzc3YjdmODEwZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvU2VsZWN0aW9uUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TZWxl
Y3Rpb25SZWN0LmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgbW92ZSBzb21lIG9mIHRoZXNlIGFyZ3VtZW50cyB0byBhbiBhdXhpbGxhcnkgc3RydWN0
LgogICAgIFNlbGVjdGlvblJlY3QoY29uc3QgSW50UmVjdCYsIFRleHREaXJlY3Rpb24sIGludCwg
aW50LCBpbnQsIGludCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgaW50KTsKICAgICBXRUJDT1JFX0VYUE9SVCBTZWxlY3Rpb25SZWN0KCk7Ci0gICAgflNl
bGVjdGlvblJlY3QoKSB7IH0KKyAgICB+U2VsZWN0aW9uUmVjdCgpID0gZGVmYXVsdDsKIAogICAg
IEludFJlY3QgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uSW50ZXJydXB0
aW9uUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyLmNwcAppbmRleCBkNzU2MzU4ZGEyNzNkZDcz
NDU1MzU4OWY1NzE3NWMzNjA4YjM2N2VjLi5mYjNmYTVkZmRjMThiM2RjYjY0ODkzNjAyOGVkOTYx
NzNkMDAzY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXNlc3Np
b24vTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRl
ci5jcHAKQEAgLTM1LDkgKzM1LDcgQEAgTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXI6
Ok1lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyKE1lZGlhU2Vzc2lvbkkKIHsKIH0KIAot
TWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXI6On5NZWRpYVNlc3Npb25JbnRlcnJ1cHRp
b25Qcm92aWRlcigpCi17Ci19CitNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlcjo6fk1l
ZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyKCkgPSBkZWZhdWx0OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c2Vzc2lvbi9NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVy
LmgKaW5kZXggNmEyYjc3ODBlNTNjOWQyYjZkNDgzYmQxOWJmMzRiODc0MzM4OWJjZS4uOTRiNDkw
MzcwOTRhZGQ2MDg4NGExOTAyNTU0ODk0YTY4MjMyZWM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3Zp
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzZXNzaW9uL01lZGlhU2Vz
c2lvbkludGVycnVwdGlvblByb3ZpZGVyLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRW5kT2ZJbnRlcnJ1cHRpb25Ob3RpZmljYXRpb24oTWVk
aWFTZXNzaW9uSW50ZXJydXB0aW5nQ2F0ZWdvcnkpID0gMDsKIAogcHJvdGVjdGVkOgotICAgIHZp
cnR1YWwgfk1lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyQ2xpZW50KCkgeyB9CisgICAg
dmlydHVhbCB+TWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXJDbGllbnQoKSA9IGRlZmF1
bHQ7CiB9OwogCiBjbGFzcyBNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPE1lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyPiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXNlc3Npb24vbWFjL01lZGlhU2Vzc2lv
bkludGVycnVwdGlvblByb3ZpZGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXNlc3Npb24vbWFjL01lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyTWFjLmgKaW5kZXgg
MmY1MTQ3ZTU5MGU2MjUzNTE5ZDY3NDE1MDJjY2M5N2YwMWYyODg5OC4uNzUyMWZjNTAzNzgxNmRj
MzBkZGFlYzY3MDUxODY5N2U4NDhjYzkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzZXNzaW9uL21hYy9NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlck1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc2Vzc2lvbi9tYWMvTWVkaWFT
ZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXJNYWMuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzdG9wTGlzdGVuaW5nRm9ySW50ZXJydXB0aW9ucygpIG92ZXJyaWRlOwogCiBw
cm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+TWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXJN
YWMoKSB7IH0KKyAgICB2aXJ0dWFsIH5NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlck1h
YygpID0gZGVmYXVsdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2VNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2VN
YW5hZ2VyLmNwcAppbmRleCA5MjI1OTEyY2MxNmZlNzMyMDAyMmU5N2M4MmMyYjg5ODZlMTAwODU3
Li5kODVkZjNlZThkNWUzMjA1Y2Q1NjA1NTY5ZDEzZGI1ZTkxZTRiZjY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmlj
ZU1hbmFnZXIuY3BwCkBAIC0zOCw5ICszOCw3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCi1DYXB0dXJlRGV2aWNlTWFuYWdlcjo6fkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCkKLXsKLX0K
K0NhcHR1cmVEZXZpY2VNYW5hZ2VyOjp+Q2FwdHVyZURldmljZU1hbmFnZXIoKSA9IGRlZmF1bHQ7
CiAKIFZlY3RvcjxDYXB0dXJlRGV2aWNlPiBDYXB0dXJlRGV2aWNlTWFuYWdlcjo6Z2V0QXVkaW9T
b3VyY2VzSW5mbygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbUNvbnN0cmFpbnRzVmFsaWRhdGlvbkNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Db25zdHJhaW50c1ZhbGlk
YXRpb25DbGllbnQuaAppbmRleCA0OTk0NGE4NTVjYjMwNmE0ZjhkYmQyMjVjN2EzODVhZDNlNTMz
ZDQxLi40NWMxNmQwMDcxMjhkNjBkNzU0NDcxNjFmYmI4MGI3ZGJiNTUzNTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNvbnN0cmFp
bnRzVmFsaWRhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtQ29uc3RyYWludHNWYWxpZGF0aW9uQ2xpZW50LmgKQEAgLTM0LDcg
KzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZWRpYVN0cmVhbUNvbnN0cmFp
bnRzVmFsaWRhdGlvbkNsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtQ29uc3Ry
YWludHNWYWxpZGF0aW9uQ2xpZW50PiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+TWVkaWFTdHJl
YW1Db25zdHJhaW50c1ZhbGlkYXRpb25DbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5NZWRpYVN0
cmVhbUNvbnN0cmFpbnRzVmFsaWRhdGlvbkNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1
YWwgdm9pZCBjb25zdHJhaW50c0FyZVZhbGlkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb25z
dHJhaW50c0ludmFsaWQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVBy
aXZhdGUuaAppbmRleCAzMzE4YWFiNTFjYWNiNGQwOTRmYWYzMzNlOGQ2YjY2ZWYwMzc5YmY1Li5j
OTg0ZGViOTFmNzg0ZjZiODA0MzRkNzgzNDg4MjkyNzQ3ZjQ5N2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUu
aApAQCAtNTcsNyArNTcsNyBAQCBjbGFzcyBNZWRpYVN0cmVhbVByaXZhdGUgOiBwdWJsaWMgTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGU6Ok9ic2VydmVyLCBwdWJsaWMgUmVmQwogcHVibGljOgogICAg
IGNsYXNzIE9ic2VydmVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfk9ic2VydmVy
KCkgeyB9CisgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCkgPSBkZWZhdWx0OwogCiAgICAgICAg
IHZpcnR1YWwgdm9pZCBjaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCkgeyB9CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBhY3RpdmVTdGF0dXNDaGFuZ2VkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUu
aAppbmRleCAxMjQ2NzZjNzM5MjhiMDkxZDBkZTMwM2IxNjhjMjRhYzAzYzkyOWQ1Li5mZmM1OGY3
MzllMjJmM2JmY2NkZWY4ODRkM2JhY2MxOGZmMTkzOGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2
YXRlLmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUgOiBw
dWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4sIHB1YmwKIHB1YmxpYzoK
ICAgICBjbGFzcyBPYnNlcnZlciB7CiAgICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5PYnNl
cnZlcigpIHsgfQorICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpID0gZGVmYXVsdDsKIAogICAg
ICAgICB2aXJ0dWFsIHZvaWQgdHJhY2tTdGFydGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikg
eyB9OwogICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhY2tFbmRlZChNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZSYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXJIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SVENEVE1GU2VuZGVySGFuZGxlci5oCmluZGV4IDlmYjc1OTFiYTM1Y2U3NDBmZjNi
MThhY2U4MjUxN2VhN2U0MDljZDIuLjI4MTQyMjBkMDcwNzAyMmU0OTBiMThjNDA3MzUxNTFlOGU1
ZDY4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXJIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUlRDRFRNRlNlbmRlckhhbmRsZXIuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBSVENE
VE1GU2VuZGVySGFuZGxlckNsaWVudDsKIAogY2xhc3MgUlRDRFRNRlNlbmRlckhhbmRsZXIgewog
cHVibGljOgotICAgIHZpcnR1YWwgflJUQ0RUTUZTZW5kZXJIYW5kbGVyKCkgeyB9CisgICAgdmly
dHVhbCB+UlRDRFRNRlNlbmRlckhhbmRsZXIoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZv
aWQgc2V0Q2xpZW50KFJUQ0RUTUZTZW5kZXJIYW5kbGVyQ2xpZW50KikgPSAwOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVySGFu
ZGxlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRFRN
RlNlbmRlckhhbmRsZXJDbGllbnQuaAppbmRleCA4Y2M2NGU0M2VlNTc1ZTcxMzM0NjIyOWU0ZGI4
YmNlYTRhYTg0OGE1Li40MDAyNmUyMjFjY2FmNTcyMTM4MmJmZTA4NDJhYWUwNTA0NGRmZWU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEVE1GU2Vu
ZGVySGFuZGxlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXJIYW5kbGVyQ2xpZW50LmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBSVENEVE1GU2VuZGVySGFuZGxlckNsaWVudCB7CiBwdWJs
aWM6Ci0gICAgdmlydHVhbCB+UlRDRFRNRlNlbmRlckhhbmRsZXJDbGllbnQoKSB7IH0KKyAgICB2
aXJ0dWFsIH5SVENEVE1GU2VuZGVySGFuZGxlckNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRQbGF5VG9uZShjb25zdCBTdHJpbmcmKSA9IDA7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxIYW5k
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bEhhbmRsZXIuaAppbmRleCA3MmVlOTI4YmFmOWRhYzQ3MTNjNDAyNjZkNzE3NTYwNzNlZWJiODkw
Li5kZGMxNmVmMzFhNzdiNTU3M2I4Nzc2MjUxMzVkZDc2ZDM4ZWM1NzI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEhhbmRsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bEhhbmRsZXIuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBSVENEYXRhQ2hhbm5lbEhhbmRsZXJD
bGllbnQ7CiAKIGNsYXNzIFJUQ0RhdGFDaGFubmVsSGFuZGxlciB7CiBwdWJsaWM6Ci0gICAgdmly
dHVhbCB+UlRDRGF0YUNoYW5uZWxIYW5kbGVyKCkgeyB9CisgICAgdmlydHVhbCB+UlRDRGF0YUNo
YW5uZWxIYW5kbGVyKCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIHNldENsaWVudChS
VENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQmKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsSGFuZGxlckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxIYW5k
bGVyQ2xpZW50LmgKaW5kZXggOTJiNDMzYmFhZTFmZmY2YjU3NDFhNDM4OWEwMGQ1OGQ0NDk2ZTUw
Yi4uOWY2ZGQ4MGYyNWExZTA2NzU1ZGExYWM5ODdlYWU4ODlkZjlmMjc0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxIYW5kbGVy
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0
YUNoYW5uZWxIYW5kbGVyQ2xpZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQgOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8UlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50PiB7CiBwdWJsaWM6Ci0g
ICAgdmlydHVhbCB+UlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50KCkgeyB9CisgICAgdmlydHVh
bCB+UlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVh
bCB2b2lkIGRpZENoYW5nZVJlYWR5U3RhdGUoUlRDRGF0YUNoYW5uZWxTdGF0ZSkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3RyaW5nRGF0YShjb25zdCBTdHJpbmcmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwCmluZGV4IGVkMjBhNjcwNjRmY2FjN2U3NGI4
NTg2Y2Y5ZTE3ZjBlNjk1MWNjMjIuLmFhNjY0ZDMzNmFhZWMxMjI4MTU0NmYwZmQxMWE3YWQ5MTI0
NGQxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwCkBAIC00OCw5ICs0OCw3
IEBAIFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3Io
Y29uc3QgU3RyaW5nJiBjYW5kaWRhdGUsIGNvCiB7CiB9CiAKLVJUQ0ljZUNhbmRpZGF0ZURlc2Ny
aXB0b3I6On5SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yKCkKLXsKLX0KK1JUQ0ljZUNhbmRpZGF0
ZURlc2NyaXB0b3I6On5SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50LmgKaW5kZXggOGUzMzEzNGE0YTM1ZjcwYmYwZTAwM2ExZGY4ODY1NmFhM2U2ZDRmYS4uNGUw
OWVkNmM2MzkzMjQ4N2VlMzViMzA1YThjNzE2MGYyOTBmYzdlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgUlRDSWNlQ2Fu
ZGlkYXRlRGVzY3JpcHRvcjsKIAogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50
IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQo
KSB7IH0KKyAgICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQoKSA9IGRl
ZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgbmVnb3RpYXRpb25OZWVkZWQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRpZEdlbmVyYXRlSWNlQ2FuZGlkYXRlKFJlZlB0cjxSVENJY2VDYW5kaWRh
dGVEZXNjcmlwdG9yPiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2Ny
aXB0b3IuY3BwCmluZGV4IGNmODA0OTU3YTczZjdmNWQxM2NmMzU0MTEwZGRlMTE1ZTBhMTkwNWEu
LmUwM2NhZDg1MjJhMDY3NWUxNTZkMDhlZTE5MTYzM2JkOTAzYzhlYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCkBAIC00Nyw5ICs0Nyw3IEBAIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3IoY29uc3QgU3RyaW5nJiB0CiB7CiB9CiAKLVJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3I6On5SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKCkKLXsKLX0KK1JUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I6On5SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKCkg
PSBkZWZhdWx0OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVl
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3QuaAppbmRleCA5ODlmM2MxYzIwZjg5YzA4MDdmZThlYmJmNWQ3ZGFkODBk
MmI4N2MwLi4xYWU2OTE3YTc4ZjcxZTBlMGQ2ZDVlMzE2YmI2YjFhOTllZTEzNTAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3Jp
cHRpb25SZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdC5oCkBAIC00NSwxMCArNDUsMTAgQEAgY2xhc3Mg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvblJlcXUKIHB1YmxpYzoKICAgICBjbGFzcyBFeHRyYURhdGEgOiBwdWJsaWMg
UmVmQ291bnRlZDxFeHRyYURhdGE+IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkV4
dHJhRGF0YSgpIHsgfQorICAgICAgICB2aXJ0dWFsIH5FeHRyYURhdGEoKSA9IGRlZmF1bHQ7CiAg
ICAgfTsKIAotICAgIHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QoKSB7IH0K
KyAgICB2aXJ0dWFsIH5SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkgPSBkZWZhdWx0Owog
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdWNjZWVkZWQoUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
RGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEZhaWxlZChjb25zdCBT
dHJpbmcmIGVycm9yKSA9IDA7CkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEV4dHJhRGF0YShSZWZQdHI8RXh0cmFEYXRhPiYmIGV4dHJhRGF0YSkgeyBtX2V4dHJhRGF0YSA9
IGV4dHJhRGF0YTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdCgpIHsgfQorICAgIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QoKSA9IGRlZmF1bHQ7
CiAKIHByaXZhdGU6CiAgICAgUmVmUHRyPEV4dHJhRGF0YT4gbV9leHRyYURhdGE7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3QuaApp
bmRleCBhNmYzZDA5OTc1MGZjOWJhZWQwN2E3NWRmMmNkZWExNzRkYmY0NjIwLi44ZjNhYjVmNGFk
ZDI3MDY1ZDUyMDczOTFkNTA0MGFmZWVmMmY2MWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0LmgKQEAgLTQwLDEzICs0MCwx
MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ1ZvaWRSZXF1ZXN0IDogcHVibGlj
IFJlZkNvdW50ZWQ8UlRDVm9pZFJlcXVlc3Q+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5SVENW
b2lkUmVxdWVzdCgpIHsgfQorICAgIHZpcnR1YWwgflJUQ1ZvaWRSZXF1ZXN0KCkgPSBkZWZhdWx0
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdWNjZWVkZWQoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHJlcXVlc3RGYWlsZWQoY29uc3QgU3RyaW5nJiBlcnJvcikgPSAwOwogCiBwcm90ZWN0
ZWQ6Ci0gICAgUlRDVm9pZFJlcXVlc3QoKSB7IH0KKyAgICBSVENWb2lkUmVxdWVzdCgpID0gZGVm
YXVsdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAppbmRl
eCA4NDZmYjcyNDg3ZTI3ZmEzM2E4NjkzZWIzY2NkZWRmNWUyYmMzNGEyLi4zNGMwNmM5ODc4NTM5
OTNjNmNhZmQ4ZTVkZDIxOWFhNjQyODFkMmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBAIC02Niw3
ICs2Niw3IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIFJlYWx0aW1lTWVkaWFTb3VyY2UgOiBwdWJs
aWMgUmVmQ291bnRlZDxSZWFsdGltZU1lZGlhU291cmNlCiBwdWJsaWM6CiAgICAgY2xhc3MgT2Jz
ZXJ2ZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKSB7IH0KKyAg
ICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICAgICAgLy8gU291cmNl
IHN0YXRlIGNoYW5nZXMuCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VTdGFydGVkKCkgeyB9
CkBAIC0xMjUsNyArMTI1LDcgQEAgcHVibGljOgogICAgICAgICBWaWRlb0NhcHR1cmVGYWN0b3J5
KCkgPSBkZWZhdWx0OwogICAgIH07CiAKLSAgICB2aXJ0dWFsIH5SZWFsdGltZU1lZGlhU291cmNl
KCkgeyB9CisgICAgdmlydHVhbCB+UmVhbHRpbWVNZWRpYVNvdXJjZSgpID0gZGVmYXVsdDsKIAog
ICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggNmFkOWFmZGNmM2ZmNjVjMzRhODNkYjliM2Jk
ZTVhMTQzMzUxM2M1ZS4uNDBhNjE3NzI4ODg4M2UzODk3NWRkMmExYzQ4MTM2MTc5N2ViMDU3ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKQEAgLTkwLDkgKzkwLDcgQEAgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpCiAgICAg
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0RldmljZUlkKHRydWUpOwogfQogCi1S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpCi17
Ci19CitSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cigpID0gZGVmYXVsdDsKIAogdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVhdGVN
ZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlciwgY29u
c3QgU3RyaW5nJiBhdWRpb0RldmljZUlELCBjb25zdCBTdHJpbmcmIHZpZGVvRGV2aWNlSUQsIGNv
bnN0IE1lZGlhQ29uc3RyYWludHMqIGF1ZGlvQ29uc3RyYWludHMsIGNvbnN0IE1lZGlhQ29uc3Ry
YWludHMqIHZpZGVvQ29uc3RyYWludHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZU1hYy5oCmluZGV4IGYwN2FmNjIwMDE4ZDdjMzc2YjlkODY0ZDFhYzJmOGE1ZTExMWNmOGIu
LjA2NTkwNGEzMjU2Zjg3NmUzYWQ4MWRlY2U2ZjA0NjA3NTcxMThiMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9N
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMgZmluYWwgOiBwdWJs
aWMgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UsIHByaXZhdGUgT3JpZW50YXRpb25Ob3RpZmllcjo6
T2JzZXJ2ZXIgewogcHVibGljOgotICAgIHZpcnR1YWwgfk1vY2tSZWFsdGltZVZpZGVvU291cmNl
TWFjKCkgeyB9CisgICAgdmlydHVhbCB+TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMoKSA9IGRl
ZmF1bHQ7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE1vY2tSZWFsdGltZVZpZGVvU291
cmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCmluZGV4
IDAzZmViYjJkMGUzNDNkMDU3OGYxMzBiNmNhNmY3OWNmMTdmNWU5ZjIuLjBlY2MxZWE0ODdhMjk4
NWVjYjliZjI5OThjOWU1ZGI4M2QzYTdmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYy5jcHAKQEAgLTY0LDkgKzY0LDcgQEAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYzo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYygpCiAgICAgbV9zdXBwb3J0
ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0dyb3VwSWQodHJ1ZSk7CiB9CiAKLVJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWM6On5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCkKLXsKLX0K
K1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6On5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
TWFjKCkgPSBkZWZhdWx0OwogCiAKIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZh
Y3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmRlZmF1bHRBdWRpb0ZhY3Rvcnko
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNr
VGFyZ2V0TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJh
Y2tUYXJnZXRNb2NrLmNwcAppbmRleCAwMWZmM2ZhYWRlNDM4ODNlZDE2NDZmZGE3YTc3OWMzMzE3
N2Q5MjlmLi4zNTQwY2Y0MWYyYzI4ODRhYzU3NzEyMTU0NWFiYTE3MWVlZDk5N2Q3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRNb2Nr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJn
ZXRNb2NrLmNwcApAQCAtNDIsOSArNDIsNyBAQCBNZWRpYVBsYXliYWNrVGFyZ2V0TW9jazo6TWVk
aWFQbGF5YmFja1RhcmdldE1vY2soY29uc3QgU3RyaW5nJiBuYW1lLCBNZWRpYVBsYXliYQogewog
fQogCi1NZWRpYVBsYXliYWNrVGFyZ2V0TW9jazo6fk1lZGlhUGxheWJhY2tUYXJnZXRNb2NrKCkK
LXsKLX0KK01lZGlhUGxheWJhY2tUYXJnZXRNb2NrOjp+TWVkaWFQbGF5YmFja1RhcmdldE1vY2so
KSA9IGRlZmF1bHQ7CiAKIGNvbnN0IE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0JiBNZWRpYVBs
YXliYWNrVGFyZ2V0TW9jazo6dGFyZ2V0Q29udGV4dCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmgKaW5k
ZXggMWVhMTE1ZDliNDMzZmE0ZTMzNjljYmVmODQ3OTRmOWFmMjg4NjdlZi4uZjk5M2ZjN2YxNmJk
MzlmYjAwNjMzZTkwOThmZmFiYmFmNTZhMGYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2UuaApAQCAtNDAsNyArNDAs
NyBAQCBjbGFzcyBDYXB0dXJlRGV2aWNlOwogCiBjbGFzcyBNb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZSA6IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlIHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5N
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZSgpIHsgfQorICAgIHZpcnR1YWwgfk1vY2tSZWFsdGltZU1l
ZGlhU291cmNlKCkgPSBkZWZhdWx0OwogCiAgICAgc3RhdGljIFZlY3RvcjxDYXB0dXJlRGV2aWNl
PiYgYXVkaW9EZXZpY2VzKCk7CiAgICAgc3RhdGljIFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYgdmlk
ZW9EZXZpY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Bs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCmluZGV4IDY3Zjk3ZGQ2MWNk
ZDYzMWVhYzk4Y2VhMGQ5NDYyMzYwMjI3OWUwYmQuLjQwMDFiOTZkZjY0Mjc0NWU0OWRmYWIyNjlj
ZDJkNjlhZTcxOGZhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCkBAIC0zNyw5ICsz
Nyw3IEBAIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jayhQbGF0Zm9ybVNwZWVjaFN5bnRoCiB7CiB9CiAKLVBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrOjp+UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2soKQotewotfQorUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6On5QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
aygpID0gZGVmYXVsdDsKIAogdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3Bl
YWtpbmdGaW5pc2hlZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1Njcm9sbEFuaW1hdG9yTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L1Njcm9sbEFuaW1hdG9yTW9jay5jcHAKaW5kZXggNTIyYWViMmFjZGI1Mjg5M2FhZGM2NjI0MTE3
OWQyNTRlYjQ5ZjhmNi4uM2NjMGZlOWM5ZGFlMGE1MDQyY2MzYmM2NDNkMDUxZmIzZmMzMTc3ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TY3JvbGxBbmltYXRvck1v
Y2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsQW5pbWF0b3JN
b2NrLmNwcApAQCAtNDIsOSArNDIsNyBAQCBTY3JvbGxBbmltYXRvck1vY2s6OlNjcm9sbEFuaW1h
dG9yTW9jayhTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEsIFdURjo6RnVuYwogewogfQog
Ci1TY3JvbGxBbmltYXRvck1vY2s6On5TY3JvbGxBbmltYXRvck1vY2soKQotewotfQorU2Nyb2xs
QW5pbWF0b3JNb2NrOjp+U2Nyb2xsQW5pbWF0b3JNb2NrKCkgPSBkZWZhdWx0OwogCiB2b2lkIFNj
cm9sbEFuaW1hdG9yTW9jazo6ZGlkQWRkVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3Jv
bGxiYXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVy
RXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVu
dEJhc2VkTW9jay5oCmluZGV4IGRhYTY0YWZkNjdiZDM2ZGJkMjJiM2RlZDQ4MDM5ZTg5MDhhZTJl
NGUuLjY5MDJhNDNmZTk4MTE3ZDM5YjM5YTQ4ZGE1OThjYjk3ZGI4MTgyZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIFRpbWVyRXZlbnQ7CiAKIGNsYXNzIE1vY2tOb3RpZmllciA6IHB1
YmxpYyBSZWZDb3VudGVkPE1vY2tOb3RpZmllcj4gewogcHVibGljOgotICAgIHZpcnR1YWwgfk1v
Y2tOb3RpZmllcigpIHsgfQorICAgIHZpcnR1YWwgfk1vY2tOb3RpZmllcigpID0gZGVmYXVsdDsK
ICAgICB2aXJ0dWFsIHZvaWQgZmlyZSgpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5kZXggNDhiMzM5MzM4MmIxZGQ2Y2EwNjcxY2EwYTU5
MGMyZDE5MzIyY2JjNi4uNzIzYzgxNTlhMWNhZjQ3MWIwOTFkYTQ0ZDQ4YjA5ZDU4YTMyODkyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKQEAgLTg1LDkg
Kzg1LDcgQEAgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6Ok1vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiB7CiB9CiAKLU1vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlOjp+TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UoKQotewotfQorTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2U6On5Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSgpID0gZGVmYXVsdDsK
IAogdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25zdCBTdHJpbmcmKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCBjYmI4MmI2ZmVh
OWE4MjQyMmIzNDcxNTQ5ZjY1ZDk5Yzg4YWYyNTAzLi5kZTE1YzllNjMyNzgwYzcxNDA5OTY1MGUz
OGMxYTA4MzYzOWU2YjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNw
cApAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNb2NrTWVkaWFT
YW1wbGUgZmluYWwgOiBwdWJsaWMgTWVkaWFTYW1wbGUgewogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8TW9ja01lZGlhU2FtcGxlPiBjcmVhdGUoY29uc3QgTW9ja1NhbXBsZUJveCYgYm94KSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IE1vY2tNZWRpYVNhbXBsZShib3gpKTsgfQotICAgIHZpcnR1YWwg
fk1vY2tNZWRpYVNhbXBsZSgpIHsgfQorICAgIHZpcnR1YWwgfk1vY2tNZWRpYVNhbXBsZSgpID0g
ZGVmYXVsdDsKIAogcHJpdmF0ZToKICAgICBNb2NrTWVkaWFTYW1wbGUoY29uc3QgTW9ja1NhbXBs
ZUJveCYgYm94KQpAQCAtMTA3LDcgKzEwNyw3IEBAIFJlZjxNZWRpYVNhbXBsZT4gTW9ja01lZGlh
U2FtcGxlOjpjcmVhdGVOb25EaXNwbGF5aW5nQ29weSgpIGNvbnN0CiBjbGFzcyBNb2NrTWVkaWFE
ZXNjcmlwdGlvbiBmaW5hbCA6IHB1YmxpYyBNZWRpYURlc2NyaXB0aW9uIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmUHRyPE1vY2tNZWRpYURlc2NyaXB0aW9uPiBjcmVhdGUoY29uc3QgTW9ja1Ry
YWNrQm94JiBib3gpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNb2NrTWVkaWFEZXNjcmlwdGlvbihi
b3gpKTsgfQotICAgIHZpcnR1YWwgfk1vY2tNZWRpYURlc2NyaXB0aW9uKCkgeyB9CisgICAgdmly
dHVhbCB+TW9ja01lZGlhRGVzY3JpcHRpb24oKSA9IGRlZmF1bHQ7CiAKICAgICBBdG9taWNTdHJp
bmcgY29kZWMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JveC5jb2RlYygpOyB9CiAgICAg
Ym9vbCBpc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9ib3gua2luZCgpID09IE1v
Y2tUcmFja0JveDo6VmlkZW87IH0KQEAgLTEzMCw5ICsxMzAsNyBAQCBNb2NrU291cmNlQnVmZmVy
UHJpdmF0ZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUoTW9ja01lZGlhU291cmNlUHJpdmF0ZSog
cGFyZW50KQogewogfQogCi1Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6fk1vY2tTb3VyY2VCdWZm
ZXJQcml2YXRlKCkKLXsKLX0KK01vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjp+TW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGUoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6
OnNldENsaWVudChTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tUcmFja3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1RyYWNrcy5o
CmluZGV4IDA3M2YzNjg2MzdiMDk2YmUwZjI1YmEyMzhhMzdmNzJiMjY1OTM4YzcuLmI0NmNhNmI2
MDExYjAyMjkwZDZiODMwZmJlMGI2MDNmZDJkYmFkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1RyYWNrcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1RyYWNrcy5oCkBAIC0zNyw3ICsz
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1vY2tBdWRpb1RyYWNrUHJpdmF0ZSA6
IHB1YmxpYyBBdWRpb1RyYWNrUHJpdmF0ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNb2Nr
QXVkaW9UcmFja1ByaXZhdGU+IGNyZWF0ZShjb25zdCBNb2NrVHJhY2tCb3gmIGJveCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNb2NrQXVkaW9UcmFja1ByaXZhdGUoYm94KSk7IH0KLSAgICB2aXJ0
dWFsIH5Nb2NrQXVkaW9UcmFja1ByaXZhdGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5Nb2NrQXVkaW9U
cmFja1ByaXZhdGUoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBpZCgp
IGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIApAQCAtNTQsNyArNTQsNyBAQCBwcm90ZWN0ZWQ6CiBj
bGFzcyBNb2NrVGV4dFRyYWNrUHJpdmF0ZSA6IHB1YmxpYyBJbmJhbmRUZXh0VHJhY2tQcml2YXRl
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPE1vY2tUZXh0VHJhY2tQcml2YXRlPiBjcmVh
dGUoY29uc3QgTW9ja1RyYWNrQm94JiBib3gpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNb2NrVGV4
dFRyYWNrUHJpdmF0ZShib3gpKTsgfQotICAgIHZpcnR1YWwgfk1vY2tUZXh0VHJhY2tQcml2YXRl
KCkgeyB9CisgICAgdmlydHVhbCB+TW9ja1RleHRUcmFja1ByaXZhdGUoKSA9IGRlZmF1bHQ7CiAK
ICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIApA
QCAtNzMsNyArNzMsNyBAQCBwcm90ZWN0ZWQ6CiBjbGFzcyBNb2NrVmlkZW9UcmFja1ByaXZhdGUg
OiBwdWJsaWMgVmlkZW9UcmFja1ByaXZhdGUgewogcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8
TW9ja1ZpZGVvVHJhY2tQcml2YXRlPiBjcmVhdGUoY29uc3QgTW9ja1RyYWNrQm94JiBib3gpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBNb2NrVmlkZW9UcmFja1ByaXZhdGUoYm94KSk7IH0KLSAgICB2
aXJ0dWFsIH5Nb2NrVmlkZW9UcmFja1ByaXZhdGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5Nb2NrVmlk
ZW9UcmFja1ByaXZhdGUoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9BdXRoZW50aWNhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9BdXRoZW50aWNhdGlvbkNsaWVudC5oCmluZGV4IDhkZWM1NWQ0NzIw
NWQ4NTkwMWI0ZGU3MzA1NDFkNzg1ODE2MGVhZWIuLjE5ZjhiY2Q3YzY4YWQ4MDI2MjI5YmVkNmVl
ZmRjNDNjZjVjZjZhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQXV0aGVudGljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0F1dGhlbnRpY2F0aW9uQ2xpZW50LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmQXV0aGVudGljYXRpb25DbGllbnQoKTsgfQogCiBwcm90
ZWN0ZWQ6Ci0gICAgdmlydHVhbCB+QXV0aGVudGljYXRpb25DbGllbnQoKSB7IH0KKyAgICB2aXJ0
dWFsIH5BdXRoZW50aWNhdGlvbkNsaWVudCgpID0gZGVmYXVsdDsKIAogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5jcHAKaW5kZXggYjFmYWZjNjg5
NzQwODVlMTAwZDhmMGExNjI3ZjZiNjg2Y2NlMTFhZC4uNTQyMjkzYWM0MjIzNjI1MDg1ZmQ1MTJk
MTdkZTUwYTVhNjM3MTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQmxvYlJlZ2lzdHJ5LmNwcApAQCAtMzcsOCArMzcsNiBAQCBCbG9iUmVnaXN0cnkmIGJsb2JS
ZWdpc3RyeSgpCiAgICAgcmV0dXJuICpwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+YmxvYlJlZ2lzdHJ5
KCk7CiB9CiAKLUJsb2JSZWdpc3RyeTo6fkJsb2JSZWdpc3RyeSgpCi17Ci19CitCbG9iUmVnaXN0
cnk6On5CbG9iUmVnaXN0cnkoKSA9IGRlZmF1bHQ7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCmluZGV4IDcxYjI0YzRm
M2I2N2E0NDgzYjcwNjg1NDYwNmVkNzhhYjEzY2FhYjIuLjViMjc0YzIxMjhkMGYwNTk0YjdiMGIw
MjVlNmM5ZDQ2MzU4N2Y2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmNwcApAQCAtNDksOSArNDksNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUJsb2JSZWdpc3RyeUltcGw6On5CbG9iUmVnaXN0cnlJbXBsKCkKLXsK
LX0KK0Jsb2JSZWdpc3RyeUltcGw6On5CbG9iUmVnaXN0cnlJbXBsKCkgPSBkZWZhdWx0OwogCiBz
dGF0aWMgUmVmPFJlc291cmNlSGFuZGxlPiBjcmVhdGVCbG9iUmVzb3VyY2VIYW5kbGUoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50KQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3Vy
Y2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3Vy
Y2VIYW5kbGUuY3BwCmluZGV4IDljZmY4OTM2NWM3NGUzMzY0YWFkZTI2NGFiMGMzYTBmYWU0NzQ5
MzIuLjYxMjk2OWYwNGE3ZWFlZWUyZDE1ZTk4Yjc0ZWI3MGU5YTUyMmI3ODUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5j
cHAKQEAgLTE0Myw5ICsxNDMsNyBAQCBCbG9iUmVzb3VyY2VIYW5kbGU6OkJsb2JSZXNvdXJjZUhh
bmRsZShCbG9iRGF0YSogYmxvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdAogICAgICAgICBt
X3N0cmVhbSA9IHN0ZDo6bWFrZV91bmlxdWU8RmlsZVN0cmVhbT4oKTsKIH0KIAotQmxvYlJlc291
cmNlSGFuZGxlOjp+QmxvYlJlc291cmNlSGFuZGxlKCkKLXsKLX0KK0Jsb2JSZXNvdXJjZUhhbmRs
ZTo6fkJsb2JSZXNvdXJjZUhhbmRsZSgpID0gZGVmYXVsdDsKIAogdm9pZCBCbG9iUmVzb3VyY2VI
YW5kbGU6OmNhbmNlbCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb25TdHViLmNwcAppbmRleCBiMmE2NTdm
MmJhNDhiMjhmNmI2NzIwYWYyNmFlM2FhZDAzMzI0YjhjLi5jYTk1OWI0YmFiMWE4ZWUwODg1NGNi
ODFmODQ3MjhhOGRlNWZkNzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvblN0dWIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU3R1Yi5jcHAKQEAgLTQwLDkg
KzQwLDcgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24oUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBOZXR3b3JraW4KIHsKIH0KIAotTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uOjp+TmV0d29ya1N0b3JhZ2VTZXNzaW9uKCkKLXsKLX0KK05ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6fk5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpID0gZGVmYXVsdDsKIAogTmV0d29ya2luZ0Nv
bnRleHQqIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29udGV4dCgpIGNvbnN0CiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0LmgKaW5k
ZXggOTVlMmQ1ZTdjMzVhMGFmNzA5MjA5NDAyOTI1ZTA3Yzc5Y2IyOTgzOS4uYjEwYjhmZmViN2U0
Y2ZiMThjMTRlNzQyMzk2ZjkwZmYwMjNlN2ZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JraW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQuaApAQCAtNDMsNyArNDMsNyBAQCBj
bGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKIGNsYXNzIE5ldHdvcmtpbmdDb250ZXh0IDogcHVibGlj
IFJlZkNvdW50ZWQ8TmV0d29ya2luZ0NvbnRleHQ+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5O
ZXR3b3JraW5nQ29udGV4dCgpIHsgfQorICAgIHZpcnR1YWwgfk5ldHdvcmtpbmdDb250ZXh0KCkg
PSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByb3RlY3RlZDoK
LSAgICBOZXR3b3JraW5nQ29udGV4dCgpIHsgfQorICAgIE5ldHdvcmtpbmdDb250ZXh0KCkgPSBk
ZWZhdWx0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50LmNwcAppbmRleCA5NDg3ZDk2N2U0OTZhZTBkOGFm
ZjM3MjVjYmNkZDhlNzc3ZmNkYmRjLi5lOTE5ZGY4ZWE2MDk0NjQ2MTQ3NTdkMzNlNTJiZTJkZmU5
NzNkYzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlQ2xpZW50LmNwcApAQCAtMzIsMTMgKzMyLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZXNvdXJjZUhhbmRsZUNsaWVudDo6UmVzb3VyY2VIYW5kbGVDbGllbnQo
KQotewotfQorUmVzb3VyY2VIYW5kbGVDbGllbnQ6OlJlc291cmNlSGFuZGxlQ2xpZW50KCkgPSBk
ZWZhdWx0OwogCi1SZXNvdXJjZUhhbmRsZUNsaWVudDo6flJlc291cmNlSGFuZGxlQ2xpZW50KCkK
LXsKLX0KK1Jlc291cmNlSGFuZGxlQ2xpZW50Ojp+UmVzb3VyY2VIYW5kbGVDbGllbnQoKSA9IGRl
ZmF1bHQ7CiAgICAgCiBSZXNvdXJjZVJlcXVlc3QgUmVzb3VyY2VIYW5kbGVDbGllbnQ6OndpbGxT
ZW5kUmVxdWVzdChSZXNvdXJjZUhhbmRsZSosIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJl
c291cmNlUmVzcG9uc2UmJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5oCmluZGV4IDc5MTgyZjQxYjY5NGZmYmE5NzE1OTYw
ZWMzYzc3NDE4NjM4NTVhOTkuLmMyOTc5YzRiNmEwMjJhYzVlN2QzZTQ3MGNlMjZlMjkyNGRkYmMz
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3Ry
ZWFtSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRT
dHJlYW1IYW5kbGUuaApAQCAtNDksNyArNDksNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiBjbGFzcyBT
b2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U29ja2V0U3Ry
ZWFtSGFuZGxlPiB7CiBwdWJsaWM6CiAgICAgZW51bSBTb2NrZXRTdHJlYW1TdGF0ZSB7IENvbm5l
Y3RpbmcsIE9wZW4sIENsb3NpbmcsIENsb3NlZCB9OwotICAgIHZpcnR1YWwgflNvY2tldFN0cmVh
bUhhbmRsZSgpIHsgfQorICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgpID0gZGVmYXVs
dDsKICAgICBTb2NrZXRTdHJlYW1TdGF0ZSBzdGF0ZSgpIGNvbnN0OwogCiAgICAgdm9pZCBzZW5k
RGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBGdW5jdGlvbjx2b2lkKGJvb2wp
Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0
cmVhbUhhbmRsZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGVDbGllbnQuaAppbmRleCA1MThhYjBlNmFiNmVlZTVhNThhZjE4YjRhNWEz
MTY4MzFmOWI0YTBkLi42MGEyM2Q1ZjQ3NzQ5NjM2N2UxYjYxYjlmZWNhOWJkMWEwNjJiZjJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhh
bmRsZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0
U3RyZWFtSGFuZGxlQ2xpZW50LmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgU29ja2V0U3RyZWFt
SGFuZGxlOwogCiBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQgewogcHVibGljOgotICAg
IHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgflNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudCgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgdm9pZCBk
aWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJikgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50LmNwcAppbmRleCA5OGMwYjk1M2M0Y2Q1ZWUzNGVlZTljNDVhYTg0NTlmOTYx
ZjNmNjU0Li5jZTc1MzlhYmMxOWZjNjU3N2JjOGFiZjI0MzEwMGQ4NDdkNDhjZDAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3VzTG9hZGVyQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1N5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50LmNwcApAQCAtMzIsOSArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp+U3luY2hyb25vdXNMb2FkZXJDbGllbnQoKQot
ewotfQorU3luY2hyb25vdXNMb2FkZXJDbGllbnQ6On5TeW5jaHJvbm91c0xvYWRlckNsaWVudCgp
ID0gZGVmYXVsdDsKIAogUmVzb3VyY2VSZXF1ZXN0IFN5bmNocm9ub3VzTG9hZGVyQ2xpZW50Ojp3
aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgUmVzb3VyY2VSZXF1ZXN0JiYg
cmVxdWVzdCwgUmVzb3VyY2VSZXNwb25zZSYmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVn
YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5jcHAKaW5kZXggYjA1Yjg3ZjllMzRmZGFkZmY5ODQz
MDNjZmViZjdhNTg2ZjNlNWM1NS4uN2M3NjYwOTg0OWVkZDM4MDdjY2Q1OWIxYjk3NTkxYjlhMWFl
ODg2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdh
dGUuY3BwCkBAIC00NCw5ICs0NCw3IEBAIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVs
ZWdhdGU6OlJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUoUmVzCiB7CiB9CiAK
LVJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGU6On5SZXNvdXJjZUhhbmRsZUNG
VVJMQ29ubmVjdGlvbkRlbGVnYXRlKCkKLXsKLX0KK1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0
aW9uRGVsZWdhdGU6On5SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlKCkgPSBk
ZWZhdWx0OwogCiB2b2lkIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGU6OnJl
bGVhc2VIYW5kbGUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFJlcXVlc3QuaAppbmRleCAyMTI1MzRhOWI2YTFkMTEyYWIyOGYwNTdiNzI0NDI4
NThmZjE1NTRmLi41NWQwN2IyYzg3Njc3YmU4ZmM5ODdiMjFlNTQ1ZmM5MGM2NTExNWUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3Qu
aApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEN1cmxSZXF1ZXN0KHJlcXVlc3QsIGRlbGVnYXRlLCBzaG91bGRTdXNwZW5kKSk7CiAgICAgfQog
Ci0gICAgdmlydHVhbCB+Q3VybFJlcXVlc3QoKSB7IH0KKyAgICB2aXJ0dWFsIH5DdXJsUmVxdWVz
dCgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgc2V0RGVsZWdhdGUoQ3VybFJlcXVlc3REZWxlZ2F0
ZSogZGVsZWdhdGUpIHsgbV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOyAgfQogICAgIHZvaWQgc2V0VXNl
clBhc3MoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvTXVsdGlwYXJ0SGFuZGxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvTXVsdGlwYXJ0SGFuZGxlLmgKaW5kZXggYmIw
ZjBmNmNmMzM5NmFhYTAxNWNhOTZjMGZhMTJlYTM1OGQyZWNmNC4uZjg1ZDFiNzUxNmNlZjAyZGNl
ZWVlZDVmMzBmMjcyYTQ1MjRjMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL011bHRpcGFydEhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9NdWx0aXBhcnRIYW5kbGUuaApAQCAtNDUsNyArNDUsNyBAQCBw
dWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIH5NdWx0aXBhcnRIYW5kbGUoKSB7IH0KKyAgICB+
TXVsdGlwYXJ0SGFuZGxlKCkgPSBkZWZhdWx0OwogCiAgICAgdm9pZCBjb250ZW50UmVjZWl2ZWQo
Y29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCk7CiAgICAgdm9pZCBjb250ZW50RW5kZWQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKaW5kZXggYTM0YjMwMWRjZDg4YzYzZDM5ZDBjMTU0MDBl
NzZhNjRkNzgxMjg3My4uZWNkYmYxMWE1YjIyMjM5Yzk1MmFhNjAwZGZlZjY3Njc2ZTA2MGYwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKQEAgLTQ3LDkgKzQ3LDcgQEAgUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbDo6flJlc291cmNlSGFuZGxlSW50ZXJuYWwoKQogICAgICAgICBtX2RlbGVnYXRlLT5y
ZWxlYXNlSGFuZGxlKCk7CiB9CiAKLVJlc291cmNlSGFuZGxlOjp+UmVzb3VyY2VIYW5kbGUoKQot
ewotfQorUmVzb3VyY2VIYW5kbGU6On5SZXNvdXJjZUhhbmRsZSgpID0gZGVmYXVsdDsKIAogYm9v
bCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9pb3MvUHJldmlld0xvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUHJldmlld0xvYWRlckNsaWVudC5oCmluZGV4IGNjMWRl
OGNjMzBjYzk5YWFjYzYxNjZhMThkNjhjNjhkZDViMDE5NTcuLjVjMGU4NzkzYjBiYjM1ZGMxYjZk
OGEzZjQxYmFjNjdiYTZmYmJkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvaW9zL1ByZXZpZXdMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2lvcy9QcmV2aWV3TG9hZGVyQ2xpZW50LmgKQEAgLTMzLDcgKzMzLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQcmV2aWV3TG9hZGVyQ2xpZW50IDogcHVi
bGljIFJlZkNvdW50ZWQ8UHJldmlld0xvYWRlckNsaWVudD4gewogcHVibGljOgotICAgIHZpcnR1
YWwgflByZXZpZXdMb2FkZXJDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5QcmV2aWV3TG9hZGVy
Q2xpZW50KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YUFycmF5
KENGQXJyYXlSZWYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKaW5kZXggMWRi
NzdhMzIzYTY0NzQ3NzU5MjVhZmViMmQ2ZjdjN2M1ZGEzYzMxYS4uY2VmYWIxZmRmM2Y0Y2M5NmJm
NTdlMTQ5MDg0MTU2MDNlM2RkNGE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKQEAgLTU4LDkgKzU4LDcg
QEAgQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oR1Rsc0NlcnRpZmljYXRlKiBjZXJ0
aWZpY2F0ZSwgR1Rsc0NlcnRpZmljYXRlRmwKIHsKIH0KIAotQ2VydGlmaWNhdGVJbmZvOjp+Q2Vy
dGlmaWNhdGVJbmZvKCkKLXsKLX0KK0NlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygp
ID0gZGVmYXVsdDsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCmluZGV4IGRlMWY0OWU5YTcxOTEzODQxNDVhOWFlNmU5OWRlNjgzMWQ4MTZkN2QuLjc0OTk5
NzJlZmU4ZTZmYmExMDg1MjllMDQwYjNkNzg1NmY3ODQwMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCkBAIC03MSw5ICs3MSw3IEBAIHN0YXRpYyB2b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09i
amVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFj
ayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQgY29udGlu
dWVBZnRlckRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSopOwogCi1SZXNvdXJjZUhh
bmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCi17Ci19CitSZXNvdXJjZUhh
bmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpID0gZGVmYXVsdDsKIAogc3Rh
dGljIFNvdXBTZXNzaW9uKiBzZXNzaW9uRnJvbUNvbnRleHQoTmV0d29ya2luZ0NvbnRleHQqIGNv
bnRleHQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvU291cE5ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IDhmZGJmYzY2N2Y0NjU0NTFjOWQx
NDI1OTA4ODk0ODZmZmZjYTI0MjQuLjdlZmE1Mjc0MWRjNzk2M2Q2MTM2NGQyZjdlODllNTkyN2M3
MzBlNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9T
b3VwTmV0d29ya1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uY3BwCkBAIC0xNjQsOSArMTY0LDcgQEAgU291cE5l
dHdvcmtTZXNzaW9uOjpTb3VwTmV0d29ya1Nlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBTb3VwQ29va2llSmFyKgogI2VuZGlmCiB9CiAKLVNvdXBOZXR3b3JrU2Vzc2lvbjo6flNvdXBO
ZXR3b3JrU2Vzc2lvbigpCi17Ci19CitTb3VwTmV0d29ya1Nlc3Npb246On5Tb3VwTmV0d29ya1Nl
c3Npb24oKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU291cE5ldHdvcmtTZXNzaW9uOjpzZXR1cExvZ2dl
cigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0
YWJhc2VUcmFja2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
RGF0YWJhc2VUcmFja2VyQ2xpZW50LmgKaW5kZXggNjFmM2QyYjliZmI3ODJmYWY4MzZmMjllZTRl
NjNlOWRhNTVjMzdmNC4uNGRkMjU4NTJlOWYyMzA2MmFiMzViOTA3N2I2ODRiYzc1YjNiMjQ3NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlVHJh
Y2tlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZVRyYWNrZXJDbGllbnQuaApAQCAtMzAsNyArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmly
dHVhbCB+U1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+U1FM
aXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lk
IHdpbGxCZWdpbkZpcnN0VHJhbnNhY3Rpb24oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZp
bmlzaExhc3RUcmFuc2FjdGlvbigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvRGF0ZVRpbWVGb3JtYXQuaAppbmRleCBhYTQzZDJjY2E2YTA1ODcyNTU5MzAwZmMyZDcyZTU2
MjZiNzYzNTczLi5hMzcyNmRmZmJlMWYzZTE5ZDdhODMxZDc3MDc2OTNlMTVjNjU2NjdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0RhdGVUaW1lRm9ybWF0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5oCkBAIC05Niw3
ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIGNsYXNzIFRva2VuSGFuZGxlciB7CiAgICAgcHVibGlj
OgotICAgICAgICB2aXJ0dWFsIH5Ub2tlbkhhbmRsZXIoKSB7IH0KKyAgICAgICAgdmlydHVhbCB+
VG9rZW5IYW5kbGVyKCkgPSBkZWZhdWx0OwogICAgICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRGaWVs
ZChGaWVsZFR5cGUsIGludCBudW1iZXJPZlBhdHRlcm5DaGFyYWN0ZXJzKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCB2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJikgPSAwOwogICAgIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAppbmRleCAzYTIxMmFi
NDY2ZjgzYTU3ZWIxODFmZGE0M2UwNjY0ZDQ4MjA1YmViLi4yZGE4NmJmNGZjMjliOGE5MjRiNDcz
MmU3OTZkNDRkOGI3ZDQ2YTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsZU5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9j
YWxlTm9uZS5jcHAKQEAgLTYwLDkgKzYwLDcgQEAgc3RkOjp1bmlxdWVfcHRyPExvY2FsZT4gTG9j
YWxlOjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJikKICAgICByZXR1cm4gc3RkOjptYWtlX3Vu
aXF1ZTxMb2NhbGVOb25lPigpOwogfQogCi1Mb2NhbGVOb25lOjp+TG9jYWxlTm9uZSgpCi17Ci19
CitMb2NhbGVOb25lOjp+TG9jYWxlTm9uZSgpID0gZGVmYXVsdDsKIAogdm9pZCBMb2NhbGVOb25l
Ojppbml0aWFsaXplTG9jYWxlRGF0YSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwCmluZGV4IGRlN2U1ZjcwNTkxYWVhMDA4NWUzNTI1M2Y0
NzAwYmY5N2Q4NTZhZDYuLjA4NzQzMjUwZGIwNTRhNDhlNjkyODQyOGNlYmRjMjJiM2U2NTA2MTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3Bw
CkBAIC0xODAsOSArMTgwLDcgQEAgU3RyaW5nIERhdGVUaW1lU3RyaW5nQnVpbGRlcjo6dG9TdHJp
bmcoKQogCiAjZW5kaWYKIAotTG9jYWxlOjp+TG9jYWxlKCkKLXsKLX0KK0xvY2FsZTo6fkxvY2Fs
ZSgpID0gZGVmYXVsdDsKIAogdm9pZCBMb2NhbGU6OnNldExvY2FsZURhdGEoY29uc3QgVmVjdG9y
PFN0cmluZywgRGVjaW1hbFN5bWJvbHNTaXplPiYgc3ltYm9scywgY29uc3QgU3RyaW5nJiBwb3Np
dGl2ZVByZWZpeCwgY29uc3QgU3RyaW5nJiBwb3NpdGl2ZVN1ZmZpeCwgY29uc3QgU3RyaW5nJiBu
ZWdhdGl2ZVByZWZpeCwgY29uc3QgU3RyaW5nJiBuZWdhdGl2ZVN1ZmZpeCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENoZWNrZXJDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENoZWNrZXJDbGllbnQuaAppbmRleCAzOWUz
MjExZTgzOTQ1MWUwNGJjNzcwNWE0OTRlN2NhNjZhNGU1MWU4Li42MTFlOTdiNDk1NGU0MWYxMzI0
M2FjMTkxOGU5OWI2M2ZkZThkNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRDaGVja2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q2hlY2tlckNsaWVudC5oCkBAIC0zNSw3ICszNSw3IEBAIGNsYXNzIFZpc2libGVT
ZWxlY3Rpb247CiAKIGNsYXNzIFRleHRDaGVja2VyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5UZXh0Q2hlY2tlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgflRleHRDaGVja2VyQ2xp
ZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIHNob3VsZEVyYXNlTWFya2Vyc0Fm
dGVyQ2hhbmdlU2VsZWN0aW9uKFRleHRDaGVja2luZ1R5cGUpIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgaWdub3JlV29yZEluU3BlbGxEb2N1bWVudChjb25zdCBTdHJpbmcmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDaGVja2luZy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q2hlY2tpbmcuaAppbmRleCBiNDk1MzU0
ODI3NTBhNzBkNTJlNDAxNmUyM2ZjMTdjZGNiM2Y1Yzc2Li43ZDU4YTUwMDhiYjMzMGY5ODg3MzM3
MGU2NDkwNzcxZTdlODQyNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDaGVja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENoZWNraW5nLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBUZXh0Q2hl
Y2tpbmdSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VGV4dENoZWNraW5nUmVxdWVzdD4gewog
cHVibGljOgotICAgIHZpcnR1YWwgflRleHRDaGVja2luZ1JlcXVlc3QoKSB7IH0KKyAgICB2aXJ0
dWFsIH5UZXh0Q2hlY2tpbmdSZXF1ZXN0KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBjb25z
dCBUZXh0Q2hlY2tpbmdSZXF1ZXN0RGF0YSYgZGF0YSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkU3VjY2VlZChjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmNwcAppbmRleCA0N2UzYjVh
YzBmMGQ1ODBmMmZjMjUwMGRjMThmYTU5MjU3Zjk4NzQ0Li42M2FlZjQ3ZDczNTQ0MjYyM2NmNDZl
YzRmM2MxMmJmNWQwMWZhYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWMuY3BwCkBAIC0zMiw5ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotVGV4
dENvZGVjOjp+VGV4dENvZGVjKCkKLXsKLX0KK1RleHRDb2RlYzo6flRleHRDb2RlYygpID0gZGVm
YXVsdDsKIAogaW50IFRleHRDb2RlYzo6Z2V0VW5lbmNvZGFibGVSZXBsYWNlbWVudCh1bnNpZ25l
ZCBjb2RlUG9pbnQsIFVuZW5jb2RhYmxlSGFuZGxpbmcgaGFuZGxpbmcsIFVuZW5jb2RhYmxlUmVw
bGFjZW1lbnRBcnJheSByZXBsYWNlbWVudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRl
eCBjMjZhMjY2YTEwZjYzYzBiODJjZDIxOGVlNWEwMTAyYTU3YThmZDY0Li43NmY5MjRlYWJiMjA3
Y2M0OThmYTQxNGY4NTVjODFiNzRhZmI2YjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBA
IC0xNjcsNyArMTY3LDggQEAgY2xhc3MgSHlwaGVuYXRpb25EaWN0aW9uYXJ5IDogcHVibGljIFJl
ZkNvdW50ZWQ8SHlwaGVuYXRpb25EaWN0aW9uYXJ5PiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBz
dGQ6OnVuaXF1ZV9wdHI8SHlwaGVuRGljdCwgdm9pZCgqKShIeXBoZW5EaWN0Kik+IEh5cGhlbkRp
Y3RVbmlxdWVQdHI7CiAKLSAgICB2aXJ0dWFsIH5IeXBoZW5hdGlvbkRpY3Rpb25hcnkoKSB7IH0K
KyAgICB2aXJ0dWFsIH5IeXBoZW5hdGlvbkRpY3Rpb25hcnkoKSA9IGRlZmF1bHQ7CisKICAgICBz
dGF0aWMgUmVmUHRyPEh5cGhlbmF0aW9uRGljdGlvbmFyeT4gY3JlYXRlTnVsbCgpCiAgICAgewog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEh5cGhlbmF0aW9uRGljdGlvbmFyeSgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaW9zL0xvY2FsaXplZERhdGVD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9pb3MvTG9jYWxpemVkRGF0ZUNh
Y2hlLmgKaW5kZXggMjkzMzQzMjZiOWRkNjNlMDA0NDk3NmU1MThlYTdkOGYzZjgwNDc0Mi4uY2Ez
YmExZjA2ZmRkYjBiMTQ5MTcyOGU5YWE5OGIwZDg0YjhkYTk3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9pb3MvTG9jYWxpemVkRGF0ZUNhY2hlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9pb3MvTG9jYWxpemVkRGF0ZUNhY2hlLmgKQEAgLTM4
LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVhc3VyZVRleHRDbGllbnQg
ewogcHVibGljOgogICAgIHZpcnR1YWwgZmxvYXQgbWVhc3VyZVRleHQoY29uc3QgU3RyaW5nJikg
Y29uc3QgPSAwOwotICAgIHZpcnR1YWwgfk1lYXN1cmVUZXh0Q2xpZW50KCkgeyB9CisgICAgdmly
dHVhbCB+TWVhc3VyZVRleHRDbGllbnQoKSA9IGRlZmF1bHQ7CiB9OwogCiBjbGFzcyBMb2NhbGl6
ZWREYXRlQ2FjaGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93
aW4vTG9jYWxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2Fs
ZVdpbi5jcHAKaW5kZXggNjBkZGI2YzUyYzg0OTYzODE1MTY3MmU5OGE5MWI2ZmE5OTVhMjBkZi4u
ZDE5NjkzYTEyYTM0NDkzMjU3MzY2YWE3OGM0OTcwMDUxOTg0ZGVkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCkBAIC04OSw5ICs4OSw3IEBA
IGlubGluZSBMb2NhbGVXaW46OkxvY2FsZVdpbihMQ0lEIGxjaWQpCiB7CiB9CiAKLUxvY2FsZVdp
bjo6fkxvY2FsZVdpbigpCi17Ci19CitMb2NhbGVXaW46On5Mb2NhbGVXaW4oKSA9IGRlZmF1bHQ7
CiAKIFN0cmluZyBMb2NhbGVXaW46OmdldExvY2FsZUluZm9TdHJpbmcoTENUWVBFIHR5cGUpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9UZXh0Q29kZWNX
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vVGV4dENvZGVjV2luLmNw
cAppbmRleCBhM2E2NWFkNzYwMzQwYzY1MmUzZTJiZGZmZDgwMjQzYzE0OTU2YmY5Li40ZjE3OGU4
MDEyODYwYjVhYzI5OWRmMGRjMDNhODE0MjE4NDI2ZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9UZXh0Q29kZWNXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvd2luL1RleHRDb2RlY1dpbi5jcHAKQEAgLTEzOSw5ICsxMzksNyBA
QCBUZXh0Q29kZWNXaW46OlRleHRDb2RlY1dpbihVSU5UIGNvZGVQYWdlKQogewogfQogCi1UZXh0
Q29kZWNXaW46On5UZXh0Q29kZWNXaW4oKQotewotfQorVGV4dENvZGVjV2luOjp+VGV4dENvZGVj
V2luKCkgPSBkZWZhdWx0OwogCiB2b2lkIFRleHRDb2RlY1dpbjo6cmVnaXN0ZXJFeHRlbmRlZEVu
Y29kaW5nTmFtZXMoRW5jb2RpbmdOYW1lUmVnaXN0cmFyIHJlZ2lzdHJhcikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9JbXBvcnRlZE1vZHVsZXNFbnVtZXJhdG9y
QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ltcG9ydGVkTW9kdWxlc0VudW1l
cmF0b3JCYXNlLmgKaW5kZXggOWY3ODQyYjA3YWUzMGY1N2E2YTBjNTdjYjA1MTc4YTEyMWYyYWNh
Zi4uNDk0MjlkOTFhYzk2NDlkOWE3ZDBkYzFmYTJhYTc5OTMxMDIzNGI4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ltcG9ydGVkTW9kdWxlc0VudW1lcmF0b3JCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ltcG9ydGVkTW9kdWxlc0VudW1l
cmF0b3JCYXNlLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW1wb3J0
ZWRGdW5jdGlvbnNFbnVtZXJhdG9yIGZ1bmN0aW9uc0VudW1lcmF0b3IoKSBjb25zdCA9IDA7CiAK
IHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIH5JbXBvcnRlZE1vZHVsZXNFbnVtZXJhdG9yQmFzZSgp
IHsgfQorICAgIHZpcnR1YWwgfkltcG9ydGVkTW9kdWxlc0VudW1lcmF0b3JCYXNlKCkgPSBkZWZh
dWx0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCA2ZDA3OWQ4YWZmNjhlMmZiMDk3YmJkZTVh
MGMyMmVhMGFjNWVjMTQ4Li4xZTVmOThjZTFmZDE0OTJkNWJkYTE5NDExM2Q3MGViNTliNGVkNGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApAQCAt
MTA5Nyw5ICsxMDk3LDcgQEAgQWNjZXNzaWJsZVBvcHVwTWVudTo6QWNjZXNzaWJsZVBvcHVwTWVu
dShjb25zdCBQb3B1cE1lbnVXaW4mIHBvcHVwTWVudSkKIHsKIH0KIAotQWNjZXNzaWJsZVBvcHVw
TWVudTo6fkFjY2Vzc2libGVQb3B1cE1lbnUoKQotewotfQorQWNjZXNzaWJsZVBvcHVwTWVudTo6
fkFjY2Vzc2libGVQb3B1cE1lbnUoKSA9IGRlZmF1bHQ7CiAKIEhSRVNVTFQgQWNjZXNzaWJsZVBv
cHVwTWVudTo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZv
aWQqKiBwcHZPYmplY3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vU2Nyb2xsYmFyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Nj
cm9sbGJhclRoZW1lV2luLmNwcAppbmRleCBmOTIwOWE3YjA5N2E2MTVjNTFiNDkzYmFlNmJjMDZk
NDBhYzU3ZTdhLi5kZWUzMzEzZDY5YTY4YjJlMjAwNzJhYTZlNDM2OGEwZTkwNjIxZjNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHAK
QEAgLTEwNSw5ICsxMDUsNyBAQCBTY3JvbGxiYXJUaGVtZVdpbjo6U2Nyb2xsYmFyVGhlbWVXaW4o
KQogICAgIH0KIH0KIAotU2Nyb2xsYmFyVGhlbWVXaW46On5TY3JvbGxiYXJUaGVtZVdpbigpCi17
Ci19CitTY3JvbGxiYXJUaGVtZVdpbjo6flNjcm9sbGJhclRoZW1lV2luKCkgPSBkZWZhdWx0Owog
CiBzdGF0aWMgaW50IHNjcm9sbGJhclRoaWNrbmVzc0luUGl4ZWxzKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5j
cHAKaW5kZXggZDEwZWM1Y2MzMWIyZWUxZWY3ZDUwNGY3ZmY4MDA4ZDM3ZTk1ZWMzZi4uYzg4YTY2
ZGFkMzc5NWM5YWVkNGQxZTM1NjNmZDQ3MGY0MTYyYjFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5jcHAKQEAg
LTY4LDkgKzY4LDcgQEAgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyOjpXaW5kb3dNZXNzYWdlQnJv
YWRjYXN0ZXIoSFdORCBod25kKQogICAgIEFTU0VSVF9BUkcoaHduZCwgSXNXaW5kb3coaHduZCkp
OwogfQogCi1XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXI6On5XaW5kb3dNZXNzYWdlQnJvYWRjYXN0
ZXIoKQotewotfQorV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyOjp+V2luZG93TWVzc2FnZUJyb2Fk
Y2FzdGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcjo6YWRk
TGlzdGVuZXIoV2luZG93TWVzc2FnZUxpc3RlbmVyKiBsaXN0ZW5lcikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9ET01NaW1lVHlwZS5jcHAKaW5kZXggM2IyOTAxNjg5YWRmMGNiYmU1ZTcyNTM0MTI2
NGFkOGU5YmIwYWFkMi4uZWY0MzcxNjdmYTllMTEzMDA3ZDAyMTcwZmNmYjRlZjRkYWY0ZTlmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZS5jcHAKQEAgLTQwLDkgKzQwLDcgQEAg
RE9NTWltZVR5cGU6OkRPTU1pbWVUeXBlKFJlZlB0cjxQbHVnaW5EYXRhPiYmIHBsdWdpbkRhdGEs
IEZyYW1lKiBmcmFtZSwgdW5zaWduZWQKICAgICBtX3BsdWdpbkluZm8gPSBtX3BsdWdpbkRhdGEt
PndlYlZpc2libGVQbHVnaW5zKClbbWltZVBsdWdpbkluZGljZXNbaW5kZXhdXTsKIH0KIAotRE9N
TWltZVR5cGU6On5ET01NaW1lVHlwZSgpCi17Ci19CitET01NaW1lVHlwZTo6fkRPTU1pbWVUeXBl
KCkgPSBkZWZhdWx0OwogCiBTdHJpbmcgRE9NTWltZVR5cGU6OnR5cGUoKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5jcHAKaW5kZXggYWRkOGQ1ZTQ5
NGEyM2RjNzc0YWUyOTA4ZDBlNzljZWNkNDA3NzA0OS4uOGJmOTA1OTkzZTQ5MTIxZmY0OWU3YzRl
NGUyMTE2NGUwYWFiNmIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01N
aW1lVHlwZUFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBl
QXJyYXkuY3BwCkBAIC0zMyw5ICszMyw3IEBAIERPTU1pbWVUeXBlQXJyYXk6OkRPTU1pbWVUeXBl
QXJyYXkoRnJhbWUqIGZyYW1lKQogewogfQogCi1ET01NaW1lVHlwZUFycmF5Ojp+RE9NTWltZVR5
cGVBcnJheSgpCi17Ci19CitET01NaW1lVHlwZUFycmF5Ojp+RE9NTWltZVR5cGVBcnJheSgpID0g
ZGVmYXVsdDsKIAogdW5zaWduZWQgRE9NTWltZVR5cGVBcnJheTo6bGVuZ3RoKCkgY29uc3QKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luLmNwcAppbmRleCBlZjczYzI4MzhjNDc3MmM1NzQ3
MjAyMDgyYmJlOWRkZDJlZmUyODQ2Li44YzdmODliYmZkMWQ4YWI3NWRkZTJlYjY2ZGY0MjU3ZTVh
NmE5OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uY3BwCkBAIC0zMiw5ICszMiw3
IEBAIERPTVBsdWdpbjo6RE9NUGx1Z2luKFBsdWdpbkRhdGEqIHBsdWdpbkRhdGEsIEZyYW1lKiBm
cmFtZSwgUGx1Z2luSW5mbyBwbHVnaW5JbmZvCiB7CiB9CiAKLURPTVBsdWdpbjo6fkRPTVBsdWdp
bigpCi17Ci19CitET01QbHVnaW46On5ET01QbHVnaW4oKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBE
T01QbHVnaW46Om5hbWUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9ET01QbHVnaW5BcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdp
bkFycmF5LmNwcAppbmRleCBhYjA2MTExMjIxNjUwM2VkMjkwODcxMTMwYTMxM2ZjZjAxN2FlZWFm
Li5mMzA0OTI5MTAzZWEzNzkxYWYyMzBjZTAyYjYzNGFlMGFmOWEwZTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmNwcApAQCAtMzMsOSArMzMsNyBAQCBET01QbHVn
aW5BcnJheTo6RE9NUGx1Z2luQXJyYXkoRnJhbWUqIGZyYW1lKQogewogfQogCi1ET01QbHVnaW5B
cnJheTo6fkRPTVBsdWdpbkFycmF5KCkKLXsKLX0KK0RPTVBsdWdpbkFycmF5Ojp+RE9NUGx1Z2lu
QXJyYXkoKSA9IGRlZmF1bHQ7CiAKIHVuc2lnbmVkIERPTVBsdWdpbkFycmF5OjpsZW5ndGgoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxh
eW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcApp
bmRleCBiMGNmNmJkNzE0M2U0ZDFjODA2MzkwZTA1Y2Q5NWVkMDNjZDAzN2FkLi4zN2NjNDA5OWVl
NjMxOTNhZjg5N2M5MWVjMTRiNDgzNmQ2Y2Y5ZjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcApAQCAtMzgsOSArMzgsNyBAQCBBdXRvVGFibGVMYXlv
dXQ6OkF1dG9UYWJsZUxheW91dChSZW5kZXJUYWJsZSogdGFibGUpCiB7CiB9CiAKLUF1dG9UYWJs
ZUxheW91dDo6fkF1dG9UYWJsZUxheW91dCgpCi17Ci19CitBdXRvVGFibGVMYXlvdXQ6On5BdXRv
VGFibGVMYXlvdXQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgQXV0b1RhYmxlTGF5b3V0OjpyZWNhbGND
b2x1bW4odW5zaWduZWQgZWZmQ29sKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0NsaXBQYXRoT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xp
cFBhdGhPcGVyYXRpb24uaAppbmRleCA2YzhiZWU4NThiOTdlODAxNGExNThhNDdhMzNlMTk4Mjky
NzExYWYyLi5iNmFlN2QyZWM2OWFmMTNjOTM5YzIyMGRlM2EzZjFkMWRhMTI0OGQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFBhdGhPcGVyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFBhdGhPcGVyYXRpb24uaApAQCAtNDYsNyArNDYs
NyBAQCBwdWJsaWM6CiAgICAgICAgIEJveAogICAgIH07CiAKLSAgICB2aXJ0dWFsIH5DbGlwUGF0
aE9wZXJhdGlvbigpIHsgfQorICAgIHZpcnR1YWwgfkNsaXBQYXRoT3BlcmF0aW9uKCkgPSBkZWZh
dWx0OwogCiAgICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29uc3QgQ2xpcFBhdGhPcGVyYXRp
b24mKSBjb25zdCA9IDA7CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IENsaXBQYXRoT3BlcmF0
aW9uJiBvKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG8pOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcAppbmRleCAxM2U0ZmEyOGIx
MzVhYzQzMWI0MTU0NmQ5NjhkNjBhNjcxNTExYWI5Li5mOGJiMGMxOGYwMmNhZmMzMjZjYzgwNWM4
MDdhZTVlZGQ5YjdhMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmls
dGVyRWZmZWN0UmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0
ZXJFZmZlY3RSZW5kZXJlci5jcHAKQEAgLTc1LDkgKzc1LDcgQEAgUmVmPEZpbHRlckVmZmVjdFJl
bmRlcmVyPiBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6Y3JlYXRlKCkKICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBGaWx0ZXJFZmZlY3RSZW5kZXJlcik7CiB9CiAKLUZpbHRlckVmZmVjdFJlbmRlcmVy
Ojp+RmlsdGVyRWZmZWN0UmVuZGVyZXIoKQotewotfQorRmlsdGVyRWZmZWN0UmVuZGVyZXI6On5G
aWx0ZXJFZmZlY3RSZW5kZXJlcigpID0gZGVmYXVsdDsKIAogR3JhcGhpY3NDb250ZXh0KiBGaWx0
ZXJFZmZlY3RSZW5kZXJlcjo6aW5wdXRDb250ZXh0KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHAKaW5kZXggYjJkZDY0OWZlZjc0NWEzNzAzMjNmNWNj
OTdiY2MyNjc2ZjJmNjBlOS4uYThkMDQwZDVhYjBjM2FiYzE4NGQzMmNhY2NmOTQyODIxZDlkNmU1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHAKQEAg
LTEzMyw3ICsxMzMsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1YWwgfkNv
bXB1dGVGbG9hdE9mZnNldEFkYXB0ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5Db21wdXRlRmxvYXRP
ZmZzZXRBZGFwdGVyKCkgPSBkZWZhdWx0OwogCiAgICAgTGF5b3V0VW5pdCBsb3dWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbGluZVRvcDsgfQogICAgIExheW91dFVuaXQgaGlnaFZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9saW5lQm90dG9tOyB9CkBAIC0xNTksNyArMTU5LDcgQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5Db21wdXRlRmxvYXRPZmZzZXRGb3JGbG9hdExh
eW91dEFkYXB0ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5Db21wdXRlRmxvYXRPZmZzZXRGb3JGbG9h
dExheW91dEFkYXB0ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICBMYXlvdXRVbml0IGhlaWdodFJlbWFp
bmluZygpIGNvbnN0OwogCkBAIC0xNzUsNyArMTc1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9
CiAKLSAgICB2aXJ0dWFsIH5Db21wdXRlRmxvYXRPZmZzZXRGb3JMaW5lTGF5b3V0QWRhcHRlcigp
IHsgfQorICAgIHZpcnR1YWwgfkNvbXB1dGVGbG9hdE9mZnNldEZvckxpbmVMYXlvdXRBZGFwdGVy
KCkgPSBkZWZhdWx0OwogCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCB1cGRhdGVPZmZzZXRJZk5lZWRl
ZChjb25zdCBGbG9hdGluZ09iamVjdCYpIGZpbmFsOwpAQCAtMjU0LDkgKzI1NCw3IEBAIEZsb2F0
aW5nT2JqZWN0czo6RmxvYXRpbmdPYmplY3RzKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgcmVuZGVy
ZXIpCiB7CiB9CiAKLUZsb2F0aW5nT2JqZWN0czo6fkZsb2F0aW5nT2JqZWN0cygpCi17Ci19CitG
bG9hdGluZ09iamVjdHM6On5GbG9hdGluZ09iamVjdHMoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgRmxv
YXRpbmdPYmplY3RzOjpjbGVhckxpbmVCb3hUcmVlUG9pbnRlcnMoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCmluZGV4IGUz
ZTM4NGRmZjFiNDIwODY3YjFhY2UzMTNjYjc4NjZmZDVmODlkOWEuLmFiNDE2OTQ5YTBiY2I2N2M1
YzRmMWY5ZjYyYzI5OWEwMjk0M2RlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3Mg
R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k7CiAKIGNsYXNzIEdyaWRUcmFjayB7CiBw
dWJsaWM6Ci0gICAgR3JpZFRyYWNrKCkgeyB9CisgICAgR3JpZFRyYWNrKCkgPSBkZWZhdWx0Owog
CiAgICAgY29uc3QgTGF5b3V0VW5pdCYgYmFzZVNpemUoKSBjb25zdDsKICAgICB2b2lkIHNldEJh
c2VTaXplKExheW91dFVuaXQpOwpAQCAtMjE4LDcgKzIxOCw3IEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0IG1heENvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gmKSBjb25zdDsKICAgICBMYXlvdXRV
bml0IG1pblNpemVGb3JDaGlsZChSZW5kZXJCb3gmKSBjb25zdDsKIAotICAgIHZpcnR1YWwgfkdy
aWRUcmFja1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5KCkgeyB9CisgICAgdmlydHVhbCB+R3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3koKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZv
aWQgbWF4aW1pemVUcmFja3MoVmVjdG9yPEdyaWRUcmFjaz4mLCBzdGQ6Om9wdGlvbmFsPExheW91
dFVuaXQ+JiBmcmVlU3BhY2UpID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSBmaW5kVXNlZEZsZXhG
cmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgsIEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBpbml0aWFsRnJl
ZVNwYWNlKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdExvY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9j
YXRpb24uY3BwCmluZGV4IGQxNDQ2YjU3NjBiYTQxNzNhNWMyNzVmZGNmOTQ5ODNkOGE2ZjQwZWMu
LjQ2Y2JjMDk5ZWQ0MTQyYWViYTViYjdjZmMyYjE3ZGY3MDVhNzZlNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uY3BwCkBAIC05MSw5ICs5MSw3IEBAIEhp
dFRlc3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgb3Ro
ZXIpCiB7CiB9CiAKLUhpdFRlc3RMb2NhdGlvbjo6fkhpdFRlc3RMb2NhdGlvbigpCi17Ci19CitI
aXRUZXN0TG9jYXRpb246On5IaXRUZXN0TG9jYXRpb24oKSA9IGRlZmF1bHQ7CiAKIEhpdFRlc3RM
b2NhdGlvbiYgSGl0VGVzdExvY2F0aW9uOjpvcGVyYXRvcj0oY29uc3QgSGl0VGVzdExvY2F0aW9u
JiBvdGhlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApp
bmRleCBiNzI3MGE1MDJhZWVkNzQ3MWNlZDYzNmQ2MWVkNWU1ZmY4N2Y3YWQ5Li41MmU0MDkxMWQ4
ZjkxZTE5NTBhYTc5NGM0MmMyMmQ5NjQ1ZTAyMjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC05OSw5ICs5OSw3IEBAIEhpdFRlc3RSZXN1bHQ6Okhp
dFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiAgICAgbV9saXN0QmFzZWRU
ZXN0UmVzdWx0ID0gb3RoZXIubV9saXN0QmFzZWRUZXN0UmVzdWx0ID8gc3RkOjptYWtlX3VuaXF1
ZTxOb2RlU2V0Pigqb3RoZXIubV9saXN0QmFzZWRUZXN0UmVzdWx0KSA6IG51bGxwdHI7CiB9CiAK
LUhpdFRlc3RSZXN1bHQ6On5IaXRUZXN0UmVzdWx0KCkKLXsKLX0KK0hpdFRlc3RSZXN1bHQ6On5I
aXRUZXN0UmVzdWx0KCkgPSBkZWZhdWx0OwogCiBIaXRUZXN0UmVzdWx0JiBIaXRUZXN0UmVzdWx0
OjpvcGVyYXRvcj0oY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVCb3guY3BwCmluZGV4IDczZWE1ZTJhMzVhOWNlODRkNGVhY2U4ZjJkOWQx
M2ZhNjI5ZDM3NmYuLjZlNmE0NDc3NjUzMDk2Y2JjOTQ5ZGEwMWRjOTk4ZTk5MzJmYzU0ZGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCkBAIC0zNiw3ICszNiw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBTYW1lU2l6ZUFzSW5saW5lQm94IHsKLSAgICB2
aXJ0dWFsIH5TYW1lU2l6ZUFzSW5saW5lQm94KCkgeyB9CisgICAgdmlydHVhbCB+U2FtZVNpemVB
c0lubGluZUJveCgpID0gZGVmYXVsdDsKICAgICB2b2lkKiBhWzRdOwogICAgIEZsb2F0UG9pbnQg
YjsKICAgICBmbG9hdCBjWzJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L092ZXJsYXBUZXN0UmVxdWVzdENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL092
ZXJsYXBUZXN0UmVxdWVzdENsaWVudC5oCmluZGV4IDBjZjhmNGQ2NzczOTllODI1OGM4NTVlOWZi
MGYxYTEzYjFmMzdhMmUuLjhhOGM4MmIwOWJlY2U0Mzc5NGFmY2JlNzE2ZmJlZjFhOGFlNWM0YjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdmVybGFwVGVzdFJlcXVlc3RD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvT3ZlcmxhcFRlc3RSZXF1ZXN0
Q2xpZW50LmgKQEAgLTI5LDcgKzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogY2xh
c3MgT3ZlcmxhcFRlc3RSZXF1ZXN0Q2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5PdmVy
bGFwVGVzdFJlcXVlc3RDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5PdmVybGFwVGVzdFJlcXVl
c3RDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIHNldE92ZXJsYXBUZXN0UmVz
dWx0KGJvb2wpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggMDgxZTJlYTRiZWExZDc0MGVkZmRiZWUwNDAzYjhmNDBmNjA0ZmY2My4uMTJlMzQ3YWNi
ODk0MTgxOWU0N2IzYjI2N2NlZmM2Y2ExY2I5MjE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKQEAgLTgyLDcgKzgyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RydWN0IFNhbWVTaXplQXNSZW5kZXJCb3ggOiBwdWJsaWMgUmVuZGVyQm94TW9kZWxPYmplY3Qg
ewotICAgIHZpcnR1YWwgflNhbWVTaXplQXNSZW5kZXJCb3goKSB7IH0KKyAgICB2aXJ0dWFsIH5T
YW1lU2l6ZUFzUmVuZGVyQm94KCkgPSBkZWZhdWx0OwogICAgIExheW91dFJlY3QgZnJhbWVSZWN0
OwogICAgIExheW91dEJveEV4dGVudCBtYXJnaW5Cb3g7CiAgICAgTGF5b3V0VW5pdCBwcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzWzJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJ1dHRvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9u
LmNwcAppbmRleCAxOGJmMjNlMWYxODVkYWFiMDRiZmExMGI1MTRkOTI0NDNhN2Y2MGQyLi4wZDMy
NTVmOTgxNGEzNjY5ZjcwMzU3YTc4ZjI3MjE5NDJjMTA0ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcApAQCAtNDIsOSArNDIsNyBAQCBSZW5kZXJCdXR0b246
OlJlbmRlckJ1dHRvbihIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHls
ZSYmIHN0eWxlKQogewogfQogCi1SZW5kZXJCdXR0b246On5SZW5kZXJCdXR0b24oKQotewotfQor
UmVuZGVyQnV0dG9uOjp+UmVuZGVyQnV0dG9uKCkgPSBkZWZhdWx0OwogCiBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50JiBSZW5kZXJCdXR0b246OmZvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3guY3BwCmluZGV4IDE4OGE0Yzk5MjVkMmZkOWYwMTEyYmU2MDNmMTVjNTBkNDgwMThj
ZTkuLmU5MjAyY2JhNzA0MjBkMjU3NDcxMmY3ZWZiMjgwOTA5ODhhYzg3OGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVC
b3guY3BwCkBAIC0xMjQsOSArMTI0LDcgQEAgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpS
ZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3goRWxlbWVudCYgZWxlbWVudCwgUmVuZGUKICAgICBt
X3N0cmV0Y2hpbmdDaGlsZHJlbiA9IGZhbHNlOwogfQogCi1SZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3g6On5SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3goKQotewotfQorUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94Ojp+UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94KCkgPSBkZWZhdWx0
OwogCiBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5XaWR0aEZvckNoaWxkKFJlbmRlckJveCogY2hp
bGQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxv
YWRDb250cm9sLmNwcAppbmRleCAyNWY2OTViZjIxMTg3NDc5MjE0NTVjOTBmYjcwYmU0ZGJhMGU0
Mzk1Li40ZTdkYTEwYjNjNTlkODljNzBmMGExZmJjMWFhZDMxNzA0MDc3N2YyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAK
QEAgLTYxLDkgKzYxLDcgQEAgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OlJlbmRlckZpbGVVcGxv
YWRDb250cm9sKEhUTUxJbnB1dEVsZW1lbnQmIGlucHV0LCBSZW5kZXIKIHsKIH0KIAotUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2w6On5SZW5kZXJGaWxlVXBsb2FkQ29udHJvbCgpCi17Ci19CitSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbDo6flJlbmRlckZpbGVVcGxvYWRDb250cm9sKCkgPSBkZWZhdWx0
OwogCiBIVE1MSW5wdXRFbGVtZW50JiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6aW5wdXRFbGVt
ZW50KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwCmluZGV4IGU5OGEzZWYzM2FiYTc4MGU5YmM2YjZiODEwMTVhMGEzYmZkMTEwMmMu
LmY5YjE1M2MyZWY4M2NlOTBmYWRiNWM5OGE4MDU0ODBlN2RkNzdmYzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtNjksOSArNjksNyBA
QCBSZW5kZXJGbGV4aWJsZUJveDo6UmVuZGVyRmxleGlibGVCb3goRG9jdW1lbnQmIGRvY3VtZW50
LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIHNldENoaWxkcmVuSW5saW5lKGZhbHNlKTsgLy8g
QWxsIG9mIG91ciBjaGlsZHJlbiBtdXN0IGJlIGJsb2NrLWxldmVsLgogfQogCi1SZW5kZXJGbGV4
aWJsZUJveDo6flJlbmRlckZsZXhpYmxlQm94KCkKLXsKLX0KK1JlbmRlckZsZXhpYmxlQm94Ojp+
UmVuZGVyRmxleGlibGVCb3goKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IGNoYXIqIFJlbmRlckZsZXhp
YmxlQm94OjpyZW5kZXJOYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKaW5kZXggYmU0MDRjODU0MDAwZDFkM2E4YWFmMDIz
NDczYTNhYTE4MWY3ZTAwYy4uMTRkZjY1OTRmNTNhMTI2MGI5ZGYzMTY2ZjE5OTYwODc2YTM1OGI2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
LmgKQEAgLTU0LDcgKzU0LDcgQEAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IFJvb3RJbmxpbmVCb3gq
LCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcio+IENvbnRhaW5pbmdGcmFnbWUKIAogY2xhc3MgUmVu
ZGVyRnJhZ21lbnRlZEZsb3c6IHB1YmxpYyBSZW5kZXJCbG9ja0Zsb3cgewogcHVibGljOgotICAg
IHZpcnR1YWwgflJlbmRlckZyYWdtZW50ZWRGbG93KCkgeyB9CisgICAgdmlydHVhbCB+UmVuZGVy
RnJhZ21lbnRlZEZsb3coKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRmxv
d0NoaWxkSW5mbyhSZW5kZXJFbGVtZW50Jik7CiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5jcHAKaW5kZXggNDFjODcxMTQ5YTNhMTVlOGU1
MjY1M2JlNDgyOTIzMjYzZDIyNGRmYi4uYTkwMmY0M2Y4ODJmY2I5NGQ2Y2NjNmVmY2FjMWUyOGQ4
MzIzOGNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1l
U2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3Bw
CkBAIC01Myw5ICs1Myw3IEBAIFJlbmRlckZyYW1lU2V0OjpSZW5kZXJGcmFtZVNldChIVE1MRnJh
bWVTZXRFbGVtZW50JiBmcmFtZVNldCwgUmVuZGVyU3R5bGUmJiBzdHlsCiAgICAgc2V0SW5saW5l
KGZhbHNlKTsKIH0KIAotUmVuZGVyRnJhbWVTZXQ6On5SZW5kZXJGcmFtZVNldCgpCi17Ci19CitS
ZW5kZXJGcmFtZVNldDo6flJlbmRlckZyYW1lU2V0KCkgPSBkZWZhdWx0OwogCiBIVE1MRnJhbWVT
ZXRFbGVtZW50JiBSZW5kZXJGcmFtZVNldDo6ZnJhbWVTZXRFbGVtZW50KCkgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRyeU1hcC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR2VvbWV0cnlNYXAuY3BwCmluZGV4IGQ1
MjE3NThiN2U0MzBlNjU5MWM3NzQ1ODJiZDllOGU3Yzk3Y2E4YzIuLjZiMzMxY2ZmN2JjNDI1ZmRj
MGFjNDdmN2FlYmVkZTVhZjZhNTExMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJHZW9tZXRyeU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdlb21ldHJ5TWFwLmNwcApAQCAtNDMsOSArNDMsNyBAQCBSZW5kZXJHZW9tZXRyeU1h
cDo6UmVuZGVyR2VvbWV0cnlNYXAoTWFwQ29vcmRpbmF0ZXNGbGFncyBmbGFncykKIHsKIH0KIAot
UmVuZGVyR2VvbWV0cnlNYXA6On5SZW5kZXJHZW9tZXRyeU1hcCgpCi17Ci19CitSZW5kZXJHZW9t
ZXRyeU1hcDo6flJlbmRlckdlb21ldHJ5TWFwKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlbmRlckdl
b21ldHJ5TWFwOjptYXBUb0NvbnRhaW5lcihUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUs
IGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRhaW5lcikgY29uc3QKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCA4N2ZkYTM0NDU2OGY0MDc5OTNl
NjA5MzdmNTUwMDMyNmY2NDUyMmZiLi45ODU2NWM5MWUzOGE5ZWMzMDQzN2I5YTE3MDEwYzZhNmYz
Yzg0YTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC02Miw5
ICs2Miw3IEBAIFJlbmRlckdyaWQ6OlJlbmRlckdyaWQoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVy
U3R5bGUmJiBzdHlsZSkKICAgICBzZXRDaGlsZHJlbklubGluZShmYWxzZSk7CiB9CiAKLVJlbmRl
ckdyaWQ6On5SZW5kZXJHcmlkKCkKLXsKLX0KK1JlbmRlckdyaWQ6On5SZW5kZXJHcmlkKCkgPSBk
ZWZhdWx0OwogCiB2b2lkIFJlbmRlckdyaWQ6OmFkZENoaWxkKFJlbmRlclB0cjxSZW5kZXJPYmpl
Y3Q+IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDQzNTAyODA0NDRiOTY5Y2QxMjMw
MGM0ZDFlZWE4NWFmNjE4MjIwNzkuLjAyODMzNjg0ZDM1MDRjYmIwZjJiNzExZmRiMDJmMGY2ZjZj
ZDZiMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAg
LTY2LDkgKzY2LDcgQEAgUmVuZGVyTWFycXVlZTo6UmVuZGVyTWFycXVlZShSZW5kZXJMYXllciog
bCkKICAgICBsLT5zZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZShmYWxzZSk7CiB9
CiAKLVJlbmRlck1hcnF1ZWU6On5SZW5kZXJNYXJxdWVlKCkKLXsKLX0KK1JlbmRlck1hcnF1ZWU6
On5SZW5kZXJNYXJxdWVlKCkgPSBkZWZhdWx0OwogCiBpbnQgUmVuZGVyTWFycXVlZTo6bWFycXVl
ZVNwZWVkKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZWRpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3Bw
CmluZGV4IGQxYzc2ZGEyYjI3Y2RmYzA3M2M4N2NkZDlhOTVkOGJjZTRhYTAwZjUuLjczOWFmNDk3
ZTE5YjU3OTFiNjcyNDllMjNiNTRhMTVjNTU5NWFiNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmNwcApAQCAtNDcsOSArNDcsNyBAQCBSZW5kZXJNZWRpYTo6UmVuZGVy
TWVkaWEoSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29u
c3QgSQogICAgIHNldEhhc1NoYWRvd0NvbnRyb2xzKHRydWUpOwogfQogCi1SZW5kZXJNZWRpYTo6
flJlbmRlck1lZGlhKCkKLXsKLX0KK1JlbmRlck1lZGlhOjp+UmVuZGVyTWVkaWEoKSA9IGRlZmF1
bHQ7CiAKIHZvaWQgUmVuZGVyTWVkaWE6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3Qg
TGF5b3V0UG9pbnQmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1ldGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAK
aW5kZXggOTZkNzhiNWFiZDQ5MGE1MzMyMGYyNzE3ZTA1OTQwNjEzZDQyZDQ3Zi4uODI2MTM1MWVm
NTdlZTJiM2ExNmIzZTUxMDZmMzM2YjcwNTVmOTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWV0ZXIuY3BwCkBAIC0zNSw5ICszNSw3IEBAIFJlbmRlck1ldGVyOjpSZW5kZXJN
ZXRlcihIVE1MRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIHsKIH0KIAot
UmVuZGVyTWV0ZXI6On5SZW5kZXJNZXRlcigpCi17Ci19CitSZW5kZXJNZXRlcjo6flJlbmRlck1l
dGVyKCkgPSBkZWZhdWx0OwogCiBIVE1MTWV0ZXJFbGVtZW50KiBSZW5kZXJNZXRlcjo6bWV0ZXJF
bGVtZW50KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uRmxvdy5jcHAKaW5kZXggZTA3YmYwMjU2MTc5ZDRjZjhkNGNhY2E0NGI5ODEx
ZDg5OTU4M2Q4OS4uODUxYzRhMjEwYWM2OTZhNzg4NjFiYmY0NWU1YTQ1MmU3YTkwNWFhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5j
cHAKQEAgLTU0LDkgKzU0LDcgQEAgUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpSZW5kZXJNdWx0aUNv
bHVtbkZsb3coRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHMKICAgICBzZXRGcmFn
bWVudGVkRmxvd1N0YXRlKEluc2lkZUluRnJhZ21lbnRlZEZsb3cpOwogfQogCi1SZW5kZXJNdWx0
aUNvbHVtbkZsb3c6On5SZW5kZXJNdWx0aUNvbHVtbkZsb3coKQotewotfQorUmVuZGVyTXVsdGlD
b2x1bW5GbG93Ojp+UmVuZGVyTXVsdGlDb2x1bW5GbG93KCkgPSBkZWZhdWx0OwogCiBjb25zdCBj
aGFyKiBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnJlbmRlck5hbWUoKSBjb25zdAogeyAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZjdjNjc5NjNiYmRh
MWRlZGEyMjgzNzNlMmY1MTQ2NWJmNDNjYmRiOS4uNTAxNmEwNmUyMDQ1YjYzMDNlMmE0ZjVmODUx
MWJlODBlZDRkM2VmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKQEAgLTk2LDcgKzk2LDcgQEAgUmVuZGVyT2JqZWN0OjpTZXRMYXlvdXROZWVkZWRGb3JiaWRk
ZW5TY29wZTo6flNldExheW91dE5lZWRlZEZvcmJpZGRlblNjb3BlKCkKICNlbmRpZgogCiBzdHJ1
Y3QgU2FtZVNpemVBc1JlbmRlck9iamVjdCB7Ci0gICAgdmlydHVhbCB+U2FtZVNpemVBc1JlbmRl
ck9iamVjdCgpIHsgfSAvLyBBbGxvY2F0ZSB2dGFibGUgcG9pbnRlci4KKyAgICB2aXJ0dWFsIH5T
YW1lU2l6ZUFzUmVuZGVyT2JqZWN0KCkgPSBkZWZhdWx0OyAvLyBBbGxvY2F0ZSB2dGFibGUgcG9p
bnRlci4KICAgICB2b2lkKiBwb2ludGVyc1s1XTsKICNpZm5kZWYgTkRFQlVHCiAgICAgdW5zaWdu
ZWQgbV9kZWJ1Z0JpdGZpZWxkcyA6IDI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmNwcAppbmRleCA1NmE0NWM3ZDBjYTBlZmZiMzRiZDRlMGEwMmMzYjA4Zjk1MDg3
NjhiLi5jYjY4OGRlMGU2MjUwMjk2MGFlMGVmNDM2NDExOGI2YWNmOWFkYzU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTM4LDkgKzM4LDcgQEAg
UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclByb2dyZXNzKEhUTUxFbGVtZW50JiBlbGVtZW50LCBSZW5k
ZXJTdHlsZSYmIHN0eWxlKQogewogfQogCi1SZW5kZXJQcm9ncmVzczo6flJlbmRlclByb2dyZXNz
KCkKLXsKLX0KK1JlbmRlclByb2dyZXNzOjp+UmVuZGVyUHJvZ3Jlc3MoKSA9IGRlZmF1bHQ7CiAK
IHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUZyb21FbGVtZW50KCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDI4MThjNjRlYzRkN2JhZTcw
NDY4M2Y5MjM1ZGRiMmNhY2IxNThiMDUuLjY1M2ZjNzVlNTFlMjJkNDMwY2FlNDYyODI3M2RkOWY4
NTA5MTljYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cApAQCAtNjcsOSArNjcsNyBAQCBSZW5kZXJSZXBsYWNlZDo6UmVuZGVyUmVwbGFjZWQoRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBMYQogICAgIHNldFJlcGxh
Y2VkKHRydWUpOwogfQogCi1SZW5kZXJSZXBsYWNlZDo6flJlbmRlclJlcGxhY2VkKCkKLXsKLX0K
K1JlbmRlclJlcGxhY2VkOjp+UmVuZGVyUmVwbGFjZWQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmVu
ZGVyUmVwbGFjZWQ6OndpbGxCZURlc3Ryb3llZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGljYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUmVwbGljYS5jcHAKaW5kZXggNmE0ZjU2Y2MyZjlmZDI3MmNkZWVlMjM3MWNkM2Nj
ODFjZWZiZWEyOC4uZWQ1ZGJiN2VmNjRmNDJlNGE0NzRjNTk5NjlhNmJhOGI5NWVlMzI1NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxpY2EuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsaWNhLmNwcApAQCAtNDQsOSArNDQs
NyBAQCBSZW5kZXJSZXBsaWNhOjpSZW5kZXJSZXBsaWNhKERvY3VtZW50JiBkb2N1bWVudCwgUmVu
ZGVyU3R5bGUmJiBzdHlsZSkKICAgICBzZXRSZXBsYWNlZCh0cnVlKTsKIH0KIAotUmVuZGVyUmVw
bGljYTo6flJlbmRlclJlcGxpY2EoKQotewotfQorUmVuZGVyUmVwbGljYTo6flJlbmRlclJlcGxp
Y2EoKSA9IGRlZmF1bHQ7CiAgICAgCiB2b2lkIFJlbmRlclJlcGxpY2E6OmxheW91dCgpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5jcHAKaW5kZXggZDUzZjc0YTcwZjFhYTFm
ZWMxZTU1OTYyODVjOTRkZDk4MzVkMmFjZC4uMjNlMWUwOWUyMjc3MDljYTU3MTg0MWVkYzJjMTMx
YmE2ODliMDhkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1
YnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmNwcApAQCAt
MTI3LDkgKzEyNyw3IEBAIFJlbmRlclJ1YnlBc0lubGluZTo6UmVuZGVyUnVieUFzSW5saW5lKEVs
ZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiB7CiB9CiAKLVJlbmRlclJ1YnlB
c0lubGluZTo6flJlbmRlclJ1YnlBc0lubGluZSgpCi17Ci19CitSZW5kZXJSdWJ5QXNJbmxpbmU6
On5SZW5kZXJSdWJ5QXNJbmxpbmUoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmVuZGVyUnVieUFzSW5s
aW5lOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWxlKQogewpAQCAtMjM2LDkgKzIzNCw3IEBAIFJlbmRlclJ1YnlBc0Jsb2NrOjpS
ZW5kZXJSdWJ5QXNCbG9jayhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQog
ewogfQogCi1SZW5kZXJSdWJ5QXNCbG9jazo6flJlbmRlclJ1YnlBc0Jsb2NrKCkKLXsKLX0KK1Jl
bmRlclJ1YnlBc0Jsb2NrOjp+UmVuZGVyUnVieUFzQmxvY2soKSA9IGRlZmF1bHQ7CiAKIHZvaWQg
UmVuZGVyUnVieUFzQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBj
b25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUnVieUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJ1YnlCYXNlLmNwcAppbmRleCA2ZDgzMDFlMmFkZTg0ZDM5ZDc0ZGZmNDljMDI4NzZl
YmE4NjU5ZTJmLi5hNjIzMWUyOWMwZDg2NjMyNWM0YmNlMDM4OGZhOGE0MTVhMzhjNGFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieUJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5QmFzZS5jcHAKQEAgLTQ0LDkgKzQ0
LDcgQEAgUmVuZGVyUnVieUJhc2U6OlJlbmRlclJ1YnlCYXNlKERvY3VtZW50JiBkb2N1bWVudCwg
UmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICBzZXRJbmxpbmUoZmFsc2UpOwogfQogCi1SZW5kZXJS
dWJ5QmFzZTo6flJlbmRlclJ1YnlCYXNlKCkKLXsKLX0KK1JlbmRlclJ1YnlCYXNlOjp+UmVuZGVy
UnVieUJhc2UoKSA9IGRlZmF1bHQ7CiAKIGJvb2wgUmVuZGVyUnVieUJhc2U6OmlzQ2hpbGRBbGxv
d2VkKGNvbnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAppbmRleCA4MDFj
ZDBlNzRhYTlmMGNkNWZkZDI3YjE0NDFkNTgwZTU0ZDk1NzhlLi5kZDI0YTk5Y2IxNzM4ZWU0Y2Rm
Yjc3ZDJhMDQ5M2VmNTBmMWVhOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieVJ1bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJ1YnlSdW4uY3BwCkBAIC01Myw5ICs1Myw3IEBAIFJlbmRlclJ1YnlSdW46OlJlbmRlclJ1YnlS
dW4oRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIHNldElubGlu
ZSh0cnVlKTsKIH0KIAotUmVuZGVyUnVieVJ1bjo6flJlbmRlclJ1YnlSdW4oKQotewotfQorUmVu
ZGVyUnVieVJ1bjo6flJlbmRlclJ1YnlSdW4oKSA9IGRlZmF1bHQ7CiAKIGJvb2wgUmVuZGVyUnVi
eVJ1bjo6aGFzUnVieVRleHQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJ1YnlUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSdWJ5VGV4dC5jcHAKaW5kZXggNzNlNjkwZWFiNWEyY2Y5MDc5MmE2OTA2ZWFlNDE5ODNi
Y2UyODc0Ny4uNDJlZTJmNjM3NTVkZDgyMTJmNmMwZWRkZmI2NmQzYmRhZmUwOTkxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVRleHQuY3BwCkBAIC00MSw5ICs0MSw3
IEBAIFJlbmRlclJ1YnlUZXh0OjpSZW5kZXJSdWJ5VGV4dChFbGVtZW50JiBlbGVtZW50LCBSZW5k
ZXJTdHlsZSYmIHN0eWxlKQogewogfQogCi1SZW5kZXJSdWJ5VGV4dDo6flJlbmRlclJ1YnlUZXh0
KCkKLXsKLX0KK1JlbmRlclJ1YnlUZXh0Ojp+UmVuZGVyUnVieVRleHQoKSA9IGRlZmF1bHQ7CiAK
IFJlbmRlclJ1YnlSdW4qIFJlbmRlclJ1YnlUZXh0OjpydWJ5UnVuKCkgY29uc3QKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAKaW5kZXggNTZiZjc1OWNj
Mzc1OTVhOGY3N2E3YTdkN2VlMDczNTcxNDZhYmVjMS4uYjJlODUyMjgzYzRjNDVhMTI3NzE5YmQ5
MzAxYzJmMGZlMDA5MjBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNjcm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhci5jcHAKQEAgLTY2LDkgKzY2LDcgQEAgUmVuZGVyU2Nyb2xsYmFyOjpSZW5kZXJTY3Jv
bGxiYXIoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBTY3JvbGxiYXJPcmllbnQKICAg
ICBzZXRGcmFtZVJlY3QoSW50UmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KSk7CiB9CiAKLVJlbmRl
clNjcm9sbGJhcjo6flJlbmRlclNjcm9sbGJhcigpCi17Ci19CitSZW5kZXJTY3JvbGxiYXI6On5S
ZW5kZXJTY3JvbGxiYXIoKSA9IGRlZmF1bHQ7CiAKIFJlbmRlckJveCogUmVuZGVyU2Nyb2xsYmFy
Ojpvd25pbmdSZW5kZXJlcigpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAKaW5kZXggNzM2MThmZmU3ODIxYjYzZDgzZGY5MjI5
ZTE2YzEyZGM4ZjBiOTk4Ni4uZTIzNDc0NGMzZWYxZWMzYWM2MzIxNTU5NjMxZDUwNWVmOTAyYzE0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBh
cnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0
LmNwcApAQCAtNDEsOSArNDEsNyBAQCBSZW5kZXJTY3JvbGxiYXJQYXJ0OjpSZW5kZXJTY3JvbGxi
YXJQYXJ0KERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZQogewogfQogCi1S
ZW5kZXJTY3JvbGxiYXJQYXJ0Ojp+UmVuZGVyU2Nyb2xsYmFyUGFydCgpCi17Ci19CitSZW5kZXJT
Y3JvbGxiYXJQYXJ0Ojp+UmVuZGVyU2Nyb2xsYmFyUGFydCgpID0gZGVmYXVsdDsKIAogdm9pZCBS
ZW5kZXJTY3JvbGxiYXJQYXJ0OjpsYXlvdXQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAppbmRleCBmM2IyZWZkNmI0MjFhMGRmNGQ3YWRl
OGExYmM3NTI3ZDU4ZTg2OWJhLi42ZWQ5OGEyMGIwZDI3MTNkNzgzYzFjM2IzNDFmYzRkODhjOTY3
M2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFy
VGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhl
bWUuaApAQCAtMzUsNyArMzUsNyBAQCBjbGFzcyBTY3JvbGxWaWV3OwogCiBjbGFzcyBSZW5kZXJT
Y3JvbGxiYXJUaGVtZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSB7CiBw
dWJsaWM6Ci0gICAgdmlydHVhbCB+UmVuZGVyU2Nyb2xsYmFyVGhlbWUoKSB7IH0KKyAgICB2aXJ0
dWFsIH5SZW5kZXJTY3JvbGxiYXJUaGVtZSgpID0gZGVmYXVsdDsKICAgICAKICAgICBpbnQgc2Ny
b2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplLCBTY3JvbGxi
YXJFeHBhbnNpb25TdGF0ZSBleHBhbnNpb25TdGF0ZSA9IFNjcm9sbGJhckV4cGFuc2lvblN0YXRl
OjpFeHBhbmRlZCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuc2Ny
b2xsYmFyVGhpY2tuZXNzKGNvbnRyb2xTaXplLCBleHBhbnNpb25TdGF0ZSk7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAppbmRleCAwZGQwN2Q5NmFjOThkMGRk
ODgzYjA2OTI1OTVkODQyNDRjYzY2YmVkLi4zOWI1NTU0YjE5NjZjZjVjMTFhZDRkMTU0OGQ2ODQw
NTBhNmQ5YTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xp
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcApA
QCAtNTIsOSArNTIsNyBAQCBSZW5kZXJTbGlkZXI6OlJlbmRlclNsaWRlcihIVE1MSW5wdXRFbGVt
ZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIEFTU0VSVChlbGVtZW50Lmlz
UmFuZ2VDb250cm9sKCkpOwogfQogCi1SZW5kZXJTbGlkZXI6On5SZW5kZXJTbGlkZXIoKQotewot
fQorUmVuZGVyU2xpZGVyOjp+UmVuZGVyU2xpZGVyKCkgPSBkZWZhdWx0OwogCiBIVE1MSW5wdXRF
bGVtZW50JiBSZW5kZXJTbGlkZXI6OmVsZW1lbnQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKaW5kZXggNjIzN2FiM2I1MDZjNjUyMjk4MmVkYzAyNDdh
YmFhNjYwM2RiZjJhMi4uMDBhMDUyMWVjZDYzNGMyYWU4ZjJhZDI2NjFmMDE2ODQ0Yzg0NDc1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCkBAIC04OSw5ICs4OSw3
IEBAIFJlbmRlclRhYmxlOjpSZW5kZXJUYWJsZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCiAgICAgbV9jb2x1bW5Qb3MuZmlsbCgwLCAxKTsKIH0KIAotUmVuZGVyVGFi
bGU6On5SZW5kZXJUYWJsZSgpCi17Ci19CitSZW5kZXJUYWJsZTo6flJlbmRlclRhYmxlKCkgPSBk
ZWZhdWx0OwogCiB2b2lkIFJlbmRlclRhYmxlOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVu
Y2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmNwcAppbmRleCBhNGM0NTQ5NDAxYWNh
MDRlZWEwMmRhMzI2MTY2YzY0YjVhNTZkYmFkLi4yMjRhNjE5YWE0Yzk1NWM4NDlkZDFmZDRiNGQ4
ZjRhZjg3ZGQ4ZWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVDYXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDYXB0aW9uLmNwcApAQCAtMjksOSArMjksNyBAQCBSZW5kZXJUYWJsZUNhcHRpb246OlJlbmRl
clRhYmxlQ2FwdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogewog
fQogCi1SZW5kZXJUYWJsZUNhcHRpb246On5SZW5kZXJUYWJsZUNhcHRpb24oKQotewotfQorUmVu
ZGVyVGFibGVDYXB0aW9uOjp+UmVuZGVyVGFibGVDYXB0aW9uKCkgPSBkZWZhdWx0OwogCiB2b2lk
IFJlbmRlclRhYmxlQ2FwdGlvbjo6aW5zZXJ0ZWRJbnRvVHJlZSgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCmluZGV4IDNmNmFiYjMxNzM1
YTA3NmVjMjBjODdhMzI5MjBhNTY5Nzg4Y2I0OTIuLjAwOGY1NGIxMjQ1YTg4M2Y1MDE5Y2NhYWQ0
NzJjZGM2ZDNjNjQ1NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZVNlY3Rpb24uY3BwCkBAIC05NCw5ICs5NCw3IEBAIFJlbmRlclRhYmxlU2VjdGlvbjo6UmVu
ZGVyVGFibGVTZWN0aW9uKERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkK
ICAgICBzZXRJbmxpbmUoZmFsc2UpOwogfQogCi1SZW5kZXJUYWJsZVNlY3Rpb246On5SZW5kZXJU
YWJsZVNlY3Rpb24oKQotewotfQorUmVuZGVyVGFibGVTZWN0aW9uOjp+UmVuZGVyVGFibGVTZWN0
aW9uKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6c3R5bGVEaWRDaGFu
Z2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4
IDdiMWExNjk1ZjIwODk0NTM0ZjI1NTRmODFmMGM4ZDI2ZGI2MzI1MWEuLjExZGMwMTM4MTRlMjQ2
NmY5OTJhM2QwM2Q0YWFjM2E3NzA4ZjA4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtNDEsOSArNDEsNyBAQCBSZW5kZXJUZXh0Q29u
dHJvbDo6UmVuZGVyVGV4dENvbnRyb2woSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlcgogewogfQogCi1SZW5kZXJUZXh0Q29udHJvbDo6flJlbmRlclRleHRDb250cm9s
KCkKLXsKLX0KK1JlbmRlclRleHRDb250cm9sOjp+UmVuZGVyVGV4dENvbnRyb2woKSA9IGRlZmF1
bHQ7CiAKIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50JiBSZW5kZXJUZXh0Q29udHJvbDo6dGV4
dEZvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5oCmluZGV4IDg0MTgyNmZhMzNkZjBhODkwMGE4YTdkZWIyOGRj
NTc3MzQ1ODgzNTAuLjU2Yjc2YTVlODE0ZTBiMTZmM2FjMmE4NzEwNGViMjdmZDM3MDM3NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oCkBAIC05MSw3
ICs5MSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJUZXh0Q29udHJvbElubmVyQ29u
dGFpbmVyKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAgICAgIDog
UmVuZGVyRmxleGlibGVCb3goZWxlbWVudCwgV1RGTW92ZShzdHlsZSkpCiAgICAgeyB9Ci0gICAg
dmlydHVhbCB+UmVuZGVyVGV4dENvbnRyb2xJbm5lckNvbnRhaW5lcigpIHsgfQorICAgIHZpcnR1
YWwgflJlbmRlclRleHRDb250cm9sSW5uZXJDb250YWluZXIoKSA9IGRlZmF1bHQ7CiAKICAgICBp
bnQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmUsIGJvb2wgZmlyc3RMaW5l
LCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQb3NpdGlvbk1vZGUgcG9zaXRpb24p
IGNvbnN0IG92ZXJyaWRlCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAppbmRleCA2NTUyYTkxZmZlNjhi
NzZkZGJjNmZlYzAyODE2OGIyODQ2MzNjYTIwLi42YzkyYzFmZDRkNTI5NzFmYTUzMGU0ZjY1ZjYz
MDI0YjVlMTU0YzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcApAQCAtNTQsOSArNTQsNyBAQCBSZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZShIVE1MSW5w
dXRFbGVtZW50JiBlbGVtZQogewogfQogCi1SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6On5S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUoKQotewotfQorUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lOjp+UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lKCkgPSBkZWZhdWx0OwogCiBpbmxp
bmUgSFRNTEVsZW1lbnQqIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aW5uZXJTcGluQnV0
dG9uRWxlbWVudCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dEZyYWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0RnJhZ21lbnQuY3BwCmluZGV4IDEyNDQ3M2JlMjIyNjcwYWY1NTBiN2ExYjE2OWQxYTQ3
MzliZTNmNzkuLjdmOWFhNWY2ODVjMWI5YjA0OTU4YmYzYmFhNWI3Y2ZkOWE2MDhiNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuY3BwCkBAIC01
NSw5ICs1NSw3IEBAIFJlbmRlclRleHRGcmFnbWVudDo6UmVuZGVyVGV4dEZyYWdtZW50KERvY3Vt
ZW50JiB0ZXh0Tm9kZSwgY29uc3QgU3RyaW5nJiB0ZXh0KQogewogfQogCi1SZW5kZXJUZXh0RnJh
Z21lbnQ6On5SZW5kZXJUZXh0RnJhZ21lbnQoKQotewotfQorUmVuZGVyVGV4dEZyYWdtZW50Ojp+
UmVuZGVyVGV4dEZyYWdtZW50KCkgPSBkZWZhdWx0OwogCiBib29sIFJlbmRlclRleHRGcmFnbWVu
dDo6Y2FuQmVTZWxlY3Rpb25MZWFmKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmgKaW5kZXggYTI4YmFhY2E3ZDUwNzJkYjZiNjQ2NTA2NGVmYjUzNzRlOWQzZTJi
NS4uZTI0NzJlMDA1OTBkMDk1ZDVlNzY3ZTBjNTk4MDlmMDczYWNlNWE0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgUmVuZGVy
VGhlbWUgewogcHJvdGVjdGVkOgogICAgIFJlbmRlclRoZW1lKCk7CiAKLSAgICB2aXJ0dWFsIH5S
ZW5kZXJUaGVtZSgpIHsgfQorICAgIHZpcnR1YWwgflJlbmRlclRoZW1lKCkgPSBkZWZhdWx0Owog
CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB0byBiZSBpbXBsZW1lbnRlZCBpbiBw
bGF0Zm9ybS1zcGVjaWZpYyB0aGVtZSBpbXBsZW1lbnRhdGlvbnMgdG8gaGFuZCBiYWNrIHRoZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggNzdkNjhi
YzQ0MGY2OGJkYzRkN2NhNjFlZGUwMDczMjJkZDRiZGU0Yy4uMzcwMWNkZDhhMDM3MWMyMzAwMWYz
YzVkNmVlOTBhY2VlODg4MDZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVHdGsuY3BwCkBAIC0zMTIsOSArMzEyLDcgQEAgc3RhdGljIGJvb2wgbm9kZUhhc0NsYXNz
KE5vZGUqIG5vZGUsIGNvbnN0IGNoYXIqIGNsYXNzTmFtZSkKICAgICByZXR1cm4gZWxlbWVudC5j
bGFzc05hbWVzKCkuY29udGFpbnMoY2xhc3NOYW1lKTsKIH0KIAotUmVuZGVyVGhlbWVHdGs6On5S
ZW5kZXJUaGVtZUd0aygpCi17Ci19CitSZW5kZXJUaGVtZUd0azo6flJlbmRlclRoZW1lR3RrKCkg
PSBkZWZhdWx0OwogCiBzdGF0aWMgYm9vbCBzdXBwb3J0c0ZvY3VzKENvbnRyb2xQYXJ0IGFwcGVh
cmFuY2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4
IGQxNTI0M2Q3MThjNjk5NDNkYzRhOWJjNmZiYzhkMGM5MWE2NzNkYmIuLjRhMDc5ZjQxNTA5NDUx
YjgzZTNlMTliZDk2NTcxNzkxYmRkZjcyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRl
OgogICAgIFJlbmRlclRoZW1lSU9TKCk7Ci0gICAgdmlydHVhbCB+UmVuZGVyVGhlbWVJT1MoKSB7
IH0KKyAgICB2aXJ0dWFsIH5SZW5kZXJUaGVtZUlPUygpID0gZGVmYXVsdDsKIAogICAgIHZvaWQg
cHVyZ2VDYWNoZXMoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCmluZGV4IDNjM2Q5Yzc5Njg0YWIyN2I1YWU4MjY2NGU1MzVhNzVmOGNiYzkwMWYuLmUz
MWNlNmI1M2ExMGFhN2FmYzVlYjIxYWVlMGNkYWMxMThmMzIyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTk4LDkgKzk4LDcgQEAgUmVuZGVyVmlldzo6UmVu
ZGVyVmlldyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAgc2V0
UG9zaXRpb25TdGF0ZShBYnNvbHV0ZVBvc2l0aW9uKTsgLy8gdG8gMCwwIDopCiB9CiAKLVJlbmRl
clZpZXc6On5SZW5kZXJWaWV3KCkKLXsKLX0KK1JlbmRlclZpZXc6On5SZW5kZXJWaWV3KCkgPSBk
ZWZhdWx0OwogCiB2b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94
JiByZW5kZXJlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJs
ZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXgg
MDM2MGY5ZmEzYzIyZmY2NTk2MjFkNDhhYTc0Mjg0M2U4N2I0NjdhMy4uOTM5ZTVkZWUyZTk5NzE5
NTMxYjliMzI0NmM1ODMzMzg0NGNlNDlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RhYmxlTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxl
TGF5b3V0LmgKQEAgLTM2LDcgKzM2LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIH5UYWJsZUxheW91dCgpIHsgfQorICAgIHZpcnR1YWwgflRhYmxlTGF5b3V0KCkgPSBk
ZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
KExheW91dFVuaXQmIG1pbldpZHRoLCBMYXlvdXRVbml0JiBtYXhXaWR0aCkgPSAwOwogICAgIHZp
cnR1YWwgTGF5b3V0VW5pdCBzY2FsZWRXaWR0aEZyb21QZXJjZW50Q29sdW1ucygpIGNvbnN0IHsg
cmV0dXJuIExheW91dFVuaXQoMCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKaW5kZXggNDE3ZTljNjU1Yzc4YWU3Nzg2
ZWFkODNlMzQ5ZjBhNjI2YjAxNWI0Zi4uZmM5MmU4MzIwYTg1ZmY2MzUyMTk4ZWVjZGExYjU0ZTQ1
Y2NkMjJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxCbG9jay5jcHAKQEAgLTU5LDkgKzU5LDcgQEAgUmVuZGVyTWF0aE1MQmxvY2s6
OlJlbmRlck1hdGhNTEJsb2NrKERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHls
ZSkKICAgICBzZXRDaGlsZHJlbklubGluZShmYWxzZSk7IC8vIEFsbCBvZiBvdXIgY2hpbGRyZW4g
bXVzdCBiZSBibG9jay1sZXZlbC4KIH0KIAotUmVuZGVyTWF0aE1MQmxvY2s6On5SZW5kZXJNYXRo
TUxCbG9jaygpCi17Ci19CitSZW5kZXJNYXRoTUxCbG9jazo6flJlbmRlck1hdGhNTEJsb2NrKCkg
PSBkZWZhdWx0OwogCiBib29sIFJlbmRlck1hdGhNTEJsb2NrOjppc0NoaWxkQWxsb3dlZChjb25z
dCBSZW5kZXJPYmplY3QmIGNoaWxkLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0CiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmgKaW5kZXggZjgxMGZmNWVlMmI5ZGFmODk0
MGVlZTIyZWY2MmExOTE3YTkwYjJlNS4uMmJjYTdiNTBmNDM2ODkxMmNjYzdmODBjOGE1ODMxODkx
NDY0MzE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFw
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuaApAQCAtNzYs
NyArNzYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTaGFwZT4gY3Jl
YXRlUmFzdGVyU2hhcGUoSW1hZ2UqLCBmbG9hdCB0aHJlc2hvbGQsIGNvbnN0IExheW91dFJlY3Qm
IGltYWdlUmVjdCwgY29uc3QgTGF5b3V0UmVjdCYgbWFyZ2luUmVjdCwgV3JpdGluZ01vZGUsIGZs
b2F0IG1hcmdpbik7CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTaGFwZT4gY3JlYXRlQm94
U2hhcGUoY29uc3QgUm91bmRlZFJlY3QmLCBXcml0aW5nTW9kZSwgZmxvYXQgbWFyZ2luKTsKIAot
ICAgIHZpcnR1YWwgflNoYXBlKCkgeyB9CisgICAgdmlydHVhbCB+U2hhcGUoKSA9IGRlZmF1bHQ7
CiAKICAgICB2aXJ0dWFsIExheW91dFJlY3Qgc2hhcGVNYXJnaW5Mb2dpY2FsQm91bmRpbmdCb3go
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzRW1wdHkoKSBjb25zdCA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCmluZGV4IGE1MTg4OWE5
ZDRjN2EyYTg3MjgwODI2ZGQ2NGU2NDYyNjUwMzYwZTAuLmM2YzY4ZDgyZDM5YTViMzU5OWQ4ZTE5
Mjc3MjkzYzUwZWFjYmE3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9CYXNpY1NoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9C
YXNpY1NoYXBlcy5oCkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtOwog
CiBjbGFzcyBCYXNpY1NoYXBlIDogcHVibGljIFJlZkNvdW50ZWQ8QmFzaWNTaGFwZT4gewogcHVi
bGljOgotICAgIHZpcnR1YWwgfkJhc2ljU2hhcGUoKSB7IH0KKyAgICB2aXJ0dWFsIH5CYXNpY1No
YXBlKCkgPSBkZWZhdWx0OwogCiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgQmFzaWNTaGFwZVBv
bHlnb25UeXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Nv
bnRlbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEu
aAppbmRleCA5ZTk3YzAyMzVjM2RmZWQ1ZGM4NDk1ZmJmN2E2OTYwMTA0NmI4ZTRjLi4yNWRkZGEx
YmU2YzM4ODcxMDUwNWQwNmY1MzY4OGE4M2YyNWJkMDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFF1b3RlRGF0YVR5cGUsCiAgICAgICAgIFRleHREYXRhVHlwZQogICAgIH07Ci0gICAg
dmlydHVhbCB+Q29udGVudERhdGEoKSB7IH0KKyAgICB2aXJ0dWFsIH5Db250ZW50RGF0YSgpID0g
ZGVmYXVsdDsKIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvS2V5ZnJhbWVMaXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9LZXlmcmFtZUxpc3QuY3BwCmluZGV4
IDk3Mjk4YWI0NDc5YTdlYTI3ZGU5ZmJlMzgyZTJiNzQ3MGI2ZjQwMjEuLjgwM2M4MGRkMTQ1Yzc5
NGY5ZGI0NDVhYWY5OTEzZmI2NmJlMmUyYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9LZXlmcmFtZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9LZXlmcmFtZUxpc3QuY3BwCkBAIC00Miw5ICs0Miw3IEBAIFRpbWluZ0Z1bmN0
aW9uKiBLZXlmcmFtZVZhbHVlOjp0aW1pbmdGdW5jdGlvbihjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLUtleWZyYW1lTGlzdDo6fktleWZy
YW1lTGlzdCgpCi17Ci19CitLZXlmcmFtZUxpc3Q6On5LZXlmcmFtZUxpc3QoKSA9IGRlZmF1bHQ7
CiAKIHZvaWQgS2V5ZnJhbWVMaXN0OjpjbGVhcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAppbmRleCAxYTA1MTRjZDBkZWE4ZmZj
OGE0ZmRjNTg1MDVlYWZhNmNlYzI1MTFlLi41MzEyMDNjNzU4NzYwZjg2ZmY2NjA3MzQyMzYwNjgw
NzYyYzA5M2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZH
UmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZS5jcHAKQEAgLTk3LDkgKzk3LDcgQEAgUmVmPFNWR1JlbmRlclN0eWxlPiBTVkdS
ZW5kZXJTdHlsZTo6Y29weSgpIGNvbnN0CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVu
ZGVyU3R5bGUoKnRoaXMpKTsKIH0KIAotU1ZHUmVuZGVyU3R5bGU6On5TVkdSZW5kZXJTdHlsZSgp
Ci17Ci19CitTVkdSZW5kZXJTdHlsZTo6flNWR1JlbmRlclN0eWxlKCkgPSBkZWZhdWx0OwogCiBi
b29sIFNWR1JlbmRlclN0eWxlOjpvcGVyYXRvcj09KGNvbnN0IFNWR1JlbmRlclN0eWxlJiBvdGhl
cikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUNhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUNhY2hlZEltYWdlLmNwcAppbmRleCBjOWEyNmU4ZmZmODc2MjgxYWJjYWZiOTIyNzZkN2VmZjE1
Y2RlMzlkLi5kNDQ3MjA1Y2E2YzQ4ZWY2ODRlMWViYjE5NTUzMmMwYjljZTRlZDA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuY3Bw
CkBAIC00OCw5ICs0OCw3IEBAIFN0eWxlQ2FjaGVkSW1hZ2U6OlN0eWxlQ2FjaGVkSW1hZ2UoQ1NT
VmFsdWUmIGNzc1ZhbHVlKQogICAgIH0KIH0KIAotU3R5bGVDYWNoZWRJbWFnZTo6flN0eWxlQ2Fj
aGVkSW1hZ2UoKQotewotfQorU3R5bGVDYWNoZWRJbWFnZTo6flN0eWxlQ2FjaGVkSW1hZ2UoKSA9
IGRlZmF1bHQ7CiAKIGJvb2wgU3R5bGVDYWNoZWRJbWFnZTo6b3BlcmF0b3I9PShjb25zdCBTdHls
ZUltYWdlJiBvdGhlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVJbWFnZS5oCmluZGV4IDBjMzMzN2ZkMDNlOWFmMWQwMzQ2YjkwNjg5OTM4Y2QyMTJiNmI2
YWQuLjliODM1M2JiYWE0ZGQ2NTQ1MTdjYWE2ZGNlNjIzN2JiMTdlNWMzODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaApAQCAtNDMsNyArNDMsNyBAQCB0
eXBlZGVmIGNvbnN0IHZvaWQqIFdyYXBwZWRJbWFnZVB0cjsKIAogY2xhc3MgU3R5bGVJbWFnZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlSW1hZ2U+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5T
dHlsZUltYWdlKCkgeyB9CisgICAgdmlydHVhbCB+U3R5bGVJbWFnZSgpID0gZGVmYXVsdDsKIAog
ICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlSW1hZ2UmIG90aGVyKSBjb25z
dCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCA5ZGZhOGM4OTIxZTA0ZTA4NTI3ZDQ5OGI2
Y2UxYmExZTg0YjZjODIxLi5lOTM4NmMzNTY1YzYxNzJlMTAyYjYyNDY0ZjI2OWYwNzIzYTdmZmM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0yNTAsOSArMjUwLDcgQEAgUmVmPFN0eWxlUmFyZUlu
aGVyaXRlZERhdGE+IFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OmNvcHkoKSBjb25zdAogICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUmFyZUluaGVyaXRlZERhdGEoKnRoaXMpKTsKIH0KIAot
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6flN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQotewotfQor
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6flN0eWxlUmFyZUluaGVyaXRlZERhdGEoKSA9IGRlZmF1
bHQ7CiAKIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmlu
ZGV4IDk1ZDcyNjBmMDNkMTUxNzA5Y2I4ZWMzNTgwNjcyOTdiOGUzZDViNDYuLmUwOTQ3M2RiMDBh
ZDYzMjAyODYzYTEzODgxMGU5ZDRjZTZmZDZlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAK
QEAgLTIwMyw5ICsyMDMsNyBAQCBSZWY8U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YT4gU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6Y29weSgpIGNvbnN0CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgqdGhpcykpOwogfQogCi1TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjp+U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCi17Ci19CitTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjp+U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpID0gZGVmYXVs
dDsKIAogYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwCmluZGV4IDEwZmQ1ODg4Zjdm
N2I2Nzg3NTQ0ZGQxMWViOGY3ZWVhZGIwMTgwYWQuLmRkOTdmZmRkOWFlNzkwMWE3YTE1YmRkODY5
YTk3ODZkZWZlMWY1M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVZpc3VhbERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVZpc3VhbERhdGEuY3BwCkBAIC0zMyw5ICszMyw3IEBAIFN0eWxlVmlzdWFsRGF0YTo6
U3R5bGVWaXN1YWxEYXRhKCkKIHsKIH0KIAotU3R5bGVWaXN1YWxEYXRhOjp+U3R5bGVWaXN1YWxE
YXRhKCkKLXsKLX0KK1N0eWxlVmlzdWFsRGF0YTo6flN0eWxlVmlzdWFsRGF0YSgpID0gZGVmYXVs
dDsKIAogaW5saW5lIFN0eWxlVmlzdWFsRGF0YTo6U3R5bGVWaXN1YWxEYXRhKGNvbnN0IFN0eWxl
VmlzdWFsRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlVmlzdWFsRGF0YT4oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWlu
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIu
Y3BwCmluZGV4IDA4MjUxZDU4YmQ0MGMwOTk1Y2RhNGYxMjk1ZmYzMDFhZTIyYmJlM2EuLmY1MjI4
OTllZDE3NzFiY2ViM2E1MDE1MGQ0YTg1MjFkMGRjNWEyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5jcHAKQEAgLTQ1LDkgKzQ1
LDcgQEAgUmVuZGVyU1ZHQ29udGFpbmVyOjpSZW5kZXJTVkdDb250YWluZXIoU1ZHRWxlbWVudCYg
ZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIHsKIH0KIAotUmVuZGVyU1ZHQ29udGFpbmVy
Ojp+UmVuZGVyU1ZHQ29udGFpbmVyKCkKLXsKLX0KK1JlbmRlclNWR0NvbnRhaW5lcjo6flJlbmRl
clNWR0NvbnRhaW5lcigpID0gZGVmYXVsdDsKIAogdm9pZCBSZW5kZXJTVkdDb250YWluZXI6Omxh
eW91dCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0VsbGlwc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdF
bGxpcHNlLmNwcAppbmRleCA0YjZkZDQ1ODU1ZmNhMTkwZDUyZWIwMjJlNjZkY2JiNzA1MzNjOTFm
Li4yOGI0NzFmOWJhMjZlMmViMmE3MmViNWE1MDdiY2Y3M2M2OWY0NjIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRWxsaXBzZS5jcHAKQEAgLTM4LDkg
KzM4LDcgQEAgUmVuZGVyU1ZHRWxsaXBzZTo6UmVuZGVyU1ZHRWxsaXBzZShTVkdHcmFwaGljc0Vs
ZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3QKIHsKIH0KIAotUmVuZGVyU1ZHRWxsaXBz
ZTo6flJlbmRlclNWR0VsbGlwc2UoKQotewotfQorUmVuZGVyU1ZHRWxsaXBzZTo6flJlbmRlclNW
R0VsbGlwc2UoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmVuZGVyU1ZHRWxsaXBzZTo6dXBkYXRlU2hh
cGVGcm9tRWxlbWVudCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0LmNwcAppbmRleCAxM2E4MTc4ZDQ1M2VhZmUyN2Jh
ZDljNzExM2ZkNzM0MDhlMGRhMjM4Li4wMjJiNTg5MThkYzE2MWY4OWYxZGY5MmYzNjMxNmY1NmVk
ZTkxN2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0ZvcmVpZ25PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHRm9yZWlnbk9iamVjdC5jcHAKQEAgLTQxLDkgKzQxLDcgQEAgUmVuZGVyU1ZHRm9yZWln
bk9iamVjdDo6UmVuZGVyU1ZHRm9yZWlnbk9iamVjdChTVkdGb3JlaWduT2JqZWN0RWxlbWVudCYg
ZWxlbWVudCwKIHsKIH0KIAotUmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6flJlbmRlclNWR0ZvcmVp
Z25PYmplY3QoKQotewotfQorUmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6flJlbmRlclNWR0ZvcmVp
Z25PYmplY3QoKSA9IGRlZmF1bHQ7CiAKIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50JiBSZW5kZXJT
VkdGb3JlaWduT2JqZWN0Ojpmb3JlaWduT2JqZWN0RWxlbWVudCgpIGNvbnN0CiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5j
cHAKaW5kZXggNDFhMTU5MjU4NDE0NzdhNzgyNmRjZjc4NmJlMjk3M2E3N2UyN2VhMi4uZTA0MDMw
NzI5YmUxMTRjMDNmMGU0ZTdhMGYyMWY2NThhNDg4Yzk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcApAQCAtMzYs
OSArMzYsNyBAQCBSZW5kZXJTVkdHcmFkaWVudFN0b3A6OlJlbmRlclNWR0dyYWRpZW50U3RvcChT
VkdTdG9wRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bAogewogfQogCi1SZW5kZXJTVkdHcmFk
aWVudFN0b3A6On5SZW5kZXJTVkdHcmFkaWVudFN0b3AoKQotewotfQorUmVuZGVyU1ZHR3JhZGll
bnRTdG9wOjp+UmVuZGVyU1ZHR3JhZGllbnRTdG9wKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlbmRl
clNWR0dyYWRpZW50U3RvcDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHAKaW5kZXggMjA2YWU1NzhkOTFmZDUxMjJmOTE4NjAw
MzE4YjY0MDgxYTM0YmZjZi4uNDljNzZjMWU3OTY2NmZhMjVhMGMxNDBiOWIwOTdhM2QzZGIxZmY1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5j
cHAKQEAgLTUyLDkgKzUyLDcgQEAgUmVuZGVyU1ZHSW1hZ2U6OlJlbmRlclNWR0ltYWdlKFNWR0lt
YWdlRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICBpbWFnZVJlc291
cmNlKCkuaW5pdGlhbGl6ZSgqdGhpcyk7CiB9CiAKLVJlbmRlclNWR0ltYWdlOjp+UmVuZGVyU1ZH
SW1hZ2UoKQotewotfQorUmVuZGVyU1ZHSW1hZ2U6On5SZW5kZXJTVkdJbWFnZSgpID0gZGVmYXVs
dDsKIAogdm9pZCBSZW5kZXJTVkdJbWFnZTo6d2lsbEJlRGVzdHJveWVkKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3BwCmluZGV4IDIwOGYxMWY4
YzUyZDIyMDRkMDQ0ZTZmYWIwMDJhOWYyM2M0ZWFkMTguLjA1ODZjM2ExNjJkNzIxY2VhMTE4ZmU1
ZmNkNmMzYjEyZTg3NjgwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdQYXRoLmNwcApAQCAtMzgsOSArMzgsNyBAQCBSZW5kZXJTVkdQYXRoOjpSZW5kZXJT
VkdQYXRoKFNWR0dyYXBoaWNzRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkK
IHsKIH0KIAotUmVuZGVyU1ZHUGF0aDo6flJlbmRlclNWR1BhdGgoKQotewotfQorUmVuZGVyU1ZH
UGF0aDo6flJlbmRlclNWR1BhdGgoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmVuZGVyU1ZHUGF0aDo6
dXBkYXRlU2hhcGVGcm9tRWxlbWVudCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1JlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZWN0LmNwcAppbmRleCBlYTVjMDVmYmEzNTZmYTBlZTVlNGFkNTE5MmIy
MGNjYzVhYTkwMmNhLi43NzI3Yjg3Y2I0NTAyOTdmNTNhNWFkOTFkNTIzZGIxNjY0MmM1OTAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1JlY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVjdC5jcHAKQEAg
LTM2LDkgKzM2LDcgQEAgUmVuZGVyU1ZHUmVjdDo6UmVuZGVyU1ZHUmVjdChTVkdSZWN0RWxlbWVu
dCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIHsKIH0KIAotUmVuZGVyU1ZHUmVjdDo6
flJlbmRlclNWR1JlY3QoKQotewotfQorUmVuZGVyU1ZHUmVjdDo6flJlbmRlclNWR1JlY3QoKSA9
IGRlZmF1bHQ7CiAKIFNWR1JlY3RFbGVtZW50JiBSZW5kZXJTVkdSZWN0OjpyZWN0RWxlbWVudCgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlLmgKaW5kZXggZjhmNTEwYzE0YzA1OTU5ZTgxMTM0ZTFkN2JhMGExZjVjMzcxMTE3OS4u
MTE5ZDMyN2VhYWRmYTMxYTFiYjc1NTEyNjcyMjZlZDU4ZGFhMDU4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2UuaApAQCAtNTQsOCArNTQs
OCBAQCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I7CiAKIGNsYXNzIFJlbmRlclNW
R1Jlc291cmNlIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJTVkdSZXNvdXJjZSgpIHsgfQotICAgIHZp
cnR1YWwgflJlbmRlclNWR1Jlc291cmNlKCkgeyB9CisgICAgUmVuZGVyU1ZHUmVzb3VyY2UoKSA9
IGRlZmF1bHQ7CisgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2UoKSA9IGRlZmF1bHQ7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQWxsQ2xpZW50c0Zyb21DYWNoZShib29sIG1hcmtGb3JJ
bnZhbGlkYXRpb24gPSB0cnVlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUNsaWVudEZy
b21DYWNoZShSZW5kZXJFbGVtZW50JiwgYm9vbCBtYXJrRm9ySW52YWxpZGF0aW9uID0gdHJ1ZSkg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZUNsaXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIuY3BwCmluZGV4IGE0ZmNkMzJhYTUxN2VjZjE0YzNjNjNjOGU4ZTgz
MDRlZjVlZWJkYjguLjUzYmQ5MjE1MTZiMjFmOGIwZTk5ZTMyOWVmNTEzZmE4YTExYzA1NDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5jcHAKQEAgLTQ1LDkgKzQ1LDcgQEAgUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50JiBlbGVtZW50
LAogewogfQogCi1SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6On5SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIoKQotewotfQorUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjp+UmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6
cmVtb3ZlQWxsQ2xpZW50c0Zyb21DYWNoZShib29sIG1hcmtGb3JJbnZhbGlkYXRpb24pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXIuY3BwCmluZGV4IDE4MTg2MDM4NTA4YzgzMDI4ODc5M2VjOGE2ZTMxMDY5
YzhlNzJjMzMuLmE1ZmFjZGE0MTc1NmQzMTA4YTJjNTU5NDU2NWFiYTFjNDE1NDk1OWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXIuY3BwCkBAIC00MCw5ICs0MCw3IEBAIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihTVkdFbGVtZW50JiBlbGVtZW50LCBS
ZW5kCiB7CiB9CiAKLVJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjp+UmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIoKQotewotfQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6On5SZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcigpID0gZGVmYXVsdDsKIAogdm9pZCBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lcjo6bGF5b3V0KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKaW5kZXggZWFhODk1MjkxYTQy
MjBhNTYzZDQ4MTJmZjkyZmUxNDNjOGU2MmMzYy4uMGRmNjZjZWRmZmMzMjMyNGE1MTE3ZTJkZTEw
NDk5Y2RmYzEyNzE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKQEAgLTQ3LDkgKzQ3LDcgQEAgUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyKFNWR0ZpbHRlckVsZW1l
bnQmIGVsZW1lbnQsIFJlbmQKIHsKIH0KIAotUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6On5SZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlcigpCi17Ci19CitSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6flJl
bmRlclNWR1Jlc291cmNlRmlsdGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyOjpyZW1vdmVBbGxDbGllbnRzRnJvbUNhY2hlKGJvb2wgbWFya0ZvckludmFsaWRh
dGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwCmluZGV4IGU1MWZmNWZiMzA1
NjE0NGRiMzBlNWQ5M2Y0NDZhZjVmZTVjMTQ1ZjguLmQ5NTdkMTUxNTBlMjEyZTk2YTU1ZTMyY2Fm
YTFjZjRjNjE1MmNiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcApAQCAtMjks
OSArMjksNyBAQCBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50OjpSZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50KFNWR0xpbmVhckdyYWRpZQogewogfQogCi1SZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCgpCi17
Ci19CitSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCgpID0gZGVmYXVsdDsKIAogYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50Ojpjb2xsZWN0R3JhZGllbnRBdHRyaWJ1dGVzKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAK
aW5kZXggNTM4ZTIxY2QwNDQxYTIyODAxYzZkM2FhYjkwODFhYzBiZjhlZjBhYS4uY2M1ZTIxZWM4
NWQ0NDFmN2U1MWIwMGVjZjQwMWI2ZDZjOTYzYWE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAKQEAgLTMz
LDkgKzMzLDcgQEAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFy
a2VyKFNWR01hcmtlckVsZW1lbnQmIGVsZW1lbnQsIFJlbmQKIHsKIH0KIAotUmVuZGVyU1ZHUmVz
b3VyY2VNYXJrZXI6On5SZW5kZXJTVkdSZXNvdXJjZU1hcmtlcigpCi17Ci19CitSZW5kZXJTVkdS
ZXNvdXJjZU1hcmtlcjo6flJlbmRlclNWR1Jlc291cmNlTWFya2VyKCkgPSBkZWZhdWx0OwogCiB2
b2lkIFJlbmRlclNWR1Jlc291cmNlTWFya2VyOjpsYXlvdXQoKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcApp
bmRleCBiY2Q2YmRmM2Y2YjZiMDliNTFmYzcyYjY0MmRiNTJlOTgxMTM0YjlhLi4yMmZkNzE2MzJh
ZjE5MDI4ZmY4ZDM4ZmJhOTJkYjViM2NlMzJkNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcApAQCAtMzQs
OSArMzQsNyBAQCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNr
ZXIoU1ZHTWFza0VsZW1lbnQmIGVsZW1lbnQsIFJlbmRlcgogewogfQogCi1SZW5kZXJTVkdSZXNv
dXJjZU1hc2tlcjo6flJlbmRlclNWR1Jlc291cmNlTWFza2VyKCkKLXsKLX0KK1JlbmRlclNWR1Jl
c291cmNlTWFza2VyOjp+UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoKSA9IGRlZmF1bHQ7CiAKIHZv
aWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OnJlbW92ZUFsbENsaWVudHNGcm9tQ2FjaGUoYm9v
bCBtYXJrRm9ySW52YWxpZGF0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5jcHAK
aW5kZXggZWNiYzM5Yjg5OGNhNzJkMmVmYzMyZDQ4MDRhMGQ4MmM2YTRmM2MzYS4uYWJhMjE4NjQw
MTdlMTNmYzM5ZTNjNGMwNzk0ZTZhODIxNzI5YzEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQuY3BwCkBAIC0yOSw5ICsyOSw3IEBAIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGll
bnQ6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQoU1ZHUmFkaWFsR3JhZGllCiB7CiB9
CiAKLVJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZVJh
ZGlhbEdyYWRpZW50KCkKLXsKLX0KK1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6On5S
ZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KCkgPSBkZWZhdWx0OwogCiBib29sIFJlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OmNvbGxlY3RHcmFkaWVudEF0dHJpYnV0ZXMoKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwCmluZGV4IDliYmJmNzBkNTBjYThiZDgyNGQzM2M3NGE4
MDczNTAxYjBlNDIyZTguLjA5YTZlMGM5ODViYjExODA4NmQ3NjlhMWE3ZWNiNzgwMDY4MTI1MWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VTb2xpZENvbG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlU29saWRDb2xvci5jcHAKQEAgLTI4LDEzICsyOCw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpSZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3IoKQotewotfQorUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IoKSA9IGRlZmF1bHQ7CiAKLVJlbmRlclNWR1Jlc291cmNl
U29saWRDb2xvcjo6flJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcigpCi17Ci19CitSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3I6On5SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IoKSA9IGRl
ZmF1bHQ7CiAKIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjphcHBseVJlc291cmNl
KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIEdyYXBo
aWNzQ29udGV4dComIGNvbnRleHQsIE9wdGlvblNldDxSZW5kZXJTVkdSZXNvdXJjZU1vZGU+IHJl
c291cmNlTW9kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuY3BwCmluZGV4IDI1YTY5MjcyMzFlNjZmYjQ5OWNkYTczYzZhNWJiZDg5ZGNkNjJiMDYu
LjAyNGI2OTRiNjE0ZThhMTZkNTdmMjdiODg3ZmYyMzZhZTA3NDllMzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtNTYsOSArNTYsNyBA
QCBSZW5kZXJTVkdSb290OjpSZW5kZXJTVkdSb290KFNWR1NWR0VsZW1lbnQmIGVsZW1lbnQsIFJl
bmRlclN0eWxlJiYgc3R5bGUpCiB7CiB9CiAKLVJlbmRlclNWR1Jvb3Q6On5SZW5kZXJTVkdSb290
KCkKLXsKLX0KK1JlbmRlclNWR1Jvb3Q6On5SZW5kZXJTVkdSb290KCkgPSBkZWZhdWx0OwogCiBT
VkdTVkdFbGVtZW50JiBSZW5kZXJTVkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKaW5kZXgg
MTQzYjVjZWE2ZjE4MjQ5MGRkODE0MDY0MmI0ZTNkMTI2NDdjYTZjOC4uMzJmNDlkZTBlNDIzMDli
YjgzODI1ZmVkMWE1NTAwYjVjOWEwN2M4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKQEAgLTcxLDkgKzcxLDcgQEAgUmVuZGVyU1ZHU2hh
cGU6OlJlbmRlclNWR1NoYXBlKFNWR0dyYXBoaWNzRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5
bGUmJiBzdHlsZSkKIHsKIH0KIAotUmVuZGVyU1ZHU2hhcGU6On5SZW5kZXJTVkdTaGFwZSgpCi17
Ci19CitSZW5kZXJTVkdTaGFwZTo6flJlbmRlclNWR1NoYXBlKCkgPSBkZWZhdWx0OwogCiB2b2lk
IFJlbmRlclNWR1NoYXBlOjp1cGRhdGVTaGFwZUZyb21FbGVtZW50KCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAKaW5kZXggODNk
OTEyZWViZThmZTQyODM4NjhkMmQxM2FkYzQzOTI4ZGEyNTk2Ny4uZjE1ZDk3NDJkZDQzNTRhY2Ey
NjRhYWU3NWIxMGNjZmVjMTJjYjc2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAKQEAgLTI2LDEzICsyNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotU1ZHUmVzb3VyY2VzQ2FjaGU6OlNWR1Jlc291cmNlc0NhY2hlKCkK
LXsKLX0KK1NWR1Jlc291cmNlc0NhY2hlOjpTVkdSZXNvdXJjZXNDYWNoZSgpID0gZGVmYXVsdDsK
IAotU1ZHUmVzb3VyY2VzQ2FjaGU6On5TVkdSZXNvdXJjZXNDYWNoZSgpCi17Ci19CitTVkdSZXNv
dXJjZXNDYWNoZTo6flNWR1Jlc291cmNlc0NhY2hlKCkgPSBkZWZhdWx0OwogCiB2b2lkIFNWR1Jl
c291cmNlc0NhY2hlOjphZGRSZXNvdXJjZXNGcm9tUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHAKaW5kZXgg
YmU3NmMxZjlkZWVjMTY4NDIwODA1MTM5NDI4NWVhM2UxM2FjZTY3OS4uMzIyZTAyZDU1YmU2NGRm
YjdiNWRlZTEwZDRhMjFhZDEzNThlN2JmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHAKQEAgLTQ4LDkgKzQ4
LDcgQEAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXI6OlNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKFJl
bmRlckVsZW1lbnQmIHJlbmRlcmVyLCBTVkdSZXMKIHsKIH0KIAotU1ZHUmVzb3VyY2VzQ3ljbGVT
b2x2ZXI6On5TVkdSZXNvdXJjZXNDeWNsZVNvbHZlcigpCi17Ci19CitTVkdSZXNvdXJjZXNDeWNs
ZVNvbHZlcjo6flNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCkgPSBkZWZhdWx0OwogCiBib29sIFNW
R1Jlc291cmNlc0N5Y2xlU29sdmVyOjpyZXNvdXJjZUNvbnRhaW5zQ3ljbGVzKFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5oCmlu
ZGV4IDc4OTk3YTk0ZTYwYTg3MWQ4NGNhM2NmMjhkMWNmOTBkZGVmMmJlYjkuLjUzNDFjYTY1ZTg4
ZmM3MjgzNzYwZWRhYWM1YjZlOGZmYThkMDQwYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VBcmVhLmgKQEAgLTQxLDcgKzQxLDcgQEAgc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIAog
Y2xhc3MgU3RvcmFnZUFyZWEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlQXJlYT4gewogcHVi
bGljOgotICAgIHZpcnR1YWwgflN0b3JhZ2VBcmVhKCkgeyB9CisgICAgdmlydHVhbCB+U3RvcmFn
ZUFyZWEoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpID0gMDsK
ICAgICB2aXJ0dWFsIFN0cmluZyBrZXkodW5zaWduZWQgaW5kZXgpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAppbmRleCA0ZmFiMDEwMDBkMmY5OTE1YmM0MjUwNjkw
N2Q2NGIwNTQ3ZTg4NDZkLi4xYmQ4ZGI5ZjllZDNmNGI3NjEyZGI0NjE3MDdjN2FkNjFlY2FkNmFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuY3BwCkBAIC0zNSwxMyArMzUs
OSBAQCBSZWY8U3RvcmFnZUV2ZW50PiBTdG9yYWdlRXZlbnQ6OmNyZWF0ZUZvckJpbmRpbmdzKCkK
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdG9yYWdlRXZlbnQpOwogfQogCi1TdG9yYWdlRXZl
bnQ6OlN0b3JhZ2VFdmVudCgpCi17Ci19CitTdG9yYWdlRXZlbnQ6OlN0b3JhZ2VFdmVudCgpID0g
ZGVmYXVsdDsKIAotU3RvcmFnZUV2ZW50Ojp+U3RvcmFnZUV2ZW50KCkKLXsKLX0KK1N0b3JhZ2VF
dmVudDo6flN0b3JhZ2VFdmVudCgpID0gZGVmYXVsdDsKIAogUmVmPFN0b3JhZ2VFdmVudD4gU3Rv
cmFnZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29u
c3QgU3RyaW5nJiB1cmwsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaAppbmRleCBlYWQ3MWE0NzY5YjI3YzBmYTRlOWFjYWE5
MzFmNjdhNDFhYjk5NmFiLi40MDlhNDMzZTFkNWMxZjZlMmQ3ZDE4YTExOTc2ZDliYjJmZmMyNTJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaApAQCAtMzYsNyAr
MzYsNyBAQCBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogCiBjbGFzcyBTdG9yYWdlTmFtZXNw
YWNlIDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZU5hbWVzcGFjZT4gewogcHVibGljOgotICAg
IHZpcnR1YWwgflN0b3JhZ2VOYW1lc3BhY2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5TdG9yYWdlTmFt
ZXNwYWNlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgUmVmUHRyPFN0b3JhZ2VBcmVhPiBzdG9y
YWdlQXJlYShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSA9IDA7CiAgICAgdmlydHVhbCBSZWZQ
dHI8U3RvcmFnZU5hbWVzcGFjZT4gY29weShQYWdlKiBuZXdQYWdlKSA9IDA7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IGNkNzkxNmU3MDg3ZTY5
MWU1MDA1ODQ2MDQzMjdjNzdkYzk3YTdhYjcuLmY5ZTg0YWYyOGMxZDY0Zjk4ZWU5MGViZjFhNjU2
ZGRhMGI1MTY5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVV
cGRhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlci5j
cHAKQEAgLTg4LDkgKzg4LDcgQEAgUmVuZGVyVHJlZVVwZGF0ZXI6OlJlbmRlclRyZWVVcGRhdGVy
KERvY3VtZW50JiBkb2N1bWVudCkKIHsKIH0KIAotUmVuZGVyVHJlZVVwZGF0ZXI6On5SZW5kZXJU
cmVlVXBkYXRlcigpCi17Ci19CitSZW5kZXJUcmVlVXBkYXRlcjo6flJlbmRlclRyZWVVcGRhdGVy
KCkgPSBkZWZhdWx0OwogCiBzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZFJlbmRlcmluZ1Jvb3Qo
Q29udGFpbmVyTm9kZSYgbm9kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcAppbmRleCBiNmE2MWNlZjY5MTdiYjc0MWY5YWRhZmY5NDc1MDUyOThkMTRlNmQw
Li4xM2Y1MGNkZTYyYmYwMzg0NTBhNTBjMGVjYzJkNTgyMjZjZjRmMzgyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBAIC01OSw5ICs1OSw3IEBAIFRyZWVS
ZXNvbHZlcjo6VHJlZVJlc29sdmVyKERvY3VtZW50JiBkb2N1bWVudCkKIHsKIH0KIAotVHJlZVJl
c29sdmVyOjp+VHJlZVJlc29sdmVyKCkKLXsKLX0KK1RyZWVSZXNvbHZlcjo6flRyZWVSZXNvbHZl
cigpID0gZGVmYXVsdDsKIAogVHJlZVJlc29sdmVyOjpTY29wZTo6U2NvcGUoRG9jdW1lbnQmIGRv
Y3VtZW50KQogICAgIDogc3R5bGVSZXNvbHZlcihkb2N1bWVudC5zdHlsZVNjb3BlKCkucmVzb2x2
ZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudEJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50QmFzZS5jcHAKaW5k
ZXggMTFhZTdhOTgxMmI5YTQyYTdhZGNjYjIyM2Y4YjI5NGM5ODAxZmYzMC4uN2M2YWJmNDUxODgy
OTRkOTdmZmQ4M2M5NmNmYmRiYjA3NWIxMmY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVFbGVtZW50QmFzZS5jcHAKQEAgLTQyLDkgKzQyLDcgQEAgU1ZHQW5pbWF0ZUVsZW1l
bnRCYXNlOjpTVkdBbmltYXRlRWxlbWVudEJhc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW0KICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0ZVRhZykgfHwg
aGFzVGFnTmFtZShTVkdOYW1lczo6c2V0VGFnKSB8fCBoYXNUYWdOYW1lKFNWR05hbWVzOjphbmlt
YXRlQ29sb3JUYWcpIHx8IGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1hdGVUcmFuc2Zvcm1UYWcp
KTsKIH0KIAotU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlOjp+U1ZHQW5pbWF0ZUVsZW1lbnRCYXNlKCkK
LXsKLX0KK1NWR0FuaW1hdGVFbGVtZW50QmFzZTo6flNWR0FuaW1hdGVFbGVtZW50QmFzZSgpID0g
ZGVmYXVsdDsKIAogYm9vbCBTVkdBbmltYXRlRWxlbWVudEJhc2U6Omhhc1ZhbGlkQXR0cmlidXRl
VHlwZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBl
QW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9y
LmNwcAppbmRleCBhMmQ1OWI2ZTk3NjdlZDAwOGQxMTQzNDAzOGNiNzVmM2RlNzRlYzU2Li5jZGRi
MTkxZjZlMmU1ZmVkOGRmMjYzMDkxODAyYjhiYThhMTdiYzcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZFR5cGVBbmltYXRvci5jcHAKQEAgLTM0LDkgKzM0LDcgQEAgU1ZH
QW5pbWF0ZWRUeXBlQW5pbWF0b3I6OlNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yKEFuaW1hdGVkUHJv
cGVydHlUeXBlIHR5cGUsIFNWR0EKIHsKIH0KIAotU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6On5T
VkdBbmltYXRlZFR5cGVBbmltYXRvcigpCi17Ci19CitTVkdBbmltYXRlZFR5cGVBbmltYXRvcjo6
flNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yKCkgPSBkZWZhdWx0OwogCiB2b2lkIFNWR0FuaW1hdGVk
VHlwZUFuaW1hdG9yOjpjYWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMoc3RkOjp1bmlxdWVfcHRyPFNW
R0FuaW1hdGVkVHlwZT4mIGZyb20sIHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+JiB0
bywgY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRvU3RyaW5nKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRleCBlYjgx
NTRjZjVjMmVlM2Y5MGVhZWI0MzkxMjMwZTljMDUzYjJhM2I3Li43NThhMGRhOTVmZGQyYzI4ZGQx
ZDYxYzUyNGQwZDZiYjFiYmRjYzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RG9jdW1lbnRFeHRlbnNpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1l
bnRFeHRlbnNpb25zLmNwcApAQCAtNDcsOSArNDcsNyBAQCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6
OlNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiB9CiAKLVNWR0Rv
Y3VtZW50RXh0ZW5zaW9uczo6flNWR0RvY3VtZW50RXh0ZW5zaW9ucygpCi17Ci19CitTVkdEb2N1
bWVudEV4dGVuc2lvbnM6On5TVkdEb2N1bWVudEV4dGVuc2lvbnMoKSA9IGRlZmF1bHQ7CiAKIHZv
aWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjphZGRUaW1lQ29udGFpbmVyKFNWR1NWR0VsZW1lbnQq
IGVsZW1lbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuaAppbmRleCA2NjM1NWZkNjczYjU5ODI2NjU0YTBmMzEzMjhiOTY4ZmFlMjZm
YmU5Li42NzVjNTQ1MGNmZWMyYWQxMzczNzNjZmM3ZTBkYThiM2U3MDM1NjQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgKQEAgLTM0
LDcgKzM0LDcgQEAgY2xhc3MgU1ZHRWxlbWVudDsKIC8vIEZJWE1FOiBXaGVuIGltcGxlbWVudGlu
ZyBhbmltVmFsIHN1cHBvcnQsIG1ha2Ugc3VyZSB0aGF0IGFuaW1WYWw9PWJhc2VWYWwgZm9yIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKIGNsYXNzIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQgewogcHVibGljOgotICAgIHZpcnR1YWwgflNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQo
KSB7IH0KKyAgICB2aXJ0dWFsIH5TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkgPSBkZWZh
dWx0OwogCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
cmFwaGljc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVu
dC5jcHAKaW5kZXggM2VlMWUwYWVhNmY0MGFkMzMwMGRhZjlhZDMyNDI3NWZlOTMxZDg3NS4uZGI4
NzE3Yzc3ODQ2YjFjZWIzYjMwNDI2OTc4NDQ2M2RiM2IxNWY5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5jcHAKQEAgLTQ5LDkgKzQ5LDcgQEAgU1ZHR3JhcGhpY3NF
bGVtZW50OjpTVkdHcmFwaGljc0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQmIGQKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0dyYXBoaWNz
RWxlbWVudCgpOwogfQogCi1TVkdHcmFwaGljc0VsZW1lbnQ6On5TVkdHcmFwaGljc0VsZW1lbnQo
KQotewotfQorU1ZHR3JhcGhpY3NFbGVtZW50Ojp+U1ZHR3JhcGhpY3NFbGVtZW50KCkgPSBkZWZh
dWx0OwogCiBSZWY8U1ZHTWF0cml4PiBTVkdHcmFwaGljc0VsZW1lbnQ6OmdldENUTUZvckJpbmRp
bmdzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDE3MGQ2MGM1
MTc3MjYxOTE2NmIzOWI1MTYzZmNmZmVlZmU3YTRiOWYuLjg3ZThjYjdlYTY0YTU5ZmE5OGE4NWM5
YzdmYzA0MDdkOTQ3M2RiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFn
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlTG9hZGVyLmNwcApA
QCAtMzQsOSArMzQsNyBAQCBTVkdJbWFnZUxvYWRlcjo6U1ZHSW1hZ2VMb2FkZXIoU1ZHSW1hZ2VF
bGVtZW50JiBlbGVtZW50KQogewogfQogCi1TVkdJbWFnZUxvYWRlcjo6flNWR0ltYWdlTG9hZGVy
KCkKLXsKLX0KK1NWR0ltYWdlTG9hZGVyOjp+U1ZHSW1hZ2VMb2FkZXIoKSA9IGRlZmF1bHQ7CiAK
IHZvaWQgU1ZHSW1hZ2VMb2FkZXI6OmRpc3BhdGNoTG9hZEV2ZW50KCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdMb2NhdGFibGUuaAppbmRleCBhY2JlN2U4NDgyYTc1OTQwMGRkMmM0YTM2Y2RmNTM1YjUwMGQy
YTViLi5iNGExZmM5ZWNjMWZhZmZiYmFiNDJmMGM4N2UxNGUzNDk0ZDkzZTU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0xvY2F0YWJsZS5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIFNWR01hdHJpeDsKIAog
Y2xhc3MgU1ZHTG9jYXRhYmxlIHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5TVkdMb2NhdGFibGUo
KSB7IH0KKyAgICB2aXJ0dWFsIH5TVkdMb2NhdGFibGUoKSA9IGRlZmF1bHQ7CiAKICAgICAvLyAn
U1ZHTG9jYXRhYmxlJyBmdW5jdGlvbnMKICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIG5lYXJlc3RW
aWV3cG9ydEVsZW1lbnQoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aENvbnN1bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVy
LmgKaW5kZXggOTMwMzAzMWI2MjJiMzBmY2ZjYjg0NGMxNmQzNmQ3OWI3Y2ViYmQ3OS4uMDE3Yjhm
N2RmMTdkNGE4MWI0NDQ2YzAxMzE0NmE1MjM4MWQzMWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQ29uc3VtZXIuaApAQCAtNDIsNyArNDIsNyBAQCBlbnVtIFBhdGhQYXJzaW5nTW9kZSB7CiBj
bGFzcyBTVkdQYXRoQ29uc3VtZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhD
b25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFNWR1BhdGhD
b25zdW1lcigpIHsgfQorICAgIFNWR1BhdGhDb25zdW1lcigpID0gZGVmYXVsdDsKICAgICB2aXJ0
dWFsIHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgY29udGludWVDb25zdW1pbmcoKSA9IDA7CiAKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBhcmNUbyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBib29sIGxhcmdlQXJj
RmxhZywgYm9vbCBzd2VlcEZsYWcsIGNvbnN0IEZsb2F0UG9pbnQmLCBQYXRoQ29vcmRpbmF0ZU1v
ZGUpID0gMDsKIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgflNWR1BhdGhDb25zdW1lcigpIHsg
fQorICAgIHZpcnR1YWwgflNWR1BhdGhDb25zdW1lcigpID0gZGVmYXVsdDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZy5oCmluZGV4IGRkMDJjYWEwNDY3
MjZjOTA3ZTdhNzgxYjMxYWU3Y2NmYTJkMTcxOTIuLjIyYTQ5NThiNmFlMTAzODg5MGUzMWE1MmVi
NDJkZjA5M2M4MjM3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWcuaApAQCAtNTYsOCArNTYsOCBA
QCBlbnVtIFNWR1BhdGhTZWdSb2xlIHsKIAogY2xhc3MgU1ZHUGF0aFNlZyA6IHB1YmxpYyBSZWZD
b3VudGVkPFNWR1BhdGhTZWc+IHsKIHB1YmxpYzoKLSAgICBTVkdQYXRoU2VnKCkgeyB9Ci0gICAg
dmlydHVhbCB+U1ZHUGF0aFNlZygpIHsgfQorICAgIFNWR1BhdGhTZWcoKSA9IGRlZmF1bHQ7Cisg
ICAgdmlydHVhbCB+U1ZHUGF0aFNlZygpID0gZGVmYXVsdDsKIAogICAgIC8vIEZvcndhcmQgZGVj
bGFyZSB0aGVzZSBlbnVtcyBpbiB0aGUgdzNjIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2VuZXJh
dGlvbgogICAgIGVudW0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
b3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKaW5kZXggMjNlNWJk
MjViNDg1NjJiZTBlZGJlNDVjMDkwM2Q4MDE5YzE4YmRiNi4uMGFmYTVjNzFjMTY2NjU4MWM1MWNm
OTYzMGVhOTA1ZjlmZTZkZjM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCkBAIC0y
OCw4ICsyOCw4IEBAIGNsYXNzIEZsb2F0UG9pbnQ7CiBjbGFzcyBTVkdQYXRoU291cmNlIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgU1ZHUGF0aFNvdXJjZSgpIHsgfQotICAgIHZpcnR1YWwgflNW
R1BhdGhTb3VyY2UoKSB7IH0KKyAgICBTVkdQYXRoU291cmNlKCkgPSBkZWZhdWx0OworICAgIHZp
cnR1YWwgflNWR1BhdGhTb3VyY2UoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFz
TW9yZURhdGEoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIG1vdmVUb05leHRUb2tlbigp
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU3RyaW5nQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFN0cmluZ0J1aWxkZXIuY3BwCmluZGV4
IGUyYTI0NWI1NGRjMzBkNGExOTllOTc0N2RmNjdkYjlkOGU2NzQwNjUuLjEwNTM5MWNmODY2NzIy
ZGQ5Y2JmYjlmZWYxMWRjNTMxM2UxZDAxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU3RyaW5nQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTdHJpbmdCdWlsZGVyLmNwcApAQCAtMjUsMTMgKzI1LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1TVkdQYXRoU3RyaW5nQnVpbGRlcjo6U1ZHUGF0aFN0cmluZ0J1aWxkZXIoKQotewot
fQorU1ZHUGF0aFN0cmluZ0J1aWxkZXI6OlNWR1BhdGhTdHJpbmdCdWlsZGVyKCkgPSBkZWZhdWx0
OwogCi1TVkdQYXRoU3RyaW5nQnVpbGRlcjo6flNWR1BhdGhTdHJpbmdCdWlsZGVyKCkKLXsKLX0K
K1NWR1BhdGhTdHJpbmdCdWlsZGVyOjp+U1ZHUGF0aFN0cmluZ0J1aWxkZXIoKSA9IGRlZmF1bHQ7
CiAKIFN0cmluZyBTVkdQYXRoU3RyaW5nQnVpbGRlcjo6cmVzdWx0KCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVHJhbnNmb3JtVmFsdWUuY3BwCmluZGV4IGZhMGVmMTRjOGYwMjVkYmM5NWE0ZjZk
Zjc1YWEzMzNmYmYzMjMwOTIuLjYzZDQ1YTVjNjRmZTRjNmQ5YjA3ZWUyMzQwM2Q4YWViNmE2N2M5
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1WYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybVZhbHVlLmNwcApAQCAtMzIsOSAr
MzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1RyYW5zZm9ybVZhbHVlOjpTVkdU
cmFuc2Zvcm1WYWx1ZSgpCi17Ci19CitTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHVHJhbnNmb3JtVmFs
dWUoKSA9IGRlZmF1bHQ7CiAKIFNWR1RyYW5zZm9ybVZhbHVlOjpTVkdUcmFuc2Zvcm1WYWx1ZShT
VkdUcmFuc2Zvcm1UeXBlIHR5cGUsIENvbnN0cnVjdGlvbk1vZGUgbW9kZSkKICAgICA6IG1fdHlw
ZSh0eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybWFibGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCmluZGV4IGVhMDQ4
NTI4Yjg2NWFiZjAxMDEzYzQyNDJiMjE1MGJkOTNiNmIwODUuLmI4YzBiZWRhZTA0YzMyYWE1NTE4
ZDI5N2U3ZGY4OWNmZGEzZWIxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
cmFuc2Zvcm1hYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtYWJs
ZS5jcHAKQEAgLTg5LDkgKzg5LDcgQEAgc3RhdGljIGNvbnN0IGludCByZXF1aXJlZFZhbHVlc0Zv
clR5cGVbXSA9ICB7MCwgNiwgMSwgMSwgMSwgMSwgMX07CiBzdGF0aWMgY29uc3QgaW50IG9wdGlv
bmFsVmFsdWVzRm9yVHlwZVtdID0gIHswLCAwLCAxLCAxLCAyLCAwLCAwfTsKIAogLy8gVGhpcyBk
ZXN0cnVjdG9yIGlzIG5lZWRlZCBpbiBvcmRlciB0byBsaW5rIGNvcnJlY3RseSB3aXRoIEludGVs
IElDQy4KLVNWR1RyYW5zZm9ybWFibGU6On5TVkdUcmFuc2Zvcm1hYmxlKCkKLXsKLX0KK1NWR1Ry
YW5zZm9ybWFibGU6On5TVkdUcmFuc2Zvcm1hYmxlKCkgPSBkZWZhdWx0OwogCiBib29sIFNWR1Ry
YW5zZm9ybWFibGU6OnBhcnNlVHJhbnNmb3JtVmFsdWUoU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1Ry
YW5zZm9ybVR5cGUgdHlwZSwgY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIFNW
R1RyYW5zZm9ybVZhbHVlJiB0cmFuc2Zvcm0pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJl
bmNlLmgKaW5kZXggZGRkNjZiMjdiYzA0MGM2OGU0OWQzZTEwYWY4ZDI1ZDg0NDZmNjg3OC4uNzcw
ZjYyOGM5OTE3YTdiMWJlOTlmNjAwZDljNmUyNTZlODg3NTFiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdVUklSZWZlcmVuY2UuaApAQCAtMjcsNyArMjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNWR1VSSVJlZmVyZW5jZSB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U1ZHVVJJUmVm
ZXJlbmNlKCkgeyB9CisgICAgdmlydHVhbCB+U1ZHVVJJUmVmZXJlbmNlKCkgPSBkZWZhdWx0Owog
CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJik7CiAgICAgc3RhdGljIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGRUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9T
VkdGRUltYWdlLmgKaW5kZXggNDA5OWJlY2U0NjliNWFlMmQwNTE2OTBlOWM4MWM2MTA0ZDgwZDYz
YS4uODNjOTU1ZGI1MWQ1M2ZhZTYyNTgxZGE2MDVjMDNkYWRhOGE5ODIyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaApAQCAtNDYsNyAr
NDYsNyBAQCBwdWJsaWM6CiAgICAgV1RGOjpUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0
aW9uKFdURjo6VGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0IGZpbmFsOwogICAgIAog
cHJpdmF0ZToKLSAgICB2aXJ0dWFsIH5GRUltYWdlKCkgeyB9CisgICAgdmlydHVhbCB+RkVJbWFn
ZSgpID0gZGVmYXVsdDsKICAgICBGRUltYWdlKEZpbHRlciYsIFJlZlB0cjxJbWFnZT4sIGNvbnN0
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYpOwogICAgIEZFSW1hZ2UoRmlsdGVyJiwgRG9j
dW1lbnQmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUm
KTsKICAgICBSZW5kZXJFbGVtZW50KiByZWZlcmVuY2VkUmVuZGVyZXIoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oCmluZGV4IGIyMzZjZWUwNDgy
OTliNWI4NDgxOTU2MTA2OTc4MjFiODdmMzc1YWQuLjU0YjY0NTdkZjRlNTE4MGM3OTAxYzY4ZWRk
NDMwOWVlYmVlZDY2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVz
L1NWR1Byb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHkuaApAQCAtMzEsNyArMzEsNyBAQCBlbnVtIFNWR1Byb3BlcnR5Um9sZSB7CiAKIGNsYXNz
IFNWR1Byb3BlcnR5IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHUHJvcGVydHk+IHsKIHB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5TVkdQcm9wZXJ0eSgpIHsgfQorICAgIHZpcnR1YWwgflNWR1Byb3BlcnR5
KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCBib29sIGlzUmVhZE9ubHkoKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdENoYW5nZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTGVnYWN5TW9ja0NETS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0xlZ2FjeU1vY2tDRE0uY3BwCmluZGV4IGM3NTdhMDRjZDY3OTU1MjM3MGMzNDFmYTQxNjdm
OTFkNmJkOTdmY2UuLmE0ZDQzNmY4YTgzZmJjZTViODk4NGE5ZDNhMTY3MzA2NWEzOWE2YmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTGVnYWN5TW9ja0NETS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9MZWdhY3lNb2NrQ0RNLmNwcApAQCAtNDAsNyArNDAsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNb2NrQ0RNU2Vzc2lvbiA6IHB1YmxpYyBMZWdh
Y3lDRE1TZXNzaW9uIHsKIHB1YmxpYzoKICAgICBNb2NrQ0RNU2Vzc2lvbihMZWdhY3lDRE1TZXNz
aW9uQ2xpZW50Kik7Ci0gICAgdmlydHVhbCB+TW9ja0NETVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0
dWFsIH5Nb2NrQ0RNU2Vzc2lvbigpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgc2V0Q2xpZW50KExl
Z2FjeUNETVNlc3Npb25DbGllbnQqIGNsaWVudCkgb3ZlcnJpZGUgeyBtX2NsaWVudCA9IGNsaWVu
dDsgfQogICAgIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9zZXNzaW9uSWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTGVn
YWN5TW9ja0NETS5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9MZWdhY3lNb2NrQ0RNLmgKaW5k
ZXggM2E0YmRkYjlmMGRmOGJlZTA0M2U0Y2M1Y2RkMTBjZmEzOTE5ZDc2Ni4uMjRiOWI4MDA4YzRm
NTE5YjRhNjY2ZWM2ZDE1MjVhYzYyZWMxYzMwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9MZWdhY3lNb2NrQ0RNLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9MZWdh
Y3lNb2NrQ0RNLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHN1
cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRz
S2V5U3lzdGVtQW5kTWltZVR5cGUoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpOwogCi0gICAgdmlydHVhbCB+TGVnYWN5TW9ja0NETSgpIHsgfQorICAgIHZp
cnR1YWwgfkxlZ2FjeU1vY2tDRE0oKSA9IGRlZmF1bHQ7CiAKICAgICBib29sIHN1cHBvcnRzTUlN
RVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPExlZ2FjeUNETVNlc3Npb24+IGNyZWF0ZVNlc3Npb24oTGVnYWN5Q0RNU2Vzc2lvbkNsaWVu
dCopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2Ft
ZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92
aWRlci5jcHAKaW5kZXggODlkMzA2MjE5N2I2ZTk2MGE4MDhlZmQ2ZjcyZTY5NDc5OTE4ZWFlZS4u
ZDNhYzVkODdkMTllMmE4NTM2MWMxMTU3MmNmMzExZjBjODNiMjQ1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC00MSw5ICs0MSw3IEBA
IE1vY2tHYW1lcGFkUHJvdmlkZXImIE1vY2tHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpCiAg
ICAgcmV0dXJuIHNoYXJlZFByb3ZpZGVyOwogfQogCi1Nb2NrR2FtZXBhZFByb3ZpZGVyOjpNb2Nr
R2FtZXBhZFByb3ZpZGVyKCkKLXsKLX0KK01vY2tHYW1lcGFkUHJvdmlkZXI6Ok1vY2tHYW1lcGFk
UHJvdmlkZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTW9ja0dhbWVwYWRQcm92aWRlcjo6c3RhcnRN
b25pdG9yaW5nR2FtZXBhZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50JiBjbGllbnQpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24u
aAppbmRleCA5NDUwMzU5NjBiZGUwMmRkNzE2NmVmMGU0YzgxYjdiMTY2YWQ0OGRkLi45YTYzYjdj
NTQwNDQ5YzZiMzc5NzQ0YjliMzcxMzFiYTU4OWQ3ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgKQEAgLTQxLDcgKzQx
LDcgQEAgdm9pZCB1c2VSZWFsUlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KExpYldlYlJUQ1Byb3Zp
ZGVyJik7CiAKIGNsYXNzIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbiA6IHB1YmxpYyB3ZWJy
dGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlIHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5Nb2Nr
TGliV2ViUlRDUGVlckNvbm5lY3Rpb24oKSB7IH0KKyAgICB2aXJ0dWFsIH5Nb2NrTGliV2ViUlRD
UGVlckNvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBN
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVy
JiBvYnNlcnZlcikgOiBtX29ic2VydmVyKG9ic2VydmVyKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcAppbmRleCBkMGI0YmFiNGNhYTFl
NTA5Yzc1M2M2NDFhNzIwYjAwMTcwM2RhYzIwLi44NzlmZGUyODJmYjEyODk3YmNmNjk2NWJjOTEw
ODQ2N2NkZjg1YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdl
T3ZlcmxheUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92
ZXJsYXlDbGllbnQuY3BwCkBAIC00NCw5ICs0NCw3IEBAIE1vY2tQYWdlT3ZlcmxheUNsaWVudCYg
TW9ja1BhZ2VPdmVybGF5Q2xpZW50OjpzaW5nbGV0b24oKQogICAgIHJldHVybiBzaGFyZWRDbGll
bnQuZ2V0KCk7CiB9CiAKLU1vY2tQYWdlT3ZlcmxheUNsaWVudDo6TW9ja1BhZ2VPdmVybGF5Q2xp
ZW50KCkKLXsKLX0KK01vY2tQYWdlT3ZlcmxheUNsaWVudDo6TW9ja1BhZ2VPdmVybGF5Q2xpZW50
KCkgPSBkZWZhdWx0OwogCiBSZWY8TW9ja1BhZ2VPdmVybGF5PiBNb2NrUGFnZU92ZXJsYXlDbGll
bnQ6Omluc3RhbGxPdmVybGF5KE1haW5GcmFtZSYgbWFpbkZyYW1lLCBQYWdlT3ZlcmxheTo6T3Zl
cmxheVR5cGUgb3ZlcmxheVR5cGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tQYWdlT3ZlcmxheUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UGFnZU92ZXJsYXlDbGllbnQuaAppbmRleCAzNzdkN2FiMDRjM2JiMGQ0OTc3MTdhMGQwNzY1MGYw
ZDMwOTdmZjUzLi5mYTBlMzdmNzMzM2MwOWNkZGJkZTZkNGQxZDgxYTZhNWYxY2VkYTE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmgKQEAgLTQ2
LDcgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChNYWluRnJh
bWUmLCBMYXllclRyZWVGbGFncyk7CiAKLSAgICB2aXJ0dWFsIH5Nb2NrUGFnZU92ZXJsYXlDbGll
bnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5Nb2NrUGFnZU92ZXJsYXlDbGllbnQoKSA9IGRlZmF1bHQ7
CiAKIHByaXZhdGU6CiAgICAgdm9pZCB3aWxsTW92ZVRvUGFnZShQYWdlT3ZlcmxheSYsIFBhZ2Uq
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvVHlwZUNvbnZl
cnNpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5oCmluZGV4
IDViODZiN2ZjN2NlZWExZWRlYzc2ZmFiYzdkZjk2NzZkNjVkZGVjOGEuLjcwMWI5NzhhODhkMjkw
ZGQ4NmY2MmU4ZmM1YjBkZTNmY2EyZjkxYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvVHlwZUNvbnZlcnNpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9UeXBl
Q29udmVyc2lvbnMuaApAQCAtMTQzLDkgKzE0Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRl
c3RUcmVhdE51bGxBc0VtcHR5U3RyaW5nVW5pb24oY29uc3QgVGVzdFRyZWF0TnVsbEFzRW1wdHlT
dHJpbmdVbmlvbiYgdmFsdWUpIHsgbV90cmVhdE51bGxBc0VtcHR5U3RyaW5nVW5pb24gPSB2YWx1
ZTsgfQogCiBwcml2YXRlOgotICAgIFR5cGVDb252ZXJzaW9ucygpCi0gICAgewotICAgIH0KKyAg
ICBUeXBlQ29udmVyc2lvbnMoKSA9IGRlZmF1bHQ7CiAKICAgICBpbnQ4X3QgbV9ieXRlIHsgMCB9
OwogICAgIHVpbnQ4X3QgbV9vY3RldCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMTIxMDU4NTMzODA1
ZDI5ZDVjZDYzODE2MmJhMGE0NzZlZGIyMGFmZC4uMTgwMjAxMzE5MjgwMTJhODI0MDg0NmE4ZTUw
MGM1MjExZGQ5OGQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHIKIHsKIH0KIAotRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6On5EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZSgpCi17Ci19CitEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6
fkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCkgPSBkZWZhdWx0OwogCiBFdmVudFRhcmdldElu
dGVyZmFjZSBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6ZXZlbnRUYXJnZXRJbnRlcmZhY2Uo
KSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJU
aHJlYWQuY3BwCmluZGV4IDUwOTJiYzljYjY2NDE4ODQyNTEwM2M2NmE5YmUwMTUzNDU5MTBlM2Eu
LjEyNDJlYmEzNjUyY2U3MDMxZmRkYThmYTE5MTYzMTkxYzhlYzE1MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKQEAgLTQ0LDkgKzQ0
LDcgQEAgRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnQKIHsKIH0KIAotRGVkaWNhdGVkV29ya2VyVGhy
ZWFkOjp+RGVkaWNhdGVkV29ya2VyVGhyZWFkKCkKLXsKLX0KK0RlZGljYXRlZFdvcmtlclRocmVh
ZDo6fkRlZGljYXRlZFdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsKIAogUmVmPFdvcmtlckdsb2Jh
bFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4s
IE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5jcHAKaW5kZXgg
Mjk3NWY4ZGU4MmMyNTgwZWI5YWZkNTY4MGI2NTZkMzY5NjY1YzU0MS4uNmU3MWZjOGU3NzBjY2Zh
NGE2YWY5MzI0NGUyZDVkNzI4Y2JiZWFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnNvbGVDbGllbnQuY3BwCkBAIC00MSw5ICs0MSw3IEBAIFdvcmtlckNvbnNvbGVD
bGllbnQ6OldvcmtlckNvbnNvbGVDbGllbnQoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsb2Jh
bFNjb3BlKQogewogfQogCi1Xb3JrZXJDb25zb2xlQ2xpZW50Ojp+V29ya2VyQ29uc29sZUNsaWVu
dCgpCi17Ci19CitXb3JrZXJDb25zb2xlQ2xpZW50Ojp+V29ya2VyQ29uc29sZUNsaWVudCgpID0g
ZGVmYXVsdDsKIAogdm9pZCBXb3JrZXJDb25zb2xlQ2xpZW50OjptZXNzYWdlV2l0aFR5cGVBbmRM
ZXZlbChNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYgYXJndW1lbnRzKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRl
eCBjMWRmNDljNmQzNmIzNTQ0ZDZkZjQzYzU4ZGY3NTI1YWIxZmUzZGY3Li5lOGY2MTg4MmNhOTQy
MjczMDk0YjlhZjRlZTNhODQ5NDhhNTc2YjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShib29sIGlzT25saW5lKSA9
IDA7CiAKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIH5Xb3JrZXJHbG9iYWxTY29wZVByb3h5KCkg
eyB9CisgICAgdmlydHVhbCB+V29ya2VyR2xvYmFsU2NvcGVQcm94eSgpID0gZGVmYXVsdDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VySW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VySW5zcGVjdG9yUHJveHkuaAppbmRleCAwYzVhYTRiZDQ3NjUxOGE2ZGZjNzg1ZDc1N2NjODE3
NmMxZTExODE0Li5kZjQzNzFhZTIzYzMwMzA2ZWE3YmY2NDBkMjdmOWUxNGI5NzVlNGIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluc3BlY3RvclByb3h5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbnNwZWN0b3JQcm94eS5oCkBAIC00OCw3
ICs0OCw3IEBAIHB1YmxpYzoKICAgICAvLyBBIFdvcmtlcidzIGluc3BlY3RvciBtZXNzYWdlcyBj
b21lIGluIGFuZCBnbyBvdXQgdGhyb3VnaCB0aGUgUGFnZSdzIFdvcmtlckFnZW50LgogICAgIGNs
YXNzIFBhZ2VDaGFubmVsIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgflBhZ2VDaGFu
bmVsKCkgeyB9CisgICAgICAgIHZpcnR1YWwgflBhZ2VDaGFubmVsKCkgPSBkZWZhdWx0OwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2VuZE1lc3NhZ2VGcm9tV29ya2VyVG9Gcm9udGVuZChXb3JrZXJJ
bnNwZWN0b3JQcm94eSosIGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmgKaW5kZXggYjg4ZjgyYWMwMDQwOWQ3ZTc4
NjVkNDkwNjBjYjkxMDljNmZmYmU1MS4uZGFmZmUxZjdjOTcxNjc2OTM4MjA3Mjg2ODU4ZDc2YjY5
NzYzNDU5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2FkZXJQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaApA
QCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gY29udGV4dCBjYW4g
YmUgZGlzdGluY3QuCiAgICAgY2xhc3MgV29ya2VyTG9hZGVyUHJveHkgewogICAgIHB1YmxpYzoK
LSAgICAgICAgdmlydHVhbCB+V29ya2VyTG9hZGVyUHJveHkoKSB7IH0KKyAgICAgICAgdmlydHVh
bCB+V29ya2VyTG9hZGVyUHJveHkoKSA9IGRlZmF1bHQ7CiAKICAgICAgICAgLy8gUG9zdHMgYSB0
YXNrIHRvIHRoZSB0aHJlYWQgd2hpY2ggcnVucyB0aGUgbG9hZGluZyBjb2RlIChub3JtYWxseSwg
dGhlIG1haW4gdGhyZWFkKS4KICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrVG9Mb2FkZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKaW5kZXggNjg1MTljZDdiYmNlMzllZDdlNGU5
Mjc0NGM0NzBmNzQ2YWFiZGY3NC4uNDVkZDdkZTU5NTg3Mjc0N2NhNjIyYjgxMjM4ODgyMTdmZGM4
Mjk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHku
aApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gQVBJcyB1c2Vk
IGJ5IHdvcmtlcnMgdG8gcmVwb3J0IGNvbnNvbGUgYWN0aXZpdHkuCiAgICAgY2xhc3MgV29ya2Vy
UmVwb3J0aW5nUHJveHkgewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+V29ya2VyUmVw
b3J0aW5nUHJveHkoKSB7fQorICAgICAgICB2aXJ0dWFsIH5Xb3JrZXJSZXBvcnRpbmdQcm94eSgp
ID0gZGVmYXVsdDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2Vy
T2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNv
bHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDk3MjBhOTdjMDIwZjNk
OTBlYTNjZmVhMGYyYjY3ODg4M2QwNzQ0MGIuLmUwN2FmZDU1NGY3NDNmMmE4YTY4MjEyZGZjMWFi
ZGRlYmFjOWE4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHAKQEAgLTM4LDEzICszOCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV29y
a2VyU2NyaXB0TG9hZGVyOjpXb3JrZXJTY3JpcHRMb2FkZXIoKQotewotfQorV29ya2VyU2NyaXB0
TG9hZGVyOjpXb3JrZXJTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7CiAKLVdvcmtlclNjcmlwdExv
YWRlcjo6fldvcmtlclNjcmlwdExvYWRlcigpCi17Ci19CitXb3JrZXJTY3JpcHRMb2FkZXI6On5X
b3JrZXJTY3JpcHRMb2FkZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVy
Ojpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaAppbmRleCBkNjBlMTlj
OGE4N2JhNGQxMjUwODljNzg2Zjc5ZDk3MzI2ZGY0OTNhLi4yNzRjZTQ4ZTFkNmYzZmIwNjk0ZDIy
NTZkMTZmMzVlYWEzNTk3NjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgKQEAgLTM2LDcgKzM2LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZCgpID0gMDsKIAogcHJvdGVjdGVkOgotICAgIHZpcnR1
YWwgfldvcmtlclNjcmlwdExvYWRlckNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgfldvcmtlclNj
cmlwdExvYWRlckNsaWVudCgpID0gZGVmYXVsdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggYzEzNGE1ZjMwNzBjMDkxYzNiNjA5OGQ0ZmVj
ODQyMjVkZDU3M2I4My4uYTZkMGJmZDI2Y2FjZWVkNjQ1Mzg1OGU0NzQ5NDNhYmMwYzNkNWJjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQxLDkgKzQxLDcgQEAgU2VydmljZVdvcmtlckds
b2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUodWludDY0X3Qgc2VydmVyQ29ubmVj
dGlvbklkZW4KIHsKIH0KIAotU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjp+U2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlKCkKLXsKLX0KK1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6flNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZSgpID0gZGVmYXVsdDsKIAogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
biYgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpyZWdpc3RyYXRpb24oKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50
LmgKaW5kZXggZTEwN2ZkYmZmMWJhOTMxNzg3YzAzMjQxNzUwNWI5NzliZDUzNmU0Ni4uODUyYmZj
M2I3YmRjMDljZmQ5NDgxMjI2ZGYyMTNiNjhlZTU2NmFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCkBAIC0z
Nyw3ICszNyw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIAogY2xh
c3MgU2VydmljZVdvcmtlckpvYkNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+U2Vydmlj
ZVdvcmtlckpvYkNsaWVudCgpIHsgfTsKKyAgICB2aXJ0dWFsIH5TZXJ2aWNlV29ya2VySm9iQ2xp
ZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmlydHVhbCB2b2lkIGpvYkZhaWxlZFdpdGhFeGNlcHRp
b24oU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IEV4Y2VwdGlvbiYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclByb3ZpZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclByb3ZpZGVyLmgKaW5kZXggNzY2MWM1
NjMxYjEyM2RhNDNjYmI5NzEwZTFhYTU3MWU1Y2RlYWYyOS4uMzBiYTQ5YmVjMTdlNTliMzRjMGEz
ZmQxYTc5MTNiMzA5ZWJmMWZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUHJvdmlkZXIuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFz
cyBTZXJ2aWNlV29ya2VySm9iOwogCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIgewogcHVibGljOgotICAgIHZpcnR1YWwgflNlcnZpY2VXb3JrZXJQcm92aWRlcigp
IHsgfQorICAgIHZpcnR1YWwgflNlcnZpY2VXb3JrZXJQcm92aWRlcigpID0gZGVmYXVsdDsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTZXJ2aWNlV29ya2VyUHJvdmlkZXImIHNpbmdsZXRv
bigpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNoYXJlZFByb3ZpZGVyKFNl
cnZpY2VXb3JrZXJQcm92aWRlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBm
NTNkMDFkYWYyMmJlMDdjZGYzZDFkNGU1MjU3N2NmMzk0OTQwNzQ5Li5kZDQwMGU1ZjQwMzk5MmRl
OGVhNjFjZTZlZTQ1YzQyNjU2M2FjOWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApA
QCAtNzYsOSArNzYsNyBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFk
KHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjbwogewogfQogCi1TZXJ2aWNl
V29ya2VyVGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpCi17Ci19CitTZXJ2aWNlV29ya2Vy
VGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsKIAogUmVmPFdvcmtlckds
b2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklEKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDUyMWUwZWIz
YjMzNGEwNDYyZDkzMmZiN2UyMTkxMDMwNjZiYTJiMjMuLjVkMzQzM2U4YmFkZjBjYzg2ZTNkNzA5
ZTE0YjNlYWMyOGJkZWNmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTM0LDEzICsz
NCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1dDbGllbnRDb25uZWN0aW9uOjpTV0Ns
aWVudENvbm5lY3Rpb24oKQotewotfQorU1dDbGllbnRDb25uZWN0aW9uOjpTV0NsaWVudENvbm5l
Y3Rpb24oKSA9IGRlZmF1bHQ7CiAKLVNXQ2xpZW50Q29ubmVjdGlvbjo6flNXQ2xpZW50Q29ubmVj
dGlvbigpCi17Ci19CitTV0NsaWVudENvbm5lY3Rpb246On5TV0NsaWVudENvbm5lY3Rpb24oKSA9
IGRlZmF1bHQ7CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpzY2hlZHVsZUpvYihTZXJ2aWNl
V29ya2VySm9iJiBqb2IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCmluZGV4IDJhNjZmM2UwZDc5MzI4MmE0
YmE4ZjJjYzdhZjA5NmNhODZmN2IyYjAuLjZkMjczMTNiMmY3MWM4ZjVhM2RhMzE0NzIzYjE4MjAz
ZGM0Y2EwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCkBAIC0zOSw5ICszOSw3IEBAIFNXU2VydmVyV29y
a2VyOjpTV1NlcnZlcldvcmtlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBy
ZWdpc3RyYXRpb25LCiB7CiB9CiAKLVNXU2VydmVyV29ya2VyOjp+U1dTZXJ2ZXJXb3JrZXIoKQot
ewotfQorU1dTZXJ2ZXJXb3JrZXI6On5TV1NlcnZlcldvcmtlcigpID0gZGVmYXVsdDsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvTmF0
aXZlWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9OYXRpdmVYUGF0aE5T
UmVzb2x2ZXIuY3BwCmluZGV4IGFiYTc0MzVlZDIxMjMwN2NjZmVmYjUwYzY1MjdiYzEzOTdjOTI0
NGYuLjI3MGNhOWQxY2I1ZDZiOTgyMzJmZmMwZWI2OTIzNDI4MDExNGZhMzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC0zNyw5ICszNyw3IEBA
IE5hdGl2ZVhQYXRoTlNSZXNvbHZlcjo6TmF0aXZlWFBhdGhOU1Jlc29sdmVyKFJlZlB0cjxOb2Rl
PiYmIG5vZGUpCiB7CiB9CiAKLU5hdGl2ZVhQYXRoTlNSZXNvbHZlcjo6fk5hdGl2ZVhQYXRoTlNS
ZXNvbHZlcigpCi17Ci19CitOYXRpdmVYUGF0aE5TUmVzb2x2ZXI6On5OYXRpdmVYUGF0aE5TUmVz
b2x2ZXIoKSA9IGRlZmF1bHQ7CiAKIFN0cmluZyBOYXRpdmVYUGF0aE5TUmVzb2x2ZXI6Omxvb2t1
cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcmIHByZWZpeCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3Bw
CmluZGV4IGE3NzY2ZGZiZGI5MWUyM2IwNWM2YjVlZjlkMjIxYTgyMDMwMzYwYzcuLjU4YzJmZmJi
Mzk5NmJiMjFjM2RjYmU0MmM2N2I5NzRhNjgxYjAzOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApA
QCAtNDcsOSArNDcsNyBAQCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZlbnRUYQogICAgIEFTU0VSVCh0YXJn
ZXQpOwogfQogCi1YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6flhNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKCkKLXsKLX0KK1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjp+WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoKSA9
IGRlZmF1bHQ7CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRp
c3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2ln
bmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbi5jcHAKaW5kZXggZGFjYTQ2OWY3ZDM0NmQ2NzVlZjc4
OGQ1NTlkMWFiNzcxMGZlMGE4NC4uZTIxMmI5MGEzOWU4MzZjMjI5NWZjYzFiNDc0OTRmOGNjMDZh
ZWY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbi5jcHAKQEAgLTUxLDkgKzUx
LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFhQYXRoRXhwcmVzc2lvbj4+IFhQYXRoRXhwcmVzc2lvbjo6
Y3JlYXRlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBY
UGF0aEV4cHJlc3Npb24ocGFyc2VSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkpKTsKIH0KIAot
WFBhdGhFeHByZXNzaW9uOjp+WFBhdGhFeHByZXNzaW9uKCkKLXsKLX0KK1hQYXRoRXhwcmVzc2lv
bjo6flhQYXRoRXhwcmVzc2lvbigpID0gZGVmYXVsdDsKIAogLy8gRklYTUU6IFdoeSBkb2VzIHRo
aXMgdGFrZSBhbiBYUGF0aFJlc3VsdCB0aGF0IGl0IGlnbm9yZXM/CiBFeGNlcHRpb25PcjxSZWY8
WFBhdGhSZXN1bHQ+PiBYUGF0aEV4cHJlc3Npb246OmV2YWx1YXRlKE5vZGUqIGNvbnRleHROb2Rl
LCB1bnNpZ25lZCBzaG9ydCB0eXBlLCBYUGF0aFJlc3VsdCopCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCAzMTliMWQxNDUzYTVjYjU1OTczNjIzYjZlZmNkNDg3
ODQ0MDhlZGU5Li40NDZkNjk4NmRmZDMxMDllNTg2NjRiMzIwZDFjMDI5NjgyYTEwN2VhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAg
Y2xhc3MgRXhwcmVzc2lvbiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIEV2YWx1YXRpb25Db250ZXh0
JiBldmFsdWF0aW9uQ29udGV4dCgpOwogCi0gICAgdmlydHVhbCB+RXhwcmVzc2lvbigpIHsgfQor
ICAgIHZpcnR1YWwgfkV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIFZhbHVl
IGV2YWx1YXRlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlw
ZSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5TUmVz
b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXgg
Y2I2YmE0MmQ5N2EyMjEyMzc3MTAxMTFmMjAxNTNmZDkwOTk4MDhiMi4uZmM5ZjE2NDgwZWJmMTNl
ODFkMDkzOTlkNDcxMDVjNDcyOTZlZTc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoTlNSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTlNSZXNv
bHZlci5jcHAKQEAgLTI5LDggKzI5LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1YUGF0
aE5TUmVzb2x2ZXI6On5YUGF0aE5TUmVzb2x2ZXIoKQotewotfQorWFBhdGhOU1Jlc29sdmVyOjp+
WFBhdGhOU1Jlc29sdmVyKCkgPSBkZWZhdWx0OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhOU1Jlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOU1Jl
c29sdmVyLmgKaW5kZXggYjUwZTEzYzYzMTEzZGZiZGM2ODRjZTlhNmNmNjgyZTIwNWMyYmU3Mi4u
OGZmMWY3MDEwN2EwMzIwNDNlZjhlOWE5MGZlOGZiMGQ1MTE4MWM2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoTlNSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aE5TUmVzb2x2ZXIuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBTdHJpbmcgbG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KSA9IDA7CiAK
IHByb3RlY3RlZDoKLSAgICBYUGF0aE5TUmVzb2x2ZXIoKSB7IH0KKyAgICBYUGF0aE5TUmVzb2x2
ZXIoKSA9IGRlZmF1bHQ7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUmVzdWx0LmNwcAppbmRl
eCA2NWY0MjJkOWVmZDI1ODM0NDAxODI0MDc2N2JiY2FjNDY4MzgwMmZhLi5mNmNiNmRkZGQxNGRh
NDdjYjQwOTVmODNkYTNkM2M0NjE4M2QwYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFJlc3VsdC5j
cHAKQEAgLTU4LDkgKzU4LDcgQEAgWFBhdGhSZXN1bHQ6OlhQYXRoUmVzdWx0KERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgVmFsdWUmIHZhbHVlKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCi1YUGF0aFJlc3VsdDo6flhQYXRoUmVzdWx0KCkKLXsKLX0KK1hQYXRoUmVzdWx0Ojp+WFBh
dGhSZXN1bHQoKSA9IGRlZmF1bHQ7CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IFhQYXRoUmVzdWx0Ojpj
b252ZXJ0VG8odW5zaWduZWQgc2hvcnQgdHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YUGF0aFN0ZXAuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAK
aW5kZXggOGM5MjdiZmYzZWViNjkwODFmMDQ3YmYwZjI2ZTZkOGVlZTkyYzVjZC4uYWE0MGMyMTcw
ZmU3MzcwYzQyNGZhNDBmNzEwZTYwMTc4ODY0NjAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoU3RlcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5j
cHAKQEAgLTUzLDkgKzUzLDcgQEAgU3RlcDo6U3RlcChBeGlzIGF4aXMsIE5vZGVUZXN0IG5vZGVU
ZXN0LCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEV4cHJlc3Npb24+PiBwcmUKIHsKIH0KIAotU3Rl
cDo6flN0ZXAoKQotewotfQorU3RlcDo6flN0ZXAoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU3RlcDo6
b3B0aW1pemUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNz
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmgKaW5kZXggMDc5MmYxYWUy
NDc3MmNlMTVhYzQ0MjlhNzEzZmVkNDM5M2ZjNmJhNy4uMWEyN2IyODM3NWRlZWJkNzc5NWU0MDU4
NmMyNDE1MjdmYmYxMDRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9j
ZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5oCkBAIC03MSw3
ICs3MSw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IFBh
cmFtZXRlck1hcDsKIAogcHJpdmF0ZToKLSAgICBYU0xUUHJvY2Vzc29yKCkgeyB9CisgICAgWFNM
VFByb2Nlc3NvcigpID0gZGVmYXVsdDsKIAogICAgIFJlZlB0cjxYU0xTdHlsZVNoZWV0PiBtX3N0
eWxlc2hlZXQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fc3R5bGVzaGVldFJvb3ROb2RlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwCmluZGV4IGUwNTNiMDBlOWNhM2Q1ZDUyNjJjMjAwMDhkZDYyYWFhY2JiNzBkMWMuLjkyNWQ0
YzFkOTQ4MDMwMzAwNjc0ODlkY2JmNzQyMjUyYTM2OGIwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTE5
OCw3ICsxOTgsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IFBlbmRpbmdDYWxs
YmFjayB7Ci0gICAgICAgIHZpcnR1YWwgflBlbmRpbmdDYWxsYmFjaygpIHsgfQorICAgICAgICB2
aXJ0dWFsIH5QZW5kaW5nQ2FsbGJhY2soKSA9IGRlZmF1bHQ7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBjYWxsKFhNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIpID0gMDsKICAgICB9OwogCg==
</data>
<flag name="review"
          id="343900"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>